什么是DSP__DSP 处理器与通用处理器的比较
变频器DSP技术

DSP专题—DSP是什么信息化的基础是数字化。
数字化的核心技术之一是数字信号处理。
数字信号处理的任务在很大程度上需要由DSP器件来完成。
DSP技术已成为人们日益关注的并得到迅速发展的前沿技术。
DSP是什么?一、数字信号处理 Digital Signal Processing作为一个案例研究,我们来考虑数字领域里最通常的功能:滤波。
简单地说,滤波就是对信号进行处理,以改善其特性。
例如,滤波可以从信号里清除噪声或静电干扰,从而改善其信噪比。
为什么要用微处理器,而不是模拟器件来对信号做滤波呢?我们来看看其优越性:模拟滤波器(或者更一般地说,模拟电路)的性能要取决于温度等环境因素。
而数字滤波器则基本上不受环境的影响。
数字滤波易于在非常小的宽容度内进行复制,因为其性能并不取决于性能已偏离正常值的器件的组合。
一个模拟滤波器一旦制造出来,其特性(例如通带频率范围)是不容易改变的。
使用微处理器来实现数字滤波器,就可以通过对其重新编程来改变滤波的特性。
二、数字信号处理器(Digital Signal Processor)1、微处理器(Microprocessor)的分类(1)通用处理器(GPP)∙采用冯.诺依曼结构,程序和数据的存储空间合二而一∙8-bit Apple(6502),NEC PC-8000(Z80)∙8086/286/386/486/Pentium/Pentium II/ Pentium III∙PowerPc 64-bit CPU(SUN Sparc,DEC Alpha, HP)∙CISC 复杂指令计算机, RISC 精简指令计算机∙采取各种方法提高计算速度,提高时钟频率,高速总线,多级Cashe,协处理器等(2)Single Chip Computer/ Micro Controller Unit(MCU)∙除开通用CPU所具有的ALU和CU,还有存储器(RAM/ROM)寄存器,时钟,计数器,定时器,串/并口,有的还有A/D,D/A∙INTEL MCS/48/51/96(98)∙MOTOROLA HCS05/011(3)DSP∙采用哈佛结构,程序和数据分开存储∙采用一系列措施保证数字信号的处理速度,如对FFT的专门优化2、MCU与DSP的简单比较3、DSP处理器与通用处理器的比较考虑一个数字信号处理的实例,比如有限冲击响应滤波器(FIR)。
DSP概念

DSP概念DSP有两个含义:其一是Digital Signal Processing,即数字信号处理的缩写,是指数字信号处理的理论和方法;其二是Digital Signal Processor,即数字信号处理器的缩写,是指用于数字信号处理的可编程微处理器。
随着数字信号处理技术和集成电路技术的飞速发展,以及数字系统的显著优越性,DSP 技术已广泛地被应用,则实时数字信号处理也成为现实。
DSP芯片实际上就是一种单片机,是集成高速的乘法器,具有多组内部总线,能够进行快速乘法和加法运算,适用于数字信号处理的高速、高位单片计算机,因此有时也被称为单片数字信号处理器。
与通用的CPU和微控制器(MCU)相比,DSP处理器在结构上采用了许多的专门技术和措施。
下面就简要介绍DSP的特点1371:(1)DSP器件采用改进的哈佛结构,程序代码和数据的存储空间分开,允许同时存取程序和数据,即哈佛结构(Harvard Architecture )。
(2)DSP处理器采用多总线结构,即使用两类(程序总线、数据总线)六组总线,包括程序地址总线、程序读总线、数据写地址总线、数据读地址总线、程序读总线、数据读总线。
和哈佛结构配合,大大提高了系统的速度。
(3)DSP芯片广泛采用流水线技术,增强了处理器的处理能力。
计算机在执行一条指令时,总要经过取指、译码、取数、执行运算等步骤,需要若干个时钟周期才能完成。
流水线技术是指将各指令的各个步骤重叠来执行,即第一条指令取指后,译码时,第二条指令取指,第一条指令取指译码后,取数时,第二条指令译码,第三条指令取指……依次类推。
(4)DSP芯片内置高速人硬件乘法器,增强的多级流水线,使DSP器件具有高速的数据运算能力。
(5)DSP采用了适合于数字信号处理的寻址方式和指令,进一步减小了数字信号处理的时间。
什么是DSP?DSP、单片机MCU、嵌入式微处理器的区别

