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

Комитет по науке и высшему образованию

Московский Государственный Институт Электроники и Математики (ТУ).

Кафедра "Вычислительные машины,
комплексы, системы и сети".

КУРСОВАЯ РАБОТА

по курсу “Мультипроцессорные системы”.

Тема

Спецификация многопроцессорных систем компании Intel

Выполнил студент группы С-102
Курбатов К.А.

Руководитель

Денисов А.В.

Подпись _____________________

Подпись _____________________

Москва 1999

Содержание

Содержание 2

Введение 3

Область применения 5

Общая структура МП-системы 6

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Структура указателя переходов. 14

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

Функции BIOS в МП-системе. 15

Унифицированные ОС нового поколения для SMP-систем 15

Многозадачность. 16

Многопотоковая архитектура. 17

Симметричные многопроцессорные SMP-системы 18

Сильносвязанная многопроцессорная обработка. 18

Стандартизация многопроцессорной обработки. 19

Унифицированные ОС нового поколения. 20

Выводы 21

Список литературы 22

Введение

Предложенная компанией Intel спецификация многопроцессор­ных (МП) систем (MPS - Multiprocessor Specification V. 1.1) определяет дополнения к стандарту, ис­пользуемому производителями компьютеров при проектирова­нии DOS-совместимых систем. Операционные системы, рас­считанные на многопроцессор­ную среду, позволят запускать в работу МП-системы, совмести­мые с этой спецификацией, без дополнительной настройки. Спецификация ориентирована на разработчиков РС/АТ-совместимых МП-платформ на основе архитектур процессоров и кон­троллеров APIC (Advanced Programmable Interrupt Controller) компании Intel. Тер­мин «РС/АТ-совместимый» ис­пользуется в данной работе чтобы характеризовать компо­ненты, видимые (доступных) для программных средств.

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

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

Сердцем спецификации являются структуры данных, определяющие конфигурацию МП-системы (рис. 1). Эти структуры данных создает BIOS, в известном формате представляя аппаратные средства стандартным драйверам устройств или Уровню Изоляции Аппаратуры (HAL — Hardware Abstraction Layer) ОС. Спецификация определяет задаваемые по умолча­нию конфигурации аппаратуры, и в целях Польшей гибкости определяет рас­ширения для стандартного BIOS.

В спецификации рассматриваются следующие вопросы:

- Создание на основе РС/АТ-платформ многопроцессорных систем, которые могут исполнять существующие программы для однопроцессорных и мно­гопроцессорных микроядерных ОС.

- Поддержка симметричных многопроцессорных систем на одном или не­скольких процессорах, множество команд которых совместимо с архитек­турой семейств процессоров Pentium.

- Поддержка APIC (МП-контроллера прерываний) для обработки симмет­ричного ввода-вывода.

- Возможность использовать BIOS с минимальной настройкой на конкрет­ную МП-систему.

- Таблица факультативных МП-конфигураций с информацией о конфигура­ции.

- Включение ISA и других промышленных стандартов на шины, как EISA, МСА, VL и PCI в МП-совместимые системы.

- Требования, обеспечивающие прозрачную (для программного обеспече­ния) реализацию вторичной шины кэша и памяти.

Область применения

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

Минимальный набор аппаратных средств, который необхо­дим для реализации МП-спецификации, таков:

- один или несколько процессоров, по набору команд совмести­мых с архитектурой семейств процессоров Intel 486 и Pentium;

- один или несколько контроллеров APIC на процессорах Pentium;

- прозрачные для программ подсистемы кэшей и общей памяти;

- видимые для программ компоненты РС/АТ-платформ.

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

На кого ориентирована данная спецификация? Прежде все­го, это производители РС/AТ-совместимых аппаратных средств, которые пригодны для использования и МП-системах. Во-вторых, разработчики, создающие продукты BIOS общего пользования или модифицирующие яти продукты для исполь­зования в конкретных МП-системах. В-третьих, разработчики операционных систем, адаптирующие ОС МП-системы для ис­полнения на определенных в спецификации платформах.

Общая структура МП-системы

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

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

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

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

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

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

МП-спецификация определяет системную архитектуру на основе следующих компонентов аппаратуры: системные процес­соры, контроллеры АР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.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Структура указателя переходов.

Эта структура содержит указатель физических адресов в таблице конфигурации и дру­гие характеристики МП-системы.

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

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

Первый байт каждой записи идентифицирует тип записи. Каждый тип записи имеет фиксированную длину. Описания ти­пов записей: процессор, шина, блок ввода-вывода. Распределе­ние прерываний ввода-вывода, распределение локальных пре­рываний.

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

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

