左转科技

处理器史话 | DSP独霸一方,靠得就是这些强大的算法,dsp算法

左转科技 1

说到专用处理器,我们不得不讲一讲DSP,它强大的计算能力曾经一度让通用MCU望尘莫及。

数字信号处理器(Digital Signal Processor,DSPs),由大规模或超大规模集成电路心片组成的,用来完成某种信号处理任务的处理器。是进行数字信号处理的专用芯片,是伴随着微电子学、数字信号处理技术、计算机技术的发展而产生的新器件。随着集成电路技术和数字信号处理算法的发展,数字信号处理器的实现方法也在不断变化,处理功能不断提高和扩大。


(1) DSP 芯片的特点
DSP 芯片的内部采用程序和数据分开的哈佛结构,具有专门的硬件乘法器,广泛采用流水线操作,提供特殊的 DSP 指令,可以用来快速的实现各种数字信号处理算法根据数字信号处理的要求,DSP 芯片一般具有如下的一些主要特点:

  • 在一个指令周期内可完成一次乘法和一次加法。
  • 程序和数据空间分开,可以同时访问指令和数据。
  • 片内具有快速 RAM,通常可通过独立的数据总线在两块中同时访问。
  • 具有低开销或无开销循环及跳转的硬件支持。
  • 快速的中断处理和硬件 I/O 支持。
  • 具有在单周期内操作的多个硬件地址产生器。
  • 可以并行执行多个操作。
  • 支持流水线操作,取指、译码和执行等操作可以重叠执行。

与通用微处理器相比,诸如 Pentium 或 PowerPC 的通用处理器(GPPs),DSP 处理器有很大的区别,这些区别产生于 DSPs 的结构和指令是专门针对信号处理而设计和开发的,它具有以下特点。


DSPs 的特点信息表

特点概述

详细描述

硬件乘法累加操作(MACs)

  • 为了有效完成诸如信号滤波的乘法累加运算,处理器必需进行有效的乘法操作。
  • GPPs 起初并不是为繁重的乘法操作设计的,把 DSPs 同早期的 GPPs 区别开来的第一个重大技术改进就是添加了能够进行单周期乘法操作的专门硬件和明确的 MAC 指令。

哈佛结构

  • DSPs 一般使用哈佛结构。在哈佛结构中,有两个存储空间:程序存储空间和数据存储空间。处理器内核通过两套总线与这些存储空间相连,允许对存储器同时进行两访问,这种安排使处理器的带宽加倍。

零消耗循环控制

  • 零消耗循环是指处理器不用花时间测试循环计数器的值就能执行一组指令的循环,硬件完成循环跳转和循环计数器的衰减。
  • DSP 算法的共同特征:大部分处理时间花在执行包含在相对小循环内的少量指令上。因此,大部分 DSP 处理器具有零消耗循环控制的专门硬件。有些 DSPs 还通过一条指令的超高速缓存实现高速的单指令循环。

特殊寻址模式

  • DSPs 经常包含有专门的地址产生器,它能产生信号处理算法需要的特殊寻址,如循环寻址和位翻转寻址。
  • 循环寻址对应于流水 FIR 滤波算法,位翻转寻址对应于 FFT 算法。

执行时间的可预测性

  • 大多数 DSP 应用都具有硬性实时要求,在每种情况下所有处理工作都必须在指定时间内完成。这种实时限制要求程序设计者确定每个样本究竟需要多少时间或者在最坏情况下至少用去多少时间。
  • DSPs 执行程序的进程对程序员来说是透明的,因此很容易预测处理每项工作的执行时间。

具有丰富的外设

  • DSPs 具有DMA、串口、Link 口、定时器等外设。

(2) DSP 芯片的分类
DSP 芯片可以按照下列三种方式进行分类,如下图所示。


DSP 分类图


各类型 DSP 芯片的描述

类型

描述

代表性芯片

工作时钟型

  • 如果在某时钟频率范围内的任何时钟频率上,DSP 芯片都能正常工作,除计算速度有变化外,没有性能的下降。
  • 这类 DSP 芯片一般称为静态 DSP 芯片。
  • OKI 电气公司的 DSP 芯片
  • TI 公司的 TMS320C2XX 系列芯片

指令型

  • 如果有两种或两种以上的 DSP 芯片,它们的指令集和相应的机器代码机管脚结构相互兼容。
  • 这类 DSP 芯片称为一致性 DSP 芯片。
  • TI 公司的 TMS320C54X

定点 DSP 芯片

  • 绝大多数的 DSP 处理器使用定点算法,数字表示为整数或 -1.0 到+1.0 之间的小数形式。
  • 有些处理器采用浮点算法,数据表示成尾数加指数的形式:尾数×2 指数。
  • TI:TMS320C1X/C2X、TMS320C2XX/C5X、TMS320C54X/C62XX 系列
  • AD:ADSP21XX 系列
  • AT&T:DSP16/16A
  • Motolora:MC56000

