RISC-V开源处理器架构从零到一

📚 共计 30 章节
01
RISC-V 前世今生
开源指令集的诞生背景、与ARM/x86的对比、为什么选择RISC-V。
背景对比
02
开发环境搭建
Verilog/SystemVerilog工具链、RISC-V GCC、仿真环境安装配置。
工具链仿真
03
数字逻辑基础速通
组合逻辑与时序逻辑、触发器与锁存器、有限状态机设计要点。
数字电路FSM
04
处理器微架构概览
取指、译码、执行、访存、写回五级流水线,数据通路与控制通路分离。
流水线架构
05
RISC-V 指令集精讲 (上)
RV32I基础整数指令集,R-type、I-type、S-type、B-type、U-type、J-type格式。
RV32I指令格式
06
RISC-V 指令集精讲 (下)
M扩展乘除法、F/D浮点指令简介、特权架构与CSR寄存器。
扩展特权
07
取指阶段 (IF) 设计
PC寄存器、指令存储器接口、分支预测器(静态预测)初探。
取指分支预测
08
译码阶段 (ID) 设计
指令译码器逻辑、立即数生成器、寄存器堆读写接口。
译码Regfile
09
执行阶段 (EX) 设计
ALU算术逻辑单元、比较器、移位器、乘法器/除法器模块。
ALU运算
10
访存阶段 (MEM) 设计
数据存储器接口、加载/存储指令处理、非对齐访问处理。
访存Load/Store
11
写回阶段 (WB) 设计
结果选择逻辑、寄存器写回控制、数据前递 (Forwarding) 技术。
写回前递
12
流水线数据冒险与解决
RAW/WAR/WAW冒险分析、插入气泡、数据前递实现。
冒险Forwarding
13
流水线控制冒险与解决
分支预测错误惩罚、跳转指令处理、预测失败恢复机制。
控制冒险分支
14
哈佛架构与冯诺依曼架构
指令缓存 (I-Cache) 与数据缓存 (D-Cache) 设计思路。
缓存架构
15
总线与互联
TileLink/AXI4-Lite总线协议简介,将处理器核接入SoC总线。
总线SoC
16
中断与异常处理
RISC-V异常委托机制、mtvec/stvec向量表、中断控制器设计。
中断异常
17
CSR 寄存器组设计
mstatus/mcause/mepc/mtval等机器模式CSR实现,读写逻辑。
CSR机器模式
18
特权模式切换
M/S/U模式切换流程,mret/sret指令实现。
特权级模式切换
19
物理内存保护 (PMP)
PMP配置寄存器、地址匹配逻辑、访问权限检查。
PMP内存保护
20
多周期指令支持
乘除法多周期实现、load-use延迟槽处理、非流水线指令兼容。
多周期延迟槽
21
性能计数器 (HPM)
mcycle/minstret计数器实现、自定义性能事件监控。
HPM性能
22
调试模块 (DM) 设计
JTAG接口、调试传输模块 (DTM)、调试模块寄存器访问。
调试JTAG
23
RISC-V 向量扩展 (V) 初探
向量寄存器组、向量指令格式、向量长度寄存器vl。
向量V扩展
24
乱序执行概念
保留站、重排序缓冲 (ROB)、Tomasulo算法简介。
乱序Tomasulo
25
超标量设计
多发射译码、多端口寄存器堆、指令冲突检测。
超标量多发射
26
存储层次设计
TLB (快表)、页表遍历、写缓冲 (Write Buffer) 合并。
TLB存储
27
功耗与面积优化
门控时钟、操作数隔离、资源共享、综合与布局布线考量。
低功耗面积
28
验证方法论
UVM验证框架、定向与随机测试、覆盖率驱动验证、riscv-tests。
UVM验证
29
FPGA原型验证
Xilinx/Altera FPGA综合、时序约束、上板调试技巧。
FPGA原型
30
SoC集成与嵌入式软件
处理器核集成到SoC、运行FreeRTOS/RT-Thread、启动流程设计。
SoCRTOS