1. CSR-регйстр 1

Назначение битов этого регистра определяется пользователем. В соединителях сегментов он используется для хранения уровня арбитража дальней стороны.

  1. CSR-регистр 2

Этот регистр управления и состояний не является обязатель­ным для устройств, за исключением тех, которые генерируют со­общения о прерываниях. Он используется для обеспечения более подробных сообщений об ошибках, а также для реализации функ­ций, которые являются менее общими, чем те, что обеспечиваются регистром CSR#0. Присвоение индивидуальных битов показано в табл. ХШа, а их определения приводится в табл. ХШЬ.

Если какие-нибудь из функций, определенных из CSR#2, реа­лизованы, они должны быть реализованы так, как показано в табл. ХШа.Таблица ХШа

Определение функций регистра CSR — 2

Бит

Назначение при чтении

Назначение при записи

S00

S01

S02

S03

S04

S05

S06

S07 08

09

10

11

12

13

14

15

С16

С17

С18

С19

С20

С21

С22

С23

24

25

Бит 0 режима пользователя Бит 1 режима пользователя Бит 2 режима пользователя Бит 3 режима пользователя Прерывания от источника А разрешены

Прерывания от источника В разрешены

Прерывания от источника С разрешены

Идет тестирование

Несуществующий адрес

Переполнение данных в уст­ройстве

Переполнение счетчика слов

Устройство заполнено

Устройство не пусто

Входные сигналы отсутству­ют

Зарезервирован

Зарезервирован

Определяется пользователем

Определяется пользователем Определяется пользователем Определяется пользователем Прерывание от источника А подготовлено

Прерывание от источника В подготовлено

Прерывание от источника С подготовлено

Результат тестирования

Статус пользователя 0

Статус пользователя 1

Устанавливает бит 0 режима пользователя

Устанавливает бит 1 режима пользователя

Устанавливает бит 2 режима пользователя

Устанавливает бит 3 режима пользователя

Разрешает прерывания от источника А

Разрешает прерывания от источника В

Разрешает прерывания от

источника С

Начинает тестирование

Устанавливает признак несу­ществующего адреса

Устанавливает признак пере­полнения данных в устройстве Устанавливает признак пере­полнения счетчика слов

Устанавливает признак «уст­ройство заполнено»

Устанавливает признак «уст­ройство не пусто»

Устанавливает признак

«входные сигналы отсутствуют» Зарезервирован Зарезервирован

Сбрасывает бит 0 режима пользователя

Сбрасывает бит 1 режима пользователя

Сбрасывает бит 2 режима пользователя

Сбрасывает бит 3 режима пользователя

Запрещает прерывание • от источника А

Запрещает прерывание от источника В

Запрещает прерывание от

источника С

Останавливает тестирование

Записывает статус пользова­теля 0

Записывает статус пользова­теля 1



Продолжение табл. ХШа

Бит

Назначение при чтении

Назначение при записи

26

Статус пользователя 2

Записывает статус пользова­теля 2

27

Статус пользователя 3

Записывает статус пользова­теля 3

28

Статус пользователя 4

Записывает статус пользова­теля 4

29

Статус пользователя 5

Записывает статус пользова­теля 5

30

Статус пользователя 6

Записывает статус пользова­теля 6

31

Статус пользователя 7

Записывает статус пользова­теля 7

Таблица ХШЬ




Определения функций битов регистра CSR-2

Бит

Тип

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

Функция

S00 по S03

R/W

Биты режи­ма пользовате­ля

Эти четыре бита предоставляются разработчику устройства для приме­нения, зависящего от конкретного устройства

С16 по С19

W



S04 по S06

R/W

Управление прерываниями

Управление тремя независимыми источниками прерываний ФАСТБАС

С20 по С22


и их статус

предусмотрено в регистре CSR#2

Эти источники могут быть разре­шены или запрещены наряду с тем, что они имеют возможность чтения статуса «разрёшено/запрещено» .и статуса «подготовлено». Адреса, по которым должны направляться сооб­щения о прерываниях, указываются в регистрах управления и состояний с CSR # А по CSR # F (см табл. X)

S07

R/W

Тестирова-

Установка этого бита в единицу

С23

W

ние

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

Продолжение табл. ХШЬ

Бит

Тип

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

Функция



-

ние» немедленно останавливает все тестирование, если это возможно. Если в устройстве имеется более чем один тест, который может быть выполнен, данное устройство должно содержать регистр тестов CSR#6 (см п. 8.6)

Каждый бит регистра управления и статуса CSR # 6 обусловливает от­дельный тест. Если более чем один бит установлен в состояние логиче­ской единицы, соответствующие тес­ты выполняются, если это возмож­но, одновременно или в порядке, при котором тест, обусловленный млад­шим битом, выполняется первым. Значение бита CSR#2<23> дает простой общий результат выполне­ния тестов — «успех/неудача». Бо­лее подробные результаты -выполне­ния тестов могут быть сообщены через биты CSR#6<31:16>

Биты, описанные ниже, могут быть прочитаны мастером, чтобы распознать смысл ненулевого ответа SS, полученного во время передачи данных

08

R/W

Несущест­вующий адрес

Предыдущая операция привела к тому, что внутренний адрес устрой­ства вышел за пределы допустимого диапазона. Если это произошло во время передачи блока данных, слуга выдает ответный код SS = 2. В противном случае выдается ответный код SS = 6. Этот и следующие ста­тусные биты могут быть установле­ны в состояние единицы при помо­щи операции записи для того, что­бы облегчить тестирование процедур восстановления ошибок

09

10

R/W

R/W

