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

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

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

ту) следует предоставить машину, внешне не обладающую никакими существенными ограничениями ни по объему адресуемой памяти, ни по числу индексных регистров, пи по количеству возможных операций, с тем чтобы снять с него многочисленные и сложные заботы по укладыва­ нию в прокрустово ложе технических ограничений есте­ ственных требований больших задач. Эта философская линия прямо привела к необходимости создания слож­ ных «думающих» операционных систем, основная функ­ ция которых — отображать надлежащим образом «вы­ думанную» машину математика на реальную аппарату­ ру. Впрочем, этой идеологии в настоящее время придер­ живаются, по-видимому, все разработчики крупных ЭВМ, и различия в структурах машин скорее всего свя­ заны с тем компромиссом между ролью аппаратуры и ролью математического обеспечения в общей вычисли­ тельной системе, который ими принимается. Следует, правда, отметить, что вопрос о том, что должна делать аппаратура и что должно делать математическое обес­ печение, не может быть решен произвольным, волевым образом. Есть примеры того, как богатые математические одежды не соответствуют бедным аппаратным возможно­ стям, так же как и примеры того, как богатая аппаратура не снабжена соответствующим математическим обеспе­ чением.

Список операций машины «Атлас» включает в себя действия над числами с плавающей запятой, действия над числами с фиксированной запятой, целочисленную арифметику над адресными полями (над 24-разрядными числами), команды переходов и организации циклов, команды условных переходов по значению В-регистров и ряд команд работы над байтами для организации про­ грамм редактирования. Разумеется, в состав команд входит полный набор логических операций и операций сдвигов. При выполнении арифметических и логических операций исполнительный математический адрес в об­ щем случае получается как сумма кода адреса, указан­ ного в адресном поле, и содержимого двух индексных ре­ гистров ВА и Вм, номера которых указаны в соответст­ вующих полях команды. Числа с плавающей запятой в машине «Атлас» представлены 8-разрядным октальным порядком, включая знак, и 40-разрядной мантиссой, представленной в дополнительном коде.

140

Диапазон представленных чисел, таким образом, укладывается в весьма широкую область 8±12а. Сумматор содержит регистр младших разрядов, тем самым ариф­ метические действия производятся с 78 двоичными зна­ ками мантиссы.

Время выполнения операций таково: сложение с пла­ вающей запятой— 1,61—2,61 мксек; умножение с пла­ вающей запятой — 4,97 мксек; деление — 10,66—29,80

мксек.

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

Среднее время, затрачиваемое только арифметиче­ ским устройством, таково: сложение — 1,4 мксек; умно­ жение — 4,6 мксек; деление — 13,6 мксек.

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

Рассмотрим основные функции операционной системы «Атлас», которая к моменту своего возникновения (1963— 1964 гг.) была одной из наиболее развитых операционных систем (ОС).

Прежде всего остановимся на функции динамического распределения памяти, которая обеспечила внешний эф­ фект предоставления памяти одного уровня, несмотря на то что физическая оперативная память у машины «Ат­ лас» была весьма ограничена (16 тысяч слов для первых образцов). В V-памяти этой машины располагается таб­ лица соответствия математических страниц их физиче­ скому расположению. Сформированный после модифи­ каций исполнительный адрес поступает на регистр ад­ реса. Старшие 12 разрядов этого адреса представляют собой номер страницы или блока, к которому произво­ дится обращение.

Очень быстро аппаратно производится сравнение или поиск номера страницы по таблице соответствий, в стро­ ках которой расположены 12-разрядные номера математи­ ческих листов, присутствующие в данный момент в опе­ ративной памяти, и соответствующие им физические но­ мера листов. Если этот поиск увенчался успехом, то формируется физический адрес и производится обраще­ ние к ОЗУ за операндом. Если нужной страницы не оказалось в таблице соответствий, то производится

141

