ARM920T 地址转换的过程

同一块物理内存在ARM中可以有3中地址:VA, MVA, PA。

VA:这个地址是CPU所使用的地址,就是从CPU的角度可以看到的地址。在CPU预取指或者读写内存时,它会把这个地址发到内核地址总线上去。

MVA:这个地址是VA经过CP15的R13转换后的地址。这个R13是来实现FCSE的,即快速上下文切换扩展。这个组件在一般的操作系统上很少使用(个人观点),比如MTK的现有实现以及普通的Linux系统,所以我们可以认为MVA是和VA相等的。MVA是协处理器R13的输出,MMU以及cache的输入。

PA:它是MVA经由MMU转换后输出的地址,这个地址将被放到系统总线上(ASB或者AHB),然后传递给对应的物理内存单元上。

简单的图示如下:



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

应该说ARM的内存地址转换的过程还是比较清晰明了的,没有x86那样的各种分段。复杂的部分主要是MMU那块地址转换的实现,以及MMU与cache相交叠的一些功能。

关于FCES,个人一直不太明白其使用的场合。它会设定最多的进程个数为128个,然后每个进程都只有32M的内存空间。这种限定在现在的普通操作系统中基本是不可能被遵守的。


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值