CPUID
调用CPUID > EAX=1: 处理器信息和特性

该参数在EAX中返回处理器的版本信息,这些信息也被称为“签名”（signature），一般而言，对于使用同一工艺制造的同一架构的处理器，其签名是相同的，故该信息可被用于判断架构和工艺。其包含的内容以及意义如下：
| EAX> 31 | EAX> 30 | EAX> 29 | EAX> 28 | EAX> 27 | EAX> 26 | EAX> 25 | EAX> 24 | EAX> 23 | EAX> 22 | EAX> 21 | EAX> 20 | EAX> 19 | EAX> 18 | EAX> 17 | EAX> 16 | EAX> 15 | EAX> 14 | EAX> 13 | EAX> 12 | EAX> 11 | EAX> 10 | EAX> 9 | EAX> 8 | EAX> 7 | EAX> 6 | EAX> 5 | EAX> 4 | EAX> 3 | EAX> 2 | EAX> 1 | EAX> 0 |
| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- |
| 保留=0 | 保留=0 | 保留=0 | 保留=0 | 扩展系列号（Extended Family ID） | 扩展系列号（Extended Family ID） | 扩展系列号（Extended Family ID） | 扩展系列号（Extended Family ID） | 扩展系列号（Extended Family ID） | 扩展系列号（Extended Family ID） | 扩展系列号（Extended Family ID） | 扩展系列号（Extended Family ID） | 扩展型号（Extended Model） | 扩展型号（Extended Model） | 扩展型号（Extended Model） | 扩展型号（Extended Model） | 保留=0 | 保留=0 | 处理器类型（Type） | 处理器类型（Type） | 系列号（Family） | 系列号（Family） | 系列号（Family） | 系列号（Family） | 型号（Model） | 型号（Model） | 型号（Model） | 型号（Model） | 步进（Stepping） | 步进（Stepping） | 步进（Stepping） | 步进（Stepping） |
关于版本信息的注意事项：
若系列号部分为0xF，则实际的系列号为EAX中系列号字段和扩展系列号字段的和，反之实际系列号与EAX中字段相同。
若系列号部分为0xF或6，则实际的型号为EAX中扩展型号字段左移四位后与型号字段的和，反之实际型号与EAX中字段相同。
上述内容用伪代码表示：
IF Family_ID ≠ 0FH
THEN DisplayFamily = Family_ID;
ELSE DisplayFamily = Extended_Family_ID + Family_ID;
END;
IF (Family_ID = 06H or Family_ID = 0FH)
THEN DisplayModel = (Extended_Model_ID « 4) + Model_ID;
ELSE DisplayModel = Model_ID;
END;
步进表示对处理器的修正或使用不同工艺制造，其具体意义应当参考处理器厂商所发布的手册。
其中，处理器类型（Type）的编码如下：
| 类型 | 二进制编码 |
| --- | --- |
默认，一般OEM处理器: 00
Overdrive处理器: 01
双处理器: 10
保留: 11
EBX中返回处理器的附加信息，其内容被分为以下几个字段：
| 字段 | EBX | 说明 |
| --- | --- | --- |
| 7:0 | 处理器名称索引号（Brand Index） |  |
| 15:8 | CLFLUSH指令清除缓存的大小 | 仅当CPU支持CLFLUSH指令时 （CPUID.01.EDX.CLFSH [bit 19]= 1）有效 |
| 23:16 | 对于AMD处理器，若HTT标志（位于CPUID Fn0000_0001_EDX）为1，则该字段为该处理器的逻辑核心（即线程）数，反之，该字段无意义且为0。 对于Intel处理器，若与上述相同位置的HT标志有效，则该字段代表该架构处理器中可寻址的最大APIC ID数量，（注意：这个值不是逻辑处理器数），在奔腾4HT及以前的处理器中，该字段代表每个物理核心对应的逻辑处理器数量。 | 无论是何种处理器，该字段只在HT标志有效时有意义。 |
| 31:24 | 初始Local APIC ID | 该值已被x2APIC ID取代 |
ECX和EDX返回处理器实现的功能，一个二进制位代表一个功能，该位为1是表示处理器支持该功能，反之则不支持，各位对应功能或指令如下：
| 位 | EDX> 简称 | EDX> 描述 | ECX> 简称 | ECX> 描述 |
| --- | --- | --- | --- | --- |
| 0 | fpu | 集成FPU（Onboard x87 FPU） | sse3 | 流式SIMD扩展3（SSE3或Prescott新指令（PNI）） |
| 1 | vme | 虚拟8086模式扩展（Virtual 8086 mode extensions） | pclmulqdq | PCLMULQDQ指令 |
| 2 | de | 调试扩展（Debugging extensions CR4 bit 3) | dtes64 | 64位Debug store (edx bit 21) |
| 3 | pse | 页尺寸扩展（Page Size Extension） | monitor | MONITOR和MWAIT指令 |
| 4 | tsc | 时钟周期计数器（Time Stamp Counter） | ds-cpl | CPL qualified debug store |
| 5 | msr | 特殊模块寄存器（Model-Specific Registers） | vmx | 虚拟机扩展（Virtual Machine eXtensions，VMX） |
| 6 | pae | 物理地址扩展（Physical Address Extension） | smx | 安全模式扩展（Safer Mode Extensions） |
| 7 | mce | 机器检查异常（Machine Check Exception） | est | 增强SpeedStep（Enhanced Intel SpeedStep，EIST） |
| 8 | cx8 | CMPXCHG8指令 | tm2 | 温度传感器2（Thermal Monitor 2） |
| 9 | apic | 集成高级可编程中断控制器（Advanced Programmable Interrupt Controller） | ssse3 | 流式SIMD扩展3补充指令集（Supplemental SSE3，SSSE3） |
| 10 | 保留 | 保留 | cnxt-id | 一级缓存上下文ID（L1 Context ID） |
| 11 | sep | SYSENTER和SYSEXIT指令 | sdbg | Silicon Debug interface |
| 12 | mtrr | 内存类型范围寄存器（Memory Type Range Registers） | fma | 3操作数融合乘加（Fused multiply-add 3，FMA3) |
| 13 | pge | 全局分页控制位（Page Global Enable bit in CR4） | cx16 | CMPXCHG16B指令 |
| 14 | mca | 机器检查架构（Machine check architecture） | xtpr | Can disable sending task priority messages |
| 15 | cmov | 条件传送指令（CMOV） | pdcm | Perfmon & debug capability |
| 16 | pat | 页属性表（Page Attribute Table） | 保留 | 保留 |
| 17 | pse-36 | 36位页尺寸扩展（36-bit page size extension） | pcid | Process context identifiers (CR4 bit 17) |
| 18 | psn | 处理器序列号（Processor Serial Number） | dca | Direct cache access for DMA writes |
| 19 | clfsh | CLFLUSH指令 | sse4.1 | 流式SIMD扩展4.1（SSE4.1） |
| 20 | 保留 | 保留 | sse4.2 | 流式SIMD扩展4.2（SSE4.2） |
| 21 | ds | 调试保存（Debug store） | x2apic | x2APIC |
| 22 | acpi | 集成ACPI温控寄存器（Onboard thermal control MSRs for ACPI） | movbe | MOVBE指令 |
| 23 | mmx | 多媒体扩展（MMX） | popcnt | POPCNT指令 |
| 24 | fxsr | FXSAVE，FXRESTOR 指令 | tsc-deadline | APIC implements one-shot operation using a TSC deadline value |
| 25 | sse | 流式SIMD扩展（SSE或Katmai新指令） | aes | AES指令集 |
| 26 | sse2 | 流式SIMD扩展2（SSE2） | xsave | XSAVE, XRESTOR, XSETBV, XGETBV指令 |
| 27 | ss | 自窥探缓存（self-snoop cache） | osxsave | 操作系统启用XSAVE |
| 28 | htt | 超线程（Hyper-threading） | avx | 高级矢量扩展（Advanced Vector Extensions，AVX） |
| 29 | tm | 自控温温度传感器（Thermal monitor automatically limits temperature） | f16c | F16C指令集 |
| 30 | ia64 | 基于IA64架构的处理器 | rdrnd | 集成随机数发生器on-chip random number generator） |
| 31 | pbe | 挂起中断（Pending Break Enable） | hypervisor | 当前为虚拟机环境 |