與高通聯手打造全新處理器架構,微軟計算晶片界的至尊魔戒終浮現

文章推薦指數: 80 %
投票人數:10人

「至尊魔戒統領眾戒」(One ring to rule them all)是經典魔幻電影《指環王》里最出名的一句台詞。

蟄伏的「至尊魔戒」橫空出世,便引來中土世界的一場腥風血雨。

其實電影中的故事放在當前架構頻出、方案各異的計算晶片領域也不失為一個貼切的比喻。

但是否最終會出現一種統領性的架構來解決所有的計算問題?不論是運行作業系統,還是進行AI運算。

其實微軟早有布局......

在最近 ISCA 2018 大會(2018 International Symposium on Computer Architecture)上,微軟破天荒披露了秘密與高通合作開發新架構處理器的計劃,而且已經長達 8 年之久,根據微軟研發人員表示,其基於全新 EDGE 架構的 E2 架構已經達到最終階段,已經可以運行包含 Linux 以及 Windows 10 等主要作業系統,同時又具備不遜於 GPU 的多工計算能力。

微軟的研發人員也表示,E2 不只要支持主流作業系統,Busybox 的和 FreeRTOS 等嵌入式系統也在支持之列。

除了作業系統的支持以外,開發人員也移植了一系列的開發和建構處理器應用程式的工具包,內容包含了標準的 C/C++、.NET Core 運行庫,Windows 內核調試器、Visual C++ 2017 的命令行工具,以及.NET 的實時編譯器 RyuJIT 等。

另外,廣泛被使用的 LLVM C/C++編譯程序和調試器,及相關的運行庫也在移植之列。

該研發團隊的終極目標,是要證明即便是在這款全新的處理器架構上,開發者也不用重寫他們的軟體,而只需要重新編譯過就可順利運行。

E2 架構與目前基於 X86 的英特爾、AMD 處理器,以及 ARM 架構處理器是完全不同的架構,它也不是目前市面上可見的開源處理器的變體,而是完全由微軟主導開發出來的全新架構。

該架構是基於被稱為顯式數據圖執行 (Explicit Data Graph Execution) 的指令集體系結構,這個架構也被稱為 EDGE 架構。

由美國國防部提出的概念性架構,主打超強多任務能力

該架構是一種尚未被實現過的全新指令集,它可將許多單獨的指令組合成一個更大的群組,稱為 hyperblock,其中包含數百或數千個單獨的指令。

這些 hyperblock 然後由 CPU 動態調度。

EDGE 因此結合了在編譯時查找獨立數據的 VLIW 概念的優點,以及在數據可用時執行指令的超標量 RISC 概念。

現代 CPU 設計的並行性通常穩定在大約 8 個內部單元和 1 到 8 個」內核」,EDGE 原始設計可支持達數百個內部單元,並提供比現有處理器設計高數百倍的處理速度。

此架構最早是由根據美國國防部高級研究計劃局 (DARPA) 的 Polymorphous Computing Architectures 提出,並由德克薩斯大學奧斯汀分校主導 EDGE 概念的發展,其最初目標是到 2012 年實現 1 TFLOPS 性能的單晶片 CPU 設計,不過直到微軟公開 E2 處理器計劃為止,從未被真正實現過。

圖丨DARPA 的 Polymorphous Computing Architectures 概念圖

根據開發人員的描述,以 Xilinx FPGA 為基礎設計的原型 E2 處理器主頻為 50MHz,開發團隊還設計了一個可以同時啟動並運行 Windows 和 Linux 系統應用程式的周期精確仿真器 (cycle-accurate simulator)。

而參與開發的高通研究人員正在評估兩種基於 EDGE 指令集的晶片設計,一種是小型的內核,代號為 R0,另一個是運行頻率高達 2GHz,基於 10nm 工藝製造的 R1 內核,都是基於非循序處理 (Out of Order) 的架構。

DT 君認為,前者可能是要針對 IoT 或比較單純的網絡通信應用,後者則是要負責主流系統運行,甚至是流行的 AI 模型計算,包含訓練與推理等工作。

由於 EDGE 架構非常擅長多任務運行,同時又能運行作業系統與一般通用計算,若以 EDGE 設計之初的目標,恐怕連英偉達的 GPU 架構也會受到嚴苛的挑戰。

EDGE 架構讓目前的主流處理器相形見拙

