Кеш памет срещу виртуална памет
Разликата между кеш паметта и виртуалната памет съществува в целта, за която се използват двете, и във физическото съществуване. Кеш паметта е вид памет, използвана за подобряване на времето за достъп до основната памет. Той се намира между процесора и основната памет и може да има няколко нива на кеш като L1, L2 и L3. Типът хардуер, използван за кеш памет, е много по-скъп от RAM (памет с произволен достъп), използван за основна памет, тъй като кеш паметта е много по-бърза. Поради тази причина капацитетът на кеш паметта е много малък. Виртуалната памет е техника за управление на паметта, използвана за ефективно използване на RAM (основна памет), като същевременно осигурява отделно пространство в паметта за всяка програма, което е дори по-голямо от действителния капацитет на физическа RAM (основна памет). Тук твърдият диск се използва за разширяване на паметта. Елементите във физическата RAM се прехвърлят напред-назад с твърдия диск.
Какво е кеш памет?
Кеш паметта е вид памет, която се намира между CPU (централен процесор) и RAM (памет с произволен достъп). Целта на кеш паметта е да намали времето за достъп до паметта на процесора от RAM. Кеш паметта е много по-бърза от RAM. Така че времето за достъп до кеша е много по-малко от времето за достъп до RAM. Но цената на паметта, използвана за кеш памет, е много по-висока от цената на паметта, използвана за RAM, и следователно капацитетът на кеш паметта е много малък. Типът памет, използван за кеш памет, се нарича SRAM (статична памет с произволен достъп).
Когато процесорът иска достъп до паметта, той първо проверява дали това, от което се нуждае, се намира в кеш паметта. Ако да, ще има достъп до него с най-малко забавяне. Ако не се намира в кеша, тогава исканото съдържание ще бъде копирано от RAM в кеша и тогава само процесорът ще има достъп до него от кеша. Тук, когато копирате съдържание от кеша, не само съдържанието в заявения адрес на паметта, но и съдържанието наблизо се копира в кеша. Така че следващия път има голяма вероятност да възникне попадение в кеша, тъй като повечето компютърни програми имат достъп до данни наблизо или до последно достъпни данни през повечето време. Така че благодарение на кеша, средното забавяне на паметта е намалено.
В процесора има три типа кеш памет: кеш за инструкции за съхраняване на програмни инструкции, кеш за данни за съхраняване на елементи с данни и буфер за преобразуване на превод за съхраняване на съпоставяния на паметта. За кеша на данни обикновено има кешове на много нива. Тоест има няколко кеша като L1, L2 и L3. L1 кеш паметта е най-бързата, но най-малката кеш памет, която е най-близо до процесора. L2 кеша е по-бавен от L1, но по-голям от L1 и се намира след L1 кеша. Благодарение на тази йерархия може да се постигне по-добро средно време за достъп до паметта на по-ниска цена.
Какво е виртуална памет?
Виртуалната памет е техника за управление на паметта, използвана в компютърните системи. Няма хардуер, наречен виртуална памет, но това е концепция, която използва RAM и твърдия диск, за да осигури виртуално адресно пространство за програмите. Първата RAM е разделена на части, наречени страници, и те се идентифицират чрез адреси на физическа памет. В твърдия диск е запазена специална част, където в Linux се нарича swap, а в Windows се нарича файл на страница. Когато една програма се стартира, тя получава виртуално адресно пространство, което може да бъде дори по-голямо от действителната физическа памет. Пространството на виртуалната памет също е разделено на части, наречени страници, и всяка от тези страници с виртуална памет може да бъде нанесена на физическа страница. Таблицата, наречена таблица на страници, следи това картографиране. Когато във физическата памет свърши мястото, това, което се прави, е, че определени физически страници се избутват в тази специална част на твърдия диск. Когато някоя страница, избутана на твърдия диск, е необходима отново, тя се пренася във физическата памет чрез поставяне на друга избрана страница от физическата памет на твърдия диск.
Каква е разликата между кеш памет и виртуална памет?
• Кеш паметта е вид памет, използвана за подобряване на времето за достъп до основната памет. Това е по-бърз тип памет, която се намира между CPU и RAM, за да намали средното забавяне на достъпа до паметта. Виртуалната памет е метод за управление на паметта, където това е концепция, която позволява на програмите да получат собствено пространство за виртуална памет, което е дори по-голямо от наличната реална физическа RAM.
• Кеш паметта е вид хардуерна памет, която реално съществува физически. От друга страна, няма хардуер, наречен виртуална памет, тъй като това е концепция, която използва RAM, твърд диск, модул за управление на паметта и софтуер, за да осигури виртуален тип памет.
• Управлението на кеш паметта се извършва изцяло от хардуер. Виртуалната памет се управлява от операционната система (софтуер).
• Кеш паметта се намира между RAM и процесора. Прехвърлянето на данни включва RAM, кеш памет и процесор. Виртуалната памет, от друга страна, включва прехвърляне на данни между RAM и твърдия диск.
• Кеш паметите заемат малки размери като килобайти и мегабайти. Виртуалната памет, от друга страна, включва огромни размери, които отнемат гигабайти.
• Виртуалната памет включва структури от данни като таблици на страници, които съхраняват картографиране между физическа памет и виртуална памет. Но този тип структури от данни не са необходими за кеш паметта.
Резюме:
Кеш памет срещу виртуална памет
Кеш паметта се използва за подобряване на времето за достъп до основната памет, докато виртуалната памет е метод за управление на паметта. Кеш паметта е действителен хардуер, но няма хардуер, наречен виртуална памет. RAM, твърдият диск и различният друг хардуер заедно с операционната система създават концепцията, наречена виртуална памет, за да осигурят големи и изолирани пространства за виртуална памет за всяка програма. Съдържанието в кеш паметта се управлява от хардуера, докато съдържанието във виртуалната памет се управлява от операционната система.