关于主存地址和主存区号的计算
容量为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块为一组 |
|
|