计算机组成原理流水线优点,01计算机组成原理-流水线

流水线含义:如果一条指令分为取指,分析,执行非流水线执行方式如下:

image.png

那条指令执行时间:n*3

使用流水线执行:

image.png

前一条执行的取指执行完毕,立刻进行后一条指令的取指执行时间快。

流水线执行周期

假设一条指令取指2ns,分析2ns,执行1ns。流水线周期定义是在这条指令执行过程中,最耗时的一条断就是流水线周期。也就是2ns。

100条这样的指令才流水线执行需要多少时间?

以第一条指令执行完毕后,后面的指令紧跟执行那么后面执行的时间是一个指令周期2ns,再加上前面第一条指令的执行时间2ns+2ns+1ns所以总的执行时间为:5ns+99*2ns。这就好比在工业流水线上组装汽车一样,前面的5ns表示启动机器,各个流水线人员准备时间,一旦第一辆汽车组装好,后面的汽车就可以直接走流水线周期时间了。公式:第一条指令执行整个时长+(流水线周期*(n条指令-1))

第一条指令执行时长

理论值:取指+分析+执行=2ns+2ns+1ns

实际值:执行1ns时长不规整,直接给2ns。所以实际值为3*2ns

一般都是采用理论值,如果选择题没有理论值则取实际值

流水线吞吐率

吞吐率=指令条数/执行时间

比如:上面的题100条指令,耗时203ns那么吞吐率为:

吞吐率=100/203ns

理想值:1/2ns 也就是:1/流水线周期

忽略第一条指令建立的准备工作耗时

流水线加速比

s=不使用流水线执行时间/使用流水线执行时间

上面的那个例子中使用流水线执行时长为5+992=203。不实用流水线执行时间5100=500。则:s=500/203

流水线的效率

下面的指令分为4个子指令,分别为s1,s2,s3,s4分别耗时t,t,t,3*t如下:

image.png

流水线效率=n个任务使用的时间分片/总共开启的时间分片

比如上面这个例子:

任务执行时间:(t+t+t+3t)4

总共开启的时间:15t4

你可能感兴趣的:(计算机组成原理流水线优点)