单选题 20.影响高速缓存命中率的因素有( )。
Ⅰ.每次与内存交换信息的单位量 Ⅱ.Cache的容量
Ⅲ.Cache结构 Ⅳ.不同映像方式 Ⅴ.主存的大小
【正确答案】 A
【答案解析】影响Cache命中率的因素有以下几点:
(1)Cache的容量:更大的Cache容量,对提高命中率是有好处的,而容量达到一定值之后,再增加其容量对命中率的提高并不明显。
(2)Cache line size(每次与内存交换信息的单位量):Cache在命中的情况下,可以在0等待状态快速向CPU提供指令和数据,而一旦不命中,CPU就必须到主存去取信息,会增加几个等待状态。所以为减少访问内存的次数,可通过每次到内存取信息时不是以一个字为单位,而是以几个字在主存与Cache之间实现信息传送。Cache line size太大,会减慢本次完成传送的进度,还可能出现Cache中太多信息而不被CPU使用,造成费时费资源。
(3)多级的Cache结构:在已有Cache存储器系统之外再增加一个容量更大的Cache,此时第一级Cache中保存的信息第二级Cache中也保存,CPU访问第一级Cache出现缺失时就去访问第二级Cache。若两个Cache命中率为90%,两个合起来的命中率为99%,所以不可再增加第三级Cache。
(4)不同映像方式:全相联映像方式很难实用,直接映像方式命中率略低,多路组相联映像方式性能/价格比更好。