представляется довольно общим и служит для определения той информации,
которая должна быть помещена в регистры процессора и отдельные ячейки памяти в
момент прерывания для обеспечения возможности возобновления выполнения
приостановленной программы. Полная характеристика вектора состояний
складывается из элементов, относящихся как к аппаратной, так и к программной
частям вычислительной системы юстиции. Простейший вектор состояния,
показанный на рис. 1.3, включает содержимое регистров процессора, где хранятся
результаты выполнения арифметических операций (АС, МQ). К рассматриваемому
вектору также относятся содержимое единственного индексного регистра (IX) и
содержимое базового регистра, т. е. наименьшее значение адреса физической
памяти, используемое в программе. При выполнении очередной команды (Load АС,
1000, I) формируется адрес, равный 1000 плюс содержимое индексного регистра.
Если в IX находится число 23, то индексированное значение адреса составит 1023.
Однако истинное значение адреса мы получим лишь после прибавления к значению
индексированного адреса значения, хранящегося в базовом регистре. Если оно
равно 10 000, то в результате истинным значением адреса, по которому произойдет
ссылка, будет 11 023.
Наконец, последний элемент вектора состояния — это содержимое счетчика
команд, определяющее адрес очередной команды, подлежащей выполнению.
Состояние программы, таким образом, представляется набором из АС, МQ, IX, ВR
и IС, полностью фиксирующим точку, до которой дошло выполнение программы.
Заметим, что вектор состояния не содержит информации о том, какими
устройствами и наборми данных может пользоваться программа и каково состояние
этих устройств и наборов. Это значит, что предполагается существование
расширенного программно поддерживаемого вектора состояния, хранящегося в
определенном месте памяти. Более подробно расширенный вектор состояния
рассматривается в следующих главах.
Блок IDВ (Interrupt Definition Block) — блок прерываний) — наиболее
существенный элемент механизма прерываний. Его содержимое различно для
разных схем прерываний.
Блок прерываний представляет собой аппаратно поддерживаемую структуру,
занимающую всегда первые 28 ячеек памяти. Первые 12 ячеек содержат четыре
элемента, каждый из которых включает но три поля. Каждому элементу
соответствует определенный тип прерывания. Предполагается, что существуют
прерывания четырех типов: из-за ошибки процессора, из-за ошибки адресации, от
первого канала) ввода-вывода и от второго канала ввода-вывода.
Прерывание из-за ошибки процессора возникает в тех случаях, когда
отмечается несовпадение четности, производится попытка деления на нуль,
происходит переполнение в результате выполнения арифметической операции и т.
д. Ошибка адресации фиксируется, если при обращении к памяти используется
недопустимый адрес. Недопустимым считается либо вообще не существующий в
данной конфигурации адрес, либо адрес, меньший минимально допустимого для
данной программы значения, хранящегося в базовом регистре. Прерывание от