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