一、流水线是指程序执行时多条指令重叠进行操作的一种技术。各种部件同时处理是针对不同指令而言的,最终以提高各部件利用率和指令的平均执行速度。
三个过程:取指、分析、执行
如果采取上面的方式,会造成时间的浪费,所以要充分利用时间。
题目:若指令流水线,把一条指令分为取指、分析和执行三个部分,且三部分的时间分别是取指2ns,分析2ns,执行1ns。那么问流水线周期是多少?100条指令全部执行完毕需要的时间是多少?(流水线周期是指:执行时间最长的一段)
公式:第一条指令执行的时间 + (指令条数-1)*流水线周期
上题:2+2+1+(100-1)*2 = 203
二、流水线吞吐量(Though Put Rate :TP)是指在单位时间内流水线所完成的指令数量。
TP=指令条数/流水线执行时间
上题:TP=100/203
最大流水线吞吐量:1/流水线周期
三、流水线的加速比
完成同一批任务,不使用流水线所使用的时间和使用流水线所使用的时间之比。
公式:S=不使用流水线的时间/使用流水线的时间
上题:
四、流水线的效率
N个任务占用的时空区域K个流水段总的时空区之比。
四个任务:所花费的时间
S1:T
S2:T
S3:T
S4:3T
上题的流水线效率:(6*4)/(15*4)