Переполнение данных в уст­ройстве

Переполне­ние счетчика слов

Вводимые данные переполнили максимальную емкость устройства

Была предпринята попытка либо прочитать больше слов, чем имелось в наличии, либо записать больше слов, чем данное ведомое устройство могло воспринять. В обоих случаях ответом устройства был код SS = 2



Продолжение табл. ХШЬ

Бит

Тип

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

Функция

И

R/W

Z

Устройство заполнено

Устройство либо заполнено до мак­симальной емкости, либо уже содер­жит все данные, которое оно пред­полагает принять. Например, все данные от какого-то события уже приняты и, если это соответствует типу данного устройства, уже обра­ботаны

12

R/W

Устройство не пусто

Слуга содержит данные и может еще их принимать (пока не будет установлен признак «устройство за­полнено»)

13

R/W

Входные сиг­налы отсутст­вуют

Ожидаемые сигналы с данными от пользовательских устройств, обслу­живаемых этим слугой, отсутствуют. Попытка прочитать или записать в регистры, связанные с этими сигна­лами, приводит в результате к от­ветному коду SS=6 во время пере­дачи данных

24 по 31

R/W ~

Состояние пользователя

Биты с 24 по 31 предназначены для индикации состояния или оши­бочной ситуации во внутренних средствах . устройства, выбранных по усмотрению разработчика. Данная ситуация может быть создана или может быть сформирован импульс с записью единицы в соответствующий статусный бит. Отметим, что эти биты не могут быть непосредственно сброшены при помощи регистра CSR # 2. Эти биты могут быть сбро­шены при помощи бита

CSR#0<16>, а также они могут быть сброшены при помощи внут­ренних средств, зависящих от кон­кретного устройства



  1. CSR-регистр 3

Регистр логического адреса (CSR^S) должен быть реализован во всех логически адресуемых устройствах как регистр, допускаю­щий чтение/запись. Регистр CSR#3 должен содержать поле адре­са устройства (ом. п. 4.1), используемое во время первичных адрес­ных циклов для выбора устройств. Прежде чем разрешить распо­знавание логического адреса (Т. е. прежде чем записать единицу в бит 01 регистра управления и статуса CSR#0), регистр CSR#3 должен 'быть загружен процессором-хозяином.Структура и присвоение логических адресов обслуживания в п. 4.1.

Если данное устройство является мастером, в котором не реа­лизована логическая адресация, запись единицы в бит CSR#0<01> просто разрешает данному мастеру выставлять запрос на владение магистралью. Если устройство является соеди­нителем сегментов, запись CSR#0<01> разрешает пропускание операций к порту дальней стороны соединителя сегментов.

  1. CSR-регистр 4

Регистр адреса пользователя CSR#4 содержит, адрес дейст­вующего мастера (если CSR#O<O3> = 1) или адрес самого по­следнего мастера (если CSR#0<03>=0), которые затребовали и получили исключительное право на управление устройством.

Предпочтительный путь для мастера получить исключительное право на использование целого устройства заключается в следую­щем: мастер пытается записать свой адрес в регистр CSR#4 уст­ройства. Если устройство доступно для прикрепления, операция записи проходит нормально, и в нем устанавливается бит CSR#O<O3> = 1 — «устройство прикреплено». Если данное уст­ройство недоступно, 'поскольку другой мастер владеет исключи­тельным правом на его исполнение, операция записи не выполняет­ся и возвращается код SS = 1 («занято»). Когда мастер более не нуждается в исключительном праве на использование, он записы­вает логическую единицу в бит CSR#0<19> — «открепить уст­ройство». Мастер может получить управление устройствами, в ко­торых не реализованы регистр управления и статуса CSR#4, пу­тем выполнения операции «чтение-модификация-запись» по отно­шению к регистру CSR = 0 для того, чтобы реализовать директиву «тестировать и установить».

Мастер может также получить исключительное право на исполь­зование устройства, не прерывая связку AS/AK, или при помощи поддержания сигнала GK=1 для того, чтобы запретить арбитраж. Этот способ обладает тем недостатком, что он запрещает все дру­гое использование сегментов, вовлеченных в операцию.

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

Этот механизм применим для устройства в целом. В случае при­ложения, которые требуют независимого распределения подразде­лов устройства, см. описание регистров CSR# 70—81.

  1. CSR-регистр 5

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

Прежде чем пересылать блок данных, в регистр счетчика слов CSR#5 может быть загружено максимальное количество передач, разрешенное для данного взаимодействия. Содержимое регистра уменьшается на единицу после каждой передачи. Внутренний ад­рес, используемый для следующей передачи, обычно содержится в регистре адреса следующей передали NTA (см. п. 4.4).

  1. CSR-регистр 6

Этот регистр с селективной установкой и сбросом использу­ется для выбора до 16 средств самотестирования, управление ко­торыми возложено на бит CSR4f=2<;07>. Биты CSR#6< 15:00> выбирают тесты с 15 по 0, а при чтении также показывают статус выбора. Биты CSR =Н= 6 <СЗ 1:16 доказывают статус тестов соответ­ственно с 15 по 0, индицируя при помощи бита, установленного в единицу, что был обнаружен сбой. Если обнаружены какие-либо сбои, бит CSR#2<23> также должен быть установлен в единицу.

  1. CSR-регистр 7

Этот регистр используется с целью задания классов для широ­ких операций (см. табл. III), на которые будет отвечать устройство. Биты с 31 по 16 зарезервированы и считываются как нули. Несмот­ря на то, что устройство может быть приписано к более чем одному классу широких операций, данная широкая операция может вы­бирать одновременно только один класс.