Jak działa pamięć cache?

Zapis do bufora (posted write). Aby zmniejszyć czas oczekiwania procesora na zapis danych do pamięci wykonuje się go tylko wtedy, gdy szyna pamięci nie jest zajęta (np. procesor wykonuje skomplikowane obliczenia zmiennoprzecinkowe i nie sięga po dane). W tym celu jednak musi się przeznaczyć część pamięci podręcznej na bufor danych oczekujących na zapisanie. System dobrze sprawdza się w większości przypadków, ale dość szybko zostaje przeciążony w razie manipulowania dużymi masywami danych. Stosowany jest w komputerach średniej klasy.

Zapis opóźniony (write back). Bardzo skomplikowany technicznie algorytm zapisu opóźnionego jest szczytowym osiągnięciem w zakresie konstrukcji pamięci podręcznej. Dane do pamięci głównej zapisuje się dopiero wtedy, gdy nie wystarcza już miejsca w pamięci podręcznej na ich dalsze magazynowanie. Następuje to właściwie dopiero wtedy, gdy pojawia się ryzyko zniszczenia danych przez kolejny zapis do pamięci podręcznej. Dobrze nadaje się do manipulowania dużymi masywami danych. Rozwiązanie to jest stosowane w komputerach najwyższej klasy.

Pamięć synchroniczna i asynchroniczna

Niezależnie od sposobu realizacji zasadniczego celu dołączania pamięci podręcznej - to jest ograniczenia dostępu do pamięci głównej, istnieją dwie rodziny pamięci podręcznej - synchroniczne (burst cache) i asynchroniczne. Pamięci synchroniczne pracują zgodnie z rytmem zegara systemowego i - jak wynika z badań przeprowadzonych przez HP w aplikacjach dla Windows - osiągają o 5 do 10% lepszą wydajność niż pamięci asynchroniczne. Jest to dość duży zysk.

Zobacz również:

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

Używać czy nie?

Niektórzy użytkownicy (i konstruktorzy komputerów) zniechęceni trudnościami i komplikacją techniczną pamięci podręcznej 2. poziomu uważają, że można się bez niej obyć. Zwłaszcza, że ostatnio pojawiło się nowe rozwiązanie technologiczne EDO-RAM (Extended Data Out Random Access Memory), obiecujące zmniejszenie czasu dostępu do pamięci. Jednakże nie zapewnia ono takiego zwiększenia wydajności, jakie obiecują producenci tych pamięci (podobno 15 do 20%). W niektórych konstrukcjach zysk ten nie przekracza 5%.

Wydaje się więc, że nawet dodanie pamięci podręcznej typu asynchronicznego zwiększa w wyraźny sposób wydajność systemu o wiele więcej niż można to osiągnąć za pomocą pamięci typu EDO-RAM. Można się spodziewać, że lada moment pojawią się na rynku komputery z pamięcią EDO-RAM, ale będą to raczej konstrukcje niższej klasy (entry level). Można się także spodziewać dalszych badań teoretycznych mających na celu zwiększenie wydajności komputerów dzięki stosowaniu nowych rozwiązań w dziedzinie pamięci podręcznych.

Ramka na tincie

Jaki rozmiar pamięci podręcznej?

Nie możemy się spodziewać, że stosunek trafień wzrośnie dwukrotnie po podwojeniu rozmiaru pamięci podręcznej. W praktyce już dodanie 64 kB pamięci podręcznej powoduje, że stosunek trafień jest dość wysoki. Oczywiście wydajność nadal rośnie ze wzrostem rozmiaru tej pamięci do 128 lub 256 kB.

Optymalny rozmiar pamięci podręcznej jest zależny od systemu operacyjnego. Przy pracy w DOS-ie wystarcza całkowicie rozmiar 128 kB i dalsze jej zwiększanie praktycznie nie podnosi wydajności. Przy pracy w Windows zwiększenie pojemności pamięci podręcznej z 256 kB do 512 kB podnosi wydajność systemu o 5%. Można się spodziewać, że wprowadzenie wielozadaniowego, wielowątkowego systemu Windows 95 spowoduje konieczność instalowania jeszcze większych pamięci podręcznych. Wydaje się, że optymalna pojemność pamięci podręcznej dla tego systemu wynosi 512 kB.


TOP 200