容量为64块的Cache采用组相联方式映像,字块大小为128个字,每4块为一组。若主存容量为4096块,且以字编址,那么主存地址应为_(?)_位,主存区号应为_(?)_位。
主存地址=区号+组号+组内块号+块内地址号
由于主存容量为4096块,而每块为128个字,主存的总容量为512K字,故主存地址应为19位。主存地址应分为区号、组号、组内块号、块内地址号。可以看到, 块内地址号应为7位,用以表示128个字。一组为4块,则组内块号用2位表示。Cache容量为64块,共分16组, 故组号需要用4位地址表示。剩余的即为区号,应为6位。
主存地址=区号+组号+组内块号+块内地址号
区号 | 组号 | 组内块号 | 块内地址号 |
6 | 4 | 2 | 7 |
↑ 6=19-(4+2+7) | ↑ 16=24 | ↑ 4=22 | ↑ 128=27 |
↑ 521488=219 | ↑ 则分为16组 | ↑ 每4块为一组 | ↑ 字块大小为128个字 |
↑ 主存总容量=4096*128=524288 | ↑ Cach容量为64块,每4块为一组 |
|
|