嵌入式消费类设备包括机顶盒、DVD播放机和录像机、VoIP电话,MP3播放器等。如MP3播放器既需要通用处理器来运行操作系统又需要数字信号处理来解码音乐流。传统的做法是用两个单独的处理器来实现。但是事实上,RISC处理器已经能执行某些九游会agDSP运算,随着RISC处理器不断增加速度,它们可以包含更多的DSP应用。根据Forward Concepts总裁和首席分析师Will Strauss的说法“至少30%的RISC处理器适合于‘真正’的DSP应用”。这些应用包括音频编解码、分组协议处理和JPEG处理。因此这种趋势即使不会加速,也会持续下去。
在同一个内核上结合通用处理和数字信号处理具有一些挑战和优势。一个很大的优势就是更高效率的硬件架构。在内核中实现DSP增强的额外裸片面积与可编程DSP所占空间相比要小的多。一个原因就是DSP增强可以共享内核中存在的很多硬件。还有,这种组合架构消除了处理器内核和DSP之间的外部总线。这也能减少功耗,因为数据不需要在那样的外部总线之间被来回驱动。
另外一个优势是软件开发者只需要使用一个单一的工具链来写通用代码和DSP代码。不需要处理多个工具链,可以降低开发成本和加速开发。
上面讨论的这些很重要,但是必须克服三个关键挑战以便能将两者在单个内核中结合起来。首先,内核必须提供足够的性能以满足DSP任务的实时执行。其次,DSP增强特性必须添加到RISC内核中,而对频率不会有负面的影响,频率的影响会对通用处理器和DSP性能带来影响。第三,被增强的内核在裸片尺寸上的增加必须尽量小。这些挑战是本文关注的焦点。
RISC处理器具有很多优势能使它们获得高性能。例如高速缓存和转换后备缓冲器(TLB)可帮助提高软件性能。RISC指令集和流水线通常针对相对较高时钟频率进行设计的。当然,RISC指令集能实现很好的编译性能。RISC架构中的一个显著特征是能运行几种已经针对这种架构移植的不同操作系统。例如MIPS32 24K内核系列中的MIPS处理器,它们的优势是可被嵌入式系统常用的几种操作系统所支持。
DSP通常提供特殊的功能,例如小数算法、饱和演算以及单指令多数据(SIMD)运算。它们也执行特殊的复杂指令来增强数字处理性能。这些指令不遵从RISC范例,因为它们执行高成本的功能,例如直接在存储器操作数上操作。其结果是,它们产生了很多关键路径,这些路径限制了DSP的时钟频率。
具有DSP增强的RISC内核能继承所有RISC架构的好处(图1)。如果它还结合了类RISC模式的DSP支持,将能避免为实现复杂指令而增加时钟周期的问题。这使其获得更高的时钟频率和比DSP更好的代码编译性能。
MIPS32 24K内核系列
MIPS32 24K内核系列由一些面向嵌入式市场的高性能32位可综合内核组成。作为这个系列的基本内核,24Kc内核能在130纳米CMOS工艺条件下获得400MHz到625MHz的性能,能达到576到900Dhrystone MIPS(图2)。
MIPS32 DSP ASE
MIPS32 DSP ASE主要是由新指令组成,这些新指令在处理器的整数和乘法管线中执行。ASE包括所有的典型DSP功能,例如可以执行加、减、移位或者乘法的基于寄存器的SIMD指令。SIMD指令可以同时对最多4个操作数同时进行处理,并支持8、16和32位的操作数。ASE还提供具有饱和和循环的小数算法。还能进行几种乘法-累加运算,包括点-积-累加(dot-product-accumulate)。精度扩展和缩减实现了可伸缩运算。绝对值、按位取反和其它指令使一般的DSP运算能更有效地执行。ASE对这个架构增加了三个新的累加器,使得总累加器达到4个。
除了所有这些常见的运算,ASE还增加了一些先进的特性,从而能在不需要复杂的实现条件下获得额外的性能。例如,变量位提取方法能有效地从一个输入流中获取数据位。另外一个特性可以高效地处理复杂的数字。ASE还包含一种支持虚拟循环缓冲器的新颖且高效的方法。
为使得实现成本最小化,新状态单元仅限于DSP控制寄存器和前面提到的三个新累加器。
设计挑战
很明确,设计目标是在对内核裸片面积和速度不造成大的影响情况下实现DSP增强。
为避免大大增加周期时间,我们增加了第二个周期来在现有的ALU结果和新的DSP资源中选择,如图3所显示。注意现有的ALU运算并没有受到影响,它们的结果仍然传递到一个相关的指令以执行下一个周期。因此,如果一个紧连的指令序列的第一个指令不是DSP指令,仍然能产生结果传递。