关于cache和主存的映射

主存里调入的是数据代码,再从主从调入到cache,但是这里的映射是物理地址吗?就是这个映射其实和主存里存入额数据代码没有关系吗?那么物理地址又存储在哪里?不占据主存容量吗?占据了数据代码又存在哪里呢?

img

没太明白题主的意思,cache和主存交互的时候当然是物理地址,说说我的理解。

CPU首先得到的是虚拟地址,这个虚拟地址就是我用户向其发起的程序所指的虚地址,然后要经过地址翻译成物理地址才能进行数据访问,这个过程要检查TLB(翻译后备缓冲器),如果命中,会得到其物理地址,之后会访问cache,如果cache中有要访问的数据,那么本次访问就结束,如果没有就到内存中寻找,并更新cache;如果TLB不命中,那么那么系统内核会调用缺页异常处理程序去处理,这个过程中会进行页替换等操作,最终取得要访问的数据。