当前位置:首页 > 学习资源 > 讲师博文 > MCU、ARM、DSP、FPGA、嵌入式之间错综复杂的关系

MCU、ARM、DSP、FPGA、嵌入式之间错综复杂的关系 时间:2024-08-26      来源:华清远见

一.mcu

微控制单元(Microcontroller Unit;MCU) ,又称单片微型计算机(Single Chip Microcomputer )或者单片机,是把中央处理器(Central Process Unit;CPU)的频率与规格做适当缩减,并将内存(memory)、计数器(Timer)、USB、A/D转换、UART、PLC、DMA等周边接口,甚至LCD驱动电路都整合在单一芯片上,形成芯片级的计算机,为不同的应用场合做不同组合控制。诸如手机、PC外围、遥控器,至汽车电子、工业上的步进马达、机器手臂的控制等,都可见到MCU的身影。

MCU的主要作用是通过控制和管理设备来提高电子产品的性能和功能。它们能够执行各种任务,如数据存储、信号处理、图形处理、网络连接等,并且还可以通过集成其他硬件和软件组件来实现更复杂的功能,例如语音识别、人脸识别等。

MCU是一种专门用于在电子设备中控制和管理操作的微型计算机芯片。它们通常被嵌入到各种各样的设备中,如智能手机、数字相机、汽车电子系统、家庭电器等等,以实现各种功能。

此外,MCU还可以帮助设计者实现更低成本和更小尺寸的设备。它们的体积和功耗往往比传统的计算机芯片要小得多,这使得它们非常适合于嵌入到紧凑型设备中。因此,MCU在现代电子产品中扮演着重要的角色,为用户提供了更多的功能和便利。

MCU还有以下作用:

1.提高设备的可靠性:由于它们是专门为特定应用程序设计的,因此MCU可以提供更高的可靠性和稳定性。这使得它们在工业自动化、医疗设备等关键应用领域中得到广泛应用。

2.降低功耗:MCU通常使用低功耗技术来延长电池寿命,并且它们可以根据不同的负载和需求调整自己的功耗,从而实现更好的能源利用效率。

3.改善用户体验:通过集成各种传感器和外设设备,MCU可以大大改善用户的体验。例如,在智能家居系统中,通过MCU控制灯光、温度、安全等参数,可以提高用户对家庭环境的控制和舒适感。

4.提高设备的安全性:MCU具有许多安全保护机制,可以防止未经授权的访问和攻击。这使得它们在网络安全、金融等敏感领域中得到广泛应用。

总之,MCU在现代电子技术中扮演着不可或缺的角色。它们通过控制和管理各种设备,为用户提供更多的功能和便利,并且帮助设计者实现更低成本和更小尺寸的设备。

二.ARM

ARM,全名为Advanced RISC Machine(高级精简指令集计算机),是一种精简指令集(RISC)架构的处理器设计。ARM架构最初由英国的ARM Holdings公司开发,现在已经成为一种广泛应用于各种计算设备的处理器架构。

1. 精简指令集(RISC):ARM架构采用精简指令集设计,这意味着它的指令集相对较小且更简单,执行效率更高。这有助于提高处理器的性能和降低功耗。

2. 多种版本:ARM架构有多个版本,包括ARMv6、ARMv7和ARMv8等。每个版本都引入了新的特性和改进,以适应不同的应用需求,从嵌入式系统到高性能计算。

3. 可扩展性:ARM架构是高度可扩展的,从简单的嵌入式系统到复杂的服务器级处理器都有相应的设计。这种可扩展性使得ARM处理器适用于各种不同的设备和场景。

4. 广泛应用:ARM处理器广泛应用于移动设备、嵌入式系统、物联网(IoT)设备、消费电子、汽车电子、服务器和超级计算机等各种领域。

5. 许可模式:ARM不生产自己的芯片,而是通过许可的方式将其架构授权给其他公司。这意味着许多公司可以设计和制造符合ARM标准的处理器核心,从而促使了ARM生态系统的发展。

在嵌入式系统中,ARM处理器通常被用作主处理器单元,例如在嵌入式系统-on-chip(SoC)中。ARM Cortex-M系列是专门设计用于低功耗、实时嵌入式系统的一系列处理器。在高性能计算领域,ARM Cortex-A系列处理器被广泛应用于移动设备和服务器。

三.DSP

数字信号处理器(digital signal processor, 简写 DSP)是一种专用于(通常为实时的)数字信号处理的微处理器。

DSP-Grafikchip

数字信号处理器的特点

分开的程序存储器和数据存储器(哈佛结构)。

用于单指令流多数据流(SIMD)作业的特殊指令集。

