首页 | 期刊简介 | 编辑部 | 广告部 | 发行部 | 在线投稿 | 联系我们 | 产品信息索取
2024年12月26日星期四
2011年第01期
 
2010年第12期
 
2010年第11期
2010年第11期
 
2010年第10期
2010年第10期
 
2010年第09期
2010年第09期
 
2010年第09期
2010年第08期
 
2010年第07期
2010年第07期
 
2010年第06期
2010年第06期
 
2010年第05期
2010年第05期
 
2010年第04期
2010年第04期
 
2010年第03期
2010年第03期
 
2010年第02期
2010年第02期
 
2010年第01期
2010年第01期
 
2009年第12期
2009年第12期
 
2009年第11期
2009年第11期
 
2009年第10期
2009年第10期
 
2009年第9期
2009年第9期
 
2009年第8期
2009年第8期
 
2009年第7期
2009年第7期
 
2009年第6期
2009年第6期
 
2009年第5期
2009年第5期
 
2009年第4期
2009年第4期
 
2009年第3期
2009年第3期
 
2009年第2期
2009年第2期
 
2009年第1期
2009年第1期
 
2008年第12期
2008年第12期
 
2008年第11期
2008年第11期
 
2008年第10期
2008年第10期
 
2008年第9期
2008年第9期
 
2008年第8期
2008年第8期
 
2008年第7期
2008年第7期
 
2008年第6期
2008年第6期
 
2008年第5期
2008年第5期
 
2008年第4期
2008年第4期
 
2008年第3期
2008年第3期
 
2008年第2期
2008年第2期
 
2008年第1期
2008年第1期
低时钟速率的高性能DSP
High Performance DSP With Low Clock
使DSP处理器达到高性能有多种方法。然而,传统的DSP性能几乎总是以MIPS来衡量的。传统DSP通常在每个时钟周期仅完成一次操作,因此MIPS可直接对应于以MHz表示的处理器频率。随着指令级并行(ILP)技术的出现,这些指标变得意义不大。ILP可通过超长指令字(VLIW)和超级标量(Superscalar)技术实现。即使在VLIW技术中,也有不同的方法和技巧来实现ILP。此外,在不考虑处理器中的流水线级的情况下,以MHz为单位的时钟速率不能再反映一个DSP的处理性能。对许多DSP应用,非常重要的是要在不使系统功耗太高的情况下达到高性能。系统功率主要来自开关容性负载的消耗。因此,理想的DSP应当在尽可能低的时钟速率下提供高性能。本文考察了实现VLIW和流水线深度的不同方法,并讨论了如何达到这些理想的特性。


指令级并行技术


实现指令级并行处理的技术主要有两种:超级标量和VLIW。两者之间的最基本区别在于并行操作执行在什么时候决定(即调度)。在超级标量结构中,利用硬件支持在程序执行过程中将多个指令操作发送到并行的执行单元。超级标量硬件通常还支持深度流水线的动态调度。在VLIW结构中,则在软件编译时由编译器决定,即由编译器进行并行指令调度。

超级标量结构对于那些已经有大量现有软件基础,而且这些软件不可能重新编译生成新的二进制代码的处理器非常适合。虽然超级标量可以达到很高程度的并行,但就性能、硬件和功率成本来说,每次应用执行都有额外的开销。对于直线式代码,当流水线级被填满时存在很大的性能代价。不幸的是,对于任何生产级DSP应用来说都存在大量分支和条件执行指令,此时深度流水线会造成极大的延迟开销。

VLIW结构对于针对处理器重新编译的应用代码非常适合。嵌入式应用在固定到芯片中以前通过会进行重新编译,在嵌入式DSP中,通常是这样的。对于VLIW,决定和调度并行操作的开销只出现一次,即在应用的编译过程中。

超级标量方法的支持者通常认为超级标量结构具有代码密度优势,因为可保持代码简洁,并可即时实现并行操作调度。在VLIW方法中,在长指令字中可能会存在在某一时钟周期中用不到的代码开销。然而,几乎每一家VLIW处理器供应商都提供某种形式的指令压缩方法来减少这种开销。


VLIW 数据通道方法


许多VLIW 处理器采用包括ALU、MAC和SHIFT操作单元在内的数据通道。这种数据通道在处理器中重复多次,从而形成并行的数据通道。例如,Lucent/Motorola公司的StarCore结构就采用了这一方法。这一方法的优点是编译器需要并行调度的操作是一致的。

