前言:讲述地址翻译的基础知识,目标是让我们了解硬件在虚拟内存中的角色
一、地址翻译符号
使用页表的地址翻译:
由这个图可以看出VPO=PPO
当CPU执行一条读地址处字节的加载指令时,MMU从虚拟地址中抽取出VPN,并且检查TLB。如果TLBM命中,将缓存的PPN返回给MMU,不命中, MMU需要从主存中取出相应的PTE;
当发送物理地址的时候,缓存从物理地址中抽取偏移CO,组索引CI,以及缓存标记CT。
如果命中把在CO处读出的数据字节返回给MMU,MMU再传递给CPU
二、综合:端到端的地址翻译
组数S=4,2的s次方的结果是S,s是组索引位数量,所以VPN的低2位作为组索引。剩下的高六位作为标记。
B表示块大小,2的b次方的结果是B,b是块偏移量,所以低2位作为块的偏移量
在做题的时候还需要结合如下图:
根据题目给出的虚拟地址,把虚拟地址的格式写出来,标记好VPN,VPO,写出改地址中的TLB索引,TLB标记的十六进制,得到组索引在图(a)找到组号,查看是否有标记位,有就命中,命中得到PPN,PPN用于在下一步的物理地址格式。