Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Книга Башков.doc
Скачиваний:
40
Добавлен:
20.11.2019
Размер:
26.92 Mб
Скачать

4.2. Магистрали типа Multibus

Первоначально магистраль Multibus была разработана фирмой Intel для своих изделий на базе 8-разрядного МП S080. Затем, в свя­зи с появлением 16-разрядных МП класса 8086/8088, магистраль модифицировалась и под названием Multibus I и другими именами, в различных модификациях и с различными уровнями стандартиза­ции (см. табл. 4.2 и 4.5 П.201) стала доминировать во всем мире.

Таблица 4.5. Системные магистрали типа Multibus I

Характеристика

Multibus

Р-796

BUS-l

И41

CM ЭВМ

ИК-l

КТС ЛИУС

Стандартизация

IEEE

IEC

ОСТ СССР

ОСТ СССР

Линии адреса данных

20

16

20; 24

16

16; 20

16

19

8

Тип платы

Фирменный стандарт

Европлата 2

Европлата 3

Европлата 2

Разъем

Ножевой

Накладной

С96

96

Накладной СНП 59

Ножевой

Количество контактов

86

96

96

72

Переход на более мощные 16- и 32-разрядные МП заставил разра­ботчиков заново пересмотреть спецификации интерфейса. В 1984 го­ду была предложена система Multibus II, ориентированная на 32-раз­рядные средства МпВТ (табл. 4.3). Multibus II существенно отлича­ется от своей предшественницы и пока еще не достигла такого же уровня стандартизации и распространения. К магистралям типа Multibus можно отнести и внутриплатную системную магистраль PC-bus, поддерживающую МП 8088 в ПЭВМ фирмы IBM.

Магистраль Multibus I. Приведенное ниже описание в основном соответствует стандарту IEEE 796, выполнено по [1.20, 3.7]. Будем придерживаться 16-ричной нумерации сигналов в шинах, знак * после обозначения говорит о том, что активный уровень сигнала низкий. Магистраль содержит следующие шины и линии (табл. 4.6).

Шина адреса состоит из 20 линий ADR13*— ADRO* и линии BHEN*. По линиям ADR* от ведущего устройства передается код адреса ячейки памяти или порта (регистра) ввода-вывода. Шина позволяет адресовать 1 Мбайт памяти или 64 К портов ввода-вы­вода. Младший разряд шины ADRO*, старший разряд адреса порта ADRF*, старший разряд адреса памяти — ADR13*. Предусмотре­на возможность расширения адреса с помощью линий ADR 17*— ADR 14* на дополнительном (необязательном) разъеме магистрали. Сигнал BHEN* разрешает передачу старшего байта 16-разрядного слова. Совместное действие сигналов ADRO* и BHEN* аналогично сигналам Ад и ВНЕ МП 8086 (см. рис. 2.9). В изделиях фирмы Intel сигналы адреса формируются с помощью буферных регистров типа 8283/8282 с трехстабильным выходом, как показано на рис. 4.4. Включать (переводить из третьего состояния) и выдавать код адреса на шину может только модуль, получивший право быть ведущим.

Шина данных DATE*—DATO* обеспечивает двунаправленную передачу 8-разрядных и 16-разрядных кодов между ведущим и ве­домым модулями. Младший разряд шины DATO* старший разряд байта DAT7*, старший разряд слова DATF*. Достаточно простая схема буферизации старшего байта позволяет легко связывать 8-и 16-разрядные модули в любой комбинации. Рекомендуется под­ключаться к линиям данных с помощью драйверов (формирователей) типа 8287/8288 (см. рис. 4.4), поддерживающих третье состояние, прием и выдачу кодов. Включать шину данных (переводить из тре­тьего состояния) может только модуль, получивший право быть ве­дущим. Информацию на шину может выдавать и ведущий, и ведомый модуль, однако ведомый — только по соответствующим управля­ющим сигналам ведущего.

Шина управления содержит несколько групп линий (подшин), выполняющих родственные функции: общее управление магистра­лью, арбитраж, управление операцией, управление прерыванием. К подшине общего управления магистралью относятся:

CCLK*— постоянный синхросигнал магистрали. Может исполь­зоваться любым модулем для любых целей. Минимальный период 100 не, длительность импульса 0,35—0,65 периода;

BCLK*— управляемый синхросигнал магистрали. Используется для синхронизации схем передачи управления магистралью (по спадающему фронту). Минимальный период 100 не, длительность импульса 0,35—0,65 периода. Сигнал может формироваться одним из модулей, подключенных к магистрали, необязательно синхрон­но с CCLK*. При отладке BCLK* можно замедлять, приостанавли­вать или посылать одиночные импульсы;

