Разница между кэш-памятью и виртуальной памятью

Оглавление:

Разница между кэш-памятью и виртуальной памятью
Разница между кэш-памятью и виртуальной памятью

Видео: Разница между кэш-памятью и виртуальной памятью

Видео: Разница между кэш-памятью и виртуальной памятью
Видео: Настя и сборник весёлых историй 2024, Апрель
Anonim

Кэш-память против виртуальной памяти

Разница между кэш-памятью и виртуальной памятью существует в целях, для которых они используются, и в физическом существовании. Кэш-память - это тип памяти, используемый для улучшения времени доступа к основной памяти. Он находится между процессором и основной памятью, и может быть несколько уровней кешей, таких как L1, L2 и L3. Тип оборудования, используемого для кэш-памяти, намного дороже, чем ОЗУ (оперативная память), используемая для основной памяти, потому что кэш-память намного быстрее. По этой причине емкость кэш-памяти очень мала. Виртуальная память - это метод управления памятью, используемый для эффективного использования ОЗУ (основной памяти), обеспечивая при этом отдельное пространство памяти для каждой программы, которое даже больше, чем фактическая емкость физической ОЗУ (основной памяти). Здесь жесткий диск используется для расширения памяти. Элементы в физической оперативной памяти передаются назад и вперед вместе с жестким диском.

Что такое кэш-память?

Кэш-память - это тип памяти, который находится между ЦП (центральным процессором) и ОЗУ (памятью с произвольным доступом). Назначение кэш-памяти - уменьшить время доступа ЦП к оперативной памяти. Кеш-память намного быстрее ОЗУ. Таким образом, время доступа к кеш-памяти намного меньше, чем время доступа к оперативной памяти. Но стоимость памяти, используемой для кэш-памяти, намного выше, чем стоимость памяти, используемой для RAM, и, следовательно, емкость кэш-памяти очень мала. Тип памяти, используемой для кэш-памяти, называется SRAM (статическая оперативная память).

Когда процессор хочет получить доступ к памяти, он сначала проверяет, находится ли то, что ему нужно, в кэш-памяти. Если да, то он сможет получить к нему доступ с наименьшей задержкой. Если он не находится в кеше, запрошенное содержимое будет скопировано из ОЗУ в кеш, и тогда только ЦП будет обращаться к нему из кеша. Здесь, при копировании содержимого из кеша, в кеш копируется не только содержимое запрошенного адреса памяти, но и близлежащий контент. Таким образом, в следующий раз высока вероятность попадания в кэш, поскольку большинство компьютерных программ в большинстве случаев обращаются к ближайшим данным или данным, к которым обращались последний раз. Таким образом, за счет кеша снижается средняя задержка памяти.

Разница между кэш-памятью и виртуальной памятью
Разница между кэш-памятью и виртуальной памятью

В CPU существует три типа кэшей: кэш инструкций для хранения программных инструкций, кэш данных для хранения элементов данных и буфер просмотра трансляции для хранения отображений памяти. Для кеширования данных обычно используются многоуровневые кеши. То есть есть несколько кешей как L1, L2 и L3. Кэш L1 - это самая быстрая, но самая маленькая кеш-память, ближайшая к ЦП. Кэш L2 медленнее, чем L1, но больше, чем L1, и находится после кеша L1. Благодаря такой иерархии можно добиться лучшего среднего времени доступа к памяти с меньшими затратами.

Что такое виртуальная память?

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

Кэш-память против виртуальной памяти
Кэш-память против виртуальной памяти

В чем разница между кэш-памятью и виртуальной памятью?

• Кэш-память - это тип памяти, используемый для увеличения времени доступа к основной памяти. Это более быстрый тип памяти, который находится между ЦП и ОЗУ, чтобы уменьшить среднюю задержку доступа к памяти. Виртуальная память - это метод управления памятью, концепция которого позволяет программам получать собственное пространство виртуальной памяти, которое даже больше, чем реальная доступная физическая ОЗУ.

• Кэш-память - это тип аппаратной памяти, реально существующей физически. С другой стороны, нет оборудования, называемого виртуальной памятью, поскольку это концепция, которая использует ОЗУ, жесткий диск, блок управления памятью и программное обеспечение для обеспечения виртуального типа памяти.

• Управление кэш-памятью полностью осуществляется аппаратно. Виртуальной памятью управляет операционная система (программное обеспечение).

• Кэш-память находится между ОЗУ и процессором. Передача данных включает ОЗУ, кэш-память и процессор. Виртуальная память, с другой стороны, предполагает передачу данных между RAM и жестким диском.

• Кэш-память занимает небольшие размеры, например килобайты и мегабайты. С другой стороны, виртуальная память имеет огромные размеры, которые занимают гигабайты.

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

Резюме:

Кэш-память против виртуальной памяти

Кэш-память используется для увеличения времени доступа к основной памяти, а виртуальная память - это метод управления памятью. Кэш-память - это реальное оборудование, но нет оборудования, называемого виртуальной памятью. ОЗУ, жесткий диск и другое другое оборудование вместе с операционной системой создают концепцию, называемую виртуальной памятью, чтобы предоставить большие и изолированные пространства виртуальной памяти для каждой программы. Контент в кэш-памяти управляется аппаратно, а контент в виртуальной памяти управляется операционной системой.

Изображения любезно предоставлены:

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

Рекомендуем: