Рис. 19 иллюстрирует таймирование процесса выбора мастера с самым высоким приоритетом. Изображенная ситуация заключа­ется в следующем: мастер А (уровень арбитража 010101b) и схема УТА находятся на одном /конце магистрали. Мастера В (уровень арбитража 001111b) и X (уровень арбитража 100000b) находятся на противоположном конце магистрали. Действующим мастером является X, а мастера А и В выставляют сигналы на линию AR. Мастер X формирует сигнал GK (d), чтобы показать, что может сос­тояться цикл арбитража. Схема УТА отвечает сигналом AG (и), и именно момент выдачи этого сигнала служит точкой отсчета шка­лы времени на рис. 19.

, Мастер А, обнаружив сигнал AG (и), пытается пропустить свой уровень арбитража на линии AL. Мастер X еще не получил сигнал AG (и), следовательно линия AL<05> все еще находится в сос­тоянии логической 1, и приоритетная схема не разрешает мастеру

А, вследствие его уровня арбитража, выставить сигналы на какие- либо из линий AL. Спустя время задержки в магистрали мастерах обнаруживает сигнал AG (и) и, так как он сам не выставляет за­прос, убирает свой уровень арбитража с магистрали. В это время мастер В получает сигнал AG (и) и пытается выставить свой уро­вень арбитража на магистраль. Поскольку в настоящий момент ни мастер А, ни мастер X не выставляют сигналы на какие-либо линии AL, на последних теперь содержится код уровня арбитража мас­тера В и он считает себя в данный момент выигравшим.

Время в Задержках магистрали -

м

МастерА (01010!)


УТА


Е н Т

  1. М

    О

    45

    Данные, задаваемые на линии AL мастером А

    оооооо

    010101

    010000

    оооооо

    оооооо

    001111

    Направле­ние сигнала і АБип

    Мастеря (100000) ' Мастере (D01111J

    Данные, задаваемые на линии AL мастером fl

    ЗВ

    1R

    астер А устанавливает внутренне «это мой».
  2. * Мастер В устанавливает внутренне «это мой».

Рис. 19. Арбитраж для двух мастеров при наихудших задержках

Спустя время, равное задержке в магистрали, код уровня ар­битража мастера В достигает конца магистрали, на котором распо­ложен мастер А и где приоритетная логика разрешает установку мастером А линии AL<04> в состояние логической 1. Мастер А в это время не может оказать влияние на любые другие линии AL, поэтому код 011111b распространяется обратно к противоположно­му концу магистрали. Здесь мастер В обнаруживает, что его собст­венное значение и состояние на магистрали для линии AL<04> различаются, следовательно оно прекращает выставлять сигналы на линии от АЬ<03>до AL<00> включ, и более не рассматри­вает себя в качестве выбранного мастера.

. Код 010000b затем распространяется обратно к концу магист­рали, на котором расположен мастер А и где приоритетная логика теперь разрешает ему выставить все разряды своего уровня арбит­ража на линии AL, а также, обнаружив соответствие между внут­ренним и внешним значениями уровня арбитража, начинает рас­сматривать себя в качестве выигравшего мастера. Уровень арбит-

м

Е н т


С


Данные задаваемые на линиях AL мастером К ’ О1ОООО

МастерА ■ оооооо оююо тми

(010101) ~


УТА


УВ


ЗВ


25



Время В задержка*
магистрали



Направление сигнала AG.lu)


юоооо і к остался, от К


diohi oioioi


ОН111

010011

010100

оюоои

ОМОН

оюооо

0Ш0

ОЮМ

ОНИ

oom!

Мастер х (100000) мастерВ (ООІН1)

Мастерс (D1OD11)

В0МН OODDOO 000000 000000 000000

Данные, задаваемые на линии AL мастером А


Надписи аналогичны рис. 19. является промежуточным между уровнями мастеров А и В. Не­большие квадратики на диаграмме показывают, что в данном месте и в данное время в состоянии магистрали не происходит никаких изменений.

  1. Правила арбитража

    1. Ф о р м и р о в а н и е мастером сигнала AR и про­пускание соединителем сегментов с и гна л a AR

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

Мастер должен генерировать управляющий сигнал AR только при условии, что установлены в'«1» как бит CSR#0<01 >■ (раз-; решение), так и бит CSR = 0<02> (работа) (см. табл. ХПЬ). ;

