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

IBM370

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

Части си-

Виды сбросов

 

 

 

 

стемы, на

 

 

 

 

 

 

которые

 

 

 

 

 

 

действует

 

 

 

 

 

 

сброс

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Сброс

Программ-

Начальный

Начальный

Сброс с

Сброс при

 

процессо-

ный сброс

сброс про-

программный

очисткой

включении

 

ра

 

цессора

сброс

 

питания

 

 

 

 

 

 

 

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

навливается нулевое содержимое.

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

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

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

понента.

4 Обращение к часам с помощью команды ЗАПИСЬ В ПАМЯТЬ ПОКАЗАНИЯ ЧАСОВ во время выполнения сброса не нарушает работу часов.

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

S — выполняется сброс процессора. После завершения сброса процессор переходит в состояние “стоп”.

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

няются. Это справедливо и в том случае, если процессор перед сбросом находился в со-

стоянии “стоп”.

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

граммы, то связь процессора с каналом может быть прекращена и о состоянии канала,

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

R — выполняется сброс системы ввода-вывода во всех подключенных каналах, и усло-

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

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

жимое после сброса.

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

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

манде СИГНАЛ ПРОЦЕССОРУ. Для выполнения сброса процессора в некоторых процессора предусмотрены средства управления, зависящие от модели.

Начальный сброс процессора

Начальный сброс процессора вызывает выполнение сброса процессора и, кроме того, пе-

ред тем, как процессор переходит в состояние “стоп”, выполняются следующие действия:

содержимое PSW, регистра префикса, таймера CPU и компаратора устанавливается равным 0 с допустимым кодом в контролируемых блоках;

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

Так как при начальном сбросе процессора содержимое PSW устанавливается в 0, формат

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

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

Начальный сброс процессора является частью начального программного сброса и сброса с очисткой; кроме того, он выполняется в том случае, когда получен приказ о начальном сбросе процессора, заданный в команде СИГНАЛ ПРОЦЕССОРУ. Для выполнения начального сброса процессора в некоторых процессорах предусмотрены средства управления, зависящие от мо-

дели.

Сброс системы ввода-вывода

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

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

лу.

Воздействие сброса системы на контроллеры и внешние устройства и состояния, в которые переводятся эти устройства в результате сброса, описываются в соответствующей публикации Библиотеки системы (SL) или Справочной библиотеки системы (SRL). В любом случае сброс системы прекращает только те функции разделенного контроллера и внешнего устройства, ко-

торые связаны с работой процессора, пославшего сигнал сброса.

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

но не может быть выполнен самостоятельно.

Программный сброс

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

82

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

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

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

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

ключатель очистки системы находится в нормальном положении.

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

данный в команде СИГНАЛ ПРОЦЕССОРУ.

Начальный программный сброс

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

действия этого сброса на другие компоненты системы приводится в табл. 4.5.

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

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

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

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

данный в команде СИГНАЛ ПРОЦЕССОРУ.

Сброс с очисткой

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

вывода во всех каналах, подключенных к данному процессору, и устанавливается нулевое со-

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

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

руемых блоках формируется допустимый код.

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

дится в табл. 4.5.

Выполнение функции сброса с очисткой в некотором процессоре может быть вызвано сле-

дующими причинами.

83

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

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

3.В случае мультипроцессорной системы выполнением какого-либо из перечисленных вы-

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

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

Для того чтобы при сбросе процессора или при начальном сбросе процессора не были за-

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

са обязан находиться в состоянии, в котором команды не выполняются и все прерывания за-

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

CPU и компаратора, а также возможности выполнения прерывания от схем контроля, может быть остановлена путем перевода процессора в состояние “ожидание” с запрещением преры-

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

ществления сброса процессора во время работы средств отсчета времени или во время вы-

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

Выполнение сброса процессора не оказывает влияния на работу часов и их показание.

При сбросе с очисткой во всех битах интервального таймера устанавливаются нули.

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

сюда следует, что если сброс процессора или начальный сброс процессора происходит тогда,

когда он находится в состоянии “стоп при сбое”, то нельзя полностью гарантировать неиска-

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

торым были обращения во время возникновения ошибки.

Сброс при включении питания

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

полняется как часть процесса включения питания для этого компонента.

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

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

Сброс процессора при включении питания

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

84

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

лей содержимое этих регистров устанавливается равным нулю; в некоторых моделях о содер-

