MPU与MCU.

定义是模糊的,但辩论继续下去。

人气

在微处理器和微控制器是不同的设备上,有一段时间。从来没有一个问题,你正在处理哪一个。但内存架构的变化在现代设备中浑过了区别。

有许多方式微处理器微控制器可能有区别。但是,对于如何发生这种情况,没有普遍的协议,而一些人 - 虽然绝对不是全部 - 得出的结论是,任何区别甚至都不重要。

“近年来,MCU与MPU之间的差异已经变得如此模糊,”嵌入式软件技术专家,在Menemens Business的Mentor嵌入式软件技术专家说。“最初,一个芯片上的MCU集成CPU,内存和外设。如今,虽然这仍然是这种情况,但是附加额外的外部内存是非常常见的,因为MCU足够强大以支持更复杂的应用程序。“

两个市场的故事
在计算芯片瞄准两个非常不同的市场时,有一段时间。在更明显的前线上,设备在主流计算中针对,其中性能是主要考虑因素。这些单片机称为“微处理器”供电的个人计算机和更大的系统。

今天我们在笔记本电脑,桌面和所有类型的服务器中看到它们。什么是关键是它们是通用发动机的事实,旨在运行任何未知先验的程序。主存储器是DRAM,非易失性存储是硬盘驱动器(或SSD)。

在不太明显的一面是嵌入式计算的世界。这里需要具有专用目的的适度计算能力。预期的程序可能会在固件中实现,以便在运输之前验证整个系统和所有系统。内存要求更有限,并且SRAM和用于代码存储的非易失性存储器可以集成到与CPU相同的芯片上。批判性地,实时响应通常很重要。

该市场也倾向于在具有非常特定的I / O需求的环境中使用。有些人可能是驾驶电机。其他人可能是处理声音或阅读传感器。将专用的外围接口硬件集成到与CPU和内存相同的芯片上相同的是有用的。这导致各种具有不同特性的芯片。但总体而言,与SRAM,非易失性存储器和专业外围设备集成的CPU被称为“微控制器”。

微处理器已飙升至64位怪物,而仍有大量的8位微控制器。但在中间,一些变化发生在不太清楚的区别。

虽然不是唯一的确定因素,但闪存的集成是微控制器的重要特征。但闪存尚未在最先进的微控制器节点上提供,这么多设备销售为微控制器使用外部闪存而不是嵌入式闪存。他们也可以使用外部DRAM。

事实上,一个叫做“影子”的进程从外部闪存中获取代码并将其复制到DRAM中,然后从DRAM中执行代码。为了提高性能,可能会包括缓存。这使得CPU/内存子系统与微处理器几乎没有区别。那么现在它是微处理器了吗?是否不再存在有意义的差异?


图1:顶部是微处理器系统的典型简化图像。DRAM和硬盘驱动器位于芯片外部。底部显示左侧的较旧的微控制器,右侧的较新的微控制器,不再与微处理器如此不同。资料来源:布林师/半导体工程beplay体育下载链接

可能的差异化可能包括以下内容:

  • CPU能力:如果CPU有一个复杂的管道,具有推测执行和其他超卡功能,可以将其限定为微处理器。然而,究竟在发生过渡的位置,没有明确定义。
  • 更多的位:8位设备更有可能被视为微控制器,而64位设备很可能是微处理器。但是,第二个微处理器再次是4位,所以这更像是历史的问题而不是定义特征。
  • 操作系统:可以根据机器可以运行的操作系统类型分类。如果它运行Linux,那么您可能会称之为微处理器。如果它仅运行较小的实时操作系统甚至裸机,那么您可以称之为微控制器。这为可能运行Linux的设备留下了很多中间地面。
  • 时间要求:微控制器通常是不排他的,但用于需要硬或软实时响应的应用程序。微处理器通常不能用于此目的。
  • 多夜:多核处理器将被视为微处理器,特别是如果核心相同并对称管理。但专用设备可能具有多个处理器,一些处理器专用于像数字信号处理等特定任务。他们可能会被视为微控制器,但是他们吗?此外,设备不必多核是微处理器,因此这真的不是一个好的决定者。
  • 目的:您可以说通用设备是微处理器,而单个用途设备是微控制器。但这实际上是关于如何使用设备的。您可以使用任何一种方式。如果知道它是如何使用的,你会在没有知道它是如何使用的情况下调用那个设备?
  • 外围设备:这将专门的外围设备留下了可能的差异化因素。这可能是真实的微处理器不会有那些外围电路,这主要是因为它们用于通用使用而不是与特定应用联系。所以你可以说,如果它有这样的外围设备,它是一个微控制器。但反向不是真的:缺乏外围设备并不意味着它是微处理器。

每个明显的特征都失败了或者是最不令人满意的。那么留下我们的地方?我们问了一些人的意见,无论如何都没有达成共识。这是他们的一些想法。

