Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

IBM370

.pdf
Скачиваний:
36
Добавлен:
02.06.2015
Размер:
5.21 Mб
Скачать

Глава 8. Команды управления системой

В состав команд управления системой входят все привилегированные команды, описание которых имеется в этой книге, за исключением команд ввода-вывода, рассматриваемых в гл.

13.

Все команды управления системой, их мнемонические обозначения (мнемоника), форматы и коды операций в приведены в табл. 8.1. В ней отмечено, устанавливается ли признак резуль-

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

Примечание. Одновременно с подробным описанием каждой команды приводится мнемо-

нические и символические обозначения операндов, принятые в языке Ассемблера системы

IBM/370. Например, для команды ЗАГРУЗКА PSW мнемоника имеет вид LPSW, а D2(B2) явля-

ется обозначением операнда.

Таблица 8.1.

Команды управления системой

Название

Мнемониче-

Характеристики

 

Ма-

 

ское обозна-

 

 

 

 

 

шин-

 

чение

 

 

 

 

 

ный

 

 

 

 

 

 

 

код

 

 

 

 

 

 

 

 

ДИАГНОСТИКА

 

 

 

M D

 

 

83

 

 

 

 

M

 

 

 

ПРОЧИТАТЬ КЛЮЧ PSW

IPK

S

P

M

 

R

B20B

 

 

 

K

 

 

 

 

ПРОЧИТАТЬ КЛЮЧ ПАМЯТИ

ISK

R

 

M A1

S

R

09

 

 

R

 

 

P

 

 

ЗАГРУЗКА УПРАВЛЕНИЯ

LCTL

R

 

M A

S

 

B7

 

 

S

 

 

P

 

 

ЗАГРУЗКА PSW

LPSW

S

L

M A

S

 

82

 

 

 

 

 

P

 

 

 

 

 

 

 

 

 

 

ЗАГРУЗКА РЕАЛЬНОГО АДРЕСА

LRA

R

C T

M A2

 

R

B1

 

 

X

R

 

 

 

 

ОЧИСТКА TLB

PTLB

S

T

M

 

 

B20D

 

 

 

R

 

 

 

 

ПРЯМОЕ ЧТЕНИЕ

RDD

SI

D

M A

 

S

85

 

 

 

C

 

 

T

 

СБРОСИТЬ БИТ ОБРАЩЕНИЯ

RRB

S

C T

M A1

 

 

B213

 

 

 

R

 

 

 

 

ВЫСТАВИТЬ ЧАСЫ

SCK

S

C

M A

S

 

B204

 

 

 

 

 

 

 

 

171

Название

Мнемониче-

Характеристики

 

Ма-

 

ское обозна-

 

 

 

 

 

 

шин-

 

чение

 

 

 

 

 

 

ный

 

 

 

 

 

 

 

 

код

 

 

 

 

 

 

 

 

 

 

 

 

 

 

P

 

 

 

 

 

 

 

 

 

 

 

 

УСТАНОВИТЬ КОМПАРАТОР

SCKC

S

C

M A

S

 

 

B206

 

 

 

K

 

P

 

 

 

УСТАНОВИТЬ ТАЙМЕР CPU

SPT

S

C

M A

S

 

 

B208

 

 

 

K

 

P

 

 

 

УСТАНОВИТЬ ПРЕФИКС

SPX

S

M

M A

S

 

 

B210

 

 

 

P

 

P

 

 

 

УСТАНОВИТЬ КЛЮЧ PSW

SPKA

S

P

M

 

 

 

B20A

 

 

 

K

 

 

 

 

 

УСТАНОВИТЬ КЛЮЧ ПАМЯТИ

SSK

R

 

M A1

S

 

 

08

 

 

R

 

 

P

 

 

 

 

 

 

 

 

 

 

 

 

УСТАНОВИТЬ МАСКУ СИСТЕМЫ

SSM

S

 

M A

S

 

 

80

 

 

 

 

 

O

 

 

 

СИГНАЛ ПРОЦЕССОРУ

SIGP

R

C M

M

 

R

 

AE

 

 

S

P

 

 

 

 

 

ЗАПИСЬ В ПАМЯТЬ ЗНАЧЕНИЯ

STCKC

