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

книги из ГПНТБ / Дроздов Е.А. Основы построения и функционирования вычислительных систем

.pdf
Скачиваний:
15
Добавлен:
25.10.2023
Размер:
14.65 Mб
Скачать

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

ооп

/

Коми

у m a m 0 р

\

ЦвМ-1

цвм-г

цвм

Рис.

1-4.

Вычислительная

система

с общей памятью и непосредственной связью между машинами.

дена на рис. 1-4. Взаимодействие вычислительных систем ВС-1, ВС-2, ВС-3 (а точнее, управляющих ЦВМ этих систем) производится с помощью управляющей ЦВМ вы­ числительной системы ВС-4. Это высший (второй) уро­ вень управления.

г ;

ЦВМ

ЦВМ

Ч

7

Управляющая

ЦВМ

Т У---Л

Управляющая , ЦВМ \

 

/

\

і

 

 

 

ЦВМ

ЦВМ 1

 

 

l "

\

t

!

I

 

ß £ ' J I

§CJj

bc-±j

Рис. 1-5. Децентрализованная ВС с иерархиче­ ской структурой средств управления.

30

Рассмотренные структуры систем являются типовыми для универсальных ВС. В существующих в настоящее время УВС в той или иной мере реализованы описанные структурные принципы.

Структуры специализированных ВС отличаются в той или иной степени от структур УВС в зависимости от ха­ рактера решаемых задач. Отметим наиболее характер­ ные особенности некоторых проектов структур СВС, пред­ назначенных для реализации массового распараллели­ вания частей вычислительного процесса [Л. 13].

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

Основными элементами проекта системы Унгера являются центральное устройство управления (это ЦВМ с памятью большой емкости) и большое число одинако­ вых логических модулей, расположенных в узлах одно­ родной сетки. Таким образом, модули образуют одно­ родную по функциональным связям структур, каждый модуль соединен с четырьмя такими же соседними мо­ дулями и, кроме того, с центральным устройством управ­ ления и внешним источником информации. Число моду­ лей может изменяться от нескольких сотен до нескольких десятков тысяч без изменения логической структуры си­ стемы. Конструктивно каждый модуль представляет собой одноразрядный двоичный сумматор накапливающего ти­ па с оответствующими логическими элементами и одно­ разрядными запоминающими ячейками, обеспечивающи­ ми выполнение заданного набора элементарных опера­ ций. В ходе решения задач все логические модули одно­ временно выполняют одну и ту же операцию.

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

31

операции каких-либо модулей СВС (все модули должны быть активными), малая разрядность сумматоров моду­ лей, небольшой набор операций, выполняемых модулями.

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

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

соединенных

модулей, образующих

сетку. Все

модули

связаны с центральным устройством управления,

каждый

из них состоит

из арифметического

устройства

последо­

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

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

32

статочно просты, так

как емкость

их памяти

невелика,

а набор выполняемых операций ограничен.

 

Указанные СВС

могут быть

названы

проблемно

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

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

1-4. МАТЕМАТИЧЕСКОЕ ОБЕСПЕЧЕНИЕ ВС

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

емкости подготовительной

работы при решении задач

на машине (системе). Из

этого определения вытекает,

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

В настоящее время МО вычислительной машины и особенно многомашинной или многопроцессорной ВС представляет собой довольно развитый комплекс средств,

обеспечивающий не

только повышение эффективности

ее функционирования

