Принципы работы системы IBM/370

Описание логической структуры вычислительных машин Системы 370. Особенности мультипроцессирования. Команды общего назначения и управления системой, обработки десятичных данных и команды с плавающей точкой. Средства обработки машинных ошибок (коррекция).

Рубрика Программирование, компьютеры и кибернетика
Вид книга
Язык русский
Дата добавления 12.06.2014
Размер файла 658,3 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

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

Примечание. В подробных описаниях отдельных команд даны мнемонические обозначения кодов операций и символические обозначения операндов, соответствующие языку Ассемблера Системы 370. Например, команда ЗАГРУЗКА (короткие операнды), используемая для операций типа “регистр-регистр”, имеет мнемоническое обозначение LER и обозначение операндов R1 и R2.

Если команда с плавающей точкой имеет формат RR, то в ее мнемоническом обозначении на последнем месте стоит буква R. Для команд. у которых операнды имеют одинаковую длину, используются следующие буквы для представления длины операндов и выполнения нормализации результата:

E - короткие операнды и нормализация;

U - короткие операнды и отсутствие нормализации;

D - длинные операнды и нормализация;

W - длинные операнды и отсутствие нормализации;

X - расширенные операнды и нормализация.

Таблица 11.1Команды с плавающей точкой

Название

Мнемоническое обозначение

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

Машинный код

СЛОЖЕНИЕ С НОРМАЛИЗАЦИЕЙ (расширенные операнды)

AXR

RR

C

XP

SP

U

E

LS

36

СЛОЖЕНИЕ С НОРМАЛИЗАЦИЕЙ (длинные операнды)

ADR

RR

C

FP

SP

U

E

LS

2A

СЛОЖЕНИЕ С НОРМАЛИЗАЦИЕЙ (длинные операнды)

AD

RX

C

FP

A

SP

U

E

LS

6A

СЛОЖЕНИЕ С НОРМАЛИЗАЦИЕЙ (короткие операнды)

AER

RR

C

FP

SP

U

E

LS

3A

СЛОЖЕНИЕ С НОРМАЛИЗАЦИЕЙ (короткие операнды)

AE

RX

C

FP

A

SP

U

E

LS

7A

СЛОЖЕНИЕ БЕЗ НОРМАЛИЗАЦИИ (длинные операнды)

AWR

RR

C

FP

SP

E

LS

2E

СЛОЖЕНИЕ БЕЗ НОРМАЛИЗАЦИИ (длинные операнды)

AW

RX

C

FP

A

SP

E

LS

6E

СЛОЖЕНИЕ БЕЗ НОРМАЛИЗАЦИИ (короткие операнды)

AUR

RR

C

FP

SP

E

LS

3E

СЛОЖЕНИЕ БЕЗ НОРМАЛИЗАЦИИ (короткие операнды)

AU

RX

C

FP

A

SP

E

LS

7E

СРАВНЕНИЕ (длинные операнды)

CDR

RR

C

FP

SP

29

СРАВНЕНИЕ (длинные операнды)

CD

RX

C

FP

A

SP

69

СРАВНЕНИЕ (короткие операнды)

CER

RR

C

FP

SP

39

СРАВНЕНИЕ (короткие операнды)

CE

RX

C

FP

A

SP

79

ДЕЛЕНИЕ (длинные операнды)

DDR

RR

FP

SP

U

E

FK

2D

ДЕЛЕНИЕ (длинные операнды)

DD

RX

FP

A

SP

U

E

FK

6D

ДЕЛЕНИЕ (короткие операнды)

DER

RR

FP

SP

U

E

FK

3D

ДЕЛЕНИЕ (короткие операнды)

DE

RX

FP

A

SP

U

E

FK

7D

ПОПОЛАМ (длинные операнды)

HDR

RR

FP

SP

U

24

ПОПОЛАМ (короткие операнды)

HER

RR

FP

SP

U

34

ЗАГРУЗКА (длинные операнды)

LDR

RR

FP

SP

28

ЗАГРУЗКА (длинные операнды)

LD

RX

FP

A

SP

68

ЗАГРУЗКА (короткие операнды)

LER

RR

FP

SP

38

ЗАГРУЗКА (короткие операнды)

LE

RX

FP

A

SP

78

ЗАГРУЗКА И ПРОВЕРКА (длинные операнды)

LTDR

RR

C

FP

SP

22

ЗАГРУЗКА И ПРОВЕРКА (короткие операнды)

LTER

RR

C

FP

SP

32

ЗАГРУЗКА ДОПОЛНЕНИЯ (длинные операнды)

LCDR

RR

C

FP

SP

23

ЗАГРУЗКА ДОПОЛНЕНИЯ (короткие операнды)

LCER

RR

C

FP

SP

33

ЗАГРУЗКА ОТРИЦАТЕЛЬНАЯ (длинные операнды)

LNDR

RR

C

FP

SP

21

ЗАГРУЗКА ОТРИЦАТЕЛЬНАЯ (короткие операнды)

LNER

RR

C

FP

SP

31

