CPU

CPU

Intel CPU

  • es 不显版:没有公开办法可以确定不显的es具体属于哪个SKU的,大部分都是在根据已公布的核心数量和频率等参数猜。除非获得 intel 在递送ES处理器给硬件厂商测试时附带的内部资料 DCL (Dear Customer Letter)。在DCL里有详细的QDF#、步进信息和产品SKU、规格。

CPUID

CPUID可以视为CPU界的邮政编码。相同架构/步进的CPU他们的ID是一样的。CPUID包含了CPU的名称、规格、步进等信息。

通常使用的 CPUID 定义是5位16进制数字,例如 0x906EC。其从高位到低位的5个数字含义分别是:

  • 第1位:扩展型号值(Ext. Model)高位(CPU-Z 等显示的扩展型号值是2位,如 9E,取高位值)
  • 第2位:处理器类型。一般都是0(这个值用来标记多处理器,似乎已经被Intel废弃了)
  • 第3位:扩展系列代码(Ext. Family)。
  • 第4位:扩展型号值(Ext. Model)低位。
  • 第5个位:步进(Stepping)(十六进制。C即为12)

通过 CPUID 可以判断不显CPU能否在特定主板点亮。下载主板的BIOS,使用工具 MC Extractor 打开 BIOS,会显示这个 BIOS 微码里包含的所有 CPU 的 CPUID 列表。可以自己修改下BIOS文件,加入缺少的微码,从而在特定主板上点亮ES版CPU。但能不能点亮不只有微码决定,ME也在控制着平台的行为。ME也可以替换,只是比较麻烦并且存在风险。参考

步进是CPUID里的Stepping ID,也就是十六进制数值。而 P0/U0/R0之类的修订(revision)值是CPU-Z等软件根据Intel公布的规格表通过十六进制值对照出来的,在ES上有时候不准。CPUID前四位相同的CPU(同一个系列),步进值越大则越新。
正显并不一定就是QS,显与不显除了价格上的差别并无意义,唯一值得参考的只有步进。只有与正式版同步进的ES正显才可能是QS。步进小于正式版的正显ES不是QS,可能是Pre-QS,甚至是ES2。Intel并不会公开ES2到Pre-QS及QS都修订了什么内容,只有正式版CPU才有Errata(勘误表)。

从性价比的角度排名:

  1. 与正式版同步进的ES不显。理由:
    • 稳!正式版能亮的主板应该都能亮。
    • 不显,便宜。
    • 很大可能这货是QS,只是你没有DCL不知道罢了。
  2. 比正式版版本低1的的ES不显。理由:
    • 极其便宜,大幅差价一般足以抵消风险,不过要多搜索,看好再买。
  3. 与正式版同步进的正显(QS),看规格合适价格合适就可以买,东西跟正式版没差(价格一般也没差)
  4. 不推荐购买的:步进比正式版低的ES正显(可能是Pre-QS,甚至是ES2)。理由:一般比正式版少不了多少,花了正显的钱,步进却落后于正式版。一般都是发布前发现了某些漏洞再次修订导致的。

步进 (Stepping)

1位16进制数字,代表同一个 CPU 不同的硬件版本。越大越好(bug越少)。

CPU-Z 等还会显示一个修正(revision)代码,如 D0。这个实际上是步进的名字。Intel定期发布某种CPU的“Specification Update”文档里有Stepping的数字和名字的对应关系。步进的名字有Ax(A0,A1, A2...), Bx (B0, B1, B2...)等等。

一个CPU经过RTL、综合和流片后,要和BIOS一起来进行验证工作。这个过程业内人士叫做Power-On。在Power-On的时候,那时CPU一般revision是A0 (Stepping 为 0),它实际上是掩模Mask的版本。A0 CPU一般问题很多,这些问题可以通过微码(ucode)和BIOS里面加各种w/a来修正。Power-On结束后,各种CPU的bug被归结在一起,不少会被从硬件上修正,重新做一版CPU出来,它的Stepping就会升级一次。小的修正换小版本,如A0->A1->A2,大的修正换大的版本,如A2->B0等等。这个修正过的CPU再和BIOS等一起验证,还会加入更多的测试需求,会发现新的问题,从而需要新的Stepping。

硬件错误经过不断修正,Stepping也越来越大。经过这个不断迭代的过程,CPU越来越好,也就可以上市了。所以大家这些普通用户拿到的CPU的Stepping一般比较大,而我们这些BIOS从业者拿到的Stepping则有些很小。

Intel 官方的CPU 规格页面所标注的 Stepping 实际上是步进的名字。例如 i3-1005G1 在 intel 页面显示的 Stepping 是 D1。对应 CPU-Z 里显示的 Stepping 数字版本 5。

获取 CPUID

通过 x86 的 CPUID 汇编指令可以获取到 CPU 的各项信息,包括 CPUID。


Last update: 2021-04-07 01:32:52 UTC