S

C

M A

S

 

S

B207

КОМПАРАТОРА

 

 

K

 

P

 

T

 

ЗАПИСЬ В ПАМЯТЬ УПРАВЛЕНИЯ

STCTL

R

 

M A

S

 

S

B6

 

 

S

 

 

P

 

T

 

ЗАПИСЬ В ПАМЯТЬ АДРЕСА CPU

STAP

S

M

M A

S

 

S

B212

 

 

 

P

 

P

 

T

 

 

 

 

 

 

 

 

 

 

ЗАПИСЬ В ПАМЯТЬ

STIDP

S

 

M A

S

 

S

B202

ИДЕНТИФИКАТОРА CPU

 

 

 

 

P

 

T

 

ЗАПИСЬ В ПАМЯТЬ ЗНАЧЕНИЯ

STPT

S

C

M A

S

 

S

B209

ТАЙМЕРА CPU

 

 

K

 

P

 

T

 

ЗАПИСЬ В ПАМЯТЬ ПРЕФИКСА

STPX

S

M

M A

S

 

S

B211

 

 

 

P

 

P

 

T

 

ЗАПИСЬ В ПАМЯТЬ И

STNSM

SI

T

M A

 

 

S

AC

МОДИФИКАЦИЯ МАСКИ СИСТЕМЫ

 

 

R

 

 

 

T

 

ЛОГИЧЕСКИМ УМНОЖЕНИЕМ

 

 

 

 

 

 

 

 

ЗАПИСЬ В ПАМЯТЬ И

STOSM

SI

T

M A

 

 

S

AD

МОДИФИКАЦИЯ МАСКИ СИСТЕМЫ

 

 

R

 

 

 

T

 

ЛОГИЧЕСКИМ СЛОЖЕНИЕМ

 

 

 

 

 

 

 

 

ПРЯМАЯ ЗАПИСЬ

WRD

SI

D

M A

 

 

 

84

 

 

 

 

 

 

 

 

 

172

Название

Мнемониче-

Характеристики

 

Ма-

 

ское обозна-

 

 

 

шин-

 

чение

 

 

 

ный

 

 

 

 

 

код

 

 

 

 

 

 

 

 

C

 

 

 

 

 

 

 

 

 

Обозначения:

A – особый случай доступа;

A1 – только особый случай адресации;

A2 – только особый случай адресации и спецификации переадресации;

C – устанавливается признак результата;

CK – таймер CPU и компаратор;

DC – прямое управление;

DM – в зависимости от особенностей модели команда ДИАГНОСТИКА может вызвать особые случаи, приводящие к программному прерыванию, и изменение признака ре-

зультата;

L – загрузка нового признака результата;

M – особый случай употребления привилегированной операции;

MP – мультипроцессирование;

PK – работа с ключом PSW;

R – программное событие, состоящее в изменении содержимого регистра;

RR – формат RR;

RS – формат RS;

RX – формат RX;

S – формат S;

SI – формат SI;

SO – особый случай – специальная операция;

SP – особый случай спецификации;

ST – программное событие, состоящее в изменении содержимого памяти;

TR – динамическая переадресация.

 

ДИАГНОСТИКА

 

+

-----------------------------

 

+

¦

83

¦

¦

+-----------------------------

 

 

+

0

7

8

31

Процессор выполняет встроенные диагностические процедуры, а также другие процедуры,

содержание и назначение которых зависит от модели. Цель диагностических процедур — про-

173

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

звать реконфигурацию памяти и каналов или произвести изменение в управляющей памяти.

Чтобы задать конкретную диагностическую процедуру, разряды 8–31 могут использоваться как в командах формата SI или SS, а также иным образом. Особенности применения этих би-

тов зависят от модели.

Выполнение команды может привести к переключению состояний в процессоре, к измене-

нию содержимого регистров и памяти, а также повлиять на ход выполнения операций ввода-

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

Признак результата невозможно предсказать.

Программные прерывания:

привилегированная операция;

в зависимости от модели могут распознаваться и другие особые случаи.

Замечания по программированию

Так как не предполагается использовать эту команду в проблемных и супервизорных про-

граммах, мнемоника для нее не предусмотрена.