(например, сокращение времени

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

В короткой истории развития системы математиче­ ского обеспечения можно выделить три поколения: по-

3—1514

33

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

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

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

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

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

Стандартные подпрограммы, а также компилирую­ щие и интерпретирующие системы их использования широко применяются и в настоящее время. Составление подпрограмм, как и все программирование, сначала велось только на машинном языке. Позже для состав­ ления стандартных подпрограмм, а также основных про­ грамм стали применяться так называемые машинноориентированные языки, в основе которых лежит систе­ ма команд какой-то конкретной ЦВМ.

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

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

впроцессе их отладки. Отладка программы нередко за­

нимает гораздо

больше времени, чем решение задачи

по отлаженной

программе.

Для второго поколения системы МО характерно ис­ пользование проблемно-ориентированных языков про-

34

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

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

Применение алгоритмических языков связано с не­

обходимостью

перевода

программ

на машинный язык,

что осуществляется с помощью специальных

программ

перевода — трансляторов. На

это

затрачивается опреде­

ленное время,

и, кроме

того,

транслированная

програм­

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

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

нием вычислительных комплексов

(ВК).

 

Структура современной системы МО многопрограмм­

ных ЦВМ или вычислительных

комплексов

приведена

на рис. 1-6.

 

 

Все МО можно разделить на две большие части —

общее и специальное. Общее МО

позволяет

эффективно

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

3*

35

и обеспечивают функционирование ЦВМ (ВК) как не­ которой специализированной системы обработки инфор­ мации.

В дальнейшем речь будет идти о МО одномашинных (однопроцессорных) или многомашинных (многопроцес­ сорных) мультипрограммных ВС.

 

 

Математическое

Специальное МО

 

 

обеспечение

(МО)

 

 

 

 

 

 

общее мо

 

 

' Система

 

Операционная

 

Система

тестов

 

сжтема

 

программирования

Контролирующее

директор

 

Интерпретирующие

 

 

системы

программы

 

 

 

 

 

 

 

 

 

 

 

 

компилирующие

Диагностические\

Монитор

 

 

системы

''программы

 

 

 

 

 

 

 

 

 

 

 

 

 

Трансляторы

 

 

Супервизор

 

Программы

 

 

 

 

 

сервиса

 

 

 

 

Йлгор иmми ческие

 

 

 

 

 

языки

 

 

 

 

библиотека

 

 

 

 

стандартных

 

 

 

 

 

программ

Рис. 1-6.

Структура системы

математического

обеспечения.

Общее МО состоит из трех систем: системы тестов, операционной системы (ОС) и системы программирова­ ния (СП), называемой также системой автоматизации программирования (САП).

Назначение системы тестов осталось тем же, что и в МО первого поколения. Разница заключается в услож­

нении тестовых

программ, особенно диагностических,

в повышении их возможностей

по локализации

неисправ­

ностей.

 

 

 

 

Системой программирования

называется

часть

МО,

обеспечивающая

всестороннюю

автоматизацию процесса

получения рабочих программ.

Развитые системы

про-

36

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

БСП, программы сервиса и т. д. В состав СП

можно

включить и

используемые алгоритмические

языки.

В сущности,

объем и разнообразие средств, представ­

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

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

Операционная

система

(ОС)

представляет

собой

аппаратно-программный комплекс,

в

котором

объеди­

нены средства

организации

процесса

функционирования

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

ных

архивов) абонентов, оперативное управление рабо­

той

элементов ВС в процессе

решения задач, обеспечение

контроля

работоспособности

всех компонент системы

в процессе

функционирования.

Требования к ОС: операционная система должна обладать свойством структурной гибкости, способностью^ изменяться и пополняться новыми процедурами. Струк­ турная гибкость обычно достигается путем использова­ ния модульного принципа построения ОС; система долж­ на обеспечивать предоставление абонентам максимума удобств в сочетании с наиболее эффективным использо­ ванием ВС; ОС должна обеспечивать сведение к мини­ муму простоев оборудования (главным образом, про­

цессоров),

связанного

с вмешательством

оператора или

абонента

в процессе

обработки

информации

вычисли­

тельной системой; потери времени на работу

ОС долж­

ны быть минимальными.

 

 

 

Затраты машинного времени на работу ОС сущест­

венно зависят от соотношения

между

аппаратурной и

37

программной

частями этой системы. В общем случае,

чем больше

удельный вес аппаратурной части, тем

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

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

деляется текущим состоянием ВС, временем

нахожде­

ния в системе задач, подлежащих решению,

количест­

вом этих задач, временем, необходимым на их обслужи­ вание, и т. д.

Операционную систему можно разделить на три ос­ новные единицы: директор, супервизор, монитор.

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

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

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

Монитором называется часть ОС, реализующая сле­ дующие функции: оперативное планирование и управ-

38

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

между

основными программами,

подготовка программ

к выполнению.

 

Совокупность супервизора и монитора часто назы­

вают

диспетчером.

 

Имеется и другое деление МО

на группы. Например,

в [Л. 15] предлагается различать внутреннее и внешнее МО. Под внутренним МО понимается комплекс средств, облегчающих эксплуатацию ВС и обеспечивающих эф­

фективную организацию

вычислительного процесса.

Сюда включаются тестовые

программы, операционная

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

1-5. ПРИНЦИПЫ ОРГАНИЗАЦИИ И РАСПРЕДЕЛЕНИЯ

ПАМЯТИ ВС

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

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

39

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