Организация микропроцессорных систем. Учебное пособие. Могнонов П.Б. - 151 стр.

UptoLike

Составители: 

направляется во внутренний кэш. Если затребованная область памяти присутствует в строке
внутреннего кэша, то он обслужит этот запрос. Вторичный кэш устраняет многие промахи
первого кэша. В случае промаха на обоих уровнях, минимальная задержка передачи
Рис. 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-
строку генерирует цикл записи через внешнюю шину в основную память. При этом та же
строка в других устройствах кэш-памяти становится недействительной.