📜  门| GATE-CS-2003 |第 78 题

📅  最后修改于: 2021-09-26 04:09:53             🧑  作者: Mango

处理器使用 2 级页表进行虚拟地址到物理地址的转换。两个级别的页表都存储在主存储器中。虚拟地址和物理地址都是 32 位宽。内存是字节可寻址的。对于虚拟到物理地址的转换,虚拟地址的最高 10 位用作第一级页表的索引,而接下来的 10 位用作第二级页表的索引。虚拟地址的 12 个最低有效位用作页面内的偏移量。假设两级页表中的页表条目都是 4 字节宽。此外,该处理器具有翻译后备缓冲器 (TLB),命中率为 96%。 TLB 缓存最近使用的虚拟页码和相应的物理页码。该处理器还有一个物理寻址缓存,命中率为 90%。主存访问时间为10 ns,缓存访问时间为1 ns,TLB访问时间也为1 ns。

假设没有发生页面错误,访问虚拟地址所花费的平均时间约为(精确到 0.5 ns)
(A) 1.5 纳秒
(B) 2 纳秒
(C) 3 纳秒
(D) 4 纳秒答案: (D)
解释:

The possibilities are
 TLB Hit*Cache Hit +
 TLB Hit*Cache Miss + 
 TLB Miss*Cache Hit +
 TLB Miss*Cache Miss
= 0.96*0.9*2 + 0.96*0.1*12 + 0.04*0.9*22 + 0,04*0.1*32
= 3.8
≈ 4 

为什么是 22 和 32?
22 是因为当发生 TLB 未命中时,它需要 1ns 并且对于物理地址,它必须通过主内存中的两级页表并进行 2 次内存访问,而在高速缓存中找到该页面需要 1 ns,这给出了总计共 22 个
这个问题的测验