学习网址链接:
Armv8/Armv9结构入门指南
-
前言
简介
推荐序
说明
作者
Release -
ARMv8‑A 架构和处理器
2.1 ARMv8-A
2.2 ARMv8‑A 处理器属性 -
ARMv8 基础知识
3.1 执行状态
3.2 更改异常级别
3.3 改变执行状态 -
ARMv8 寄存器
4.1 AArch64 特殊寄存器
4.2 处理器状态
4.3 系统寄存器
4.4 字节序
4.5 改变执行状态(再次)
4.6 NEON和浮点寄存器 -
ARMv8 指令集简介
5.1 ARMv8指令集
5.2 C++ 内联汇编
5.3 在指令集之间切换 -
A64指令集
6.1 指令助记符
6.2 数据处理指令
6.3 内存访问指令
6.4 流控
6.5 系统控制和其他指令 -
AArch64浮点数和NEON
7.1 AArch64中NEON和浮点数的新功能
7.2 NEON和浮点架构
7.3 AArch64 NEON指令格式
7.4 NEON编程的选择 -
移植到 A64
8.1 字节对其
8.2 数据类型
8.3 移植32-bit代码到64-bit时遇到的问题
8.4 C 代码的一些建议 -
ARM 64 位架构的 ABI
9.1 AArch64 内部寄存器在函数调用中的传递标准 -
AArch64异常处理
10.1 异常处理寄存器
10.2 同步和异步中断
10.3 异常导致的执行状态和异常级别的变化
10.4 AArch64 异常向量表
10.5 中断处理
10.6 通用中断处理 -
缓存cache
11.1 缓存术语
11.1.2 缓存标签和物理地址
11.2 缓存控制器
11.3 缓存策略
11.4 一致性和统一点
11.5 缓存维护
11.6 缓存发现 -
内存管理单元
12.1 转址旁路缓存(TLB)
12.2 内核和应用程序虚拟地址空间的分离
12.3 将虚拟地址转换为物理地址
12.4 ARMv8-A中的转址表
12.5 转址表配置
12.6 EL2和EL3的转址
12.7 访问权限
12.8 操作系统对映射表描述符的使用
12.9 安全和MMU
12.10 内容切换
12.11 用户权限的内核访问 -
内存排序
13.1 内存类型
13.1.2 设备内存
13.2 内存屏障
13.3 内存属性 -
多核处理器
14.1 多处理器系统
14.2 缓存一致性
14.3 集群内的多核缓存一致性
14.4 总线协议和缓存一致性互连 -
电源管理
15.1 空闲管理
15.2 动态电压和频率调整
15.3 电源相关的汇编语言指令
15.4 电源状态协调接口 -
big.LITTLE 技术
16.1 big.LITTLE的系统结构
16.2 big.LTTLE中的软件执行模型
16.3 big.LITTLE多核处理 -
安全
17.1 TrustZone硬件架构
17.2 通过中断切换安全世界
17.3 多核系统中的安全
17.4 安全状态与非安全状态的切换 -
调试
18.1 ARM 调试硬件
18.2 ARM 跟踪硬件
18.3 DS‑5 调试和跟踪 -
ARMv8模型
19.1 ARM 快速模型
19.2 ARMv8-A 基础平台
19.3 基础平台 FVP
说明
这是一篇由网友一起翻译的文档。原文是DEN0024A_v8_architecture_PG_1.0.pdf。仅供大家学习使用,请勿传播,请勿用于商业用途。我们也不承担法律责任。
作者
参与翻译工作的作者(排名不分先后):
baron,lhs,Qmiller,小青kelly,牛小白,MinHui,墨菲の沐夏,小林子,Mr Dai