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

IBM370

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

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

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

так и к режиму EC.

Таблица 6.8. Распределение реальной основной памяти

Адрес

 

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

 

 

 

шестна-

десятич-

 

дца-

ный

 

терич-

 

 

ный

 

 

 

 

 

0

0

Новое PSW повторного пуска

4

4

 

 

 

 

8

8

Старое PSW повторного пуска

C

12

 

 

 

 

10

16

 

14

20

 

 

 

 

18

24

Старое PSW внешних прерываний

1C

28

 

 

 

 

20

32

Старое PSW прерываний при обращении к супервизору

24

36

 

 

 

 

28

40

Старое PSW программных прерываний

2C

44

 

 

 

 

30

48

Старое PSW прерываний от схем контроля

34

52

 

 

 

 

38

56

Старое PSW прерываний ввода-вывода

3C

60

 

 

 

 

40

64

Слово состояния канала

44

68

 

 

 

 

48

72

Адресное слово канала

 

 

 

4C

76

 

 

 

 

50

80

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

 

 

 

54

84

 

 

 

 

58

88

Новое PSW внешних прерываний

5C

92

 

 

 

 

60

96

Новое PSW прерываний при обращении к супервизору

64

100

 

 

 

 

68

104

Новое PSW программных прерываний

 

 

 

151

Адрес

 

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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

шестна-

десятич-

 

 

 

 

 

 

 

 

дца-

ный

 

 

 

 

 

 

 

 

терич-

 

 

 

 

 

 

 

 

 

ный

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

6C

108

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

70

112

Новое PSW прерываний от схем контроля

 

74

116

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

78

120

Новое PSW прерываний ввода-вывода

 

7C

124

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

80

128

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

84

132

Адрес процессора

 

 

Код внешнего прерывания

 

 

 

 

 

 

 

 

 

88

136

0000 0000 0000 0

ILC

0

Код прерывания при обращении к супервизору

 

 

 

 

 

 

 

 

 

8C

140

0000 0000 0000 0

ILC

0

Код программного прерывания

 

 

 

 

 

 

 

 

 

90

144

0000 0000

Адрес особого случая переадресации

 

 

 

 

 

 

 

94

148

0000 0000

Класс монитора

Код PER

 

0000 0000 0000

 

 

 

 

 

 

 

98

152

0000 0000

Адрес PER

 

 

 

 

 

 

9C

156

0000 0000

Код монитора

 

 

 

 

 

 

 

 

 

 

 

A0

160

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

A4

164

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

A8

168

Идентификатор канала

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

AC

172

Адрес IOEL

 

 

 

 

 

 

 

 

 

 

 

B0

176

Ограниченная регистрация состояния канала

 

 

 

 

 

 

 

 

 

 

 

B4

180

 

 

 

 

 

 

 

 

 

 

 

 

 

B8

184

0000 0000

Адрес ввода-вывода

 

 

 

 

 

 

 

 

 

 

 

BC

188

 

 

 

 

 

 

 

 

...

...

 

 

 

 

 

 

 

 

D4

212

 

 

 

 

 

 

 

 

 

 

 

D8

216

Область сохранения для таймера CPU при сигнале от схем контроля

DC

220

 

 

 

 

 

 

 

 

 

 

 

E0

224

Область сохранения для компаратора при сигнале от схем контроля

E4

228

 

 

 

 

 

 

 

 

 

 

 

 

E8

232

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

 

EC

236

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

F0

240

 

 

 

 

 

 

 

 

F4

244

 

 

 

 

 

 

 

 

 

 

 

 

F8

248

0000 0000

Адрес области памяти с ошибкой

 

 

 

 

 

 

 

 

 

 

 

152

Адрес

 

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

 

 

 

шестна-

десятич-

 

дца-

ный

 

терич-

 

 

ный

 

 

 

 

 

FC

252

Региональный код

 

 

 

100

256

Фиксированная область регистрации

...

...

 

