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

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

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

позволяет перезаписывать любой блок в кэшпамяти в любое время без потерь
данных. Система со сквозной записью проста, но время, требуемое для
записи в ОП, снижает производительность и увеличивает количество
обращений по магистрали.
Буферизованная сквозная запись. В этой схеме любая запись в ОП
буферизуется, т. е. информация задерживается в кэш-памяти перед записью в
ОП (схемы кэш-памяти управляют доступом к ОП асинхронно по отношению к
работе процессора). Затем процессор начинает новый цикл до завершения
цикла записи в ОП. Если за записью следует чтение, то это кэш-попадание,
так как чтение может быть выполнено в то время, когда кэш-контроллер
занят обновлением основной памяти. Буферизация позволяет избежать
снижения производительности, характерного для системы со сквозной
записью.
Существенным недостатком этого метода является то, что обычно
буферизуется только одиночная запись, поэтому две последовательные записи
в ОП требуют цикла ожидания процессора. Кроме того, запись с пропущенным
последующим чтением также требует ожидания процессора (состояние ожидания
используется для синхронизации работы процессора с медленной памятью).
Работу по этой схеме иллюстрирует рис. 3.5.
В этот момент времени МП закончил запись "Новых данных 1". Кэш-контроллер
поместил в буфер данные для записи и обновления кэш-памяти. Процессор
считал "Старые данные 2". Возникло кэш-попадание. В то время, когда
"Старые данные 2" находятся на пути к МП. "Новые данные 1" будут
переписаны вОП вместо "Старых данных 1".
Обратная запись. В схеме обновления с обратной записью используется
специальный бит "Изменения" в поле тега. Этот бит устанавливается, если в
блок были записаны новые данные, и он является более "поздним", чем его
оригинал в ОП.
Рис. 3.5. Пример буферизованной сквозной записи
244
ОБЩИЕ ПРИНЦИПЫ ОРГАНИЗАЦИИ КЭШ-ПАМЯТИ
Перед тем, как перезаписать блок в кэш-памяти, контроллер переписывает
состояние этого бита. Если он установлен, то контроллер переписывает
данный блок в ОП перед загрузкой новых данных в кэш-память.
Обратная запись быстрее сквозной, так как обычно число случаев, когда
блок изменяется и должен быть переписан в ОП, меньше числа случаев, когда
эти блоки только считываются.
Метод обратной записи имеет несколько недостатков. Во-первых, все
измененные блоки должны быть переписаны в ОП перед тем, как другое
устройство сможет получить к ним доступ. Во-вторых, в случае
катастрофического отказа (например, отключения питания), когда содержимое
кэш-памяти теряется, а основной - сохраняется, нельзя определить, какие
места в ОП содержат устаревшие данные. В-третьих, кэш-контроллер для
обратной записи содержит больше (и более сложных) логических микросхем,
чем контроллер для сквозной записи. Например, когда система с обратной
записью осуществляет запись измененного блока в память, она формирует
адрес записи из тега и выполняет цикл обратной записи точно так, как и
вновь запрашиваемый доступ.
3.1.5. СОГЛАСОВАННОСТЬ КЭШ-ПАМЯТИ
Особая ситуация при работе с кэш-памятью возникает в том случае, когда
она используется в системе с доступом к памяти более чем из одного
устройства. Например, пусть два устройства копируют раздел памяти, и
устройство 1 обновляет ее первым. Когда устройство 2 производит запись в
память, оно "разрушает" любые изменения, сделанные устройством 1. Такое
событие называют нарушением согласованности кэш-памяти. Существуют три
подхода к обеспечению согласованности кэш-памяти.
а)
Рис. 3.6. Использование аппаратуры кэш-памяти (а - все записи проходят
через единственную кэш-память; б - каждая запись обновляет ОП и все кэш-
памяти, разделяющие эту область памяти)
245
ИСПОЛЬЗОВАНИЕ КЭШ-ПАМЯТИ И ОРГАНИЗАЦИЯ ОСНОВНОЙ ПАМЯТИ
Очистка кэш-памяти. В этом варианте измененные данные записываются в ОП,
а кэшпамять очищается. Если все кэш-памяти системы очищаются перед
операцией записи устройствами в память совместного пользования, то
возможность появления устаревших данных в любой кэш-памяти исключается.
Преимуществом этого метода является простая аппаратная реализация, а
главный недостаток заключается в том, что следующий за очисткой доступ в
память будет по определению кэш-промахом и так до тех пор, пока кэш-
память не заполнится новыми данными.
Аппаратная прозрачность. Аппаратное решение проблемы устаревших данных
дает уверенность, что все обращения к ОП (т. е. к той ее части, которая
отображается в кэш-память) проводятся через кэш-память. Это может быть
сделано либо путем копирования всех кэш-записей как в ОП, так и во все
другие кэш-памяти, либо пересылкой всех кэш-записей через единственную
кэш-память. На рис. 3.6 показаны различные аппаратные подходы.
Некэшируемая память. Другой метод решения проблемы согласованности кэш-
памяти - это использование общей памяти как некэшируемой. В системе,
основанной на этом методе, все обращения к общей памяти являются кэш-
промахами, поскольку эта память никогда не копируется в кэш. Некэшируемая
Предыдущая << 1 .. 138 139 140 141 142 143 < 144 > 145 146 147 148 149 150 .. 528 >> Следующая

Реклама

c1c0fc952cf0704ad12d6af2ad3bf47e03017fed

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

c1c0fc952cf0704ad12d6af2ad3bf47e03017fed