收藏本站在线留言

您好,欢迎来到深圳市创百利工业设备有限公司官网
您的位置:网站首页 > 新闻资讯
关于流水线的深入了解你知道多少?

关于流水线的深入了解你知道多少?

发布日期:2022/7/22 17:08:44

      流水线是硬件设计中增加吞吐量基本的方法,只要数据不存在相关性,流水线就能很有效的工作。大部分IC设计者对于流水线的理解在于:流水线可以将普通的组合逻辑path进行切割,使得每条path更短,从而跑上更高的频率,流水线的整体吞吐量就上去了。因此,流水线切割的级数越多,频率越高,流水线的吞吐量越高。当然,切割数量太多,引入的寄存器传输延时未必会小于减小的延时,所以级数太多也不行。这种理论有一个前提,就是流水线的输入输出是不变的,运算的组合逻辑也是不变的,设计者所追求的是大吞吐量。

  但是今天我要讲的不是这些基础知识。实际上,对流水线进行切割,使得其运行在更高的频率下,其带来的反馈效果完全有可能导致流水线的结构也发生变化。比如一个module,采用流水化设计,如果其额定吞吐量固定为600MB/s,输入为32bit,那么很明显系统需要运行在150M的时钟下面。假如我们的设计时序余量还不错,或者对过长的path进行了切割,那么有可能使得我们的系统运行在300M的时钟下面,这样的话,需要达到同样的吞吐量,输入其实可以仅有16bit,硬件设计将有简化的可能,gate count能够降低不少。将硬件设计简化为16bit之后,其逻辑量相比于输入是30bit会减少很多,又会使得系统跑上300M变得更容易,甚至有可能上450M,这样输入位宽又可能进一步减少,gate count又会减少很多,如此循环。

  所以,当我们需要的不是更高的吞吐量,而是更小的gate count,那么系统频率上升一倍,理论上硬件并行度就可以降低一半,可以使用更少的硬件达到同样的带宽,更少的硬件又会使得频率更容易变高,这也是流水线思想的逆向运用。当然切割流水线引入的寄存器会增加gate count,如果增加的gate count大于硬件简化减少的gate count,就没有实际意义,所以流水线级数过高也是不行的。

  标签:流水线


文章关键词:流水线
展开