CPU流水线设计进阶指南

📚 共计 30 章节
第1章
流水线基础回顾
单周期CPU的瓶颈 · 流水线的核心思想 · 级数划分原则
基础概念
第2章
经典五级流水线
取指(IF) · 译码(ID) · 执行(EX) · 访存(MEM) · 写回(WB)
核心结构
第3章
流水线冒险概述
结构冒险 · 数据冒险 · 控制冒险 · 定义与分类
冒险分类
第4章
结构冒险
资源冲突成因 · 哈佛vs冯诺依曼 · 硬件复用方案
冲突架构
第5章
数据冒险 (上)
RAW · WAR · WAW 依赖 · 检测逻辑
依赖检测
第6章
数据冒险 (中)
前递/旁路技术 · 电路实现 · 时序分析
前递旁路
第7章
数据冒险 (下)
插入气泡 · 流水线互锁 · Load-Use处理
气泡互锁
第8章
控制冒险
分支预测惩罚 · 分支延迟槽技术
分支延迟槽
第9章
静态分支预测
PTNT · PNT策略 · 编译器优化配合
静态预测
第10章
动态分支预测 (上)
1位/2位饱和计数器 · Bimodal预测器
动态饱和计数
第11章
动态分支预测 (下)
两级自适应 GAg/GAp/PAg/PAp · 全局/局部历史
两级自适应
第12章
分支目标缓冲器 (BTB)
BTB结构 · 查找更新 · 间接跳转预测
BTB目标
第13章
返回地址栈 (RAS)
函数调用/返回预测 · 压栈弹栈逻辑
RAS返回
第14章
超标量流水线基础
指令发射宽度 · 超标量 vs VLIW
超标量VLIW
第15章
指令发射策略
顺序发射顺序完成 · 顺序发射乱序完成
发射顺序/乱序
第16章
乱序执行核心
重排序缓冲(ROB) · 保留站(Reservation Station)
ROB保留站
第17章
寄存器重命名
逻辑→物理映射 · 消除WAR/WAW
重命名映射
第18章
Tomasulo算法
IBM 360/91经典 · 保留站+CDB协同
TomasuloCDB
第19章
精确异常与中断
乱序异常处理 · ROB在异常恢复中的角色
异常精确
第20章
存储层次与流水线
Load/Store单元 · 写缓冲 · 写合并
存储写缓冲
第21章
非阻塞缓存
缺失下命中(Miss Under Miss) · 缺失下填充
非阻塞缓存
第22章
预取技术
硬件预取(顺序/步长) · 软件预取(Prefetch)
预取硬件/软件
第23章
多核与流水线
MESI一致性 · 内存模型TSO/SC
多核一致性
第24章
流水线时序分析
关键路径 · 建立/保持时间 · 时钟偏斜
时序时钟
第25章
低功耗流水线设计
时钟门控 · 操作数隔离 · DVFS
低功耗门控
第26章
验证与调试
功能验证 · 形式化/仿真 · 常见Bug模式
验证调试
第27章
RISC-V案例研究
Rocket Core流水线 · BOOM乱序设计
RISC-VRocket
第28章
ARM Cortex-A系列
A72/A76流水线特点 · 微架构创新
ARMCortex
第29章
Intel x86案例
P6→Core架构演变 · 微码与硬连线平衡
x86Core
第30章
未来趋势
Chiplet · AI加速器 · 可重构流水线
前沿Chiplet