国产毛片a精品毛-国产毛片黄片-国产毛片久久国产-国产毛片久久精品-青娱乐极品在线-青娱乐精品

RISC-V 乘法擴展如何為 RV32I 增加高效 32 位乘法運算

發(fā)布時間:2022-4-13 11:17    發(fā)布者:eechina
關(guān)鍵詞: RISC-V , RV32I , 乘法運算
來源:Digi-Key
作者:Bill Giovino

RISC-V 指令集架構(gòu) (ISA) 于 2010 年在伯克利問世。雖然 RISC 代表精簡指令集計算機/內(nèi)核,但制造商在使用 RISC ISA 時,總會忍不住在這里添加一條指令,在那里添加一種新尋址模式,填充操作碼映射表,最后導(dǎo)致架構(gòu)更像是 CISC(復(fù)雜指令集計算機),而不是 RISC。不過,伯克利的 RISC-V 開發(fā)人員非常嚴格地要求他們的內(nèi)核是真正的 RISC。RV32I RISC-V ISA 在最初設(shè)計時僅有 47 條基礎(chǔ)指令(這個數(shù)字對《星際迷航》的傳統(tǒng)影迷有一種特殊的意義),11 年之后,指令數(shù)還是這么多。

之所以保持較少的基礎(chǔ)指令數(shù),其原本的理念是復(fù)雜 CISC 指令可以通過一系列的簡單 RISC 指令實現(xiàn)。按照我的經(jīng)驗,這種做法是否能夠提高代碼效率和精簡代碼,要取決于應(yīng)用。過去它確實發(fā)揮過這樣的作用,以至于 Arm 將很多復(fù)雜指令添加到操作碼映射表。

雖然更多指令能夠幫助改進性能,但如果在 32 位內(nèi)核上運行 32 位指令,然后您希望能夠?qū)⒁恍?32 位指令壓縮為 16 位指令以節(jié)省空間,那么情況會變得更加復(fù)雜。然而,若要增加 16 位指令,內(nèi)核的操作碼映射表必須具有更多空間來容納這些壓縮指令,而增加 CISC 指令會減少可用操作碼數(shù)量。

在這種情況下,RISC-V 的優(yōu)勢真正得以發(fā)揮。Arm 后來增加了 Thumb2 壓縮指令格式,通過添加單獨的 16 位 ISA,將這些 16 位指令整合到現(xiàn)有的 ISA 中。但是,RISC-V ISA 從一開始設(shè)計時就提供了壓縮指令的選項,因而僅有一個 ISA。這樣可以使內(nèi)核保持簡單高效,也可以簡化半導(dǎo)體設(shè)計和測試。

利用乘法指令增強 RISC-V RV32I ISA

制造商可通過添加標準化指令擴展來擴展 47 條指令的 ISA(圖 1)。由于基礎(chǔ) ISA 沒有乘法或除法指令,因此 M 擴展提供了這種功能。例如,帶有 M 擴展的 RV32I 會被命名為 RV32IM。


圖 1:通過添加標準化指令擴展(用內(nèi)核名稱后的字母后綴表示),可擴展 47 條指令的 RISC-V 基礎(chǔ) ISA。(圖片來源:RISC-V.org)

一個帶有 M 擴展的內(nèi)核示例是 SparkFun Electronics 的 RED-V Thing Plus,它采用開源 150 MHz Freedom E310 (FE310) 32 位 RISC-V 微控制器。該 FE310 內(nèi)核被命名為 RV32IMAC。請參考圖 1,除了基礎(chǔ)整數(shù)計算 (I) 能力之外,它還支持整數(shù)乘法 (M)、原子指令 (A) 和壓縮指令 (C)。

SparkFun 的 DEV-15799 RED-V(讀作“紅 5”)是一款 RISC-V 評估板(圖 2),搭載 32 MB 的程序存儲器 QSPI 閃存,帶有 USB-C 連接器,可連接到主機以獲取電源并進行編程和調(diào)試。另外還有一個連接器,可用于通過電池供電。


圖 2:SparkFun DEV-15799 評估板用于評估開源 150 MHz FE310 RV32IMAC RISC-V 內(nèi)核。它通過 USB-C 接口連接到主機。(圖片來源:SparkFun Electronics)

M 擴展增加了有符號和無符號 32/32 除法指令 DIV 和 DIVU,以及有符號和無符號求余指令 REM 和 REMU。它還增加了四條乘法指令:

· MUL 執(zhí)行 32 x 32 寄存器乘法,將 64 位結(jié)果的低 32 位存儲在寄存器中。
· MULH 和 MULHU 分別執(zhí)行有符號和無符號寄存器乘法,將 64 位結(jié)果的高 32 位存儲在寄存器中。
· MULSHU 執(zhí)行有符號 x 無符號寄存器乘法,將 64 位結(jié)果的高 32 位存儲在寄存器中。

因此,對于 32 x 32 = 64 無符號乘法,推薦的代碼序列為:



其中寄存器 rs1 和 rs2 分別是被乘數(shù)和乘數(shù),寄存器 rdh 和 rdl 分別是高 32 位和低 32 位結(jié)果。

通過將 64 位乘法結(jié)果分為兩個 32 位運算,ISA 便不需要添加復(fù)雜的 32 x 32 = 64 CISC 指令。這符合使用簡單指令來執(zhí)行 CISC 運算的 RISC 理念。

