查看“软件设计师精讲 流水线技术”的源代码
←
软件设计师精讲 流水线技术
跳到导航
跳到搜索
因为以下原因,您没有权限编辑本页:
您所请求的操作仅限于该用户组的用户使用:
用户
您可以查看和复制此页面的源代码。
https://www.bilibili.com/video/BV13U4y1E7oA/?p=15 === 流水线-概念 === 相关参数计算:'''<big>流水线执行时间计算</big>'''、'''<big>流水线吞吐率</big>'''、流水线加速比、流水线效率 流水线是指在程序执行时'''<big>多条指令重叠进行操作</big>'''的一种准并行处理实现技术。 各种部件同时处理是针对不同指令而言的,它们可同时为多条指令的不同部分进行工作,以提高各部件的利用率和指令的平均执行速度。 [[文件:流水线概念.png|无|缩略图|1270x1270像素]] === 流水线-流水线计算 === [[文件:流水线计算.png|无|缩略图|1224x1224像素]]一条指令的执行过程可以分解为取指、分析和执行三步,在取指时间 t<sub>取指</sub>=3∆t、分析时间 t<sub>分析</sub>=2∆t、执行时间 t<sub>执行</sub>=4∆t 的情况下,若按串行方式执行,则10条指令全部执行完需要(90)∆t ; 若按流水线的方式执行,流水线周期为(9)∆t ,则10条指令全部执行完需要(45)∆t 。 顺序执行的计算:(3+2+4)×10=90 流水线周期的计算:3+2+4=9 流水线10条指令全部执行完的计算:(3+2+4)+(10-1)×4=9+36=45 如果是选择题,选项中没有按理论公式计算得出的结果,就用实践公式计算:3×4+(10-1)×4=12+36=48 ==== 流水线计算理论公式和实践公式对比 ==== [[文件:流水线计算理论公式和实践公式对比.png|无|缩略图|956x956像素]] === 流水线-流水线吞吐率计算 === 流水线的吞吐率(Though Put rate,TP)是指在'''<big>单位时间内流水线所完成的任务数量或输出的结果数量</big>'''。 计算流水线吞吐率的最基本的公式如下: [[文件:流水线吞吐率基本公式.png|无|缩略图|490x490像素]] 流水线最大吞吐率: [[文件:流水线最大吞吐率公式.png|无|缩略图|588x588像素]]一条指令的执行过程可以分解为取指、分析和执行三步,取指时间 t<sub>取指</sub>=3∆t、分析时间 t分析=2∆t、执行时间 t执行=4∆t。 10条指令的吞吐率?最大吞吐率? ==== 10条指令的吞吐率 ==== (3+2+4)+(10-1)×4=9+36=45∆t ==== 最大吞吐率 ==== 流水线最大吞吐率就是流水线周期的倒数:1/4∆t === 例题讲解 === 下列关于流水线方式执行指令的叙述中,不正确的是()。 A、流水线方式可提高单条指令的执行速度 √ B、流水线方式下可同时执行多条指令 C、流水线方式提高了各部件的利用率 D、流水线方式提高了系统的吞吐率 将一条指令的执行过程分解为取指、分析和执行三步,按照流水方式执行, 若取指时间 t<sub>取指</sub>=4∆t、分析时间 t<sub>分析</sub>=2∆t、执行时间 t<sub>执行</sub>=3∆t, 则执行完100条指令,需要的时间为()∆t A、200 B、300 C、400 D、405 √ (4+2+3)+(100-1)×4=9+99×4=9+396=405 吞吐率:指令总条数/指令的执行时间=100/405∆t 最大吞吐率:1/4∆t
返回至
软件设计师精讲 流水线技术
。
导航菜单
个人工具
登录
名字空间
页面
讨论
变种
视图
阅读
查看源代码
查看历史
更多
搜索
导航
首页
Spring Boot 2 零基础入门
Spring Cloud
Spring Boot
设计模式之禅
VUE
Vuex
Maven
算法
技能树
Wireshark
IntelliJ IDEA
ElasticSearch
VirtualBox
软考
正则表达式
程序员精讲
软件设计师精讲
初级程序员 历年真题
C
SQL
Java
FFmpeg
Redis
Kafka
MySQL
Spring
Docker
JMeter
Apache
Linux
Windows
Git
ZooKeeper
设计模式
Python
MyBatis
软件
数学
PHP
IntelliJ IDEA
CS基础知识
网络
项目
未分类
MediaWiki
镜像
问题
健身
国债
英语
烹饪
常见术语
MediaWiki帮助
工具
链入页面
相关更改
特殊页面
页面信息