Jak działa pamięć cache?

Architektura pamięci podręcznej

Pamięć podręczna może być dołączona między pamięcią główną a procesorem szeregowo lub równolegle.

Konstrukcja szeregowa (look through). W tym przypadku wszystkie żądania dostępu do pamięci są kierowane do pamięci podręcznej i w razie braku informacji w niej, przesyłane dalej do pamięci głównej. Wymaga stosowania szybkiej pamięci podręcznej o możliwie dużej pojemności, gdyż każde polecenie dostępu przechodzi przez nią. Z drugiej strony, jeżeli dane nie znajdują się w pamięci podręcznej, to czas dostępu do nich jest zwiększony z powodu "zaglądania" do cache'a. Zaletą tej konstrukcji jest stosunkowo małe obciążenie szyny pamięci głównej.

Zobacz również:

  • Pamięć podręczna procesora - rodzaje, zastosowanie i istota

Konstrukcja równoległa (look aside). Wszystkie żądania dostępu są dublowane przez pamięć główną i pamięć podręczną. Jeżeli kontroler pamięci podręcznej da odpowiedź pozytywną, wycofuje się żądanie danych z pamięci głównej. Żądanie od procesora nie musi za każdym razem przechodzić przez pamięć podręczną, ale występuje zwiększone obciążenie szyny pamięci głównej. Technika ta nie jest zalecana dla komputerów z wielozadaniowym systemem operacyjnym, gdyż wyklucza niezależne używanie pamięci przez urządzenia zewnętrzne.

Organizacja logiczna

Organizacja logiczna, czyli odwzorowanie pamięci głównej w pamięci podręcznej stanowi o tym, jaka będzie jej faktyczna wydajność. Im ściślejsze odwzorowanie, tym zawartość pamięci podręcznej jest bliższa zawartości pamięci głównej.

Odwzorowanie bezpośrednie (direct mapping). Polega na podziale pamięci głównej na strony o takim rozmiarze jak rozmiar pamięci podręcznej. Tak więc wszystkie dane znajdujące się w tym samym miejscu od początku strony (logicznej) mają odwzorowanie tylko na jedno miejsce w pamięci cache. Jeżeli więc procesor zapisze dane do komórki 1000 na stronie 1, potem zaś do komórki 1000 ale na stronie 3, to te dane znajdą się w tym samym miejscu pamięci podręcznej (drugi zapis zniszczy dane z pierwszego zapisu).

Rozwiązanie nadaje się dość dobrze do zadań wymagających manipulowania dużymi masywami danych. W innych przypadkach jego wydajność jest niewielka. W efekcie takie konstrukcje spotyka się tylko w najtańszych komputerach dla użytkownika indywidualnego. Lepiej korzystać z pamięci podręcznych typu asocjacyjnego.

Pamięć asocjacyjna 2 lub 4-drogowa (2 or 4-way associative). Polega na tym, że każde miejsce na stronie pamięci głównej jest odwzorowane na 2 lub 4 miejsca w pamięci asocjacyjnej (p. rysunek). W efekcie dane w niej zgromadzone są rzadziej niszczone na skutek zapisu do pamięci. Jest to jedno z najczęściej stosowanych rozwiązań pamięci podręcznej. Stosuje je np. HP i IBM w swych komputerach PC.

Pamięć w pełni asocjacyjna (fully associative). Jest to właściwie raczej rozwiązanie teoretyczne, nie stosowane w praktyce. Nie ma w nim żadnego odwzorowania pamięci głównej w pamięci podręcznej. Kontroler pamięci podręcznej musi zajmować się całą gamą adresów pamięci głównej, przeszukując zawartość pamięci podręcznej w celu stwierdzenia czy potrzebne dane znajdują się w niej, czy nie. Koszt rozwiązania jest tak wysoki, że stosuje się je jedynie w konstrukcjach sprzętu o najwyższej wydajności do specjalnych celów.

Sposób zapisu danych do pamięci głównej

Organizacja logiczna i architektura pamięci podręcznej mają wpływ jedynie na częstość odczytu danych (lub instrukcji) z pamięci głównej. Dzięki temu zmniejsza się czas oczekiwania procesora na dane. Z punktu widzenia ogólnej wydajności systemu komputerowego ważny jest także sposób zapisu do pamięci głównej. Jeżeli uda się go uniknąć lub opóźnić, to zmniejsza się obciążenie szyny pamięciowej.

Zapis natychmiastowy (write through). Każdy zapis danych następuje bezpośrednio do pamięci głównej, bez przechodzenia przez pamięć podręczną. Zapewniona jest integralność danych (dane w pamięci głównej są aktualne w każdej chwili); gorzej jest z wydajnością systemu. Ponieważ jednak jest to rozwiązanie stosunkowo tanie, stosuje się je w komputerach niższej klasy.


TOP 200