1.概念:
ARM处理器是英国Acorn有限公司设计的低功耗成本的第一款RISC微处理器。全称为Advanced RISC Machine。ARM处理器本身是32位设计,但也配备16位指令集,一般来讲比等价32位代码节省达35%,却能保留32位系统的所有优势
2.架构和内核的关系:
直接上图
ARM架构 | ARM内核 | 备注 |
ARMv1 | ARM1 | 只有26位的寻址空间,没有用于商业产品 |
ARMv2 | ARM2、ARM3 | 包含了对32位乘法指令和协处理器指令的支持 |
ARMv3 | ARM6、ARM7 | 它作为IP核、独立的处理器、具有片上高速缓存、MMU和写缓冲的集成CPU。 |
ARMv4 | StrongARM、ARM7TDMI、ARM9TDMI | V4不再强制要求与26位地址空间兼容,而且还明确了哪些指令会引起未定义指令异常 |
ARMv5 | ARM7EJ、ARM9E、ARM10E、XScale | 增加了一些新的指令 |
ARMv6 | ARM11、ARM Cortex-M | 在降低耗电量地同时,还强化了图形处理性能。通过追加有效进行多媒体处理的SIMD |
ARMv7 | ARM Cortex-A、ARM Cortex-M、ARM Cortex-R | |
ARMv8 | Cortex-A50 |
备注:
目前常见的指令集的说明:ARMv7之前均为32位总线位宽,从ARMv8开始扩展为64位总线位宽(数据总线、地址总线、控制总线位宽均为64位,一般寻址空间不会用满)。
3.内核产品的应用
2、Cortex-R系列:R-Profile,即"Real-Time"-Profile,侧重于实时系统的场合。
3、Cortex-A系列:A-Profile,即“Application”-Profile,侧重于应用功能的场合。
1、Cortex-M系列:M-Profile,即"Microntroller"- Profile,侧重微控制器单片机方面的场合。
-
ARM7:ARMv4架构
-
ARM9:ARMv5架构
-
ARM11:ARMv6架构
-
ARM-Cortex 系列:ARMv7架构。
-
ARM7没有MMU(内存管理单元),只能叫做MCU(微控制器),不能运行诸如Linux、WinCE等这些现代的多用户多进程操作系统,因为运行这些系统需要MMU,才能给每个用户进程分配进程自己独立的地址空间。ucOS、ucLinux这些精简实时的RTOS不需要MMU,当然可以在ARM7上运行。
ARM9、ARM11,是嵌入式CPU(处理器),带有MMU,可以运行诸如Linux等多用户多进程的操作系统,应用场合也不同于ARM7。
到了ARMv7架构的时候开始以Cortex来命名,并分成Cortex-A、Cortex-R、Cortex-M三个系列。三大系列分工明确:
-
“A”系列面向尖端的基于虚拟内存的操作系统和用户应用;
-
“R”系列针对实时系统;
-
“M”系列对微控制器。简单的说Cortex-A系列是用于移动领域的CPU,Cortex-R和Cortex-M系列是用于实时控制领域的MCU。