ARM 处理器概述
简介
ARM(Advanced RISC Machines),既可以认为是一个公司的名字,也可以认为是对 ARM 内核微处理器的通称,还可以认为是一种技术的名字。
1991 年 ARM 公司成立于英国剑桥,主要出售芯片设计技术的授权。目前,采用 ARM 技术知识产权(IP)核的微处理器(即通常所说的 ARM 处理器),已遍及工业控制、消费类电子产品、通信系统、网络系统、无线系统等各类产品市场,基于 ARM 技术的微处理器应用约占据了 32 位 RISC 微处理器 75% 以上的市场份额,ARM 技术正在逐步渗入到日常生活的各个方面。
以性能由高到低的方式来看,ARM 处理器大体上可以排序为:Cortex-A57 处理器、Cortex-A53 处理器、Cortex-A15 处理器、Cortex-A12 处理器、Cortex-A9 处理器、Cortex-A8 处理器、Cortex-A7 处理器、Cortex-A5 处理器、ARM11 处理器、ARM9 处理器、ARM7 处理器内核。在每个系列中,存储器管理、Cache 和 TCM 处理器扩展也有多种变化。
特点
- 体积小、低功耗、低成本、高性能。
- 支持 Thumb(16 位) /ARM(32 位)双指令集,能很好地兼容 8/16 位器件。
- 大量使用寄存器,指令执行速度快。
- 大多数数据操作都在寄存器中完成。
- 寻址方式灵活简单,执行效率高。
- 指令长度固定。
工作模式
ARM 处理器共有 7 种工作模式,如下表所示。
工作模式 | 说明 |
---|---|
用户模式(User) | 用于执行正常程序 |
系统模式(System) | 运行具有特权的操作系统任务 |
一般中断模式(Irq) | 用于通常的中断处理 |
快速中断模式(Fiq) | 用于快速中断处理 |
管理模式(Supervisor) | 操作系统使用的保护模式 |
终止模式(Abort) | 当数据或指令预取终止时进入该模式 |
未定义模式(Undefined) | 未定义模式(Undefined)当未定义的指令执行时进入该模式 |
指令结构
ARM 微处理器在较新的体系结构中支持两种指令集:ARM 指令集和 Thumb 指令集,其中,ARM 指令长度是 32 位,并且执行周期大多为单周期,指令都是有条件执行的;Thumb 指令可以看作是 ARM 指令集压缩形式的子集,其具有 16 位的代码密度,但执行效率低于 ARM 指令,Thumb 指令具有以下特点:
- 指令执行条件经常不会使用。
- 源寄存器与目标寄存器经常是相同的。
- 使用的寄存器数量比较少。
- 常数的值比较小。
- 内核中的桶式移位器(Barrel Shifter)经常是不使用的。