您的位置:首页 > 房产 > 建筑 > 在线设计图片网站总结_广州网站制作设计公司_网上商城网站开发_百度热搜seo

在线设计图片网站总结_广州网站制作设计公司_网上商城网站开发_百度热搜seo

2025/1/7 11:49:35 来源:https://blog.csdn.net/2301_76355687/article/details/144937124  浏览:    关键词:在线设计图片网站总结_广州网站制作设计公司_网上商城网站开发_百度热搜seo
在线设计图片网站总结_广州网站制作设计公司_网上商城网站开发_百度热搜seo

1.MAIR 的全称是 Memory Attribute Indirection Register。它是ARM架构中的一种寄存器,用于定义内存的属性,并提供一种间接访问内存属性的机制。MAIR寄存器包含多个字段,这些字段指示不同类型内存的属性,例如是否可以缓存、是否为设备内存等。这些寄存器在不同的异常级别(EL1、EL2、EL3)中具有不同的用途(见Armv8-A手册P3335)。

2.VMID和ASID是在虚拟化环境中用于区分不同虚拟机和进程的标识符。VMID标识每个虚拟机,确保它们的地址翻译可以同时存在于TLB中,而ASID用于区分同一虚拟机内的不同进程,提高上下文切换效率。在ARM架构中,VMID存储在VTTBR_EL2寄存器,而ASID通常存储在TTBR寄存器。两者结合使用,允许多个虚拟机和进程共享硬件资源,同时保持它们地址空间的隔离。

3.VTTBR_EL2的全称是Virtualization Translation Table Base Register。是一个64位的寄存器,用于在ARMv8-A架构中处理虚拟化。它保存了用于EL1&0翻译机制第一阶段查找的转换表的基础地址,以及其他信息(如虚拟机ID,VMID,用于选择转换表)。

4.HCR_EL2(Hypervisor Configuration Register for Exception Level 2)是ARM架构中用于控制虚拟化配置的寄存器。它提供了多种控制位,用于定义各种操作是否应该被捕获(trap)到EL2。例如:

  • 第0位是VM,表示虚拟化支持。当EL2在当前安全状态下启用时,为el1和el0转换机制启用阶段2地址转换;
  • 第6/7/8位分别是VI/VF/VSE,置1分别表示生成vIRQ/vFIQ/vSerror中断,相当于中断控制器向 vCPU 发出中断信号;
  • 第13位是TWI,用于控制当执行在EL2以下异常级别时,WFI(Wait For Interrupt)指令的行为,设置为0时,在EL0或EL1执行WFI指令不会被捕获到EL2,即WFI指令可以正常执行,使处理器等待中断。设置为1时,任何在EL0或EL1执行的WFI指令尝试都会被捕获到EL2,这意味着处理器不会直接进入等待中断的低功耗状态,而是触发一个到EL2的异常。这允许运行在EL2的虚拟机监视器(hypervisor)介入并处理这个等待操作;
  • 第27位是TGE,用来控制异常陷入情况,设置为0时对EL0的执行没有影响(此时,TGE位关闭了对EL0执行的异常路由到EL2的陷阱。这意味着,当EL2在当前安全状态下未启用时,EL0的异常处理不受影响,即EL0的异常(如中断)将按照正常的异常处理流程进行,不会被路由到EL2),设置为1时当EL2在当前安全状态下未启用时,对EL0没有影响。当EL2在当前安全状态下启用时,所有异常路由到EL2;
  • 第32位是CD,将其设置为0b1时,会禁用虚拟化环境中第二阶段数据访问和翻译表遍历的缓存(如果页表数据被缓存,并且这些数据被修改(例如,由于动态内存管理),那么CPU可能从缓存中获取过时的页表信息,导致地址翻译错误),确保内存访问的一致性和虚拟机之间的隔离,但可能会影响性能;
  • 第34位是E2H,这个位用于启用或禁用(0表示禁用,1表示启用)在EL2上运行宿主机操作系统(Host Operating System)的配置,同时宿主机操作系统的应用程序在EL0(异常级别0)上运行;
  • 第46位是FWB,它是HCR_EL2寄存器中的一个控制位,全称是“Force Write Back”,用于定义在两阶段翻译机制中组合的缓存属性。具体来说,这个位影响如何结合第一阶段(EL1)和第二阶段(EL0)的内存类型和缓存属性;
  • 第4位是IMO,用来控制物理IRQ路由,设置为0时:物理IRQ中断不会被送达EL2、当HCR_EL2.TGE的值为0时,如果处理器执行在EL2使用AArch64,物理IRQ中断不会被采取,除非它们被路由到EL3由SCR_EL3.IRQ位决定、虚拟IRQ中断被禁用。设置为1时:当在任何异常级别执行,并且EL2在当前安全状态下被启用时:物理IRQ中断会被送达EL2,除非它们被路由到EL3、当HCR_EL2.TGE的值为0时,虚拟IRQ中断被启用。如果EL2在当前安全状态下被启用,并且HCR_EL2.TGE的值为1:不管IMO位的值如何,物理IRQ中断目标为EL2,除非它们被路由到EL3。如下图所示:

5.FAR_EL1、FAR_EL2和FAR_EL3(Fault Address Register)是ARM架构中的故障地址寄存器,分别对应EL1、EL2和EL3异常级别。它们在发生异常如数据访问违规时存储引起异常的虚拟地址,辅助调试和异常处理。FAR_EL1用于EL1,FAR_EL2用于虚拟化环境中的EL2,FAR_EL3用于最高级别的EL3异常。

