gpt4 book ai didi

linux - 当一个物理地址映射到不同的虚拟地址时,后端的 dcache 会发生什么?

转载 作者:太空宇宙 更新时间:2023-11-04 12:30:14 25 4
gpt4 key购买 nike

我对 arm 的缓存问题感到困惑。在这里,我映射了相同的 block 或物理内存,并在没有 O_SYNC 的情况下获得了两个不同的虚拟地址,这两个都将被缓存:(假设我只访问两者的前 4 个字节)

  1. If i read two address, how many dcache entries would be loaded, one or two?
  2. If i did write operation on one virtual memory, how many dcache entries would be marked dirty, one or two(if have to dcache entries)? what happened at the backends for dcache entries?

谢谢。

最佳答案

最近的 ARM 被指定为像缓存被物理标记一样(例如,缓存行由物理地址标识),因此多个别名虚拟地址(即使在不同的进程中)应该反射(reflect)相同的物理缓存行。

这不是普遍正确的; ARM-v7A 架构之前的旧版 ARM 内核支持虚拟标记缓存。

关于linux - 当一个物理地址映射到不同的虚拟地址时,后端的 dcache 会发生什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43509482/

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