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

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

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

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

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

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

Коррекция - новое значение с допустимым CBC устанавливается для всего ключа памяти.

Сохранение - содержимое всего контролируемого блока с недопустимым CBC остается без изменения.

Установка - биты обращения и изменения устанавливаются равными единице с одновременным образованием допустимого CBC.

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

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

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

Появление недопустимого CBC, связанного с управляющим битом “стоп при сбое” (управляющий регистр 14, разряд 0) и с управляющим битом асинхронной фиксированной регистрации (управляющий регистр 14, разряд 9), приведет к тому, что процессор либо немедленно перейдет в состояние “стоп при сбое”, либо будет продолжать работу в предположении, что биты 0 и 9 имеют исходные значения, равные 1 и 0 соответственно.

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

Коррекция регистров

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

Общие регистры корректируются с помощью команд: ПЕРЕХОД С ВОЗВРАТОМ (BAL, BALR), ЗАГРУЗКА (LR) и ЗАГРУЗКА АДРЕСА (LA). Команды ЗАГРУЗКА (L) и ЗАГРУЗКА ГРУППОВАЯ (LM) обеспечивают коррекцию в том случае, когда операнд находится на границе слова, а команда ЗАГРУЗКА ПОЛУСЛОВА (LH) - в том случае, когда операнд находится на границе полуслова.

Регистры с плавающей точкой корректируются с помощью команды ЗАГРУЗКА (LDR). Для этой цели может использоваться также команда ЗАГРУЗКА (LD) при условии, что операнд расположен на границе двойного слова.

Коррекция управляющих регистров по отдельности или группой осуществляется с помощью команды ЗАГРУЗКА УПРАВЛЕНИЯ (LCTL).

Таймер CPU и компаратор корректируются командами УСТАНОВИТЬ ТАЙМЕР CPU и УСТАНОВИТЬ КОМПАРАТОР соответственно.

Коррекция часов выполняется с помощью команды ВЫСТАВИТЬ ЧАСЫ при условии, что переключатель часов находится в положении, разрешающем установку.

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

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

12.4 Состояние “стоп при сбое”

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

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

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

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

В мультипроцессорной системе процессор, перешедший в состояние “стоп при сбое”, выдает запрос на внешнее прерывание для оповещения о сбое всех соединенных с ним процессоров.

12.5 Условия прерывания от схем контроля машины

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

Подавляемые условия

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

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

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

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

Неотложные условия

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

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

12.6 Прерывание от схем контроля машины

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

Действия при прерывании

При прерывании от схем контроля машины текущее PSW, содержащее информацию о точке прерывания, запоминается в ячейке с адресом 48 как старое PSW прерывания от схем контроля; кроме того, в память записывается расширенная информация о прерывании от схем контроля, включающая содержимое всех управляющих регистров, общих регистров, регистров с плавающей точкой, таймера CPU, компаратора, а также региональный код и адрес ячейки памяти с ошибкой. Затем запоминается код прерывания от схем контроля (MCIC), состоящий из 8 байтов. Новое PSW выбирается из ячейки с адресом 112. Дополнительно перед запоминанием кода прерывания может быть выполнена одна или несколько процедур регистрации при аппаратном контроле. Аппаратно формируемые адреса, используемые при прерывании для обращений к старому и новому PSW, к коду прерывания и расширенной информации о прерывании, а также к области фиксированной регистрации, представляют собой реальные адреса. Адрес области расширенной регистрации также является реальным адресом. Если код прерывания от схем контроля не может быть успешно записан или не может быть успешно выбрано новое PSW, процессор переходит в состояние “стоп при сбое” при условии, что бит управления состоянием “стоп при сбое” равен единице.

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

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

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

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

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

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

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

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

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

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

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

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

Точка прерывания

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

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

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

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

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

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

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

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

Регистрация при аппаратном контроле

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

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

Информация при регистрации может быть записана в одну из двух областей памяти или в обе эти области. Одна область, имеющая начальный адрес 256 и длину 96 байтов, называется областью фиксированной регистрации. Дополнительно задается область расширенной регистрации при аппаратном контроле (MCEL). Начальный адрес области MCEL определяется содержимым управляющего регистра 15. Наличие средства расширенной регистрации и длина MCEL зависят от модели.

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

Расширенная информация о прерывании от схем контроля

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

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

