Что означает кэш память процессора, в чем отличие L1,L2,L3. Кэш - что это, как работает и для чего

В этой статье будет рассказано, что такое кэш и какие существуют виды. Этот вопрос часто задают пользователи компьютера, которые не до конца понимают значение этого термина. Существует несколько видов кэш-памяти на разных устройствах. Она является неотъемлемой частью компьютера и просто необходима ему для качественной работы. В статье будут детально описаны отличия и рассказано о том, когда кэш стоит очищать и к чему это приведет.

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

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

Что такое кэш компьютера?

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

Пример работы

Можно привести пример работы кэш-памяти, чтобы правильно понять её суть. Человеку требуется узнать номера телефонов, которые он не помнит. Найти телефоны в справочнике будет равноценно тому, как процессор ищет информацию в оперативной памяти. Если эти номера телефонов будут записаны на отдельном листе, человеку удастся быстро узнать их без поиска в справочнике. Вот этот листок является примером кэш-памяти. Компьютер автоматически загружает туда информацию, которая часто может стать полезной. Это, конечно же, сильно оптимизирует работу компьютера, за счет этого повышается его производительность.

Кэш браузера

Браузер также использует кэш-память. Он загружает туда информацию, картинки, звуки и другое. Это можно заметить по тому, как браузер быстрее открывает сайт, на который вы часто заходите, нежели тот, на какой попали в первый раз. Это происходит, потому что браузер "понимает", что этот сайт часто посещается вами, и для того, чтобы каждый раз не загружать информацию с него и не тратить на это время, он сохраняет её в кэш-память, чтобы оптимизировать работу и сэкономить время. Для этого временного хранилища браузер использует место на жестком диске. Размер кэша браузера можно настроить в самом браузере. Но стоит помнить, что если он заполнит информацией все место, то новая информация будет загружаться туда способом вытеснения старой, которая не используется. Кэш браузера можно легко очистить, если вы не считаете его нужным.

Кэш для игр на "Андроид"

Пользователи смартфонов "Андроид" часто задаются вопросом о том, что такое кэш для "Андроид". Чаще всего он требуется для игры с трехмерной графикой, которая требует большего пространства для дополнительных материалов. Иногда для игр он скачивается самостоятельно при входе в игру. Используя интернет, игра самостоятельно загружает требуемую ей информацию и помещает её в хранилище. Но иногда случается так, что кэш для игры нужно поместить в хранилище самостоятельно. Сделать это можно, следуя инструкции к установке игры. Чаще всего игра с кэшем устанавливается следующим образом. Установочный файл помещается в любое место на вашем устройстве, ведь этот файл требуется просто установить. Кэш, в свою очередь, должен быть помещен в специально отведённое место на вашем смартфоне, для того чтобы во время запуска игры он начал считывать информацию с нужного места. Если кэш расположен там, где нужно, игра будет спокойно функционировать. Место, куда нужно его копировать, указано в описании игры.

Что значит "очистить кэш"?

Что такое "очистить кэш", знает не так много людей. Это означает удалить всю накопившуюся информацию на вашем устройстве, нужную для оптимизации работы компьютера. Делать это нужно только в том случае, если это крайне необходимо. Допустим, после удаления кэша браузера, сайты, которыми вы постоянно пользуетесь, будут загружаться немного дольше. Ведь ему нужно будет заново загрузить всю информацию, находящуюся на сайте. После удаления кэша на смартфоне игры, которые его требуют, не смогут запуститься без этих материалов.

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

Зачем чистить кэш?

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

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

