为什么很少有人推荐cpu(原来曾有过这么多BUG)

接受素质教育的我们,是不能说别人“神经病”的,因为这是侮辱他人的大脑有“急性短暂性精神障碍”。当然了,今天文章不是谈人,而是谈计算机的大脑。什么?为我们日常工作默默奉献的CPU也有“神经病”的时候?非也,我们今天聊的缺陷大多并非CPU“智商”上的缺陷,而是“健康“上的缺陷。

案例一:CPU竟不会算数?

时间/主角/缺陷:1994年/Pentium/FDIV Bug

1994年6月,英特尔公司刚刚推出其划时代产品一一奔腾处理器。在芯片推出的前几天,英特尔公司的技术人员在做测试的时候发现,奔腾芯片的除法运算会发生某种偏差,这个问题是在90亿次除法运算中才可能出现1次错误。

为什么很少有人推荐cpu(原来曾有过这么多BUG)(1)

怀着侥幸心理的Intel测试人员,认为会被这种运算错误的人影响会很少,决定按原计划推出奔腾芯片。但是严谨的学术人员还是在这个几亿分之一几率中找到这个除法BUG。

如果你闲得无聊,那么用你电脑计算器会算出取十位小数的结果962306957033÷11010046=87402.6282027341

为什么很少有人推荐cpu(原来曾有过这么多BUG)(2)

而带有缺陷的Intel 奔腾CPU结果:962306957033÷11010046=87339.5805831329

这就是FDIV缺陷。奔腾CPU的FPU单元有严重缺陷的产品,影响到FDIV(浮点除法运算)指令。虽然这个缺陷出现几率极低,但发现这个Bug的科学家还是将它公布世界。让当时使用这一批奔腾CPU的用户慌了起来,Intel的电话被打爆。因为连最基本运算的正确都不能百分百保证,这个底线被打破导致了人们对CPU这三个字母的不信任。

案例二:”矿渣“

时间/主角:2000年/PCoppermine Pentium III 1.13GHz

在千年之交的频率至上时代,历史上第一款1GHz CPU并非Intel帝国,而是曾经寄人篱下的AMD。这让财大气粗,自尊心爆棚的Intel颜面无光,于是短期内发布1GHz的奔腾III来回应。当然了,等号并不是Intel想看到的,大于号才是目的。于是Pentium III 1.13GHz宣告了Intel的“王者归来”。

为什么很少有人推荐cpu(原来曾有过这么多BUG)(3)

为什么很少有人推荐cpu(原来曾有过这么多BUG)(4)

慕名而来的众多Intel用户,第一时间装备了当年的梦幻神器Pentium III 1.13GHz。却发现处理器在使用中发生了执行部分软件时死机、不稳定等情况。即使是搭配Intel特制的并且更新了BIOS的VC820主板也无法正常运行很多的测试软件。

为什么很少有人推荐cpu(原来曾有过这么多BUG)(5)

有趣的是,把它的FSB从133MHz降为100MHz(此时的工作主频是850MHz)时,处理器的运行情况就变得十分良好,一切奇怪的症状都消失了!消息一出,CPU业界立即瞬间爆炸,Intel拨苗助长的行为让市场讨伐之声不绝于耳,AMD笑而不语。

为什么很少有人推荐cpu(原来曾有过这么多BUG)(6)

Intel引以为傲的“铜矿”Coppermine架构奔腾III CPU,为了所谓的面子而草率推出Pentium III 1.13GHz。为什么叫草率呢?因为这种1GHz以上奔腾III是通过提升了0.05V核心电压来实现的,和超频没什么两样。我们知道超频有风险,结果可想而知。结果在发售不到一个月后便召回了所有的1.13GHz铜矿奔腾III,因此人们都称1.13GHz的铜矿奔腾III为“矿渣”。很长时间里,Intel对于1.13Ghz决口不提。

案例三:”火炉“

时间/主角:2004年/Prescott Pentium 4

Northwood奔腾4是公认的一代经典,皆因它实现了高频率带来的高收益,也让大家对Northwood的继任者Prescott抱有很大期待。但是希望越大失望越大,90nm的Prescott成为了不折不扣的失败品。它继承并发扬了NetBurst奔腾4的一切缺点,流水线更是加长到31级!而最让人不能接受的是90nm CPU竟然比130nm更热的反人类现象。