ЗАГРУЗКА ПОЛОЖИТЕЛЬНАЯ (длинные операнды)

LPDR

RR

C

FP

SP

20

ЗАГРУЗКА ПОЛОЖИТЕЛЬНАЯ (короткие операнды)

LPER

RR

C

FP

SP

30

ЗАГРУЗКА С ОКРУГЛЕНИЕМ (преобразование расширенного операнда в длинный)

LRDR

RR

XP

SP

E

25

ЗАГРУЗКА С ОКРУГЛЕНИЕМ (преобразование длинного операнда в короткий)

LRER

RR

XP

SP

E

35

УМНОЖЕНИЕ (расширенные операнды)

MXR

RR

XP

SP

U

E

26

УМНОЖЕНИЕ (длинные операнды)

MDR

RR

FP

SP

U

E

2C

УМНОЖЕНИЕ (длинные операнды)

MD

RX

FP

A

SP

U

E

6C

УМНОЖЕНИЕ (длинные операнды, расширенный результат)

MXDR

RR

XP

SP

U

E

27

УМНОЖЕНИЕ (длинные операнды, расширенный результат)

MXD

RX

XP

A

SP

U

E

67

УМНОЖЕНИЕ (короткие операнды, длинный результат)

MER

RR

FP

SP

U

E

3C

УМНОЖЕНИЕ (короткие операнды, длинный результат)

ME

RX

FP

A

SP

U

E

7C

ЗАПИСЬ В ПАМЯТЬ (длинные операнды)

STD

RX

FP

A

SP

ST

60

ЗАПИСЬ В ПАМЯТЬ (короткие операнды)

STE

RX

FP

A

SP

ST

70

ВЫЧИТАНИЕ С НОРМАЛИЗАЦИЕЙ (расширенные операнды)

SXR

RR

C

XP

SP

U

E

LS

37

ВЫЧИТАНИЕ С НОРМАЛИЗАЦИЕЙ (длинные операнды)

SDR

RR

C

FP

SP

U

E

LS

2B

ВЫЧИТАНИЕ С НОРМАЛИЗАЦИЕЙ (длинные операнды)

SD

RX

C

FP

A

SP

U

E

LS

6B

ВЫЧИТАНИЕ С НОРМАЛИЗАЦИЕЙ (короткие операнды)

SER

RR

C

FP

SP

U

E

LS

3B

ВЫЧИТАНИЕ С НОРМАЛИЗАЦИЕЙ (короткие операнды)

SE

RX

C

FP

A

SP

U

E

LS

7B

ВЫЧИТАНИЕ БЕЗ НОРМАЛИЗАЦИИ (длинные операнды)

SWR

RR

C

FP

SP

E

LS

2F

ВЫЧИТАНИЕ БЕЗ НОРМАЛИЗАЦИИ (длинные операнды)

SW

RX

C

FP

A

SP

E

LS

6F

ВЫЧИТАНИЕ БЕЗ НОРМАЛИЗАЦИИ (короткие операнды)

SUR

RR

C

FP

SP

E

LS

3F

ВЫЧИТАНИЕ БЕЗ НОРМАЛИЗАЦИИ (короткие операнды)

SU

RX

C

FP

A

SP

E

LS

7F

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

A - особые случаи доступа;

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

E - особый случай переполнения порядка;

FK - особый случай деления с плавающей точкой;

FP - средство обработки чисел с плавающей точкой;

LS - особый случай потери значимости;

RR - формат RR;

RX - формат RX;

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

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

U - особый случай исчезновения порядка;

XP - средство обработки чисел с плавающей точкой с повышенной точностью.

СЛОЖЕНИЕ С НОРМАЛИЗАЦИЕЙ

AER R1,R2 [RR, ???????? ????????]

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

¦ 3A ¦ R1 ¦ R2 ¦

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

0 7 8 11 12 15

AE R1,D2(X2,B2) [RX, ???????? ????????]

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

¦ 7A ¦ R1 ¦ X2 ¦ B2 ¦ D2 ¦

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

0 7 8 11 12 15 16 19 20 31

ADR R1,R2 [RR, ??????? ????????]

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

¦ 2A ¦ R1 ¦ R2 ¦

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

0 7 8 11 12 15

AD R1,D2(X2,B2) [RX, ??????? ????????]

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

¦ 6A ¦ R1 ¦ X2 ¦ B2 ¦ D2 ¦

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

0 7 8 11 12 15 16 19 20 31

AXR R1,R2 [RR, ??????????? ????????]

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

¦ 36 ¦ R1 ¦ R2 ¦

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

0 7 8 11 12 15

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

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

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

При сложении коротких операндов мантисса промежуточной суммы состоит из 7 шестнадцатеричных цифр и, возможно, цифры переноса, при сложении длинных операндов - из 15 шестнадцатеричных цифр и, возможно, цифры переноса, при сложении расширенных операндов - из 29 шестнадцатеричных цифр и, возможно, цифры переноса. Если перенос имеет место, сумма сдвигается вправо на одну цифру, и характеристика увеличивается на единицу.

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

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

Если перенос из старшей позиции мантиссы промежуточной суммы служит причиной того, что значение характеристики нормализованной суммы превышает число 127, то фиксируется особый случай переполнения порядка. Операция завершается путем формирования характеристики, которая на 128 меньше действительного значения, и происходит программное прерывание из-за переполнения порядка. При этом результат будет нормализованным, а знак и мантисса сохраняют правильные значения. В случае команды СЛОЖЕНИЕ для расширенных операндов (AXR) сохраняется также правильное значение характеристики младшей части.

Если характеристика нормализованной суммы меньше нуля, а мантисса не равна нулю, имеет место особый случай исчезновения порядка. Если бит маски исчезновения порядка равен единице, операция завершается путем формирования характеристики, которая на 128 больше действительного значения. Результат нормализуется, а знак и мантисса сохраняют правильные значения. Затем происходит программное прерывание из-за исчезновения порядка. Если исчезновение порядка имеет место, а бит маски исчезновения порядка равен нулю, то программное прерывание не происходит; вместо этого операция завершается путем формирования результата, равного истинному нулю. В случае команды СЛОЖЕНИЕ для расширенных операндов исчезновение порядка не фиксируется, если характеристика младшей части меньше нуля, а характеристика старшей части больше или равна нулю.

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

Поле R1 в командах AER, AE, ADR и AD и поле R2 в командах AER и ADR должны определять регистры 0, 2, 4 или 6. Поля R1 и R2 в команде AXR должны задавать номера регистров 0 или 4. В противном случае фиксируется особый случай спецификации.

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

0 - мантисса результата равна нулю;

1 - результат меньше нуля;

2 - результат больше нуля;

3 - не бывает.

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

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

доступ (выборка второго операнда в командах AE и AD);

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

переполнение порядка;

исчезновение порядка;

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

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

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

СЛОЖЕНИЕ БЕЗ НОРМАЛИЗАЦИИ

AUR R1,R2 [RR, ???????? ????????]

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

¦ 3E ¦ R1 ¦ R2 ¦

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

0 7 8 11 12 15

AU R1,D2(X2,B2) [RX, ???????? ????????]

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

¦ 7E ¦ R1 ¦ X2 ¦ B2 ¦ D2 ¦

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

0 7 8 11 12 15 16 19 20 31

AWR R1,R2 [RR, ??????? ????????]

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

¦ 2E ¦ R1 ¦ R2 ¦

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

0 7 8 11 12 15

AW R1,D2(X2,B2) [RX, ??????? ????????]

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

¦ 6E ¦ R1 ¦ X2 ¦ B2 ¦ D2 ¦

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

0 7 8 11 12 15 16 19 20 31

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

Команда СЛОЖЕНИЕ БЕЗ НОРМАЛИЗАЦИИ выполняется аналогично команде СЛОЖЕНИЕ С НОРМАЛИЗАЦИЕЙ и отличается от последней лишь тем, что после сложения мантисса промежуточной суммы усекается без выполнения нормализации до мантиссы результата нужной длины. Старшие нулевые цифры из мантиссы результата не исключаются, исчезновение порядка не может произойти, а дополнительная цифра при распознавании потери значимости не используется. Потеря значимости фиксируется в том случае, когда мантисса промежуточной суммы без учета дополнительной цифры равна нулю.

Поля R1 и R2 должны задавать номера регистров 0, 2, 4 или 6. В противном случае фиксируется особый случай спецификации.

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

0 - мантисса результата равна нулю;

1 - результат меньше нуля;

2 - результат больше нуля;

3 - не бывает.

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

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

доступ (выборка второго операнда в командах AU и AW);

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

переполнение порядка;

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

СРАВНЕНИЕ

CER R1,R2 [RR, ???????? ????????]

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

¦ 39 ¦ R1 ¦ R2 ¦

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

0 7 8 11 12 15

CE R1,D2(X2,B2) [RX, ???????? ????????]

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

¦ 79 ¦ R1 ¦ X2 ¦ B2 ¦ D2 ¦

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

0 7 8 11 12 15 16 19 20 31

CDR R1,R2 [RR, ??????? ????????]

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

¦ 29 ¦ R1 ¦ R2 ¦

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

0 7 8 11 12 15

CD R1,D2(X2,B2) [RX, ??????? ????????]

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

¦ 69 ¦ R1 ¦ X2 ¦ B2 ¦ D2 ¦

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

0 7 8 11 12 15 16 19 20 31

Первый операнд сравнивается со вторым операндом, и в зависимости от результата сравнения устанавливается признак результата.

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

Никогда не возникает переполнения порядка, исчезновения порядка или потери значимости.

Поля R1 и R2 должны определять регистры 0, 2, 4 или 6; в противном случае фиксируется особый случай спецификации.

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

0 - операнды равны;

1 - первый операнд меньше;

2 - первый операнд больше;

3 - не бывает.

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

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

доступ (выборка второго операнда в командах CE и CD);

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

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

