Перейти до вмісту

Отметим, что максимальная допустимая ширина поля адреса группы равна 24 разрядам (см. п. 4.1). Поскольку самым старшим разрядом этого регистра является разряд 31, его содержимое после ответа SS = 22 — конец блока), будет равно нулю.

Для удобства реализации CSR#40h может загружаться при каждом AS (и) содержимым текущего поля GP предварительно, перед достижением входа в маршрутную таблицу. Следовательно, проверку или модификацию содержимого маршрутной таблицы следует выполнять в течение той же самой операции с блокирован­ным адресом.

  1. CSR#41h— данные маршрутной таблицы

CSR4Mlh Должен быть реализован и его содержимое должно представлять собой содержимое того входа в маршрутную таблицу, чье местоположение в маршрутной таблице указывается регистром CSR#40h.

Маршрутная таблица должна иметь длину 2N слов, где N равно числу разрядов регистра CSR#40h, т. е. ширине поля адреса груп­пы, с которым способен оперировать данный СС.

Три младших разряда каждого входа їв маршрутную таблицу и, следовательно, регистра CSR4t=41h должны соответствовать ли­ниям AD<02:00>. Эти три разряда должны образовывать биты — признаки базового адреса (AD<02>), места назначения (AD<01>) й пропускания (AD<ZOO>) (см. п. 10.6.1).

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

CSR#41h должен быть доступен через операции либо произ­вольного доступа, либо блочных передач (см. п. 10.5.5).

  1. CSR#42h — географический адрес ближней стороны

CSR#42h должен быть реализован как регистр, допускающий только чтение и содержащий географический адрес ближней сто­роны СС. Формат этого адреса должен быть следующим: разряды с 8 по 31 содержат выровненный по левому разряду базовый адрес сегмента5 (см. п. 10.8), в котором все неиспользуемые разряды считываются в виде логических нулей; разряды с 5 по 7 всегда счи­тываются как логические нули; разряды с 0 по 4 в случае крейт- сегмента отображают логическое состояние штырьков географичес­кого адреса СС, а в случае кабель-сегмента они отображают логи­ческое состояние переключателей географического адреса СС.CSR#43h должен быть реализован как регистр, допускающий только чтение и содержащий географический адрес дальней сто­роны СС. Формат для этого адреса должен быть таким же, как и в случае регистра CSR#42h.

  1. Результаты различных действий над би­тами CSR-регистров в СС

