ВУЗ:
Составители:
направляется во внутренний кэш. Если затребованная область памяти присутствует в строке
внутреннего кэша, то он обслужит этот запрос. Вторичный кэш устраняет многие промахи
первого кэша. В случае промаха на обоих уровнях, минимальная задержка передачи
Рис. 6.17. Кэш – память и интерфейс шины
данных из основной памяти составляет 10-15 тактов (в зависимости от попадания в
страницу). К кэшу данных возможен одновременный доступ по записи и чтению, если
запросы относятся к разным банкам кэш-памяти.
Использование кэш-памяти в мультипроцессорных системах требуют специальных
мер предосторожности. Дело в том, что когда один из процессоров обращается к фрагменту
памяти, с которым другой процессор работает через свою кэш-память, первый может
получить неправильные данные. Процессор Р6 (а также Pentium) обеспечивает специальные
механизмы, которые гарантируют соблюдение кэш-согласования. Кэш-согласование
означает, что если один из процессоров, входящий в систему из нескольких процессоров, и,
возможно, нескольких внешних устройств кэш-памяти, изменяет какие-либо данные, то все
процессоры при обращении к этим данным получает эти изменения.
Кэш-согласование достигается с помощью использования протокола MESI
(modified/exclusive/ shared/invalid). Согласно этому протоколу, каждой строке в кэш-памяти
данных присваивается одно из четырех состояний. Это означает, что в тег адреса строки
вводятся два дополнительных бита тега состояния. Эти теги состояния строки могут быть
изменены как процессором, содержащим эту кэш-память, так и другими устройствами,
подключенными к внешней шине.
Состояние строк для каждого процессора определяется следующим образом:
М – состояние (изменённая). Строка доступна только в одном устройстве кэш-памяти
и была изменена (его содержимое отлично от содержимого соответствующего ей фрагмента
основной памяти). Доступ к М-строке (и чтение и запись) может быть осуществлен без
обращения к основной памяти через внешнюю шину;
Е – состояние (исключительная). Строка так же доступна в одном устройстве кэш-
памяти, но она не изменялась (ее копия в основной памяти действительна). Доступ к Е-
строке (чтение или запись) также может быть осуществлен без обращения к внешней шине.
Запись в Е-строку переводит её в М-состояние;
S – состояние (разделённая). Возможно, эта строка присутствует более чем в одном
устройстве кэш-памяти. Чтение S-строки не приводит к действиям на шине, но запись в S-
строку генерирует цикл записи через внешнюю шину в основную память. При этом та же
строка в других устройствах кэш-памяти становится недействительной.
Основная память
Системная шина
Интерфейс шины
КЭШ L2
КЭШ
данных
Б
у
фер
упорядоч
и-вания
памяти
Пул команд
Из устройства
генерации
адреса
Блок
выбора команд
КЭШ
команд
направляется во внутренний кэш. Если затребованная область памяти присутствует в строке внутреннего кэша, то он обслужит этот запрос. Вторичный кэш устраняет многие промахи первого кэша. В случае промаха на обоих уровнях, минимальная задержка передачи Основная память КЭШ L2 Системная шина Пул команд КЭШ данных Интерфейс шины Буфер упорядоч и-вания памяти Из устройства генерации Блок КЭШ адреса выбора команд команд Рис. 6.17. Кэш – память и интерфейс шины данных из основной памяти составляет 10-15 тактов (в зависимости от попадания в страницу). К кэшу данных возможен одновременный доступ по записи и чтению, если запросы относятся к разным банкам кэш-памяти. Использование кэш-памяти в мультипроцессорных системах требуют специальных мер предосторожности. Дело в том, что когда один из процессоров обращается к фрагменту памяти, с которым другой процессор работает через свою кэш-память, первый может получить неправильные данные. Процессор Р6 (а также Pentium) обеспечивает специальные механизмы, которые гарантируют соблюдение кэш-согласования. Кэш-согласование означает, что если один из процессоров, входящий в систему из нескольких процессоров, и, возможно, нескольких внешних устройств кэш-памяти, изменяет какие-либо данные, то все процессоры при обращении к этим данным получает эти изменения. Кэш-согласование достигается с помощью использования протокола MESI (modified/exclusive/ shared/invalid). Согласно этому протоколу, каждой строке в кэш-памяти данных присваивается одно из четырех состояний. Это означает, что в тег адреса строки вводятся два дополнительных бита тега состояния. Эти теги состояния строки могут быть изменены как процессором, содержащим эту кэш-память, так и другими устройствами, подключенными к внешней шине. Состояние строк для каждого процессора определяется следующим образом: М – состояние (изменённая). Строка доступна только в одном устройстве кэш-памяти и была изменена (его содержимое отлично от содержимого соответствующего ей фрагмента основной памяти). Доступ к М-строке (и чтение и запись) может быть осуществлен без обращения к основной памяти через внешнюю шину; Е – состояние (исключительная). Строка так же доступна в одном устройстве кэш- памяти, но она не изменялась (ее копия в основной памяти действительна). Доступ к Е- строке (чтение или запись) также может быть осуществлен без обращения к внешней шине. Запись в Е-строку переводит её в М-состояние; S – состояние (разделённая). Возможно, эта строка присутствует более чем в одном устройстве кэш-памяти. Чтение S-строки не приводит к действиям на шине, но запись в S- строку генерирует цикл записи через внешнюю шину в основную память. При этом та же строка в других устройствах кэш-памяти становится недействительной.
Страницы
- « первая
- ‹ предыдущая
- …
- 149
- 150
- 151
- 152
- 153
- …
- следующая ›
- последняя »