开源RISC-V指令集架构深度解析
📚 共计 30 章节
01
RISC-V 前世今生
开源指令集的诞生背景、与ARM/x86的对比、RISC-V 基金会与生态现状。
起源
对比
生态
02
开发环境搭建
RISC-V GNU工具链编译、QEMU模拟器安装、Spike模拟器使用、Hello World程序验证。
工具链
模拟器
验证
03
指令格式精讲
R/I/S/B/U/J六种基本指令格式、立即数编码规则、指令长度与对齐。
格式
编码
对齐
04
RV32I基础整数指令集 (上)
算术运算指令(ADD/SUB/ADDI)、逻辑运算指令(AND/OR/XOR)、移位指令(SLL/SRL/SRA)。
算术
逻辑
移位
05
RV32I基础整数指令集 (下)
加载存储指令(LB/LH/LW/SB/SH/SW)、分支指令(BEQ/BNE/BLT/BGE/BLTU/BGEU)、跳转指令(JAL/JALR)。
访存
分支
跳转
06
RV32I基础整数指令集 (补充)
CSR系统指令、环境调用与断点(ECALL/EBREAK)、FENCE指令、内存序模型。
CSR
环境调用
内存序
07
RV64I 64位扩展
64位指令集差异、字长扩展指令(ADDIW/SLLIW等)、64位加载存储、32位兼容模式。
64位
扩展
兼容
08
M扩展乘除法指令
MUL/MULH/MULHSU/MULHU、DIV/DIVU/REM/REMU、乘法器与除法器硬件实现考量。
乘除
硬件
实现
09
A扩展原子指令
LR/SC指令对、AMO原子操作(AMOSWAP/AMOADD等)、锁与同步原语实现。
原子
同步
锁
10
F扩展单精度浮点
浮点寄存器f0-f31、浮点加载存储(FLW/FSW)、浮点运算指令(FADD.S/FMUL.S等)、浮点比较与转换。
浮点
单精度
运算
11
D扩展双精度浮点
双精度指令集扩展、与单精度的互操作、浮点异常处理、舍入模式控制。
双精度
异常
舍入
12
C扩展压缩指令集
16位压缩指令格式、常用压缩指令(C.ADDI/C.LW/C.SW等)、代码密度优化分析。
压缩
密度
优化
13
特权架构概述
机器模式(M-mode)、监管模式(S-mode)、用户模式(U-mode)、异常与中断处理流程。
特权级
异常
中断
14
机器模式核心功能
机器模式CSR寄存器(mstatus/mcause/mepc等)、物理内存保护(PMP)、启动流程。
M-mode
PMP
启动
15
监管模式与虚拟内存
监管模式CSR(satp/stvec/scause等)、页表机制(Sv32/Sv39/Sv48)、TLB管理。
S-mode
页表
TLB
16
中断与异常处理
中断控制器(CLINT/PLIC)、中断委托机制、NMI处理、异常向量表设计。
中断
PLIC
向量表
17
RISC-V ABI与调用约定
函数调用规范、参数传递规则、栈帧布局、红区(Red Zone)机制。
ABI
栈帧
红区
18
链接脚本与内存布局
链接脚本语法、内存区域定义、段布局(.text/.data/.bss)、位置无关代码(PIC)。
链接
内存布局
PIC
19
启动代码与裸机编程
启动汇编代码编写、BSS段清零、栈指针初始化、跳转到main函数。
启动
裸机
BSS
20
RISC-V GCC内联汇编
基本内联汇编语法、扩展内联汇编、约束修饰符、volatile关键字使用。
内联汇编
GCC
约束
21
RISC-V 汇编语言编程
汇编伪指令、宏定义、条件汇编、与C语言混合编程。
汇编
伪指令
混合编程
22
RISC-V 性能计数器
硬件性能计数器(cycle/instret/hpmcounter)、性能分析工具、优化指导。
性能
计数器
优化
23
向量扩展(V扩展)基础
向量寄存器v0-v31、向量长度控制(vlenb/vsetvli)、向量加载存储。
向量
长度
加载存储
24
向量扩展(V扩展)进阶
向量算术运算、归约操作、掩码操作、向量化编程技巧。
算术
归约
掩码
25
RISC-V 安全扩展
PMP增强、物理内存加密(PMP)、可信执行环境(TEE)基础、M-mode安全监控。
安全
TEE
PMP
26
RISC-V 调试规范
调试模式(Debug Mode)、硬件断点、触发器(Trigger Module)、JTAG接口。
调试
断点
JTAG
27
RISC-V 总线与接口
TileLink协议基础、AXI4与TileLink对比、总线矩阵设计、外设地址映射。
总线
TileLink
地址映射
28
RISC-V 多核与一致性
多核启动流程、缓存一致性协议(MOESI)、原子操作与锁实现、核间中断(IPI)。
多核
一致性
IPI
29
RISC-V 软核实现入门
Chisel/Verilog基础、五级流水线CPU设计要点、指令译码器实现、写回与转发。
软核
流水线
译码
30
RISC-V 生态与未来
RISC-V国际基金会、商业与开源IP核(Rocket/Cores-SweRV/VexRiscv)、RISC-V在AI/IoT领域的应用前景。
生态
IP核
AI/IoT