6.HPFAR_EL2寄存器用于在ARM架构的虚拟化环境中捕获第二阶段地址翻译(Stage 2 translation)过程中发生异常的中间物理地址(IPA)。当虚拟机尝试访问一个地址,而这个地址的翻译或访问导致了故障(如访问违规)时,HPFAR_EL2会存储引起异常的IPA地址。

7.ESR_ELx(Exception Syndrome Register)是ARMv8架构中用于记录异常详细信息的寄存器,它为EL1、EL2和EL3等异常级别提供服务。ESR_ELx包含异常类别(EC)、指令长度(IL)和指令特定综合症(ISS)字段。EC字段指示异常类型,如数据中止或系统调用;IL字段表示导致异常的指令长度;ISS字段提供关于异常的额外信息,其内容取决于异常类型。ESR_ELx主要在同步异常和SError异常中使用,有助于操作系统或异常处理程序诊断问题并采取行动。

8.从Arm GICv2开始,GIC可以通过提供物理CPU接口和虚拟CPU接口来发出物理和虚拟中断信号,这两个接口是相同的,只是一个接口发出物理中断信号,另一个接口发出虚拟中断信号。虚拟机管理程序可以将虚拟CPU接口映射到VM,从而允许该VM中的软件直接与GIC通信。这种方法的优点是虚拟机管理程序只需要设置虚拟接口,而不需要模拟它。这种方法减少了执行需要被捕获到EL2的次数,因此减少了虚拟化中断的开销,虽然Arm GICv2可以与Armv8-A设计一起使用,但更常见的是使用GICv3或GICv4。

9.ARMv8-A架构中的物理定时器和虚拟定时器是通用定时器框架的两个关键组成部分,它们协同工作以提供精确的时间管理和中断生成。物理定时器与系统计数器相联系,用于生成基于物理时间的中断。它们允许操作系统和应用程序访问一个统一的系统时间视图,这对于性能监控、任务调度和时间戳操作至关重要。物理定时器的中断通常用于实现操作系统的调度和同步机制。物理定时器通过寄存器如CNTPCT_EL0(物理计数器值)和CNTFRQ_EL0(系统计数器频率)来访问。虚拟定时器则是在虚拟化环境中使用的,它们允许虚拟机(VM)拥有自己的私有定时器,独立于物理定时器。这意味着每个VM可以有自己的时间视图,不受其他VM的干扰。虚拟定时器通过寄存器如CNTVCT_EL0(虚拟计数器值)和CNTVOFF_EL2(虚拟计数器偏移)来访问。Hypervisor可以设置虚拟定时器,以便在虚拟环境中生成中断,从而实现虚拟机的调度和时间管理。

10.TTBR0_EL1和TTBR0_EL2是ARM架构中与内存管理单元(MMU)相关的寄存器,用于管理虚拟地址到物理地址的转换。TTBR0_EL1:在EL1(内核态)使用,负责映射用户态(EL0)的虚拟内存。此寄存器存放页表基址,使操作系统能够管理用户应用程序的内存访问,确保虚拟地址正确映射到物理地址。TTBR0_EL2:在EL2(虚拟机管理程序层)使用,负责映射虚拟机管理程序的虚拟内存。它指定EL2的页表基址,允许虚拟机管理程序有效地管理和隔离不同虚拟机的内存空间。

11.TTBR1_EL1 和 TTBR0_EL1 都是 ARM 架构中的页表基址寄存器(Translation Table Base Register),它们的作用是为不同的虚拟地址范围提供页表基址,用于将虚拟地址映射到物理地址。不过,它们之间有明确的区别,主要体现在管理的虚拟地址范围不同。TTBR0_EL1 管理较低的虚拟地址空间,主要用于用户态(EL0)程序的内存映射。TTBR1_EL1 管理较高的虚拟地址空间,通常用于操作系统内核(EL1)自身的内存映射。使用两个页表基址寄存器的好处在于能够分离用户态和内核态的地址空间,确保用户态和内核态的内存区域之间的隔离和保护。这样,用户态进程无法访问内核态的地址空间,增强了系统的安全性和稳定性。

12.SCR_EL3(Secure Configuration Register at EL3)是EL3特权级别下的控制寄存器,用于管理系统安全状态和特权级别之间的切换。EEL2(Enable EL2 in Secure State)位的作用是允许在安全状态下启用 EL2。当该位被设置时,处理器能够在安全状态下进入 EL2,从而支持在安全环境下运行虚拟化功能。

13.Arm架构定义了两个物理地址空间:安全和非安全。在非安全状态下,虚拟机(VM)第一阶段转换的输出始终是非安全的。因此,此时只有一个中间物理地址(IPA)空间供阶段2处理。在安全状态下,VM的第1阶段转换可以输出安全地址和非安全地址。转换表描述符中的NS位(NS 位出现在虚拟内存地址到物理地址映射的页表描述符中。具体来说,NS 位是页表中的一部分,用来指定该映射所对应的物理地址是安全状态还是非安全状态)控制是否输出安全或非安全地址空间。如下图所示,这意味着阶段2有两个IPA空间,安全和非安全:

与阶段1表不同,阶段2表条目中没有NS位,对于特定的IPA空间,所有转换都会产生安全物理地址或非安全物理地址。该转换由寄存器位控制。通常,非安全IPA会转换为非安全PA,安全IPA会转换为安全PA。在安全状态下,当第1阶段MMU被禁用时,所有地址都将被视为安全地址。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com