Właśnie się zorientowałem, że drożność pamięci podręcznej (inaczej: rozmiar zbioru) nie wpływa na to, jak traktowane są bity adresu - tzn nie ważne czy jest X-way czy Y-way, tyle samo bitów jest używane do adresowania zbioru w pamięci podręcznej. Natomiast rozmiar zbioru ma wpływ na przeliczanie rozmiaru całej pamięci podręcznej na ilość zbiorów i odwrotnie.
Czyli w przypadku kamilek66 jest:
Rozmiar linii pamięci podręcznej to 128b, więc 7 ostatnich bitów jest ignorowane.
Liczba zbiorów to 256, więc 8 bitów (obok tamtych 7-miu) są używane do wyboru zbioru.
Dany zbiór zawiera maksymalnie 4 linie pamięci, ale adresowanie czy zarządzanie zależy już od implementacji.
2.Pamięć operacyjna ma rozmiar 64 MB. Pamięć podręczna 2-way set associative ma
rozmiar 8 KB, rozmiar bloku (linii) pamięci podręcznej wynosi 32 B. Narysować
format adresu, wskazać podział bitowy adresu przy dostępie do pamięci podręcznej.
Rozmiar linii pamięci podręcznej to 32 B, więc 5 ostatnich bitów z adresu jest ignorowane.
Liczba zbiorów = rozmiar pamięci podręcznej / ilość linii w zbiorze / rozmiar linii = 8 KB / 2 / 32 B = 4 KB / 32 B = 128
Tak więc 7 bitów (obok tamtych 5-ciu) jest używane do wyboru zbioru.
- Pamięć operacyjna ma rozmiar 224 B. Pamięć podręczna 4-way set associative ma
rozmiar 32 KB, w bloku (linii) pamięci podręcznej przechowuje się 16 32-bitowych
słów. Narysować strukturę pamięci podręcznej oraz format adresu. Obliczyć do
którego zbioru pamięci podręcznej zostanie zapisany blok z adresem 12ABD h.
- Chyba nie 224 B, a 2^24B?
- 32-bitowych słów? To oznacza, że pamięć jest adresowana 32-bitowymi słowami? Tzn pobierając dane z adresu 1234 pobierzemy 1234-ty bajt czy (1234*4)-ty bajt?