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

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

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

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

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

Запрет установки маски системы

Если бит запрета установки маски системы (бит 1 управляющего регистра 0) установлен в 1, выполнение команды УСТАНОВИТЬ МАСКУ СИСТЕМЫ подавляется и происходит программное прерывание по специальной операции. В исходном состоянии значение бита запрета установки маски системы равно 0.

Когда соответствующее оборудование установлено, оно действует одинаково как в режиме BC, так и в режиме EC.

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

Средства подавления команды УСТАНОВИТЬ МАСКУ СИСТЕМЫ можно применять для упрощения преобразования программ, написанных для режима BC, при необходимости обеспечения их работы в режиме EC.

4.3 Слово состояния программы

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

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

¦ ????? ¦I¦ ¦ ???? ¦ ¦ ¦ ¦ ¦ ¦

¦??????? 0-5¦O¦E¦??????¦0¦M¦W¦P¦ ??? ?????????? ¦

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

0 5 6 7 8 11 16 31

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

¦ ¦ ¦ ????? ¦ ¦

¦ILC¦CC¦?????????¦ ????? ??????? ¦

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

32 34 36 39 40 63

Рис. 4.1. Формат PSW в режиме BC

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

¦ ¦ ¦ ¦ ¦I¦ ¦ ???? ¦ ¦ ¦ ¦ ¦ ¦ ¦ ????? ¦ ¦

¦0¦R¦ 000 ¦T¦O¦E¦??????¦1¦M¦W¦P¦00¦CC¦ ????????? ¦ 00000000 ¦

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

0 1 2 4 5 6 7 8 11 16 18 20 23 24 31

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

¦ ¦ ¦

¦ 00000000 ¦ ????? ??????? ¦

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

32 39 40 63

Рис. 4.2. Формат PSW в режиме EC

В одних случаях PSW записывается в память или загружается целиком, в других - только частично. При прерываниях запоминается полное содержимое PSW и происходит выборка нового PSW в качестве текущего. Команда ЗАГРУЗКА PSW задает целиком новое PSW; команда УСТАНОВИТЬ МАСКУ ПРОГРАММЫ устанавливает в PSW новый признак результата и 4 бита новой маски программы; команды УСТАНОВИТЬ МАСКУ СИСТЕМЫ, ЗАПИСЬ В ПАМЯТЬ И МОДИФИКАЦИЯ МАСКИ СИСТЕМЫ ЛОГИЧЕСКИМ УМНОЖЕНИЕМ и ЗАПИСЬ В ПАМЯТЬ И МОДИФИКАЦИЯ МАСКИ СИСТЕМЫ ЛОГИЧЕСКИМ СЛОЖЕНИЕМ заносят новую информацию в крайний левый байт PSW; команда УСТАНОВИТЬ КЛЮЧ PSW вводит новый ключ защиты в PSW; при последовательном выполнении команд адрес команды в PSW получает приращение, а при переходах замещается новым значением. Команда ПРОЧИТАТЬ КЛЮЧ PSW используется для записи в память ключа защиты из PSW; команды ЗАПИСЬ В ПАМЯТЬ И МОДИФИКАЦИЯ МАСКИ СИСТЕМЫ ЛОГИЧЕСКИМ УМНОЖЕНИЕМ и ЗАПИСЬ В ПАМЯТЬ И МОДИФИКАЦИЯ МАСКИ СИСТЕМЫ ЛОГИЧЕСКИМ СЛОЖЕНИЕМ осуществляют запись в память крайнего левого байта PSW; по команде ПЕРЕХОД С ВОЗВРАТОМ запоминается код длины команды, признак результата, маска программы и адрес команды.

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

На рис. 4.1 и 4.2 представлены форматы PSW в режимах BC и EC.

Формат PSW в режиме BC

Режим BC задается нулем в бите 12 PSW. Ниже следует краткое описание назначения полей PSW.

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

Маска ввода-вывода (IO). Бит 6 определяет доступность процессора для прерываний ввода-вывода, относящихся к каналам, начиная с номера 6 и выше. Когда бит маски равен нулю, эти каналы не могут вызвать прерывания ввода-вывода. Если бит равен единице, возможность прерываний ввода-вывода определяется битами масок соответствующих каналов в управляющем регистре 2: когда бит маски канала равен нулю, соответствующий канал не может вызвать прерывание ввода-вывода, а когда этот бит равен единице -- может.

Маска внешних прерываний (E). Бит 7 определяет доступность процессора для прерываний, вызываемых условиями, которые отнесены к классу внешних. Когда этот бит равен нулю, внешнее прерывание не может произойти. Когда бит равен нулю, возможность внешних прерываний определяется битами масок соответствующих подклассов внешних прерываний в управляющем регистре 0: когда бит маски подкласса равен единице, условия, относящиеся к этому подклассу, не могут вызвать прерывание; если бит маски подкласса равен единице, прерывание данного подкласса может произойти.

