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

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

3天内不再提示

从架构到RTOS详解DSP和MCU的区别和联系

GReq_mcu168 来源:玩转单片机 2020-08-04 16:47 次阅读

▍一、区别

两则的分流造成的主要原因是数字信号处理的简便性,考虑一个数字信号处理的实例,比如有限冲击响应滤波器(FIR)。用数学语言来说,FIR滤波器是做一系列的点积。取一个输入量和一个序数向量,在系数和输入样本的滑动窗口间作乘法,然后将所有的乘积加起来,形成一个输出样本。

类似的运算在数字信号处理过程中大量的重复发生,使得为此设计的器件必须提供专门的支持,促进了DSP器件与通用处理器(GPP)的分流:

1. 对密集乘法的支持

2. 存储器结构

此外,DSP处理器几乎都不具备数据的高速缓存。这是因为DSP的典型数据是数据流。也就是说,DSP处理器对每个数据样本做计算后,就丢弃,几乎不再重复使用。

3. 零开销循环

DSP算法的一个共同的特点,即大多数处理时间都花在执行较小的循环上,也就容易理解,为什么大多数的DSP都有专门的硬件,用于零开销循环。所谓的零开销循环是指处理器在执行循环时,不用花时间去检查循环计数器的值,条件转移到循环大额顶部,将循环计数器减1.

与此相反,GPP的循环使用软件来实现。某些高性能的GPP使用转移预报硬件,几乎达到与硬件支持零开销循环同样地效果。

▍二、联系

按照传统方式,嵌入式应用中的数字信号处理器(dsp)相对于主微控制器起到从属的作用。在这些应用中,MCU用作系统控制器,而大量的数据处理留给DSP。例如,在音频视频处理器应用中有可能需要人机界面管理,或则是整个系统的控制。

为完成这些任务,有几种系统设计方案选择

第一种方案是将DSP和MCU芯片组合在印制电路板上。这种方案成本高并且占用面积大,但是可适当地调整每个芯片的尺寸以最大限度的满足系统需要。

第二种方案是将DSP功能合并到一个MCU中。这种方案只适合于直接的信号处理应用。MCU的时钟频率和计算体系结构根本上不太适合大量的数字处理。有些MCU试图通过增加一个乘法和累加器(MAC)(dsp的一个特点)来补偿上述不足。但是这种方案任然缺乏高级应用所需要的基本的“由上至下”的体系结构设计。

第三种方案是一种将dsp和mcu组合在单个封装内的多芯片模块(mcm).这种方案的局限性是,设计工程师必须按“50/50”的时间比例分配给控制和DSP功能;例如,一旦DSP超出时间,MCU不能完成计算任务。像第一种方案选择一样,当DSP和MCU内核独立存在的时候,需要两套开发工具。 已经出现第四种方案它是将MCU的功能合并到一个DSP中。这类方案的一个例子是美国模拟器件公司(Anolog Device Inc.,简称ADI)的Blackfin 处理器系列。这些新型处理器具有统一的经过优化的体系结构,不仅适于数据计算,而且也适于有关的控制任务。通过平衡执行控制任务与复杂计算的要求,这种方案可以根据系统实时处理的需要,完成100%的控制或者100%的计算任务。完成所有这一切任务不需要在DSP模式和MCU模式之间的模式转换。

DSP MCU

首先让我们回顾一下DSP和MCU的典型功能。DSP主要是在一单个时钟周期内尽可能完成多个MAC(乘法和累加)操作。为了这一点,指令的操作代码通常是可变的超长的指令字(VLIW)。DSP也适于工作在紧密、高效的环路中。另外,为了达到性能指标通常需要编写优化的汇编代码。由于DSP的算法程序一般装在小容量、短等待时间的内置存储器中,所以代码密度通常不是大问题。像DSP主要用于完成计算一样,MCU主要用于完成控制功能。同样地,典型的MCU应用包括许多条件操作,在程序流程中频繁地跳转。通常使用C或者C++语言编写程序。代码密度极为重要,并且根据编译代码的长度来评估算法。存储器系统是基于高速缓存从而允许该系统设计工程师用较长等待时间从较大的存储器中调用较大程序。利用基于高速缓存系统,程序员不需要考虑如何以及何时将指令输入到内核去执行。

统一的DSP和MCU兼备两者的优点。它的指令集由16 bit,32 bit和64 bit操作码组成,但是由于最常用的指令采用16 bit编码,所以编译代码密度大小与那些流行的MCU相同。另外,它包括一个存储器保护功能以及指令高速缓存和数据高速缓存,作为整个存储器管理单元(MMU)的一部分。此外,容易提供一套完整的C/C++开发工具,提供可选汇编语言或者全部汇编语言适合算法优化的编程

