Смекни!
smekni.com

Мультипроцессинг в PC-AT-стандарте (стр. 2 из 4)

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

Основные компоненты

МП-спецификация определяет системную архитектуру на основе следующих компонентов аппаратуры: системные процес­соры, контроллеры АРIС, системная память, шина расширения ввода-вывода.

Системные процессоры. В целях обеспечения совместимос­ти с существующими программными средствами для PC/AT, спецификация основывается на процессорах семейства Intel 486 или Pentium.

Хотя все процессоры в МП-системе функционально иден­тичны, спецификация выделяет два их типа: загрузочный про­цессор (BSP) и прикладные процессоры (АР). Какой процессор играет роль загрузочного, определяется аппаратными средства­ми или совместно аппаратурой и BIOS. Это сделано для удобст­ва и имеет значение только во время инициализации и выключе­ния. BSP-процессор отвечает за инициализацию системы и за загрузку ОС. АР-процессор активизируется после загрузки ОС.

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

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

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

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

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

В системах, совместимых с МП-специ­фикацией, используется архитектура памяти стандарта 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.

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