Ключ защиты. Биты 8-11 являются ключом защиты для процессора. Этот ключ сравнивается с ключом памяти всякий раз, когда производится выборка информации из ячейки, на которую распространяется защита по выборке.

Режим расширенного управления. Бит 12 определяет формат PSW и режим работы процессора. Если бит равен нулю, формат PSW и работа процессора соответствуют режиму основного управления. Если бит равен единице, задан режим расширенного управления.

Маска контроля машины (M). Бит 13 определяет доступность процессора для прерываний, которые вызываются срабатыванием схем контроля машины. Если бит 13 равен нулю, прерывание от схем контроля не может произойти. Если этот бит равен единице, то прерывания, вызванные нарушением в системе или нарушением при обработке команды, разрешены, а разрешены ли прерывания, вызываемые другими условиями, определяется битами масок подклассов прерываний в управляющем регистре 14.

Состояние ожидания (W). Если бит 14 равен единице, процессор находится в состоянии “ожидание”. Если бит 14 равен нулю, процессор находится в состоянии “счет”.

Состояние задачи (P). Если бит 15 равен единице, процессор находится в состоянии “задача”. Если бит 15 равен нулю, процессор находится в состоянии “супервизор”.

Код прерывания. Биты 16-31 старого PSW, запоминаемого во время программных прерываний, прерываний при обращении к супервизору, внешних прерываний или прерываний ввода-вывода, определяют причину прерывания. Когда вводится новое PSW, содержимое этого поля не принимается во внимание.

Код длины команды (ILC). Код в битах 32 и 33 либо указывает длину команды, которая выполнялась последней перед тем, как произошло программное прерывание или прерывание при обращении к супервизору, либо указывает длину команды ПЕРЕХОД С ВОЗВРАТОМ. Когда загружается новое PSW, содержимое этого поля не принимается во внимание.

Признак результата (CC). Биты 34 и 35 содержат код признака результата.

Маска программы. Биты 36-39 являются битами маски программы. Каждый бит относится к одному из особых случаев, возникающих при выполнении программы:

Бит маски программы

Особый случай при выполнении программы

36

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

37

Переполнение в десятичной операции

38

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

39

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

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

Адрес команды. Биты 40-63 задают адрес команды. Этот адрес определяет местонахождение крайнего левого байта следующей команды.

Формат PSW в режиме EC

Режим расширенного управления задается единицей в бите 12 PSW. Далее приводится краткое описание назначения полей PSW.

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

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

Маска ввода-вывода (IO). Бит 6 определяет доступность процессора для прерываний ввода-вывода. Если этот бит равен нулю, прерывание ввода-вывода не может произойти. Если бит равен единице, возможность прерываний ввода-вывода определяется битами масок каналов в управляющем регистре 2: когда бит маски канала равен нулю, канал не может вызвать прерывание; когда же этот бит равен единице, запрос от соответствующего канала может послужить причиной прерывания.

Маска внешних прерываний (E). Бит 7 определяет доступность процессора для прерываний, вызываемых условиями, которые отнесены к классу внешних. Назначение этого бита такое же, как и в режиме BC.

Ключ защиты. Биты 8-11 являются ключом защиты для процессора. Этот ключ сравнивается с ключом памяти всякий раз, когда производится запоминание информации или когда производится выборка информации из ячейки, на которую распространяется защита от выборки.

Режим расширенного управления. Бит 12 определяет формат PSW и режим работы процессора. Если этот бит равен нулю, формат PSW и работа процессора соответствуют режиму основного управления. Если бит 12 равен единице, задан режим расширенного управления.

Маска контроля машины (M). Бит 13 определяет доступность процессора для прерываний, которые вызываются срабатыванием схем контроля машины. Назначение этого бита такое же, как в режиме BC.

Состояние ожидания (W). Если бит 14 равен единице, процессор находится в состоянии “ожидание”, если бит 14 равен нулю -- в состоянии “счет”.

Состояние задачи (P). Если бит 15 равен единице, процессор находится в состоянии “задача”, если бит 15 равен нулю -- в состоянии “супервизор”.

Признак результата (CC). Биты 18 и 19 содержат код признака результата.

Маска программы. Биты 20-23 являются битами маски программы. Назначение этих битов такое же, как и у битов 36-39 PSW для режима BC.

Адрес команды. Биты 40-63 задают логический адрес команды. Этот адрес определяет местоположение крайнего левого байта следующей команды.

