Różnica między pamięcią podręczną a pamięcią wirtualną

Pamięć podręczna a pamięć wirtualna
 

Różnica między pamięcią podręczną a pamięcią wirtualną istnieje w celu, w jakim te dwie są używane, oraz w fizycznym istnieniu. Pamięć podręczna to rodzaj pamięci służącej do poprawy 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 do pamięci podręcznej jest znacznie droższy niż pamięć RAM (pamięć o dostępie swobodnym) używana do 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ą używana do efektywnego wykorzystania pamięci RAM (pamięć główna), zapewniając jednocześnie osobną przestrzeń pamięci dla każdego programu, która jest nawet większa niż faktyczna pojemność pamięci fizycznej (pamięć główna). W tym przypadku dysk twardy służy do rozszerzenia pamięci. Elementy fizycznej pamięci RAM są przesyłane tam iz powrotem za pomocą dysku twardego.

Co to jest pamięć podręczna?

Pamięć podręczna to rodzaj pamięci która leży pomiędzy CPU (Central Processing Unit) a RAM (pamięć o dostępie swobodnym). Celem pamięci podręcznej jest skrócenie czasu dostępu do pamięci procesora z pamięci RAM. Pamięć podręczna jest znacznie szybsza niż pamięć RAM. Czas dostępu do pamięci podręcznej jest więc 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. Rodzaj pamięci używanej do pamięci podręcznej nazywa się SRAM (pamięć o dostępie swobodnym).

Ilekroć 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 w stanie 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 uzyska dostęp do niej z pamięci podręcznej. Tutaj, podczas kopiowania zawartości z pamięci podręcznej, do pamięci podręcznej są kopiowane nie tylko treści z żądanego adresu pamięci, ale także zawartość w pobliżu. Tak więc następnym razem istnieje duże prawdopodobieństwo, że trafienie w pamięć podręczną wystąpi, ponieważ większość programów komputerowych uzyskuje dostęp do pobliskich danych lub danych, do których ostatnio uzyskano dostęp. Dzięki pamięci podręcznej średnie opóźnienie pamięci jest zmniejszone.

W CPU są trzy typy pamięci podręcznych: Pamięć podręczna instrukcji do przechowywania instrukcji programu, Pamięć podręczna danych do przechowywania elementów danych oraz Tłumaczenie bufor buforowy do przechowywania mapowań pamięci. W przypadku pamięci podręcznej danych istnieją ogólnie pamięci podręczne wielopoziomowe. 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 najbliższa procesorowi. Pamięć podręczna L2 jest wolniejsza niż L1, ale większa niż L1 i znajduje się po pamięci podręcznej L1. Z powodu tej hierarchii lepszy średni czas dostępu do pamięci można uzyskać przy niższym koszcie.

Co to jest pamięć wirtualna?

Pamięć wirtualna to technika zarządzania pamięcią stosowany w systemach komputerowych. Nie ma sprzętu zwanego 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 części zwane stronami i są one identyfikowane przez adresy pamięci fizycznej. Na dysku twardym zarezerwowana jest specjalna część, w Linuksie nazywana jest ona zamianą, a w systemie Windows nazywana jest plikiem stronicowania. Po uruchomieniu programu 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 części zwane stronami, a każdą z tych stron pamięci wirtualnej można odwzorować na stronę fizyczną. Tabela zwana tabelą stron śledzi to mapowanie. Kiedy w pamięci fizycznej zabraknie miejsca, pewne strony fizyczne są wypychane do tej specjalnej części na dysku twardym. Gdy jakakolwiek strona wypchnięta na dysk twardy jest ponownie potrzebna, zostaje przeniesiona do pamięci fizycznej poprzez przeniesienie innej wybranej strony z pamięci fizycznej na dysk twardy.

Jaka jest różnica między pamięcią podręczną a pamięcią wirtualną?

• Pamięć podręczna to rodzaj pamięci wykorzystywanej do poprawy 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ą, polegająca na tym, że pozwala programom uzyskać własną przestrzeń pamięci wirtualnej, 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 fizycznie. Z drugiej strony nie ma sprzętu zwanego pamięcią wirtualną, ponieważ jest to koncepcja wykorzystująca pamięć RAM, dysk twardy, moduł zarządzania pamięcią i oprogramowanie w celu zapewnienia wirtualnego rodzaju pamięci.

• Zarządzanie pamięcią podręczną odbywa się w całości przez sprzęt. Pamięcią wirtualną zarządza system operacyjny (oprogramowanie).

• Pamięć podręczna leży 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ęć podręczna zajmuje 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ą mapowanie między pamięcią fizyczną a pamięcią wirtualną. Ale ten typ struktur danych nie jest konieczny dla pamięci podręcznej.

Streszczenie:

Pamięć podręczna a pamięć wirtualna

Pamięć podręczna służy do poprawy 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 zwanego pamięcią wirtualną. Pamięć RAM, dysk twardy i inny sprzęt wraz z systemem operacyjnym tworzą koncepcję zwaną pamięcią wirtualną, która zapewnia duże i izolowane przestrzenie pamięci wirtualnej dla każdego programu. Zawartość w pamięci podręcznej jest zarządzana przez sprzęt, natomiast zawartość w pamięci wirtualnej jest zarządzana przez system operacyjny.

Obrazy dzięki uprzejmości:

  1. Proces pamięci podręcznej Hellisp (CC BY-SA 3.0)
  2. Pamięć wirtualna Ehamberg (CC BY-SA 3.0)