Адрес ячейки памяти с ошибкой. Если зафиксирована неисправимая ошибка в памяти, исправимая ошибка в памяти или неисправимая ошибка в ключе памяти, то адрес ячейки памяти с ошибкой запоминается в битах 8-31 слова с адресом 248. Биты 0-7 этого слова устанавливаются равными нулю. В случае ошибки в памяти запоминаемый адрес может быть адресом любого байта в пределах контролируемого блока. В случае неисправимой ошибки в ключе памяти запоминаемый адрес может быть адресом любого байта в пределах 2048-байтвого блока памяти, связанного с ошибочным ключом памяти. Если ошибка обнаружена более чем в одной ячейке памяти до того, как произошло прерывание, адрес ошибки может быть адресом любой из ошибочных ячеек. Запоминаемый адрес является абсолютным адресом, т.е. адресом, полученным после применения динамической переадресации и операции смещения с помощью префикса, если таковая имеет место.

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

Область сохранения регистров. При всех прерываниях от схем контроля содержимое адресуемых регистров последовательно записывается в память. Содержимое регистров с плавающей точкой, которые имеют адреса 0, 2, 4 и 6, запоминается в области с начальным адресом 352. Если средство обработки чисел с плавающей запятой отсутствует, содержимое этой области при прерывании не изменяется. Содержимое общих регистров 0-15 запоминается в области с начальным адресом 384, а содержимое управляющих регистров 0-15 - в области с начальным адресом 448. Информация, записываемая для битов управляющих регистров, которые не связаны с имеющими в системе средствами, непредсказуема.

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

Код прерывания от схем контроля (MCIC) представляет собой поле длиной 8 байтов с начальным адресом 232. Его формат показан в таблице 12.2.

Таблица 12.2Код прерывания от схем контроля (MCIC)

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

¦SPSTCE¦ ¦D ¦ ¦ ¦SSK¦ ¦WMPIFR¦ ¦FGCLS¦

¦DDRDDD¦0¦GW¦00000¦BD¦ECE¦0¦PSMAAC¦0¦PRRGT¦

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

0 5 6 7 9 14 16 20 25 27 31

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

¦ ¦ ¦ ¦ ????? ??????? ???- ¦

¦00000000000000¦CT¦CC¦???????? ???????????¦

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

32 46 47 48 63

Биты 0-5, 7, 8

Подклассы условий прерывания

Биты 14-15

Время выполнения прерывания относительно момента обнаружения ошибки

Биты 16-18

Ошибки в памяти

Биты 20-31, 46, 47

Указатели достоверности

Биты 6, 9-13, 19, 26, 32-45

Не используются. В эти биты записываются нули

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

Подклассы условий прерывания

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

Нарушение в системе (SD). Если бит 0 равен единице, это означает, что произошло нарушение, которое нельзя отнести ни к одному из менее серьезных подклассов нарушений и ни к одной из групп таких подклассов.

Нарушение при обработке команды (PD). Если бит 1 равен единице, то это означает, что сбой был обнаружен во время обработки команды. Точный смысл значения бита 1 зависит от установки бита возврата (разряд 14).

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

Если бит возврата равен нулю, то достоверный адрес команды указывает на начало команды, содержащей элемент операции, который идет после элемента операции, подвергшегося нарушению. Чтобы нарушение было определено как нарушение при обработке команды, между командой с нарушением и точкой прерывание не должно быть какого-нибудь другого прерывания или команды ЗАГРУЗКА PSW, а степень нарушения должна относиться к одной или нескольким из следующих категорий:

1. Область нарушения все еще содержит недопустимый код контролируемого блока.

2. Область нарушения находится в поле операнда команды, в которое заносится результат операции.

3. Область нарушения находится в общих регистров, регистрах с плавающей точкой, управляющих регистрах или PSW.

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

Нарушение в таймере (TD). Если бит 3 равен единице, то это означает, что нарушение произошло в интервальном таймере или в ячейке с адресом 80.

Нарушение в средствах отсчета времени (CD). Если бит 4 равен единице, то это означает, что нарушение возникло либо в часах, либо в таймере CPU, либо в компараторе. Условие нарушения в средствах отсчета времени появляется всякий раз, когда:

1. Часы переходят в состояние “выключены”.

2. Часы переходят в состояние “неисправны”.

3. Часы не находятся в состоянии “неисправны”, но при выполнении команды ЗАПИСЬ В ПАМЯТЬ ПОКАЗАНИЯ ЧАСОВ обнаруживается ошибка, дающая признак результата 2. Это приводит также к нарушению при обработке команды.

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

5. Таймер CPU находится в состоянии ошибки при выполнении команды ЗАПИСЬ В ПАМЯТЬ ЗНАЧЕНИЯ ТАЙМЕРА CPU. В этом случае фиксируется также нарушение при обработке команды.

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

7. Компаратор находится в состоянии ошибки во время выполнения команды ЗАПИСЬ В ПАМЯТЬ ЗНАЧЕНИЯ КОМПАРАТОРА. В этом случае фиксируется также нарушение при обработке команды.

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

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

Наличие и возможности сообщения об ухудшении характеристик зависят от модели.

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