Два числа с нулевыми мантиссами считаются равными, даже если они различаются знаками или характеристиками.

ДЕЛЕНИЕ

DER R1,R2 [RR, ???????? ????????]

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

¦ 3D ¦ R1 ¦ R2 ¦

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

0 7 8 11 12 15

DE R1,D2(X2,B2) [RX, ???????? ????????]

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

¦ 7D ¦ R1 ¦ X2 ¦ B2 ¦ D2 ¦

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

0 7 8 11 12 15 16 19 20 31

DDR R1,R2 [RR, ??????? ????????]

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

¦ 2D ¦ R1 ¦ R2 ¦

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

0 7 8 11 12 15

DD R1,D2(X2,B2) [RX, ??????? ????????]

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

¦ 6D ¦ R1 ¦ X2 ¦ B2 ¦ D2 ¦

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

0 7 8 11 12 15 16 19 20 31

Первый операнд (делимое) делится на второй операнд (делитель), и нормализованное частное помещается на место первого операнда. Остаток не сохраняется.

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

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

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

Если значение характеристики конечного частного превышает 127 и мантисса не равна нулю, фиксируется переполнение порядка. Операция завершается, и происходит программное прерывание. Результат нормализуется, знак и мантисса сохраняют правильные значения, а характеристика становится на 128 меньше действительного значения.

Если значение характеристики нормализованного частного меньше нуля и мантисса не равна нулю, то фиксируется исчезновение порядка. Если бит маски исчезновения порядка равен единице, то происходит программное прерывание. Результат нормализуется, знак и мантисса сохраняют правильные значения, а характеристика становится на 128 больше действительного значения. Если бит маски исчезновения порядка равен нулю, то программное прерывание не происходит; вместо этого операция завершается формированием частного, равного истинному нулю.

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

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

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

Поля R1 и R2 должны определять регистры 0, 2, 4 или 6; иначе фиксируется особый случай спецификации.

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

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

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

доступ (выборка второго операнда в командах DE и DD);

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

переполнение порядка;

исчезновение порядка;

деление с плавающей точкой.

ПОПОЛАМ

HER R1,R2 [RR, ???????? ????????]

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

¦ 34 ¦ R1 ¦ R2 ¦

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

0 7 8 11 12 15

HDR R1,R2 [RR, ??????? ????????]

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

¦ 24 ¦ R1 ¦ R2 ¦

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

0 7 8 11 12 15

Второй операнд делится на число 2, и нормализованное частное помещается на место первого операнда.

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

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

Если характеристика нормализованного частного меньше нуля и мантисса не равна нулю, то фиксируется исчезновение порядка. Если бит маски исчезновения порядка равен единице, то происходит программное прерывание. Результат нормализуется, знак и мантисса сохраняют правильные значения, а характеристика становится на 128 больше действительного значения. Если бит маски исчезновения порядка равен нулю, то программное прерывание не происходит; вместо этого операция завершается формированием частного, равного истинному нулю.

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

Поля R1 и R2 должны определять регистры 0, 2, 4 или 6; в противном случае фиксируется особый случай спецификации.

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

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

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

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

переполнение порядка.

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

Как в случае коротких, так и в случае длинных операндов данная операция эквивалентна операции деления с делителем, равным числу 2. Аналогично результат выполнения команды HDR совпадает с результатом выполнения команды MDR или MD, если в качестве множителя взята дробь ?. Ни одна из операций умножения не соответствует команде HER, так как при умножении никогда не образуется короткий результат.

Истинный нуль получается в результате выполнения команды ПОПОЛАМ только в том случае, когда мантисса второго операнда равна нулю или когда возникает исчезновение порядка при установленной в нуль маске исчезновения порядка. Если даже все биты мантиссы второго операнда, кроме самого младшего, равны нулю, то этот последний сдвигается в старший бит дополнительной цифры и участвует в нормализации результата.

ЗАГРУЗКА

LER R1,R2 [RR, ???????? ????????]

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

¦ 38 ¦ R1 ¦ R2 ¦

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

0 7 8 11 12 15

LE R1,D2(X2,B2) [RX, ???????? ????????]

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

¦ 78 ¦ R1 ¦ X2 ¦ B2 ¦ D2 ¦

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

0 7 8 11 12 15 16 19 20 31

LDR R1,R2 [RR, ??????? ????????]

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

¦ 28 ¦ R1 ¦ R2 ¦

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

0 7 8 11 12 15

LD R1,D2(X2,B2) [RX, ??????? ????????]

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

¦ 68 ¦ R1 ¦ X2 ¦ B2 ¦ D2 ¦

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

0 7 8 11 12 15 16 19 20 31

Второй операнд без изменения помещается на место первого операнда.

Поля R1 и R2 должны определять регистры 0, 2, 4 или 6; в противном случае фиксируется особый случай спецификации.

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

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

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

доступ (выборка второго операнда в командах LE и LD);

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

ЗАГРУЗКА И ПРОВЕРКА

LTER R1,R2 [RR, ???????? ????????]

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

