Рис. 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!)
УТА
М
5В
О
45
Данные, задаваемые на линии AL мастером А
оооооо
010101
010000
оооооо
оооооо
001111
Направление сигнала і АБип
Мастеря (100000) ' Мастере (D01111J
Данные, задаваемые на линии AL мастером fl
2В
ЗВ
1R
астер А устанавливает внутренне «это мой».* Мастер В устанавливает внутренне «это мой».
Рис. 19. Арбитраж для двух мастеров при наихудших задержках
Спустя время, равное задержке в магистрали, код уровня арбитража мастера В достигает конца магистрали, на котором расположен мастер А и где приоритетная логика разрешает установку мастером А линии AL<04> в состояние логической 1. Мастер А в это время не может оказать влияние на любые другие линии AL, поэтому код 011111b распространяется обратно к противоположному концу магистрали. Здесь мастер В обнаруживает, что его собственное значение и состояние на магистрали для линии AL<04> различаются, следовательно оно прекращает выставлять сигналы на линии от АЬ<03>до AL<00> включ, и более не рассматривает себя в качестве выбранного мастера.
. Код 010000b затем распространяется обратно к концу магистрали, на котором расположен мастер А и где приоритетная логика теперь разрешает ему выставить все разряды своего уровня арбитража на линии AL, а также, обнаружив соответствие между внутренним и внешним значениями уровня арбитража, начинает рассматривать себя в качестве выигравшего мастера. Уровень арбит-
м
Е н т
С .Д
Данные задаваемые на линиях AL мастером К ’ О1ОООО
МастерА ■ оооооо оююо тми
(010101) ~
УТА
УВ
ЗВ
25
1В
Время В задержка*
магистрали
Направление сигнала AG.lu)
юоооо і к остался, от К
diohi oioioi
5В
ОН111
010011
010100
оюоои
ОМОН
оюооо
0Ш0
ОЮМ
ОНИ
oom!
Мастер х (100000) мастерВ (ООІН1)
Мастерс (D1OD11)
В0МН OODDOO 000000 000000 000000
Данные, задаваемые на линии AL мастером А
Надписи аналогичны рис. 19. является промежуточным между уровнями мастеров А и В. Небольшие квадратики на диаграмме показывают, что в данном месте и в данное время в состоянии магистрали не происходит никаких изменений.
Правила арбитража
Ф о р м и р о в а н и е мастером сигнала AR и пропускание соединителем сегментов с и гна л a AR
Сигнал «запрос на арбитраж» (AR) используется мастером для выставления требования на владение магистралью своего сегмента или, через соединитель сегментов, другого сегмента. Второе применение этой линии позволяет действующему мастеру обнаружить присутствие других мастеров, которые в настоящий момент заблокированы текущей операцией.
Мастер должен генерировать управляющий сигнал AR только при условии, что установлены в'«1» как бит CSR#0<01 >■ (раз-; решение), так и бит CSR = 0<02> (работа) (см. табл. ХПЬ). ;
Правила, регулирующие процесс формирования сигнала AR,; следующие. <
Мастер должен поддерживать сигнал AR = 0, пока он не по-< желает получить владение магистралью своего сегмента.
Мастер, который не подчиняется протоколу гарантированного, доступа, должен быть в состоянии выставить сигнал AR в любое ■ время.
Мастер, который подчиняется протоколу гарантированного- доступа, должен быть способен выставлять сигнал AR(u), только1, когда сигнал А1 = 0. *
Мастер, который подчиняется протоколу приоритетного до-; ступа, должен быть способен выставлять сигнал AR(u), только если его уровень арбитража выше, чем уровень мастера, действующего на магистрали.
Если мастер, который выставил сигнал AR(u), более не же- лает запрашивать циклы арбитража, он должен выдать сигнал і AR(d).
Активный или зарезервированный соединитель сегментов должен пропускать сигнал AR от дальней к ближней стороне, чтобы г дать возможность действующему мастеру обнаруживать запросы ■ других мастеров на использование сегментов, занятых текущей опе- рацией (см, п. 10.7.6).
Подготовленному мастеру следует прекратить сигнал AR=1 при получении сигнала AG(d), если он не должен принимать участие в очередном цикле арбитража.
У с т а н о в к а и снятие сигнала AI схемой УТА мени, равного задержке в логике арбитража (см. приложение А), после как обнаружения сигнала AG (и).
Мастер не должен изменять содержимое своего регистра, уровня арбитража (см. п. 8.11) во время цикла арбитража, в котором он принимает участие, пока не будет завершен данный цикл и получен сигнал GK(u).
Мастер, не принимающий участие в цикле арбитража, должен убрать любые сигналы, которые он выставляет на линии AL, в пределах промежутка времени, равного задержке в логике арбитража, после обнаружения сигнала AG (и).
Каждый мастер, участвующий в цикле арбитража, должен непрерывно сравнивать сигнал, получаемый им по каждой из линий AL, с ісоотіветіствующиїм значением, которое он генерирует для данной линии. Если для какой-то отдельной линии получаемый сигнал AL<j> находится в состоянии логической 1, а сигнал, генерируемой для этой линии, в состоянии логического 0, тогда мастер должен выставить сигналы AL<i—l>=AL<i—2> = = = AL<0>=0 в пределах промежутка времени, равного за
держке в логике арбитража.
После того, как управляющий сигнал 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 подробно описывается, как СС участвует в арбитраже за владение сегментом своей дальней-стороны.
Оптимальные уровни арбитража мастеров и СС зависят от конкретной системы. Приоритеты соблюдаются только во время проведения арбитража. Если никакие из мастеров не следует протоколу гарантированного доступа, для мастеров с низким приоритетом существует вероятность, что их запросы на владение магистралью останутся не обслуженными в течение очень длительных периодов времени. В таких системах вероятность возникновения этой ситуации может быть уменьшена путем присвоения высоких приоритетов редко возникающим запросам и низких приоритетов — часто возникающим запросам.
Протокол гарантированного доступа устраняет возможность исключения или значительной задержки реакции на запросы от мастеров с низким приоритетом за счет некоторой задержки реакции на запросы с высоким приоритетом. Если это оказывается неприемлемым, те мастера, которые должны получать быстрый доступ к магистрали, могут, вдобавок к тому, что им присваивается высокий уровень приоритета, игнорировать состояние линии АІ, когда они выставляют запросы. Такие мастера могут в любой момент времени добавлять запросы к очереди необслуженных запросов без необходимости ожидать, пока не кончится очередь. Поскольку запросы в такой очереди обслуживаются в порядке приоритетов, на запросы на владение магистралью от мастеров с высоким приоритетом, игнорирующих сигнал АІ, может быть дан быстрый ответ.