Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
МУ для ЛПЗ, Архитектура ЭВМ методичка лаборатор...doc
Скачиваний:
1
Добавлен:
01.03.2025
Размер:
9.7 Mб
Скачать

Сверхоперативное запоминающее устройство

Сверхоперативное запоминающее устройство – это устройство, реализующее функции кэш – памяти.

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

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

Кэш-память реализуется на микросхемах статической памяти SRAM (Static RAM), более быстродействующих, дорогих и малоёмких, чем DRAM. Время доступа к данным кэш не превышает 8 наносекунд.

Уровни кэша. При выполнении запросов к оперативной памяти во многих вычислительных системах используется двухуровневое (а в современных компьютерах иногда и трехуровневое) кэширование.

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

Вторым по быстродействию является L2-cache – кэш второго уровня. Обычно он расположен либо на кристалле, как и L1, либо в непосредственной близости от ядра, а иногда на системной плате. Объём L2 кэша от 128 Кбайт до 1−12 Мбайт.

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

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