数字信号处理器的特点 数字信号处理器和诸如英特尔、奔腾或Power PC的通用处理器(GPPs)有很大的区别,这些区别产生于DSPs的结构和指令是专门针对信号处理而设计和开发的,它具有以下特点。 ·硬件乘法累加操作(MACs) 为了有效完成诸如信号滤波的乘法累加运算,处理器必需进行有效的乘法操作。GPPs起初并不是为繁重的乘法操作设计的,把DSPs同早期的GPPs区别开来的**个重大技术改进就是添加了能够进行单周期乘法操作的专门硬件和明确的MAC指令。 ·哈佛结构 传统的GPPs使用冯.诺曼存储结构,在这种结构中,有一个存储空间通过两条总线(一条地址总线和一条数据总线)连接到处理器内核,这种结构不能满足MAC必须在一个指令周期中对存储器进行四次访门的要求。DSPs一般使用哈佛结构,在哈佛结构中,有两个存储空间:程序存储空间和数据存储空间。处理器内核通过两套总线与这些存储空间相连,允许对存储器同时进行两访问,这种安排使处理器的带宽加倍。在哈佛结构中,有时通过增加*二个数据存储空间和总线来实现更大的存储带宽。现代高性能GPPs通常具有两个片上**高速缓冲存储器枣一个存放数据,一个存放指令。从理论的角度上讲,这种双重片上高速缓存与总线连接等同于哈佛结构,但是,GPPs使用控制逻辑来确定哪些数据和指令字驻留在片上高速缓存里,这个过程通常不为程序设计者所见,而在DSPs里,程序设计者能明确的控制哪些数据和指令被存储在片上的存储单元或缓存中。 ·零消耗循环控制 DSP算法的共同特征:大部分处理时间花在执行包含在相对小循环内的少量指令上。因此,大部分DSP处理器具有零消耗循环控制的专门硬件。零消耗循环是指处理器不用花时间测试循环计数器的值就能执行一组指令的循环,硬件完成循环跳转和循环计数器的衰减。有些DSPs还通过一条指令的**高速缓存实现高速的单指令循环。 ·特殊寻址模式 DSPs经常包含有专门的地址产生器,它能产生信号处理算法需要的特殊寻址,如循环寻址和位翻转寻址。循环寻址对应于流水FIR滤波算法,位翻转寻址对应于FFT算法。 ·执行时间的可预测性 大多数DSP应用都具有硬性实时要求,在每种情况下所有处理工作都必须在*时间内完成。这种实时限制要求程序设计者确定每个样本究竟需要多少时间或者在较坏情况下至少用去多少时间。DSPs执行程序的进程对程序员来说是透明的,因此很容易预测处理每项工作的执行时间。但是,对于高性能GPPs来说,由于大量**高速数据和程序缓存的使用,动态分配程序,因此执行时间的预测变得复杂和困难。