95
Sprawne funkcjonowanie systemu buforowania1' wymaga przyjęcia pewnej organizacji pamięci. Jest ona dzielona na bloki (strony 4) o rozmiarze równym ilości dostępnej pamięci buforowej. Caclie L-2 nie stanowi monolitycznej całości. Operuje on jednostkami przydziału o długości 32 bajtów (rysunek 1.26). Każda jednostka (linijka) stanowi niezależną strukturę opatrzona własnym adresem oraz dodatkowymi informacjami określa jącymi status zawartej w nich danych. Linijka napełniana jest w cyklu czterech następujących po sobie (Burst) operacji odczytu z pamięci (przy 32 bitowej szynie danych).
Rysunek 1.26.
Struktura pamięci cache
PAMIĘĆ
STRONA
CACHE
STRONA.
STRONA
STRONA
Przyporządkowanie linijek pamięci operacyjnej linijkom pamięci buforowej może przyjmować różne formy W najproslr/yin przypadku adresy odwzorowuje się w stosunku l :l - buforowane są kolejne linijki strony w naturalnej kolejności występowania. Mówimy wtedy o odwzorowaniu bezpośrednim (Direct Mapped). Sprzętowa realizacja tego modelu nie nastręcza wiele trudności, jest on jednak mało wydajny i nieelastyczny.
Podział dostępnych zasobów L-2 na mniejsze jednostki (Ways) pozwala już na pewną dozę elastyczności. Strony stają się mniejsze a bufor może operować na rozłącznych obszarach pamięci. Maksymalny stopień swobody zapewnia naturalnie całkowita rezygnacja ze stron i przejście na organizację w formie linijek (Fully Associativc Cache). Każda z nich może wtedy pokrywać dowolny adres. W miarę wzrostu swobody w operowaniu buforami rośnie niezbędny nakład na administrowanie tak skomplikowaną strukturą. W praktyce spotyka się różne kompromisowe rozwiązania mieszane
13 Pod pojęciem buforowania rozumie się począwszy od tego miejsca zagadnienia odnoszące się do Cache poziomu drugiego (L2) jako że zjawiska zachodzące w LI mają zupełnie inny charakter. Bufor LI jest w pełni niewidzialny dla oprogramowania a jego obecność jest znaczenie bardziej istotna dla wnętrza CPU niż dla spełniania funkcji multiprocesorowych.
14 W literaturze angielskojęzycznej używa się tu pojęcia Pagc (strona), czego nic należy jednak mylić zc stronami pamięci w systemach adresowania lub też dostępu do pamięci w trybie nakładania się stron.