ARM 公司简介
ARM(Advanced RISC Machine) 是英国 ARM 公司(原 Acorn RISC Machine) 开发的一种精简指令集(RISC) 处理器架构。ARM 处理器因其低功耗、高性能、广泛适用性,成为嵌入式系统、移动设备、服务器、AI 计算等领域的主流选择。
ARM 是一家英国公司,其商业模式独特,不直接生产芯片,而是专注于IP 核授权。 Chipless 生产模式:ARM 不生产芯片,也不直接设计完整芯片,而是设计高效的 CPU 内核,授权给半导体公司(如 Apple、Qualcomm、NVIDIA、Samsung)进行芯片制造。目前, ARM 生态系统广泛应用于智能手机、物联网、汽车电子、云计算等多个领域。
ARM 架构的主要特点
32 位 / 64 位 RISC 处理器
ARM 最初是 32 位 RISC 架构(ARMv7 及以下),支持 Thumb 指令集,代码密度高。
ARMv8 及以上支持 64 位架构,适用于高性能计算(如服务器、智能手机)。
低功耗,高性能
ARM 采用精简指令集(RISC),指令执行效率高,功耗低。
适用于电池供电设备(如智能手机、IoT 设备),同时也能用于高性能计算(如服务器)。
丰富的内核和扩展
ARM 提供多种 IP 内核(下面详细介绍ARM提供的Cortex系列),包括:
Cortex-A(高性能计算,如智能手机、平板)
Cortex-M(低功耗嵌入式,如 STM32、ESP32)
Cortex-R(实时计算,如汽车电子、工业控制)
支持各种体系扩展,如:
TrustZone(安全扩展,用于安全处理)
NEON SIMD(多媒体加速)
SVE(Scalable Vector Extension)(用于 HPC 和 AI 计算)
ARM 处理器的主要特点解析
🔹 1. 体积小、低功耗、低成本、高性能
✅ 体积小:ARM 处理器采用简化的指令集(RISC),芯片架构紧凑,占用硅片面积小。
✅ 低功耗:支持动态电源管理(DPM),适用于移动设备(手机、平板)、IoT 设备。
✅ 低成本:ARM 采用IP 授权模式,制造门槛低,适合大规模量产。
✅ 高性能:流水线(Pipeline)、多核设计、向量运算(SIMD) 提高计算能力。
例如:(Cortex-M系列)
🔹 2. 支持 Thumb(16 位)和 ARM(32 位)双指令集
ARM 指令集(32 位):指令功能强大,适用于高性能计算。
Thumb 指令集(16 位):代码密度更高,节省存储空间和功耗。
Thumb-2 指令集(16/32 位混合):兼顾高效能和低功耗(如 Cortex-M 系列 MCU)。
🔹 3. 大量使用寄存器,指令执行速度更快
寄存器架构:ARM 处理器一般有 16~32 个通用寄存器(R0~R15),减少访存次数,提高执行效率。
寄存器优先级高:大部分运算在寄存器中完成,避免大量内存读写,提高运行速度。
🔹 4. 大多数数据操作都在寄存器中完成
寄存器-寄存器运算:如 ADD R0, R1, R2(R0 = R1 + R2),比内存-内存计算更快。
避免冯·诺依曼瓶颈:减少对内存总线的依赖,提高指令执行效率。
🔹 5. 寻址方式灵活简单,执行效率高
ARM 支持多种寻址模式,如:
立即数寻址:MOV R0, #10(将 10 直接存入 R0)
寄存器寻址:LDR R1, [R2](从 R2 指向的地址加载数据到 R1)
基址+偏移寻址:LDR R1, [R2, #4](从 R2 + 4 处读取数据)
减少访存次数,提高执行效率,适用于嵌入式应用。
🔹 6. 指令长度固定
ARM 指令(32-bit 固定长度):执行速度快,适合流水线处理。
Thumb 指令(16-bit):代码密度更高,适用于存储受限的嵌入式系统。
Thumb-2(16/32-bit 混合):兼顾执行效率和存储优化。
🔹 7. 对操作系统的支持广泛
广泛支持 Linux、Android、RTOS 等操作系统,应用范围广泛。
ARM 支持多种 OS:
嵌入式 RTOS(实时操作系统):如 FreeRTOS、RT-Thread、μC/OS、Zephyr
移动设备(智能手机、平板):如 Android、iOS
服务器和云计算:如 ARM 版 Linux、Windows on ARM、鸿蒙 OS
广泛应用于消费电子、工业控制、汽车电子、物联网、AI 计算等领域。
ARM 处理器的发展演进
该图展示了 ARM 处理器的发展演进,从经典的 ARM7、ARM9、ARM11,到后来的Cortex 系列(A、R、M)。ARM 处理器性能与功能趋势,从左下角(ARM7、Cortex-M0)到右上角(Cortex-A15),表示性能和功能不断增强:嵌入式 Cortex-M 处理器(绿色区域),强调低功耗和实时性;实时处理 Cortex-R 处理器(黄色区域),强调高可靠性;应用处理 Cortex-A 处理器(橙色区域),强调高计算能力。Cortex-A 适用于智能手机、平板、服务器(如 Cortex-A15);Cortex-R 适用于实时计算、汽车电子(如 Cortex-R4);Cortex-M 适用于低功耗 MCU 和 IoT 设备(如 Cortex-M4),ARM 处理器的演进体现了从低功耗嵌入式到高性能计算的多样化发展方向。
ARM 处理器经过多代发展,从早期的 ARM7、ARM9,到 ARM11,再到现代的 Cortex 系列(Cortex-A、Cortex-R、Cortex-M),广泛应用于嵌入式、移动设备、服务器、汽车电子、IoT 等领域。
ARM 处理器的分类
ARM 公司在 ARM11 之后,采用 Cortex 命名,并将处理器分为三大类别:
- Cortex-A(Application,应用处理):高性能计算,适用于智能手机、平板、服务器
- Cortex-R(Real-time,实时处理):高可靠性、低延迟,适用于汽车电子、工业控制
- Cortex-M(Microcontroller,嵌入式微控制器):低功耗,适用于MCU、物联网(IoT)
ARM 处理器系列发展
🔹 经典 ARM 处理器(Classic ARM Processors)
ARM7、ARM9、ARM11(ARMv4T~ARMv6 时代)
主要用于早期的嵌入式设备、功能手机、低功耗计算
📌 1. ARM 处理器系列与架构版本
ARM 处理器根据 指令集架构(ISA) 的不同,分为多个版本,如 ARMv4T、ARMv5TE、ARMv6、ARMv7、ARMv8 等。
ARM 处理器系列 | 架构版本 | 代表型号 | 主要应用 |
---|---|---|---|
ARM7TDMI | ARMv4T | ARM720T, ARM740T |
早期 MCU、嵌入式系统 |
ARM9TDMI | ARMv4T | ARM920T, ARM922T, ARM940T |
低功耗嵌入式设备 |
ARM9E | ARMv5TE / v5TEJ | ARM946E-S, ARM966E-S, ARM926EJ-S |
工业控制、音频处理 |
ARM10E | ARMv5TE / v5TEJ | ARM1020E, ARM1022E, ARM1026EJ-S |
高性能嵌入式 |
ARM11 | ARMv6 | ARM1136J(F)-S, ARM1156T2(F)-S, ARM1176JZ(F)-S |
智能手机(如 iPhone 2G) |
Cortex-A | ARMv7-A / ARMv8-A | Cortex-A8, A9, A15, A53, A57, A72, A73 | 智能手机、平板、服务器 |
Cortex-R | ARMv7-R / ARMv8-R | Cortex-R4, R5, R7, R8 | 实时计算(汽车电子、工业控制) |
Cortex-M | ARMv7-M / v7ME / v8-M | Cortex-M0, M1, M3, M4, M7 | 低功耗 MCU(STM32、ESP32) |
📌 2. ARM 指令集架构(ISA)演进
ARM 处理器的架构版本(ISA)影响指令集、性能、功耗和功能。
架构版本 | 主要特性 | 典型处理器 |
---|---|---|
ARMv4T | Thumb (16-bit) 指令集 | ARM7TDMI, ARM9TDMI |
ARMv5TE | DSP 指令优化 | ARM9E, ARM10E |
ARMv6 | SIMD 加速,改进的 Thumb-2 | ARM11 |
ARMv7-A | Cortex-A,支持 NEON、TrustZone | Cortex-A8, A9, A15 |
ARMv7-R | Cortex-R,实时处理能力增强 | Cortex-R4, R5, R7 |
ARMv7-M | Cortex-M,低功耗嵌入式 | Cortex-M0, M3, M4, M7 |
ARMv8-A | 支持 64-bit 计算 | Cortex-A53, A57, A72 |
ARMv8-R | 64-bit 实时计算 | Cortex-R8 |
ARMv8-M | 64-bit MCU,TrustZone 支持 | Cortex-M23, M33 |
ARMv9 | SVE2 向量计算,安全增强 | Cortex-X1, X2, A710, A78 |
📌 3. 现代 ARM 处理器分类
🔹 Cortex 处理器(ARMv7 及以上架构)
Cortex-A(应用级处理器):A5、A7、A8、A9、A15
Cortex-R(实时处理器):R4
Cortex-M(嵌入式微控制器):M0、M1、M3、M4
ARM 处理器系列 | 主要用途 | 特点 | 典型应用 |
---|---|---|---|
Cortex-A | 高性能计算 | 支持多核、虚拟化、Linux/Android 支持 | 智能手机、平板、智能电视、服务器 |
Cortex-M | 低功耗嵌入式 | 低功耗、Thumb 指令集、实时性强 | STM32、ESP32、MCU、IoT 设备 |
Cortex-R | 实时处理 | 高可靠性、低延迟、ECC 内存支持 | 汽车电子、工业控制、硬盘控制器 |
🔹 Cortex-M 系列(低功耗 MCU)
ARM Cortex-M 系列是低功耗、高效能、易用的嵌入式微控制器(MCU),广泛用于物联网(IoT)、智能测量、汽车控制、工业自动化、消费电子、医疗设备等应用。
易于使用:支持 ARMv6-M / ARMv7-M / ARMv8-M 指令集(仅 Thumb / Thumb-2 指令),方便开发者移植代码。
低功耗设计(适用于电池供电设备): 适用于电池供电设备,实现超低功耗运行(如 Cortex-M0+)。
代码优化:采用 Thumb / Thumb-2 指令集,减少代码大小,提高执行效率。
高效能:集成 NVIC(嵌套向量中断控制器),支持实时响应。
高性价比:适用于低成本 MCU 设备,如 STM32、ESP32、NXP 处理器等;广泛用于嵌入式系统(STM32、ESP32、物联网)。
代表型号:
Cortex-M4(DSP 支持,STM32F4)
Cortex-M7(高性能 MCU,STM32H7)
典型应用
📌 微控制器(MCU)、物联网(IoT)、低功耗设备、工业控制
📌 例如:STM32F4(Cortex-M4)、ESP32(Cortex-M4)
Cortex-M 处理器的应用场景:
物联网(IoT)(传感器、无线模块、智能家居)
智能测量(智能电表、环境监测设备)
汽车电子(ECU、ADAS、车载传感器)
工业自动化(PLC、电机控制、机器人)
医疗设备(心率监测、血糖仪)
消费电子(智能手环、家电控制)
典型 Cortex-M 处理器
处理器型号 | 指令集架构 | 特点 | 主要应用 | FPU(浮点单元) | DSP 支持 | 应用场景 |
---|---|---|---|---|---|---|
Cortex-M0 | ARMv6-M | 超低功耗,入门级 MCU | 低功耗 IoT、传感器 | ❌ 无 | ❌ 无 | 低功耗 MCU(STM32F0) |
Cortex-M0+ | ARMv6-M | 比 M0 更低功耗 | 便携式设备、可穿戴设备 | ❌ 无 | ❌ 无 | 低功耗 MCU(STM32F0) |
Cortex-M3 | ARMv7-M | 更强的计算能力 | 工业控制、汽车电子 | ❌ 无 | ❌ 无 | 中等功耗 MCU(STM32F1) |
Cortex-M4 | ARMv7E-M | 支持 DSP 和 FPU | 语音处理、信号处理 | ✅ 单精度 FPU | ✅ DSP | 高性能嵌入式(STM32F4) |
Cortex-M7 | ARMv7E-M | 更高性能,双精度 FPU | 高端嵌入式计算 | ✅ 单/双精度 FPU | ✅ DSP | 高性能嵌入式(STM32H7) |
Cortex-M23 | ARMv8-M | 低功耗 + TrustZone 安全扩展 | 物联网安全设备 | ✅ 可选 FPU | ✅ DSP + 安全扩展 | 物联网(IoT) |
Cortex-M33 | ARMv8-M | 高性能 + TrustZone | 高安全性 IoT 设备 | ✅ 可选 FPU | ✅ DSP + 安全扩展 | 物联网(IoT) |
Cortex-M 处理器适用于低功耗、高性价比的 MCU 设备:
✅ Cortex-M0/M0+ 适用于超低功耗嵌入式应用。
✅ Cortex-M3/M4 适用于高效计算和信号处理。
✅ Cortex-M7 提供更高性能,适用于复杂任务。
🔹 Cortex-R 系列(实时计算)
ARM Cortex-R 系列是 实时处理器(Real-time Processors),专为高可靠性、高可用性、低延迟实时计算设计,广泛应用于汽车电子、工业控制、存储设备、医疗设备等领域。
- Cortex-R 处理器的核心特点
- 高性能:高时钟频率 + 高效流水线架构,支持 ARMv7-R / ARMv8-R 指令集,适用于需要快速数据处理的场景(如 5G 基站、SSD 控制器)。
- 实时性:硬实时计算能力,确保任务在严格的时间限制内完成(如汽车 ECU、航空电子),低延迟,适用于实时计算。
- 高安全性:支持 ECC(错误检测和校正)、锁步模式(Dual-Core Lockstep, DCLS),适用于安全关键型应用(如汽车 ASIL-D 标准)。
- 低功耗+高效性:兼顾 性能、功耗、芯片面积,适用于嵌入式系统中的高效计算。
- Cortex-R 处理器应用场景
- 汽车电子(ECU、ADAS、自适应巡航)
- 工业控制(机器人控制、PLC、自动化系统)
- 存储设备(SSD 控制器、HDD 控制器)
- 航空航天 & 医疗设备(飞行控制、心脏起搏器)
- 5G & 通信(基站、网络设备)
典型应用:
📌 汽车电子(ECU、ADAS)、工业自动化、医疗设备
📌 例如:Cortex-R5(汽车安全系统)、Cortex-R8(硬盘控制器)
典型 Cortex-R 的处理器
Cortex-R 处理器型号 | 指令集架构 | 双核锁步(安全性) | 特点 | 主要应用 |
---|---|---|---|---|
Cortex-R4 | ARMv7-R | ❌ 无 | 高实时性、低功耗 | 一般实时控制 汽车电子、工业控制 |
Cortex-R5 | ARMv7-R | ✅ 支持 | 支持 ECC,增强安全性 | 航空航天、医疗设备 |
Cortex-R7 | ARMv7-R | ✅ 支持 | 更高性能、双核支持 | SSD 控制器、5G 通信 |
Cortex-R8 | ARMv8-R | ✅ 支持 | 64 位计算,适用于高端实时应用 | 5G 基站、SSD、高可靠性计算 |
🔹 Cortex-A 系列(高性能应用)
ARM Cortex-A 系列是 ARM 处理器家族中的应用级处理器(Application Processors),主要用于 智能手机、平板、智能电视、服务器、AI 计算等高性能计算场景。
📌 ARM Cortex-A 处理器的发展排序
ARM Cortex-A 处理器的性能从 低到高 可大致排列如下:
- ARM7(早期经典处理器,低功耗嵌入式)
- ARM9(改进架构,提升性能)
- ARM11(ARMv6架构,首次支持 SIMD 多媒体加速)
- Cortex-A5(ARMv7-A,超低功耗,适用于入门级设备)
- Cortex-A7(ARMv7-A,功耗更低,性能优于 A5)
- Cortex-A8(ARMv7-A,单核高性能处理器)
- Cortex-A9(ARMv7-A,多核支持,提升多任务处理能力)
- Cortex-A15(ARMv7-A,高性能架构,适用于高端智能设备)
- Cortex-A53(ARMv8-A,支持 64 位计算,低功耗)
- Cortex-A57(ARMv8-A,64 位高性能计算)
📌 Cortex-A 处理器的架构兼容性
- Cortex-A15、Cortex-A9、Cortex-A8 处理器与 Cortex-A7、Cortex-A5 共享相同架构(ARMv7-A),因此它们具有完全的应用兼容性。
- 支持 ARM、Thumb 指令集,并引入Thumb-2 指令集,提高代码密度,同时保持高性能。
- Cortex-A53 和 Cortex-A57 采用 ARMv8-A 架构,支持 64 位计算,向后兼容 32 位 ARMv7-A 指令集。
📌 Cortex-A 处理器应用场景
处理器型号 | 架构 | 特点 | 主要应用 |
---|---|---|---|
Cortex-A5 | ARMv7-A | 超低功耗,入门级 | 低端智能设备、IoT |
Cortex-A7 | ARMv7-A | 低功耗,高效 | 低端智能手机、嵌入式 |
Cortex-A8 | ARMv7-A | 单核高性能 | 早期智能手机 |
Cortex-A9 | ARMv7-A | 多核支持,性能提升 | 中端智能手机、平板 |
Cortex-A15 | ARMv7-A | 高性能架构 | 高端智能手机、服务器 |
Cortex-A53 | ARMv8-A | 64 位,低功耗 | 低功耗移动设备 |
Cortex-A57 | ARMv8-A | 64 位,高性能 | 服务器、高端智能设备 |
Cortex-A7/A5 提供低功耗计算,Cortex-A9/A15 适用于高性能移动设备,Cortex-A53/A57 支持 64 位计算,适用于服务器和高端设备。ARM Cortex-A 系列总体是面向高性能计算的处理器,广泛用于智能手机、平板、服务器等设备。
ARM 处理器根据不同应用场景,主要分为Cortex-A、Cortex-M 和 Cortex-R 三大系列,每个系列适用于不同的计算需求,如高性能计算、嵌入式控制、实时处理等。
ARM Cortex-A / M / R 处理器对比
特性 | Cortex-A | Cortex-M | Cortex-R |
---|---|---|---|
应用领域 | 智能手机、平板、服务器 | MCU、嵌入式、IoT | 实时控制、汽车电子 |
指令集 | ARMv7-A / ARMv8-A | ARMv6-M / ARMv7-M / ARMv8-M | ARMv7-R / ARMv8-R |
指令模式 | ARM + Thumb | Thumb / Thumb-2 | ARM + Thumb |
操作系统 | Linux / Android / Windows | Bare-metal / RTOS | RTOS |
功耗 | 高 | 低 | 适中 |
多核支持 | ✅ 是 | ❌ 否 | ✅ 是 |
浮点运算(FPU) | ✅ 支持 | 部分支持 | ✅ 支持 |
DSP 指令 | 部分支持 | ✅ Cortex-M4 及以上支持 | ✅ 支持 |
实时性 | ❌ 不适合 | ✅ 适中 | ✅ 极强 |
应用示例 | Cortex-A76(智能手机) | Cortex-M4(STM32F4) | Cortex-R5(汽车电子) |
总之,不同系列的 ARM 处理器针对不同应用场景进行了优化,选择时需要考虑功耗、计算性能和实时性。
✅ Cortex-A:适用于高性能计算(智能手机、服务器)
✅ Cortex-M:适用于低功耗嵌入式系统(STM32、ESP32)
✅ Cortex-R:适用于高可靠性实时计算(汽车电子、工业控制)
以上。仅供学习与分享交流,请勿用于商业用途!转载需提前说明。
我是一个十分热爱技术的程序员,希望这篇文章能够对您有帮助,也希望认识更多热爱程序开发的小伙伴。
感谢!