Class CPUIDCPUInfo

java.lang.Object
freenet.support.CPUInformation.CPUIDCPUInfo
All Implemented Interfaces:
CPUInfo
Direct Known Subclasses:
AMDInfoImpl, IntelInfoImpl, VIAInfoImpl

class CPUIDCPUInfo extends Object implements CPUInfo
Moved out of CPUID.java Ref: http://en.wikipedia.org/wiki/CPUID
Since:
0.8.7
  • Constructor Details

    • CPUIDCPUInfo

      CPUIDCPUInfo()
  • Method Details

    • getVendor

      public String getVendor()
      Specified by:
      getVendor in interface CPUInfo
      Returns:
      A string indicating the vendor of the CPU.
    • hasMMX

      public boolean hasMMX()
      Specified by:
      hasMMX in interface CPUInfo
      Returns:
      true iff the CPU supports the MMX instruction set.
    • hasSSE

      public boolean hasSSE()
      Specified by:
      hasSSE in interface CPUInfo
      Returns:
      true iff the CPU supports the SSE instruction set.
    • hasSSE2

      public boolean hasSSE2()
      Specified by:
      hasSSE2 in interface CPUInfo
      Returns:
      true iff the CPU supports the SSE2 instruction set.
    • hasSSE3

      public boolean hasSSE3()
      Specified by:
      hasSSE3 in interface CPUInfo
      Returns:
      true iff the CPU supports the SSE3 instruction set.
    • hasSSE41

      public boolean hasSSE41()
      Specified by:
      hasSSE41 in interface CPUInfo
      Returns:
      true iff the CPU supports the SSE4.1 instruction set.
    • hasSSE42

      public boolean hasSSE42()
      Specified by:
      hasSSE42 in interface CPUInfo
      Returns:
      true iff the CPU supports the SSE4.2 instruction set.
    • hasSSE4A

      public boolean hasSSE4A()
      Description copied from interface: CPUInfo
      AMD K10 only. Not supported on Intel. ref: https://en.wikipedia.org/wiki/SSE4.2#SSE4a
      Specified by:
      hasSSE4A in interface CPUInfo
      Returns:
      true iff the CPU supports the SSE4A instruction set.
    • hasAVX

      public boolean hasAVX()
      Specified by:
      hasAVX in interface CPUInfo
      Returns:
      true iff the CPU supports the AVX instruction set.
      Since:
      0.9.26
    • hasAVX2

      public boolean hasAVX2()
      Specified by:
      hasAVX2 in interface CPUInfo
      Returns:
      true iff the CPU supports the AVX2 instruction set.
      Since:
      0.9.26
    • hasAVX512

      public 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
      Specified by:
      hasAVX512 in interface CPUInfo
      Returns:
      true iff the CPU supports the AVX-512 Foundation instruction set.
      Since:
      0.9.26
    • hasADX

      public boolean hasADX()
      Intel Multi-Precision Add-Carry Instruction Extensions Available in Broadwell. Unused until GMP 6.1.
      Specified by:
      hasADX in interface CPUInfo
      Returns:
      true iff the CPU supports the ADX instruction set.
      Since:
      0.9.26
    • hasTBM

      public boolean hasTBM()
      Trailing Bit Manipulation (AMD feature)
      Specified by:
      hasTBM in interface CPUInfo
      Returns:
      true iff the CPU supports TBM.
      Since:
      0.9.26, broken before 0.9.35, fixed in 0.9.35
    • hasAES

      public boolean hasAES()
      Specified by:
      hasAES in interface CPUInfo
      Returns:
      true iff the CPU supports the AES-NI instruction set.
      Since:
      0.9.14
    • hasX64

      public boolean hasX64()
      Specified by:
      hasX64 in interface CPUInfo
      Returns:
      true iff the CPU supports the 64-bit support
      Since:
      0.9.26
    • hasBMI1

      public boolean hasBMI1()
      Specified by:
      hasBMI1 in interface CPUInfo
      Returns:
      true iff the CPU supports the BMI1 instruction set.
      Since:
      0.9.26
    • hasBMI2

      public boolean hasBMI2()
      Specified by:
      hasBMI2 in interface CPUInfo
      Returns:
      true iff the CPU supports the BMI2 instruction set.
      Since:
      0.9.26
    • hasFMA3

      public boolean hasFMA3()
      Specified by:
      hasFMA3 in interface CPUInfo
      Returns:
      true iff the CPU supports the FMA3 instruction set.
      Since:
      0.9.26
    • hasMOVBE

      public boolean hasMOVBE()
      Specified by:
      hasMOVBE in interface CPUInfo
      Returns:
      true iff the CPU supports the MOVBE instruction set.
      Since:
      0.9.26
    • hasABM

      public boolean hasABM()
      Also known as LZCNT
      Specified by:
      hasABM in interface CPUInfo
      Returns:
      true iff the CPU supports the ABM instruction set.
      Since:
      0.9.26
    • getCPUModelString

      public String getCPUModelString() throws UnknownCPUException
      Specified by:
      getCPUModelString in interface CPUInfo
      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.