Кэш[или кеш (англ. cache, от фр.
Размещено на реф.рф
cacher - прятать; произносится - кэш) - промежуточный буфер с быстрым доступом, содержащий информацию, которая с наибольшей вероятностью должна быть запрошена быстродействующей памятью, к примеру оперативной. Доступ к данным в кэше идёт быстрее, чем выборка исходных данных из медленной памяти (внешней) или их перевычисление, за счёт чего уменьшается среднее время доступа.

Впервые слово ʼʼкэшʼʼ в компьютерном контексте было использовано в 1967 году во время подготовки статьи для публикации в журнале ʼʼIBM Systems Journalʼʼ. Статья касалась усовершенствования памяти в разрабатываемой модели 85 из серии IBM System/360. Редактор журнала Лайл Джонсон попросил придумать более описательный термин, нежели ʼʼвысокоскоростной буферʼʼ, но из-за отсутствия идей сам предложил слово ʼʼкэшʼʼ. Статья была опубликована в начале 1968 года, авторы были премированы IBM, их работа получила распространение и впоследствии была улучшена, а слово ʼʼкэшʼʼ вскоре стало использоваться в компьютерной литературе как общепринятый термин.

Функционирование

Диаграмма кэша памяти ЦПУ

Кэш - это память с большей скоростью доступа, предназначенная для ускорения обращения к данным, содержащимся постоянно в памяти с меньшей скоростью доступа (далее ʼʼосновная памятьʼʼ). Кэширование применяется ЦПУ, жёсткими дисками, браузерами и веб-серверами.

Кэш состоит из набора записей. Каждая запись ассоциирована с элементом данных или блоком данных (небольшой части данных), которая является копией элемента данных в основной памяти. Каждая запись имеет идентификатор, определяющий соответствие между элементами данных в кэше и их копиями в основной памяти.

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

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

В случае если кэш ограничен в объёме, то при промахе должна быть принято решение отбросить некоторую запись для освобождения пространства. Для выбора отбрасываемой записи используются разные алгоритмы вытеснения.

При модификации элементов данных в кэше выполняется их обновление в основной памяти. Задержка во времени между модификацией данных в кэше и обновлением основной памяти управляется так называемой политикой записи.

В кэше с немедленной записью каждое изменение вызывает синхронное обновление данных в основной памяти.

В кэше с отложенной записью (или обратной записью) обновление происходит в случае вытеснения элемента данных, периодически или по запросу клиента. Для отслеживания модифицированных элементов данных записи кэша хранят признак модификации (изменённый или ʼʼгрязныйʼʼ). Промах в кэше с отложенной записью может потребовать два обращения к основной памяти: первое для записи заменяемых данных из кэша, второе для чтения крайне важно го элемента данных.

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

[править]

Кэш центрального процессора

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

См. также: Translation lookaside buffer.

Уровни кэша

Кэш центрального процессора разделён на несколько уровней. Для универсальных процессоров - до 3. Кэш-память уровня N+1 как правило больше по размеру и медленнее по скорости обращения и передаче данных, чем кэш-память уровня N.

Самой быстрой памятью является кэш первого уровня - L1-cache. По сути, она является неотъемлемой частью процессора, поскольку расположена на одном с ним кристалле и входит в состав функциональных блоков. Состоит из кэша команд и кэша данных. Некоторые процессоры без L1 кэша не могут функционировать. На других его можно отключить, но тогда значительно падает производительность процессора. L1 кэш работает на частоте процессора, и, в общем случае, обращение к нему может производиться каждый такт (зачастую является возможным выполнять даже несколько чтений/записей одновременно). Латентность доступа обычно равна 2−4 тактам ядра. Объём обычно невелик - не более 128 Кбайт.

Вторым по быстродействию является L2-cache - кэш второго уровня. Обычно он расположен либо на кристалле, как и L1, либо в непосредственной близости от ядра, к примеру, в процессорном картридже (только в слотовых процессорах). В старых процессорах - набор микросхем на системной плате. Объём L2 кэша от 128 Кбайт до 1−12 Мбайт. В современных многоядерных процессорах кэш второго уровня, находясь на том же кристалле, является памятью раздельного пользования - при общем объёме кэша в 8 Мбайт на каждое ядро приходится по 2 Мбайта. Обычно латентность L2 кэша, расположенного на кристалле ядра, составляет от 8 до 20 тактов ядра. В отличие от L1 кэша, его отключение может не повлиять на производительность системы. При этом, в задачах, связанных с многочисленными обращениями к ограниченной области памяти, к примеру, СУБД, производительность может упасть в десятки раз.

Кэш третьего уровня наименее быстродействующий и обычно расположен отдельно от ядра ЦП, но он должна быть очень внушительного размера - более 32 Мбайт. L3 кэш медленнее предыдущих кэшей, но всё равно значительно быстрее, чем оперативная память. В многопроцессорных системах находится в общем пользовании.

Кэш второго и третьего уровней наиболее полезен в математических задачах, к примеру, при обсчёте полигонов, когда объём данных меньше размера кэша. В этом случае, можно сразу записать всœе данные в кэш, а затем производить их обработку.

Ассоциативность кэша

Одна из фундаментальных характеристик кэш-памяти - уровень ассоциативности - отображает её логическую сегментацию. Дело в том, что последовательный перебор всœех строк кэша в поисках необходимых данных потребовал бы десятков тактов и свёл бы на нет весь выигрыш от использования встроенной в ЦП памяти. По этой причине ячейки ОЗУ жёстко привязываются к строкам кэш-памяти (в каждой строке бывают данные из фиксированного набора адресов), что значительно сокращает время поиска. С каждой ячейкой ОЗУ должна быть связано более одной строки кэш-памяти: к примеру, n-канальная ассоциативность (англ. n-way set associative) обозначает, что информация по некоторому адресу оперативной памяти может храниться в n местах кэш-памяти.

При одинаковом объёме кэша схема с большей ассоциативностью будет наименее быстрой, но наиболее эффективной.

Кэширование внешних накопителœей

Многие периферийные устройства хранения данных используют кэш для ускорения работы, в частности, жёсткие диски используют кэш-память от 1 до 64 Мбайт (модели с поддержкой NCQ/TCQ используют её для хранения и обработки запросов), устройства чтения CD/DVD/BD-дисков также кэшируют прочитанную информацию для ускорения повторного обращения. Операционная система также использует часть оперативной памяти в качестве кэша дисковых операций (в том числе для внешних устройств, не обладающих собственной кэш-памятью, в т.ч. жёстких дисков, flash-памяти и гибких дисков).

Применение кэширования внешних накопителœей обусловлено следующими факторами:

скорость доступа процессора к оперативной памяти во много раз больше, чем к памяти внешних накопителœей;

некоторые блоки памяти внешних накопителœей используются несколькими процессами одновременно и имеет смысл прочитать блок один раз, затем хранить одну копию блока в оперативной памяти для всœех процессов;

доступ к некоторым блокам оперативной памяти происходит гораздо чаще, чем к другим, в связи с этим использование кэширования для таких блоков в целом увеличивает производительность системы;

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

Кэширование, выполняемое операционной системой

Кэш оперативной памяти состоит из следующих элементов:

набор страниц оперативной памяти, разделённых на буферы, равные по длинœе блоку данных соответствующего устройства внешней памяти;

набор заголовков буферов, описывающих состояние соответствующего буфера;

хеш-таблицы, содержащей соответствие номера блока заголовку;

списки свободных буферов.

Алгоритм работы кэша с отложенной записью

Изначально всœе заголовки буферов помещаются в список свободных буферов. В случае если процесс намеревается прочитать или модифицировать блок, то он выполняет следующий алгоритм:

пытается найти в хеш-таблице заголовок буфера с заданным номером;

в случае, в случае если полученный буфер занят, ждёт его освобождения;

в случае, в случае если буфер не найден в хеш-таблице, берёт первый буфер из хвоста списка свободных;

в случае, в случае если список свободных буферов пуст, то выполняется алгоритм вытеснения (см. ниже);

в случае, в случае если полученный буфер помечен как ʼʼгрязныйʼʼ, выполняет асинхронную запись содержимого буфера во внешнюю память.

удаляет буфер из хеш-таблицы, в случае если он был помещён в неё;

помещает буфер в хеш-таблицу с новым номером.

Процесс читает данные в полученный буфер и освобождает его. В случае модификации процесс перед освобождением помечает буфер как ʼʼгрязныйʼʼ. При освобождении буфер помещается в голову списка свободных буферов.

Таким образом:

если процесс прочитал некоторый блок в буфер, то велика вероятность, что другой процесс при чтении этого блока найдёт буфер в оперативной памяти;

запись данных во внешнюю память выполняется только тогда, когда не хватает ʼʼчистыхʼʼ буферов, либо по запросу.

Алгоритм вытеснения

В случае если список свободных буферов пуст, то выполняется алгоритм вытеснения буфера. Алгоритм вытеснения существенно влияет на производительность кэша. Существуют следующие алгоритмы:

LRU (Least Recently Used) - вытесняется буфер, неиспользованный дольше всœех;

MRU (Most Recently Used) - вытесняется последний использованный буфер;

LFU (Least Frequently Used) - вытесняется буфер, использованный реже всœех;

ARC (англ.) (Adaptive Replacement Cache) - алгоритм вытеснения, комбинирующий LRU и LFU, запатентованный IBM.

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

Программное кэширование

Политика записи при кэшировании

При чтении данных кэш-память даёт однозначный выигрыш в производительности. При записи данных выигрыш можно получить только ценой снижения надёжности. По этой причине в различных приложениях должна быть выбрана та или иная политика записи кэш-памяти..

Существуют две основные политики записи кэш-памяти - сквозная запись (write-through) и отложенная запись (write-back).

сквозная запись подразумевает, что при изменении содержимого ячейки памяти, запись происходит синхронно и в кэш и в основную память.

отложенная запись подразумевает, что можно отложить момент записи данных в основную память, а записать их только в кэш. При этом данные будут выгружены в оперативную память только в случае обращения к ним какого либо другого устройства (другой ЦП, контроллер DMA) либо нехватки места в кэше для размещения других данных. Производительность, по сравнению со сквозной записью, повышается, но это может поставить под угрозу целостность данных в основной памяти, поскольку программный или аппаратный сбой может привести к тому, что данные так и не будут переписаны из кэша в основную память. Вместе с тем, в случае кэширования оперативной памяти, когда используются два и более процессоров, нужно обеспечивать согласованность данных в разных кэшах.

Кэширование интернет-страниц

В процессе передачи информации по сети может использоваться кэширование интернет-страниц - процесс сохранения часто запрашиваемых документов на (промежуточных) прокси-серверах или машинœе пользователя, с целью предотвращения их постоянной загрузки с сервера-источника и уменьшения трафика. Τᴀᴋᴎᴍ ᴏϬᴩᴀᴈᴏᴍ, информация перемещается ближе к пользователю. Управление кэшированием осуществляется при помощи HTTP-заголовков.

Как вариант, кэширование веб-страниц может осуществляться с помощью CMS конкретного сайта для снижения нагрузки на сервер при большой посœещаемости. Кэширование может производится как в память, так и в файловый кэш (кэш на файлах).

Кэширование результатов работы

Многие программы записывают куда-либо промежуточные или вспомогательные результаты работы, чтобы не вычислять их каждый раз, когда они понужнобятся. Это ускоряет работу, но требует дополнительной памяти (оперативной или дисковой). Примером такого кэширования является индексирование баз данных.

Когда мы готовим свой сайт к представлению аудитории, то стараемся проработать каждую мелочь. Подходящий шрифт, дизайн социальных кнопок, логотип и сочетание цветов – всё это должно быть обдумано и реализовано.

Однако каким бы ни было визуальное оформление, технические характеристики гораздо важнее, а одна из наиболее весомых – быстродействие. Именно для улучшения этого параметра веб-мастера настраивают кэширование.

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

Что такое кэш браузера

Путешествуя по просторам Всемирной паутины, мы посещаем огромное количество сайтов, где просматриваем текст, картинки, видеозаписи. Когда интернет-страница открывается в браузере впервые, то вся информация (текстовая и графическая ) загружается с сервера, на котором расположен ресурс.

Если же веб-мастер настроил кэширование, то после первого просмотра данные будут сохраняться в специальном разделе на жестком диске компьютера пользователя (этот раздел и называется кеш браузера ).

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

Главная страница сайта появится на экране гораздо быстрее. Причина этого заключается в следующем: браузер загружает данные из кэша, который расположен в памяти вашего устройства, что, согласитесь, гораздо ближе, чем сервер за тридевять земель.

Стоит также отметить, что далеко не всё содержимое сайта кэшируется. Настройки кэша выставляются каждым веб-мастером по собственному усмотрению. Если же информационный ресурс создается при помощи CMS (WordPress, Joomla, Drupal ), то разработчику, как правило, доступны уже готовые решения по обеспечению кеширования в виде плагинов (которые имеют стандартные установки и часто не нуждаются в дополнительных настройках ).

В CMS WordPress, к примеру, широкую популярность обрели плагины WP Super Cache и W3 Total Cache .

Когда вы очищаете кэш, то удаляете все графические и текстовые данные, полученные с посещенных ранее сайтов. То есть, при загрузке страниц информационных ресурсов, браузер снова будет брать все данные непосредственно с сервера.

Теперь, когда стало ясно, что значит очистить кэш браузера, разберемся с причинами необходимости выполнения такой процедуры:

Зачем чистить кэш

Когда вы сталкиваетесь с разработкой информационного ресурса, то очистка кэша – настолько привычная и регулярная процедура, что проводится абсолютно «на автомате » (ведь сайт всё время меняется, а результат нужно увидеть сразу же ).

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

Также не стоит забывать и о том, что копии страниц, сохраненные браузером, имеют кое-какой вес. Кроме того, каждый браузер имеет свой собственный кэш, то есть, открыв веб-ресурс в Гугл Хром, а затем в Firefox , вы создадите на своем компьютере 2 копии одних и тех же страниц. А если сайтов посещено тысячи, и кэш не очищался несколько месяцев, то место, занимаемое копиями, будет довольно существенное.

Чистим кэш в различных браузерах

Рассмотрим удаление кэша в некоторых популярных на сегодняшний день браузерах:

  • Интернет Эксплорер:


Заходим в меню браузера, после чего ищем пункт «Сервис ». Нажимаем «Удалить журнал обозревателя », а в появившемся окне ставим галочку только напротив пункта «Временные файлы интернета ». Жмем «Удалить ».

  • Mozilla Firefox:


Переходим в меню и выбираем пункт «Настройки ». Открываем вкладку «Дополнительные » и ищем в ней пункт «Сеть ». Перейдя к содержимому, видим, среди прочего, надпись «Кэшированное веб-содержимое », напротив которой расположена кнопка «Очистить сейчас ». Жмем по заветной кнопке и процесс завершен.

  • Google Chrome:


Для того чтобы очистить кэш в браузере Хром, заходим в меню и открываем пункт «Инструменты ». Нажимаем на «Показать дополнительные настройки », после чего кликаем по «Очистить историю ». Если нужно очистить весь кэш, то указываем период «За всё время », а галочку ставим только напротив пункта «Изображения и другие файлы, сохраненные в кэше ». Жмем на «Очистить историю ».

  • Опера:


Заходим в раздел «Настройки », кликаем на «Безопасность ». Нажимаем на «Очистить историю посещений », а в разделе «Уничтожить следующие элементы » стоит выбрать «С самого начала » (если хотим очистить весь кэш ). Ставим галочку только напротив «Очистить кэш » и нажимаем на «Очистить историю ». Процесс завершен.

  • Яндекс.Браузер:


Для того чтобы очистить кэш в Яндекс.Браузере, заходим в меню и выбираем вкладку «Инструменты ». Переходим в «Удаление данных о просмотренных страницах ».

Чтобы очистить весь кэш, в выпадающем списке рядом с надписью «Удалить указанные ниже элементы » выбираем «За все время ». Ставим отметку только напротив пункта «Очистить кэш » и кликаем по кнопке «Очистить историю ».

Таким образом, очистка кэша позволяет освободить место на жестком диске компьютера, поэтому не стоит лениться совершить несколько кликов мышкой.

Одним из немаловажных факторов повышающих производительность процессора, является наличие кэш-памяти, а точнее её объём, скорость доступа и распределение по уровням.

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

Что такое кэш-память и её структура

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

Кэш-память построена на триггерах, которые, в свою очередь, состоят из транзисторов. Группа транзисторов занимает гораздо больше места, нежели те же самые конденсаторы, из которых состоит оперативная память . Это тянет за собой множество трудностей в производстве, а также ограничения в объёмах. Именно поэтому кэш память является очень дорогой памятью, при этом обладая ничтожными объёмами. Но из такой структуры, вытекает главное преимущество такой памяти – скорость. Так как триггеры не нуждаются в регенерации, а время задержки вентиля, на которых они собраны, невелико, то время переключения триггера из одного состояния в другое происходит очень быстро. Это и позволяет кэш-памяти работать на таких же частотах, что и современные процессоры.

Также, немаловажным фактором является размещение кэш-памяти. Размещена она, на самом кристалле процессора, что значительно уменьшает время доступа к ней. Ранее, кэш память некоторых уровней, размещалась за пределами кристалла процессора, на специальной микросхеме SRAM где-то на просторах материнской платы. Сейчас же, практически у всех процессоров, кэш-память размещена на кристалле процессора.


Для чего нужна кэш-память процессора?

Как уже упоминалось выше, главное назначение кэш-памяти – это хранение данных, которые часто используются процессором. Кэш является буфером, в который загружаются данные, и, несмотря на его небольшой объём, (около 4-16 Мбайт) в современных процессорах , он дает значительный прирост производительности в любых приложениях.

Чтобы лучше понять необходимость кэш-памяти, давайте представим себе организацию памяти компьютера в виде офиса. Оперативная память будет являть собою шкаф с папками, к которым периодически обращается бухгалтер, чтобы извлечь большие блоки данных (то есть папки). А стол, будет являться кэш-памятью.

Есть такие элементы, которые размещены на столе бухгалтера, к которым он обращается в течение часа по несколько раз. Например, это могут быть номера телефонов, какие-то примеры документов. Данные виды информации находятся прямо на столе, что, в свою очередь,увеличивает скорость доступа к ним.

Точно так же, данные могут добавиться из тех больших блоков данных (папок), на стол, для быстрого использования, к примеру, какой-либо документ. Когда этот документ становится не нужным, его помещают назад в шкаф (в оперативную память), тем самым очищая стол (кэш-память) и освобождая этот стол для новых документов, которые будут использоваться в последующий отрезок времени.

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

Уровни кэш-памяти процессора

Современные процессоры, оснащены кэшем, который состоит, зачастую из 2–ух или 3-ёх уровней. Конечно же, бывают и исключения, но зачастую это именно так.

В общем, могут быть такие уровни: L1 (первый уровень), L2 (второй уровень), L3 (третий уровень). Теперь немного подробнее по каждому из них:

Кэш первого уровня (L1) – наиболее быстрый уровень кэш-памяти, который работает напрямую с ядром процессора, благодаря этому плотному взаимодействию, данный уровень обладает наименьшим временем доступа и работает на частотах близких процессору. Является буфером между процессором и кэш-памятью второго уровня.

Мы будем рассматривать объёмы на процессоре высокого уровня производительности Intel Core i7-3770K. Данный процессор оснащен 4х32 Кб кэш-памяти первого уровня 4 x 32 КБ = 128 Кб. (на каждое ядро по 32 КБ)

Кэш второго уровня (L2) – второй уровень более масштабный, нежели первый, но в результате, обладает меньшими «скоростными характеристиками». Соответственно, служит буфером между уровнем L1 и L3. Если обратиться снова к нашему примеру Core i7-3770 K, то здесь объём кэш-памяти L2 составляет 4х256 Кб = 1 Мб.

Кэш третьего уровня (L3) – третий уровень, опять же, более медленный, нежели два предыдущих. Но всё равно он гораздо быстрее, нежели оперативная память. Объём кэша L3 в i7-3770K составляет 8 Мбайт. Если два предыдущих уровня разделяются на каждое ядро, то данный уровень является общим для всего процессора. Показатель довольно солидный, но не заоблачный. Так как, к примеру, у процессоров Extreme-серии по типу i7-3960X, он равен 15Мб, а у некоторых новых процессоров Xeon, более 20.

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

Только потом они отправляются непосредственно в процессор. Все это занимает очень много времени по компьютерным меркам. А вот, что если бы данные хранились где-то рядом с процессором?

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

Назначение кеш памяти

Что же такое кэш-память или кэш (по англ. cache memory, cache):

В широком смысле, подразумевается любая память с быстрым доступом , где хранится часть данных с другого носителя с более медленным доступом;

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

Предположим, что в библиотеке работает один библиотекарь. Если человек приходит и просит первый том Пушкина, то библиотекарь идет к далекой книжной полке, находит книгу и приносит ее посетителю.

Когда этот человек прочитал книгу, то она обратно возвращается на полку. И если уже любой другой человек приходит и просит эту же самую книгу, цикл повторяется снова.

Вот пример того, как библиотека, то есть система работает без кэш-памяти .

Зачем нужна кэш-память?

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

Но, когда книга вернулась, библиотекарь не возвращает ее на полку, а кладет в ящик стола (этакая местная оперативная кэш-память ).

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

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

Хранит ли кэш только часто используемые данные? Как функционирует и работает кэш оперативной памяти ?

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

Когда человек просит первый томик Пушкина, то библиотекарь приносит также второй том:-) И когда человек прочитает первую книгу, аероятнее всего, что он может попросить второй томик. А когда он это сделает, ходит далеко не надо... тот уже будет лежать в ящике.

