• 指令——流水线和吞吐率


    解析:

    (1)吞吐率有个公式:指令条数除以流水线时间
    (2)流水线时间计算有个公式:一条指令所需时间+(指令条数-1)*时间最长的指令的一段
    7+(8-1)*3

     
    流水线:

    流水线是指在程序执行时多条指令重叠进行操作的一种准并行处理实现技术。各种部件同时处理是针对不同指令而言的,它们可同时为多条指令的不同部分进行工作,以提高各部件的利用率和指令的平均执行速度。概念我们说那么多,我们现在深入去理解,光有概念都是一些比较抽象的东西,我们看图:我们有三个步骤。


    然后我们来看一下一般情况下我们的指令是一条一条的来处理,第一条指令处理完,再处理第二条,再处理第三条,这种顺序来处理机器里边的设备的利用情况是怎样的呢?我们来看这图:
     

    若我们每个指令的执行时间是1ms,


    那么三条指令执行完需要9ms的时间,我们还可以看得出来的是:取值这个设备只有在1ms,4ms,7ms的时候工作,第一条指令只有三分之一的时间进行工作,别的时间就空闲了,对于这样子中间就产生了很多设备的空闲。所以我们引入了流水线。

    用流水线所用的时间:


    取值设备只要完成第一条指令的取值,就立即进入第二条指令的取值,第二条指令完成之后,就马上执行第三条;分析这个操作也是一样,我们看的出来,在5ms的时间就完成了。

    当然我们也能观察的出,单个指令的运行时间都是3ms。所以流水线对单条指令的执行是无效的。

    流水线除了指令流水线,还有一种就是运算操作流水线,运算操作流水线就是计算机在执行各种运算操作时也可以应用流水线来提高运算速度,这是操作都是分阶段运行的,所以我们用流水线来提高运算速度。
    ---------------------

    来源:CSDN
    原文:https://blog.csdn.net/yi_zz/article/details/7479912
    版权声明:本文为博主原创文章,转载请附上博文链接!

     

     扫个红包吧!

    Donate捐赠

    如果我的文章帮助了你,可以赞赏我 1 元,让我继续写出更好的内容)

       

      (微信)                                        (支付宝)

    微信/支付宝 扫一扫

     

  • 相关阅读:
    使用Windbg调试.Net应用程序 [转]
    jquery的$.extend和$.fn.extend作用及区别
    java获取ip
    在IDEA中使用MyBatis Generator逆向工程生成代码
    github结合TortoiseGit使用sshkey,无需输入账号和密码
    Mapped Statements collection does not contain value for com.xxxx.dao.impl.AreaDAOImpl.findByCode
    idea设置tomcat虚拟路径的两种方法
    spring MVC中传递的参数对象中包含list的情况
    PowerDsigner 16逆向工程导入mysql
    [C++]Qt文本操作(按行读写)
  • 原文地址:https://www.cnblogs.com/moonsoft/p/9869747.html
Copyright © 2020-2023  润新知