CPUID这个汇编指令到底有什么用。先谈谈01子功能。

Peirre3年前我的杂物605

最近在翻览intel公司的CPU开发白皮书,对CPUID这个指令做了一下了解。

CPUID这个指令就像一个功能函数一样,只要CPU的寄存器EAX有数据,它会在执行CPUID指令后返回到EAX,EBX,ECX,EDX不同的值。

原文可能没学过英文的人看不太懂。

我现在会陆续把功能号反映出来。

现在贴一个当CPU寄存器EAX值是1时CPUID这个指令返回的结果。

; EAX=01H 返回
; EAX CPU 版本类型,家族,模式,单步ID
; EBX 0-7   字节,索引
;     8-15  字节,CLFUSH 行尺寸(值 8 = 1字节缓存行尺寸)
;     16-23 字节,物理包内的逻辑处理地址ID的最大数
;     24-31 字节,初始化APIC ID
; ECX  SSE3 SSE3扩展功能
;	   PCLMULQDQ 多比较
;      DTES64  64位DS区域
;      MONITOR 支持MONITOR/MWAIT
;      DS-CPL  CPL 调试记录
;      VMX   虚拟机扩展
;      SMX   保护模式扩展
;      EST   加强型Intel SeedStep 技术
;      TM2   终端监控2
;      SSSE3 SSSE3扩展
;      CNXT-ID L1目录ID
;      SDBG  调试
;      FMA  多存地址
;      CMPXCHG16B 
;      xTPR 升级控制
;      [第16位保留]
;      PDCM Perf/调试MSR
;      PCID 处理器定义
;      DCA  cache 目录访问
;      SSE4_1
;      SSE4_2
;      x2APIC
;      MOVBE
;      POPCNT
;      TSC-Deadline 支持 APIC计时器在TSC deadline值上的 one-shot 操作
;      AES AESIN 扩展指令
;      XSAVE 支持 XSAVE/XRSTOR 外部处理指令 XSETBV/XGETBV和XCR0指令
;      OSXSAVE 支持CR4.0SXSAVE[bit 8]开启 用XSETBV/XGETBV访问XCR0管理XSAVE/XRSTOR
;      AVX
;      F16C
;      RDRAND
;      val = 0
; EDX  FPU-x87 FPU浮点运算器
;      VME     加强虚8086模式 包含CR4.VME控制特性,CR4.PVI为TSS保护模式虚拟中断,软中断除外,软件图片和EFLAGS.VIF,EFLAGS.VIP标志
;      DE      调试扩展 CR4.DE 控制I/O断点,选择访问DR4和DR5
;      PSE     页面扩展 大页面4M支持,包含CR4.PSE控制特性 选择保留CR3,PDEs,PTEs
;      TSC     时间计数 RDTSC 指令支持 包含CR4.TSD私有控制
;      MSP     RDMSR 和 WRMSR支持
;      PAE     物理地址扩展 32位 2M扩展4M
;      MCE     机器异常检查
;      CX8     CMPXCHG8B
;      APIC    APIC芯片 处理器的高级中断控制,物理地址环FFFE0000h到FFFE0FFFh
;      [第10位保留]
;      SEP     SYSENTER/SYSEXIT
;      MTRR    内存环寄存器组
;      PGE     PTE全局位 和 TLB有关
;      MCA     机器ARC检查  MCG_CAP特性
;      CMOV    移动比较指令 CPUID.FPU支持 FCOMI/FCMOV支持
;      PAT     页面属性表 和 MTRRs有关
;      PSE-36  页面尺寸扩展 4M页面地址,物理内存4G以上 13-20位页面目录进入,可以升到 40位
;      PSN     处理器序列数
;      CLFSH   CLFSH指令 CLFLUSH指令
;      [第20位保留]
;      DS      调试记录 和 BTS PEBS有关
;      ACPI    终端监示和时钟控制
;      MMX     MMX技术
;      FXSR    FXSAVE/FXRSTOR
;      SSE     SSE扩展
;      SSE2    
;      SS      Self Snoop
;      HTT     多线程
;      TM      终端监示
;      [第30位保留]
;      PBE     Pend. Brk.EN 使用FERR#/PBE#在STPCLK#内  IA32_MISC_ENABLE MSR开启

以上是汇编语言的注释,当EAX等于1时的注释,ECX和EDX返回的是一个数,展开成32位,然后每一位就表示一个功能。

这些功能都是CPU的扩展功能。



相关文章

架设自己的导弹防御系统(附电路图&PCB、雷达+导弹、纯雷达源码)-USB雷达

架设自己的导弹防御系统(附电路图&PCB、雷达+导弹、纯雷达源码)-USB雷达

雷达大家都见过(起码电视上见过),每次看到觉得很爽啊,能探测各种障碍物,要是自己能够拥有一个就太棒了。而有人不光敢想,更敢于将想法付诸实践(这也是我们所缺少的),他真的做出了一个非常酷的USB雷达。雷...

Intel 的 snoop star 无人机。

Intel 的 snoop star 无人机。

起飞前。起飞后的聚集。可以形成人形,动态实时距离控制。很不错,非常美。形成Intel标志。 外观 很小巧。很轻的感觉。飞机形成人形的清晰图这个飞机飞的时间不是很长。...

2020上半年在家里玩的游戏介绍。

2020上半年在家里玩的游戏介绍。

一大早晨起来休息了一下,现在是冠状病毒肺炎时期。在家休息出不了门,一大早玩游戏快打旋风,发现了一个广告牌,是非典的广告语。第二个游戏介绍最早的魂斗罗卡带256K日文版这个游戏的游戏名称叫Gryzor(...

Dolphin 模拟器在WIN10和Linux mint 下使用真实的WII控制手柄。

Dolphin 模拟器在WIN10和Linux mint 下使用真实的WII控制手柄。

很多以前的WII游戏是可以在电脑上玩的。自从买了一张别人开发的WII模拟器集成软件之后,发现电脑使用WII模拟器一点也不难。Iplay 是一个体感游戏大厅,分收费零售版和免费版,免费版和收费零售版不一...

关于曾经卫星接收过的一点小经验。

关于曾经卫星接收过的一点小经验。

卫星接收这一块有十年没有使用了。现在太空高速发展,对大家来言,只留下了身影,对一般家庭来说,从来都只是听说。所以,科技发达的社会,我来简单的介绍一下,只说卫星电视的接收。卫视的接收分两个波段,一个是C...