另一种方法是创建不同的数据通道,并将其安置在独立的并行结点。尽管这使得编译器的工作更困难,但对于降低处理器中的逻辑门来说通常更为有利。很少有DSP应用需要完全平衡(一样多)的数据通道单元。此外,有一些针对特定算法和应用的操作虽然有用,但却不需要在处理器中重复多次。

最后,可定制的VLIW处理器使设计人员可以创建定制的数据通道单元并在处理器中实现它们。例如,许多DSP不能处理宽带调制解调器所需要的FFT,因此,FFT通常采用专用逻辑或协处理器实现。然而,一些可定制处理器允许设计人员创建一个FFT加速模块并将其增加到处理器结构中。与协处理器不同,编译器可直接生成在FFT加速模块运行的操作,并自动管理数据从该模块的进出。此外,由于定制数据通道单元代替了软件实现,通常可以大大减少代码,从而缩小DSP应用的程序大小。


平衡性能、芯片尺寸和功率


对于任何在其芯片中包含DSP功能的设计人员,其目标就是要在性能、芯片尺寸和功率间达到最佳的平衡。让我们先分别考虑其中每一项,然后再看看它们如何互动。

提高性能有三种方法:提供时钟频率、在单个时钟周期内执行多个操作、和/或增加可加速关键功能的定制数据通道单元。根据处理器的静态特性预测一个应用的最终性能是困难的。正如任何设计人员都可证明的,理论性能(通常以每秒操作数或每秒百万MAC数表示)只能给出小型算法性能的大概指示。当考虑真实的DSP应用时,性能还受到存储器带宽、分支性能以及大量其它因素的影响。

芯片尺寸通过逻辑门、程序存储器和数据存储器要求反映出来。为评估多数DSP应用,降低数据存储器要求的唯一方法是通过算法技巧。对于本文的目的来说,我们可以假设所有解决方案需要同样的数据存储器。这样决定芯片尺寸的因素就剩下了两个:门数量和程序存储器。在很多方面,逻辑门数量在高级SOC设计中已经不是一个问题,因为存储器通常占据了整个芯片面积的大部分。管理逻辑门数量的关键是仅在处理器中包含为了达到应用要求而必需的资源。例如,为了一个特定的应用达到合适的性能指标,可能需要四个ALU、三个MAC和两个移位寄存器。然而,如果处理器中有四个ALU、四个MAC和四个移位寄存器可用来实现这一功能,那么该解决方案中就有多余的资源。


功率是时钟速率、开关特性和存储器的函数


在本文的讨论中有一些明显的折衷。更高的时钟速率意味着不仅处理器功率更高,整个系统也会如此。事实上,处理器运行在较高的时钟速率意味着存储器和其它器件也运行在较高的时钟速率,因为增加访问这些器件的等待状态只会降低性能。增加定制数据通道单元会增加逻辑门数量并轻微增加功率要求,然而,这会减少片上程序存储器要求,从而使整个芯片尺寸和功率特性更合适。

固定DSP处理器不允许设计人员自己进行折衷和平衡,因此,设计人员必须在为产品选择DSP解决方案前对固定的特性(测试基准指标、典型实施、逻辑门数量等)进行评估。可定制VLIWDSP处理器,如Improv公司的Jazz DSP,允许设计人员在整个项目过程中在性能、芯片尺寸和功耗间进行平衡。这是一个非常强大的能力,因为这样做降低了对在产品开发周期早期所做出决定的信赖,并允许设计小组适应不断变化的产品要求。

我们进入这样一个崭新的时代,可以在系统级芯片(SoC)设计所提供的大环境中创建嵌入式DSP核心。可定制DSP处理使设计小组可做到合适的性能、芯片尺寸和功耗平衡。这些可定制DSP处理器的关键是一个坚实的结构基础提供了灵活地增加和移除处理器中的数据通道资源并定制存储器带宽和访问的能力。现在,用户定义的DSP可以填补固定DSP处理器和专用DSP逻辑实现间传统的空隙了。

(钟)

 
         
版权所有《世界电子元器件》杂志社
地址:北京市海淀区上地东路35号颐泉汇 邮编:100085
电话:010-62985649
E-mail:dongmei@eccn.com