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

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

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

Оптимальным разбиением графа G называется допу­ стимое разбиение с минимальной ценой С, размер кото­ рого k достигает своей нижней границы k*.

Для упрощения изложения принимается, что цены

всех

ребер графа равны единице, т. е. сц=\(і,

/ = 1 , q).

Разбиение целесообразно

выполнять

в два

этапа,

этап

разбиения графа G на

естественные

части — пол­

ные подграфы и этап композиции блоков из полных под­

графов.

M=G(A)

 

 

 

Полный подграф

графа

G есть семейство

всевозможных пар

U=(cti, a,-),

U<^R

для любых

двух

различных вершин а,- и а,- из подмножества вершин

Ad

czl/. Обозначим через я число

вершин

подграфа М.

Для выполнения

разбиения

можно

воспользоваться

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

мальных

классов

(полных

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

в § 6-4.

 

 

 

Данный алгоритм должен применяться к матрице

смежности

графа

G, строки

и столбцы которой соответ­

ствуют номерам вершин.

На пересечении строки і и столбца / ставится едини­ ца, если вершины и,- и ѵ$ соединены ребром, и нуль

впротивном случае.

Врезультате применения данного алгоритма опреде­ ляется совокупность полных подграфов {M,}, ( і = 1 , г) графа G.

Обозначим через_Л дополнение множества вершин А

подграфа М, т. е.

4 — К \ А

Дополнение

А

определяет

разложение множества ребер графа G на три непересе­

кающихся класса

(рис. 6-8) :

 

 

 

1)

внутренние

ребра

U = Ri= (ai, а2),

щ,

U2ŒA;

2)

соединяющие ребра R2

= (а, а), а€=А,

aŒA;

3)

внешние ребра R3 = (äi,

ä2), ai, ä2<^A.

 

Число внутренних ребер для множества А подсчиты-

вается по формуле

 

 

 

 

 

 

N =

nin-^)_

 

( 6 4 3 )

Число соединяющих ребер m для множества А может быть найдено из соотношения

т = р(А, Л).

(6-44)

3 2 0

Аналогичные понятия вводится для вершин. Любой

подграф

M и его дополнение M — G\M

определяют

раз­

ложение

множества

вершин

на

три

класса:

 

 

1 ) внутренние вершины подграфа

М,

не

инцидент­

ные никаким ребрам из М;

 

 

 

 

 

 

 

 

2) соединяющие

вершины,

инцидентные

ребрам

как

из М, так и из

М;

 

 

 

 

 

 

 

 

 

 

 

3) внешние вершины, т. е. внутренние вершины под­

графа М.

 

 

 

 

 

С(А)—мно­

 

 

 

 

Введем

обозначения:

 

 

 

 

жество

соединяющих

вершин

для

M

 

 

 

 

(или

А).

Оно

состоит

 

из тех

 

концов

 

 

 

 

соединяющих

ребер

 

(вершин),

кото­

 

 

 

 

рые принадлежат А.

 

 

 

 

 

 

 

 

 

 

С (А)—множество

 

 

 

оставшихся

 

 

 

 

концов

соединяющих

ребер,

которые

 

 

 

 

принадлежат Ä, для которых справед­

 

 

 

 

ливы следующие соотношения:

 

 

 

 

 

 

 

С'(А)Г)С(А)=0.

 

С(Л) =

С ' И ) ;

 

жение6'множества

т =

С {A) CZ А,

C'{A)CZÄ;

 

а)<

ребер

г р а ф а

G н а

р{А, Д

) =

2j

Р (

#

) =

Zj

 

щ и х с я к л а с с а .

 

 

 

 

 

 

 

 

 

т р и н е п е р е с е к а ю -

 

 

 

 

п&ЦА)

 

~ŒC'(A)

 

 

 

 

 

где

р(а)—число

ребер

R2,

инцидентных

вершине

й £

е С ( А ) ;

р ( а ) — ч и с л о

ребер R,

инцидентных

вершине

ö e С (Л).

 

 

 

 

 

 

 

 

 

 

 

 

 

Композиция

блоков

из полных

 

подграфов

 

 

 