Marc Greenberg,产品营销集团总监,IP集团在Cadence:“我不知道是否有一些”官方“工程定义微控制器和微处理器之间的差异。快速搜索似乎揭示了模具上NVM的存在使其成为MCU,但是各种微处理器上有位的NVM。和微处理器也可能在同一个模具上有MCU,所以那是什么?最小的缓存减少的处理器可能仍可能有一些寄存器和SRAM。是在RTL中编码的序列仪真的是与从ROM执行的通用处理器的任何不同吗?因此,微控制器和微处理器之间的区别是稍微任意的,这意味着它可以是您想要的任何东西。当我想到微处理器时,我想到了控制通用机器(如台式机,服务器,平板电脑等)和微控制器的更大处理器,作为嵌入式设备的核心,这些设备是无头或更小的特定目的UI。“

格兰特·马丁,Cadence的杰出工程师:来自维基百科,每一个都有一行字。微控制器是在单个金属-氧化物-半导体集成电路芯片上的小型计算机。微处理器是一种计算机处理器,它将一个中央处理单元的功能整合到一个MOSFET结构的单个(或多个)集成电路(IC)上。这两种方法都很没用,但要把它们区别开来就显得太武断了。如果你深入研究一下,一个微处理器具有CPU的功能,所以它是“计算机处理器”,而微控制器是一个更完整的“计算机”,所以这意味着微控制器包括微处理器,这与常规相反。但是拥有多个处理器“核心”的16路服务器处理器还算是微处理器吗?一个多路异构SoC,例如,一个手机——可能包括多个应用程序处理核心,多个dsp用于音频、视频、图像处理,一个或两个GPU用于在屏幕上渲染图像,以及一个神经网络处理单元,只是为了好玩——一个“微控制器”?在我看来,游戏行业是时候停止使用这些过时的术语了,取而代之的是使用更精确的术语,尽管这些术语更长,更具有描述性(我称之为‘无聊的精确’)。”

Mentor,Menemens Business的高级产品经理Jeff Hancock:“从系统软件的角度来看,预计微控制器将适用于直接解释和控制硬件传感器和执行器的应用程序。这种访问通常涉及一致且可靠的指令定时,这与通用微处理器的需求有所不足。通用微处理器旨在优化吞吐量,而微控制器通常会优化延迟。因此,如果您想要大型数据库,微处理器可能是合适的。如果您想要精细电机控制,则为您提供微控制器。外部存储器和缓存肯定会扰乱微控制器的确定性,但这是一种很长的路,从声明它等同于微处理器。特别地,外部存储器的存在不需要MCU中的所有处理单元专门使用外部存储器,甚至根本。可以使用孤立的子系统构建系统,该子系统允许关键工作负载与使用更大的外部存储器和高速缓存的关键应用级系统继续并行。“

导师的墙壁“从软件工程师的角度来看,这是一个有趣的挑战。在非连续地址上可能有两个存储区域。板载内存很小,但更快,所以最好留给那些从最佳速度中获益的代码,比如实时操作系统。这有两个含义:开发工具必须足够灵活,以便将代码正确地映射到内存上,RTOS必须足够小(通常是非常可扩展的),以适应片上内存。”

Tortuga Logic的高级硬件安全工程师尼科尔蕨类植物:“微控制器在历史上一直与嵌入式系统联系在一起,在嵌入式系统中,低成本和低功耗的要求比性能更重要。但随着移动计算和物联网边缘计算的出现,许多嵌入式系统现在需要复杂的处理。这导致了MCU产品看起来更像mpu,具有外部内存和缓存选项,提供更高的性能和可配置性,但面向嵌入式空间销售。对于这些情况,术语MPU和MCU之间的区别可能只取决于CPU正在集成到的系统的传承。”

托马斯·塞尔加尔(Thomas Ensergueix)在ARM的低功耗IOT业务高级总监:“近年来,微控制器和微处理器之间的线条模糊了。MCU和MPU之间的一个关键差异是软件和开发。MPU将支持Linux和相关软件堆栈等丰富的杂散,而MCU传统上将专注于裸机和retose。它由软件开发人员决定在做出哪个硬件平台,MCU或MPU工作之前,决定哪些软件环境和生态系统最适合其应用程序。随着现代MCU过渡到32位,我们也看到了陡峭的性能增加,这有助于关闭MCU和MPU之间的差距。例如,许多基于ARM Cortex-M7的MCU提供超过100个Dhrystone MIPS,或者在线中超过2,000点。其中许多设备也具有非常大的内置存储器,或者提供快速接口以连接外部存储器。这确保了MCU的性能和内存不再是MCU的瓶颈,并将它们更靠近低端MPU。

结论
所以最终,如果我们钉在一起的区别,这真的很重要吗?可能不会。应用程序具有要求,并且是确定使用哪些设备的要求 - 无论我们称之为什么如何。

有关的
MCU困境
微控制器供应商正在破坏多年限制它们的框中。新内存类型和RISC-V会启用下一轮的更改吗?
与记忆越来越复杂
压力是建设,改变与内存相关的编程范例,但到目前为止经济理由已经回归进展。
MCU知beplaysports官网识中心
MPU知beplaysports官网识中心



1评论

Michel Gillet. 说:

对我来说,区别很简单明了:MCU没有MMU,所以没有虚拟内存寻址;一个MPU确实有一个MMU,因此虚拟内存寻址。

发表评论


(注意:此名称将被公开显示)