k段流水线执行n条指令的执行时间:
如果流水线中的各段执行时间均为t,那么执行n条指令的时间就是执行第一条指令的时间kt,加上其余n-1条指令各执行一段的时间(n-1)t。
如果流水线中的各段执行时间不等,且最长段的执行时间为tmax,那么执行n条指令的时间就是执行第一条指令的时间T,加上其余n-1条指令各执行最长段的时间(n-1)tmax(执行时间最长的一段,叫做流水线周期)。
题目:
执行指令时,将每一条指令部分分解为:取指、分析和执行三步,已知取指令时间为5△t,分析时间为2△t,执行时间为3△t。如果按照顺序方式从头到尾执行完500条指令需要5000△t。如果按照[执行]k、[执行]k+1、[执行]k+2重叠流水线方式执行指令,从头到尾执行完500条指令需要2505△t。
解析:
按顺序方式:(5+2+3)△t × 500=5000△t
按流水线方式:(5+2+3)△t+(500-1)5△t=2505△t