Результат действия включения питания, принимаемого импуль­са RB, битов «сброс» (CSR4|:0<30>) и «сброс флага ошибки» (CSR#0<16>) по отношению к портам ближней и даль­ней сторон должен быть таким, как определено в табл. XVIII. Сигнал RB, установленный СС, не должен влиять на.устанавли­вающий СС.

  1. Маршрутные таблицы

  1. .6.1. И н ф о р м а ц и я о пропускании, месте наз­начения и базовом адресе

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

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

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

Бит места назначения должен информировать СС о том, что операция предназначена для сегмента дальней стороны.

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

Выходные биты высшего порядка в маршрутной таблице дол­жны ассоциироваться только с модификацией адреса группы для дальней стороны (см. п. 10.5.6)

.

Таблица XVIII

Влияние различных воздействий на биты в соединителях сегментов

Регистр

Бит

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

Значение, считываемое после указанного воздействия

Включение пи­тания

Ближняя сторона

Сигнал RB

Сброс

Сброс флага ошибки

Б* Д*

Б

д

Б

д

0

0

Флаг ошибки

0

0

—.

0

0

1

Разрешение пропускания опе­рации

0

0

0

0

0

.

0

4

Разрешение пропускания SR

0

0

0

6

Сигнал GK для дальней стороны

0

0

0

0

11—14

Различные ошибки

0

0

0

-

0

15

Прослеживание маршрута

0

0

■ 0

1

Все

. Уровень арби­тража дальней стороны

X

8

Все

Уровень арби­

тража ближней стороны

X

—-

—.

9

6—7

Таймеры

1

—•

1

40—43

X

X

X

X

X

X

X

Примечание. Знак «—» означает, что соответствующие биты не пЬд- вергаются воздействию, буква «X» означает, что результат воздействия предо­ставляется на выбор разработчику.

Б — ближняя сторона; Д — дальняя сторона.

  1. .6.2. Правила формирования

Когда осуществляется формирование маршрутных таблиц для всех СС в системе, должны соблюдаться следующие правила.

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

  2. Маршрутная таблица должна содержать только, одну за­пись, в которой бит базового адреса установлен в единицу.

  3. Маршрутная таблица должна быть такой, что, когда к сег­менту подключено два или более СС, только один из этих СС должен отвечать на данный адрес группы в этом сегменте, до тех пор пока в момент прихода сигнала AS (и) не выполняются сле­дующие условия: GP=0, MS = 1 и AD<O1> = 1 (см. п. 4.3).

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

  5. Маршрут, по которому операция проходит из сегмента I в сегмент J, должен совпадать с маршрутом из сегмента J в сег­мент I.

Правило 2 гарантирует, что устройства, расположенные в сег­менте дальней стороны, будут иметь неповторяющиеся географи­ческие адреса. Правила 3, 4 и 5 гарантируют наличие единственно­го маршрута для каждой операции. Эта единственность маршрута позволяет СС обнаруживать и устранять определенные разновид­ности тупиковых ситуаций.

  1. Действия соединителей сегментов

  1. Распознавание адреса

Если пропускание операции разрешено (CSR#0<01 > = 1), СС при одновременном получении сигнала RD=0 и EG=0 должен проверить код MS и поле адреса группы GP, чтобы определить, должна ли данная операция быть пропущена в сегмент дальней стороны.

Если MS 1=0, то условием для пропускания операции должна быть установленность бита пропускания в маршрутной таблице, связанного с данным значением поля адреса группы.

Если MS1 = 1 (широкая операция), то условия для пропуска­ния операции должны быть такими, какие указаны в табл. II.

Если линия EG = 1, операция не должна пропускаться.

Если операция не должна пропускаться, СС не должен пред­принимать никаких дальнейших действий, пока не поступит сле­дующий сигнал AS (и).

  1. Если данная операция должна быть пропущена, СС должен перейти в состояние «адрес распознан». Состояние «адрес распоз­нан» должно сбрасываться по сигналу AS(d).Участие соединителя сегментов в ар­битраже

При наличии сигнала AG(d) СС внутренне должен сохранять значение AL<05:00>. Этот сохраняемый поступающий уровень арбитража должен быть использован, как описано ниже, а также для разрешения конфликтов (п. 10.7.3).

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

Когда СС предпринимает попытку получить владение магист­ралью сегмента дальней стороны, он должен использовать:

1.. Уровень арбитража, указанный в регистре CSR#8 дальней стороны, если входящая операция имеет локальный уровень ар­битража, или

  1. Входящий уровень арбитража, если он является системным уровнем.

СС должен продолжать участвовать в арбитраже до тех пор, пока не получит владение магистралью, если не происходит сле­дующее:

  1. Действующий мастер останавливает текущую операцию вы­дачей GK(d), в то время, как AS = 1 и АК=0. (В этом случае СС в момент GK(d) должен действовать так, как будто он адресован к области CSR), или

  2. Действующий мастер выдает AB(d), или

  3. СС разрешает конфликтную Проблему путем экстренного прекращения операции.

По получении владения сегментом дальней стороны СС уста­навливает в этом сегменте GK=1 (см. п. 6.3.5). СС, поддержи­вающий в сегменте дальней стороны сигнал RB = 1, подает в сегмент дальней стороны также сигнал GK=1 (см. п. 5.4.1 и табл. ХПЬ).

  1. Разрешение конфликтов

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

Если оба уровня арбитража являются локальными (AL<05>=0), тогда:

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

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

соким уровнем арбитража для сегмента своей дальней стороны.

  1. Если в обеих операциях установлен бит назначения, должна быть продолжена операция в кабель-сепменте.

Если один или оба уровня арбитража являются системными (AL<O5> = 1), тогда:

  1. Если два уровня арбитража различаются ' между собой, должна быть продолжена операция с более высоким уровнем.

  2. Если оба эти уровня арбитража совпадают, СС должен вы­дать обоим операциям ответ .«сбой в сети» и установить бит «ошибка в присвоении вектора» (CSR#0<13>, см. п. 10.5.1) для обоих портов — ближней и дальней стороны.

При разрешении конфликта проигравшей операции должен быть дан ответ «сеть ликвидирована» (см. табл. VI и п. 10.7.4). Проигравший мастер не должен принимать участие в дальнейших циклах арбитража до тех пор, пока не будет проведен по край­ней мере один такой цикл или пока не истечет задержка повтор­ной попытки (см. приложение А).

  1. Отрицательные ответы

СС должен выдавать отрицательные ответы для циклов, кото­рые не являются широкими, путем подачи в свой сегмент ближней стороны сигнала WT=0 и выставления, как указано ниже, кода ' на линии «статус слуги» одновременно либо с сигналом DK(u), ’ либо с сигналом DK(t), в зависимости от ситуации. Для широких циклов СС должен сначала выставить код на линии «статўс слу- . ги», когда сигнал WT=0 присутствует в сегменте ближней сто­роны, и не должен формировать никакого подтверждающего пе­рехода (АК(и) илиОК(і)).

Побачили розбіжність з офіційним текстом?

Повідомити про неточність

Напишіть, що саме розходиться з офіційною публікацією. Код документа вкажіть у повідомленні — так ми швидше знайдемо потрібне місце.

Перейти до форми зворотного зв'язку

Дивіться також

Весь розділ →