• Буферизированная сквозная запись - обновляемый блок передаётся в кэш-буфер и
транзакция к памяти завершается, т.е. процессор продолжает работу получив
требуемые данные. Блок, записанный в кэш-буфере независимо от работы кэш-
контроллера по мере освобождения интерфейса с ОП записывается в неё. Т.к. кэш-
буфер в общем случае может содержать быстродействующую память, достаточную
для
хранения не одного, а нескольких блоков, организована эта память в виде очереди.
Каждое место этой памяти состоит из 2-х частей: адреса блока b и данных блока data.
• Недостаток: Реализуется еще одно устройство кэширования в виде кэш-буфера.
• Обратная запись – для каждого места в кэш- памяти вводится в поле тегов
специальный бит изменения данных блока, который устанавливается, если блок
обновлён, т.е. является более поздним, чем его исходная копия в ОП. Перед
освобождением места в кэш-памяти, занятого этим блоком контроллер проверяет этот
бит. Если он установлен, то перед загрузкой
в это место новых данных выполняется
запись содержимого этого места в ОП.
• Недостаток: При использовании энергонезависимой памяти отключение питания не
позволяет сохранить изменённые данные в этой памяти.
• Буферизированная обратная запись - изменяется порядок обращения к ОП.
Замещаемый блок сохраняется в быстродействующей памяти – кэш-буфере вместе со
своим адресом, далее читается замещающий блок из ОП в освобождённое место кэш-
памяти, а затем по мере освобождения интерфейса с ОП замещённый блок передаётся
в ОП. Очевидно, при этом не происходит задержка процессора при получении
требуемых данных, такая, которая была бы при отсутствии буфера.
Организация кэш-памяти в многопроцессорных системах (МПС)
Проблема обеспечения целостности данных хранящихся в ОП для
многопроцессорных систем, заключающаяся в том, что трудно определить, где находятся
не актуализированные данные - в кэш-памяти процессоров или в ОП.
Кэш-
контроллер
Пр1
ОП
Кэш-
память
A
1
A
1
’’
D
1
’’
D
1
Кэш-
контроллер
Кэш-
память
Пр2
аппаратная прозрачность
A
1
’D
1
’
A
2
’’
D
2
’’
A
2
D
2
A
2
’D
2
’
Очистка
Рис. 3. 51. Организация кэш-памяти в многопроцессорных системах
У нас имеется 2 процессора и имеется единая ОП, но у каждого процессора имеется
своя кэш-память. Допустим у нас есть некая область в ОП. Процессор 1, обратившись к
этой области ОП, получает в кэш-памяти копию этих данных. Если процессор изменил
данные кэш-памяти,
при использовании метода обратной записи, то возникает нарушение
целостности данных, то есть данные кэш-памяти и ОП различны. Другой процессор,
который использует туже самую область памяти «уверен», что данные в этой области
целостны и получает эту копию в свою кэш-память. Это приводит к тому, что данные
обрабатываются неправильно.
Существуют 3 метода
обеспечения целостности данных в ОП:
10.
Очистка кэш-памяти. Заключается в том, что после изменения данных в кэш-
памяти место освобождается. Для обеспечения целостности данных необходимо,
чтобы кэш-контроллеры были связаны и очистка происходила во всех кэш-памятях.