ARM架构概述
扫描二维码
随时随地手机看文章
理解ARM体系首先要明确三个概念:
Architecture-体系结构Processor-处理器,对应于通常所说的ARM核Device-设备,对应于具体的物理芯片
体系结构(Architecture):
为了给不同的处理器提供更通用的编程模型,定义了不同的Architecture,符合相同Architecture的处理器具有相同的编程模型,ARM已定义的Arhitecture有ARMv4、ARMv5、ARMv6M、ARMv7M、ARMv7AR、ARMv8等等。
ARM体系结构(Architecture)定义了ARM处理器的基本特征,包括以下内容:
the programmers model(编程模型)the instruction set(指令集)system configuration(系统配置)exception handling(中断处理)the memory model(存储模型)
不同版本的体系结构(Architecture)定义了不同的系统特性和系统行为,例如:
采用几级Cache,Cache的大小寄存器的功能定义提示指令(hint instructions)的功能
体系结构还定义一些扩展功能,例如:
浮点运算硬件支持SIMD支持
处理器(Processor)
处理器(或者称为ARM核)是体系结构的一种实现,同一个体系结构可以对应不同的处理器,ARM7TDMI和ARM920T都基于ARMv4T,但是他们又具有各自的不同特点。
Implementation
Architecture version
Architecture variant
ARM11™ MPCore™
ARMv6
ARMv6K, Improved multiprocessing support
ARM1156T2F-S™ ,
ARMv6
ARMv6T2 Thumb-2 technology
ARM1176JZF-S™
ARMv6
ARMv6Z, ARMv6K with Security Extensions
Cortex-A9
ARMv7-A
Cortex-R4
ARMv7-R
Cortex-M3
ARMv7-M
Table:Recent ARM processors and their architectures
设备(Device)
设备通常是包含了ARM核和一些附加设备的片上系统(SoC)。在设备实现上可以配置不同的外围附加设备,例如可以配置不同大小的Cache,以及是否包含硬件浮点运算功能,所以基于同一Processor的不同设备可以拥有不同Cache大小配置。
一个通用的片上系统(SoC)可以包含以下组件:
Level 2 Cache Controller (L2CC)Static Memory Controller (SMC)Dynamic Memory Controller (DMC)bus interconnectinterrupt controllertimerexternal bus interfaces
除了ARM核外,一个片上系统设备(SoC)上可以包含很多不同的功能模块,不同厂家可以采用ARM核设计自己的片上系统,以Samsung的S5PV310_UM为例,该芯片集成了Cotex-A9核,Cotex-A9核基于ARMv7-A体系结构。