《电子技术应用》
您所在的位置:首页 > 可编程逻辑 > 业界动态 > 数字信号处理器DSPs的发展

数字信号处理器DSPs的发展

2009-02-19
作者:高梅国 何佩琨 王 飞

  摘 要: 数字信号处理器DSPs的发展状况,介绍了DSPs的特点、性能及其评价体系,阐述了现代DSPs的五种结构,最后描述了DSPs的发展趋势。
  关键词: DSP DSPs结构


  80年代还属于少数人研究的数字信号处理(DSP),进入90年代以来,已逐渐成为人们最常用的工程术语之一。处理器应用广泛的原因在于,处理器的制造技术发展得极为先进,使处理器的成本下降到这一水平:它可用在消费品和其它对成本敏感的系统中;处理器的处理速度上升到这一水平:它可满足大部分高速实时信号处理的需求。在产品中越来越多地使用DSP处理器,加剧了对更快、更便宜、更节省能量的DSP处理器的开发和迅速发展。
  DSP处理器(DSPs)的品种越来越繁多,除了大家熟知的四大DSPs产商:Texas Instruments (德州仪器)公司、Lucent Technologies(朗讯技术)公司、Analog Devies(模拟设备)公司和Motorola(摩托罗拉)公司,大约还有80家DSPs产商。它们生产的DSPs主要用于特殊功能的设备,如调制解调器、MPEG译码器、硬盘驱动器等。DSP处理器可分为两大类:定点DSPs和浮点DSPs。定点DSPs发展迅速,品种最多,处理速度为20~2000MIPS。浮点DSPs基本由TI和AD公司垄断,处理速度40~1000MFLOPS。DSPs的性能已形成低、中、高三档,高端产品处理器结构发生了深刻的变化,形成了多样化的趋势。
1 DSPs的特点
  DSP处理器和诸如英特尔、奔腾或Power PC的通用处理器(GPPs)有很大的区别,这些区别产生于DSPs的结构和指令是专门针对信号处理而设计和开发的,它具有以下特点。
  · 硬件乘法累加操作(MACs)
  为了有效完成诸如信号滤波的乘法累加运算,处理器必需进行有效的乘法操作。GPPs起初并不是为繁重的乘法操作设计的,把DSPs同早期的GPPs区别开来的第一个重大技术改进就是添加了能够进行单周期乘法操作的专门硬件和明确的MAC指令。
  · 哈佛结构
  传统的GPPs使用冯.诺曼存储结构,在这种结构中,有一个存储空间通过两条总线(一条地址总线和一条数据总线)连接到处理器内核,这种结构不能满足MAC必须在一个指令周期中对存储器进行四次访门的要求。DSPs一般使用哈佛结构,在哈佛结构中,有两个存储空间:程序存储空间和数据存储空间。处理器内核通过两套总线与这些存储空间相连,允许对存储器同时进行两访问,这种安排使处理器的带宽加倍。在哈佛结构中,有时通过增加第二个数据存储空间和总线来实现更大的存储带宽。现代高性能GPPs通常具有两个片上超高速缓冲存储器——一个存放数据,一个存放指令。从理论的角度上讲,这种双重片上高速缓存与总线连接等同于哈佛结构,但是,GPPs使用控制逻辑来确定哪些数据和指令字驻留在片上高速缓存里,这个过程通常不为程序设计者所见,而在DSPs里,程序设计者能明确的控制哪些数据和指令被存储在片上的存储单元或缓存中。
  · 零消耗循环控制
  DSP算法的共同特征:大部分处理时间花在执行包含在相对小循环内的少量指令上。因此,大部分DSP处理器具有零消耗循环控制的专门硬件。零消耗循环是指处理器不用花时间测试循环计数器的值就能执行一组指令的循环,硬件完成循环跳转和循环计数器的衰减。有些DSPs还通过一条指令的超高速缓存实现高速的单指令循环。
  · 特殊寻址模式
  DSPs经常包含有专门的地址产生器,它能产生信号处理算法需要的特殊寻址,如循环寻址和位翻转寻址。循环寻址对应于流水FIR滤波算法,位翻转寻址对应于FFT算法。
  · 执行时间的可预测性
  大多数DSP应用都具有硬性实时要求,在每种情况下所有处理工作都必须在指定时间内完成。这种实时限制要求程序设计者确定每个样本究竟需要多少时间或者在最坏情况下至少用去多少时间。DSPs执行程序的进程对程序员来说是透明的,因此很容易预测处理每项工作的执行时间。但是,对于高性能GPPs来说,由于大量超高速数据和程序缓存的使用,动态分配程序,因此执行时间的预测变得复杂和困难。
  · 具有丰富的外设
  DSPs具有DMA、串口、Link口、定时器等外设。
