IBM370
.pdfДостоверность маски программы и признака результата (PM). Если бит 22 равен едини-
це, то это означает правильность содержимого маски программы и признака результата в ста-
ром PSW прерывания от схем контроля.
Достоверность адреса команды в PSW (IA). Если бит 23 равен единице, то это означает правильность адреса команды в старом PSW прерываний от схем контроля.
Достоверность адреса ячейки памяти с ошибкой (FA). Если бит 24 равен единице, то это означает, что во время прерывания от схем контроля был записан правильный адрес ячейки памяти с ошибкой. Наличие и возможности указания адреса ошибочного места в памяти зави-
сят от модели. Если ошибки в памяти не зафиксированы, т.е. биты 16–18 в коде прерывания от схем контроля равны нулю, то значение адреса ячейки памяти с ошибкой не имеет смысла,
даже если имеется указание о его достоверности.
Достоверность регионального кода (RC). Если бит 25 равен единице, то это означает, что во время прерывания от схем контроля был записан правильный региональный код. Наличие регионального кода зависит от модели.
Достоверность регистров с плавающей точкой (FP). Если бит 27 равен единице, то это означает, что содержимое области сохранения регистров с плавающей точкой отражает пра-
вильное состояние этих регистров в точке прерывания. Если средство обработки чисел с пла-
вающей точкой отсутствует, то этот бит устанавливается равным нулю.
Достоверность общих регистров (GR). Если бит 28 равен единице, то это означает, что содержимое области сохранения общих регистров отражает правильное состояние этих реги-
стров в точке прерывания.
Достоверность управляющих регистров (CR). Если бит 29 равен единице, то это означа-
ет, что содержимое области сохранения управляющих регистров отражает правильное состоя-
ние этих регистров в точке прерывания.
Достоверность расширенной регистрации (LG). Если бит 30 равен единице, то это озна-
чает. что информация, полученная при расширенной регистрации, записана в память правиль-
но.
Логическая достоверность памяти (ST). Если бит 31 равен единице, то это означает, что ячейки памяти, которые подвергаются изменениям в процессе обработки команд, содержат правильную информацию по отношению к точке прерывания, т.е. все операции записи в па-
мять, имевшие место до точки прерывания, завершены, а все операции записи после точки прерывания, если они имели место, подавлены. Если операция записи в память, имевшая ме-
сто до точки прерывания, подавлена по причине недопустимого кода контролируемого блока
CBC, то бит логической достоверности памяти тем не менее может быть установлен равным единице при условии, что недопустимый CBC сохранен как неправильный.
Достоверность таймера CPU (CT). Если бит 46 равен единице, то это означает, что тай-
мер CPU не находится в состоянии ошибки и что содержимое области сохранения таймера
CPU (ячейка 216) отражает его правильное состояние во время прерывания.
321
Достоверность компаратора (CC). Если бит 47 равен единице, то это означает, что ком-
паратор не находится в состоянии ошибки и что содержимое области сохранения компаратора
(ячейка 224) отражает его правильное состояние во время прерывания.
Замечания по программированию
Для того чтобы определить степень нарушения, вызванного сбоем, необходимо использо-
вать наряду с битами указания подклассов нарушения и битами указания момента прерывания также и биты достоверности. Чтобы имело место указание об отсутствии какого-либо наруше-
ния в системе, необходимо выполнение одного из следующих условий:
1.Все биты подклассов нарушения (0, 1, 3, 4, 5) равны нулю.
2.Из всех битов подклассов нарушения только бита нарушения при обработке команды ра-
вен единице; бит возврата равен 1, а бит задержки равен нулю.
Кроме того, необходимо, чтобы были равны единице 4 бита достоверности PSW, 3 бита до-
стоверности регистров, 2 бита достоверности средств отсчета времени и 1 бит логической до-
стоверности памяти. Если машина не оборудована средствами вычислений с плавающей точ-
кой, бит достоверности регистров с плавающей точкой будет иметь нулевое значение.
Длина информации расширенной регистрации при аппаратном контроле
Биты 48–63 в коде прерывания от схем контроля содержат 16-разрядный двоичный код,
указывающий длину в байтах информации, записанной в память при последней расширенной регистрации. Эта информация записывается в область расширенной регистрации, начиная с ячейки, адрес которой задан в управляющем регистре 15.
Если расширенная регистрация не происходила, это поле устанавливается равным нулю.
Замечания по программированию
Если асинхронная расширенная регистрация разрешена (разряд 8 управляющего регистра
14 равен единице), то она может произойти несколько раз. Длина, запоминаемая в коде преры-
вания от схем контроля машины, не обязательно соответствует регистрации с максимальной длиной информации.
12.7. Управляющие регистры машинного контроля
Управляющий регистр 14
+-------------
¦CSI¦ ¦RDEWAF¦ ¦SLL¦ ¦MMMMLL¦
+ |
------------- |
|
|
0 |
3 |
4 |
9 |
CS – стоп при сбое
SL – маска синхронной расширенной регистрации при аппаратном контроле
IL – управление расширенной регистрацией при операциях ввода-вывода
RM – маска сообщения о восстановлении
322
DM – маска сообщения об ухудшении характеристик
EM – маска сообщения о внешнем нарушении
WM – маска предупреждения
AL – управление асинхронной расширенной регистрацией при аппаратном контроле
FL – управление асинхронной фиксированной регистрацией
Управляющий регистр 14 (таблица 12.3) содержит биты масок, которые указывают, могут ли определенные условия вызывать прерывания от схем контроля, а также биты управления, ко-
торые задают режимы выполнения регистрации при аппаратном контроле. За исключением би-
та 0, предусмотренного во всех моделях, каждый бит используется только в том случае, если соответствующая функция предусмотрена в данной установке.
Таблица 12.3
Значение битов регистра аппаратного контроля
Обо |
Название |
Номер бита в |
Состояние бита после |
значе- |
|
управляющем ре- |
начального программно- |
ние |
|
гистре 14 |
го сброса |
|
|
|
|
CS |
Стоп при сбое |
0 |
1 |
SL |
Маска синхронной расши- |
1 |
1 |
|
ренной регистрации при аппа- |
|
|
|
ратном контроле |
|
|
IL |
Управление расширенной |
2 |
0 |
|
регистрацией при операциях |
|
|
|
ввода-вывода |
|
|
RM |
Маска сообщения о вос- |
4 |
0 |
|
становлении |
|
|
DM |
Маска сообщения об ухуд- |
5 |
0 |
|
шении характеристик |
|
|
EM |
Маска сообщения о внеш- |
6 |
1 |
|
нем нарушении |
|
|
WM |
Маска предупреждения |
7 |
0 |
AL |
Управление асинхронной |
8 |
0 |
|
расширенной регистрацией |
|
|
|
при аппаратном контроле |
|
|
FL |
Управление |
9 |
0 |
|
|
|
|
323
Управление состоянием “стоп при сбое”
Бит управления состоянием “стоп при сбое” (CS), т.е. бит 0 управляющего регистра 14,
определяет действия системы в том случае, когда неотложное условие прерывания от схем контроля возникает в одной из следующих ситуаций:
1. Процессор замаскирован для прерываний от схем контроля, т.е. бит 13 в PSW равен ну-
лю.
2. Второе неотложное условие прерывания возникает в процессе записи в память кода пре-
рывания и старого PSW или же в процессе выборки нового PSW во время прерывания от схем контроля.
Если бит “стоп при сбое” равен единице и имеет место любая из перечисленных ситуаций,
машина переходит в состояние “стоп при сбое”. Если же этот бит равен нулю, то в зависимости от типа ошибки и от модели машина может или пытаться продолжить работу, или перейти в состояние “стоп при сбое”. В исходном состоянии этот бит устанавливается в единицу. Это зна-
чение подразумевается и в том случае, когда в управляющем регистре 14 возникает наруше-
ние.
Управление регистрацией при аппаратном контроле
Управление синхронной расширенной регистрацией при аппаратном контроле (SL). Бит 1
управляющего регистра 14 определяет действия при регистрации во время прерывания от схем контроля. Если он равен единице, содержимое области расширенной регистрации при аппаратном контроле может быть изменено во время прерывания. Если же он равен нулю, то возможность изменения в указанной области определяется битом управления асинхронной расширенной регистрацией при аппаратном контроле (бит 8 управляющего регистра 14). Бит 1
управляющего регистра 14 в исходном состоянии устанавливается равным единице.
Управление расширенной регистрацией. вызванной вводом-выводом (IL). Если бит 2
управляющего регистра 14 равен единице, то это означает, что во время прерывания ввода-
вывода в качестве составной его части разрешается регистрация состояния канала в области расширенной регистрации ввода-вывода. Если бит 2 равен нулю, то расширенная регистрация ввода-вывода не производится. В исходном состоянии этот бит устанавливается в нуль.
Управление асинхронной расширенной регистрацией при аппаратном контроле (AL). Бит
8 управляющего регистра 14 вместе с битом 13 PSW определяет возможность асинхронного изменения содержимого области расширенной регистрации при аппаратном контроле. Когда эти биты одновременно равны единице, машина может изменить содержимое области расши-
ренной регистрации в любое время. Бит 8 в исходном состоянии устанавливается равным ну-
лю.
Управление асинхронной фиксированной регистрацией (FL). Если бит 9 управляющего ре-
гистра 14 равен единице, это означает, что изменение содержимого области фиксированной регистрации разрешается в любое время. Если этот бит равен нулю, то изменения в область
324
фиксированной регистрации могут быть внесены только во время прерывания от схем контроля или прерывания ввода-вывода. В исходном состоянии этот бит устанавливается равным нулю.
Замечания по программированию
Для получения при аппаратной регистрации максимальной информации оба бита управле-
ния синхронной и асинхронной расширенной регистрацией при аппаратном контроле необхо-
димо установить равными единице. Для предотвращения каких-либо изменений в области расширенной регистрации оба эти бита должны быть установлены равными нулю. Если асин-
хронная расширенная регистрация разрешена, то использование области расширенной реги-
страции может привести к непредсказуемым результатам.
Если бит управления асинхронной фиксированной регистрацией равен единице, то исполь-
зование в программе области фиксированной регистрации должно быть ограничено выборкой данных из этой области. Операции записи в память или канальные программы, передающие информацию в область фиксированной регистрации, могут вызвать сигнал от схем контроля или породить ошибки, не поддающиеся обнаружению, если запись в память происходит во время повторения операции в процессоре. Нужно отметить, что это является исключением из правила, гласящего, что ошибки программирования не могут служить причиной сраба-
тывания схем машинного контроля.
Таблица 12.4
Управление регистрацией при аппаратном контроле
Би |
Бит 1 управле- |
Бит 8 управле- |
Выполнение расширенной ре- |
т 13 |
ния синхронной |
ния асинхронной |
гистрации при аппаратном кон- |
PSW |
расширенной реги- |
расширенной реги- |
троле |
|
страцией управля- |
страцией управля- |
|
|
ющего регистра 14 |
ющего регистра 14 |
|
|
|
|
|
0 |
X |
X |
Не производится |
1 |
0 |
0 |
Не производится |
1 |
1 |
0 |
Может производиться только во |
|
|
|
время прерывания от схем контроля |
|
|
|
1 |
1 |
0 |
1 |
Может производиться в любое |
|
|
|
время 2 |
1 |
1 |
1 |
Может производиться в любое |
|
|
|
время |
|
|
|
|
325
Бит 9 управления |
Выполнение фиксированной регистрации |
асинхронной фиксиро- |
|
ванной регистрацией |
|
управляющего регистра |
|
14 |
|
|
|
0 |
Содержимое относящейся к процессору части области |
|
фиксированной регистрации может быть изменено только |
|
во время прерывания от схем контроля 1 |
1 |
Содержимое относящейся к процессору части области |
|
фиксированной регистрации может быть изменено в любое |
|
время |
|
|
1В этом состоянии регистрация при аппаратном контроле до повторения команды не разрешается, даже если сообщения о восстановлении разрешены.
2В этом состоянии в некоторых моделях значение бита асинхронной расширенной регистрации (AL) не принимается во внимание и регистрация не производится.
Примечание.
X – действие не зависит от значения бита.
Маски подклассов сигналов машинного контроля
Биты 4–7 управляющего регистра 14 вместе с битом 13 PSW определяют действия, произ-
водимые при возникновении условий прерывания от схем контроля. Эти условия могут отно-
ситься к различным подклассам. Если бит 13 PSW равен единице и маска подкласса равна единице, то при возникновении соответствующего условия происходит прерывание от схем контроля. Если же маска подкласса равна нулю, то соответствующее условие не вызывает прерывания, однако может быть зафиксировано вместе с другим условием, послужившим при-
чиной прерывания. Все зафиксированные условия затем сбрасываются.
Маска сообщения о восстановлении (RM). Бит 4 управляющего регистра 14 управляет условиями прерывания при восстановлении. Этот бит в исходном состоянии устанавливается равным нулю.
Маска сообщений об ухудшении характеристик (DM). Бит 5 управляющего регистра 14
определяет действия при возникновении условий прерывания в результате ухудшения харак-
теристик. Этот бит в исходном состоянии устанавливается равным нулю.
Маска сообщений о внешнем нарушении (EM). Бит 6 управляющего регистра 14 определяет действия при возникновении следующий условий прерывания от схем контроля: при нарушении в таймере, нарушении в средствах отсчета времени и внешнем нарушении. Этот бит в исход-
ном состоянии устанавливается равным единице.
326
Маска предупреждения (WM). Бит 7 управляющего регистра 14 определяет действия при возникновении всех условий, предупреждающих о возможности нарушения. Этот бит в исход-
ном состоянии устанавливается равным нулю.
Таблица 12.5
Маскирование условий прерывания от схем контроля
Мнемони- |
Подклассы условий преры- |
Мас- |
Действия при замас- |
|
ческое обо- |
вания |
ка под- |
кированном условии |
|
значение |
|
класса |
прерывания |
|
|
|
|
|
|
|
|
|
Бит |
Бит |
|
|
|
“стоп при |
“стоп при |
|
|
|
сбое” ра- |
сбое” ра- |
|
|
|
вен нулю |
вен едини- |
|
|
|
|
це |
|
|
|
|
|
SD |
Нарушение в системе |
- |
P1 |
Стоп при |
|
|
|
|
сбое |
PD |
Нарушение при обработке |
- |
P1 |
Стоп при |
|
команды |
|
|
сбое |
TD |
Нарушение в таймере |
EM |
P |
P |
CD |
Нарушение в средствах от- |
EM |
P |
P |
|
счета времени |
|
|
|
SR |
Восстановление в системе |
RM |
Y |
Y |
ED |
Внешнее нарушение |
EM |
P |
P |
DG |
Ухудшение характеристик |
DM |
P |
P |
W |
Предупреждение |
WM |
P |
P |
|
|
|
|
|
1 Целостность системы может быть нарушена, и систему нельзя считать надеж-
ной.
Обозначения:
P – условие прерывания может быть сохранено в ожидании обработки или сбро-
шено;
Y – условие прерывания сохраняется в ожидании обработки.
327
|
Управляющий регистр 15 |
|
|
|
|
+ |
---------------------------------------- |
|
|
|
+ |
¦ |
¦????? ??????? |
???????????¦ |
|
¦ |
|
¦ |
¦??????????? ??? ??????????¦ |
|
¦ |
||
¦ |
¦ |
???????? |
¦ |
|
¦ |
+---------------------------------------- |
|
|
|
|
+ |
0 |
7 |
8 |
28 |
29 |
31 |
Разряды 8–28 управляющего регистра 15 вместе с присоединенными тремя младшими ну-
лями указывают начальный адрес области расширенной регистрации при аппаратном контро-
ле. В исходном состоянии разряд 22 установлен в единицу, а остальные разряды сброшены в нуль, задавая таким образом начальный адрес области, равный 512. Адрес области расширен-
ной регистрации является реальным адресом.
Управляющий регистр 15 реализован в тех моделях, в которых предусмотрена расширен-
ная регистрация при аппаратном контроле.
Замечания по программированию
Наличие и размер области расширенной регистрации при аппаратном контроле зависят от модели; для конкретной модели размер может также зависеть от имеющихся дополнительных средств и используемых инженерных модификаций. Для того чтобы предусмотреть такие раз-
личия, программа должна определять размер информации, запоминаемой при регистрации, с
помощью команды ЗАПИСЬ В ПАМЯТЬ ИДЕНТИФИКАТОРА CPU всякий раз, когда необходимо назначить область памяти для расширенной регистрации. Если в результате выполнения этой команды в поле максимальной длины MCEL окажется значение, равное нулю, то это означает,
что расширенная регистрация при аппаратном контроле не предусмотрена.
328
_лава 13. Операции ввода-вывода
Операцией ввода-вывода называется передача информации в основную память или из нее,
которая отличается от передач, связанных с обменом между памятью и процессором, или пе-
редач через средства прямого управления. Операция ввода-вывода предполагает использова-
ние внешнего устройства (ВУ). Внешние устройства выполняют операции ввода-вывода под управлением своих контроллеров, которые связаны с процессором через каналы.
Эта глава описывает организацию управления внешними устройствами с помощью канала и процессора с точки зрения программиста. В ней приводятся форматы различных типов управ-
ляющей информации ввода-вывода. Эти форматы применимы ко всем операциям ввода-
вывода и не зависят от типа внешнего устройства, его скорости и режима работы.
Описанные форматы управляющей информации обеспечивают реализацию операций, спе-
цифичных для некоторых типов внешних устройств, например, формирование межзонного промежутка на магнитной ленте. Способ использования устройством того или иного формата описан в публикациях SL или SRL.
13.1. Подключение внешних устройств
Внешние устройства
Внешние устройства обеспечивают внешнюю память и средства связи между системами обработки данных или между отдельной системой и ее окружением. К внешним устройствам относятся такие устройства, как перфокарточные устройства ввода-вывода, накопители на маг-
нитных лентах, внешние запоминающие устройства прямого доступа (накопители на магнитных дисках и магнитных барабанах), пишущие машинки с клавиатурой, печатающие устройства,
устройства телеобработки4, устройства для управления внешними объектами.
Многие внешние устройства, например, печатающие устройства, перфокарточные устрой-
ства и накопители на магнитных лентах, работают непосредственно с внешним носителем. Эти устройства физически отличны друг от друга, и каждое из них может быть соответствующим образом идентифицировано. Устройства другого типа состоят только из электронного оборудо-
вания и не работают непосредственно с физическим носителем информации. Так, например,
адаптер “канал-канал” обеспечивает обмен информацией между двумя каналами и передава-
емые данные никогда не записываются на физический носитель информации вне основной па-
мяти. Аналогично мультиплексор передачи данных IBM 2702 обеспечивает обмен информаци-
ей между системой обработки данных и абонентским пунктом5; его входными и выходными данными являются сигналы, передаваемые по каналам связи. Кроме того, устройство 2702
может одновременно работать с несколькими абонентскими пунктами и рассматриваться как отдельное внешнее устройство только в период времени, связанный с обслуживанием отдель-
ного абонентского пункта.
4 Сейчас для обозначения этой категории обычно используют термин “телекоммуникационные устройства”, хотя он, строго говоря, более узок.
5 Абонентский пункт – это, как правило, удаленный терминал (дисплей или пишущая машинка), обычно подключаемый к мультиплексору через модем.
329
Обычно внешнее устройство подключается к одному контроллеру (блоку управления) и до-
ступно через один канал. Имеется специальное переключающее оборудование, позволяющее обращаться к некоторым устройствам через два или более каналов, переключая устройства между контроллерами и контроллеры между каналами. Время, необходимое для переключе-
ния, входит во время выборки устройства и пренебрежимо мало по сравнению с временем вы-
полнения операции ввода-вывода.
Контроллеры
Контроллер6 обеспечивает логические возможности, необходимые для управления внеш-
ним устройством. Кроме того, он позволяет независимо от характеристик отдельного устрой-
ства стандартным образом организовать управление этим устройством со стороны канала.
В большинстве вычислительных установок связь между контроллером и каналом осуществ-
ляется через интерфейс ввода-вывода. Контроллер принимает управляющие сигналы из кана-
ла, синхронизирует передачу данных через интерфейс ввода-вывода и обеспечивает индика-
цию состояния устройства.
Внешнее устройство, подключаемое к контроллеру, может быть предназначено для выпол-
нения ограниченного числа операций либо может выполнять много разнообразных функций.
Типичной операцией является перемещение носителя информации и запись данных. Для вы-
полнения этих действий во внешнее устройство необходимо подать определенные последова-
тельности сигналов, специфичные для данного типа устройства. Контроллер расшифровывает команды, полученные от канала, интерпретирует их для данного типа устройства и обеспечи-
вает последовательность сигналов, необходимую для выполнения конкретной операции.
Контроллер может быть выполнен отдельно или составлять физически и логически единое целое с внешним устройством или процессором. Во многих электромеханических устройствах существует четкая граница между самим устройством и контроллером из-за различия в типе оборудования контроллера и внешнего устройства. Электромеханические устройства, как пра-
вило, таковы, что из группы устройств, подключенных к контроллеру, в любой момент может работать только одно устройство. К подобным устройствам относятся, например, накопители на магнитных лентах или магнитных дисках. Таким образом, контроллер обслуживает ряд внешних устройств, или, иными словами, разделяется между ними. С другой стороны, в элек-
тронных устройствах, таких, как адаптер “канал-канал”, контроллер вообще неотделим от устройства.
С точки зрения пользователя, большинство функций, выполняемых контроллером, может быть отождествлено с функциями, выполняемыми внешним устройством. По этой причине в данной книге обычно специально не упоминается о функции контроллера; выполнение опера-
ции ввода-вывода описывается, как если бы внешнее устройство непосредственно подключа-
лось к каналу. Ссылка на контроллер производится тогда, когда нужно особо подчеркнуть вы-
6 В документации по ЕС ЭВМ чаще используют термин “устройство управления” (аббревиатура УУ или
УВУ).
330