Таблица 4.6. Сигналы мгжстрали Multibus I

Шина/сигналы

Обозначение

Количество

Примечание

Шина адреса

Линии адреса

ADR13*—ADR0*

20

Однонаправленные линии, три состояния

разрешение старшего байта

BHEN*

1

Однонаправленная ли­ния, три состояния

Шина данных

DATF3—DAT0*

16

Двунаправленные ли­нии, три состояния

Шина управления

Запись в память

MWTC*

1

Три состояния

Чтение из памяти

MRDC*

1

Три состояния

Вывод

IOWC*

1

Три состояния

Ввод

IORC*

1

Три состояния

подтверждение передачи

XACK*

1

Открытый коллектор

запрет обращения к ОЗУ

INH1*

1

Три состояния

запрет обращения к ПЗУ

INH2*

2

Три состояния

сброс (инициализация)

INIT*

1

Открытый коллектор

центральный синхросигнал

CCLK*

1

Основной синхросиг­нал

синхросигнал

BCLK*

1

Управляющий сигнал

шина занята

BUSY*

1

Открытый коллектор

Запрос шины

BREQ*

1

общий запрос шины

CBRQ*

1

Открытый коллектор

вход приоритета

BPRN*

1

выход приоритета

BPRO*

1

запросы прерывания

INТ7*—INTO*

8

подтверждение прерывания

INTA*

1

Открытый коллектор

Шина питания

питание +5В

+5V

8

+12 В

+12V

2

-12В

-12V

2

Общий

GND

8

INIT*— сигнал инициализации (сброса) системы. По активному (низкому) уровню сигнала все модули, подключенные к магистрали, должны перейти в некоторое заранее оговоренное начальное со­стояние. Несколько модулей и/или внешних устройств могут фор­мировать сигнал INIT* с помощью схем с открытым коллектором.

Подшина арбитража включает следующие линии:

BUSY*— линия передачи сигнала занятости магистрали. Актив­ный низкий уровень сигнала указывает, что магистраль отдана од­ному из ведущих модулей. Все остальные модули не имеют права уп­равлять магистралью. Сигнал формируется схемами с открытым коллектором и ведущий модуль должен поддерживаться его низ­ким, пока он управляет магистралью;

CBRQ*— линия передачи сигнала общего запроса. Активный низкий уровень сигнализирует, что некоторый модуль или модули желают получить управление магистралью для выполнения обмена. Сигнал формируется схемами с открытым коллектором, и любой модуль, которому необходима магистраль, должен поддерживать его низким;

BREQ*— линия передачи сигнала запроса. Активный низкий уровень сигнала свидетельствует о том, что модуль запрашивает право управлять магистралью;

BPRN*— входная линия цепочки арбитража. Активный низкий уровень сигнала индицирует, что нет ни одного модуля с большим приоритетом, требующего магистраль. Если хотя бы один такой модуль есть, то BPRN* находится в высоком состоянии.

BPRO*— выходная линия цепочки арбитража. Активный уро­вень низкий. Низкий уровень устанавливается модулем, если сигнал BPRN* в низком состоянии и сам модуль не требует магистрали. Если модуль пытается захватить магистраль или любой другой модуль с большим приоритетом требует ее (сигнал BPRN* высо­кий), то и BPRO* переводится в высокое состояние.

Изменение состояний сигналов BREQ*, CBRQ*, BUSY* должно происходить строго синхронно со спадающим фронтом сигнала BCLK*. Для формирования сигналов рекомендуется использовать БИС арбитра шины 8289 (см. рис. 4.4). У ведомых модулей BPRO* должен быть закорочен со входом BPRN*.

Подшина управления операцией состоит из следующих линий:

MWTC*— передачи сигнала записи в запоминающее устройство. Активный уровень сигнала низкий. Сигнал индицирует, что веду­щий модуль выставил информацию на шину данных и код адреса— на шину адреса. По низкому уровню сигнала MWTC* код с линий данных должен быть записан в ячейку ЗУ с соответствующим адресом;

IOWC*— передачи сигнала записи в порт ввода-вывода (вывод). Активный уровень сигнала низкий. Сигнал показывает, что веду­щий модуль выставил на шину ADR* код адреса порта, а на шину данных — информационный код. По низкому уровню сигнала IOWC* код с линий данных должен быть записан в соответству­ющий порт вывода;

MRDC*— передачи сигнала чтения из запоминающего устрой­ства. Активный уровень низкий. Сигнал указывает, что ведущий модуль выставил на шину ADR* код адреса ячейки запоминающего устройства, а линии данных настроены на прием информации. По низкому уровню сигнала MRDC* ведомый модуль ЗУ должен считать информацию из соответствующей ячейки памяти и выста­вить код на шину данных;

