新闻中心

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

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

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

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

(4)段描述符及其地址变换过程

如果一级页表页表项的bits[1∶0]=0b10,说明此页表项指向一个1MB的存储段。页表项的高12位代替虚拟地址的高12位来产生物理地址。该页表项还包含域属性、Cahche属性、缓冲器属性和访问权限属性。具体定义如表15.22所示。

表15.22 段页表项中各字段含义

字段

含义

bits[1:0]

段页表项标识

bits[3:2]

定义段的Cache和写缓存属性

bit[4]

生产商定义

bits[8:5]

本段所在的域

bit[9]

当前未被使用,设置成0

bits[11:10]

访问权限控制AP位,见表15.23

bits[19:12]

当前未被使用,设置成0

bits[31:20]

该段对应的物理空间基地址的高12位

表15.23 访问权限控制位的编码及其含义

访问权限控制AP

S

R

特权模式

用户模式

0b00

0

0

不可访问

不可访问

0b00

1

0

只读

不可访问

0b00

0

1

只读

只读

0b00

1

1

不可预知

不可预知

0b01

X

X

读/写

无访问

0b10

X

X

读/写

只读

0b11

X

X

读/写

读/写

表中S和R位是CP15寄存器c1中的控制位,它们分别对应系统(S)和ROM(R)位。这两位用来在不同模式加速系统中访问大的存储块。

设置S位使得所有页具有不可访问权限,从而允许特权模式任务对页有读访问权限。因此通过改变CP15寄存器c1中的一位,所有标识为不可访问的空间一下子变为可用,而不需要改变每个页表项的AP位,节省了开销。

改变R位使得所有页具有不可访问权限,因而特权模式任务和用户模式任务对页都有读访问权限。同样,这一位可以加速对大块存储块的访问,而不需要修改许多页表项的值。

注意

地址转换过程中,在物理地址产生之前,将会按表2.22的编码对访问地址的权限进行检测。

基于段的地址变换过程如图15.27所示。

图15.27基于段的地址变换过程

(5)粗二级页表描述符及其地址变换过程

如果一级页表项的bits[1∶0]=0b01,说明此页表项包含一个粗二级页表首地址指针,同时还包含一级页表项代表的1MB虚存段的域信息。粗页表必须与1KB的倍数地址对齐。页表项具体定义见表15.24。

表15.24 粗二级页表项中各字段含义

字段

含义

bits[1:0]

粗二级页表描述符标识

bits[4:2]

生产商定义

bits[8:5]

域标识符

bit[9]

当前未被使用,设置成0

bits[31:10]

粗二级页表基地址,该地址1KB对齐

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

(6)细二级页表描述符及其地址变换过程

如果一级页表项的bits[1:0]=0b11,说明此页表项包含一个细二级页表首地址指针,同时还包含一级页表项代表的1MB虚存段的域信息。细页表必须与4KB的倍数地址对齐。页表项具体定义如表15.25所示。

图15.28基于粗二级页表的地址变换过程

表15.25 细二级页表项中各字段含义

字段

含义

bits[1:0]

细二级页表描述符标识

bits[4:2]

生产商定义

bits[8:5]

域标识符

bits[11:9]

当前未被使用,设置成0

bits[31:12]

细二级页表基地址,该地址4KB对齐

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




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

评论


相关推荐

技术专区

关闭