前言

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

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

正文

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

一、什么是流水线

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

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

二、流水线用在哪?

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. Python进阶-----类、对象的相关知识
  2. Linux内核最新的连续内存分配器(CMA)——避免预留大块内存【转】
  3. 2020年周记(2/50)
  4. 污水处理中php是什么药剂,污水处理中需要用到哪些药剂?
  5. C++ HOOK 详解
  6. 已收藏!java面试知识点整理
  7. android tv背景图片,android中shape绘制背景图片
  8. 百度地图设置显示定位服务器,百度地图API示例之设置地图显示范围
  9. (超详细)张正友标定法原理及公式推导
  10. 可靠性 可用性 可维护性
  11. 将RDL报表转换成RDLC报表的函数
  12. 修改elementui 的默认样式element.style样式
  13. TeamViewer14检测为商业用途最优解
  14. 模拟幂律分布(附C语言代码)
  15. 暨南大学导师推荐、导师口碑、导师黑名单
  16. 从十亿光年到0.1飞米
  17. 【web前端特效源码】使用HTML5+CSS3制作一个会动的音频loading加载动画效果~~适合初学者~超简单~ |前端开发|IT编程
  18. (三)编辑序列帧动画
  19. 达梦数据库项目 SpringBoot + jpa + DM8
  20. Python爬虫实战之 爬取全国理工类大学数量+数据可视化

热门文章

  1. Kubernetes 三节点安装-完整可用
  2. makesfx.exe (Make SFX (Self-extracting archive))
  3. Java并发编程面试题(精心整理100家互联网企业,最全面试题祝你面试上岸)
  4. redhat6.5安装nvidia驱动
  5. web开发入门(转载)
  6. 测试工程师的简历到底怎么写?
  7. 不小心把桌面进程结束了怎么办_电脑桌面进程崩溃怎么办_桌面进程explorer怎么重启...
  8. GitHub 干货 | 各大数据竞赛 Top 解决方案开源汇总
  9. 试简述smtp通信的三个阶段的过程_海格通信有力支撑天通系统正式面向全社会提供服务...
  10. java 504错误怎么解决_504 Gateway Time-out 错误处理记录