IORC*— передачи сигнала чтения из порта ввода-вывода (ввод). Сигнал индицирует, что ведущее устройство выставило на шину адреса код адреса порта ввода, а линии данных настроены на прием информации. По низкому уровню сигнала IORC* ведомый модуль (контролер ввода-вывода) должен выбрать информацию из соответ­ствующего порта и выставить код на линии данных. Перечисленные четыре сигнала управления операцией должны формироваться мо­дулем, ставшим ведущим. Только он имеет право включить (пере­вести из третьего состояния) эти линии, как и линии адреса и данных и формировать на них соответствующие уровни сигналов. Для управления линиями рекомендуется использовать контроллер шины Multibus типа 8286 (см. рис. 4.4);

ХАСК*— передачи сигнала подтверждения (завершения) опе­рации. Активный уровень сигнала низкий. Сигнал сообщает веду­щему модулю, что ведомый завершил требуемую операцию, то есть принял код данных в операциях записи (вывода) или установил код на линиях данных в операциях чтения (ввода). Сигнал должен формироваться схемами с открытым коллектором, управлять лини­ей может любой модуль;

INH1*— передает сигнал запрета обращения к оперативному ЗУ. Этот сигнал применяется, если некоторые адреса одновременно используются и ОЗУ, и ПЗУ (или УВВ). При появлении низкого уровня на линии INH1* ведомыми должны становиться модули ПЗУ (или УВВ), а не ОЗУ, конечно, если установлен соответству­ющий адрес. Сигнал формируется только ведущим модулем;

INH2*— передает сигнал запрета обращения к ПЗУ. Выполняет функцию, аналогичную INH1*, но по отношению к модулям ПЗУ. Использование этой линии позволяет ПЗУ и портам ввода-вывода иметь одинаковые адреса.

Подшина управления прерыванием включает линии:

INT7*— INTQ*— передачи сигналов запросов на прерывания. Сигналы запросов должны формироваться схемами с открытым кол­лектором, активный уровень сигнала низкий. Высшим приоритетом обладает сигнал на линии INTO*, низшим — на линии INT7*;

INTA*— передачи сигнала подтверждения прерывания. Актив­ный уровень низкий. Сигнал формируется модулем, принявшим запрос на прерывание. Выполняет функции сигнала MRDC* (чте­ние) при обработке запроса для чтения вектора прерывания.

Шина питания обеспечивает модули питающими напряжениями 4- 5В, +12В, -12 В по отношению к общей линии GND («Земля»). Для увеличения подводимой мощности напряжение + 5 В и GND разведены по 8 линиям, а напряжения 4-12 В и -12 В по 2-м ли­ниям.

Итак, магистраль на основном разъеме имеет 20 линий адреса, 16 линий данных, 25 линий управления и 20 линий питания. На втором, необязательном разъеме допускаются дополнительные линии адреса (4 разряда), линии организации прерывания при от­ключении основного питания, линии включения аварийного бата­рейного питания, ряд дополнительных и резервных линий. Все сигналы магистрали Multibus должны иметь ТТЛ уровни. Стандарт регламентирует также нагрузочные способности и динамические па­раметры сигналов, конструкцию модулей и каркасов.

Упрощенная схема процессорного модуля на базе МП 8086 с вы­ходом на магистраль Multibus показана на рис. 4.4. Буферные ре­гистры адреса 8283 и драйверы шины данных 8287 управляются сигналами AEN (разрешение адреса) и DEN (разрешение данных), поступающими с арбитра 8289 и контроллера 8286, соответственно. Только когда модуль получает право управлять шиной, арбитр фор­мирует сигнал AEN, который переводит из третьего состояния в ак­тивное контроллер 8286 и буфер адреса 8283. Контроллер, в свою очередь, формирует сигнал DEN, включающий драйверы шины данных. Важный момент— пока модуль не имеет доступа к маги­страли, выходы схем 8283, 8287, 8286 находятся в третьем состо­янии, т. е. модуль отключен от Multibus. Но сам МП тем не менее ра­ботает и может выполнять операции над данными, принятыми ра­нее. Микропроцессор подключен к арбитру и контроллеру своими управляющими выходами Sa—So,которые несут информацию о типе текущего цикла (см. с. 41). Как только МП пытается выполнить некоторую операцию с магистралью (записать или прочитать что-либо), он информирует об этом арбитр и контроллер комбинацией сигналов на линиях статуса Sg—So. Выданный из МП адрес фикси­руется в буферных регистрах 8283 сигналом ALE, хотя они нахо­дятся в третьем состоянии, данные (в операциях записи) появляются на локальной шине данных. Так как модуль не имеет доступа к ма­гистрали, арбитр своим сигналом AEN через БИС генератора так­товых сигналов 8284 снимает сигнал готовности со входа RDY МП, чем заставляет его перейти в состояние ожидания. Арбитр же начи­нает действия по захвату магистрали для выполнения операции;» затребованной микропроцессором.

