gpt4 book ai didi

arm - 在 ARMv7 中,是 TTBR0 和 TTBR1 物理或虚拟中使用的地址

转载 作者:行者123 更新时间:2023-12-02 05:17:52 25 4
gpt4 key购买 nike

我一直在查看 ARM 架构引用手册的 B3 节中的 v7-A 和 v7-R,但我无法弄清楚 TTBR0 和 TTBR1 寄存器中使用的地址应该是虚拟地址还是物理地址地址。

物理是最有意义的,但我想确切地知道。

那么,这个地址应该是物理地址还是虚拟地址?

是否需要将页表位置映射为标识地址(PA == VA)?

最佳答案

想象它是一个虚拟地址......

CPU 向虚拟地址发出事务。为了翻译它,MMU 需要进行表遍历。为此,它需要知道要在总线上寻址 RAM 的哪一位,因此它会查找基址寄存器。太好了,现在它有了虚拟基地址,它只需要将其转换为物理地址即可知道要在总线上寻址 RAM 的哪一位,因此它需要执行表遍历。为此,它需要...等等等等

简而言之,是的,它们绝对是物理地址。 TTBRn 在 LPAE 实现上是 64 位这一事实也是一个线索。*

一旦页表被设置并且MMU打开,就根本不需要保持它们的映射,更不用说在任何特定的关系中——如果数据物理地存在于RAM中,MMU就非常高兴。 CPU 仅在更新表时才需要将该 RAM 映射到其地址空间 - 其余时间它们只是浪费地址空间。

* ...当涉及虚拟化扩展时,这当然是一个彻头彻尾的谎言;)在这种情况下,它们是中间物理地址,并且完全受到突发奇想的影响第二阶段翻译。上述适用。有趣。

关于arm - 在 ARMv7 中,是 TTBR0 和 TTBR1 物理或虚拟中使用的地址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27159018/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com