0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

全面革新RISC-V 架構(gòu),隼瞻科技代碼密度增強技術(shù)為嵌入式芯片創(chuàng)造更多可能

焦點訊 ? 來源:焦點訊 ? 作者:焦點訊 ? 2024-04-26 17:58 ? 次閱讀

一、行業(yè)痛點

眾所周知,在選擇嵌入式 SoC 處理器時,面積和功耗通常是客戶核心考慮的兩大因素!常規(guī)的嵌入式系統(tǒng)程序大多需要儲存在芯片上,如果系統(tǒng)代碼密度低就需要更大的內(nèi)存來承載。而與此同時、成本也相應增加。由此可見,代碼密度決定了片上內(nèi)存的規(guī)劃容量,對芯片的面積、功耗和整體成本有著深遠影響!

相比成熟的 Arm 架構(gòu),代碼密度并非 RISC-V 傳統(tǒng)強項。在 ArmCC 等商業(yè)編譯器的加持影響下,某些應用場景中兩者代碼密度差距甚至達一倍之大, 因此,RISC-V 所需的存儲器和相應成本也大大增加。

這些因素也正成為困擾客戶、影響行業(yè)發(fā)展的一大難題!

wKgZomYresGAYCuyAAK67BeKsGo702.png

(圖1)Arm 芯片與傳統(tǒng)RISC-V 芯片對比

二、研發(fā)思路
針對以上行業(yè)痛點,隼瞻追根溯源,面向市場推出全新的代碼密度增強技術(shù)方案。

組合拳一:面向應用深度優(yōu)化的隼瞻處理器指令集

程序代碼密度主要由處理器指令集、ABI、編譯器、基礎(chǔ)庫、程序代碼等部分決定,而處理器指令集(ISA)則是代碼密度最根本的決定性因素。大多數(shù)嵌入式芯片, 例如 MCU,程序存儲器占據(jù)了芯片50%以上的面積,采用更緊湊的指令集可以顯著降低 SoC 面積。相關(guān)研究顯示,嵌入式芯片有42%的能耗來自于取指,而只有6%用于執(zhí)行實際的算術(shù)運算,一個更緊密的處理器指令集能產(chǎn)生更小的代碼,從而減少從儲存器取指令的消耗。

wKgaomYresGAH3SUAAKIkCleuGs362.png

(圖2)取指能耗占比圖

