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

UptoLike

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

При промахе после считывания основной памяти приемником информации новое
данное помещается в кэш-строку (если бит М=0), а в ее тег помещается, старшие биты
логического адреса и устанавливается признак действительности данных (V бит).
Этот способ отображения наиболее часто используется в микропроцессорных
системах вследствие своей простоты и низкой стоимости. Так для его реализации требуется
один компаратор и, что еще более важно, сам накопитель в кэш-памяти может иметь форму
стандартной памяти, которая может реализовываться в виде статических ЗУ с высоким
быстродействием. Он имеет ряд недостатков. Один из них является ограниченное число
комбинаций блоков основной памяти, которые могут находиться в кэш-строке. Другой
недостаток заключается в следующем. Если в процессе выполнения программы, процессору
поочередно будут требоваться блоки памяти из разных страниц, основной памяти (на рис.
5.33 они расположены на одной горизонтали в различных страницах), то кэш будет работать
интенсивно, но не эффективно. Очередное обращение будет замещать данные, считанные в
предыдущем или требующиеся в последующем обращениях. В этом случае будет
наблюдаться череда сложных кэш-промахов. Переключение страниц в многозадачных
операционных системах снижает кэш-попадания, что тоже приводит к снижению
производительности системы.
Наборно-ассоциативная структура кэш является комбинацией двух методов: прямого
и ассоциативного. Он позволяет каждому блоку кэшируемой основной памяти претендовать
на одну из нескольких строк кэша, объединенных в набор. При такой организации имеется
несколько параллельно и согласованно работающих каналов прямого отображения, где
контроллеру кэш-памяти приходится принимать решение о том, в какую из строк набора
помещать очередной блок данных.
На рис.5.34 показан двухканальный наборно-ассоциативный кэш, который содержит
два банка памяти и тегов. Номер набора, в котором может отображаться блок основной
памяти, определяется полем Index логического адреса процессора. Строка набора, в который
загружается требуемый блок основной памяти, определяется сравнением адресных тегов
кэш-каталогов с полем метки логического адреса процессора. Сравнение происходит
параллельно для обоих каналов. Из рис.5.34 видно, что блок расположенный в 1023 странице
основной памяти, отображается в банк А с номером набора равным 1. На рисунке
заштрихованные блоки основной памяти также отображаются в кэш-строки банка А или В
согласно адресным тегам, содержащимся в кэш-каталогах каждого канала.
Наборно-ассоциативная структура широко применяется в первичных кэшах
современных процессорах. Объем кэшируемой памяти определяется так же, как кэш с
прямым отображением, но здесь будет фигурировать объем одного банка и разрядность
относящихся к нему ячеек тега. В нашем случае объем кэш памяти составляет 16 Кбайт (два
банка по 8Кбайт), а объем кэшируемой памяти 8Мбайт.
       При промахе после считывания основной памяти приемником информации новое
данное помещается в кэш-строку (если бит М=0), а в ее тег помещается, старшие биты
логического адреса и устанавливается признак действительности данных (V бит).
       Этот способ отображения наиболее часто используется в микропроцессорных
системах вследствие своей простоты и низкой стоимости. Так для его реализации требуется
один компаратор и, что еще более важно, сам накопитель в кэш-памяти может иметь форму
стандартной памяти, которая может реализовываться в виде статических ЗУ с высоким
быстродействием. Он имеет ряд недостатков. Один из них является ограниченное число
комбинаций блоков основной памяти, которые могут находиться в кэш-строке. Другой
недостаток заключается в следующем. Если в процессе выполнения программы, процессору
поочередно будут требоваться блоки памяти из разных страниц, основной памяти (на рис.
5.33 они расположены на одной горизонтали в различных страницах), то кэш будет работать
интенсивно, но не эффективно. Очередное обращение будет замещать данные, считанные в
предыдущем или требующиеся в последующем обращениях. В этом случае будет
наблюдаться череда сложных кэш-промахов. Переключение страниц в многозадачных
операционных системах снижает кэш-попадания, что тоже приводит к снижению
производительности системы.
       Наборно-ассоциативная структура кэш является комбинацией двух методов: прямого
и ассоциативного. Он позволяет каждому блоку кэшируемой основной памяти претендовать
на одну из нескольких строк кэша, объединенных в набор. При такой организации имеется
несколько параллельно и согласованно работающих каналов прямого отображения, где
контроллеру кэш-памяти приходится принимать решение о том, в какую из строк набора
помещать очередной блок данных.
       На рис.5.34 показан двухканальный наборно-ассоциативный кэш, который содержит
два банка памяти и тегов. Номер набора, в котором может отображаться блок основной
памяти, определяется полем Index логического адреса процессора. Строка набора, в который
загружается требуемый блок основной памяти, определяется сравнением адресных тегов
кэш-каталогов с полем метки логического адреса процессора. Сравнение происходит
параллельно для обоих каналов. Из рис.5.34 видно, что блок расположенный в 1023 странице
основной памяти, отображается в банк А с номером набора равным 1. На рисунке
заштрихованные блоки основной памяти также отображаются в кэш-строки банка А или В
согласно адресным тегам, содержащимся в кэш-каталогах каждого канала.
       Наборно-ассоциативная структура широко применяется в первичных кэшах
современных процессорах. Объем кэшируемой памяти определяется так же, как кэш с
прямым отображением, но здесь будет фигурировать объем одного банка и разрядность
относящихся к нему ячеек тега. В нашем случае объем кэш памяти составляет 16 Кбайт (два
банка по 8Кбайт), а объем кэшируемой памяти − 8Мбайт.