傳統處理器的運作模式就像個垃圾回收機,垃圾循序進入回收機、消化後,裡面有個機器人可以把消化後的廢物分組,然後再各自送到獨立的輸送帶上,再由機器的不同部分來進行最終處理。

不同的流水線處理不同的工作。

目前,包括英特爾、AMD 以及 Arm 在內的主流處理器都是基於這樣的處理概念,這些處理器其實非常不擅長多任務處理,也因此,在今日的 AI 時代,傳統處理器只能當配角,但 EDGE 架構改變了這個狀況。

該核心內擁有許多小執行單元來執行這些區塊,最多可達數百個計算單元,而流水線數量更可超過32 條。

作為比較,Arm 最近才推出的 Cortex-A76 同時只能有 8 條流水線運行,其中 4 個用於整數數學計算,2 個用於浮點計算,2 個用在訪問存儲器中的數據。

因此 EDGE 的理論執行效率可以達到遠高於類似 Arm 之類的傳統 RISC 架構。

傳統架構上,核心的前端會試圖在流水線上安排指令,即便是採用較先進的非循序處理架構,指令集還是必須沿著流水線處理事先被安排好的工作內容,這種亂中有序,就導致了效率的低落。

就概念上,EDGE 要避免的就是流水線上的指令有排隊等待被執行的狀況,排隊的時間等於就是被浪費掉。

如果流水線上的指令集都要等待前面的指令集被完成之後才能接續執行,就會有很多處理時間被浪費掉。

EDGE 架構可以把程序打散成由簡單指令組成的不同區塊,並且在代碼各自的寄存器中執行,而不會進入通用寄存器之中,通過這種切碎程序的執行方式,來達成多任務效率的提升,並同時維持相關數據的不可分割以及安全性需求。

編譯程序還會對代碼進行注釋以描述數據在程序中的流向,從而允許 CPU 相應地調度指令塊。

而最重要的是,在核心處理這些模塊的許多小型執行單元中,可以一次大量執行許多在流水線上的指令,指令集需要被排隊執行的等待時間被降到最低。

E2 基本上是把 RISC 的概念做到極致化的架構,與目前市場上所有的處理架構完全不同,微軟之所以開發這樣的架構其實隱含極為龐大的野心,若利用指令集與架構的改變能帶來革命性的效能演進,那麼在量子計算普及之前的半導體計算領域,就有機會以單一架構來一統目前的傳統通用與 AI 計算加速架構。

未來微軟若在自己的軟硬體生態中引入這樣的計算架構,不論要採用開源或者是自行推出處理晶片,都將對包含英特爾、AMD、Arm,甚至英偉達和 FPGA 廠商造成極大的威脅。

最高機密的研發過程

大約從 2010 年開始,微軟就一直在研發實驗室秘密研發 EDGE 處理器。

不過,這項技術是在21 世紀初美國德克薩斯大學奧斯汀分校作為 TRIPS(Tera-Op Reliable Intelligently Adaptive Processing System)——一種可靠、智能、自適應的 Tera-Op 處理系統開始為世人所知。

Tera-Op 指的是生成一個TFLOPS 處理器,它可以實現每秒萬億次浮點運算。

在當時,這是一個很驚人的速度,當然,今天的 GPU 和專業的硬體加速器可以運行得更快些,但它們並不能運行作業系統。

目前只有計算機的頂級通用 CPU 才有機會接近或超越 TFLOPS 屏障。

研究工作進行十年並結束後,TRIPS 項目成功地生產並演示了一種雄心勃勃的原型晶片。

微軟的研發實驗室引進了來自 TRIPS 的知識、經驗和架構理念,並融入到現在的 E2 項目中,計劃利用其新穎設計超越目前英特爾和 Arm 的晶片。

EDGE 指令如何實作晶片及目標應用都還相當神秘

E2 已經持續開發了好幾年,但本月發生的三件至關重要的事情。

首先,該團隊透露,Windows 10 已經被移植到該架構中,並為應用程式開發人員提供了大量支持材料,使他們能夠為該平台構建應用程式。

2017 年 10 月,研究人員說他們能夠得到 Linux 的權限。

其次,有消息稱,美國晶片設計巨頭高通 (Qualcomm) 正與微軟 (Microsoft) 合作。

第三,微軟的網站上沒有很多關於 E2 項目的信息。

上周,微軟詭異地刪除了這個項目的相關網頁,將 URL 指向一個不相關的項目。

