1. 前言

ARMv8的架构继承以往ARMv7与之前处理器技术的基础;

除了支持现有的16/32bit的Thumb2指令外,也向前兼容现有的A32(ARM 32bit)指令集。

基于64bit的AArch64架构,除了新增A64(ARM 64bit)指令集外,也扩充了现有的A32(ARM 32bit)和T32(Thumb2 32bit)指令集,另外还新增加了CRYPTO(加密)模块支持。

2. 相关术语

Items

Notes

PE

Processing element,处理器单元可以理解成一个cpu core

Execution state

运行状态,包括AArch32和AArch64两种运行状态

AArch32

描述32bit Execution State,地址存在32bit寄存器;指令集使用32位寄存器;支持A32和T32指令集

AArch64

描述64bit Execution State,地址存在64bit寄存器;指令集使用64位寄存器;支持A64指令集

A32、T32

AArch32 ISA (Instruction Architecture)

A64

AArch64 ISA (Instruction Architecture)

Interprocessing

AArch32和AArch64两种执行状态之间的切换

SIMD

Single-Instruction, Multiple-Data (单指令多数据)

translation table walks

指页表的查找过程

Volatile

标有Volatile的字段编译器认为是多线程代码, 从而不会执行优化; 这保证内存中字段的值总是最新的。比如连续两次读一个变量,不加volatile则编译器会优化,只会读一次,加上volatile,则编译器不会优化,会读两次,对寄存器的访问一般会加此关键字

3. 主要内容

主要内容

说明

Execution state

包括AArch32与AArch64

Instruction sets

包括AArch32下A32和T32指令集  与  AArch64下的A64指令集

state

包括当前的Exception level和Secure state,这决定了PE的行为

异常模型

异常的类型、路由及处理

Interprocessing

AArch64与AArch32的切换规则

存储模型

描述内存访问的规则和内存管理

编程模型

通过访问系统寄存器来控制PE和存储系统的大部分特性,并提供状态信息

SIMD和浮点指令

提供了高性能

Security模型

提供了两种安全状态,支持安全特性的应用开发

虚拟化模型

支持non-security的虚拟化操作

Debug

提供了软件访问debug的一些特性

表 ARMV8描述的主要内容

4. 内容编排

章节

说明

A

简介和体系结构概述

B

C

D

AArch64应用级体系结构

A64指令集

AArch64系统级体系结构

E

F

G

AArch32应用级体系结构

AArch32指令集

AArch32系统级体系结构

H

外部debug

I

Armv8体系结构的内存映射组件

J

体系结构伪代码

表 本数据手册的内容编排

5. 参考文档

[1] ARMv8-A Architecture reference manual-DDI0487A_g_armv8_arm.pdf