浮点 DSP 芯片

  • 浮点算法是一种较复杂的常规算法,利用浮点数据可以实现大的数据动态范围(这个动态范围可以用最大和最小数的比值来表示)。
  • TI:TMS320C3X/C4X/C8X
  • AD:ADSP21XXX 系列
  • Motolora:MC96002
  • AT&T 公司的 DSP32/32C

通用型

  • 通用型 DSP 芯片适合普通的 DSP 应用
  • TI 公司的一系列 DSP 芯片

专用型

  • 为特定的 DSP 运算而设计的,更适合特殊的运算


上表为各类 DSP 的基本描述,关于 DSP 的类型,补充如下内容:


关于浮点 DSP。


浮点 DSP 在应用中,设计工程师不用关心动态范围和精度一类的问题。浮点 DSP 比定点 DSP 更容易编程,但是成本和功耗高。由于成本和功耗的原因,一般批量产品选用定点 DSP。编程和算法设计人员通过分析或仿真来确定所需要的动态范围和精度。如果要求易于开发,而且动态范围很宽、精度很高,可以考虑采用浮点 DSP。


也可以在采用定点 DSP 的条件下由软件实现浮点计算,但是这样的软件程序会占用大量处理器时间,因而很少使用。有效的办法是“块浮点”,利用该方法将具有相同指数,而尾数不同的一组数据作为数据块进行处理。“块浮点”处理通常用软件来实现。


不同浮点 DSP 芯片所采用的浮点格式不完全一样,有的 DSP 芯片采用自定义的浮点格式,如 TMS320C3X,而有的 DSP 芯片则采用 IEEE 的标准浮点格式,如 Motorola 公司的 MC96002、FUJITSU 公司的 MB86232 和 ZORAN 公司的 ZR35325 等。


专用 DSP 芯片是为特定的 DSP 运算而设计的,更适合特殊的运算。


专用 DSP 芯片特点

说明