Команда ДИАГНОСТИКА в отличие от других команд не подчиняется общему правилу, со-

гласно которому ошибки программирования не приводят к ошибкам оборудования. Неправиль-

ное применение команды ДИАГНОСТИКА может вызвать как ложную индикацию сигналов от схем контроля, так и игнорирование неисправности оборудования. Эта команда способна так изменить характер работы системы, в том числе логику выполнения команд и ход операций в каналах, что они не будут соответствовать описанию, приводимому в этой книге. В результате неправильного применения команды ДИАГНОСТИКА система может оказаться в состоянии, из которого вывести ее можно только сбросом при включении питания или начальной загрузкой микропрограмм.

ПРОЧИТАТЬ КЛЮЧ PSW

IPK

[S]

 

 

 

+-----------------------------

 

 

 

+

¦

B20B

¦ ////////////

¦

+-----------------------------

 

 

 

+

0

15

16

31

 

Четырехразрядный ключ защиты текущего PSW заносится в биты 24–27 общего регистра 2.

Содержимое битов 0–23 общего регистра 2 не изменяется, а в биты 28–31 заносятся нули. Би-

ты 16–31 кода команды игнорируются.

Признак результата не изменяется.

Программные прерывания:

операция (если отсутствуют средства работы с ключом PSW);

174

привилегированная операция.

ПРОЧИТАТЬ КЛЮЧ ПАМЯТИ

ISK

R1,R2

 

[RR]

+--------------------

 

 

 

 

+

¦ 09

 

¦

R1

¦

R2 ¦

+--------------------

 

 

 

 

+

0

7

8

11

12

15

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

ется в регистр, определенный полем R1.

Блок памяти объемом 2048 байтов реальной основной памяти адресуется с помощью битов

8–20 общего регистра, заданного полем R2. Биты 0–7 и 21–27 этого регистра игнорируются, а

биты 28–31 должны содержать нули. В противном случае распознается особый случай специ-

фикации и операция подавляется.

Адрес блока памяти трактуется как реальный и не подвергается динамической переадреса-

ции. Следовательно, при обращении к ключу не возникают особые случаи спецификации пере-

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

лицы. При обращении к ключу защита памяти не действует.

Выполнение команды зависит от режима работы процессора. Если в PSW задан режим EC,

то в позиции 24–30 регистра, заданного полем R1, заносится 7-разрядный ключ, а в бит 31 –

нуль. Если в PSW задан режим BC, в позиции 24–28 этого регистра заносятся биты 0–4 ключа,

а в позиции 29–31 – нули. Содержимое разрядов 0–23 регистра не изменяется.

Признак результата не изменяется.

Программные прерывания:

привилегированная операция;

доступ (только адресация при доступе ко второму операнду);

спецификация.

ЗАГРУЗКА УПРАВЛЕНИЯ

LCTL

 

R1,R3,D2(B2)

 

[RS]

 

 

 

+--------------------------------------

 

 

 

 

 

 

 

 

 

+

¦ B7

 

¦

R1

¦

R3

¦

B2

¦

D2

¦

+--------------------------------------

 

 

 

 

 

 

 

 

 

+

0

7

8

11

12

15

16

19

20

 

31

Ряд управляющих регистров, начиная с управляющего регистра, заданного полем R1, и кон-

чая управляющим регистром, заданным полем R3, загружаются из ячеек памяти, указанных ад-

ресом второго операнда.

175

Область памяти, из которой берется содержимое управляющих регистров, начинается с байта, указываемого адресом второго операнда, и занимает столько слов памяти, сколько за-

дано управляющих регистров. Управляющие регистры загружаются в порядке возрастания их адресов, начиная с управляющего регистра, заданного полем R1, и кончая управляющим реги-

стром, заданным полем R3, включительно. При этом считается, что управляющий регистр 0

следует за управляющим регистром 15. Второй операнд не изменяется.

Предпринимается попытка выбрать операнд из основной памяти для каждого из указанных управляющих регистров независимо от того, оборудован ли данный процессор средствами, ис-

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

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

Признак результата не изменяется.

Программные прерывания:

привилегированная операция;

доступ (выборка второго операнда);

спецификация.

Замечания по программированию

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

