МП 80386 фирмы Intel
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.
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) должен использоваться дешифратор адресов для выбора одной из двух магистралей. Для выбора магистрали MULTIBUS 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 за локальным циклом записи немедленно последует цикл чтения MULTIBUS I, на локальной магистрали МП 80386 возникнет конфликтная ситуация.
4.4 Магистраль расширения ввода-вывода iSBX
Магистраль iSBX независима от типа процессора или платы. Каждый интерфейс расширения непосредственно поддерживает до 8-разрядных портов ввода-вывода. Посредством ведомых процессоров или процессоров с плавающей точкой обеспечивается расширение адресных возможностей. Кроме того, каждый интерфейс расширения может при необходимости поддерживать канал ПДП со скоростью передачи до 2 Мслов/с
Магистраль iSBX включает два основных элемента: базовую плату и модуль расширения. Базовая плата - это любая плата с одним или несколькими интерфейсами расширения ввода-вывода (коннекторами), удовлетворяющими электрическим и механическим требованиям спецификации Intel. Естественно, базовая плата всегда является ведущим устройством, она генерирует все адреса, сигналы выбора и команды.
Модуль расширения магистрали iSBX представляет собой небольшую специализированную плату ввода-вывода, подключенную к базовой плате. Модуль может иметь одинарную или двойную ширину. Назначение модуля расширения - преобразование протокола основной магистрали в протокол конкретного устройства ввода-вывода.
Расширение функций,реализуемых каждой системной платой, подключенной к магистрали MULTIBUS I, повышает производительность системы, потому что для доступа к таким резидентным функциям не требуется арбитраж магистрали.
4.5 Многоканальная магистраль
Многоканальная магистраль представляет собой специализированный электрический и механический протокол, действующий как составная часть системы MULTIBUS I. Эта магистраль предназначена для скоростной блочной пересылки данных между системой MULTIBUS I и взаимосвязанными перефирийными устройствами. В тех случаях, когда требуется пересылать группу байтов или слов, расположенных (или распологаемых) по последовательным адресам, протокол блочной пересылки данных уменьшает непроизводительные потери. Передача осуществляется в асинхронном режиме с использованием протокола подтверждений и с проверкой четности, обеспечивающей правильность передачи данных.
Улучшению характеристик системы MULTIBUS I способствует уменьшение влияния на ее производительность оборудования пакетного типа. Потоки данных от пакетных устройств могут использовать интерфейс общего назначения. Протокол многоканальной магистрали специально приспособлен для пакетных пересылок данных. Максимальный выигрыш в производительности получается при использовании двухпортовой памяти с доступом как со стороны многоканальной магистрали, так и со стороны интерфейса MULTIBUS 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 Ведомые
Устройства ввода вывода пользователя
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. Электрическое питание
Современные устройства требуют хорошо стабилизированного постоянного напряжения. Стабилизация питания может осуществляться в источнике питания или, как это имеет место в системах S-100, на каждой плате.
Большинство компьютерных систем питается от источника постоянного напряжения 5 В с выходным током от 1 до 5 А. Типичными значениями являются 1, 3, 4 и 5 А в зависимости от системы. Некоторые системы потребляют ток 10 А. Часто источники питания имеют также выход 12 В, 2 А для подключения дисководов.
7. Заключение
Под сопряжением понимается связь микропроцессора с внешним миром и его собственными внутренними узлами. Чем большим уровнем интелекта обладает устройство, тем большее внимание надо обращать на характеристики сопряжения.
Сопряжение относится к числу наиболее сложных аспектов разработки аппаратного обеспечения. Именно здесь приходится принимать большинство компромиссов и именно здесь можно получить максимальную экономию средств. В большинстве приложений сигналы, обрабатываемые процессором, несовместимы с его характеристиками. В простейшем случае может потребоваться преобразование напряжения сигнала в стандарт ТТЛ 5 В. Несовместимое напряжение может легко исказить процесс обработки сигналов. В других случаях могут потребоваться аналого - цифровые преобразователи.