Назначение битов PSW с номерами 0, 2-4, 16-17, 24-31, 32-39 не определено. В этих битах должны содержаться нули, в противном случае фиксируется особый случай, указывающий на ошибку в спецификации PSW.

Особые случаи, связанные с PSW

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

Распознавание особых случаев во время занесения в PSW

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

1.) в режиме EC в какой-либо из неопределяемых битов записана единица;

2.) задан режим EC (бит 12 PSW равен единице) при отсутствии в процессоре средств расширенного управления.

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

Если средства для работы в режиме EC не установлены, биты 0-15 и 34-63 неправильного PSW запоминаются в неизменяемом виде в старом PSW программных прерываний, в битах 16-33 которого запоминаются также код прерывания и код длины команды.

Если во время выполнения команды ЗАГРУЗКА PSW или в результате прерывания при занесении PSW обнаруживается одно из двух рассматриваемых условий, код длины команды устанавливается в 0 и вновь занесенное PSW записывается в память в качестве старого PSW; единственные вносимые при этом изменения в PSW вызваны занесением кода прерывания и кода длины команды в режиме BC. Когда одно из этих условий обнаруживается при выполнении команд УСТАНОВИТЬ МАСКУ СИСТЕМЫ и ЗАПИСЬ В ПАМЯТЬ И МОДИФИКАЦИЯ МАСКИ СИСТЕМЫ ЛОГИЧЕСКИМ СЛОЖЕНИЕМ, код длины команды принимает значение 2 и адрес команды увеличивается на 2 полуслова. PSW, содержащее неправильное значение в поле маски системы, запоминается в качестве старого PSW.

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

Распознавание особых случаев при выполнении следующей команды

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

1) записывается адрес команды, в котором бит 63 равен единице (неправильная спецификация);

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

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

При выполнении программного прерывания по спецификации, адресации, защите и спецификации переадресации запоминается значение кода длины команды ILC, которое может быть равно 1, 2 или 3. Эта величина указывает число полуслов, на которое увеличивается адрес команды. Определить заранее, какое значение кода длины команды запомнится (1, 2 или 3), невозможно. Для особых случаев переадресации сегмента и переадресации страницы адрес команды не изменяется и запоминаемое значение ILC (1, 2 или 3) нельзя определить заранее. Текущее PSW запоминается в качестве старого PSW (единственные вносимые при этом изменения в PSW вызваны занесением кода прерывания и кода длины команды в режиме BC) и содержит неправильное значение, послужившее причиной прерывания.

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

Выполнение команд ЗАГРУЗКА PSW, УСТАНОВИТЬ МАСКУ СИСТЕМЫ, ЗАПИСЬ В ПАМЯТЬ И МОДИФИКАЦИЯ МАСКИ СИСТЕМЫ ЛОГИЧЕСКИМ УМНОЖЕНИЕМ и ЗАПИСЬ В ПАМЯТЬ И МОДИФИКАЦИЯ МАСКИ СИСТЕМЫ ЛОГИЧЕСКИМ СЛОЖЕНИЕМ подавляется, если возникают особые случаи адресации и защиты памяти; таким образом, в старом PSW содержится информация о программе, являющейся причиной появления особого случая.

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

Если при выполнении прерывания новое PSW имеет неправильный формат, возникает последовательность прерываний (см. раздел 6.7).

4.4 Управляющие регистры

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

Структура адресации дает возможность использовать для целей управления 16 32-разрядных регистров. Эти регистры не являются частью адресуемой памяти. По команде ЗАГРУЗКА УПРАВЛЕНИЯ выполняется загрузка управляющей информации из основной памяти в управляющие регистры. По команде ЗАПИСЬ В ПАМЯТЬ УПРАВЛЕНИЯ информация переносится из управляющих регистров в основную память. Эти две команды подобны командам ЗАГРУЗКА ГРУППОВАЯ и ЗАПИСЬ В ПАМЯТЬ ГРУППОВАЯ.

Для тех средств, которым это необходимо, выделяется один или несколько разрядов в управляющих регистрах. Если некоторое средство и соответствующие ему биты управляющих регистров в данной установке имеются, то эти биты выполняют определенные управляющие функции. При этом команда ЗАПИСЬ В ПАМЯТЬ УПРАВЛЕНИЯ возвращает в память информацию из управляющих регистров, которая была занесена туда при выполнении команды ЗАГРУЗКА УПРАВЛЕНИЯ или при выполнении сброса. При выполнении команды ЗАПИСЬ В ПАМЯТЬ УПРАВЛЕНИЯ значение неиспользуемых битов управляющих регистров непредсказуемо.

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

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

Таблица 4.1. Назначение полей управляющих регистров

Регистр

Биты

Название поля

Средство

Исходное Состояние

0

0

Управление блок-мультиплексированием

Блок-мультиплекнсый канал

