Кэш ( Cache ) - специальный вид памяти или часть ОЗУ, где хранятся копии часто используемых данных. Обеспечивает к ним быстрый доступ. Кэш памяти сохраняет содержимое и адрес участка ОЗУ, к которой часто обращается процессор. При обращении процессора к адресу памяти, кэш проверяет наличие у себя этого адреса. Если он ее находит, обмен данными выполняется между процессором и кэшем, в противном случае - между процессором и ОЗУ. Кэш эффективен, когда скорость работы памятименьше скорости работы процессора.
История КЭШ памяти
Использование слова «кэш» в контексте компьютеров происходит от 1967 года, когда готовилась статья для публикации в журнале "IBM Systems Journal '. Статья касалась захватывающего совершенствования памяти в модели 85, следующей в линии IBM System/360. Редактор журнала, Lyle R. Johnson, попросил использовать более описательный термин, чем «быстроходный буфер», но другого слова не были предоставлены, тогда он предложил «кэш». Статья была опубликована в начале 1968 года, авторы были награждены IBM, их работа широко одобрялась и впоследствии была улучшена, и название «кэш» быстро стала стандартно использоваться в компьютернойлитературе.
Принцип действия КЭШ
Кэш - это быстрая буферная память небольшой емкости, расположенной между процессором и основной памятью. Кэш работает на полной скорости процессора и не подтормаживает его работу. Кэш (cache в переводе с англ. - тайник) остается прозрачным для программиста, так как система инструкций процессора, как правило, не содержит команд работы с кэшем. При объяснении работы кэша можно принять, что процессор также не «видит» кэш и генерирует адреса памяти так, будто кэша нет. Однако кэш, как правило, существует, и на аппаратном уровне перехватывает сигналы процессора чтение / запись, а если надо, то предоставляет процессору быстрые копии информационных кодов, временно хранит в собственной рабочей памяти. Если кэш способен подменить собой память (в более 96-98 процентов случаев), тогда он за счет собственных ресурсов удовлетворяет запрос процессора. Процессор не притормаживается и остается работать на полной скорости. Когда «подмена» памяти невозможна (меньше двух-четырех процентов случаев), тогда кэш привлекает к работе память, обмен с которой существенно притормаживает процессор.
Все задачи, связанные с перехватом запросов от процессора на работу с памятью, решает часть аппаратуры кэша под названием контроллер кэша. Вторая часть аппаратуры кэша содержит небольшую рабочую память, где хранят содержимое копий ячеек главной памяти, участвовавших в обслуживании последних, то есть «свежих» запросовпроцессора. Важно, что содержимое ячеек главной памяти копируется в памяти кэша вместе со своими адресами. Именно эти копируемые адреса и позволяют контроллеру кэша принимать решение о возможности буферной памяти удовлетворить конкретный процессорный запрос без привлечения к обмену медленной главной памяти.