模拟技术
数字信号处理器(DSP)是一种专门的微处理器(或SIP块),其体系结构针对数字信号处理的操作需要进行了优化。DSP的目标通常是测量、过滤或压缩连续的真实模拟信号。大多数通用微处理器也能成功地执行数字信号处理算法,但是专用的DSP通常具有更好的功率效率,因此它们更适合于便携式设备,如移动电话,因为电力消耗限制。DSP经常使用能够同时获取多个数据或指令的特殊内存架构。
数字信号处理算法通常需要大量的数学运算才能在一系列的数据样本上快速和重复地执行。信号(可能来自音频或视频传感器)不断从模拟转换到数字,经过数字处理,然后转换回模拟形式。许多DSP应用程序对延迟有限制;也就是说,对于系统来说,DSP操作必须在一定的时间内完成,而延迟(或批处理)处理是不可行的。
数字信号处理器的结构是专门针对数字信号处理进行优化的。大多数也支持一些特性作为应用程序处理器或单片机,因为信号处理很少是系统的唯一任务。
按照通用处理器的标准,DSP指令集通常是非常不规则的;虽然传统的指令集由更一般的指令组成,允许它们执行更广泛的操作,但对数字信号处理进行优化的指令集包含在DSP计算中经常发生的常见数学运算的指令。传统的和DSP优化的指令集都能够计算任意的操作,但是一个可能需要多个ARM或x86指令来计算的操作可能只需要DSP优化指令集中的一条指令。
软件架构的一个含义是,手工优化的汇编代码例程通常被打包到库中以供重用,而不是依赖于高级的编译器技术来处理基本的算法。即使使用现代的编译器优化,手工优化的汇编代码更高效,而且许多与DSP计算相关的常用算法都是手写的,以便充分利用架构优化。
在独立DSP芯片出现之前,大多数DSP应用程序都是使用位片处理器实现的。与它的组件家族的AMD 2901位片芯片是一个非常流行的选择。有来自AMD的参考设计,但通常特定设计的细节是特定于应用程序的。这些位片架构有时包括一个外围的乘数芯片。这些倍增器的例子包括TDC1008和TDC1010,其中包括一个累加器,提供必要的多重积累(MAC)功能。
1976年,理查德·威金斯(Richard Wiggins)向保罗·布里德洛夫(Paul Breedlove)、拉里·布兰丁汉姆(Larry Brantingham)和德克萨斯州仪器公司达拉斯研究中心(Dallas research facility)的吉恩·弗朗茨(Gene Frantz)提出了“说话和拼写”的概念。两年后的1978年,他们制造了第一个Speak & Spell,技术中心是TMS5100,这个行业的第一个数字信号处理器。它还设置了其他里程碑,成为第一个使用线性预测编码来执行语音合成的芯片。
1978年,英特尔发布了2920作为“模拟信号处理器”。它有一个内置信号处理器的芯片ADC/DAC,但它没有硬件倍增器,在市场上也不成功。1979年,AMI发布了S2811。它被设计成一个微处理器外围设备,它必须由主机初始化。S2811在市场上同样不成功。
在1980年第一个独立的,完整的需求方——NECPD7720和AT&T DSP1国际固态电路会议上提出了80年。这两个处理器都受到了PSTN电信的研究的启发。Altamira DX-1是另一种早期的DSP,它利用了带有延迟分支和分支预测的quad整数管道。
另一个由德州仪器公司(TI)生产的DSP,在1983年推出的TMS32010,被证明是一个更大的成功。它是基于哈佛的架构,所以有单独的指令和数据存储器。它已经有了一个特殊的指令集,它的指令类似于加载和积累或多重积累。它可以在16位数字上工作,需要390个ns来进行多重加法运算。TI现在是通用DSP的市场领导者。
大约五年后,第二代DSP开始传播。他们有3个记忆,可以同时存储两个操作数,还包括硬件加速紧密循环;他们也有一个可以循环寻址的寻址单元。他们中的一些人使用24位变量,而一个典型的模型只需要21个ns就可以了。这一代的成员就是AT&T DSP16A或者摩托罗拉56000。
第三代的主要改进是在数据路径中出现了特定于应用程序的单元和指令,或者有时是协处理器。这些单元允许直接硬件加速非常具体但复杂的数学问题,像傅里叶变换或矩阵运算。一些芯片,如摩托罗拉MC68356,甚至包括一个以上的处理器内核并行工作。其他1995年的DSP是TI TMS320C541或TMS 320C80。
第四代最好的特点是指令集和指令编码/解码的变化。添加了SIMD扩展,并出现了VLIW和超标量体系结构。和往常一样,时钟速度增加了;现在已经有了3个MAC电脑。
全部0条评论
快来发表一下你的评论吧 !