Разлика между кеш паметта и виртуалната памет

Кеш памет срещу виртуална памет
 

Разликата между кеш паметта и виртуалната памет съществува в целта, за която се използват тези две, и във физическото съществуване. Кеш паметта е вид памет, използвана за подобряване на времето за достъп на основната памет. Той се намира между процесора и основната памет и може да има няколко нива на кешове като L1, L2 и L3. Типът хардуер, използван за кеш памет, е много по-скъп от RAM (Random Access Memory), използван за основната памет, тъй като кеш паметта е много по-бърза. Поради тази причина капацитетът на кеш паметта е много малък. Виртуалната памет е техника за управление на паметта, използвана за ефективно използване на RAM (основна памет), като същевременно осигурява отделно пространство за памет за всяка програма, което е дори по-голямо от действителния физически RAM (основна памет) капацитет. Тук твърдият диск се използва за разширяване на паметта. Елементите във физическата RAM памет се прехвърлят напред и назад с твърдия диск.

Какво е кеш паметта?

Кеш паметта е a вид памет който се намира между процесора (централен процесор) и RAM (памет за случаен достъп). Целта на кеш паметта е да се намали времето за достъп до паметта на процесора от RAM паметта. Кеш паметта е много по-бърза от RAM паметта. Така че времето за достъп до кеша е много по-малко от времето за достъп в RAM паметта. Но цената на паметта, използвана за кеш памет, е много по-висока от цената на паметта, използвана за RAM, и следователно капацитетът на кеш паметта е много малък. Типът памет, използвана за кеш паметта, се нарича SRAM (статична памет за случаен достъп).

Всеки път, когато процесорът иска достъп до паметта, той първо проверява дали това, от което се нуждае, се намира в кеш паметта. Ако отговорът е „да“, той би могъл да получи достъп до него с най-малко закъснение. Ако не пребивава в кеша, исканото съдържание ще бъде копирано от RAM в кеша и тогава само CPU ще получи достъп до него от кеша. Тук, когато копирате съдържание от кеша, не само съдържанието в заявения адрес на паметта, но и близкото съдържание се копира в кеш. И така, следващият път има голяма вероятност да се случи хит на кеш, тъй като повечето компютърни програми имат достъп до данни наблизо или последно имат достъп до данни повечето пъти. Така поради кеша се намалява средната латентност на паметта.

В процесора има три типа кеши: Кеш на инструкции за съхраняване на програмните инструкции, Кеш на данни да съхранявате елементи от данни и Превод изглеждащ встрани буфер за съхранение на карти на паметта. За кеша на данни обикновено има кеши на много нива. Тоест има няколко кеша като L1, L2 и L3. L1 кешът е най-бързата, но най-малката кеш памет, която е най-близка до процесора. L2 кешът е по-бавен от L1, но по-голям от L1 и се намира след кеша L1. Поради тази йерархия може да се постигне по-добро средно време за достъп до паметта с по-ниска цена.

Какво е виртуална памет?

Виртуалната памет е a техника за управление на паметта използван в компютърните системи. Няма хардуер, наречен виртуална памет, но това е концепция, която използва RAM и твърдия диск за осигуряване на виртуално адресно пространство за програми. Първата оперативна памет е разделена на парчета, наречени страници и те са идентифицирани чрез физически адреси на паметта. В твърдия диск е запазена специална част, където в Linux се нарича swap, а в Windows се нарича файл със страница. Когато се стартира програма, се дава виртуално адресно пространство, което може да бъде дори по-голямо от действителната физическа памет. Пространството за виртуална памет също е разделено на парчета, наречени страници и всяка от тази страница за виртуална памет може да бъде картографирана на физическа страница. Таблицата, наречена таблица със страници, следи това картографиране. Когато физическата памет изчерпа място, това, което се прави е, определени физически страници се преместват към тази специална част на твърдия диск. Когато някоя страница, изтласкана към твърдия диск, отново е необходима, тя се привежда във физическата памет чрез поставяне на друга избрана страница от физическата памет на твърдия диск.

Каква е разликата между кеш паметта и виртуалната памет?

• Кеш паметта е вид памет, използвана за подобряване на времето за достъп до основната памет. Това е по-бърз тип памет, който се намира между CPU и RAM, за да намали средната латентност на достъпа до паметта. Виртуалната памет е метод за управление на паметта, където е концепция, която позволява на програмите да получат собствено пространство за виртуална памет, което е дори по-голямо от наличната реална физическа оперативна памет.

• Кеш паметта е вид хардуерна памет, която действително съществува физически. От друга страна, няма хардуер, наречен виртуална памет, тъй като това е концепция, която използва RAM, твърд диск, устройство за управление на паметта и софтуер за осигуряване на виртуален тип памет.

• Управлението на кеш паметта се извършва изцяло от хардуер. Виртуалната памет се управлява от операционната система (софтуер).

• Кеш паметта се намира между RAM и процесора. Прехвърлянето на данни включва оперативна памет, кеш памет и процесор. Виртуалната памет, от друга страна, включва прехвърляне на данни между RAM и твърд диск.

• Кеш паметта има малки размери, като Килобайт и Мегабайт. От друга страна, виртуалната памет включва огромни размери, които заемат гигабайти.

• Виртуалната памет включва структури от данни, като таблици на страници, които съхраняват картографиране между физическа памет и виртуална памет. Но този тип структури от данни не са необходими за кеш паметта.

Резюме:

Кеш памет срещу виртуална памет

Кеш паметта се използва за подобряване на времето за достъп до основната памет, докато виртуалната памет е метод за управление на паметта. Кеш паметта е действителен хардуер, но няма хардуер, наречен виртуална памет. RAM, твърд диск и различен друг хардуер заедно с операционната система създава концепцията, наречена виртуална памет, за осигуряване на големи и изолирани пространства за виртуална памет на всяка програма. Съдържанието в кеш паметта се управлява от хардуер, докато съдържанието във виртуалната памет се управлява от операционната система.

С любезност на изображенията:

  1. Процес на кеш памет от Hellisp (CC BY-SA 3.0)
  2. Виртуална памет от Ehamberg (CC BY-SA 3.0)