¦ 32 ¦ R1 ¦ R2 ¦

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

0 7 8 11 12 15

LTDR R1,R2 [RR, ??????? ????????]

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

¦ 22 ¦ R1 ¦ R2 ¦

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

0 7 8 11 12 15

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

Поля R1 и R2 должны определять регистры 0, 2, 4 или 6; в противном случае фиксируется особый случай спецификации.

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

0 - мантисса результата равна нулю;

1 - результат меньше нуля;

2 - результат больше нуля;

3 - не бывает.

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

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

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

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

Если один и тот же регистр задан для определения и первого, и второго операндов, операция эквивалентна проверке без перемещения данных.

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

LCER R1,R2 [RR, ???????? ????????]

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

¦ 33 ¦ R1 ¦ R2 ¦

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

0 7 8 11 12 15

LCDR R1,R2 [RR, ??????? ????????]

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

¦ 23 ¦ R1 ¦ R2 ¦

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

0 7 8 11 12 15

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

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

Поля R1 и R2 должны определять регистры 0, 2, 4 или 6; в противном случае фиксируется особый случай спецификации.

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

0 - мантисса результата равна нулю;

1 - результат меньше нуля;

2 - результат больше нуля;

3 - не бывает.

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

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

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

ЗАГРУЗКА ОТРИЦАТЕЛЬНАЯ

LNER R1,R2 [RR, ???????? ????????]

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

¦ 31 ¦ R1 ¦ R2 ¦

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

0 7 8 11 12 15

LNDR R1,R2 [RR, ??????? ????????]

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

¦ 21 ¦ R1 ¦ R2 ¦

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

0 7 8 11 12 15

Второму операнду присваивается знак минус, и результат помещается на место первого операнда.

Знаковый бит устанавливается равным единице, даже если мантисса равна нулю. Характеристика и мантисса не изменяются.

Поля R1 и R2 должны определять регистры 0, 2, 4 или 6; в противном случае фиксируется особый случай спецификации.

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

0 - мантисса результата равна нулю;

1 - результат меньше нуля;

2 - результат больше нуля;

3 - не бывает.

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

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

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

ЗАГРУЗКА ПОЛОЖИТЕЛЬНАЯ

LPER R1,R2 [RR, ???????? ????????]

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

¦ 30 ¦ R1 ¦ R2 ¦

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

0 7 8 11 12 15

LPDR R1,R2 [RR, ??????? ????????]

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

¦ 20 ¦ R1 ¦ R2 ¦

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

0 7 8 11 12 15

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

Знаковый бит устанавливается равным нулю, даже если мантисса равна нулю. Характеристика и мантисса не изменяются.

Поля R1 и R2 должны определять регистры 0, 2, 4 или 6; в противном случае фиксируется особый случай спецификации.

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

0 - мантисса результата равна нулю;

1 - результат меньше нуля;

2 - результат больше нуля;

3 - не бывает.

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

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

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

ЗАГРУЗКА С ОКРУГЛЕНИЕМ

LRER R1,R2 [RR,

??????? ?????? ???????,

???????? ?????? ???????]

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

¦ 35 ¦ R1 ¦ R2 ¦

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

0 7 8 11 12 15

LRDR R1,R2 [RR,

??????????? ?????? ???????,

??????? ?????? ???????]

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

¦ 25 ¦ R1 ¦ R2 ¦

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

0 7 8 11 12 15

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

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

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

Знак результата совпадает со знаком второго операнда. Нормализация не производится.

Если при сдвиге мантиссы вправо характеристика становится больше 127, фиксируется переполнение порядка. Операция завершается загрузкой числа, характеристика которого на 128 меньше действительного значения, и происходит программное прерывание из-за переполнения порядка. Результат является нормализованным числом, а знак и мантисса сохраняют правильные значения.

Исчезновение порядка и потеря значимости не могут возникнуть.

Поле R1 должно определять регистры 0, 2, 4 или 6. Поле R2 в команде LRER должно определять регистры 0, 2, 4 или 6, а поле R2 в команде LRDR - регистры 0 или 4. В противном случае фиксируется особый случай спецификации.

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

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

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

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

переполнение порядка.

УМНОЖЕНИЕ

MER R1,R2 [RR, ???????? ????????,

??????? ????????????]

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

¦ 3C ¦ R1 ¦ R2 ¦

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

0 7 8 11 12 15

ME R1,D2(X2,B2) [RX, ???????? ????????,

??????? ????????????]

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

¦ 7C ¦ R1 ¦ X2 ¦ B2 ¦ D2 ¦

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

0 7 8 11 12 15 16 19 20 31

MDR R1,R2 [RR, ??????? ????????]

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

¦ 2C ¦ R1 ¦ R2 ¦

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

0 7 8 11 12 15

MD R1,D2(X2,B2) [RX, ??????? ????????]

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

¦ 6C ¦ R1 ¦ X2 ¦ B2 ¦ D2 ¦

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

0 7 8 11 12 15 16 19 20 31

MXDR R1,R2 [RR, ??????? ????????,

??????????? ????????????]

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

