[情報] 奠定 Intel Xeon Phi 技術基礎的「x86 處

作者: hn9480412 (ilinker)   2017-10-06 14:09:17
【x86 興衰史】奠定 Intel Xeon Phi 技術基礎的「x86 處理器顯示卡」:Larrabee
作者 台灣水電工協會- 非在職工友 | 發布日期 2017 年 09 月 30 日 16:01
Intel 終於在今年 8 月處理器業界年度盛事之一的 IEEE HotChips 29,公布了針對深度
學習最佳化的新款 Xeon Phi「Knights Mill」,Intel 鴨子划水多年的 MIC(Many
Integrated Core,整合眾核架構)總算又多了一點曝光度,但你知道 Intel 的超級多核
心產品線,是早在十年前,醞釀於極度瘋狂的「x86 處理器架構顯示卡」嗎?
2006 年底至 2007 年中的顯示卡市場,正處於 GPGPU 隨著 DirectX 10 與統一著色器架
構的實用化,而開始萌芽的關鍵時刻,nVidia GeForce 8 系列成為初代 CUDA 的載具,
AMD Radeon HD 2900 則開雙倍浮點精確度之先河,因此一談到繪圖晶片通用運算這檔事
,完全不缺抬槓的話題。
但當時最歡樂異常的焦點,並非集中在顯示晶片雙雄的新產品,而是聚焦於 Intel,著手
超級多核心多執行緒 x86 處理器架構的「顯示卡」,你可把它當成「Intel 的 GPGPU」
,雖然它從未在市場現身過。
https://img.technews.tw/wp-content/uploads/2017/09/28100633/54245125128.jpg
https://i.imgur.com/o182InQ.jpg
Intel 首度在 2007 年 4 月北京 IDF(Intel Developer Forum)公開 Larrabee 這個研
發代號,並公開嗆聲「Larrabee 出現後,會使顯示核心在兩到三年內消失」。但事實上
,早在 2006 年底某份未刻意保密的研討會簡報,詳細描述了 Larrabee 規格概觀,規格
比較表還不小心一併爆破了從希伯來文的「砂橋」(Gesher)正名而來的 Sandy Bridge
處理器。
像 Intel 這樣的大公司,很難隱藏所有祕密,不提公開的專利,光歷年 IDF 和各類學術
活動的議程簡報,就多次無預警避開該公司法務和行銷的耳目,讓多年後才會開花結果的
機密計畫,提前曝光在世人眼前。
https://img.technews.tw/wp-content/uploads/2017/09/28100537/568624574.jpg
加上該文件內,出現某張爆炸性的顯示卡架構圖,和大剌剌的「Discrete High End GPU
」字樣,國內外無數知名網站的討論區,就開始暴動了,還意外波及乏人問津到連蚊子都
不想騷擾的筆者部落格,甚至還有電腦雜誌的編輯,高潮到寫下「因為一切軟體搞定,這
將是歷史上首款往前相容未來 3D API 的顯示卡架構」。
一圖勝千言,你可清楚看到,這是 10 核心的 x86 處理器,實際上核心數絕不會這麼少

