cpu获取物理内存地址后做什么

What does the cpu do after it's obtained the physical memory address

所以我知道当 cpu 查找虚拟地址时,它先查看 TLB,然后再查看页面 table 以获得物理地址 (pa),但是我'我对它对那个 pa 的作用有点困惑。

它是否只检查每个内存级别的地址,直到它被命中?例如:在缓存 l1 检查 pa,如果未命中则在 l2 检查 pa,如果未命中则在 l3 检查 pa,如果未命中则在 RAM 中检查 pa,如果未命中则从磁盘读取。我试过用谷歌搜索这个并搜索堆栈溢出,但我找不到对这个过程的任何全面或明确的解释。

  1. 您的问题表明您有些困惑。为了开始您的学习过程,我建议您完全忽略缓存。缓存检查完全是一个硬件过程,除非你是CPU设计,否则它对编程没有[小]影响。

  2. CPU将逻辑地址转换为物理地址。更准确地说,它将逻辑地址转换为物理页面框架,并将办公室转换为物理页面框架。

  3. 如果CPU无法将逻辑地址转换为物理地址,则会触发页面错误。

  4. 然后操作系统的页面错误处理程序会尝试查看相应页面是否为虚拟页面(存储在磁盘上)。如果是这样,页面错误处理程序从磁盘加载页面并重新启动导致错误的指令。否则,操作系统会触发某种访问冲突。