![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
【armV8】
玛丽奥ZJY
这个作者很懒,什么都没留下…
展开
-
ARM架构入门
Arm架构构成了每个Arm处理器的基础。 ARM架构基于RISC(精简指令集计算机)原则,同时也包含:统一的寄存器文件加载/存储(load/store)结构,其中数据处理仅对寄存器内容进行操作,而不直接对存储器内容进行操作。 简单寻址模式,所有的加载/存储地址只能由寄存器内容和指令字段确定。基于增强的RISC 架构,使ARM处理器能够在高性能,小代码尺寸,低功耗和小硅片面积之间有着良好的平...转载 2019-07-19 10:41:43 · 1022 阅读 · 0 评论 -
一篇文章读懂Armv8 AArch64
Armv8是Armv7之后的一个重要架构更新。其中一个主要的变化是引入了64的架构,即AArch64。AArch64状态只有在Armv8架构中才有。而且在AArch64状态下执行的代码只能使用A64指令集。当然ARM为了维持整个生态参与者的利益,Armv8还是保持与现有32位体系结构兼容性的AArch32,即Armv8之前的Armv7配置文件定义的那套设计规范。AArch32今天不会进行具体介绍,...转载 2019-07-20 15:10:25 · 4722 阅读 · 0 评论 -
ARMv8-A系统安全之群集中的安全性
原文https://developer.arm.com/products/architecture/a-profile/docs/100935/latest/security-in-clusters转载:https://www.jianshu.com/p/e17d694910cd转载 2019-07-20 15:09:29 · 209 阅读 · 0 评论 -
ARMv8-A系统安全之在安全和普通世界之间切换
原文https://developer.arm.com/products/architecture/a-profile/docs/100935/latest/switching-betwen-the-normal-and-secure-worlds转载:https://www.jianshu.com/p/fcf47ffd5fae转载 2019-07-20 15:09:22 · 574 阅读 · 0 评论 -
ARMv8-A系统安全之普通世界和安全世界的交互
原文https://developer.arm.com/products/architecture/a-profile/docs/100935/latest/interaction-of-normal-and-secure-worlds转载:https://www.jianshu.com/p/a759b8abd720转载 2019-07-20 15:09:10 · 520 阅读 · 0 评论 -
ARMv8-A系统安全之TrustZone硬件架构
原文https://developer.arm.com/products/architecture/a-profile/docs/100935/latest/the-trustzone-hardware-architecture转载:https://www.jianshu.com/p/ea9c6a5935be转载 2019-07-20 15:08:59 · 620 阅读 · 0 评论 -
ARMv8-A系统安全性综述
原文https://developer.arm.com/products/architecture/a-profile/docs/100935/latest/security-in-armv8-a-systems转载:https://www.jianshu.com/p/dce511f31dab转载 2019-07-20 15:08:46 · 306 阅读 · 0 评论 -
ARMv8-A架构基础之ARMv8-A指令集
A64指令集与现有的A32指令集相似。 指令本身仍然是32位宽,并且具有相似的语法。指令集使用ARMv8-A体系结构中的通用命名约定,所以原始的32位指令集状态现在称作:A32当处于AArch32状态时,指令集在很大程度上与ARMv7-A兼容,虽然有些不同。 它还提供了一些新指令,这些指令和A64指令集中引入的一些特性相匹配。T32Thumb指令集首次在ARM7TDMI处理器中引入...转载 2019-07-19 12:40:13 · 3905 阅读 · 0 评论 -
ARMv8-A架构基础之A64指令
ARMv8-A架构中引入的最重要的变化之一是为AArch64增加了一个新的指令集。 该指令集包含许多与现有AArch32(ARMv7-A)32位指令集相同的功能。A64的加入提供了对64位宽整数寄存器和数据操作的访问,并能够使用64位指针指向内存。 新指令称为A64,并在AArch64执行状态下执行。 ARMv8-A还包含原始的ARM指令集(现在称为A32)和Thumb®(T32)指令集。...转载 2019-07-19 12:32:16 · 1659 阅读 · 0 评论 -
ARMv8-A架构基础之AArch32中的寄存器
与ARMv7-A兼容意味着,对于以AArch32执行状态运行的处理器,ARMv8-A架构的AArch32状态与ARMv7-A通用寄存器提供的视图之间必须存在某些对应关系。记住,在ARMv7-A体系结构中,有16个供软件使用的32位通用寄存器(R0-R15)。 其中15个(R0-R14)可用于通用数据存储。剩下的R15寄存器是程序计数器(PC),当硬件内核执行指令时,其值被改变。 软件还可以访问...转载 2019-07-19 12:19:38 · 1283 阅读 · 0 评论 -
ARMv8-A架构基础之更改执行状态(寄存器)
您只能通过更改异常级别来更改执行状态。 发生异常时可以将执行状态从AArch32更改为AArch64,并且从异常返回时可以将其从AArch64更改为AArch32。在进入异常级别时使用AArch64,在离开异常级别时使用AArch32:如果使用AArch32执行,对任何较低的异常级别能访问的寄存器的高32位的访问,其值是未知的。 在AArch32执行过程中不可访问的寄存器,保留他们在AArc...转载 2019-07-19 11:58:24 · 476 阅读 · 0 评论 -
ARMv8-A架构基础之系统控制寄存器
系统控制寄存器(SCTLR)用于控制标准内存和系统设备,并为在硬件内核中实现的功能提供状态信息。cpsr_bits.png并不是所有的位在EL1上都可用。 各个位代表以下内容:UCI 设置此项时,在AArch64的EL0中可以访问DC CVAU,DC CIVAC,DC CVAC和IC IVAU指令。 EE 异常字节序。 0小端 1大端。 EOE...转载 2019-07-19 11:26:22 · 793 阅读 · 0 评论 -
ARMv8-A架构基础之系统寄存器
在AArch64中,系统配置是通过使用MSR和MRS指令来控制的(通过MSR和MRS指令访问系统寄存器)。 这与ARMv7-A不同,在ARMv7-A中通常通过协处理器15(CP15)操作系统寄存器。寄存器的名称通常暗示着它能被访问的最低的异常级别。 例如:可以从EL1,EL2和EL3访问TTBR0_EL1。 可以从EL2和EL3访问TTBR0_EL2。具有后缀_ELn的寄存器在一些或所...转载 2019-07-19 11:16:13 · 2277 阅读 · 0 评论 -
ARMv8-A架构基础之保存的进程状态寄存器
当发生异常时,处理器状态将以类似于ARMv7-A中的CPSR的方式存储在相关的已保存程序状态寄存器(SPSR)中。 SPSR在发生异常之前保存PSTATE字段的值,并在执行异常返回时用于恢复PSTATE字段的值。下图显示了从AArch64中发生异常时的SPSR:exceptions_from_aarch32.png下图显示了从AArch32中发生异常时的SPSR:ex...转载 2019-07-19 10:59:53 · 337 阅读 · 0 评论 -
ARMv8-A架构基础之处理器状态
AArch64没有与ARMv7-A当前程序状态寄存器(CPSR)的直接等价物。在AArch64中,传统CPSR的组件作为可独立访问的字段提供。 这些统称为处理器状态(PSTATE)。 也有对PSTATE元素进行操作的指令。AArch64的处理器状态或PSTATE字段具有以下定义:名字 描述 N 负数条件标志。 Z 零状态标志。 C 进位条件标志。 V...转载 2019-07-19 10:53:57 · 1542 阅读 · 0 评论 -
ARM处理器的Programmers’ Model
ARM手册中都会有一些Programmers’ Model章节。那么什么是Programmers’ Model,Programmers’ Model是从编程者的角度来看,处理器提供了哪些可用的特性给编程人员。这里以ARM7TDMI-S 为基础来介绍一些基本的模型,对最新的内核也适用。想了解最新的可以参阅ARMv8-A的架构手册,里面可以看到有应用级和系统级的Programmers’ Model(分...转载 2019-07-20 15:10:19 · 634 阅读 · 0 评论