RTOS

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

然而,统一的DSP和MCU促进了RTOS几个重要功能的发展。第一个是限制访问功能以保护或者保留存储单元。第二个是配备单独的堆栈和帧指针以减少操作系统(OS)请求以及中断和异常处理所需的等待时间。第三个是具备单独的用户操作模式和管理员操作模式。过去,DSP按照等效于管理员操作模式工作,从而允许在任何时间完全访问所有的系统资源。然而MCU提供类似的在用户操作模式,它允许在OS的顶层运行应用软件。现在,在一个统一的体系结构下提供两种操作模式,因为增强的DSP系统能够限制用户应用软件仅通过OS访问系统资源。

MCU的一个优点是包含使用灵活和种类齐全的外围设备。作为通用的嵌入式控制器,它们通常具备可编程输入输出(I/O)标志、定时器、串行接口和日益增加越来越复杂的标准接口。MCU外围设备的主要作用是嵌入式控制,而不是大量计算。例如,一个实时时钟信号可以唤醒一只温度传感器用以采集环境温度并且将一个延迟的信息通过I/O引脚反馈到MCU。然后,一个定时器的脉冲宽度调制(PWM)输出相应地能够增加或者减小风扇电机的转速。像MCU一样,统一的DSP和MCU具备一套系统控制外围设备(例如,实时时钟、多功能定时器、监视定时器、双向标志位引脚)。然而,它还包括一些高速接口(例如,PCI、异步或者同步存储器控制器、USB、并行视频接口)以便通过这些接口,与许多DMA通道配合快速搬移数据,从而有助于有效利用高速DSP内核的信号处理能力。

功耗控制一直是嵌入式控制器的一项功能。但是,当系统要求DSP具有优良的性能时,对其电源的选择就不太理想。如果将独立的MCU和DSP芯片应用于电源敏感的场合,通常必须为每个芯片提供一个单独的开关稳压器,因为这两个器件的内核电压经常不一致。这会导致降低电源变换效率和增加设计器件的引脚数目,最终增加布线的复杂程度和解决方案的成本。此外,当MCU和DSP的内核集成到一个芯片上时,电源解决方案本质上不是最佳的,因为它必须满足2个完全独立并具有不同负载特性处理器的需求。将这种情况与统一的DSP和MCU相比较,它包含一个集成动态电源管理(DPM)控制器。由于它是只有一个处理器的体系结构,所以该控制器能够完全适合给定应用的需求。

它提供几种固有的电源模式以支持多种系统性能等级。另外,对于未使用的时钟和L2存储器可选择性地禁止。该PLL的频率可在一个宽范围(通常1倍~31倍)进行调节,以满足在DSP和MCU内部多层次的处理需求。最后能够调节电压(外部或者通过一个集成的开关控制器)以提供指数式的节省功耗。由于系统成本、开发容易、器件采购和升级能力的原因,设计工程师正趋向采用一种单芯片解决方案用于嵌入式信号处理解决方案。这种单芯片解决方案必须能够同样好地完成DSP和MCU的功能,所以有必要提出一种统一的处理器体系结构。面对MCU的挑战,比较简单的解决方案是将MCU的功能合并到一个高性能的DSP内核,而不是与此相反。当今一个统一的DSP和MCU平台(由BlackfinDSP系列产品说明)已经投放市场,它将在MCU和DSP目前应用领域提供许多应用。

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

    关注

    552

    文章

    7962

    浏览量

    348259
  • mcu
    mcu
    +关注

    关注

    146

    文章

    16989

    浏览量

    350306
  • RTOS
    +关注

    关注

    21

    文章

    809

    浏览量

    119432

原文标题:从架构到 RTOS 详解 DSP 和 MCU 的区别和联系