Момент прерывания

Биты 14 и 15 в коде прерывания от схем контроля указывают, в какой момент по отношению к ошибке произошло прерывание.

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

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

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

Задержка (D). Если бит 15 равен единице, то это означает. что некоторые или все условия прерывания от схем контроля были ранее задержаны в ожидании обработки, так как прерывания соответствующих типов были замаскированы во время обнаружения ошибки.

Типы ошибок в памяти

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

Неисправимая ошибка в памяти (SE). Если бит 16 равен единице, то это означает, что контролируемый блок в основной памяти содержит недопустимый CBC.

Исправимая ошибка в памяти (SC). Если бит 17 равен единице, то это означает, что контролируемый блок в основной памяти содержал корректируемый CBC и что часть, представляющая собой данные, была исправлена перед тем, как она была использована процессором или каналом. Допустимый CBC в контролируемом блоке восстанавливается в зависимости от модели. Наличие и возможности исправления ошибок в памяти зависят от модели.

Неисправимая ошибка в ключе памяти (KE). Если бит 18 равен единице, то это означает, что ключ памяти содержит недопустимый CBC.

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

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

Биты достоверности в коде прерывания от схем контроля

Биты 20-31, 46 и 47 в коде прерывания являются битами достоверности. Каждый бит указывает достоверность определенного поля в основной памяти. За исключением бита логической достоверности памяти (бит 31), каждый бит связан с некоторым полем, запоминаемым во время прерывания от схем контроля. Если бит достоверности равен единице, то это означает, что соответствующее поле является достоверным по отношению к указанной точке прерывания и что при записи данных в память не было обнаружено ошибок. Если бит равен нулю, то могли иметь место одно или несколько следующих условий: исходная информация была неправильной, в исходной информации был недопустимый CBC, дополнительные сбои были обнаружены во время запоминания информации, информация вообще не была записана в память или же была записана только частично. даже если информация является непредсказуемой, машина по возможности попытается обеспечить информацию в памяти допустимым CBC и таким образом уменьшить вероятность дополнительных машинных ошибок.

Достоверность битов EMWP в PSW (WP). Если бит 20 равен единице, то это означает правильность содержимого разрядов 12-15 старого PSW прерываний от схем контроля.

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

Достоверность маски программы и признака результата (PM). Если бит 22 равен единице, то это означает правильность содержимого маски программы и признака результата в старом PSW прерывания от схем контроля.

Достоверность адреса команды в PSW (IA). Если бит 23 равен единице, то это означает правильность адреса команды в старом PSW прерываний от схем контроля.

Достоверность адреса ячейки памяти с ошибкой (FA). Если бит 24 равен единице, то это означает, что во время прерывания от схем контроля был записан правильный адрес ячейки памяти с ошибкой. Наличие и возможности указания адреса ошибочного места в памяти зависят от модели. Если ошибки в памяти не зафиксированы, т.е. биты 16-18 в коде прерывания от схем контроля равны нулю, то значение адреса ячейки памяти с ошибкой не имеет смысла, даже если имеется указание о его достоверности.

Достоверность регионального кода (RC). Если бит 25 равен единице, то это означает, что во время прерывания от схем контроля был записан правильный региональный код. Наличие регионального кода зависит от модели.

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

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

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

Достоверность расширенной регистрации (LG). Если бит 30 равен единице, то это означает. что информация, полученная при расширенной регистрации, записана в память правильно.

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

Достоверность таймера CPU (CT). Если бит 46 равен единице, то это означает, что таймер CPU не находится в состоянии ошибки и что содержимое области сохранения таймера CPU (ячейка 216) отражает его правильное состояние во время прерывания.

Достоверность компаратора (CC). Если бит 47 равен единице, то это означает, что компаратор не находится в состоянии ошибки и что содержимое области сохранения компаратора (ячейка 224) отражает его правильное состояние во время прерывания.

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

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

1. Все биты подклассов нарушения (0, 1, 3, 4, 5) равны нулю.

2. Из всех битов подклассов нарушения только бита нарушения при обработке команды равен единице; бит возврата равен 1, а бит задержки равен нулю.

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

Длина информации расширенной регистрации при аппаратном контроле

Биты 48-63 в коде прерывания от схем контроля содержат 16-разрядный двоичный код, указывающий длину в байтах информации, записанной в память при последней расширенной регистрации. Эта информация записывается в область расширенной регистрации, начиная с ячейки, адрес которой задан в управляющем регистре 15.

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

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

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

12.7 Управляющие регистры машинного контроля

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

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

¦CSI¦ ¦RDEWAF¦

¦SLL¦ ¦MMMMLL¦

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

0 3 4 9

CS - стоп при сбое

SL - маска синхронной расширенной регистрации при аппаратном контроле

