См. последний абзац п. 5.5.
Отметим, что, когда сигнал ВН=1, устройства игнорируют состояние сигнала RB.
Ответные действия устройства на включение питания
При включении питания устройства должны запретить выдачу в сегментах всех сигналов ФАСТБАС, за исключением сигналов на линиях AL и SR.
От устройств, реагирующих на POWER ON (включение питания) или RB, требуется только запрещать выставление сигналов ФАСТБАС, которые не установлены на нуль при нулевом состоянии других сигналов ФАСТБАС. Например, не требуется, чтобы слуга блокировал выставление АК, если АК сведено к нулю путем приема AS = 0.
ГЛАВА 6. АРБИТРАЖ В МАГИСТРАЛИ
В общем виде система ФАСТБАС состоит из одного или более сегментов, каждый из которых может содержать несколько мастеров. Прежде чем мастер сможет начать операцию, ему должны быть обеспечены гарантии, что магистраль, к которой он подключен, свободна >и остается свободной от вмешательства со стоіроны других мастеров в течение всего периода передачи. Методика, используемая для обеспечения этого условия, требует наличия в каждом устройстве схемы, способной завоевывать право на владение магистралью, а также наличия некоей активной схемы, называемой схемой управления таймированием арбитража (УТА), которая подключается к каждому сегменту и не является частью какого-либо отдельного устройства. УТА обеспечивает выработку таймирующих и управляющих сигналов для процесса арбитража, а также информирует выигравшего мастера о том, когда он сможет принять на себя использование магистрали. Если действие влечет за собой прохождение через соединители сегментов, тогда такая гарантия доступности магистрали должна быть распространена сегмент за сегментом на все затрагиваемые сегменты.
Каждому мастеру присваивается уровень приоритета для использования во время цикла арбитража, и в соответствующий момент подготовленный мастер, с самым высоким приоритетом среди принимавших участие в арбитраже получает право на владение магистралью. Как только мастеру было дано и он принял право владения магистралью, мастер оставляет за собой управление магистралью до тех пор, пока не решит отказаться от этого. В результате операция с низким приоритетом может запретить исполнение операции с высоким приоритетом. Соблюдение приоритетов обеспечивается только во время арбитража.
При получении запроса на арбитраж УТА инициирует цикл арбитража, если магистраль в данный момент не занята. Если магистраль занята, то именно действующий мастер решает, когда сможет состояться цикл арбитража. Выбор критерия, используемого мастером для определения этого момента времени, предоставляется разработчику устройства. Одна из альтернатив заключается в том, чтобы разрешить проведение цикла арбитража непосредственно сразу за последним первичным адресным циклом текущей операции. В результате следующий мастер обычно может быть выбран прежде, чем действующий мастер закончит свой последний цикл данных. Такое перекрытие арбитража с действиями на магистрали означает, что, когда магистраль занята, теряется минимальное или вообще никакое время не теряется при переключении от одного мастера к другому.
Если последняя или единственная часть текущего взаимодействия является блочной или принудительной передачей, промежуток времени между последним адресным циклом и последним циклом данных может оказаться довольно длительным. Если используется предложенный выше алгоритм, следующий мастер может быть выбран задолго до того, как он получит право на владение магис-тралью. Другие мастера, имеющие 'более высокий уровень арбитража, чем подготовленный мастер, могут выставить запросы на использование магистрали в течение того промежутка времени, которое требуется действующему мастеру для завершения его последних циклов данных. Этим мастерам, однако» не будет разрешено участвовать в 'соревновании за право владения магистралью до тех пор, пока подготовленный мастер не получит управление магистралью и, в свою очередь, не разрешит проведение очереднего цикла арбитража. Если действующий мастер задерживает инициирование цикла арбитража до своего последнего или предпоследнего цикла данных, результаты/арбитража с большей точностью отображают состояние запросов на момент освобождения магистрали.
Использование линий магистрали в процессе арбитража
В табл. 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). Для обеспейения правильности векторов арбитража нужны дальнейшая аппаратная или программная проверки.
Процесс арбитража
В предыдущем разделе были кратко описаны таймирование и управление циклом арбитража. Подробные спецификации, касающиеся этих вопросов, помещены в дальнейших разделах. В данном разделе детально описывается процесс, при помощи которого определяется выигравший уровень арбитража. Реализация соответст-
вующей схемы в ведущем устройстве показана на рис. 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 с меньшим весом. Кроме зависимости от используемой технологии, на эти задержки влияет также способ реализации функции арбитража.