前言

一听到流水线,我就想到工厂中流水线上的工人,只需要重复做一样工作即可

等以后退休了,我也想去工厂给饼干扎洞洞哈哈哈

正文

目前我看到的使用流水线的场景,大多是用面积换速度的场景

一、什么是流水线

流水线技术:一个启动程序指令的并行执行的过程。在原本的组合逻辑中,插入寄存器后,就形成了流水线

由于组合逻辑越长,对时序的影响越大,因此为了有效减小时延,就可以在组合逻辑中加入寄存器,如下

二、流水线用在哪?

2.1 使用流水线的场景

2.1.1 组合逻辑太长

在实现8bit全加器时(流水线实现8bit全加器),使用流水线来同时处理低4位和高4位的运算,这里能使用流水线的原因是,组合逻辑时延大,并且数据流向是单方向的


后面这3个等遇到再补充

2.1.2 功能模块之间

功能模块之间的流水线,用乒乓 buffer 来交互数据

2.1.3 I/O 瓶颈

2.1.4 片内 sram 的读操作


2.2 使用流水线后的效果

2.2.1 优点

增加了数据吞吐量,从而可以提高时钟频率

关键路径中插入流水线,能够提高系统时钟频率

2.2.1 缺点

流水线设计会导致原有通路延时增加:这里是说流水线增加了单个数据的延时,每增加一个寄存器,会增加一个输入到输出的寄存器需要的时间,因此原有通路时延增加;但是着眼于全局,流水线是减小了时延的

功耗增加,面积增加,硬件复杂度增加

2.3 关键路径、时钟频率

关键路径:由非时钟逻辑元件引起的最大延迟,其他路径需要等关键路径执行完成,其他路径才可以继续执行
时钟频率:由2级寄存器之间的时延决定,如下图

三、参考资料

牛客 - 流水线试题

FPGA:什么是流水线?流水线用在哪?相关推荐

  1. FPGA设计篇之流水线思想

    FPGA设计篇之流水线思想 一.写在前面 二.正文开始 2.1举个栗子 2.2.1情况一(组合逻辑) 2.1.2情况二(流水线设计) 2.1.4 小总结 2.2举第二个栗子 写在最后 一.写在前面   ...

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

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

  3. 流水线-流水线相关计算

    流水线-流水线计算 一个造车厂生产一辆车分为ABCD四道工序,1号车开始生产,A道工序结束,进入B道工序,再之后C道工序,然后D,最后完工,2号车开始生产,同上,结束后三号车生产,但随之而来的问题是, ...

  4. 计算机的流水线-----流水线的原理

    文章目录 先听一个故事 流水线优化 总结 先听一个故事 假如你是刚刚在繁华的地带开了一个餐馆,雇了一个大厨掌管厨房,所有的流程都由这个厨师来操作,那么当生意好的时候,厨师一个人根本来不及啊.而且客人本 ...

  5. MIPS流水线 流水线的冒险

    目录 https://blog.csdn.net/weixin_45792450/article/details/109314693 流水线的三种冒险 结构冒险 数据冒险 问题在于:下一条指令的数据依 ...

  6. FPGA中的流水线设计(Pipeline Design)

    流水线设计 前言: 本文从四部分对流水线设计进行分析,具体如下: 第一部分什么是流水线 第二部分什么时候用流水线设计 第三部分使用流水线的优缺点 第四部分流水线加法器举例 第一 什么是流水线 流水线设 ...

  7. 用Spark机器学习数据流水线进行广告检测

    在这篇文章中,我们Spark的其它机器学习API,名为Spark ML,如果要用数据流水线来开发大数据应用程序的话,这个是推荐的解决方案.关键点: 了解机器学习数据流水线有关内容. 怎么用Apache ...

  8. 流水线、超流水线、超标量技术对比

    流水线 流水线技术是一种将每条指令分解为多步,并让各步操作重叠,从而实现几条指令并行处理的技术.程序中的指令仍是一条条顺序执行,但可以预先取若干条指令,并在当前指令尚未执行完时,提前启动后续指令的另一 ...

  9. 处理机流水线------经典五段流水线

    文章是在我遇到这部分问题时查找的所有感觉挺好的内容的整合(全部是转载的) 流水线基础理论就不加了,最新的处理器流水线处理的机制也没有(一般以用不到),想了解去随便找个芯片厂商官网下个手册自己查. 这部 ...

最新文章

  1. Rational工具介绍『转』
  2. java的断点条件,java – Eclipse Debugger不会在条件断点处停止
  3. 连接MySQL数据库时报 Public Key Retrieval is not allowed 异常
  4. [AGC016B]Colorful Hats
  5. apache ii评分和死亡率_危重病人APACHE II评分表
  6. chrome 开启HEVC硬件解码
  7. 苹果app退款_app退款不成功原因有三
  8. 空间管理 - 碎片化问题及解决思路
  9. 一言不合就被“游戏毁掉”?!管管孩子,救救游戏吧!
  10. 赛场上的 AI 务实派:经典招式,也能作出“新解”!
  11. 华为android7.0 root,华为Nova 7.0 root教程 华为Nova获取7.0系统的root权限
  12. 图片存base64后展示问题
  13. python培训总结心得
  14. SSL: error:0B080074:x509 certificate routines:X509_check_private_key:key values mismatch
  15. 几种常见音频编码格式的总结
  16. 汇编相对基址变址寻址方式的使用
  17. Flash Builder 入门
  18. 逻辑回归算法之梯度算法
  19. py新年倒计时代码 /为了孙曌凌,CSDN
  20. HDU 6231 K-th Number(二分)

热门文章

  1. 为什么D是输入,Q是输出?
  2. Linux自启动-桌面进程和守护进程
  3. 王立平--SolidWorks
  4. python必备源代码-资源推荐|347个Python开发经典资源推荐(42类)
  5. App上传应用市场的步骤有哪些能上传哪些应用市场
  6. 数据分析最常用的5大软件,你都会哪些?
  7. Thinkpad R61i安装Fedora 11
  8. 学习flutter小记002 - url_launcher插件使用
  9. echarts地图所需世界、中国、各省份的json、js数据
  10. 为什么大电容滤低频小电容滤高频的问题