- •Глава 1. Основные понятия 9
- •Глава 8. Организация виртуальной памяти 227
- •Глава 9. Организация кэш-памяти 246
- •Глава1. Основные понятия
- •1.1. Система программно-аппаратных средств обработки информации
- •1.2.Традиционная классификация эвм
- •1.3. Структуры эвм
- •1.4. Многомашинные комплексы и многопроцессорные системы
- •1.5. Эволюция режимов работы эвм
- •1.5. Особенности построения и эксплуатации современных многопроцессорные и многомашинных комплексов.
- •Глава 2. Программная модель процессора
- •2.1. Общие понятия
- •2.2. Виды используемых структур памяти по принципам размещения и поиска информации
- •2.3. Организация оперативной памяти
- •2.3.1. Оперативная память и адресные пространства процессора
- •2.3.2. Адресация многобайтовых объектов в оперативной памяти
- •2.3.3. Структура и типы команд
- •2.4. Режимы адресации
- •2.5. Типы машинных арифметик
- •2.6. Управление потоком команд.
- •2.7. Контекст программы
- •2.8. Команды cisc- и risc-архитектуры
- •Глава 3. Программная модель мп Intel
- •3.1. Режимы работы
- •3.2. Программная модель 16-ти битового микропроцессора мп ia-16
- •3.2.1. Модель памяти
- •3.2.2. Порты ввода/вывода
- •2.2.3. Регистровый файл
- •3.2.4. Структура команд
- •3.3. Программная модель 32-битового микропроцессора
- •3.3.1. Основные особенности организации
- •3.3.2. Модель памяти
- •3.3.3. Регистровый файл
- •3.3.4. Структура команд и режимы адресации
- •3.3.5. Структура данных
- •Глава 4. Программные модели мп корпорации dec
- •4.1. Программная модель процессоров семейства pdp-11
- •4.2. Программная модель процессоров эвм vax-11 (см 1700)
- •Глава 5. Система прерывания
- •5.1.Функции системы прерывания и общие решения по реализации
- •5.2. Система прерывания в мп intel
- •5.2.1. Система прерывания в мп ia-16
- •5.2.2. Особенности системы прерывания в мп ia-32
- •5.2.3. Организация системы прерывания в pdp 11
- •Глава 6. Организация ввода-вывода
- •6.1. Система ввод/вывода
- •6.2.Теоретические основы операций ввода/вывода
- •6.3. Синхронизация передачи данных при вводе/выводе
- •6.3.1. Ввод/вывод с проверкой готовности
- •6.3.2. Ввод/вывод с использованием системы прерывания
- •6.3.3. Ввод/вывод с использованием устройств прямого доступа к памяти
- •Глава 7. Шинные интерфейсы
- •7.1. Общие положения
- •7.2. Асинхронный системный интерфейс "Общая шина"
- •7.3. Системные интерфейсы мп ia
- •7.4. Локальный интерфейс микропроцессора i80386
- •7.4.1. Особенности локального интерфейса i80386
- •7.4.2. Диаграммы работы локального интерфейса мп i80386
- •7.4.3. Модель функционирования локального интерфейса мп i80386. (интерфейс с конвейерной передачей данных)
- •7.4.4. Специальные циклы
- •7.5. Локальный интерфейс микропроцессора i486 (интерфейс с пакетной передачей данных)
- •7.5.1. Особенности локального интерфейса i486
- •7.5.2. Диаграммы работы локального интерфейса мп i486
- •7.5.3. Модель функционирования локального интерфейса мп i486
- •7.6. Локальный интерфейс мп Pentium (интерфейс с пакетной передачей данных и конвейеризацией передачи адреса)
- •7.7. Интерфейсы с расщепленными транзакциями
- •Глава 8. Организация виртуальной памяти
- •8.2. Основные задачи виртуальной памяти
- •8.3. Страничная организации виртуальной памяти
- •8.3.1. Страничная организация памяти
- •8.3.2. Виртуальная память на основе таблицы математических страниц
- •8.3.3. Упрощенная схема виртуальной памяти на основе таблицы физических страниц
- •8.3.4. Схема виртуальной памяти на основе таблицы физических страниц.
- •Глава 9. Организация кэш-памяти
- •9.1. Назначение и общая схема подключения кэш-памяти
- •9.2. Системы адресации кэш-памяти
- •9.3. Режимы работы кэш-памяти
- •9.4. Иерархическая структура кэш-памяти и средства управления кэш-памятью
- •9.5. Организация когерентности системы кэш-памяти в многопроцессорных системах с общей оперативной памятью.
- •Основные переходы. При запросах на чтение (r):
- •Чтение (sr2):e в s. При запросах на запись (w):
- •Глава 10. Организация системы памяти на жестких дисках
- •10.1.Дисковые массивы и уровни raid
- •125Стр. Из 292
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. Замораживание данных в кэш-памяти для обеспечения гарантийного кэш-попадания для кодов и данных, критичных к времени доступа