
книги из ГПНТБ / Дроздов Е.А. Основы построения и функционирования вычислительных систем
.pdfнекоторое количество вычислительных средств. Каждая из этих систем по степени централизации управления является централизованной ВС, структура которой мо жет быть самой различной, например такой, как приве-
ооп
/ |
Коми |
у 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