0

0

1

Управлением запретом установки маски системы

Запрет установки маски системы

0

0

2

Управление синхронизацией часов

Мультипроцессорный режим

0

0

8-9

Управление размером страниц

Динамическая переадресация

0

0

10

Назначение не определено, должно быть равно 0

То же

0

0

11-12

Управление размером сегментов

То же

0

0

16

Маска оповещения о сбое

Мультипроцессорный режим

0

0

17

Маска экстренного сигнала

То же

0

0

18

Маска внешнего вызова

То же

0

0

19

Маска контроля синхронизации часов

То же

0

0

20

Маска компаратора

Компаратор

0

0

21

Маска таймера CPU

Таймер CPU

0

0

24

Маска интервального таймера

Интервальный таймер

0

0

25

Маска кнопки прерывания

Кнопка прерывания

0

0

26

Маска внешних сигналов

Внешние сигналы

1

1

0-7

Длина таблицы сегментов

Динамическая переадресация

0

1

8-25

Адрес таблицы сегментов

То же

0

2

0-31

Маски каналов

Каналы

1

8

16-31

Маски монитора

Монитор

0

9

0

Маска регистрации переходов

Регистрация программных событий

0

9

1

Маска регистрации выборки команд

То же

0

9

2

Маска регистрации изменений в памяти

То же

0

9

3

Маска регистрации изменений в общих регистрах

То же

0

9

8-31

Маски общих регистров для PER1

То же

0

10

8-31

Начальный адрес области памяти, охваченной регистрацией

То же

0

11

8-31

Конечный адрес области памяти, охваченной регистрацией

То же

0

14

0

Управление состоянием “стоп при сбое”

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

1

14

1

Управление синхронной MCEL2

То же

1

14

2

Управление IOEL3

Расширенная аппаратная регистрация ввода-вывода

0

14

4

Маска сообщения о восстановлении

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

0

14

5

Маска сообщения об ухудшении характеристик

То же

0

14

6

Маска сообщения о внешнем нарушении

То же

1

14

7

Маска предупреждения

То же

0

14

8

Управление асинхронной MCEL

То же

0

14

9

Бит управления асинхронной фиксированной регистрацией при аппаратном контроле

То же

0

15

8-28

Адрес области MCEL

То же

5124

1 PER - регистрация программных событий.

2 MCEL - расширенная аппаратная регистрация по сигналам от схем контроля машины.

3 IOEL - расширенная аппаратная регистрация ввода-вывода.

4 Бит 22 устанавливается равным единице, а все остальные биты устанавливаются равными нулю, что дает десятичное значение адреса 512.

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

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

Для того чтобы гарантировать правильное выполнение уже написанных программ в тех случаях, когда установлены новые средства, использующие дополнительные биты управляющих регистров, во все неиспользуемые биты этих регистров следует записывать нули. Хотя в некоторых моделях процессоров команда ЗАПИСЬ В ПАМЯТЬ УПРАВЛЕНИЯ и обеспечивает запись нулей в позиции, соответствующие неиспользуемым битам управляющих регистров, программа не должна зависеть от выполнения этой операции.

4.5 Ключ памяти

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

Ключ памяти имеет следующий формат:

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

¦ ACC ¦F¦R¦C¦

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

0 3 4 5 6

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

Биты управления доступом (ACC). Биты 0-3 сравниваются с битовым ключом защиты всякий раз, когда выполняется запоминание информации и производится выборка информации из ячеек, защищенных от выборки.

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

Бит обращения (R). Бит 5 обычно устанавливается равным единице каждый раз, когда к ячейке соответствующего блока памяти производится обращение для записи или выборки информации. Этот бит относится к средствам динамической переадресации.

Бит изменения (C). Бит 6 устанавливается равным единице каждый раз, когда в соответствующий блок памяти записывается информация. Этот бит относится к средствам динамической переадресации.

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

4.6 Защита памяти

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

Действия, выполняемые при защите

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

Таблица 4.2. Действия средств защиты

Условия обращения

Разрешается ли доступ к памяти?

Состояние бита 4 ключа памяти

Соответствие ключей

Выборка

Запись

0

Соответствие

Да

Да

0

Несоответствие

Да

Нет

1

Соответствие

Да

Да

1

Несоответствие

Нет

Нет

Примечания. Соответствие - четыре старших бита ключа памяти совпадают с ключом защиты в PSW или ключ защиты в PSW равен нулю. “Да” - доступ разрешается. “Нет” - доступ не разрешается; при выборке программа не получает информацию, а при записи содержимое ячейки памяти не изменяется.