为什么很少有人推荐cpu(原来曾有过这么多BUG)(7)

当年90nm制程发展初期就是出现了过热的现象,这是因为晶体管更小,电路设计更加复杂,技术没跟上的情况下就出现了漏电的情况。以至于它每个时钟周期比Northwood多产生大约60%的热量,同时功率消耗也增加大约10%!Prescott处理器很容易过热,过热的结果就是降频运行。

最后的结果大家也都知道,英特尔终于承认自己错了,不得不全部放弃Prescott架构,止步3.8GHz,不要忘记当初英特尔发布奔腾4时吹嘘说奔腾4是为10GHz的运算速度设计的,这肯定是英特尔历史上最重要的或许也是最广为人知的工程失败事件。从此以后,CPU开始走多核的道路。

可怜当年购买了Prescott CPU的消费者,从奔腾D到赛扬D。不仅仅经受高频低能的痛苦,更要忍耐高热的环境。即使当年的赛扬D成为了超频明星,也只是频率的数字把戏。

为什么很少有人推荐cpu(原来曾有过这么多BUG)(8)

更加讽刺的是,单核时代最后的主角,Cedar Mill奔腾4,却让人们重新认识奔腾4真正的能力。皆因65nm制程解决了发热问题,玩家使用这架构的奔腾4CPU后,发现GHz幅度的超频是多么简单。多年的频率世界纪录就是Cedar Mill保持的。可惜的是,2006年的CPU市场早就好事成双了。

案例四:折翼的肥龙

时间/主角:2007年/B2步进的Phenom

Phenom,也就是羿龙,而网友们也给了它一个亲切的昵称——“肥龙”。它是AMD在后Athlon时代迎击Intel Core家族的有力武器。K8时代的辉煌让AMD收获无数鲜花与掌声,K10架构自然让人期待。

首创L3缓存设计的它,加上一直以来的性价比务求继续成为DIY玩家的神器,却被这个L3缓存设计成为了阿喀琉斯之踵,那就是大名鼎鼎的TLB Bug。

为什么很少有人推荐cpu(原来曾有过这么多BUG)(9)

TLB,简单来说就是一个指挥官,用于快速定位以及指引数据去哪个内存地址。但是由于设计缺陷,B2或者更前步进的Phenom,由于存放在二级缓存TLB中的映射关系表,被错误的放到三级缓存TLB中,导致CPU读取错误,也就是说找不到需要的虚拟内存数据和物理内存的映射关系,无法进行计算而挂起,具体描述就是无反应、或者说死机。

为什么很少有人推荐cpu(原来曾有过这么多BUG)(10)

尽管AMD坚持说TLB Bug发生的概率相当少,在一般的应用中根本不会出现。但是追求百分百完美的CPU岂能容忍影响使用的Bug?所以AMD在那个时候的信誉一落千丈,加上Intel的Core 2性能的落井下石,使得AMD一下子跌落谷底。

出问题自然就要补救,对于出现Bug的CPU,AMD通过一个BIOS的修复来告诉TLB不要在缓存中查找页表。然而明显地,这种做法会让内存延迟大幅提升,因为这样内存对页表通道的要求会有额外的增加。显然地,DIY玩家肯定不买账。最后等到B3步进的Phenom推出后,改名为9X50,这个问题才能得到解决。

为什么很少有人推荐cpu(原来曾有过这么多BUG)(11)

就是这个Bug,让AMD在CPU市场由盛转衰。加上CPU与GPU的双线作战,AMD在Phenom就开始表现得有心无力,后期FX系列CPU的推出,就是AMD在CPU市场畏首畏脚的缩影。

案例五:膨胀的内心

时间/主角:2015年/高通 骁龙 810

高通的骁龙在移动CPU的业界地位就和CPU界的酷睿一样,正如骁龙这一威武霸气的名字,成了性能的标杆。从当年的骁龙S1-S4产品线,到现在的骁龙200-400-600-800产品线,诞生了不少明星级产品。如双核时代的翘楚MSM8x55,引领四核手机CPU时代的APQ8064、现在高端手机标杆级产品线800系列等。

