作者: 时间:2009-01-07 来源:52RD嵌入式开发 | |
何冬明1 杨新志2 薛忠杰2 (1.上海大学微电子中心,上海200072;2.中国电子科技集团公司第58研究所,江苏无锡214035) 摘 要: 数字信号处理器(DSP)是专门针对数字信号处理运算而设计的微处理器芯片。本文在介绍DSP算法特点的基础上,指出了DSP的基本结构组成以及当前主流DSP的两种典型体系结构,分析了这两种结构各自的优缺点,最后根据DSP应用领域的新情况以及微处理器体系结构的发展,对DSP结构的发展提出了一些看法。 1引言 2 DSP算法的主要特点及其硬件要求 数字信号处理是指将模拟信号通过采样进行数字化后的信号进行分析、处理、它侧重于理论、算法及软件实现。数字信号处理算法具有如下一些主要的特点: 3 DSP的基本结构组成 3.1 多总线结构 3.2 流水线 3.3 硬件乘法器 专用的硬件乘法器是DSP的特征之一,硬件乘法器的功能是在单周期内完成一次乘法运算。 DSP内还增加了累加器寄存器来处理多个乘积的和,而且该寄存器通常比其他寄存器宽,这样保证乘累加运算结果不至于发生溢出。 3.4 多处理单元 DSP内部一般都包括多个处理单元,如ALU、乘法器、辅助算术单元等。它们都可在单独的一个指令周期内执行完计算和操作任务,而且往往同时完成。这种结构特别适合于滤波器的设计,如FIR和IIR。这种多处理单元结构还表现为在将一些特殊的算法作成硬件,如典型的FFT的位翻转寻址和流水FIR滤波算法的循环寻址等。而且大部分DSP具有零消耗循环控制的专门硬件,使得处理器不用花时间测试循环计数器的值就能执行一组指令的循环,硬件完成循环跳转和循环计数器的衰减。 3.5 外围设备 DSP片内通常具有DMA控制器、串行口、定时器等外设,所以用户通常只需要外加很少的器件就可以构成自己的DSP系统。DMA控制器可以在不干扰CPU操作的前提下,由其专用的数据存取通道独立完成接口到片内存储器之间的数据传输,从而形成片内的高速数据通道。大多数DSP还支持IEEE1149.1标准,用户通过JTAG端口可对DSP进行在线 4 当前主流DSP的体系结构 近年来,DSP不断推陈出新,其硬件结构也有了很大的改进和提高。DSP体系结构的革新在很大程度上受到应用需求的影响,其指令集的设计是面向存储器和数字信号处理算法来进行性能优化的。当前高性能DSP结构的主在特点就是采用了各种并行处理技术,它可由两个途径实现:一种途径是基于VLIW、类RISC指令集等技术来增加单时钟周期并发的指令数;另一种途径是通过SIMD、增大总线字长或增加指令字的长度等技术来增加单指令周期并行执行的处理单元个数。 4.1 VLIW结构及其优缺点 TI公司TMS320C6X系列DSP就是采用了VLIW的体系结构,其结构如图2所示。在VLIW处理器的硬件上,各功能单元共用大型寄存器堆,由功能单元同时执行的各种操作是由VLIW的长指令来同步,它把长指令中不同字段的操作码分送给不同的功能单元。相对于传统型DSP,VLIW处理器使用简单的指令集,一条指令只完成一个操作。这个处理器将简单指令并行地发射出去,并同时执行,有这样的多条指令构成一个超长指令字。由于使用了简单指令集后,简化了译码和执行操作。 VLIW技术极大地提高DSP的性能,但它也有缺点。由于它的指令字长增加了,所以它较大地增加了程序存储器的占用空间,使得DSP的成本随之增加。同时为了支持多个并行指令的执行,这种结构的DSP要求有庞大的调整寄存器堆。 4.2 SIMD结构及其优缺点 SIMD处理器把输入的长数据分解为多个较短的数据,然后由单指令并行地操作。它在目前一些高性能的DSP得到了应用,如AD公司的ADSP21160系列DSP,如图3所示。该结构内有两套包括ALU、桶形移位器、乘法器和寄存器堆等功能部件的运算单元,可在单周期内对不同的操作数执行两个及以上的乘法操作。SIMD使总线、数据通道等资源充分 5 DSP结构改进的思考 过去的DSP结构设计主要是面向计算密集型的应用,而对控制密集型支持得不够。而现实应用中很多场合需要信号处理和精确控制的有效结合,如数字蜂窝电话,它要有监控和语言音处理的工作。现代的DSP将采用DSP/MCU的混合结构,在保证计算能力优先的前提下,通过快速的现场切换、多执行部件并行执行等方式,加强控制类操作的处理能力。将MCU核集成到DSP核中,或者从整体上对DSP进行重新设计,使之兼有DSP和MCU的功能。 另外,为解决速度、功耗、可编程之间的矛盾,我们提出了一种新型的计算方式,它结合了现有微处理器和DSP的时间计算方式以及ASIC、FPGA解决方案的空间计算方式。这种可重构DSP处理器的关键是它能同时进行时间和空间计算。它由一个计算元件互相连接的二维阵列构成,每个阵列都有各自的逻辑单元和本地寄存器。连接这些计算元件的可编程连线借以对阵列的数据流架构动态重构,从而可根据运行的具体任务而对其进行优化。由于可重构计算使开发人员可对其软硬件加以控制,因此这些编译器将在需要运行的DSP的系统中实现真正的软硬件协同设计。
|
用户188034 2009-9-13 22:40