当前位置:网站首页>1.14 - 流水线
1.14 - 流水线
2022-07-05 05:44:00 【是李黏黏鸭】
目录
一、流水线的概念
- 所谓流水线,是指程序在执行时, 多条指令重叠进行操作的一种准并行处理实现技术。
二、流水线工作流程
- 一条指令在执行的时候,通常可以分为多个阶段进行,每个阶段由不同的部件来实现;
- 以分为3个阶段为例: 取指、分析、执行;
三、未使用流水线执行指令

1、执行过程
- 没有使用流水线时,当第一条指令的取指部件进行取指时,分析部件和执行部件是空闲的;
- 当取指部件取指完成后,分析部件开始分析指令,这时取指部件和执行部件是空闲的;
- 当分析部件执行完成后,执行部件开始编译后执行指令,此时取指部件和分析部件又是空闲的;
2、结论
- 由此可知,不使用流水线执行指令时,取指部件,分析部件,执行部件的利用率并不高;
四、使用流水线执行指令

1、执行过程
- 当第一条指令开始执行时,取指部件开始工作,分析部件和执行部件空闲;
- 当第一条指令取指完成后,分析部件开始工作;此时取指部件就空闲出来了,此时就可以去取第二条指令了;
- 当第一条指令分析完成后,执行部件开始工作;此时分析部件就空闲出来了,此时就可以对刚取的第二条指令进行分析了;并且由于此时第二条指令取指完成了,所以此时取指部件又空闲出来了,所以此时可以去取第三条指令了;
2、结论
- 由此可见,使用流水线执行指令,能有效提高部件的使用率,也就有效的提高了指令的执行效率;
五、流水线周期
- 在指令中各个阶段, 执行时间最长的这一阶段的时间,就是流水线的周期;
解析:(1)例如流水线上的工人,三个人合作完成一件物品;第一个人需要2秒,第二个人需要4秒,第三个人需要1秒;(2)如果此时将完成这件物品的周期定为1秒,那么第一、第二个人就无法完成自己的工作;(3)只有将周期定为4秒的时候,这三个人才都能完成自己的工作;(4)所以我们一般将 完成一件物品 执行所需时间最长的阶段的时间,定为周期,例子中的周期是4秒;
六、流水线计算公式

- 单条指令所需时间+(n-1)*(流水线周期)
(1)由图可知,执行第一条指令时,需要3个阶段;(2)执行完第一条指令时,第二条指令zh已经执行完分析阶段了,只需要有一个执行阶段就可完成第二条指令的执行;(3)当第二条指令执行完成时,第三条指令已经执行完分析阶段了,也只需要一个执行阶段就可以完成第三条指令的执行;(4)所以执行n条指令时,只需要用单条指令的时间(第一条指令的三个阶段的时间的和)+(n-1)条指令执行所需要的时间;
- 注意:n表示指令的数量;
七、流水线的吞吐率

八、考法1:流水线的相关计算

边栏推荐
- 【Jailhouse 文章】Look Mum, no VM Exits
- YOLOv5-Shufflenetv2
- Daily question 2013 Detect square
- Analysis of backdoor vulnerability in remote code execution penetration test / / phpstudy of national game title of national secondary vocational network security B module
- Wazuh开源主机安全解决方案的简介与使用体验
- 2022 pole technology communication arm virtual hardware accelerates the development of Internet of things software
- Graduation project of game mall
- Daily question - Search two-dimensional matrix PS two-dimensional array search
- Configuration and startup of kubedm series-02-kubelet
- 剑指 Offer 05. 替换空格
猜你喜欢

读者写者模型

【Jailhouse 文章】Jailhouse Hypervisor

Introduction and experience of wazuh open source host security solution

Typical use cases for knapsacks, queues, and stacks

剑指 Offer 04. 二维数组中的查找

剑指 Offer 06.从头到尾打印链表

A misunderstanding about the console window

Some common problems in the assessment of network engineers: WLAN, BGP, switch

Brief introduction to tcp/ip protocol stack
![[jailhouse article] jailhouse hypervisor](/img/f4/4809b236067d3007fa5835bbfe5f48.png)
[jailhouse article] jailhouse hypervisor
随机推荐
CF1634 F. Fibonacci Additions
Acwing 4300. Two operations
剑指 Offer 05. 替换空格
剑指 Offer 06.从头到尾打印链表
shared_ Repeated release heap object of PTR hidden danger
Daily question 2013 Detect square
Sword finger offer 53 - I. find the number I in the sorted array
动漫评分数据分析与可视化 与 IT行业招聘数据分析与可视化
Cluster script of data warehouse project
R language [import and export of dataset]
Individual game 12
F - Two Exam(AtCoder Beginner Contest 238)
2017 USP Try-outs C. Coprimes
【Jailhouse 文章】Look Mum, no VM Exits
Using HashMap to realize simple cache
Little known skills of Task Manager
Software test -- 0 sequence
Talking about JVM (frequent interview)
SAP method of modifying system table data
Developing desktop applications with electron