反压流水线设计

1
流水线的时间并行
在本公众号的另一篇文章《芯片性能小谈——时间并行》中提到,流水线设计是完美的时间并行。因为流水线上每一级的处理都是一个时钟周期的延时,并且一动则全动,每一级的延时可以完美的掩盖起来,最高实现与流水级数相同数量的请求并行度。
在这里插入图片描述
如上图所示,在现代经典的cpu处理中,流水线级数被广泛应用,cpu的各个处理环节可以看作流水线上的一个stage。在单发射单处理单元的最简单处理器中,同一时间内最高同时可以支持5条指令的执行。如果没有指令冲突,资源冲突等可能导致断流的场景,基本可以认为每一个时钟周期都可以完成一条指令的处理。

当然,除了CPU,只要是一个周期无法完成的功能,在性能优先的设计中,为了提高吞吐率,都可以采用流水线技术来对功能路径进行切分,比如乘法器等。
2
流水线的stage划分
我们知道,流水线的分割线是一组寄存器,这条分割线放在哪个位置完全由设计者决定。一般来说,划分流水线的时候主要有以下三点考虑:

  1. 如果流水线切割的子功能抽象层次较高,最好按完整的功能来进行流水线划分,比如CPU的各个执行环节。
  2. 流水线最好划分在数据通路上位宽较小的地方,以节省寄存器数量和面积。在流水线上可以有许多的数据路径,数据路径会有中间结果和最终结果。那么这个时候就可以选择性地进行切割。比如一个1024bit 2选1的数据选择器,如果将流水线划分划在选择器的输入端,那么将占用2x1024=2048bit的寄存器以及1个1bit的选择信号。而如果将流水线
  • 1
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值