指令流水线概念
指令流水线的表示方法
流水线的性能指标
影响指令流水线的因素
经典机器周期设置(五段流水线)
IF:从指令cache中取指令
M:从数据cache中去数据
ID:从通用寄存器取数
EX:执行
WB:写回阶段
IMM:立即数寄存器
结构相关(资源冲突)os中的互斥问题
数据相关(数据冲突)os中的同步问题
后一条指令需要用到前面指令的数据
第一个指令的第三个阶段就已经有第二个指令需要的结果了,所以通过电路的方式直接把第一条的结果传到第二条中
把后面可以先执行的指令放在前面来
控制相关(控制冲突)
总结
指令流水线的分类
流水线的多发技术
五段式流水线
运算类指令
在RISC中都是从寄存器中取数所以不需要访存
LOAD指令(取数指令)
STORE指令(存数指令)
条件转移类指令
无条件转移指令
例题
真题
2017:流水线中包括程序计数器,算术逻辑单元,通用寄存器,取指部件,不包括控制部件
2014:
某CPU主频为1.03GHZ,采用4级指令流水线,每个流水段的执行需要1个时钟周期。假定CPU执行了100条指令,在其执行过程中,没有发生流水线阻塞,此时流水线的吞吐率为多少?
解:采用4级流水线,装入过程中第三个指令进入之后,每一秒执行一个指令,要执行完100个指令需要,100+3秒,100条指令用了103秒,每秒执行100/103个指令,主频除以用的时间1.03Ghz/(100/103)=1GHZ