русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Общие принципы функционирования кэш-памяти


Дата добавления: 2014-12-01; просмотров: 849; Нарушение авторских прав


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

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

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

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

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

При первом обращении такой информации в кэш-памяти, естественно, нет, и это соответствует кэш-промаху.

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

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



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

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

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

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

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

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

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

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

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

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




<== предыдущая лекция | следующая лекция ==>
Общие принципы функционирования кэш-памяти | Типы кэш-памяти


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.004 сек.