Аналогичным образом, когда кэш-память извлекает запрошенные данные из памяти, она также извлекает данные, которые находятся по адресам, близким к запрошенным.

Эти смежные блоки данных, которые и передаются в кэш, называются кэш-линиями. Подробнее о понятии кэш-памяти можно посмотреть в этом видео:

Уровни кэш памяти

Большинство жестких дисков используют один уровень кэш-памяти . Но кэш имеет два уровня, где уровень L1 меньше и быстрее, а уровень L2, несколько медленнее (но все равно быстрее, чем основная внутренняя память ).

Лучшая бесплатная программа HDDScan для проверки жестких дисков

И снова возвратимся за примером к нашей библиотеке, на примере ее работы становится понятна как работает внешняя память компьютера .

Рассмотрим ящик библиотекаря в качестве кэша L1. Когда спрос на книги высок, и в ящике уже довольно много книг (нет места складывать) и вероятность того, что там найдется нужная, снижается.

Память L2 кэш

Здесь и появляется неодходимость L2. Представим L2 как книжный шкаф возле стола библиотекаря. Когда маленький ящик стола заполнен, библиотекарь начинает ставить книги в этот шкаф. И теперь, если книга не найдена в ящике сразу, надо взять ее из шкафа, не отходя далеко.

Аналогичным образом, когда кэш L1 заполнен, данные сохраняются в L2. Процессор в первую очередь ищет данные в L1, если они не будут найдены, то он обратится уже к L2. Если там тоже данные не найдены в L2, то идет обращение к основной памяти.

