影响指令流水线的因素
1.资源相关
多条指令在同一时刻争用同一资源而形成的冲突。解决方法:
1) 前一条指令访存时,后一条指令暂停一个时钟周期。
2)单独设置数据存储器和指令存储器,使两项操作各自在不同的存储器中进行。
2.数据相关
前一条指令执行完毕的数据,后一条指令需要执行。
1)用硬件阻塞和软件插入"NOP"指令,使遇到数据相关的指令暂时停止
2)数据旁路技术,运算结果直接送给下一条指令,
3)编译器优化技术
3.控制相关
遇到转移指令和其他改变PC值的指令
1)分支预测