博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
虚地址到物理地址的转换过程
阅读量:6263 次
发布时间:2019-06-22

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

hot3.png

MVA (Modified Virtual address,修改过的虚拟地址,这个地址由CPU产生#1)

step1.通过TTBR找到粗表描述符

转换表基地址#2 + MVA的粗页表索引 = 粗页表的物理地址

step2.通过粗表描述符找到小页描述符

粗页表基地址#3 + MVA的小页表索引 = 小页表的物理地址

step3.通过小页描述符找到物理地址

小页基地址#4 + MVA的页索引 = 物理地址

step1得到的粗页表的物理地址位定义

step2得到的小页表的物理地址位定义

step3得到的物理地址位定义

注1:严格的说,这个地址是可能是FCSE或ARM926ej-s处理器产生

注2:转换表基地址保存在TTBR,详见TTBR

注3:粗页表基地址保存在粗页表描述符中,详见粗页表描述符

注4:小页表基地址保存在粗页表描述符中,详见小页表描述符

--------------------------------------------------------------------------------------

CP15

系统控制协处理器(CP15)被用来配置和控制ARM926ej-s处理器。cache、mmu都通过CP15的寄存器来控制。需要使用专门的指令访问CP15的寄存器。

ARM926ej-s系统中的地址

ARM926ej-s产生的地址为虚地址(VA),FCSE(快速上下文切换控制器)将VA转换为修改过的虚地址(MVA)供MMU使用,MMU将MVA转换为TCM和AMBA总线的物理地址(PA)。

CP15的c1寄存器

c1寄存器是ARM926ej-s处理器的控制寄存器。该寄存器用来使能或禁用cache、配置MMU。

 

I       0: 禁用iCache,1使能iCache

C      0:禁用dCache,1使能dCache

如果c1寄存器禁用了cache,小页表的C、B位是无效的。

TLB

MMU是OS分页内存管理的硬件基础。MMU使用TLB(Translation lookaside buffer,即旁路转换缓冲,或称为缓冲;用来存放到的转换表)将虚拟地址转换为物理地址。

TLB保存在SDRAM中。

TTBR

TTBR是Translation Table Base Register的缩写,中文全称是:转换表基地址寄存器。TTBR是协处理器CP15的c2寄存器。

由于读取TTBR时Bit13~Bit0是不可预测的,所以粗页表的起始地址必须是按64K对齐的。

粗表描述符

填充为红色的位固定为0/1。Bit8~Bit5为域控制位,可以定义16个域。

小页描述符

填充为红色的位固定为0/1。AP3~AP0为访问控制位,访问控制位和域控制位配合完成了对内存访问权限的管理。在boot中,禁用域控制,同时将AP3~AP0全部设置为3(任何人都可以读写)。只关注 C cache控制位,B buffer控制位。

#写通。读命中,从Dcche读取数据,读未命中,(cache)行填充;写命中,写数据带Dcache,并缓冲到外边存储器写未命中,缓冲到外部存储器

#写回。读命中,从Dcache读取数据,读未命中,(cache)行填充;写命中,写数据带Dcache ;写未命中,缓冲到外部存储器

转载于:https://my.oschina.net/felixliang/blog/98566

你可能感兴趣的文章
Docker & ASP.NET Core (4):容器间的连接
查看>>
beam 的异常处理 Error Handling Elements in Apache Beam Pipelines
查看>>
将png图片转换为字体图标
查看>>
/var/log/wtmp
查看>>
C# 获取机器码
查看>>
什么是医嘱?医嘱的书写内容?
查看>>
如何通过CSP编程卸载Windows Mobile应用程序
查看>>
用delphi实现完美屏幕截图
查看>>
matlab练习程序(差异演化DE)
查看>>
这就是搜索引擎:核心技术详解
查看>>
加解密技术处理时间对比
查看>>
g++命令行详解 (转)
查看>>
Ubuntu菜鸟入门(九)—— 支付宝支付控件安装
查看>>
什么是 SRS 呢?在我们大部分的音频播放器里都内欠有这种音效。
查看>>
对/etc/rc.d/init.d目录的一点理解(转)
查看>>
c#使用params重载方法
查看>>
浅析C# 中object sender与EventArgs e
查看>>
遇到Audio/Speech相关问题,如何抓取log
查看>>
数学之路(3)-机器学习(4)-专家系统(1)
查看>>
Android中常用单位dp,px,sp之间的相互转换
查看>>