新闻中心

EEPW首页 > 汽车电子 > 学习方法与实践 > ARM的DSP增强型扩展

ARM的DSP增强型扩展

作者:时间:2008-02-27来源:与非网收藏

         现在,很多新兴的应用领域涌现了许多新的算法标准,这些算法对于处理器提出了更高的性能和控制要求。信号处理需要处理器提供高峰值性能,但这部分在整个算法中的比例有减少的趋势。对于开发包含高性能算法的大规模应用的设计团队来说,有很多种可供选择的方案。市场竞争的压力使得选择一个对高性能有充分保障的处理器平台来实现高性能的功能变得非常重要。但是选择超出需求性能很多的处理器平台对于系统成本和电源消耗也是有着很大影响的,这会直接导致产品缺乏竞争力。 

         ARM在提供通用的RISC处理器架构的同时,为其增添了一些针对特定应用的高性能指令集,以期能够达到软件和硬件的一个优化平衡。这样,一些高度涉及信号处理的应用本来是要借助一块专用DSP来完成的,现在由一个ARM内核就可以实现同样的功能。比较典型的例子就是MP3音频算法。对于MP3算法的分析表明,一些关键的前端步骤的处理,包括读入比特流,霍夫曼(Huffman)解码和反量化(inverse quantization),这时,ARM RISC架构比普通的DSP能体现更佳的性能。同时,这个通用处理器还可以处理复杂的任务控制。 

         ARM为信号处理算法专门发布了v5TE的架构,在普通的ARM架构基础上新增了有效的DSP指令。ARM的扩展DSP指令集使得ARM的CPU系列能够更好的适应复杂的信号处理,同时还保留了作为高性能RISC处理器所特有的低功耗特性。ARM v5TE的DSP扩展指令集已经在ARM946E-STM 和 ARM966E-STM和ARM926EJ-STM上得到应用。Intel也同时在他们和ARM架构兼容的XScale微处理器系列里实现了DSP指令集的扩展,并且主频达到了1GHZ。 

         ARM的解决方案在解决应用问题而增强了性能的同时,还在性能和功耗,CPU核面积的大小等方面达到了均衡。像ARM9ETM这样的单核解决方案,同时满足了任务控制和信号处理方面的需求,比传统的DSP内核加通用内核的双核方案,在最终的效率和开发过程方面有了很大的提升。

目标应用: 

         ARM专门为ARM的各个平台开发了近乎于CD音质的音频算法,比如MP3,包括了WMA和MPEG AAC标准。总的来说,有着DSP增强指令的内核是最适合于应用在以前既需要高性能的DSP核同时又要求能够进行有效的任务控制的场合。比如大容量存储器,语音编码器,语音识别合成,网络应用,车控系统,智能手机,发报机和调制解调器。 

         下图列举了DSP增强指令。包括单周期16x16和32x16的乘法指令,增加了饱和运算功能的运算指令。这些指令为开发稳定的操作系统和比特级精确的算法提供了方便。前导零运算指令为算法的标准化和浮点数运算特别是对于除法运算带来了高性能。这些DSP增强指令在ARMv5TE中得到了很好的实现。
         支持DSP增强指令的硬件架构是基于现有的ARM9TDMITMRISC核的,也是五级流水线,哈佛结构。DSP增强指令集对于整个现有结构的影响被控制到了最小,没有增加另外的寄存器或者CPU状态,也没有增加对寄存器使用的限制。如表一所示,ARM9E架构只增加了有限的部分: 一个快速32x16乘法单元,一个CLZ单元和两个饱和运算单元。
         因为D S P增强功能并没有对现有的架构做太大的修改,所以ARM9E优于原先的ARM9架构。ARM9E内核能达到和A R M 9内核差不多的主频,在0.18μm工艺下能达到195MHz,并且只有1.0mm2的晶圆面积(die area),功耗预计为0.5mW/MHz。

         DSP增强指令集并没有用特别的硬件逻辑来实现诸如modulo addressing,bit-wise reversal addressing和zerooverhead
looping的指令。但同时支持这些运算也是很有意义的,所以可以用一些已有的指令组合来实现,尽管这会带来一些性能上的微小的损失。 

         Bit-wise reversal addressing在快速傅立叶变换(FFT)中是一个很常见的功能需求,是很多DSP算法的基础功能。现有的桶位移(barrel shifter)功能提供了实现bit-wise reversal的一种仿真方法,和用单指令实现相比只有微小的性能损失。例如,对于一个512个样本的FFT来说,在ARM9E核上需要大概29k的时钟周期,其中只有大概300个时钟周期是用来仿真bit-reversed addressing的,只占了整个FFT变换的1%。

