指令流水线的基本概念
计算机流水线把一个重复的过程分解为若干子过程,每个子过程与其他子过程并行执行。流水线技术只需要增加少量硬件就能把计算机的运算速度提高几倍,所以是计算机中普遍使用的一种并行技术。
一条指令的执行过程可以分为多个阶段,如果采用三个阶段,就有取指,分析,执行。
当多条指令在处理器中执行时,可以采用三种方式:
1> 顺序执行方式
设取指,分析,执行三个阶段的时间都相等,用t表示,顺序执行n条指令所用的时间为
2> 一次重叠执行方式
执行时间是
3> 二次重叠执行方式
指令的表示通常用时空图
流水线的分类
1> 部件功能级,处理机级和处理机间级流水线
2> 单功能流水线和多功能流水线
3> 动态流水线和静态流水线
4> 线性流水线和非线性流水线
影响流水线的因素
1> 结构相关(资源冲突)
由于多条指令在同一时刻争用同一资源而形成的冲突称为结构相关
2> 数据相关(数据冲突)
数据相关是在一个程序中,存在必须等前一条指令执行完才能执行后一条指令的情况
3> 控制相关(控制冲突)
当流水线遇到转移指令和其它改变PC值得指令而造成断流时,会引起控制相关。
流水线的性能指标
1> 流水线的吞吐率
2> 流水线的加速比
3> 流水线的效率
超标量流水线的概念
1> 超标量流水线技术
2> 超流水线技术
3> 超长指令字