打印
[信息]

MCU、 ARM DSP 到底什么关系?

[复制链接]
575|16
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
Edisons|  楼主 | 2020-6-30 21:05 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
MCU、 ARM DSP 到底什么关系?


    DSP最擅长数**算,尤其是高阶和浮点,其实音频、视频信号的处理就是一系列各种类型矩阵的运算,即各种数字的运算。 DSP理论门槛最高。ARM控制、驱动能力是比较强的。MCU微控制器单元, MPU微处理器单元, 其中,MCU集成了片上外围器件,而MPU不带外围器件(例如存储器阵列),是高度集成的通用结构的处理器。是去除了集成外设的MCU。所以区别很简单,就这一句话。

说说数字信号控制器的发展吧。
CPU发展出来三个分枝,一个是DSP,另外两给MCU和MPU。如果你问我DSP和MCU的区别,那还要说一阵子呢,比如DSP运算能力强,擅长很多的重复数据运算,而MCU则适合不同信息源的多种数据的处理诊断和运算,速度并不如DSP。MCU区别于DSP的最大特点在于它的通用性,反应在指令集和寻址模式中。
DSP与MCU的结合是DSC,它终将取代这两种芯片。摩托罗拉的56800就是这样的DSC.

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处理器在指令集和硬件方面都支持饱和计算、舍入和移位。

使用特权

评论回复
沙发
Mozarts| | 2020-6-30 21:13 | 只看该作者

ARM处理器本身是32位设计  

使用特权

评论回复
板凳
Listate| | 2020-6-30 21:14 | 只看该作者

ARM是一种行进的32位单片机的架构和核心技术

使用特权

评论回复
地板
wanglaojii| | 2020-6-30 21:19 | 只看该作者
DSP 数字信号处理器,具有较强的运算功能和信号处理功能

使用特权

评论回复
5
laozhongyi| | 2020-6-30 21:19 | 只看该作者
arm可以看做是低端单片机升级版,支持操作系统管理

使用特权

评论回复
6
bbapple| | 2020-6-30 21:24 | 只看该作者
DSP:用于实现数字信号处理的微处理器芯片。

使用特权

评论回复
7
handleMessage| | 2020-6-30 21:25 | 只看该作者
DSP主要用做运算,如语音,图像等信号的运算处理,但基本不用做控制

使用特权

评论回复
8
zhouhuanの| | 2020-6-30 21:32 | 只看该作者
ARM是高级单片机,是程序控制的 DSP主要是算法

使用特权

评论回复
9
feiqi1| | 2020-6-30 21:32 | 只看该作者
DSP,ARM是高端的单片机,本质上和单片机差不多

使用特权

评论回复
10
androidbus| | 2020-6-30 21:38 | 只看该作者

32位单片机几乎全是ARM的天下

使用特权

评论回复
11
litengg| | 2020-6-30 21:38 | 只看该作者
一般来讲比等价32位代码节省达35%,却能保留32位系统的所有优势

使用特权

评论回复
12
qiangweii| | 2020-6-30 21:44 | 只看该作者
MCU低价低功耗,但门限很少,结构简单,不能实现复杂控制

使用特权

评论回复
13
shashaa| | 2020-6-30 21:44 | 只看该作者
FPGA可以用软件方式实现DSP和MCU。  

使用特权

评论回复
14
xia00| | 2020-6-30 21:48 | 只看该作者
现在有的ARM芯片带有DSP 而有的DSP也带有单片机

使用特权

评论回复
15
hfdy01| | 2020-6-30 21:49 | 只看该作者
只是运行速度更快,功能更多,,现在一般都是在51单片机入门,扎实基础,然后开始接触dsp,arm

使用特权

评论回复
16
CallReceiver| | 2020-6-30 21:54 | 只看该作者

sp主要完成复杂的数字信号处理,如fft  

使用特权

评论回复
17
boy1990| | 2020-6-30 21:54 | 只看该作者
各有特点,更具不同的应用领域来做选择!  

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

58

主题

1426

帖子

0

粉丝