Если при наличии защиты обращение к памяти исходит от процессора, то для сравнения используется ключ защиты, находящийся в текущем PSW. Ключ защиты занимает биты 8-11 PSW. Если при наличии защиты обращение выполняется каналом, то для сравнения используется ключ защиты, связанный с данной операцией ввода-вывода. Этот ключ защиты содержится в битах 0-3 адресного слова канала (CAW) и записывается в биты 0-3 слова состояния канала (CSW), запоминаемого в результате выполнения данной операции ввода-вывода.

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

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

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

Обращения к памяти, контролируемые защитой

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

Защита не применяется при неявных обращениях к памяти процессора или канала в таких последовательностях действий, как прерывания, продвижение интервального таймера, аппаратная регистрация, динамическая переадресация, выборка адресного слова канала при выполнении команды ввода-вывода, запоминание CSW в результате выполнения команды ввода-вывода или прерывания, запоминание идентификатора канала во время выполнения команды ЗАПИСАТЬ ИДЕНТИФИКАТОР КАНАЛА, начальная загрузка программы и запись в память состояния. Аналогично защита не применяется при обращениях, выполняемых с пульта управления системой для ввода или получения информации. Однако, если области памяти, используемые при перечисленных обращениях, определены в программе явно, они являются объектом защиты.

4.7 Монитор

Обеспечение мониторных программ состоит в том, что предусматривается возможность передачи управления программе, осуществляющей определенные управляющие функции (мониторной программе, или монитору), при достижении в выполняемой программе некоторых выделенных точек. Такими точками являются команды ОБРАЩЕНИЕ К МОНИТОРУ, вставленные в программу. Выполнение команды ОБРАЩЕНИЕ К МОНИТОРУ вызывает программное прерывание для обращения к монитору при условии, что для класса монитора, заданного в команде, прерывание разрешено. Во время прерывания класс и код монитора записываются в память и в дальнейшем используются мониторной программой.

Обеспечение мониторных программ выполняется с помощью команды ОБРАЩЕНИЕ К МОНИТОРУ, в которой задается один из 16 классов монитора, и 16 масок монитора, находящихся в управляющем регистре. Каждому классу соответствует один бит маски. Выполнение команды вызывает программное прерывание, если бит маски монитора для класса, заданного в команде, равен единице.

Программа может обращаться к монитору в режимах BC и EC.

Маски монитора находятся в битах 16-31 управляющего регистра 8:

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

¦ ¦ ????? ???????? ¦

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

0 15 16 31

Биты 16-31 относятся к классам монитора 0-15 соответственно. В биты маски монитора может быть записано произвольное количество единиц. В совокупности они задают группу классов мониторных событий, обслуживаемых в данное время. Исходные значения битов масок, устанавливаемые при сбросе, равны нулю.

Если для выполнения выбрана команда ОБРАЩЕНИЕ К МОНИТОРУ и соответствующий бит маски монитора равен единице, происходит программное прерывание для обращения к монитору. Причина прерывания определяется битом 9 кода прерывания, который устанавливается равным единице, и информацией, помещаемой в ячейки 148-149 и 156-159 основной памяти. Информация, записанная в эти ячейки, имеет следующий одинаковый для режимов BC и EC формат:

?????? 148-149:

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

¦ 00000000 ¦????? ????????¦

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

0 7 8 15

?????? 156-159:

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

¦ 00000000 ¦ ??? ???????? ¦

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

0 7 8 31

Содержимое битов 8-15 команды ОБРАЩЕНИЕ К МОНИТОРУ, определяющее класс монитора, записывается в ячейку 149. Адрес, определяемый в команде полями B1 и D1, задает код монитора и помещается в ячейки 157-159. В ячейки 148 и 156 записываются нули.

4.8 Регистрация программных событий

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

-- успешное выполнение команды перехода;

-- изменение содержимого заданных общих регистров;

-- выборка команды из заданной области основной памяти;

-- изменение содержимого заданной области основной памяти.

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

Назначение управляющих регистров

Управление регистрацией программных событий осуществляется с помощью управляющих регистров 9, 10 и 11, которые содержат следующие поля.

Управляющий регистр 9:

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

¦ ????? ¦ ¦ ????? ????? ????????? ¦

¦ ??????? ¦ ¦ ¦

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

0 3 4 15 16 31

??????????? ??????? 10:

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

¦ ¦ ????????? ????? ¦

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

0 7 8 31

??????????? ??????? 11:

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

¦ ¦ ???????? ????? ¦

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

0 7 8 31

Маски событий. Биты 0-3 управляющего регистра 9 определяют, какие события контролируются. Между битами и программными событиями имеет место следующее соответствие:

-- бит 0 - переходы;

-- бит 1 - выборка команд;

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

-- бит 3 - изменение содержимого общих регистров.

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