Функции BIOS в МП-системе.

В зависимости от многопро­цессорных компонентов в МП-системе BIOS может иметь сле­дующие дополнительные функции:

1. Перевод АР в «спящий» режим, так чтобы они не пыта­лись исполнять те же коды BIOS, что и BSP. Это необходимо, поскольку коды BIOS обычно не предназначены для мультиоб­работки.

2. Инициализация контроллеров APIC и других МП-компо­нент.

3. Создание таблицы конфигурации МП-системы.

Унифицированные ОС нового поколения для SMP-систем

Возрастающие требования к произво­дительности средств обработки данных обусловливают все большее распростране­ние симметричных мультипроцессорных компьютеров (SMP), в том числе и на основе процессоров Pentium. Цель создания SMP-платформ — обеспечение возможности на­ращивания производительности путем до­бавления процессоров без изменения при­ложений.

Процессор Pentium содержит специаль­ные аппаратные средства, поддерживаю­щие SMP-системы. Феномен стандартных SMP-платформ состоит в том, что они широ­ко используются в качестве серверов сис­тем различного масштаба: для рабочих групп, отделов и даже предприятий. Для де­ловых приложений на основе ОС нового по­коления типа Windows NT (Microsoft), NetWare (Novell), UnixWare (Novell), Open Server/MPS (SCO) и других доступен боль­шой выбор высокопроизводительных SMP-платформ на основе Intel-архитектуры тра­диционных производителей.

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

Многозадачность.

Типичная ОС обес­печивает многозадачность, переходя между двумя (или несколькими) активными про­граммами, исполняя каждую из них на про­тяжении короткого периода времени. Если переход осуществляется быстро и доста­точно эффективно, для конечного пользова­теля многозадачность может означать спо­собность печатать электронные таблицы и в то же время работать с текстовым процес­сором, а для сетевого сервера — одновре­менно поддерживать множество соедине­ний и сервисов.

В некоторых простых ОС (например, Windows) контекстное переключение задач возлагается на сами программы, реализую­щие многозадачность без прерываний. Та­кие ОС не могут гарантировать, что какая-либо программа не монополизирует время процессора и не приведет к возникновению конфликтов с другими задачами, которые будут ждать неопределенно долго.

В современных ОС используется много­задачность с прерыванием исполнения за­дачи пользователя. Примерами таких ОС яв­ляются Windows NT, SCO Open Server/MPX, UnixWare 2.0.

Многопотоковая архитектура.

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

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

Примерами ОС, которые поддерживают многопотоковую архитектуру, являются Windows NT и UnixWare 2.0. До недавнего времени большинство традиционных UNIX-систем не поддерживали такую архитектуру;

сейчас эта технология начинает проникать в некоторые фирменные ОС на основе UNIX (например, SunSoft Solaris 2.4, HP-UX v.10).

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

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

Симметричные многопроцессорные SMP-системы

Симметричные многопроцессорные SMP-системы могут исполнять любую зада­чу или поток на любом свободном процессо­ре. SMP-системы не только более гибки и эффективны, но и более устойчивы к отказам отдельных процессоров. В ассимметричных системах при отказе процессора, выделен­ного под ОС, система немедленно полно­стью прекращает работу. В SMP-системах в таких ситуациях ОС начинает использовать другие процессоры. SMP-системы обеспе­чивают также хорошее соотношение це­на/производительность, так как добавление процессора не требует приобретения новой компьютерной системы. В число распрост­раненных унифицированных ОС для SMP-си-стем входят Windows NT Server, SCO Open Server/MPX, UnixWare 2.0.

Сильносвязанная многопроцессорная обработка.

В современных ОС со стандарт­ным интерфейсом для SMP-платформ память используется процессорами коллективно. Доступ к общему полю памяти осуществляет­ся через высокоскоростную системную шину. Все процессоры имеют одинаковый доступ ко всей памяти системы. В памяти имеется толь­ко одна копия ядра ОС; причем все процессо­ры имеют к ней равный доступ. Каждый про­цессор знает, где расположены в памяти при­кладные процессы и может исполнять его в течение установленного кванта времени без затрат на переключение приложений с про­цессора на процессор.

Стандартизация многопроцессорной обработки.

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

Для решения этой проблемы Лаборато­рией IAL (Intel Architecture Labs) совместно с ведущими производителями SMP-платформ, ОС (OSV) и BIOS была предложена специфи­кация Multiprocessor Specification V. 1.1. (MPSpec V. 1.1), определяющая стандарт на взаимодействие ОС с SMP-оборудованием. Стандартный интерфейс между аппаратурой и ОС помогает быстро разработать поддерж­ку одной ОС широкого круга платформ на ба­зе ЦП Intel-архитектуры.

