Rozwiązania zadań z AK2

Pamięć cache

Zadanie 1.

Treść.

Wiedząc, że adres do 4 drożnej pamięci cache wygląda następująco:

TAG INDEX OFFSET
16b 8b 8b

Jaki rozmiar całkowity będzie pamięć cache?

Rozwiązanie.

Wiemy, że pamięć jest 4 drożna więc będą 4 bloki pamięci.

Każdy blok pamięci asocjacyjnej (ale nie w pełni asocjacyjnej) wygląda następująco:

z pola TAG wiemy chyba jakie będzie pole TAG w linijce:P (ale mogę się mylić)
z pola INDEX wiemy, ile będzie linijek w bloku, tu będzie 2^8, czyli 256
a z pola OFFSET wiemy, jaki rozmiar będą miały dane w konkretnej linijce, tu 2^8, czyli 256
i teraz liczymy dla jednego bloku:

V -> 256 * 1b = 256b = 32B
TAG -> 16b * 256 = 2B * 256 = 512B
DATA -> 256B * 256 = 65536B = 64kB

i teraz:
rozmiar = ( (V*4)/1024 ) + ( (TAG*4)/1024 ) + ( DATA*4 )
4 dlatego, że są 4 bloki
a 1024 dlatego, że zamieniamy na kB, bo te dwie wartości mieliśmy w bajtach

O ile nie zaznaczono inaczej, treść tej strony objęta jest licencją Creative Commons Attribution-Share Alike 2.5 License.