基礎(chǔ) RV32I ISA 中的大多數(shù)指令的執(zhí)行僅需要 1 個指令時鐘周期,但 RED-V FE310 中的這些乘法指令需要 5 個時鐘周期。這樣推算,上面的推薦代碼序列需要 10 個時鐘周期。雖然這在 150 MHz 頻率下是可以接受的,但我見過一些功耗非常低、時鐘速度非常慢的微控制器應(yīng)用,中斷在這些應(yīng)用中至關(guān)重要,若在 5 MHz 的頻率下執(zhí)行 10 個時鐘周期的乘法,關(guān)鍵中斷是等不起這么長時間的。在此類情況下,我看到一些固件開發(fā)人員使用允許中斷的復(fù)雜匯編語言子例程來執(zhí)行乘法。

然而,F(xiàn)E310 內(nèi)核能夠接受連續(xù)指令,并通過宏融合,將這些指令內(nèi)部融合為一條更快的指令。內(nèi)核微架構(gòu)可將兩條指令融合為一條內(nèi)部指令,這樣其執(zhí)行就不需要 10 個時鐘周期。RISC-V 微架構(gòu)自動對一些代碼序列進行融合,例如 indexed loads、load-pair 和 store-pair 指令,從而顯著加快執(zhí)行速度。更大的好處是,由于 FE310 支持“C”擴展,可以融合兩條兼容的 16 位壓縮指令,因而在代碼和執(zhí)行速度方面都具備優(yōu)勢。

Arm 后來才在他們的架構(gòu)中增加了宏融合,就像壓縮指令那樣,而 RISC-V 從一開始就在設(shè)計中提供宏融合。要真正了解代碼壓縮的優(yōu)勢,以及宏融合發(fā)生的時機,最好的方法是使用 SparkFun DEV-15799 等評估板來觀察這些行為。您可在調(diào)試器中檢測代碼,了解 FE310 微架構(gòu)如何提取和執(zhí)行每條指令。這樣您就能更好地了解匯編語言的行為,幫助您使用支持代碼壓縮和宏融合的 C 編譯器來編寫高效的代碼。

結(jié)語

讓人引以為傲是,RISC-V ISA 僅有 47 條基礎(chǔ)指令,是真正的精簡指令集。使用“M”乘法擴展等標準化擴展,可以增加乘法和除法指令,從而增強這種架構(gòu)。宏融合是 RISC-V 架構(gòu)固有的功能,可以加快兼容指令的代碼執(zhí)行速度,例如連續(xù)乘法指令,而“C”壓縮擴展則可精簡代碼。相比其他架構(gòu),壓縮指令和宏融合都能帶來顯著的性能優(yōu)勢。
本文地址:http://m.qingdxww.cn/thread-787501-1-1.html     【打印本頁】

本站部分文章為轉(zhuǎn)載或網(wǎng)友發(fā)布,目的在于傳遞和分享信息,并不代表本網(wǎng)贊同其觀點和對其真實性負責(zé);文章版權(quán)歸原作者及原出處所有,如涉及作品內(nèi)容、版權(quán)和其它問題,我們將根據(jù)著作權(quán)人的要求,第一時間更正或刪除。
您需要登錄后才可以發(fā)表評論 登錄 | 立即注冊

廠商推薦

  • Microchip視頻專區(qū)
  • Chiptorials——如何使用ATECC608 TrustFLEX實現(xiàn)公鑰輪換
  • 無線充電基礎(chǔ)知識及應(yīng)用培訓(xùn)教程
  • Chiptorials ——如何將CryptoAuthLib庫用于Microchip安全身份驗證IC
  • Chiptorials ——使用ATECC608 TrustFLEX實現(xiàn)基本非對稱身份驗證
  • 貿(mào)澤電子(Mouser)專區(qū)

相關(guān)視頻

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權(quán)所有   京ICP備16069177號 | 京公網(wǎng)安備11010502021702
快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 色综合天天综合给合国产 | 老子影院午夜精品欧美视频 | 亚洲韩国日本欧美一区二区三区 | 欧美女人性视频 | www.国产成人| 日韩高清在线二区 | 国产成人免费观看 | 亚洲欧美日韩中文综合v日本 | 不卡无毒免费毛片视频观看 | 国产免费啪视频观看网站 | 最新版天堂资源中文下载 | 亚洲 欧美 另类中文字幕 | 色在线免费视频 | 久久中文字幕不卡一二区 | 色婷婷综合久久久 | 狠狠插网站 | 一级做a爰视频免费观看2019 | 97在线观看免费观看高清 | 在线亚洲+欧美+日本专区 | 在线免费观看黄页 | 91成人福利 | 亚洲一区二区三区日本久久九 | 国内精品视频 | 青青影视 | 日本三级网站在线观看 | 青青草久热精品视频在线观看 | 国产午夜视频在线观看第四页 | 欧美日韩一二三四区 | 免费高清欧美大片在线观看 | 亚洲欧洲日韩在线 | 日本成人精品 | 国产精品中文字幕在线观看 | 亚洲视频91 | 欧美成在线观看 | 日韩欧美中文字幕一区二区三区 | 亚洲动漫在线观看 | 九九精品在线视频 | 91香蕉视频在线播放 | jjzzjjzzjjzz| 视频一区二区国产 | 久久美女网 |