15C

348

 

 

 

 

160

352

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

...

...

троля

17С

380

 

 

 

 

180

384

Область сохранения общих регистров при сигнале от схем контроля

...

...

 

1BC

444

 

 

 

 

1C0

448

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

...

...

 

1FC

508

 

 

 

 

0–7 Новое PSW повторного пуска. Новое PSW выбирается из ячеек 0–7 в процессе прерывания повторного пуска.

8–15 Старое PSW повторного пуска. Текущее PSW запоминается в качестве старого

PSW в ячейках 8–15 в процессе прерывания повторного пуска.

24–63 Старые PSW прерываний. В процессе внешних прерываний, прерываний при об-

ращении к супервизору, программных прерываний, прерываний от схем контроля и прерываний ввода-вывода текущее PSW запоминается в качестве старого PSW в ячейках 24–31, 32–39, 40–47, 48–55 и 56–63 соответственно.

64–71 CSW. Слово состояния канала (CSW) записывается в ячейки 64–71 в процессе прерывания ввода-вывода. CSW или часть его может записываться в процессе выполнения команд НАЧАТЬ ВВОД-ВЫВОД, НАЧАТЬ ВВОД-ВЫВОД С БЫСТРЫМ ОТКЛЮЧЕНИЕМ,

ПРОВЕРИТЬ ВВОД-ВЫВОД, ОСВОБОДИТЬ ВВОД-ВЫВОД, ОСТАНОВИТЬ ВВОД-ВЫВОД или ОСТАНОВИТЬ УСТРОЙСТВО; в этом случае признак результата устанавливается в единицу.

72–75 CAW. Адресное слово канала (CAW) выбирается из ячеек 72–75 в процессе вы-

полнения команд НАЧАТЬ ВВОД-ВЫВОД и НАЧАТЬ ВВОД-ВЫВОД С БЫСТРЫМ ОТКЛЮЧЕНИЕМ.

80–83 Интервальный таймер содержится в ячейках 80–83. Содержимое таймера мо-

дифицируется всегда, когда процессор находится в состоянии “работа”. В зависимости от раз-

решающей способности таймера младшие биты его содержимого могут не изменяться.

153

88–127 Новые PSW прерываний. Из ячеек 88–95, 96–103, 104–11, 112–119 и 120–127

производится выборка нового PSW при выполнении внешних прерываний, прерываний при об-

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

132–133 Адрес процессора. В процессе внешнего прерывания в режиме EC в ячейки 132– 133 записывается или адрес процессора, идентифицирующий источник прерывания, или нули.

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

вается в единицу. В режиме BC содержимое поля остается без изменений.

134–135 Код внешнего прерывания. В процессе внешнего прерывания в режиме EC код прерывания записывается в память в ячейки 134–135.

136–139 Идентификация прерываний при обращении к супервизору. В процессе преры-

вания при обращении к супервизору в режиме EC код длины команды записывается в биты 5 и 6 ячейки 137, а код прерывания – в ячейки 138 и 139. В ячейку 136 и в остальные биты ячейки

137 записываются нули.

140–143 Идентификация программных прерываний. В процессе программного прерыва-

ния в режиме EC код длины команды записывается в биты 5 и 6 ячейки 141, а код прерывания

– в ячейки 142 и 143. В ячейку 140 и в остальные биты ячейки 141 записываются нули.

144–147 Адрес особого случая переадресации записывается в ячейки 145–147 при про-

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

148–149 Идентификатор класса монитора. В процессе программного прерывания вследствие мониторного события идентификатор класса монитора записывается в ячейку 149,

а в ячейку 148 записываются нули. В это поле может производиться запись как в режиме BC,

так и в режиме EC.

150–151 Код PER. В процессе программного прерывания вследствие программных собы-

тий код регистрации программных событий записывается в биты 0–3 ячейки 150, а в биты 4–7

этой ячейки и в ячейку 151 записываются нули.

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