2 DSP的性能及其评估标准
  DSP处理器的性能可分为三个档次:低成本、低性能DSPs,低能耗的中段DSPs和多样化的高端DSPs。低成本性能的低端DSPs是工业界使用最广泛的处理器。在这一范围内的产品有:ADSP-21xx,TMS320C2xx,DSP560xx等系列,它们的运行速度一般为20~50MIPS,并在维持适当能量消耗和存储容量的同时,提供优质的DSP性能。价格适中的DSP处理器,通过增加时钟频率,结合更为复杂的硬件来提高的性能,形成了DSPs的中段产品,如DSP16xx,TMS320C54x系列,它们的运行速度为100~150MIPS,通常用在无线电讯设备和高速解调器中,要求相对高的处理速度和低的能耗。高端DSPs由于被超高速处理需求的推动,其结构真正开始进行分类和向多样化发展,有关结构下节详述。高端DSPs的主频达到150MHz以上,处理速度为1000MIPS以上,如TI的TMS320C6x系列、ADI的Tiger SHARC等。
  评价处理器性能的指标有很多,最常用的是速度,但能耗和存储器容量指标也很重要,特别是在嵌入系统应用上。鉴于DSPs的日益增多,系统设计者要想选出在给定应用设备上能够提供最佳性能的处理器变得比较困难。过去,DSP系统设计者依靠MIPS或类似的量度,来大概了解不同芯片提供的相对性能。不幸的是,随着处理器技术的多样化,象MIPS这样的传统量度越来越不准确,因为MIPS并不是实际测量性能。由于DSP应用程序的特征之一是大部分的处理工作集中在程序的一部分(核心程序),因此可以用与信号处理相关的基准程序来测试评估DSP处理器。BDTI公司已完成成套的核心标准,并注册了一种新型混合速度度量:BDTI分数。
3 现代DSPs的结构
  最近两年,DSP处理器的更高性能由于不能从传统结构中得到解决,因此提出了各种提高性能的策略。其中提高时钟频率似乎是有限的,最好的方法是提高并行性。提高操作并行性,可以由两个途径实现:提高每条指令执行的操作的数量,或者是提高每个指令周期中执行的指令的数量。这两种并行要求产生了多种DSPs新结构。
3.1 增强型DSP
  以前,DSP处理器使用复杂的、混合的指令集,使编程者可以把多个操作编码在一条指令中。传统上DSP处理器在一条指令周期只发射并执行一条指令。这种单流、复杂指令的方法使得DSP处理器获得很强大的性能而无需大量的内存。
  在保持DSP结构和上述指令集不变的情况下,要提高每个指令的工作量,其中的一个办法是用额外的执行单元和增加数据通路。例如,一些高端的DSP有两个乘法器,而不是一个。我们把使用这种方法的DSP叫做“增强型常规DSP”,因为它们的结构与前一代的DSP相似,但性能在增加执行单元后大大增强了。当然,指令集必须也同时增强,这样编程者才能在一条指令中指定更多的并行操作,以利用额外的硬件。增强型DSPs的例子有朗讯公司的DSP16000,ADI的ADSP2116x。增强型DSPs的优点是兼容性好,而且与较早的DSP具有相似的成本和功耗。缺点是结构复杂、指令复杂,进一步发展有限。
3.2 VLIW结构
  如前所述,传统上的DSP处理器使用复杂的混合指令,并在一条指令循环中只流出和执行一条指令。然而,最近有些DSP采用一种更RISC化的指令集,并且在一条指令周期执行多条指令,使用大的统一的寄存器堆。例如,Siemems的Carmel、Philips的TriMedia和TI的TMS320C62XX处理器族都使用了超长指令字(VLIW)结构。C62××处理器每次取一个256位的指令包,把包解析为8个32位的指令,然后把它们引到其8个独立的执行单元。在最好的情况下,C62××同时执行8个指令——这种情况下达到了极高的MIPS率(如1600MIPS)。VLIW结构的优点是高性能、结构规整(潜在的易编程和好的目标编译系统)。缺点是高功耗、代码膨胀-需要宽的程序存储器、新的编程/编译困难(需跟踪指令安排,易破坏流水线使性能下降)。
3.3 超标量体系结构
  象VLIW处理器一样,超标量体系结构并行地流出和执行多个指令。但跟VLIW处理器不同的是,超标量体系结构不清楚指定需要并行处理的指令,而是使用动态指令规划,根据处理器可用的资源,数据依赖性和其他的因素来决定哪些指令要被同时执行。超标量体系结构已经长期用于高性能的通用处理器中,如Pentium和PowerPC。最近,ZSP公司开发出第一个商业的超标量体系结构的DSP ZSP164xx。超标量结构的优点是性能有大的跨越、结构规整、代码宽度没有明显增长。缺点是非常高的功耗、指令的动态安排使代码优化困难。
3.4 SIMD结构
  单指令多数据流(SIMD)处理器把输入的长的数据分解为多个较短的数据,然后由单指令并行地操作,从而提高处理海量、可分解数据的能力。该技术能大幅度地提高在多媒体和信号处理中大量使用的一些矢量操作的计算速度,如坐标变换和旋转。
  通用处理器SIMD增强的两个例子是Pentium的MMX扩展和PowerPC族的AltiVec扩展。SIMD在一些高性能的DSP处理器中也有应用。例如,DSP16000在其数据路中支持有限的SIMD风格的操作,而Analog Devices最近推出了有名的SHARC的新一代DSP处理器,进行了SIMD能力的扩展。SIMD结构由于使总线、数据通道等资源充分使用,并无需改变信号处理(含图象、语音)算法的基本结构,因此SIMD结构使用越来越普遍。SIMD结构遇到的问题是算法、数据结构必须满足数据并行处理的要求,为了加速,循环常常需要被拆开,处理数据需要重新安排调整。通常SIMD仅支持定点运算。
