Смекни!
smekni.com

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

Для обеспечения совместимости с 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.