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

UptoLike

49
процессор и кэш на одной плате, которая затем вставлялась в заднюю
панель, с помощью которой реализовывалась шинная архитектура.
Современные конструкции позволяют разместить до четырех процессоров
на одной плате.
В такой машине кэши могут содержать как разделяемые, так и
частные данные. Частные данные - это данные, которые используются
одним процессором, в то время
как разделяемые данные используются
многими процессорами, по существу обеспечивая обмен между ними.
Когда кэшируется элемент частных данных, их значение переносится в
кэш для сокращения среднего времени доступа, а также требуемой полосы
пропускания. Поскольку никакой другой процессор не использует эти
данные, этот процесс идентичен процессу для однопроцессорной машины
с кэш-памятью.
Если кэшируются разделяемые данные, то разделяемое
значение реплицируется и может содержаться в нескольких кэшах. Кроме
сокращения задержки доступа и требуемой полосы пропускания такая
репликация данных способствует также общему сокращению количества
обменов. Однако кэширование разделяемых данных вызывает новую
проблему: когерентность кэш-памяти.
Проблема, о которой идет речь, возникает из-за того, что
значение
элемента данных в памяти, хранящееся в двух разных процессорах,
доступно этим процессорам только через их индивидуальные кэши. На
рис. 2.8 показан простой пример, иллюстрирующий эту проблему.
Проблема когерентности памяти для мультипроцессоров и устройств
ввода/вывода имеет много аспектов. Обычно в малых мультипроцессорах
используется аппаратный механизм, называемый протоколом,
позволяющий решить эту
проблему. Такие протоколы называются
протоколами когерентности кэш-памяти. Существуют два класса таких
протоколов:
1. Протоколы на основе справочника (directory based).
Информация о состоянии блока физической памяти содержится только в
одном месте, называемом справочником (физически справочник может
быть распределен по узлам системы). Этот подход будет рассмотрен в
разд. 10.3.
2. Протоколы наблюдения (snooping). Каждый кэш, который
содержит копию данных некоторого блока физической памяти, имеет
также соответствующую копию служебной информации о его состоянии.
Централизованная система записей отсутствует. Обычно кэши
расположены на общей (разделяемой) шине и контроллеры всех кэшей
процессор и кэш на одной плате, которая затем вставлялась в заднюю
панель, с помощью которой реализовывалась шинная архитектура.
Современные конструкции позволяют разместить до четырех процессоров
на одной плате.
     В такой машине кэши могут содержать как разделяемые, так и
частные данные. Частные данные - это данные, которые используются
одним процессором, в то время как разделяемые данные используются
многими процессорами, по существу обеспечивая обмен между ними.
Когда кэшируется элемент частных данных, их значение переносится в
кэш для сокращения среднего времени доступа, а также требуемой полосы
пропускания. Поскольку никакой другой процессор не использует эти
данные, этот процесс идентичен процессу для однопроцессорной машины
с кэш-памятью. Если кэшируются разделяемые данные, то разделяемое
значение реплицируется и может содержаться в нескольких кэшах. Кроме
сокращения задержки доступа и требуемой полосы пропускания такая
репликация данных способствует также общему сокращению количества
обменов. Однако кэширование разделяемых данных вызывает новую
проблему: когерентность кэш-памяти.
      Проблема, о которой идет речь, возникает из-за того, что значение
элемента данных в памяти, хранящееся в двух разных процессорах,
доступно этим процессорам только через их индивидуальные кэши. На
рис. 2.8 показан простой пример, иллюстрирующий эту проблему.
     Проблема когерентности памяти для мультипроцессоров и устройств
ввода/вывода имеет много аспектов. Обычно в малых мультипроцессорах
используется   аппаратный     механизм,   называемый    протоколом,
позволяющий решить эту проблему. Такие протоколы называются
протоколами когерентности кэш-памяти. Существуют два класса таких
протоколов:
      1.    Протоколы на основе справочника (directory based).
Информация о состоянии блока физической памяти содержится только в
одном месте, называемом справочником (физически справочник может
быть распределен по узлам системы). Этот подход будет рассмотрен в
разд. 10.3.
     2.    Протоколы наблюдения (snooping). Каждый кэш, который
содержит копию данных некоторого блока физической памяти, имеет
также соответствующую копию служебной информации о его состоянии.
Централизованная система записей отсутствует. Обычно кэши
расположены на общей (разделяемой) шине и контроллеры всех кэшей




                                  49