优点

  • 大规模集成性
  • 稳定性好,精度高
  • 可编程性
  • 高速性能
  • 可嵌入性
  • 接口和集成方便
  • 缺点

  • 成本较高
  • 高频时钟的高频干扰
  • 功率消耗较大等
  • 应用

  • 信号处理
  • 图像处理
  • 仪器
  • 声音语言
  • 控制
  • 军事
  • 通讯
  • 医疗
  • 家用电器
  • DSP 其它结构


    增强型 DSP
    以前,DSP 处理器使用复杂的、混合的指令集,使编程者可以把多个操作编码在一条指令中。传统上 DSP 处理器在一条指令周期只发射并执行一条指令。这种单流、复杂指令的方法使得 DSP 处理器获得很强大的性能而无需大量的内存。在保持 DSP 结构和上述指令集不变的情况下,要提高每个指令的工作量,其中的一个办法是用额外的执行单元和增加数据通路。例如,一些高端的 DSP 有两个乘法器,而不是一个。


    把使用这种方法的 DSP 称作增强型 DSP,因为它们的结构与前一代的 DSP 相似,但性能在增加执行单元后大大增强了。当然,指令集必须也同时增强,这样编程者才能在一条指令中指定更多的并行操作,以利用额外的硬件。


    增强型 DSPs 的优点是兼容性好,而且与较早的 DSP 具有相似的成本和功耗。缺点是结构复杂、指令复杂,进一步发展有限。典型的产品如:朗讯公司的 DSP16000,ADI的 ADSP2116x


    VLIW(Very Long Instruction Word,超长指令字)结构
    如前所述,传统上的 DSP 处理器使用复杂的混合指令,并在一条指令循环中只流出和执行一条指令。然而,最近有些 DSP 采用一种更 RISC 化的指令集,并且在一条指令周期执行多条指令,使用大的统一的寄存器堆。例如:Siemems 的 Carmel、Philips 的 TriMedia 和 TI 的 TMS320C62XX 处理器族都使用了 VLIW 结构。


    VLIW 结构一种非常长的指令组合,它把许多条指令连在一起,增加了运算的速度。例如:C62xx 处理器每次取一个 256 位的指令包,把包解析为 8 个 32 位的指令,然后把它们引到其 8 个独立的执行单元。在最好的情况下,C62xx 同时执行 8 个指令,在这种情况下达到了极高的 MIPS 率(如 1600MIPS)。


    VLIW 结构的优点是高性能、结构规整。缺点是高功耗、代码膨胀-需要宽的程序存储器、新的编程 / 编译困难。


    超标量体系结构(Superscalar Architectures)
    如 VLIW 处理器一样,超标量体系结构并行地流出和执行多个指令。但跟 VLIW 处理器不同的是,超标量体系结构不清楚指定需要并行处理的指令,而是使用动态指令规划,根据处理器可用的资源,数据依赖性和其他的因素来决定哪些指令要被同时执行。超标量体系结构已经长期用于高性能的通用处理器中,如 Pentium 和 PowerPC。


    ZSP 公司开发出第一个商业的超标量体系结构的 DSPZSP164xx。超标量结构的优点是性能有大的跨越、结构规整、代码宽度没有明显增长。缺点是非常高的功耗、指令的动态安排使代码优化困难。


    芯原股份有限公司的 ZSP 系列
    SIMD(Single Intructionstream Multiple Datastream, 单指令多数据流)结构
    SIMD 处理器把输入的长的数据分解为多个较短的数据,然后由单指令并行地操作,从而提高处理海量、可分解数据的能力。该技术能大幅度地提高在多媒体和信号处理中大量使用的一些矢量操作的计算速度,如坐标变换和旋转。


    通用处理器 SIMD 增强的两个例子是 Pentium 的 MMX 扩展和 PowerPC 族的 AltiVec 扩展。SIMD 在一些高性能的 DSP 处理器中也有应用。例如,DSP16000 在其数据路中支持有限的 SIMD 风格的操作,而 AnalogDevices 最近推出了有名的 SHARC 的新一代 DSP 处理器,进行了 SIMD 能力的扩展。


    SIMD 结构由于使总线、数据通道等资源充分使用,并无需改变信号处理(含图象、语音)算法的基本结构,因此 SIMD 结构使用越来越普遍。SIMD 结构遇到的问题是算法、数据结构必须满足数据并行处理的要求,为了加速,循环常常需要被拆开,处理数据需要重新安排调整。通常 SIMD 仅支持定点运算。


    DSP/微控制器的混合结构
    许多的应用需要以控制为主的软件和 DSP 软件的混合。
    一个明显的例子是数字蜂窝电话,因为其中有监控和语音处理的工作。一般地,微处理器在控制上能提供良好的性能而在 DSP 性能上则很糟,专用的 DSP 处理器的特性则刚好相反。因此,有一些微处理器产商开始提供 DSP 增强版本的微处理器。用单处理器完成两种软件的任务是很有吸引力的,因为其可以潜在地提供简化设计,节省版面空间,降低总功耗,降低系统成本等。


    随着对 DSP 能力需求的提高,DSP 处理器结构正在进行新的和革新的设计,DSP、MCU、CPU的结构优点相互借用。


    (4) DSP 的应用
    DSP 广泛的应用于通信与信息系统、信号与信息处理、自动控制、雷达、军事、航空航天、医疗、家用电器等许多领域。以往是采用通用的微处理器来完成大量数字信号处理运算,速度较慢,难以满足实际需要;而同时使用位片式微处理器和快速并联乘法器,曾经是实现数字信号处理的有效途径,但此方法器件较多,逻辑设计和程序设计复杂,耗电较大,价格昂贵。


    DSP 的出现,很好的解决了上述问题。DSP 可以快速的实现对信号的采集、变换、滤波、估值、增强、压缩、识别等处理,以得到符合人们需要的信号形式。典型的应用如下:

    • 语音处理:语音编码、语音合成、语音识别、语音增强、语音邮件、语音储存等。
    • 图像 / 图形:二维和三维图形处理、图像压缩与传输、图像识别、动画、机器人视觉、多媒体、电子地图、图像增强等。
    • 军事;保密通信、雷达处理、声呐处理、导航、全球定位、跳频电台、搜索和反搜索等。
    • 仪器仪表:频谱分析、函数发生、数据采集、地震处理等。
    • 自动控制:控制、深空作业、自动驾驶、机器人控制、磁盘控制等。
    • 医疗:助听、超声设备、诊断工具、病人监护、心电图等。
    • 家用电器:数字音响、数字电视、可视电话、音乐合成、音调控制、玩具与游戏等。
    • 生物医学信号处理举例:CT,计算机 X 射线断层摄影装置。(其中发明头颅 CT 英国 EMI 公司的豪斯菲尔德获诺贝尔奖。)CAT,计算机 X 射线空间重建装置。出现全身扫描,心脏活动立体图形,脑肿瘤异物,人体躯干图像重建。心电图分析。

    (5) DSP 发展趋势
    DSP 从 20 世纪 70 年代的专用信号处理器开始,发展到今天的VLSI阵列处理器,其应用领域已经从最初的语音、声纳等低频信号的处理发展到今天雷达、图像等视频大数据量的信号处理。由于浮点运算和并行处理技术的利用,信号处理器理能力已得到极大的提高。DSP 还将继续沿着提高处理速度和运算精度两个方向发展在体系结构上数据流结构以至人工神经网络结构等将可能成为下一代数字信号处理器的基本结构模式。


    DSP 处理器存在两种发展趋势:
    一是 DSP 应用越来越多,如手机和便携式音频播放器等。DSP 将集成更多功能,如 A/D 转换、LCD 控制器等,系统成本和器件数将会大为降低。


    另一个趋势是将 DSP 作为 IP 出售,如:亿恒科技公司的 Camel 和 TriCore 内核。随着EDA工具的不断成熟,系统设计工程师将更容易地修改 DSP 内核,加入用户专用外围电路以实现更专业化、更低成本的 DSP 解决方案。

    与非网原创内容,不经允许,谢绝转载!

    本系列更多内容,请参照:处理器史话汇总。