Двухуровневый кэш процессора

Кэш двух уровней у процессора – хорошая идея? Безусловно, да.

Возвращаясь к нашей упомянутой библиотеке. Если человек просит дать ему книгу, которая не хранится ни в ящике, ни в книжном шкафу, то библиотекарь тратит много времени впустую, осуществляя поиск сначала в ящике, потом в шкафу и только потом получает книгу с полки.

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

Но если кэш-память работает так быстро, почему бы не выполнять его достаточно большой, чтобы хранить все данные оперативной памяти в нем?

Причина в том, что высокая скорость обходится очень дорого. Поэтому необходимо рациональное использование ресурсов кэш-памяти.

Хотя в последнее время, размеры кэш-памяти все увеличиваются, а цены растут не сильно, поэтому компьютеры работают все быстрее и быстрее.

То есть, наш библиотекарь обзаводится ящиком стола все большего размера, а шкафчик, стоящий рядом становится более вместительным! Еще в тему - двухядерные процессоры - правильно конфигурируем Windows.

Кэширование жесткого диска

Дисковая кэш-память (disk cache ), или кэш-память жестского диска - принцип построения кэш-памяти на основе динамического оперативного запоминающего устройства (типа DRAM), которое хранит наиболее часто используемые данные и команды, доступ к которым производится из внешней памяти.

