ARMV8架构-AArch64执行状态下的4级页表
在AArch64 体系结构中,因为地址总线位宽最多支持 48 位,所以虚拟地址空间被划分为两个空间,每个空间最多支持 256 TB。
(1)低位的虚拟地址空间位于 0x0000000000000000 到 0x0000FFFFFFFFFFFF。如果虚拟地址的最高位等于 0,就使用这个虚拟地址空间,并且使用 TTBR0_ELx 来存放页表的基地址。
(2)高位的虚拟地址空间位于 0xFFFF000000000000 到 0xFFFFFFFFFFFFFFFF。如果虚拟地址的最高位等于 1,就使用这个虚拟地址空间,并且使用 TTBR1_ELx 来存放页表的基地址。
AArch64体系结构页表最多支持4级页表,输入、输出地址的最大有效位宽度为48,支持4KB、16KB和64KB的页面大小。
下面以4KB物理页面及48位地址宽度为例,MMU的页表遍历单元(Table Walk Unit, TWU)的查询过程如下图所示。
当MMU的TLB未命中时,处理器的页表查询过程如下:
(1)处理器根据虚拟地址来判断使用TTBR0
剩余60%内容,订阅专栏后可继续查看/也可单篇购买
嵌入式学习专栏 文章被收录于专栏
7年嵌入式软、硬件开发经验,分享嵌入式软件开发相关资料,简历、工作、技术支持!!!