- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
Armv8/armv9
架构入门指南
cortex-A系列
目录
前言
推荐序作者
Release
ARMv8‐A架构和处理器
ARMv8-A
ARMv8‐A处理器属性
ARMv8处理器
ARMv8基础知识
执行状态
更改异常级别
改变执行状态
ARMv8寄存器
AArch64特殊寄存器
零寄存器
栈指针
程序计数器
异常链接寄存器(ELR)
程序状态保存寄存器(SPSR)
处理器状态
系统寄存器
系统控制寄存器
字节序
改变执行状态(再次)
AArch32下的寄存器
AArch32下的PSTATE
NEON和浮点寄存器
AArch64中浮点寄存器的组织
标量寄存器大小
向量寄存器大小
AArch32执行状态的NEON
ARMv8指令集简介
ARMv8指令集
区分32位和64位A64指令
地址
寄存器
C++内联汇编
在指令集之间切换
A64指令集
指令助记符
数据处理指令
算术和逻辑运算
乘以和除法指令
位移操作
Bitfield和字节操作指令
条件指令
内存访问指令
加载指令格式
存储指令格式
浮点和NEON标量加载和存储
指定加载或存储指令的地址偏移模式
索引模式
PC-relative模式(字面加载)
访问多个内存位置
无特权访问
预取内存
非时间性加载和存储对
内存访问原子性
内存屏障和栅栏说明
原始同步
流控
系统控制和其他指令
异常处理指令
系统寄存器访问
调试指令
提示指令
NEON指令
浮点指令
加密指令
AArch64浮点数和NEON
AArch64中NEON和浮点数的新功能
NEON和浮点架构
浮点
标量数据和NEON
浮点参数
AArch64NEON指令格式
NEON编程的选择
A64移植
字节对其
数据类型
汇编代码
移植32-bit代码到64-bit时遇到的问题
代码重写和再编译
ARMv8-A使用ARMCompiler6的一些选项
C代码的一些建议
显示和隐示转换
位操作
下标索引
ARM64位架构的ABI
AArch64内部寄存器在函数调用中的传递标准
通用目的寄存器作为参数
返回值的传递(Indirectresultlocation)
NEON和Floating-Point寄存器作为参数
AArch64异常处理
异常处理寄存器
同步和异步中断
同步中断
处理同步异常
系统响应
系统响应到EL2/EL3
未分配的指令
异常状态寄存器
异常导致的执行状态和异常级别的变化
AArch64异常向量表
中断处理
通用中断处理
配置
初始化
中断处理
缓存cache
缓存术语
设置关联缓存和方式
缓存标签和物理地址
Inclusive和exclusive的cache
缓存控制器
缓存策略
一致性和统一点
缓存维护
缓存发现
内存管理单元
转址旁路缓存(TLB)
内核和应用程序虚拟地址空间的分离
将虚拟地址转换为物理地址
安全和非安全地址
配置和启用MMU
停用内存管理单元时的操作
ARMv8-A中的转址表
AArch64描述符格式
颗粒尺寸对映射表的影响
缓存配置
缓存策略
转址表配置
虚拟地址标记
EL2和EL3的转址
访问权限
操作系统对映射表描述符的使用
安全和MMU
内容切换
用户权限的内核访问
内存排序
内存类型
普通内存
设备内存
内存屏障
单项内存屏障(One-waybarriers)
ISB详细介绍
C语言中的内存屏障使用
LDNP和STNP
内存属性
可缓存和可共享的内存属性
多核处理器
多处理器系统
代码在哪个内核上运行
对称多处理
定时器
同步
非对称多处理
异构多处理
独占监视器
缓存一致性
集群内的多核缓存一致性
探听控制单元(SnoopControlUnit)
加速器一致性端口(ACP:Acceleratorcoherencyport)
集群之间的缓存一致性
Domains
总线协议和缓存一致性互连
计算子系统和移动应用程序
电源管理
空闲管理
电源和时钟
待机
保留
掉电
休眠模式
热插拔
动态电压和频率调整
电源相关的汇编语言指令
电源状态协调接口
big.LITTLE技术
big.LITTLE的系统结构
big.LITTLE配置
big.LTTLE中的软件执行模型
集群迁移
CPU迁移
全局任务调度
big.LITTLE多核处理
分叉迁移
唤醒迁移
强制迁移
空闲拉取迁移
卸载迁移
安全
TrustZone硬件架构
通过中断切换安全世界
多核系统中的安全
普通世界与安全世界互动
安全调试
安全状态与非安全状态的切换
调试
ARM调试硬件
概述
停止或自托管调试
调试事件
调试事件
停止调试模式
自托管调试
调试Linux程序
调试Linux内核
调用栈
半主机调试
ARM跟踪硬件
CoreSig
原创力文档


文档评论(0)