今年計算機架構國際研討會在本月於加州舉行,會上微軟研究人員 Doug Burger 和 Aaron Smith 以及高通處理器研究部門工程高級主管 Greg Wright 走上舞台,討論他們的前沿工作,並演示了在 E2 模擬器上運行的 Windows 作業系統。

圖|運行在 EDGE 試作晶片上的 Windows 10 作業系統

Burger 是 TRIPS 項目的共同負責人,他曾在奧斯汀德克薩斯大學指導 Smith 博士研究 CPU 軟體設計。

現在他倆都在微軟研究院工作。

Smith 在 LinkedIn 主頁上指出,他正作為一名主要的研究經理,以及他在 E2 項目上的角色:」我開始並領導微軟研究院的 E2 項目,該項目正在研究下一代 EDGE 架構。

我把這個項目從一個人團隊發展到有幾十名工程師,他們來自不同的部門、公司和國家。

外界知道的是,E2 的指令集是幾年前完成的,現在大部分是保密的。

但是,我們知道,每個代碼塊都是從全局寄存器到臨時專用寄存器的數據讀入開始,然後處理這些數據,最後將結果寫回全局寄存器。

圖|編譯成 EDGE 指令的 C 語言代碼示例

微軟在設計晶片方面有自己的優勢。

例如,HoloLens 虛擬現實眼鏡上的數學加速器。

微軟還進行了大量的私人研究,有些項目已經進入了商業產品,比如在 Linux 系統 SQL Server 上的 Drawbridge;而有些則永遠停留在實驗階段。

但微軟和高通的發言人均拒絕對此架構置評。

可能成為除量子計算外半導體產業最引人注目的架構革新

E2 公開後,微軟的一位發言人回復了一些額外細節。

她說:」E2 目前是一個研究項目,目前還沒有生產計劃。

「E2 是一個研究項目,我們做了很多工程來了解這種類型的架構是否能運行真正的堆棧,我們結束了與高通的合作關係,因為研究問題已經得到解答。

至於刪除的網頁,她補充說:」鑒於大部分研究工作已經結束,我們決定將網頁的內容降至最低,以減少該研究對現有合作夥伴有衝突的外界猜想。

「我們希望能夠將工作中所學到的知識融入到正在進行的研究中。

圖丨被微軟移除的 E2 項目頁面

目前此架構已經步入開發的最終階段,可運行主流作業系統,又有不遜於 GPU 與 AI 加速晶片的性能表現是其最大特色,在單一計算架構中能兼顧通用性與多工性能表現,是目前所有計算架構單難以達到的目標。

即便是量子計算,目前也多半是用來進行特殊計算的加速,而無法運行作業系統或其他通用計算工作。

微軟在研發過程中與高通的合作也相當值得玩味,這代表了 2 個可能性:

高通是否可能使用該架構來進軍終端以及伺服器等雲端計算市場,如果是,那麼該架構對外授權甚至開源的機會就很大;但如果微軟希望打造封閉系統,那麼所需要的 EDGE 架構晶片將可能由高通來設計提供,畢竟終端脫離不了無線網絡技術,未來 5G 網絡的支持會是終端計算架構的主要發展方向,通過與高通的合作來取得第一手無線技術也是可能的選項,而高通也可能藉此架構成為獨家供貨商。

當然,目前英特爾也在推動 CPU 與FPGA 的異構結合,理論上也可以同時運行作業系統與 AI 加速計算,但此架構屬於異構設計,不同計算架構之間的溝通仍需要進行轉換,在某些混合應用上,可能性能就不會那麼突出。

但不論未來如何發展,微軟在作業系統與雲端服務等應用生態的布局與影響力非常重大,如果真的推出完全針對自己作業系統優化的計算架構,且在單一架構上完成過去必須異構結合才有辦法處理的工作,那麼這件事將對整個半導體產業以及軟體平台生態的意義將不亞於當初 CUDA 以及量子計算產品推出的影響。


請為這篇文章評分?


相關文章 

RISC-V進軍人工智慧和機器學習領域?

Esperanto Technologies正在尋求在人工智慧(AI)和機器學習(ML)應用中使用RISC-V技術,這項工作已經在進行中了。其中,亟待解決的一項工作是需要為處理這些類型的網絡量身...

ARM——移動處理器背後的皇帝

提到晶片商,大家首先會想起誰?英特爾、AMD、蘋果、三星、高通、聯發科、麒麟......實際上,除了英特爾和AMD等少數混「X86圈子」的晶片廠外,其餘廠商都是要看ARM臉色吃飯的。「ARM」的...