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