【系统】获取 CpuID

  勇芳 2017-4-5 7707

获取  CpuID 


下面的表是输入值与返回值的关系:

输入值 返回值

-----------------------------------------------------------------

0x0   EAX  CPU基本参数的输入值

      EBX "Genu"

      ECX "Intel"

      EDX "inel"

------------------------------------------------------------------

0x1   EAX  CPU的级别,型号及步进

      EBX 信息很多, 下面介绍

第 0 -  7位: CPU字串索引 (Brand Index)

第 8 - 15位: CLFLUSH线大小(CLFLUSH line size) (返回值*8 = cache line size)

第16 - 23位: 保留

第24 - 31位: 处理器APIC物理标号 (Processor local APIC physical ID)'

      ECX 保留

      EDX  特征信息(Feature Information)

位  标号    解释

0  FPU  Floating Point Unit On-Chip. CPU是否内置浮点计算单元

1  VME  Virtual 8086 Mode Enhancements. 是否支持虚拟8086模式

2  DE  Debugging Extensions. 是否支持调试功能.

3  PSE  Page Size Extension. 是否支持大于4MB的分页.

4  TSC  Time Stamp Counter. 是否支持RDTSC指令.(注:RDTSC指令可以计算出CPU的频率)

5  MSR  Module Specific Registers RDMSR and WRMSR Instructions. 是否支持RDMSR与WRMSR (*注1)

6  PAE  Physical Address Extension. 是否支持大于32bit的物理地址.

7  MCE  Machine Check Exception. (*注2)

8  CX8  CMPXCHG8B Instruction. 是否支持8bytes(64bit)数的比较与交换指令.

9  APIC  APIC On-Chip.是否支持APIC(Advanced Programmable Interrupt Controller)

10  保留

11  SEP  SYSENTER and SYSEXIT Instructions.是否支持SYSENTER与SYSEXIT指令.(*注3)

12  MTRR  Memory Type Range Registers. 是否支持MTTR(*注4)

13  PGE  PTE Global Bit. 是否支持全局页面目录入口标志位 (global bit in page directory entries)

14  MCA  Machine Check Architecture. 是否支持MCA,MCA是Pentium4,Xeon,P6级处理器的一个错误报告机制

15  CMOV  Conditional Move Instructions. CMOV指令是否可用.(请问谁可以解释一下CMOV是什么命令?)

16  PAT  Page Attribute Table. 是否支持PAT,PAT允许操作系统指定4K大小的线性内存空间

17  PSE-36  32-bit Page Size Extension. 是否支持4GB的扩展内存

18  PSN  Processor Serial Number. 是否支持处理器序列号.(P3有效)

19  CLFSH  CLFLUSH Instruction.是否支持CLFLUSH.(*注5)

20  保留

21  DS  Debug Store. 是否支持把调试信息写入缓存,

22  ACPI  ACPI Processor Performance Modulation Registers. 处理器使用特别的寄存器以允许软件控制处理器的运行周期.

23   MMX  Inter MMX Technology.是否支持MMX

24  FXSR  FXSAVE and FXRSTOR Instructions. FXSAVE与FXRSTOR指令是否可用(*注6)

25  SSE  SSE.是否支持SSE.

26  SSE2  是否支持SSE2.

27  SS  Self Snoop. 处理器是否支持总线监视,以防止储存器冲突.

28  保留

29  TM  Thermal Monitor.CPU是否支持温度控制.

30 & 31  保留

------------------------------------------------------------------

0 X2 EAX到EDX返回的都是缓存和TLB的信息

------------------------------------------------------------------

0x3   EAX  保留

      EBX 保留

      ECX  CPU序列号(0 - 31bit) (只是在Pentium 3中才有效)

      EDX  CPU序列号(32 - 63bit) (只是在Pentium 3 中才有效)

Sub CpuID(ByVal a As Dword , b() As Dword )
Dim  a1 As Dword,a2 As Dword,a3 As Dword,a4 As Dword
#REGISTER None     
    ! mov eax,&H78563412
    ! mov eax,[ebp+08]
    ! CpuID
    ! mov a1,eax
    ! mov a2,ebx
    ! mov a3,ecx
    ! mov a4,edx
 b(0)=a1
 b(1)=a2
 b(2)=a3
 b(3)=a4
End Sub


因国家互联网安全管理要求,关闭回帖功能。大家需要留言,请使用【勇芳软件客服】即时联系勇芳点此打开->>勇芳软件客服
返回
联系勇芳
发新帖 搜索 反馈 回顶部