Что значит очистить кэш: зачем его очищать + 3 способа очистить компьютер + очистка кэша 4 видов браузеров + 2 способа очистить память на Android + 3 способа почистить iPhone.

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

К одной из важнейших манипуляций для поддержания ПК «в форме» относится решение очистить кэш.

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

Что такое кэш?

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

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

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

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

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

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

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

Процесс очистки подразумевает удаление временных файлов, сохраненных при работе с данными, сайтами. Что значит «очистить кэш»? Стереть все графические и текстовые файлы.

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

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

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

Это отражается как на работе самого компьютера, так и на работе браузера.

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

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

Как очистить кэш на компьютере?

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

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

Рассмотрим процесс удаления временных документов для самой популярной операционной системы – Windows.

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

Стандартная очистка Windows состоит из 3 пунктов:

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

а) Очистить DNS кэш

Чистка DNS кэша производится с помощью командной строки. Зайдите в «Пуск», выберите «Все программы», после «Стандартные», из выпавшего меню откройте «Командная строка».

В появившуюся программу впишите команду «ipconfig /flushdns» без скобок.

В итоге компьютер сам очищает DNS от ненужных данных.

b) Чистка thumbnails кэша


Чистка thumbnails кэша делается с помощью стандартной программы.

Для ее запуска пройдите такой путь:

  1. Зайдите в меню «Пуск ».
  2. Найдите в нем «Все программы ».
  3. Затем «Стандартные программы ».
  4. Потом «Служебные ».
  5. И наконец «Очистка диска ».

Вы увидите окошко «Выбор диска ». Выбираете жесткий диск, на котором находится ОС Windows (как правило, на диске С).

Теперь ваш thumbnails кэш пуст.

c) Очистить кэш-памяти


Еще один способ удалить ненужные временные документы с компьютера

показан в видеоролике:

И не забывайте чистить «Корзину», данные в ней тоже могут занимать много места.

d) Специальные программы для очистки кэша

Для очистки ненужных данных в «оперативке» компьютера удобно пользоваться специальными программами.

Разработано таких сервисов много, но наиболее популярной является Ccleaner.

Эта программа бесплатная. Найти ее в интернете и загрузить на компьютер не составит труда.

Официальный сайт разработчиков, с которого тоже можно скачать бесплатную версию программы: http://www.piriform.com/CCLEANER

Также можно воспользоваться онлайн-версией без установки на ПК.

Чтобы почистить ПК средствами Ccleaner, откройте программу на вкладке «Очистка».

На вкладке «Windows» можно выбрать данные, которые необходимо удалить. Обычно автоматическая настройка достаточно точно определяет такие документы.

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

Кликните на кнопку «Анализ» и дождитесь его окончания. После этого нажимайте «Очистка».

Как очистить кэш браузера?

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

1) Как очистить память в Internet Explorer?

На панели задач или в основном меню найдите «Сервис» и далее «Свойства обозревателя».

В появившемся окне вам нужна вкладка «Общее», где есть область «История просмотра». В ней кнопочка «Удалить…». Кликнув на эту кнопку, вы увидите появившееся окно со списком документов для утилизации.

Необходимые файлы уже выбраны автоматически, но вы можете самостоятельно отметить, какие данные следует удалить. После нажатия на кнопку «Удалить» временные документы будут стерты.

2) Очистка памяти в Firefox

На основном экране откройте «Настройки». В появившемся окошке найдите «Дополнительные» и зайдите в «Сеть».

В этой вкладке есть область «Кэшированное веб-содержимое» с кнопочкой «Очистить сейчас». Жмете на нее, и Firefox запустит анализ и сотрет ненужное.

3) Чистка памяти в Google Chrome

В Google Chrome найдите «Инструменты», потом «Показать дополнительные настройки».

В некоторых версиях интернет-обозревателя путь такой: «Дополнительные инструменты» — «Удаление данных о просмотренных страницах».

Выбрав этот пункт, вы увидите окошко «Очистить историю».

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

4) Очистка памяти в Опере

Зайдите в раздел «Настройки». В появившемся окошке откройте вкладку «Безопасность». Здесь есть область «Конфиденциальность» с кнопочкой «Очистить историю посещений», жмите на нее.

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

