01
CPU概述
CPU是什么 · 工作原理(取指-译码-执行) · 发展简史(4004→多核) · ISA与微架构区别
基础历史
02
指令集架构基础
ISA定义与作用 · CISC vs RISC (x86/ARM) · 指令分类 · 操作数寻址方式
核心对比
03
RISC-V指令集入门
起源与设计哲学 · 模块化RV32I · 寄存器体系 · 指令格式(R/I/S/B/U/J)
RISC-V编码
04
算术逻辑单元(ALU)设计
功能与接口 · 加法器(行波/超前进位) · 逻辑运算 · 移位器 · Verilog实现
数字电路Verilog
05
寄存器堆(Register File)设计
结构与端口 · 同步写异步读 · Verilog建模 · 多端口冲突处理
存储建模
06
取指单元(Fetch Unit)设计
PC工作原理 · 指令存储器接口 · 分支预测初步 · 流水线寄存器 · Verilog
取指PC
07
译码单元(Decode Unit)设计
指令译码逻辑 · 立即数生成器 · 控制信号(ALUop, RegWrite…) · Verilog
译码控制
08
执行单元(Execute Unit)设计
ALU控制信号 · 数据前馈(Forwarding) · 分支条件判断 · Verilog
执行转发
09
访存单元(Memory Access)设计
数据存储器接口 · Load/Store执行 · 字节/半字/字 · Verilog
访存存储
10
写回单元(Write Back)设计
写回数据选择(ALU vs 存储器) · 写回寄存器堆逻辑 · Verilog
写回数据通路
11
单周期CPU设计
数据通路整合 · 控制单元设计 · 顶层模块 · 仿真与验证
单周期完整CPU
12
流水线CPU基础
流水线概念与优势 · 五级划分(IF/ID/EX/MEM/WB) · 流水线寄存器 · 性能分析
流水线性能
13
流水线冒险概述
结构冒险 · 数据冒险 · 控制冒险 · 冒险对性能影响
冒险冲突
14
数据冒险与转发
数据冒险检测 · 转发路径(EX/MEM, MEM/WB) · 转发单元Verilog · Load-Use冒险
转发冒险解决
15
流水线停顿与冲刷
停顿实现 · Load-Use停顿 · 分支预测错误冲刷 · Verilog实现
停顿冲刷
16
分支预测基础
静态预测 · 动态预测(1位/2位饱和计数器) · 预测器实现 · 性能影响
分支预测动态
17
五级流水线CPU完整实现
顶层集成 · 冒险检测与转发 · 分支预测集成 · 仿真与调试
完整CPU流水线
18
异常与中断处理
同步异常 vs 异步中断 · 异常向量表 · RISC-V机制(mepc,mcause) · 硬件实现
异常中断
19
多周期CPU设计
概念与动机 · 状态机设计 · 数据通路 · 与单周期对比
多周期状态机
20
指令集扩展(RISC-V M扩展)
乘除法指令 · 乘法器(Booth, Wallace树) · 除法器(恢复/不恢复) · M扩展集成
M扩展乘除
21
指令集扩展(RISC-V F扩展)
浮点基础IEEE 754 · 浮点加法器 · 浮点乘法器 · F扩展集成与挑战
F扩展浮点
22
缓存(Cache)基础
局部性原理 · 映射方式(直接/组相联/全相联) · 替换策略(LRU) · 写策略
Cache存储层次
23
Cache设计实战
控制器状态机 · Verilog实现 · 与CPU接口 · 性能分析(命中率)
Cache设计Verilog
24
存储管理单元(MMU)基础
虚拟内存 · 页表与地址转换 · TLB工作原理 · 硬件实现
MMU虚拟内存
25
总线与互联
AXI/AHB/APB协议 · 总线仲裁 · 多主多从互联 · 性能分析
总线互联
26
多发射与超标量架构
超标量概念 · 发射策略(顺序/乱序) · 保留站与ROB · 挑战
超标量多发射
27
乱序执行(OoO)
乱序动机 · Tomasulo算法 · 寄存器重命名 · 提交阶段设计
乱序Tomasulo
28
SIMD与向量处理器
SIMD概念与应用 · 向量处理器架构 · 向量寄存器 · 向量指令执行
SIMD向量
29
低功耗CPU设计
功耗来源(动态/静态) · 时钟门控 · 电源门控 · DVFS · 低功耗策略
低功耗节能
30
CPU设计验证与测试
仿真/形式验证 · Testbench搭建 · 覆盖率(代码/功能) · FPGA原型验证
验证测试