新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > ARM存储器之:存储管理单元MMU

ARM存储器之:存储管理单元MMU

作者: 时间:2013-09-30 来源:网络 收藏

本文引用地址:https://www.eepw.com.cn/article/257009.htm

基于细二级页表的地址变换过程如图15.29所示。

(7)基于二级页表的地址变换过程

二级页表有4种可能的页表项:

·定义64KB页帧属性的大(Large)页表项;

·定义4KB页帧属性的小(Small)页表项;

·定义1KB页帧属性的微(tiny)页表项;

·访问中止异常的错误项。

系统通过页表项的最低位[1:0]来确定页表项的类型。二级页表的页表项格式如图15.30所示。

当bits[1:0]=0b01时,该页表项为大页表项,它包含了一个64KB物理存储块的基地址。如果页表是细二级页表,那么大页表项将在表中重复64次;如果页表是粗二级页表,那么大页表项将在表中重复16次。

图15.29基于细二级页表的地址变换过程

图15.30二级页表的页表项格式

当bits[1:0]=0b10时,该页表项为小页表项,它保存一个4KB物理存储块的基地址。如果页表是细二级页表,那么小页表项将在表中重复4次;如果页表是粗二级页表,那么大页表项只需在表中出现1次。

当bits[1:0]=0b11时,该页表项为微页表项,它保存一个1KB物理存储块的基地址。如果页表是细二级页表,那么微页表项只需在表中重复1次;微页表项不会出现在粗二级页表中,如果出现,那么访问结果不可预知。

当bits[1:0]=0b00时,该页表项产生存储页访问错误。错误条件会导致预取指中止或数据中止,这取决于具体的存储器访问类型。

(8)大页表描述符及其地址变换过程

如果二级页表项bits[1:0]=0b01,说明该页表项为大页表项,它不仅包含了一个64KB物理存储块基地址,同时还含有4组权限位域以及页的Cache和写缓存属性。每一组访问权限域代表虚存页的1/4,这些页表项可以看成是16KB子页,以更好的控制64KB页的访问权限。

具体定义如表15.26所示。

表15.26 大页表项中各字段含义

字段

含义

bits[1:0]

大页表项类型标识符

bits[3:2]

Cache和写缓存属性

bits[11:4]

访问权限控制位,具体编码见表15.27。

一个大页分为4个子页

AP0子页0的访问权限

AP1子页1的访问权限

AP2子页2的访问权限

AP3子页3的访问权限

bits[15:12]

当前未使用,应为0

bits[31:16]

该大页对应的物理页帧的基地址的高16位

图15.31说明了基于大页表的地址变换过程。

图15.31基于大页表的地址变换过程

(9)小页表描述符及其地址变换过程

如果二级页表项bits[1∶0]=0b10,说明该页表项为小页表项,它不仅包含了一个4KB物理存储块基地址,同时还含有4组权限位域以及页的Cache和写缓存属性。每一组访问权限域代表虚存页的1/4,这些页表项可以看成是1KB子页,以更好的控制4KB页的访问权限。

页表项的具体定义如表15.27所示。

表15.27 小页表项中各字段含义

字段

含义

bits[1:0]

小页表项类型标识符

bits[3:2]

Cache和写缓存属性

bits[11:4]

访问权限控制位,具体编码见表15.22。

一个小页分为4个子页

AP0子页0的访问权限

AP1子页1的访问权限

AP2子页2的访问权限

AP3子页3的访问权限

bits[15:12]

当前未使用,应为0

bits[31:16]

该小页对应的物理页帧的基地址的高20位

图15.32说明了基于小页表的地址变换过程。

图15.32基于小页表的地址变换过程

(10)微页表描述符及其地址变换过程

如果二级页表项bits[1∶0]=0b11,该二级页表项是微页表项,它提供了一个1KB物理存储块的基地址,同时含有一个访问权限位域以及页的Cache和写缓存属性。微页表项的具体含义如表15.28所示。

表15.28 微页表项中各字段含义

字段

含义

bits[1:0]

微页表项类型标识符

bits[3:2]

Cache和写缓存属性

bits[5:4]

访问权限控制位,具体编码见表15.29

bits[9:6]

当前未使用,应为0

bits[31:10]

该微页对应的物理页帧的基地址的高22位

图15.33说明了基于微页表的地址变换过程。

图15.33基于微页表的地址变换过程

存储器相关文章:存储器原理




关键词: ARM 存储管理单元 MMU

评论


相关推荐

技术专区

关闭