Как очистить кэш в телефоне?

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

В них тоже нужно утилизировать ненужные документы. И делать это следует чаще, чем на ПК, так как объемы «оперативки» меньше и система быстро начинает подтормаживать.

1) Очистка памяти на Android

В операционной системе Android есть 3 вида кэшированной памяти:

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

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

Способы очистки памяти на Android:

Для примера рассмотрим программу Clean Master:


Как удалить временную «оперативку» с помощью программы CCleaner

смотрите в видеоролике:

2) Очистка кэша на iPhone


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

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

Представьте, что начальник подошел к вашему столу и передает документы, которые вы должны посмотреть и что-то там с ними сделать. Будет ли он стоять рядом с вами и отдавать их по одному, ожидая их обработки в реальном времени?

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

Что такое кеш и где он используется?

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

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

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

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

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

Ах, да. Если вы вебмастер, то наверняка слышали про кеширование в движках сайтов , на подобии Joomla, WordPress и других. Что это такое? Дело в том, что любой движок собирает вебстраницу, к которой обратился пользователь, буквально налету, что серьезно нагружает сервер, где этот сайт размещается и снижает скорость работы ().

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

Кэширование в браузерах

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

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

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

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

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

Первое, что приходит в голову — это кликнуть по кнопке обновления на панели управления браузера или нажать на кнопку F5 на клавиатуре, что по сути одно и тоже.

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

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

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

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

Как сделать так, чтобы чистить кэш в браузере было не нужно?

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


А теперь, собственно, хочу перейти к вопросу о том, как почистить кэш во всех упомянутых выше браузерах.

Как очистить кэш в Опере, Хроме, Мозиле и Яндекс браузере?

Итак, приступим. В каждом браузере есть нюансы очистки, но для тех из них, что построены на основе (а точнее движка WebKit) будет все практически идентично. На этом движке сейчас работают Гугл Хром, Яндекс Браузер и Новая Опера. Но, обо всем по порядку.

Как почистить кэш в Опере


Как очистить кэш в Хроме и Яндекс Браузере?

Начнем с Google Chrome , хотя в браузере от Яндекса все примерно так же работает. Итак, в настройки, отвечающие за очистку кеша в этом браузере, можно попасть несколькими способами:


В обоих случаях откроется одно и то же окно очистки истории ваших блужданий по интернету с помощью браузера Хром:

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

В случае Яндекс Браузера , последовательность действия будет практически такой же. Жмете либо на клавиши Ctrl+Shift+Delete, находясь в окне браузера, либо переходите из меню шестеренки в настройки и ищите кнопку «Очистить историю».

Откроется практически идентичное окно (с тем, что мы в Хроме и новой Опере наблюдали), где вы опять же поставите галочку и кликните по нужной кнопочке.

Как удалить кеш в Мозиле и Интернет Эксплорере?

В случае Мозилы (firefox) нам опять же нужно будет нажать сочетание клавиш Ctrl+Shift+Delete , либо выбрать из верхнего меню кнопки «Firefox» пункты «Журнал» — «Удалить недавнюю историю» .

В открывшемся окне достаточно поставить галочку в поле «Кэш», выбрать период, за который должна быть удалена историю из промежуточного буфера, ни и, собственно, нажать на кнопку «Удалить сейчас» :

В дело обстоит практически так же, как и у его текущих конкурентов. Для очистки истории посещенных страниц можно будет нажать уже знакомую нам комбинацию клавиш: Ctrl+Shift+Delete .

Либо можно выбрать из меню шестеренки (расположена вверху справа) пункты «Безопасность» — «Удалить журнал обозревателя»:

Также из выпадающего меню кнопки шестеренки можно будет выбрать пункт «Свойства обозревателя» .

В открывшемся окне нужно нажать на кнопку «Удалить» в области «История просмотра»:

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

Удачи вам! До скорых встреч на страницах блога сайт

посмотреть еще ролики можно перейдя на
");">

Вам может быть интересно