¦ 27 ¦ R1 ¦ R2 ¦

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

0 7 8 11 12 15

MXD R1,D2(X2,B2) [RX, ??????? ????????,

??????????? ????????????]

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

¦ 67 ¦ R1 ¦ X2 ¦ B2 ¦ D2 ¦

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

0 7 8 11 12 15 16 19 20 31

MXR R1,R2 [RR, ??????????? ????????]

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

¦ 26 ¦ R1 ¦ R2 ¦

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

0 7 8 11 12 15

Нормализованное произведение второго операнда (множителя) и первого операнда (множимого) заносится на место первого операнда.

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

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

В случае команд MER и ME мантиссы множителя и множимого состоят из шести цифр, а мантисса произведения - из 14 цифр, причем две младшие цифры мантиссы всегда равны нулю. В случае команд MDR и MD мантиссы множителя и множимого имеют по 14 цифр и мантисса конечного произведения усекается до 14 цифр. В случае команд MXDR и MXD мантиссы множимого и множителя имеют по 14 цифр, причем множимое занимает старшую часть первого операнда; мантисса конечного произведения состоит из 28 цифр и является точным произведением мантисс операндов. В случае команды MXR мантиссы множителя и множимого содержат по 28 цифр и мантисса конечного произведения усекается до 28 цифр.

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

Если характеристика нормализованного произведения превышает 127 и мантисса произведения не равна нулю, то фиксируется переполнение порядка. Операция завершается уменьшением характеристики на 128 по сравнению с ее действительным значением. Если в случае расширенных результатов характеристика младшей части также превышает 127, то и она уменьшается на 128. Результат является нормализованным числом, а знак и мантисса сохраняют правильные значения. После этого происходит программное прерывание из-за переполнения.

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

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

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

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

Поле R1 в командах MER, ME, MDR и MD и поле R2 в командах MER, MDR и MXDR должны определять регистры 0, 2, 4 или 6. Поле R1 в командах MXDR, MXD и MXR и поле R2 в команде MXR должны определять регистры 0 или 4. В противном случае фиксируется особый случай спецификации.

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

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

операция (если в данной установке отсутствуют средства обработки чисел с плавающей точкой или - в случае команд MXDR, MXD и MXR - отсутствуют средства обработки чисел с плавающей точкой повышенной точности);

доступ (выборка второго операнда в командах ME, MD или MXD);

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

переполнение порядка;

исчезновение порядка.

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

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

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

STE R1,D2(X2,B2) [RX, ???????? ????????]

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

¦ 70 ¦ R1 ¦ X2 ¦ B2 ¦ D2 ¦

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

0 7 8 11 12 15 16 19 20 31

STD R1,D2(X2,B2) [RX, ??????? ????????]

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

¦ 60 ¦ R1 ¦ X2 ¦ B2 ¦ D2 ¦

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

0 7 8 11 12 15 16 19 20 31

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

Поле R1 должно определять регистры 0, 2, 4 или 6; в противном случае фиксируется особый случай спецификации.

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

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

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

доступ (запись второго операнда);

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

ВЫЧИТАНИЕ С НОРМАЛИЗАЦИЕЙ

SER R1,R2 [RR, ???????? ????????]

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

¦ 3B ¦ R1 ¦ R2 ¦

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

0 7 8 11 12 15

SE R1,D2(X2,B2) [RX, ???????? ????????]

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

¦ 7B ¦ R1 ¦ X2 ¦ B2 ¦ D2 ¦

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

0 7 8 11 12 15 16 19 20 31

SDR R1,R2 [RR, ??????? ????????]

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

¦ 2B ¦ R1 ¦ R2 ¦

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

0 7 8 11 12 15

SD R1,D2(X2,B2) [RX, ??????? ????????]

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

¦ 6B ¦ R1 ¦ X2 ¦ B2 ¦ D2 ¦

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

0 7 8 11 12 15 16 19 20 31

SXR R1,R2 [RR, ??????????? ????????]

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

¦ 37 ¦ R1 ¦ R2 ¦

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

0 7 8 11 12 15

Второй операнд вычитается из первого операнда, и нормализованная разность помещается на место первого операнда.

Команда ВЫЧИТАНИЕ С НОРМАЛИЗАЦИЕЙ выполняется аналогично команде СЛОЖЕНИЕ С НОРМАЛИЗАЦИЕЙ и отличается от последней лишь тем, что перед сложением знак второго операнда изменяется на противоположный.

Поле R1 в командах SER, SE, SDR и SD и поле R2 в командах SER и SDR должны определять регистры 0, 2, 4 или 6. Поля R1 и R2 в команде SXR должны определять регистры 0 или 4. В противном случае фиксируется особый случай спецификации.

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

0 - мантисса результата равна нулю;

1 - результат меньше нуля;

2 - результат больше нуля;

3 - не бывает.

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

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

доступ (выборка второго операнда в командах SE и SD);

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

переполнение порядка;

исчезновение порядка;

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

ВЫЧИТАНИЕ БЕЗ НОРМАЛИЗАЦИИ