Маски общих регистров. Биты 16-31 управляющего регистра 9 определяют, изменение содержимого каких общих регистров подвергается контролю. 16 битов в порядке возрастания их номеров соответствуют 16 общим регистрам в порядке возрастания их адресов. Если какой-либо бит равен единице, изменение содержимого соответствующего общего регистра подлежит контролю. Если же бит равен нулю, регистр не контролируется.

Начальный адрес области памяти. Биты 8-31 управляющего регистра 10 определяют адрес начала контролируемой области основной памяти.

Конечный адрес области памяти. Биты 8-31 управляющего регистра 10 определяют адрес конца контролируемой области основной памяти.

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

Использование контроля над программными событиями ухудшает рабочие характеристики большинства моделей. Чтобы избежать ухудшения характеристик процессора, вызываемого средствами регистрации программных событий, программа, которая не нуждается в этих средствах, должна обеспечить установку в нуль бита маски регистрации программных событий в PSW для режима EC. В этом случае, а также в режиме BC ухудшения характеристик из-за работы средств регистрации программных событий не происходит. Запрещение регистрации программных событий в режиме EC с помощью масок и адресов управляющих регистров 9-11 не всегда, однако, предотвращает ухудшение характеристик.

Функции

Средства регистрации программных событий (PER) доступны только в режиме EC и управляются маской PER (бит 1 PSW). Когда маска установлена в нуль, никакое программное событие не может вызывать прерывания; когда маска установлена в единицу, возможность прерываний определяется битами управления PER управляющего регистра 9. Подразумевается, что в режиме BC маска PER равна нулю и средства регистрации программных событий отключены.

Если происходит заданное программное событие и процессор допускает регистрацию, выполняется программное прерывание. Причина прерывания определяется битом 8 кода прерывания, который устанавливается равным единице, и информацией, помещаемой в ячейки 150-155 основной памяти. Код прерывания в этом случае может одновременно указать на программное событие и на какую-либо другую причину программного прерывания. Информация, записанная в ячейки 150-155, имеет следующий формат.

?????? 150-151:

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

¦ ??? PER ¦ 000000000000 ¦

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

0 7 8 31

?????? 152-155:

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

¦ 00000000 ¦ ????? PER ¦

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

0 7 8 31

Программное событие, послужившее причиной прерывания, указывается установкой единицы в поле кода PER (биты 0-3 ячейки 150), причем остальные биты кода PER равны при этом нулю. Одним и тем же событиям соответствуют одни и те же биты в коде PR и в маске событий управляющего регистра 9. Если прерывание было вызвано сразу несколькими программными событиями, то все они одновременно указываются в коде PER.

Адрес PER в ячейках 153-155 определяет местоположение команды, вызвавшей программное событие. Если команда, вызвавшая программное событие, выполнялась с помощью команды ВЫПОЛНИТЬ, то в поле адреса PER заносится адрес команды ВЫПОЛНИТЬ. В любом случае в PSW заносится адрес команды, которая должна выполняться следующей. В биты 4-7 ячейки 150 и в ячейки 151 и 152 записываются нули.

Прерывание из-за программного события производится после выполнения команды, ответственной за это событие. Наступление события не влияет на выполнение команды, которое может быть завершено, прекращено, подавлено или аннулировано. Если событие состоит в выборке команды ОБРАЩЕНИЕ К СУПЕРВИЗОРУ, то прерывание из-за программного события происходит сразу же после прерывания при обращении к супервизору.

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

Изменение маски PER в PSW или полей управления PER в управляющих регистрах 9-11 влияет на регистрацию программных событий, начиная со следующей команды. Когда процессор находится в состоянии, разрешающем прерывание по некоторому программному событию, и выполняется команда, вызывающая запрещение прерывания по этому событию, то наступление указанного события во время выполнения данной команды вызывает прерывание.

Если выполнение команд ЗАГРУЗКА PSW или ОБРАЩЕНИЕ К СУПЕРВИЗОРУ приводит к возникновению условия регистрации программных событий и одновременно происходит перевод процессора из режима EC в режим BC, то прерывание для регистрации программных событий выполняется. При этом в старом PSW будет указан режим BC, и оно будет содержать код прерывания. Дополнительная информация, определяющая условие регистрации, запоминается в ячейках 150-155 в обычном формате.

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

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

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

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

