高级会员

- 积分
- 853
- 金钱
- 853
- 注册时间
- 2012-8-3
- 在线时间
- 79 小时
|
本文适用但不局限于S3C2440 。
CPU发出VA,使用C13转换为MVA。MMU看到的是MVA。
ARM的MMU按页表使用情况分为两种方式:1、仅使用一级页表(段方式);使用2级页表。
以上两种情况都需要用到页表基址寄存器,即CP15的寄存器C2,它存放一级页表在内存中的地址。
一级页表有4096个描述符,占用16KB内存空间,每个描述符对应1MB的虚拟地址,全部描述符对应4G空间。
一、只使用1级页表管理内存(段方式)
此时MVA只有2部分P1([31:10])和P2([19:0]),P1为一级索引(段基址),P2为段内地址(段内偏移)
一级页表描述符存放4096个段基址,描述符(4个字节)格式如下
段基址 AP Domain 1 C B 1 0
[31:20] [11:10] [8:5] [4 3 2 1 0]
一级页表有3种:粗 段 细(页表)
二、使用2级页表管理内存
此时MVA含3部分:P1、P2、P3。
第一级页表:
分2种,粗页表(coarse)和细页表(fine)
第二级页表:
|
|