https://img.technews.tw/wp-content/uploads/2017/09/28100612/697885888.jpg
接著你就了解,每個支援四條多執行緒的循序執行(In Order)核心,那顯眼的 SIMD-16
,意謂整顆 10 核心處理器,每個時脈可進行 160 個 32 位元單倍浮點精確度 SIMD 運
算,帳面上優於 nVidia 最高階顯卡 GeForce 8800 GTX 的 128 個。
但你會不會隱約感覺到……有什麼恐怖的祕密藏在這張簡報裡?似乎有什麼不能告人的機
密,被前面的方塊圖擋住了?
https://i.imgur.com/pgDv7Ct.jpg
各位,歡聲雷動吧,感謝原始文件是 PowerPoint 格式,移除擋在前面的動畫圖片,世界
奇觀般的「x86 處理器架構顯示卡」,包括 GDDR 記憶體、外接電源、視訊輸出、音訊輸
入等近代顯示卡的必備特徵,一絲不掛在讀者眼前裸奔了。
https://img.technews.tw/wp-content/uploads/2017/09/28100533/463452452.jpg
接連幾年的故事,就是 Intel 慢慢面對現實,被迫承認如此瘋狂的構想,無力追趕急速
進步的 GPU,而「轉進」高效能運算和人工智慧的過程。
Larrabee 全貌如下:
「相對」於 8 核心而言的超級多核心架構,核心初步規劃 16 至 24 個(直到加碼至
48 核),時脈 1.7Ghz~2.5GHz,標準設計功耗約 150W,單晶片理論效能最高可達 1
Tera Flops,當 32 核、時脈 2GHz,更達 2 Tera Flops,為同時期 8 核心 x86 處理器
「Sandy Bridge」的 5 至 10 倍。
預定 2009 年問世,採用 45nm 或 32nm 製程,晶粒面積不明,但封裝後的晶片面積高達
2450.25(49.5×49.5)平方公厘,果然頗具高階顯示晶片的威勢。
核心複雜度約為 P54C(沒有 MMX 指令集的 Pentium)等級,不具備非循序指令執行能力
(Out-Of-Order Execution,OOOE),支援 4 條同時多執行緒,以掩蓋來自運算與記憶
體存取的延遲,24核 心就是 96 條執行緒,48 核心則 192 執行緒,以此類推。但跟
GPU 相比,仍小巫見大巫。
https://i.imgur.com/n4YskKV.jpg
每個核心擁有 16 組 32 位元運算單元,總計 512 位元寬,可同時執行 16 個單倍精確
度浮點運算(SIMD-16),亦可處理 32 位元整數與 64 位元雙倍精確度浮點。此外,每
個核心內建 32kB 第一階資料與 32kB 指令快取,延遲僅有一時脈週期。
https://i.imgur.com/L5JnfI3.jpg
LNI(Larrabee New Instructions,或稱 LRBni)SIMD 擴充,包含約 100 個新指令,定
義聚集(Gather)/分散(Scatter)指令、32 個 512 位元寬資料暫存器,與 8 個 16
位元遮罩暫存器,使 Larrabee 更接近向量電腦。
https://i.imgur.com/RSeg5bR.jpg
單一處理器核心 4 個執行緒,各自有獨立的資料暫存器,共用 256kB 第二階快取,透過
環狀匯流排(Ring Bus)連接所有第二階快取、記憶體控制器,及材質處理等固定功能單
元。該匯流排理論傳輸頻寬介於 435.2GB/s 至 640GB/s,每時脈週期 256byte。
雙通道記憶體控制器支援 DDR3、FB-DIMM 或 GDDR5,視不同的記憶體種類,單顆
Larrabee 最高記體容量介於 4GB 至 32GB,理論頻寬 40GB 至 128GB。另外,
Larrabee 支援虛擬記憶體共享,與系統處理器之間可共用定址空間,彼此互通有無。
內建 3 組雙埠 CSI(日後改稱 QPI),單向理論傳輸頻寬 17GB/s,延遲 50ns,可建構
多處理器環境。是的,Larrabee 是可以做為執行作業系統的運算平台,並不限於「外掛
」的顯示卡或運算卡。
https://i.imgur.com/iRyNDox.jpg
現在開始插播腦殘問答時間。
Larrabee 是什麼?
Larrabee 不是什麼特殊品種的蜜蜂(不過謠傳 Intel 內部相關團隊的電子郵件簽名檔,
全員都會統一放一隻蜜蜂的圖示),而是 Intel 發神經搞出來的超級多核心/多執行緒
x86 處理器,號稱「單晶片運算能量 1 Tera Flops」,沿用已成骨灰、設計圖捐給美國
政府的 P54C 等級、連 MMX 都沒有的 Pentium 核心,筆者還滿擔心大多數讀者,早就遺
忘初代 Pentium 長得什麼樣子了。
兼具「CPU 的可編程性」與「GPU 的高平行度」,完美的交會點就是 Larrabee,充分彰
顯了 Intel 內 x86 義和團的瘋狂野心。
https://i.imgur.com/aLlaQ7m.jpg
為何 Intel 要開發 Larrabee?
看在 AMD 在 2006 年購併 ATI、擺明要整合處理器和顯示晶片、與未來兩者指令集架構
的份上,輸人不輸陣,Intel 勢必有所回應,只是讓人意想不到 Intel 所謂「重新啟動
獨立顯示晶片計畫」竟是讓眾人眼鏡碎滿一地的誇張設計,從 i740 到 Larrabee,根本
是時空跳躍等級的差距。
在高效能運算市場,nVidia 的 CUDA,是對 Intel 更明顯的威脅,對 Intel,開發
Larrabee 是不得不為。
那 Intel 幹麼吃飽太閒,要用 x86 指令集,而不是 XScale(前 StrongARM)或 IA-64
(Itanium)?
看在既有 x86 龐大軟體資源的份上,在編譯器領域長期投入龐大投資的 Intel,可盡量
多賣出幾套他們的軟體開發工具。事實上,Intel 最熱中談論 Larrabee 的部門,就是急
速膨脹的軟體事業群。
此外,太多顯示晶片技術專利掌握在 nVidia 和 AMD 手上,假若 Intel 不希望被拿著
ATI 專利的 AMD 天天找上法院喝咖啡,這的確是避開專利麻煩的途徑,還很可能是唯一
的手段。
像 Intel 的 GMA-X3000 的 Triangle Setup 竟然還是用統一著色器硬幹出來的,「專利
地雷」的潛在威脅有多大,由此可見一斑,歡迎來到專利恐怖主義的時代。
Larrabee 是史上第一顆「單晶片 1 Tera Flops」的產品?
完完全全不可能,2008 年底 AMD Radeon HD 4800 就先聲奪人了,而且 Larrabee 是起
碼拖到 2009 年才會問市的產品,在這之前,IBM、Sony 也肯定推出理論運算效能到達
1 Tera Flops 的新版 Cell 處理器。2007 年宣布註定落後競爭對手、還嗆可讓競爭者
3 年內消失的高技術風險產品,想想也滿屌的。
Larrabee 最瘋狂的地方是?
幾乎純軟體的可程式化繪圖管線。請見 Intel 自己的呈堂證供,不要嚇壞。
https://i.imgur.com/mUH4l4C.jpg
Intel 的思維不外乎「老子就是市場的領導者」,寧可發揮自己的影響力,逼迫其他人跟
進。更何況,Intel 並不希望 3D 繪圖的基礎架構詮釋權,長期被微軟等軟體廠商把持。
從當初 Intel 蠻幹 IA-64 一路到 Larrabee,思考邏輯一點都沒改變。
nVidia 黃仁勳當時曾批評,未在可程式化與固定硬體功能取得平衡的 Larrabee,在老舊
x86 架構的拖累下,主要繪圖運算都靠可程式化實作,表現勢必糟糕,可惜最終我們也
無從得知,到底會慘烈到什麼程度。
純軟體繪圖管線有什麼好處?
可充分發揮 x86 指令集號稱易於開發的「潛力」,也可對運算資源做出最大限度的利用
。Intel 曾列舉了 3 款知名遊戲,做為其印證其理論基礎所言不虛的令箭。
https://i.imgur.com/0kVSqLD.jpg
x86 指令集究竟適不適合顯示系統?
為何 x86 處理器必須一路疊床架屋,延續指令集相容性,處理器微架構一用就好幾年,
而顯示晶片卻相反,微軟 DirectX 的 Shader Model 在短短幾年就出好幾版,顯示晶片
架構卻動輒大興土木?你有聽說過一台個人電腦,開機前要安裝「處理器驅動程式」嗎?
當然沒有,但顯示晶片卻可透過驅動程式,與 I/O 裝置的間接性,維持對過往老舊應用
程式介面的相容性。
既然如此,我們也可想見,以 nVidia 與 AMD 為首,內建巨大可程式化著色運算單元的
高效能顯示晶片,其底層指令集架構與相對應的實作加速機制,不像 x86 之類的泛用指
令集,有著巨大的歷史包袱,可隨時針對繪圖需求量身訂做。
那麼,Intel 選擇 x86 指令集第一個問題點就浮現出來了,x86 處理器與繪圖晶片雙雄
的 GPU 相比,兩邊底層指令集架構的「血統純正度」,根本天差地遠,而我們也有充分
的理由相信,後者絕對遠比前者更適合繪圖系統的需要。
指令品質,以卵擊石?
也許你會質疑,Intel 只要新增繪圖專用指令,不就得了?事實上,Larrabee 並非
Intel 首度嘗試將泛用處理器導入繪圖應用,早在 1988 年號稱「Cray on a chip」的
i860,就為此特別增加繪圖相關指令與 3D 繪圖功能單元。
但 x86 畢竟就是 x86,其先天不良加上後天失調的原罪,也限制了日後擴充的彈性。以
暫存器數目來說好了,在 AVX 和 LRBni 之前,受限於指令編碼欄位,導致歷代 x86 指
令集擴充一次頂多增加 8 個暫存器,但微軟 Shader Model 4.0 光是「暫存用的」暫存
器就高達「4,096」個。
x86 的雙運算元指令格式(像 a+b=b)則是另一個問題點,除了大幅降低暫存器的利用效
率(因會摧毀其中一個暫存器的資料,如需重複利用,就必須把資料搬移到其他的暫存器
),也難以實作圖學常用的乘積和指令(Multiply-Add,如 a×b+c=d),必須使用記憶
體當其中一個來源運算元(Source Operand),這也是到了 AVX 之後,才逐漸克服的瓶
頸,但仍遠遠不夠。
種種不利因素累積下來,Intel 想拿殘破不堪的 SIMD 指令集擴充,去對抗重武裝的 GPU
,無異以卵擊石。細心的讀者也可以注意到,Larrabee 第一階快取記憶體存取延遲只有
1 cycle,擺明用來彌補暫存器不足。但能否迎刃而解,筆者二話不說,打上大大的問號

