Pamięć podręczna a pamięć wirtualna
Różnica między pamięcią podręczną a pamięcią wirtualną istnieje w celu, w jakim są one używane, oraz w fizycznym istnieniu. Pamięć podręczna to rodzaj pamięci używanej w celu skrócenia czasu dostępu do pamięci głównej. Znajduje się między procesorem a pamięcią główną i może istnieć kilka poziomów pamięci podręcznych, takich jak L1, L2 i L3. Rodzaj sprzętu używanego w pamięci podręcznej jest znacznie droższy niż pamięć RAM (pamięć o dostępie swobodnym) używana w pamięci głównej, ponieważ pamięć podręczna jest znacznie szybsza. Z tego powodu pojemność pamięci podręcznej jest bardzo mała. Pamięć wirtualna to technika zarządzania pamięcią wykorzystywana do efektywnego wykorzystania pamięci RAM (pamięci głównej) przy jednoczesnym zapewnieniu oddzielnej przestrzeni pamięci dla każdego programu, która jest nawet większa niż rzeczywista fizyczna pojemność pamięci RAM (pamięć główna). Tutaj twardy dysk służy do rozszerzenia pamięci. Elementy fizycznej pamięci RAM są przesyłane tam iz powrotem wraz z dyskiem twardym.
Co to jest pamięć podręczna?
Pamięć podręczna to rodzaj pamięci znajdującej się między procesorem (Central Processing Unit) a pamięcią RAM (Random Access Memory). Celem pamięci podręcznej jest skrócenie czasu dostępu procesora do pamięci RAM. Pamięć podręczna jest znacznie szybsza niż pamięć RAM. Zatem czas dostępu do pamięci podręcznej jest znacznie krótszy niż czas dostępu do pamięci RAM. Ale koszt pamięci używanej do pamięci podręcznej jest znacznie wyższy niż koszt pamięci używanej do pamięci RAM, a zatem pojemność pamięci podręcznej jest bardzo mała. Typ pamięci używanej jako pamięć podręczna nosi nazwę SRAM (statyczna pamięć o dostępie swobodnym).
Zawsze, gdy procesor chce uzyskać dostęp do pamięci, najpierw sprawdza, czy to, czego potrzebuje, znajduje się w pamięci podręcznej. Jeśli tak, będzie mógł uzyskać do niego dostęp z najmniejszym opóźnieniem. Jeśli nie znajduje się w pamięci podręcznej, żądana zawartość zostanie skopiowana z pamięci RAM do pamięci podręcznej, a wtedy tylko procesor będzie miał do niej dostęp z pamięci podręcznej. Tutaj, podczas kopiowania treści z pamięci podręcznej, nie tylko zawartość z żądanego adresu pamięci, ale także zawartość znajdująca się w pobliżu jest kopiowana do pamięci podręcznej. Tak więc następnym razem istnieje duże prawdopodobieństwo wystąpienia trafienia w pamięci podręcznej, ponieważ większość programów komputerowych uzyskuje dostęp do pobliskich danych lub ostatnio uzyskiwanych danych przez większość czasu. Tak więc ze względu na pamięć podręczną średnie opóźnienie pamięci jest zmniejszone.
W CPU istnieją trzy typy pamięci podręcznych: pamięć podręczna instrukcji do przechowywania instrukcji programu, pamięć podręczna danych do przechowywania elementów danych oraz bufor wyszukiwania tłumaczeń do przechowywania mapowań pamięci. W przypadku pamięci podręcznej danych istnieją ogólnie wielopoziomowe pamięci podręczne. Oznacza to, że istnieje kilka pamięci podręcznych, takich jak L1, L2 i L3. Pamięć podręczna L1 to najszybsza, ale najmniejsza pamięć podręczna, która znajduje się najbliżej procesora. Pamięć podręczna L2 jest wolniejsza niż L1, ale większa niż L1 i znajduje się za pamięcią L1 cache. Dzięki tej hierarchii można uzyskać lepszy średni czas dostępu do pamięci mniejszym kosztem.
Co to jest pamięć wirtualna?
Pamięć wirtualna to technika zarządzania pamięcią używana w systemach komputerowych. Nie istnieje sprzęt zwany pamięcią wirtualną, ale jest to koncepcja wykorzystująca pamięć RAM i dysk twardy do zapewnienia wirtualnej przestrzeni adresowej dla programów. Pierwsza pamięć RAM jest podzielona na fragmenty zwane stronami i są one identyfikowane przez fizyczne adresy pamięci. Na dysku twardym zarezerwowana jest specjalna część, w której w Linuksie nazywa się to wymianą, aw systemie Windows nazywa się to plikiem strony. Kiedy program jest uruchamiany, otrzymuje wirtualną przestrzeń adresową, która może być nawet większa niż rzeczywista pamięć fizyczna. Przestrzeń pamięci wirtualnej jest również podzielona na fragmenty zwane stronami, a każda z tych stron pamięci wirtualnej może być mapowana na stronę fizyczną. Tabela o nazwie tabela stron śledzi to mapowanie. Gdy w pamięci fizycznej zabraknie miejsca, należyniektóre strony fizyczne są umieszczane w tej specjalnej części dysku twardego. Gdy jakakolwiek strona wypchnięta na dysk twardy jest ponownie potrzebna, jest przenoszona do pamięci fizycznej poprzez umieszczenie innej wybranej strony z pamięci fizycznej na dysku twardym.
Jaka jest różnica między pamięcią podręczną a pamięcią wirtualną?
• Pamięć podręczna to rodzaj pamięci używanej w celu skrócenia czasu dostępu do pamięci głównej. Jest to szybszy typ pamięci, który znajduje się między procesorem a pamięcią RAM, aby zmniejszyć średnie opóźnienie dostępu do pamięci. Pamięć wirtualna to metoda zarządzania pamięcią, w której jest to koncepcja, która pozwala programom uzyskać własną pamięć wirtualną, która jest nawet większa niż rzeczywista dostępna fizyczna pamięć RAM.
• Pamięć podręczna to rodzaj pamięci sprzętowej, która faktycznie istnieje. Z drugiej strony nie istnieje sprzęt zwany pamięcią wirtualną, ponieważ jest to koncepcja wykorzystująca pamięć RAM, dysk twardy, jednostkę zarządzania pamięcią i oprogramowanie w celu zapewnienia wirtualnego typu pamięci.
• Zarządzanie pamięcią podręczną jest całkowicie sprzętowe. Pamięcią wirtualną zarządza system operacyjny (oprogramowanie).
• Pamięć podręczna znajduje się między pamięcią RAM a procesorem. Przesyłanie danych obejmuje pamięć RAM, pamięć podręczną i procesor. Z drugiej strony pamięć wirtualna obejmuje transfer danych między pamięcią RAM a dyskiem twardym.
• Pamięci podręczne mają małe rozmiary, takie jak kilobajty i megabajty. Z drugiej strony pamięć wirtualna obejmuje ogromne rozmiary, które zajmują gigabajty.
• Pamięć wirtualna obejmuje struktury danych, takie jak tabele stron, które przechowują odwzorowania między pamięcią fizyczną a pamięcią wirtualną. Ale tego typu struktury danych nie są konieczne w przypadku pamięci podręcznej.
Streszczenie:
Pamięć podręczna a pamięć wirtualna
Pamięć podręczna służy do skrócenia czasu dostępu do pamięci głównej, podczas gdy pamięć wirtualna jest metodą zarządzania pamięcią. Pamięć podręczna to rzeczywisty sprzęt, ale nie ma sprzętu nazywanego pamięcią wirtualną. Pamięć RAM, dysk twardy i różne inne urządzenia wraz z systemem operacyjnym tworzą koncepcję zwaną pamięcią wirtualną, zapewniającą każdemu programowi duże i izolowane przestrzenie pamięci wirtualnej. Treścią w pamięci podręcznej zarządza sprzęt, podczas gdy zawartość pamięci wirtualnej jest zarządzana przez system operacyjny.
Zdjęcia dzięki uprzejmości:
- Proces pamięci podręcznej przez Hellisp (CC BY-SA 3.0)
- Pamięć wirtualna firmy Ehamberg (CC BY-SA 3.0)