嘉楠科技(Canaan Inc.)(納斯達克股票代碼:CAN)開發(fā)的勘智K230芯片在Fedora 團隊的努力下完成適配RISC-V 新32位技術(shù),節(jié)省內(nèi)存的同時降低了成本,展示了嘉楠科技勘智K230芯片開發(fā)板強大的功能應用能力。同時,PLCT實驗室與達摩院-玄鐵團隊攜手,通過采用松弛擴展尋址技術(shù),克服了傳統(tǒng)32位架構(gòu)在現(xiàn)代操作系統(tǒng)中的性能局限,為新32位工具鏈的創(chuàng)新應用奠定了堅實基礎(chǔ)。
松弛擴展尋址
歷史上,64ILP32 ABI的實施面臨著的主要障礙是:32位指針與64位寄存器之間的不匹配問題,這不僅引起性能損失,還增加了編譯器的復雜性。雖然零擴展尋址(Zero-extend Addressing)在x86-x32和aarch64-ilp32 ABI中得到采用,但額外的零擴展指令降低了程序效率。與之相比,32ILP32和64LP64 ABI因指針長度與寄存器寬度一致,避免了這種性能開銷。
面對這些挑戰(zhàn),我們首先考慮了符號擴展尋址(Sign-extend Addressing),它在一定程度上減緩了零擴展的性能問題,但增加了編譯器和內(nèi)核實現(xiàn)的復雜度。于是,我們提出了松弛擴展尋址(Relax-extend Addressing)方案,它通過硬件的指針掩碼功能,允許在執(zhí)行32位尋址操作時忽略64位寄存器的高32位,大幅簡化了編譯器工作,降低指令數(shù)量,并保持了安全性與可靠性。我們對以上三種尋址模式總結(jié)如下:
●抹零擴展尋址:傳統(tǒng)方法,需要編譯器生成額外的的指令來清零高32位,導致性能損失。
●符號擴展尋址:改良方案,通過操作系統(tǒng)頁表的雙重映射,合法化32位符號位擴展,緩解零擴展的性能開銷。
●松弛擴展尋址:創(chuàng)新方案,依賴處理器硬件掩碼來實現(xiàn)高效尋址,徹底消除了尋址時的性能損失。
因此,松弛擴展被我們選定為 RV64ILP32 ABI 的默認尋址模式,它要求 RISC-V 64位處理器支持尋址掩碼功能,對硬件設(shè)計提出了新的要求。我們在 QEMU 上實驗該功能,并證明了基于松弛擴展尋址模式的 RV64ILP32 工具鏈的有效性。
新32位內(nèi)核
新32位工具鏈基于 RISC-V 64ilp32 ABI,融合了松弛擴展尋址技術(shù),讓64位硬件流暢運行新32位軟件。我們在 qemu 上實現(xiàn)了硬件松弛擴展尋址模式,并用新工具鏈構(gòu)建了業(yè)內(nèi)首款新32位Linux內(nèi)核。
與傳統(tǒng)32位對比,盡管新32位和傳統(tǒng)32位都是32位Linux操作系統(tǒng)軟件,但新32位得益于64位指令集,其性能顯著優(yōu)于傳統(tǒng)32位:
如上圖所示,新32位內(nèi)核的 iperf3-tcp 測試大幅領(lǐng)先,在軟件 ABI 相同的情況下,使用 64 位指令架構(gòu)能極大提升操作系統(tǒng)的性能。本次qemu 測試僅供參考,請聯(lián)系硬件供應商獲得真實的性能差距報告,本測試用例已在工具鏈發(fā)布包內(nèi),請大家直接下載自行體驗,以下動畫是測試的全過程:
與傳統(tǒng)64位對比,F(xiàn)edora團隊完成了RISC-V新32位在嘉楠科技勘智K230芯片硬件平臺的適配,新32位避免了39%的內(nèi)存浪費,其成本優(yōu)勢使 Fedora RISC-V 能在嵌入式領(lǐng)域有更廣泛的應用,具體請參考:
新32位工具鏈
讓32位軟件運行在64位硬件上不僅更快而且更省,這正是我們新32位編譯器的優(yōu)勢所在,不禁讓人想起中國古代田忌賽馬的故事,與傳統(tǒng)32位比性能,與傳統(tǒng)64位比成本。換言之,新32位就是要取代傳統(tǒng)32位,與64位形成互補。在進一步的測試中,我們觀察到了傳統(tǒng)32位的明顯不足:
如上圖所示,在處理長數(shù)據(jù)類型時,傳統(tǒng)32位的編譯器生成了超過10條額外指令來操作保存的變量。相反,當采用新32位工具鏈時,編譯器會直接利用64位指令來處理這些數(shù)據(jù),大幅度減少了所需指令的數(shù)量。
本次發(fā)布的新32位工具鏈通過了33萬個測試用例,其中包含 192133 個 g++用例, 與 143498 個 gcc 用例,全面覆蓋編譯器的各項功能,測試結(jié)果與 GCC13 release 保持一致,達到產(chǎn)品級質(zhì)量要求。相比傳統(tǒng)32位,它的優(yōu)勢如下:
●更強大的性能:新32位編譯器在處理長數(shù)據(jù)類型時更加高效,因為它無需進行額外的寄存器拼接或零擴展操作。這可以顯著減少指令數(shù)量,提高程序的執(zhí)行效率,特別是在涉及大量長數(shù)據(jù)類型操作的情況下。
●更好的兼容性:新32位編譯器可以與傳統(tǒng)64位編譯器兼容,因為它們基于相同的硬件指令集。這意味著開發(fā)者可以更輕松地將現(xiàn)有的64位匯編代碼遷移到新32位平臺上,而無需做出太多修改。
●更多的擴展性:隨著技術(shù)的發(fā)展和需求的增長,對更大的內(nèi)存空間和更高性能的需求也在不斷增加。新32位的硬件平臺可以為未來的擴展性提供了更好的支持,因為它能無縫切換到傳統(tǒng)64位以滿足更高要求的應用程序。
●產(chǎn)品級的質(zhì)量:新32位工具鏈經(jīng)過大量測試驗證,保證使用的正確性與穩(wěn)定性,同時在RUYISDK開源倉庫中進行維護更新,及時解決用戶遇到的各種問題。
結(jié)束語
松弛擴展尋址技術(shù)在新32位工具鏈中扮演著關(guān)鍵角色,為嵌入式系統(tǒng)的開發(fā)和部署提供了全新的解決方案。作為業(yè)內(nèi)首款基于松弛擴展尋址技術(shù)的新32位產(chǎn)品級開源工具鏈和Linux內(nèi)核,標志著嵌入式系統(tǒng)開發(fā)領(lǐng)域的一次重要創(chuàng)新。我們熱切期待開發(fā)者們積極參與到新32位的開發(fā)和完善中,共同提出寶貴的建議和意見,推動新32位不斷發(fā)展。我們致力于建立一個健康和活躍的開源社區(qū),將持續(xù)投入資源和精力,確保新32位的穩(wěn)定性和可靠性,并不斷改進和完善其功能和性能。在此,我們也呼吁更多的硬件廠商加入我們的陣營,共同推動新32位嵌入式系統(tǒng)的發(fā)展和創(chuàng)新,為行業(yè)帶來更多的可能性和機遇。
關(guān)于嘉楠科技勘智K230芯片
嘉楠科技勘智K230芯片是全球首款支持 RISC-V Vector1.0標準的商用SoC,內(nèi)置雙核玄鐵C908 CPU,主頻高達1.6GHz。作為嘉楠科技勘智Kendryte系列芯片中的最新一代SoC產(chǎn)品,勘智K230芯片內(nèi)置多個高清視頻圖像輸入處理和智能硬件處理單元,兼顧高性能、低功耗和高安全性特點,可廣泛應用于各類智能產(chǎn)品,如邊緣側(cè)大模型多模態(tài)接入終端、3D結(jié)構(gòu)光深度感知模組、交互型機器人、開源硬件、智能制造、智能家居和智能教育硬件等眾多領(lǐng)域。
審核編輯:劉清
-
機器人
+關(guān)注
關(guān)注
211文章
28673瀏覽量
208545 -
寄存器
+關(guān)注
關(guān)注
31文章
5367瀏覽量
121221 -
SoC芯片
+關(guān)注
關(guān)注
1文章
617瀏覽量
35054 -
RISC-V
+關(guān)注
關(guān)注
45文章
2325瀏覽量
46652 -
嘉楠科技
+關(guān)注
關(guān)注
1文章
27瀏覽量
4812
原文標題:嘉楠科技勘智K230芯片獲玄鐵團隊與PLCT實驗室新32位產(chǎn)品級工作鏈及Linux內(nèi)核適配
文章出處:【微信號:CanaanTech,微信公眾號:嘉楠科技】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
關(guān)于RISC-V芯片的應用學習總結(jié)
![](https://file1.elecfans.com/web3/M00/03/BF/wKgZPGdrz4mAet9HAAJQPKyANAI572.png)
Banana Pi BPI-CanMV-K230D-Zero :AIoT 應用的 Kendryte K230D RISC-V
香蕉派開發(fā)板BPI-CanMV-K230D-Zero 嘉楠科技 RISC-V開發(fā)板公開發(fā)售
香蕉派開發(fā)板BPI-CanMV-K230D-Zero 嘉楠科技 RISC-V開發(fā)板公開發(fā)售
![香蕉派開發(fā)板BPI-CanMV-<b class='flag-5'>K230</b>D-Zero <b class='flag-5'>嘉</b><b class='flag-5'>楠</b>科技 <b class='flag-5'>RISC-V</b>開發(fā)板公開發(fā)售](https://file1.elecfans.com//web1/M00/F4/57/wKgaoWcpyNqAHmNdAAJf6o2o6Jo308.jpg)
RISC-V Summit China 2024 | 青稞RISC-V+接口PHY,賦能RISC-V高效落地
嘉楠科技發(fā)布K230D芯片,強化AIoT領(lǐng)域高性能計算
香蕉派 BPI-CanMV-K230D-Zero 采用嘉楠科技 K230D RISC-V芯片設(shè)計
Banana Pi BPI-CanMV-K230D-Zero 采用嘉楠科技 K230D RISC-V芯片設(shè)計
![Banana Pi BPI-CanMV-<b class='flag-5'>K230</b>D-Zero 采用<b class='flag-5'>嘉</b><b class='flag-5'>楠</b>科技 <b class='flag-5'>K230</b>D <b class='flag-5'>RISC-V</b><b class='flag-5'>芯片</b>設(shè)計](https://file1.elecfans.com/web2/M00/FF/6A/wKgZomaotPmALjdxAAF-R6zwOpc596.png)
評論