采用组相联映象,LRU替换算法的Cache存储器,发现等效访问速度不高,为此提议:增大主存容量;增大Cache中的块数(块的大小不变);增大组相联的大小(块的大小不变);增大块的大小(组的大小和Cache总容量不变);提高Cache本身器件的访问速度。试问分别采用上述措施后,对等效访问速度可能会有什么样的显著变化?其变化趋势如何?如果采取措施后并未能使等效访问速度有明显提高的话,又是什么原因
增大主存容量会降低等效访问速度,因为主存容量增大,会使Cache命中率降低,所以等效访问时间增长。增大Cache块数(块的大小不变)能提高等效的访问速度,因为Cache块数增加,使Cache命中率提高,则等效访问时间缩短。增大组相联的大小可提高等效访问速度,因为组大小增大,可使Cache命中率上升,则等效访问时间缩短。增大块的大小(组的大小和Cache总容量不变)可提高等效访问速度,因为Cache速度最终受制于其器件的速度。在以上几种方法中应分具体情况,在Cache速度与器件相差很远时,可采用~方法提高命中率Hc。因为用Cache比直接访主存的速度提高的倍数ρ为:ρ=tmta=tmtcHc+(1-Hc)\5tm=11-(1-tctm)\5Hc所以提高命中率可提高等效访问速度。但因为Hc总是小于1的,所以可令Hc=αα+1,此时ρ=(α+1)\5tmtm+α\5tc<α+1所以提高命中率方法使等效访问速度提高是有限的,最多不超过α+1倍。此时就要提高Cache器件的速度,只有换更高速的片子,否则再提高命中率也不会有什么效果。总之,在Cache等效访问速度与Cache器件访问速度相差较远时,用~方法。在Cache等效访问速度与Cache器件访问速度相差很小时,用方法。