gpt4 book ai didi

linux - TLB 转换与缓存

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:23:52 25 4
gpt4 key购买 nike

我对操作系统中的内存管理有疑问。我知道缓存是用于加速内存访问的临时存储位置,而 TLB 用于加速从虚拟地址到物理地址的转换。

  1. 现在如果生成一个虚拟内存地址,第一步是什么?
  2. 如果第一步是引用 TLB 并生成物理地址,那么第二步是什么?(是否引用缓存以查看该数据是否存储在缓存中)?
  3. 现代计算机是否使用 TLB?
  4. cpu如何知道页表所在的位置?

最佳答案

  1. 这取决于您所说的“生成”是什么意思。如果您的意思是“读取”,那么第一步是查看 TLB(如果地址已被转换),或者如果您的缓存支持虚拟地址,则查看缓存本身以查看是否存在对应于该虚拟地址的条目(如果它属于适当的进程,则虚拟地址本身是不够的)。
  2. 如果第一步是虚拟到物理的转换,那么缓存就是物理地址。假设您想要读取,那么下一步的确是查看缓存。
  3. 是的,他们有。大多数使用虚拟内存的处理器都使用 TLB。
  4. 是的,但这取决于您的架构。例如,在 Intel(x86) 处理器上,页表指针存储在 cr3 寄存器中。

关于linux - TLB 转换与缓存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16625517/

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