paradoxfx

【原创】TI C2833x介绍---(3)28x流水线

0
阅读(2361)

前两次简要介绍了框架结果和CPU,这一次讲一讲c28x的流水线设计。流水线又叫pipeline,就是在延时较长的组合逻辑(一般是多级组合逻辑)中插入寄存器,将较长的组合逻辑拆分为多个较短的组合逻辑,以提高设计的最大时钟速率。流水线设计是高速电路设计中的一个常用设计手段。如果某个设计的处理流程分为若干步骤,而且整个数据处理是"单流向"的,即没有反馈或者迭代运算,前一个步骤的输出是下一个步骤的输入,则可以考虑采用流水线设计方法来提高系统的工作频率。流水线的缺点是会在设计中引入流水线延时,插入一级寄存器带来的流水线延时是一个时钟周期。28x的流水线如图1所示。

 

图1 28x流水线示意图

简单一点讲,如果使用串行方法来实现一系列复杂的指令,比如上图中从A的F1一直执行到A的W,串行需要8次;而改用流水线之后,执行A的F2的时候,B的F1也同时进行了,相当于进行了“准并行”处理。流水线处理方式之所以能够很大程度上提高数据流的处理速度,是因为复制了处理模块,它是面积换取速度思想的又一种具体体现,或者说叫“空间换时间”吧。

此外,28x还使用了一个特殊的8级保护管道,以最大限度地提高吞吐量。这里有一种特殊的保护机制,即不允许对同一位置进行同时的读写,以避免时序的冲突。这样的流水线还可以减小在运算过程中对高速缓存的需求,(我们使用的个人计算机中的CPU就需要大量的高速缓存,里面又牵涉到缓存命中的问题),这样同时又可以做到最大程度减少时序读写中的不确定性了。

如果感觉理解起来还有点困难的话,可以看一下时序处理方面的资料。