案例分析——语音编码:
 
         GSM-AMR(Adaptive Multi Rate)语音编码方案已被3GPP (the Third Generation Partnership Project)选为GSM,UMTS和WCDMA网络的语音解决方案。 它近乎有线的语音传输质量和有效的频谱使用范围使得它可能成为下一代的无线语音编码标准。 

         AMR自适应系统可跟据无线信道的质量自动调整语音和信道的比特率工作模式。支持AMR的增强型射频源算法还可以根据传输负荷和信道质量调整半比特率和全比特率模式。AMR编码的思想不止是根据无线传输的情况作出调整,并且能根据网络运营商的需要做出调整。 

         AMR(自适应多速率)编解码器组由速率从1 2 . 2 k b p s至4 . 7 5 k b p s的ACELP声码器组成,它有8种固定的信源速率模式(4.75~12.20kbit/s)。AMR以20ms的语音为一帧进行处理(对应于160个采样值在每秒8000个采样值的速率下)。AMR把160个13位的采样值映射为编码块,还能把这个编码块重构造为160个语音采样值。对于这160个采样值中的每一个来说,语音信号基于码激励线性预测(CELP)编码模式分析得到线性预测(LP)系数。这些系数被编码和传输。在解码的时候,这些系数被解码然后语音通过LP合成和加权滤波器合成为发音时的激发讯号(excitation signal)。 

         AMR语音编码器是用定点标准C语言(fixed-point ANSI-C)描述的精确到bit位的算法,易于验证和测试。

AMR实现: 

         就像其他很多信号处理应用一样,实现AMR算法的一个关键是有效的数字滤波和数字相关性。ARM9E架构实现了对应于相关性操作的“块”操作,这使得对寄存器的访问减少,提高了效率。 

         ARM9E指令集可以把两个16位数相乘的操作数分别放在一个32位的寄存器里,各占用半字的大小。然后把结果标量乘积放在一个32位的寄存器里。这种实现通过使用四个通用寄存器作为累加数,能够从三个另外的输入数据和系数得到联合乘积,而不用对数据和系数做移动操作。 

         通常,普通的实现会对输入数据进行移位迭代以产生下一个乘积。通过复用块操作中的数据,四个相关系数的乘加操作只通过一次传输,节省了Load/Store的操作。图三指出了相关系数的块操作过程 。 

         ARM9E的单周期饱和运算指令也使得块联合乘法变得更快。而相应的操作在ARM9架构上要用到四个周期。

         由于块操作对于相关系数计算效率上的增强,对于需要大量计算的AMR编码功能,ARM9E只需要实现同样功能的ARM9架构的指令的66%。
G.723.1语音编码器: 

         ITU标准G.723.1是一个为视频会议应用定制的语音压缩算法的国际标准。他能够把采样率为8KHz的语音信号编码为能在6.4或者5.3Kbps的信道上传输的信号。G.723提供了约为4KHz的钟鸣声质量的语音带宽。这是通过GSTN或者无线信号进行可视电话的必需的语音编码器。G.723.1还是通过ISDN,B-ISDN,guaranteed QoS LAN, non-guaranteed QoS LAN进行视频电话,或者利用帧中继(VoFR)和VoIP进行语音传输的可供选择的标准。
         语音编码器可以从DSP增强指令集得到很多性能提升。ARM9E架构的DSP增强指令集仅使用处理器2 5%的性能——大概为45MHz,就可以很好的运行G.723.1算法了,而ARM9需要76MHz。由于使用了16位精度的算法和饱和运算的大量使用,使得ARM9E架构成为了非常适合于编解码应用的架构。

比较分析: 

         对于许多数字信号算法,点积运算功能通常对于峰值处理能力有着较高的要求,图四给出了ARM9E相对于ARM9处理点积更好的性能的图示。可以看到有了DSP增强指令集,通常能提高平均两倍的性能。

         ARM DSP增强解决方案的一个很重要的好处,也是相比于专用DSP的一大优点就是所有的处理都能够在一个单独的ARM处理器上完成。这既减少了功耗,芯片面积,还使得硬件和软件的开发过程变得简化。
 
         ARM能够在处理关键算法的同时满足系统任务控制的需求,比如IO控制,卡式存储器,显示和键盘。而专用的DSP处理器要完成同样的任务就需要另一个单独的微控制单元。基于两个处理器单元的设计需要多余的芯片面积。另外,由于要在DSP和微控制器间开发关于控制和数据的交换的协议,这也使得开发变得复杂。把这些复杂的功能整合到一个单独的处理器对于简化开发和加速产品的上市时间是一个非常关键的因素。 

         因为ARM DSP增强型处理器只需要一个单独的存储器系统,统一的存储器映射简化了软件总体的设计难度。对于那些需要RTOS的系统来说,现在只需要一个任务通过简单的API来完成对于DSP功能的调用。而专用的DSP解决方案需要开发预约式时间调度程序来完成RTOS对于DSP功能的使用,这增加了复杂性和两个处理器间切换时时间处理的难度。

总结:

         ARM DSP增强架构和DSP扩展指令集提供了开发者直接使用嵌入式内核开发高性能的数字处理算法的可能,并且不会带来控制性能的损失。ARM‘E’内核增强了灵活性和编程解决方案的应用空间,作为SoC设计的内核,它能够提供许多需要峰值处理能力的算法优化的解决方案和复杂的控制能力。 

        ARM的DSP解决方案和他的通用RISC架构内核在硬件资源和提供算法高性能的处理能力方面达到了很好的平衡,在实现增强性能的同时,没有增加很多芯片面积和电源消耗。 

        作为市场上嵌入式内核IP的领先者,ARM提供了基于内核的SoC设计方案,包括嵌入式软件开发套件(RVDS),开发板,外设PrimeCell IP模块,和AMBA-SoC标准片上总线。


关键词: ARM DSP 增强型 扩展

评论


相关推荐

技术专区

关闭