1. Для композиции блока в р вершин в совокупности полных подграфов { M J ( i = l , пм) отыскиваются все под­ графы, содержащие по п = р вершин.

Если таких подграфов несколько, то выбирается один, у которого число соединяющих ребер R2 минимально.

Вершины выбранного подграфа выделяются в от­ дельный блок. Они исключаются из подграфов совокуп­ ности {Mi} (i=l, пм). Из совокупности подграфов так­ же исключаются подграфы с одной вершиной.

2. Если нет подграфов, содержащих по п р вершин, тогда в совокупности подграфов отыскиваются подгра­ фы, содержащие по п>р вершин.

Если таких подграфов несколько, то выбирается один, у которого наименьшее количество избыточных вершин—

(n—P) •

2 1 — 1 5 1 4

3 2 1

И з подмножества вершин А выбранного подграфа исключается группа в (я—р) вершин, которая макси­ мально увеличивает число внешних ребер Яз-

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

Из совокупности подграфов также исключаются под­ графы с одной вершиной.

3. Если нет подграфов, содержащих по п — р и п > р вершин, тогда в совокупности подграфов остаются под­ графы, содержащие по п<р вершин.

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

шин — (р—п).

К подмножеству вершин А выбранного подграфа до­ бавляется группа в (р—п) вершин из подмножества А, которая максимально увеличивает число внутренних ре­ бер Ri и минимально уменьшает число внешних ре­ бер R3.

Объединенные

вершины

выделяются

в

отдельный

блок. Они

исключаются

из

подграфов

совокупности

{Mi}

пм) •

Из

совокупности

подграфов

также

исключаются подграфы с одной вершиной.

 

 

 

Последовательное

выполнение

пп.

1,

2, 3

приводит

к построению блоков

по р

вершин в

каждом

и

только

в одном блоке число вершин может быть меньше р .

Номера вершин, входящих в блок, соответствуют

адресам, включаемым в одну страницу.

 

 

 

 

Доказательство

оптимальности

алгоритма

 

компози­

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

При исключении группы из (п—р)

вершин часть ре­

бер R

изменяет свое положение и переходит из подмно­

жеств

Ri в R3, Ri в R2,

R2 в Rs. На

величину

m

оказыва­

ют влияние переходы

из Ri в R2

и из

R2 в

Rz-

Первые

увеличивают m, а вторые его уменьшают. Указанные из­

менения количественно определяются следующим

обра­

зом.

Ru

 

 

Число ребер

инцидентных любой вершине

а е Л ,

равно п1. Так

как

из А исключается п—р вершин, то

3 2 2

число m может увеличиться на

Nm= (п->1) (п-р)

(6-45)

ребер. Однако часть этих ребер является

внутренними

по отношению к вершинам группы и поэтому переходя­ щими из Ri в R3. Их число легко подсчитать по формуле (6-43), если вместо п подставить я — р . Получаем:

N B = ± n - p )

« » - ^ - D - ,

(G-46)

При подсчете ребер по

формуле (6-45)

внутренние

ребра группы подсчитывались дважды, поэтому выра­

жение

(6-46)

удваивается:

( п — р ) ( ( п — р ) 1 ) .

 

После вычитания полученного выражения из выра­

жения

(6-45)

окончательно находится, что число

ребер,

на которое может увеличиться Т, равно:

 

 

) (п-р)

- (п-р) ( (п-р)

- 1 ) =р(п-р).

(6-47)

Значение р задано, а значение п для определенного подграфа M постоянно, поэтому увеличение m при пере­ ходе ребер из Ri в Rz происходит на постоянную вели­ чину независимо от того, какие вершины попали в группу.

Напротив,

уменьшение

m при

исключении

группы

вершин

зависит

от состава

вершин

в группе.

Например,

пусть

5 (Л) подмножество

вершин,

входящих

в

группу

5 (Л) С С (Л) С Л. Тогда количество

ребер, переходящих

из R2 в R3, подсчитывается

по формуле

 

 

 

 

 

2 P(fl).

 

(6-48)

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

При добавлении группы р — п вершин часть ребер R изменяет свое положение и переходит из подмножеств:

# 2 в Ri, R3 в #2 , R3 в Ri. На величину m оказывают

2 1 *

323

влияние только переходы из R 2 в Ri и из R 3 в R 2 ; пер­ вые уменьшают m, а вторые увеличивают ее. Указанные

изменения величины

m количественно выражаются так:

 

 

Т* = Т -

 

S

р ( « ) + S

p(fl),

(6-49)

где

2

p (й) число

ребер /?2, инцидентных

вершинам

 

~e=s(T)

 

 

 

 

 

 

 

 

