13、一个组相联cache由个行组成,每组4行。主存储器包含4K个块,每块128个字。请表示内存地址的格式。 解:
主存4K个块,每块128个字,共有4K128=219个字,故主存的地址共19位; 共4K个块,故块地址为12位;每块128个字,故块内的字地址为7位 Cache有行,每组4行,共16组,故组号4位,组内页号2位 组相联方式是组间直接映射,组内全相联映射方式; 所以主存的块地址被分为两部分:低4位为在cache中的组号,高8位为标记字段,即19位内存地址的格式如下: 组号 4位 组内块号 12位 块内地址 7位 tag 组号 字地址 8位 4位 7位
14、有一个处理机,内存容量1MB,字长1B,块大小16B,cache容量KB,若cache采用直接映射式,请给出2个不同标记的内存地址,它们映射到同一个cache行。 解: Cache共有个行12216B KB
,行号为12位
采用直接映射方式,所以cache的行号i与主存的块号j之间的关系为: mjimodm为cache的总行数 20位的内存地址格式如下: tag 行号 字地址 4位 12位 4位
两个映射到同一个cache行的内存地址满足的条件是:12位的行号相同,而4位的标记不同即可,例如下面的两个内存地址就满足要求: 0000 000000000000 0000=00000H与 0001 000000000000 0000=10000H 15、假设主存容量16M32位,cache容量K32位,主存与cache之间以每块432位大小传送数据,请确定直接映射方式的有关参数,并画出主存地址格式。 解: 由已知条件可知Cache共有 个行位 位
14232432K,行号为14位 主存共有 个块位 位
2223243216M,块地址为22位,由行号和标记组成 cache的行号i与主存的块号j之间的关系为: mjimodm为cache的总行数
设32位为一个字,且按字进行编址,则 24位的内存地址格式如下: 组号 14 tag 行号 字地址 8位 14位 2位
组内块号 8 块内地址 2