内存管理单元MMU

MMU其实负责的是虚拟地址到实际的物理地址之间的映射,在没有启动MMU之前,CPU访问的都是物理地址,启动之后,在CPU与实际的物理地址之间就有了从VA,到MVA再到PA的转换过程,之所以有MMU这个功能,是为了对实际的物理地址进行扩充,使得CPU能够访问的地址范围变大,也就是说虚拟地址与实际的物理地址之间的转换关系为多对一的关系。

虚拟地址与物理地址之间的转换有两种方法,第一种是用数学公式进行转换,宁外一种是用表格存储虚拟地址对应的物理地址。表格称之为页表,S3C2440最多会用到两级页表。页的大小有3中:大页(64KB)、小页(4KB)、极小页(1KB)。条目称之为描述符,段描述符保存段的起始物理地址,大页描述符保存大页的起始物理地址,小页描述符保存小页的起始物理地址,粗页表描述符保存二级页表的物理地址。

MMU的另一个主要的功能是内存的访问权限检查,也就是决定了一块内存是否允许读,是否允许写。

如果想要查看拥有虚拟地址之后的程序运行步骤为:

开始、关闭看门狗、设置栈指针、初始化SDRAM、复制第二部分代码到SDRAM、设置页表、启动MMU、重设栈指针、调到指定地址运行。

猜你喜欢

转载自blog.csdn.net/zhm4111/article/details/80098415