一文解读内存管理单元 (MMU)

描述

内存管理单元 (MMU) 的一个重要功能是让不同的任务能够独立地在各自的虚拟内存空间里运行,MMU能够实现这个特性的本质就是抽象隔离,对不同任务的虚拟地址空间进行重新映射(map)到实际的物理空间。

这都是由硬件自动实现的,并且大部分时候都是对软件不可见的。

此外,MMU基于页粒度控制每个内存空间的访问权限、内存属性和缓存策略等等。

MMU使不同的任务不用关心其实际使用的物理空间,也就是说程序员可以使用相同且连续的虚拟地址空间,而不会发生冲突,即使实际使用的物理空间非常零碎。

但是,MMU将虚拟地址空间转化成物理地址空间也并不是完全地对软件不可见,或者说对程序员不可见,但是对操作系统可见。

MMU

配置初始化MMU以正确地管理不同并行任务的地址空间是操作系统的事情。

一般MMU会有一种disable的模式,即不使能MMU,所有虚拟地址都直接映射到相应的物理地址,VA=PA。

如果处理器访问的虚拟地址并没有被操作系统分配,这个时候MMU会上报中断异常,以告知操作系统分配相应的地址空间映射关系,从而让任务正常地完成✅。


审核编辑:刘清

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分