ARM处理器MMU的一级映射描述符编码格式如下所示:
31 20 19 14 13 12 11 10 9 8 5 4 3 2 1 0 | |||||||||
| 0 0 | ||||||||
粗粒度二级页表基址 | 0 | Domain | U |
|
| 0 1 | |||
段基址 | 0 | TEX | AP | P | Domain | U | C | B | 1 0 |
细粒度二级页表基址 | 0 | Domain | U |
|
| 1 1 | |||
位 | 说 明 |
Bit[1:0]: | 一级描述符类型标识。00:无效;01:粗页;10:段;11:细页 |
C、B: | 该一级描述符对应的存储空间的cache和Write Buffer特性控制位,如表4-4所示 |
U: | 由用户定义 |
Domain: | 指明该存储空间所属的域号0~15;见前面“MMU中的域”说明 |
P: | 保护标志位;只有ARMv5或以上版本处理器有定义 |
AP: | 访问权限控制位,详见前面“ARM处理器的存储域”说明 |
TEX: | 在ARMv5以上版本处理器中有定义,如果TEX等于1,表示系统支持写时分配cache |
粗粒度二级页表基址: | 如果bit[1:0]=01,那么该存储空间是二级分大页管理,1页=4KB,粗粒度二级页表基址表示的是页描述符表的基址,1KB对齐,一张页描述符表占1KB空间,256个页描述符条目,描述了1MB空间的映射关系以及访问权限和域控制属性 |
段基址: | 如果bit[1:0]=10,那么该存储空间是分段管理,该段描述符号描述了1MB存储空间的映射关系以及访问权限和域控制属性,段基址就是该存储空间的物理基地址,1MB对齐 |
细粒度二级页表基址: | 如果bit[1:0]=11,那么该存储空间是二级分小页管理,1页=1KB,细粒度二级页表基址表示的是页描述符表的基址,4KB对齐,一张页描述符表占4KB空间,1 024个页描述符条目,描述了1MB空间的映射关系以及访问权限和域控制属性 |
表4-4
C | B | 写通类型cache | 写回类型cache | 可选择写通属性的写回类型cache |
0 | 0 | Uncached/unbuffered | Uncached/unbuffered | Uncached/unbuffered |
0 | 1 | Uncached/buffered | Uncached/buffered | Uncached/buffered |
1 | 0 | cached/unbuffered | 不可预测 | 写通cached/buffered |
1 | 1 | Cached/buffered | Cached/buffered | 写回cached/buffered |