複製鏈接
請複製以下鏈接發送給好友

RISC-V

鎖定
RISC-V(發音為“risk-five”)是一個基於精簡指令集(RISC)原則的開源指令集架構(ISA)。
與大多數指令集相比,RISC-V指令集可以自由地用於任何目的,允許任何人設計、製造和銷售RISC-V芯片軟件。雖然這不是第一個開源指令集,但它具有重要意義,因為其設計使其適用於現代計算設備(如倉庫規模雲計算機、高端移動電話和微小嵌入式系統)。設計者考慮到了這些用途中的性能與功率效率。該指令集還具有眾多支持的軟件,這解決了新指令集通常的弱點。
該項目2010年始於加州大學伯克利分校,但許多貢獻者是該大學以外的志願者和行業工作者。
RISC-V指令集的設計考慮了小型、快速、低功耗的現實情況來實做,但並沒有對特定的微架構做過度的設計。
截至2017年5月,RISC-V已經確立了版本2.22的用户空間的指令集(userspace ISA),而特權指令集(privileged ISA)也處在草案版本1.10。
2022年6 月 21 日,RISC-V 國際組織宣佈了 2022 年的首批四項規格和擴展的批准 ——RISC-V 高效跟蹤(E-Trace)、RISC-V 主管二進制接口(SBI)、RISC-V 統一可擴展固件接口(UEFI)規格,以及 RISC-V Zmmul 純乘法擴展。 [3] 
中文名
RISC-V指令集
外文名
RISC-V instruction set architecture
屬    性
指令集架構
作    者
加利福尼亞大學伯克利分校
基    準
精簡指令集
應用領域
倉庫規模雲計算機、高端移動電話和微小嵌入式系統

目錄

RISC-V簡介

RISC-V(讀作“RISC-FIVE”)是基於精簡指令集計算(RISC)原理建立的開放指令集架構(ISA),V表示為第五代RISC(精簡指令集計算機),表示此前已經有四代RISC處理器原型芯片。每一代RISC處理器都是在同一人帶領下完成,那就是加州大學伯克利分校的David A. Patterson教授。與大多數ISA相反,RISC-V ISA可以免費地用於所有希望的設備中,允許任何人設計、製造和銷售RISC-V芯片和軟件。圖1展示了此前的四代RISC處理器原型芯片。它雖然不是第一個開源的指令集(ISA),但它很重要,因為它是第一個被設計成可以根據具體場景、可以選擇適合的指令集的指令集架構。基於RISC-V指令集架構可以設計服務器CPU,家用電器cpu,工控cpu和用在比指頭小的傳感器中的cpu。

RISC-V特色

完全開源
對指令集使用,RISC-V基金會不收取高額的授權費。開源採用寬鬆的BSD協議,企業完全自由免費使用,同時也容許企業添加自有指令集拓展而不必開放共享以實現差異化發展。
架構簡單
RISC-V架構秉承簡單的設計哲學。體現為:
在處理器領域,主流的架構為x86ARM架構。x86與ARM架構的發展的過程也伴隨了現代處理器架構技術的不斷髮展成熟,但作為商用的架構,為了能夠保持架構的向後兼容性,其不得不保留許多過時的定義,導致其指令數目多,指令冗餘嚴重,文檔數量龐大,所以要在這些架構上開發新的操作系統或者直接開發應用門檻很高。而RISC-V架構則能完全拋棄包袱,藉助計算機體系結構經過多年的發展已經成為比較成熟的技術的優勢,從輕上路。RISC-V基礎指令集則只有40多條,加上其他的模塊化擴展指令總共幾十條指令。 RISC-V的規範文檔僅有145頁,而“特權架構文檔”的篇幅也僅為91頁。
易於移植*nix
現代操作系統都做了特權級指令和用户級指令的分離,特權指令只能操作系統調用,而用户級指令才能在用户模式調用,保障操作系統的穩定。RISC-V提供了特權級指令和用户級指令,同時提供了詳細的RISC-V特權級指令規範和RISC-V用户級指令規範的詳細信息,使開發者能非常方便的移植linux和unix系統到RISC-V平台。
模塊化設計
RISC-V架構不僅短小精悍,而且其不同的部分還能以模塊化的方式組織在一起,從而試圖通過一套統一的架構滿足各種不同的應用場景。用户能夠靈活選擇不同的模塊組合,來實現自己定製化設備的需要,比如針對於小面積低功耗嵌入式場景,用户可以選擇RV32IC組合的指令集,僅使用Machine Mode(機器模式);而高性能應用操作系統場景則可以選擇譬如RV32IMFDC的指令集,使用Machine Mode(機器模式)與User Mode(用户模式)兩種模式。
完整的工具鏈
對於設計CPU來説,工具鏈是軟件開發人員和cpu交互的窗口,沒有工具鏈,對軟件開發人員開發軟件要求很高,甚至軟件開發者無法讓cpu工作起來。在cpu設計中,工具鏈的開發是一個需要巨大工作量的工作。如果用RISC-V來設計芯片,芯片設計公司不再擔心工具鏈問題,只需專注於芯片設計,RISC-V社區已經提供了完整的工具鏈,並且RISC-V基金會持續維護該工具鏈。當前RISC-V的支持已經合併到主要的工具中,比如編譯工具鏈gcc, 仿真工具qemu等
開源實現
BOOM: Christopher Celio的RV64亂序處理器實現。Chisel, BSD Licensed。[GitHub][Doc]
BottleRocket: RV32IMC微處理器。Chisel, Apache Licensed。 [GitHub]
bwitherspoon: RV32微處理器。SystemVerilog, ISC Licensed。[GitHub]
Clarvi: 劍橋大學教學用RISC-V處理器。SystemVerilog, BSD Licensed。[GitHub]
F32: 針對FPGA的RV32微處理器,VHDL,BSD Licensed。[GitHub]
GRVI: Gray Research LLC. 針對FPGA優化的RV32微處理器,commercial licensed。[Web]
Hummingbird E200. 二級流水線,目標替代Cortex-M0/8051, Verilog, Apache 2.0 licensed。[GitHub]
invicta: 一級流水線的RV32微處理器。Verilog,BSD Licensed。[GitHub]
Kamikaze: RV32微處理器。Verilog,MIT Liencensed。[GitHub]
KCP53000: Samuel A. Falvo II的RV64處理器實現。Verilog, MPL Licensed。[GitHub]
nanorv32: 2機流水線的RV32實現。Verilog, GPLv2 Licensed。[GitHub]
OpenV: 支持RV32的開源微處理器,Verilog,MIT Licensed,OnChipUIS,來源於哥倫比亞的Universidad Industrial de Santander。[GitHub]
ORCA: 支持RV32的開源微處理器,VHDL,BSD Licensed,VectorBlox。[Github]
PicoRV32: Clifford Wolf設計的(針對FPGA)RV32微處理器,Verilog,ISC Licensed。[GitHub]
Potato: 針對FPGA的RV32微處理器。VHDL,BSD Licensed。[GitHub]
RI5CY:支持RV32的開源微處理器
  • PULPino: SystemVerilog,Solderpad Licensed, 來源於蘇黎世理工和博洛尼亞大學的PULP項目。[GitHub][Web]
