下面是一个操作系统(Gate 2003 OS)的MMU的描述:
处理器使用 2 级页表进行虚拟到物理地址的转换。两个级别的页表都存储在主存储器中。虚拟地址和物理地址都是 32 位宽。存储器是字节可寻址的。对于虚拟地址到物理地址的转换,虚拟地址的 10 个最高有效位用作第一级页表的索引,而接下来的 10 位用作第二级页表的索引。虚拟地址的 12 个最低有效位用作页面内的偏移量。假设两级页表中的页表项都是 4 个字节宽。此外,处理器具有翻译后备缓冲区(TLB),命中率高达 96%。TLB 缓存最近使用的虚拟页号和相应的物理页号。该处理器还有一个物理寻址的高速缓存,命中率为 90%。主存访问时间为10ns,缓存访问时间为1ns,TLB访问时间也是1ns。
问题是:
命中率 90% 的缓存和命中率 96% 的 TLB 有什么关系?操作系统首先检查哪里:数据还是指令?