ARMV8 datasheet学习笔记1:预备知识的更多相关文章

  1. ARMV8 datasheet学习笔记5:异常模型

    1.前言 2.异常类型描述 见 ARMV8 datasheet学习笔记4:AArch64系统级体系结构之编程模型(1)-EL/ET/ST 一文 3. 异常处理路由对比 AArch32.AArch64架 ...

  2. ARMV8 datasheet学习笔记3:AArch64应用级体系结构

    1.前言 本文主要从应用的角度介绍ARMV8的编程模型和存储模型 2. AArch64应用级编程模型 从应用的角度看到的ARM处理器元素: 可见的元素(寄存器/指令) 说明 可见的寄存器 R0-R30 ...

  3. ARMV8 datasheet学习笔记4:AArch64系统级体系结构之VMSA

    1. 前言 2. VMSA概述 2.1 ARMv8 VMSA naming VMSAv8 整个转换机中,地址转换有一个或两个stage VMSAv8-32 由运行AArch32的异常级别来管理 VMS ...

  4. ARMV8 datasheet学习笔记4:AArch64系统级体系结构之存储模型

    1.前言 关于存储系统体系架构,可以概述如下: 存储系统体系结构的形式 VMSA 存储属性   2. 存储系统体系结构 2.1.    地址空间 指令地址空间溢出 指令地址计算((address_of ...

  5. ARMV8 datasheet学习笔记4:AArch64系统级体系结构之编程模型(4)- 其它

    1. 前言 2.可配置的指令使能/禁用控制和trap控制 指令使能/禁用 当指令被禁用,则这条指令就会变成未定义 指令Trap控制 控制某条或某些指令在运行时进入陷阱,进入陷阱的指令会产生trap异常 ...

  6. ARMV8 datasheet学习笔记4:AArch64系统级体系结构之编程模型(3)- 异常

    1.前言 本文介绍异常相关内容,包括异常类型,异常进入,异常返回,异常层次结构,异常的路由等 2.  RESET ARMV8体系结构支持两种类型的RESET Cold reset:Reset PE所有 ...

  7. ARMV8 datasheet学习笔记4:AArch64系统级体系结构之编程模型(2)- 寄存器

    1. 前言 2. 指令运行与异常处理寄存器 ARM体系结构的寄存器分为两类: (1)系统控制和状态报告寄存器 (2)指令处理寄存器,如累加.异常处理 本部分将主要介绍如上第(2)部分的寄存器,分为AA ...

  8. ARMV8 datasheet学习笔记4:AArch64系统级体系结构之编程模型(1)-EL/ET/ST

    1.前言 ARMV8系统级编程模型主要包括异常级别.运行状态.安全状态.同步异常.异步异常.DEBUG 本文主要对系统级编程模型做一个概要介绍 2. 异常级别 2.1 Exception level概 ...

  9. ARMV8 datasheet学习笔记3:AArch64应用级体系结构之Synchronization and semapores

    1.前言 本文主要介绍原子变量的实现原理,对原子变量的修改有一套特殊的机制 2. Local monitor和Global monitor UP时执行Load EX和Store EX时仅需关注Loca ...

随机推荐

  1. 【BZOJ2000】[HNOI2000]取石头游戏(贪心,博弈论)

    [BZOJ2000][HNOI2000]取石头游戏(贪心,博弈论) 题面 BZOJ 洛谷 题解 这题好神仙啊,窝不会QaQ. 假装一下只有三个元素\(a_{i-1},a_i,a_{i+1}\),并且满 ...

  2. POJ 1958 Strange Towers of Hanoi 解题报告

    Strange Towers of Hanoi 大体意思是要求\(n\)盘4的的hanoi tower问题. 总所周知,\(n\)盘3塔有递推公式\(d[i]=dp[i-1]*2+1\) 令\(f[i ...

  3. OneProxy构建

    OneProxy的主要功能有:1. 垂直分库 2. 水平分表 3. Proxy集群 4. 读高可用 5. 读写分离(master不参与读) 6. 读写分离(master参与读) 7. 写高可用 8. ...

  4. luogu3810 陌上花开 (cdq分治)

    求三维偏序 设三维为a,b,c.先对a排序,这样i的偏序就只能<i. 然而排序的时候需要三个维度都判断一遍,最后还要去重,不然会出现实际应该记答案的数出现在它后面的情况. (排序用的函数里不要写 ...

  5. CF1114E Arithmetic Progression(交互题,二分,随机算法)

    既然是在CF上AC的第一道交互题,而且正是这场比赛让我升紫了,所以十分值得纪念. 题目链接:CF原网 题目大意:交互题. 有一个长度为 $n$ 的序列 $a$,保证它从小到大排序后是个等差数列.你不知 ...

  6. A1069. The Black Hole of Numbers

    For any 4-digit integer except the ones with all the digits being the same, if we sort the digits in ...

  7. layui 批量上传文件 + 后台 用servlet3.0接收【我】

    前台代码: [主要参照layui官方 文件上传示例 https://www.layui.com/demo/upload.html] <!DOCTYPE html> <html> ...

  8. ztree更换节点图标

    首先需要注意一点,如果有研究过树形菜单,就会发现实现删除和修改功能特别简单,但是增加却有一点复杂.造成这个现象是ztree树形菜单的历史遗留问题.大概是之前的版本没有增加这个功能,后来的版本加上了这个 ...

  9. gcc-linaro-arm-linux-gnueabihf交叉编译器配置

    系统Ubuntu14.04 版本:gcc 版本 4.7.3 20130328 (prerelease) (crosstool-NG linaro-1.13.1-4.7-2013.04-20130415 ...

  10. centos7 上配置Javaweb---MySQL的安装与配置、乱码解决

    上一篇谢了关于jdk和tomcat的安装.今天先更新一下有用的. 1. 不用关闭防火墙,把80端口添加进防火墙的开放端口. firewall-cmd --zone=public --add-port= ...