Правила, регулирующие процесс формирования сигнала AR,; следующие. <

  1. Мастер должен поддерживать сигнал AR = 0, пока он не по-< желает получить владение магистралью своего сегмента.

  2. Мастер, который не подчиняется протоколу гарантированного, доступа, должен быть в состоянии выставить сигнал AR в любое ■ время.

  3. Мастер, который подчиняется протоколу гарантированного- доступа, должен быть способен выставлять сигнал AR(u), только1, когда сигнал А1 = 0. *

  4. Мастер, который подчиняется протоколу приоритетного до-; ступа, должен быть способен выставлять сигнал AR(u), только ес­ли его уровень арбитража выше, чем уровень мастера, действую­щего на магистрали.

  5. Если мастер, который выставил сигнал AR(u), более не же- лает запрашивать циклы арбитража, он должен выдать сигнал і AR(d).

  6. Активный или зарезервированный соединитель сегментов дол­жен пропускать сигнал AR от дальней к ближней стороне, чтобы г дать возможность действующему мастеру обнаруживать запросы ■ других мастеров на использование сегментов, занятых текущей опе- рацией (см, п. 10.7.6).

Подготовленному мастеру следует прекратить сигнал AR=1 при получении сигнала AG(d), если он не должен принимать участие в очередном цикле арбитража.

  1. У с т а н о в к а и снятие сигнала AI схемой УТА мени, равного задержке в логике арбитража (см. приложение А), после как обнаружения сигнала AG (и).

  1. Мастер не должен изменять содержимое своего регистра, уров­ня арбитража (см. п. 8.11) во время цикла арбитража, в котором он принимает участие, пока не будет завершен данный цикл и по­лучен сигнал GK(u).

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

  3. Каждый мастер, участвующий в цикле арбитража, должен непрерывно сравнивать сигнал, получаемый им по каждой из ли­ний AL, с ісоотіветіствующиїм значением, которое он генерирует для данной линии. Если для какой-то отдельной линии получаемый сигнал AL<j> находится в состоянии логической 1, а сигнал, ге­нерируемой для этой линии, в состоянии логического 0, тогда мас­тер должен выставить сигналы AL<i—l>=AL<i—2> = = = AL<0>=0 в пределах промежутка времени, равного за­

держке в логике арбитража.

  1. После того, как управляющий сигнал AG=1 поддерживался в течение времени, большего минимального времени арбитража (см. приложение А) для данного сегмента, мастер, чей уровень арбит­ража совпадает с уровнем арбитража, установившимся на линиях AL, должен стать следующим мастером, которому будет предостав­лено владение магистралью (подготовленным мастером).

г Мастер может изменять состояние сигналов, которые он выстав­ляет на линии AL, при включении питания, а также в течение вре­мени от сигнала GK(u) до сигнала AG (и).

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

6.3.5. У с т а н о в к а и снятие сигнала GK мастером

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

Когда подготовленный мастер получает сигнал AG(d), преж­де чем использовать магистраль, он подтверждает, что возьмет на себя владение магистралью, выдачей сигнала «подтверждение раз­решения», GK(u). Если этот ответ не будет получен в пределах ин­тервала времени, установленного схемой УТА (см, п. 7.1.2), будет инициирован новый цикл арбитража, если еще остались какие-либо активные запросы. Циклы арбитража запрещенны до тех пор, пока действующий мастер не сформирует сигнал GK(d).

і Управляющий сигнал GK должен генерироваться мастером, как указано ниже:

1. Подготовленный мастер, которому предстоит принять владе- . ние магистралью, в ответ на сигнал AG(d) должен выдать сигнал ЮК(и) в пределах времени ответных действий слуги при адресации ! (см. приложение А) до генерации любых других сигналов в сег- менте.

; 2. После подачи сигнала GK(u) подготовленный мастер должен

встать действующим мастером.

t 3. Действующий мастер должен формировать сигнал GK(d) і прежде, чем освобождать магистраль, или по получении интегри­рованного сигнала RB=1 сигнала ВН = 0.

Для действующего мастера допускается вслед за сигналом ®K(d) вновь выдавать сигнал. GK(u) при условии, что в течение того периода, когда сигнал GK = 0, мастер 'продолжал поддержи-, вать сигнал AS = 1. Если мастер формирует сигнал AS(d), когда GK=0, он должен принять участие в цикле арбитража и выиграть его прежде, чем будет вновь использовать магистраль.

6.4. Арбитраж системного уровня

Процедура арбитража в локальном сегменте проста. Каждому мастеру в сегменте присваивается отличный от других, обычно на локальном уровне, уровень арбитража, и арбитраж происходит так, как описано выше.

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

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

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

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

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

В разд. 10 подробно описывается, как СС участвует в арбитра­же за владение сегментом своей дальней-стороны.

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

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