SUR R1,R2 [RR, ???????? ????????]

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

¦ 3F ¦ R1 ¦ R2 ¦

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

0 7 8 11 12 15

SU R1,D2(X2,B2) [RX, ???????? ????????]

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

¦ 7F ¦ R1 ¦ X2 ¦ B2 ¦ D2 ¦

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

0 7 8 11 12 15 16 19 20 31

SWR R1,R2 [RR, ??????? ????????]

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

¦ 2F ¦ R1 ¦ R2 ¦

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

0 7 8 11 12 15

SW R1,D2(X2,B2) [RX, ??????? ????????]

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

¦ 6F ¦ R1 ¦ X2 ¦ B2 ¦ D2 ¦

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

0 7 8 11 12 15 16 19 20 31

Второй операнд вычитается из первого операнда, и ненормализованная разность помещается на место первого операнда.

Команда ВЫЧИТАНИЕ БЕЗ НОРМАЛИЗАЦИИ выполняется аналогично команде СЛОЖЕНИЕ БЕЗ НОРМАЛИЗАЦИИ и отличается от последней лишь тем, что пере сложением знак второго операнда изменяется на противоположный.

Поля R1 и R2 должны задавать номера регистров 0, 2, 4 или 6. В противном случае фиксируется особый случай спецификации.

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

0 - мантисса результата равна нулю;

1 - результат меньше нуля;

2 - результат больше нуля; 3 - не бывает.

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

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

доступ (выборка второго операнда в командах SU и SW);

спецификация; и переполнение порядка;

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

Глава 12. Средства обработки машинных ошибок

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

12.1 Обнаружение машинных ошибок

Механизмы обнаружения машинных ошибок отличаются разнообразием, что особенно характерно для схем управления арифметической и логической обработкой, адресацией, последовательностью и выполнением операций. Для программно адресуемой информации обнаружение ошибки обычно достигается путем добавления избыточной информации, определяемой таким образом, что большинство нарушений при хранении или передаче информации будет приводить к недопустимому коду. Обычно один или несколько избыточных битов присоединяются к группе информационных битов. Такие избыточные биты называются контрольными битами. Группа битов данных вместе с контрольными битами называется контролируемым блоком.

Включение одного контрольного бита в контролируемый блок позволяет обнаружить любую одиночную ошибку в этом блоке. При такой организации контрольный бит иногда называют битом четности. В других случаях вводят несколько контрольных битов, в результате чего увеличиваются возможности контроля и в некоторых случаях обеспечивается избыточность, достаточная не только для обнаружения, но и для исправления ошибки. полное содержимое контролируемого блока, включая избыточные биты, будем называть кодом контролируемого блока или контролируемым кодом (CBC). Говорят, что CBC является допустимым, если он полностью удовлетворяет требованиям контроля (т.е. ошибки не обнаруживаются). Если предусматривается как обнаружение, так и исправление ошибок и если контролируемый код хотя и не является допустимым, но удовлетворяет требованиям контроля, подразумевающим исправление (обнаруженная ошибка может быть исправлена), то будем говорить, что CBC является корректируемым. Наконец, в том случае, когда CBC не удовлетворяет требованиям контроля (неисправимая ошибка), его называют недопустимым.

12.2 Механизмы восстановления

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

Исправление по избыточности

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

Аппаратное повторение операции в процессоре

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

Отключение блока системы

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

12.3 Обработка машинных ошибок

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

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

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

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

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

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

Обработка недопустимого CBC в памяти

Если контролируемый блок содержит недопустимый CBC и предпринята попытка записи в этот блок без замещения блока целиком, то прежние данные в блоке (включая контрольные биты) остаются без изменения, а новые данные в него не заносятся. Обычно содержимое такого блока можно изменить только путем введения полного блока данных в пределах одного цикла обращения к памяти.

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

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

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

Программная коррекция памяти

Выполнение команды ПЕРЕСЫЛКА или ПЕРЕСЫЛКА ДЛИННАЯ вызывает коррекцию области основной памяти, содержащей первый операнд, если удовлетворяются следующие условия:

1. Поля первого и второго операндов, участвующих в операции, не перекрываются.

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

3. В команде ПЕРЕСЫЛКА ДЛИННАЯ поле второго операнда с длиной, отличной от нуля, начинается на границе контролируемого блока и, если оно короче поля первого операнда, содержит целое число контролируемых блоков.

Прерывание или переход процессора в состояние “стоп” во время выполнения команды ПЕРЕСЫЛКА ДЛИННАЯ на коррекцию не влияет.

Обработка недопустимого CBC в ключах памяти

