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

UptoLike

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

У кэша, использующий ассоциативный метод отображения, любая его строка может
отображать любой его блок памяти, что существенно повышает эффективность
использование его ограниченного объема. При этом все биты логического адреса
кэшированного блока, за вычетом бит, определяющих положение (смещение) данных в
строке, хранятся в памяти тегов. В этом случае требуется сравнение содержимого поля метки
логического адреса процессора с адресами тегов всех строк кэш-памяти. Последовательный
перебор ячеек памяти тегов отпадает на это уходит слишком много времени. Для
сохранения высокого быстродействия необходимо параллельное сравнение всех ячеек
памяти тегов, что является сложной задачей. При этом увеличивается объем аппаратных
затрат и стоимость памяти. Реализация этой памяти возможна только для небольших
объемов кэша первого уровня. Применение полностью ассоциативной кэш-памяти больших
объемов пока не предвидится.
При возникновении промаха во время обращения к кэш-памяти возникает
необходимость перемещения новой информации из основной памяти. Решение этой задачи
возлагается на блок обработки промахов (рис.5.32), который определяет способ обмена
новой информации, называемый свопингом, и метод замены строк, который определяет
порядок удаления строки или набора строк из кэш-памяти.
В реальных структурах существует два широко используемых подхода для решения
первой проблемы. Первый подход использует алгоритм сквозной записи. При этом, каждый
раз при появлении запроса на запись по некоторому адресу, обновляется содержимое
области по этому адресу, как в кэш, так и в основной памяти, даже если копия содержимого
по этому адресу находится в кэш-памяти. При возникновении запроса на запись по адресу,
относящегося к области, содержимое которой не находится в кэш-памяти (наличие промаха),
новая информация записывается просто на место строки в кэш-памяти, которое
предполагается переслать в основную память. Такое постоянное обновление содержимого
основной памяти и кэша, при каждом запросе на запись, поддерживает информацию,
находящуюся в основной памяти, в обновленном состоянии.
Данный алгоритм отличается простотой реализации и его преимущество проявляется
особенно отчетливо в мультипроцессорных системах с разделенными кэшами и общей
памятью. Так как содержимое основной памяти все время поддерживается в обновленном
состоянии, то для отдельных процессоров отпадает необходимость в справочном поиске для
нахождения последней копии и замены конкретного слова. Недостатком этого алгоритма
является отсутствие минимизации доли обращений к основной памяти. При увеличении
числа записей в кэш-память, увеличивается число обращений к основной памяти, что
приводит к снижению эффективного быстродействия памяти.
Второй подход базируется на алгоритме обратной записи. Он минимизирует число
обращений в основную память приходящее на каждое обращение к кэш-памяти. В случае
запроса на запись, вырабатываемого процессором, и наличии попадания изменяется
содержимое только кэш-строки и блокируется запрос к основной памяти. Для
предотвращения утери этой обновленной информации производят обратную запись в
основную память только в момент удаления этой строки из кэш-памяти. Для реализации
этого алгоритма в кэш-строку вводится дополнительный разряд, называемый разрядом
модификации M и входящего в строку тега состояния. Этот разряд сбрасывается в нуль при
исходной загрузке и устанавливается в единицу при изменении содержимого кэш-строки.
При замене кэш-строки осуществляется опрос разряда модификации и, если он установлен в
единицу, содержимое этой строки копируется обратно в основную память. При этом
алгоритме требуется более сложная организация управления и нарушается целостность
информации на период нахождения обновленной строки в кэш-памяти. При этом
уменьшается число обращений к основной памяти, что в целом приводит к увеличению
быстродействия памяти.
Этот метод эффективно используется в однопроцессорных вычислительных системах.
Использование его в мультипроцессорных системах с разделенными кэшами и общей
       У кэша, использующий ассоциативный метод отображения, любая его строка может
отображать любой его блок памяти, что существенно повышает эффективность
использование его ограниченного объема. При этом все биты логического адреса
кэшированного блока, за вычетом бит, определяющих положение (смещение) данных в
строке, хранятся в памяти тегов. В этом случае требуется сравнение содержимого поля метки
логического адреса процессора с адресами тегов всех строк кэш-памяти. Последовательный
перебор ячеек памяти тегов отпадает − на это уходит слишком много времени. Для
сохранения высокого быстродействия необходимо параллельное сравнение всех ячеек
памяти тегов, что является сложной задачей. При этом увеличивается объем аппаратных
затрат и стоимость памяти. Реализация этой памяти возможна только для небольших
объемов кэша первого уровня. Применение полностью ассоциативной кэш-памяти больших
объемов пока не предвидится.
       При возникновении промаха во время обращения к кэш-памяти возникает
необходимость перемещения новой информации из основной памяти. Решение этой задачи
возлагается на блок обработки промахов (рис.5.32), который определяет способ обмена
новой информации, называемый свопингом, и метод замены строк, который определяет
порядок удаления строки или набора строк из кэш-памяти.
       В реальных структурах существует два широко используемых подхода для решения
первой проблемы. Первый подход использует алгоритм сквозной записи. При этом, каждый
раз при появлении запроса на запись по некоторому адресу, обновляется содержимое
области по этому адресу, как в кэш, так и в основной памяти, даже если копия содержимого
по этому адресу находится в кэш-памяти. При возникновении запроса на запись по адресу,
относящегося к области, содержимое которой не находится в кэш-памяти (наличие промаха),
новая информация записывается просто на место строки в кэш-памяти, которое
предполагается переслать в основную память. Такое постоянное обновление содержимого
основной памяти и кэша, при каждом запросе на запись, поддерживает информацию,
находящуюся в основной памяти, в обновленном состоянии.
       Данный алгоритм отличается простотой реализации и его преимущество проявляется
особенно отчетливо в мультипроцессорных системах с разделенными кэшами и общей
памятью. Так как содержимое основной памяти все время поддерживается в обновленном
состоянии, то для отдельных процессоров отпадает необходимость в справочном поиске для
нахождения последней копии и замены конкретного слова. Недостатком этого алгоритма
является отсутствие минимизации доли обращений к основной памяти. При увеличении
числа записей в кэш-память, увеличивается число обращений к основной памяти, что
приводит к снижению эффективного быстродействия памяти.
       Второй подход базируется на алгоритме обратной записи. Он минимизирует число
обращений в основную память приходящее на каждое обращение к кэш-памяти. В случае
запроса на запись, вырабатываемого процессором, и наличии попадания изменяется
содержимое только кэш-строки и блокируется запрос к основной памяти. Для
предотвращения утери этой обновленной информации производят обратную запись в
основную память только в момент удаления этой строки из кэш-памяти. Для реализации
этого алгоритма в кэш-строку вводится дополнительный разряд, называемый разрядом
модификации M и входящего в строку тега состояния. Этот разряд сбрасывается в нуль при
исходной загрузке и устанавливается в единицу при изменении содержимого кэш-строки.
При замене кэш-строки осуществляется опрос разряда модификации и, если он установлен в
единицу, содержимое этой строки копируется обратно в основную память. При этом
алгоритме требуется более сложная организация управления и нарушается целостность
информации на период нахождения обновленной строки в кэш-памяти. При этом
уменьшается число обращений к основной памяти, что в целом приводит к увеличению
быстродействия памяти.
       Этот метод эффективно используется в однопроцессорных вычислительных системах.
Использование его в мультипроцессорных системах с разделенными кэшами и общей