繁体   English   中英

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

[英]Relation between cache and TLB hit ratios

以下是操作系统(Gate 2003 OS)的MMU的说明:

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

问题是:

命中率为90%的缓存与命中率为96%的TLB有何关系? 操作系统首先在哪里检查:数据或指令?

缓存至关重要,并且未缓存的内容包含在TLB中。因此,访问时间将为=缓存命中+缓存未命中(TLB命中+ TLB未命中)。

缓存-保留最近使用的页面框架。 存储实际的页面框架。

TLB-保留最近使用的页面框架的映射。 保持映射(虚拟到物理)。

从TLB或Page表中,OS知道请求的页面框架是否在缓存中。

首先,不是操作系统要检查数据,而是处理器。 现在,可以虚拟寻址或物理寻址高速缓存。 在前一种情况下,它在TLB之前出现,在后一种情况下,它在TLB之后出现(TLB的行为就像页面表的高速缓存一样,用于将虚拟地址转换为物理地址)。 在此问题中,明确提到了“物理寻址的缓存”。 因此,TLB应该先于高速缓存。

TLB HIT时间= .96(Ttlb)+(。9 * Tcache + .1 * Tmem)

TLB MISS时间= .04(Ttlb + 3 *(。9 * Tcache + .1 * Tmem))

总计= TLB HIT时间+ TLB MISS时间=约3ns

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM