流水线方式的特点:与传统的串行执行方式相比,采用流水线方式具有如下特点:把一个任务(一条指令或一个操作)分解为几个有联系的子任务,每个子任务由一个专门的功能部件来执行,并依靠多个功能部件并行工作来缩短程序的执行时间。流水线每个功能段部件后面都要有一个缓冲寄存器,或称锁存器,其作用是保存本流水段的执行结果,供给下一流水段使用。流水线中各功能段的时间应尽量相等,否则将引起堵塞、断流。只有连续不断地提供同一种任务时才能发挥流水线的效率,所以在流水线中处理的必须是连续任务。在采用流水线方式工作的处理机中,要在软件和硬件设计等多方面尽量为流水线提供连续的任务。流水线需要有装入时间和排空时间。装入时间是指第一个任务进入流水线到输出流水线的时间。排空时间是指最后一个任务进入流水线到输出流水线的时间。

影响流水线性能的因素

1)结构相关是当多条指令同一时刻争用同一资源形成冲突

解决方案:(1)暂停一个时钟周期(2)单独设置数据存储器和指令存储器

2)数据相关是指令在流水线中重叠执行时,当后继指令需要用到前面指令的执行结果时发生的.

解决方案:(2)暂停一个时钟周期(2)数据旁路:把前一条指令的ALU计算结果直接输入到下一条指令

3)控制相关是当流水线遇到分支指令和其他改变PC值的指令时引起的.解决方案:(1)延迟转移技术。将转移指令与其前面的与转移指令无关的一条或几条指令对换位置,让成功转移总是在紧跟的指令被执行之后发生,从而使预取的指令不作废。(2)转移预测技术。

指令流水线定义

流水线技术把处理器的一条指令操作分解为若干个可以独立处理的子操作(如取指令、分析指令、执行指令),每个子操作在一个专门的硬件上进行,若干条子操作顺序地经过流水线中多个站完成指令任务。采用流水线技术提高了指令并行执行程度,进而提高了指令执行速度。

设某流水线分为n个基本操作:操作时间分别是Δti (i=1,2,…,n),执行m条指令,相应的流水线性能指标如下:

操作周期:取决于基本操作时间最长的一个,即

Δt=max{t1, t2,…, ti}

吞吐率TP:单位时间内执行的指令数。

执行m条指令的时间

t=n×Δt+(m-1)Δt

指令流水线时空图