1. Команды ЗАГРУЗКА PSW, УСТАНОВИТЬ МАСКУ СИСТЕМЫ, ЗАПИСЬ В ПАМЯТЬ И МОДИФИКАЦИЯ МАСКИ СИСТЕМЫ ЛОГИЧЕСКИМ УМНОЖЕНИЕМ и ОБРАЩЕНИЕ К СУПЕРВИЗОРУ могут послужить причиной наступления события, состоящего в выборке команды, и одновременно запретить прерывания для регистрации программных событий. Кроме того, команда ЗАПИСЬ В ПАМЯТЬ И МОДИФИКАЦИЯ МАСКИ СИСТЕМЫ ЛОГИЧЕСКИМ УМНОЖЕНИЕМ может вызвать необходимость регистрации изменения содержимого памяти. Во всех этих случаях старое PSW программных прерываний, связанное с прерыванием по программному событию, может указывать на запрет прерывания данного типа.

2. Команда ЗАГРУЗКА УПРАВЛЕНИЯ может послужить причиной наступления события, состоящего в выборке команды, и в то же время изменить значение маски регистрации выборки команд в управляющем регистре 9 или значения адресов в управляющих регистрах 10 и 11.

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

Когда при выполнении прерываемой команды происходит прерывание для регистрации программных событий, в коде длины команды указывается длина данной команды либо длина команды ВЫПОЛНИТЬ, с помощью которой выполняется данная команда. Если прерывание для регистрации программных событий вызвано командами ЗАГРУЗКА PSW или ОБРАЩЕНИЕ К СУПЕРВИЗОРУ, то в коде длины команды указывается длина данной команды или соответствующей команды ВЫПОЛНИТЬ при условии, что одновременно не возникает особый случай спецификации, вызывающий установку кода длины команды в 0.

Когда прерывание для регистрации программных событий вызвано выполнением команды перехода, адрес PER указывает на команду перехода (или на соответствующую команду ВЫПОЛНИТЬ), в то время как в старом PSW содержится адрес команды, которая должна быть выполнена следующей. Если же прерывание происходит во время выполнения прерываемой команды, адрес PER и адрес команды в старом PSW совпадают.

Задание области памяти

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

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

Группа ячеек, выделенная для регистрации событий, может продолжаться и за ячейкой с адресом 16 777 215; считается, что за ячейкой с адресом 16 777 215 следует ячейка с адресом 0. Когда начальный адрес меньше конечного, область является неразрывной. Если же начальный адрес больше конечного, то группа ячеек, заданная для регистрации событий, включает область от ячейки, задаваемой начальным адресом, до ячейки, имеющей максимальный адрес в системе, и область от ячейки с адресом 0 до ячейки, задаваемой конечным адресом. Если начальный адрес совпадает с конечным, контролируется только ячейка, имеющая этот адрес.

Контроль за изменениями в памяти и выборкой команд осуществляется путем сравнения всех 24 битов адреса.

Программные события

Переход

Выполнение перехода вызывает прерывание по программному событию, если бит 0 в поле масок событий PER и маска PER в PSW равны единице.

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

УСЛОВНЫЙ ПЕРЕХОД;

ПЕРЕХОД С ВОЗВРАТОМ;

ПЕРЕХОД ПО СЧЕТЧИКУ;

ПЕРЕХОД ПО ИНДЕКСУ БОЛЬШЕ;

ПЕРЕХОД ПО ИНДЕКСУ МЕНЬШЕ ИЛИ РАВНО.

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

Регистрация перехода осуществляется путем установки бита 0 кода PER в единицу.

Выборка команды

Выборка первого байта команды из области основной памяти, заданной содержимым управляющих регистров 10 и 11, вызывает прерывание по программному событию, если бит 1 в поле масок событий PER и маска PER в PSW равны единице.

Программное событие распознается всякий раз, когда процессор выполняет команду, первый байт которой принадлежит контролируемой области. Если для выполнения некоторой команды используется команда ВЫПОЛНИТЬ, то программное событие распознается в тех случаях, когда в контролируемой области находится либо первый байт команды ВЫПОЛНИТЬ, либо первый байт подчиненной команды, либо первые байты обеих команд.

Регистрация выборки команды осуществляется путем установки бита 1 кода PER в единицу.

Изменение содержимого памяти

Запись процессором данных в область основной памяти, заданную содержимым управляющих регистров 10 и 11, вызывает прерывание по программному событию, если бит 2 в поле масок событий PER и маска PER в PSW равны единице.

Считается, что изменение содержимого основной памяти происходит всякий раз, когда процессор выполняет команду, вызывающую запись всего операнда или его части в контролируемую область основной памяти, а также каждый раз, когда фиксируются особые случаи защиты, связанные с записью в память (см. раздел “Распознавание особых случаев доступа” главы 6). Считается, что при выполнении арифметической команды или команды пересылки производится выборка операнда, а также выполнение, если это необходимо, указанной операции и запись результата в память. С точки зрения регистрации программных событий такая запись в основную память представляет собой изменение содержимого памяти, даже если записываемое значение совпадает с исходным.

