您的位置:首页 > 运维架构 > Linux

MMU 内存管理单元 <s3c2440>

2014-12-14 10:14 387 查看
mmu作用:

权限管理
地址映射
1、权限管理:

A程序  B程序

A程序、B程序是不能访问内核空间的内存

同时A程序也不应该访问B程序的内存

===============================================

虚拟地址:如果CPU启用了MMU,CPU核发出的地址将被MMU截获,从CPU到MMU的地址称为虚拟地址(Virtual Address,以下简称VA),而MMU将这个地址翻译成另一个地址发到CPU芯片的外部地址引脚上,也就是将虚拟地址映射成



物理地址:如果CPU没有MMU(Memory Management Unit,内存管理单元),或者有MMU但没有启用,CPU核在取指令或访问内存时发出的地址将直接传到CPU芯片的外部地址引脚上,直接被内存芯片(以下称为物理内存,以便与虚拟内存区分)接收,这称为物理地址(Physical Address,以下简称PA)



===============================================

问题:虚拟地址怎么转换为物理地址

VA=fun(PA);

mips架构:VA=0XA000000+PA

arm架构: 用表格

2^32=4G

表格==>页表

表格数=4G/1M=4096个表格项

===============================================

地址映射实验

建立映射:  VA   ==》  PA

访问虚拟地址来配置寄存器

段地址映射:单位:1M   2^20=0x100000

虚拟地址物理地址
0xA0000500x56000050
  
0xA000050==》0x56000050
0xA000050/1M = 0xA00=2560



建立映射:

建立表格
表格地址告诉mmu
启动 mmu

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  linux arm