OP-TEE的内存和缓存管理(二):ARM核对内存的访问

本文详细介绍了ARM核在TrustZone技术下访问内存的流程,包括从虚拟地址到物理地址的转换、缓存数据的获取以及如何在TLB和Cache中保持条目的一致性。在安全世界和正常世界状态中,ARM核处理内存的方式有所不同,特别是对于缓存和TLB中的条目安全状态的处理。内容涉及MMU、TLB、Cache的工作原理及其在TrustZone环境下的扩展和协调。
摘要由CSDN通过智能技术生成

前面我们知道了ARM怎么通过硬件实现内存的隔离,这里我们来看看ARM核对内存的访问流程是什么。

因为系统启动完成后,系统运行于内存中,ARM核处理的数据都来自于内存,即在系统运行过程中,ARM核会从内存中获取数据。

而支持TrustZone技术的ARM核在访问内存的过程中对安全世界状态和正常世界状态进行了不同的处理。

1、ARM核获取内存数据的过程

当ARM核需要从内存中获取数据时,将需要访问的内存的虚拟地址(VA)传递给MMU, MMU会到TLB中查找是否存在该虚拟地址对应的物理地址(PA),若没有对应的转换条目,MMU将会使用虚拟地址和页表进行虚拟地址到物理地址的转换操作,并将获取到的虚拟地址与物理地址的转换条目存放到TLB中以便下次再次访问时直接使用。(页表转换是放在内存中的一个特殊位置)

完成虚拟地址到物理地址的转换后,MMU会将物理地址发送到Cache中进行匹配操作。如果Cache命中,Cache则会直接将命中的物理地址的数据返回给ARM核。

如果在Cache中并未命中,则会将请求发送到AXI总线上,从内存硬件中读取物理地址对应的数据,然后将数据返回给ARM核,并将结果同步到Cache中。

这是整个访问过程:(这个流程未涉及安全与正常世界的区分,下面会讲讲,这里先有个大概的流程认识)

在这里插入图片描述

2、获取缓存数据的过程

ARM核支持TrustZone后ÿ

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

TrustZone_Hcoco

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值