ARM体系结构简介
Posted yanceylu
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ARM体系结构简介相关的知识,希望对你有一定的参考价值。
1. 体系结构
体系结构向软件开发人员提供了指令集和工作流程,也叫编程模型。体系结构是功能性的说明,是硬件与软件的桥梁,描述了软件依靠硬件能提供什么样的功能。体系结构包括几个部分。
指令集
- 每条指令的功能
- 指令在存储器中如何存放(指令的编码)
寄存器
- 寄存器数量
- 寄存器大小
- 寄存器功能
- 初始状态
异常模型
- 不同的特权级别
- 异常的类型
- 异常触发和返回发生了什么
存储模型
- 存储器如何按序访问
- Cache如何工作,软件什么时候需要进行维护
调试、跟踪和分析
- 断点如何设置和触发
- 跟踪工具捕获的信息和格式
2. ARM体系结构的发展
ARMv8-A是64位的体系结构,但是仍然支持32位,向后兼容(例如支持v7,v6,和v5)。
3. 微体系结构
体系结构是不描述处理器是如何构建和工作的。微体系结构描述了处理器的设计和构建。微体系结构包括几个部分。
- 流水线长度和布局
- Cache数量和大小
- 特殊指令的周期数
- 实现了哪些可选的特性
例如,Cortex-A53和Cortex-A72有相同的体系结构ARMv8-A,但是它们却有非常不同的微体系结构。软件运行在Cortex-A53和Cortex-A72上是无需修改的。
4. ARM当前体系结构的配置
ARM体系结构目前有三种配置。
- A-Profile (Application), 高性能,为复杂操作系统而设计,如Linux和Windows。
- R-Profile (Real-Time),面向有实时性需求的系统,常用于网络设备和嵌入式控制系统。
- M-profile (Microcontroller),低功耗,体积小,常用于嵌入式设备。
(ARM Cortex是ARM处理器IP的商标名。)
5. ARM其他组件
除了处理器外,ARM还有很多其他组件,一起组成现代SoC。下图是一个例子。
Generic Interrupt Controller
GIC是和ARMv7-A/R和ARMv8-A/R一起使用的标准的中断控制器。
System Memory Management Unit
SMMU/IOMMU向非处理器的master提供转换服务。
Generic Timer
Generic Timer向系统中所有处理器提供公共的参考系统计数。实际上就是计数器的功能,像操作系统中调度器的tick。Generic Timer是ARM体系结构的一部分,但是System Counter却是一个系统的组件。
Server Base System Architecture (SBSA)和Trusted Base System Architecture (TBSA)
向SoC开发人员提供系统设计的指导。
Advanced Microcontroller Bus Architecture (AMBA)
AMBA family总线协议控制ARM系统中的组件是怎样连接的,以及这些连接上的协议。
6. ARM的文档
我需要查阅哪些ARM的文档?以Cortex-A75为例,Cortex-A75实现了ARMv8.2-A,GICv4 CPU接口和AMBA总线接口。其相关文档如下。
参考
https://developer.arm.com/architectures/learn-the-architecture/introducing-the-arm-architecture
以上是关于ARM体系结构简介的主要内容,如果未能解决你的问题,请参考以下文章