class IntelInfoImpl extends CPUIDCPUInfo implements IntelCPUInfo
Two identification paths are used, in order of priority:
0x80000002–0x80000004): Returns the exact
marketing name (e.g. "Intel(R) Core(TM) i9-14900K") and is always accurate when the
CPU supports extended CPUID leaves.Regardless of the identification path, the switch(family) block always runs to
set the instruction set compatibility flags (isSandyCompatible,
isHaswellCompatible, etc.), which are queried by callers to determine feature
availability (AVX, AVX2, AVX-512, BMI, FMA, etc.).
Intel uses family 6 for all modern Core processors. The model number (base model + extended model) distinguishes microarchitectures:
0x0e-0x0f Core (Merom/Conroe) 0x1a-0x1f Nehalem 0x25-0x2f Westmere 0x25-0x2f Sandy Bridge 0x3a-0x3f Ivy Bridge 0x3c-0x3f Haswell 0x45-0x47 Haswell (ULT) 0x3d-0x4f Broadwell 0x4e-0x5e Skylake 0x55 Skylake-X / Cascade Lake / Cooper Lake 0x5c-0x5f Goldmont (Atom) 0x66-0x67 Cannon Lake 0x7a Gemini Lake 0x7c Lakefield 0x7d-0x7e Ice Lake client 0x6a-0x6c Ice Lake server 0x82-0x9e Kaby Lake / Coffee Lake 0xa5-0xa6 Comet Lake 0x8c-0x8d Tiger Lake 0xa7 Rocket Lake 0x97-0x9a Alder Lake 0xb7-0xbf Raptor Lake 0xaa-0xac Meteor Lake 0xb5-0xc6 Arrow Lake 0xbd Lunar Lake 0xcc Panther Lake 0xd5 Wildcat Lake 0x8f Sapphire Rapids 0xcf Emerald Rapids 0xad-0xae Granite Rapids 0xaf Sierra Forest 0xdd Clearwater Forest 0xb6 Grand Ridge 0xbe Gracemont (E-core only)
CPUID,
IntelCPUInfo| Constructor and Description |
|---|
IntelInfoImpl() |
| Modifier and Type | Method and Description |
|---|---|
String | getCPUModelString()Returns the identified processor name, or throws if unrecognized. |
boolean | IsAtomCompatible()true if the CPU is an Intel Atom (Silvermont/Goldmont/etc.). |
boolean | IsBroadwellCompatible()true if the CPU supports Broadwell (ADX, AVX-512PF/ER) instructions. |
boolean | IsCore2Compatible()true if the CPU supports Core 2 (SSSE3) instructions. |
boolean | IsCoreiCompatible()true if the CPU supports Core i-series (SSE4.2) instructions. |
boolean | IsHaswellCompatible()true if the CPU supports Haswell (AVX2, BMI1/2, FMA) instructions. |
boolean | IsIvyCompatible()true if the CPU supports Ivy Bridge (AVX, PCMPGTQ) instructions. |
boolean | IsPentium2Compatible()true if the CPU supports Pentium II (P6) instructions. |
boolean | IsPentium3Compatible()true if the CPU supports Pentium III instructions (SSE). |
boolean | IsPentium4Compatible()true if the CPU supports Pentium 4 instructions (SSE2). |
boolean | IsPentiumCompatible()true if the CPU supports Pentium (P5) instructions. |
boolean | IsPentiumMCompatible()true if the CPU supports Pentium M (Dothan/Core) instructions. |
boolean | IsPentiumMMXCompatible()true if the CPU supports Pentium MMX instructions. |
boolean | IsSandyCompatible()true if the CPU supports Sandy Bridge (AVX) instructions. |
boolean | IsSkylakeCompatible()true if the CPU supports Skylake (AVX-512F/DQ/BW/VL) instructions. |
getVendor, hasABM, hasADX, hasAES, hasAVX, hasAVX2, hasAVX512, hasBMI1, hasBMI2, hasFMA3, hasMMX, hasMOVBE, hasSSE, hasSSE2, hasSSE3, hasSSE41, hasSSE42, hasSSE4A, hasTBM, hasX64public String getCPUModelString() throws UnknownCPUException
getCPUModelString in interface CPUInfogetCPUModelString in class CPUIDCPUInfoUnknownCPUException - if the CPU could not be identifiedpublic boolean IsAtomCompatible()
true if the CPU is an Intel Atom (Silvermont/Goldmont/etc.).IsAtomCompatible in interface IntelCPUInfopublic boolean IsBroadwellCompatible()
true if the CPU supports Broadwell (ADX, AVX-512PF/ER) instructions.IsBroadwellCompatible in interface IntelCPUInfopublic boolean IsCore2Compatible()
true if the CPU supports Core 2 (SSSE3) instructions.IsCore2Compatible in interface IntelCPUInfopublic boolean IsCoreiCompatible()
true if the CPU supports Core i-series (SSE4.2) instructions.IsCoreiCompatible in interface IntelCPUInfopublic boolean IsHaswellCompatible()
true if the CPU supports Haswell (AVX2, BMI1/2, FMA) instructions.IsHaswellCompatible in interface IntelCPUInfopublic boolean IsIvyCompatible()
true if the CPU supports Ivy Bridge (AVX, PCMPGTQ) instructions.IsIvyCompatible in interface IntelCPUInfopublic boolean IsPentium2Compatible()
true if the CPU supports Pentium II (P6) instructions.IsPentium2Compatible in interface IntelCPUInfopublic boolean IsPentium3Compatible()
true if the CPU supports Pentium III instructions (SSE).IsPentium3Compatible in interface IntelCPUInfopublic boolean IsPentium4Compatible()
true if the CPU supports Pentium 4 instructions (SSE2).IsPentium4Compatible in interface IntelCPUInfopublic boolean IsPentiumCompatible()
true if the CPU supports Pentium (P5) instructions.IsPentiumCompatible in interface IntelCPUInfopublic boolean IsPentiumMCompatible()
true if the CPU supports Pentium M (Dothan/Core) instructions.IsPentiumMCompatible in interface IntelCPUInfopublic boolean IsPentiumMMXCompatible()
true if the CPU supports Pentium MMX instructions.IsPentiumMMXCompatible in interface IntelCPUInfopublic boolean IsSandyCompatible()
true if the CPU supports Sandy Bridge (AVX) instructions.IsSandyCompatible in interface IntelCPUInfopublic boolean IsSkylakeCompatible()
true if the CPU supports Skylake (AVX-512F/DQ/BW/VL) instructions.IsSkylakeCompatible in interface IntelCPUInfo