推薦資料
RISC-V Reader / RISC-V開放架構設計之道,適合新手閱讀。
概述
RISC-V的模塊化到底是如何實現的呢?
核心部分:RV32I,代表32位字長的整型指令集(Integer),包含了許多整型指令如load指令把數據加載入寄存器中,add sub指令將兩個寄存器中的數據求和或求差,store指令將數據從寄存器寫回內存中。這個部分是RISC-V的固定部分,RV芯片必須包含并實現這一部分。
其他模塊是可選模塊,開發者按需實現。如RV32M乘除擴展,RV32F/RV32D包括float和double浮點數處理擴展,RV32A用于一些原子擴展,RV32V用于并行操作的高性能向量擴展,適合用于需要大規模并行數據處理的應用,如機器學習和大數據分析。
除32位字長指令集之外,還有一些擴展版,如RV64M,RV64F,RV64D,用于進行64位字長數據/寄存器操作。
指令集結合規則
RV+字長+所有包含的擴展
RV [32, 64, 128]
I, M, A, F, D, G, Q, L, C, B, J, T, P, V, N
比如:我想要實現一個支持I,M,A,D,F擴展的RV芯片,合起來被叫做:RV32IMAFD。IMAFD是一個比較常用的組合,因此也叫做RV32G。
參考資料
RISC-V-Reader-Chinese-v2p12017.pdf (ustc.edu.cn)
RISC-V Architecture: A Comprehensive Guide to the Open-Source ISA (wevolver.com)
Standard Extensions - RISC-V - WikiChip