Synopsys ARC-V 處理器中的高級指令融合引入了一種新型機制,用于融合常見的 RISC-V 指令對,旨在提高處理器流水線效率,特別是針對資源受限的嵌入式處理器。通過融合來自不同功能單元的指令, 它將單發(fā)射、順序執(zhí)行的處理器擴展為雙指令發(fā)射。
重要的是,該機制并未引入新的指令,完全兼容 RISC-V 架構(gòu),并且對軟件透明,確保與現(xiàn)有軟件和硬件環(huán)境的無縫集成。通過減少流水線開銷并簡化指令處理,高級指令融合顯著提升嵌入式處理的效率。
該方法還具備可適應(yīng)的設(shè)計原則,可以從雙指令融合擴展到多指令融合,從而惠及整個生態(tài)系統(tǒng)中的 RISC-V 處理器實現(xiàn)。
嵌入式 RISC-V 設(shè)計面臨的挑戰(zhàn)
隨著嵌入式系統(tǒng)不斷演進(jìn),設(shè)計人員面臨在嚴(yán)格的功耗和成本限制下實現(xiàn)更高性能和日益異構(gòu)的處理架構(gòu)的挑戰(zhàn)。這一轉(zhuǎn)變部分源于邊緣人工智能(Edge AI)的快速擴展,越來越多的工作負(fù)載被推向數(shù)據(jù)源附近,這要求更智能、更強大的嵌入式解決方案。
與此同時,開放標(biāo)準(zhǔn)的 RISC-V 架構(gòu)正在獲得廣泛推動,尤其在微控制器單元(MCU)領(lǐng)域,其采用率和出貨量處于領(lǐng)先地位。這些處理器必須在滿足極端功耗、安全性和可靠性標(biāo)準(zhǔn)的同時,支持邊緣復(fù)雜的工作負(fù)載。
RISC-V 指令集架構(gòu)(ISA)設(shè)計為簡潔且模塊化,使用大量簡單指令可以降低 CPU 功耗和面積。然而,這種指令冗余可能帶來性能限制,因為復(fù)雜操作需要更多周期來完成。
雖然雙發(fā)射、多發(fā)射以及亂序執(zhí)行等技術(shù)可以提升每周期指令數(shù)(IPC)和性能,但它們通常會增加面積需求,這對資源受限的嵌入式處理器來說是一個挑戰(zhàn)。
指令融合是一項眾所周知的技術(shù),它利用可用的硬件資源來增加指令級并行性(ILP)。指令融合以最小的面積開銷提升 ILP 和 CPU 性能,特別適用于在小型、順序執(zhí)行的處理器中提高性能密度。
本文描述了一種新穎的高級指令融合技術(shù),用于在微架構(gòu)層面融合成對的 RISC-V 指令。該技術(shù)在避免引入單獨的流水線的前提下,實現(xiàn)了雙發(fā)射處理器的主要效率優(yōu)勢,同時保持 RISC-V 兼容性。
什么是高級指令融合?
架構(gòu)級融合 vs 微架構(gòu)級融合
某些指令集在架構(gòu)級別融合指令,另一些指令集則在微架構(gòu)/實現(xiàn)層面進(jìn)行指令融合。典型示例包括加載/存儲對以及帶自動增量的加載/存儲。在某些指令集(例如:ARM 和 ARC)中,這些在架構(gòu)級別融合,即:這些操作由單條指令完成。其他指令集(例如:RISC-V)則采取不同的方法,保持架構(gòu)指令簡潔,將融合操作交由微架構(gòu)實現(xiàn)。
微架構(gòu)級融合相比架構(gòu)級融合的主要優(yōu)勢包括:
微架構(gòu)級融合能夠?qū)崿F(xiàn)更激進(jìn)的優(yōu)化,例如即使內(nèi)存地址不連續(xù)也可以融合加載指令對
不同 ISA 之間的二進(jìn)制兼容性更易維護(hù),因為簡單或小型處理器無需實現(xiàn)指令融合
在微架構(gòu)級別實現(xiàn)融合要求處理器具有足夠的指令獲取帶寬。簡單的 RISC ISA(例如:RISC-V)比較冗長,因此比在架構(gòu)級別執(zhí)行指令融合的 ISA 消耗更多指令獲取帶寬。
簡單的順序單發(fā)射處理器每周期的指令獲取帶寬通常不超過 4 字節(jié)。這對微架構(gòu)融合構(gòu)成了嚴(yán)重限制。大多數(shù)融合對需要 16 位壓縮指令。因此,在資源受限的嵌入式處理器中利用微架構(gòu)融合的第一步是增加其指令獲取帶寬。
實現(xiàn)細(xì)節(jié)
資源受限的 RISC-V 設(shè)計中的高級指令融合
傳統(tǒng)的融合指令對不需要額外的寄存器文件讀寫帶寬。與其他 RISC-V 指令一樣,一個融合指令對最多從寄存器文件讀取兩個源操作數(shù),并產(chǎn)生一個結(jié)果。
然而,某些融合指令對候選會打破這一規(guī)則:
加載雙指令(Load-double):融合兩個加載指令時,需要兩個寄存器寫端口
存儲雙指令(Store-double):融合兩個存儲指令時,需要三個寄存器讀端口(存儲指令有一個公共基地址,但每個存儲指令需要獨立的存儲數(shù)據(jù)操作數(shù))
乘加指令(MAC):融合乘法和加法時,需要三個寄存器文件讀端口
要利用這些高級融合指令對(雙加載、雙存儲和 MAC),需要額外的硬件資源。更具體地說:寄存器文件應(yīng)能夠提供三個源操作數(shù),并增加第二個寄存器寫端口。
高級指令融合技術(shù)增加了額外的硬件資源,并提高了其利用率。它通過利用微架構(gòu)融合框架,在順序執(zhí)行處理器上實現(xiàn)了有限的雙發(fā)射能力。采用這種方法,任何映射到不同的功能單元、最多需要三個源操作數(shù)、并且最多產(chǎn)生兩個目標(biāo)寄存器的兩個獨立的指令,都可以被視為高級融合(雙發(fā)射)候選對。
這些指令在前端通過預(yù)解碼的操作碼和寄存器操作數(shù)標(biāo)識符進(jìn)行融合。預(yù)解碼的寄存器操作數(shù)標(biāo)識符用于檢測高級融合指令對之間是否存在數(shù)據(jù)依賴關(guān)系。解碼器被增強以接收融合指令的附加信息,但不會被復(fù)制。融合指令對中的每條指令被分發(fā)至對應(yīng)的功能單元。處理器的后端指令融合基本無感,除了增加架構(gòu) PC 和處理由融合指令觸發(fā)的異常之外,不需要引入單獨的流水線。
圖 1 展示了帶有高級指令融合的 RISC-V 處理器前端的典型實現(xiàn)。一些示例包括以下指令對:LOAD+ALU、LOAD+BR、LOAD+MPY、ST+BR、ST+ALU。