жимом регистров ничего нельзя сказать заранее, за исключением лишь того, что код в контро-

лируемых блоках будет допустимым.

Сброс часов при включении питания. При этом сбросе показание часов устанавливается равным нулю и часы переводятся в состояние “не выставлены”.

Сброс основной памяти при включении питания. При таком сбросе в основной памяти энергозависимого типа (т.е. такой, которая не сохраняет содержимого при выключении пита-

ния) в контролируемых блоках формируется допустимый код. То же самое делается и в ключах памяти. В большинстве моделей в памяти и в ключах устанавливается нулевое содержимое; в

некоторых моделях о содержимом ничего сказать заранее нельзя, кроме того, что код в кон-

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

тролируемых блоках.

Запись состояния

Средство записи состояния обеспечивает:

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

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

— выполнение функции записи состояния по инициативе оператора.

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

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

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

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

регистр префикса или средство обработки чисел с плавающей точкой, то содержимое соответ-

ствующих ячеек основной памяти остается без изменения.

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

си состояния, и приводятся длины и адреса полей, отведенных в основной памяти для этой информации.

Таблица 4.6. Постоянно распределенные ячейки памяти для записи состояния

Источники информации

Длина поля,

Абсолютный адрес

 

байт

1

 

 

 

 

 

Таймер CPU

8

216

 

 

 

Компаратор

8

224

 

 

 

85

Источники информации

Длина поля,

Абсолютный адрес

 

байт

1

 

 

 

 

 

Текущее PSW

8

256

 

 

 

Префикс

4

264

 

 

 

Средства, зависящие от модели

4

268

 

 

 

Регистры с плавающей точкой 0–

32

352

6

 

 

 

 

 

Общие регистры 0–15

64

384

 

 

 

Управляющие регистры 0–15

64

448

 

 

 

1 Десятичное значение адреса первого байта поля в абсолютной основной памяти.

Содержимое регистров не изменяется. Если во время операции записи состояния встреча-

ется ошибка, процессор переходит в состояние “стоп при сбое”.

Запись состояния может быть осуществлена оператором с пульта управления системой.

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

мультипроцессорной системе операция записи состояния в некотором процессоре может быть осуществлена по приказу об останове и записи состояния, заданному в команде СИГНАЛ ПРОЦЕССОРУ.

Начальная загрузка программ

Начальная загрузка программ (IPL) позволяет начать обработку в тех случаях, когда содер-

жимое основной памяти или PSW не подходит для работы.

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

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

дится переключатель очистки. После этого начинается операция чтения на указанном устрой-

стве ввода.

Операция чтения проводится так, как если бы была выполнена команда НАЧАТЬ ВВОД-

ВЫВОД, определяющая внешнее устройство, адрес которого набран на переключателях адре-

са устройства загрузки, и использующая адресное слово канала (CAW), которое содержит ну-

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

CCW содержит: код команды “читать” с битами модификации, равными нулю; адрес данных,

86

равный нулю; счетчик байтов, равный 24; флажок цепочки команд, равный 1; флажок подавле-

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

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

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

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

Если указанное внешнее устройство выдает сигнал КОНЕЦ РАБОТЫ КАНАЛА, относящийся к последней операции в цепочке IPL, и при работе не обнаружено никаких особых случаев, то из ячеек 0–7 выбирается новое PSW. Если это PSW задает режим BC, то адрес внешнего устройства, с которого происходила загрузка, записывается в память в ячейки 2–3; если же в

PSW задан режим EC, адрес внешнего устройства записывается в ячейки 186–187, а в ячейку

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

лением нового PSW.

Если при работе IPL сигнал КОНЕЦ РАБОТЫ КАНАЛА приходит отдельно или одновремен-

но с сигналом КОНЕЦ РАБОТЫ УСТРОЙСТВА, то никаких условий прерывания ввода-вывода не возникает. Аналогично все флажки программно-управляемого прерывания, которые могут быть заданы в командах канала (CCW), используемых в процедуре IPL, игнорируются. Если же сигнал КОНЕЦ РАБОТЫ УСТРОЙСТВА, относящийся к IPL, приходит отдельно после сигнала КОНЕЦ РАБОТЫ КАНАЛА, то он вызывает формирование условия прерывания ввода-вывода.

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

или загрузки PSW, то процессор не запускается и лампочка продолжает гореть. Это случается,

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

ство или канал в процессе выполнения или же при завершении операции ввода-вывода, отно-

