流水线
2013-10-13 23:07
435 查看
流水线
计算机组成原理部分流水线是经常考的一个内容。下面来总结一下流水线(1)流水线的概念
流水线是指程序执行多条指令重叠进行操作的一种准并行处理技术。
若一条指令由多个部件完成,那么使用流水线操作,可以使各个部件同时操作,但是此时的同时是针对不同的指令而言。
例子:
若是一条指令是由取值、分析、执行三个部件完成。若没有采用流水线技术,当一条指令完成后,才能执行下一条指令,运行结果如下:在没有使用流水线的情况下,部件的利用率只有30%利用率非常低,浪费资源
若是采用流水线技术,结果如下:
采用流水线的处理方式以后部件利用率达到了60%,
利用率得到了显著的提高,但并没有提高单个指令的执行速度
使用流水线技术,三条指令完成的时间缩短了。但是需要注意,这里的时间是说的指令的总的时间。而单独的一条指令的时间却没有改变。指令的总时间是因为充分利用设备的空闲时间而提高了设备的利用率,从而缩短了总的时间,因而提高了指令的速度。
(2)流水线中计算问题
·流水线指令运行时间:
指令是由多个部件构成的,所以Δti是各个部件所使用的时间。n:代表指令的个数。Δtj是各个部件中运行时间最长的时间。为什么如此,可以通过上图推出。
·流水线的吞吐率(TP):单位时间内流水线所完成的任务数量。
其中:n:代表指令的条数,即任务的个数。Tk:代表指令运行的时间。
·流水线的加速比S:不使用流水线技术与使用流水线技术之比。
其中Tk:流水线指令的运行时间,可以通过公式求出,而T0是各个指令时间之和。
·流水线的效率:流水线的设备利用率。n个任务占用的时空区与k个流水段总的时空区之比。
通过加速比公式可得:效率和加速比之间的关系:
若是各个部件的运行时间相同,则效率和吞吐率之间可以:
相关文章推荐
- 在shell中使用expect+ssh登陆远程服务器
- appcache checking update
- 如何学好C语言
- 分页函数算法
- Android开发探秘之三:利用jsoup解析HTML页面
- sqlserver 存储过程学习笔记(二) 在项目中的应用<多表分页>
- 优化算法-BFGS
- WebSense: 2013年威胁报告
- Oracle与Freescale展开深度合作,Java或将一统物联网?
- 面試--寫簡單函數與存儲過程
- SQL Server 2014中的本机编译表
- hdu 2665 划分树裸题
- jQuery UI resizble、draggable的div包含iframe导致缩放和拖拽的不平滑解决方法
- 快速排序
- 从2-3-4树谈到Red-Black Tree(红黑树)
- Ejabber2.1.3 配置 注册不超时
- SQL Server 2014新聚合columnstore索引介绍
- PHP CURL 抓取失败 自己调试
- Windows下LATEX排版论文攻略—CTeX、JabRef使用心得
- js加载顺序