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

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

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

физическая строка может отвечать разным виртуальным адресам для команд
состоит не в том, чтобы просто изменять виртуальный тег для некоторой
строки, а скорее в выборе строки, если имеет место кэш-промах по значению
виртуального тега. Если физический адрес уже существует в кэш-памяти
команд, соответствующая ему строка и теги перезаписываются. Таким
образом, даже несмотря на то, что к некоторой физической строке можно
обращаться по разным виртуальным адресам, процессор никогда не вводит
строку дважды в кэш-память команд.
3.2.3. АЛГОРИТМ КЭШ-ЗАМЕЩЕНИЙ
Кэш-памяти данных, команд и адресной трансляции (TLB) используют
аналогичные алгоритмы для выбора того, какой из четырех кэш-модулей
(четырех входов) будет перезаписан, когда выборка строки сопровождается
кэш-промахом.
Во-первых, замещается первая некорректная строка в ряду из четырех в
порядке 0,1, 2, 3. Когда нет больше некорректных строк в данном ряду,
работает алгоритм псевдослучайного выбора замещаемой корректной строки.
Алгоритм управляется размещенными внутри ЧИПа МП-счетчиками. По сигналу
RESET эти счетчики обнуляются, так что "случайность" детерминирована и
два ЦП на базе МП данного типа, исполняющие одну и ту же программу на
идентичных материнских платах, будут иметь абсолютно одинаковую
последовательность кэш-попаданий, кэш-промахов и кэш-замещений.
3.24. СОСТОЯНИЯ КЭШ-ПАМЯТИ ДАННЫХ
Каждая строка кэш-памяти данных может находиться в состояниях, заданных
табл. 3.1.
Таблица 3.1
MESI-состоян ия кэш-строк_____________________________________
Состояние кэш-строки М - модифицированная Е - исключительная S -
разделяемая I - некорректная
Эта кэш-строка корректна? Да Да Да Нет
Копия в памяти Не соответствует данным ... корректна ... не
корректна -
Существуют копии в других кэш? Нет Нет Могут быть Могут быть
Запись в эту строку ... не едет на магистраль ... не едет на
магистраль ... идет на магистраль и обновляет кэш-память ...цдет на
магистраль
251
ИСПОЛЬЗОВАНИЕ КЭШ-ПАМЯТИ И ОРГАНИЗАЦИЯ ОСНОВНОЙ ПАМЯТИ
Отметим, что кэш-команда реализует лишь "SI" часть MESI-протокола, так
как команды из кэш-памяти команд нельзя записывать обратно в память.
Состояние кэш-строки может изменяться как в результате внутренних (из
ЧИПа), так и внешних (от магистрали) воздействий, связанных с этой
строкой. В табл. 3.2 представлены переходы состояний в кэш-памяти данных
в результате внутренних воздействий со стороны МП.
Таблица 3.2
Переходы состояний кэш-памяти, инициируемые схемотехникой МП
Состояние Следующее состояние после чтения Следующее состояние после
записи
1 Еспи WB/WT # = 1; Е; иначе S заполнение строки Сквозная запись I
S S Сквозная запись еспи WB/WT # = 1, Е; иначе S
Е Е М
М М М
Примечание: "Запись" не включает обратной записи при замещении. Они могут
только вызвать переход из М в 1.
Протокол кэш-согласования. МП обычно реализуют кэш-согласование
посредством MESI-протокола (Modified-измененный, Exclusive-
исключительный, Shared-разделенный, Invalid -некорректный).
Поддержка внешнего кэш-согласования обеспечивается с помощью циклов
запросов. Циклы запросов инициируются другими процессорами в
мультипроцессорной системе для проверки, нет ли кэш-копии адреса во
внутренней кэш-памяти МП. В табл. 3-3 представлены переходы состояния
строки, инициированные циклами запросов.
Таблица 3.3
Переходы состояний кэш-строк, инициируемые внешними запросами
Состояние INV = 0 INV = 1
I S I S I I
Е S I
М S; обратная запись строки I; обратная запись строки
Стратегия однократной записи (write once). Стратегия однократной записи
может быть осуществлена, используя входной контакт WB/WT#. Сигнал на этом
контакте опрашивается как в цикле записи, так и чтения. Кэш-промах при
чтении вызывает, после заполнения строки, перевод строки, в состояние S
или Е. Если контакты WB/WT# имеют низкий уровень сигнала и в то же время
контакт NA# активен или первый сигнал на контакте BRDY# активен, строка
входит в состояние S, усиливая следующее КЭШ-попадание при записи в эту
строку передачей на магистраль. Если контакты WB/WT# имеют высокий
уровень сигнала, строка переходит в состояние Е. В циклах сквозной записи
состояние строки изменяется с S на Е при высоком уровне сигнала на
контакте WB/WT #, так что последующие записи не будут сквозными. Таким
образом, если этот сигнал приводить к низкому уровню при циклах чтения и
высокому при циклах записи, то реализуется стратегия однократной записи.
Самый простой путь осуществления однократной записи - это подключить этот
контакт к выходному контакту W/R# процессора.
252
КЭШ-ПАМЯТЬ КОМАНД И ДАННЫХ
Если разряд WT в записи таблицы страниц установлен, то МП игнорирует
сигнал на контакте WB/WT# для циклов, которые связаны кэш-попаданиями в
эту страницу, и всегда выполняет сквозную запись. Другими словами,
аппаратура не может изменить выбор стратегии сквозной записи,
осуществленный ПО.
Блокированные обращения. Блокированные обращения - это те загрузки или
Предыдущая << 1 .. 141 142 143 144 145 146 < 147 > 148 149 150 151 152 153 .. 528 >> Следующая

Реклама

c1c0fc952cf0704ad12d6af2ad3bf47e03017fed

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

c1c0fc952cf0704ad12d6af2ad3bf47e03017fed