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

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

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

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

В настоящее время заказчику вместе с машинами 4-40, 4-50, 4-70 выдается МО уровня J — операционная система, обеспечивающая пакетную обработку задач с совмещением операций по вводу-выводу. Более расши­ ренные системы предоставят возможности одновремен­ ного решения до 14 задач, гибкость в планировании, ра­ боту со многими пользователями (СРВ) и т. д. Структура ОС (уровень J) представлена на схеме (рис. 12).

Рис. 12.

Уровень J рассчитан на следующий минимальный со­ став оборудования: ОЗУ — 65К байтов, два диска, одно устройство считывания с перфокарт, одно устройство печати и телетайп. Максимальный объем памяти может быть увеличен до 1 000 000 байтов. Число внешних устройств может быть доведено до 36 (медленных). Ре­ зидентская часть операционной системы занимает в па­ мяти 20К байтов. Хранится ОС на дисках.

Вфункции супервизора входят:

1.Обслуживание прерываний.

2.Переключение с задачи на задачу. В памяти могут находиться до 14 рабочих программ, маркированных

флагами (ключами) от 0001 до 1110. Флаг со значением 0000 метит поля, доступные любым программам. Флаг со значением 1111 метит информацию, относящуюся к супервизору.

3. Обслуживание и управление внешними устрой­ ствами.

150

4.Обнаружение ошибок в машине и в программах и реакция на эти ошибки. (Например, организация повто­ рения чтения с МЛ.)

5.Связь с терминалами. Допускается до четырех тер­ миналов для работы операторов.

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

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

Г л а в а 3

МАШИНА ILLIAC-IV (ИЛЛИАК-IV)

Машина ИЛЛИАК-IV разрабатывалась в Иллинойском университете в США совместно с фирмой Burroughs. Идеологом этой разработки является профессор Злотник (Slotnick). Эта специализированная машина является одной из наиболее быстродействующих ЭВМ в мире, способной выполнять до 200 млн. операций в секунду. Машину ИЛЛИАК-IV часто относят к ЭВМ четвертого поколения. По первоначальному проекту машина ИЛЛИАК-IV планировалась как многопроцессорный комплекс, состоящий из 256 процессоров и центрального управляющего звена, в качестве которого была выбрана машина В-6500. Эти 256 процессоров должны были де­ литься на четыре квадранта, состоящих из 64 подчинен­ ных одному управлению процессоров каждый. Квад­ рант представляет собой достаточно независимую систе­ му машин, так что на системе в целом было возможно решать одновременно до четырех независимых крупных задач, требующих распараллеливания на 64 процессора. Предполагалось также, что и все 256 процессоров могут выполнять одну задачу. Однако ряд затруднений, в ос­ новном финансового характера, заставил разработчиков сосредоточить усилия на реализации одноквадрантного варианта машины ИЛЛИАК-IV, состоящего из 64 про­ цессоров и центральной машины В-6500. Этот проект должен был быть завершен в 1970 г. Однако опытная эксплуатация одноквадрантного варианта ИЛЛИАК-IV началось только в 1973 г.

Предшественником машины ИЛЛИАК-IV была ма­ шина «Соломон», и по идеологии своего построения эти

152

вычислительные машины имеют очень много общего. Разумеется, как более поздняя разработка, ИЛЛИАК-IV построена на иной элементной базе, что позволило до­ биться значительно более высоких показателей по быст­ родействию, чем у машины «Соломон».

Машина ИЛЛИАК-IV рассчитана на решение задач, поддающихся распараллеливанию. К таким задачам приводит широкий круг проблем — от проблем линей­ ного программирования до задач метеорологии. Как предполагают авторы проекта, при решении задач или их частей, допускающих распараллеливание, время ре­ шения уменьшается в 200 раз по сравнению со временем решения аналогичных задач на традиционных машинах с последовательным выполнением команд. По замыслу авторов система ИЛЛИАК-IV в ее нынешнем составе сможет быть использована как специализированная ЭВМ для работы в реальном времени в системе обслу­ живания нужд центра перспективных исследований в вычислительной технике Иллинойского универ­ ситета.

