ARM是微处理器还是微控制器?


18

我一直很难知道ARM是微处理器还是微控制器或其他产品?

Answers:


41

都不行

ARM是一种CPU体系结构(更准确地说,是一组相关的CPU体系结构)。如果将该CPU(或任何其他)CPU本身全部放在芯片上,则您将拥有一个微处理器(就像它们在古老的Acorn机器中一样)。如果将它与ROM(闪存),RAM和外围设备结合在一个芯片上,则您将拥有一个微控制器(例如:LPC2148)。

当将CPU与ROM和RAM结合使用时,事情可能会变得有些混乱,但是在引脚上也提供了数据,地址和控制线,因此可以添加外部存储器。这样的芯片可以以微控制器模式或以微处理器模式使用。(例如:LPC2478)

如今,较小的系统(高达0.5Mb的闪存,几个10的Kb RAM)可用作微控制器。较大的系统(通常运行Linux或类似系统)通常由带有外部RAM的微处理器组成。(ROM也可以是外部的,也可以是片上的小型Boot-ROM + SD卡或类似的东西)。示例:Raspberry Pi和其他小型Linux板,ESP8266,或打开任何手机,机顶盒,调制解调器/路由器等。

有趣的是:微控制器的RAM往往不足,因此闪存的运行常常会限制其速度。微处理器通常具有足够的RAM,但其Flash速度较慢,因此代码和数据会从其中加载到RAM中以供执行。

如今(2015年),ARM一词越来越令人困惑,因为它可以指代进行ARM设计的公司,也可以指代其中一种设计。(ARM公司本身不生产芯片,而是将其设计授权给芯片制造商。)最近的Cortex设计“家族”与旧的ARM设计有很大的不同,我不想将其称为“ ARM”。


我建议在微处理器和微控制器之间进行一个有用的划分,就是说后者具有足够的芯片空间,可以在没有任何附加的RAM或ROM的情况下至少在某种程度上有用。唯一模糊的情况是那些具有用于掩模ROM的空间的设备,但经常出售而其中没有任何有用的代码。如果将它们的使用行为与掩膜ROM已“编程”但在外部禁用的设备的行为本质上无法区分,我将这些设备视为微控制器。
supercat 2012年

@supercat:我的划分不是根据“如何使用”,而是根据“如何使用”(或者也许是“打算如何使用”)。根据您的意见,LPC2478将是一个微控制器,我认为它是混合的。
Wouter van Ooijen 2012年

凭借98K的板载RAM和512K的板载闪存,这听起来似乎可以在没有任何外部存储器的系统中非常有用。快速浏览一下数据表,我会认为这是“微控制器”阵营中的一员,我不会认为这是一个紧要关头。
supercat 2012年

我知道你不知道,但是我知道。该芯片通常用于(或曾经)用于运行Linux,因此,我认为尽管可以肯定地将其用作微控制器,但它并不是(仅)微控制器。
Wouter van Ooijen 2012年

也许全都是名字?微控制器是带有CPU的芯片,尽管它仍然能够处理数据,但该CPU主要设计用于控制其他组件/芯片。微处理器是具有主要设计和用于处理数据的CPU的芯片,尽管它显然也必须控制其他组件(例如外部RAM)。
2015年

13

从技术上讲,ARM是微处理器,或更具体地说,是微处理器体系结构。但是,要理解的是它并不代表物理微处理器,而是可以构建一个微处理器的设计。

ARM Holdings是一家跨国半导体集团,不生产任何CPU。相反,他们设计它们,然后根据许可出售该体系结构。这些设计用于构建微处理器和微控制器,但ARM提供的只是核心。

说它是一个微控制器也是错误的,因为它是制造商采用ARM内核并围绕它构建所有外围设备的。


9

两者都没有

ARM是一家授权CPU内核的公司。

许多公司都可以使用ARM内核来制造微控制器和微处理器。


1

ARM是微处理器和微控制器的核心。ARM基于CPU架构,因此如果将ARM与单个芯片上的内存(RAM和ROM)结合在一起,我们通常称其为放置在芯片上的具有微处理器,我们可以称其为具有有限存储器的微控制器,但是当进入微处理器时外部连接RAM和ROM的速度会更多。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.