先来看一个例子:
1testMMU.c的代码:
2testMMU.c的代码:
两个代码同时运行的效果如下图:
可以看到两个同时运行的程序使用的是同一个地址0x80496a4,是不是程序运行出错了,怎么一个地址单元,同一时间可以被两个程序使用?其实呢这就是今天的重点,虚拟地址,0x80496a4是一个虚拟地址单元。这就是MMU的功劳了。MMU的全称是Memory Management Unit,内存映射单元。就是程序在运行的时候并不是直接使用物理地址,而是虚拟地址,当程序真正需要物理地址的时候,系统才给它分陪物理地址。使用虚拟地址的好处就是运行更大的程序,内存本来没有改变,但是虚拟地址的操作,能够运行更大的程序。
从上面的例子知道MMU的一个功能就是将虚拟地址转化为物理地址。后面还会讲到MMU的第二个作用:访问权限管理。
上一篇:2.深入剖析地址转化
下一篇:Linux 下PL2302 USB转串口的使用
设计资源 培训 开发板 精华推荐
- LTM8052AIV 36V 的典型应用
- 基于L6564H的100W过渡模式PFC预调节器演示板
- 鸢尾立方->0.5mL离心管架 63架位
- AKD5388A-A,用于 AK5388A 24 位、4 通道 Delta-Sigma ADC 的评估板
- 迷你4056锂电池充电模块
- MTRCKTDPS5643L: 采用恩智浦MPC5643L微控制器的双3相PMSM开发套件
- EVK-TIT6443A、基于CHT-TIT4750高温双通道隔离收发器的EVK-RHEA评估板
- 热电偶测量
- 【立创开发板】探险小车
- 具有 400mA 突发模式操作、2.25MHz 同步降压稳压器的 LTC3621EDCB 5Vout 的典型应用