Armv8 Armv9架构入门指南.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 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)

MAX知识点 + 关注
实名认证
文档贡献者

资料收集达人

版权声明书
用户编号:8053033065000020

1亿VIP精品文档

相关文档