博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
MMU
阅读量:6515 次
发布时间:2019-06-24

本文共 736 字,大约阅读时间需要 2 分钟。

MMU(内存管理)

1:将程序中的虚拟地址映射到具体的物理地址,所谓虚拟地址,即为程序中的地址,对于不同的程序所使用的虚拟地址可能相同,但是通过mmu,可以将其映射到不同的物理地址,防止访问上的冲突。

2:控制访问的权限管理。

 

 

深入剖析地址转换

对于一个地址,假设为32位的虚拟地址:

31-20位索引符

 

 

根据高31-20位描述符表数据,在translation table中找到一个32位的表项。

 

 

1-0

这个表项的最后两位决定寻址方式:

00:表示无效的转化方式

01:表示粗页转化方式,较少用

10:表示段转化方式

11:表示细页转化方式

注意四几个问题:

1:表象是由工程师自己建立的

2:表项的存储在内存中

3:表项的基地址TTB(translation table base),这个地址由工程师自己决定,定义好后,将地址存储到cp15中的c2寄存器中。

 

段转换方式

表项:

基地址31-20

 

 10

虚拟地址:

31-20位索引符

 

 

表项的最后两位为10,则表示使用段转化方式,相应的虚拟地址中19-0位则作为偏移地址。

 

段式一阶表项结构:

 

 

cachebuffer

 

上图是CPU读取数据需要经过哪些部分缓冲区

 

ARM 中将存储空间分为了16个域,具体使用哪个域由一级表项中的“damain()”决定

 

细页转换方式:

虚拟地址:

31-20位索引符(实际上是一级也表的偏移)

19-11二级页表偏移地址

10-0位物理页偏移地址

 

一级页表项:

31-20位二级页表基地址

 

 11

 

二级页表项:

物理页基地址

 

 

 

注意:一级表项和二级页表是需要工程师自己定义的。

转载于:https://www.cnblogs.com/big-devil/p/8589410.html

你可能感兴趣的文章
【javascript】ajax请求 编码问题导致的ie浏览器在输入中文文字后没有内容,而chrome正常搜到文字...
查看>>
Git分支操作
查看>>
Spring Integration概述
查看>>
[SAP ABAP开发技术总结]权限对象检查
查看>>
RDIFramework.NET ━ 9.6 模块(菜单)管理 ━ Web部分
查看>>
Android安全问题 静音拍照与被拍
查看>>
cocos2d-x 3.1.1 学习笔记[13] listen 监听器
查看>>
定制私人博客
查看>>
WTL介绍
查看>>
应用程序框架实战三十四:数据传输对象(DTO)介绍及各类型实体比较(转)
查看>>
放量滞涨,抛出信号
查看>>
windows 下配置 Nginx 常见问题(转)
查看>>
BeanFactory not initialized or already closed - call 'refresh' before accessing beans解决办法
查看>>
dSYM 文件分析工具
查看>>
R语言合并data.frame
查看>>
2015第17周二
查看>>
linux主机下的Vmware Workstation配置NAT设置 端口映射-Ubuntu为例
查看>>
unity physics joint
查看>>
TD的访问地址
查看>>
JAVA常见面试题之Forward和Redirect的区别
查看>>