美文网首页
01计算机组成原理-流水线

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

作者: cjxz | 来源:发表于2018-09-17 10:27 被阅读0次

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


    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
    总共开启的时间:15t
    4

    相关文章

      网友评论

          本文标题:01计算机组成原理-流水线

          本文链接:https://www.haomeiwen.com/subject/vszhnftx.html