当前位置: 首页 > news >正文

计组-流水线吞吐率、加速比、效率计算

吞吐率:指流水线在单位时间内处理的任务的数量

例如,某港口的年吞吐率是多少万吨,就是一年内进出港口的货物的数量情况

而流水线吞吐率计算公式就是:将流水线当中执行到的指令条数,去除以流水线的执行时间(执行完指令条数的总时间)

得到的是单位时间里可以执行的指令条数

例如计算上图的流水线吞吐率,就是

1除以dt是一种理想情况,就是忽略流水线建立时间,比平常执行所多消耗的时间,上题中就是5ns比2ns多消耗的3ns

在流水线建立完成后,每一个流水线的周期就会完成一条指令的运行

即一个周期运行处一个指令

所以这个的意思就是一条指令所消耗的时间就是一个流水线周期dt

还是这个例题,可以算出不使用流水线时,共100条指令,每条指令都取指2,分析2,执行1,共5ns,所以100*5==500ns,之前算出使用流水线是5+(100-1)*2==203

所以加速比就是500/203

从上面的除法关系可以看到加速比是数值越高越好,即加速比可以说明使用流水线后产生的效果的好坏程度

效率就是在上图的时空图中,有多少的时间片是属于有效利用的情况,即阴影部分,有多少的时间片是没有去有效利用的,即空白部分,二者的比例分布情况

如上示意图,把要完成的任务分成4个部分S1,S2,S3,S4,S1到S3用的时间都是dt,S4用的时间是3dt,这时流水线的周期就要取最大的3dt,即每隔一个周期3dt出一个产品

可以看到虽然使用了流水线技术,但还有很多时间片是浪费了的(上图红色)

所以把阴影的带颜色的时间块数量求出来,再把整个时空图的时间块数量求出来,用阴影/全部==效率

阴影区的计算是一条指令的全部执行时间是1+1+1+3==6dt,总共有4条指令(横轴阴影),所以4*6==24dt

总时间区则是横轴共有15个dt的时间点,在每个时间点上有4个步骤同时执行,即4个时间片,所以是如图,横轴15,竖轴4,15*4==60dt

效率E==24%60==0.4

计算流水线的效率是为了设计更好更高效的流水线,这个题中的流水线的效率就不高,是因为S4这一步骤非常耗时,即流水线周期很长

而效率最高的流水线是每一个工作步骤的时长是相等的情况

如下图,一个执行完立刻执行下一个,紧密连接没有空余空间,浪费的只有刚开始建立流水线时和最后完成时的时间,中间执行过程是密集的


http://www.mrgr.cn/news/62523.html

相关文章:

  • 如何使用AdsPower指纹浏览器克服爬虫技术限制,安全高效进行爬虫!
  • Git的.gitignore文件
  • 嵌入式学习-网络-Day05
  • Leecode热题100-287.寻找重复数
  • layui扩展组件之----右键菜单
  • 频率限制:WAF保护网站免受恶意攻击的关键功能
  • 数据不一致
  • Java爬虫:在1688上“拍立淘”——按图搜索商品的奇妙之旅
  • AdaBoost与前向分步算法 10-16最小化指数损失函数 公式解析
  • react-路由
  • K8S自建企业私有云方案 单台起配 NVMe全闪存储性能
  • SpringBoot常用注解
  • 电脑使用技巧:电脑分区如何合并?
  • YOLO11论文 | 实用脚本 | 绘制多个实验的loss、mAP@0.5、mAP@0.5:0.95的高级图像【科研必备 + 绘图神器】
  • 性价比高的挂耳式耳机有哪些?五大性价比高的挂耳式耳机推荐
  • java 集合类详解
  • Navigation组件页面跳转
  • day14:RSYNC同步
  • Python自动化数据备份与同步
  • 工业设计岗位18K招聘,要求必须会AI,但AI究竟该怎么学呢?
  • HJ108 求最小公倍数
  • 《JVM第3课》运行时数据区
  • Java开发者的Python快速进修指南:文件操作
  • 键盘监听事件xss攻击
  • C++学习日记 | LAB 11 类中的动态内存管理
  • (五)Web前端开发进阶2——AJAX