流水线-流水线计算

一个造车厂生产一辆车分为ABCD四道工序,1号车开始生产,A道工序结束,进入B道工序,再之后C道工序,然后D,最后完工,2号车开始生产,同上,结束后三号车生产,但随之而来的问题是,当A工序进行完后,进行B工序,对应的A工序的工作人员就会有一段时间的空窗期,这段空窗期时间很长,长到BCD全部结束,所以工厂的老板会血亏,流水线生产模式随之而来。
1号车A工序结束进入B工序,则二号车立马进行A工序,待1号车进入C工序后,二号车进入B工序,3号车进入A工序,这样会有效避免工作人员的空窗期,会提高效率,也会节省成本。

  • 流水线周期为执行时间最长的一段时间

例如:A工序需要2小时,B需要1小时,C需要4小时,D需要三小时,那么该流水线的周期即4小时。
而对于为什么是4小时,其实很好理解,如果不以4小时为周期,以A工序的两小时为周期会产生什么情况?

大家仔细想一想,是不是会造成产品滞留的状况,因为你C需要4个小时,而A需要2小时,B需要1小时,便会有大量的产品B滞留在BC之间,等待C,这只是一种最理想的假设,有时还会造成瘫痪现象,所以流水线的周期一定要是该执行线上时间最长的一段。

  • 流水线的计算公式
    一条指令执行时间+(指令条数-1)*流水线周期
    理论公式:(t¹+t²+t³+…+tⁿ)+(x-1)
    时间公式:(n+x-1)*∆
    其中n为一个工程需要几道工序,就像上文中的ABCD一样,x为流水线中需要完成多少产品,也就像上文中车的数量一样,∆是流水线的周期。

若指令流水线把一条指令分为取值、分析、执行三部分,且三部分的时间分别是取值2ns,分析2ns,执行1ns,那么,流水线周期是多少?100条指令全部执行完毕需要的时间是多少?

显然,通过定义可以得到,该流水线周期为2ns 需要的时间通过两个公式计算可分别得到理论203,实践204,这两种都是正确答案,在做题时,可灵活选择

大家一定很疑惑,为什么会出现两种结果,为什么不是一个最为标准的答案,小编在这里给大家一些解释,希望可以理解。

通过上图来解释这两种计算方法
方法1,一共三道工序,那么三道工序总时长就是2+2+1=5ns,在第一个产品完成之后,是不是第二个产品也进入了最后一个工序,也就是说在之前5的基础上再加上一个周期,便是第二个产品结束的时间,依次类推,最后一个产品完成的时间,是不是在5的基础上再加n-1个周期。(大家有没有想过第三道工序其实还有着1ns的空窗期,因为周期是2,而第三道工序时间是1)
方法2,将每一个工序的时间都看作2ns,那么整体完成时间不就是第一个产品的几道工序,再加上剩下产品的最后一道工序吗?也就是(3+n-1)*2.

  • 流水线的吞吐率计算
    吞吐率是指单位时间内流水线完成的任务数量或输出的结果数量。计算流水线吞吐率的基本公式如下:

    带入到上题可得TP=100/203
  • 流水线的加速比
    完成同样一批任务,不使用流水线所用的时间与使用流水线所用时间之比称为流水线的加速比。计算流水线的加速比公式如下:

    将上题的情景带入
    不使用流水线执行时间(2+2+1)*100
    使用流水线时间203
    即s=500/203
  • 流水线的效率
    流水线的效率是指流水线的设备利用率。在时空图上,流水线的效率定义为n个任务占用的时空区与k个流水段总的时空区之比
    计算流水线的公式:

    通过上图来计算效率,n个任务占用的时空区=4*(1+1+1+3),k个流水段的总的时空区,即所有格子的总面积,也就是15*4,。
    所以效率也可以这样理解,即做任务的格子面子/总格子的面积。

不知道小编的解释大家能不能理解,如果有什么问题,欢迎大家提问和指正!!!

