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

IBM370

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

ПРИНЦИПЫ РАБОТЫ СИСТЕМЫ IBM/370

Москва, 2001

Аннотация

Это почти точная копия книги “Принципы работы системы IBM/370” (пер. с англ. Под ред.

Райкова Л. Д., М., Мир, 1975). Английский оригинал “IBM System/370 principles of operation (Fourth Edition)” был выпущен фирмой IBM в 1973 г. под названием “Принципы работы ЕС ЭВМ”.

Без ссылок на американский источник эта книга входила в комплект технической документации,

поставляемой вместе с вычислительными машинами Единой Системы.

В настоящем варианте исправлены опечатки и неточности, имевшие место в вышеуказан-

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

читаемости, однако объем внесенных изменений был минимальным. Опущено также приложе-

ние 5 “Шестнадцатеричные таблицы”, помогающее вручную быстро переводить шестнадцате-

ричные числа в десятичные и обратно и выполнять арифметические операции над шестнадца-

теричными числами. Приложение 6 “Код EBCDIC” стало приложением 5 “Коды EBCDIC и

ДКОИ”. 4.12.2001 г.

Александр Савватеев pateralex@rambler.ru

1

Предисловие

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

водства фирмы IBM и содержит описание логической структуры вычислительных машины Си-

стемы 370. С практической точки зрения она включает информацию об общей организации ап-

паратных средств системы, знакомство с которой будет способствовать наиболее эффектив-

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

Сказанное, конечно, не означает, что любой программист, приступая к практическому про-

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

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

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

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

Подробное знакомство с материалом этой книги полезно и программистам, пишущим при-

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

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

сов (как вузовских, так и повышения квалификации) по вычислительной технике и программи-

рованию.

Система IBM 370 является результатом совершенствования и дальнейшего развития широ-

ко известной Системы IBM 360. Будучи наиболее распространенными в настоящее время вы-

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

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

Логическая структура Системы 370, а следовательно, и текст книги отражают противоречия,

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

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

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

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

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

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

стях современных вычислительных машин, как высокая степень совмещения операций в про-

2

цессорах, наличие многоуровневой основной (оперативной) памяти, работа нескольких процес-

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

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

Все это требует чрезвычайно сложных и развитых средств, обеспечивающих при необходи-

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

Большой интерес представляет в Системе 370 и более развитая по сравнению с Системой

360 система прерываний. Вызванное практическими требованиями совершенствования систе-

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

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

В заключение следует сказать, что благодаря ясности изложения книга представляет значи-

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

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

Перевод выполнили А. П. Гагарин, Г. Н. Староверова и А. Г. Чекалов.

Л. Райков

3

Глава 1. Система 370

Система 370 была создана на основе опыта разработки, производства и эксплуатации Си-

стемы 360. Она совместима с Системой 360 по принципу “снизу вверх”, т.е. переход от Систе-

мы 360 к Системе 370 столь же легок, как переход в пределах одной системы от младшей мо-

дели к старшей. В то же время средства обработки информации Системы 370 отличаются большим совершенством.

В Системе 370 широко используются последние достижения технологии полупроводнико-

вых приборов и интегральных схем. Кроме того, возможности применения этой вычислитель-

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

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

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

ность; средств регистрации программных событий; средств обеспечения мониторных про-

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

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

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

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

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

намическая переадресация при условии применения соответствующей ОС позволяет исполь-

зовать поле виртуальной памяти размером до 16 777 216 байтов.

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

ресов и помогает осуществлять преобразование адресов при операциях ввода-вывода. Благо-

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

Мультипроцессирование обеспечивает взаимосвязь процессоров с целью повышения го-

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

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

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

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

сравним с периодом времени выполнения команды на данной модели. Компаратор вызывает прерывание, как только содержимое часов достигает величины, заданной программно. Таймер

4

CPU – это интервальный таймер с высокой разрешающей способностью, инициирующий пре-

рывание в тот момент, когда его содержимое уменьшается до 0.

Операции с плавающей точкой, обеспечивающие повышенную точность, включают сло-

жение, вычитание и умножение чисел, мантисса которых состоит из 28 шестнадцатеричных цифр. Кроме того, имеется команда для округления чисел, представленных в формате для операций повышенной точности, в числа длинного формата, и чисел длинного формата в чис-

ла обычного формата.

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

ные прерывания и предназначены для повышения эффективности процесса отладки.

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

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

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

ние какого времени.

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

вают между передачами.

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

к которым может адресовать программа, и новый режим работы процессора – режим расши-

ренного управления.

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

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

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

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

1.1.Универсальность

Подобно Системе 360, Система 370 является системой общего назначения, и ее можно лег-

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

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

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

бавление средств обработки десятичных данных приводит к системе команд для экономиче-

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

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

5

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

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

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

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

Так же, как и в Системе 360, в Системе 370 предусмотрена возможность адресовать в ос-

новной памяти до 16 777 216 байтов, а динамическая переадресация в сочетании с соответ-

ствующим ПО предоставляет в распоряжение пользователя максимальный диапазон адресов,

невзирая на то, что объем имеющейся реальной памяти может быть значительно меньше. Ди-

намическая переадресация в сочетании с ПО позволяет использовать модели Системы 370,

оснащенные относительно небольшим объемом основной памяти, для значительно более ши-

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

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

низмом обращения к ней.

Другая особенность универсального характера Системы 370 связана с возможностью при-

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

