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