CPUID是一个为用户提供CPUID信息指导的网站。CPUID指用户计算机的信息处理器的信息。信息包括型号,信息处理器,高速缓存尺寸,钟速度和制造厂研发代码等。 通过查询可以知道一些信息:晶体管数,针脚类型,尺寸等。CPUID指令是intel IA32架构下获得CPU信息的汇编指令,可以得到CPU类型,型号,制造商信息,商标信息,序列号,缓存等一系列CPU相关的东西。 CPUID使用eax作为输入参数,eax,ebx,ecx,edx作为输出参数,针对不同的输入参数eax的值,输出参数的意义都不相同。为了更好的在C++中使用CPUID指令,可以使用类对指令进行封装,在类中定义一个专门的函数负责cpuid的执行,他需要一个输入参数。还需要定义四个成员变量存储CPUID执行以后返回来的值。由于这四个寄存器都是32位长的,可以使用unsinged long类型变量存储。把eax = 0作为输入参数,可以得到CPU的制造商信息。CPUID指令执行以后,会返回一个12字符的制造商信息,前四个字符的ASC码按低位到高位放在ebx,中间四个放在edx,最后四个字符放在ecx。 获得CPU商标信息:在我的电脑上点击右键,选择属性,可以在窗口的下面看到一条CPU的信息,这就是CPU的商标字符串。CPU的商标字符串也是通过cpuid得到的。由于商标的字符串很长(48个字符),所以不能在一次cpuid指令执行时全部得到,所以intel把它分成了3个操作,eax的输入参数分别是0x80000002,0x80000003,0x80000004,每次返回的16个字符,按照从低位到高位的顺序依次放在eax, ebx, ecx, edx。因此,可以用循环的方式,每次执行完以后保存结果,然后执行下一次cpuid。 检测CPU特性(CPU feature) :现在的intel CPU,台式机的好点的都支持Hyper-Threading了,移动的要支持Speed Sted。这些都是CPU的特性。CPU的特性可以通过cpuid获得,参数是eax = 1,返回值放在edx和ecx,通过验证edx或者ecx的某一个bit,可以获得CPU的一个特性是否被支持。比如说,edx的bit 32代表是否支持MMX,edx的bit 28代表是否支持Hyper-Threading,ecx的bit 7代表是否支持speed sted。 联系方式 电子邮箱:[email protected]。 |
-
无相关信息
- 网站名称
- 人气
- 戴尔官方网站
- 7884
- MAC苹果电脑
- 7684
- Intel英特尔官方
- 6885
- IBM官方网站
- 5773
- 华硕笔记本官网
- 5448
- Compaq康柏电脑
- 4883
- 西部数据公司
- 2774
- 德州仪器
- 640
- HP惠普官方网站
- 494