ми дополнительные позиции управляющих регистров, в нераспределенные позиции управля-

ющих регистров следует загружать нули.

ЗАГРУЗКА PSW

LPSW

 

D2(B2)

[S]

 

 

 

 

+---------------------------------

 

 

 

 

 

 

 

+

¦ 82

 

¦

//////

¦

B2

¦

D2

¦

+---------------------------------

 

 

 

 

 

 

 

+

0

7

8

15

16

19

20

 

31

Двойное слово из области, указанной адресом второго операнда, замещает текущее PSW.

Если в новом PSW задан режим BC, то при загрузке PSW содержимое позиций 16–31 ново-

го PSW не сохраняется. Когда впоследствии PSW записывается в памяти, эти позиции содер-

жат новый код прерывания и код длины команды.

Производится временная отмена совмещения. Выполнение операции в процессоре задер-

живается до тех пор, пока не будут завершены предыдущие доступы этого процессора в основ-

ную память по отношению к другим каналам и процессорам. До тех пор пока выполнение дан-

ной команды не будет завершено, доступ к последующим командам и их операндам не произ-

водится.

176

Операнд должен быть расположен на границе двойного слова; в противном случае распо-

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

Биты 8–15 кода команды игнорируются.

Признак результата определяется содержимым соответствующего поля нового PSW.

Программные прерывания:

привилегированная операция;

доступ (выборка второго операнда);

спецификация.

ЗАГРУЗКА РЕАЛЬНОГО АДРЕСА

LRA

R1,D2(X2,B2)

[RX]

 

 

 

 

+--------------------------------------

 

 

 

 

 

 

 

 

 

+

¦ B1

 

¦

R1

¦

X2

¦

B2

¦

D2

¦

+--------------------------------------

 

 

 

 

 

 

 

 

 

+

0

7

8

11

12

15

16

19

20

 

31

Реальный адрес, соответствующий адресу второго операнда, заносится в общий регистр,

заданный полем R1. Остальные старшие биты регистра устанавливаются в 0.

Логический адрес, заданный полями X2, B2 и D2, подвергается динамической переадресации независимо от того, какой режим управления задан в PSW и задана ли в PSW динамическая переадресация. Преобразование адреса выполняется в соответствии с содержимым управля-

ющих регистров 0 и 1, однако буфер быстрой переадресации (TLB) не используется. В резуль-

тате 24-разрядный реальный адрес заносится в позиции 8–31 общего регистра, заданного по-

лем R1, а в позиции 0–7 регистра заносятся нули. Преобразованный адрес не проверяется на корректность и с точки зрения нарушения защиты.

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

дится внутри таблицы, а биты доступности этих строк установлены в 0, то выполняется уста-

новка признака результата в 0.

Если бит доступности строки таблицы сегментов равен единице, то устанавливается при-

знак результата, равный 1, и реальный адрес этой строки таблицы сегментов заносится в ре-

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

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

ментов расположена вне таблицы, то устанавливается признак результата, равный 3, и в ре-

гистр, заданный полем R1, заносится реальный адрес строки, к которой произошло бы обраще-

ние, если не была бы нарушена длина. Во всех этих случаях 24-разрядный адрес заносится в позиции 8–31 регистра, а левые 8 разрядов этого регистра устанавливаются в 0.

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

177

знается особый случай адресации. Если биты 8–12 управляющего регистра 0 содержат недей-

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

Признак результата:

0– переадресация возможна;

1– недействительная строка таблицы сегментов (бит доступности равен единице);

2– недействительная строка таблицы страниц (бит доступности равен единице);

3– нарушение длины таблицы сегментов или таблицы страниц.

Программные прерывания:

операция (если процессор не оборудован средствами динамической переадресации);

привилегированная операция;

доступ (только адресация при доступе к строкам таблицы или спецификация переадреса-

ции, операнд 2).

ОЧИСТКА TLB

PTLB

[S]

 

 

 

+-----------------------------

 

 

 

+

¦

B20D

¦ ////////////

¦

+-----------------------------

 

 

 

+

0

15

16

31

 

Вся информация, содержащаяся в буфере быстрой переадресации (TLB) данного процес-

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