IL - управление расширенной регистрацией при операциях ввода-вывода

RM - маска сообщения о восстановлении

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

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

WM - маска предупреждения

AL - управление асинхронной расширенной регистрацией при аппаратном контроле

FL - управление асинхронной фиксированной регистрацией

Управляющий регистр 14 (таблица 12.3) содержит биты масок, которые указывают, могут ли определенные условия вызывать прерывания от схем контроля, а также биты управления, которые задают режимы выполнения регистрации при аппаратном контроле. За исключением бита 0, предусмотренного во всех моделях, каждый бит используется только в том случае, если соответствующая функция предусмотрена в данной установке.

Таблица 12.3 Значение битов регистра аппаратного контроля

Обозначение

Название

Номер бита в управляющем регистре 14

Состояние бита после начального программного сброса

CS

Стоп при сбое

0

1

SL

Маска синхронной расширенной регистрации при аппаратном контроле

1

1

IL

Управление расширенной регистрацией при операциях ввода-вывода

2

0

RM

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

4

0

DM

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

5

0

EM

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

6

1

WM

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

7

0

AL

Управление асинхронной расширенной регистрацией при аппаратном контроле

8

0

FL

Управление

9

0

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

Бит управления состоянием “стоп при сбое” (CS), т.е. бит 0 управляющего регистра 14, определяет действия системы в том случае, когда неотложное условие прерывания от схем контроля возникает в одной из следующих ситуаций:

1. Процессор замаскирован для прерываний от схем контроля, т.е. бит 13 в PSW равен нулю.

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

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

Управление регистрацией при аппаратном контроле

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

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

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

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

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

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

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

Таблица 12.4Управление регистрацией при аппаратном контроле

Бит 13 PSW

Бит 1 управления синхронной расширенной регистрацией управляющего регистра 14

Бит 8 управления асинхронной расширенной регистрацией управляющего регистра 14

Выполнение расширенной регистрации при аппаратном контроле

0

X

X

Не производится

1

0

0

Не производится

1

1

0

Может производиться только во время прерывания от схем контроля 1

1

0

1

Может производиться в любое время 2

1

1

1

Может производиться в любое время

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

Выполнение фиксированной регистрации

0

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

1

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

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

2 В этом состоянии в некоторых моделях значение бита асинхронной расширенной регистрации (AL) не принимается во внимание и регистрация не производится.

Примечание.

X - действие не зависит от значения бита.

Маски подклассов сигналов машинного контроля

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

Маска сообщения о восстановлении (RM). Бит 4 управляющего регистра 14 управляет условиями прерывания при восстановлении. Этот бит в исходном состоянии устанавливается равным нулю.

Маска сообщений об ухудшении характеристик (DM). Бит 5 управляющего регистра 14 определяет действия при возникновении условий прерывания в результате ухудшения характеристик. Этот бит в исходном состоянии устанавливается равным нулю.

Маска сообщений о внешнем нарушении (EM). Бит 6 управляющего регистра 14 определяет действия при возникновении следующий условий прерывания от схем контроля: при нарушении в таймере, нарушении в средствах отсчета времени и внешнем нарушении. Этот бит в исходном состоянии устанавливается равным единице.

Маска предупреждения (WM). Бит 7 управляющего регистра 14 определяет действия при возникновении всех условий, предупреждающих о возможности нарушения. Этот бит в исходном состоянии устанавливается равным нулю.

Таблица 12.5Маскирование условий прерывания от схем контроля

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

Подклассы условий прерывания

Маска подкласса

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

Бит “стоп при сбое” равен нулю

Бит “стоп при сбое” равен единице

SD

Нарушение в системе

-

P1

Стоп при сбое

PD

Нарушение при обработке команды

-

P1

Стоп при сбое

TD

Нарушение в таймере

EM

P

P

CD

Нарушение в средствах отсчета времени

EM

P

P

SR

Восстановление в системе

RM

Y

Y

ED

Внешнее нарушение

EM

P

P

DG

Ухудшение характеристик

DM

P

P

W

Предупреждение

WM

P

P

1 Целостность системы может быть нарушена, и систему нельзя считать надежной.

Обозначения:P - условие прерывания может быть сохранено в ожидании обработки или сброшено;

Y - условие прерывания сохраняется в ожидании обработки.

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

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

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

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

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

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

0 7 8 28 29 31

Разряды 8-28 управляющего регистра 15 вместе с присоединенными тремя младшими нулями указывают начальный адрес области расширенной регистрации при аппаратном контроле. В исходном состоянии разряд 22 установлен в единицу, а остальные разряды сброшены в нуль, задавая таким образом начальный адрес области, равный 512. Адрес области расширенной регистрации является реальным адресом.

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

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

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


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

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