国际摄影网站,网络推广网站有哪些,传奇手游开服表网站,怎么做下载网站吗目录 1.ARMCore的时间线2.ARM术语小结2.1 A64和arrch642.2ARM架构现在的5个系列2.3 微架构2.4 PE2.5 Banked2.6 ARM文档术语2.7 IMPLEMENTATION DEFINFD 和 DEPRECATED2.8 EL1t和EL1h 3 ARMv7的软件架构4 安全状态切换模型4.1 Secure state和Non-secure state介绍 5 Interproce… 目录 1.ARMCore的时间线2.ARM术语小结2.1 A64和arrch642.2ARM架构现在的5个系列2.3 微架构2.4 PE2.5 Banked2.6 ARM文档术语2.7 IMPLEMENTATION DEFINFD 和 DEPRECATED2.8 EL1t和EL1h 3 ARMv7的软件架构4 安全状态切换模型4.1 Secure state和Non-secure state介绍 5 Interprocessing-执行状态切换模型5.1 执行状态切换的要求5.2、大系统软件中执行状态模型 6.特权模型/安全模型/异常模型小结 aarch64和aarch32对比总结 1.ARMCore的时间线 tips:加E后缀的是车规级别的芯片是给车辆使用的。
2.ARM术语小结
2.1 A64和arrch64
A64是指令集。arrch64是64位的架构。
2.2ARM架构现在的5个系列
1A系列应用于移动终端2R系列应用于高实时性要求3M系列应用于嵌入式4X系列超大核5N系列应用于服务器。 其中X和N系列都是A系列下的。
2.3 微架构
微架构微架构是在架构的基础上实现的具体IP产品比如ARM v8.0 架构的 A72ARM v9.0的A715都是微架构。
2.4 PE
PEProcessing Element ARM体系结构定义了抽象机器的行为称为处理元素缩写是PE不仅仅指的ARM Core 其他GPU,NPU的处理单元也可以这么叫。一般将arm核和PE画等号。但是多核比如A65里面一个核包含两个线程一个线程就是一个PE此时就不可以画等号了。
2.5 Banked
Banked一个地址多份拷贝,一个SOC有4个核 ldr x0,[x1] 这个x1寄存器哪个核去调用,这个x1就是这个核的x1寄存器。
2.6 ARM文档术语
1.TRMTechnical Reference ManualArm Cortex processor has a Technical Reference Manual,ARM 核的文档具体实现定义的比如查看某个寄存器的具体实现 2.Arm ARMs(ARM Architecture Reference Manual):架构类文档最常用 3.CIM(Configuration or Integragtion Manual)Arm Cortex processor also has a Configuration or Integragtion Manual一般给ASIC看的会有板卡飞线等信息。
2.7 IMPLEMENTATION DEFINFD 和 DEPRECATED
IMPLEMENTATION DEFINFD实现定义的有两个意思1ARM IP 产品是实现定义的比如架构文档中某寄存器是实现定义的这时候要具体查看它的Core文档2是有些实现定义的,ARM没有规定如何实现需要芯片厂商自己决定如何实现这个也叫实现定义的。DEPRECATED弃用的在架构更新的时候可能前面版本的某些实现被弃用了一般不需要详细研究。RES0/RERS1 Reservwd,should be Zero /Reserved ,should be one (后续继续补充)
2.8 EL1t和EL1h
EL1t和EL1h的后缀t和h分别表示什么1t 表示SP_EL0;h表示SP_ELn。
Exception Level(EL)Stack pointer(SP) options含义EL0SP_EL0tEL0下的 SP_EL0EL1SP_EL1t ,SP_EL1h在EL1中使用SP_EL0,SP_EL1EL2SP_EL2t ,SP_EL2h在EL2中使用SP_EL0,SP_EL2EL3SP_EL3t ,SP_EL3h在EL3中使用SP_EL0,SP_EL2
SP 栈指针一共有4个寄存器SP_EL0,SP_EL1,SP_EL2,SP_EL3。 在EL0只能使用SP_EL0寄存器在EL1不仅能能使用SP_EL1寄存器还能使用SP_EL0寄存器在 EL2不仅能能使用SP_EL2寄存器还能使用SP_EL0寄存器在EL3不仅能能使用SP_EL3寄存器还能使用SP_EL0寄存器 t就是SP_EL0 ;h就是SP_ELn
3 ARMv7的软件架构
1、ARM有多少中模式 7种8种9种都正确。在ARMv7中大部分都是9种模式部分核是8种模式不支持Hyp模式部分是7种不支持Hyp模式和Secure Monitor 模式
架构微架构UserPrivilegeSecure MonitorHypervisorARMv4ARM 7√√ARMv5ARM 7√√ARMv7Cortex-A8√√√ARMv7Cortex-A9√√√ARMv7Cortex-A5√√√ARMv7Cortex-A7√√√√ARMv7Cortex-A15√√√√ARMv8Cortex-A53√√√√ARMv8Cortex-A53√√√√ARMv8Cortex-A57√√√√ARMv8Cortex-A72√√√√ARMv8Cortex-A35√√√√ARMv8Cortex-A73√√√√ARMv8Cortex-A55√√√√ARMv8Cortex-A75√√√√ARMv8Cortex-A76√√√√
4 安全状态切换模型
4.1 Secure state和Non-secure state介绍
在不考虑RME扩展的前提下 1.ARM架构定义了两种安全状态 Secure state和Non-secure state; 2.ARM架构定义了两套物理地址空间:Secure和Non-secure; 3.如果PE是Non-secure state那么它只能访问非安全物理地址空间: 4.如果PE是Secure state那么它既能访问安全物理地址空间也能访问非安全物理地址空间; 5.EL3永远是Secure state; 6.EL2/EL1/ELO是安全状态还是非安全状态要根据SCREL3.NS比特: 7.SCR EL3.NS比特只能在EL3被修改 8.EL2是安全状态必须满足以下条件1FEAT SEL2 is implemented2The Effective value of SCR EL3.EEL2 is 0b13The Effective value of SCR EL3.NS is 0b0.
5 Interprocessing-执行状态切换模型
这个是由于v8中最初是32位架构后面推出64位架构V9第一款也是支持32和64但是后面出的就是全支持64位架构所以需要学习下这个执行状态切换但是在未来都会使用64位架构就不会存在这个问题了。
5.1 执行状态切换的要求
1.执行状态只能在异常从lower Exception level进入higher Exception level时或从higher Exception level异常返回到lower Exception level时发生修改 2.如果异常进入或异常返回没有发生Exception Level变化那么此时执行状态是不能被修改的 3.当产生一个异常从lower Exception level进入higher Exception level时此时执行状态可能不变或从aarch32变成arch64不能从aarch64变成aarch32 4、当一个异常返回从higher Exception level到lower Exception level时此时执行状态可能不变或从aarch64变成aarch32不能从aarch32变成aarch64 5.reset也能导致执行状态的变化
5.2、大系统软件中执行状态模型 在64位架构上可以运行64位或者32位但是在32位架构之上只能运行32位
6.特权模型/安全模型/异常模型
在 ARMv8 中执行发生在四个异常级别之一。在 AArch64 中异常级别决定了特权级别类似于ARMv7中定义的特权级别。异常级别决定特权级别因此在ELn执行对应于特权PLn。类似地具有比另一个更大的n值的异常级别处于更高的异常级别。一个数字比另一个小的异常级别被描述为处于较低的异常级别。 异常级别提供了适用于 ARMv8 架构的所有操作状态的软件执行权限的逻辑分离。它类似于并支持计算机科学中常见的分层保护域的概念。
ELO Normal user applications.EL1 Operating system kernel typically described as privilegedEL2 Hypervisor.EL3 Low-level frmware, including the Secure Monitor. 小结 aarch64和aarch32对比总结
AArch6464位执行状态 1.提供31个64位通用寄存器其中X30用作过程链接寄存器。 2.提供64位程序计数器(PC)、堆栈指针(SPs)和异常链接寄存器(ELRS)。 3.为SIMD向量和标量浮点支持提供32个128位寄存器。 4.提供单个指令集A64定义了ARMV8异常模型有四个异常级别EL0-EL3提供了一个执行特权层次结构 5.提供对64位虚拟寻址的支持 6.定义许多包含PE状态的进程状态(PSTATE)元素。A64指令集包括直接操作各种PSTATE元素的指令 7.使用表示可以访问寄存器的最低异常级别的后缀来命名每个系统寄存器。 AArch3232位执行状态: 1.提供13个32位通用寄存器以及一个32位PC、SP和link寄存器(LR)。LR同时用作ELR和过程链接寄存器。其中一些寄存器具有多个存储实例,用干不同的PE模式 2.为从Hyp模式返回的异常提供一个ELR。 3.为高级SIMD向量和标量浮点支持提供32个64位寄存器。 4.提供两个指今集A32和T32 5.支持基于PE模式的ARMv7-A异常模型并将其映射到基于异常级别的ARMV8异常模型。 6.提供对32位虚拟寻址的支持。 7,定义许多包含PE状态的进程状态PSTATE元素。A32和T32指令集包括直接操作各种PSTATE元素的指令以及使用应用程序APSR或当前程序状态寄存器CPSR访问PSTATE的指令