第4章 CPU 数据通路与控制¶
ISA 只规定“结果应该是什么”,CPU 需要决定“数据实际经过哪些部件、每个部件何时动作”。数据通路负责搬运和运算,控制器负责选择路径与写使能,二者共同把静态机器码变成状态变化。
本章内容¶
- 数据通路与指令周期:从 PC、寄存器堆、ALU、存储器和多路选择器拼出指令路径。
- 控制器:把指令变成控制信号:比较硬布线与微程序控制,理解异常为何也是控制流。
三类状态¶
- 程序进度:PC 指向取哪条指令。
- 计算状态:寄存器堆保存近期操作数与结果。
- 存储状态:内存保存大规模数据和代码。
组合部件在状态之间计算,时钟边沿提交新状态。只要沿着“读状态—组合计算—写状态”追踪,复杂 CPU 仍可拆解。
单周期、多周期与流水线¶
单周期设计让每条指令一拍完成,直观但时钟必须迁就最慢指令。多周期设计复用硬件并把一条指令拆成多拍,降低面积并缩短时钟;流水线则让不同指令占据不同阶段,提高吞吐量。它们可以实现同一 ISA,但性能、控制复杂度和资源成本不同。
本章自测¶
add、lw、sw在数据通路上共有哪几段,又各自多出什么?- 为什么 store 不写寄存器,load 却需要选择存储器输出写回?
- 单周期 CPU 的时钟周期由哪条路径决定?