прерывание «по неэквивалентности» и вступает в действие управляющая программа распределения памяти. Эта программа обращается к большим таблицам, в которых указано, где на магнитных барабанах расположен иско­ мый лист (блок) информации, и организует «подкачку» дан­ ного листа в ОЗУ машины, изменяя при этом содержание аппаратных регистров соответствия. Чаще всего для того, чтобы найденную страницу переслать из вторичной па­ мяти в ОЗУ требуется освободить какую-либо страницу, т. е. «откачать» страницу из ОЗУ на барабан. Для этого существует много алгоритмов определения «устаревших» страниц.

В машине «Атлас» с целью определения частот исполь­ зования страниц, находящихся в ОЗУ, с каждой стра­ ницей связан разряд, в котором появляется единица при любом обращении к ней. Эти разряды опрашиваются через определенные промежутки времени (по временным прерываниям или по прерываниям, возникающим после выполнения нескольких десятков тысяч команд). Так обнаруживаются страницы, к которым были обращения между этими прерываниями. Эти страницы считаются

активно используемыми,

и они оставляются в ОЗУ.

Те страницы, к которым

сравнительно долго не было

обращений, считаются

редко используемыми, и из

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

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

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

142

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

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

Основу операционной системы машины «Атлас» составляет супервизор, в функции которого входит пла­ нирование потока задач, организация мультипрограмм­ ного их выполнения, организация работы внешних ввод­ ных и выводных устройств, распределение ресурсов между задачами.

Структура супервизора такова: вся информация, по­ ступающая в машину с внешних носителей или храня­ щаяся в ее архиве, делится на «документы». Документ может представлять собой программу или часть програм­ мы, массив данных или часть массива данных, содер­ жать некоторую специфическую информацию, необходи­ мую для работы супервизора, например, содержать опи­ сание задачи. Задача или задание (job) составляется из нескольких «документов» вне зависимости от того, отку­ да они пришли. В описании (или паспорте) задачи со­ держится перечень всех документов, необходимых для ее составления и работы. Супервизор, выделяя описания задач из входного потока всех документов, организует три входных очереди задач, или три потока задач. К пер­ вой очереди относятся задачи, требующие большого чис­ ла обращений к внешним запоминающим устройствам. Ко второму потоку относятся крупные задачи, требую­ щие большой вычислительной работы, и к третьему пото­ ку относятся короткие задачи и задачи, требующие боль­ шого ввода и вывода данных. Эти задачи «собираются»

143

и компонуются из документов, описанных в паспорте, и в собранном виде размещаются на разных магнитных лентах. Специальная планирующая подпрограмма супер­ визора для выполнения в мультипрограммном режиме выбирает задачи, относящиеся к трем разным потокам. Это сделано для того, чтобы повысить эффективность мультипрограммирования. Естественно, что программы из потока больших вычислительных задач при выпол­ нении в мультипрограммном режиме обладают низшим приоритетом, и на фоне их решения производятся опера­ ции по вводу-выводу для задач двух других потоков. Программы не имеют прямого доступа к внешним устрой­ ствам системы «Атлас», а выдают лишь задания, или заказы, на операции ввода-вывода. Эти задания, поступаю­ щие, как правило, через систему экстракодов, обслужи­ ваются специальной программой супервизора, органи­ зующей работу внешних устройств и распределение их между задачами. Как правило, вся информация, пред­ назначенная для вывода, собирается в так называемой области вывода и затем, иногда после окончания зада­ чи, независимо выводится на внешние устройства (на печать, на графопостроители и т. д.). Физически область вывода также располагается на магнитных лентах, и соответствующие программы супервизора организуют вывод информации с этих лент на реальные устройства. Грубая схема прохождения задачи через систему состоит из пяти этапов: ввод документов в область ввода, ком­ пиляция (собирание) программы, исполнение программы, размещение результатов в области вывода, реальный вывод.

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

Вслед за машиной «Атлас» фирма Ферранти совместно с математической лабораторией Кембриджского универ­ ситета разработала и приступила к серийному выпуску машины «Атлас-2», которая по своим техническим пара­

