Мультипроцессинг в PC-AT-стандарте

Список литературы Журналы “Открытые Системы”, 1996-1997,№3,4 за 1998. Перевод: Дийкстра Э. Взаимодействие последовательных процессов. [Dijkstra E. W., Co-operating Sequential Processes, Programming Languages: NATO

Мультипроцессинг в PC-AT-стандарте

Информация

Компьютеры, программирование

Другие материалы по предмету

Компьютеры, программирование

Сдать работу со 100% гаранией
ваний, а также разделения между процессорами нагрузки по обработке прерываний.

Благодаря распределенной архитектуре, локальные блоки или блоки ввода-вывода могут быть реализованы в отдельной микросхеме или интегрированы с другими компонентами системы.

Системная память.

В системах, совместимых с МП-спецификацией, используется архитектура памяти стандарта AT. Вся память используется как системная за исключением адресов, зарезервированных под устройства ввода-вывода и BIOS.

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

Шина расширения ввода-вывода.

Спецификация обеспечивает построение МП-систем на основе платформ PC/AT, отвечающих промышленным стандартам. В проектах могут быть использованы стандартные шины ISA, EISA, MCA, VL, PCI.

BIOS выполняет функции слоя, изолирующего особенности аппаратных средств от ОС и программных приложений. Стандартный однопроцессорный BIOS выполняет следующие функции: проверяет системные компоненты; строит таблицы конфигурации, используемые ОС; инициализирует процессор и всю остальную систему.

В многопроцессорных системах BIOS дополнительно выполняет следующие функции: передает информацию о конфигурации в ОС, которая идентифицирует все процессоры и другие компоненты МП-систем; переводит все процессоры и другие компоненты многопроцессорной системы в заданное состояние.

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

Спецификация аппаратных средств

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

Соответствие спецификации подразумевает несколько аспектов, которые перечислены ниже.

Конфигурация системной памяти.

Спецификация МП-памяти основывается на стандартной карте памяти PC/AT размером до 4Gb.

Кэшируемость и доступность физической памяти для процессоров.

Кэшируется вся память за исключением области, отведенной для описания регистров локального блока APIC. Все процессоры имеют доступ к главной памяти и участкам памяти, отведенным под ROM BIOS.

Требования к реализации внешних кэшей.

Часто для улучшения рабочих характеристик в МП-системах приходится использовать внешние кэши. Наличие и детали реализации внешних кэшей в спецификации MPS не рассматриваются. Однако, если предполагается их использовать, они должны отвечать определенным требованиям:

- Внешние кэши должны поддерживать согласованность между собой, с главной памятью, внутренними кэшами и другими важными устройствами.

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

Управление памятью (блокировка).

Для защиты целостности некоторых критических операций с памятью Intel-совместимые процессоры используют специальный сигнал. Разработчики системных программных средств должны использовать этот сигнал для управления доступом процессоров к памяти. .

Для гарантии АТ-совместимости блокировка некорректных операций с памятью в АТ-совместимых шинах в согласованной системе должна реализовываться строго в соответствии со спецификациями на шины.

Упорядочение записей в памяти.

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

Для оптимизации функционирования памяти процессоры и микропроцессорные наборы часто реализуют буферы записи и кэши обратной записи. Intel-совместимые процессоры гарантируют упорядоченный доступ процессоров ко всем внутренним кэшам и буферам записи.

Управление прерываниями.

В МП-совместимой системе прерывания управляются контроллерами APIC. Контроллеры APIC являются элементом распределенной архитектуры, в которой функции управления прерывания распределены между двумя функциональными блоками. Эти блоки обмениваются информацией через шину (ICC). Устройство ввода-вывода определяет появление прерывания, адресует его локальному блоку и посылает по шине ICC.

В МП-совместимой системе используется по одному локальному блоку на процессор. Число блоков ввода-вывода должно быть не менее одного.

Чтобы обеспечить расширение функций и внесение изменений в будущем, архитектура APIC определяет только программный интерфейс блоков APIC. Разные версии протоколов APIC могут быть реализованы с разными протоколами шины и спецификациями электрических сигналов.

Режимы прерывания.

В спецификации определены три режима прерывания:

1. Режим PIC эффективно обходит все компоненты APIC и заставляет систему функционировать в однопроцессорном режиме.

2. Режим виртуальной линии использует APIC как виртуальную линию, в остальном совпадает с режимом PIC.

3. Режим симметричного ввода-вывода позволяет работать с многими процессорами.

Первые два режима обеспечивают совместимость с PC/AT. В МП-совместимой системе должен быть реализован хотя бы один из этих режимов. ОС многопроцессорной системы загружается в одном из РС/АТ-совместимых режимов. Затем ОС переключается в многопроцессорный режим. В этом режиме требуется функционирование хотя бы одного блока ввода-вывода APIC. Прерывания ввода-вывода генерируются контроллером блока ввода-вывода. Все линии прерывания или замаскированы, или работают вместе с блоком ввода-вывода в смешанном режиме. Блок ввода-вывода имеет вход прерываний общего назначения, который можно программировать индивидуально для различных режимов работы. Распределение линий прерывания ввода-вывода делается конкретно для каждой системы.

Распределение системы прерываний на локальном блоке APIC.

Данный блок имеет два входа прерываний общего назначения, зарезервированных для системных прерываний. Эти входы можно программировать индивидуально для различных режимов работы.

Для обеспечения совместимости с PC/AT загрузочный процессор должен поддерживать DOS-совместимое исполнение операций с плавающей запятой при работе в каждом из РС/АТ-совместимых режимов.

Отображение памяти APIC.

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

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

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

Таймеры интервалов.

Локальные блоки содержат 32-битный программируемый таймер с двумя независимыми входами. Таймеры блока ввода-вывода имеют один вход.

Поддержка перезагрузки.

Для приведения всех систем компьютера в начальное состояние требуется возможность перезагрузки системы. В системе может выполняться «жесткая» перезагрузка, которая устанавливает все компоненты системы в начальное состояние. «Жесткая» перезагрузка производится при включении питания или при нажатии кнопки RESET на передней панели.

«Мягкая» загрузка только частично инициализирует процессор. При использовании такой перезагрузки не происходит потери обрабатываемой информации, то есть система ожидает окончания выполнения цикла, а также не сбрасывает содержание кэшей и регистров с плавающей запятой. Такой тип перезагрузки может выполняться на процессорах типа Pentium, но не Intel 486.

Мягкая загрузка одного из процессоров одна из основных функций в МП-системе, наряду с включением и выключением. С ее помощью BSP-контроллер может выборочно инициализировать АР-контроллер для последующего включения в работу или восстановления АР-контроллера после непоправимой системной ошибки. Такого рода перезагрузка должна инициироваться программными средствами.

Начальное состояние системы это состояние до передачи управления от BIOS операционной системе.

Таблицы конфигурации МП-систем

ОС должна иметь доступ к информации о конфигурации МП-системы. В спецификации предусмотрено два метода передачи этой информации в ОС: минимальный, позволяющий задать конфигурацию посредством выбора одного ив нескольких подразум

Похожие работы

< 1 2 3 4 > >>