缓存和TLB命中率之间的关系

时间:2013-02-02 09:30:47

标签: caching operating-system tlb memory-access

以下是对操作系统(Gate 2003操作系统)的MMU的描述:

  

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

问题是:

具有90%命中率的缓存和具有96%命中率的TLB是如何相关的?操作系统首先检查哪些内容:数据或指令?

4 个答案:

答案 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