45972 (665278), страница 2
Текст из файла (страница 2)
избирательным образом подключается к шине данных процессора и посылает слово
данных в процессор. Наоборот, выходной порт представляет собой приемник данных (
например, регистр), который избирательным образом подключается к шине данных
процессора. Будучи выбран, выходной порт принимает слово данных из
микропроцессора.
Процессор должен иметь возможность координировать скорость своей работы со
скоростью работы внешнего устройства, с которым он обменивается информацией. В
противном случае может получиться, что входной порт начнет пересылать данные еще
до того как, процессор их затребует, и процесс пересылки данных наложится на
какой-то другой процесс в ЦП. Как уже отмечалось, эта координация работы двух
устройств носит название "рукопожатия", или квитирования.
Теперь подробнее остановимся на режимах работы портов ввода-вывода. Существуют
три вида взаимодействия процессора с портами ввода-вывода: программное
управление, режим прерываний и прямой доступ к памяти (ПДП).
Программно-управляемый ввод-вывод инициируется процессором, который выполняет
программу, управляющую работой внешнего устройства. Режим прерываний отличается
тем, что инициатором ввода-вывода является внешнее устройство. Устройство,
подключенное к выводу прерываний процессора, повышает уровень сигнала на этом
выводе (или в зависимости от типа процессора понижает его). В ответ процессор,
закончив выполнение текущей команды, сохраняет содержимое программного счетчика
в соответствующем стеке и переходит на выполнение программы, называемой
программой обработки прерываний, чтобы завершить передачу данных.
ПДП тоже инициируется устройством. Передача данных между памятью и устройством
ввода-вывода осуществляется без вмешательства процессора. Как правило, для
организации ПДП используются контроллеры ПДП, выполненные в виде интегральных
схем.
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-разрядной шины.