ARM的DSP增强型扩展
发布时间:2008/9/1 0:00:00 访问次数:534
现在,很多新兴的应用领域涌现了许多新的算法标准,这些算法对于处理器提出了更高的性能和控制要求。信号处理需要处理器提供高峰值性能,但这部分在整个算法中的比例有减少的趋势。对于开发包含高性能算法的大规模应用的设计团队来说,有很多种可供选择的方案。市场竞争的压力使得选择一个对高性能有充分保障的处理器平台来实现高性能的功能变得非常重要。但是选择超出需求性能很多的处理器平台对于系统成本和电源消耗也是有着很大影响的,这会直接导致产品缺乏竞争力。
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%。
案例分
现在,很多新兴的应用领域涌现了许多新的算法标准,这些算法对于处理器提出了更高的性能和控制要求。信号处理需要处理器提供高峰值性能,但这部分在整个算法中的比例有减少的趋势。对于开发包含高性能算法的大规模应用的设计团队来说,有很多种可供选择的方案。市场竞争的压力使得选择一个对高性能有充分保障的处理器平台来实现高性能的功能变得非常重要。但是选择超出需求性能很多的处理器平台对于系统成本和电源消耗也是有着很大影响的,这会直接导致产品缺乏竞争力。
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%。
案例分
上一篇:力控在嵌入HMI系统中的应用