DSP与普通MCU的区别

[复制链接]
1094|18
 楼主| FCCdsp 发表于 2017-7-10 17:49 | 显示全部楼层 |阅读模式
DSP与普通MCU的区别

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处理器在指令集和硬件方面都支持饱和计算、舍入和移位。
gygp 发表于 2017-7-12 23:00 | 显示全部楼层
应用方向肯定不一样的。
chenci2013 发表于 2017-7-12 23:00 | 显示全部楼层
主要还是偏向于学习单片机。
biechedan 发表于 2017-7-12 23:00 | 显示全部楼层
架构不一样吧。
wangdezhi 发表于 2017-7-12 23:01 | 显示全部楼层
高性能GPP是什么
isseed 发表于 2017-7-12 23:01 | 显示全部楼层
这个DSP可以当做单片机使用的。
suzhanhua 发表于 2017-7-12 23:02 | 显示全部楼层
指令集的设计都一样C语言编程。
mituzu 发表于 2017-7-12 23:02 | 显示全部楼层
TI的DSP性能比单片机强多了。
hellosdc 发表于 2017-7-12 23:03 | 显示全部楼层
ASIC/FPGA/MCU/DSP区别
uiint 发表于 2017-7-12 23:03 | 显示全部楼层
DSP:适合于数字信号处理,例如FFT、数字滤波算法、加密算法和复杂控制算法等。
gygp 发表于 2017-7-12 23:03 | 显示全部楼层
DSP还是主要做数据处理和分析的。
chenci2013 发表于 2017-7-12 23:03 | 显示全部楼层
DSP的价格有点贵 。
biechedan 发表于 2017-7-12 23:03 | 显示全部楼层
现在M3内核的单片机性能也不错。
wangdezhi 发表于 2017-7-12 23:03 | 显示全部楼层
图形处理器都使用什么?
isseed 发表于 2017-7-12 23:04 | 显示全部楼层
浮点型的单片机功能非常强大。
suzhanhua 发表于 2017-7-12 23:04 | 显示全部楼层
处理器的编写很简单。
mituzu 发表于 2017-7-12 23:04 | 显示全部楼层
DSP处理器主要还是数据处理方面的。
uiint 发表于 2017-7-12 23:04 | 显示全部楼层
ARM:具有强大的事务处理功能
hellosdc 发表于 2017-7-12 23:04 | 显示全部楼层
DSP处理器在指令集和硬件方面都支持饱和计算、舍入和移位。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

967

主题

1447

帖子

9

粉丝
快速回复 在线客服 返回列表 返回顶部