據(jù)悉,微軟已經(jīng)將Windows 10與Linux雙系統(tǒng)移植到了基于EDGE體系結構的E2芯片上。微軟自2010年開始,便致力于進行EDGE架構處理器的研發(fā)。
除了雙系統(tǒng),這顆芯片還移植了Busybox與FreeRTOS,標準C/C++與.NET Core運行時庫,Windows內(nèi)核調(diào)試器,Visual C++ 2017命令行工具以及.NET即時編譯器RyuJIT。
微軟還將廣泛使用的LLVM C/C++編譯器、調(diào)試器以及相關的C/C++運行時庫,移植到了E2上。微軟研發(fā)團隊希望證明一件事情,即“改變”這顆芯片不需要重新為它編寫軟件,而是只通過重新編譯程序即可。
據(jù)悉,E2處理器的原型是具有可編程能力的FPGA,這是芯片開發(fā)期間通常采用的形式。微軟團隊開發(fā)了一個能夠啟動Windows和Linux系統(tǒng),并可以運行應用程序的周期精確模擬器。
顯然,微軟E2的設計思想與Arm、AMD等公司大相徑庭,它采用EDGE(Explicit Data Graph Execution)體系結構。據(jù)悉,高通研發(fā)人員正在評估兩款基于EDGE架構的芯片設計:較小的R0內(nèi)核,以及運行頻率2GHz、10nm工藝的R1。目前該項目仍在進行中。
如今市面上典型主流處理器的運行規(guī)則更像是一個“垃圾回收機”:垃圾通過一條僅有的傳送帶依次進入垃圾回收機,隨后機器根據(jù)垃圾的類別進行分類,再送到不同的傳送帶進行獨立傳輸,并最終由機器的不同部分進行處理。以ARM Cortex-A76為例,其指令被分到八個傳送帶送進內(nèi)核進行傳輸:四路用于整數(shù)運算,兩路用于浮點運算,兩路用于訪問存儲器中的數(shù)據(jù)。即使最前端接收到的是無序的執(zhí)行指令,處理器也將有條不紊地進行指令的處理。
對于研發(fā)人員而言,他們想做的就是:避免資源浪費。舉例而言,盡管一個整數(shù)單元不進行任何運算,然而其他路指令的執(zhí)行卻要進行排隊。如果一條通道的指令執(zhí)行需要依賴于另外一條通道的指令執(zhí)行輸出,就需停下來等待,這樣時間與資源就被浪費掉。處理器要每秒運行10億次及以上,就為了保證工作的完成。
也許E2所采用的EDGE架構能有效解決以上問題。EDGE是一種分布式結構,指令映射到多個分片上同時執(zhí)行。在不同的代碼分片中,代碼使用其專用寄存器,而非全局訪問的執(zhí)行模式。編譯器還會對代碼進行注釋以描述數(shù)據(jù)在程序中的流向,從而允許CPU相應地調(diào)度指令塊。
而且,EDGE可以讓核心處理器通過分片技術同時處理多個指令。這與Cortex-A76的運行方式是不同的。EDGE的目標就是比競爭對手的架構可以更快地運行軟件。就像前面提到的高通R1設計一樣。 R1是32位指令寬的亂序處理器藍圖,R0是8位寬。
E2芯片的研發(fā)已進行多年,透過目前的消息來“窺見”E2的研發(fā)進展。
去年10月份,Linux系統(tǒng)在E2中啟動,如今Windows 10已經(jīng)被移植到該架構中,同時微軟正在與芯片巨頭高通開展合作。不過微軟官網(wǎng)上周刪除了E2項目的相關頁面及最新信息。
在今年美國加州舉辦的計算機體系結構國際會議上,微軟研究員Doug Burger、Aaron Smith、Greg Wright與高通處理器研究部門的高級工程主管,都發(fā)表了關于EDGE處理器的演講,并演示了Windows在E2模擬器上的運行情況。
盡管E2的指令部署已經(jīng)在幾年前完成,但是現(xiàn)在大部分信息仍作為機密不對外公開。目前來看,外界可得知的消息就是每個代碼塊都會從全局寄存器讀取數(shù)據(jù),并在臨時專用寄存器進行數(shù)據(jù)的處理,最終將結果寫回全局寄存器。
微軟在設計芯片方面已經(jīng)有了一定的案例,例如HoloLens虛擬現(xiàn)實護目鏡中的數(shù)學加速器。 據(jù)推測,這種E2架構設計可能最適合在FPGA中實現(xiàn)“軟”處理器。
-
處理器
+關注
關注
68文章
19313瀏覽量
230057 -
芯片
+關注
關注
456文章
50889瀏覽量
424246 -
微軟
+關注
關注
4文章
6600瀏覽量
104126
發(fā)布評論請先 登錄
相關推薦
評論