В зависимости от модели каждый ключ памяти может состоять из одного контролируемого блока или же биты защиты и биты изменения и обращения могут находиться в отдельных контролируемых блоках. При записи в память или при выборке с ключом защиты, равным нулю, недопустимый CBC в ключе памяти не принимается во внимание. Обращения к основной памяти, для которых защита не действует, рассматриваются как обращения с ключом защиты, равным нулю. Это относится к таким обращениям, как обращения канала во время процедуры начальной загрузки программы, неявные обращения для продвижения таймера и при прерываниях, а также обращения для доступа к таблицам динамической переадресации. Коррекция ключа памяти осуществляется командой УСТАНОВИТЬ КЛЮЧ ПАМЯТИ. В таблице 12.1 описываются действия, которые выполняются в том случае, когда ключ памяти содержит недопустимый контролируемый код.

Таблица 12.1.Обработка недопустимого CBC в ключах памяти

Вид обращения

Действия по обработке недопустимого CBC

для битов защиты

для битов обращения и изменения

для битов защиты и битов обращения и изменения

Установка ключа памяти

Завершение; коррекция

Завершение; коррекция

Завершение; коррекция

Чтение ключа памяти

Нарушение; сохранение

Нарушение в режиме EC, нарушение или завершение в режиме BC; сохранение

Нарушение; сохранение

Сброс бита обращения

Нарушение или завершение; сохранение

Нарушение; сохранение

Нарушение; сохранение

Выборка, ключ защиты не равен нулю

Контроль; сохранение

Контроль или завершение; сохранение

Контроль; сохранение

Запись в память, ключ защиты не равен нулю

Контроль 1; сохранение

Контроль или завершение; сохранение

Контроль 1; сохранение

Выборка, ключ защиты равен нулю

Завершение; сохранение

Завершение; сохранение

Завершение; сохранение

Запись в память, ключ защиты равен нулю

Завершение; сохранение

Завершение; сохранение или установка

Завершение; сохранение 2

1 Содержимое ячейки основной памяти не изменяется.

2 Относится к моделям с отдельными контролируемыми блоками для битов защиты и для битов обращения и изменения; биты защиты сохраняются, а биты обращения и изменения могут корректироваться или сохраняться.

Примечания.

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

Нарушение - Возникает условие нарушения обработки из-за машинной ошибки или нарушения в системе.

Контроль - Если к памяти обращается процессор, это равносильно нарушению, которое описано выше. Если обращение к памяти происходит в операции ввода-вывода, могут возникнуть следующие комбинации прерывания ввода-вывода и прерывания от схем контроля машины:

а) сбой управления каналом при отсутствии прерывания от схем контроля;

б) сбой управления каналом и сообщение о восстановлении после машинной ошибки;

в) внешнее нарушение при отсутствии прерывания ввода-вывода;


Подобные документы

  • Анализ двоичной, восьмеричной и шестнадцатеричной систем счисления и перевода десятичных чисел. Форматы хранения чисел с плавающей точкой. Программа для преобразования массива констант в формат числа с плавающей точкой на эмуляторе микро-ЭВМ СМ-1800.

    курсовая работа [266,9 K], добавлен 24.12.2013

  • Общая характеристика и преимущество использования двоично-десятичных чисел с плавающей точкой. Разработка цифрового автомата. Функциональное назначение выводов корпуса МК51, арифметико-логического устройства, портов. Примеры деления данных чисел.

    курсовая работа [719,3 K], добавлен 12.09.2015

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

    курсовая работа [1,1 M], добавлен 26.04.2015

  • Операции, осуществляемые при реализации алгоритмов цифровой обработки сигналов. Применение процессора ADSP-2106x для операций с фиксированной и плавающей точкой. Исключения при выполнении операций с плавающей точкой, режимы и границы округления.

    реферат [35,2 K], добавлен 13.11.2009

  • Основные форматы данных и их представление. Запись чисел в формат с плавающей точкой. Вычитание чисел в формате с плавающей точкой. Регистры операндов и результата, размером формата числа с плавающей точкой, двойной точности. Поля смещённого порядка.

    курсовая работа [78,9 K], добавлен 09.09.2014

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

    курсовая работа [125,2 K], добавлен 24.09.2010

  • Периоды применения средств вычислительной техники. Переход к новому поколению электронно-вычислительных машин. Системы, основанные на знаниях. Экспертные системы и искусственный интеллект. Этапы обработки данных на ЭВМ. Иерархическая структура знания.

    презентация [170,6 K], добавлен 14.08.2013

  • Общее представление о записи данных. Виды регистров и типов данных с плавающей точкой. Модель выполнения программы SIMD. Формат данных в памяти регистра с плавающей точкой. Состояние и управление потоковым разрешением. Поле управления округлением.

    реферат [1,1 M], добавлен 06.01.2011

  • Понятие машинной команды как закодированного по определенным правилам указания микропроцессору на выполнение некоторой операции или действия. Элементы машинных команд (код операции, операнд) и их виды (передачи данных, управления, арифметико-логические).

    презентация [120,6 K], добавлен 14.10.2013

  • Арифметические команды языка Assembler в архитектуре x86. Организация ветвлений и циклов в программах. Ввод строк с клавиатуры и команды пакетной обработки (строковые команды). Алгоритм вывода на экран в текстовом режиме с использованием средств BIOS.

    контрольная работа [18,0 K], добавлен 05.07.2014

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.