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

книги из ГПНТБ / Королев, Л. Н. Структуры ЭВМ и их математическое обеспечение учебное пособие

.pdf
Скачиваний:
25
Добавлен:
21.10.2023
Размер:
10.26 Mб
Скачать

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

ваться к 224= 16 777 216 байтам,

к 223= 8 388 608 полу­

словам, к 222=4 194 304 словам,

к 221= 2 097 152 двой­

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

У с т р о й с т в о у п р а в л е н и я (УУ). В млад­ ших моделях и в некоторых средних моделях основано на микропрограммном управлении. В старших моделях и в высокопроизводительных моделях управление построено на схемной логике. Несмотря на различия структуры уст­ ройства управления, его внутренней организации и прин­ ципов работы, в любой модели оно обеспечивает выпол­ нение всего спектра основных команд Системы 360: в младших моделях путем последовательной микропро­ граммной реализации, в старших моделях путем органи­ зации параллельного выполнения нескольких команд одновременно, глубокого запараллеливания процессов выполнения арифметики с процессом обращения к за­ поминающим устройствам.

М н о г о ф у н к ц и о н а л ь н о е

а р и ф м е т и ­

ч е с к о е у с т р о й с т в о состоит

из блока вы­

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

120

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

специфицированные в командах,

полностью совпадают.

О б щ и е р е г и с т р ы . В

состав центрального

процессора (ЦП) входят 16 общих регистров размер­ ности 32 двоичных разряда. Как правило, при выпол­ нении арифметических операций один или два операнда выбираются из общих регистров, которые в средних и старших моделях к тому же являются и быстрыми. Это позволяет в ряде случаев экономить обращение к более медленному основному запоминающему устройству. Эти регистры называются общими, так как они служат для многих целей. Как уже указывалось, в них можно хра­ нить операнды и результаты промежуточных вычисле­ ний. В этих же регистрах хранятся индексы (модифика­ торы) и базы. Общие регистры используются для вычисления адресов и в качестве регистров адресной арифметики. Идеологи Системы 360 считают, что такое универсальное назначение общих регистров позволяет полностью использовать весь набор арифметических и логических операций для расчетов, связанных с органи­ зацией сложных обращений к многомерным массивам, для реализации отсутствующей в системе команд 360 косвенной адресации, для организации передачи пара­ метров, организации входов и возвратов из процедур и т. д. Следует отметить, что перечисленные выше разно­ образные функции аппаратно не закреплены за какими-то определенными из этих шестнадцати регистров. Как представляется, слишком широкий спектр применения общих регистров входит в противоречие с их небольшим чйслом и приводит к необходимости достаточно часто их загружать или сохранять в главной памяти. По-види- мому, идея «общих регистров» не столь хороша, как это может показаться поначалу. В состав центрального процессора входят, кроме того, четыре 64-разрядных регистра для выполнения действий с плавающей запятой

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

сномерами 0, 2, 4 и 6.

Ф о р м а т ы к о м а н д С и с т е м ы 360. Коман­ ды 360 переменного формата и могут занимать одно, два или три полуслова. Это сделано для того, чтобы как

121

можно более экономно расходовать память под команд­ ную информацию. Первый байт любой команды отведен под код операции и признаки формата команды. Разли*. чаются пять типов команд. Самая короткая полусловная команда, кроме кода операций, содержит во втором байте два четырехразрядных поля для указания номеров двух общих регистров. Этот тип команды RR (регистррегистр) определяет логические и арифметические опе­ рации над общими регистрами. Правила выполнения команд этого типа состоят в том, что первый операнд выбирается из регистра Rb второй — из регистра Rz, а результат засылается в регистр R x (рис. 9):

<Ri> ф <RS> =><RX>.

Формат RX, занимающий целое слово, определяет дей­ ствия, в которых первый операнд берется из общего регистра и второй из памяти, результат оставляется в пер­ вом регистре. Адресное поле этого формата занимает 20 разрядов. Старшие четыре разряда адресного поля указывают общий регистр X, используемый в качестве индекса. Следующие четыре разряда указывают общий регистр В, используемый в качестве базы. Наконец, двенадцать младших разрядов указывают смещение D.

Полный адрес формируется путем сложения содержимо­ го X, В и кода, указанного в поле D. Таким образом, адрес по памяти дважды индексируем. Формула выпол­ нения команд типа RX такова:

<R1> ф «Х > + <В> + D>=»<R1>.

Следующий формат RS содержит указание на три опе­ ранда и заполняет также целое слово (см. рис. 9), причем

122

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

;второго операнда состоит из поля смещения D и поля базы В. В этом формате возможна только одна индек­ сация содержимым базы. Этот формат определяет трех­ адресные операции.

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

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

смещением и базой Bl, D1 и В2, D2, и два поля L1 иЬ2, в которых указана длина соответствующих операндов, выбираемых из памяти. Этот формат, очевидно, исполь­ зуется для указаний операций с информацией перемен­ ной длины для команд, обрабатывающих строки байтов, для команд десятичной арифметики.

