ВВЕДЕНИЕ
ОБЛАСТЬ ПРИМЕНЕНИЯ
ОБЩАЯ СТРУКТУРА МП-СИСТЕМЫ
ОСНОВНЫЕ КОМПОНЕНТЫ
СИСТЕМНАЯ ПАМЯТЬ.
ШИНА РАСШИРЕНИЯ ВВОДА-ВЫВОДА.
СПЕЦИФИКАЦИЯ АППАРАТНЫХ СРЕДСТВ
КОНФИГУРАЦИЯ СИСТЕМНОЙ ПАМЯТИ.
КЭШИРУЕМОСТЬ И ДОСТУПНОСТЬ ФИЗИЧЕСКОЙ ПАМЯТИ ДЛЯ ПРОЦЕССОРОВ.
ТРЕБОВАНИЯ К РЕАЛИЗАЦИИ ВНЕШНИХ КЭШЕЙ.
УПРАВЛЕНИЕ ПАМЯТЬЮ (БЛОКИРОВКА).
УПОРЯДОЧЕНИЕ ЗАПИСЕЙ В ПАМЯТИ.
УПРАВЛЕНИЕ ПРЕРЫВАНИЯМИ.
РЕЖИМЫ ПРЕРЫВАНИЯ.
РАСПРЕДЕЛЕНИЕ СИСТЕМЫ ПРЕРЫВАНИЙ НА ЛОКАЛЬНОМ БЛОКЕ APIC.
ОТОБРАЖЕНИЕ ПАМЯТИ APIC.
ТАЙМЕРЫ ИНТЕРВАЛОВ.
ПОДДЕРЖКА ПЕРЕЗАГРУЗКИ.
ТАБЛИЦЫ КОНФИГУРАЦИИ МП-СИСТЕМ
СТРУКТУРА УКАЗАТЕЛЯ ПЕРЕХОДОВ.
ТАБЛИЦА КОНФИГУРАЦИИ МП-СИСТЕМЫ.
ФУНКЦИИ BIOS В МП-СИСТЕМЕ.
УНИФИЦИРОВАННЫЕ ОС НОВОГО ПОКОЛЕНИЯ ДЛЯ SMP-СИСТЕМ
МНОГОЗАДАЧНОСТЬ.
МНОГОПОТОКОВАЯ АРХИТЕКТУРА.
СИММЕТРИЧНЫЕ МНОГОПРОЦЕССОРНЫЕ SMP-СИСТЕМЫ
СИЛЬНОСВЯЗАННАЯ МНОГОПРОЦЕССОРНАЯ ОБРАБОТКА.
СТАНДАРТИЗАЦИЯ МНОГОПРОЦЕССОРНОЙ ОБРАБОТКИ.
УНИФИЦИРОВАННЫЕ ОС НОВОГО ПОКОЛЕНИЯ.
ВЫВОД
СПИСОК ЛИТЕРАТУРЫ
Введение
Предложенная компанией 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 годах.
Список литературы
1. Журналы “Открытые Системы”, 1996-1997,№3,4 за 1998.
2. Перевод: Дийкстра Э. Взаимодействие последовательных процессов. [Dijkstra E. W., Co-operating Sequential Processes, Programming Languages: NATO advanced study institute, Genuys F., ed Academic Press, London, 1968.]
3. 8-Bit Parallel Central Processor Unit, MCS-8 User's Manual, Intel Corp., Santa Clara, CA. March 1973.
4. Ashenhurst R. L., Vonderohe R. H., A Hierarchical Network, Datamation (February 1975).
5. Brillouin L., Science and Information Theory, Academic Press, New York, N.Y., 1962.
6. Carr W.N., Mize J. P., MOS/LSI Design and Application, Texas Instruments Electronic Series, McGraw-Hill, New York, N.Y., 1972.
7. Chu Y., ed., High-Level Language Computer Architecture, Academic Press, New York, N.Y., 1975.
8. Dahl O.J., Dijkstra E. W., Hoare C.A.R., Structured Programming, Academic Press, London, 1972.
9. Frost D., Designing for Generality, Datamation (December 1974).
10. Gilbert P., Chandler W.J., Interface Between Communicating Parallel Processes, Communications of the ACM, 15, 6 (June 1972).
11. Gries D., Compiler Construction for Digital Computers, Wiley, New York, N.Y., 1971.