在4~5月期間,Intel開始更新處理器的勘誤文件,現在我們終於知道其中內情,Skylake和Kaby Lake處理器的微代碼(microcode)存在BUG。所謂微代碼是處理器的一種更新特性,通過從Intel的網站下載微代碼,加載到處理器核中,對一些BUG進行勘誤。微代碼是包含處理器的微指令(Microinstructions)的數據資料。
原來,上週末,著名Linux發行版Debian發布警告文章,稱該BUG涉及Intel Skylake/Kaby Lake處理器(包括桌上型、HEDT、嵌入式行動平台)以及Xeon V5/V6甚至還有Pentium。症狀是,同步多線程開啟下會造成一些高危的系統行為。包括應用異常、數據遺失、數據處理超過負荷等。
Intel官方的描述是,某些複雜條件下,處理小於64指令(如AH、BH、CH、DH寄存器)的短循環,會造成系統失控。但是該情況出現僅限同步多線程啟用時才有,也就是發生在一個物理線程承載兩個邏輯線程時。發現者Mark Shinwell是在Deibian上使用OCamlL編譯器時發現的。
修復方式:
Kaby Lake —向主機板或OEM廠商索要最新的BIOS/UEFI更新;同時關閉同步多線程
Skylake ——shell命令“grep -E 'model|stepping' /proc/cpuinfo | sort -u”,如果輸出結果有78/94,且步進為3,請更新7月17日的新系統,該核心(20170511)打包了最新microcode;如果輸出結果非上述所顯,請關閉同步多線程,知道BIOS/UEFI更新。
消息來源 |