8.CPU体系架构-MMU

在现在的工作项目中虽然没有使用到MMU功能,但MMU是较复杂的嵌入式操作系统运行的基础。例如Linux就不能够运行在没有MMU的ARM7处理器上,ucLinux就是为了适应没有MMU的处理器而对Linux进行的裁剪和修改。了解MMU基础知识,对理解编译链接,OS多进程,嵌入式系统架构等有很好的帮助。由于该部分内容涉及到MMU硬件、CPU架构、编译链接、OS等知识,学习难度较大。

关键字 MMU、TLB、多任务OS、地址空间、虚拟内存、虚拟地址/物理地址

学习顺序 问题的引出、虚拟地址和物理地址、虚拟内存、OS进程和MMU,MMU运行

引子

早期的计算机PC,或者现在使用8位/16位MCU(单片机)的嵌入式设备,程序是直接运行在物理内存上的(SDRAM或者NOR Flash)。所谓直接运行在物理内存上,是指程序在运行时所访问的地址都是物理地址。例如,程序计数器PC中的值就是预取指令所在的物理内存的地址值。

这种程序直接运行在物理内存上的方式简单,但是并不适应于复杂的系统,尤其是拥有多任务的OS。我们首先看看原来的方式有哪些不足和缺陷。

  1. 物理内存不足。例如,某个程序运行需要64K的内存,而机器上只有32K的物理内存。
  2. 程序运行的地址不确定。同一个程序,每次被装载到内存的地址可能不一样。
  3. 内存使用率低。需要运行某个程序,就需要将整个程序装入内存才能够运行。
  4. 对于多任务OS,存在进程间地址空间不隔离的问题。这样一个任务失败了,可能会导致整个系统宕机。

于是人们就引入了虚拟内存管理(Virtual Memory Management)技术。有关虚拟内存

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

简单同学

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值