多樣性與兼容性的統一
處理器供應商一直試圖在其產品周圍創建一個龐大的軟件生態系統,因為這可以產生黏性,自然而然地 "鎖定 "大量投資于創建專用軟件的客戶。隨著時間的推移,這種效應會越來越大,因為每個產品的軟件數量都在不斷增加。比如:一輛汽車的代碼行數可能超過1億行!
硬件與軟件之間的耦合來自于所選擇的指令集架構(ISA),這也是為什么處理器設計者歷來對其加以嚴格保護的原因。ISA可為處理器賦予價值,因此帶來較高的售價。
盡管RISC-V ISA被多個處理器供應商自由使用和共享,但有一點是共通的:處理器被賦予的價值來自于RISC-V兼容代碼的積累。然而隨著定制能力的不斷增強,一些競爭者將碎片化風險作為RISC-V架構的弱點提出來。然而這個鍋RISC-V該背嗎?
掙脫專有ISA的禁錮
為了保護自己的生態系統,傳統的專有ISA將用戶鎖定在預定的標準中,不惜一切代價避免偏離標準,以確保軟件的兼容性。這就解釋了為什么一些現代處理器架構上仍然留有20世紀70年代決策的疤痕,當時的限制和系統完全不同,這導致了效率極其低下。而RISC-V架構通過提供開放和可定制的ISA,正在逐步改變這種格局。RISC-V最引人注目的一點是它能夠實現指令集的定制:這也是許多客戶在極力尋求的功能。這一功能的諸多優勢可在下圖中一目了然。
可定制RISC-V ISA的優勢
如此明顯的架構優勢,這也是傳統供應商試圖通過提出兼容性問題來捍衛立場的原因。如果大家都開始修改架構,對于生態系統有可能會支離破碎,軟件和硬件變得不兼容的擔憂時有發生?
其實這種擔憂是合理的,但是需要結合事實來判斷。
首先我們必須承認碎片化的存在性。對于許多應用程序來說,真正依賴于ISA的軟件即使有,也是少之又少。由于軟件開發人員希望盡可能提高工作效率,因此他們使用高級語言編譯生成依賴ISA的匯編代碼。這些語言中包含大量現成的軟件元素:移植它們只需將程序庫與應用程序一起重新編譯即可。而這又意味著什么呢?要將這些代碼重新定位到帶有自定義指令的處理器上,只需要一個優秀的專用編譯器即可解決問題。但這同時又相當棘手,因為定制編譯器可能需要一個技術精湛、成本高昂的團隊來構建......幸運的是,目前市面上已經有處理器定制化軟件工具可以協助達到這一目標。比如Codasip Studio,作為高度自動化的處理器設計工具,它可以在生成定制處理器的同時生成專用編譯器!
盡管在少數情況下,我們仍然需要依賴ISA的代碼,諸如:
對于經過嚴格優化的代碼,每個周期都經過計算,以保證達到一定的性能水平。
在大型軟件系統中,需要執行預先編譯好的應用程序,例如數據中心應用中的容器技術(內核虛擬化技術),計算機或移動設備中的應用等。
操作系統也可能有ISA特定代碼,如上下文或線程切換。
確實需要努力將其他ISA移植到RISC-V,但一旦完成移植,就不會妨礙定制,因為RISC-V在構建時就考慮到了定制和兼容性。那么RISC-V是如何做到這一點的?此時不得不提到定制指令。定制指令通常可以顯著改善客戶希望移植的經過嚴格優化的代碼,因此可能需要權衡這一點與易移植性之間的關系。
以下例子充分說明了為確保兼容性,RISC-V所采用的措施:
1. 將基本ISA標準化
RISC-V定義了一組有保證的標準基本指令。這就確保了在不同的實現中保持一致的通用基線。這種基本兼容性甚至涵蓋了從最微小的設備到最復雜的服務器級多核處理器。在這些標準的基礎上可以進行定制,從而保證兼容性不被破壞。
2. 模塊化設計
RISC-V的模塊化設計方法將ISA分成不同的部分,明確定義擴展以確保其兼容性。例如如果一個軟件需要浮點運算單元,它就可以在任何具有浮點運算單元的RISC-V 處理器上執行,而無需修改。
3. 配置文件
RISC-V定義了復雜的配置文件,這些配置文件又定義了各種擴展,簡化了與各類設備兼容的條件。這對高端應用至關重要,因為在高端應用中,核心指令集提供的基本兼容性不足以管理軟件工作負載的復雜性。
通過確保兼容性來避免RISC-V碎片化
由于具有自定義指令的處理器只是“普通”處理器的超集,這些機制確保其可以(并立即可用)與為其他RISC-V處理器開發的軟件相兼容。因此,它受益于RISC-V開發社區在許多供應商的處理器上編寫代碼的倍增效應。這就是為什么Codasip的可定制并經過預先驗證的RISC-V兼容處理器解決方案如此強大:設計人員在保持兼容性的同時獲得定制效率的提升。
RISC-V打破了定制與兼容性相互排斥的觀念。其開放、模塊化和標準化的設計使開發人員能夠在保持軟件兼容性的同時,創建滿足特定需求的定制解決方案。RISC-V架構能夠使各個行業有能力擺脫專有限制,并以之前無法想象的方式推動創新。隨著越來越多的行業對RISC-V接受程度的提高,以及生態的不斷發展,并有諸如Codasip這樣的供應商不遺余力地提供實現定制處理器的便捷途徑,我們完全可以期待一個蓬勃發展的定制計算時代的到來。
審核編輯:彭菁
-
處理器
+關注
關注
68文章
19167瀏覽量
229153 -
軟件
+關注
關注
69文章
4781瀏覽量
87163 -
代碼
+關注
關注
30文章
4750瀏覽量
68357 -
編譯器
+關注
關注
1文章
1618瀏覽量
49052 -
RISC-V
+關注
關注
44文章
2229瀏覽量
46034
原文標題:RISC-V碎片化 - 這個鍋RISC-V背不背?!
文章出處:【微信號:Codasip 科達希普,微信公眾號:Codasip 科達希普】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論