См. последний абзац п. 5.5.

Отметим, что, когда сигнал ВН=1, устройства игнорируют сос­тояние сигнала RB.

  1. Ответные действия устройства на включение питания

При включении питания устройства должны запретить выдачу в сегментах всех сигналов ФАСТБАС, за исключением сигналов на линиях AL и SR.

От устройств, реагирующих на POWER ON (включение пита­ния) или RB, требуется только запрещать выставление сигналов ФАСТБАС, которые не установлены на нуль при нулевом состоя­нии других сигналов ФАСТБАС. Например, не требуется, чтобы слуга блокировал выставление АК, если АК сведено к нулю путем приема AS = 0.

ГЛАВА 6. АРБИТРАЖ В МАГИСТРАЛИ

В общем виде система ФАСТБАС состоит из одного или более сегментов, каждый из которых может содержать несколько мас­теров. Прежде чем мастер сможет начать операцию, ему должны быть обеспечены гарантии, что магистраль, к которой он подключен, свободна >и остается свободной от вмешательства со стоіроны дру­гих мастеров в течение всего периода передачи. Методика, исполь­зуемая для обеспечения этого условия, требует наличия в каждом устройстве схемы, способной завоевывать право на владение ма­гистралью, а также наличия некоей активной схемы, называемой схемой управления таймированием арбитража (УТА), которая под­ключается к каждому сегменту и не является частью какого-либо отдельного устройства. УТА обеспечивает выработку таймирующих и управляющих сигналов для процесса арбитража, а также инфор­мирует выигравшего мастера о том, когда он сможет принять на се­бя использование магистрали. Если действие влечет за собой про­хождение через соединители сегментов, тогда такая гарантия до­ступности магистрали должна быть распространена сегмент за сегментом на все затрагиваемые сегменты.

Каждому мастеру присваивается уровень приоритета для ис­пользования во время цикла арбитража, и в соответствующий мо­мент подготовленный мастер, с самым высоким приоритетом сре­ди принимавших участие в арбитраже получает право на владение магистралью. Как только мастеру было дано и он принял право владения магистралью, мастер оставляет за собой управление ма­гистралью до тех пор, пока не решит отказаться от этого. В ре­зультате операция с низким приоритетом может запретить испол­нение операции с высоким приоритетом. Соблюдение приоритетов обеспечивается только во время арбитража.

При получении запроса на арбитраж УТА инициирует цикл ар­битража, если магистраль в данный момент не занята. Если ма­гистраль занята, то именно действующий мастер решает, когда сможет состояться цикл арбитража. Выбор критерия, используемо­го мастером для определения этого момента времени, предостав­ляется разработчику устройства. Одна из альтернатив заключается в том, чтобы разрешить проведение цикла арбитража непосредст­венно сразу за последним первичным адресным циклом текущей операции. В результате следующий мастер обычно может быть выбран прежде, чем действующий мастер закончит свой последний цикл данных. Такое перекрытие арбитража с действиями на ма­гистрали означает, что, когда магистраль занята, теряется мини­мальное или вообще никакое время не теряется при переключении от одного мастера к другому.

Если последняя или единственная часть текущего взаимодейст­вия является блочной или принудительной передачей, промежуток времени между последним адресным циклом и последним циклом данных может оказаться довольно длительным. Если использует­ся предложенный выше алгоритм, следующий мастер может быть выбран задолго до того, как он получит право на владение магис-тралью. Другие мастера, имеющие 'более высокий уровень арбит­ража, чем подготовленный мастер, могут выставить запросы на использование магистрали в течение того промежутка времени, ко­торое требуется действующему мастеру для завершения его послед­них циклов данных. Этим мастерам, однако» не будет разрешено участвовать в 'соревновании за право владения магистралью до тех пор, пока подготовленный мастер не получит управление магист­ралью и, в свою очередь, не разрешит проведение очереднего цик­ла арбитража. Если действующий мастер задерживает иницииро­вание цикла арбитража до своего последнего или предпоследнего цикла данных, результаты/арбитража с большей точностью отобра­жают состояние запросов на момент освобождения магистрали.

  1. Использование линий магистрали в процессе арбитража

В табл. IX представлено краткое описание десяти линий магист­рали, используемых в процессе арбитража.

Таблица IX

Линии для арбитража в системе ФАСТБАС

Наименование

Обозначение

Использование

Запрос на арбитраж

