百科问答小站 logo
百科问答小站 font logo



CPU-Z如何识别CPU的制程呢? 第1页

  

user avatar   harryzhu 网友的相关建议: 
      

绝大部分信息使用的CPUID指令读出来的,极少部分信息通过OS的API直接读取CPU的信息,而制程工艺这种只能通过打表,维护一个字典,把制程和型号对应出来(老版本的CPU-Z显示不了新CPU的制程工艺,但是能显示所有Flags);还有一部分特贵的CPU会有一个Processor Information ROM,把信息烧录在里面,可以存更多信息,也可以用Intel开放的方式读取出来,但是这个ROM的信息对于OS来讲不是必须要存在的(i5,i7就没有,依然运行的好好的,你把i9的这个ROM不小心弄坏了,也不会影响i9本身的运行,CPU-Z到底有没有读取这个ROM里面的信息,无法确定)。比如i9就有:

i5,i7基本都没有:

你可以这么想, 主板BIOS其实不知道你安装了什么CPU,它就是通过CPUID来读取的,CPU固有的有用的信息都能读出来,这些与什么操作系统都无关。有的信息直接就读取出来,有的信息需要计算一下再出来,再加上读取方式多种,所以你打开CPU-Z,虽然只有3MB大小,但是一般都会执行一小会儿你才能看到结果。

比如我正在用的机器:

用就旧版本的1.78.1的CPU-Z就不显示工艺,因为预存表里面没有,连codename都没有,因为我这台机器的CPU在这个版本里面还没有对应的信息,但是CPUID执行是OK的

而在新版本的1.98.0的CPU-Z里面就显示了工艺,

因为CPU-Z把作业补上了,

Microsoft这里有个文档,可以大致浏览一眼:

比微软那篇文档更多信息的:

自己获取CPU的信息(OS实际上也是用CPUID读出来的):

Windows 中可以在Powershell中获取:

       get-wmiobject -class win32_processor  Caption           : Intel64 Family 6 Model 165 Stepping 2 DeviceID          : CPU0 Manufacturer      : GenuineIntel MaxClockSpeed     : 2712 Name              : Intel(R) Core(TM) i7-10850H CPU @ 2.70GHz SocketDesignation : U3E1     


在Linux里面可以用 cat /proc/cpuinfo 来获取,比如:

       processor       : 39 vendor_id       : GenuineIntel cpu family      : 6 model           : 62 model name      : Intel(R) Xeon(R) CPU E5-2650L v2 @ 1.70GHz stepping        : 4 microcode       : 1064 cpu MHz         : 1695.751 cache size      : 25600 KB physical id     : 1 siblings        : 20 core id         : 12 cpu cores       : 10 apicid          : 57 initial apicid  : 57 fpu             : yes fpu_exception   : yes cpuid level     : 13 wp              : yes flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov                                            pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdt                                           scp lm constant_tsc arch_perfmon pebs bts rep_good xtopology nonstop_tsc aperfmp                                           erf pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr pdcm pci                                           d dca sse4_1 sse4_2 x2apic popcnt tsc_deadline_timer aes xsave avx f16c rdrand l                                           ahf_lm arat epb xsaveopt pln pts dts tpr_shadow vnmi flexpriority ept vpid fsgsb                                           ase smep erms bogomips        : 3391.45 clflush size    : 64 cache_alignment : 64 address sizes   : 46 bits physical, 48 bits virtual power management:     

又比如:

       processor : 3 vendor_id : GenuineIntel cpu family : 6 model  : 85 model name : Intel(R) Xeon(R) Silver 4216 CPU @ 2.10GHz stepping : 7 microcode : 0xffffffff cpu MHz  : 2095.079 cache size : 22528 KB physical id : 0 siblings : 4 core id  : 3 cpu cores : 4 apicid  : 3 initial apicid : 3 fpu  : yes fpu_exception : yes cpuid level : 13 wp  : yes flags  : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss ht syscall nx lm constant_tsc rep_good nopl pni pclmulqdq ssse3 fma cx16 sse4_1 sse4_2 movbe popcnt aes xsave avx f16c rdrand hypervisor lahf_lm abm 3dnowprefetch kaiser fsgsbase bmi1 hle avx2 smep bmi2 erms rtm xsaveopt bugs  : cpu_meltdown spectre_v1 spectre_v2 spec_store_bypass l1tf mds bogomips : 4190.15 clflush size : 64 cache_alignment : 64 address sizes : 42 bits physical, 48 bits virtual power management:     

Linux上面也可以用 dmidecode 获取CPU的信息,比如我们一台Hadoop节点上面执行的结果




  

相关话题

  为什么系统调用时要把一些寄存器保存到内核栈又从内核栈恢复? 
  如何看待英特尔 12 代酷睿 i9-12900HK 跑分曝光,超越苹果 M1 Max? 
  Intel/AMD/NVIDIA 尽全力的话能用 M1 ULTRA 的晶体管数量干什么? 
  AMD 的 CPU 发展多年,为什么不能像 Intel 一样把针脚放在主板上,让主板通用呢? 
  10代和11代酷睿明明都干不过锐龙5000系为什么你们还是愿意买英特尔? 
  如何评价英特尔(Intel)公司宣布CEO 鲍勃-斯旺(Bob Swan)将离职,随后公司股价暴涨? 
  AMD锐龙5000系增强版、6000系单核性能还有可能追上英特尔酷睿12代吗? 
  为何 PC 需要单核高性能,而服务器不在乎? 
  向下扩展的段,为什么偏移量是从limit+1 ~ 0xFFFF? 
  CPU是怎么发明出来的? 

前一个讨论
毛文龙两年平辽比袁崇焕吹牛逼真实,为什么不用?
下一个讨论
2021年,Firefox 相比于 Chrome 来说还有哪些优势?





© 2024-11-09 - tinynew.org. All Rights Reserved.
© 2024-11-09 - tinynew.org. 保留所有权利