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 TypeMethodDescriptionbooleanhasABM()Also known as LZCNTbooleanhasADX()Intel Multi-Precision Add-Carry Instruction Extensions Available in Broadwell.booleanhasAES()booleanhasAVX()booleanhasAVX2()booleanDoes 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.booleanhasBMI1()booleanhasBMI2()booleanhasFMA3()booleanhasMMX()booleanhasMOVBE()booleanhasSSE()booleanhasSSE2()booleanhasSSE3()booleanhasSSE41()booleanhasSSE42()booleanhasSSE4A()AMD K10 only.booleanhasTBM()Trailing Bit Manipulation (AMD feature)booleanhasX64()
-
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
-