什么是DSP?DSP、单⽚机MCU、嵌⼊式微处理器的区别DSP有两个意思,既可以指数字信号处理这门理论,此时它是Digital Signal Processing的缩写;也可以是Digital Signal Processor的缩写,表⽰数字信号处理器,有时也缩写为DSPs,以⽰与理论的区别。
本书中DSP仅⽤来代表数字信号处理器。
DSP属于嵌⼊式处理器。
在介绍DSP之前,先扼要地介绍⼀下嵌⼊式处理器。
简单的说,嵌⼊式处理器就是嵌⼊到应⽤对象系统中的专⽤处理器,相对于通⽤CPU(如x86系列)⽽⾔,⼀般对价格尺⼨、功耗等⽅⾯限制⽐较多嵌⼊式处理器⼤体可分为以下⼏类:1 嵌⼊式微处理器嵌⼊式微处理器可谓是通⽤计算机中CPU的微缩版。
相对于通⽤CPU,嵌⼊式微处理器具有体积⼩、功耗少、成本低的优点,当然在速度上也慢⼀些嵌⼊式微处理器在软件配置上常常可以运⾏嵌⼊式操作系统,应⽤于⽐较⾼档的领域。
典型的如32位的ARM、64位的MIPS。
2 嵌⼊式微控制器嵌⼊式微控制器的最⼤特点是单⽚化,常称为单⽚机。
顾名思义,单⽚机就是将众多的外围设备(简称外设,如A/D,IO等)集成到⼀块芯⽚中,从⽽⼤幅度降低了成本。
单⽚机⾮常适合控制领域,典型的如⼤名⿍⿍的51系列。
3 专⽤微处理器相对于上述⽐较通⽤的类型,专⽤微处理器是专门针对某⼀特定领域的微处理器。
如昂贵的视频游戏机微处理器等。
DSP本质上也属于专⽤微处理器DSP对系统结构和指令进⾏了优化设计,使其更适合于执⾏数字信号处理算法(如FFT,FIR等)。
DSP运⾏速度⾮常快,在数字信号处理的⽅⽅⾯⾯⼤显⾝⼿。
由于越来越⼴泛的领域需要⾼速数字信号处理,DSP也有越来越通⽤化的倾向,常常可以把DSP单独列成⼀类。
TI的DSP包括哪些系列?⾃1982年推出第⼀款DSP后,德州仪器公司(Texas Instrument简称TI)不断推陈出新、完善开发环境,以其雄厚的实⼒在业界得到50%左右的市场份额。
DSP芯片介绍(精)