группы, образующих

подмножество

5 ( Л ) С С ( Л ) С Я

до

включения

группы в

Л;

^

р (а) — число

ребер R 2

, ин-

цидентных

вершинам

группы,

образующих

подмножество

S (A) CZ С (A) С А после

включения группы в

А.

 

 

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

Р и с . 6-9. Г р а ф Gi.

в (6-49) имело наибольшее значение, а третье — наи­ меньшее, что соответствует требованию максимального увеличения числа внутренних ребер Ri и минимальному уменьшению числа внешних ребер І?з.

 

Пример.

П р е д п о л о ж и м , ч т о

п р о с т р а н с т в о

а д р е с о в

с о с т о и т

из се­

м и

а д р е с о в

с н о м е р а м и

'1, 2 , . . . ,

7.

 

 

 

 

 

 

 

П р и в ы п о л н е н и и з а д а н н о й п р о г р а м м ы к э т и м а д р е с а м п р о и з в о ­

д я т с я

о б р а щ е н и я в

с л е д у ю щ е м

п о р я д к е : 1, '2, 3,

4,

5,

6, 7,

5,

2, 4.

 

Т р е б у е т с я р а з б и т ь п р о с т р а н с т в о д а н н ы х а д р е с о в н а с т р а н и ц ы

по

т р и а д р е с а

(р=3)

 

т а к и м о б р а з о м , ч т о б ы

ц е н а

р а з б и е н и я

С =

=

2 C j j

д л я

всех