История поиска и просмотров в Яндексе - как ее открыть и посмотреть, а при необходимости очистить или удалить Что такое cookie и как почистить куки в современных браузерах
Инкогнито - что это такое и как включить режим инкогнито в Яндекс браузере и Гугл Хроме Почему не загружается и не работает социальная сеть Одноклассники, а так же как ее открыть, если она заблокирована Устарел или не работает Adobe Flash Player - как обновить, удалить и установить бесплатный плагин флеш плеера последней версии

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

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

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

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

Что это означает? Давайте сразу же на примере интернета и браузера разберем это определение.

Итак, определение «промежуточный буфер » подразумевает, что кэш является посредником между чем-то. Например, есть два объекта: браузер на нашем компьютере и есть сайт в интернете. Согласно определению, кэш будет посредником между ними.

Каким образом? Давайте посмотрим на то, как работает браузер.

Когда мы заходим на любой сайт, браузер загружает на наш компьютер с сервера, на котором этот сайт расположен, все необходимые данные: html код страницы, файл стилей оформления CSS, медиафайлы в виде картинок, видео, музыки и т.д. и отображает страницу. Для выполнения всего этого нужно время и, естественно, интернет трафик. Логично предположить, что пользователь может время от времени снова посещать этот же сайт и тогда, для отображения этой же страниц, снова придется скачивать те же файлы, что и первый раз. Опять нужно затратить время и интернет трафик. Но глупо было бы так делать. Вот здесь и вступает в процесс промежуточный буфер, то есть — кэш браузера.

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

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

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

Минусы кэширования

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

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

Как очистить кэш в браузерах

Cейчас мы рассмотрим как это сделать в самых популярных веб-браузерах.

Как очистить кэш браузера Chrome

Открываем меню Chrome в верхнем правом углу окна браузера и выбираем пункт «Дополнительные инструменты» в подменю выбираем «Удаление данных о просмотренных страницах». Или можно нажать сочетание клавиш «Ctr+Shift+Del».

Откроется страница настроек и появится всплывающее окно «Очистить историю».

Выбираем период, за который нужно удалить данные, отмечаем нужные пункты, можно отметить все, кроме паролей и нажимаем «Очистить историю». Все, мы очистили кэш в Chrome.

Как очистить кэш браузера Firefox

Открываем меню Firefox в верхнем правом углу и выбираем пункт «Настройки»

В окне настроек переходим на вкладку «Приватность» и нажимаем на ссылку «Удалить вашу недавнюю историю»

Откроется окно удаления истории. Выбираем период и отмечаем нужные пункты. Можно отметить все.

После нажимаем «Удалить сейчас».

Кэш Firefox очищен.

Как очистить кэш Opera

Заходим в меню Opera в левом верхнем углу и выбираем «Настройки»

В открывшемся окне выбираем вкладку «Безопасность» и выбираем «Очистить историю посещений»

Появится всплывающее окно «Очистить историю посещений»

Так же выбираем период, за который нужно удалить данные и отмечаем нужные чекбоксы. После жмем «Очистить историю посещений»

Кэш Opera очишен.

Internrt Explorer 9 и выше.

Нажимаем на иконку меню в правом верхнем углу и в выпадающем списке выбираем «Свойства браузера»

В открывшемся окне на вкладке «Общие» в разделе «Журнал браузера» нажимаем «Удалить»

Откроется окно «Удаление истории обзора».

Проставляем нужные отметки и нажимаем «Удалить». После очистки кэша нажимаем «OK».

Кэш Internet Explorer очищен.

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

Предыдущая запись
Следующая запись

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

Что такое кеш?

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

Как эта технология функционирует?

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

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

Кеш в операционной системе ПК

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

  1. Страницы оперативной памяти, которые в свою очередь делятся на буферы, длина которых равна и зависит от используемого устройства памяти.
  2. Набор заголовков самих буферов, задача которых - описывать их состояние.
  3. Хеш-таблицы, в которых содержится указание, какой заголовок к какому буферу относится.
  4. Список свободных буферов.

Кеш программ

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

Кеш браузеров

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

Очистка кеша браузера

