ARMV8 datasheet学习笔记1:预备知识
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:预备知识的更多相关文章
- ARMV8 datasheet学习笔记5:异常模型
1.前言 2.异常类型描述 见 ARMV8 datasheet学习笔记4:AArch64系统级体系结构之编程模型(1)-EL/ET/ST 一文 3. 异常处理路由对比 AArch32.AArch64架 ...
- ARMV8 datasheet学习笔记3:AArch64应用级体系结构
1.前言 本文主要从应用的角度介绍ARMV8的编程模型和存储模型 2. AArch64应用级编程模型 从应用的角度看到的ARM处理器元素: 可见的元素(寄存器/指令) 说明 可见的寄存器 R0-R30 ...
- ARMV8 datasheet学习笔记4:AArch64系统级体系结构之VMSA
1. 前言 2. VMSA概述 2.1 ARMv8 VMSA naming VMSAv8 整个转换机中,地址转换有一个或两个stage VMSAv8-32 由运行AArch32的异常级别来管理 VMS ...
- ARMV8 datasheet学习笔记4:AArch64系统级体系结构之存储模型
1.前言 关于存储系统体系架构,可以概述如下: 存储系统体系结构的形式 VMSA 存储属性 2. 存储系统体系结构 2.1. 地址空间 指令地址空间溢出 指令地址计算((address_of ...
- ARMV8 datasheet学习笔记4:AArch64系统级体系结构之编程模型(4)- 其它
1. 前言 2.可配置的指令使能/禁用控制和trap控制 指令使能/禁用 当指令被禁用,则这条指令就会变成未定义 指令Trap控制 控制某条或某些指令在运行时进入陷阱,进入陷阱的指令会产生trap异常 ...
- ARMV8 datasheet学习笔记4:AArch64系统级体系结构之编程模型(3)- 异常
1.前言 本文介绍异常相关内容,包括异常类型,异常进入,异常返回,异常层次结构,异常的路由等 2. RESET ARMV8体系结构支持两种类型的RESET Cold reset:Reset PE所有 ...
- ARMV8 datasheet学习笔记4:AArch64系统级体系结构之编程模型(2)- 寄存器
1. 前言 2. 指令运行与异常处理寄存器 ARM体系结构的寄存器分为两类: (1)系统控制和状态报告寄存器 (2)指令处理寄存器,如累加.异常处理 本部分将主要介绍如上第(2)部分的寄存器,分为AA ...
- ARMV8 datasheet学习笔记4:AArch64系统级体系结构之编程模型(1)-EL/ET/ST
1.前言 ARMV8系统级编程模型主要包括异常级别.运行状态.安全状态.同步异常.异步异常.DEBUG 本文主要对系统级编程模型做一个概要介绍 2. 异常级别 2.1 Exception level概 ...
- ARMV8 datasheet学习笔记3:AArch64应用级体系结构之Synchronization and semapores
1.前言 本文主要介绍原子变量的实现原理,对原子变量的修改有一套特殊的机制 2. Local monitor和Global monitor UP时执行Load EX和Store EX时仅需关注Loca ...
随机推荐
- AGC 016 F - Games on DAG(状压dp)
题意 给你一个有 \(n\) 个点 \(m\) 条边 DAG 图,点的标号和拓扑序一致. 现在有两个人进行博弈,有两个棋子分别在 \(1, 2\) 号点上,需要不断移动到它指向的点上. 如果当前两个点 ...
- 移除SharePoint2013里的NoteBook笔记本链接
cls $featureID = (Get-SPFeature | ?{ ($_.DisplayName -eq "SiteNotebook") -and ( $_.Scope - ...
- Apache的ProxyPass简单使用
转: Apache的ProxyPass简单使用 置顶 2017年08月14日 18:54:33 师太,老衲把持不住了 阅读数:11164 http://mtnt2008.iteye.com/blo ...
- MyEclipse中引用的maven配置文件只访问私服的配置
MyEclipse中要用到集成的maven,公司内网有个私服,办公机不能上外网. 这时Eclipse中设置引用的外部Setting配置文件中只需如下配置即可: 1.配置本地主机的maven仓库路径 & ...
- js中this的总结
http://www.blogjava.net/baoyaer/articles/105864.html 在面向对象编程语言中,对于this关键字我们是非常熟悉的.比如C++.C#和Java等都提供了 ...
- hdu 1097 A hard puzzle 快速幂取模
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1097 分析:简单题,快速幂取模, 由于只要求输出最后一位,所以开始就可以直接mod10. /*A ha ...
- Shell脚本编写及常见面试题
注意事项 1)开头加解释器:#!/bin/bash 2)语法缩进,使用四个空格:多加注释说明. 3)命名建议规则:变量名大写.局部变量小写,函数名小写,名字体现出实际作用. 4)默认变量是全局的, ...
- OSPF基础介绍
OSPF基础介绍 一.RIP的缺陷 1.以跳数评估的路由并非最优路径 2.最大跳数16导致网络尺度小 3.收敛速度慢 4.更新发送全部路由表浪费网络资源 二.OSPF基本原理 1.什么是OSPF a& ...
- wkhtmltopdf 安装过程不包含php扩展部分
Qt Webkit HTML Converter Install wkhtmltopdf This page documents installation of wkhtmltopdf on Gent ...
- 函数和常用模块【day04】:函数式编程(六)
本节内容 1.概述 2.介绍 3.定义 一.概述 每当提到函数式编程,很多人都以为就是我们经常写的函数.其实不然. 函数:是定义一段代码的执行过程 函数式编程:输入是确定的,输出也是确定的 二.介绍 ...