
DSP处理器的发展及典型芯片介绍.ppt
27页DSP技术的发展与应用,邓贤君 南华大学通信工程系,第二章 DSP处理器的发展及典型芯片介绍,2.1DSP处理器实现高速运算的途径 2.2当前DSP处理器结构的发展趋势 2.3新近推出的DSP核和DSP处理器 2.4系统的芯片集成(SoC),2.1 DSP处理器实现高速运算的途径,2.1.1硬件乘法器及乘加单元 2.1.2多个并行单元 2.1.3高效的存储器访问 2.1.4数据格式 2.1.5零开销循环 2.1.6数据流的线性I/O 2.1.7专门的指令集,2.1.1硬件乘法器及乘加单元,乘法和乘积的累加是数字信号处理中最常见的运算之一,在卷积、向量、矩阵运算、IIR滤波器、FIR滤波器、傅里叶变换等用得很多 通用微处理器做乘法的原理:用一系列移位和加法运算来实现因此,每一步需要一到几个时钟周期 现代DSP处理器中都具有至少一个专门的硬件乘法器或者组合的乘加单元(MAC),这样可以使DSP算法更快实现返回首页,2.1.2 多个执行单元,由于DSP在应用过程中都有繁重的计算任务,因此DSP处理器通常包含若干个独立的执行单元,进行并行处理例如:除了MAC单元外,还有ALU(算术逻辑单元)、移位器、地址发生器等。
返回本节,2.1.3 高效的存储器访问,1、在一个时钟周期内执行一个MAC,要求一个单周期的MAC单元,也要求在一个周期内从存储器提取MAC指令、数据样本和滤波器系数,因此,要求较高的存储器带宽 2、DSP处理器采用了程序空间和数据空间分开的哈佛结构,多总线结构,提高了存储器的带宽 3、高存储器带宽需要专门的硬件来支持存储器地址计算,于是DSP中设计了DAG(地址产生单元),它的优点在于支持专门的地址模式,使处理器可以高效的访问数据返回本节,2.1.4 数据格式,1、DSP处理器可以分为定点和浮点两种类型大多数处理器采用定点数据格式由于同样的处理速度下,定点DSP比较便宜,功耗更小,而浮点DSP的格式要求比较复杂的硬件才能实现 2、定点格式:二进制的小数点位于数据字里的固 定位置;浮点格式:数字用指数和尾数来表示,它能表示的值的范围比定点格式要宽得多,从而避免了溢出问题 3、定点DSP的数字宽度:16bit、20bit、24bit、32bit; 4、为了保证使用定点数据时的信号质量,DSP处理器都有专门的硬件,以保证一系列运算后的数据精度返回本节,2.1.5 零开销循环,零开销循环:DSP往往提供专门的循环指令,在无须花费任何时钟周期的情况下,实现FOR-NEXT循环。
由于DSP的算法往往需要将大量的处理时间花费在反复执行软件中的一小部分,例如循环,因此大多数DSP都要对高效的循环提供专门的支持2.1.6 数据流的线性I/O,为了达到高性能低成本的输入和输出,多数DSP都有一个或多个专门的串口或并口,并采用线性的处理机制,使得数据的传输不影响或者尽可能少地影响处理器计算单元的工作2.1.7 专门的指令集,DSP处理器的指令集的设计要达到两个目标: (1)最大限度地使用处理器的基本硬件,以提高效率:传统的DSP处理器的指令集都允许在单个指令里并行完成若干个操作; (2)将程序所使用的存储空间减到最小,因为DSP应用对成本非常敏感,而存储器的成本对处理器的成本和系统的成本影响很大:要求指令要短、使用最少的存储单元、尽可能使用寄存器来完成操作、将多个操作合并在一条指令中2.1.7 专门的指令集(续),DSP程序不能单纯的只用高级语言来实现,因为: (1):以C语言为代表的高级语言不适合来描述DSP算法 (2):传统DSP结构(如多个存储器空间、多组总线、不规则的指令集、高度专门化的硬件),使得高级语言编译效率的提高变得非常困难因此,在实际的应用中,为了得到高效的代码,往往需要使用汇编程序对最关键的部分进行优化。
2.2 当前DSP处理器结构的发展趋势,2.2.1 传统的DSP处理器 2.2.2 强化的传统结构DSP处理器 2.2.3 并行结构 2.2.4 单指令多数据(SIMD) 2.2.5 其他形式的DSP处理器,返回首页,2.2.1 传统的DSP处理器,传统的DSP处理器的结构特点: 1、低成本的DSP:包含一个乘法器或MAC,一个ALU和若干个其他的执行单元,每个时钟周期执行一条指令,使用复杂的、多操作类型的指令ADSP-21XX,TMS320C2000,DSP56000系列等 2、中等的DSP:提高了时钟速率,使用了更先进的结构,增加了一些硬件,如桶形移位器、指令高速缓存,采用更深的流水线返回本节,2.2.2 强化的传统结构DSP处理器,这类处理器在传统的DSP处理器的结构基础上,增加了一些并行执行单元,可以在每个时钟周期内做更多的操作2.2.3 并行结构,传统DSP与强化DSP面临的问题:用汇编语言编程困难,编译器生成的目标代码效率不高 针对以上问题,有些新的DSP采用了并行结构:采用非常简单的指令,即同时执行一组并行的指令,而不是一次执行一条指令TI是第一个采用这种结构的厂商。
并行多指令DSP的结构分为两类:超长指令字(VLIW)和超标量(Superscalar)结构,返回本节,超长指令字和超标量结构很类似,它们都提供许多执行单元,每个执行单元都执行各自的指令,区别在于并行执行的指令如何分组 VLIW处理器将每个周期内执行的4-8条指令打包成一个很长的指令,因此称为超长指令超标量结构的指令一般为2-4个 VLIW结构中,汇编语言编程器决定哪些指令执行,指令在汇编时才分组,而且在执行过程中,分组不会改变;超标量结构中,由专门的硬件来决定哪些指令将并行执行; 当前绝大多数的DSP处理器都采用超长指令字结构2.2.4 单指令多数据(SIMD),SIMD:通过使处理器并行地用不同的数据,执行多次同样的操作,来改善处理器的性能 SIMD不属于结构本身,是一种结构技术,可以用于讨论过的任何结构中使用 AD公司的TigerSHARC处理器对SIMD做了很大的扩展,它属于VLIW结构,组合了两种SIMD:(1)一个指令可以控制两组执行单元的执行;(2)该指令还可以指定分开的执行单元;,要使SIMD能力有效发挥,程序员需要付出努力: (1)需要在存储器里对数据作专门的安排,使SIMD处理能够全速运行; (2)需要重新组织算法,以便最大限度的使用处理器资源,因为SIMD只有在可以并行处理数据的算法中才是有效的。
2.2.5 其他形式的DSP处理器,(1)高性能的CPU:许多高端的CPU,如Pentium和PowerPC,强化了执行信号处理任务时的计算速度,扩展了基于SIMD的指令集,做DSP运算时,可能比最快的DSP处理器还要快 (2)DSP/MCU的混合:许多微控制器厂商在其微控制器内部强化DSP功能2.3 新近推出的DSP核与DSP处理器,2.3.1TI公司的新DSP处理器 2.3.2AD公司的新DSP处理器 2.3.3飞思卡尔的新DSP处理器,2.4 系统的芯片集成(SoC),2.4.1 2G简介 2.4.2 TI的OMAP-用于3G中的SoC 2.4.3 DaVinci技术 2.4.4 飞思卡尔的MXC,2.4.1 2G简介,2G移动采用的基带体系结构都是以两个可编程处理器(一个DSP和一个MCU)为基础的,目前,已经将两个处理器集成在一起 在TDMA模式移动中,DSP负责: (1)实现数据流的调制解调; (2)利用编解码实现传输误码纠正并维 持通信链路的稳定性; (3)对数据进行加密解密以保证通信的安全性; (4)对语音数据进行压缩和解压缩; 在CDMA模式移动中,DSP负责:实现符号级功能,如前向纠错、加密以及语音压缩和解压缩,与此同时还要控制ASIC硬件。
在2G移动中,MCU负责支持移动的用户界面(话筒、耳机、键盘、显示器等),并处理通信协议栈中的上层协议2.4.2 TI的OMAP-用于3G中的SoC,2G移动通信标准向更高的标准转变的根本动力:为了实现包括互联网接入在内的高级业务,必须提供更高速率的数据传输能力 分组交换的价值在于:能够为用户提供一种“始终”的业务,从而消除电路连接所必须的冗长的呼叫建立时间GPRS(通用分组无线业务)是一个很好的例子 多媒体数据应用在3G应用中凸显重要,为了将实时通信功能和用户交互式应用分开,需要将移动中的通信处理和应用处理区分开来TI的OMAP为此而设计2.4.2 TI的OMAP-用于3G中的SoC,开放式多媒体应用平台(OMAP)基于两个基本假设: (1)在3G产品中,应用主要面向各种媒体; (2)应用环境是动态的;OMAP的关键组件包括:一个高性能、低功耗的DSP,一个通用MCU、一个内存和流量控制器 (MTC),如下图所示:,2.4.3 应用于数字视频的DaVinci技术,为了应对数字视频强劲的需求,TI推出了DaVinci技术 DaVinci技术面临的主要挑战和创新: (1)面临的挑战 (2)API的强大功能 (3)支持Linux系统 (4)编程的灵活性,2.4.4 飞思卡尔的MXC,MXC:Mobile Extreme Convergence 随着移动功能的迅速增加,所使用的应用处理器必然也大大增加,使得移动的功耗和体积不堪重负,开发也更加复杂和困难,为了改变这种状况,飞思卡尔推出了MXC结构。












