组成原理

Book Notes · COD · Patterson & Hennessy

组成与设计
通路笔记

按问题重组:性能、指令、算术、处理器、存储、I/O。教学 ISA 随版次从 MIPS 换到 RISC-V,下面只留机制。不复印原书目录。

01性能

CPU 时间 = IC × CPI × 时钟周期。吞吐和延迟不是同一个数。

改进一部分用 Amdahl:加速受限于未改进的比例。流水线用短时钟换吞吐,单条指令延迟不自动变短。

02指令

教学 ISA 典型是定长、Load/Store、少量寻址方式。立即、寄存器、基址+偏移足够走完通路。CPU 按 PC 取指;分支与跳转改下一条的地址。

易错:不要把某一版的助记符表当成 408 必背清单。RISC 特征不是「一定更快」。

03算术

ALU 做加减与逻辑。补码溢出看符号组合。浮点对阶、规格化、舍入;上溢结果依舍入方向,不一定是 Inf。

A+B / ~B+1→ALU→flags

04处理器

数据通路 + 控制器。单周期把五个阶段塞进一个长时钟;流水线拆开重叠。

控制与冒险

硬布线:由当前指令组合译码,经传播延迟后在本周期有效窗口内稳定。微程序:一条机器指令对应一串微指令,逐条取控存。转发消解部分 RAW;load-use 仍停顿。经典按序五级中 WAR/WAW 不出现,因为按序发射/完成、读在 ID、写在 WB。

易错:比较单周期与流水线要比墙上时间(时钟×拍数),不要只比拍数。加速比不等于级数。

05存储层次

SRAM 做 Cache,DRAM 做主存。地址拆成标记、索引、块内。直接映射位置唯一。写回是写策略:脏块替换时才写到下一级;把新块装入该行叫换入,不叫写回。

06I/O

程序查询与中断由 CPU 搬数。DMA 由控制器搬块,CPU 启动并收尾,结束常中断通知。总线要仲裁;总线周期不等于 CPU 时钟周期。

章末自测

25τ / 10τ = 2.5,不是 5。填满和停顿都算进分母。
不准确。一条机器指令由一串微指令完成,需逐条取控存,控制速度通常低于硬布线。
启动时写地址/计数/方向;结束常靠中断收尾。不是完全退出这次传送。