Иерархическая структура кэш-памяти

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

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

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

Средства управления кэш-памятью

Первые схемы кэш-памяти были прозрачными для программного обеспечения, т.е. были программно неуправляемы. Впоследствии, в системах команд ЭВМ, особенно в многопроцессорных системах, появился ряд команд управления (настройки) кэш-памяти. Это команды управления, например команды предвыборки данных во внешних ступенях кэш-памяти, или команды блокирования и перенастройки алгоритмов работы кэш памяти первого уровня.

Рассмотрим основные возможности управления функционированием кэш-памяти на примере МП i486.

Процессор i486 имеет встроенную в микросхему внутреннюю множественно-ассоциативную кэш-память для хранения 8Кбайт команд и данных. Предусмотрено использование и внешней кэш-памяти.

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

Кэш-память доступна во всех режимах работы: реальном режиме, защищенном режиме и виртуальном режиме 8086.

Размер кэш-строки в процессоре i486 равен четырем двойным словам (8 байт). Допускается кэширование со сквозной записью и с обратной записью. При кэшировании со сквозной записью обновляется кэш-память и внешняя память. Кэширование с обратной записью обновляет только кэш-память, внешняя память обновляется только при выполнении операции обратной записи. Операции обратной записи запускаются при необходимости отменить распределение строк кэш-памяти, например, при кэш-промахах.

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

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

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

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

Можно заморозить данные в кэш-памяти, загрузив ее при помощи тестовых регистров и установив CD и NW. Это позволяет гарантировать кэш-попадания для кодов и данных, критичных к времени доступа.

Режимы, устанавливаемые при помощи битов CD и NW, приведены в табл. 11.

 

Таблица 11. Режимы работы кэш-памяти

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

 

Вопросы для самопроверки:

1. Причины использования многоуровневых структур кэш-памяти.

2. Кэширование с обратной записью.

3. Кэширование с прямой записью.

4. Работа кэш-памяти в качестве внутренней сверхоперативной памяти процессора.

5. Полное запрещение кэширования.

6. Режим использования кэш-памяти для хранения данных о состоянии процессора.

7. Замораживание данных в кэш-памяти для обеспечения гарантийного кэш-попадания для кодов и данных, критичных к времени доступа

Неделя 17.Лекция 17. Обзор лекционного материала выносимого на экзамен.








Дата добавления: 2015-08-14; просмотров: 595;


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

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

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

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