сящейся к IPL, посылает сигнал, отличный от сигналов КОНЕЦ РАБОТЫ КАНАЛА, КОНЕЦ РАБОТЫ УСТРОЙСТВА и МОДИФИКАТОР СОСТОЯНИЯ, либо когда PSW, загружаемое из ячейки 0, имеет неправильный формат, что обнаруживается во время процедуры загрузки. В

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

вается. Содержимое ячеек 0–7 не определено, а содержимое остальных ячеек основной памя-

ти не изменяется. Если в двойное слово с адресом 0 прочитано меньше 8 байтов, то PSW, вы-

бираемое из ячейки 0 при окончании операции IPL, непредсказуемо.

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

Информация, переданная в ячейки 8–15 и 16–23, может быть использована в качестве управляющих слов канала для чтения дополнительной информации во время процедуры IPL.

Например, CCW, расположенное по адресу 8, может задавать чтение дополнительных CCW

еще в какое-нибудь место основной памяти, а CCW по адресу 16 может вызвать переход в ка-

нале к этим дополнительным CCW.

87

Сигнал МОДИФИКАТОР СОСТОЯНИЯ действует во время IPL обычным образом, заставляя канал выбрать и использовать в качестве следующего CCW в цепочке управляющее слово, ад-

рес которого в основной памяти на 16 больше адреса текущего CCW. Это относится и к перво-

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

заданная неявным CCW.

PSW, загружаемое при завершении процедуры IPL, может быть образовано первыми 8 бай-

тами, полученными в операции ввода-вывода, или прочитано в ячейки 0–7 с помощью какой-

нибудь последующей CCW.

Операция ввода-вывода, относящаяся к IPL, неявно задает использование первым 24 бай-

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

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

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

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

Если PSW, находящееся в ячейке 0, содержит единицу в бите 14, то процессор после за-

вершения процедуры IPL переходит в состояние “ожидание”. При этом лампочка ручной рабо-

ты будет выключена, а лампочка ожидания включена.

88

Глава 5. Динамическое преобразование адресов

Динамическое преобразование адресов, или динамическая переадресация, дает возмож-

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

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

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

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

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

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

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

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

нении. При обращении к памяти логические адреса с помощью таблиц переадресации динами-

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

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

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

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

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

альная память, в которой хранится информация пользователя, может значительно превосхо-

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

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

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

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

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

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

89

Динамическая переадресация предполагает, что в процессоре предусмотрен режим расши-

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

К средствам динамической переадресации также относятся команды ЗАГРУЗКА РЕАЛЬНОГО АДРЕСА, СБРОСИТЬ БИТ ОБРАЩЕНИЯ и ОЧИСТКА TLB. При этом используются управляющий регистр 1 и биты 8–12 управляющего регистра 0.

5.1.Структура логического адреса

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

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

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

сами.

В процессе динамического преобразования адресов различают блоки информации двух ви-

дов: сегменты и страницы. Сегмент – это блок последовательных логических адресов, охваты-

вающих 65 536 байтов (64 Кб) или 1 048 576 байтов (1 Мб), начальный адрес которого кратен его размеру. Размер сегмента зависит от значений битов 11 и 12 управляющего регистра 0.

Страница – это непрерывная область памяти размером 2048 байтов (2 Кб) или 4096 байтов (4

Кб), начальный адрес которой кратен ее размеру. Размер страницы зависит от значений битов

8 и 9 управляющего регистра 0.

Логический адрес подразделяется на поле индекса сегмента, поле индекса страницы и поле индекса байтов. Размеры этих полей зависят от размеров сегмента и страницы.

Поле индекса сегмента начинается с бита 8 логического адреса и распространяется до бита

15 включительно при 64 Кб сегменте и до бита 11 при 1 Мб сегменте. Поле индекса страницы начинается с бита, следующего за последним битом индекса сегмента, и распространяется до бита 19 при 4 Кб странице и до бита 20 при 2 Кб странице. Индекс байтов включает в себя по-

следние 11 или 12 младших битов логического адреса.

Логический адрес имеет следующие форматы:

??? 64 ?? ???????? ? 4 ?? ????????

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

¦

 

//////// ¦ ?????? ???????? ¦ ?????? ???????? ¦ ?????? ????? ¦

+

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

 

 

 

 

 

 

+

 

0

7

8

15

16

19

20

31

90

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