Rodzaje pamięci cache
Cache:
To mechanizm, polegający na przechowywaniu w szybkiej pamięci podręcznej o bardzo dobrych parametrach, ostatnio pobieranych danych, które zostały tam pobrane z nośnika
o gorszych parametrach (wolniejszego).
Cache Hit:
Zachodzi w przypadku gdy dane oraz adresy zgłaszane przez CPU znajdują się już w pamięci podręcznej (buforze). Dzięki temu nie muszą być wyszukiwane i pobierane od początku co znacznie przyspiesza pracę CPU i owocuje wzrostem wydajności komputera.
Cache Miss:
Sytuacja odwrotna do cache Hit to znaczy zgłaszane przez CPU dane i adresy nie znajdują się w pamięci podręcznej (cach'u) i należy je pobrać. W tym celu konieczny jest dostęp do pamięci (wolniejszej) gdzie owe dane są przechowywane i pobranie ich co w rezultacie spowalnia pracę CPU i owocuje spadkiem wydajności komputera.
SRAM (static RAM):
Jest to statyczna pamięć wewnętrzna, jej zaletą jest bardzo duża szybkość oraz fakt, iż nie wymaga ona odświeżania, dlatego też najczęściej jest wykorzystywana jako pamięć cache w procesorach, jej wadą natomiast jest dość wysoka cena.
Jak korzystać z pamięci cache?
Podczas odwiedzania stron internetowych zawsze ich zawartość ładuje się do komputera i jest tymczasowo zapisywana w katalogu TEMPORARY INTERNET FILES, który to katalog działa jako bufor internetowy. Gdy zachodzi potrzeba ponownego otworzenia odwiedzanej już kiedyś strony, dane statyczne na niej zawarte (czyli grafika, ramki itd.) pobierane są już nie z sieci lecz z bufora na dysku twardym w naszym komputerze a z sieci "dociągane" są jedynie informacje które mogły ulec zmianie (typu treść artykułu itd.). Minusem w przypadku stosowania cach'u jest gromadzenie dużej ilości danych. Nie oczyszczany i pozostawiony sam sobie katalog TEMPORARY INTERNET FILES może po kilku latach rozrosnąć się do gigantycznych rozmiarów. Obecnie, gdy standardem są dyski o pojemności ok. 200 GB nie stanowi to co prawda aż tak poważnego problemu, jednak warto wiedzieć jak dostosować pojemność cach'u do własnych potrzeb. Aby tego dokonać należy uruchomić Internet Explorera, po czym z paska narzędzi wybrać pozycję Narzędzia →Opcje internetowe. Po otwarciu okienka Opcji internetowych (domyślnie otwiera się ono na zakładce Ogólne) należy kliknąć w środkowej części okna w klawisz Ustawienia. Oczom naszym ukarze się okienko, w którym można ustawić sposób w jaki Internet Explorer będzie aktualizował przechowywane w cach'u strony (opcja domyślna to automatycznie) oraz procent dysku twardego jaki godzimy się zarezerwować na cache.
Obecnie nie jest to takie ważne gdyż procesory dysponują aż nad to pamięcią podręczną zarówno cache L1 (cache pierwszego poziomu) jak i cache L2 (cache drugiego poziomu), jednakże w przypadku starszych procesorów warto zarezerwować na cache większą ilość miejsca gdyż może to zaowocować wzrostem wydajności podczas buszowania w Internecie nawet o 20 procent. Ważną rzeczą jest też włączenie cachu L1 i L2 (przestawienie opcji z disabled na enabled) w BIOSie, ponieważ bez włączenia tej opcji procesor będzie działał dużo wolniej, tyczy się to jednak również starszych płyt głównych gdyż obecnie wszystkie płyty mają domyślnie ustawiony cache L1 i L2 na enabled. Więcej informacji odnośnie tego tematu znajdują się w artykule "Optymalizacja pamięci po jej rozbudowie".
Dyskowa pamięć podręczna
Jest bardzo ważnym czynnikiem składającym się na wydajność dysku twardego poza oczywiście prędkością wirowania oraz technologia wykonania dysku. Pamięć ta jest absolutnie konieczna aby dysk (i nie tylko dysk bo nagrywarki CD i DVD również posiadają cache) mógł działać właściwie. Np. dane odczytane z nośnika zanim zostaną przesłane do kontrolera na płycie głównej najpierw są kopiowane właśnie do cach'u. Podobnie jest w przypadku zapisywania danych. Dane, które mają zostać zapisane na dysku trafiają najpierw do cachu, by potem w odpowiednim momencie (np. po znalezieniu miejsca na dysku i ustawieniu głowic) mogły zostać już fizycznie zapisane na dysku twardym. Dzięki temu nie ma potrzeby aby kontroler czekał na zakończenie konkretnej operacji i może on wykonywać następne zadanie co w oczywisty sposób zwiększa wydajność dysku. Oczywiście czas trwania tych operacji liczony jest w milisekundach jednak nawet w tak krótkim czasie może się zdarzyć, np. awaria prądu. Co dzieje się tedy z danymi które znajdują się w cach'u a nie zostały jeszcze zapisane na dysku fizycznie? Niestety są one tracone. Jest to jedyny chyba minus zapisu danych z wykorzystaniem cach'u. Aby przestrzec się przed takim problemem kontrolery wysokiej jakości (np. SCSI) mają pamięć cache zasilaną z odrębnej baterii, (tak jak BIOS na płycie głównej), po to, by po odłączeniu zasilania przechować zawarte w nich dane, aż do ponownego włączenia zasilania i wtedy dane są zapisywane fizycznie na dysku twardym. Z powodów finansowych niewielu użytkowników jest w stanie pozwolić sobie na dyski SCSI producenci dysków twardych standardowo wyłączają funkcję cachowania podczas zapisu danych. Dla dysków IDE ATA/PATA/SATA czyli najpowszechniej dostępnych i stosowanych przez zwykłego zjadacza chleba nie stosuje się cach'u mniejszego niż 2 MB a często można spotkać się z cachem na poziomie 8 MB.
Koncepcja pamięci podręcznej cache:
Pomysł na stosowanie pamięci podręcznej cache wynika z budowy i możliwości pamięci SRAM i DRAM. Pamięci dynamiczne są tańsze od pamięci statycznych i charakteryzują się mniejszym poborem mocy niż pamięci statyczne, są natomiast od nich wolniejsze, zbyt wolne w stosunku do obecnie produkowanych procesorów (chodzi tu zarówno o częstotliwości jak i architekturę procesora). Pamięci statyczne natomiast są o wiele szybsze od dynamicznych jednak ich cena, stopień ich scalenia oraz ilość pobieranej energii dyskwalifikują je jako podstawowy budulec pamięci operacyjnej. Dlatego też zrodził się pomysł żeby pamięć komputera składała się z kilku do kilkuset MB (obecnie kilka GB) pamięci operacyjnej dynamicznej i z kilku - kilkuset KB pamięci podręcznej statycznej. Dodatkowo pamięci te wsparte są przez sterownik cache odpowiadający za współpracę pamięci i reszty podzespołów. Ponad to sterownik ten cały czas monitoruje czy potrzebna informacja jest przechowywana w pamięci podręcznej czy też nie
. Jeżeli tak to mamy do czynienia z cache hit ( z ang. trafienie) tzn. dane nie muszą być wyszukiwane i pobierane od początku ponieważ znajdują się już w pamięci cache mogą być więc bezpośrednio wysłane do CPU, co znacznie zwiększa wydajność. W drugim przypadku mamy do czynienia z cache miss (z ang. chybienie) czyli należy pobrać nie obecne w cach'u adresy i dane potrzebne procesorowi w tym celu konieczny jest dostęp do pamięci (wolniejszej) gdzie owe dane są przechowywane i pobranie ich co w rezultacie spowalnia pracę CPU i owocuje spadkiem wydajności komputera.
Bezpieczny cache:
O tym, że zainicjowane zostało bezpieczne połączenie z konkretnym serwerem WWW jesteśmy powiadamiani poprzez ikonkę zamkniętego zamka, pojawiającą się w lewym dolnym rogu okna Navigatora. Po dwukrotnym kliknięciu w ową ikonkę pokażą się nam informacje dodatkowe o odwiedzanej przez nas stronie (informacje te można również uzyskać poprzez kliknięcie w pasku narzędzi na View → Page Info). Widac tu między innymi jak bezpieczną technikę szyfrowania zastosowano itd. Trzeba tu wspomnieć, że Navigator posiada swój własny system zabezpieczający poufne informacje. Dlatego też bezpieczne strony WWW (wykorzystujące protokół SSL) nie są zapisywane w obszarze DiskCache są natomiast przechowywane w pamięci roboczej MemoryCache, jednakże nie jest to niebezpieczne rozwiązanie ponieważ w chwili zamknięcia Navigatora cała zawartość MemoryCache jest zawsze automatycznie kasowana.
Architektura systemu z pamięcią cache:
Obecne systemy wykorzystujące pamięć podręczną (cache) można podzielić na systemy oparte na architekturze Look-through oraz Look-aside.
Architektura Look-through:
Jej istota zawiera się w takim połączeniu pamięci podręcznej z procesorem (za pomocą magistrali lokalnej), że procesor jest oddzielany od pozostałych składników systemu. Dzięki temu w przypadku cache hit (trafienia) system nie wykorzystuje w ogóle głównej magistrali systemu co w rezultacie powoduje przyspieszenie działania systemu. Wynika to z możliwości wykorzystywania magistrali głównej przez inne komponenty systemu (np. sterownik DMA) podczas przeprowadzania operacji na pamięci podręcznej. Żądanie dostępu do pamięci zostaje przesłane do PAO (pamięć główna) jedynie w momencie wystąpienia cache miss (chybienia). Rozpoczyna się wtedy cykl magistrali głównej z koniecznymi stanami oczekiwania.
Architektura Look-aside:
Jest architekturą posiadającą mniej skomplikowaną konstrukcję a co za tym idzie jest tańsza.
W tej architekturze nie występuje oddzielenie procesora od pozostałych składników systemu co sprowadza się do tego, że dostęp do pamięci powoduje zainicjowanie normalnego cyklu magistrali, który zostaje wstrzymany w przypadku cache hit (trafienia) kiedy to następuje wykonanie operacji na pamięci cache bez stanów oczekiwania. Natomiast gdy następuje cache miss (chybienie) system wykonuje normalny cykl magistrali ze stanami oczekiwania. Zaletą tego typu rozwiązania jest wydajniejsze wykonywanie operacji w przypadku cache miss (chybienia).
Składniki pamięci cache można podzielić na trzy zasadnicze części, są to:
bank danych(pamięć danych), katalog pamięci cache (zwany także TAG-RAMem) oraz sterownik pamięci cache. Bank danych odpowiada za zapis i odczyt informacji oraz służy sterownikowi pamięci do sprawdzania czy poszukiwana informacja znajduje się w katalogu pamięci, który owe informacje przechowuje, dodatkowo sterownik pamięci odpowiada za współpracę pamięci cache z systemem. Bardzo ważną cechą sterownika pamięci jest również utrzymywanie zgodności (ang. consistency lub coherency) zawartości cach'u z pamięcią główną.
Obsługa cache L1 (pamięć podręczna pierwszego poziomu):
Pamięci tej nie można rozszerzyć czy powiększyć ponieważ jest ona zintegrowana procesorem. Jej części składowe to bufor rozkazów (łączący się z magistralą adresową) i bufor danych (łączy się z magistralą danych). Powstały trzy zasadnicze typy pracy pamięci cache L1 pozwalające na dokonywanie zapisu. Są to odpowiednio: WT (z ang. write through), WB (z ang. write back) i LB (z ang. Linear Burst). Wyboru, który z nich ma być stosowany w naszym komputerze dokonujemy w setupie BIOSu. Procesory Intelowskie wykorzystują przeważnie typ zapisu WB natomiast chociażby linia procesorów Cyrix (np. 6x86) wykorzystywała również specjalnie dla siebie dedykowany typ zapisu czyli LB.
Działanie kontrolera pamięci cache L2:
Zadaniem kontrolera pamięci drugiego poziomu (wlutowywanej przeważnie w płytę główną) jest jak sama nazwa wskazuje obsługa tejże pamięci jak również kooperowanie z pamięcią cache L1 oraz pamięcią operacyjną (RAM). Jak już wspomniałem wyżej pamięć cache L2 jest wlutowywana w płytę główną, jednakże pomyślano o takim rozwiązaniu żeby nie pozbawić nas możliwości rozbudowywania owej pamięci. Powszechnie wyposaża się płyty główne w konkretną wielkość pamięci cache L2 (wielkość ta zależy najczęściej od jakości i ceny płyty głównej i kształtuje się na poziomie od 256KB do 2 MB a nawet czasem więcej). Co prawda koszty jakie trzeba by ponieść podczas stopniowego dokładania pamięci cache L2 nie zachęcają do takiego przedsięwzięcia a wzrost wydajności uzyskany po dokonaniu takiej operacji również daje do myślenia (np. zmieniając cache L2 z 256 KB na 512 KB uzyskamy jedynie ok. 5% wzrost mocy) jednak bezwzględnie konieczne jest aby cache L2 w ogóle występował, nawet ilość rzędu 128 KB w bardzo widoczny sposób podnosi wydajność komputera. Dodatkowo podczas pracy z systemami operacyjnymi tak zwanymi wielozadaniowymi takimi jak Windows XP/2000/Nt, Linux, Unix, czy Macintoshowy OS/2, które każdemu wątkowi dedykują konkretną część pamięci cache, bardzo dobrze jest mieć minimum 512 KB pamięci cache L2.
Rozszerzanie pamięci cache:
Obecnie w dobie systemów wielozadaniowych (Windows Xp/2000/98/95/NT, Linux, Unix czy OS/2), których ideą wręcz jest możliwość uruchomienia kilku czy kilkunastu programów jednocześnie i wygodnego poruszania wśród nich, pamięć cache ma ogromne znaczenie dla komfortu pracy z takim systemem. W przypadku nowych komputerów problem zbyt małej pamięci cache (wynoszącej np. 64 KB) oczywiście nie jest już aktualny jednakże nawet dla komputerów starszych wspomniana wyżej wielkość nie będzie wystarczająca i trzeba będzie ją rozszerzyć o kolejne kilobajty. Pozostając jeszcze przy starszego typu płytach głównych chciałbym poruszyć problem braku tak zwanego Tag-RAMu. Jest to układ, którego zadaniem jest przechowywanie informacji odnośnie obszarów pamięci roboczej, które zostały zapisane w pamięci pośredniej. Dzięki niemu można powiększyć rozmiar pamięci podręcznej oraz dzięki lepszemu zarządzaniu efektywniej go wykorzystać. Przed jakąkolwiek próbą rozbudowy pamięci cache trzeba zerknąć do instrukcji płyty głównej (lub do Internetu) i dowiedzieć się jakie moduły pamięci cache nasza płyta obsługuje. Odstępstwem od tej reguły charakteryzują się płyty główne z podstawką Cache on a stick (czyli COAST). Płytka ta ma zunifikowaną budowę, dzięki temu pragnąc rozbudować pamięć cache wystarczy jedynie dowiedzieć się czy nasza płyta suportuje szybszy cache typu Pipelined Burst czy wolniejszy cache tak zwany asynchroniczny.
Organizacja pamięci cache:
Pamięć cache składa się z dwóch części: banku danych oraz katalogu danych. Są one połączone w tak zwaną jedno blokową pamięć asocjacyjną (z ang. One-way Set-associative lub Direct-mapped), która później dzielona jest na zestawy. Dzięki temu można bardzo szybko dokonać weryfikacji czy w pamięci cache następuje odwzorowanie komórki pamięci, na której ma zostać wykonana operacja. Pamięć główną dzieli się na tak zwane strony odpowiadające wielkością jednemu blokowi pamięci cache. Strony natomiast dzieli się na zestawy, których liczba odpowiada liczbie zestawów w bloku pamięci cache. Wszystkie zestawy pamięci cache posiadają umieszczony w Tag-RAMie, własny adres strony, z której każdy zestaw pochodzi. Ponad to wszystkie zestawy, które są wpisywane do pamięci cache trafiają tam z numerem zestawu identycznym jak numer zestawu w stronie z której pochodzą, dzięki temu nie trzeba przeglądać całego katalogu w poszukiwaniu danego zestawu a wystarczy jedynie zweryfikować adres bloku w danej pozycji owego katalogu. Gdy zachodzi potrzeba zmiany zestawu na konkretnej pozycji zmienia się jedynie adres bloku w pozycji katalogu, która odpowiada owemu zestawowi. W przypadku podzielenia banku danych pamięci cache na dwa bloki mamy do czynienia z dwu blokową pamięcią asocjacyjną (z ang. two-ways set-associative memory) Natomiast gdy bank danych podzielony zostanie na cztery bloki będzie to wtedy czteroblokowa pamięć asocjacyjna (z ang. four-ways set-associative memory).
Rozbudowa pamięci cache
Zanim podejmiemy jakiekolwiek czynności związane z podkręcaniem naszego komputera w BIOSie warto dokonywać zmian krokowo to znaczy zmieniać za każdym razem tylko jedną wartość, przetestować dokładnie stabilność systemu i dopiero zmieniać wartość kolejną. Stosując tą zasadę zawsze będziemy wiedzieć co właśnie zmieniliśmy i jeżeli komputer na skutek zbyt dużego podkręcenia nie będzie się chciał uruchomić, czy też zacznie się resetować zaraz po włączeniu, będziemy dokładnie wiedzieli jaka zmieniana przez nas opcja za to odpowiada. Obecnie nie trzeba już pracowicie notować sobie wszystkich ustawień BIOSu, gdyż wszystkie płyty główne mają w swych BIOSach koło ratunkowe w postaci opcji przywracającej wszystkie ustawienia do wartości fabrycznych. Jednak czasem gdy komputer w ogóle się nie włącza trzeba kompletnie wyzerować BIOS za pomocą specjalnej zworki na płycie głównej, bądź tez przez wyjęcie z płyty na ok. godzinę baterii zasilającej BIOS gdy komputer jest wyłączony. W starszych komputerach podczas próby rozbudowy pamięci RAM do ponad 64 MB występowały problemy z współdziałaniem pamięci z cache L2, jednak zastosowanie Tag-RAMu (czyli pamięci służącej do buforowania cachu) umożliwiało rozbudowanie pamięci ram aż do 512 MB. W dzisiejszych czasach wymiana kości pamięci RAM nie stanowi żadnego problemu, w przypadku starszych płyt głównych trzeba jedynie sprawdzić w instrukcji (lub Internecie) jaki typ kości pamięci płyta obsługuje. W przypadku takich bardziej zaawansowanych wiekiem płyt może się zdarzyć, że chipset płyty głównej nie obsługuje więcej niż 64 MB pamięci RAM wtedy jedynym rozwiązaniem będzie wymiana całej płyty głównej. Problem może się również pojawić w przypadku płyt z Intelowskim chipsetem FX,VX czy TX, które co prawda suportują kości pamięci o pojemności powyżej 64MB ale cache na płycie głównej obsługuje jedynie pierwsze 64MB tej pamięci. Dzisiejsze płyty główne najczęściej obsługują pamięć RAM w wielkości od 2GB do 4GB co daje jak na razie wystarczający zapas. Jednak wracając do podkręcania komputera i operacji, których dokonać możemy w setupie BIOSu naszego komputera, kolejną zasadą jest nie zmienianie opcji, co do których nie mamy do końca pewności za co odpowiadają. Zlekceważenie tej zasady może pociągnąć za sobą bardzo niemiłe konsekwencje, począwszy od niewłaściwego działania systemu po utratę danych a w niektórych przypadkach nawet spalenie kości pamięci czy płyty głównej.
Podręczna pamięć dyskowa
Wydajność wszystkich dysków twardych poza oczywiście gęstością upakowania danych i ilością talerzy oraz prędkością ich obrotów na minutę kreują też układy elektroniczne w owych dyskach zainstalowane. Bardzo ważną cechą mającą wpływ na szybkość pracy dysku twardego jest wielkość pamięci podręcznej dysku. Wykorzystywanie cache przez dyski twarde jest konieczne ze względu na to że dane, znajdują się na talerzach, które ciągle się obracają (w większości dysków z prędkością ok. 7200 obrotów na minutę) i dostęp do nich bardzo rzadko może być natychmiastowy. Najczęściej dostęp do danych następuje po pewnym czasie, który obejmuje wysłanie żądania pobrania danych z nośnika przez system, ustawienie przez dysk głowicy odczytującej w należytej pozycji oraz czasu, który dysk potrzebuje na obrócenie talerza z zapisanymi danymi tak aby mogły być one przeczytane przez głowicę. Wykorzystując natomiast cache dyskowy można znacznie usprawnić odczytywanie i zapisywanie danych, ponieważ minimalizowane są niepotrzebne "puste" obroty dysku i skracane do minimum są czasy ustawiania głowic w odpowiedniej pozycji (zarówno zapisu jak i odczytu).
Dzięki temu dane mogą być o wiele szybciej odczytane z dysku jak również na niego zapisane. Obecnie dla zastosowań domowych najczęściej wykorzystuje się dyski posiadające cache o pojemności 2MB jednak wiele dysków znanych firm (Seagate, Quantum, IBM, Samsung, Maxtor), posiada cache o pojemności 8MB. Najczęściej niewielką część bufora (od 40KB do ok. 288KB) zajmuje firmaware dysku (czyli jego oprogramowanie).
Poprawne ustawienie typu pamięci cache
Wyróżniamy trzy rodzaje pracy pamięci cache są to odpowiednio: WT (z ang. Write Through) odpowiadający na zmniejszaniu czasu dostępu do danych, WB (z ang. Write Back), który poza funkcją zmniejszania czasu dostępu posiada również możliwość zapisu do pamięci operacyjnej i wreszcie LB (z ang. Linear Burst) stosowany jedynie dla procesorów firmy Cyrix. Komputery przeznaczone do zastosowań domowych mają najczęściej poprawnie ustawiony typ pamięci podręcznej, jednakże w przypadku np. wymiany procesora na wydajniejszy, może zajść potrzeba przestawienia typu pamięci w celu osiągnięcia lepszych rezultatów pracy. Gdy płyta główna posiada możliwość ustawienia pamięci podręcznej w tryb WB to z nowszym, szybszym procesorem będzie pracowała szybciej, natomiast w przeciwnym wypadku pozostawało tylko ustawienie trybu pracy na WT.
Odpowiednie ustawienie pamięci podręcznej dla CD-ROMu
Opcja ta dotyczy jedynie użytkowników posiadających starsze maszyny (80386 czy też 80486). W powszechnie stosowanych na tego typu maszynach Windowsach 3.x bardzo często używało się programu SmartDrive. Działanie tego niewielkiego programiku sprowadzało się do cachowania odwołań do dysku twardego, można też za jednak za jego przyspieszyć działanie CD-ROMu. W dobie CD-ROMów o prędkości x2 czy x4 miało to bardzo duże znaczenie np. podczas uruchamiania gier czy słowników multimedialnych. Cały widz polegał na tym, żeby podczas uruchamiania systemu najpierw załadował się do pamięci sterownik CD-ROMu (MSCDEX) natomiast po nim dopiero programik SmartDrive, w odwrotnym przypadku, SmartDrive podczas wczytywania nie zobaczy CD-ROMu (bo sterownik do niego czyli MSCDEX będzie wczytany dopiero po SmartDrivi'e) i nie będzie go buforował. A propos kolejności wczytywania sterowników i programów do pamięci w starszych systemach operacyjnych (DOS, Windows 3.x) ważne jest też żeby przed wczytaniem SmartDriv'a wczytać plik KEYB.COM (sterownik klawiatury), dzięki temu w przypadku resetu "miękkiego" (czyli po naciśnięciu jednocześnie klawiszy Ctrl Alt Del) cachowane dane z klawiatury nie przepadną.
Włączenie pamięci cache
Aby procesor mógł do końca wykorzystać swą wysoką częstotliwość taktowania musi mieć możliwość odpowiednio szybkiego pobierania danych do przetworzenia. Pamięć RAM nawet ta najszybsza i tak nie jest w stanie zapewnić wystarczającej przepustowości danych. Dlatego też od dawna już wykorzystuje się do tego celu szybką pamięć podręczną cache L1 i L2, która na początku (np. procesory 80386) była wlutowana na płycie głównej i współpracowała jedynie z procesorem by z biegiem czasu stać się częścią procesora (od momentu wprowadzenia procesorów 80486). W celu włączenia pamięci cache, należy wejść do setupu BIOSu płyt głównej, odnaleźć opcję "CPU Internal Cache" oraz "External Cache" i ustawić je w pozycji "Enabled". Dzięki temu uruchomiona zostanie pamięć podręczna cache L1 i L2 a nasz komputer bardzo widocznie zwiększy swoją wydajność.
W przypadku niektórych BIOSów istnieje również możliwość ustawienia trybu pracy cachu, do wyboru będziemy tu mieć dwie opcje. WT (z ang. Write Through) w przypadku włączenia której każdorazowe zapisanie danych w pamięci podręcznej powoduje również przesłanie tych danych do pamięci operacyjnej, ten tryb jest mniej wydajny i stosuje się go w starszego typu komputerach. WB (z ang. Write Back) jego działanie polega na umieszczeniu danych najpierw w cachu i dopiero z cachu przesłanie owych danych (w większych blokach) do pamięci RAM.