0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

DSP与普通MCU的比较

jf_pJlTbmA9 来源:jf_pJlTbmA9 作者:jf_pJlTbmA9 2023-09-04 16:57 次阅读

考虑一个数字信号处理的实例,比如有限冲击响应滤波器(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处理器在指令集和硬件方面都支持饱和计算、舍入和移位。
审核编辑:彭菁

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • dsp
    dsp
    +关注

    关注

    553

    文章

    7965

    浏览量

    348414
  • mcu
    mcu
    +关注

    关注

    146

    文章

    17040

    浏览量

    350509
  • 滤波器
    +关注

    关注

    161

    文章

    7758

    浏览量

    177807
  • 存储器
    +关注

    关注

    38

    文章

    7462

    浏览量

    163658
  • 数据
    +关注

    关注

    8

    文章

    6926

    浏览量

    88867
收藏 人收藏

    评论

    相关推荐

    一分钟简单看懂DSPMCU、MPU的区别

    dspmcu
    电子学习
    发布于 :2023年02月08日 12:50:56

    DSP普通MCU的区别

    ,形成一个输出样本。   类似的运算在数字信号处理过程中大量地重复发生,使得为此设计的器件必须提供专门的支持,促成了了DSP器件与通用处理器(GPP)的分流: 电子导航 gps.srvee.com   1
    发表于 01-07 15:34

    MCUDSP,PLD/EDA的介绍/比较/分析

    ,PLD/ EDA 分别加以介绍,并作比较和分析。 单片机 单片机是集成了CPU ,ROM ,RAM 和I/ O 口的微型计算机。它有很强的接口性能,非常适合于工业控制,因此又叫微控制器(MCU)。它与通用
    发表于 06-29 11:35

    为什么大功率电源的控制用数字控制的比较多?(MCUDSP)

    小功率电源领域都有比较多成熟的模拟控制器IC,为什么大功率电源用DSP或者MCU比较多呢?同时也想问一下在大功率电源控制里面,是所有的控制都通过一块
    发表于 12-06 21:12

    图文详谈DSPMCU的区别

    )逐渐地用于控制复杂系统中多种正在进行的和同时发生的任务。通过提供对任务调度与管理的支持,RTOS简化了编程模式,这通常是由MCU控制的,由于普通DSP不具备支持RTOS需要的所有功能以便有效地控制
    发表于 06-04 09:27

    ARM、MCUDSP、FPGA、SoC的区别是什么

    STM32学习笔记①ARM、MCUDSP、FPGA、SoC各是什么?区别是什么?(转)ARM、MCUDSP、FPGA、SoC的比较CMS
    发表于 12-09 07:08

    基于MCUDSP的运动控制研究硬件平台设计

    基于MCUDSP的运动控制系统由于结构紧凑、环境适应性好而有良好的发展前景。由于PC机与MCUDSP资源环境差异较大,进行MCU
    发表于 09-23 11:13 11次下载

    DSPMCU的区别?

    DSPMCU的区别? 1)DSP的速度比MCU快,主频较高。 2)DSP适合于数据处理,数据处理的指令效率较高。 3)
    发表于 04-07 08:48 1.6w次阅读

    DSP普通MCU比较

    类似的运算在数字信号处理过程中大量地重复发生,使得为此设计的器件必须提供专门的支持,促成了了DSP器件与通用处理器(GPP)的分流
    发表于 03-14 10:55 2011次阅读

    比较DSPMCU、ARM、CPLD/FPGA

    DSP数字信号处理器(Digital Signal Porcessor);硬件结构:CPU、存储器、总线、外设接口、时钟以及硬件加速器(音频、视频处理)等;操作系统:DSP/BIOS,SYS
    发表于 10-26 16:21 15次下载
    <b class='flag-5'>比较</b><b class='flag-5'>DSP</b>、<b class='flag-5'>MCU</b>、ARM、CPLD/FPGA

    DSPMCU的区别

    MCUDSP最近在制作电子类产品方面都应用广泛,DSP在数字信号处理、通信领域应用较多,MCU在自动控制、智能信号上应用广泛。  处理器通常可以分为三大类,就是数字信号处理器-
    发表于 10-28 14:51 13次下载
    <b class='flag-5'>DSP</b>和<b class='flag-5'>MCU</b>的区别

    DSP普通MCU或者SOC区别小结

    对比项 属性/特征 硬件乘法器/累加器AUL 通用的MCU在执行乘法操作时是通过软件编程的方式的来实现的,通常需要几十甚至上百个时钟周期,而DSP处理器却有自己的硬件乘法器,使用硬件
    发表于 10-28 15:21 1次下载
    <b class='flag-5'>DSP</b>和<b class='flag-5'>普通</b>的<b class='flag-5'>MCU</b>或者SOC区别小结

    ARM、MCUDSP、FPGA、SOC的比较

    ARM、MCUDSP、FPGA、SOC的比较1、采用架构·        ARM:架构采用32位精简指令集(RISC)处理器架构,从ARM9开始ARM都采用了哈佛体系结构,这是一种将指令与数据分开
    发表于 11-05 21:05 24次下载
    ARM、<b class='flag-5'>MCU</b>、<b class='flag-5'>DSP</b>、FPGA、SOC的<b class='flag-5'>比较</b>

    DSP普通MCU的区别

    DSP主要还是用来开发嵌入式的信号处理系统了,不强调人机交互,一般不需要很多通信接口,因此结构也较为简单,便于开发。如果只是着眼于嵌入式应用的话,嵌入式CPU和DSP的区别应该只在于一个偏重控制一个偏重运算了。
    的头像 发表于 08-04 14:34 919次阅读

    基于MCU+DSP的运动控制硬件平台设计

    基于MCUDSP的运动控制系统由于结构紧凑、环境适应性好而有良好的发展前景。由于PC机与MCUDSP资源环境差异较大, 进行MCU
    的头像 发表于 10-31 17:01 779次阅读