Особенности кэш-памяти в браузере проявляются ещё и в том, что её необходимо периодически чистить. Дело в том, что сама по себе эта память довольно большая, и дополнительно она ещё хранит данные, которые не очень удобно бывает обработать. Поэтому время от времени не помешает чистить кэш браузера. К тому же этот подход советуют и при обнаружении проблем с подгрузкой новых данных или при временных неисправностях, которые слишком зачастили. У большинства браузеров не является сложным процессом, и выполнить его можно за пару секунд. Это настолько универсально, что даже по общему описанию вы сможете сделать всё необходимое независимо от того, что является объектом чистки: кэш в "Мозиле" или "Интернет эксплорере". Чтобы очистить его, вам необходимо пройтись по следующим пунктам:

  1. Нажмите сейчас на меню настроек.
  2. Выберите кнопку «История». Если её нет - "Настройки пользователя", а там уже «Историю» или «Куки».
  3. Перед вами появится меню, в котором можно будет выбрать, какие данные необходимо стереть и за какой период. Сделайте настройки по своему усмотрению.
  4. Нажмите на кнопку «Очистить».

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

Кеш в мобильной платформе

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

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

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

Зададимся вопросом: «А как определить наиболее часто используемую информацию? Неужели сначала кто-то анализирует ход выполнения программы, определяет, какие команды и данные чаще используются, а потом, при следующем запуске программы, эти данные переписываются в кэш-память и уже тогда программа выполняется эффективно?» Конечно нет. Хотя в современных микропроцессорах имеется определенный механизм, который позволяет в некоторой степени реализовать этот принцип. Но в основном, конечно, кэш-память сама отбирает информацию, которая чаще всего используется. Рассмотрим, как это происходит.

Механизм сохранения информации в кэш-памяти

При включении микропроцессора в работу вся информация в его кэш-памяти недостоверна.

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

Для этого сформированный им физический адрес сравнивается с адресами ячеек памяти, которые были ранее кэшированы из ОЗУ в КП.

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

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

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

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

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

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

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

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

Типы кэш-памяти

Если каждая строка ОЗУ имеет только одно фиксированное место, на котором она может находиться в кэш-памяти, то такая кэш-память называется памятью с прямым отображением .

Предположим, что ОЗУ состоит из 1000 строк с номерами от 0 до 999, а кэш-память имеет емкость только 100 строк. В кэш-памяти с прямым отображением строки ОЗУ с номерами 0, 100, 200, …, 900 могут сохраняться только в строке 0 КП и нигде иначе, строки 1, 101, 201, …, 901

ОЗУ — в строке 1 КП, строки ОЗУ с номерами 99, 199, …, 999 сохраняются в строке 99 кэш-памяти (рис. 4.2). Такая организация кэш-памяти обеспечивает быстрый поиск в ней нужной информации: необходимо проверить ее наличие только в одном месте. Однако емкость КП при этом используется не в полной мере: несмотря на то, что часть кэш-памяти может быть не заполнена, будет происходить вытеснение из нее полезной информации при последовательных обращениях, например, к строкам 101, 301, 101 ОЗУ.

Рис. 4.2. Принцип организации кэш-памяти с прямым отображением

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

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

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

При необходимости замещения информации в кэш-памяти на новую используется несколько стратегий замещения . Наиболее известными среди них являются:

  • LRU — замещается строка, к которой дольше всего не было обращений;
  • FIFO — замещается самая давняя по пребыванию в кэш-памяти строка;
  • Random — замещение проходит случайным образом.

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

Некоторые эвристические оценки вероятности кэш-промаха при разных стратегиях замещения (в процентах) представлены в табл. 4.1.

Таблица 4.1. Вероятность кэш-промаха для различной кэш-памяти
Размер кэша,Кбайт Организация кэш-памяти
2-канальная ассоциативная 4-канальная ассоциативная 8-канальная ассоциативная
LRU Random LRU Random LRU Random
16 5.2 5.7 4.7 5.3 4.4 5.0
64 1.9 2.0 1.5 1.7 1.4 1.5
256 1.15 1.17 1.13 1.13 1.12 1.12

Анализ таблицы показывает, что:

  • увеличением емкости кэша, естественно, уменьшается вероятность кэш-промаха , но даже при незначительной на сегодняшний день емкости кэш-памяти в 16 Кбайт около 95 % обращений происходят к КП, минуя оперативную память;
  • чем больше степень ассоциативности кэш-памяти, тем больше вероятность кэш-попадания за счет более полного заполнения КП (время поиска информации в КП в данном анализе не учитывается);
  • механизм LRU обеспечивает более высокую вероятность кэш-попадания по сравнению с механизмом случайного замещения Random, однако этот выигрыш не очень значителен.

