1.6流水线:流水线、流水线周期、流水线执行时间、流水线吞吐率、流水线加速比
1.6流水线:流水线、流水线周期、流水线执行时间、流水线吞吐率、流水线加速比
- 流水线
- 流水线周期
- 流水线执行时间
- 理论公式
- 实践公式
- 举例计算流水线执行时间
- 流水线吞吐率
- 举例计算流水线吞吐率
- 流水线加速比
相关参数计算:流水线执行时间计算、流水线吞吐率、流水线加速比等。
流水线
流水线是指在程序执行时多条指令重叠进行操作的一种准并行处理实现技术。各种部件同时处理是针对不同指令而言的,它们可同时为多条指令的不同部分进行工作,以提高各部件的利用率和指令的平均执行速度。
流水线周期
流水线应用过程中,会将需要处理的工作分为N个阶段,最耗时的那一段所消耗的时间称为流水线周期。
流水线执行时间
假设一段流水线。取指=3Δt,分析=2Δt,执行4Δt,Δt这里表示时间单位。
Δδ,是希腊字母表中第四个字母,大写 Δ,小写 δ,英语名称Delta,希腊名称δελτα,中文名称德尔塔,在英语有三角洲的意思。
流水线执行时间计算公式分为两种,理论公式和实践公式。
理论公式
t为流水线周期,k为任务分段数量,n为任务个数
理论公式: = 第 1 条指令的执行时间 + ( n − 1 ) × 流水线周期 理论公式:=第1条指令的执行时间+(n-1)×流水线周期 理论公式:=第1条指令的执行时间+(n−1)×流水线周期
理论公式: ( t 1 + t 2 + . . + t k ) + ( n − 1 ) t 理论公式:(t1+t2+..+tk)+(n-1)t 理论公式:(t1+t2+..+tk)+(n−1)t
理论公式: ( t 1 + t 2 + . . + t k − t ) + n t 理论公式:(t1+t2+..+tk-t)+nt 理论公式:(t1+t2+..+tk−t)+nt
实践公式
实践公式和理论公式的区别,只在于第一条流水线的建立时间,它会将每一个任务分段时间作为最长段来处理,冗余的时间可以来应付一些突发事件。所以实践公式实际上是稍有扩大,但是量并没有特别大。除了流水线建立时间不同,剩下的(n-1)t是和理论公式一样的。
实践公式: k t + ( n − 1 ) t 实践公式:kt+(n-1)t 实践公式:kt+(n−1)t
举例计算流水线执行时间
如:使用流水线技术执行100条指令,每条指令取指2ms,分析4ms,执行1ms,则流水线周期为4ms。
将1个任务的执行过程可分成N个阶段,假设每个阶段完成时间为t,则完成该任务所需的时间为Nt。若以传统的方式,则完成k个任务的时间为kNt;而使用流水线技术执行,且花费的时间是Nt+(k-1)t。也就是说。除了第一个任务需要完整的时间外,其他都通过并行,节省了大量的时间。所以流水线的执行时间可通俗的表达为:
流水线执行时间 = 第 1 条指令的执行时间 + ( n − 1 ) × 流水线周期 流水线执行时间=第1条指令的执行时间+(n-1)×流水线周期 流水线执行时间=第1条指令的执行时间+(n−1)×流水线周期
注意:n表示需要处理的任务数量
考试时,又需要注意一个细节,流水线的执行时间计算,进一步可以分为理论情况与实际情况两种不同的方式。
比如:
某计算机系统,一条指令的执行时间需要经历取指(2ms),分析(4ms),执行(1ms)三个阶段,现要执行100条指令,利用流水线技术需要多长时间?
理论上来说,1条指令的执行时间为:2ms+4ms+1ms=7ms
所以:理论流水线执行时间=2ms+4ms+1ms+(100-1)×4ms=403ms
而实际上,真正做流水线处理时,考虑到处理的复杂性,会将指令的每个执行阶段的时间都统一为流水线周期,即1条指令的执行时间为:4ms+4ms+4ms=12ms
所以:实际流水线执行时间=4ms+4ms+4ms+(100-1)×4ms=408ms
考试时80%以上的概率采用理论公式计算,如果理论公式计算结果无正确选项,再用实际公式计算。
流水线吞吐率
流水线吞吐率(Through Put Rate,TP)是指在单位时间内流水线所完成的任务数量或输出的结果数量。
计算流水线吞吐率的最基本的公式如下:与流水线执行时间相关
T P = 指令条数 流水线执行时间 TP=\frac{指令条数}{流水线执行时间} TP=流水线执行时间指令条数
流水线最大吞吐率:与流水线分段相关,等于流水线周期的倒数
T P m a x = l i m N → + ∞ n ( k + n − 1 ) t = 1 t TPmax=lim_{N\to+\infty}\frac{n}{(k+n-1)t}=\frac{1}{t} TPmax=limN→+∞(k+n−1)tn=t1
举例计算流水线吞吐率
假设一段流水线。取指=3Δt,分析=2Δt,执行4Δt,Δt这里表示时间单位。10条指令的吞吐率?最大吞吐率?
流水线吞吐率“
T P = 指令条数 流水线执行时间 = 10 ( 3 Δ t + 2 Δ t ) + 10 × 4 = 10 45 = 2 9 Δ t TP=\frac{指令条数}{流水线执行时间}=\frac{10}{(3Δt+2Δt)+10×4}=\frac{10}{45}=\frac{2}{9Δt} TP=流水线执行时间指令条数=(3Δt+2Δt)+10×410=4510=9Δt2
流水线最大吞吐率:
T P m a x = 1 t = 1 4 Δ t TPmax=\frac{1}{t}=\frac{1}{4Δt} TPmax=t1=4Δt1
流水线加速比
完成同样一批任务,不使用流水线所用的时间与使用流水线所用时间之比称为流水线的加速比。计算流水线加速比的基本公式如下:
S = 不使用流水线执行时间 使用流水线执行时间 S=\frac{不使用流水线执行时间}{使用流水线执行时间} S=使用流水线执行时间不使用流水线执行时间
1.6流水线:流水线、流水线周期、流水线执行时间、流水线吞吐率、流水线加速比相关推荐
- 【软考学习5】流水线基本概念、周期执行时间、吞吐率、加速比和效率的计算
一.流水线基本概念 在学习流水线之前,必须掌握 并行 的概念,即明白什么是 并行. 其中,并行和我们常说的并发是不同的,需要理解这两个概念. 并行指的是:两个或两个以上的事件在同一时刻发生. 并发指的 ...
- 流水线性能吞吐率、加速比、效率计算
流水线性能吞吐率.加速比.效率计算 吞吐率 1.最大吞吐率 Tpmax=1△tTpmax=\frac{1}{△t}Tpmax=△t1 2.实际吞吐率 Tp=n(m+(n−1))∗△tTp=\frac ...
- 体系结构 流水线吞吐率、加速比、效率
https://www.icourses.cn/web/sword/portal/shareDetails?&cId=3266#/course/assignments 吞吐率:单位时间内流水线 ...
- 2.10 流水线吞吐率计算
吞吐率 是指单位时间内流水线所完成的任务数量或输出的结果数量. 上图为例. 指令条数 = 100,流水线执行时间 = 203 吞吐率 = 100/203 最大吞吐率 理想状态的情况.忽略流水线建立时间 ...
- 计算机指令流水线时间计算,计算机指令-流水线和吞吐率
流水线 我们把计算机的一条指令抽象成三个步骤(实际不止这些) 现在向计算机发送三条指令A,B,C,如果不采用流水线的方式传输,那么在每个机器周期中的执行步骤如下图所示(我们假设每个步骤都会耗费一个机器 ...
- 关于cpu流水线的各阶段周期,吞吐率计算问题
本人在复习计组流水线时,遇到了一些问题,再次记录,以备不时之需. 首先要弄明白一点,那就是cpu的各阶段是否具有相同的时钟周期,也就是说,每个阶段所花费的时间是否都是相同的? 为什么会想到这个问题,先 ...
- 软考--流水线问题吞吐率详解
今天从网上看到一篇不错的关于流水线吞吐率的文章,为软考问题做出了详细的解释,转载分享给广大网友. 从生活中的工厂入手,流水线上每个工人所作的工作都不同,但却是相连的,上面的工人做完了他的事就直接丢给下 ...
- 指令——流水线和吞吐率
指令--流水线和吞吐率 解析: (1)吞吐率有个公式:指令条数除以流水线时间 (2)流水线时间计算有个公式:一条指令所需时间+(指令条数-1)*时间最长的指令的一段 7+(8-1)*3 流水线: 流水 ...
- 软考备考-流水线吞吐率的计算
首先,来看题目中的流水线图 然后,先画出执行一条指令时的时序图: 纵轴对应题目中的四个段,为四个处理子过程的专用模块,横轴为时间轴. 然后加上第二条指令,看一下时序图.红色边框的为第二条指令的部分 每 ...
最新文章
- R语言ggplot2可视化:为箱图的均值进行连线、将多个分组的均值连接起来Joining means on a boxplot with a line
- 如何理解矩阵的特征向量和特征值?
- swift和python语法区别_Swift 基本语法
- CxImage的使用及基本用法
- python上下文管理关键字_详解 Python 中的 with 与 上下文管理器
- ICC2 常用快捷键
- eclipse中下载spring-tool-suite插件遇到的问题
- linux服务器监控zabbix,Linux监控之--使用ZABBIX监控web服务器
- hdfs中与file数组类似的数组_EXCEL中数组的应用专题之十二:行列数相同数组的运算...
- 全局变量在多个进程中不共享
- 分贝噪音测试软件文件存储,分贝噪音测试工具
- OpenCV3计算机视觉:Python实现 读书笔记-第二章
- 边缘计算卸载matlab仿真,移动边缘计算卸载技术简介
- 如何在云服务器上安装kali系统
- android拖拽 字体变形,字体变形的几种方法与技巧
- js点击第三方广告添加点击事件
- JavaScript 根据身份证号获取年龄
- 夜神模拟器连接手柄无反应_夜神安卓模拟器怎么连接手柄?夜神安卓模拟器连接手柄的方法...
- h5页面怎么处理文件流_微信H5页面制作流程,大家有哪些经验分享?
- DEV GridControl导入导出Excel文件 - 简单表格数据导入(Microsoft.Office自带)
热门文章
- 小米网关接入Homekit完整教程
- 签名 html5,在HTML5表单中使用涂写签名
- 【JAVA】Dozer 介绍及快速入门教程
- html按钮怎么修改大小设置吗,如何在HTML中编辑按钮大小?
- One ID中的核心技术ID-Mapping究竟是怎么实现的?
- upc 5212 Coins I
- 基于决策树的分类预测
- 图片文件打开失败:“Could not load image... ...0x89 0x50”
- 中兴交换机,中兴路由器Telnet用户登录,配置
- 基于C51单片机和TB6600步进电机驱动器驱动的三路超声波避障移动机器人平台设计与Proteus仿真