在以往的考试中流水线重点考以下这几个知识点: 流水线周期、 流水线执行时间、 流水线吞吐率、 流水线加速比。
流水线周期
指令分为不同执行段,其中执行时间最长的段为流水线周期。
解析:上面这道例题的答案为
9ns
,因为在指令的不同执行段中,执行时间最长的段,为流水线周期。
流水线执行时间
流水线执行时间:一条指令总执行时间+(总指令条数-1)*流水线周期
解析:上面这道题主要是求流水线执行时间,先看第一空求串行方式执行完全部指令的时间,这个就是直接把所有指令段的执行时间加一起乘上指令数,就是
(3+2+4)*10=90
。第二空求流水线方式执行时间,按照公式:一条指令执行的总时间(所有指令段执行时间之和)+(总指令数-1)*流水线周期
,就是(2+3+4)+(10-1)*4=45
。
流水线吞吐率
流水线吞吐率:总指令条数/流水线执行时间
解析:在上面这道题中,我们知道了总指令条数为n,知道
一条指令的总执行时间=(1+3+1+2+1)Δt
,流水线周期为3Δt
,也可以求出流水线执行时间=(3+3+2)Δt+3(n-1)Δt
,所以得出的流水线吞吐率为n/(3+3+2)Δt+3(n-1)Δt
,答案为B。
流水线加速比
流水线加速比:不是使用流水线总执行时间/使用流水线总执行时间
流水线加速比这个知识点不怎么考,但是还是要了解一下,公式也很简单,万一之后考到了呢。