可进行并行处理,但不支援多任务。

用于宿主环境时可作为直接存储器访问(DMA )设备运作.

从模数转换器(ADC)获得数据,最终输出的是由数模转换器(DAC)转换为模拟信号的数据。

数字信号的处理

数字信号的处理可由通用微处理器完成。可能的优化为:

数据运算指令

使用饱和算法,在这种方式中,会产生溢出的运算将累积至寄存器可容纳的最大(或最小)值,而不是按环绕方式(环绕方式是很多通用CPU采取的方式。在环绕方式中,寄存器的数值到达最大值后再加一则会绕回到最小值;而使用饱和算法时则不会发生这种环绕,运算结果仍将保持为最大值)。有些情况下可使用不同的粘滞位运算模式。

使用乘积累加(MAC)运算,这会提高各种矩阵运算的效率(例如卷积运算、点积运算、乃至矩阵多项式的求值运算;参看Horner scheme和积和熔加运算)。由于在许多DSP中都必然地使用了单周期的MAC部件,因此也自然沿袭了下面所述的许多性质(尤其是哈佛结构和指令流水线(Instruction Streamline))。

在使用同余寻址方式操作循环缓冲器、以及在使用逆位序寻址模式处理快速傅立叶变换交叉参照时,都可使用专门的指令实现。

程序流程

使用深层流水线技术,这种情况下,因错误的预测产生的跳转会造成更大的(效率)成本。

使用通过动态表或硬编码的零开销循环实现的分支预测。为减少执行高频度的内层循环时跳转造成的(效率)影响,有些处理器提供了这个特性。该技术包括两种类型的操作:单指令的重复操作和多指令的循环操作。

预取指令使用指令流水线方式。

流水线作业方式可减少总体的处理时间,增加系统的产出效率。

流水线可以分为若干层级。

历史

1978年,Intel 发布了一种“模拟信号处理器”——2920处理器。它包含一组带有一个内部信号处理器的片上ADC/DAC,但由于它不含硬件乘法器,因此在市场上销售并不成功. 1979年,AMI 发布了 S2811处理器,它被设计成微处理器的周边装置,必须由主处理器初始化后才能工作。 S2811 在市场上也不成功.

1979年,贝尔实验室发表了第一款单芯片 DSP,即 Mac 4 型微处理器。继而于1980年的IEEE国际固态电路会议上出现了第一批独立、完整的DSP,它们是NEC的μPD7720处理器和AT&T的DSP1处理器。这两种处理器都是在公共交换电话网(PSTN)的远程通信研究中受到了启发而产生的。

还有一种早期的DSP,Altamira DX-1,它使用一组带有延迟转移和转移预测机制的四整数组流水线。

事实证明,1983年得克萨斯仪器公司生产的的第一款DSP,TMS32010,是一个更大的成功,时至今日德州仪器已成为通用DSP市场的龙头,并提供有HPI(Host-Post Interface),由外部CPU直接访问。另一款成功的设计是摩托罗拉的56000。

通用CPU中有些技术是受到带有扩展模块的DSP的影响而出现的,例如Intel的IA-32架构指令集(ISA)中的MMX扩展。

大部分DSP使用的是定点算法,这是因为在信号处理的一般实际应用中不需要使用浮点运算比定点运算多提供的那部分额外的精度范围,而使用定点算法牺牲了不需要的精度,却大大提高了速度。另一方面,浮点DSP则常用在科学计算和某些需要高精度的应用中。

DSP芯片通常采用专用集成电路设计,然而亦可使用现场可编程门阵列(FPGA)芯片来实现DSP的功能,FPGA的I/O带宽比DSP带宽大十多倍。

四.FPGA

FPGA芯片是基于可编程器件(PAL、GAL、CPLD)发展而来的,是半定制化、可编程的集成电路。FPGA主要有三大特点:

可编程灵活性高

无论是CPU、GPU、DSP、Memory还是各类ASIC芯片,在芯片被制造完成之后,其芯片的功能就已被固定,用户无法对其硬件功能进行任何修改。而FPGA芯片在制造完成后,其功能并未固定,用户可以根据自己的实际需要,将自己设计的电路通过FPGA芯片公司提供的专用EDA软件对FPGA芯片进行功能配置,从而将空白的FPGA芯片转化为具有特定功能的集成电路芯片。

每颗FPGA芯片均可以进行多次不同功能配置,从而实现不同的功能,具有高度灵活性。

开发周期短

