英特爾的CPU存在兩大漏洞 ——Meltdown 和 Spectre,波及自 1995 年以來所有使用英特爾芯片的硬件設(shè)備。不止 Linux、Android、Windows、蘋果 OS X 等操作系統(tǒng),AWS、Azure、谷歌云等云計算提供商均受到影響,其威脅范圍之廣,令人咋舌。
其中,Meltdown 可以允許低權(quán)限的用戶和應(yīng)用“越界”訪問系統(tǒng)級內(nèi)存,從而造成數(shù)據(jù)泄露; Spectre 可騙過安全檢查程序,直接通過應(yīng)用訪問內(nèi)存任意位置。對于以往的 軟件安全 Bug 僅需修復(fù)打個補(bǔ)丁即可,但是此次的漏洞存在于處理器端,與硬件相關(guān),Intel 無法通過微代碼的方式修補(bǔ)漏洞,需要操作系統(tǒng)廠商進(jìn)行彌補(bǔ),然而,據(jù)悉,不同的操作系統(tǒng)都要從內(nèi)核層面進(jìn)行漏洞修復(fù),而修補(bǔ)該漏洞之后會讓處理器的性能最高下降 30%。
如今微軟、谷歌、蘋果、亞馬遜等公司已經(jīng)相繼發(fā)布了解決方案,其他一些廠商也正在加急的修復(fù)中,不得不說,巨頭的一個 Bug,整個業(yè)界都要抖三抖。事實(shí)上,這并非是第一次 CPU 出現(xiàn) Bug,那么以往 CPU 出現(xiàn) Bug 都是如何處理的呢?接下來,我們將一一盤點(diǎn)曾經(jīng)的 CPU Bug 事件。
不會算數(shù)的奔騰 FDIV Bug
1994 年 6 月,在英特爾首次推出奔騰處理器的前幾天,其技術(shù)人員發(fā)現(xiàn)奔騰芯片的除法運(yùn)算會發(fā)生一些偏差,即 FDIV 缺陷。奔騰 CPU 的 FPU 單元有嚴(yán)重缺陷的產(chǎn)品,影響到 FDIV(浮點(diǎn)除法運(yùn)算)指令。例如:
正常電腦計算器運(yùn)算結(jié)果:962306957033÷11010046=87402.6282027341
帶有 Bug 的奔騰 CPU 運(yùn)算結(jié)果:962306957033÷11010046=87339.5805831329
對于以上偏差,Intel 測試人員表示 90 億次除法運(yùn)算中才可能出現(xiàn) 1 次錯誤,因此懷著僥幸心理無視了該問題,但是嚴(yán)謹(jǐn)?shù)膶W(xué)術(shù)人員還是在這個幾億分之一幾率中找到這個除法 Bug。
圖片來源:太平洋電腦網(wǎng)
解決方案
起初,英特爾只決定為部分已經(jīng)證明受影響的用戶更換 CPU。但是,這引起了用戶的不滿,因?yàn)檫B最基本運(yùn)算的正確都不能百分之百的保證,何來對 CPU 的信任。后來,在用戶以及競爭對手(IBM等公司)的壓力下,英特爾于 1994 年的 12 月對外宣布自身 CPU 的缺陷并召回了受影響的 CPU。
顯然,奔騰 FDIV Bug 并不能通過軟件的方法修補(bǔ),為了解決問題,英特爾召回的成本甚至高達(dá) 4.75 億美元,結(jié)合通貨膨脹率,這大致相當(dāng)于現(xiàn)在的 7.88 億美元。
死機(jī)的奔騰 F00F bug
這是一個在 1997 年發(fā)現(xiàn)的 CPU Bug,影響了奔騰 MMX 和奔騰 OverDrive 處理器等基于 P5 微架構(gòu)的 CPU。這個 Bug 會導(dǎo)致電腦出現(xiàn)死機(jī)之類的情況,需要重啟才能繼續(xù)使用電腦。這也是一個影響深遠(yuǎn)的 Bug,以至于現(xiàn)在很多硬件設(shè)計的缺陷都用 F00F 來命名。
解決方案
英特爾通過更新處理器的步進(jìn)修復(fù)了奔騰 F00F bug,B2 步進(jìn)已經(jīng)解決了相關(guān)的問題。不過對于之前出現(xiàn)錯誤的 CPU,也可以通過操作系統(tǒng)的更新來修復(fù),因此這是一個可以通過軟件修復(fù)的 CPU Bug。
礦渣奔騰 III 1.13GHz
2000 年,英特爾為抗衡 AMD 發(fā)布的 1GHz CPU,迅速的推出 Pentium III 1.13GHz。卻未料,大部分用戶在安裝 Pentium III 1.13GHz 之后,發(fā)現(xiàn)處理器在使用中發(fā)生了執(zhí)行部分軟件時死機(jī)、不穩(wěn)定等情況。
圖片來源:太平洋電腦網(wǎng)
解決方案
因英特爾草率地推出 Coppermine 架構(gòu)的奔騰 III CPU,其在發(fā)售不到一個月后便召回了所有的 CPU。
藍(lán)屏及死機(jī)的英特爾 Broadwell MCE Bug
隨著英特爾 Broadwell 的廣泛推廣,不少 Broadwell 處理器用戶發(fā)現(xiàn)在使用時,會經(jīng)常出現(xiàn)藍(lán)屏死機(jī),Linux、Windows 系統(tǒng)報錯是 MCE( Machine Check Exception,機(jī)器異常檢查)。這個問題是有 SpeedStep 節(jié)能技術(shù)導(dǎo)致的,關(guān)閉了 SpeedStep 后,問題就不會出現(xiàn)。
解決方案
當(dāng)然,就算可以關(guān)閉 SpeedStep 來避免 Bug,用戶也不會當(dāng)是沒事發(fā)生過,而且某些設(shè)備例如筆記本、平板電腦關(guān)閉了節(jié)能技術(shù)的話,會發(fā)熱、能耗大增,甚至已經(jīng)影響正常使用了。英特爾通過微碼更新來修復(fù)了這一問題,只要更新 BIOS,Broadwell MCE Bug 就能夠得到修復(fù),因此這也是一個可以通過軟件更新來解決的 CPU Bug。
黑客可控制計算機(jī)的英特爾 ME 漏洞
在 2008 年后,英特爾在 CPU 中內(nèi)置了一個低功耗子系統(tǒng) Management Engine 也就是 ME。ME 可以協(xié)助專業(yè)人員遠(yuǎn)程管理計算機(jī),深受企業(yè)用戶歡迎。不過,這個 ME 系統(tǒng)卻爆出了問題,它原本設(shè)計用于遠(yuǎn)程維護(hù),但由于存在漏洞反倒讓黑客有可能通過 ME 后門進(jìn)而控制計算機(jī)。
解決方案
英特爾很快就公布了相應(yīng)的修復(fù)方法,釋放了相應(yīng)的代碼,用戶可以通過更新主板 BIOS、操作系統(tǒng)和相應(yīng)的軟件、驅(qū)動來修復(fù) ME 相關(guān)的漏洞。通過軟件就能修復(fù)這個 CPU 漏洞,也算是不幸中的大幸吧。
以上是作為全球知名芯片制造商的英特爾近些年 CPU 發(fā)生的一些重大 Bug,然而,不僅僅是英特爾,AMD、高通、蘋果也曾遇到過一些大的處理器漏洞。
折翼的 Phenom TLC Bug
AMD 的第一代 Phenom(羿龍)處理器被賦予了迎擊 Intel 酷睿處理器的重任,首次使用了三級緩存的設(shè)計。然而不幸的是,率先登場的 B2 步進(jìn)的 Phenom 竟然存在 TLB 的 Bug。TLB 是用來連接內(nèi)存和 CPU 緩存的橋梁,在有 Bug 的 Phenom 處理器中,TLB 會導(dǎo)致 CPU 讀取頁表出現(xiàn)錯誤,出現(xiàn)死機(jī)等情況。出了 Bug 后,AMD 就提供了軟件方案來解決問題。
圖片來源:太平洋電腦網(wǎng)
解決方案
AMD 通過系統(tǒng)補(bǔ)丁及 BIOS 的方法避開了這個硬件 Bug,但會造成性能下降 AMD 發(fā)布了一個新 BIOS,也為 Win 系統(tǒng)提供了一個補(bǔ)丁,無論是那種方法,其作用都是屏蔽某段頁表乃至 CPU 緩存。這當(dāng)然可以避免 Bug 的出現(xiàn),不過也會造成性能降低??梢哉f,這個軟件修復(fù)的方案只是權(quán)宜之計,其實(shí)并不完美。此后 AMD 推出了 B3 步進(jìn)的 Phenom 處理器,從硬件上修改,才徹底解決了問題,步進(jìn)改動后的 CPU 還從 9X00 改名為 9X50,可見此次修補(bǔ)之重要。
火爐的高通驍龍 810
2015 年,高通旗下高端 CPU 驍龍 810 發(fā)生發(fā)熱問題。事實(shí)上,驍龍 810 芯片推出的主要原因是為了跟進(jìn)蘋果 A7 處理器的 64 位尋址的競爭,驍龍 810 使用 ARM 公版 64 位A 57/A53 架構(gòu),而自家一直研發(fā)的 Krait 架構(gòu) 64 位尋址在短期內(nèi)尚未實(shí)現(xiàn),于是只能用公版四個高性能核心+四個低性能核心的組合,高通在 Krait 架構(gòu)上積累的經(jīng)驗(yàn)無法套用到 ARM 公版上來,于是導(dǎo)致了 810 慘淡收場的后果。
圖片來源:太平洋電腦網(wǎng)
引發(fā)退貨潮流的 iPhone 6S A9 處理器
2015 年,iPhone 6S A9 處理器上有兩個版本,一個是出自臺積電,而另外一個是三星,前者基于 16nm 制程,而后者則是 14nm 制程,由于工藝上的不同,導(dǎo)致它們性能、續(xù)航上有了不同,由此引發(fā)的“芯片門”備受關(guān)注。
解決方案
后續(xù)蘋果官方迅速表態(tài),不同 iPhone 6S 芯片之間功耗差距極小,僅 2%~3%。但部分用戶并不買賬,要求退貨,在中國,不少港臺地區(qū)用戶換貨成功,大陸用戶似乎并未受到太大影響。
總結(jié)
Bug 不僅僅會出現(xiàn)在軟件方面,在硬件上也會時常發(fā)生。整體而言,硬件上的問題似乎要比軟件漏洞更為嚴(yán)重,而作為程序員, CPU 上的部分 Bug 也完全可用軟件來修補(bǔ)。雖然缺陷會不可避免的存在,但是廠商還是應(yīng)該加強(qiáng)自身管理及測試,避免牽一發(fā)而動全身的兩難局面出現(xiàn)。同時作為普通消費(fèi)者,要時刻關(guān)注軟件更新,將已有的漏洞帶來的威脅降到最低。
-
英特爾
+關(guān)注
關(guān)注
60文章
9861瀏覽量
171293 -
cpu
+關(guān)注
關(guān)注
68文章
10805瀏覽量
210847 -
蘋果
+關(guān)注
關(guān)注
61文章
24336瀏覽量
195569
原文標(biāo)題:盤點(diǎn)英特爾、蘋果、高通、AMD 處理器重大 Bug,硬件的坑軟件能填?
文章出處:【微信號:AItists,微信公眾號:人工智能學(xué)家】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論