- •5.1.Функции системы прерывания и общие решения по реализации
- •7. Организация системы прерывания в pdp 11
- •Глава 8. Организация виртуальной памяти
- •8.2. Основные задачи виртуальной памяти
- •8.3. Страничная организация виртуальной памяти
- •8.3.1. Страничная организация памяти
- •8.3.2. Виртуальная память на основе таблицы математических страниц
- •8.3.3. Упрощенная схема виртуальной памяти на основе таблицы физических страниц
- •Глава 9. Организация кэш-памяти
- •9.1. Назначение и общая схема подключения кэш-памяти
- •9.2. Системы адресации кэш-памяти
- •9.3. Режимы работы кэш-памяти
- •9.4. Иерархическая структура кэш-памяти и средства управления кэш-памятью
9.4. Иерархическая структура кэш-памяти и средства управления кэш-памятью
Иерархическая структура кэш-памяти
Возможности согласования полосы пропускания в рассмотренной одноуровневой схеме кэш-памяти ограничены. Увеличение размера строки кэш-памяти более 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 |
1 |
Кэширование запрещено, но достоверные строки кэш-памяти продолжают "отзываться". Для полного запрещения кэш-памяти нужно войти в данный режим и выполнить очистку кэш-памяти. Для использования кэш-памяти в качестве внутренней сверхоперативной памяти, она предварительно загружается достоверными строками, специально выбранными для этого операциями с памятью или при помощи тестовых регистров. В этом режиме запись в достоверные строки кэш-памяти обновляет кэш, но не влияет на содержимое главной памяти. |
1 |
0 |
Новые строки кэш-памяти не распределяются, но достоверные строки продолжают "отзываться". |
0 |
1 |
Неверная установка. Генерируется исключение общей защиты с кодом ошибки, равным нулю. |
0 |
0 |
Кэширование разрешено |
Вопросы для самопроверки:
1. Причины использования многоуровневых структур кэш-памяти.
2. Кэширование с обратной записью.
3. Кэширование с прямой записью.
4. Работа кэш-памяти в качестве внутренней сверхоперативной памяти процессора.
5. Полное запрещение кэширования.
6. Режим использования кэш-памяти для хранения данных о состоянии процессора.
7. Замораживание данных в кэш-памяти для обеспечения гарантийного кэш-попадания для кодов и данных, критичных к времени доступа
Неделя 17. Лекция 17.Обзор лекционного материала выносимого на экзамен.