8.CPU体系架构-MMU

本文介绍了CPU体系架构中的MMU(内存管理单元)及其在虚拟内存管理中的作用。虚拟内存技术通过分页解决了程序大小超过物理内存、地址不确定性等问题。MMU通过虚拟地址到物理地址的映射,使得多任务系统中的进程间地址空间得以隔离。文章以X86、ARM920T和MIPS32的MMU实例讲解了MMU工作原理,包括多级页表和Translation Table Walk的过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在现在的工作项目中虽然没有使用到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. 程序运行的地址不确定。同一个程序,每次被装载到内存的地址可能不一
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

简单同学

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

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

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

打赏作者

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

抵扣说明:

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

余额充值