3.5 DSP/微控制器的混合结构
  许多的应用需要以控制为主的软件和DSP软件的混合。一个明显的例子是数字蜂窝电话,因为其中有监控和语音处理的工作。一般地,微处理器在控制上能提供良好的性能而在DSP性能上则很糟,专用的DSP处理器的特性则刚好相反。因此,最近有一些微处理器产商开始提供DSP增强版本的微处理器。用单处理器完成两种软件的任务是很有吸引力的,因为其可以潜在地提供简化设计,节省版面空间,降低总功耗,降低系统成本等。DSP和微处理器结合的方法有:
· 在一个结上集成多种处理器,如Motorola DSP5665x
  · DSP作为协处理器,如ARM Piccolo
  · DSP核移值到已有的位处理器,如SH-DSP
  · 微控制器与已有的DSP集成在一起,如TMS320C27xx
  · 全部新的设计,如TriCore
  随着对DSP能力需求的提高, DSP处理器结构正在进行新的和革新的设计,DSP、MCU、CPU的结构优点相互借用。
4 DSPs的发展趋势
  DSP处理器发展的趋势是结构多样化,集成单片化用户化,开发工具更完善,评价体系更全面更专业。
  VLIW结构、超标量体系结构和DSP/MCU混合处理器是DSPs结构发展的新潮流。VLIW和超标量结构能够获得很高的处理性能。DSP/MCU混合可以简化应用系统设计,降低体积和成本。高性能通用处理器(GPPs)借用了DSPs的许多结构优点,其浮点处理速度比高档DSPs还要快。高性能GPPs一般时钟频率为200~500MHz,具有超标量、SIMD结构,单周期乘法操作,好的存储器带宽,转移预测功能,因此GPPs正在涉足DSP领域。但由于GPPs缺乏实时可预测性,优化DSP代码困难,有限的DSP工具支持,高功耗等问题,因此GPPs目前在DSP中的应用还有限。但瞄准嵌入系统应用的高性能GPPs与DSPs进行混合,形成专用的嵌入GPPs,如Hitachi的SH-DSP,ARM的Piccolo,Siemens的TriCore。嵌入GPPs保留原有的高性能,并加强DSP实时预测、控制等方面的能力,与专用DSP处理器形成了对照。
  在DSPs综合集成方面,处理器核和快速用户可定制能力是重要的。预计在最近几年内将出现和流行:用户可定制DSPs,块组建DSPs,可编程整数DSPs,DSPs化现场可编程门阵列(FPGAs),更专用化的DSPs,多媒体DSPs等。更令人鼓舞的是未来DSP处理器将集成DSP处理器核,微控制器,存储器RAM和ROM,串行口,模数转换器,数模转换器,用户定义数字电路,用户定义模拟电路等,因此DSP处理系统一般将不再是若干印制板(如信号调理板,A/D板,D/A板,接口定时板等)组成的大系统。
  由于DSPs结构的多样化,DSPs性能测试将变得更加困难,MIPS、MOPS、MFLOPS、BOPS等指标将越来越不能准确反映DSPs的性能,因此需要更细更专业化的测试评价标准。对具体应用来说,某些单项功能测试结果,可能显得更重要。
  随着DSPs性能的提高,开发工具可能比处理器结构将更重要,因为只有有效的开发工具,才能使处理器得到普遍使用,并使性能充分发挥。片上Debug是实时调试的最好手段,它将采用与JTAG兼容的Debug口。C编译器的效率仍然是重点,如何方便容易地进行有效代码开发是关键。指令软件仿真器显得更重要,更精确的指令软件仿真器将得到开发。多类型DSP调试开发工具将混合集成在一起。DSPs开发工具将是一个充满机遇和挑战的领域。
参考文献
1 Jennifer Eyre.DSP Processors Hit the Mainstream.Cover Feature,1998.8
2 Jennifer Eyre.Carmel enables Customizable DSP.Micropro cessor report,1998.12
3 Ole wolf.Tiger SHARC sinks teeths into VLIW. Microprocessor report,1998.12
4 Jeff Bier.Infineon′s TriCore tackles DSP.Microprocessor report,1999.4

本站内容除特别声明的原创文章之外,转载内容只为传递更多信息,并不代表本网站赞同其观点。转载的所有的文章、图片、音/视频文件等资料的版权归版权所有权人所有。本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如涉及作品内容、版权和其它问题,请及时通过电子邮件或电话通知我们,以便迅速采取适当措施,避免给双方造成不必要的经济损失。联系电话:010-82306118;邮箱:aet@chinaaet.com。