电子产品世界 » 论坛首页 » 嵌入式开发 » DSP系统 » DSP与普通MCU的区别


共20条 1/2 1 2 跳转至

DSP与普通MCU的区别

菜鸟
2007-11-23 17:39:49    评分
DSP与普通MCU的区别   考虑一个数字信号处理的实例,比如有限冲击响应滤波器(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处理器在指令集和硬件方面都支持饱和计算、舍入和移位。




关键词: 普通     区别     处理器     指令     使用     循环    

工程师
2007-11-27 14:42:58    评分
2楼

总结的挺全面,值得大家学习一下!


助工
2007-12-02 23:42:46    评分
3楼
dsp是好东东,学好很有前途的

菜鸟
2007-12-06 21:58:15    评分
4楼

刚开始涉足DSP,也一直没搞明白这两者的区别。看的出楼主应该是DSP好手。能帮我解答个疑惑吗,我现在使用的是TI公司TMS320C5410的芯片,该片上有3个外部中断INT0、INT1、INT2,但我在其Datasheet上一直没找到这几个外部中断的触发方式,即到底是电平方式还是边沿方式的呢。按一般处理芯片的理解 应该有可以设置的。请问是在哪里配置的?谢谢


助工
2007-12-07 14:27:58    评分
5楼

应该把dsp与cpu的区别也列出来


高工
2013-08-07 08:53:32    评分
6楼

从摆渡,搜到这文


专家
2013-08-07 11:21:37    评分
7楼
   谢谢楼主的分享,使我对DSP又有了一个新的认识,原来较多的接触音响设备,只知道其中的DSP是用于数字声音处理的,现在又知道了 它还有一定的运算功能,顺便再问一下:它是否具有数字运算和逻辑运算这两种功能,

高工
2013-08-07 12:01:31    评分
8楼
DSP是数字信号处理,其特点就是数字和逻辑运算能力

高工
2013-08-07 12:17:57    评分
9楼

DSP还是最擅长数学运算,尤其是高阶和浮点,其实音频、视频信号的处理就是一系列各种类型矩阵的运算,也就是各种数字的运算了。

逻辑处理能力,还是PLD比较擅长,顾名思义吧。

ARM啊这些,控制、驱动能力是比较强的。

三大领域,各司其职。

个人感脚,DSP理论门槛最高。


高工
2013-08-07 12:31:08    评分
10楼
看看~dsp是digital signal process/processor的简写~自己理解

共20条 1/2 1 2 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]