Сайт о телевидении

Сайт о телевидении

» » Как отключить кэширование памяти. Как уменьшить использование оперативной памяти? Как очистить ОЗУ

Как отключить кэширование памяти. Как уменьшить использование оперативной памяти? Как очистить ОЗУ

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

Что собой представляет кэш в Windows 7

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

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

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

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

Потребность в чистке кэша обусловлена необходимостью стирать собранную информацию по нескольким причинам:

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

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

    DNS (ДНС)

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

    Способ 1. Используем кнопку «Пуск».

    Выбираем системную кнопку «Пуск», после чего - «Все программы». Ищем в левой части пункт «Стандартные», раскрываем его, затем переходим на пункт «Командная строка».

    Находим «Командную строку» в левом столбце меню

    Способ 2. Используем поисковую строку.

    Снова задействуем кнопку «Пуск», но теперь используем поисковую строку. Набираем в ней «Командная строка». Выбираем соответствующую активную строку в найденных результатах. К тому же результату приведёт поиск команды cmd.

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

    Способ 3. Используем утилиту «Выполнить».

    С помощью горячего сочетания клавиш Winфирменным знаком Windows) и R вызываем небольшое окно утилиты «Выполнить». Теперь в строке «Открыть» вводим команду cmd, после чего выбираем «ОК» или просто нажимаем Enter.

    Набираем команду cmd и нажимаем «Ввод»

    Вызвав любым понравившимся способом окно командной строки, набираем в области ввода команду чистки DNS-кэша: ipconfig /flushdns и нажимаем клавишу Enter . Через несколько секунд компьютер сообщает об успешной очистке кэша.

    Очистка занимает доли секунды

    Оперативная память

    Простой путь очистки кэша оперативной памяти - запуск утилиты rundll32.exe, которая находится в системном каталоге C:\Windows\System32. Заходим в эту папку, находим файл и запускаем его.

    Выбираем утилиту из списка и запускаем

    Если утилита не запускается, то, возможно, у учётной записи пользователя нет административных прав. Решается проблема просто. На иконке rundll32.exe нажимаем правую клавишу мышки, в появившемся списке находим строку «Запуск от имени администратора». Если планируем запускать эту утилиту часто, то в том же всплывающем меню выбираем пункт «Создать ярлык» и помещаем ярлык на Рабочий стол.

    Жёсткий диск и эскизы

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

    Это тоже важный компонент системы, который можно вызвать несколькими способами:

  • Через «Проводник». Открываем «Проводник», выбираем иконку диска, нажимаем на ней правую клавишу мышки и во всплывающем меню переходим по пункту «Свойства». В открывшемся окошке переходим на закладку «Общие», где находится кнопка «Очистка диска».
  • Через поиск. Выбираем экранную кнопку «Пуск», в поисковой строке набираем «Очистка диска» и переходим в окошко утилиты.
  • Через окно «Выполнить». Нажимаем Win+R, в строчку «Открыть» вводим команду cleanmgr.exe и «ОК».
  • Воспользовавшись любым из этих способов, попадаем в окошко «Очистка диска». Первое, что автоматически делает утилита, это анализ накопителя на предмет занимаемого объёма временными файлами.

    Вначале проходит анализ

    Закончив проверку, Windows 7 выводит окно, в центральной части которого находится список категорий временных файлов и занимаемый ими объём. Но очищены будут только те, слева от которых стоит пометка. Например, отметив пункт «Эскизы», мы заставим систему очистить кэшированные картинки.

    Напротив «Эскизы» должна стоять пометка

    Закончив редактирование списка, нажимаем экранную кнопку «ОК», подтверждая своё намерение очистить диск.

    Запрет кэширования эскизов

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

    С помощью Win+R вызываем окно «Выполнить» и набираем команду gpedit.msc.

    Теперь вводим команду gpedit.msc

    Нажимаем экранную кнопку «ОК» и попадаем в окно «Редактор локальной групповой политики».

    Перемещаясь по папкам слева находим нужную вкладку

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

    Осталось вызвать контекстное меню и изменить параметр

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

    Той же цели можно добиться, меняя параметры «Проводника». Для этого нажимаем экранную кнопку «Пуск», а в строке поиска набираем «Параметры папок».

    С помощью поиска можно найти любую утилиту

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

    Ставим пометку возле нужной строки

    Осталось лишь нажать «Применить», затем «ОК» для подтверждения своего намерения. Внесённые изменения вступят в силу после перезагрузки системы.

    Интернет-браузеры

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

    Средствами Windows 7 можно настроить работу встроенного браузера Internet Explorer. Для этого нажимаем кнопку «Пуск» и в строке поиска набираем «Свойства браузера».

    Ищем «Свойства браузера»

    Переходим по верхней активной строчке в результатах поиска и попадаем в окно «Свойства: Интернет».

    Нужные нам кнопки находятся на первой же вкладке

    Чтобы немедленно удалить журнал браузера, нажимаем экранную кнопку «Удалить». Чтобы делать то же самое каждый раз после завершения работы Internet Explorer, ставим пометку в поле рядом с этой кнопкой. Но можно ещё и настроить список удаляемого, для этого нажимаем кнопку «Параметры».

    Во вкладке «Временные файлы Интернета» можно ограничить размер временных файлов браузера или переместить их на другой диск.

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

    При необходимости можно запретить браузеру кэшировать данные

    Для настройки тех же параметров в других браузерах придётся использовать их собственный интерфейс. Например, в Google Chrome (а также в Opera, Mozilla и IE) соответствующее окно вызывается сочетанием горячих клавиш Ctrl+Shift+Del.

    Полезные данные можно оставить, а остальные регулярно чистить

    Интерфейс настроек простой и понятный. Можно настроить регулярную очистку истории, а также определить, какие элементы (например, пароли) удалять не стоит.

    Видео: как очистить кэш в различных браузерах

    Очистка кэша компьютера с помощью программ

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

    Интерфейс пакета CCleaner прост и дружелюбен

    Достаточно расставить метки и нажать экранную кнопку «Очистка».

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

  • Advanced SystemCare
  • AusLogics BoostSpeed
  • Glary Utilities
  • nCleaner
  • Revo Uninstaller
  • TuneUp Utilities
  • Каждый пакет специализируется на своём наборе утилит, поэтому нельзя однозначно сказать, какой из них лучший. Но функция очистки кэша не относится к сложным, поэтому для этой цели можно использовать любой из них.

    Меры предосторожности

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

    То же касается браузеров с их историей посещения страниц и сохранённых паролей. Пользователю придётся выбирать между удобством работы (тогда пароли нужно оставлять в памяти) и безопасностью (обязательно стирать).

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

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

    Кэш оперативной памяти

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


    Вы можете запускать его каждый раз, когда ОС начинает «подтормаживать».

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

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


    Обратите внимание! Если вы попробуете скопировать команду в консоль с помощью «Control» + «V», у вас ничего не получится. Чтобы вставить данные в эту программу, необходимо вызвать контекстное меню и выбрать действие «Вставить».

    Очистка cache-памяти браузера

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

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

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

    Но как бы там не было, отключать кэширование я все равно не советую, потому что так бы сказать это базовое кэширование и оно очень необходимо. Мы не знаем эффект от него, не видим просто потому, что оно по умолчанию уже включено. Даже в Windows XP по умолчанию включено это кэширование. Вот если бы винда устанавливалась с отключенным кэшированием, то потом, после некоторого времени, если бы вы включили кэширование, то вы стопудово заметили бы ускорение работы системы

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

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

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

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

    Я сейчас покажу как отключить SuperFetch в Windows 10, но также само все можно сделать и в Windows 7. Можно ли отключить в Vista, я, честно говоря не знаю.. Но думаю что можно.. Ну так вот, открываете диспетчер задач и там идете на вкладку Службы, где нажимаете кнопку Открыть службы:


    Теперь тут находим службу SuperFetch (кстати она еще называется SysMain, так что теперь знайте что это за служба) и нажимаем по ней два раза:


    Потом появится вот такое небольшое окошко свойств:

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

    Это была первая настройка. А вот вторая настройка, это я имею ввиду кэширования дисков в Windows и вот как это кэширование отключить. Открываете окно Мой компьютер, в Windows 10 вы можете сразу его и не открыть, ну мало ли, поэтому на всякий случай я покажу команду, при помощи которой можно открыть это окно. Просто зажимаете Win + R и пишите туда такое как:

    explorer file://


    Теперь нажимаете правой кнопкой по любому диску или разделу и выбираете там Свойства:

    Откроется окошко свойств, тут вам нужно перейти на вкладку Оборудование, где у вас будут все диски, вот эта вкладка:

    А внизу там есть еще кнопочока Свойства. Так вот, вам нужно выбрать диск, и потом нажать эту кнопку, чтобы открыть уже свойства устройства, ну то есть диска. В общем выбираем диск и нажимаем кнопку Свойства:

    И вот теперь, на вкладке Политика будут две галочки, вот они:

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

    ЗАБЫЛ КОЕ ЧТО! Я вот показал как отключить кэширование дисков, да? Ну так вот, это нужно сделать для каждого диска! То есть там в окошке выбираете диск и потом нажимаете кнопку Свойства, и потом уже отключаете кэширование. ВОТ ТАК нужно сделать с каждым диском, для каждого диска нажать кнопку Свойства, ну, думаю все понятно

    Что еще сказать про кэширование? Даже не знаю.. Ну то что отключать его я не советую, это я уже написал, однако решение все равно за вами, кому-то легче с ним, а у кого-то оно вызывает только глюки. Ведь для кэширования нужна оперативка, правда Microsoft утверждает, что при необходимости, оперативка будет освобождена под нужды какой-то проги. Но как уже убедились юзеры Windows 7, это не всегда происходит именно так, хотя у меня все было нормально. Часто юзеры писали, что какая-то программа сообщает, что ей не хватает оперативки, когда ее в теории должно быть полно. А оказывается, что вся она ушла под кэширование и возвращаться не собирается. Вот такие пироги..

    Итак, давайте подведем выводы. Какие плюсы у отключения кэширования?

    1. Потребление оперативной памяти самой Windows должно снизится.
    2. Работающих служб станет на одну меньше, конечно это плюс сомнительный, но чем меньше работающих служб, тем быстрее работает сама Windows.
    3. Меньше шансов, что ценная информация пропадет. В теории данные должны записываться сразу на диск, без буферной зоны в виде кэша. Ну это не то чтобы в теории, это так и должно быть.

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

    Ну а какие минусы отключения виндовского кэширования?

    1. Некоторые программы могут работать медленнее. Копирование файлов, установка и запуск программ, закрытие программ, все эти процессы могут происходить немного медленнее. Однако это я имею ввиду если у вас жесткий диск (HDD), если же твердотельный накопитель (SSD), то никакого замедления быть не должно.
    2. Увеличится обращение к диску. В случае с жестким диском это проявляется как периодическое подтормаживание, а в случае с SSD это просто увеличит количество записи/чтения данных (что не так уж и полезно для SSD).
    3. После отключения кэширования, свободная оперативная память будет простаивать, то есть пользы от нее никакой не будет. С другой стороны доступный обьем ОЗУ будет полностью в распоряжении запущенных программ.

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

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

    18.11.2016

    Основная память, реализуемая на относительно медленных по своей природе микросхемах динамической памяти, обычно требует ввода тактов ожидания про­цессора (wait states) в циклы обращения к памяти. Статическая память, пост­роенная, как и процессор, на триггерных ячейках, по своей природе способна догонять современные процессоры по быстродействию и избежать (или хотя бы сократить количество) тактов ожидания. Реализация основной памяти на микросхемах SRAM технически и экономически не оправдана, поскольку плот­ность упаковки информации у них существенно ниже, а удельная стоимость хранения и энергопотребление (или, что важнее, тепловыделение) существенно выше, чем у DRAM. Разумным компромиссом для построения экономичных и производительных систем явился иерархический способ построения оператив­ной памяти, пришедший в архитектуру PC с появлением процессора 386, у которого тактовая частота уже значительно отрывалась от возможностей мик­росхем DRAM того времени. Идея этого способа заключается в сочетании основной памяти большого объема на DRAM с относительно небольшой кэш-памятью на быстродействующих микросхемах SRAM. Идея, конечно, далеко не нова - сверхоперативная память применялась давно, еще в «больших» компь­ютерах.

    В переводе слово «кэш» (cache) означает склад или тайник («заначка»). Тайна этого склада заключается в его «прозрачности» - для программы он не представляет собой дополнительной адресуемой области памяти. Он является дополнительным и быстродействующим хранилищем копий блоков информа­ции основной памяти, к которым, вероятно, в ближайшее время будет обраще­ние. Кэш не может хранить копию всей основной памяти, поскольку его объем во много раз меньше объема основной памяти. Он хранит лишь ограниченное количество блоков данных и каталог (cache directory) - список их текущего соответствия областям основной памяти. Кроме того, кэшироваться может не вся память, доступная процессору: обычно кэшируется только основная дина­мическая память системной платы (память, установленная на адаптерах, не кэшируется), и из этой памяти кэшируется только часть (распространенные версии чипсетов для Pentium часто позволяют кэшировать только первые 64 Мбайт ОЗУ).

    При каждом обращении к кэшируемой памяти контроллер кэш-памяти по каталогу проверяет, есть ли действительная копия затребованных данных в кэше. Если она там есть, то это случай кэш-попадания (cache hit), и обращение за данными происходит только к кэш-памяти. Если действительной копии там нет, то это случай кэш-промаха (cache miss), и данные берутся из основной памяти. В соответствии с алгоритмом кэширования блок данных, считанный из основной памяти при определенных условиях, заместит один из блоков кэша. От «ловкости» и «предусмотрительности» алгоритма зависит процент попада­ний и, следовательно, эффективность кэширования. Поиск блока в списке дол­жен производиться достаточно быстро, чтобы «задумчивостью» в принятии решения не свести на нет выигрыш от применения быстродействующей памяти. Обращение к основной памяти может начинаться одновременно с поиском в каталоге, а в случае попадания - прерываться (архитектура Look Aside). Это экономит время, но лишние обращения к основной памяти ведут к излишнему энергопотреблению. Другой вариант - обращение к внешней памяти начинает­ся только после фиксации случая промаха (архитектура Look Through), но на этом теряется, по крайней мере, один такт процессора, зато экономится энергия.

    В современных компьютерах кэш обычно строится по двухуровневой схеме. Первичный кэш (Li Cache) встроен во все процессоры класса 486 и старше, он имеется и у некоторых моделей 386. Объем его невелик (8-32 Кбайт), и для повышения производительности для данных и команд часто используется раз­дельный кэш (так называемая Гарвардская архитектура - противоположность Принстонской, использующей общую память для команд и данных). Быстро­действие его таково, что он работает на внутренней тактовой частоте процессора (CPU Clock), уже достигшей 333 МГц. Вторичный кэш (L2 Cache) обычно ус­танавливается на системной плате. Типовым для компьютеров на процессоре i486 считается объем 64-256 Кбайт, для Pentium - 256-512 Кбайт, новые чипсеты поддерживают до 2 Мбайт L2 Cache. Его быстродействие обеспечивает ра­боту на внешней тактовой частоте процессора - частоте системной шины (Host Bus Clock), типовое значение которой от диапазона 50-66 МГц уже переходит к 75, 83 и даже 100-125 МГц. В Pentium Pro синхронный L2 Cache располо­жен в одном корпусе с процессором и работает на его внутренней частоте.

    Кэш-контроллер должен обеспечивать когерентность (coherency) - согласо­ванность данных кэш-памяти обоих уровней с данными в основной памяти, причем обращение к этим данным может производиться не только со стороны процессора (а процессоров может быть и несколько, и у каждого может быть свой внутренний кэш), но и со стороны других активных (bus-master) адаптеров, подключенных к шинам (PCI, VLB, ISA...).

    Контроллер кэша оперирует строками (cache line) фиксированной длины. Строка может хранить копию блока основной памяти, размер которого, естес­твенно, совпадает с длиной строки. С каждой строкой кэша связана информация об адресе скопированного в нее блока основной памяти и признаки ее состоя­ния. Строка может быть действительной (valid) - это означает, что в текущий момент времени она достоверно отражает соответствующий блок основной па­мяти, или недействительной (пустой). Информация о том, какой именно блок занимает данную строку (то есть старшая часть адреса или номер страницы), и ее состояние называется тегом (tag) и хранится в связанной с данной строкой ячейке специальной памяти тегов (tag RAM). В операциях обмена с основной памятью обычно строка участвует целиком (несекторированный кэш), для про­цессоров i486 и старше длина строки совпадает с объемом данных, передаваемых за один пакетный цикл (для 486 это 4х4 = 16 байт, для Pentium - 4х8=32 байт). Возможен и вариант секторированного (sectored) кэша, при котором одна строка содержит несколько смежных ячеек - секторов, размер которых соответствует минимальной порции обмена данных кэша с основной памятью. При этом в записи каталога, соответствующей каждой строке, должны храниться биты дей­ствительности для каждого сектора данной строки. Секторирование позволяет экономить память, необходимую для хранения каталога при увеличении объема кэша, поскольку большее количество бит каталога отводится под тег и выгоднееиспользовать дополнительные биты действительности, чем увеличивать глубину индекса (количество элементов) каталога.

    Строки кэша под отображение блока памяти обычно выделяются только при операциях чтения. Запись блока, не имеющего копии в кэше, производится только в основную память (для повышения быстродействия она может производиться через буфер отложенной записи, но это отдельный механизм, не имеющий не­посредственного отношения к рассматриваемому кэшированию). Поведение кэш-контроллера при операции записи в память, когда копия затребованной области находится в некоторой строке кэша, определяется его политикой записи (Write Po­licy). Существуют два основных алгоритма записи данных из кэша в основную память: сквозная запись WT (Write Through) и обратная запись WB (Write Back).

    Алгоритм WT предусматривает выполнение каждой операции записи (даже однобайтной), попадающей в кэшированный блок, одновременно и в строку кэша, и в основную память. При этом процессору при каждой операции записи придется ожидать окончания относительно длительной записи в основную па­мять. Алгоритм достаточно прост в реализации и легко обеспечивает целост­ность данных за счет постоянного совпадения копий данных в кэше и основной памяти. Для него нет необходимости хранения признаков присутствия и моди­фицированное™ - вполне достаточно только информации тега (при этом счи­тается, что любая строка всегда отражает какой-либо блок, а какой именно - указывает тег). Но эта простота оплачивается низкой эффективностью записи. Существуют варианты этого алгоритма с применением отложенной буфериро­ванной записи, при которой данные в основную память переписываются через "FIFO-буфер во время свободных тактов шины.

    Алгоритм WB позволяет уменьшить количество операций записи на шине основной памяти. Если блок памяти, в который должна производиться запись, отображен и в кэше, то физическая запись сначала будет произведена в эту действительную строку кэша, и она будет отмечена как грязная (dirty), или модифицированная, то есть требующая выгрузки в основную память. Только после этой выгрузки (записи в основную память) строка станет чистой (clean), и ее можно будет использовать для кэширования других блоков без потери целостности данных. В основную память данные переписываются только целой строкой (после заполнения всех ее секторов в случае секторированного кэша) или непосредственно перед ее замещением в кэше новыми данными. Данный алгоритм сложнее в реализации, но существенно эффективнее, чем WT. Под­держка системной платой кэширования с обратной записью требует обработки дополнительных интерфейсных сигналов для обеспечения выгрузки модифи­цированных строк в основную память, если к этой области производится обра­щение со стороны таких контроллеров шины, как графические адаптеры, контроллеры дисков, сетевые адаптеры и т. п.

    В зависимости от способа определения взаимного соответствия строки кэша и области основной памяти различают три архитектуры кэш-памяти: кэш пря­мого отображения (direct-mapped cache), полностью ассоциативный кэш (fully associative cache) и их комбинация - частично- или наборно-ассоциативный кэш (set-associative cache).