RISC-V MCU中文社区

【分享】 流水线技术

发表于 开源蜂鸟E203 2023-06-03 22:51:28
0
1852
0

报名编号:CICC1869
团队名称:大耳狐

流水线越长并不表示指令执行就越快。流水线最慢的那一级的时延越低,表示可以有更多的指令同时被执行,也就是并发度会越高。流水线长不表示什么,反而应该越短越好,关键是最慢那一级的时延。如果考察单个指令,进流水到出流水的时间是一样的。但是程序是由多个指令构成的,将指令并行之后,从程序的视角来看,整体执行变快了,此时可以用整个流水线耗时除以并行度,得出每条指令的“执行时间”,看上去加快了。但是这个执行时间是个假的,实际上每条指令从开始到结束并没有变化。

本质上说,影响数字电路时钟速度的短板是关键路径的延时(延迟最长的那个路径),关键延时主要是组合逻辑造成的,比如verilog写个c<=a+b;可以综合出一个组合逻辑加法器,但是随着位宽的增加,那些与或非们的级联层数就越多,关键延时就越大,整个可以运行的时钟频率就下降了,解决此类问题就是在组合逻辑之间插入流水线寄存器,也就是触发器,保留一些中间结果,将组合逻辑“打散”,相邻两个触发器之前的组合逻辑规模缩小,延时变小,整个系统可以跑的时钟组度就快了,但是插入触发器,就会使得硅片面积增加,也就是你问题说的以空间换取时间。这就是流水线技术。

喜欢0
用户评论
COOPER

COOPER 实名认证

懒的都不写签名

积分
问答
粉丝
关注
  • RV-STAR 开发板
  • RISC-V处理器设计系列课程
  • 培养RISC-V大学土壤 共建RISC-V教育生态
RV-STAR 开发板