在逻辑芯片里面,如ASIC制造流程包括逻辑实现、布线处理和流片等多个步骤;而FPGA无需布线、掩膜和定制流片等,芯片开发大大简化。一般逻辑芯片,如ASIC、DSP、SOC等,开发周期需要14—24个月,甚至更长,而FPGA则只需要6—12个月,比其他芯片开发周期减少55%的时间。

并行计算效率高

FPGA属于并行计算,也即一次可执行多个指令算法。而传统的ASIC、DSP、CPU都是串行计算,一次只能处理一个指令集。因此在部分特殊任务中,FPGA的并行计算效率比串行计算效率更高。

CPU、GPU、ASIC和FPGA是四种计算机处理器类型,不同处理器有着独特的优势。

CPU的逻辑运算单元(ALU)较少,控制器(control)占比较大;GPU的逻辑运算单元(ALU)小而多,控制器功能简单,缓存(cache)也较少。架构的不同使得CPU擅长进行逻辑控制、串行计算,而GPU擅长高强度的并行计算。GPU单个运算单元处理能力弱于CPU的ALU,但是数量众多的运算单元可以同时工作,当面对高强度并行计算时,其性能要优于CPU。现如今GPU除了图像处理外,也越来越多地运用到别的计算中。

可以说,CPU更像是一个有多种功能的优秀领导者。它的优点在于调度、管理、协调能力强,计算能力则位于其次。而GPU相当于一个接受CPU调度的“拥有大量计算能力”的员工。

ASIC即专用集成电路,指应特定用户要求和特定电子系统的需要而设计、制造的集成电路。ASIC的特点是面向特定用户的需求,ASIC在批量生产时与通用集成电路相比具有体积更小、功耗更低、可靠性提高、性能提高、保密性增强、成本降低等优点。

基于ASIC开发人工智能芯片更像是电路设计,需要反复优化,需要经历较长的流片周期,故开发周期较长。

量产后ASIC人工智能芯片成本及价格较低。虽然相较于FPGA,ASIC人工智能芯片需要经历较长的开发周期,并且需要价格昂贵的流片投入,但是这些前期开发投入在量产后会被摊薄,所以量产后,ASIC人工智能芯片的成本和价格会低于FPGA人工智能芯片。

受益于与众不同的架构,FPGA的可编程属性使其相比其他处理器,在算力、成本、功耗之间更能取得平衡。

综合应用及关系

MCU(Microcontroller Unit)、ARM、DSP(Digital Signal Processor)、FPGA(Field-Programmable Gate Array)在嵌入式系统中的使用取决于其特性和优势,以下是它们常见的应用场景:

1. MCU(Microcontroller Unit)

 场景:适用于控制导向的应用,其中需要执行简单的控制任务,例如传感器数据的采集、执行简单的逻辑控制等。

 例子:家用电器、嵌入式传感器、小型嵌入式系统。

1. ARM:

 场景:广泛应用于各种应用领域,从低功耗嵌入式系统到高性能服务器。

 ARM Cortex-M系列:用于低功耗、实时嵌入式系统,如物联网设备。

 ARM Cortex-A系列:用于高性能计算,例如移动设备、嵌入式计算平台、服务器。

2. DSP(Digital Signal Processor)

 场景:适用于需要高度并行和实时数字信号处理的应用,例如音频处理、图像处理、通信系统等。

 例子:音频处理器、通信设备、图像处理器、雷达系统。

3. FPGA(Field-Programmable Gate Array)

 场景:适用于需要灵活性、可编程性和高度并行性的应用,可以通过重新编程来实现不同的硬件功能。

 加速器:在需要高性能计算的应用中,例如科学计算、深度学习加速等。

 通信:用于协议处理、数据包过滤等网络设备。

 快速原型设计:用于快速验证和原型设计,加速产品开发。

 综合使用场景,有时这些技术也会在同一系统中协同工作,以充分利用各自的优势。例如,一个系统可能使用ARM作为主处理器,搭配MCU来执行实时控制任务,使用DSP来处理数字信号,而FPGA则用于加速特定的硬件任务或提供灵活性。选择合适的技术取决于系统的需求,包括性能、功耗、成本和灵活性等因素。

上一篇:人工智能应用领域

下一篇:嵌入式和单片机,是同一个东西吗?

戳我查看2020年嵌入式每月就业风云榜

点我了解华清远见高校学霸学习秘籍

猜你关心企业是如何评价华清学员的

干货分享
相关新闻
前台专线:010-82525158 企业培训洽谈专线:010-82525379 院校合作洽谈专线:010-82525379 Copyright © 2004-2024 北京华清远见科技发展有限公司 版权所有 ,京ICP备16055225号-5京公海网安备11010802025203号

回到顶部