流水线-流水线相关计算相关推荐

  1. 流水线的指令解读及相关计算

    前言 指令通常存储在主存中,默认情况下由程序计数器进行依次读取,除非遇到 JMP 命令才会进行跳转继续执行.而 执行一条指令的过程一般如下( 结合图片进行理解 ):        ①先根据程序计数器 ...

  2. 自己动手写CPU(2)流水线数据相关问题

    自己动手写CPU(2)流水线数据相关问题 问题定义 流水线中经常有一些被称为"相关"的情况发生,它使得指令序列中下一条指令无法按照设计的时钟周期执行,这些"相关" ...

  3. 自己动手写CPU之第五阶段(1)——流水线数据相关问题

    将陆续上传本人写的新书<自己动手写CPU>(尚未出版),今天是第15篇,我尽量每周四篇 上一章建立了原始的OpenMIPS五级流水线结构,可是仅仅实现了一条ori指令,从本章開始,将逐步完 ...

  4. 体系结构 | 五段流水线 | 流水线技术

    目录 一条经典的5段流水线 一条指令的执行过程分为以下5个周期: 取指令周期(IF) 指令译码/读寄存器周期(ID) 执行/有效地址计算周期(EX) 存储器访问/分支完成周期(MEM) 写回周期(WB ...

  5. 北科大matlab,北科大matlab第五次作业多项式及其相关计算.doc

    北科大matlab第五次作业多项式及其相关计算.doc <数学实验>报告实验名称多项式及其相关计算学院计算机与通信工程学院专业班级姓名学号2015年5月2一.[实验目的]1.学习多项式的拟 ...

  6. 计算机组成解疑补漏之SDR、DDR及相关计算

    SDRAM的相关计算以及理解SDR和DDR: 关于SDR.DDR的理解 首先,SDR的全称是SDR SDRAM,但是两个SDR的意思是完全不同的! SDRAM:Syncronous Dynamic R ...

  7. 计算机网络:子网划分、子网掩码、CIDR 、路由聚合相关计算详解

    目录 IPv4 的分类 IPv4 的划分 无分类编址CIDR IPv4 地址应用规划 IPv4 的分类 连接到 Internet 中的每一个主机(或路由器)都分配一个 32 比特的全球唯一的标识符,即 ...

  8. (*长期更新)软考网络工程师学习笔记——数据链路层与网络层的相关计算题

    目录 前言 一.海明码校验码的计算 二.最小帧长的计算 三.求默认网关地址 四.网络地址.主机地址.广播地址的区分和求解 五.判断是否属于网络或子网的主机地址 六.子网划分和求子网掩码 七.子网范围和 ...

  9. ip地址、子网掩码及ip地址的相关计算

    1. ip地址(iPv4)组成 IP地址=网络部分+主机部分=32位 将IP地址和子网掩码全部换算为二进制,子网掩码连续全为1的是网络地址,后面的为主机地址. 例:某主机的IP地址为:192,168. ...

  10. 三分钟学会网络地址相关计算

    IP地址 一.IP地址的定义 二.IP地址的分类 2.1 公有网络地址及分类 2.2 私有网络地址及分类 2.3 子网划分及相关计算 练习题: 一.IP地址的定义 互联网上连接的网络设备和计算机都有唯 ...

最新文章

  1. 全流程攻略:如何构建人工智能产品?
  2. ASP.NET图形化的曲线图类
  3. 208. Implement Trie (Prefix Tree)
  4. Hadoop YARN
  5. Linux下备份cisco路由配置
  6. 【云栖号案例 | 教育与科研机构】科研机构上云提供更加精准分析检测服务
  7. SANGFOR SCSA——网络基础
  8. WebRTC源码研究(37)WebRTC实现共享远程桌面
  9. QT封装exe和安装包详解
  10. python分析pcap文件_Python-对Pcap文件进行处理,获
  11. Python基于Django的汽车维修保养系统(源码调试+讲解+文档)
  12. BUUCTF RSA题目全解3
  13. 吐血整理!140种Python标准库、第三方库和外部工具都有了
  14. html5火焰字体效果,CSS3文字特效属性text-shadow如何实现火焰文字的效果
  15. 内核源码中版本号详解(KERNEL_VERSION KERNEL_VERSION)
  16. “互联网寒冬”来袭,软件测试人员该如何度过这次危机?
  17. 双电阻差分电流采样_1206 0.35R采样毫欧电阻等规格参数应用详情
  18. CQL 函数及多深度关系节点
  19. 《机器学习》心得体会
  20. Linux学习-----Chapter six

热门文章

  1. 天气预报API,你想要的它都有
  2. MaxCompute(ODPS)一对多连表时实现多行过滤(同样适用于MySQL)
  3. JavaScript window.alert
  4. 用友财务帐套升级:T3升级U8
  5. gnuplot:散点图
  6. 牛客小白月赛58 B(暴力)C(思维)D(dp滚动数组优化)
  7. sqlserver实现只查询一条数据
  8. 聚合支付-x-pay
  9. 我悟出了公众号取名的套路
  10. 如何利用计算机窃取信息,震惊部 · 用非接触的方式,窃取一台电脑上的信息...