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

admin2007-10-08  26

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

选项 A、24
B、32
C、36
D、40

答案B

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

最新回复(0)