计算机组成原理--流水线

本文转载于网络,后经修改

流水线:
和工厂里的流水线一样的道理,把一个任务分解为几部分,然后重叠起来并行地执行。

流水线各个阶段可能会相互影响,阻塞流水线,使其性能下降。影响流水线性能的主要因素有两个:执行转移指令和共享资源冲突。

指令阶段不一定连续,所以所算时间为理想值

流水线的吞吐率(Throughput Rate) :TP = n/Tk
Tk = k*Δt + (n - 1)* Δt //一条指令完整时间+分级最长时间*命令条数
k:一个任务分解为k个部件//各步不一定时间相等
n:一共要执行n个任务
Δt:执行一个分解任务的时间
k*Δt的时候第一个任务完成。
剩下n-1个任务,每个任务都只是在前一个任务完成时剩最后一部分解任务,所以都只是需Δt时间。
总时间:Tk = k*Δt + (n - 1)* Δt

流水线的加速比 Sp :完成同一批任务,不使用流水线所用的时间与使用流水线所用的时间之比。
不使用流水线时间:T0 = n * k * Δt
Sp = T0 / Tk = nk/(n + k -1)

流水线的效率(Efficiency)
流水线中设备的实际使用时间占整个运行时间之比,也称为流水线设备的时间利用率。
在时空图上,n个任务占用的时空区面积和m个段总的时空区面积之比。

E=TP*Δt

E=S/K

你可能感兴趣的:(计算机组成原理)