目录0、回顾1、TLB1.1、TLB coherency2、MMU2.1、TTBR0、TTBR1、TTBCR2.1.1、TTBCR2.1.2、TTBR0、TTBR12.2、Translation Table2.2.1、L1 Address Translation2.2.2、L2 Address Translation3、OS Usage Of Translation Table
1.ARM64处理器中有两个页表基地址寄存器TTBR0和TTBR1,处理器如何使用它们?在AArch64 架构中,因为地址总线位宽最多支持48位,所以VA被划分为两个空间,每个空间最多支持256TB。低位的虚拟地址空间位于0x00000000_00000000到0x0000FFFF_FFFFFFFF。如果虚拟地址的最高位等于0,就使用这个虚拟地址空间,并且使用TTBR0_ELx来存放页表的基地址。
在AArch64中,系统配置是通过使用MSR和MRS指令来控制的(通过MSR和MRS指令访问系统寄存器)。 这与ARMv7-A不同,在ARMv7-A中通常通过协处理器15(CP15)操作系统寄存器。寄存器的名称通常暗示着它能被访问的最低的异常级别。 例如:可以从EL1,EL2和EL3访问TTBR0_EL1。可以从EL2和EL3访问TTBR0_EL2。具有后缀_ELn的寄存器在一些或所有级别上都有单
转载 2024-08-03 20:23:34
62阅读