第1章
流水线设计概述
什么是流水线 · 历史与演进 · 在数字IC中的核心地位
基础概念
第2章
流水线基本原理
时空图 · 流水线级数 · 吞吐率与延迟 · 理想加速比
核心时空图
第3章
流水线冒险分类
结构冒险 · 数据冒险 · 控制冒险 · 性能影响
冒险分类
第4章
结构冒险详解
资源冲突 · 哈佛/冯诺依曼 · 硬件互锁与停顿
结构冲突
第5章
数据冒险详解
RAW · WAR · WAW · 写后读/读后写/写后写冲突
数据依赖
第6章
数据冒险解决(一)
插入气泡 · 流水线停顿 · 编译器调度/指令重排
气泡调度
第7章
数据冒险解决(二)
数据转发(旁路/前递) · 转发路径 · 条件判断
转发旁路
第8章
数据冒险解决(三)
寄存器重命名 · 乱序执行 · Tomasulo算法简介
重命名Tomasulo
第9章
控制冒险详解
分支预测失败 · 跳转指令 · 异常/中断影响
控制分支
第10章
控制冒险解决(一)
分支预测基础 · 静态/动态预测 · BTB
预测BTB
第11章
控制冒险解决(二)
延迟槽 · 预测失败恢复 · 精确异常模型
延迟槽异常
第12章
流水线寄存器设计
级间寄存器功能 · 控制信号传递 · 数据通路划分
寄存器数据通路
第13章
经典五级流水线(一)
取指IF · PC更新 · 指令存储器接口
IF取指
第14章
经典五级流水线(二)
译码ID · 寄存器文件读取 · 立即数扩展
ID译码
第15章
经典五级流水线(三)
执行EX · ALU操作 · 分支条件判断
EXALU
第16章
经典五级流水线(四)
访存MEM · 数据存储器读写 · 字节/半字/字
MEM访存
第17章
经典五级流水线(五)
写回WB · 结果写回寄存器 · 写端口冲突
WB写回
第18章
流水线控制单元设计
冒险检测 · 转发控制 · 暂停与冲刷机制
控制冒险检测
第19章
多周期指令处理
乘法/除法 · 加载/存储多周期 · 浮点流水线
多周期浮点
第20章
超流水线技术
超级流水线 · 级数加深利弊 · 功耗与频率权衡
超流水线频率
第21章
多发射与超标量
多发射架构 · 指令发射槽 · 资源冲突与调度
超标量多发射
第22章
VLIW与EPIC
超长指令字 · 编译器静态调度 · IA-64简介
VLIWEPIC
第23章
动态调度与乱序执行
保留站 · 重排序缓冲ROB · 提交与退休
乱序ROB
第24章
分支预测高级技术
两级自适应 · 全局历史 · 锦标赛预测器
预测锦标赛
第25章
存储层次与流水线
Cache缺失影响 · 写缓冲 · 预取技术
Cache预取
第26章
流水线验证与调试
仿真验证 · 形式化验证 · 常见Bug模式
验证调试
第27章
低功耗流水线设计
时钟门控 · 操作数隔离 · DVFS
低功耗门控
第28章
实战(一)RISC-V五级RTL
IF/ID阶段实现 · 接口设计
RTLRISC-V
第29章
实战(二)EX/MEM/WB
执行/访存/写回阶段RTL实现
RTL流水线
第30章
实战(三)集成与性能分析
流水线集成 · 仿真测试 · 性能分析
集成测试