其實很多重要觀念,早已陳述於先前《一窩瘋「人工智慧晶片」前,你需要知道的幾件關
於 GPGPU 的事》,請有興趣的讀者有空多看幾次。
純軟體的 3D 繪圖管線是否可行?
行文至此,讀者心中會產生疑惑:我哪管 x86 指令集適不適合,只要 Intel 真的有本事
硬幹出一顆真的擁有 1 Tera Flops 效能的 x86 處理器,光憑藉著巨大的「賽豬公」數
字,就充滿了無限的想像空間和璀璨光明的未來。
這讓筆者想起,十幾年前,某份描述 PS3 心臟 Cell 處理器的專利被曝光後,「單晶片
浮點 1 Tera Flops」成為看似伸手可及的願景,就有不少人在猜測,PS3 會不會就此放
棄獨立顯示晶片,整個 3D 繪圖管線統統透過軟體手段實作。
https://i.imgur.com/iZByRmk.jpg
事後證明,還好 Sony 沒有發瘋,在 PS3 內,乖乖的擺了一顆 nVidia 從 G70 衍生而來
的 RSX 顯示晶片,而 PS3 搭載的 Cell 處理器,也僅為「完全體」的四分之一規模。
https://i.imgur.com/AKXLaLr.jpg
「純軟體 3D 繪圖管線可不可行」是非常複雜且需長篇大論解釋的題目,唯一可以確定的
是,就算要純軟體實作,x86 指令集的適用性,也肯定遠遠不及 Cell 的設計(如果不嫌
棄 SPE 記憶體搬搬樂很麻煩)。Intel 公布的 Larrabee 架構圖標明了「Fixed
Function」,Intel 看來也沒有喪心病狂到把全部的希望,都寄託在一堆簡單 x86 核心
身上。
用 x86 處理器硬幹出顯示晶片是一回事,Intel 總得提供驅動程式給用戶下載吧?很不
幸的,那時候的 Intel 繪圖驅動程式品質滿糟糕,自己也承認這方面不如繪圖晶片雙雄
,連「正統」GPU 驅動程式都寫不好,變態至極的 Larrabee 難道會比較簡單?還可支援
「未來」的 3D API?無異緣木求魚。
Larrabee 真正的殺手級應用是什麼?
回歸原點,Larrabee 真正的優勢,在於結合 x86 指令集的巨大軟體資源,與 Intel 的
高效率編譯器,進軍高效能運算應用。
姑且不論 Larrabee 能否實現單晶片 1 Tera Flops 的效能表現,Intel 的確頗有機會藉
Larrabee,大舉入侵原本由特化 RISC 處理器獨領風騷的超級電腦市場,如 IBM 的
BlueGene。
事後證明,Intel 誤打誤撞走上一條正確的道路,只不過到頭來,不得不脫下褲子跟
nVidia 拚了。
國王的晶片
Intel 在 2008 年積極宣傳 Larrabee,不僅與顯示卡製造商洽談產品案,同時也設法說
服 Sony、任天堂和微軟,使用 Larrabee 打造新一代遊戲機。江湖傳言,時任 SCEI 代
表取締役社長、現任 Sony 執行長的平井一夫,曾受邀至 Intel 總部整整被洗腦了一週
,差點決定採用 Larrabee 為 PS4 的心臟。
但時程一再延宕,才是 Larrabee 最大的罩門,原先預定 2008 年提供樣品、2009 年上
市,卻整整延後了一年,偏偏 2009 到 2010 年這段期間,又是 nVidia、AMD 開始
GPGPU 硬體規格熟成期「頂上決戰」的起跑點,Intel 只能默默站在一旁看戲。
結果 2009 年 11 月 4 日,Intel 正式宣布 Larrabee 不會有消費性繪圖產品問世,變
相判了「軟體實現一切昔日硬體實作功能的夢幻個人電腦 x86 處理器架構顯示卡」不可
重新上訴的唯一死刑。
2010 年 5 月 25 日,Intel 透過官方部落格,昭告天下,Larrabee 也不會做為圖形處
理器,而是轉進高效能運算市場,與 nVidia 的 Tesla 等專業運算卡正面較量。
同場加映:2008 年,已經和 AMD 長達 3 年合作關係的夢工廠(DreamWorks),轉向與
Intel 合作,改用 Nehalem 微架構處理器,搭配 Larrabee 專業繪圖卡,做為新世代的
動畫繪製硬體平台,還由公司高層出面解釋琵琶別抱的緣由。讓人滿好奇 Larrabee 轉職
為「國王的晶片」後,這檔慘劇最後如何收尾。
騎士行進曲:再次放棄獨立顯示卡市場,轉戰高效能運算最佳化的整合眾核架構
後來就是我們熟知的 MIC 發展史,一連串悠揚的「騎士行進曲」,然後 Intel 其餘的研
究案,像 48 個 x86 核心「單晶片雲端電腦」和 80 個 96 位元寬度 VLIW 核心組成的
1 Tera Flops 單晶片,在此就先束之高閣了:
2010 年,連同 Larrabee 圖形處理電路都一併繼承,32 核、45nm 製程的「Knights
Ferry」為內部驗證概念的研發案。
2012 年,第一世代,50 核、22nm 製程、只能當外接運算卡的「Knights Corner」則是
Xeon Phi x100 品牌的首發,也是 MIC 首度接受市場的考驗。
2016 年,第二世代,72 個嶄新 Silvermont 核心、14nm 製程、結合 AVX-512 指令集與
高效能嵌入式記憶體,並不再保留 Larrabee「繪圖遺產」的 Xeon Phi x200 系列「
Knights Landing」,完備為可兼具獨立運算平台與外接運算卡雙重用途的產品,
Skylake-SP 引進的晶片內網狀網路(Mesh Network),也是這時的成果。
2017 年,以 Knights Landing 為基礎,針對人工智慧深度學習最佳化的衍生品「
Knights Mill」,在 IEEE HotChips 29 正式發表。
10nm 製程的第三世代「Knights Hill」,Intel 的超級多核騎士越爬越高,希望不會不
小心摔下來。
https://technews.tw/2017/09/30/intel-xeon-phi-x86-graphics-card-larrabee/
要說這是不是Intel的黑歷史,說是也不對。說不是也不對
畢竟在AMD的GCN和NV的廢米多少也有參考Larrabee的設計
但對Intel來說可能是個不敢再去想的惡夢吧
Atom硬幹ARM也慘輸、Larrabee硬幹AMD和NV也慘輸
作者: c52chungyuny (PiPiDa)   2016-08-10 21:57:00
今天是電蝦黑暗的一天
作者: cary4A240022 (關公面前耍大屌)   2017-10-06 17:45:00
Phi不是一直就有的東西嗎之前玩過一下子倒是市場買不到罷了https://i.imgur.com/dNvyh6Z.jpg

Links booklink

Contact Us: admin [ a t ] ucptt.com