性能結(jié)果
Pollack 定律指出,微架構(gòu)增強帶來的性能提升通常隨復(fù)雜度增加的平方根增長。圖 2 顯示,對于 Synopsys ARC-V RMX(一款帶有高級指令融合的 RISC-V 嵌入式處理器),測得的 CoreMark/MHz 表明其性能提升與硅面積呈線性關(guān)系,帶來了更大的性能優(yōu)勢。此外,由于高級指令融合僅產(chǎn)生固定的面積開銷,性能密度的提升也更加顯著。

結(jié)論
高級指令融合為在資源受限的嵌入式系統(tǒng)中提供了一種有效提升處理器流水線效率的方法,其核心是融合常見的 RISC-V 指令對。該技術(shù)在不引入新指令或需要軟件修改的前提下,通過在單發(fā)射、順序執(zhí)行處理器上實現(xiàn)來自不同功能單元的指令融合,完成雙指令發(fā)射,實現(xiàn)了顯著的性能提升,并完全兼容 RISC-V 架構(gòu)。流水線開銷降低和簡化指令處理帶來了顯著的效率提升,同時這種可擴展的設(shè)計支持未來擴展到多指令融合。總體而言,高級指令融合為整個 RISC-V 生態(tài)系統(tǒng)中高效提升處理器性能提供了一種實用且可擴展的解決方案。

關(guān)鍵要點
理想的嵌入式系統(tǒng)設(shè)計:該技術(shù)專為面積和功耗受限的小型、順序執(zhí)行處理器設(shè)計,適用于無法采用傳統(tǒng)多發(fā)射或亂序架構(gòu)的場景。
無需更改 ISA 即可提升性能:高級指令融合在不引入新指令或破壞 RISC-V 兼容性的情況下,提高 IPC 和流水線效率。
微架構(gòu)級融合優(yōu)勢:相比架構(gòu)級融合,在微架構(gòu)級別進(jìn)行融合支持更靈活、更激進(jìn)的優(yōu)化策略。
硬件高效雙發(fā)射:通過融合來自不同功能單元的指令,實現(xiàn)雙指令發(fā)射,僅需適度增加硬件資源,如增加寄存器端口。
可擴展設(shè)計:融合框架具有適應(yīng)性,可擴展支持多指令融合,推動在整個 RISC-V 生態(tài)系統(tǒng)中更廣泛采用。
-
處理器
+關(guān)注
關(guān)注
68文章
20255瀏覽量
252295 -
嵌入式
+關(guān)注
關(guān)注
5198文章
20449瀏覽量
334061 -
指令
+關(guān)注
關(guān)注
1文章
623瀏覽量
37536 -
RISC-V
+關(guān)注
關(guān)注
48文章
2886瀏覽量
53007
原文標(biāo)題:突破能效瓶頸:RISC-V 高級指令融合如何實現(xiàn)性能密度躍升
文章出處:【微信號:Synopsys_CN,微信公眾號:新思科技】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
【RISC-V開放架構(gòu)設(shè)計之道|閱讀體驗】RISC-V基礎(chǔ)整數(shù)指令集
RISC-V的MCU與ARM對比
rIsc-v的缺的是什么?
RISC-V指令集的特點總結(jié)
RISC-V指令集概述
關(guān)于RISC-V芯片的應(yīng)用學(xué)習(xí)總結(jié)
RISC-V B擴展介紹及實現(xiàn)
RISC-V有哪些特點
一文看懂RISC-V代碼密度
什么是RISC-V? RISC-V指令具有哪些特點應(yīng)用?
優(yōu)化的關(guān)鍵,RISC-V中的性能監(jiān)控
risc-v是什么意思
為什么做開源高性能RISC-v核,香山開源高性能RISC-V處理器開發(fā)流程
risc-v中國峰會直播:如何優(yōu)化RISC-V指令集架構(gòu)的代碼密度?
第一屆RISC-V中國峰會看點 risc-v開發(fā)要怎么優(yōu)化risc-v指令集架構(gòu)代碼密度
RISC-V高級指令融合如何實現(xiàn)性能密度躍升
評論