1. Введение в МП 80386 фирмы Intel
МП вышел на рынок с уникальным преимуществом. Он является
первым 32 - разрядным МП, для которого пригодно существующее
прикладное программное обеспечение стоимостью 6,5 млрд. долл.,
написанное для МП предыдущих моделей от 8086/88 до 80286 (клон
IBM PC). Говорят, что системы совместимы, если программы напи-
санные на одной системе, успешно выполняются на другой. Если
совместимость распространяется только в одном направлении, от
старой системы к новой, то говорят о совместимости снизу
вверх. Совместимость снизу вверх на обьектном уровне поддержи-
вает капиталовложения конечного пользователя в программное
обеспечение, поскольку новая система просто заменяет более
медленную старую. Микропроцессор 80386 совместим снизу вверх с
предыдущими поколениями МП фирмы Intel. Это означает что прог-
раммы написанные специально для МП 80386 и использующие его
специфические особенности, обычно не работают на более старых
моделях. Однако, так как набор команд МП 80386 и его модули
обработки являются расширениями набора команд предшествующих
моделей, программное обеспечение последних совместимо снизу
вверх с МП 80386.
Специфическими особенностями МП 80386 являются многозадач-
ность, встроенное управление памятью, виртуальная память с
разделением на страницы, защита программ и большое адресное
пространство. Аппаратная совместимость с предыдущими моделями
сохранена посредством динамического изменения разрядности ма-
гистрали. МП 80386 выполнен на основе технологии CHMOS III
фирмы Intel, которая вобрала с себя быстродействие технологии
HMOS (МДП высокой плотности) и малое потребление мощности тех-
нологии CMOS (КМДП). МП 80386 предусматривает переключение
программ, выполняемых под управлением различных операционных
систем, такие как MS-DOS и UNIX. Это свойство позволяет разра-
ботчикам программ включать стандартное прикладное программное
обеспечение для 16 -разрядных МП непосредственно в 32 -разряд-
ную систему. Процессор определяет адресное пространство как
один или несколько сегментов памяти любого размера в диапазоне
от 1 байт до 4 Гбайт (4*2 530 0 байт). Эти сегменты могут быть ин-
дивидуально защищены уровнями привилегий и таким образом изби-
рательно разделяться различными задачами. Механизм защиты ос-
нован на понятии иерархии привилегий или ранжированного ряда.
Это означает, что разным задачам или программам могут быть
присвоены определенные уровни, которые используются для дан-
ной задачи.
2. Режимы процессора
Для более полного понятия системы команд МП 80386 необхо-
димо предварительно описать общую схему его работы и архитек-
туру.
В данном реферате не раскрывается более подробно значения
некоторых специфических слов и понятий, считая, что читатель
предварительно ознакомился с МП 8086 и МП 80286 и имеет
представление о их работе и архитектуре. Описываются только те
функции МП 80386, которые отсутствуют или изменены в предыду-
щих моделях МП.
МП 80386 имеет два режима работы: режим реальных адресов,
называемый реальным режимом, и защищенный режим.
2.1. Реальный режим
При подаче сигнала сброса или при включении питания уста-
навливается реальный режим, причем МП 80386 работает как очень
быстрый МП 8086, но, по желанию программиста, с 32-разрядным
расширением. В реальном режиме МП 80386 имеет такую же базовую
архитектуру, что и МП 8086, но обеспечивает доступ к 32-раз-
рядным регистрам. Механизм адресации, размеры памяти и обра-
ботка прерываний МП 8086 полностью совпадают с аналогичными
функциями МП 80386 в реальном режиме.
Единственным способом выхода из реального режима является
явное переключение в защищенный режим. В защищенный режим МП
80386 входит при установке бита включения защиты (РЕ) в нуле-
вом регистре управления (CR0) с помощью команды пересылки (MOV
to CR0). Для совместимости с МП 80286 с целью установки бита
РЕ может быть также использована команда загрузки слова состо-
яния машины LMSW. Процессор повторно входит в реальный режим в
том случае, если программа командой пересылки сбрасывает бит
РЕ регистра CR0.
2.2. Защищенный режим
Полные возможности МП 80386 раскрываются в защищенном режи-
ме. Программы могут исполнять переключение между процессами с
целью входа в задачи, предназначенные для режима виртуального
МП 8086. Каждая такая задача проявляет себя в семантике МП
8086 (т.е. в отношениях между символами и приписываемыми им
значениями независимо от интерпретирующего их оборудования).
Это позволяет выполнять на МП 80386 программное обеспечение
для МП 8086 - прикладную программу или целую операционную сис-
тему. В то же время задачи для виртуального МП 8086 изолирова-
ны и защищены как друг от друга, так и от главной операционной
системы МП 80386. Далее перейдем непосредственно к рассмотре-
нию шины данных МП 80386.
3. Шины
Прежде всего дадим определение шины. Шина - это канал пере-
сылки данных, используемый совместно различными блоками систе-
мы. Шина может представлять собой набор проводящих линий, выт-
равленных в печатной плате, провода припаянные к выводам разь-
емов, в которые вставляются печатные платы, либо плоский ка-
бель. Компоненты компьютерной системы физически расположены
на одной или нескольких печатных платах, причем их число и фу-
нкции зависят от конфигурации системы, ее изготовителя, а час-
то и от поколения микропроцессора.
Информация передается по шине в виде групп битов. В состав
шины для каждого бита слова может быть предусмотрена отдельная
линия (параллельная шина), или все биты слова могут последова-
тельно во времени использовать одну линию (последовательная
шина).
3.1 Шина с тремя состояниями
Шина с тремя состояниями напоминает телефонную линию общего
пользования, к которой подключено много абонентов. Три состо-
яние на шине - это состояния высокого уровня, низкого уровня и
высокого импеданса. Состояние высокого импеданса позволяет
устройству или процессору отключиться от шины и не влиять на
уровни, устанавливаемые на шине другими устройствами или про-
цессорами. Таким образом, только одно устройство является ве-
дущим на шине. Управляющая логика активизирует в каждый конк-
ретный момент только одно устройство, которое становиться ве-
дущим. Когда устройство активизировано, оно помещает свои
данные на шину, все же остальные потенциальные ведущие перево-
дятся в пассивное состояние.
К шине может быть подключено много приемных устройств -
получателей. Обычно данные на шине предназначаются только для
одного из них. Сочетание управляющих и адресных сигналов, оп-
ределяет для кого именно. Управляющая логика возбуждает специ-
альные стробирующие сигналы, чтобы указать получателю когда
ему следует принимать данные. Получатели и отправители могут
быть однонаправленными (т.е. осуществлять только либо переда-
чу, либо прием) и двунаправленными (осуществлять и то и дру-
гое).
Шинная (магистральная) организация получила широкое расп-
ространение, поскольку в этом случае все устройства используют
единый протокол сопряжения модулей центральных процессоров и
устройств ввода-вывода с помощью трех шин.
3.2 Типы шин
Сопряжение с центральным процессором осуществляется посредс-
твом трех шин: шины данных, шины адресов и шины управления.
Шина данных служит для пересылки данных между ЦП и памятью или
ЦП и устройствами ввода-вывода. Эти данные могут представлять
собой как команды ЦП, так и информацию, которую ЦП посылает в
порты ввода-вывода или принимает оттуда. В МП 8088 шина данных
имеет ширину 8 разрядов. В МП 8086, 80186, 80286 ширина шины
данных 16 разрядов; в МП 80386 - 32 разряда.
Шина адресов используется ЦП для выбора требуемой ячейки
памяти или устройства ввода-вывода путем установки ан шине
конкретного адреса, соответствующего одной из ячеек памяти или
одного из элементов ввода-вывода, входящих в систему. Наконец
по шине управления передаются управляющие сигналы, предназна-
ченные памяти и устройствам ввода-вывода. Эти сигналы указыва-
ют направление передачи данных (в ЦП или из ЦП), а также мо-
менты передачи.
Магистральная организация предпологает, как правило, нали-
чие управляющего модуля, который выступает в роли директора -
распорядителя при обмене данными. Основное назначение этого
модуля - организация передачи слова между двумя другими моду-
лями.
3.3 Операции на магистрали
Операция на системной магистрали начинается с того, что уп-
равляющий модуль устанавливает на шине кодовое слово модуля -
отправителя и активизирует линию строба отправителя. Это поз-
воляет модулю, кодовое слово которого установлено на шине,
понять, что он является отправителем. Затем управляющий модуль
устанавливает на кодовое слово модуля - получателя и активизи-
рует линию строба получателя. Это позволяет модулю, кодовое
слово которого установлено на шине, понять, что он является
получателем.
После этого управляющий модуль возбуждает линию строба дан-
ных, в результате чего содержимое регистра отправителя пересы-
лается в регистр получателя. Этот шаг может быть повторен лю-
бое число раз, если требуется передать много слов.
Данные пересылаются от отправителя получателю в ответ на
импульс, возбуждаемый управляющим модулем на соответствующей
линии строба. При этом предполагается, что к моменту появления
импульса строба в модуле - отправителе данные подготовлены к
передаче, а модуль - получатель готов принять данные. Такая
передача данных носит название синхронной (синхронизирован-
ной).
Что произойдет, если модули участвующие в обмене (один или
оба), могут передавать или принимать данные только при опреде-
ленных условиях ? Процессы на магистралях могут носить асинх-
ронный (несинхронизированный) характер. Передачу данных от
отправителя получателю можно координировать с помощью линий
состояния, сигналы на которых отражают условия работы обоих
модулей. Как только модуль назначается отправителем, он прини-
мает контроль над линией готовности отправителя, сигнализируя
с ее помощью о своей готовности принимать данные. Модуль, наз-
наченный получателем, контролирует линию готовности получате-
ля, сигнализируя с ее помощью о готовности принимать данные.
При передаче данных должны соблюдаться два условия. Во-пер-
вых, передача осуществляется лишь в том случае, если получа-
тель и отправитель сигнализируют о своей готовности. Во-вто-
рых, каждое слово должно передаваться один раз. Для обеспече-
ния этих условий предусматривается определенная последователь-
ность действий при передачи данных. Эта последовательность но-
сит название протокола.
В соответствии с протоколом отправитель, подготовив новое
слово, информирует об этом получателя. Получатель, приняв оче-
редное слово, информирует об этом отправителя. Состояние линий
готовности в любой момент времени определяет действия, которые
должны выполнять оба модуля.
Каждый шаг в передаче данных от одной части системы к дру-
гой называется циклом магистрали (или часто машинным циклом).
Частота этих циклов определяется тактовыми сигналами ЦП. Дли-
тельность цикла магистрали связана с частотой тактовых сигна-
лов. Типичными являются тактовые частоты 5, 8, 10 и 16 МГц.
Наиболее современные схемы работают на частоте до 24 МГц.
3.4 Порты ввода-вывода
Адресное пространство ввода-вывода организовано в виде пор-
тов. Порт представляет собой группу линий ввода-вывода, по ко-
торым происходит параллельная передача информации между ЦП и
устройством ввода-вывода, обычно по одному биту на линию. Чис-
ло линий в порте чаще всего совпадает с размером слова, харак-
терным для данного процессора. Входной порт чаще всего органи-
зуется в виде совокупности логических вентилей, через которые
входные сигналы поступают на линии системной шины данных. Вы-
ходной порт реализуется в виде совокупности триггеров, в кото-
рых хранятся сигналы, снятые с шины данных.
Если в передаче информации участвует процессор, то направ-
ление потока входной и выходной информации принято рассматри-
вать относительно самого процессора. Входной порт - это любой
источник данных (например, регистр), который избирательным об-
разом подключается к шине данных процессора и посылает слово
данных в процессор. Наоборот, выходной порт представляет собой
приемник данных ( например, регистр), который избирательным
образом подключается к шине данных процессора. Будучи выбран,
выходной порт принимает слово данных из микропроцессора.
Процессор должен иметь возможность координировать скорость
своей работы со скоростью работы внешнего устройства, с кото-
рым он обменивается информацией. В противном случае может по-
лучиться, что входной порт начнет пересылать данные еще до то-
го как, процессор их затребует, и процесс пересылки данных на-
ложится на какой-то другой процесс в ЦП. Как уже отмечалось,
эта координация работы двух устройств носит название "рукопо-
жатия", или квитирования.
Теперь подробнее остановимся на режимах работы портов вво-
да-вывода. Существуют три вида взаимодействия процессора с
портами ввода-вывода: программное управление, режим прерываний
и прямой доступ к памяти (ПДП).
Программно-управляемый ввод-вывод инициируется процессором,
который выполняет программу, управляющую работой внешнего уст-
ройства. Режим прерываний отличается тем, что инициатором вво-
да-вывода является внешнее устройство. Устройство, подключен-
ное к выводу прерываний процессора, повышает уровень сигнала
на этом выводе (или в зависимости от типа процессора понижает
его). В ответ процессор, закончив выполнение текущей команды,
сохраняет содержимое программного счетчика в соответствующем
стеке и переходит на выполнение программы, называемой програм-
мой обработки прерываний, чтобы завершить передачу данных.
ПДП тоже инициируется устройством. Передача данных между
памятью и устройством ввода-вывода осуществляется без вмеша-
тельства процессора. Как правило, для организации ПДП исполь-
зуются контроллеры ПДП, выполненные в виде интегральных схем.
3.5 Униварсальный синхронно-асинхронный
приемопередатчик
Микропроцессор взаимодействует с перифирийными устройства-
ми, принимающими и передающими данные в последовательной фор-
ме. В процессе этого взаимодействия процессор должен выполнять
преобразование параллельного кода в последовательный, а также
последовательного в параллельный.
Чаще всего пересылка данных между процессором и периферий-
ными устройствами выполняются асинхронно. Другими словами,
устройство может передавать данные в любой момент времени. Ес-
ли данные не передаются, устройство посылает просто биты мар-
кера, обычно высокий уровень сигнала, что дает возможность не-
медленно обнаружить любой разрыв цепи передачи. Если устройс-
тво готово передавать данные, передатчик посылает нулевой бит,
обозначающий начало посылки. За этим нулевым битом следуют
данные, затем бит четности и , наконец, один или два стоп-би-
та. Закончив передачу, отправитель продолжает посылать высокий
уровень сигнала в знак того, что данные отсутствуют.
Для удобства проектирования интерфейса процессора с уст-
ройствами последовательного ввода-вывода (как синхронными, так
и асинхронными) разработаны микросхемы универсальных синхрон-
но-асинхронных приемопередатчиков (УСАПП). В состав УСАПП вхо-
дят функционирующие независимо секции приемника-передатчика.
УСАПП заключен в корпус с 40 выводами и является дуплексным
устройством (т. е. может передавать и принимать одновременно).
Он выполняет логическое форматирование посылок. Для подключе-
ния УСАПП могут потребоваться дополнительные схемы, однако нет
необходимости в общем тактовом генераторе, синхронизирующем
УСАПП и то устройство, с которым установлена связь. В передат-
чике УСАПП предусмотрена двойная буферизация, поэтому следую-
щий байт данных может приниматься из процессора, как только
текущий байт подготовлен для передачи.
Выпускаются микросхемы УСАПП со скоростями передачи до 200
Кбод. Скорость работы передатчика и приемника (не обязательно
одинаковые) устанавливаются с помощью внешних генераторов,
частота которых должна в 16 раз превышать требуемую скорость
передачи. Сигналы от внешних генераторов поступают на раздель-
ные тактовые входы приемника и передатчика.
Обычно и микропроцессор, и устройства ввода-вывода подклю-
чаются к своим УСАПП параллельно. Между УСАПП действует после-
довательная связь (например по стандарту RS-232C).
4. MULTIBUS
Структура магистрали, обеспечивающей сопряжение всех аппа-
ратных средств, является важнейшим элементом вычислительной
системы. Магистраль позволяет многочисленным компонентам сис-
темы взаимодействовать друг с другом. Кроме того, в структуру
магистрали заложены возможности возбуждения прерываний, ПДП,
обмена данными с памятью и устройствами ввода-вывода и т. д.
Магистраль общего назначения MULTIBUS фирмы Intel представ-
ляет собой коммуникационный канал, позволяющий координировать
работу самых разнообразных вычислительных модулей. Основой ко-
ординации служит назначение модуля системы MULTIBUS атрибутов
ведущего и ведомого.
4.1 Магистрали MULTIBUS I/II.
Одним из наиболее важных элементов вычислительной системы
является структура системной магистрали, осуществляющей сопря-
жение всех аппаратных средств. Системная магистраль обеспечи-
вает взаимодействие друг с другом различных компонентов систе-
мы и совместное использование системных ресурсов. Последнее
обстоятельство играет важную роль в существенном увеличении
производительности всей системы. Кроме того, системная магист-
раль обеспечивает передачу данных с участием памяти и уст-
ройств ввода-вывода, прямой доступ к памяти и возбуждение пре-
рываний.
Системные магистрали обычно выполняются таким образом, что
сбои проходящие в других частях системы, не влияют на их функ-
ционирование. Это увеличивает общую надежность системы. Приме-
рами магистралей общего назначения являются предложенные фир-
мой Intel архитектуры MULTIBUS I и II, обеспечивающие коммуни-
кационный канал для координации работы самых разнообразных вы-
числительных модулей.
MULTIBUS I и MULTIBUS II используют концепцию "ведущий-ве-
домый". Ведущим является любой модуль, обладающий средствами
управления магистралью. Ведущий с помощью логики доступа к ма-
гистрали захватывает магистраль, затем генерирует сигналы уп-
равления и адреса и сами адреса памяти или устройства вво-
да-вывода. Для выполнения этих действий ведущий оборудуется
либо блоком центрального процессора, либо логикой, предназна-
ченной для передачи данных по магистрали к местам назначения и
от них. Ведомый - это модуль, декодирующий состояние адресных
линий и действующий на основании сигналов, полученных от веду-
щих; ведомый не может управлять магистралью. Процедура обмена
сигналами между ведущим и ведомым позволяет модулям различного
быстродействия взаимодействовать через магистраль. Ведущий ма-
гистрали может отменить действия логики управления магист-
ралью, если ему необходимо гарантировать для себя использова-
ние циклов магистрали. Такая операция носит название "блокиро-
вания" магистрали; она временно предотвращает использование
магистрали другими ведущими.
Другой важной особенностью магистрали является возможность
подключения многих ведущих модулей с целью образования многоп-
роцессорных систем.
MULTIBUS I позволяет передать 8- и 16 разрядные данные и
оперировать с адресами длиной до 24 разрядов.
MULTIBUS II воспринимает 8-, 16- и 32-разрядные данные, а
адреса длиной до 32 разрядов. Протоколы магистралей MULTIBUS I
и II подробно описаны в документации фирмы Intel, которую сле-
дует тщательно изучить перед использованием этих магистралей в
какой - либо системе.
4.2 MULTIBUS I
MULTIBUS I фирмы Intel представляет собой 16-разрядную мно-
гопроцессорную систему, согласующуюся со стандартом IEEE 796.
На рис. 5 приведена структурная схема сопряжения с магистралью
MULTIBUS I. На рисунке не показана локальная шина и локальные
ресурсы МП 80386.
4.3 Пример интерфейса магистрали MULTIBUS I
Один из способов организации взаимодействия между МП 80386
и магистралью MULTIBUS I заключается в генерации всех сигналов
MULTIBUS I c помощью программируемых логических матриц (ПЛМ) и
схем ТТЛ. Проще использовать интерфейс, совместимый с МП
80286. Основные черты этого интерфейса описаны ниже.
Интерфейс магистрали MULTIBUS I состоит из совместимого с
МП 80286 арбитра магистрали 82288. Контроллер может работать
как в режиме локальной магистрали, так и в режиме MULTIBUS I;
резистор на входе МВ схемы 82288, подключенный к источнику пи-
тания, активизирует режим MULTIBUS I. Выходной сигнал MBEN де-
шифратора адреса на ПЛМ служит сигналом выбора обеих микросхем
82288 и 828289. Сигнал AEN # с выхода 82289 открывает выходы
контроллера 82288.
Взаимодействие между процессором 80386 и этими двумя уст-
ройствами осуществляется с помощью ПЛМ, в которые записаны
программы генерации и преобразования необходимых сигналов. Ар-
битр 82289 вместе с арбитрами магистрали других вычислительных
подсистем координирует управление магистралью MULTIBUS I,
обеспечивая управляющие сигналы, необходимые для получения
доступа к ней.
В системе MULTIBUS I каждая вычислительная подсистема пре-
тендует на использование общих ресурсов. Если подсистема зап-
рашивает доступ к магистрали, когда другая система уже исполь-
зует магистраль, первая подсистема должна ожидать ее освобож-
дения. Логика арбитража магистрали управляет доступом к ма-
гистрали всех подсистем. Каждая вычислительная подсистема име-
ет собственный арбитр магистрали 82289. Арбитр подключает свой
процессор к магистрали и разрешает доступ к ней ведущим с бо-
лее высоким или более низким приоритетом в соответствии с за-
ранее установленной схемой приоритетов.
Возможны два варианта процедуры управления занятием магист-
рали: с последовательным и параллельным приоритетом. Схема
последовательного приоритета реализуется путем соединения це-
почкой входов приоритета магистрали (BPRN #) и выходов приори-
тета магистрали (BPRO #) всех арбитров магистрали в системе.
Задержка, возникающая при таком соединении, ограничивает число
подключаемых арбитров. Схема параллельного приоритета требует
наличия внешнего арбитра, который принимает входные сигналы
BPRN # от всех арбитров магистрали и возвращает активный сиг-
нал BPRО # запрашивающему арбитру с максимальным приоритетом.
Максимальное число арбитров , участвующих в схеме с параллель-
ным приоритетом, определяется сложностью схемы дешифрации.
После завершения цикла MULTIBUS I арбитр, занимающий ма-
гистраль, либо продолжает ее удерживать, либо освобождает с
передачей другому арбитру. Процедура освобождения магистрали
может быть различной. Арбитр может освобождать магистраль в
конце каждого цикла, удерживать магистраль до тех пор пока не
будет затребована ведущим с более высоким приоритетом, или
освобождать магистраль при поступлении запроса от ведущего с
любым приоритетом.
Система MULTIBUS I с 24 линиями адреса и 16 линиями данных.
Адреса системы расположены в диапазоне 256 кбайт (между
F00000H и F3FFFFH), причем используются все 24 линии. 16 линий
данных представляют младшую половину (младшие 16 разрядов) 32-
разрядной шины данных МП 80386. Адресные разряды MULTIBUS I
нумеруются в шеснадцатеричной системе; А23-А0 В МП 80386 ста-
новятся ADR17# - ADR0# в системе MULTIBUS I. Инвертирующие ад-
ресные фиксаторы поразрядно преобразуют выходные сигналы адре-
са МП 80386 в адресные сигналы с низким активным уровнем для
магистрали MULTIBUS I.
Дешифратор адреса. Система MULTIBUS I обычно включает и об-
щую, и локальную память. Устройства ввода-вывода (УВВ) также
могут быть расположены как на локальной магистрали, так и на
MULTIBUS I. Отсюда следует, что: 1) пространство адресов МП
80386 должно быть разделено между MULTIBUS I и локальной ма-
гистралью и 2) должен использоваться дешифратор адресов для
выбора одной из двух магистралей. Для выбора магистрали MULTI-
BUS I требуются два сигнала:
1. Сигнал разрешения MULTIBUS I (MBEN) служит сигналом вы-
бора контроллера магистрали 82288 и арбитра магистрали 82289 в
схеме сопряжения с MULTIBUS I. Другие выходы ПЛМ дешифратора
служат для выбора памяти и УВВ на локальной магистрали.
2. Для обеспечения 16-разрядного цикла магистрали процессо-
ру 80386 должен быть возвращен активный сигнал размера шины
BS16#. К уравнению ПЛМ, описывающему условия возбуждения сиг-
нала BS16#, могут быть добавлены дополнительные члены для дру-
гих устройств, требующих 16-разрядной шины.
Ресурсы ввода-вывода, подключенные к магистрали MULTIBUS I,
могут быть отображены на отдельное пространство адресов вво-
да-вывода, независимых от физического расположения устройств
на магистрали I, либо отображены на пространство адресов памя-
ти МП 80386. Адреса УВВ, отображенных на пространство памяти,
должны декодироваться для возбуждения правильных команд вво-
да-вывода. Это декодирование должно осуществляться для всех
обращений к памяти, попадающих в область отображения адресов
ввода-вывода.
Адресные фиксаторы и приемопередатчики данных. Адрес во
всех циклах магистрали должен фиксироваться, потому что по
протоколу MULTIBUS I на адресных входах должен удерживаться
достоверный адрес по крайней мере 50 нс после того, как коман-
да MULTIBUS I становится пассивной. Сигнал разрешения адреса
(AEN#) на выходе арбитра магистрали 82289 становится активным,
как только арбитр получает управление магистралью MULTIBUS I.
Сигнал AEN# действует как разрешающий для фиксаторов MULTIBUS
Разряды данных MULTIBUS I нумеруются в шестнадцатеричной
системе, так что D15-D0 превращается в DATF#-DAT0#. Инвертиру-
ющие факторы и приемопередатчики вырабатывают низкий активный
уровень для магистрали MULTIBUS I. Данные фиксируются только в
циклах записи. Во время цикла записи адресными фиксаторами и
фиксаторами - приемопередатчиками данных управляют входные
сигналы ALE#, DEN и DT/R# от контроллера 82288. В циклах чте-
ния фиксаторы - приемопередатчики управляются сигналом локаль-
ной магистрали RD#. Если при использовании сигнала DEN за ло-
кальным циклом записи немедленно последует цикл чтения MULTI-
BUS I, на локальной магистрали МП 80386 возникнет конфликтная
ситуация.
4.4 Магистраль расширения ввода-вывода iSBX
Магистраль iSBX независима от типа процессора или платы.
Каждый интерфейс расширения непосредственно поддерживает до
8-разрядных портов ввода-вывода. Посредством ведомых процессо-
ров или процессоров с плавающей точкой обеспечивается расшире-
ние адресных возможностей. Кроме того, каждый интерфейс расши-
рения может при необходимости поддерживать канал ПДП со ско-
ростью передачи до 2 Мслов/с
Магистраль iSBX включает два основных элемента: базовую
плату и модуль расширения. Базовая плата - это любая плата с
одним или несколькими интерфейсами расширения ввода-вывода
(коннекторами), удовлетворяющими электрическим и механическим
требованиям спецификации Intel. Естественно, базовая плата
всегда является ведущим устройством, она генерирует все адре-
са, сигналы выбора и команды.
Модуль расширения магистрали iSBX представляет собой не-
большую специализированную плату ввода-вывода, подключенную к
базовой плате. Модуль может иметь одинарную или двойную шири-
ну. Назначение модуля расширения - преобразование протокола
основной магистрали в протокол конкретного устройства вво-
да-вывода.
Расширение функций,реализуемых каждой системной платой,
подключенной к магистрали MULTIBUS I, повышает производитель-
ность системы, потому что для доступа к таким резидентным
функциям не требуется арбитраж магистрали.
4.5 Многоканальная магистраль
Многоканальная магистраль представляет собой специализиро-
ванный электрический и механический протокол, действующий как
составная часть системы MULTIBUS I. Эта магистраль предназна-
чена для скоростной блочной пересылки данных между системой
MULTIBUS I и взаимосвязанными перефирийными устройствами. В
тех случаях, когда требуется пересылать группу байтов или
слов, расположенных (или распологаемых) по последовательным
адресам, протокол блочной пересылки данных уменьшает непроиз-
водительные потери. Передача осуществляется в асинхронном ре-
жиме с использованием протокола подтверждений и с проверкой
четности, обеспечивающей правильность передачи данных.
Улучшению характеристик системы MULTIBUS I способствует
уменьшение влияния на ее производительность оборудования па-
кетного типа. Потоки данных от пакетных устройств могут ис-
пользовать интерфейс общего назначения. Протокол многоканаль-
ной магистрали специально приспособлен для пакетных пересылок
данных. Максимальный выигрыш в производительности получается
при использовании двухпортовой памяти с доступом как со сторо-
ны многоканальной магистрали, так и со стороны интерфейса MUL-
TIBUS I.
4.6 Магистраль локального расширения iLBX
Магистраль iLBX предназначена для непосредственных скорост-
ных передач данных между ведущими и ведомыми и обеспечивает:
1) максимум два ведущих на магистрали, что упрощает процедуру
арбитража; 2) асинхронный по отношению к передаче данных ар-
битраж магистрали; 3) минимум два и максимум пять устройств,
связанных с магистралью; 4) ведомые устройства, определяемые
как ресурсы памяти с байтовой адресацией, и 5) ведомые уст-
ройства, функции которых непосредственно контролируются сигна-
лами линий магистрали iLBX.
Увеличение локальных (на плате) ресурсов памяти высокопро-
изводительного процессора улучшает характеристики всей систе-
мы. Что касается других специальных функций, то наличие на
процессорной плате памяти повышает производительность, пос-
кольку процессор может адресовать непосредственно, не ожидая
результатов арбитража магистрали. С другой стороны, в силу
пространственных ограничений на процессорной плате удается
разместить память лишь небольшого обьема. Магистраль iLBX поз-
воляет снизить эти пространственные ограничения. При использо-
вании магистрали iLBX нет необходимости в размещении дополни-
тельной памяти на процессорной плате. Вся память (обьемом до
нескольких десятков Мбайт), адресуемая процессором, доступна
через магистраль iLBX и представляется процессору размещенной
на процессорной плате. Наличие в системе памяти двух портов -
одного для обмена с магистралью iLBX, а другого для обмена с
магистралью MULTIBUS I - делает доступной эту память другим
компонентам системы. К магистрали iLBX можно подключить до пя-
ти устройств. В число устройств должны входить первичный веду-
щий и один ведомый. Остальные три устройства не являются обя-
зательными. Первичный ведущий управляет магистралью iLBX и ор-
ганизует доступ вторичного ведущего к ресурсам ведомой памяти.
Вторичный ведущий, если он есть, предоставляет дополнительные
возможности доступа к ведомым ресурсам по магистрали iLBX.
4.7 MULTIBUS II
Архитектура системы MULTIBUS II является процесорно-незави-
симой. Она отличается наличием 32-разрядной параллельной сис-
темной магистралью с максимальной скоростью передачи 40
Мбайт/с, недорогой последовательной системной магистрали и
быстродействующей локальной магистрали для доступа к отдельным
платам памяти. MULTIBUS II включает пять магистралей Intel: 1)
локального расширения (iLBX II), 2) многоканального доступа к
памяти, 3) параллельную системную (iPSB), 4) последовательную
системную (iSSB) и 5) параллельную расширения ввода-вывода
(iSBX).
Структура с несколькими магистралями имеет преимущества пе-
ред одномагистральной системой. В частности каждая магистраль
оптимизирована для выполнения определенных функций, а опера-
ции на них выполняются параллельно. Кроме того, магистрали, не
используемые в конкретной системе, могут быть исключены из ее
архитектуры, что избавляет от неоправданных затрат. Три ма-
гистрали из перечисленных кратко описаны ниже.
4.7.1 Параллельная системная магистраль iPSB.
Параллельная системная магистраль iPSB используется для
межпроцессорных пересылок данных и взаимосвязи процессоров.
Магистраль поддерживает пакетную передачу с максимальной пос-
тоянной скоростью 40 Мбайт/с.
Связной магистрали представляет собой плату, объединяющую
функциональную подсистему. Каждый связной магистрали должен
иметь средства передачи данных между МП 80386, его регистрами
межсоединений и магистралью iPSB. Магистраль iPSB представляет
каждому связному магистрали четыре пространства адресов: 1)
обычного ввода-вывода, 2) обычной памяти 3) пространство памя-
ти объемом до 255 адресов для передачи сообщений и 4) прост-
ранство межсоединений. Последнее обеспечивает графическую ад-
ресацию, при которой идентификация связного магистрали (платы)
осуществляется по номеру позиции, на которой установлена пла-
та. Поскольку МП 80386 имеет доступ только к пространствам па-
мяти или ввода-вывода, пространства сообщений и межсоединений
следует отображать на первые два пространства.
Операции на магистрали iPSB осуществляются посредством трех
циклов магистрали. Цикл арбитража определяет следующего вла-
дельца магистрали. Этот цикл состоит из двух фаз: фазы приня-
тия решения, на которой определяется приоритет для управления
магистралью, и фазы захвата, когда связной с наивысшим приори-
тетом начинает цикл пересылки.
Второй цикл магистрали iPSB - цикл пересылки, реализует пе-
ресылку данных между владельцем и другим связным. Третий цикл
iPSB - цикл исключения, указывает на возбуждение исключения в
течении цикла пересылки.
4.7.2 Магистраль локального расширения iLBX II
Магистраль локального расширения iLBX II является быстро-
действующей магистралью, предназначенной для быстрого доступа
к памяти, расположенной на отдельных платах. Одна магистраль
iLBX II поддерживает либо две процессорные подсистемы плюс че-
тыре подсистемы памяти, либо одну процессорную подсистему плюс
пять подсистем памяти. При необходимости иметь большой объем
памяти система MULTIBUS II может включать более одной магист-
рали iLBX II. В системе на базе МП 80386 с тактовой частотой
16 МГц типичный цикл доступа iLBX требует 6 циклов ожидания.
Для магистрали iLBX характерны 32-разрядная шина данных и
26-разрядная шина адресов. Поскольку эти шины разделены, воз-
никает возможность конвейерных операций в цикле пересылки. К
дополнительным особенностям магистрали iLBX относятся: 1) од-
нонаправленное подтверждение при быстрой пересылке данных, 2)
пространство межсоединений (для каждого связного магистрали),
через которое первичный запрашивающий связной инициализирует и
настраивает всех остальных связных магистрали, и 3) средство
взаимного исключения, позволяющее управлять многопортовой па-
мятью.
4.7.3 Последовательная магистраль iSSB
Относительно дешевая последовательная системная магистраль
iSSB может использоваться вместо параллельной системной ма-
гистрали iPSB в тех случаях, когда не требуется высокая произ-
водительность последней. Магистраль iSSB может содержать до 32
связных магистрали, распределенных на длине максимум 10 м. Уп-
равление магистралью ведется с помощью стандартного протокола
множественного доступа с опросом несущей и разрешением конф-
ликтов (CSMA/CD). Связные магистрали используют этот протокол
для передачи данных по мере своей готовности. В случае однов-
ременного инициирования передачи двумя или несколькими связны-
ми вступает в действие алгоритм разрешения конфликтов обеспе-
чивающий справедливое предоставление доступа всем запрашиваю-
щим связным.
5.1 Ведущие
Ведущим является любой модуль, который обладает возмож-
ностью захвата магистрали. Модуль захватывает магистраль с по-
мощью логических схем обмена и инициирует передачу данных по
магистрали, используя для этого либо встроенные процессоры,
либо специальные логические схемы. Ведущие генерируют сигналы
сигналы управления, адресные сигналы, а также адреса памяти
или устройств ввода-вывода.
Ведущий может работать в одном из двух режимов: режиме 1
или режиме 2. В режиме 1 ведущий ограничен одной передачей по
магистрали через каждое подключение к шине. Если все ведущие в
системе используют режим 1, скорость работы системы ограничи-
вается максимальной величиной цикла занятости магистрали. Это
позволяет разработчикам прогнозировать общую производитель-
ность конкретной системы.
В режиме 2 у ведущих больше возможностей захвата магистра-
ли, они могут инициировать обмен с наложением на текущую опе-
рацию. В этом режиме разрешены тайм-ауты магистрали, и опера-
ции ведущих не ограничены максимальной величиной цикла заня-
тости магистрали. Режим 2 обеспечивает широкий класс операций,
что придает системе гибкость при удовлетворении запросов поль-
зователей.
5.2 Ведомые
Ведомые выполняют лишь функции получателей в процессе реа-
лизации запросов на передачу данных. Ведомые декодируют состо-
яние адресных линий и действуют в соответствии с сигналами уп-
равления от ведущих. На рис. 7 изображены примеры ведущих и
ведомых на магистрали MULTIBUS.
5.3 Операции на магистрали
Система MULTIBUS допускает наличие нескольких ведущих на
магистрали, каждый из которых захватывает магистраль по мере
возникновения необходимости в передаче данных. Ведущие осу-
ществляют захват магистрали с помощью специальной последова-
тельности обмена. В эту последовательность входят шесть сигна-
лов, позволяющих ведущему определять, свободна ли магистраль
и нет ли запросов на ее захват от других ведущих с более высо-
ким приоритетом, а также захватывать и освобождать магистраль.
Арбитраж приоритетов. Система предусматривает две схемы ар-
битража приоритетов: последовательную и параллельную. В после-
довательной схеме приоритет ведущего определяется с помощью
последовательной цепочки, в которой выход разрешения от каждо-
го модуля соединяется с входом разрешения модуля с более низ-
ким приоритетом. На одном конце цепочки оказывается модуль с
наивысшим приоритетом, на другом конце - с наинизшим.
Приоритет в последовательной схеме определяется при каждом
запросе магистрали. Если магистраль не захвачена ведущим с бо-
лее высоким или равным приоритетом, запрос данного ведущего
удовлетворяется. Число ведущих, обьединенных последовательной
цепочкой, ограничено временем прохождения по цепочке сигнала
приоритета, которое не должно превышать длительности цикла ма-
гистрали. Если используется частота 10 МГц, в цепочке может
быть не более трех ведущих.
В параллельной схеме доступом к магистрали ведает специаль-
ный арбитр. При этом определение очередного ведущего на ма-
гистрали производится на основе списка фиксированных приорите-
тов или каким-то другим способом, заданны в системе. На рис. 6
показана одна из схем параллельного арбитража.
5.4 Архитектура магистрали
В магистраль MULTIBUS входят 16 линий данных, 20 адресных
линий, 8 линий многоуровневых прерываний, а также линии управ-
ления и арбитража. Такое большое количество линий позволяет
одновременно использовать в системе и 8- и 16-разрядные веду-
щие модули.
Система MULTIBUS использует собственный тактовый генератор,
независимый от тактовых генераторов обьединяемых модулей. На-
личие независимого генератора позволяет использовать магист-
раль ведущими с различными тактовыми частотами, причем они мо-
гут выходить на магистраль асинхронно по отношению друг к дру-
гу.
Принципы арбитража в системе MULTIBUS позволяют медленным ве-
дущим равноправно конкурировать за захват магистрали. Однако
после того, как модуль захватил магистраль, скорость передачи
определяется возможностями передающего и принимающего модулей.
Основное назначение магистрали MULTIBUS в обеспечении кана-
ла для передачи данных между модулями, подключенными к шине.
Система позволяет использовать платы с различными возможностя-
ми, изменять ширину шин данных и адресов ввода-вывода, уста-
навливать атрибуты прерываний.
Для реализации мультипроцессорных возможностей системы,
построенной на основе МП 80386, и для увеличения ее производи-
тельности разработана магистраль MULTIBUS II. В новую архитек-
туру включена передача сообщений, способствующая повышению
производительности мультипроцессорной системы. При использова-
нии передачи сообщений все пересылки по магистрали выполняются
с максимально возможной скоростью пакетами 32-разрядных дан-
ных.
В дополнение к передаче сообщений модули платы MULTIBUS II
обеспечивают виртуальные прерывания, географическую адресацию
и распределенный арбитраж. При наличии виртуальных прерываний
один процессор может выполнять запись в специальные ячейки па-
мяти другого процессора, что почти неограничено увеличивает
гибкость механизма прерываний.
Географическая адресация, реализуемая с помощью смонтиро-
ванных на плате регистров межкомпонентных соединений, обеспе-
чивает пространство межкомпонентных соединений для программных
конфигураций законченных комплексных систем. Распределенный
арбитраж предоставляет модулям MULTIBUS II столько отдельных
уровней арбитража, сколько в системе имеется плат (или гнезд).
В этом случае все платы в системе имеют одинаковый приоритет
относительно времени доступа к магистрали, что предотвращает
блокирование плат с низким приоритетом ведущими платами высо-
кой производительности.
Ключевым вопросом при построении систем на основе магистра-
ли MULTIBUS является нахождение оптимального соотношения между
требуемыми и фактическими характеристиками. Для каждого эле-
мента характерно индивидуальное множество присущих ему харак-
теристик. Взаимодействие двух таких элементов ограничивается
множеством характеристик, которое определяется как пересечение
множеств характеристик обоих элементов. В некоторых случаях
пересечение может быть пустым, что приводит к принципиальной
неработоспособности системы.
6.1 Процессоры выше 80386.
Основными процессорами, на которых собиратеся подавляю-
щее большинство современных компьютеров, являются 2 процессоры
2фирмы Intel типа 486 (SX, DX, DX2, OverDrive) и Pentium. 0 Сис-
темные платы на процессорах 386SX и 386 DX применяются в
очень небольшом количестве в самых недорогих системах, а на
286 процессоре не выпускаются вообще. Фирма Intel в настоящее
время производит следующие типы процессоров семейства 486 и
Pentium:
- 486SX-25, 486SX-33, 486SX2-50;
- 486DX-33, 486DX2-50, 486DX-50, 486DX2-66;
- 486DX4-75, 486DX4-100;
- Pentium 60, Pentium 90, Pentium 100.
Все процессоры семейства 486 имеют 32-разрядную архитекту-
ру, внутреннюю кэш-память 8 КВ со сквозной записью (у DX4 -
16 КВ). Модели SX не имеют встроенного сопроцессора. Модели
DX2 реализуют механизм внутреннего удвоения частоты (напри-
мер, процессор 486DX2-66 устанавливается на 33-мегагерцовую
системную плату), что позволяет поднять быстродействие прак-
тически в два раза, так как эффективность кэширования внут-
ренней кэш-памяти составляет почти 90 процентов. Процессоры
семейства DX4 - 486DX4-75 и 486DX4-100 предназначены для ус-
тановки на 25-ти и 33-мегагерцовые платы. По производитель-
ности они занимают нишу между DX2-66 и Pentium-60/66, причем
быстродействие компьютеров на 486DX4-100 вплотную приближает-
ся к показателям Pentium 60. Напряжение питания составляет
3,3 вольта, то есть их нельзя устанавливать на обычные сис-
темные платы. Процессор 486DX4-75 предназначен прежде всего
для использования к компьютерам типа Notebook, а 486DX4-100 -
в настольных системах. К сожалению, Intel ограничивает пос-
тавки процессоров 486DX4-100, а цены на них установил на су-
щественно более высоком уровне, чем на Pentium 60, чтобы из-
бежать конкуренции между собственными продуктами. По мнению
Intel, когда начнутся массовые поставки этих процессоров
(первый квартал 1995 года), их стандартным применением станут
уже только системы самого начального уровня.
2Процессор Pentium 0 является одним из самых мощных в настоя-
щее время. Он относится к процессорам с полным набором ко-
манд, хотя его ядро имеет риск-архитектуру. Это 64-разрядный
суперскалярный процессор (то есть выполняет более одной ко-
манды за цикл), имеет 16 КВ внутренней кэш-памяти - по 8 КВ
отдельно для данных и команд, встроенный сопроцессор. В нас-
тоящее время наиболее широко выпускается процессор на 60 MHz
_уд по всему, именно этот процессор выбран фирмой Intel в ка-
честве основного на конец текущего и начало 1995 годка, кото-
рый должен прийти на смену семейству 486. Процессор на 66 MHz
выпускается в незначительных количествах, начат выпуск моде-
лей на 90 и 100 MHz.
2Несколько слов о процессорах семейства OverDrive. 0 В основ-
ном это процессоры с внутренним удвоением частоты, предназна-
ченные для замены процессоров SX. Что касается широко разрек-
ламированного в свое время процессора OverDrive на основе
Pentium (так называемый P24T или Pentium SX), то сроки его
выпуска неоднократно срывались. Сейчас начало выпуска перене-
сено на последнюю четверть текущего года. Хотя на рынке
представлено очень много системных плат, предназначенных для
установки кроме 486 процессоров и процессора Р24Т, использо-
вать его на этих платах скорее всего будет нельзя, так как
никакого тестирования плат с этим процессором изготовители не
проводят ввиду его отсутствия, а ориентируются при изготовле-
нии только на опубликованную фирмой Intel спецификацию.
Представители фирмы Intel заявили недавно, что существуют
серьезные сомнения в работоспособности большинства этих плат
в связи с недостаточной проработкой вопрсово, связанных с пе-
регревом процессоров.
Поскольку при работе с существующим программным обеспече-
нием процессоры Pentium не достигают максимального быстро-
действия, фирма Intel для оценки производительности своих
процессоров предложила специальный индекс - iCOMP (Intel COm-
parative Microprocessor Performance), который, по ее мнению,
более точно отражает возрастание производительности при пере-
ходе к новому поколению процессоров (некоторые из выпущенных
уже моделей компьютеров на основе Pentium при выполнении оп-
ределенных программ демонстрируют даже меньшее быстродейс-
твие, чем компьютеры на основе 486DX2-66, это связано как с
недостатками конкретных системных плат, так и с неоптимизиро-
ванностью программных кодов). Производительность процессора
486SX-25 принимается за 100.
Более того, именно величина производительности с использо-
ванием индекса iCOMP используется фирмой Intel в новой систе-
ме маркировки процессоров Pentium. например, 73590 и 815100
для тактовой частоты 90 и 100 MHz.
Кроме фирмы Intel, на рынке широко представлены другие
фирмы, выпускающие клоны семейств 486 и Pentium. 2 Фирма AMD
2производит 486DX-40, 486DX2-50, 486DX2-66. Готовятся к выпус-
2ку процессоры 486DX@-80 и 486DX4-120. 0 Они обеспечивают полную
совместимость со всеми ориентированными на платформу Intel
программными продуктами и такую же производительность, как и
аналогичные изделия фирмы Intel (при одинаковой тактовой час-
тоте). Кроме того, они предлагаются по более низким ценам, а
процессор на 40 MHz6 отсутствующий в производственной прог-
рамме Intel, конкурирует с 486DX-33, превосходя его по произ-
водительности на 20 процентов при меньшей стоимости.
2Фирма Cyrix разработала процессоры М6 и 0М7 2 (аналоги 486SX
2и 486 0DX 2) на тактовые частоты 33 м 40 MHz, а также с удвоением
2частоты DX2-50 и DX2-66. 0 Они имеют более быстродействующую
внутреннюю кэш-память 8 КВ с обратной запписью и более быст-
рый встроенный сопроцессор. По некоторым операциям производи-
тельность выше, чем у процессоров фирмы Intel, по некоторым -
несколько ниже. Соответственно, существенно различаются и ре-
зультаты на разных тестирующих программах. Цены на 486 про-
цессоры Cyrix значительно ниже, чем на Intel и AMD. Подготов-
лен к выпуску совместимый с Pentium 2 процессор М1 0, который мо-
жет составить ему серьезную конкуренцию, так как будет пре-
восходить его при работе с рассчитанными на 486 процессоры,
то есть не оптимизированным под Pentium, программным обеспе-
чением. По оценкам Intel, эффективность Pentium при работе с
такми программным обеспечением составляет около 70 процентов,
Cyrix же обещает 90, так как архитектура М1 более "рисковая":
он имеет 32 регистра вместо 8 и систему их динамической пере-
адресации для обеспечения совместимости. В то же время М1 по
операциям с плавающей точкой уступает процессору фирмы Intel.
2Cобственные варианты процессоров семейства 486 - 486SX-33,
2486SX-40, 486SX-80, 486DX-40 предлагает фирма UMC. 0 Они пол-
ностью совместимы с процессорами Intel. Из-за патентных огра-
ничений они не поставляются в США.
Первый клон процессора Pentium - изделие под названием 586
- выпустила фирма NexGen. Этот 64-разрядный процессор рассчи-
тан на работу на тактовых частотах 60 и 66 MNz, построен на
основе запатентованной суперскалярной архитектуры RISC86 и
полностью совместим с семейством 80х86. Напряжение питания -
3,3 вольта. Стоимость его существенно ниже, чем у Pentium.
Для самых простых систем фирмой Texas Instruments продол-
жается выпуск дешевых, но эффективных процессоров 486DLC, ко-
торые, занимая промежуточное положение между 386 и 486 се-
мейством (они выполнены в конструктиве 386 процессора0, обес-
печивают производительность на уровне 486 процессора при цене
386. Новая версия - 486SXL с увеличенной до 8 КВ внутренней
кэш-памятью еще ближе приближается к характеристикам 486 се-
мейства.
Все большую популярность завоевывают 2 риск-процессоры се-
2мейства Power PC 601 (IBM, Apple, Motorola) 0, которые имеют
отличную от Intel архитектуру (в основе - архитектура Power
фирмы IBM с внутренней кэш-памятью 32 КВ). Полагают, что
именно конкуренция между Power PC и Pentium является самым
существенным фактором для развития рынка процессоров и персо-
нальных компьютеров. Power PC 601 примерно в два раза дешев-
ле, чем Pentium, потребляет в два раза меньшую мощность и
превосходит Pentium по производительности, особенно по опера-
циям с плавающей точкой. Сначала на процессоре 601 была реа-
лизована только система 6000 фирмы IBM и PowerMac фирмы App-
le. В настоящее время большинство производителей компьютеров
имеют свои варианты систем на базе Power PC, однако решение
об их производстве будет определяться прежде всего складываю-
щейся конъюнктурой.