每日最新頭條.有趣資訊

微軟真良心 所有電腦CPU可獲免費性能更新

2018年初曝光的Meltdown與Spectre漏洞已經發展出6個變種,幾乎所有的CPU為了修補這些漏洞,不得不承受性能降低的影響。除了等待未來從硬體基礎上完全免疫的新CPU之外,微軟還給大家帶來一個免費福利,大家的電腦性能有望回血。

上圖中右側的小幽靈就是Spectre漏洞的標誌,它手中的小樹枝代表著該漏洞攻擊的目標——CPU的分支預測機制。

現代CPU為了提升性能,會使用分支預測來提高程式執行效率,但分支預測也帶來了側信道攻擊的可能。包括英特爾、AMD和很多ARM架構的處理器都面臨同樣的Spectre漏洞。為了防禦針對漏洞的攻擊,補丁程式不得不讓CPU每次進入內核模式時清空部分CPU緩存區域,從而導致性能下滑。

涉及大量用戶態與內核態切換的程式受到的性能影響最大。作為漏洞的發現者,谷歌提出了名為RETPOLINE的編程技巧,可將Spectre漏洞補丁帶來的性能影響降至最低。下圖中瞎眼的幽靈,即代表可阻止惡意程式利用漏洞偷窺數據的補丁機制。

這一方法早已被谷歌應用在自家數據中心當中,微軟跟進之後的成果就是在最新Windows 10 19H1預覽版中開啟了RETPOLINE,號稱可以將漏洞補丁帶來的性能影響降低到“背景噪聲”級別的可忽略水準。新系統的效果真的有那麽好嗎?存儲極客還是利用固態硬碟性能測試來驗證這一點。下圖是存儲極客用來測試的固態硬碟——東芝TR200。

固態硬碟隨機讀寫指令的每一步都涉及到CPU在用戶態和內核態的切換,因而是最能體現漏洞補丁對CPU性能影響的方式。存儲極客選擇東芝TR200作為測試對象,一方面是因為它作為原廠固態硬碟的性能表現穩定,另一方面它的東芝TC58NC1010GSB主控還具備獨特的數據壓縮特性,在日常使用中能夠提升實用性能,在這裡則能夠最大化體現CPU性能變化。

我們日常的固態硬碟測試,其實不僅僅是對硬碟性能的檢驗,軟體發出的隨機讀寫指令同時也是對CPU效能的認證。如果CPU發出指令的效率不夠高,體現在SSD測試分數中就是較低的隨機讀寫帶寬或IOPS數值。

使用All 0 Fill數據模型進行測試,通過CrystalDiskMark成績可以非常清楚的看到RETPOLINE對性能的提升和改善效果,4K隨機讀寫帶寬提升意味著CPU進出內核態發送IO指令的效率提升了,Spectre漏洞補丁對性能的損害幅度縮小。

不過如果跟完全關閉Spectre漏洞補丁的性能相比,RETPOLINE算法也並沒有將影響降低至可忽略“背景噪聲“的水準。下圖是禁用全部CPU漏洞補丁後的東芝TR200 240G固態硬碟測速:單線程4K隨機讀取性能比打補丁後高18.3%。

不過不管怎麽說,這已經是一個不錯的進步,重要的是微軟免費送出的CPU提速福利,在極端條件下這個最新的測試版系統相比現在大家正在使用的正式版1809系統快出20%以上。不出意外的話大家在明年4月份發布的下一個春季正式版更新當中就能體會到。

要徹底消除CPU漏洞補丁帶來的不利性能影響,還需要寄望於英特爾和AMD能修改硬體底層涉及,從根本上消除這些漏洞。目前剛剛上市的第九代酷睿僅僅能免疫2個Meltdown變種,其他4個變種依然需要靠影響性能的韌體或軟體方式加固防禦。

獲得更多的PTT最新消息
按讚加入粉絲團