ные каналы нескольких типов. Подобно Системе 360, Система 370 имеет байт-мультиплексный канал для присоединения устройств, не имеющих буфера, и значительного количества устройств телеобработки. Кроме того, в Системе 370 предусмотрен блок-мультиплексный ка-

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

ростных циклически работающих устройств.

Посредством выбора подходящих компонентов можно построить конкретную систему,

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

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

1.2.Совместимость

Несмотря на то что модели Системы 370 различны по конструкции и физическим возможно-

стям, логически они совместимы “снизу вверх” и “сверху вниз”. Это означает, что любая про-

грамма дает одни и те же результаты на любой модели с учетом ограничений на совмести-

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

обеспечивает удобство обслуживания и простоту обучения.

Принцип совместимости имеет четыре ограничения.

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

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

тельных возможностей, точно так же, как должны быть эквивалентными емкости памяти, коли-

чество и типы внешних устройств.

6

2. Программа не должна зависеть от продолжительности выполнения команд процессора,

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

должительности обработки.

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

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

не рассматриваемых в этой книге.

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

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

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

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

нала.

Система 370 совместима с Системой 360 “снизу вверх”, поэтому, чтобы программы Систе-

мы 360 можно было выполнять в Системе 370, кроме перечисленных выше ограничений долж-

ны соблюдаться также и следующие:

1. Бит 12 слова состояния программы не должен использоваться в программе как бит, еди-

ничное значение которого вызывает выдачу результата в коде ASCII, так как этот код преду-

смотрен только в Системе 360.

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

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

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

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

за ошибки в данных канала и особенностей команды ОСТАНОВИТЬ УСТРОЙСТВО.

1.3.Управляющая программа

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

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

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

нение составных программ.

Система 370 может работать с управляющими программами нескольких различных типов.

Некоторые из них обеспечивают использование специфических команд Системы 370, средств,

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

ную память.

Система 370 может работать в режиме Системы 360, выполняя все управляющие и при-

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

ным в разделе 1.2.

7

1.4.Готовность

Готовность системы – это способность ее принимать к выполнению и успешно выполнять конкретное задание. Технические средства обеспечивают повышенную готовность Системы

370 по сравнению с Системой 360 за счет того, что 1) позволяют одновременно обрабатывать большее количество более разнообразных заданий, вследствие чего вычислительная установ-

ка становится доступнее для выполнения конкретного задания; 2) ограничивают влияние ошиб-

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

правление этих ошибок становится менее трудоемким делом.

Повышенная готовность определяется следующими фундаментальными особенностями си-

стемы.

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

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

Средства защиты памяти в сочетании с динамическим преобразованием адресов дают воз-

можность защищать содержимое основной памяти от разрушения или неправильного исполь-

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

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

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

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

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

альных вычислительных установках могут одновременно работать несовместимые ОС.

Мультипроцессирование улучшает использование памяти и процессоров, обеспечивает бо-

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

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

Средство обеспечения мониторных программ, регистрация программных событий и сред-

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

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

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

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

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

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

8

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

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

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

стей.

При основных режимах эксплуатации ручное управление сведено к минимуму и взаимодей-

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

9

Глава 2. Структура системы

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

трального процессора (CPU), селекторных и мультиплексных каналов и внешних устройств, ко-

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

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

систем.

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

+

 

 

 

 

 

 

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

 

 

+

 

 

¦ ????????

¦

 

 

 

 

 

 

¦ ????????

¦

 

 

¦ ??????

+-----

T---------

 

T-/

/-T------------

 

 

+

??????

 

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

 

T-/

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

+

¦

 

¦

¦

 

 

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

 

 

+

 

¦

¦

 

¦

 

¦

¦

 

 

+---

+

+---

+

 

¦

¦

 

¦

 

¦

¦

 

 

¦

 

 

¦

 

¦

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

+

¦

 

¦

¦

+

-----------

 

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

 

 

+

¦

¦ ?????????

¦

¦

 

¦

¦

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

¦

¦

+-----

+---------

 

+-/

¦

+-¦

 

 

¦ ¦

 

 

++ ¦

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

+ ¦ ¦

 

¦ ¦

¦

¦ +

-----------

 

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

 

 

¦

 

 

¦ ¦

 

¦ ¦

+---

+------

 

+ ¦

 

¦ +------

+---

¦

 

 

¦ ¦

 

¦ ¦

¦

¦

 

¦ ¦

 

¦ ¦

¦ ¦

 

+-------

 

+ +-------

+

+-------

+ +-------

 

+ +-------

 

+ +-------

+

 

¦ ?????

¦ ¦ ????? ¦

¦ ????? ¦

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

¦ ????? ¦

 

+-------

 

+ +-------

+

+-------

+ +-------

 

+ +-------

 

+ +-------

+

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

 

+ +-----

+

+-----

+

+-----

+

+-----

 

+

+-----

+

? ? ? ?

 

? ?

 

? ?

 

? ?

 

? ?

 

 

? ?

 

Рис. 2.1. Примеры логической структуры Системы 370

2.1.Основная память

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

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

Основная память может быть физически объединена с процессором в один блок или выде-

лена в самостоятельный блок. Она может состоять из двух частей: накопителя большого объе-

ма и буферной памяти с быстрым доступом. Каждый процессор может иметь свой блок буфер-

ной памяти. Конструкция памяти и применение в ней различных носителей информации спо-

собны влиять только на скорость выполнения программы.

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

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

10

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