Научная литература
booksshare.net -> Добавить материал -> Физика -> Александров Е.К. -> "Микропроцессорные системы" -> 148

Микропроцессорные системы - Александров Е.К.

Александров Е.К., Грушвицкий Р.И., Купрянов М.С., Мартынов О.Е. Микропроцессорные системы — Спб.: Политехника, 2002. — 935 c.
ISBN 5-7325-0516-4
Скачать (прямая ссылка): mikroprocessorniesistemi2002.djvu
Предыдущая << 1 .. 142 143 144 145 146 147 < 148 > 149 150 151 152 153 154 .. 528 >> Следующая

сохранения данного, которые возникают после команды "lock", включая
первую загрузку или сохранение после соответствующей команды "unlock".
Переходы состояния для блокированных обращений отличаются от приведенных
в табл. 3.2 в плане гарантий таким образом, что блокированные обращения
видны всем процессорам в системе. Любая блокированная загрузка или
сохранение производит как просмотр кэш, так и вырабатывает цикл внешней
магистрали независимо от того, есть кэш-попадание или нет.
1. При блокированном чтении:
а) если требуемое данное не обнаруживается в кэш-памяти, используется
данное с магистрали; оно помещается в кэш, если оно копируемое в кэш-
память, а также возбужден контакт KEN#;
б) если требуемое данное находится в неизмененном состоянии (S или Е),
используется данное с магистрали;
в) если данное находится в кэш-памяти в измененном состоянии (М),
используется данное из кэш-памяти, а данное магистрали игнорируется, пока
нет запроса обратной записи перед возбуждением контакта BRDY# циклом
магистрали; если, однако, возникающий в процессе чтения запрос обратной
записи переводит строку в S- или I-состояние используется данное
магистрали.
2. При блокированном сохранении данное вводится в кэш-память сигнала на
контакте BRDY# из магистрали. Отметим, что строка, записанная при
блокированном сохранении, остается в состоянии М несмотря на сквозную
запись на магистраль, так как длина данного сквозной записи меньше
размера строки из 32 байт.
Блокированные обращения являются полностью "выходящими" в том смысле,
что:
• до ввода первого блокированного обращения все загрузки и сохранения,
которые пред-
шествуют команде "lock" вводятся на магистраль (если они кэш-промахи);
блокированное обращение может быть введено до последнего сигнала на
контакте BRDY# предшествующего цикла, если активирован контакт NA# в
ответ на предшествующий цикл;
• никакие данные по командам загрузки или сохранения после последнего
блокированного обращения не поступают в кэш или на магистраль до
последнего сигнала на контакте BRDY# для всех блокированных обращений.
Для достижения максимальной производительности выборки команд в ходе
выполнения блокированной последовательности являются "не выходящими".
Когда сигнал на контакте NA# вызывает конвейеризацию, выборки команд
могут быть осуществлены, в то время как блокированные обращения к данным
остаются на магистрали.
3.2.5. СОГЛАСОВАННОСТЬ ВНУТРЕННИХ КЭШ-ПАМЯТЕЙ
Просмотры как кэш-памяти команд, так и кэш-памяти данных могут быть
обусловлены генерируемыми извне запросами циклов и результат кэш-
просмотра представляется сигналами на выходных контактах HIT# и HITM#.
Эти циклы помогают осуществить согласованность с кэш-памятями других
процессоров. Однако ПО должно принять на себя заботу
253
ИСПОЛЬЗОВАНИЕ КЭШ-ПАМЯТИ И ОРГАНИЗАЦИЯ ОСНОВНОЙ ПАМЯТИ
не создавать несогласованностей какие наблюдаются между внутренними кэш-
памятями (включая и буферы страничной трансляции -TLB):
• изменение адресного пространства, в то время как сохраняются теги
виртуальных адресов предшествующего пространства в кэш-памяти команд или
данных;
• изменение команде памяти (или в кэш-памяти данных) без их изменения в
кэш-памяти
команд;
• изменение информации в таблице страниц в памяти (или в кэш-памяти
данных) без из-
менения той же самой информации в буферах TLB.
Некоторые обстоятельства, такие как обращение к вводу/выводу,
самоизменяющаяся машинная программа, обновления таблицы страниц или
разделяемые данные в мультипроцессорной системе необходимо обойти,
установить некорректность или сбросить кэш-памяти. МП фирмы "Intel"
обеспечивает это так.
Обход кэш-памятей команд и данных:
1. Сигнал на контакте KEN# запрещает копирование данного и команды из
обращения к данному, если этот сигнал сброшен в ходе выполнения кэш-
промаха.
2. Если разряд CD из соответствующей таблицы страниц в единице,
копирование в кэшпамять из этой страницы замаскировано. Значение разряда
CD повторяется на выходном контакте PCD# для использования внешнего кэш-
копирования.
3. Если разряд WT из записи таблицы страниц установлен, кэш-копирование
не маскируется, а записи пропускаются сквозь кэш-память. Значение разряда
WT дублируется значением на выходном контакте PWT# и может быть
использовано внешними кэш-памятями. (Заметим, что значение WT не
воздействует на стратегию кэш-памяти команд, поскольку кэш-память команд
является не записываемой. Однако, если команда из страницы, имеющей
разряд WT установленным в записи РТЕ, помещается в кэш-память данных,
стратегия сквозной записи применяется точно так же, как для страницы
данных).
4. Записи с некорректностью кэш-копий - установленный разряд ITI в
регистре dirbase фиксирует, что каждая строка кэш-памятей адресной
трансляции и команд некорректна. В кэш-памяти данных он фиксирует
некорректности виртуальных тегов, но не физических.
5. Сброс (очистка) кэш-памяти данных - кэш-память данных очищается
Предыдущая << 1 .. 142 143 144 145 146 147 < 148 > 149 150 151 152 153 154 .. 528 >> Следующая

Реклама

c1c0fc952cf0704ad12d6af2ad3bf47e03017fed

Есть, чем поделиться? Отправьте
материал
нам
Авторские права © 2009 BooksShare.
Все права защищены.
Rambler's Top100

c1c0fc952cf0704ad12d6af2ad3bf47e03017fed