🔧 RISC-V高级处理器设计

40课从特权架构到完整流水线CPU — 每课Verilog代码 + Verilator验证

🏛️ 特权架构 (L01-06)

01 特权级架构

M/S/U三级模式与切换机制

🏆 M/S/U三级切换正确✅ Verilator验证
进入课程 →

02 CSR寄存器

控制状态寄存器读写

🏆 CSR读写操作验证✅ Verilator验证
进入课程 →

03 环境调用

ECALL从U→M请求服务

🏆 ecall从U→M正确✅ Verilator验证
进入课程 →

04 MRET返回

从机器模式返回低特权级

🏆 mret从M→U正确✅ Verilator验证
进入课程 →

05 陷阱机制

异常入口跳转与上下文保存

🏆 异常入口跳转正确✅ Verilator验证
进入课程 →

06 中断处理

优先级排序与中断响应

🏆 中断优先级排序正确✅ Verilator验证
进入课程 →

📡 中断控制器 (L07-08)

07 PLIC中断控制器

多源中断优先级路由

🏆 中断优先级+路由正确✅ Verilator验证
进入课程 →

08 CLINT定时器

机器定时器中断与软件中断

🏆 定时器中断触发正确✅ Verilator验证
进入课程 →

💾 内存系统 (L09-12)

09 SV39虚拟内存

三级页表虚拟地址翻译

🏆 三级页表翻译正确✅ Verilator验证
进入课程 →

10 TLB

地址翻译缓存:命中/未命中

🏆 TLB命中/未命中正确✅ Verilator验证
进入课程 →

11 直接映射Cache

最简单的Cache设计

🏆 命中率计算正确✅ Verilator验证
进入课程 →

12 组相联Cache

4路组相联 + LRU替换

🏆 LRU替换正确✅ Verilator验证
进入课程 →

🔢 算术单元 (L13-14)

13 Booth乘法器

Radix-4 Booth编码补码乘法

🏆 补码乘法正确✅ Verilator验证
进入课程 →

14 除法器

恢复余数除法算法

🏆 恢复余数除法正确✅ Verilator验证
进入课程 →

⚡ 乱序执行 (L15-19)

15 乱序执行

OoO核心:Dispatch→Execute→Commit

🏆 指令乱序但结果正确✅ Verilator验证
进入课程 →

16 重排序缓冲

ROB:按序提交的保证

🏆 ROB正确提交✅ Verilator验证
进入课程 →

17 寄存器重命名

消除WAW/WAR假依赖

🏆 WAW/WAR冒险消除✅ Verilator验证
进入课程 →

18 记分牌

结构/数据冒险检测

🏆 结构/数据冒险检测✅ Verilator验证
进入课程 →

19 Tomasulo算法

保留站+公共数据总线

🏆 保留站+CDB✅ Verilator验证
进入课程 →

🎯 分支预测 (L20-21)

20 2位预测器

饱和计数器分支预测

🏆 预测准确率>85%✅ Verilator验证
进入课程 →

21 BTB

分支目标缓存

🏆 分支目标缓存命中✅ Verilator验证
进入课程 →

📦 RISC-V扩展 (L22-26)

22 RVC压缩指令

16位指令编码与解码

🏆 16位指令解码正确✅ Verilator验证
进入课程 →

23 RVM乘除

M扩展:MUL/DIV/REM

🏆 M扩展指令仿真通过✅ Verilator验证
进入课程 →

24 RVA原子

LR/SC原子操作

🏆 LR/SC原子操作正确✅ Verilator验证
进入课程 →

25 RVF浮点

F扩展:单精度浮点

🏆 F扩展浮点加减正确✅ Verilator验证
进入课程 →

26 RVD双精度

D扩展:双精度浮点

🏆 双精度运算正确✅ Verilator验证
进入课程 →

🏗️ 系统集成 (L27-30)

27 PMP

物理内存保护

🏆 区域权限检查正确✅ Verilator验证
进入课程 →

28 指令解码器

RV32IMAFD全解码

🏆 RV32IMAFD全解码✅ Verilator验证
进入课程 →

29 SoC集成

CPU+UART+RAM系统

🏆 CPU+UART+RAM集成✅ Verilator验证
进入课程 →

30 启动流程

从Reset到Main

🏆 从reset向量启动到main✅ Verilator验证
进入课程 →

🚀 流水线深度优化 (L31-35) NEW

31 超标量

双发射顺序流水线

🆕 NEW🏆 双发射指令正确✅ Verilator验证
进入课程 →

32 多端口寄存器堆

2R1W+2R1W并发访问

🆕 NEW🏆 2R1W+2R1W并发正确✅ Verilator验证
进入课程 →

33 数据前递

RAW冒险零停顿旁路

🆕 NEW🏆 RAW冒险无停顿解决✅ Verilator验证
进入课程 →

34 Load-Use冒险

检测+1周期停顿

🆕 NEW🏆 检测+1周期停顿✅ Verilator验证
进入课程 →

35 流水线异常

精确异常处理

🆕 NEW🏆 精确异常处理✅ Verilator验证
进入课程 →

💾 Cache系统 (L36-38) NEW

36 指令Cache

4路组相联ICache

🆕 NEW🏆 取指命中率>90%✅ Verilator验证
进入课程 →

37 数据Cache

写回+写分配DCache

🆕 NEW🏆 写回+写分配正确✅ Verilator验证
进入课程 →

38 Cache一致性

MESI协议多核一致性

🆕 NEW🏆 MESI协议验证✅ Verilator验证
进入课程 →

🎓 毕业项目 (L39-40) NEW

39 性能计数器

CPI/分支命中率测量

🆕 NEW🏆 CPI/分支命中率测量✅ Verilator验证
进入课程 →

40 毕业项目:完整CPU

5级流水线RV32I跑fib(10)=55

🆕 NEW🏆 流水线CPU跑fib(10)=55✅ Verilator验证
进入课程 →