DSP 芯片介绍1 什么是DSP 芯片DSP 芯片,也称数字信号处理器,是一种具有特殊结构的微处理器。
DSP芯片的内部采用程序和数据分开的哈佛结构,具有专门的硬件乘法器,广泛采用流水线操作,提供特殊的DSP 指令,可以用来快速地实现各种数字信号处理算法。
根据数字信号处理的要求,DSP芯片一般具有如下的一些主要特点:(1)在一个指令周期内可完成一次乘法和一次加法。
(2)程序和数据空间分开,可以同时访问指令和数据。
(3)片内具有快速RAM,通常可通过独立的数据总线在两块中同时访问。
(4)具有低开销或无开销循环及跳转的硬件支持。
(5)快速的中断处理和硬件I/O支持。
(6)具有在单周期内操作的多个硬件地址产生器。
(7)可以并行执行多个操作。
(8)支持流水线操作,使取指、译码和执行等操作可以重叠执行。
与通用微处理器相比,DSP芯片的其他通用功能相对较弱些。
2 DSP芯片的发展世界上第一个单片DSP 芯片是1978年AMI 公司宣布的S2811,1979年美国Iintel 公司发布的商用可编程期间2920是DSP 芯片的一个主要里程碑。
这两种芯片内部都没有现代DSP 芯片所必须的单周期芯片。
1980年。
日本NEC 公司推出的μPD7720是第一个具有乘法器的商用DSP 芯片。
第一个采用CMOS 工艺生产浮点DSP 芯片的是日本的Hitachi 公司,它于1982年推出了浮点DSP 芯片。
1983年,日本的Fujitsu 公司推出的MB8764,其指令周期为120ns ,且具有双内部总线,从而处理的吞吐量发生了一个大的飞跃。
而第一个高性能的浮点DSP 芯片应是AT&T公司于1984年推出的DSP32。
在这么多的DSP 芯片种类中,最成功的是美国德克萨斯仪器公司(Texas Instruments,简称TI)的一系列产品。
TI公司灾982年成功推出启迪一代DSP 芯片TMS32010及其系列产品TMS32011、TMS32C10/C14/C15/C16/C17等,之后相继推出了第二代DSP 芯片TMS32020、TMS320C25/C26/C28,第三代DSP 芯片TMS32C30/C31/C32,第四代DSP 芯片TMS32C40/C44,第五代DSP 芯片TMS32C50/C51/C52/C53以及集多个DSP 于一体的高性能DSP 芯片TMS32C80/C82等。
dsp百度百科

(6)具有在单周期内操作的多个硬件地址产生器;
(7)可以并行执行多个操作;
(8)支持流水线操作,使取指、译码和执行等操作可以重叠执行。
当然,与通用微处理器相比,DSP微处理器(芯片)的其他通用功能相对较弱些。
DSP优点
对元件值的容限不敏感,受温度、环境等外部因素影响小;
目录
DSP广告平台
DSP微处理器
DSP的开发工具
DSP系统的设计过程
DSP技术的应用
DSP应用技术-DSP及其应用概述