AR

Формируется мастером с целью за­просить право на владение магистралью

Запрет запроса на ар­битраж

AI

Формируется схемой УТА с целью показать наличие необслуженных запро­сов

Разрешение на арби­траж

AG

Формируется в УТА для управления таймированием цикла арбитража

Уровень арбитража

AL

Сигналы на линиях уровня арбитра­жа выставляются мастерами

Подтверждение раз­решения

GK

Формируется выигравшим мастером, когда он принял на себя управление данным сегментом



Каждому мастеру в сегменте должен быть присвоен единст­венный в пределах его сегмента уровень арбитража. Уровень ар­битража должен быть указан при помощи двоичного шестиразряд­ного числа, содержащегося в регистре CSR = 8 (см. п. 8.11). Допус­тимые уровни арбитража должны находиться в диапазоне от 1 до 63. Уровень арбитража 0 не должен быть разрешен.

Уровень арбитража должен быть разделен на два класса, кото­рые определяются значениями старшего разряда. Локальный уро­вень должен иметь старший разряд в нулевом состоянии. Для ло­кальных уровней единственность требуется только в пределах дан­ного сегмента. Для системных уровней их старший разряд должен быть установлен в единицу, и они должны быть присвоены веду­щим устройствам в сегментах с выполнением требования единст­венности по всему маршруту.

Когда уровень арбитража пропускается на линии AL, старший разряд должен появиться на линии AL<05>, а младший — на ли­нии AL<00>.

Рекомендуется, чтобы локальный уровень арбитража 31 был зарезервирован для использования диагностическими модулями.

Мастер должен выставить AR как первый этап в получении вла­дения магистралью . Перед этим мастер должен проверить состо­яние других линий магистрали. Для выполнения протокола гаран­тированного доступа мастер выставляет AR, только если не вы­ставлен AI. Это ведет к круговому, с учетом приоритетов, разре­шению владения магистралью. Для выполнения протокола приори­тетного доступа мастер выдает AR только в случае, когда его уро­вень арбитража выше, чем уровень действующего мастера. Это позволяет мастеру, который проверяет состояние AR, выполнять длинную передачу, прерываемую только передачами с более вы­соким приоритетом. Если не работает ни один из этих протоколов, мастер выдает AR, если ему требуется использовать магистраль.

Цикл арбитража инциируется, если линия AR находится в сос­тоянии «истинно», а линии AG, GK, WT находятся в состоянии «ложь». Так как состоянием линии GK управляет действующий мастер, он может управлять инициированием циклов арбитража. Схема УТА запускает такой цикл, формируя сигнал AG (и) , кото­рый используется мастерами, выставляющими запросы, для про­пускания своих уровней арбитража на линии AL, а всеми другими мастерами — чтобы убрать свои уровни арбитража с линий AL. Определение выигравшего мастера производится самими масте­рами — схема УТА просто обеспечивает таймирующие сигналы для этого процесса, После выдачи сигнала AG (и) схема УТА ожидает в течение фиксированного промежутка времени завершение про­цесса арбитража. Этот промежуток определяется задержками на магистрали и во внутренней логике. В конце указанного периода ожидания код на линиях AL представляет собой уровень арбитража выигравшего мастера. Если в это время схема УТА обнаруживает недопустимый нулевой уровень на линиях AL, она не ожидает при­хода сигнала GK(u) и считает данный цикл арбитража завершен­ным. Если код на линиях AL отличается от нуля, тогда схема УТА проверяет магистраль на предмет активности. Когда связка AS/AK текущей операции прекращается на время, достаточное для очист­ки магистрали, и WT = 0, тогда схема УТА формирует сигнал AG(d). Выигравший мастер, о котором теперь говорят как о подготовлен­ном мастере до тех пор, пока он не возьмет на себя владение ма­гистралью, осознает, что он выиграл, а всем остальным участкам процесса арбитража становится известно, что они проиграли.

Получение подготовленным мастером сигнала AG(d) побужда­ет его. возвратить схеме УТА сигнал «подтверждение разрешения» (GK) и приступить к использованию магистрали^ Если схема УТА не получает сигнал GK в течение времени, определяемого задерж­ками на магистрали и в логике, она предполагает, что выиграв­ший мастер не хочет или не может присвоить право на владение магистралью, и, если сигнал «запрос на арбитраж» находится в состоянии AR=1, инициирует новый цикл арбитража.