Соответствие между данными в оперативной памяти и в кэш-памяти обеспечивается внесением изменений в те области ОЗУ, для которых данные в кэш-памяти подверглись изменениям. Существует два основных способа реализации этих действий: со сквозной записью (writethrough) и с обратной записью (write-back).

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

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

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

Организация внутренней кэш-памяти микропроцессора

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

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

Внутренняя кэш-память в микропроцессоре i486 реализует сквозную запись . Начиная с МП Pentium используется сквозная или обратная запись .

Во внешней КП применяется любой способ записи или их комбинация.

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

КП состоит из следующих блоков (рис. 4.3):

  • блока данных,
  • блока тегов,
  • блока достоверности и LRU.

Рис. 4.3. Структура внутренней кэш-памяти МП i486

Блок данных содержит 8 Кбайт данных и команд. Он разделен на 4 массива (направления), каждый из которых состоит из 128 строк. Строка содержит данные из 16 последовательных адресов памяти начиная с адреса, кратного 16. Индекс массивов блока данных, состоящий из 7 бит, соответствует 4 строкам КП, по одной из каждого массива. Четыре строки КП с одним и тем же индексом называются множеством.

В блоке тегов имеется один тег длиной 21 бит для каждой строки данных в КП. Блок тегов также разделен на 4 массива по 128 тегов. Тег содержит старшие 21 бит физического адреса данных, находящихся в соответствующей строке КП.

В блоке достоверности и LRU содержится по одному 7-разрядному значению для каждого из 128 множеств строк КП: 4 бита достоверности (V) по одному на каждую строку множества и 3 бита (B0 … B2), управляющие механизмом LRU. Биты достоверности показывают, содержит ли строка достоверные (V = 1) или недостоверные (V = 0) данные. При программной очистке КП и аппаратном сбросе процессора все биты достоверности сбрасываются в 0.

Адресация кэш-памяти осуществляется путем разделения старших 28 бит физического адреса на 2 части. Младшие 7 бит из этих разрядов (разряды 10…4 физического адреса) образуют поле индекса и определяют множество, в котором могут храниться данные. Старшие 21 бит (разряды 31…11 физического адреса) служат полем тега и применяются для определения того, находится ли информация с данным физическим адресом в какой-либо строке выбранного множества.

Поиск в кэш-памяти информации с заданным физическим адресом выполняется следующим образом:

Физический адрес, по которому происходит обращение, разбивается на 3 поля: Тег, Индекс, № байта. 7 разрядов А10…А4 поля индекса определяют одно из 128 множеств.

В выбранном множестве содержатся 4 строки с информацией.

Чтобы определить, присутствует ли нужная информация в одной из строк этого множества, проводится сравнение старших 21 бита физического адреса (поле Тег) с тегами строк выбранного множества. Сравнение проводится только для достоверных строк, то есть тех, у которых в блоке достоверности установлен бит достоверности V = 1.

Если для одной из строк ее тег и разряды А31…А11 физического адреса совпали, то это означает, что произошло кэш-попадание и необходимая информация есть в кэш-памяти.

Считывается найденная строка из 16 байт. Искомый байт в ней определяется 4 младшими разрядами физического адреса (А3…А0).

Если на этапе 3 совпадения не произошло или все строки множества недостоверны, эта ситуация определяется как кэш-промах . В этом случае по сформированному микропроцессором физическому адресу выполняется обращение к оперативной памяти. Из ОЗУ извлекается нужная информация, и содержащая ее строка записывается в свободную строку выбранного множества. Старшие 21бит физического адреса записываются в поле тега этой строки. Если все строки в выбранном множестве достоверны, то замещается строка, к которой дольше всего не было обращений согласно механизму LRU. Этот механизм действует точно так же, как и при вытеснении строк из буфера ассоциативной трансляции TLB.

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

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

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

