我一直很难知道 ARM 是微处理器还是微控制器或其他东西?
ARM 是微处理器还是微控制器?
两者都不。
ARM 是一种 CPU 架构(更准确地说,是一系列相关的 CPU 架构)。如果您将那个 CPU(或任何其他)CPU 单独放在一个芯片上,那么您就有了一个微处理器(就像他们在古老的 Acorn 机器中所做的那样)。如果将它与 ROM(闪存)、RAM 和外围设备组合在一个芯片上,您就有了一个微控制器(例如:LPC2148)。
当你将 CPU 与 ROM 和 RAM 结合起来时,事情会变得有点混乱,但还要在引脚上提供数据、地址和控制线,因此可以添加外部存储器。这种芯片既可以在微控制器模式下使用,也可以在微处理器模式下使用。(例如:LPC2478)
如今,较小的系统(高达 0.5Mb 的闪存,几十个 10 KB 的 RAM)可用作微控制器。较大的系统(通常运行 Linux 或类似系统)通常由带有外部 RAM 的微处理器组成。(ROM也可以是外部的,或者片上的小型引导ROM + SD卡或类似的)。示例:树莓派等小型Linux板,ESP8266,或打开任何手机、机顶盒、调制解调器/路由器等。
有趣的提示:微控制器往往缺乏 RAM,因此从 Flash 运行,这通常会限制它们的速度。微处理器通常具有充足的 RAM,具有较慢的 Flash,代码和数据从 Flash 加载到 RAM 中以供执行。
如今(2015 年),ARM 一词越来越令人困惑,因为它可以指代制造 ARM 设计的公司,也可以指其中一种设计。(ARM 公司本身不生产芯片,它的设计授权给芯片制造商。)最近的 Cortex“家族”设计与旧的 ARM 设计有很大的不同,我不想称它为“ARM”。
从技术上讲,ARM是一种微处理器,或者更具体地说,是一种微处理器架构。不过要理解的是,它并不代表物理微处理器,而是允许构建微处理器的设计。
ARM Holdings是一家跨国半导体集团,不生产任何 CPU;相反,他们设计它们,然后在许可下出售架构。这些设计用于构建微处理器和微控制器,但 ARM 提供的只是核心。
说它是微控制器也是错误的,因为它是制造商采用 ARM 内核并围绕它构建所有外围设备。
两者都没有(和两者)
ARM 是一家授权 CPU 内核的公司。
许多公司可以并且正在使用 ARM 内核来制造微控制器和微处理器。
ARM 是微处理器和微控制器的核心。ARM 是基于 CPU 架构的,所以如果 ARM 与单个芯片上的存储器(RAM 和 ROM)相结合,我们通常称它为微处理器RAM和ROM外接速度会更快。