软件设计师-计算机基础复习4-指令相关计算

指令周期:取出(解释)并执行一条指令所需的时间。

        完成一条指令(一个指令周期)可分为:取指、分析、执行三个阶段。

指令流水技术:指令步骤的执行、提高处理器执行指令的效率。

        (1)顺序方式    顺序串行执行,执行完一条指令后才取下一条指令。速度慢。效率低。

        (2)重叠方式    解释完成当前指令就开始下一条指令的取值阶段

        (3)流水方式    流水线周期:执行时间最长的一段

                                理论公式:(t_{1}+t_{2}+...+t_{k})+(n-1)*\Delta t

                                实践公式:(k+n-1)*\Delta t

例题:指令流水线分为取值、分析和执行三个部分,三部分时间分别为2ns,2ns,1ns。流水线周期?100条指令全部执行完毕需要的时间?

        按照公式计算:理论公式:(2+2+1)+(100-1)*2=203

                                实践公式:(3+100-1)*2=204

流水线的吞吐率和最大吞吐率:单位时间内流水线处理机流出的结果数。对指令来说就是单位时间内执行的指令数。 

TP=指令条数/流水线执行时间

TP_{max}=\lim_{n \to\infty }\frac{ n}{(k+n-1)*\Delta t}=\frac{1}{\Delta t}

流水线加速比:S=不使用流水线执行时间/使用流水线执行时间

例题:指令取指2\Delta t,分析1\Delta t,取操作数3\Delta t,运算1\Delta t,写回结果2\Delta t,该流水线最大吞吐率(1);输入10条指令,则流水线加速比为(2)。

        (1)带入公式TP_{max}=\lim_{n \to\infty }\frac{ n}{(k+n-1)*\Delta t}=\frac{1}{\Delta t}    ,

                 同时需要注意流水线周期为3\Delta t,因此计算结果为\frac{1}{3\Delta t}

        (2)S=不使用流水线执行时间/使用流水线执行时间

                不使用:(2\Delta t+1\Delta t+3\Delta t+1\Delta t+2\Delta t) *10=90\Delta t

                使用:  (2\Delta t+1\Delta t+3\Delta t+1\Delta t+2\Delta t)+3\Delta t *(10-1)=36\Delta t

                 S=90\Delta t/36\Delta t=5:2

 

 

 

 

 

 

 

 

Guess you like

Origin blog.csdn.net/weixin_40165004/article/details/121340172