Если мастерам разрешено выставлять сигнал AR в любой мо­мент времени, мастера с высоким приоритетом могут неопределен­но долго не давать право на владение-магистралью мастерам с низким приоритетом. Этой проблемы можно избежать, если масте­ра руководствуются рекомендованным протоколом гарантирован­ного доступа, который использует формируемой схемой УТА уп­равляющий сигнал «запрет запроса на арбитраж» (AI). Мастера инициируют запросы на арбитраж тогда, когда сигнал А1=0. Все запросы на владение магистралью, которые присутствуют в мо­мент выдачи сигнала AI(u), обслуживаются в порядке приорите­тов, прежде чем любым запросам, возникающим после сигнала AI(u)_, будет разрешено пройти на линию AR. Результатом явля­ется форма циклического упорядочения приоритетов. Мастера, ко­торые не руководствуются этим протоколом, могут сочетаться с такими мастерами, которые его используют, допуская возможность для мастеров получать владение магистралью, не принимая во внимание запросы от мастеров с более низкими приоритетами.

Две особенности протокола арбитража должны быть подчерк­нуты. Первая заключается в том, что именно мастера решают, кто будет следующим использовать магистраль. Вторая состоит в том, что именно схема управления таймированием арбитража опреде­ляет момент времени, в который подготовленный мастер может взять на себя владение магистралью. На рис. 17 показана логика управления арбитража в мастере. Для работы этой схемы тре­буются дополнительные ключи (см., п. 6.3.1). Для обеспейения пра­вильности векторов арбитража нужны дальнейшая аппаратная или программная проверки.

  1. Процесс арбитража

В предыдущем разделе были кратко описаны таймирование и управление циклом арбитража. Подробные спецификации, касаю­щиеся этих вопросов, помещены в дальнейших разделах. В данном разделе детально описывается процесс, при помощи которого опре­деляется выигравший уровень арбитража. Реализация соответст-



вующей схемы в ведущем устройстве показана на рис. 18. Отметим, что логические правила в данном случае таковы, что есл« логичес­кий нуль и логическая единица одновременно подаются на одну и ту же линию от двух различных источников, эта линия будет на­ходиться в состоянии логической единицы.

» а

er


ЕАІ

ПТ

ІБК


ВАБ

IRQ


я п

*cr


Сбросить В К


РБК


Это мой (рис. 18)

ВАБ*



Д ейстВительный


ъ-16К

Пропустить A L (рис. 18)

-&-IAR

ЕА1=разрешение AI=CSR*8<7>



П

Рис, 17. Логика управления арбитражем в мастере

Рис. 18. Логика арбитража в мастере

ри получении сигнала AG (и) те мастера, которые желают соревноваться за право владения магистралью (т. е. выставляющие AR), используют внутренний флаг «пропустить сигналы на линии AL» для того, чтобы выставить свой внутренний уровень арбитража (IAL) на линии AL<05:00>. Затем каждый мастер непрерывно сравнивает присвоенный ему уровень арбитража с кодом на линиях AL. Если мастер обнаруживает, что внутреннее значение любого из разрядов AL отличается от логического уровня соответствующей линии AL, то он запрещает выставление своих данных на все ли­нии AL, имеющие меньший вес. Как следствие логического прави­ла, упомянутого выше, единственно устойчивое различие, которое может возникнуть, относится к случаю, когда внутреннее значение равняется 0, в то время как на соответствующей линии AL имеется логический уровень 1.

Условие, накладываемое при пропускании информации на ли­нии AL, может вызвать неоднократное изменение их содержимого, прежде чем стабилизируется конечное значение. По ходу этих из­менений один или несколько мастеров могут на короткое время устанавливать свой внутренний флаг «арбитраж выигран» («это мой»), указывающий, «что они будут выбраны владеющими магист­ралью в следующий раз, как только она станет доступной. Однако схема УТА ожидает в течение времени, равного четырем задерж­кам магистрали плюс шесть задержек в логике арбитража, чтобы определить окончательно выигравшего мастера прежде, чем перей­ти к следующей части процесса арбитража. Задержка в логике ар­битража равняется времени, требуемому мастеру для того, чтобы отметить различие в значениях одного из старших разрядов кода AL и прекратить пропускание всех разрядов кода AL с меньшим весом. Кроме зависимости от используемой технологии, на эти за­держки влияет также способ реализации функции арбитража.