高通微軟又有新合作?微軟獨創EDGE架構E2處理器腳步近了
來自專欄半導體投資聯盟
摘要:微軟進行EDGE架構處理器E2研發已經很多年,但目前關於E2的消息卻很少。這是一顆怎樣的晶元,為何如此神秘?
集微網消息(編譯/小北)據悉,微軟已經將Windows 10與Linux雙系統移植到了基於EDGE體系結構的E2晶元上。微軟自2010年開始,便致力於進行EDGE架構處理器的研發。
除了雙系統,這顆晶元還移植了Busybox與FreeRTOS,標準C/C++與.NET Core運行時庫,Windows內核調試器,Visual C++ 2017命令行工具以及.NET即時編譯器RyuJIT。
微軟還將廣泛使用的LLVM C/C++編譯器、調試器以及相關的C/C++運行時庫,移植到了E2上。微軟研發團隊希望證明一件事情,即「改變」這顆晶元不需要重新為它編寫軟體,而是只通過重新編譯程序即可。
據悉,E2處理器的原型是具有可編程能力的FPGA,這是晶元開發期間通常採用的形式。微軟團隊開發了一個能夠啟動Windows和Linux系統,並可以運行應用程序的周期精確模擬器。
顯然,微軟E2的設計思想與Arm、AMD等公司大相徑庭,它採用EDGE(Explicit Data Graph Execution)體系結構。據悉,高通研發人員正在評估兩款基於EDGE架構的晶元設計:較小的R0內核,以及運行頻率2GHz、10nm工藝的R1。目前該項目仍在進行中。
如今市面上典型主流處理器的運行規則更像是一個「垃圾回收機」:垃圾通過一條僅有的傳送帶依次進入垃圾回收機,隨後機器根據垃圾的類別進行分類,再送到不同的傳送帶進行獨立傳輸,並最終由機器的不同部分進行處理。以ARM Cortex-A76為例,其指令被分到八個傳送帶送進內核進行傳輸:四路用於整數運算,兩路用於浮點運算,兩路用於訪問存儲器中的數據。即使最前端接收到的是無序的執行指令,處理器也將有條不紊地進行指令的處理。
對於研發人員而言,他們想做的就是:避免資源浪費。舉例而言,儘管一個整數單元不進行任何運算,然而其他路指令的執行卻要進行排隊。如果一條通道的指令執行需要依賴於另外一條通道的指令執行輸出,就需停下來等待,這樣時間與資源就被浪費掉。處理器要每秒運行10億次及以上,就為了保證工作的完成。
也許E2所採用的EDGE架構能有效解決以上問題。EDGE是一種分散式結構,指令映射到多個分片上同時執行。在不同的代碼分片中,代碼使用其專用寄存器,而非全局訪問的執行模式。編譯器還會對代碼進行注釋以描述數據在程序中的流向,從而允許CPU相應地調度指令塊。
而且,EDGE可以讓核心處理器通過分片技術同時處理多個指令。這與Cortex-A76的運行方式是不同的。EDGE的目標就是比競爭對手的架構可以更快地運行軟體。就像前面提到的高通R1設計一樣。 R1是32位指令寬的亂序處理器藍圖,R0是8位寬。
E2晶元的研發已進行多年,透過目前的消息來「窺見」E2的研發進展。
去年10月份,Linux系統在E2中啟動,如今Windows 10已經被移植到該架構中,同時微軟正在與晶元巨頭高通開展合作。不過微軟官網上周刪除了E2項目的相關頁面及最新信息。
在今年美國加州舉辦的計算機體系結構國際會議上,微軟研究員Doug Burger、Aaron Smith、Greg Wright與高通處理器研究部門的高級工程主管,都發表了關於EDGE處理器的演講,並演示了Windows在E2模擬器上的運行情況。
儘管E2的指令部署已經在幾年前完成,但是現在大部分信息仍作為機密不對外公開。目前來看,外界可得知的消息就是每個代碼塊都會從全局寄存器讀取數據,並在臨時專用寄存器進行數據的處理,最終將結果寫回全局寄存器。
摘要:微軟進行EDGE架構處理器E2研發已經很多年,但目前關於E2的消息卻很少。這是一顆怎樣的晶元,為何如此神秘?
集微網消息(編譯/小北)據悉,微軟已經將Windows 10與Linux雙系統移植到了基於EDGE體系結構的E2晶元上。微軟自2010年開始,便致力於進行EDGE架構處理器的研發。
除了雙系統,這顆晶元還移植了Busybox與FreeRTOS,標準C/C++與.NET Core運行時庫,Windows內核調試器,Visual C++ 2017命令行工具以及.NET即時編譯器RyuJIT。
微軟還將廣泛使用的LLVM C/C++編譯器、調試器以及相關的C/C++運行時庫,移植到了E2上。微軟研發團隊希望證明一件事情,即「改變」這顆晶元不需要重新為它編寫軟體,而是只通過重新編譯程序即可。
據悉,E2處理器的原型是具有可編程能力的FPGA,這是晶元開發期間通常採用的形式。微軟團隊開發了一個能夠啟動Windows和Linux系統,並可以運行應用程序的周期精確模擬器。
顯然,微軟E2的設計思想與Arm、AMD等公司大相徑庭,它採用EDGE(Explicit Data Graph Execution)體系結構。據悉,高通研發人員正在評估兩款基於EDGE架構的晶元設計:較小的R0內核,以及運行頻率2GHz、10nm工藝的R1。目前該項目仍在進行中。
如今市面上典型主流處理器的運行規則更像是一個「垃圾回收機」:垃圾通過一條僅有的傳送帶依次進入垃圾回收機,隨後機器根據垃圾的類別進行分類,再送到不同的傳送帶進行獨立傳輸,並最終由機器的不同部分進行處理。以ARM Cortex-A76為例,其指令被分到八個傳送帶送進內核進行傳輸:四路用於整數運算,兩路用於浮點運算,兩路用於訪問存儲器中的數據。即使最前端接收到的是無序的執行指令,處理器也將有條不紊地進行指令的處理。
對於研發人員而言,他們想做的就是:避免資源浪費。舉例而言,儘管一個整數單元不進行任何運算,然而其他路指令的執行卻要進行排隊。如果一條通道的指令執行需要依賴於另外一條通道的指令執行輸出,就需停下來等待,這樣時間與資源就被浪費掉。處理器要每秒運行10億次及以上,就為了保證工作的完成。
也許E2所採用的EDGE架構能有效解決以上問題。EDGE是一種分散式結構,指令映射到多個分片上同時執行。在不同的代碼分片中,代碼使用其專用寄存器,而非全局訪問的執行模式。編譯器還會對代碼進行注釋以描述數據在程序中的流向,從而允許CPU相應地調度指令塊。
而且,EDGE可以讓核心處理器通過分片技術同時處理多個指令。這與Cortex-A76的運行方式是不同的。EDGE的目標就是比競爭對手的架構可以更快地運行軟體。就像前面提到的高通R1設計一樣。 R1是32位指令寬的亂序處理器藍圖,R0是8位寬。
E2晶元的研發已進行多年,透過目前的消息來「窺見」E2的研發進展。
去年10月份,Linux系統在E2中啟動,如今Windows 10已經被移植到該架構中,同時微軟正在與晶元巨頭高通開展合作。不過微軟官網上周刪除了E2項目的相關頁面及最新信息。
在今年美國加州舉辦的計算機體系結構國際會議上,微軟研究員Doug Burger、Aaron Smith、Greg Wright與高通處理器研究部門的高級工程主管,都發表了關於EDGE處理器的演講,並演示了Windows在E2模擬器上的運行情況。
儘管E2的指令部署已經在幾年前完成,但是現在大部分信息仍作為機密不對外公開。目前來看,外界可得知的消息就是每個代碼塊都會從全局寄存器讀取數據,並在臨時專用寄存器進行數據的處理,最終將結果寫回全局寄存器。
微軟在設計晶元方面已經有了一定的案例,例如HoloLens虛擬現實護目鏡中的數學加速器。 據推測,這種E2架構設計可能最適合在FPGA中實現「軟」處理器。(校對/樂川)
微軟在設計晶元方面已經有了一定的案例,例如HoloLens虛擬現實護目鏡中的數學加速器。 據推測,這種E2架構設計可能最適合在FPGA中實現「軟」處理器。(校對/樂川)
推薦閱讀:
※龍芯和海思等國內廠商生產的處理器相比除了架構不同還有什麼區別?
※如何讓樹莓派可以被外網訪問?
※ARM與嵌入式linux入門建議
※並聯機械手Crobot S1 (抓取點預估)
※nxp lpc11xx/13xx 在 deep sleep 模式下被中斷喚醒,需要延遲多久 CPU 才能全速工作?