Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
lecs_all.docx
Скачиваний:
8
Добавлен:
15.04.2019
Размер:
4.24 Mб
Скачать

19.1 Введение в многопроцессорные системы.

Для повышения производительности компьютерной системы и одновременного выполнения нескольких задач в процессорах Pentium предусмотрены специальные интерфейсные средства для построения 2х-процессорных систем. Т.е. 1-й вариант реализации многопроцессорных систем на одной материнской плате.

В настоящее время многопроцессорный режим интегрирован в одном процессоре – 2х-ядерные и многоядерные процессоры.

Целью использования 2х-процессорной системы является либо симметричная мультипроцессорная обработка – режим SMP либо функционально избыточная пара FRC.

Система SMP реализует многозадачный режим. Каждый из процессоров выполняет свою задачу порученную операционной системой. Поддерживают такой режим Unix, Windows NT. При этом оба процессора разделяют между собой общие системный ресурсы системы компьютера, включая память и внешние ПУ.

Т.к. системная шина одна, то в текущий момент использовать шину может только 1 из процессоров и по определенным правилам они меняются между собой.

Проблемы при реализации:

  1. Поддержание целостности данных. Каждый из процессоров имеет свой внутренний кэш, 1 общий внешний кэш и общую оперативную память. Поэтому интерфейс должен следить за целостностью данных во всех иерархических ступенях памяти.

Решается данная задача с помощью специальных циклов слежения. Эти циклы воспринимаются процессором, который не является владельцем шины.

Для этого владелец шины вырабатывает специальный процесс, который воспринимается вторым процессором.

  1. Обработка программных прерываний. Т.к. существующие традиционные средства аппаратных прерываний ориентированы на 1 процессор. Т.е. сигналы, которые используются в запросах прерываний и ответный разрешений на прерывания ориентированы на 1 процессор.

Для решения этого конфликта в структуру процессоров Pentium введен расширенный программируемый контроллер прерывания: APIC.

Этот контроллер имеет внешние сигналы локальных прерываний: LINT[0,1].

С помощью этих сигналов процессоры связываются с контроллером APIC системной платы.

Запросы LINT предоставляются процессору, сигнал которого от APIC =1.

Предварительно контроллеры прерываний процессоров программируются так, чтобы функции каждого из них были предусмотрены в случае возникновения той или иной ситуации.

Фактически имеется 3 контроллера прерываний: каждого из процессоров и APIC, которые связаны между собой интерфейсом APIC.

Внешне для пользователя интерфейс обработки прерываний совместим с управлением контроллера прерываний.

  1. Управление системной шиной. Решается с помощью арбитража.

Для реализации арбитража каждый из процессоров выставляет приватные сигналы запросов на владение шиной(PBREQ#).

Процессор, который является текущим владельцем шины передаёт управление другому процессору по его запросу после завершения текущей операции путем выработки сигнала подтверждения(PBGNT#).

В случае двухпроцессорной системы с режиме FRC оба процессора работают как 1 логический. 1 процессор является основным и работает в обычном однопроцессорном режиме, 2-й – выполняет все те же функции про себя, не управляя шиной. Он сравнивает все свои сигналы с сигналами, которые вырабатывает основной процессор.

В случае обнаружения расхождений вырабатывается сигнал ошибки, который обрабатывается как прерывание.

Этот режим используется для повышения надежности.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]