四、处理器
4.5 流水线
流水线(pipelining)是一种实现多条指令重叠执行的技术
IF(取指令)、ID(指令译码/读寄存器堆)、EX(执行/地址计算)、MEM(访存)、WB(写回)
三种流水线冒险:
结构冒险:硬件不支持多条指令在同一时钟周期执行
数据冒险:发生在由于一条指令必须等待另一条指令的完成而造成流水线暂停的情况
通过前推(旁路)解决
控制冒险:决策依赖于一条指令的结果,而其他指令正在执行中,也叫分支冒险
分支预测、延迟分支
4.6 流水线数据通路及其控制
流水线寄存器
控制信号:与单周期同样的控制信号,但是控制信号需要根据阶段的划分在不同周期获得,通过流水线寄存器传递
4.7 数据冒险:旁路与阻塞
旁路、气泡
4.8 控制冒险
4.9 异常
异常和中断——除分支以外改变正常指令执行顺序的事件
异常:也称为中断,指打断程序正常执行的突发事件,用于检测溢出等
中断:来自处理器外部的异常
五、大容量和高速度:开发存储器层次结构
5.1 引言
存储器层次结构、时间局部性和空间局部性原理
5.2 存储器技术
5.2.1 SRAM技术
不需要刷新,一个基本存储单元通常由6~8个晶体管组成,空闲模式下,只需要最小的功率来保持电荷
5.2.2 DRAM技术
存储单元使用电容保存电荷的方式来存储数据,必须周期性地刷新,以bank方式组织
5.2.3 闪存
电可擦除的可编程只读存储器(EEPROM)
5.2.4 磁盘存储器
5.3 cache的基本原理
直接映射、