本文主要是介绍TrustZone之Translation Look aside Buffer(TLB),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
TLB缓存最近使用的地址转换。处理器具有多个独立的translation regimes。TLB记录了一个条目表示的translation regime,包括安全状态。虽然TLBs的结构是由实现定义的,但以下图表显示了一个示例:
当软件在EL1或EL2中发出TLB失效操作(TLBI指令)时,软件会针对当前的安全状态。因此,从安全状态执行TLBI ALLE1会使S.EL0/1 translation regime的所有缓存条目失效。
EL3是一个特殊情况。如前面的安全状态中所述,当处于EL0/1/2时,SCR_EL3.NS位控制处理器所在的安全状态。然而,EL3始终处于安全状态,不受SCR_EL3.NS位的影响。当处于EL3时,SCR_EL3.NS允许软件控制TLBIs在哪个安全状态上运行。
例如,在EL3中执行TBLI ALLE1并设置:
- SCR_EL3.NS==0:影响Secure EL0/1 translation regime
- SCR_EL3.NS==1:影响Non-secure EL0/1 translation regime
这篇关于TrustZone之Translation Look aside Buffer(TLB)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!