计算机流水线周期是指采用流水线技术执行多条指令时,在保证设备利用率不变的前提下,一条指令的开始到下一条指令的最晚开始时间的总称。
不采用流水线技术的时,指令的执行方式及其执行周期:
执行方式如图《一条指令包括三个操作:取值、分析、执行》所示,执行周期为一条指令的开始到下一条指令的开始时间。因为在非流水线操作时,想要提高执行效率,就必须一条指令执行完,下一条指令接着执行。那么采用流水线技术时,从概念上说,执行周期是相同的。下面是对流水线生命周期的定义和理解。
如图1所示,一条指令也有三个操作,分别用不同的颜色的方框表示。
图1中所示,第二条指令的第一个操作从2的位置移到了2‘的位置,从整体来看,这样的修改是不会影响某条指令的最终完成时间。2’的位置是第二条指令的第一个操作的最晚开始时间。如果再往后拖就影响到其他操作的正常执行,破坏了流水线的执行方式。
将所有操作都拖到他的最晚开始时间,然后观察。一条指令的一个操作的开始到下一条指令的相同操作开始时间是完全相同,并且正好等于指令中执行时间最长的操作所用的时间,即指令中用时最长的指令的执行时间为流水线的周期。
流水线的计算方法有两种,这两种计算方法结果经常不一致,下面是两种算法结果不同的分析。
右侧是流水线执行时间的计算公式1:该公式的计算是按照连续执行的方式计算的,加号的前半部分是一条指令执行的时间,后半部分是n-1个周期。整个计算比较精准,下面阐述该公式的由来。如图《流水线执行时间的计算公式》所示。
如图2中标有“
①”的两端执行时间相加等于一条指令的执行时间。中间
②这段则是由流水线周期全部覆盖的部分。二者之和则是流水线的执行时间。
而在另一种算法是加所有的操作都按照流水线的周期去执行,然后计算所有的流水线的执行时间。本身这种算法是不准确的,但是在计算较为方便。