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

UptoLike

62
заключающееся в том, что состояние любого разделяемого блока данных
всегда находится во вполне определенном известном месте. На рис.2.11
показан общий вид подобного рода системы с распределенной памятью.
2.6. Организация прерываний в мультипроцессорных
системах
Рассмотрим реализацию прерываний в наиболее простых
симметричных многопроцессорных системах, в которых используется
несколько процессоров, объединенных общей шиной. Каждый процессор
выполняет свою задачу, задаваемую операционной системой (ОС). При
этом процессоры совместно используют общие ресурсы системы (память,
внешние устройства), обращение к которым регулируется ОС. В каждый
момент времени один из процессоров является
ведущим (master) - только
он имеет доступ к системной шине. Другие процессоры в случае
необходимости обращения к шине выдают соответствующий запрос. Эти
запросы анализируются специальным устройством - арбитром шины,
который работает под управлением ОС. В соответствии с определенным
алгоритмом арбитр предоставляет доступ к шине одному из запросивших
процессоров, который становится таким образом ведущим. Поддержку
функционирования таких мультипроцессорных систем обеспечивает ряд
современных ОС (Windows NТ, Novell NetWare и другие). Чаще всего
симметричные мультипроцессорные системы содержат два или четыре
процессора.
Характерным примером является система прерываний,
реализованная в процессорах фирмы Intel. Так, например, процессоры
семейства Р6(PentiumII, PentiumIII, Celeron и др.) имеют ряд средств для
поддержки работы мультипроцессорных систем, обеспечивая для
процессоров взаимный доступ
к содержимому внутренней кэш-памяти
данных (снупинг), возможность блокировки доступа к шине при
выполнении ряда процедур и другие возможности. Различные модели
этого семейства позволяют организовать эффективную работу двух- или
четырехпроцессорных систем.
Одной из наиболее серьезных проблем при реализации мультипро-
цессорных систем является организация обслуживания внешних (аппарат-
ных) прерываний. Классическая организация обслуживания
с помощью
контроллера прерываний, подающего сигнал запроса INTR и формирую-
щего код команды INT n, с реализацией процессором цикла подтвержде-
ния прерывания ориентирована на использование в однопроцессорной
системе. Для обеспечения функционирования мультипроцессорных систем
в процессоры семейства Р6 введен программируемый контроллер
заключающееся в том, что состояние любого разделяемого блока данных
всегда находится во вполне определенном известном месте. На рис.2.11
показан общий вид подобного рода системы с распределенной памятью.

     2.6. Организация прерываний в мультипроцессорных
системах

      Рассмотрим реализацию прерываний в наиболее простых
симметричных многопроцессорных системах, в которых используется
несколько процессоров, объединенных общей шиной. Каждый процессор
выполняет свою задачу, задаваемую операционной системой (ОС). При
этом процессоры совместно используют общие ресурсы системы (память,
внешние устройства), обращение к которым регулируется ОС. В каждый
момент времени один из процессоров является ведущим (master) - только
он имеет доступ к системной шине. Другие процессоры в случае
необходимости обращения к шине выдают соответствующий запрос. Эти
запросы анализируются специальным устройством - арбитром шины,
который работает под управлением ОС. В соответствии с определенным
алгоритмом арбитр предоставляет доступ к шине одному из запросивших
процессоров, который становится таким образом ведущим. Поддержку
функционирования таких мультипроцессорных систем обеспечивает ряд
современных ОС (Windows NТ, Novell NetWare и другие). Чаще всего
симметричные мультипроцессорные системы содержат два или четыре
процессора.
      Характерным     примером       является     система   прерываний,
реализованная в процессорах фирмы Intel. Так, например, процессоры
семейства Р6(PentiumII, PentiumIII, Celeron и др.) имеют ряд средств для
поддержки работы мультипроцессорных систем, обеспечивая для
процессоров взаимный доступ к содержимому внутренней кэш-памяти
данных (снупинг), возможность блокировки доступа к шине при
выполнении ряда процедур и другие возможности. Различные модели
этого семейства позволяют организовать эффективную работу двух- или
четырехпроцессорных систем.
      Одной из наиболее серьезных проблем при реализации мультипро-
цессорных систем является организация обслуживания внешних (аппарат-
ных) прерываний. Классическая организация обслуживания с помощью
контроллера прерываний, подающего сигнал запроса INTR и формирую-
щего код команды INT n, с реализацией процессором цикла подтвержде-
ния прерывания ориентирована на использование в однопроцессорной
системе. Для обеспечения функционирования мультипроцессорных систем
в процессоры семейства Р6 введен программируемый контроллер




                                   62