CPUID
Sign in to saveAlso known as CPU IDentification, CPUID instruction
In the x86 architecture, the CPUID instruction (identified by a CPUID opcode) is a processor supplementary instruction (its name derived from "CPU Identification") allowing software to discover details of the processor. It was introduced by Intel in 1993 with the launch of the Pentium and late 486 processors.
~135 min read
Article
51 sectionsContents
- History
- Calling CPUID
- EAX=0: Highest Function Parameter and Manufacturer ID
- EAX=1: Processor Info and Feature Bits
- EAX=2: Cache and TLB Descriptor Information
- EAX=3: Processor Serial Number
- EAX=4 and EAX=8000'001Dh: Cache Hierarchy and Topology
- EAX=4 and EAX=Bh: Intel Thread/Core and Cache Topology
- EAX=5: MONITOR/MWAIT Features
- EAX=6: Thermal and Power Management
- EAX=7, ECX=0: Extended Features
- <span id="IBC"></span><span id="IBPB"></span><span id="IBRS"></span><span id="STIBP"></span><span id="SSBD"></span>EAX=7, ECX=1: Extended Features
- EAX=7, ECX=2: Extended Features
- EAX=0Dh: XSAVE Features and State Components
- EAX=12h: SGX Capabilities
- EAX=14h: Processor Trace
- EAX=15h and EAX=16h: CPU, TSC, Bus and Core Crystal Clock Frequencies
- EAX=17h: SoC Vendor Attribute Enumeration
- EAX=19h: Intel Key Locker Features
- EAX=1Dh: Intel AMX Tile Information
- EAX=1Eh: Intel AMX Tile Multiplier (<code>TMUL</code>) Information
- EAX=21h: Reserved for TDX enumeration
- EAX=24h, ECX=0: AVX10 Converged Vector ISA
- EAX=24h, ECX=1: Discrete AVX10 Features
- EAX=2000'0000h: Highest Xeon Phi Function Implemented
- EAX=2000'0001h: Xeon Phi Feature Bits
- EAX=4000'0000h-4FFFF'FFFh: Reserved for [[Hypervisor]]s
- EAX=8000'0000h: Highest Extended Function Implemented
- EAX=8000'0001h: Extended Processor Info and Feature Bits
- EAX=8000'0002h,8000'0003h,8000'0004h: Processor Brand String
- EAX=8000'0005h: L1 Cache and TLB Identifiers
- EAX=8000'0006h: Extended L2 Cache Features
- EAX=8000'0007h: Processor Power Management Information and RAS Capabilities
- EAX=8000'0008h: Virtual and Physical Address Sizes
- EAX=8000'000Ah: SVM features
- EAX=8000'001Fh: Encrypted Memory Capabilities
- EAX=8000'0021h: Extended Feature Identification
- EAX=8000'0025h: Encrypted Memory Capabilities 2
- EAX=8C86'0000h: Hygon Extended Feature Flags
- EAX=8FFF'FFFEh and EAX=8FFF'FFFFh: AMD Easter Eggs
- EAX=C000'0000h: Highest [[Centaur Technology|Centaur]] Extended Function
- EAX=C000'0001h: Centaur Feature Information
- EAX=C000'0006h, ECX=0: Zhaoxin Feature Information
- CPUID usage from high-level languages
- Inline assembly
- Wrapper functions
- CPU-specific information outside x86
- See also
- References
- Further reading
- External links
In the x86 architecture, the CPUID instruction (identified by a CPUID opcode) is a processor supplementary instruction (its name derived from "CPU Identification") allowing software to discover details of the processor. It was introduced by Intel in 1993 with the launch of the Pentium and late 486 processors.
A program can use the CPUID to determine processor type and whether features such as MMX/SSE are implemented.