① C55xTM DSP内核可以为高达600 MIPS的性能提供300 MHz;
② 目前TMS320C5510 DSP已经开始投产,TMS320C5509 DSP 可提供样片;
③ 在整个C5000TM DSP平台上可实现软件兼容。
(2) 应用:功能丰富的便携产品,2G、2.5G、3G手机与基站, 数字音频播放器,数码相机,电子图书,语音识别,GPS接收器, 指纹/模式识别,无线调制解调器,耳机,生物辨识。
③ 高达7 MB的片上内存;
④ 两个多通道缓冲串行端口(McBSP)(三个用于C6202与 C6203 DSP的McBSP);
⑤ 16位主机端口接口(HPI)(32位用于C6202、C6203与C6204 DSP的扩展总线);
⑥ 两个32位定时器;
⑦ 300 MHz时速率高达2400 MIPS(C6203 DSP)。
(6) 具有软、硬件等待功能,能与各种存取速度的存储器接 口。
(7) 针对滤波、相关和矩阵运算等需要大量乘法累加运算的 特点,DSP芯片大多配有独立的乘法器和加法器,使得在同一 时钟周期内可以完成乘、累加两个运算。
(8) 低功耗,DSP一般为0.5~4 W,而采用低功耗技术的 DSP芯片只有0.1 W,可用电池供电。
(2) 特性:OMAP5910双内核处理器同时包括。 ① 150 MHz的TI增强ARM925微处理器: * 16 KB指令高速缓冲存储器以及8 KB数据缓冲器; * 数据与指令MMU; * 32位与16位指令集。
② 150 MHz TMS320C55xTM DSP内核: * 24 KB指令高速缓冲存储器; * 160 KB SRAM; * 用于视频算法的硬件加速器。
(3) 特性:高级自动电源管理;可配置的空闲域,以延长电 池寿命;缩短调制过程,从而加快产品上市进程。
cpu,mcu,dsp的区别是什么
cpu,mcu,dsp的区别是什么cpu,mcu和dsp之间有什么区别呢?下面将由店铺带大家来解答这个疑问吧,希望对大家有所收获!什么是CPU,MCU,DSPCPU是中央处理器MCU是微控制器DSP是数字信号处理器CPU,MCU,DSP之间的区别CPU和MCU之间的界限并不是很清晰,不过CPU主要用在电脑上,也算是控制器,MCU主要是工业控制领域,DSP用途也比较广。
比如说DSP可以实现MP3解码,电机控制等。
它的特点是处理速度比较快。
CPU(Central Processing Unit,中央处理器)发展出来三个分枝,一个是DSP(Digital Signal Processing/Processor,数字信号处理),另外两个是MCU(Micro Control Unit,微控制器单元)和MPU(Micro Processor Unit,微处理器单元)。
MCU集成了片上外围器件;MPU不带外围器件(例如存储器阵列),是高度集成的通用结构的处理器,是去除了集成外设的MCU;DSP运算能力强,擅长很多的重复数据运算,而MCU则适合不同信息源的多种数据的处理诊断和运算,侧重于控制,速度并不如DSP。
MCU区别于DSP的最大特点在于它的通用性,反应在指令集和寻址模式中。
DSP与MCU的结合是DSC,它终将取代这两种芯片。
在20世纪最值得人们称道的成就中,就有集成电路和电子计算机的发展。
20世纪70年代出现的微型计算机,在科学技术界引起了影响深远的变革。
在70年代中期,微型计算机家族中又分裂出一个小小的派系--单片机。
随着4位单片机出现之后,又推出了8位的单片机。
MCS48系列,特别是MCS51系列单片机的出现,确立了单片机作为微控制器(MCU)的地位,引起了微型计算机领域新的变革。
在当今世界上,微处理器(MPU)和微控制器(MCU)形成了各具特色的两个分支。
它们互相区别,但又互相融合、互相促进。
与微处理器(MPU)以运算性能和速度为特征的飞速发展不同,微控制器(MCU)则是以其控制功能的不断完善为发展标志的。
2023年关于cpu,mcu,dsp的区别是什么
2023年关于cpu,mcu,dsp的区别是什么cpu,mcu,dsp是什么要解释两者的区别,要先明白两者的相同之处:两者都有总线和外界联系,有自己的缓存体系,以及数字和逻辑运算单元。
一句话,两者都为了完成计算任务而设计。
两者的区别在于存在于片内的缓存体系和数字逻辑运算单元的结构差异:CPU虽然有多核,但总数没有超过两位数,每个核都有足够大的缓存和足够多的数字和逻辑运算单元,并辅助有很多加速分支判断甚至更复杂的逻辑判断的硬件;GPU的核数远超CPU,被称为众核(NVIDIA Fermi有512个核)。
每个核拥有的缓存大小相对小,数字逻辑运算单元也少而简单(GPU初始时在浮点计算上一直弱于CPU)。
从结果上导致CPU擅长处理具有复杂计算步骤和复杂数据依赖的'计算任务,如分布式计算,数据压缩,人工智能,物理模拟,以及其他很多很多计算任务等。
GPU由于历史原因,是为了视频游戏而产生的(至今其主要驱动力还是不断增长的视频游戏市场),在三维游戏中常常出现的一类操作是对海量数据进行相同的操作,如:对每一个顶点进行同样的坐标变换,对每一个顶点按照同样的光照模型计算颜色值。
GPU的众核架构非常适合把同样的指令流并行发送到众核上,采用不同的输入数据执行。
在 -左右,图形学之外的领域专家开始注意到GPU与众不同的计算能力,开始尝试把GPU用于通用计算(即GPGPU)。
之后NVIDIA发布了CUDA,AMD 和等公司也发布了OpenCL,GPU开始在通用计算领域得到广泛应用,包括:数值分析,海量数据处理(排序,Map- Reduce等),金融分析等等。
简而言之,当程序员为CPU编写程序时,他们倾向于利用复杂的逻辑结构优化算法从而减少计算任务的运行时间,即Latency。
当程序员为GPU编写程序时,则利用其处理海量数据的优势,通过提高总的数据吞吐量(Throughput)来掩盖Lantency。
目前,CPU和GPU的区别正在逐渐缩小,因为GPU也在处理不规则任务和线程间通信方面有了长足的进步。
DSP简介
开发环境主界面
编程语言
• 在 TI 公司的 DSP 软件开发平台 CCS 中,提供了 优化的 C 编译器,可以对 C 语言程序进行优化编译, 提高程序效率,目前在某些应用中 C 语言优化编译的结 果可以使程序效率达到手工编写的汇编语言效率的 90 %以上。
• 单纯利用 C 语言或汇编语言进行 DSP 程序开 发都存在各自的缺点,应综合利用两种开发语言。 利用汇编语言编写一些运算量较大或对运算时间 要求严格的程序代码;利用 C 语言实现总体流 程控制和一般性的程序代码。可以充分发挥两种 开发语言的优势,从而保证比较短的开发周期, 是更为合适的软件开发方案。
DSP简介
DSP 是英文 Digital Signal Processor(数字 信号处理器)的缩写。DSP 是指以数字信号来处 理大量信息的器件,是一种特别适合于实现各种数字 信号处理运算的微处理器,它也是嵌入式微处理器大 家庭中的一员。 DSP 也可以是英文 Digital Signal Processing(数字信号处理)的缩写。 市场中的主要厂商有美国的 TI、Motorol a、ADI 等公司。其中 TI 公司位居榜首,在全 球DSP 市场的占有率约为 60%左右.
开发环境
TI公司的集成开发环境 CCS提供了系统环境配置、 源文件编辑、源程序调试、运行过程跟踪和运行 结果分析等用户系统调试工具,可以帮助用户在 同一软件环境下完成源程序编辑、编译链接、调 试和数据分析等工作。 要求 PC 机与仿真器和应用系统连接,用户程序 在仿真器的监控程序控制下实时运行于应用板上。 这种工作模式可以实现在线编程及应用程序调试。
TMS320C2000 C 语言的数据类型
• 下表列出了 TMS320C2000编译器中各种标量数据类型、位数、表 示方式和取值范围
DSP简介
DSP-起始篇数字信号处理(Digital Signal Processing,简称DSP)是一门涉及许多学科而又广泛应用于许多领域的新兴学科。
20世纪60年代以来,随着计算机和信息技术的飞速发展,数字信号处理技术应运而生并得到迅速的发展。
在过去的二十多年时间里,数字信号处理已经在通信等领域得到极为广泛的应用。
数字信号处理是利用计算机或专用处理设备,以数字形式对信号进行采集、变换、滤波、估值、增强、压缩、识别等处理,以得到符合人们需要的信号形式。
数字信号处理是围绕着数字信号处理的理论、实现和应用等几个方面发展起来的。
数字信号处理在理论上的发展推动了数字信号处理应用的发展。
反过来,数字信号处理的应用又促进了数字信号处理理论的提高。
而数字信号处理的实现则是理论和应用之间的桥梁。
数字信号处理是以众多学科为理论基础的,它所涉及的范围极其广泛。
例如,在数学领域,微积分、概率统计、随机过程、数值分析等都是数字信号处理的基本工具,与网络理论、信号与系统、控制论、通信理论、故障诊断等也密切相关。
近来新兴的一些学科,如人工智能、模式识别、神经网络等,都与数字信号处理密不可分。
可以说,数字信号处理是把许多经典的理论体系作为自己的理论基础,同时又使自己成为一系列新兴学科的理论基础。
世界上第一个单片DSP 芯片应当是1978年AMI公司发布的S2811,1979年美国Intel公司发布的商用可编程器件2920是DSP芯片的一个主要里程碑。
这两种芯片内部都没有现代DSP芯片所必须有的单周期乘法器。
1980 年,日本NEC 公司推出的μP D7720是第一个具有乘法器的商用DSP 芯片。
在这之后,最成功的DSP 芯片当数美国德州仪器公司(Texas Instruments,简称TI)的一系列产品。
TI 公司在1982年成功推出其第一代DSP 芯片TMS32010及其系列产品TMS32011、TMS320C10/C1 4/C15/C16/C17等,之后相继推出了第二代DSP芯片TMS32020、TMS320C25/C26/C28,第三代DSP 芯片TMS320C30/C31/C32,第四代DSP芯片TMS320C40/C44,第五代DSP 芯片TMS320C5X/C54 X,第二代DSP芯片的改进型TMS320C2XX,集多片DSP芯片于一体的高性能DSP芯片TMS320C8X 以及目前速度最快的第六代DSP芯片TMS320C62X/C67X等。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
什么是DSP (2009-03-05 19:22:36)转载▼
标签:it 分类:基础学堂
DSP(digital singnal processor)是一种独特的微处理器,是以数字信号来处理大量信息的器件。
其工作原理是接收模拟信号,转换为0或1的数字信号,再对数字信号进行修改、删除、强化,并在其他系统芯片中把数字数据解译回模拟数据或实际环境格式。
它不仅具有可编程性,而且其实时运行速度可达每秒数以千万条复杂指令程序,源源超过通用微处理器,是数字化电子世界中日益重要的电脑芯片。
它的强大数据处理能力和高运行速度,是最值得称道的两大特色。
DSP芯片,也称数字信号处理器,是一种特别适合于进行数字信号处理运算的微处理器,其主机应用是实时快速地实现各种数字信号处理算法。
根据数字信号处理的要求,DSP芯片一般具有如下主要特点:
(1)在一个指令周期内可完成一次乘法和一次加法;
(2)程序和数据空间分开,可以同时访问指令和数据;
(3)片内具有快速RAM,通常可通过独立的数据总线在两块中同时访问;(4)具有低开销或无开销循环及跳转的硬件支持;
(5)快速的中断处理和硬件I/O支持;
(6)具有在单周期内操作的多个硬件地址产生器;
(7)可以并行执行多个操作;
(8)支持流水线操作,使取指、译码和执行等操作可以重叠执行。
当然,与通用微处理器相比,DSP芯片的其他通用功能相对较弱些
DSP 处理器与通用处理器的比较
(2009-03-05 19:24:35)
转载▼
分类:基础学堂
标签:
it
考虑一个数字信号处理的实例,比如有限冲击响应滤波器(FIR)。
用数学语言来说,FIR 滤波器是做一系列的点积。
取一个输入量和一个序数向量,在系数和输入样本的滑动窗口间作乘法,然后将所有的乘积加起来,形成一个输出样本。
类似的运算在数字信号处理过程中大量地重复发生,使得为此设计的器件必须提供专门的支持,促成了了DSP器件与通用处理器(GPP)的分流:
1 对密集的乘法运算的支持
GPP不是设计来做密集乘法任务的,即使是一些现代的GPP,也要求多个指令周期来做一次乘法。
而DSP处理器使用专门的硬件来实现单周期乘法。
DSP处理器还增加了累加器寄存器来处理多个乘积的和。
累加器寄存器通常比其他寄存器宽,增加称为结果bits的额外bits来避免溢出。
同时,为了充分体现专门的乘法-累加硬件的好处,几乎所有的DSP的指令集都包含有显式的MAC指令。
2 存储器结构
传统上,GPP使用冯.诺依曼存储器结构。
这种结构中,只有一个存储器空间通过一组总线(一个地址总线和一个数据总线)连接到处理器核。
通常,做一次乘法会发生4次存储器访问,用掉至少四个指令周期。
大多数DSP采用了哈佛结构,将存储器空间划分成两个,分别存储程序和数据。
它们有两组总线连接到处理器核,允许同时对它们进行访问。
这种安排将处理器存贮器的带宽加倍,更重要的是同时为处理器核提供数据与指令。
在这种布局下,DSP得以实现单周期的MAC 指令。
还有一个问题,即现在典型的高性能GPP实际上已包含两个片内高速缓存,一个是数据,一个是指令,它们直接连接到处理器核,以加快运行时的访问速度。
从物理上说,这种片内的双存储器和总线的结构几乎与哈佛结构的一样了。
然而从逻辑上说,两者还是有重要的区别。
GPP使用控制逻辑来决定哪些数据和指令字存储在片内的高速缓存里,其程序员并不加以指定(也可能根本不知道)。
与此相反,DSP使用多个片内存储器和多组总线来保证每个指令周期内存储器的多次访问。
在使用DSP时,程序员要明确地控制哪些数据和指令要存储在片内存储器中。
程序员在写程序时,必须保证处理器能够有效地使用其双总线。
此外,DSP处理器几乎都不具备数据高速缓存。
这是因为DSP的典型数据是数据流。
也就是说,DSP处理器对每个数据样本做计算后,就丢弃了,几乎不再重复使用。
3 零开销循环
如果了解到DSP算法的一个共同的特点,即大多数的处理时间是花在执行较小的循环上,也就容易理解,为什么大多数的DSP都有专门的硬件,用于零开销循环。
所谓零开销循环是指处理器在执行循环时,不用花时间去检查循环计数器的值、条件转移到循环的顶部、将循环计数器减1。
与此相反,GPP的循环使用软件来实现。
某些高性能的GPP使用转移预报硬件,几乎达到与硬件支持的零开销循环同样的效果。
4 定点计算
大多数DSP使用定点计算,而不是使用浮点。
虽然DSP的应用必须十分注意数字的精确,用浮点来做应该容易的多,但是对DSP来说,廉价也是非常重要的。
定点机器比起相应的浮点机器来要便宜(而且更快)。
为了不使用浮点机器而又保证数字的准确,DSP处理器在指令集和硬件方面都支持饱和计算、舍入和移位。
5 专门的寻址方式
DSP处理器往往都支持专门的寻址模式,它们对通常的信号处理操作和算法是很有用的。
例如,模块(循环)寻址(对实现数字滤波器延时线很有用)、位倒序寻址(对FFT很有用)。
这些非常专门的寻址模式在GPP中是不常使用的,只有用软件来实现。
6 执行时间的预测
大多数的DSP应用(如蜂窝电话和调制解调器)都是严格的实时应用,所有的处理必须在指定的时间内完成。
这就要求程序员准确地确定每个样本需要多少处理时间,或者,至少要知道,在最坏的情况下,需要多少时间。
如果打算用低成本的GPP去完成实时信号处理的任务,执行时间的预测大概不会成为什么问题,应为低成本GPP具有相对直接的结构,比较容易预测执行时间。
然而,大多数实时DSP应用所要求的处理能力是低成本GPP所不能提供的。
这时候,DSP对高性能GPP的优势在于,即便是使用了高速缓存的DSP,哪些指令会放进去也是由程序员(而不是处理器)来决定的,因此很容易判断指令是从高速缓存还是从存储器中读取。
DSP一般不使用动态特性,如转移预测和推理执行等。
因此,由一段给定的代码来预测所要求的执行时间是完全直截了当的。
从而使程序员得以确定芯片的性能限制。
7 定点DSP指令集
定点DSP指令集是按两个目标来设计的:
使处理器能够在每个指令周期内完成多个操作,从而提高每个指令周期的计算效率。
将存贮DSP程序的存储器空间减到最小(由于存储器对整个系统的成本影响甚大,该问题在对成本敏感的DSP应用中尤为重要)。
为了实现这些目标,DSP处理器的指令集通常都允许程序员在一个指令内说明若干个并
行的操作。
例如,在一条指令包含了MAC操作,即同时的一个或两个数据移动。
在典型的例子里,一条指令就包含了计算FIR滤波器的一节所需要的所有操作。
这种高效率付出的代价是,其指令集既不直观,也不容易使用(与GPP的指令集相比)。
GPP的程序通常并不在意处理器的指令集是否容易使用,因为他们一般使用象C或C++等高级语言。
而对于DSP的程序员来说,不幸的是主要的DSP应用程序都是用汇编语言写的(至少部分是汇编语言优化的)。
这里有两个理由:首先,大多数广泛使用的高级语言,例如C,并不适合于描述典型的DSP算法。
其次,DSP结构的复杂性,如多存储器空间、多总线、不规则的指令集、高度专门化的硬件等,使得难于为其编写高效率的编译器。
即便用编译器将C源代码编译成为DSP的汇编代码,优化的任务仍然很重。
典型的DSP 应用都具有大量计算的要求,并有严格的开销限制,使得程序的优化必不可少(至少是对程序的最关键部分)。
因此,考虑选用DSP的一个关键因素是。