DSP学习(1)数字信号处理器DSPs简介
第一章 数字信号处理器DSPs简介
实时信号处理系统要求必须具有处理大数据量的能力,以保证系统的实时性;其次对系统的体积、功耗、稳定性等也有较严格的要求。实时信号处理算法中经常用到对图象的求和、求差运算,二维梯度运算,图象分割及区域特征提取等不同层次、不同种类的处理。其中有的运算本身结构比较简单,但是数据量大,计算速度要求高;有些处理对速度并没有特殊的要求,但计算方式和控制结构比较复杂,难以用纯硬件实现。因此,实时信号处理系统是对运算速度要求高,运算种类多的综合性信息处理系统。 实时信号处理系统中,低层的信号预处理算法处理的数据量大,对处理速度的要求高,但运算结构相对比较简单,适于用FPGA进行硬件实现,这样能同时兼顾速度及灵活性。高层处理算法的特点是所处理的数据量较低层算法少,但算法的控制结构复杂,适于用运算速度高,寻址方式灵活,通信机制强大的DSP芯片来实现。由此就应运而生了各种DSP数字信号处理芯片。
DSP和诸如Intel Pentium或Motorola PowerPC的通用处理器(GPPS)有很大的区别,这些区别产生于PSS的结构和指令是专门针对信号处理而设计和开发的,具有以下特点。
· 硬件乘法累加操作(MACs) 把DSPs同早期的GPPs区别开来的第一个重大技术改进,就是添加了能够进行单周期乘法操作的专门硬件和明确的MAC指令。
· 哈佛结构 传统的GPPs使用冯.诺曼存储结构,在这种结构中,有一个存储空间通过两条总线(一条地址总线和一条数据总线)连接到处理器内核,这种结构不能满足MAC必须在一个指令周期中对存储器进行四次访问的要求。DSPs一般使用哈佛结构,在哈佛结构中,有两个存储空间:程序存储空间和数据存储空间。处理器内核通过两套总线与这些存储空间相连,允许对存储器同时进行两访问,这种安排使处理器的带宽加倍。在哈佛结构中,有时通过增加第二个数据存储空间和总线来实现更大的存储带宽。现代高性能GPPs通常具有两个片上超高速缓冲存储器,一个存放数据,一个存放指令。从理论的角度上讲,这种双重片上高速缓存与总线连接等同于哈佛结构,但是,GPPs使用控制逻辑来确定哪些数据和指令字驻留在片上高速缓存里,这个过程通常不为程序设计者所见,而在DSPs里,程序设计者能明确的控制哪些数据和指令被存储在片上的存储单元或缓存中。
· 零消耗循环控制 DSP算法的共同特征在于大部分处理时间花在执行包含在相对小循环内的少量指令。因此,大部分DSP处理器具有零消耗循环控制的专门硬件。零消耗循环是指处理器不用花时间测试循环计数器的值就能执行一组指令的循环,硬件完成循环跳转和循环计数器的衰减。有些DSP还通过一条指令的超高速缓存实现高速的单指令循环。
· 特殊寻址模式 DSPs经常包含有专门的地址产生器,它能产生信号处理算法需要的特殊寻址,如循环寻址和位翻转寻址。循环寻址对应于流水FIR滤波算法,位翻转寻址对应于FFT算法。
· 执行时间的可预测性 大多数DSP应用都具有硬性实时要求,在每种情况下所有处理工作都必须在指定时间内完成。这种实时限制要求程序设计者确定每个样本究竟需要多少时间或者在最坏情况下至少用去多少时间。DSP执行程序的进程对程序员来说是透明的,因此很容易预测处理每项工作的执行时间。但是,对于高性能GPPs来说,由于大量超高速数据和程序缓存的使用,动态分配程序,因此执行时间的预测变得复杂和困难。
· 具有丰富的外设 DSPs具有DMA, 串口, PLL,定时器等外设。
|