Для всех последующих команд TLB представляется очищенным от своего первоначального содержимого. Если в процессоре нет TLB, то команда задает фиктивную операцию (“нет опе-

рации”). О том, что TLB содержит недействительную информацию, другим процессорам не со-

общается.

Производится временная отмена совмещения. Выполнение операции в процессоре задер-

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

Биты 16–31 кода команды игнорируются.

Признак результата не изменяется.

Программные прерывания:

операция (если процессор не оборудован средствами динамической переадресации);

привилегированная операция.

178

ПРЯМОЕ ЧТЕНИЕ

 

 

 

 

RDD

D1(B1),I2

 

[SI]

 

 

 

+-------------------------------

 

 

 

 

 

 

 

+

¦ 85

 

¦

I2

¦

B1

¦

D1

¦

+-------------------------------

 

 

 

 

 

 

 

+

0

7

8

15

16

19

20

 

31

Восемь битов из поля I2 кода команды выступают в качестве выходных синхросигналов. При отсутствии блокирующего сигнала байт входных данных принимается из внешнего устройства и помещается в ячейку памяти, определенную адресом операнда.

Содержимое поля I2 появляется на восьми выходных линиях в виде синхросигналов дли-

тельностью от 0,5 до 1,0 мкс. Эти же линии используются в команде ПРЯМАЯ ЗАПИСЬ. По де-

вятой линии (линии считывания) выдается специальный синхросигнал длительностью 0,5–1,0

мкс, совпадающий с синхросигналами по восьми выходным линиям. Восемь битов из команды не сопровождаются контрольными битами.

Если отсутствует блокирующий сигнал в линии блокировки приема, байт данных принима-

ется с восьми входных линий. Сигнал блокировки проверяется после завершения сигнала чте-

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

ре 0,5 мкс. Сигналы данных контрольными битами не сопровождаются, однако, когда данные заносятся в память, вырабатывается код СВС. Если блокирующий сигнал не снят, процессор не завершает выполнения команды.

Прежде чем сигналы становятся доступными, а также после того, как байт данных будет по-

мещен в основную память по адресу первого операнда, выполняется временная отмена сов-

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

ранда не будет помещен в основную память.

Чрезмерная продолжительность этой команды может привести к пропуску в приращении по-

казания интервального таймера.

Признак результата не изменяется.

Программные прерывания:

операция (если процессор не оборудован средствами прямого управления);

привилегированная операция;

доступ (запись операнда 1).

179

СБРОСИТЬ БИТ ОБРАЩЕНИЯ

RRB

D2(B2)

[S]

 

 

+--------------------------

 

 

 

 

 

+

¦

B213

¦

B2

¦

D2

¦

+--------------------------

 

 

 

 

 

+

0

15

16

19

20

 

31

Бит обращения в ключе блока памяти, адрес которого определяется вторым операндом,

устанавливается в нуль.

Биты 8–20 адреса второго операнда определяют 2048-байтовый блок реальной основной памяти. Биты 0–7 и 21–31 адреса игнорируются.

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

ской переадресации. Следовательно, при обращении к ключу памяти не могут возникнуть осо-

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

ницы, а особый случай адресации распознается только при некорректном адресе блока памяти

(но не при некорректном адресе строки таблицы). При обращении к ключу защита памяти не действует.

Выполнение команды не оказывает влияния на остальные биты ключа памяти, в том числе и на бит изменения.

Признак результата отражает состояние битов обращения и изменения перед установкой бита обращения в нуль:

0 – бит обращения 0, бит изменения 0;

1 – бит обращения 0, бит изменения 1;

2 – бит обращения 1, бит изменения 0;

3 – бит обращения 1, бит изменения 1.

Программные прерывания:

операция (процессор не оборудован средствами динамической переадресации);

привилегированная операция;

доступ (только адресация при доступе к операнду 2).

ВЫСТАВИТЬ ЧАСЫ

SCK

D2(B2)

[S]

 

 

+--------------------------

 

 

 

 

 

+

¦

B204

¦

B2

¦

D2

¦

+--------------------------

 

 

 

 

 

+

0

15

16

19

20

 

31

Содержимое 8-байтового поля, указанного адресом второго операнда, заменяет текущее содержимое часов, и часы переходят в состояние “стоп”.

180

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]