某计算机的cache采用相联映像,cache容量为16千字节,每块8个字,每个字32位,并且将cache中每4块分为一组。若主存最大容量为4GB且按字节编址,则主存地址应为(23)位,组号应为(24)位。若cache的命中率为0.95,且cache的速度是

admin2009-05-15  34

问题 某计算机的cache采用相联映像,cache容量为16千字节,每块8个字,每个字32位,并且将cache中每4块分为一组。若主存最大容量为4GB且按字节编址,则主存地址应为(23)位,组号应为(24)位。若cache的命中率为0.95,且cache的速度是主存的5倍,那么与不采用cache相比较,采用cache后速度大致提高到(25)倍。

选项 A、3.33
B、3.82
C、4.17
D、4.52

答案C

解析 cache与主存之间可采取多种地址映射方式。常见的有直接映射方式、全相联映射方式和组相联映射方式。直接映射方式是一种多对一的映射关系,但一个主存块只能拷贝到cache的一个特定块位置上去。cache的块号i和主存的块号j有如下函数关系:i=j%m,(m为cache中的总块数)。直接映射方式的优点是硬件简单,成本低。缺点是每个主存块只有一个固定的块位置可存放,容易产生冲突。因此适合大容量cache采用。全相联映射方式是指主存中一个块的地址与块的内容一起存于cache的块中,其中块地址存于cache块的标记部分中。这种方法可使主存的一个块直接拷贝到cache中的任意一块上,非常灵活。它的主要缺点是比较器电路难于设计和实现,因此只适合于小容量cache采用。组相联映射方式是前两种方式的折中方案。它将cache分成u组,每组v块,主存块存放到哪个组是固定的,至于存到该组哪一块是灵活的,即有如下函数关系:m=u×y,组号q=j%u。组相联映射方式中的每组行数v一般取值较小,这种规模的v路比较器容易设计和实现。而块在组中的排放又有一定的灵活性,冲突减少。主存最大容量为4GB且按字节编址,由于232=4GB,所以主存地址应为32位。因为每块8个字,每个字32位,并且将cache中每4块分为一组,则每组的大小为32/8×8×4=128B。cache容量为16KB,共可分成16KB/128B=128组,由于27=128,所以组号应为7位。设主存的存取周期为h,因cache的速度是主存的5倍,所以cache的存取周期为1/5h,且cache的命中率为0.95,则采用了cache以后,平均存取周期为h×(1-95%)+1/5h×95%=0.24h,因此,速度提高到了原来的1/0.24=4.17倍。
转载请注明原文地址:https://jikaoti.com/ti/FJJ7FFFM
0

最新回复(0)