Как уже говорилось, попытки создать многопроцес­ сорную машину для решения специализированных задач уже имели место. Так, например, в 60-е годы был раз­ работан проект вычислительной системы «Соломон», со­ стоящей из большого числа (1024) независимых элемен­ тарных процессоров, которые одновременно выполняли одну и ту же команду, но с различными операндами. Каж­ дый элементарный процессор имел свою индивидуаль­ ную память операндов. Элементарные процессоры систе­ мы «Соломон» работали строго синхронно. Одновременное (синхронизованное) выполнение одинаковой последова­ тельности команд в значительной степени суживало круг задач, который мог быть поставлен на этой системе. Раз­ работчики ИЛЛИАК-IV сделали шаг вперед, отказав­ шись от строгой синхронизации работы элементарных процессоров, допустив возможность завершать выполне­ ние общей команды каждому процессору в произвольный момент времени. Кроме того, разработки ИЛЛИАК-IV расширили функциональные возможности каждого процессора, превратив каждый процессор в достаточно универсальную ЭВМ. Допустив возможность модифика­ ции выполнения операций в зависимости от операнда, выбранного из памяти, разработчики ИЛЛИАК-IV тем

153

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

Элементарные процессоры, или обрабатывающие эле­ менты, как и называют авторы проекта ИЛЛИАК-IV, представляют собой универсальные быстродействующие ЭВМ со своей памятью довольно большого объема. Они могут оперировать со словами длиной в 64 двоичных раз­ ряда и выполнять широкий набор арифметических опе­ раций над числами с плавающей и фиксированной запя­ той. Объем памяти, закрепленной за каждым процессо­ ром, равен 2048 словам. Память эта быстрая, и время обращения к ней составляет 350 наносекунд. Хотя все 64 процессора имеют централизованное управление, по­ лучают и выполняют одну и ту же последовательность команд, характер работы каждого из них над операн­ дами зависит от типа локальных данных, находящихся в собственной памяти. Специальный управляющий ре­ гистр обрабатывающего элемента содержит «моду дан­ ных», на основе которой определяется способ обработки, меняющийся от одного элемента к другому. Мода дан­ ных отражает результат завершившейся операции и фик­ сирует признаки переполнения, исчезновения значимо­ сти, неравенства нулю. В зависимости от моды данных может меняться характер выполнения последующих ко­ манд. Самый простой пример такого изменения — пре­ кращение выполнения дальнейшего счета. Принципиально это означает, что элементарный процессор в весьма огра­ ниченных пределах имеет подобие собственного устрой­ ства управления,— это путь к индивидуализации работы каждого процессора.

Отсутствие универсального управления в обрабаты­ вающих модулях ИЛЛИАК-IV, т. е. отсутствие возмож­ ности выполнять свою собственную программу, значи­ тельно суживает круг возможных применений этой системы. В ИЛЛИАК-IV заложена тем не менее возмож­ ность выполнения на разных элементарных процессорах разных программ, правда, за счет значительного сниже­ ния производительности всей системой. Реализуется это следующим образом. В общем устройстве управления существует 64-разрядный регистр маски, каждый разряд которого соотнесен конкретному процессору. С помощью этого регистра можно блокировать выполнение очеред­

154

ной команды на процессорах, «закрытых» маской. Иными словами, можно по желанию выключать из работы про­ извольную комбинацию процессоров. Принципиально это дает возможность одной группе процессоров выпол­ нять одну последовательность команд, а другой группе — другую, правда, уже не параллельно, а последовательно, В пределе, последовательно работая, каждый процессор может выполнять свою собственную программу. Практи­ чески это свойство используется в тех случаях, когда нарушается регулярность счета в области данных. На­ пример, как известно, алгоритмы вычислений значений функции в граничных точках при решении уравнений в частных производных методом сеток отличаются от ал­ горитмов счета во внутренних узлах сетки. Если область сетки, «покрываемая» 64 процессорами, содержит внут­ ренние, граничные и внешние точки, то, управляя маской, удается заставить соответствующие процессоры выпол­ нять эти разные алгоритмы. Но общая производитель­ ность системы при этом падает. Каждый элементарный процессор при выполнении команды образует признаки результата и заносит свое состояние в регистр моды, о котором уже шла речь. Этот регистр восьмиразрядный, что позволяет запомнить одновременно до восьми призна­ ков, характеризующих состояние элементарного про­ цессора в каждый момент времени. В системе команд ИЛЛИАК-IV существует специальная команда, которая позволяет считать любой признак и поместить его в спе­ циальный 64-разрядный регистр центрального управле­ ния всеми процессорами. Существуют команды, также выполняемые общим центральным управлением, осу­ ществляющие переходы по значению этого центрального регистра моды, а также команды, которые могут пере­ давать содержимое цетрального регистра моды в регистр маски.

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

При разработке системы ИЛЛИАК-IV было решено много сложных структурных проблем. Первая пробле­ ма — это проблема информационной связи между отдель­ ными процессорами, точнее, между их индивидуальными запоминающими устройствами. Простейший метод релак­ сации для решения уравнения Лапласа по разностной

155

формуле

