Package freenet.support.CPUInformation
Interface CPUInfo
- All Known Subinterfaces:
AMDCPUInfo
,IntelCPUInfo
,VIACPUInfo
- All Known Implementing Classes:
AMDInfoImpl
,CPUIDCPUInfo
,IntelInfoImpl
,VIAInfoImpl
public interface CPUInfo
An interface for classes that provide lowlevel information about CPU's
- Author:
- Iakin
-
Method Summary
Modifier and Type Method Description String
getCPUModelString()
String
getVendor()
boolean
hasABM()
Also known as LZCNTboolean
hasADX()
Intel Multi-Precision Add-Carry Instruction Extensions Available in Broadwell.boolean
hasAES()
boolean
hasAVX()
boolean
hasAVX2()
boolean
hasAVX512()
Does the CPU supports the AVX-512 Foundation instruction set? Quote wikipedia: AVX-512 consists of multiple extensions not all meant to be supported by all processors implementing them.boolean
hasBMI1()
boolean
hasBMI2()
boolean
hasFMA3()
boolean
hasMMX()
boolean
hasMOVBE()
boolean
hasSSE()
boolean
hasSSE2()
boolean
hasSSE3()
boolean
hasSSE41()
boolean
hasSSE42()
boolean
hasSSE4A()
AMD K10 only.boolean
hasTBM()
Trailing Bit Manipulation (AMD feature)boolean
hasX64()
-
Method Details
-
getVendor
String getVendor()- Returns:
- A string indicating the vendor of the CPU.
-
getCPUModelString
- Returns:
- A string detailing what type of CPU that is present in the machine. I.e. 'Pentium IV' etc.
- Throws:
UnknownCPUException
- If for any reason the retrieval of the requested information failed. The message encapsulated in the execption indicates the cause of the failure.
-
hasMMX
boolean hasMMX()- Returns:
- true iff the CPU supports the MMX instruction set.
-
hasSSE
boolean hasSSE()- Returns:
- true iff the CPU supports the SSE instruction set.
-
hasSSE2
boolean hasSSE2()- Returns:
- true iff the CPU supports the SSE2 instruction set.
-
hasSSE3
boolean hasSSE3()- Returns:
- true iff the CPU supports the SSE3 instruction set.
-
hasSSE41
boolean hasSSE41()- Returns:
- true iff the CPU supports the SSE4.1 instruction set.
-
hasSSE42
boolean hasSSE42()- Returns:
- true iff the CPU supports the SSE4.2 instruction set.
-
hasSSE4A
boolean hasSSE4A()AMD K10 only. Not supported on Intel. ref: https://en.wikipedia.org/wiki/SSE4.2#SSE4a- Returns:
- true iff the CPU supports the SSE4A instruction set.
-
hasAVX
boolean hasAVX()- Returns:
- true iff the CPU supports the AVX instruction set.
- Since:
- 0.9.26
-
hasAVX2
boolean hasAVX2()- Returns:
- true iff the CPU supports the AVX2 instruction set.
- Since:
- 0.9.26
-
hasAVX512
boolean hasAVX512()Does the CPU supports the AVX-512 Foundation instruction set? Quote wikipedia: AVX-512 consists of multiple extensions not all meant to be supported by all processors implementing them. Only the core extension AVX-512F (AVX-512 Foundation) is required by all implementations. ref: https://en.wikipedia.org/wiki/AVX-512- Returns:
- true iff the CPU supports the AVX-512 Foundation instruction set.
- Since:
- 0.9.26
-
hasADX
boolean hasADX()Intel Multi-Precision Add-Carry Instruction Extensions Available in Broadwell. Unused until GMP 6.1.- Returns:
- true iff the CPU supports the ADX instruction set.
- Since:
- 0.9.26
-
hasTBM
boolean hasTBM()Trailing Bit Manipulation (AMD feature)- Returns:
- true iff the CPU supports TBM.
- Since:
- 0.9.26, broken before 0.9.35, fixed in 0.9.35
-
hasAES
boolean hasAES()- Returns:
- true iff the CPU supports the AES-NI instruction set.
- Since:
- 0.9.14
-
hasX64
boolean hasX64()- Returns:
- true iff the CPU supports the 64-bit support
- Since:
- 0.9.26
-
hasBMI1
boolean hasBMI1()- Returns:
- true iff the CPU supports the BMI1 instruction set.
- Since:
- 0.9.26
-
hasBMI2
boolean hasBMI2()- Returns:
- true iff the CPU supports the BMI2 instruction set.
- Since:
- 0.9.26
-
hasFMA3
boolean hasFMA3()- Returns:
- true iff the CPU supports the FMA3 instruction set.
- Since:
- 0.9.26
-
hasMOVBE
boolean hasMOVBE()- Returns:
- true iff the CPU supports the MOVBE instruction set.
- Since:
- 0.9.26
-
hasABM
boolean hasABM()Also known as LZCNT- Returns:
- true iff the CPU supports the ABM instruction set.
- Since:
- 0.9.26
-