ѵ{,

Vj

(i, / = ' 1 ,

7 ) , р а с п о л о ж е н н ы х

в

р а з н ы х

б л о к а х ,

б ы л а м и н и м а л ь н о й .

324

Решение. Для данных

адресов

строим соответствующий граф

G4 .(рис. 6-9).

 

 

 

 

 

 

 

Для графа ОІ запишем матрицу

смежности

 

1 2

3

4

5

6

7

1

0

1

0

0

0

0

0

2

1 0

1

0

1 0

1

3

0

1 0

1

0

0

0

4

0

0

1 0

1 0

0 .

5

0

1 0

1

0

11

6

0

0

0

0

1 0

1

7

0

1 0

0

 

1 1 0

По матрице смежности с помощью алгоритма определения со­

вокупности

максимальных

классов

несовместимости

(см. § 6-4)

най­

дем совокупность

полных

подграфов:

J W I = { 1 ,

2}, М 2 = {2, 3},

М3

=

= {2, 5,

7}, М 4 =

{3,

4}, М5 =

{4,

5}, Ме=

{5,

6.

7}.

 

 

 

 

 

 

 

В данной совокупности находим подграфы М3

и Мв,

содержа­

щие по три вершины. Определяем для

них количества

соединяю­

щих ребер

R2(M3)=4,

 

R2{Me)=3

 

(см.

рис.

6-9). Так как

 

R2(MS)<

<Rz(M3),

 

выбираем

подграф

Мв.

 

 

 

 

 

 

 

 

 

 

 

 

Его вершины выделяем в отдельный блок—(5, 6, 7).

 

 

 

 

Исключаем -их из подграфов

данной

совокупности,

получаем

МІ={\,

2}, Mz={2,

 

3}, М3={2},

 

 

M 4 = { 3 ,

4},

М 5 = { 4 } .

 

Исключаем

также подграфы с одной вершиной. В результате получаем

новую

совокупность подграфов: Л1і =

{1,

2}, Лт2 = {2, 3}, М 4 = { 3 ,

4}.

 

 

 

В данной совокупности все подграфы содержат число вершин

меньше трех и у них одинаковое число недостающих вершин

(по

одной). Поэтому выбираем подграф с меньшим номером — Мі.

 

К вершинам подграфа Мі можно добавить

либо

вершину

3,

либо 4.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

При добавлении вершины 3 количество внешних ребер R3

умень­

шается

на

одно

ребро

г=

(3,

4),

зато

количество

внутренних

ребер

Ri увеличивается на

одно ребро

г= (2,

3).

 

 

 

 

 

 

 

 

 

При добавлении вершины 4 количество внешних ребер R3

также

уменьшается на одно ребро /"=(3, 4), но

количество

 

внутренних

ребер Ri

не увеличивается.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Поэтому добавляем вершину 3. Объединенные таким образом

вершины выделяем

 

отдельный

блок

( 1,

2,

3).

 

 

 

 

 

 

Исключаем

их

из

подграфов

 

данной

совокупности,

сокращенной

на предыдущем

шаге, получаем

A f 4 = { 4 } .

 

 

 

 

 

блок—(4).

Последнюю

вершину 4

также

выделяем

в отдельный

 

Таким

образом,

произведено

оптимальное

разбиение

простран­

ства данных адресов на страницы

(5,

6,

7),

(1, 2,

3) и

(4) с

ценой

разбиения

С=Сп

+ СгъЛ-сзі, + Сіь = 4, которая

минимальна.

Это

 

легко

проверить

по рис.

6-9.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Г Л А В А С Е Д Ь М А Я

ВЫЧИСЛИТЕЛЬНЫЕ СИСТЕМЫ ОБЩЕГО НАЗНАЧЕНИЯ

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

7-1. ВЫЧИСЛИТЕЛЬНАЯ СИСТЕМА С АППАРАТНЫМ Р А З Д Е Л Е Н И Е М ВРЕМЕНИ М Е Ж Д У АБОНЕНТАМИ

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

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

цессор, а также аппаратуру управления и коммутации.

326

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

для каждого

абонента

выделена индивидуальная зона

с блокировкой

доступа

к ней со стороны других абонен­

тов. Связи пультов с соответствующими зонами общеси-

ПЯ,

Г

ЗУС Т - '

ЯУК

"1.

ну

 

ЗУЯ,

 

ДОЗУ

 

 

 

КУ

 

 

 

 

 

 

ЯУ

 

 

 

 

 

 

 

 

УО

ИУ

 

 

 

У У

 

 

 

 

КУ

 

ЗУЯп

 

 

 

 

 

 

 

 

РгЗп

АУ

 

 

 

ЗУСП

 

 

 

 

ЗУПП

 

 

 

 

 

 

Процессор

 

 

ЗУК

 

 

 

L

А.

 

 

Р и с . 7-1. С т р у к т у р а в ы ч и с л и т е л ь н о й с и с т е м ы с а п п а р а т н ы м р а з д е л е ­

н и е м в р е м е н и .

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

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

327

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

ства

абонента ЗУА;

так,

ПАІ отвечает ЗУАі,

ПАП

ЗУАП

и т. д. Следует отметить, что в процессе подготов­

ки задачи к решению и в

процессе считывания

резуль­

татов

все абоненты

могут

параллельно работать

со сво­

ими ЗУА без затрат рабочего времени процессора; при этом возможно произвольное обращение абонента к лю­ бой ячейке своего ЗУА.

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

стандартных программ вычислений ЗУСП, запоминаю­

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

для размещения подпрограмм ЗУПП,,

которые могут

использоваться при реализации стандарт­

ных и нестандартных программ вычислений, запоминаю­

щее

устройство констант ЗУК, а также

регистр запро­

сов

РгЗп, в который через коммутатор

запросов КЗ п.

записываются соответствующие кодовые посылки с пуль­ тов абонентов. Общесистемная память может рассма­ триваться в данном случае как объединение индивиду­ альных оперативных ЗУ абонентов и общего постоянного.' ЗУ системы.

Все числа, над которыми производятся действия, в рассматриваемой вычислительной системе, представ­ ляются в виде двоично-десятичных кодов; общее коли­ чество десятичных разрядов для чисел 12. На одной до­ рожке магнитного барабана, представляющей одно ЗУА, размещается до восьми чисел или до 32 команд програм­ мы при четырехкратной записи каждого кода (неодно­ кратная запись каждого кода позволяет существенно

328

сократить

время ожидания кода при циклической рабо­

те ЗУ) .

 

 

 

и контроля АУК со­

Основу

аппаратуры

управления

ставляет

диспетчерское

устройство

ДУ, которое

осуще­

ствляет

непрерывный контроль за

состоянием

пультов,

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

тилей Ві,

команд подпрограмм

через группу вентилей В2,

а также

команд

из

ЗУА. Оно

же организует пересылку

констант

из ЗУК

в

арифметическое устройство АУ про­

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

Основу процессора системы составляют арифметиче­ ское устройство АУ и устройство управления УУ. Ариф­

метическое

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

ленными в

двоично-десятичном

коде. Кроме АУ и УУ,

в состав процессора

входят: дополнительное

оператив­

ное запоминающее

устройство

ДОЗУ малой

емкости,

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

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

329

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