Обзор процессоров и шин ПВМ начиная с 386 машин
моменту появленияимпульса строба в модуле - отправителе данные подготовлены к
передаче, а модуль - получатель готов принять данные. Такая
передача данных носит название синхронной (синхронизирован-
ной).
Что произойдет, если модули участвующие в обмене (один или
оба), могут передавать или принимать данные только при опреде-
ленных условиях ? Процессы на магистралях могут носить асинх-
ронный (несинхронизированный) характер. Передачу данных от
отправителя получателю можно координировать с помощью линий
состояния, сигналы на которых отражают условия работы обоих
модулей. Как только модуль назначается отправителем, он прини-
мает контроль над линией готовности отправителя, сигнализируя
с ее помощью о своей готовности принимать данные. Модуль, наз-
наченный получателем, контролирует линию готовности получате-
ля, сигнализируя с ее помощью о готовности принимать данные.
При передаче данных должны соблюдаться два условия. Во-пер-
- 12 -
вых, передача осуществляется лишь в том случае, если получа-
тель и отправитель сигнализируют о своей готовности. Во-вто-
рых, каждое слово должно передаваться один раз. Для обеспече-
ния этих условий предусматривается определенная последователь-
ность действий при передачи данных. Эта последовательность но-
сит название протокола.
В соответствии с протоколом отправитель, подготовив новое
слово, информирует об этом получателя. Получатель, приняв оче-
редное слово, информирует об этом отправителя. Состояние линий
готовности в любой момент времени определяет действия, которые
должны выполнять оба модуля.
Каждый шаг в передаче данных от одной части системы к дру-
гой называется циклом магистрали (или часто машинным циклом).
Частота этих циклов определяется тактовыми сигналами ЦП. Дли-
тельность цикла магистрали связана с частотой тактовых сигна-
лов. Типичными являются тактовые частоты 5, 8, 10 и 16 МГц.
Наиболее современные схемы работают на частоте до 24 МГц.
3.4 Порты ввода-вывода
Адресное пространство ввода-вывода организовано в виде пор-
тов. Порт представляет собой группу линий ввода-вывода, по ко-
торым происходит параллельная передача информации между ЦП и
устройством ввода-вывода, обычно по одному биту на линию. Чис-
ло линий в порте чаще всего совпадает с размером слова, харак-
терным для данного процессора. Входной порт чаще всего органи-
зуется в виде совокупности логических вентилей, через которые
входные сигналы поступают на линии системной шины данных. Вы-
ходной порт реализуется в виде совокупности триггеров, в кото-
- 13 -
рых хранятся сигналы, снятые с шины данных.
Если в передаче информации участвует процессор, то направ-
ление потока входной и выходной информации принято рассматри-
вать относительно самого процессора. Входной порт - это любой
источник данных (например, регистр), который избирательным об-
разом подключается к шине данных процессора и посылает слово
данных в процессор. Наоборот, выходной порт представляет собой
приемник данных ( например, регистр), который избирательным
образом подключается к шине данных процессора. Будучи выбран,
выходной порт принимает слово данных из микропроцессора.
Процессор должен иметь возможность координировать скорость
своей работы со скоростью работы внешнего устройства, с кото-
рым он обменивается информацией. В противном случае может по-
лучиться, что входной порт начнет пересылать данные еще до то-
го как, процессор их затребует, и процесс пересылки данных на-
ложится на какой-то другой процесс в ЦП. Как уже отмечалось,
эта координация работы двух устройств носит название "рукопо-
жатия", или квитирования.
Теперь подробнее остановимся на режимах работы портов вво-
да-вывода. Существуют три вида взаимодействия процессора с
портами ввода-вывода: программное управление, режим прерываний
и прямой доступ к памяти (ПДП).
Программно-управляемый ввод-вывод инициируется процессором,
который выполняет программу, управляющую работой внешнего уст-
ройства. Режим прерываний отличается тем, что инициатором вво-
да-вывода является внешнее устройство. Устройство, подключен-
ное к выводу прерываний процессора, повышает уровень сигнала
на этом выводе (или в зависимости от типа процессора понижает
- 14 -
его). В ответ процессор, закончив выполнение текущей команды,
сохраняет содержимое программного счетчика в соответствующем
стеке и переходит на выполнение программы, называемой програм-
мой обработки прерываний, чтобы завершить передачу данных.
ПДП тоже инициируется устройством. Передача данных между
памятью и устройством ввода-вывода осуществляется без вмеша-
тельства процессора. Как правило, для организации ПДП исполь-
зуются контроллеры ПДП, выполненные в виде интегральных схем.
3.5 Униварсальный синхронно-асинхронный
приемопередатчик
Микропроцессор взаимодействует с перифирийными устройства-
ми, принимающими и передающими данные в последовательной фор-
ме. В процессе этого взаимодействия процессор должен выполнять
преобразование параллельного кода в последовательный, а также
последовательного в параллельный.
Чаще всего пересылка данных между процессором и периферий-
ными устройствами выполняются асинхронно. Другими словами,
устройство может передавать данные в любой момент времени. Ес-
ли данные не передаются, устройство посылает просто биты мар-
кера, обычно высокий уровень сигнала, что дает возможность не-
медленно обнаружить любой разрыв цепи передачи. Если устройс-
тво готово передавать данные, передатчик посылает нулевой бит,
обозначающий начало посылки. За этим нулевым битом следуют
данные, затем бит четности и , наконец, один или два стоп-би-
та. Закончив передачу, отправитель продолжает посылать высокий
уровень сигнала в знак того, что данные отсутствуют.
Для удобства проектирования интерфейса процессора с уст-
- 15 -
ройствами последовательного ввода-вывода (как синхронными, так
и асинхронными) разработаны микросхемы универсальных синхрон-
но-асинхронных приемопередатчиков (УСАПП). В состав УСАПП вхо-
дят функционирующие независимо секции приемника-передатчика.
Типичный УСАПП изображен на рис. 4
Рисунок 4 расположен на следующей странице.
- 16 -
Разреше- От триггера
ние по- 8 7 6 5 4 3 2 1 " Буфер
лучения Данные передатчика
данных свободен"
──┬─── ├─┴─┴─┴─┴─┴─┴─┤ ж е а б в г д ─────┬─────
└─────┤ Вентили И │ │ │ │
├─┬─┬─┬─┬─┬─┬─┤ │ │ ┌┴──┴──┴──┴──┴┐ │
├─┴─┴─┴─┴─┴─┴─┤ ┌──────┐ └──│ Вентили И │ │
│ Буферный ре-│ │ R ├─────│ │─────┘
│ гистр прием-│─┬│Триггер│ └─┬───┬────┬──┘
│ ника │ │ │"Данные│ │ │ │
└─────────────┘ │ │готовы"│ ┌─┴───┴────┴──┐
│ │S │ │ Регистр сос-│──────┐
└────────┐ │ └┬──────┘ │ тояния │ │
Биты управления │ │ └────────────└─────────────┘ │
от регистра состояния│ └────────────────────────┐ │
└─────────────┐ ┌──────┴────┐ │
├──────────────────────┐ └──────┤ Сдвиговый ├────────┘
┌────┴────┐ ┌────┴─────┐ │ регистр │
│ Логика ├───────────│ Логика ├─────│ приемника │
│проверки │ │ проверки │ │СР │
│паритета │ │ границы │ └───────────┘
│ │ │ кадра │
└─── ─────┘ └──────────┘ │
┌───┴─────┐ ┌──────────┐ │
│Проверка │ │Синхрони- │ │
│стартово-│ │зирующий │ │
│го бита │───────────┤генератор ├───────┘
- 17 -
Последовательный вход Частота 16хТ Рис. 4
Буквами обозначено: а - Данные готовы; б - Наложение; в - Ошибка
кадра; г