基于算法的DSP硬件结构分析
扫描二维码
随时随地手机看文章
在当前信息化、数字化进程中,信号作为信息的传输和处理对象,逐渐由模拟信号变成数字信号。信息化的基础是数字化,而数字化的核心技术之一就是数字信号处理。数字信号处理技术已成为人们日益关注的并得到迅速发展的前沿技术。DSP作为一种特别适合于进行数字信号处理运算的微处理器,凭借其独特的硬件结构和出色的数字信号处理能力,广泛应用于通讯、语言识别、图像处理、自动控制等领域。
2 DSP算法的主要特点及其硬件要求
数字信号处理是指将模拟信号通过采样进行数字化后的信号进行分析、处理、它侧重于理论、算法及软件实现。数字信号处理算法具有如下一些主要的特点:
①信号处理算法运算量大,要求速度快。不论是一维的语言信号,还是二维的图像信号,一般算法的运算量都很大,且算法的实现都必须实时。
②信号处理算法通常需要执行大量的乘累加运算。比如FIR滤波算法主要执行的是一个点积运算,也就是以乘、加为主的运算。
③信号处理算法常具有某些特定模式。比较典型的数字滤波器中的连续推移位。
④信号处理算法大部分处理时间花在执行相对小循环的操作上。
⑤信号处理要求专门的接口。一个非常重要的接口是把模拟信号与数字信号相互转换的ADC和DAC,另外大量的数据交换需要有高速的数据吞吐能力。
从一开始,DSP的结构就是针对DSP算法模型进行构造的,几乎所有的DSP都包含有DSP算法的特征。因此,数字信号处理的上述特点要求DSP必须是专门设计的,典型DSP的设计满足数字信号处理的这样一些要求:
①单周期快速运算,允许任意计算次序。
②单周期内能取两个以上操作数,保证快速的乘累加运算(MAC)。
③能产生信号处理算法需要的特殊寻址,如循环寻址和位翻转寻址。
④有相应的硬件循环缓冲区,能执行零开销的循环和转移操作。
⑤具有串口、DMA控制器、定时器等丰富的外设资源。
3 DSP的基本结构组成
3.1 多总线结构
微处理器内一般有两种基本总线结构:冯·诺曼结构和哈佛结构。这两种总线结构的结构框图如图1所示。冯·诺曼结构取指令、取数据都是通过同一总线完成。因此必须分时进行,在高速运算时,往往在传输通道上出现瓶颈效应。而DSP内部采用的是哈佛结构,它在片内至少有四套总线:程序的数据总线、程序的地址总线、数据的数据总线和数据的地址总线。这种分离的程序总线和数据总线,可允许同时获取来自程序存储器的指令字和来自数据存储器的操作数,互不干扰。有的DSP片内还包括有其他总线,如DMA总线等,可在单周期内完成更多的工作。
3.2 流水线
与哈佛总线结构相关, DSP广泛采用流水线以减少指令执行时间,从而增加了处理器的处理能力。要执行一条DSP指令,需要通过取指、译码、取操作数、执行等几个阶段,DSP的流水线结构是指它的这几个阶段在程序执行过程中是重叠进行的,即在对本条指令取指的同时,前面的三条指令已依次完成译码、取操作数、执行的操作。正是利用这种流水线机制,保证DSP的乘法、加法以及乘累加可以在单周期内完成,这对提高DSP的运算速度具有重要意义,特别是当设计的算法需要连续的乘累加运算时。
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使总线、数据通道等资源充分
利用,并无需改变信号处理的基本结构。但是,这种结构只有处理并行算法时才是高效的。对于那种算法中的结果作为下一操作输入的串行算法,SIMD处理器通常不使用。
5 DSP结构改进的思考
过去的DSP结构设计主要是面向计算密集型的应用,而对控制密集型支持得不够。而现实应用中很多场合需要信号处理和精确控制的有效结合,如数字蜂窝电话,它要有监控和语言音处理的工作。现代的DSP将采用DSP/MCU的混合结构,在保证计算能力优先的前提下,通过快速的现场切换、多执行部件并行执行等方式,加强控制类操作的处理能力。将MCU核集成到DSP核中,或者从整体上对DSP进行重新设计,使之兼有DSP和MCU的功能。
另外,为解决速度、功耗、可编程之间的矛盾,我们提出了一种新型的计算方式,它结合了现有微处理器和DSP的时间计算方式以及ASIC、FPGA解决方案的空间计算方式。这种可重构DSP处理器的关键是它能同时进行时间和空间计算。它由一个计算元件互相连接的二维阵列构成,每个阵列都有各自的逻辑单元和本地寄存器。连接这些计算元件的可编程连线借以对阵列的数据流架构动态重构,从而可根据运行的具体任务而对其进行优化。由于可重构计算使开发人员可对其软硬件加以控制,因此这些编译器将在需要运行的DSP的系统中实现真正的软硬件协同设计。