MMU 内存管理单元 <s3c2440>

来源:互联网 发布:最大子数组和 动态规划 编辑:程序博客网 时间:2024/05/21 23:40

mmu作用:

  1. 权限管理
  2. 地址映射

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

建立映射:

  1. 建立表格
  2. 表格地址告诉mmu
  3. 启动 mmu





0 0