而Arm在嵌入式成熟架構(gòu)領(lǐng)域有著更為專業(yè)的系統(tǒng)設(shè)計,其中、小型 Armv-M 架構(gòu)就是其典型代表作。因為它既包含了嵌入式常用操作指令的優(yōu)化,同時兼?zhèn)潇`活、高密度的 Thumb-2 指令集,所以也順理成章地成為當前嵌入式領(lǐng)域最受歡迎的架構(gòu)。

RISC-V 在設(shè)計之初考慮的是嵌入式、通用計算和高性能計算等多個場景,并未針對嵌入式特有場景進行特定優(yōu)化。

以一段 C 代碼為例:int indexing(int *p, int offset) { return p[idx] },Arm 編譯后只需要一條指令就能完成任務,但是傳統(tǒng)的 RISC-V 指令需要3條。

wKgaomYresKAehIDAAKVytKwVS8735.png

(圖3)Arm & 傳統(tǒng)RISC-V指令集對比

為解決 RISC-V 架構(gòu)在嵌入式領(lǐng)域的應用瓶頸,隼瞻科技針對代碼密度增強技術(shù)開展了全方位革新,從最源頭最核心的處理器指令集進行了大幅優(yōu)化。

首先,隼瞻處理器對 RISC-V 社區(qū)多年來陸續(xù)引入的 B 擴展、Zc 擴展、Zicond 等一系列標準擴展提供了有效支持。

wKgZomYresOAMonmAARRn8OSePY905.png

(圖4)隼瞻指令集優(yōu)化成效

雖然RISC-V 社區(qū)的標準擴展在一定程度上提升了代碼密度,但其作用仍然十分有限。例如,在前文提到的數(shù)組尋址場景,標準擴展就無法覆蓋。因此,隼瞻科技在支持常見的 Zc、B、Zicond 擴展指令集的基礎(chǔ)上,將自主研發(fā)的代碼密度增強指令 Xc擴展加入到處理器核中,從多個方面對代碼密度進行深度優(yōu)化。

Xc 擴展致力于解決標準擴展忽視的場景,例如、在上述案例中用一條指令就能完成數(shù)組尋址,做到和 Arm 一樣的指令密度和運行效率。

wKgaomYresOAHhlkAAJdjmZZ-NM275.png

(圖5)隼瞻自研Xc擴展顯著提升代碼密度

Xc 擴展不僅提升了代碼密度,并且因為一條指令就能完成多條指令的功能,系統(tǒng)性能也得到了極大提升。此外,它還避免了在執(zhí)行多條指令過程中不必要的寄存器分配,從而進一步優(yōu)化了整體性能。

組合拳二:深耕編譯器和基礎(chǔ)庫,隼瞻科技持續(xù)打造深度優(yōu)化的 RISC-V 工具鏈

除了處理器指令集,編譯器和基礎(chǔ)庫也對代碼密度的最終成果有著明顯影響。

Armv-M 架構(gòu)生態(tài)中,商業(yè)編譯器會與內(nèi)核廠家深度合作,針對體系架構(gòu)進行有效的指令調(diào)度,從而獲得更高的代碼密度,同時自帶高度優(yōu)化的 C 庫和數(shù)學庫。相關(guān)的開源編譯器也因為該架構(gòu)推向市場的時間較長,發(fā)展得比較成熟。

相對于成熟的Arm生態(tài),RISC-V生態(tài)發(fā)展時間不長,優(yōu)化尚不成熟,與Arm差距較為明顯。

為此,隼瞻科技在追尋RISC-V生態(tài)完善的腳步中,針對自有芯片(如:Wing-M130 系列)研發(fā)出了WingGCC 編譯器,解決了 GCC 作為一個從小型嵌入式系統(tǒng)到大型 HPC 的通用編譯器長期存在的、領(lǐng)域針對性不強的問題。

隼瞻WingGCC 編譯器完整匹配各種標準擴展指令和隼瞻自定義擴展指令,同時適配隼瞻專用高效微架構(gòu),能充分發(fā)揮處理器性能。同時,還能在兼顧性能的前提下,針對嵌入式場景使編譯器重點偏向指令密度進行優(yōu)化。

同樣,針對嵌入式應用場景深度優(yōu)化的隼瞻 WingLib 基礎(chǔ)庫,則在開源環(huán)境通用的 newlib 基礎(chǔ)上進行了大刀闊斧式的改革。通過聚焦嵌入式應用并精簡非相關(guān)代碼,基于專業(yè)的匯編及體系結(jié)構(gòu)能力、精確排布重點 API 的指令序列,與自定義指令集協(xié)同提升代碼密度!

wKgaomYresSAcihqAAJSkz8jMXc109.png

(圖6)經(jīng)過隼瞻的密度增強技術(shù)后代碼空間的對比

通過上述一系列組合拳的優(yōu)化,隼瞻科技的RISC-V處理器在Codesize方面已經(jīng)與Arm架構(gòu)不相上下。

Embench是嵌入式、物聯(lián)網(wǎng)系統(tǒng)常用的Benchmark,重點關(guān)注處理器在不同應用場景下的Codesize。它由19個真實的程序組成,運行結(jié)束后將會產(chǎn)生各個程序的Codesize數(shù)據(jù),用來評估平臺和編譯工具鏈的Codesize性能。傳統(tǒng)RISC-V在Codesize方面并不占優(yōu)勢,Embench跑分長期處于被Arm壓制的狀況下。隼瞻科技通過自研編譯工具鏈,已經(jīng)實現(xiàn)在Codesize方面對Arm的反超!

wKgaomYresSANKe9AAGXihWEmN4816.png

(圖7)隼瞻科技Wing-M130與Arm Cortex-M3在Embench上的對比

遵循 ASIP(Application-Specific Instruction-set Processor,面向應用的定制指令集處理器)開發(fā)思路,隼瞻科技還能針對應用相關(guān)的代碼進行優(yōu)化,達到更高的代碼密度。

以計算兩張圖像的 alpha 混合為例,以往需要幾十條指令才能完成的 RGB 三色像素加減乘除復合計算,現(xiàn)在通過隼瞻WingStuido專用處理器設(shè)計平臺,基于選定的基礎(chǔ)處理器,擴展一條單周期指令就可以完成,在提升計算效率的同時,極大減少了程序代碼空間。

三、應用場景

近期,有客戶希望找到一顆 RISC-V 處理器對 Arm Cortex-M3 進行平替。在嘗試了市面上常見的幾家解決方案后,均發(fā)現(xiàn)代碼尺寸膨脹較大,在某些場景下甚至超過了100%。由于“代碼密度”問題造成的成本增加,在RISC-V替換Arm CPU過程中始終是一道難以逾越的鴻溝……

結(jié)合上述訴求,隼瞻科技針對客戶的兩個主要業(yè)務場景、基于 WingGCC進行初步評估,迅速實現(xiàn)了比市面上常見解決方案更小的代碼尺寸。

使用支持隼瞻代碼密度增強指令的編譯器、搭配隼瞻獨家編譯的 WingLib 庫,最終成功實現(xiàn)與 Arm Cortex-M3 代碼尺寸相比在98%和101%的優(yōu)異成績!相對競品、領(lǐng)先優(yōu)勢超過33%。方案一經(jīng)推出、立即得到了客戶高度認可,雙方迅速達成合作。為此,客戶成功實現(xiàn)了低成本、高能效平替解決方案!

wKgZomYresSAMBTCAAER85N2z_E77.jpeg

(圖8)隼瞻科技領(lǐng)先競品33%,與Arm架構(gòu)持平

四、展望未來

隼瞻科技自研的代碼密度增強技術(shù),結(jié)合處理器指令集、編譯器和基礎(chǔ)庫,面向應用深度優(yōu)化的這一超級組合拳,為行業(yè)客戶帶來實實在在的平替助力,同時也為RISC-V生態(tài)發(fā)展提供源動力。

隨著中國嵌入式芯片行業(yè)迅速發(fā)展,RISC-V生態(tài)將日漸豐富與強大!隼瞻科技將始終堅持獨立探索、精益求精的態(tài)度,全力推動 RISC-V 生態(tài)走向成熟商用市場,為中國的嵌入式芯片行業(yè)創(chuàng)造更多可能性!??!


審核編輯 黃宇

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • soc
    soc
    +關(guān)注

    關(guān)注

    38

    文章

    4067

    瀏覽量

    217561
  • 嵌入式芯片
    +關(guān)注

    關(guān)注

    4

    文章

    230

    瀏覽量

    27641
  • RISC-V
    +關(guān)注

    關(guān)注

    44

    文章

    2179

    瀏覽量

    45896
收藏 人收藏

    評論

    相關(guān)推薦

    risc-v與esp32架構(gòu)對比分析

    稱為PRO_CPU和APP_CPU。 設(shè)計原則 :ESP32的設(shè)計更注重于集成多種通信功能和豐富的外設(shè),以滿足物聯(lián)網(wǎng)(IoT)和嵌入式系統(tǒng)的需求。 二、功能特性 RISC-V : 開源性 :RISC-V
    發(fā)表于 09-26 08:40

    RISC-V指令集的特點總結(jié)

    各種應用場景,從嵌入式系統(tǒng)到高性能計算,都可以通過添加專門的指令擴展來優(yōu)化性能。 分層設(shè)計 定義:RISC-V 架構(gòu)采用了分層設(shè)計方法,基本指令集可以通過額外的擴展層來增強功能,如浮點
    發(fā)表于 08-30 22:05

    risc-v的發(fā)展歷史

    領(lǐng)域中得到廣泛應用,包括嵌入式設(shè)備、個人電腦、服務器等。 國際合作:RISC-V基金會將繼續(xù)加強與國際企業(yè)和機構(gòu)的合作,共同推動RISC-V架構(gòu)的發(fā)展和應用。 綜上所述,
    發(fā)表于 07-29 17:20

    rIsc-v的缺的是什么?

    的設(shè)計相對簡潔和模塊化,但其實現(xiàn)仍然需要較高的技術(shù)水平和專業(yè)知識。對于一些小型企業(yè)或初創(chuàng)公司來說,可能難以獨立承擔RISC-V芯片的研發(fā)和生產(chǎn)工作。因此,
    發(fā)表于 07-29 17:18

    RISC-V適合什么樣的應用場景

    設(shè)計的理想工具,有助于培養(yǎng)更多的計算機專業(yè)人才。 綜上所述,RISC-V適合的應用場景非常廣泛,包括物聯(lián)網(wǎng)、嵌入式系統(tǒng)、人工智能、自動駕駛、汽車電子、數(shù)據(jù)中心和云計算以及教育和研究等多個領(lǐng)域。隨著
    發(fā)表于 07-29 17:16

    【出版發(fā)行】嵌入式系統(tǒng)原理與開發(fā)——基于RISC-V和Linux系統(tǒng)

    【出版發(fā)行】嵌入式系統(tǒng)原理與開發(fā)——基于RISC-V和Linux系統(tǒng)
    的頭像 發(fā)表于 07-26 08:36 ?218次閱讀
    【出版發(fā)行】<b class='flag-5'>嵌入式</b>系統(tǒng)原理與開發(fā)——基于<b class='flag-5'>RISC-V</b>和Linux系統(tǒng)

    專家力薦|《嵌入式系統(tǒng)原理與開發(fā)——基于RISC-V和Linux系統(tǒng)》新書發(fā)售

    當前,嵌入式系統(tǒng)已成為智能設(shè)備的核心之一,RISC-V+Linux的開源力量嵌入式系統(tǒng)注入強大的創(chuàng)新動力。作為中國RISC-V軟硬件生態(tài)領(lǐng)
    的頭像 發(fā)表于 07-24 08:20 ?387次閱讀
    專家力薦|《<b class='flag-5'>嵌入式</b>系統(tǒng)原理與開發(fā)——基于<b class='flag-5'>RISC-V</b>和Linux系統(tǒng)》新書發(fā)售

    為何什么risc-v芯片比arm的效率高

    RISC-V芯片在某些情況下可能相對于ARM架構(gòu)芯片表現(xiàn)出更高的效率,這主要得益于RISC-V設(shè)
    發(fā)表于 04-28 09:38

    RISC-V有哪些優(yōu)點和缺點

    新的、尚未被廣泛驗證的技術(shù)。 需要注意的是,隨著RISC-V技術(shù)的不斷發(fā)展和生態(tài)系統(tǒng)的逐步完善,其缺點可能會逐漸被克服。同時,RISC-V
    發(fā)表于 04-28 09:03

    RISC-V有哪些優(yōu)缺點?是堅持ARM方向還是投入risc-V的懷抱?

    架構(gòu),而不是嘗試新的、尚未被廣泛驗證的技術(shù)。 需要注意的是,隨著RISC-V技術(shù)的不斷發(fā)展和生態(tài)系統(tǒng)的逐步完善,其缺點可能會逐漸被克服。同
    發(fā)表于 04-28 08:51

    品讀《基于FPGA與RISC-V嵌入式系統(tǒng)設(shè)計》

    FPGA 1.3 RISC-V 1.4 小腳丫 FPGA 開發(fā)平臺 1.5 C/C++,Make 與工具鏈 1.6 嵌入式操作系統(tǒng) 1.7 Arduino 集成開發(fā)環(huán)境 1.8 模塊授權(quán)方式 1.9
    發(fā)表于 03-29 00:06

    RISC-V開放架構(gòu)設(shè)計之道|閱讀體驗】+ 閱讀初體驗

    《計算機組成與設(shè)計:硬件/軟件接口(RISC-V版)》,指令集本人確實沒怎么了解,只有嵌入式軟件開發(fā)相關(guān)基礎(chǔ),不過怎么樣也得先啃一啃,繼續(xù)讀一下重點內(nèi)容
    發(fā)表于 03-05 20:54

    RISC-V開放架構(gòu)設(shè)計之道|閱讀體驗】+ 個人心得并祝福

    。作者經(jīng)驗豐富,關(guān)鍵指出重點。 好了,我希望RISC-V越來越好,RISC-V生態(tài)系統(tǒng)能夠不斷完善。RISC-V更多領(lǐng)域能夠得到廣泛應用,發(fā)揮其獨特的優(yōu)勢。
    發(fā)表于 01-26 15:52

    RISC-V開放架構(gòu)設(shè)計之道|閱讀體驗】 RISC-V設(shè)計必備之案頭小冊

    中出現(xiàn)的RISC-V拓展。 這本書的開篇講的是,為什么我們需要RISC-V指令集? 從過去的ISA的特點進行引入,先以目前主流的x86指令集架構(gòu)例列出了增量
    發(fā)表于 01-22 16:24

    RISC-V架構(gòu)芯片出貨超過10億顆

    RISC-V 開放架構(gòu)自2014 年8 月推出以來,已獲顯著進步。采RISC-V 架構(gòu)芯片
    的頭像 發(fā)表于 11-16 15:10 ?824次閱讀
    <b class='flag-5'>RISC-V</b><b class='flag-5'>架構(gòu)</b><b class='flag-5'>芯片</b>出貨超過10億顆