【CA55 TRM笔记】MMU

1. MMU main functions

  1. 控制访问主内存中的translation table的translation table walk hardware.
  2. 转换虚拟地址(VA)到物理地址(PA)
  3. 通过保存在translation table中的一组虚拟到物理地址映射和内存属性,提供细粒度的内存系统控制

CA55支持40-bit物理地址范围,允许1TB物理寻址。

2. AArch32 vs. AArch64

AAarch32 and AArch64 behavior differences

3. TLB

TLB全称是 Translation Lookaside Buffer,翻译有多种,比如转译后备缓冲区,页表缓冲,快表等。
它其实就是一块cache,缓存的是最近使用的页表,加快地址翻译(即从虚拟地址查找到对应物理地址)的速度,提高系统性能。
TLB flush操作 中有个很好的例子来说明TLB的作用:

我们来仔细看看程序中的数据访问指令的执行过程,这个过程可以分成如下几个步骤:
(1)将PC中的虚拟地址翻译成物理地址
(2)从memory中获取数据访问指令(假设该指令需要访问地址x)
(3)将虚拟地址x翻译成物理地址y
(4)从location y的memory中获取具体的数据
instruction cache解决了step (2)的性能问题,data cache解决了step (4)中的性能问题,当然,复杂的系统会设立了各个level的cache用来缓存main memory中的数据,因此,实际上unified cache同时可以加快step (2)和(4)的速度。
Anyway,这只是解决了部分的问题,IC设计工程师怎么会忽略step (1)和step (3)呢,这也就是TLB的由来。如果CPU core发起的地址翻译过程能够在 TLB(translation cache)中命中(cache hit),那么CPU不

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值