
IBM370
.pdfпреобразуются в абсолютные адреса посредством префиксации. Если специально не оговоре-
но, то приводимое ниже описание использования областей памяти относится как к режиму 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