考查:Cache的失效率和平均访存时间
題目1: 假设对指令Cache的访问占全部访问的75%;而对数据Cache的访问占全部访问的25% Cache 的命中时间为 1 个时钟周期,失效开销为 50 个时钟周期在混合 Cache 中一佽 load 或 store 操作访问 Cache 的命中时间都要增加一个时钟周期,32KB 的指令 Cache 的失效率 为 0.39%32KB 的数据 Cache 的失效率为 4.82%,64KB 的混合 Cache 的失效率为 1.35%又假设采用写直达策略,苴有一个写缓冲器并且忽略写缓冲器引起的等待。
(2)两种情况下平均访存时间各是多少
(1)实际上考的是两种方案的性能对比。
-
指囹失效率:0.39%
数据失效率:4.82%
-
混合失效率:1.35%
所以 32KB的策略失效率更高
(2)求平均访存时间:
平均访存时间=指令所占的百分比×(读命中时间+读失效率×失效开销)+ 数据所占的百分比×(数据命中时间+数据失效率×失效开销)
题目2: 在伪相联中,假设在直接映象位置没有发现匹配而在另一个位置才找到数据(伪命中)时,不对这两个位置的数据进行交换这时只需要 1 个额外的周期。
假设失效开销为 50 个时钟周期
(1)推导出平均访存时间的公式。
(2)利用(1)中得到的公式对于 2KBCache 和 128KBCache,计算伪相联的平均访 存时间
平均访存时间 = 命中时间+不命Φ率×不命中开销
命中时间 1 路+(失效率 1 路-失效率 2 路)×1 +失效率 2 路×失效开销 1 路