Производителям ОС, использующим эту спецификацию, необходимо разработать стандартный драйвер, позволяющий им поддерживать одну многопроцессорную ОС для различных SMP-платформ многих по­ставщиков. Несколько новых ОС уже соот­ветствуют спецификации МР Spec, среди них Windows NT 3.5, UnixWare 2.0 и SCO Open Server/MPX.

С появлением возможности выбора из большего числа SMP-платформ и ОС отде­лы и отделения в больших корпорациях бу­дут иметь возможность более гибко выби­рать приложения, платформы и ОС, которые лучше соответствуют их требованиям. При этом нет необходимости делать новые капи­таловложения в связи с заменой программ­ных средств и переобучением персонала. Кроме того, многопроцессорные системы, построенные из доступных компонентов и поддержанные промышленными стандарта­ми на программные средства (т.е. системы, совместимые с МР Spec) обеспечат лучшее соотношение цена/производительность по сравнению с более дорогими закрытыми си­стемами.

Унифицированные ОС нового поко­ления.

Унифицированные ОС нового поко­ления, называемые часто SMP-OS, эффек­тивно поддерживают аппаратные платфор­мы SMP-систем второго поколения. По­следние характеризуются распределенны­ми прерываниями, улучшенной организаци­ей кэш-памяти, системных шин (типа Xpress фирмы Intel). Эти SMP-системы используют новый унифицированный набор БИС-кон-троллеров прерываний типа ASIC (Advanced Programmable Interrupt Controller) на про­цессорах Pentium 735/90 или Pentium 815/100. МР Spec V.1.1 устанавливает фак­тический промышленный стандарт на меха­низм поддержки распределенных прерыва­ний в SMP-системах на базе наиболее со­вершенных процессоров Intel-архитектуры. Эти системы позволяют использовать все уже существующие программы для АТ-совместимых компьютеров, поддерживая одно­временно создание микроядерных ОС ново­го поколения для многопроцессорных плат­форм.

Выводы

В целом, использование процессоров, ориентированных на однопроцессорную конфигурацию в многопроцессорных системах оправдано лишь в областях, требующих недорогих решений при умеренных требованиях к производительности. Однако в последнее время фирма Intel разрабатывает свои процессоры изначально с возможностью построения многопроцессорной конфигурации, но с ограниченным числом процессоров (от 2 до 8 штук в одной SMP-системе).

Можно указать, что последние процессоры (Pentium II,III) являют собой достаточную производительность для выполнения задач серверов баз данных, интернет­ серверов. Так же, развитие графической подсистемы современных Intel ориентированных компьютеров позволяет рассматривать такие мультипроцессорные SMP системы как реальную альтернативу дорогим графическим станциям типа SGI Onyx, O2.

Итак, реализация данной спецификации на сегодняшнем этапе уже позволила снизить общую стоимость SMP систем до 2-4 тысяч долларов по сравнению с 6-20 тысячами в 1994-97 годах.

Список литературы

                    Журналы “Открытые Системы”, 1996-1997,№3,4 за 1998.

                    Перевод: Дийкстра Э. Взаимодействие последовательных процессов.
                    [Dijkstra E. W., Co-operating Sequential Processes, Programming Languages: NATO advanced study institute, Genuys F., ed.. Academic Press, London, 1968.]

                    8-Bit Parallel Central Processor Unit, MCS-8 User's Manual, Intel Corp., Santa Clara, CA. March 1973.

                    Ashenhurst R. L., Vonderohe R. H., A Hierarchical Network, Datamation (February 1975).

                    Brillouin L., Science and Information Theory, Academic Press, New York, N.Y., 1962.

                    Carr W.N., Mize J. P., MOS/LSI Design and Application, Texas Instruments Electronic Series, McGraw-Hill, New York, N.Y., 1972.

                    Chu Y., ed., High-Level Language Computer Architecture, Academic Press, New York, N.Y., 1975.

                    Dahl O.J., Dijkstra E. W., Hoare C.A.R., Structured Programming, Academic Press, London, 1972.

                    Frost D., Designing for Generality, Datamation (December 1974).

                    Gilbert P., Chandler W.J., Interface Between Communicating Parallel Processes, Communications of the ACM, 15, 6 (June 1972).

                    Gries D., Compiler Construction for Digital Computers, Wiley, New York, N.Y., 1971.