ц у^= U(x, y+ h)+ U (x+h, y)+ U (х, y—h)+U(x—h, у)

требует того, чтобы £-й процессор пользовался данными, вычисленными четырьмя соседними процессорами. Систе­ ма межпроцессорных связей, разработанная в ИЛЛИАКIV, позволяет транслировать информацию от любого элемента к любому путем использования возможности обращений к ЗУ соседних элементов. Зтот же прием ис­ пользуется для распределения данных между локальны­ ми ЗУ обрабатывающих процессоров в том случае, если эти данные поступают из общей системной памяти или с внешних устройств и телефонных каналов. Схематично можно представить себе, что каждый обрабатывающий элемент расположен в узлах квадратной сетки информа­ ционных магистралей и путь информации от узла i к уз­ лу / проходит последовательно через несколько сосед­ них узлов.

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

Параметры этой машины таковы: объем памяти

ОЗУ — до

524 тысяч слов; время сложения — около

0,4 мксек-,

время умножения — около 5 мксек\ время об­

ращения к памяти — 1,2 мксек, т. е. это машина с быст­ родействием порядка 500—600 тысяч операций в секун­ ду. Машина В-6500 обладает широкими возможностями по связи с внешним оборудованием ввода-вывода и те­ лефонными каналами, к ней могут быть подключены ди­ сковая память объемом в несколько млн. байтов, устрой­ ства визуального отображения и оптическая память для хранения огромных архивов данных. В системе ИЛЛИАК-IV машина В-6500 выполняет все сложные фун­

156

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

Наконец, очень серьезная проблема, которая встала перед разработчиками системы ИЛЛИАК-IV,— это проблема обеспечения живучести *) и надежности. Эта огромная система содержит более семи миллионов элект­ ронных компонент, поэтому вероятность выхода из строя какого-либо элемента системы очень велика, и следовало заранее предвидеть, что без принятия какихлибо структурных мер обеспечить приемлемую надеж­ ность системы не удастся. Работоспособность каждого узла системы аппаратно контролируется, разработана автоматическая система замены вышедших из строя уз­ лов резервными. Разработана система диагностических тестов, позволяющих быстро определять место неисправ­ ности. В состав системы входит специальная машина, занимающаяся периодическим контролем узлов и опре­ делением неисправных элементов. Все это усложняет систему в целом, но является необходимыми компонен­ тами современных многопроцессорных систем. Блок-схе­ ма системы ИЛЛИАК-IV представлена на рис. 13.

Интересно отметить, что в течение двух лет две универ­ сальные машины В-5500 были полностью заняты решением задач, возникших при проектировании ИЛЛИАК-IV. Они использовались для проектирования много­ слойных плат и фотомасок многослойного монтажа, на них отрабатывались диагностические и тестовые про­ граммы, на них проверялась логика работы обрабаты­ вающих элементов и имитировалась работа системы в целом. Это еще один пример использования ЭВМ в це­ лях разработки новых ЭВМ.

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

157

Рассмотрим несколько более подробно, каким спосо­ бом удается в системе ИЛЛИАК-IV добиться возмож­ ности независимой работы каждого процессора по своей программе при условии, что устройство управления у всех 64 процессоров одно и они в каждый данный момент могут выполнять лишь одинаковую команду.

Рис. 13. Блок-схема системы ИЛЛИАК-IV.

В блоке центрального управления существует ре­ гистр «моды». Каждый разряд этого 64-разрядного регистра связан со своим элементарным процессором.

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

158

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

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

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

Не удивительно поэтому, что разброс в производи­ тельности в зависимости от класса решаемых задач на системах, подобных ИЛЛИАК-IV, достигает десятков и сотен крат. Иными словами, на некоторых задачах производительность может достигать сотен миллионов операций в секунду, а на других, «неудобных» задачах опускаться до 1—2 миллионов. С регистром моды свя­ зана маска, назначение которой как раз и состоит в том, чтобы из работы исключать элементарные процессоры, которые обозначены в ней нулями. Формируя эту маску произвольным образом или пересылая в нее значение регистра моды, можно добиваться весьма произвольных правил включения и исключения процессоров из работы. Теперь легко понять, как, например, производится программный анализ завершения итерационного про­ цесса в методе релаксации при решении уравнений Лап­ ласа. Всеми процессорами выполняется команда срав­ нения значения искомой функции в узле разностной сет­ ки со значением в том же узле, но на предыдущем шаге

и проверяется содержимое всех

разрядов

регистра

моды.

В тот момент, когда все разряды будут указывать

на то,

что сравниваемые величины

не отличаются по

всем узлам, можно оканчивать

процесс

решения

задачи.

 

 

159

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