计算机组成原理cache映像问题!
问题描述:
计算机组成原理cache映像问题!
某计算机的cache采用4路组相联映像,已知cache容量为16KB,主存容量为2MB,每个字块有8个字,每个字有32位.(1)主存地址多少位(按字节编址),各字段如何划分(各需多少位)?(2)设cache起始为空,CPU从主存单元0,1,……100.依次读出101个字(主存一次读一个字),并重复按此次序读11次,问命中率多少?若cache速度是主存5倍,问采用cache与无cache比较速度提高多少?
答
(1)
2MB=2^21,
16KB=2^14,
32位=4字节=2^2,
8个字=2^3,
4路(即4个块)=2^2;
组号=14-2-3-2=7;
区号=21-14=7;
划分的对应关系如下:
(2)
一开始cache无内容,第一轮全部不命中,以后十次全部命中,所以命中率是:10/11=91%;
设cache读取时间为1,主存读取时间为5,无cache的访问时间:11*5=55,有cache访问时间:
第一次先访问cache,再访问主存,时间为1*(1+5),后10次只访问cache,时间为10*1,
所以有cache的访问时间是10*1+1*(5+1)=16,所以速度提高的倍数是55/16=3.44;
有些人会算出来是3.67,是错的,其实第一次既要访问cache,又要访问主存.