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

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

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

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

焦點(diǎn)訊 ? 來(lái)源:焦點(diǎn)訊 ? 作者:焦點(diǎn)訊 ? 2024-04-26 17:58 ? 次閱讀

一、行業(yè)痛點(diǎn)

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

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

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

wKgZomYresGAYCuyAAK67BeKsGo702.png

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

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

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

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

wKgaomYresGAH3SUAAKIkCleuGs362.png

(圖2)取指能耗占比圖

而Arm在嵌入式成熟架構(gòu)領(lǐng)域有著更為專業(yè)的系統(tǒng)設(shè)計(jì),其中、小型 Armv-M 架構(gòu)就是其典型代表作。因?yàn)樗劝饲度胧匠S貌僮髦噶畹膬?yōu)化,同時(shí)兼?zhèn)潇`活、高密度的 Thumb-2 指令集,所以也順理成章地成為當(dāng)前嵌入式領(lǐng)域最受歡迎的架構(gòu)。

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

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

wKgaomYresKAehIDAAKVytKwVS8735.png

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

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

首先,隼瞻處理器對(duì) RISC-V 社區(qū)多年來(lái)陸續(xù)引入的 B 擴(kuò)展、Zc 擴(kuò)展、Zicond 等一系列標(biāo)準(zhǔn)擴(kuò)展提供了有效支持。

wKgZomYresOAMonmAARRn8OSePY905.png

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

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

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

wKgaomYresOAHhlkAAJdjmZZ-NM275.png

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

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

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

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

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

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

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

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

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

wKgaomYresSAcihqAAJSkz8jMXc109.png

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

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

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

wKgaomYresSANKe9AAGXihWEmN4816.png

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

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

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

三、應(yīng)用場(chǎng)景

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

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

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

wKgZomYresSAMBTCAAER85N2z_E77.jpeg

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

四、展望未來(lái)

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

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


審核編輯 黃宇

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

    關(guān)注

    38

    文章

    4199

    瀏覽量

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

    關(guān)注

    4

    文章

    230

    瀏覽量

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

    關(guān)注

    45

    文章

    2322

    瀏覽量

    46435
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    risc-v芯片在電機(jī)領(lǐng)域的應(yīng)用展望

    。通過(guò)不斷優(yōu)化指令集架構(gòu)和算法設(shè)計(jì),RISC-V芯片將能夠?qū)崿F(xiàn)更高效的控制模式和更高的性能表現(xiàn),從而推動(dòng)電機(jī)控制技術(shù)的進(jìn)一步發(fā)展。 因此可以大膽的想象一下,
    發(fā)表于 12-28 17:20

    RISC-V架構(gòu)及MRS開(kāi)發(fā)環(huán)境回顧

    PowerPC以及現(xiàn)在統(tǒng)治嵌入式市場(chǎng)的ARM。 2. 什么是RISC-V RISC全名Reduced Instruction Set Computer,即精簡(jiǎn)指令集計(jì)算機(jī);V是羅馬字
    發(fā)表于 12-16 23:08

    如何使用 RISC-V 進(jìn)行嵌入式開(kāi)發(fā)

    RISC-V是一種開(kāi)源的指令集架構(gòu)(ISA),它允許任何人設(shè)計(jì)、制造和銷售基于RISC-V的處理器,這嵌入式開(kāi)發(fā)提供了極大的靈活性和創(chuàng)新空
    的頭像 發(fā)表于 12-11 17:32 ?700次閱讀

    基于risc-v架構(gòu)芯片與linux系統(tǒng)兼容性討論

    代碼,以管理和控制底層硬件資源。RISC-V作為一種開(kāi)源的指令集架構(gòu),Linux內(nèi)核的移植提供了可能性。 然而,由于
    發(fā)表于 11-30 17:20

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

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

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

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

    rIsc-v的缺的是什么?

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

    RISC-V適合什么樣的應(yīng)用場(chǎng)景

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

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

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

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

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

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

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

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

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

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

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

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

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

    RISC-V開(kāi)放架構(gòu)設(shè)計(jì)之道|閱讀體驗(yàn)】+ 閱讀初體驗(yàn)

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