文章出处:【微信号:mcu168,微信公众号:硬件攻城狮】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    深入解析自动驾驶系统中的DCU、MCU、MPU、SoC及整车电子架构

    摘要本文探讨了自动驾驶中的DCU、MCU和MPU在电子电气架构中的作用,比较了分布式与集中式架构的优势,以及ADAS系统L0-L2+的发展历程。着重分析了
    的头像 发表于 11-20 17:08 693次阅读
    深入解析自动驾驶系统中的DCU、<b class='flag-5'>MCU</b>、MPU、SoC及整车电子<b class='flag-5'>架构</b>

    RTOS与Linux到底有什么区别

    很多做嵌入式开发的小伙伴都存在这样的疑惑:RTOS与Linux到底有什么区别
    的头像 发表于 10-29 09:53 322次阅读

    MSP430™ MCU MSPM0 MCU 的迁移指南

    电子发烧友网站提供《 MSP430™ MCU MSPM0 MCU 的迁移指南.pdf》资料免费下载
    发表于 09-09 14:55 2次下载
    <b class='flag-5'>从</b> MSP430™ <b class='flag-5'>MCU</b> <b class='flag-5'>到</b> MSPM0 <b class='flag-5'>MCU</b> 的迁移指南

    freertos和rtos区别是什么

    FreeRTOS 和 RTOS(实时操作系统)是两个不同的概念,但它们之间有紧密的联系。FreeRTOS 是一个特定的开源实时操作系统,而 RTOS 是实时操作系统的一般概念。 概念定义 RT
    的头像 发表于 09-02 14:18 964次阅读

    RTOS与Linux有什么区别

    RTOS(Real-Time Operating System,实时操作系统)与Linux是两种在不同应用场景下发挥重要作用的操作系统,它们在设计理念、功能特性、应用场景以及性能表现等方面存在显著差异。以下是对RTOS与Linux区别
    的头像 发表于 08-20 16:05 2990次阅读

    将应用程序NoOS SDK移植RTOS SDK遇到异常怎么解决?

    我正在将应用程序 NoOS SDK 移植 RTOS SDK。但现在有问题了。它得到了致命的异常 28。 问:context(stack) 通过espconn_regist_recvcb回调使用什么? os_timer_set
    发表于 07-11 07:56

    RA MCU CANFD在FSP中的配置详解

    RA MCU CANFD在FSP中的配置详解
    的头像 发表于 06-19 08:06 448次阅读
    RA <b class='flag-5'>MCU</b> CANFD在FSP中的配置<b class='flag-5'>详解</b>

    risc-v的mcuRTOS兼容性如何

    关键点和归纳: 指令集兼容性 : RISC-V是一个开源的指令集架构(ISA),这意味着不同的MCU制造商可以根据自己的需求实现RISC-V的不同版本或变种。因此,RTOS的兼容性首先取决于R
    发表于 05-27 16:26

    FCom解读热敏晶振与温补晶振:结构原理,差异使用条件

    解读热敏晶振与温补晶振:结构原理,差异使用条件 一、结构组成 二、工作原理 三、相似点 四、区别 五、使用条件
    的头像 发表于 05-23 12:04 1608次阅读
    FCom解读热敏晶振与温补晶振:<b class='flag-5'>从</b>结构<b class='flag-5'>到</b>原理,<b class='flag-5'>从</b>差异<b class='flag-5'>到</b>使用条件

    dsp和嵌入式微处理器的区别联系 嵌入式微处理器应用领域分析

    、性能特点和软硬件支持等方面存在一些区别联系。 一、嵌入式微处理器和DSP区别联系 1.定义和设计思路的
    的头像 发表于 04-21 09:50 1498次阅读

    dsp芯片和arm芯片区别 dsp的应用领域

    DSP芯片和ARM芯片都是常见的处理器芯片,但它们在应用领域和架构设计上有着明显的差别。下面将详细介绍DSP芯片和ARM芯片的区别,并重点介绍DSP
    的头像 发表于 02-01 10:17 5949次阅读

    电感和电抗的区别联系

    电感和电抗的区别联系 电感和电抗是电学中的重要概念,它们在理论研究和实际应用中都有着重要的作用。本文将从定义、原理、特点和应用等方面详细介绍电感和电抗的区别联系。 一、电感的定义和
    的头像 发表于 01-03 17:26 3503次阅读

    边缘计算和云计算的区别联系

    边缘计算和云计算是两种不同的计算模型,它们在应用场景、架构、数据处理等方面有着显著的差异。本文将详尽、详实、细致地阐述边缘计算和云计算的区别联系。 一、边缘计算的介绍 边缘计算(Edge
    的头像 发表于 12-27 15:14 2702次阅读

    变量的声明和定义有什么区别联系

    变量的声明和定义是编程中的两个重要概念,它们在语法和语义上有一些区别联系。在本文中,我将详细介绍变量的声明和定义之间的区别联系。 首先,让我们
    的头像 发表于 12-07 16:14 1064次阅读

    mcu和单片机的区别联系

    地指的是整合了中央处理器(CPU)、内存和I/O接口等功能的芯片,而MCU则更加广义,还包括了嵌入式软件开发环境等支持功能。 下面将详细介绍MCU和单片机的区别联系,以及它们在不同领
    的头像 发表于 12-07 15:05 3962次阅读