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