Мы не будем останавливаться на перечислении ре- f пертуара команд Системы 360, так как эти сведения мож­ но почерпнуть из статьи Амдаля [1].

§ 3. Организация прерываний и защиты памяти Системы 360

Весьма важную роль для организации мультипро­ граммного режима и прерываний играет слово-состояние программы Program Status Word (PSW). Это двойное слово (64 разряда), обращение к которому производится по некоторому фиксированному адресу, хранит состояние ряда управляющих регистров машины, определяющих состояние программы в момент ее исполнения. При пре­ рываниях содержание PSW копируется в двойное слово, расположенное в главной памяти. Для возобновления счета по прерванной программе специальной командой ее PSW восстанавливается и становится «текущим PSW». Слово-состояние программы содержит следующую инфор­ мацию.

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

123

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

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

3.К о д у с л о в и я . Большинство арифметических

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

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

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

ции

соответствующей

реакции на сигнал прерывания.

6.

К л ю ч з а щ и

т ы . Четыре разряда PSW содер­

жат ключ защиты. Главная память разделена на блоки объема в 2048 байтов, и с каждым блоком связан четы­ рехразрядный ключ защиты. При обращении к этому блоку памяти по записи ключ блока сравнивается с клю­ чом защиты текущего PSW. Если оба ключа совпадают или один из них равен нулю, то запись разрешается. Если ключи не совпадают, происходит прерывание и управление передается супервизору. Следует отметить, что не все модели Системы 360 снабжены аппаратурой за­ щиты памяти. Эта аппаратура является дополнительной и может не входить в комплектацию конкретной уста­ новки.

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

124

ценных прерываний). Воздействовать на содержание

маски

можно

специальными привилегированными

командами, выполняемыми только в режиме супер­

визора.

Ко д ,

о п р е д е л я ю щ и й с т а т у с испол­

8.

няемой

программы и статус центрального процессора

(ЦП). Разряд этого кода Р определяет нормальный (ра­ бочий) или супервизорный режим ЦП. В рабочем режиме аппаратно запрещено выполнение привилегированных команд. Их появление вызывает прерывание.

Разряд W определяет состояние ожидания централь­ ного процессора, которое может быть изменено либо вме­ шательством оператора, либо появлением прерывания от внешних устройств. В режиме ожидания ЦП не выпол­ няет команд. Наконец, специальный разряд PSW управ­ ляет режимом, при котором запрещены какие бы то ни было прерывания. Из объяснений функций PSW уже можно составить представление о том, что предусматри­ вается в структуре Системы 360 для организации муль­ типрограммирования. Это аппарат защиты памяти по ключам, управление режимами центрального процессора, маскирование прерываний.

Прерывания можно отнести к пяти классам: преры­ вания от ввода-вывода, программные прерывания, воз­ никающие при переполнениях и выходах за разрядную сетку результатов, прерывания при обращении к супер­ визору, типа экстракодов, внешние прерывания, связан­ ные с вмешательством оператора в работу системы, и прерывания по контролю, возникающие при сбоях в аппаратуре. Для каждого из этих классов имеются по два фиксированных места в ЗУ. При появлении преры­ вания, принадлежащего некоторому классу, аппаратно производится запоминание текущего PSW по фиксиро­ ванному адресу и извлечение нового PSW по другому фиксированному адресу. Это новое PSW теперь стано­ вится текущим и переводит ЦП в то состояние, которое специфицировано в нем. Такая организация позволяет допускать прерывания в программах реакций на прерыва­ ния, если классы прерываний различны. В принципе допускается глубина прерываний, равная четырем. Пре­ рывания могут возникнуть только после окончания одной операции и перед началом другой, если речь идет о пре­ рываниях по вводу-выводу и внешних прерываниях.

125

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

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

операций ввода-вывода

со счетом рабочих

про­

грамм.

в в о д а - в ы в о д а . Все

раз­

О р г а н и з а ц и я

нообразные внешние устройства, которые могут быть подключены к каналам ввода-вывода Системы 360, не­ смотря на их различие в смысле функционирования и назначения, имеют стандартное сопряжение с централь­ ным процессором. Это означает следующее. Каждое внешнее устройство (или группа внешних устройств) имеет блок управления его работой, обеспечивающий функционирование данного устройства. Для разных внешних устройств эти блоки управления, естественно, различны и могут быть достаточно сложны. Например, блок управления печатью содержит в своем составе за­ поминающее устройство, обычно на целую строку сим­ волов, и выполняет сложные функции перевода символов строки во временную последовательность сигналов, управ­ ляющих ударами молоточков. Устройство управления экранного пульта со световым пером, по существу, пред­ ставляет собой достаточно сложный цифровой автомат со своей памятью довольно значительного объема и со своим устройством управления. Кроме функций внут­ реннего управления, эти индивидуальные блоки обязательно умеют расшифровывать и исполнять не­ которые общие системные команды, поступающие по каналам из ЦП, и имеют выход на стандартное сопря­ жение.

126

Канал Системы 360 — это достаточно сложное уст­ ройство, связанное с ЦП, с главной памятью и с внеш­ ними устройствами.

Функции канала таковы:

