以下是对操作系统(Gate 2003操作系统)的MMU的描述:
处理器使用2级页表作为虚拟到物理地址 翻译。两个级别的页表存储在主存储器中。 虚拟和物理地址都是32位宽。记忆是 字节可寻址。对于虚拟到物理地址的转换,10 虚拟地址的最高有效位用作索引 第一级页表,而后10位用作索引 进入二级页面表。 12个最低有效位 虚拟地址用作页面内的偏移量。假设 两个页面级别表中的页表条目是4个字节宽。 此外,处理器具有转换后备缓冲器(TLB),具有 命中率为96%。 TLB缓存最近使用的虚拟页码 和相应的物理页码。处理器还有一个 物理地址缓存,命中率为90%。主内存访问 时间为10 ns,缓存访问时间为1 ns,TLB访问时间也是 为1ns。
问题是:
具有90%命中率的缓存和具有96%命中率的TLB是如何相关的?操作系统首先检查哪些内容:数据或指令?
答案 0 :(得分:3)
缓存是最重要的,TLB中包含未缓存的内容。因此访问时间将是= Cache Hit + Cache Miss(TLB Hit + TLB miss)。
答案 1 :(得分:0)
缓存 - 保留最近使用的页面框架。存储实际的页面框架。
TLB - 保留最近使用的页面框架的映射。保持映射(虚拟到物理)。
从,TLB或Page表,OS知道请求的页面帧是否在缓存中。
答案 2 :(得分:0)
首先,不是OS正在检查数据,而是处理器。现在,缓存可以虚拟寻址或物理寻址。在前一种情况下,它出现在TLB之前,在后一种情况下出现在TLB之后(TLB表现得像页面表的缓存,用于将虚拟地址转换为物理地址)。在这个问题中,它清楚地提到了“物理地址缓存”。所以,TLB应该在缓存之前到来。
答案 3 :(得分:0)
TLB HIT时间= .96(Ttlb)+(。9 * Tcache + .1 * Tmem)
TLB MISS时间= .04(Ttlb + 3 *(。9 * Tcache + .1 * Tmem))
总计= TLB HIT时间+ TLB MISS时间 =约3ns