Состояние 3 требуется для того, чтобы реализовать широкую адресацию (см. п. 4.3). Если это состояние встречается во время адресного цикла при MS1 = 1, то СС, прежде чем пропустить адрес, обнуляет старшие 24 разряда и устанавливает AD<OO> = 1. Нулевой адрес группы зарезервирован для прокладки маршрута при широкой операции и никогда не присваивается сегменту.
СС выставляет EG, если встретилось состояние 4, и все адресные разряды от AD<08> до поля адреса группы равны нулю, когда MS 1=0 при AS (и).
Содержимое маршрутной таблицы доступно для чтения мастером и, если позволяет данная реализация, может быть им изменено. Доступ к маршрутной таблице осуществляется через регистр адреса маршрутной таблицы CSR#40h, который может быть выбран вторичной адресацией. Когда установлена связь, в этот регистр заносятся данные для того, чтобы указать адрес записи в маршрутной таблице, к которой необходимо получить доступ. Формат данных совпадает с форматом поля адреса группы, т. е. самый старший разряд адреса маршрутной таблицы является самым старшим разрядом данных (AD <31 >).
Занесенные в регистр CSR#40h адреса записи в маршрутной таблице сопровождается циклами чтения данных или, если они реализованы, циклами записи данных в CSR#41h. Если используется режим блочной передачи данных, доступ осуществляется к последовательным записям в маршрутной таблице. Формат данных, относящихся к записям в маршрутной таблице, идентичен формату 150данных, относящихся к адресу записей, с добавлением в позициях младших трех разрядов информации о признаке базового адреса, признаке места назначения и о пропускании. Этот формат применяется независимо от типа СС.
Регистры управления и состояний в СС
Каждый порт СС содержит 8 CSR-регистров, которые используются для управления устройством. При распределении и использовании этих регистров соблюдаются общие правила, приведенные в разд. 8. Так нереализованные биты игнорируются во время записи и возвращаются как логические нули во время чтения. Эти регистры доступны через географическую адресацию, сопровождаемую вторичными адресными циклами. Только один регистр CSR#41h — регистр данных маршрутной таблицы может использовать преимущества механизма блочной передачи данных.
Каждый порт СС должен содержать географически адресуемые регистры управления и состояний, как определено в пп. 10.5.1— 10.5.8.
Дуплексный СС должен иметь идентичные регистры в каждом из двух своих портов.
Часть каждого порта СС, выполняющая функции слуги, должна отвечать на случаи 1 и 5 широких операций, как указано в табл. III, и не должна реагировать на адресные циклы, обращенные к области данных.
Общие правила, касающиеся использования CSR-регистра, определенного в разд. 8, должны применяться к CSR в СС. Все реализованные биты должны быть доступны для чтения.
Воздействие включения питания, сигналов «сброс магистрали», RB и «очистка» на CSR-регистры в СС определяется в п, 10.5.9. Спецификации, помещенные ниже, относятся к CSR-регистрам в порте ближней стороны.
Р е г и ст р CSR#0 — идентификатор, статус иуправление
Биты, реализованные в CSR^O, должны быть такими, как показано в табл. XVIIa, и должны функционировать, как описано в табл. XVIIb.
Таблица XVIIa
Назначение битов CSR й 0 в соединителе сегментов
Бит* |
Назначение при чтении |
Назначение при записи |
00 S01 |
Флаг ошибки Разрешено пропускание |
Разрешает пропускание one- |
02 03 S04 |
операции Разрешено пропускание SR |
рации Разрешает пропускание SR |
05 S06 |
SR выставлен на дальней стороне СС выставил GK на дальней |
Выставляет GK на дальней |
07 |
стороне Статус GK на дальней сто- |
стороне |
03 09 10 11 |
роне Статус ВН на дальней стороне Сбой в ответах СС |
|
12 13 14 15 16 |
Арбитраж проигран Ошибка в присвоении вектора Ошибка четности Тип устройства (младший |
Бит прослеживания маршрута в СС Сбрасывает флаг ошибки |
С17 |
разряд) Тип устройства |
Запрещает пропускание one- |
18 |
Тип устройства |
рации |
19 |
Тип устройства (старший |
|
20 |
разряд) Идентификатор изготовителя |
Запрещает пропускание SR |
21 |
(младший разряд) Идентификатор изготовителя |
на обслуживание |
С22 |
Идентификатор изготовителя |
Снимает GK на дальней сто- |
23 |
Идентификатор изготовителя |
Выставляет RB на дальней |
24 |
Идентификатор изготовителя |
стороне |
25 26 |
Идентификатор изготовителя Идентификатор изготовителя |
|
27 28 29 |
Идентификатор изготовителя Идентификатор изготовителя Идентификатор изготовителя |
|
30 |
Идентификатор изготовителя |
Сброс |
31 |
Идентификатор изготовителя (старший разряд) |
|
* См. примечание к табл. ХПа.
Таблица XVIIb
Функции битов регистра CSRttO
Бит |
Тип |
Наименование |
Функция |
00 |
R |
Флаг ошибки |
Бит 00 представляет собой логическое ИЛИ битов индикаторов ошибок CSR 0<14:11> в СС |
S01 |
R/W |
Разрешение |
Бит 01, когда установлен, разрешает работу схемы распознавания адреса в СС. Распознанные адреса, поступающие со стороны сегмента ближней стороны (т. е. сегмента, который имеет прямой доступ к регистру, содержащему этот бит), пропускаются, возможно в модифицированной форме, в сегмент дальней стороны |
С17,_ |
W |
Запрещение |
Запрещает работу схемы распознавания адреса в СС |
S04 |
R/W |
Разрешено пропускание SR запроса на обслуживание |
Когда бит 04 установлен, пропускание SR от сегмента дальней стороны в сегмент ближней стороны разрешено. Пропускание SR зависит только от состояния этого бита |
С20 |
W |
Запретить пропускание SR |
Этот ’ бит запрещает пропускание SR от сегмента дальней стороны в сегмент ближней стороны |
05 |
R |
Статус SR на дальней стороне |
Индицирует статус сигнала SR в сегменте дальней стороны |
S06 |
R/W |
Выставить GK |
Когда бит 06 установлен, SS после пропускания операции в сегмент дальней стороны будет удерживать за собой право на владение сегментом дальней стороны, продолжая выставлять сигнал GK=1 (подтверждение разрешения). Следовательно, протекающие далее операции, пропускаемые данным соединителем сегментов, не должны будут проводить арбитраж за право использования сегмента дальней стороны |
С22 |
W |
Снять GK |
Когда в позицию этого бита записывается логическая единица, СС не будет более выставлять сигнал GK=1 в сегменте дальней стороны |
07 |
R |
Статус GK на дальней стороне |
Индицирует состояние GK в сегменте дальней стороны |
23 |
W |
Выставить RB |
Когда в позицию этого бита записывается логическая единица, СС генерирует импульс RB в сегменте дальней стороны |
П
Бит 10 индицирует состояние сигнала ВН в сегменте дальней стороны
Бит 11 устанавливается, если адрес, пропущенный к дальней стороне, не был адресом устройства, имеющегося в сегменте дальней стороны, и истек лимит времени в таймере ответов СС при адресации. Вероятной причиной является ошибка в маршрутной таблице либо в СС, пропускающем операцию, либо в одном из других СС, подключенных к сегменту дальней стороны. Этот бит сбрасывается сигналом AS(d), а также битом CSR#0<16>
Бит 12 устанавливается, если СС принимает участие в арбитраже за использование - сегмента дальней стороны и проигрывает его. Он сбрасывается сигналом AS(d), а также битом CSR#0<16>
Бит 13 устанавливается, если идентичные вектора с системным уровнем арбитража соревнуются за использование СС. S1 выдает также ответный код SS = 2. Этот бит сбрасывается также сигналом AS(d) и битом CSR#0<16>
Бит 14, когда он установлен, указывает, что СС обнаружил ошибку четности во время цикла данных. Ошибочные данные и информация о четности пропускаются без изменения. Этот бит сбрасывается сигналом GK(d) и CSR #0<16>
Когда бит 15 устанавливается во время широкой операции с нулевым адресом группы, все СС, пропускающие широкую операцию, переводятся в режим прослеживания маршрута только на своей ближней стороне. Любой последующий сигнал AS(d), поступающий в порт ближней стороны СС, восстанавливает СС в режим нормального пропускания. В режиме прослеживания маршрута СС, который нормально пропустил бы данный адрес, не делает так, и вместо этого возвращает ответный код SS = 2
10 |
R |
Статус ВН на дальней стороне |
11 |
R |
Сбой в ответах СС |
12 |
R |
Арбитраж проигран |
13 |
R |
Ошибка в присвоении вектора |
14 |
R |
Ошибка четности |
15 |
W |
Бит прослеживания маршрута в СС |
Бит |
Тип |
Наименование |
Функция |
Продолжение табл. XV11b
Би» |
Тип |
Наименование • |
Функция |
16 |
W |
Сброс флагов |
— «сбой в сети» и выбирает для связи область адресов CSR своего слуги. Мастер может затем прочитать содержимое регистра CSR # 43 для того, чтобы получить адрес дальней стороны СС. Выдача сигнала AS(d) восстанавливает СС в режим нормального пропускания, так что повторная выдача такого же адреса дает в результате ответные действия от следующего СС — на данном маршруте. Таким образом, может быть определен фактический маршрут, по которому проходят для доступа к данному адресу (см. приложение J) Сигнал GK(d) восстанавливает все СС вдоль данного маршрута в режим нормального пропускания. Таким образом, нормальные операции могут быть возобновлены без завершения полного процесса прослеживания Если в позицию этого бита запи- |
30 |
W |
ошибки Сброс |
сывается логическая единица, то все флаги ошибок в позициях битов 0, 11, 12, 13 и 14 очищаются Результат действия бита «сброс» |
16 по 31 |
R |
Идентификатор |
определен в п. 10.5.9 16 — разрядный идентификатор |
|
|
устройства |
устройства описан в п. 8.3.1 |
. 10.5.2. CSR# 1 — уровень арбитража дальней стороны
CSR#1 должен содержать уровень арбитража дальней стороны и протокол арбитража для дальней стороны в формате, определенном для CSR#8 (см. п. 8.11).
Если в этот регистр осуществляется запись через один порт, в то время как через другой порт производится чтение этого же регистра, СС должен гарантировать, что операция записи не даст в результате ошибочные данные, которые будут считываться с противоположной стороны.
Содержимое этого регистра не должно подвергаться воздействию сигнала RB или бита «сброс».Ответим, что прежде чем порт дальней стороны СС сможет стать доступным через указанный СС, этот регистр должен быть инициализирован.
CSR#8— уровень арбитража ближней стороны
CSR#8 должен содержать уровень арбитража ближней стороны и протокол арбитража для ближней стороны в формате, определенном в п. 8.11.
Если в этот регистр осуществляется запись через один порт, в то время как через другой порт производится чтение этого же регистра, СС должен гарантировать, что операция записи не даст в результате ошибочные данные, которые будут считываться с противоположной стороны.
Содержимое этого регистра не должно подвергаться воздействию сигнала RB или бита «сброс».
CSR#9 — управление таймерами
В регистре CSR#9 должны быть реализованы биты 6, 7, 22 и 23, как определено в п. 8.12.
CSR#40h — адрес маршрутной таблицы
CSR#40h должен быть реализован и его (^одержимое должно использоваться в качестве указателя на вход в маршрутную таблицу. Он не должен модифицироваться при использовании режима произвольного доступа к данным в C.SR4l:41h, но его содержимое должно увеличиваться на единицу после каждого цикла данных в операциях блочной или принудительной передач, адресованных к CSR#41h. Регистр CSR4M0h должен иметь число разрядов, определяемое длиной маршрутной таблицы (см. п. 10.5.6). Самый старший разряд регистра CSR#40h должен соотноситься с линией AD<31>.