Магистраль Multibus поддерживает как параллельный, так и последовательный способ арбитража. Синхронизация передачи управления между устройствами осуществляется сигналом BCLK* (спадающим фронтом), который поступает в БИС арбитров 8289 всех модулей. 'При последовательном способе создается приоритет­ная цепочка (см. рис. 4.3, б) с помощью внемодульных соединений входов BPRN* с выходами BPRO*. Так как время распростране­ния сигнала по цепочке ограничено одним тактом BCLK*, то огра­ничено и количество модулей в цепочке. При частоте BCLK* 10 МГц в цепочку можно включить только три модуля. Увеличить это число можно только снизив частоту BCLK*. Параллельный способ обеспечивает арбитраж 16 модулей. Он иллюстрируется рис. 4.5, где три процессорных модуля оспорят» за магистраль. Вы­ходы запроса магистрали BREQ* каждого модуля подключены к входам специальной схемы контроллера магистрали. А его выходы связаны со входами BPRN* разрешения захвата. Контроллер ма­гистрали в простейшем варианте можно построить на БИС шифра­тора и дешифратора, реализующих выбранную стратегию арби­тража. Ясно, что при любой комбинации сигналов, на входах, только на одном выходе контроллера может быть низкий уровень, разрешающий захват магистрали. Переходной процесс в контролле­ре должен завершаться за один такт BCLK*. Примем в нашем при­мере, что высший приоритет отдан первому модулю, а низший — третьему.

В начальный момент времени ни один модуль магистрали не требует (CBRQ* высокий) и ею не владеет (BUSY* высокий), как это показано на рис. 4.5,6. По спадающему фронту BCLK* второй модуль выставляет запрос на магистраль ( становится низ­ким) и переводит линию CBRQ* в низкое состояние. В первом такте контроллер решает задачу арбитража, и так как, кроме второго мо­дуля, претендентов нет, формирует низкий уровень на входе . Таким образом, арбитр второго модуля узнает, что он может стать ведущим. Магистраль свободна, арбитр переводит BUSY* в низкое состояние, CBRQ* в высокое, вырабатывает си­гнал AEN, сообщая контроллеру, драйверу шины данных и буфер­ному регистру адреса, что можно перейти из третьего состояния в ак­тивное (см. рис. 4.4). Этим же сигналом арбитр выводит МП из со­стояния ожидания. На магистрали начинается выполнение опера­ций под управлением контроллера 8286 второго модуля. Ведущий удерживает магистраль до тех пор, пока ее не запросит модуль с большим приоритетом или она станет ему не нужна и ее запросит модуль с низшим приоритетом. На рис. 4.5,6 показано, что в М-м такте магистраль одновременно запрашивают и первый, и третий модули. Контроллер выбирает наиболее приоритетный — первый, устанавливая в низкое состояние, и — в высокое. Теперь первый модуль должен получить управление ши­ной. Однако он не может этого сделать, так как второй удерживает BUSY* в низком состоянии. Только полностью завершив очеред­ную операцию обмена, второй модуль снимает BUSY* (такт М + 2), первый модуль становится ведущим и начинает выполнять свои опе­рации с магистралью. Обратите внимание, что CBRQ* остается низким, так как запрос третьего модуля не удовлетворен. И только в К-м такте, когда первый завершит свои операции, управление магистралью будет передано третьему, наименее приоритетному модулю.

Микропроцессор ведущего модуля может закрепить магистраль за собой, сформировав низкий уровень сигнала LOCK (блокировка), по которому арбитр будет удерживать BUSY* низким до отмены блокировки, т. е. программист с помощью префикса LOCK может указать отдельные команды и участки программ, выполнение кото­рых запрещено приостанавливать, даже если магистраль требуется модулю с большим приоритетом.

Получив управление магистралью, ведущий модуль может выполнять четыре основные операции: чтение памяти или порта ввода-вывода и запись в память или в порт ввода-вывода. Временные диаграммы операций показаны на рис. 4.6. Все операции асин­хронны по отношению к CCLK* и BCLK*, управляющие сигналы MRDC*, MWTC*, IORC*, IOWC* вырабатываются контроллером 8286 по сигналам статуса S2,—S0. Длительность сигнала составляет не менее 100 нc. Код адреса устанавливается на адресных линиях до начала управляющего сигнала не менее чем за 50 не и удержи­вается 50 не после его снятия, т. е. длительность истинного адреса на шине должна быть не менее 200 нc. Также формируется и код данных в операциях записи. Готовность ведомого модуля принять данные подтверждается

