─────┴┼┼┼┼───────┴┼┼┼┼────────┴┼┼┼┼─────────┴┼┼┼┼──┤ ц │
──────┴┼┼┼────────┴┼┼┼─────────┴┼┼┼──────────┴┼┼┼──┤ е │
───────┴┼┼─────────┴┼┼──────────┴┼┼───────────┴┼┼──┤ с │
────────┴┼──────────┴┼───────────┴┼────────────┴┼──┤ с │
─────────┴───────────┴────────────┴─────────────┴──┤D 47 0 о │
│ р │
└─────┘
- 8 -
3.1 Шина с тремя состояниями
Шина с тремя состояниями напоминает телефонную линию общего
пользования, к которой подключено много абонентов. Три состо-
яние на шине - это состояния высокого уровня, низкого уровня и
высокого импеданса. Состояние высокого импеданса позволяет
устройству или процессору отключиться от шины и не влиять на
уровни, устанавливаемые на шине другими устройствами или про-
цессорами. Таким образом, только одно устройство является ве-
дущим на шине. Управляющая логика активизирует в каждый конк-
ретный момент только одно устройство, которое становиться ве-
дущим. Когда устройство активизировано, оно помещает свои
данные на шину, все же остальные потенциальные ведущие перево-
дятся в пассивное состояние.
К шине может быть подключено много приемных устройств -
получателей. Обычно данные на шине предназначаются только для
одного из них. Сочетание управляющих и адресных сигналов, оп-
ределяет для кого именно. Управляющая логика возбуждает специ-
альные стробирующие сигналы, чтобы указать получателю когда
ему следует принимать данные. Получатели и отправители могут
быть однонаправленными (т.е. осуществлять только либо переда-
чу, либо прием) и двунаправленными (осуществлять и то и дру-
гое). На рис. 3 показаны двунаправленные отправители/получате-
ли , подключенные к шине.
Рисунок 3 расположен на следующей странице.
- 9 -
рис.3
┌──────────────────┐
│ Микропроцессор │
└──────────────────┘
┌──────────────────┐
┌─────────────┤ Управляющая ├────────────┐
│ ┌───┤ логика ├──┐ │
│ │ └──────────────────┘ │ │
│ └───────┐ Разрешение┌─────┘ │
│ Активизация │ │ Активизация │
выхода 1 │ │ выхода 2
┌─────┴─────────────┐ │ ~ │ ┌───────────┴──────┐
│ Строб данных │ ┌┴┐ ║ ┌┴┐ │ Строб данных │
│ Выходные├──┤ ├─┬──╢ ┌─┤ ├──┤Выходные │
│Отправи- данные │ └─┘ │ ║ │ └─┘ │ данные Отправи-│
│тель/по- Входные │ │ ║ │ │Входные тель/по-│
│лучатель 1 данные ├_─────┘ ╟──┴─────_┤ данные лучатель 2│
└───────────────────┘ ║ └──────────────────┘
║
~ Линия шины
Шинная (магистральная) организация получила широкое расп-
ространение, поскольку в этом случае все устройства используют
единый протокол сопряжения модулей центральных процессоров и
устройств ввода-вывода с помощью трех шин.
- 10 -
3.2 Типы шин
Сопряжение с центральным процессором осуществляется посредс-
твом трех шин: шины данных, шины адресов и шины управления.
Шина данных служит для пересылки данных между ЦП и памятью или
ЦП и устройствами ввода-вывода. Эти данные могут представлять
собой как команды ЦП, так и информацию, которую ЦП посылает в
порты ввода-вывода или принимает оттуда. В МП 8088 шина данных
имеет ширину 8 разрядов. В МП 8086, 80186, 80286 ширина шины
данных 16 разрядов; в МП 80386 - 32 разряда.
Шина адресов используется ЦП для выбора требуемой ячейки
памяти или устройства ввода-вывода путем установки ан шине
конкретного адреса, соответствующего одной из ячеек памяти или
одного из элементов ввода-вывода, входящих в систему. Наконец
по шине управления передаются управляющие сигналы, предназна-
ченные памяти и устройствам ввода-вывода. Эти сигналы указыва-
ют направление передачи данных (в ЦП или из ЦП), а также мо-
менты передачи.
Магистральная организация предпологает, как правило, нали-
чие управляющего модуля, который выступает в роли директора -
распорядителя при обмене данными. Основное назначение этого
модуля - организация передачи слова между двумя другими моду-
лями.
3.3 Операции на магистрали
Операция на системной магистрали начинается с того, что уп-
равляющий модуль устанавливает на шине кодовое слово модуля -
отправителя и активизирует линию строба отправителя. Это поз-
воляет модулю, кодовое слово которого установлено на шине,
- 11 -
понять, что он является отправителем. Затем управляющий модуль
устанавливает на кодовое слово модуля - получателя и активизи-
рует линию строба получателя. Это позволяет модулю, кодовое
слово которого установлено на шине, понять, что он является
получателем.
После этого управляющий модуль возбуждает линию строба дан-
ных, в результате чего содержимое регистра отправителя пересы-
лается в регистр получателя. Этот шаг может быть повторен лю-
бое число раз, если требуется передать много слов.
Данные пересылаются от отправителя получателю в ответ на
импульс, возбуждаемый управляющим модулем на соответствующей
линии строба. При этом предполагается, что к моменту появления
импульса строба в модуле - отправителе данные подготовлены к
передаче, а модуль - получатель готов принять данные. Такая
передача данных носит название синхронной (синхронизирован-
ной).
Что произойдет, если модули участвующие в обмене (один или
оба), могут передавать или принимать данные только при опреде-
ленных условиях ? Процессы на магистралях могут носить асинх-
ронный (несинхронизированный) характер. Передачу данных от
отправителя получателю можно координировать с помощью линий
состояния, сигналы на которых отражают условия работы обоих
модулей. Как только модуль назначается отправителем, он прини-
мает контроль над линией готовности отправителя, сигнализируя
с ее помощью о своей готовности принимать данные. Модуль, наз-
наченный получателем, контролирует линию готовности получате-
ля, сигнализируя с ее помощью о готовности принимать данные.
При передаче данных должны соблюдаться два условия. Во-пер-
- 12 -
вых, передача осуществляется лишь в том случае, если получа-
тель и отправитель сигнализируют о своей готовности. Во-вто-
рых, каждое слово должно передаваться один раз. Для обеспече-
ния этих условий предусматривается определенная последователь-
ность действий при передачи данных. Эта последовательность но-
сит название протокола.
В соответствии с протоколом отправитель, подготовив новое
слово, информирует об этом получателя. Получатель, приняв оче-
редное слово, информирует об этом отправителя. Состояние линий
готовности в любой момент времени определяет действия, которые
должны выполнять оба модуля.
Каждый шаг в передаче данных от одной части системы к дру-
гой называется циклом магистрали (или часто машинным циклом).
Частота этих циклов определяется тактовыми сигналами ЦП. Дли-
тельность цикла магистрали связана с частотой тактовых сигна-
лов. Типичными являются тактовые частоты 5, 8, 10 и 16 МГц.
Наиболее современные схемы работают на частоте до 24 МГц.
3.4 Порты ввода-вывода
Адресное пространство ввода-вывода организовано в виде пор-
тов. Порт представляет собой группу линий ввода-вывода, по ко-
торым происходит параллельная передача информации между ЦП и
устройством ввода-вывода, обычно по одному биту на линию. Чис-
ло линий в порте чаще всего совпадает с размером слова, харак-
терным для данного процессора. Входной порт чаще всего органи-
зуется в виде совокупности логических вентилей, через которые
входные сигналы поступают на линии системной шины данных. Вы-
ходной порт реализуется в виде совокупности триггеров, в кото-
- 13 -
рых хранятся сигналы, снятые с шины данных.
Если в передаче информации участвует процессор, то направ-
ление потока входной и выходной информации принято рассматри-
вать относительно самого процессора. Входной порт - это любой
источник данных (например, регистр), который избирательным об-
разом подключается к шине данных процессора и посылает слово