исполнение команд управления каналом, посту­ пающих из ЦП, коммутация цепей и обращение к устрой­ ству ввода-вывода, указанному в команде;

извлечение и декодирование управляющей инфор­ мации;

исполнение команд;

реакция' на управляющие сигналы, поступающие от внешних устройств;

буферизация данных.

Как уже говорилось, архитектура Системы 360 пред­ полагает наличие одного мультиплексного и шести се­ лекторных каналов. Мультиплексный канал управляет работой нескольких подканалов, к которым подсоеди­ нены внешние устройства. Селекторный канал имеет только один подканал. Работа каналов может происхо­ дить в двух режимах: в режиме, когда канал полностью занят обменом с одним выбранным внешним устройством, и в режиме одновременного обмена с несколькими внеш­ ними устройствами. Мультиплексный канал способен работать как в том, так и в другом режиме. Селекторный канал может работать только в первом режиме. Следует отметить, что и селекторный и мультиплексный каналы осуществляют обмен байтами между памятью и внешними устройствами и в качестве основного принят старт-стоп- ный режим. Это означает, что следующая байтовая по­ сылка принимается в канал только в том случае, если получен обратный сигнал о том, что обмен предыдущего байта выполнен. Это означает также, что темп обмена, как правило, задается соответствующим внешним устрой­ ством. Такая организация позволяет подсоединять к каналам и подканалам устройства с любым темпом обме­ на, и при этом не требуется изменять структуру канала. ч В Системе 360 предусмотрено четыре команды, с

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

По команде «начать ввод-вывод» аппаратура канала, указанного в этой команде, из фиксированной ячейки памяти выбирает адресное слово канала CAW (Channel

127

Adress Word) . Это адресное слово содержит ключ защиты и адрес по памяти, указывающий начало программы канала. Эта программа состоит в общем случае из цепоч­ ки командных' слов канала (CCW — Channel Command Word). В 64 разрядах CCW содержится код операции ввода-вывода, адрес байта главной памяти, с которого начинается обмен, счетчик числа байтов, участвующих в операции обмена, и ряд признаков, определяющих характер использования адресных полей CCW.

Код операции CCW может определять одну из шести операций: чтение, запись, чтение при реверсе, управле­ ние, проверку и передачу управления в канале. Три пер­ вые перечисленные команды не нуждаются в разъясне­ нии. Команда управления содержит приказы конкрет­ ным внешним устройствам. Для разных устройств набор приказов различен и учитывает индивидуальные особен­ ности устройств.

Команда проверки позволяет получить информацию о состоянии конкретного устройства ввода-вывода. Ко­ манда передачи в канале по смыслу представляет безусловный переход к новой цепочке командных слов ка­ нала. Подобно PSW центрального процессора с каналом связано слово-состояние канала (Channel Status Word), которое хранит информацию о ключе защиты, адресе текущего командного слова, состоянии канала и теку­ щее значение счетчика последнего исполняемого команд­ ного слова. В момент прерывания или окончания работы канала, которое может возникнуть как в результате нор­ мального окончания обмена, так и в результате прекра­ щения обмена, в CSW сохраняется вся необходимая ин­ формация, позволяющая супервизору проанализировать ситуацию и предпринять необходимые действия и меры. Следует еще раз подчеркнуть, что каналы и подканалы — это достаточно сложные по логике работы устройства, которые автономно и параллельно с ЦП выполняют обмен, контролируют правильность передач информации и управляются программой, находящейся в главной памяти ЦП.

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

128

§ 4. Математическое обеспечение Системы 360

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

С и с т е м а TES (Таре Emulator System). Эта сис­ тема, предназначенная для малых моделей Системы 360, организует совмещение вычислений с работой магнитных лент для программ, написанных для машин 1401, 1460, 1440, ранее выпускавшихся фирмой.

Техника эмуляции тесно связана с методами микро­ программного управления. В малых моделях Системы 360 управление построено на этом принципе, и, как мы знаем, это позволяет аппаратными средствами интерпретиро­ вать, вообще говоря, любую систему команд. В част­ ности, в некоторых малых моделях Системы 360 преду­ сматривается эмуляция системы команд машин 1400, которые к моменту появления Системы 360 уже обладали достаточно развитым математическим обеспечением и богатым набором программ, связанных с обработкой данных, с использованием магнитных лент. Система 360 позволяет пропускать программы, написанные для машин серии 1400, на моделях IBM-360 (30 и 20).

Минимальные ресурсы, которые необходимы, чтобы обеспечить работу этой системы, таковы: объем оператив­ ной памяти 16К байтов, селекторный канал для связи с магнитными лентами, устройство чтения с перфокарт и печать.

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

Этот недостаток был исправлен в системе СОМРАТ

(COS) (oT«compatability» — совместимость), которая поз­ воляет пользоваться данной системой эмуляции в составе операционных систем BOS и DOS. Однако эта система в настоящее время уже отжила свой век, так как IBM перешла в Системе 360 на новый международный стан­ дарт магнитных лент.

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

-* Л . Н . К о р о л ев

129

Соседние файлы в папке книги из ГПНТБ