низким уровнем сигнала ХАСК*. Если он остается высоким, МП ведущего модуля переходит в состояние ожи­дания, которое сохраняется, пока от ведомого не появится низкий уровень сигнала ХАСК*. Только после этого с задержкой 50 не ведущий модуль снимает сигнал записи и еще через 50 не — адрес и данные. При чтении ведомый также должен подтвердить свою готовность низким уровнем сигнала ХАСК* и одновременно выста­вить код данных на линиях DATF*—DATO*. Если более 50 не нет подтверждения готовности, ведущий модуль переходит в состояние ожидания. Данные

от ведомого должны быть стабильны не менее 100 не для правильного приема их ведущим модулем. Минимальный период обмена 16-разрядным кодом в 200 не соответствует макси­мальной скорости 10 Мбайт/с, однако средняя скорость падает до 2—3 Мбайт/с из-за необходимости арбитража.

В стандарте Multibus I предусмотрено два способа организации прерываний: невекторный и векторный. В первом случае обработка запросов осуществляется только в одном модуле, запросы на преры­вания в который от других модулей и, может быть, внешних схем поступают по линиям INT7*—INTO*. Линии запросов подключают­ся к контроллеру прерываний, например, типа 8259А, как показано на рис. 4.4. Последний определяет наиболее приоритетный запрос и посылает сигнал прерывания в МП 8086 по входу INT. Обработка запроса на маскируемое прерывание в МП описана в параграфе 2.2. Количество запросов ограничено количеством линий INT* и не может быть больше 8.При векторной организации в каждом модуле, генерирующем прерывания, предусматривается свой контроллер, подключенный к основному через линии INT*. В цикле подтверждения прерывания по нижнему уровню INTA* теперь уже этот контроллер выставляет на шину данных код — вектор прерывания, определяющий вход в таблицу адресов программ обслуживания запросов. Процедура векторного прерывания достаточно подробно описана в [1.131.

Система Multibus II. Система Multibus II [2.10, 3.7] предложе­на фирмой Intel для использования в мультимикропроцессорных вычислительных устройствах на базе 16- и 32-разрядных МП. Архи­тектура системы иллюстрируется рис. 4.7. Она включает три основ­ные и три дополнительные магистрали, основные характеристики которых приведены в табл. 4.7. Многомагистральность Multibus II призвана обеспечить большую гибкость системы, высокую ее на­дежность, повышенную производительность.

Основная магистраль системы — параллельная системная ма­гистраль iPSB (Parallel System Bus) предназначена для организации обмена данными с производительностью до 40 Мбайт/с при макси­мальной физической длине линий не более 427 мм. Магистраль по­зволяет подключать до 20 модулей, причем обязательным является центральный обслуживающий модуль (CSM, central service modul), выполняющий функции общие для всех устройств.

Магистраль состоит из 5 шин (групп сигналов). Адреса и дан­ные передаются по 32-разрядной мультиплексируемой шине адреса ;

данных A/D* Возможны обмен 8-, 16-, 24- и 32-разрядными кодами и адресация 4 Гбайт памяти. Введено четыре линии паритета PAR* (контроля по модулю 2) каждого байта шины. Семь линий центрального управления, которые возбуждаются модулем CSM, обеспечива­ют инициализацию и синхронизацию системы и защиту от отказа питания. Арбитраж магистрали выполняется с помощью сигналов запроса шины и шести сигналов определения приоритета ARB*. Десять сигналов управления обменом SC9—SC0* используются

Таблица 4.7. Основные характеристики магистралей системы

Магистрали

Ширина шины данных

(бит)

Максимальная Скорость передачи, Мбайт/с

Тип

Функциональные назначения

iPSB

32

40

Синхронная мультиплексная

Параллельная системная шина

iSBX

32

48

Синхронная немультиплексная

Быстролокальная шина обмена с памятью

iSBX

16

10

Асинхронная

немультиплексная

Локальная шина расширения ввода-вывода

MDMA

16

8

Асинхронная мультиплексная

Удаленный прямой доступ к памяти

iSSB

1

2

Протокол CSMA/CD

Последовательная системная шина

BitBus

1

2,4

Протокол типа SDLC

Локальная шина связи с моду­лями промышленного телеуп­равления

веду­щим и ведомым модулями для передачи команд, подтверждений и сообщений об ошибках. Специальные сигналы исключающего цикла оповещают подключенные к магистрали модули о возникших ошибках паритета (на линиях A/D* и/или SC*) или недопустимо длительного «молчания» модуля (ошибка тайм-аута — time-out). Модули обеспечиваются питающими напряжениями +5; +12; -12 В, предусмотрено также аварийное питание + 5 В.

В магистрали iPSB, как собственно и во всей системе Multibus II выделяются четыре адресных пространства. Пространство памяти используется для доступа к внутренним запоминающим устрой­ствам (ОЗУ, ПЗУ). К этому пространству возможен доступ и по магистралям iLBX, MDMA. Адрес в пространстве памяти 32-раз­рядный (на iLBX и MDMA — 24-разрядный). В адресном про­странстве выполняются две операции — чтения и записи. При по­следовательном доступе ведущий модуль может автоматически нара­щивать адреса на 1, 2 или 4 байта. Пространство ввода-вывода пред­назначено для доступа к внешним ЗУ и другой периферии. Оно поддерживается также магистралями iSBX и MDMA. В пространстве возможны операции ввода и вывода, данные передаются по 8, 16, 24 или 32 бита. Адрес в пространстве ввода-вывода 16-разрядный, при последовательном доступе адрес не наращивается.

Пространство взаимосвязи предназначено для инициализации системы, установления ее конфигурации и тестирования работо­способности. Возможен доступ и по магистрали iLBX. Каждому модулю в пространстве взаимосвязи присваивается уникальный номер — идентификатор места платы в конструктиве магистрали. Для iPSB номер может изменяться от 00 до 19, для iLBX — от 20 до 29. Модуль с номером 00 выполняет функции центрального обслуживающего модуля CSM. Сам адрес взаимосвязи состоит из двух полей: 5-разрядного поля номера модуля и 9-разрядного номе­ра регистра в модуле. Следовательно в пространстве взаимосвязи предоставляется возможность, во-первых, адресовать модули по их физическому расположению в конструктиве (географическая адре­сация) и, во-вторых, в каждом модуле адресовать до 512 регистров. Регистры с адресами 0 и 1 имеют специальное назначение, они несут информацию о фирме-изготовителе и о типе модуля. Назначение ос­тальных 510 регистров определяется разработчиком, причем они могут использоваться как для записи, так и для чтения. Например, в модуле ОЗУ в такой регистр через пространство взаимосвязи за­писывается начальный адрес модуля в пространстве памяти. Или, при подаче питания, модуль автоматически выполняет самотести­рование и результаты записывает в один из регистров взаимосвязи.

Пространство сообщений поддерживает межпроцессорные вза­имодействия в многопроцессорных системах. К пространству воз­можен доступ и по магистрали iSSB. Каждому процессорному моду­лю присваиваются уникальный 8-разрядный адрес, который исполь­зуется для идентификации сообщений. В пространстве допускается только операция передачи сообщения от одного модуля к другому или от одного — всем модулям (широковещательная адресация). Собственно, сообщение — это один или несколько пакетов данных от 4 до 32 байт. Причем первый байт пакета всегда содержит адрес источника сообщения, а второй байт — адрес приемника. Если адрес приемника равен FF16, то сообщение передается всем модулям. Третий и четвертый байты определяют тип сообщения и его специфи­кации. Назначение остальных байтов пакета зависит от типа сооб­щения. Предусмотрено два класса сообщений: незатребованные и затребованные. Незатребованные сообщения — это виртуальные прерывания, сигнализирующие о некотором событии, момент на­ступления которого заранее неизвестен. Затребованные сообщения служат для передачи массивов данных между процессорными моду­лями, причем одно сообщение может потребовать нескольких 32-байтных пакетов.

Магистраль iPSB полностью синхронна, так как любое измене­ние любого сигнала должно происходить но спадающему фронту синхросигнала BCLK*. Максимальная частота BCLK*—10 МГц. Протокол обмена данными по iPSB требует от модулей выполнения трех циклов: арбитража, передачи и исключающего цикла. В первом цикле модули, взаимодействуя между собой, решают, кто станет ведущим. Для этого каждый желающий выставляет на линии опре­деления приоритета ARB5*— ARB0* свой арбитражный номер, присвоенный ему системой. Вопрос решается методом параллельного соревнования с помощью специальной комбинационной схемы, рас­положенной в каждом модуле. В результате переходного процесса во всех комбинационных схемах арбитража на линиях приоритета устанавливается наиболее приоритетный номер, и модуль, чей но­мер получил подтверждение, становится ведущим. Получив управ­ление магистралью, ведущий модуль начинает цикл передачи, ко­торый распадается на ряд фаз. Первая фаза цикла передачи — всегда фаза запроса, в которой ведущий выставляет на шину адреса/данных код адреса и на шину управления обменом — сигналы уп­равления. Здесь сигналы SC3*, SC2* определяют разрядность пере­даваемых данных, сигналы SC5*, SC4* задают адресное простран­ство, сигнал SC6* указывает направление передачи (запись или чте­ние). Сама фаза запроса сопровождается низким уровнем на линии SCO*. Запрос длится один такт, затем наступает фаза ответа. Назна­чение линий SC7*—SC2* в этой фазе изменяется, а на линии SCO* поддерживается высокий уровень. Фаза ответа может содержать один или несколько тактов. Во-первых, проверяется наличие готов­ности как ведущего, так и ведомого модулей (низкий уровень на линиях SC4*, SC3*). Если готовности нет, то такты синхронизации пропускаются. При подтверждении готовности выполняется один или несколько, в случае последовательного доступа, тактов обмена данными. В фазах запроса и ответа линии SC9*, SC8* используются для контроля по паритету кодов на линиях SC3*—SCO* и SC7*— SC4* соответственно. Кроме того, в фазе ответа линии SC7*—SC5* несут информацию о наличии ошибки и ее типе. Последний такт обмена ведущий модуль сопровождает низким уровнем на ли­нии SC2*, сообщая остальным модулям, что в следующем такте он освобождает магистраль.

Если модуль, участвующий в цикле передачи, обнаружил ошиб­ку паритета на шинах адреса/данных или управления, он устанав­ливает низкий уровень на линии BUSER* (ошибка на шине). Ве­дущий модуль прекращает выполнение обмена, а центральный об­служивающий модуль CSM переводит магистраль в исключающий цикл, в котором определенное время она бездействует. Затем работа возобновляется, модули начинают арбитраж и циклы передачи. Исключающий цикл может быть также вызван ошибкой тайм-аута, если сигналы подтверждения готовности не изменились в течение 1 мс. После включения питания или перезапуска системы централь­ный обслуживающий модуль выполняет специальные функции по инициализации. Особенностью iPSB является задание в этот период каждому подключенному модулю его географического адреса взаи­мосвязи и арбитражного номера. Для выбора конкретного модуля CSM последовательно возбуждает линии LATHn*, индивидуальные для каждого физического места магистрали. Сам номер передается из CSM в модуль по шине ARB4*— ARBO*. Причем, если сигнал ARB5*, низкий, то передается географический адрес, если ARB5* высокий — арбитражный номер. И адрес, и номер должны быть за­помнены модулями в специальных регистрах и использоваться ими при операциях в пространстве взаимосвязи и арбитраже.

Последовательная системная магистраль iSSB (Serial System Bus) no существу является последовательным вариантом iPSB. Она содержит только двухпроводную линию, длиной до 10 м, к ко­торой можно подключить не более 32 модулей. Первые двадцать из этих модулей совпадают с модулями iPSB. Для передачи исполь­зуется протокол, основанный на принципе множественного доступа с прослушиванием несущей частоты. Основное назначение маги­страли — передача незатребованных сообщений между модулями, работа с другими пространствами невозможна. Локальная маги­страль iLBX (Lockal Bus) имеет наивысшую скорость передачи данных (48 Мбайт/с) в системе и поддерживает быстрый доступ про­цессора к внутренним ЗУ, не занимая при этом iPSB. Магистраль локальна для каждого процессорного модуля, т. е., в вычислитель­ной системе может быть столько магистралей iLBX, сколько уста­новлено процессорных модулей. По iLBX можно получить доступ к пространству взаимосвязи и пространству памяти.

Три дополнительные магистрали взяты из предшествующих разработок фирмы. Канал MDMA обеспечивает независимое подклю­чение к процессорным модулям быстрых устройств ввода-вывода. Интерфейс iSBX предназначен для подключения к процессорно­му модулю так называемых мультимодулей (multimodule board), физически располагающихся непосредственно на плате основного модуля.

Мультимодули могут иметь самое разнообразное назначение: арифметические расширители, расширители ввода-вывода, конт­роллеры устройств ввода-вывода и тому подобное. Через муль-тимодуль возможен обмен и по последовательной магистрали ввода-вывода BITBUS, ориентированной на подключение устройств промышленного назначения, образующих системы распределенного управления.

Все магистрали Multibus II могут работать автономно, в резуль­тате суммарная скорость передачи данных в системе превышает 100 Мбайт/с.

Магистраль PC-bus. Внутриплатная системная магистраль PC-bus используется фирмой IBM в своих персональных компьютерах. Магистраль выполнена в виде набора печатных проводников на единой системной плате с несколькими разъемами расширения, к ко­торым подключаются дополнительные модули. Перечень линий PC-bus, их назначение приведены в табл. 4.8 [1.29]. Двадцатиразряд­ная шина адреса обеспечивает доступ к 1 Мбайт памяти и 512 уст­ройствам ввода-вывода. Появление адреса на шине стробируется сигналом ALE, который индицирует начало очередного цикла обме­на. Шина данных восьмиразрядная, так как ПЭВМ строятся на МП Intel 8088 (см. параграф 2.2). Сигналы общего управления, управ­ления обменом и каналом прямого доступа выполняют общеприня­тые функции. Уровень на линии AEN разделяет процессорные цик­лы обмена (низкий) и обмен по каналу прямого доступа (высокий).

Все основные «электронные» устройства ПЭВМ (процессор, ОЗУ, ПЗУ, контроллеры прерываний и прямого доступа) выполнены на системной плате. Модули расширения подключаются к магистрали с помощью 62-контактного ножевого разъема, ответная часть кото­рого также установлена на системной плате. Несмотря на то, что на разъемах расширения все сигналы магистрали доступны, расши­рить память дополнительными модулями или поставить дополни­тельный контроллер прямого доступа затруднительно. Заняты так­же четыре (из шести) линии запроса на прерывание. Фактически модули расширения могут быть построены только как ведомые контроллеры устройств ввода-вывода с возможностью обращения к си­стемному контроллеру прямого доступа [2.4]. Временная диаграмма сигналов магистрали в циклах ввода и вывода показана на рис. 4.8. Работа магистрали синхронизируется сигналом CLK с частотой 4.77 МГц, который формируется делением на три основной частоты 14,31818 МГц. Для ввода-вывода требуется не менее 5 тактов CLK, т. е. скорость передачи не может быть более 0,9 Мбайт/с. В первом такте по сигналу ALE на шине адреса появляется адрес порта ввода-вывода. Сигналы записи IOW или чтения IOR формируются во втором такте с задержкой 10—35 не. При записи во втором такте появляется и код данных на шине данных. Модуль должен принять байт до завершения пятого такта. Если он не успевает это сделать, ему необходимо снять сигнал готовности (на рисунке не показано), и МП перейдет в состояние ожидания. В цикле ч гения модуль дол­жен выставить байт данных на шину не позже, чем за 42 не до начала пятого такта и поддерживать его стабильным не менее 14 не после начала такта. За этот интервал МП принимает байт во внутренние регистры.

Так как оперативная память в ПЭВМ фирмы IBM выполнена на динамических ЗУПВ, нормальное функционирование магистрали прерывается циклами регенерации через каждые 72 такта. Реге­нерация занимает 5 тактов, т. е. «съедает» 6,5 % пропускной спо­собности магистрали.

Таблица 4.8. Сигналы магистрали PC-bus

Шина/сигналы

Обозначение

Коли чество

Назначение

Шина

адреса

А190

20

Линия передачи адреса

данных

D7-D0

8

Линии передачи данных

Управление обменом

строб адреса

ALE

1

Сигнал стробирования действительного адреса на шине адреса

запись

1

Сигнал сопровождает вы­дачу данных на шину дан­ных для записи в память

чтение

1

Сигнал выдачи данных из памяти на шину данных

вывод

1

Сигнал сопровождает вы­дачу данных на шину дан­ных для записи в УВВ

ввод

1

Сигнал выдачи данных из УВВ на шину данных

готовность

I/OCHRDY

1

Сигнал требования удлинить цикл обмена

ошибка

1

Сигнал процессору об ошибках в памяти или УВВ

Управление каналом пря­мого доступа (ПДП)

Запрос канала

DRQ3-DRQ1,

3

Запрос от внешнего уст­ройства на передачу по каналу ПДП

подтверждение запроса

DACK3-DACK0

4

Подтверждение приема запроса на передачу по каналу ПДП

прямой доступ

AEN

1

Сигнал обмена по каналу ПДП (передачей управ­ляет контролер ПДП)

завершение

T/C

1

Сигнал завершения обме­на по каналу ПДП

Общее управление

генератор

OSC

1

Синхросигнал высокой частоты (14.31818 МГц)

синхросигнал

CLK

1

Сигнал системной синхро­низации (4.77 МГц)

сброс

RESET

1

Сигнал установки моду­лей системы в исходное состояние

Запрос прерывания

IRQ7-IRQ2

6

Линии передачи запросов на прерывания

Питание

напряжение +5В

+5V

2

-5В

-5V

1

+12B

+12V

1

-12В

-12V

1

Общий сигнал

GND

3

Резервная линия

1

Рис. 4.8. Временная диаграмма работы магистрали PC-bus

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]