Многопроцессорные системы. Архитектура, топология, анализ производительности. Бикташев Р.А - 18 стр.

UptoLike

18
соответствии со свойством временной локальности возрастает вероятность
обращения к данным, которые уже были использованы на предыдущем
этапе работы системы, то есть к данным, которые содержатся в кэш и могут
быть считаны значительно быстрее, чем из основной памяти.
Свойство пространственной локальности также используется для
увеличения вероятности кэш-попадания: как правило, в кэш
-память
считывается не один информационный элемент, к которому произошло
обращение, а целый блок данных, расположенных в основной памяти в
непосредственной близости с данным элементом. Поскольку при
выполнении программы очень высока вероятность, что команды
выбираются из памяти последовательно одна за другой из соседних ячеек, то
имеет смысл загружать в кэш-память
целый фрагмент программы.
Аналогично если программа ведет обработку некоторого массива данных, то
ее работу можно ускорить, загрузив в кэш часть или даже весь массив
данных. При этом учитывается высокая вероятность того, что значительное
число обращений к памяти будет выполняться к адресам массива данных.
Проблема согласования данных. В процессе функционирования
вычислительной
системы содержимое кэш-памяти постоянно
обновляется. Время от времени устаревшие данные из нее вытесняются для
освобождения места под новые данные. Реально вытеснение означает либо
простое объявление свободной соответствующей области кэш-памяти (сброс
бита действительности), если вытесняемые данные за время нахождения в
кэш не были изменены, либо в дополнение к этому копирование
данных в
основную память, если они были модифицированы. Алгоритм замены
данных в кэш-памяти существенно влияет на ее эффективность. Алгоритм
должен, во-первых, быть максимально быстрым, чтобы не замедлять работу
кэш-памяти, а во-вторых, обеспечивать максимально возможную
вероятность кэш-попаданий. Поскольку из-за непредсказуемости
вычислительного процесса ни один алгоритм
замещения данных в кэш-
памяти не может гарантировать идеальный результат, разработчики
ограничиваются рациональными решениями, которые по крайней мере, не
сильно замедляют работу кэш.
Наличие в ЭВМ двух копий данных - в основной памяти и в кэш -
порождает проблему согласования данных. Если происходит запись в
основную память по некоторому адресу, а содержимое этой
ячейки
находится в кэш, то в результате соответствующая запись в кэш становится
недостоверной.
Рассмотрим два подхода к решению этой проблемы.
соответствии со свойством временной локальности возрастает вероятность
обращения к данным, которые уже были использованы на предыдущем
этапе работы системы, то есть к данным, которые содержатся в кэш и могут
быть считаны значительно быстрее, чем из основной памяти.
      Свойство пространственной локальности также используется для
увеличения вероятности кэш-попадания: как правило, в кэш-память
считывается не один информационный элемент, к которому произошло
обращение, а целый блок данных, расположенных в основной памяти в
непосредственной близости с данным элементом. Поскольку при
выполнении программы очень высока вероятность, что команды
выбираются из памяти последовательно одна за другой из соседних ячеек, то
имеет смысл загружать в кэш-память целый фрагмент программы.
Аналогично если программа ведет обработку некоторого массива данных, то
ее работу можно ускорить, загрузив в кэш часть или даже весь массив
данных. При этом учитывается высокая вероятность того, что значительное
число обращений к памяти будет выполняться к адресам массива данных.

      Проблема согласования данных. В процессе функционирования
вычислительной      системы     содержимое    кэш-памяти      постоянно
обновляется. Время от времени устаревшие данные из нее вытесняются для
освобождения места под новые данные. Реально вытеснение означает либо
простое объявление свободной соответствующей области кэш-памяти (сброс
бита действительности), если вытесняемые данные за время нахождения в
кэш не были изменены, либо в дополнение к этому копирование данных в
основную память, если они были модифицированы. Алгоритм замены
данных в кэш-памяти существенно влияет на ее эффективность. Алгоритм
должен, во-первых, быть максимально быстрым, чтобы не замедлять работу
кэш-памяти, а во-вторых, обеспечивать максимально возможную
вероятность    кэш-попаданий.     Поскольку   из-за    непредсказуемости
вычислительного процесса ни один алгоритм замещения данных в кэш-
памяти не может гарантировать идеальный результат, разработчики
ограничиваются рациональными решениями, которые по крайней мере, не
сильно замедляют работу кэш.
      Наличие в ЭВМ двух копий данных - в основной памяти и в кэш -
порождает проблему согласования данных. Если происходит запись в
основную память по некоторому адресу, а содержимое этой ячейки
находится в кэш, то в результате соответствующая запись в кэш становится
недостоверной.
      Рассмотрим два подхода к решению этой проблемы.




                                   18