ARMv8简介
来源:互联网 发布:java程序员的简历 编辑:程序博客网 时间:2024/05/20 06:54
参考文献:
1. DDI0487A_a_armv8_arm.pdf
2. DDI0500C_cortex_a53_r0p2_trm.pdf
3. ARM_Trusted_Firmare_for_ARMv8-A.LCU13_.pdf
Armv8 Overview
ARMv7与Armv8的升级示意如下:
Aarch64指令集
Aarch64的32个通用寄存器引用和描述如下,
与Aarch32寄存器相比如下,
在ARM 32位系统中,函数参数用R0~R3表示arg0~arg3,超过4个传递参数的,压到栈里进行传递。 返回值用R0表示。
在AArch64中,函数参数用R0~R7表示arg0~arg7,超过8个传递参数的,压到栈里进行传递。 返回值用R0表示。在AArch64下,R可以是64bit也可以是32bit。
Exception Level
EL0用于运行User-Space,EL1用于运行Kernel,EL2用于运行Hypervisor,EL3用于Secure/Non-Secure的切换。
Memory Management
在AArch64上,TBBR0和TBBR1分别用于指定user和kernel的页表。最大支持48bit的虚拟地址映射,也就是最大支持256TB的内存管理。
ARMv8的MMU支持4KB和64KB两种page size。
● 4KB and 4 levels => 48-bit VA
● 64KB and 3 levels => 48-bit VA (top table partially populated)
● 4KB and 3 levels => 39-bit VA (currently used by AArch64 Linux)
● 64KB and 2 levels => 42-bit VA
Security
AArch64中的EL3类似于ARM32的MON模式,用于secure和non-secure的trust zone切换。Secure EL1可以运行在AArch64或者AArch32,后者可以作为兼容以前的ARM32的Trusted OS使用。
ARM Trusted Firmware
EL3级别安全管理firmware,可负责CPU上下电,大小核迁移等。
- ARMv8简介
- ARMv8-a架构简介
- ARMv8-a架构简介
- ARMv8-a架构简介
- ARM架构简介&ARMv8架构的未来
- armv8 摘要
- 关于ARMv8另外几个问题
- armv8 AArch64 debug notes
- ARMv8 中断机制
- armv8 ARM64 AARCH64
- ARMv8 TrustZone技术
- uboot下ARMV8 lowlevel_init
- uboot下ARMv8 lds
- ARMv8-AArch64简述
- ARMv8-异常处理
- ARMv8-中断处理接口
- ARMv8 TrustZone技术
- NDK 编译armv8
- pxe+kickstart实现无人值守安装系统
- 共享变量(Broadcast Variable和Accumulator)
- 检测手机多点触摸数
- codeforces 559B Equivalent Strings
- codevs 1246 丑数
- ARMv8简介
- [JZOJ5215]【HEOI、SXOI2017】组合数问题
- windows 概述
- UE4 UMG(unity的NGUI的关联理解)
- JS补充学习
- 合唱队
- POJ 3662 Telephone Lines(Dijkstra的邻接表存储)(可以作为模板题参考)
- c/c++中const的用法
- LeetCode 71. Simplify Path