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

RISC-V 的原子擴展如何讓你具有了出色的位操作能力

發布時間:2022-4-14 10:52    發布者:eechina
關鍵詞: RISC-V , 原子擴展
來源:Digi-Key
作者:Bill Giovino

RISC-V 架構的使用量正滾雪球般地迅速增長,而且有充分的理由相信,這種架構在業內的影響力在逐步擴大。

除了內核架構及其真正的精簡指令集架構 (ISA) 外,該架構還通過一系列標準化擴展得到了增強 (圖 1) 。例如,按照所示擴展列表,將支持單精度浮點和壓縮指令的 32 位 RISC-V 內核 (RV32) 命名為 RV32FC。


圖 1:RISC-V ISA 通過一系列標準化指令擴展得到了增強,用內核名稱后的一個字母后綴表示。(圖片來源:RISC-V.org)

對于許多人工智能 (AI)、機器學習 (ML) 應用以及先進的嵌入式系統,四個最必要的擴展是整數乘除 (M) 、原子指令 (A) 、單精度浮點 (F) 和雙精度浮點 (D) 。然而,不是把內核指定為 RV32MAFD,而是把這些都歸入 G 后綴,如 RV32G。

關于各種擴展和 RISC-V 的更多信息,參見 Digi-Key 在EDU 網站上發布的 RISC-V 電子書。

就我個人而言,由于我對處理器的最初經驗是在深度嵌入式系統方面,我更傾向于密切關注架構對數據存儲器的“讀改寫位操作”的支持。對于這些應用,設置和清除外設寄存器和信號系統的位是很常見的事情。如果沒有原生位操作指令,內核需要把數據存儲器位置的內容復制到一個內核寄存器,分別使用 OR、AND 或 XOR 指令來設置、清除或切換位,然后把結果仍存儲在數據存儲器位置。這不僅需要額外的時間,而且在某些情況下,我看到有些嵌入式控制應用的代碼膨脹高達 20%。

對于有些應用來說,代碼膨脹和性能下降是可以接受的。然而在執行這三條指令時,一個中斷就能粗暴地將程序控制權從操作中移除,甚至更糟的是,多處理器系統中的另一個內核可能會從同一內存位置讀取數據。禁用中斷或鎖定存儲器以確保這些事件不會破壞數據存儲器,這要求另外的指令和可能會造成性能問題的復雜情況。

Arm 試圖通過實施“位綁定”來解決這些問題,這種方法對簡單的位操作有效。然而在我看來,RISC-V 已經實施了一種更巧妙、更靈活的解決方案。

為什么 Atomic 擴展如此巧妙

RISC-V A(原子)擴展支持兩種操作,一種是 Load-Reserved/Store-Conditional 指令(本文將不予討論);另一種是二進制/位操作指令,可實現對數據存儲器的簡單位操作。雖然 RISC-V B 位操作擴展支持一系列復雜的位控制指令,但 Atomic 擴展并不只是針對多處理器系統。它也有助于那些必要的位操作需求比較簡單的較小嵌入式系統。例如,Seeed Technology 的 114991684 雙核 64 位 RISC-V 模塊就屬于這種系統。該系統包含兩個 RV64GC 內核。這兩個內核需要很好地協調工作并共享數據 SRAM。

RISC-V A 擴展原子存儲器操作 (AMO) 的格式見圖 2。


圖 2:RISC-V 的 AMO 指令格式僅需一條指令即可支持對數據存儲器進行原子二進制操作。(圖片來源:RISC-V.org(通過 Bill Giovino 增強))

AMO 是一條強大的“讀改寫”指令,只需一條指令即可支持直接在 rs1 中指向的數據存儲器上進行各種不同的二進制操作。參照圖 2,該操作加載 rs1 中數據存儲器地址位置的內容,并將該值存儲在寄存器 rd 中。然后用 rs2 中的值對 rd 值進行二進制運算,并將結果保存回 rd 中,保存回在 rs1 的數據存儲器地址位置。

所支持的二進制操作有 OR(位設置) 、AND(位清除) 和 XOR(位切換) 。這允許直接在數據存儲器上對一個或多個位進行原子位操作。這也防止了兩個 RV64GC 內核同時使用同一個存儲器地址時出現存儲器沖突的問題。在配置存儲器中的外設寄存器時,這對小型嵌入式應用極為有用,并能簡化旗語標操作。

RISC-V AMO 還支持整數最大值、整數最小值和交換。此外,還支持允許直接進行二進制加法的二進制 ADD,包括直接增加數據存儲器中的計數器值。

RV64 內核同時支持 32 位和 64 位操作。對于 RV64 的位操作,重要的是它只對 64 位數據進行操作,因為該操作將對放置在 rd 中的 32 位數據進行符號擴展。

總結

RISC-V ISA 是第一個敢于挑戰 Arm ISA 的嚴肅競爭者。它的 ISA 擴展提供了一種標準化方法,通過能夠以經濟實惠的方式提升應用性能的指令來增強內核。我尤其對可選的 Atomic 擴展感興奮。

雖然對于多處理器系統來說很有用,而且幾乎是必須的,但原子擴展也是一種直接在數據存儲器上進行位操作控制的有效方法。與許多現有的架構相比,這種架構優勢顯著——減少代碼長度,提高性能。
本文地址:http://www.qingdxww.cn/thread-787595-1-1.html     【打印本頁】

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

廠商推薦

  • Microchip視頻專區
  • FPGA設計流程培訓教程
  • Chiptorials——如何使用ATECC608 TrustFLEX實現公鑰輪換
  • Chiptorials ——使用ATECC608 TrustFLEX實現基本非對稱身份驗證
  • Chiptorials ——如何將CryptoAuthLib庫用于Microchip安全身份驗證IC
  • 貿澤電子(Mouser)專區

相關視頻

關于我們  -  服務條款  -  使用指南  -  站點地圖  -  友情鏈接  -  聯系我們
電子工程網 © 版權所有   京ICP備16069177號 | 京公網安備11010502021702
快速回復 返回頂部 返回列表
主站蜘蛛池模板: 一 级 黄 色 片生活片 | 精品肉动漫资源在线观看 | 国内精品免费 | 久久国产成人 | 亚洲第一成年网 | 国产女人综合久久精品视 | 日本国产一区在线观看 | 羞羞视频免费网站欧美 | 亚洲综合偷自成人网第页 | 久久久久这里只有精品 | 国产欧美日本亚洲精品五区 | 在线视频一区二区三区三区不卡 | 成品人app下载官网 成品人app软件下载 | 视频在线观看国产 | 精品视频在线视频 | 在线视频日本 | 中文字幕一区二区三区在线播放 | 四虎永久精品视频在线 | 色在线视频免费 | 四虎国产欧美成人影院 | 亚洲欧美激情综合首页 | 午夜国产在线视频 | 四虎国产精品免费久久久 | 国产色网站| 亚洲成人观看 | 色综合久久88色综合天天小说 | 成人午夜视频免费看欧美 | 久热精品视频在线播放 | 免费99精品国产自在现线 | 4438a| 日本阿v精品视频在线观看 日本xxxxx高清免费观看 | 国产香蕉精品视频在 | 男女性高爱潮是免费 | 丁香六月在线 | 日本黄色大全 | 毛片福利| 99热99热| 日韩视频高清 | 一个色亚洲 | 精品综合久久久久久8888 | 黄色小说app下载 |