为什么很少有人推荐cpu(原来曾有过这么多BUG)(12)

正所谓好事多磨,高通在2015年就遇上了Intel在10年前一样的麻烦,那就是旗下高端CPU的发热问题,主角就是骁龙 810。

我们知道,PC桌面CPU的发热控制要求不高,毕竟还有那庞大的散热器镇压着。但是手机CPU就不同了,超高的集成度、超狭窄的空间决定手机CPU尤其是高端产品线的研发对于散热的照顾是重中之重。

为什么很少有人推荐cpu(原来曾有过这么多BUG)(13)

但是为了性能却忽视了这一点,最明显的一个表现就是采用金属外壳的HTC One M9在运行高荷载APP时候金属壳表面温度高达50摄氏度,简直成了暖手宝。索尼 Xperia Z3 让大家感受到什么叫“你可能是索尼大法的受害者”,因为你在使用Z3 的相机时总会遇到因为温度过高而强制关闭的提醒。

作为街知巷闻的手机芯片巨头,这次高通的打盹真不应该。主要原因还是为了跟进苹果A7处理器的64位寻址的竞争,尚未重视64位处理器的高通只能赶鸭子上架,骁龙 810使用ARM公版64位A57/A53架构,而自家一直研发的Krait架构64位寻址在短期内尚未实现,于是只能用公版四个高性能核心 四个低性能核心的组合,高通在Krait架构上积累的经验无法套用到ARM公版上来,于是导致了810惨淡收场的后果。

案例六:“同人不同命,同遮不同柄”

时间/主角:2015年/Apple A9

骁龙 810的发热问题让苹果体验到牵着别人鼻子走的快感,谁知自家后院却失火了,主角就是iPhone最新的A9处理器。

为什么很少有人推荐cpu(原来曾有过这么多BUG)(14)

iPhone 6S A9处理器上有两个版本,一个是出自台积电,而另外一个是三星,前者基于16nm制程,而后者则是14nm制程,由于工艺上的不同,导致它们性能、续航上有了不同。乖乖,同一手机不同代工芯片,自然会引起科技媒体或者广大玩家的兴趣,结果显示两种版本的效能似乎并非完全相同。

为什么很少有人推荐cpu(原来曾有过这么多BUG)(15)

一开始的具体表现就是,台积电代工的A9芯片完爆三星代工的A9。如果性能上的差距还能忍受的话,那么不少国外网友纷纷在Reddit上晒出的自己的实测成绩就让广大使用三星代工的iPhone用户郁闷了:同样设置、使用情况下,搭载台积电A9的iPhone 6S续航要比三星A9长近两个小时!

性能和续航的不同都超出了正常范围,惹得怨声载道。尤其是采用较多三星代工A9处理器的台湾市场,很多消费者更是激动地要求退货,坚决要台积电的。甚至还惊动了台湾通信委员会(NCC)要求苹果给大家一个说法。

作为聚光灯下的主角,苹果终于发布了官方声明,来自民间的电池跑分测试并不能真正反应出手机的实际使用情况。他们测试后得出的结论是,两个版本续航有2%-3%差距属于正常范围。

为什么很少有人推荐cpu(原来曾有过这么多BUG)(16)

但差距就是差距。对于那些花了超过一个月工资来买一台苹果,就是为了满足某些心理的人来说,苹果手机除了完美,就没有其他,他们不能容忍自己完美的手机出现低人一等的情况。于是即使苹果发出了这个声明,也阻止不了众多果粉的退货潮……

最后,美国的《消费者报告》发布了报告,两者处理器的差异并非外界传闻的那么恐怖,以平息这次事件。

写在最后:值得记忆的历史

在任何产品中,缺陷的存在可以说是必然的,不管设计人员思考设计的多么周密总有意想不到的事情出现。尤其是设计精密的CPU,都会经历ES,QS样品阶段,以及后续的步进的升级,BIOS的改进,所以我们才会在X宝看到那么多价格低廉的工程样品CPU在销售。

当然了,任何人都不想见到有缺陷的CPU上市,毕竟这会造成牵一发而动全身的后果。所以,厂商也应该加强自身的管理,避免任何漏网之鱼出现在市场,否则吃亏的永远是自己。

,

免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com

    分享
    投诉
    首页