144

метрам несколько уступает своему прототипу, но, повидимому, оказалась более рентабельной и простой в се­ рийном производстве. Зтих машин произведено и уста­ новлено в 1971 г. несколько десятков, в основном в Англии.

§ 2. Вычислительная система «Атлас-2»

Главное отличие «Атласа-2» от системы «Атлас» со­ стоит, пожалуй, в том, что в «Атласе-2» вторичная па­ мять на быстрых магнитных барабанах заменена ферри­ товой памятью емкостью от 32 768 до 131 072 слов. Мак­ симальный объем ОЗУ, следовательно, больше, чем об­ щий объем памяти «Атлас» в ее стандартном комплекте. В состав машины «Атлас-2» не входит фиксированная (односторонняя) память, которая есть у «Атласа». Во всем остальном эти машины весьма похожи по структуре: память для 128 регистров модификации адресов (В-па- мять); V-память, состоящая из регистров управления режимами работы машины, регистров, связанных с управлением внешними устройствами, регистров защи­ ты памяти и внешних устройств при мультипрограммном режиме. В состав центрального процессора входят быст­ рые регистры для промежуточного хранения операндов и буферные регистры для хранения программ, объемом 8 и 32 слова соответственно.

Состав внешнего оборудования «Атласа» и «Атласа-2» приблизительно одинаков, если не считать, что «Атлас-2» рассчитан на подключение дисков. Большая ферритовая память «Атласа-2» состоит из четырех блоков, работаю­ щих с перекрытием *), что сделано для того, чтобы умень­ шить среднее время доступа к этой памяти.

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

*) Перекрытие означает возможность одновременного обраще­ ния к различным блокам памяти.

145

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

Статус 8 быстрых регистров для хранения операндов таков: программные адреса с номерами от 0 до 7 означают обращение к этим регистрам, т. е. быстрые регистры пря­ моадресуемы, и забота об их эффективном использова­ нии возлагается на программиста или систему програм­ мирования. Использование быстрых регистров при комплектации машины «Атлас-2» главной памятью со временем выборки 5 мксек может ускорить выполнение вычислительных программ в 2—2,5 раза.

В системе «Атлас-2», по существу, нет полистовой ор­ ганизации памяти. В случае, если в мультипрограммном режиме требуется разместить в оперативной памяти не­ сколько независимых задач, они размещаются в секции, физический адрес начала которой всегда кратен 512. С каждой программой связана 8-разрядная база, и фи­ зический адрес обращения за командой или операндом аппаратно формируется из исполнительного дважды мидифицированного математического адреса путем при­ бавления к нему базы. Аппарат защиты памяти контро­ лирует каждый адрес на предмет того, не вышел ли он за границу отведенной программе секции. Если адрес выходит за границу секции, происходит прерывание, и управление передается супервизору, который опреде­ ляет причину появления такого адреса и предпринимает необходимые действия. На этом же принципе контроля выхода адреса за границу текущего сектора построена защита памяти при обменах с внешними устройствами. Необходимость перестройки баз при переключениях от одной задачи к другой в мультипрограммном режиме,

146

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

ванной

задачей, приводит к тому, что

время

переклю­

чения

достаточно велико — около

одной

миллисе­

кунды.

 

 

 

Несмотря на значительные отличия в аппаратных ре­ шениях способов защиты и распределения памяти, су­ первизор «Атлас-2» — его операционная система — по своим возможностям и функциям мало чем отличается от ОС машины «Атлас».

В состав математического обеспечения «Атласа-2» входят, кроме операционной системы, трансляторы с языков АЛГОЛ, ФОРТРАН и КОБОЛ, Ассемблер и раз­ витые пакеты программ решения научно-технических и инженерных задач.

§ 3. Некоторые другие английские машины фирмы ICL

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

