过去这几个月,Intel酷睿13/14代台式机处理器的“缩缸”事件可谓沸沸扬扬。借着Intel发布终极声明的机会,我们尝试对该事件做个盘点、总结和分析。
电子工程专辑虽然并没有全线追Intel酷睿13/14代台式机处理器所谓的“缩缸”事件,不过此事还是在PC行业造成了相当影响的,也算是此前大半年Intel负面新闻不断的佐料之一了。
此事件最早可以追溯到今年上半年。部分用户和企业机构反应,酷睿13/14代处理器存在不稳定的情况,可能在高频点或高负载下,出现死机、蓝屏等现象。部分媒体对“缩缸”的定义是,处理器“体质缩水”,表现为CPU需要更高的电压才能维持稳定运行。
因为最近Intel就此事件发布了应该算是终极声明和最终解决方法。趁此机会,本文总结性质地谈谈事件前因后果——如果你也恰巧在用受影响的处理器,那么也能了解该怎么应对这波问题;顺便聊聊我们对其中问题的看法。
“缩缸”事件前因后果
受到该事件影响的处理器,主要包括面向台式机的酷睿13/14代i9和i7(也有说i5受影响的,只不过可能i5及更低型号发生问题的概率较低)——典型型号带K(如酷睿i9-14900K, 酷睿i7-13700KF等),也就是核心数更多、频率更高、可承载更高功耗的那一波。
未有笔记本CPU产品受影响的记录。Intel也在声明中强调了,除酷睿13/14代台式机处理器外,没有发现其他处理器产品受到该问题的影响。
这个问题持续发酵,可能有两个关键点:一是前两个月,部分13/14代酷睿处理器的游戏玩家,在初次启动某些游戏,进行shader编译时,发生编译失败的情况——这是典型的CPU高负载场景;另一,则是部分游戏公司及媒体下场研究和谈论13/14代酷睿处理器可能存在的问题。
Intel在此期间给出了多轮回应,也相继发布了一些BIOS更新尝试解决问题——包括锁PL2、控制CPU的运行电压、修复eTVB问题等策略...6月份,Intel提到会在7月底公布调查结果和解决方案。7月末我们也收到了Intel的官方声明,提及经过调查分析发现,“确定是过高的运行电压导致部分13/14代酷睿处理器出现不稳定情况”。
“...过高的运行电压由微代码算法造成,而该算法向处理器发送了错误的电压请求。”声明中还提到Intel会提供微代码补丁修复过高电压导致的根本问题。
8月份,Intel发布了针对酷睿13/14代台式机处理器的0x129微码更新。这份更新声明中提到,分析发现跨多核的Vmin(最小运行电压)因为升高的电压而大幅提升。升高电压事件(elevated voltage events)随时间累积,就会致使Vmin提升。所以0x129微码更新限制了电压请求,缓解处理器的不稳定。
不过当时Intel仍然提到了还在做持续调查分析,主要是那些会发生Vmin偏移的场景。同期Intel针对受影响处理器提供了延保服务,后文也会进一步提到。
上面这些应该是绝大部分关注此事件的读者,对此的主流认知。不过这次发布的“终极声明”还是言简意赅地给出了事件全貌的,下面尝试仔细研读。
终极声明中导致不稳定的“根因”
最近Intel发布有关此事件的终极声明将此问题称为“Vmin Shift Instability”(最低运行电压偏移),基于上述解释应该就很好理解了:即Vmin偏移所致的处理器及系统不稳定——这个名称也算得上是一种总结归因。
一般我们说Vmin是处理器能够运行在100%稳定状态的最小电压。“Vmin shift”应该是从6月份以来,所有问题的最终呈现;当然“Instability”不稳定,就是用户感受到的结果了。
在这份终极声明中,Intel认为,“Vmin Shift Instability”的根本原因是“IA内核内的时钟树电路”(a clock tree circuit within the IA core),“其在升高的电压和温度下容易受到可靠性老化的影响”。“这些情况会导致时钟的占空比偏移和系统不稳定(duty cycle shift of the clocks and observed system instability)”
所谓的时钟树电路,我们也问了一下Copilot,解释是系统或硬件设计中的时钟分布网络。而所谓的时钟分布网络(clock distribution network),本身是数字电路中的一个系统,提供从中央源到电路各部分的时钟信号。
要打比方的话,可以将clock distribution想象成一棵树,树根就是时钟源(如晶振),时钟信号通往电路的不同组成部分——这个路径也就是树枝;树叶就是最终目的地。时钟分布的目标是确保时钟信号能够同时抵达电路的各部分,最小化延迟和变量。此过程中有好几个关键部件合作,确保时钟信号的准确传递。
从Intel的声明来看,Vmin shift问题就与处理器核心内的某时钟树电路有关,该电路在升高的电压和温度下,会发生可靠性下降。随后Intel又说,上述情况会导致“时钟的占空比偏移和系统不稳定”。这里的“时钟的占空比偏移”(duty cycle shift of the clock)咋理解呢?
时钟信号的duty cycle,指的应该是时钟信号激活状态下的周期。而duty cycle shift也就是该周期的偏移和变化。比如说,如果duty cycle从50%偏移到60%,整体也就影响到了系统的时序和同步。最终导致了不稳定。(理解差不多就是这样,若Copilot存在模型幻觉或者我们理解有偏差,欢迎各位同学留言指正...
除了这,还原一下问题全貌
基于对这份声明的理解,上述根因应当是导致Vmin Shift的核心原因。不过实际上,在过去几个月间,基于先后发布的多个缓解方案,Intel对于酷睿13/14代台式机处理器不稳定问题有4个阶段的研究和结果公布。
故此,终极声明中,Intel也总结性地回顾了导致Vmin Shift的4个运行场景。前3个问题,在此之前已经修复;而最后一阶段,也是Intel在此次声明中提及、本文前述的“根因”,并着手解决了由此带来的另一个问题。下面就针对这4个阶段或场景,一一谈一谈。
其一是主板供电设置“超出Intel建议设置”——这也是最早Intel在回应该问题时给出的说法。主板厂商的BIOS设定中,可能出厂就解锁PL2、自动超频,或者有各种核心性能强化方案,而没有采用Intel的建议设置:比如之前测过的华硕主板,普遍自带“多核心增强”选项。这里面可能就有增压方案。
不过我们认为这也合理,尤其旗舰主板市场竞争,谁都希望自家主板能跑出更好看的成绩——在这种情况下,主板厂商都不得不卯足劲儿尝试榨干处理器的每一点性能余量。且这一点可能也佐证了,部分媒体对于Intel酷睿13/14代台式机CPU “出厂即灰烬”的说法。即Intel留给主板厂商的可操作余量其实不及以前那么多。
所以针对这一场景的缓解措施建议,就是在主板BIOS设置中采用Intel Default Settings默认设置。
其二,“高温下,eTVB微代码算法”仍然允许酷睿13/14代i9台式机处理器运行在更高性能状态下。eTVB的全称是“Enhanced Thermal Velocity Boost”。
对Intel酷睿处理器比较熟悉的读者应该知道,TVB是香港的一家电视台...是Intel于2018年引入的一项技术,官方文档解释说是当散热和功耗预算仍有空间的情况下,释放CPU额外的性能。一般认为,TVB是一种官超方案,可基于某些负载,进一步提升睿频频率,对游戏之类的应用相当有价值。
Intel此前对该问题的描述是eTVB可能错误计算了频率限制,让处理器(高温下仍)可在高频状态下运行。简单来说,也就是相关于eTVB的某个微码算法出现错误数值。6月份,Intel就发布了0x125微码更新,解决该问题。
其三,“频繁和持续请求高电压的微代码SVID算法可能导致最低运行电压偏移”(Microcode SVID algorithm requesting high voltages at a frequency and duration which can cause Vmin shift)...
首先所谓的“微代码SVID算法”(microcode SVID algorithm)当然就是处理器微码的一部分,对应算法用于管理和请求处理器的电压,确保针对不同性能状态给出正确的电压。在基于负载和运行状态调节电压的问题上,它对于维持处理器稳定和高效还是比较关键的。
这句话的英文表意,应该是指基于某种模式的高电压请求(不管这里的frequency指的是核心频率,还是请求高电压的操作频率),会导致Vmin shift。今年8月,Intel在发现该问题后发布了微码0x129更新,“解决了处理器请求更高电压的问题”。
其四,就是这次终极的微码0x12B更新,尝试解决“微代码和BIOS代码请求升高的核心电压可能会导致最低运行电压偏移,特别是在空闲和/或轻度活动期间”,应当也是伴随前文提到的“根因”分析,所做的终极更新,“解决处理器在空闲和/或轻度活动期间的电压升高需要”。值得一提的是,0x12B也包含前述0x125与0x129更新。
从声明来看,现阶段Intel“正与合作伙伴共同努力,以推出相关的BIOS更新”。主板厂商应该会在后续几周发布对应的BIOS更新。
解决方案,及一点想法和建议
另外,Intel也在声明中提到,实测微码补丁并不会对处理器性能产生多大程度的影响(performance impact is within run-to-run variation)。所以对于正在使用酷睿13/14代台式机处理器的用户而言,当前要做的首先就是去主板厂商的官网看看,是否有对应0x12B微码更新的BIOS版本发布,并做及时更新。
但也需要明确,即如果使用的这些受影响的处理器长期处在Vmin shift问题状态下,则过高的电压最终会让CPU及早走向老化。长期高温高压对芯片寿命会产生影响,算是个常识。
说具体些,如高压会提升金属互联层的电流密度,长期致电迁移问题;还有所谓的Hot Carrier Injection热载流子注入会降低晶体管性能;高温随时间持续,导致PMOS晶体管的阈值电压偏移;以及TDDB电介质随时间变化击穿等等...
所以在保修政策方面,Intel也宣布“为受不稳定问题影响的英特尔酷睿第13/14代盒装/散装台式机处理器延长2年保修期”。已经出现不稳定问题(典型如碰到游戏shader编译过程崩溃问题)的用户,应当考虑申请售后。
最后谈一点我们自己的想法。前两个月正值缩缸问题影响最盛之时,我们就猜测,应当是处理器过高的默认电压致不稳定问题发生。主板厂商则在该问题的基础上,基于对极限性能的渴求,又“助推”了一把。所以前期某些仅锁定最高功率的做法,并不能解决问题。
部分使用undervolting方法来降压超频的用户也反应,他们并没有遭遇处理器不稳定问题。感觉这也应当佐证了高温高压是关键。
虽然不清楚,这次公布的根因(核心内的时钟树电路在升高的电压和温度下,发生时钟duty cycle偏移),作为Vmin shift的根本原因,与此前包括eTVB, SVID微码算法错误在内的问题,具体是什么样的逻辑关系(猜测可能是微码bug导致根因所致的Vmin shift问题进一步恶化,放大了问题),但长期跑在高温高压状态,无疑就是不稳定的问题关键所在。
这段故事落下帷幕,大概也能表现当代芯片设计的变量之多、复杂性提升的现状。EDA厂商过去这段时间的理念宣导,及他们所说的新市场机会,看起来还的确是那么回事…