某计算机的主存-Cache存储器层次采用组相联映射方式,字块大小为64字。Cache存储器容量为32字块,按4字块分组,主存储器容量为1024字块。
问:主存地址共需多少位? 主存地址字段如何划分,各需多少位? 假设Cache存储器起始时为空,CPU从主存单元0,1,2,…,3071依次读出3072个字,采用LRU(近来最少使用)替换算法,求命中率。
解:
主存储器容量为1024字块,需10位表示;字块大小为64字,需6位表示,所以主存地址共需16位。
主存地址字段划分为块标记、组号、组内块号和块内地址。
主存地址格式为:
主存单元0,1,2,…,3071,按64字为一块共48块,块号为0~47;
Cache-主存的映射关系如图。
从主存单元依次读出3072个字,相当于依次读出48个块。每次读块的第一个字是不命中的。由于每一个块读完以后不再读了,所以命中率是(3072-48)/3072=98.4%。