PER, выполнялась под управлением PSW, в котором был задан режим EC.

152–155 Адрес PER. В процессе программного прерывания вследствие программных со-

бытий адрес команды, вызвавшей это событие, записывается в ячейки 153–155, а в ячейку 152

записываются нули.

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

PER, выполнялась под управлением PSW, в котором был задан режим EC.

156–159 Код монитора. Во время программного прерывания вследствие мониторного со-

бытия код монитора записывается в ячейки 157–159, а в ячейку 156 записываются нули. За-

пись в это поле производится как в режиме BC, так и в режиме EC.

154

168–171 Идентификатор канала. Четырехбайтовый идентификатор канала записывается в процессе выполнения команды ЗАПИСЬ ИДЕНТИФИКАТОРА КАНАЛА в ячейки 168–171.

172–175 Адрес области IOEL. Выборка адреса области расширенной регистрации ввода-

вывода производится в процессе операции расширенной регистрации ввода-вывода из ячеек

172–175.

176–179 Ограниченная регистрация состояния канала. Информация ограниченной реги-

страции состояния канала записывается в ячейки 176–179. Запись в поле выполняется только,

когда произошла запись CSW или его части. Запись осуществляется в режимах BC и EC. 185–187 Адрес ввода-вывода. В процессе прерываний ввода-вывода, происходящих в ре-

жиме EC, двухбайтовый адрес ввода-вывода записывается в ячейки 186–187, а в ячейку 185

записываются нули.

216–511 Код прерывания от схем контроля, область сохранения и область регистра-

ции. В ячейки 216–239 и 248–511 информация может записываться в процессе прерываний от схем контроля, а в ячейки 256–351 – в процессе прерываний ввода-вывода. Кроме того, содер-

жимое ячеек 256–351 изменяется в любой момент времени в зависимости от значений бита в регистре 14, управляющего асинхронной фиксированной регистрацией.

Абсолютная основная память

В табл. 6.9 показаны формат и размеры постоянно распределенных областей в абсолютной области. Эти области описываются ниже; описание относится как к режиму BC, так и к режиму

EC.

Таблица 6.8. Распределение абсолютной основной памяти

Адрес

 

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

 

 

 

шестна-

деся-

 

дца-

тич-

 

терич-

ный

 

ный

 

 

 

 

 

0

0

PSW начальной загрузки программ

4

4

 

 

 

 

8

8

CCW1 начальной загрузки программ

C

12

 

 

 

 

10

16

CCW2 начальной загрузки программ

14

20

 

 

 

 

18

24

 

...

...

 

D4

212

 

 

 

 

D8

216

Область сохранения таймера CPU при записи состояния

 

 

 

155

Адрес

 

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

 

 

 

шестна-

деся-

 

дца-

тич-

 

терич-

ный

 

ный

 

 

 

 

 

DC

220

 

 

 

 

E0

224

Область сохранения компаратора при записи состояния

E4

228

 

 

 

 

E8

232

 

 

FC

252

 

 

 

 

100

256

Область сохранения PSW при записи состояния

104

260

 

 

 

 

108

264

Область сохранения префикса при записи состояния

 

 

 

10C

268

Область моделезависимых средств при записи состояния

 

 

 

110

272

 

...

 

15C

348

 

 

 

 

160

352

Область сохранения регистров с плавающей точкой при записи состояния

 

17C

380

 

 

 

 

180

384

Область сохранения общих регистров при записи состояния

 

1BC

444

 

 

 

 

1C0

448

Область сохранения управляющих регистров при записи состояния

 

1FC

508

 

 

 

 

0–7 IPL PSW. Первые 8 байтов, считываемые в ходе выполнения первой операции чтения процедуры начальной загрузки программ (IPL), записываются в ячейки 0–7. Содержи-

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

8–15 IPL CCW1. Байты 8–15, читаемые в ходе выполнения первой операции чтения процедуры IPL, записываются в ячейки 8–15. Обычно содержимое этих ячеек используется в качестве второго CCW в цепочке CCW процедуры IPL после завершения первой операции чте-

