FPGA:什么是流水线?流水线用在哪?
前言
一听到流水线,我就想到工厂中流水线上的工人,只需要重复做一样工作即可
等以后退休了,我也想去工厂给饼干扎洞洞哈哈哈
正文
目前我看到的使用流水线的场景,大多是用面积换速度的场景
一、什么是流水线
流水线技术:一个启动程序指令的并行执行的过程。在原本的组合逻辑中,插入寄存器后,就形成了流水线
由于组合逻辑越长,对时序的影响越大,因此为了有效减小时延,就可以在组合逻辑中加入寄存器,如下
二、流水线用在哪?
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:什么是流水线?流水线用在哪?相关推荐
- FPGA设计篇之流水线思想
FPGA设计篇之流水线思想 一.写在前面 二.正文开始 2.1举个栗子 2.2.1情况一(组合逻辑) 2.1.2情况二(流水线设计) 2.1.4 小总结 2.2举第二个栗子 写在最后 一.写在前面 ...
- 体系结构 | 五段流水线 | 流水线技术
目录 一条经典的5段流水线 一条指令的执行过程分为以下5个周期: 取指令周期(IF) 指令译码/读寄存器周期(ID) 执行/有效地址计算周期(EX) 存储器访问/分支完成周期(MEM) 写回周期(WB ...
- 流水线-流水线相关计算
流水线-流水线计算 一个造车厂生产一辆车分为ABCD四道工序,1号车开始生产,A道工序结束,进入B道工序,再之后C道工序,然后D,最后完工,2号车开始生产,同上,结束后三号车生产,但随之而来的问题是, ...
- 计算机的流水线-----流水线的原理
文章目录 先听一个故事 流水线优化 总结 先听一个故事 假如你是刚刚在繁华的地带开了一个餐馆,雇了一个大厨掌管厨房,所有的流程都由这个厨师来操作,那么当生意好的时候,厨师一个人根本来不及啊.而且客人本 ...
- MIPS流水线 流水线的冒险
目录 https://blog.csdn.net/weixin_45792450/article/details/109314693 流水线的三种冒险 结构冒险 数据冒险 问题在于:下一条指令的数据依 ...
- FPGA中的流水线设计(Pipeline Design)
流水线设计 前言: 本文从四部分对流水线设计进行分析,具体如下: 第一部分什么是流水线 第二部分什么时候用流水线设计 第三部分使用流水线的优缺点 第四部分流水线加法器举例 第一 什么是流水线 流水线设 ...
- 用Spark机器学习数据流水线进行广告检测
在这篇文章中,我们Spark的其它机器学习API,名为Spark ML,如果要用数据流水线来开发大数据应用程序的话,这个是推荐的解决方案.关键点: 了解机器学习数据流水线有关内容. 怎么用Apache ...
- 流水线、超流水线、超标量技术对比
流水线 流水线技术是一种将每条指令分解为多步,并让各步操作重叠,从而实现几条指令并行处理的技术.程序中的指令仍是一条条顺序执行,但可以预先取若干条指令,并在当前指令尚未执行完时,提前启动后续指令的另一 ...
- 处理机流水线------经典五段流水线
文章是在我遇到这部分问题时查找的所有感觉挺好的内容的整合(全部是转载的) 流水线基础理论就不加了,最新的处理器流水线处理的机制也没有(一般以用不到),想了解去随便找个芯片厂商官网下个手册自己查. 这部 ...
最新文章
- Python进阶-----类、对象的相关知识
- Linux内核最新的连续内存分配器(CMA)——避免预留大块内存【转】
- 2020年周记(2/50)
- 污水处理中php是什么药剂,污水处理中需要用到哪些药剂?
- C++ HOOK 详解
- 已收藏!java面试知识点整理
- android tv背景图片,android中shape绘制背景图片
- 百度地图设置显示定位服务器,百度地图API示例之设置地图显示范围
- (超详细)张正友标定法原理及公式推导
- 可靠性 可用性 可维护性
- 将RDL报表转换成RDLC报表的函数
- 修改elementui 的默认样式element.style样式
- TeamViewer14检测为商业用途最优解
- 模拟幂律分布(附C语言代码)
- 暨南大学导师推荐、导师口碑、导师黑名单
- 从十亿光年到0.1飞米
- 【web前端特效源码】使用HTML5+CSS3制作一个会动的音频loading加载动画效果~~适合初学者~超简单~ |前端开发|IT编程
- (三)编辑序列帧动画
- 达梦数据库项目 SpringBoot + jpa + DM8
- Python爬虫实战之 爬取全国理工类大学数量+数据可视化
热门文章
- Kubernetes 三节点安装-完整可用
- makesfx.exe (Make SFX (Self-extracting archive))
- Java并发编程面试题(精心整理100家互联网企业,最全面试题祝你面试上岸)
- redhat6.5安装nvidia驱动
- web开发入门(转载)
- 测试工程师的简历到底怎么写?
- 不小心把桌面进程结束了怎么办_电脑桌面进程崩溃怎么办_桌面进程explorer怎么重启...
- GitHub 干货 | 各大数据竞赛 Top 解决方案开源汇总
- 试简述smtp通信的三个阶段的过程_海格通信有力支撑天通系统正式面向全社会提供服务...
- java 504错误怎么解决_504 Gateway Time-out 错误处理记录