River: GNSS Senor Ltd.基於Rocket架構開發的RV64處理器。VHDL, BSD Licensed。[GitHub]
Rocket: 支持RV64/32的開源處理器
  • Rocket-Chip: Chisel,BSD Licensed, Free chips project, UC Berkeley分離的開源工程。[GitHub]
  • Freedom: Chisel,Apache Licensed, SiFive, UC Berkeley分離的初創企業。[GitHub][Web]
  • lowRISC:Chisel+SystemVerilog,Solderpad Licensed, 從劍橋大學發起的非盈利組織。[GitHub][Web]
  • RoCC: the Rocket customized coprocessor interface 和Rocket處理器緊密互聯的的協處理器接口。[BSG]
RV12: RoaLogic的RV32微處理器。Verilog, RoaLogic non-commercial Licensed。[GitHub]
SCR1: Syntacore的RV32開源微處理器。SystemVerilog,Solerpad Licensed。[GitHub]
SHAKTI:印度IIT-Madras的RISC-V處理器系列,Bluespec, BSD Licensed。[Bitbucket]
Sodor: 教學用的RISC-V處理器。Chisel, BSD Licensed。[GitHub]
uRV: 針對FPGA的RV32微處理器。Verilog,LGPLv3 Licensed.[ohwr]
VexRiscv: 用SpinalHDL編寫的針對FPGA的RV32微處理器。SpinalHDL, MIT Licensed。[GitHub]
YARVI: Tommy Thorn設計的RV32I微處理器,Verilog,GPL2v Licensed。[GitHub]
成功的流片案例
已經有機構和商業公司流片的案例。可關注RISC-V社區瞭解具體信息。
社區貢獻
完整的工具鏈維護,大量的開源項目。risc-v的google討論組(名稱:RISC-V ISA Dev)吸引各地自願者參與討論來不斷改進risc-v架構。 [1] 

RISC-V最新資訊

2022年3月16日,嵌入式開發軟件和服務的全球領導者IAR Systems日前宣佈:其專業開發工具鏈IAR Embedded Workbench® for RISC-V現已支持64位RISC-V內核。憑藉此次在內核支持能力方面的擴展,IAR Systems在為RISC-V提供專業開發解決方案方面繼續走在前沿。 [2] 
2023年10月,高通宣佈與谷歌合作,採用基於RISC-V技術的芯片製造智能手錶等可穿戴設備。高通計劃在全球範圍內實現基於RISC-V的可穿戴設備解決方案商業化,包括美國。 [4] 
2023年11月21日,玄鐵RISC-V推出C907、C920、R910三款處理器新品。其中玄鐵C920支持最新Vector1.0標準,較上代提升最高3.8倍AI性能,可跑Transformer模型,適合機器學習、自動駕駛等領域;玄鐵C907首次實現了獨立矩陣運算擴展,提高計算密度和計算並行能力;R910同時支持Cache以及TCM存儲架構,提升系統實時性, 可應用於存儲控制、網絡通信、自動駕駛等領域。至此玄鐵RISC-V處理器家族更新增至9款。 [5] 
參考資料