【计组原理学习小结】虚拟存储器、Cache访存过程中,TLB - Cache - Page的命中关系

时间:2024-05-20 20:33:45

TLB - Cache - Page命中关系小结

  • 前置知识——CPU根据虚地址访存流程

访问虚地址读取虚页号访问基址寄存器读取页表起始地址拼接起始地址和虚页号得到页表地址依据页表地址访问对应的页表项根据装入位判断是否命中

命中对应的实页号 + 页内地址 = 实地址 → 执行Cache的映射操作

未命中利用 I/O 系统将页调入主存执行第②步

  • Cache未命中,与TLB、Page是否命中无关
  • Cache命中,Page必然命中,TLB不一定命中
  • TLB命中,Page必然命中
  • Page命中,TLB不一定命中
  • Page不命中,Cache不命中
  • 分析助记
    • TLBCache中,Page在主存中,TLBCache一个很小的副本
    • Cache命中 意味着虚拟存储器访存流程进入了最后一步——执行Cache的映射操作,则所在页面必然已调入主存 → Page必然命中,而TLB是位于Cache内的Page小副本,故不一定命中
    • Cache未命中:意味着Cache内没有与CPU请求页面相同的页,无法直接进行映射操作——但虚存访存流程前几步(查找页表地址、访问页表项、判断装入位)并不受影响 → 与TLB、Page无关
    • TLB是Page的子集,根据数学集合关系可知:TLB命中是Page命中的充分不必要条件
    • Page命中:意味着访存流程进行到 执行Cache映射操作 一步,但之后Cache映射能否命中与Page无关
    • Page未命中:Page位于主存,Page未命中意味着主存内没有对应的页,Cache自然无法执行 主存→Cache 的映射操作,故Cache不命中
  • Page、Cache命中示意图(以直接映射和页式虚拟存储器为例)【计组原理学习小结】虚拟存储器、Cache访存过程中,TLB - Cache - Page的命中关系