А р х и т е к т у р а с е р и и ICL-1900. Серия 1900 представляет собой семейство машин, насчитывающее пять моделей: 1901-А, 1902-А, 1903-А, 1904-А, 1906-А.

Диапазон по быстродействию, охватываемый этой се­ рией машин, широк: от 30 тысяч (1901-А) до 1 млн. операций в секунду (1906-А).

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

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

147

он указывает, может оказаться, в свою очередь,

ссылка

не на операнд, а на следующую косвенную

ссылку,

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

Интерфейс серии 1900 основан на шестиразрядных байтах, командное слово имеет 24 разряда. Это дела­ ет серию 1900 непреемственной даже информационно с сериями современных машин (IBM-360, System 4, Sigma 7).

По-видимому, фирма ICL прекратит дальнейший вы­ пуск машин этой серии и начнет выпускать машины но­ вой серии, основанные на идеях, высказанных в книге Айлифа «Принципы построения базовой машины», Изд-

во «Мир», 1973.

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

МашинаMUF (MU-5), проект которой разрабатывается в Манчестерском университете, явится прообразом машин новой серии ICL.

Фирмой ICL выпускается также семейство машин Система 4, программно преемственных с IBM-360.

S y s t e m 4 ( С и с т е м а 4). Серия Система 4 со­ стоит из пяти моделей: 4-30, 4-40, 4-50, 4-70, 4-75. Эти модели охватывают диапазон быстродействия от 15 до 300 тысяч операций в секунду.

В основу архитектуры Системы 4 положена архитек­ тура IBM-360, а система команд почти полностью сов­ падает с системой команд IBM-360. Исключение состав­ ляют системные команды, выполняемые в режиме су­ первизора. Таким образом, программы пользователей, написанные для машин серии 360, могут идти на соот­ ветствующих машинах Системы 4. За исключением маши­ ны 4-30, все модели обладают полной программной пре­ емственностью на уровне внутреннего языка машин. Модель 4-30 аппаратно выполняет лишь 41 команду из общего набора 144 команд.

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

148

математического обеспечения, касающегося операцион­ ной системы (супервизора) и интерпретации некоторых макроопераций на уровне ассемблера. В части органи­ зации системы прерываний и переключения с одной за­ дачи на другую аппаратные возможности Системы 4 вы­ ше, чем у Системы 360. В Системе 4 введена так назы­ ваемая Scratch Pad Store (быстрая память на регистрах), состоящая из четырех блоков по 16 регистров. Эти бло­ ки служат для хранения состояния машины и ее 16 об­ щих регистров. Машина может находиться в четырех режимах: в режиме рабочих программ, прерываний, су­ первизора и в режиме неисправности. По существу, ап­ паратно в Системе 4 предусмотрена глубина прерываний, равная 3. Это, в свою очередь, упрощает построение су­ первизоров для управления работой в мультипрограмм­ ном режиме и в режиме разделения времени.

Операционные системы машин Системы 4 обладают обычными стандартными возможностями по организации мультипрограммирования, связи с пультами оператора. Модель 4-75 и ее операционная система предусматривают организацию работ в режиме разделения времени.

Система программирования включает в себя языки: USER CODE (автокод), КОБОЛ-65, ФОРТРАН-IV,

АЛГОЛ-60, CLEO RPG, стандартную библиотеку и ас­ семблер. Трудоемкость создания только исполнитель­ ной программы (диспетчера) для Системы 4 оценивается в 30 человеко-лет. Стоимость разработки всего математи­ ческого обеспечения по отношению к стоимости разра­ ботки Системы 4 оценивается в 50%.

В фирме ICL в различных сферах ее деятельности, как на разработке МО, так в работах по проектированию и, по-видимому, в работах по обслуживанию собствен­ ных вычислительных машин, занято 1200 программистов (по данным на 1970 г.).

Несмотря на то, что система команд и интерфейс (бай­

товая структура, старт-стопный

режим) весьма близки

к системе IBM-360, система 4

не является полностью

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

149

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