首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >TLB转换与缓存

TLB转换与缓存
EN

Stack Overflow用户
提问于 2013-05-18 14:44:08
回答 1查看 402关注 0票数 1

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

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

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-05-18 16:04:21

  1. 这取决于你所说的“生成”是什么意思。如果您真正的意思是“读取”,那么第一步是,如果地址已被翻译,则查看TLB,或者,如果您的缓存支持虚拟地址,则在缓存本身中查看是否存在对应于该虚拟地址的条目(如果它属于适当的进程,则虚拟地址本身是不够的)。
  2. 如果第一步是虚拟到物理转换,则缓存用于物理地址。假设您想要阅读,那么实际上下一步将是查看缓存。
  3. 是的他们有。大多数使用虚拟内存的处理器都使用TLB。
  4. 是的,但是它取决于你的架构。例如,在英特尔(X86)处理器上,页面表指针被存储到cr3寄存器中。
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16625517

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档