Бит PCD запрещает (PCD = 1) или разрешает (PCD = 0) кэширование страницы. Запрещение кэширования необходимо для страниц, которые содержат порты ввода/вывода с отображением на память. Оно также полезно для страниц, кэширование которых не дает выигрыша в быстродействии, например, страниц, содержащих программу инициализации.

Бит PWT определяет метод обновления ОЗУ и внешней кэш-памяти (кэш 2-го уровня). Если PWT = 1, то для данных в соответствующей странице определяется кэширование со сквозной записью, при PWT = 0 применяется способ обратной записи. Используется в микропроцессорах начиная с Pentium. Так как внутренняя кэш-память в МП i486 работает со сквозной записью, состояние бита PWT на нее не влияет. Бит PWT в этом случае действует только на внешнюю КП.

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

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

Рис. 4.4. Структура мультимикропроцессорной системы с общей оперативной памятью

Предположим, что МП А считал некоторую строку данных из ОЗУ в свою внутреннюю КП и изменил данные в этой строке в процессе работы.

Мы отмечали, что существует два основных механизма обновления оперативной памяти:

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

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

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

Существует два класса протоколов когерентности:

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

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

Для поддержания когерентности применяется два основных метода.

Один из методов заключается в том, чтобы гарантировать, что процессор должен получить исключительные права доступа к элементу данных перед выполнением записи в этот элемент данных. Этот тип протоколов называется протоколом записи с аннулированием (write invalidate protocol), поскольку при выполнении записи он аннулирует другие копии. Это наиболее часто используемый протокол как в схемах на основе справочников , так и в схемах наблюдения . Исключительное право доступа гарантирует, что во время выполнения записи не существует никаких других копий элемента данных, в которые можно писать или из которых можно читать: все другие кэшированные копии элемента данных аннулированы.

Альтернативой протоколу записи с аннулированием является обновление всех копий элемента данных в случае записи в этот элемент данных.

Этот тип протокола называется протоколом записи с обновлением (write update protocol), или протоколомзаписи с трансляцией (write broadcast protocol).

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

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

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

Этот протокол использует 4 признака состояния строки кэш-памяти микропроцессора, по первым буквам которых и называется протокол:

  • измененное состояние (Modified): информация, хранимая в кэшпамяти микропроцессора А, достоверна только в этом кэше; она отсутствует в оперативной памяти и в кэш-памяти других микропроцессоров;
  • исключительная копия (Exclusive): информация, содержащаяся в кэше А, содержится еще только в оперативной памяти;
  • разделяемая информация (Shared): информация, содержащаяся в кэше А, содержится в кэш-памяти по крайней мере еще одного МП, а также в оперативной памяти;
  • недостоверная информация (Invalid): в строке кэш-памяти находится недостоверная информация.

Таким образом, состояние признаков потокола MESI отражает следующие состояния (по отношению к МПА) строки кэш-памяти (табл. 4.2):

Таблица 4.2. Формирование признаков состояния протокола MESI
Cостояние признака протокола Состояние строки памяти
Кэш А Кэш В ОЗУ
Modified Д НД НД
Shared Д Д Д
Exclusive Д НД Д
Invalid НД Х Х

При работе микропроцессора А с точки зрения обеспечения когерентности памяти возможны следующие ситуации:

  • RH (Read Hit) — кэш-попадание при чтении;
  • WH (Write Hit) — кэш-попадание при записи;
  • RME (Read Miss Exclusive) — кэш-промах при чтении;
  • RMS (Read Miss Shared) — кэш-промах при чтении, но соответствующий блок есть в кэш-памяти другого микропроцессора;
  • WM (Write Miss) — кэш-промах при записи;
  • SHR (Snoop Hit Read) — обнаружение копии блока при прослушивании операции чтения другого кэша;
  • SHW (Snoop Hit Write) — обнаружение копии блока при прослушивании операции записи другого кэша.

Наибольший интерес здесь представляют две последние позиции.

Современные микропроцессоры имеют двунаправленную шину адреса.

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

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

Рис. 4.5. MESI-диаграмма обеспечения когерентности кэш-памяти

Проиллюстрируем некоторые из представленных переходов.

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

При этом состояние строки в кэш-памяти рассматриваемого микропроцессора изменится с модифицированного на разделяемое (Shared).

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

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