Обзор процессоров и шин ПВМ начиная с 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

Буквами обозначено: а - Данные готовы; б - Наложение; в - Ошибка

кадра; г