ния.

16–23 IPL CCW2. Байты 16–23, считываемые в ходе выполнения первой операции чте-

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

156

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

рации чтения.

216–511 Область сохранения для записи состояния. Информация записывается в ходе операции записи состояния в ячейки 216–231, 256–271 и 352–511. Если некоторая часть обла-

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

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

157

Глава 7. Мультипроцессирование

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

а) разделение основной памяти;

б) префиксацию;

в) межпроцессорную сигнализацию;

г) синхронизацию часов.

Эти возможности связаны с введением дополнительных условий внешних прерываний

(внешний вызов, экстренный сигнал, нарушение синхронизации часов и оповещение о сбое),

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

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

главе 4, а перечисленные команды – в главе 8.

Если процессор оснащен средствами мультипроцессирования, на пульт управления систе-

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

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

В мультипроцессорной системе каждый канал подключен к одному процессору. Только один процессор может начать операцию ввода-вывода на данном канале, и к этому процессору бу-

дут направляться все запросы на прерывания.

7.1.Разделение основной памяти

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

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

итот же абсолютный адрес.

7.2.Префиксация

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

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

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

В результате вычисления абсолютного адреса реальные адреса со значениями от 0 до

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

Реальные адреса с нулевого по 4095-й – это адреса постоянно распределенных ячеек па-

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

158

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

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

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

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

байтов и область с абсолютными адресами, в которые преобразуются реальные адреса 0– 4095 при обращении от другого процессора.

Соотношение между реальными и абсолютными адресами показано на рис. 7.1.

Префикс – это 12-разрядная величина, помещается в регистр префикса, имеющий следую-

щий формат:

+

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

 

 

 

 

+

¦ ////////

¦

 

¦ /////////

¦

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

 

 

 

 

 

+

0

7

8

20

21

31

 

В регистр префикса содержимое заносится командой УСТАНОВИТЬ ПРЕФИКС, а из реги-

стра в основную память пересылается командой ЗАПИСЬ В ПАМЯТЬ ПРЕФИКСА. При занесе-

нии в регистр биты, соответствующие позициям 0–7 и 20–31 регистра префикса, игнорируются.

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

Префиксация осуществляется при всех обращениях к основной памяти и ключам памяти,

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

ния и обращений канала к области расширенной регистрации состояния, к области вводимых или выводимых данных, к словам косвенной адресации данных и к командам канала.

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

сле преобразования адреса механизмом динамической переадресации. Префиксация не зави-

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

Префиксация преобразует адреса следующим образом:

а) если биты 8–19 адреса памяти содержат нули, то они заменяются битами 8–19 префикса;

б) если биты 8–19 адреса памяти равны битам 8–19 префикса, то они заменяются нулями;

в) если не все биты 8–19 адреса памяти равны нулю и не равны битам 8–19 префикса, то они не изменяются.

Во всех случаях биты 20–31 адреса памяти остаются неизменными.

Префиксация преобразует только адрес, поступивший в устройство управления памятью;

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

159

Различие между реальным и абсолютным адресом формально сохраняется даже в тех слу-

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

7.3.Сигнализация между процессорами

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

каза и ответ процессору, пославшему сигнал.

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

Приказы

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

зы определяются битами 24–31 адреса второго операнда в команде СИГНАЛ ПРОЦЕССОРУ и кодируются следующим образом:

К

Приказ

од

 

 

 

0

Не определен

0

 

 

 

0

Уточнить состояние

1

 

 

 

0

Внешний вызов

2

 

 

 

0

Экстренный сигнал

3

 

 

 

0

Пуск

4

 

 

 

0

Стоп

5

 

 

 

0

Повторный пуск

6

 

 

 

0

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

7

 

 

 

0

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

8

 

 

 

0

Останов и запись состояния

9

 

 

 

160

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