Контролю не подлежат такие ячейки, как интервальный таймер, PSW, CSW и области аппаратной регистрации, если процессор обращается к ним неявно при продвижении таймера, прерываниях, выполнении команд ввода-вывода и аппаратной регистрации по сигналам контроля машины. Однако эти ячейки контролируются, если они заданы явно в команде, при выполнении которой в них записывается информация. Аналогично контроль не выполняется при передаче данных в память каналом. Ключи памяти не считаются частью основной памяти, и поэтому изменения их содержимого при выполнении команд УСТАНОВИТЬ КЛЮЧ ПАМЯТИ и СБРОСИТЬ БИТ ОБРАЩЕНИЯ средствами регистрации программных событий не контролируются.

Если в команде ЗАПИСЬ В ПАМЯТЬ СИМВОЛОВ ПО МАСКЕ маска равна 0, то считается, что при выполнении этой команды содержимое ячейки памяти не изменяется.

При выполнении команд СРАВНЕНИЕ С ОБМЕНОМ и СРАВНЕНИЕ ДВОЙНОЕ С ОБМЕНОМ считается, что изменение содержимого ячейки второго операнда имеет место только в тех случаях, когда запись в память действительно происходит.

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

Изменение содержимого общих регистров

Изменение содержимого общего регистра вызывает прерывание по программному событию, если бит 3 в поле масок событий PER, маска изменения, соответствующая этому общему регистру, и маска PER в PSW равны единице.

Содержимое общего регистра считается измененным всякий раз, когда в этот регистр заносится новое значение. Для распознавания не обязательно, чтобы новое значение отличалось от предшествующего. Считается, что при выполнении арифметической команды формата “регистр-регистр” или команды загрузки формата “регистр-регистр” производится выборка содержимого регистра, а также выполнение, если это необходимо, указанной операции и замещение результатом прежнего значения в регистре. Регистр может быть задан неявно, как, например, в командах ПЕРЕКОДИРОВАТЬ И ПРОВЕРИТЬ и ОТРЕДАКТИРОВАТЬ И ОТМЕТИТЬ, или явно, как в командах форматов RR, RX или RS, включая команды ПЕРЕХОД С ВОЗВРАТОМ, ПЕРЕХОД ПО СЧЕТЧИКУ, ПЕРЕХОД ПО ИНДЕКСУ БОЛЬШЕ и ПЕРЕХОД ПО ИНДЕКСУ МЕНЬШЕ ИЛИ РАВНО.

При выполнении команд ОТРЕДАКТИРОВАТЬ И ОТМЕТИТЬ и ПЕРЕКОДИРОВАТЬ И ПРОВЕРИТЬ считается, что изменение содержимого общего регистра 1 имеет место только в тех случаях, когда запись информации в этот регистр действительно происходит.

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

Если в команде ПРОЧИТАТЬ СИМВОЛЫ ПО МАСКЕ маска равна нулю, то считается, что при выполнении этой команды содержимое общего регистра не изменяется.

При выполнении команд СРАВНЕНИЕ С ОБМЕНОМ и СРАВНЕНИЕ ДВОЙНОЕ С ОБМЕНОМ считается, что изменение содержимого общего регистра или пары общих регистров, заданных полем R1, имеет место только в тех случаях, когда содержимое действительно замещается, т.е. когда первый и второй операнды не равны.

Для указания о событии, состоящем в изменении содержимого регистра, бит 3 кода PER устанавливается равным единице.

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

Ниже приводятся некоторые примеры изменения содержимого общих регистров.

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

2. Сложение содержимого регистра с 0 или вычитание из него 0, а также умножение этого содержимого или деление на 1 рассматриваются как вызывающие изменение содержимого общего регистра.

3. Считается, что операции сдвига кодов и арифметических сдвигов изменяют содержимое регистра, даже если величина сдвига равна 0.

4. Считается, что при выполнении команд переходов BXH и BXLE первый операнд изменяется, даже если к его значению прибавляется 0.

Индикация программных событий совместно с другими условиями прерывания

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

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

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

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

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

5. Если при выполнении команды ЗАГРУЗКА PSW или команды ОБРАЩЕНИЕ К СУПЕРВИЗОРУ возникает условие прерывания для регистрации программного события и одновременно устанавливается новое PSW с ошибкой формата, которая обнаруживается сразу же после того, как PSW становится активным, то код прерывания будет отражать обе причины прерывания: регистрацию программного события и ошибочную спецификацию. Если же в результате выполнения этих команд устанавливается PSW с ошибкой формата, которая обнаруживается во время выполнения следующей команды, это PSW записывается в память в качестве старого PSW без указания особого случая.

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

Таблица 4.3. Индикация программных событий

Особый случай

Тип окончания

Программное событие

Переход

Выборка команды

Изменение в памяти


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

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