ARM A和M系列处理器的区别?

电器工程 微控制器 手臂 皮质-m 皮质-a
2022-01-18 13:40:49

当我问这个问题时,我想在微控制器上,ARM 处理器的 A 和 M 系列有什么区别。Beagle Bone 等许多微控制器现在都有 A 类型的 Cortex?

2个回答

M 系列 ARM CPU 的指令集很小,通常没有浮点单元,没有内存管理,没有缓存。它们针对低成本而非高性能进行了优化。它们通常与 FLASH、RAM 和外围设备组合成一个微控制器芯片。它们主要用于控制硬件,并编程裸机(没有库)或与一些可以提供类似操作系统功能的库链接。ARM 喜欢将这些 CPU 视为 8 位和 16 位微控制器杀手。

A 系列 ARM CPU 具有更大的指令集(其中 M 指令集是一个小子集),并且它们通常(总是?)具有浮点单元、内存管理单元和缓存。它们针对高性能而非低成本进行了优化(但仍针对每单位功率的高性能进行了优化)。它们通常作为微处理器出售(通常与以太网、视频、mpeg 解码器等高端外围设备结合使用),旨在与片外 RAM 和闪存结合使用。他们经常运行一些操作系统,通常是 Linux,操作系统空间和应用程序空间之间是分开的。ARM 喜欢将这些 CPU 视为手机和平板电脑的选择(与 Intel CPU 竞争)。

非常简短的总结:M 代表(高端)微控制器,A 代表在电池供电的小工具上运行 Linux。

ARM 架构配置文件

ARM 体系结构配置文件是:

应用程序配置文件(Cortex-A)

应用程序配置文件实现了具有多种模式的传统 ARM 架构,并支持基于 MMU 的虚拟内存系统架构。这些配置文件支持 ARM 和 Thumb 指令集。

实时配置文件(Cortex-R)

实时配置文件实现了具有多种模式的传统 ARM 架构,并支持基于 MPU 的受保护内存系统架构。

微控制器配置文件(Cortex-M)

微控制器配置文件实现了为快速中断处理而设计的程序员模型,具有寄存器的硬件堆栈并支持用高级语言编写中断处理程序。该处理器专为集成到 FPGA 中而设计,非常适合在极低功耗应用中使用。

资源