Принципы кэширования

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

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

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

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

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

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

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

Первичный кэш (LI Cache) встроен во все процессоры класса 486 и выше; это внутренний кэш. Объем этого кэша невелик (8 - 32 Кбайт). Чтобы повысить производительность, для данных и команд часто используется раздельный кэш.

Вторичный кэш (L2 Cache) для процессоров Pentium является внешним (устанавливается на системной плате), а у Р6 располагается в одной упаковке с ядром и подключается к специальной внутрен­ней шине процессора, емкость вторичного КЭШа достигает 2 Мбайт.








Дата добавления: 2016-02-24; просмотров: 1015;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.003 сек.