Интерф периф устр лекции (775983), страница 9
Текст из файла (страница 9)
УЗМ
ВЕД. УСТР-О
DWB DGB
УЗМ
B BG3OUT BG3IN BG30UT DG3IN
AS*
BBSY*
BR3*
BCLR*
Магистраль информационного канала.
Рис.16. Структура шины передачи управления.
При поступлении запроса с более высоким приоритетом, чем текущий, формируется сигнал BCLR* и магистраль предоставляется новому модулю.
Циклический арбитр предоставляет равные приоритеты для всех источников запроса. Если в предыдущем цикле магистраль была предоставлена по требованию линии BRn, то наивысшим приоритетом в текущем цикле будет обладать линия BRn-1. Арбитр может использовать сигнал BCLR*, если ведущее устройство запрашивает магистраль на уровне приоритета, не совпадающего с приоритетом, которому была предоставлена магистраль в последний раз.
Циклические арбитры являются популярными в системах сбора данных с интеллектуальными периферийными устройствами, в которых данные загружаются в разделяемую память. Эти данные должны загружаться на равноправной основе. Возможен смешанный способ организации арбитров, при котором могут использоваться как 3 типа одновременно, например, в системном контроллере VME1000, так и в различных сочетаниях.
УЗМ является функциональным модулем, который размещается на одной плате с ведущими устройствами и обработчиками прерываний. Ведущее устройство формирует сигнал захвата магистрали DWB и передает его УЗМ, которое выставляет запрос на одной из линий BRn. После получения разрешения по последовательной цепи BGnlN/BGnOUT УЗМ устанавливает сигнал BBSY* и извещает ведущее устройство сигналом DGB. Ведущее устройство ожидает, когда AS* станет равным логической единице. Это позволяет проводить арбитраж магистрали во время пересылки данных или выполнения цикла подтверждения прерывания, что ускоряет пропускную способность магистрали.
В VME используется три варианта освобождения магистрали УЗМ.
УЗМ с освобождением по завершению операции (УЗМО) освобождает магистраль после того, как закончилась пересылка информации. Модули ПДП могут освобождать магистраль после окончания пересылки блока данных, а модули центрального процессора в конце каждого цикла или под управлением программы.
УЗМ с освобождением по запросу (УЗМЗ) освобождает магистраль при появлении сигнала на одной из линий BRO*-BR3* или BCLR*. Данный метод часто используется, т.к. хорошо работает для большинства применений и является достаточно быстрым. Его основной недостаток заключается в увеличении времени арбитража, когда большое число модулей требуют доступ к магистрали одновременно.
УЗМ с циклическим освобождением магистрали (УЗМЦ) применяется в системах с ведущими устройствами, требующими фиксированную пропускную способность. Наиболее часто они используются с арбитрами одного уровня или в том случае, если число ведущих устройств более 4. Последнее применение расширяет возможности циклического арбитра. УЗМЦ обеспечивает цикличность, не позволяя своему ведущему получить управление информационной магистралью, пока все ведущие модули одного уровня не получат доступ к магистрали. Это достигается тем, что, УЗМ ждет момента снятия сигнала BRn*, а затем формирует свой сигнал запроса магистрали.
D
УЗМ
WB DGBBR3*
Рис. 17 Принцип работы устройства запроса с циклическим
освобождением магистрали.
Это гарантирует то, что ведущие устройства обеспечены равной пропускной способностью магистрали. В отличие от обычной цепочечной схемы УЗМЦ имеет встроенный механизм, запрещающий формирование сигнала доступа к магистрали до тех пор, пока линия запроса не станет пассивной (рис. 17). Если все модули одновременно выставили запросы, то первым получит магистраль модуль физически ближе расположенный к арбитру. После завершения пересылки, магистралью будет управлять второй модуль, а запросы первого будут заблокированы и т.д.
Для нормальной работы в этом режиме все УЗМ должны иметь УЗМЦ.
3.3.3 Шина прерываний
Шина прерываний состоит из линий запроса прерывания IRQ1* - IRQ7*, линий последовательной цепи подтверждений прерываний IACKIN*, IACKOUT*, линии подтверждения прерываний IACK*.
Для инициирования прерываний источник запроса выставляет сигнал нулевого уровня на одной из линий IRQ*. IRQ1* имеет минимальный приоритет, IRQ7* - максимальный. Число источников запроса ограничено только нагрузочной способностью формирователей, которые должны быть выполнены по схеме с открытым коллектором. Каждая линия IRQ* объединяет источники запроса по схеме "монтажное ИЛИ". Устройство обработки прерываний (УОП) контролирует IRQ* и в ответ на запросы генерирует цикл "Подтверждение прерываний", в процессе которого передается вектор прерывания (информация об адресе программы обработки прерываний). Признаком начала цикла является IАСК*=0.
Принцип обработки прерываний поясняет рис. 18, где в качестве примера рассмотрен запрос, приходящий по линии IRQ3*.
Схема анализа приоритетов реализует параллельно-последовательный централизованный арбитраж.
Процесс прерывания начинается в момент посылки запроса по одной из линий IRQ*i устройством запроса прерываний (УЗП). УОП, если прерывание разрешено, запрашивает магистраль и ожидает разрешение на ее использование.
Для захвата ШД все УОП должны иметь устройство запроса магистрали (УЗМ). Если доступ к магистрали разрешен, УОП выставляет сигналы А01-АОЗ, IАСК*=0 и AS*=0. Появление IАСК*=0 уведомляет все модули, что реализуется цикл "Подтверждения прерывания". Код на линиях А01-АОЗ сообщает всем УЗП о получении запроса данного уровня. Уровень кодируется позиционным кодом: IRQ1* соответствует (АОЗ-А01) равное 001, a IRQ7* - 111. Модификатор адреса АМО-АМ5 УОП не формируется. Драйвер последовательной цепочки (ДПЦ), расположенный в слоте 01, передает сигнал с линии IACK* на вход IACKIN* в момент любого из строба данных (DSO* или DS1*). Получая подтверждение прерывания, УЗП проверяет выполнение следующих условий:
Системный
Контроллер
ДПЦ
IACKIN* IACKOUT*
ЦП
УОП
IACKIN* IACKJUT*
УЗМ
МОДУЛЬ ВВВ
УЗП
IACKIN* IACKOUT*
IRQ3* к ШПУ
IACK*
LWORD*, A01-A03
AS*, DS0*, DS1*
D00-D31
DTACK*
Рис.18. Структура шины прерывания.
•запрашивал ли он прерывания;
•соответствует ли его приоритет уровням на линиях А01-АОЗ;
•ожидаемая ведущим модулем разрядность данных (линии DSO*, DS1*, LWORD*) больше или равна разрядности его слова статуса (STATUS/ID).
При невыполнении хотя бы одного условия УЗП пропускает сигнал дальше по последовательной цепочке с IACKIN* на IACKOUT*. Если все условия выполнены, УЗП выставляет свой вектор прерывания (STATUS/ID) на ТТТД и завершает цикл формированием DTACK*;=0. Разрядность вектора может быть 8, 16,32 бита. Получив вектор прерывания, УОП освобождает магистраль, заканчивая цикл подтверждения прерывания.
В VME регламентируется 2 способа снятия запроса прерывания с линии IRQ*i: по подтверждению прерывания (ROAK) и по обращению к регистру (RORA).
УЗП типа ROAK снимает запрос автоматически в цикле подтверждения прерывания по получению сигнала IACKIN*. Обычно подобные УЗП работают со всеми УОП.
УЗП типа RORA снимает свой запрос, когда УОП во время работы подпрограммы обработки прерываний получает доступ к внутреннему регистру УЗП. Для реализации этого способа УОП должно обладать средствами для выполнения цикла записи/чтения. Обычно УЗП типа RORA используется с УОП, расположенными в модуле ЦП, т.к. ЦП может иметь доступ к внутренним регистрам УЗП.
Подсистемы прерываний могут быть реализованы с централизованной или децентрализованной обработкой запросов.
При централизованной обработке запросов все прерывания принимаются одним УОП, а подпрограммы обработки прерываний выполняются одним процессором. Такая структура используется в однопроцессорных системах.
В многопроцессорных системах используется децентрализованная обработка запросов. В этом случае число УОП может быть до 7, каждый из которых обрабатывает свою группу запросов (от 1 до 7). Процессору А, чтобы связаться с процессором В, достаточно запросить прерывание по одной из линий IRQ, принадлежащих этому процессору. При одновременном возникновении запросов прерывания в разных группах очередность обслуживания будет определяться приоритетом соответствующего модуля обработки прерываний на информационной магистрали.
При проектировании модулей, которые не содержат источников запроса на прерывание необходимо обеспечить соединение линий IACKIN* HIACKOUT*.
3.3.4. Шина специальных управляющих сигналов
В состав ШСУС входят следующие линии:
«ACFAIL* - сигнал аварии источника питания переменного тока. Формируется диспетчером питания. Сигнал ACFAIL^O указывает всем модулям, что источник питания системы близок к отключению. ACFAIL* относится к классу сигналов с открытым коллектором. Использование этого сигнала необязательно.
•SYSFAIL* - сигнал отказа системы. Формируется и/или контролируется любым модулем и оповещает о сбое системы. Причина сбоя и реакция на него определяется пользователем и его использование необязательно. SYSFAIL* принадлежит к классу сигналов с открытым коллектором.
•SERCLK*-SERDAT* - сигналы синхронизации и данных последовательного канала. Используются в магистрали VMS. В редакции D VME эти выводы были переименованы в выводы, определяемые пользователем. Однако, и в этом случае они могут использоваться последовательной магистралью VMS.
•+5В STTDBY - резервный источник питания +5В (аккумулятор). Его использование необязательно.
•+5VDC, +12VDC, -12VDC - системные источники постоянного тока соответственно+5В, + 12В,-12В.
•GND* - линия "земли".
•RESERVED* - резервный вывод, запрещенный для пользователя. В редакции D он переименован в вывод RETRY*. RETRY*=0 совместно с BERR*=0 формируется ведомым модулем для индикации того, что запрашиваемая пересылка не может быть осуществлена, но должна быть повторена попытка обращения к магистрали ведущим модулем в следующем цикле. Возможность такого повтора предусмотрена для предотвращения взаимоблокировок магистрали.
9















