(1) 在流水线的每一个功能部件的后面都要有一个缓冲寄存器,或称为锁存器、闸门寄存器等,它的作用是保存本流水段的执行结果,如图8.6所示。采用锁存器的主要原因是流水线中每一个流水段的延迟时间通常不可能绝对相等,再加上电路的延迟时间及时钟等都存在偏移,因此,在流水段与流水段之间传送任务时,必须通过锁存器。 |
图 8.6 流水线中的锁存器 |
![]() |
在指令流水线中加入锁存器之后,每条指令的实际执行时间增加了。因此,采用流水线技术的目的是通过多条指令并行执行使整个程序的执行时间缩短,然而程序中的任何一条指令的执行时间并没有缩短。 由于流水线没有真正减少每条指令的执行时间,这就限制了流水线的深度。一旦时钟周期很小,以至于与时钟偏移和锁存器的附加开销相当时,流水线就失去了作用,因为在一个时钟周期内没有足够时间用于有效工作了。 (2) 流水线中各段的时间应尽量相等。否则将引起"堵塞"、"断流"等。流水线的时钟周期不能大于最慢流水段用时,执行时间长的一个流水段将成为整个流水线的"瓶颈",这时,流水线中的其他功能部件将不能充分发挥作用。因此,在流水线设计中,当遇到"瓶颈"时,必须采取办法解决。 |