Поэтому принцип кэширования жесткого диска во многом схож на принцип кэширования, используемый для оперативной динамической памяти, хоть способы доступа к диску и памяти значительно разнятся.

Так, время доступа к любой из ячеек оперативной памяти имеет примерно одинаковое для данного компьютера значение, а вот время доступа к различным блокам информации на жестком диске в общем случае будет различным.

1. Нужно затратить определенное время, чтобы магнитная головка записи-чтения подошла к искомой дорожке.

2. Поскольку при движении головка вибрирует, то необходимо немного времени, чтобы она успокоилась.

3. Наконец, требуется время, чтобы головка нашла искомый сектор.

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

Кэш-память диска заполняется не только требуемым сектором, но и секторами, непосредственно следующими за ним, так как известно, что в большинстве случаев взаимосвязанные данные хранятся в соседних секторах.

Этот метод известен также как метод опережающего чтения (Read Ahead). При работе с многозадачными системами желательно иметь жесткий дик (винчестер) с мультисегментной кэш-памятью, которая для каждой из задач отводит свою часть кэша.

Кстати, если у вас недостаточно знаний о том, как лучше просканировать и протестировать жесткий диск , то обязательно посмотрите
подробный и бесплатный виде-оурок на эту тему:
как проверить винчестер на работоспособность

Кэш-память процессора

Кэш-памятью сейсас комплектуется большинство современных центральных процессоров. А первоначально кэш-память располагалась не на самом процессоре, а на материнской плате.

Кэш-память процессора на компьютере выполняет функции буфера между процессором и оперативной памятью.

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

Кэш-памяти процессора делятся на несколько видов:

Cache L1 - это «кэш-память первого уровня». Является промежуточной сверхоперативной памятью, находится на самом кристалле процессора, в ней размещаются наиболее часто используемые данные.

Работает эта память на частоте процессора. Время доступа к ней существенно меньше, чем к данным в основной оперативной памяти. Этим достигается ускорение работы процессора.

Cache L2 - «кэш-память второго уровня». Это промежуточная сверхоперативная память, которая имеет быстродействие ниже памяти первого уровня, но выше основной оперативной памяти. Ее размер обычно составляет от нескольких сотен килобайт до нескольких мегабайт.

Cache L3 - «кэш-память третьего уровня». Тоже промежуточная сверхоперативная память, имеющая быстродействие ниже памяти второго уровня, но выше основной оперативной памяти. Ее размер обычно составляет от одного до нескольких мегабайт.


Секреты и тонкости работы на компьютере



Есть вопросы?

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: