ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ Государственное образовательное учреждение высшего профессионального образования

advertisement
ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ
Государственное образовательное учреждение высшего
профессионального образования
Московский государственный институт электроники и математики
(технический университет)
Кафедра вычислительных систем и сетей
Вычислительная система,
управляемая потоком данных
Методические указания
к курсовому проекту по куру
«Высокопроизводительные вычислительные системы»
Москва 2009
-2Составитель С.М. Салибекян
Вычислительная система, управляемая потоком данных: Метод. указания к
курсовому проекту по курсу «Высокопроизводительные вычислительные
системы» / Моск. гос. ин-т электроники и математики; Сост. С.М.
Салибекян. М., 2009 – 29 с.
Библиогр.: 7 назв.
Аннотация
Методические
указания
призваны
познакомить
студентов
с
приёмами проектирования вычислительных систем, управляемых потоком
данных.
Пособие
даёт
как
теоретические
знания
(представление
алгоритмов в виде графов, основы фон-неймановской архитектуры
вычислит.
управляемых
систем,
принципы
потоком
данных),
работы
так
вычислительных
и
знания
систем,
практические
(проектирование конкретной вычислительной системы, управляемой
данными). Предназначается для студентов 5-го курса вечерней формы
обучения.
ISBN 978-5-94506-219-1
-3-
Цель работы
Целью данной курсовой работы является отработка навыков
проектирования и оценки
вычислительных систем (ВС), управляемых
данными, и отработка навыков анализа алгоритмов с помощью графовой
модели.
Теоретические сведения
Любой вычислительный процесс можно представить с помощью
ориентированного графа, приписав его вершинам вычислительные
операции (арифметические, логические и т.д.), а
дугам - операнды
(данные)
сложения
этих
операций.
Например,
операцию
можно
представить так:
x2
x1
+
y
Входящие в вершину дуги – входные данные для операции,
выходящая дуга – результат выполнения операции (в данном случае
сложения). Некоторые операции, например, вычитание, чувствительны к
порядку следования операндов: если поменять местами вычитаемое и
уменьшаемое, то результат операции будет другим. Поэтому для подобных
операций входящие дуги нумеруются: цифра 1 обозначает первый
операнд, а цифра 2 – второй:
-4-
x2
x1
1
2
+
y
Результат выполнения операции подается в качестве операнда на
одну или сразу на несколько других операций. Таким образом можно
описать любой алгоритм. Исходные данные для алгоритма будем
обозначать прямоугольниками. Например, арифметическое выражение
y=ax2+bx+c посредством графовой модели можно представить так:
A
B
C
x
*
*
+
*
+
Y
При реализации алгоритма вычислительной системой есть два
глобальных подхода: управление командами и управление данными.
Первый подход считается классическим - он используется в большинстве
современных компьютеров. Заключается он в том, что вычислительный
процесс управляется потоком команд: процессор принимает коды,
-5описывающие команды, интерпретирует их и выполняет. Получается, что
для ВС описываются узлы графа алгоритма. Так, типичная команда
подобной ВС имеет следующий формат:
КОП
Операнд 1
Операнд 2
Результат
где КОП - код операции (код, который обозначает, какую операцию
надо сделать);
первый операнд, второй операнд - указание, из каких ячеек памяти
следует брать операнды;
результат - указание, куда следует поместить результат выполнения
операции.
Данная конструкция описывается узлом графа алгоритма, в который
входит два операнда, и выходит один результат:
A
C
+
B
Таким образом, первое поле описывает узел графовой модели, а три других
- дуги.
В системах, управляемых данными, акцент делается не на описание
команд, а на описание данных, т.е. дуг графа алгоритма. Здесь кодируются
не команды, а данные, которые выступают в качестве операндов. В данном
курсовом проекте будет производиться проектирование ВС, управляемой
данными.
Проектируемая ВС построена по следующему принципу.
Все
данные, передаваемые между функциональными устройствами (ФУ),
снабжены атрибутом (ярлыком), идентифицирующим эти данные. Все ФУ
-6(сумматоры, умножители, блоки работы с плавающей точкой и т.д.)
объединены между собой двумя шинами: шиной данных (ШД) и шиной
атрибутов (ША). По ШД осуществляется обмен данными, а на ША
одновременно выставляется атрибут, описывающий данные, передаваемые
по ШД. В состав ФУ входят внутренние регистры для хранения
промежуточных данных (так, в состав ФУ «Сумматор» будут входить три
внутренних регистра: регистры 1-го и 2-го операндов и регистр результата
вычисления). Ярлык содержит два поля: первое - код ФУ, которому
данные предназначаются; второе - описание данных, где указывается, как
ФУ должно эти данные интерпретировать: например, для сумматора
указывается, что данные являются 1-м или 2-м слагаемым (если
необходимо произвести сложение) или вычитаемым, или уменьшаемым
(если необходимо произвести вычитание). Вычислительным процессом
управляет генератор атрибутов (ГА), который выставляет на ША атрибуты
данных. Последовательность атрибутов, например, может выбираться из
оперативной памяти. Цикл работы ВС делится на два такта: такт запроса
данных и такт чтения данных. В первом такте ГА выставляет ярлык
запроса данных; все ФУ сначала анализируют, от кого из них требуется
выдать данные (в атрибуте как раз и указывается код ФУ), а затем по
второму полю ФУ узнает, что за данные ему надо выдать. Далее ФУ,
которому предназначается атрибут, выдает на ШД соответствующую
информацию и не снимает сигнал в течение следующего такта, такта
чтения данных. В этом такте ГА выставляет на ШД ярлык, указывающий,
какому ФУ следует данные с ШД взять, и как их интерпретировать. ФУ
начинает вычислительную работу после того, как он получит все
необходимые для выполнения операции данные. Например, сумматор,
приняв второе слагаемое, инициирует процесс вычисления суммы.
Полученный результат вычислений ФУ помещает в свой внутренний
регистр и ждет прихода запроса на эти данные. В рассматриваемой ВС
-7могут работать одновременно несколько ФУ. Так, пока одно устройство
занято вычислениями, ГА может обеспечить загрузку других устройств, и
лишь по прошествии некоторого времени выдать запрос на результат
вычислений.
ША
Генератор
атрибутов
…
ФУ 2
ФУ 1
ФУn
Линия «Останов»
ШД
Управление
в
вычислительной
системе
может
быть
как
централизованным (когда в ВС присутствует ГА, который управляет всем
вычислительным процессом), так и распределенным. При распределенном
управлении вычислительный процесс организуют сами ФУ (ГА в состав
системы
не
производить
выбирать
входит).
Распределенное
самораспараллеливание
наиболее
оптимальный
управление
вычислений,
путь
решения
позволяет
ВС
самостоятельно
задачи.
Однако
распределенное управление требует больших аппаратных затрат, ведь
практически на каждую операцию нужно выделять отдельное ФУ. Так, для
алгоритма вычисления квадратного многочлена, приведенного выше,
потребуется пять ФУ: три умножителя и два сумматора.
При распределенном управлении нет необходимости разделять ДШ и
ША, ведь данные вместе с ярлыком передаются в один такт: ША и ШД
объединяются в одну шину ШДА (шина данных/атрибутов). И если ранее
алгоритм располагался в оперативной памяти, откуда ее выбирал ГА, то
теперь
описание
вычислительную
алгоритма
систему.
В
«размыто»
каждом
ФУ
по
ФУ,
составляющих
помещаются
описания
-8выполняемых им операций. Описание каждой команды включает в себя
атрибуты операндов, и атрибуты, которые необходимо «прикреплять» к
результатам вычисления, когда они будут передаваться по ШДА.
ШДА
ФУ 1
…
ФУ 3
ФУ 2
ФУm
Перед началом работы ФУ следует запрограммировать. Так, для
алгоритма вычисления квадратного трехчлена надо задействовать 5 ФУ: 3
умножителя и 2 сумматора.
A
B
C
x
жм
*
*
Умножитель 1
Умножитель 2
+
*
Умножитель 3
Сумматор 1
+
Y
Сумматор 2
Выходной регистр
Однако количество ФУ можно сократить. «Умножитель 2» и
«Умножитель 3» всегда будут работать последовательно, т.к. между ними
есть непосредственная связь по данным (когда результат вычисления
одного ФУ передается в качестве операнда на другой ФУ). Так как эти
устройства однотипны, эти две вычислительные операции можно
-9произвести на одном ФУ. Так же последовательно работают «Сумматор 1»
и «Сумматор2» – эти операции можно произвести на одном ФУ. Таким
образом, ВС для реализации данного алгоритма можно реализовать с
помощью всего трех ФУ.
Для программирования ВС каждому операнду, который станет
передаваться
по
ШДА,
следует
присвоить
свой
уникальный
идентификатор, т.е. приписать номер каждой стрелке на графе программы.
B
A
1
C
4 4
2
*
Умножитель 1
*
7
1
а
6
л
+
9
Yма
о
л
*
о
Умножитель 2
5
8
Умножитель 2
x
4
+
Сумматор 1
Сумматор 1
Результат
После можно составить таблицу программы для всех ФУ:
Наименование
ФУ
Умножитель 1
2,4
*
B*x
Ярлык
выходных
данных
5
Умножитель 2
4,4
*
x2
6
1,6
*
A* x2
7
3,5
+
B*x+c
8
7,8
+
A* x2+B*x+c
9
Сумматор 1
Ярлыки
операндов
Выполняемая
операция
Комментарий
- 10 Для анализа работы ВС используется диаграмма Ганта. В диаграмме
этой отслеживается поведение всех устройств системы во времени.
Графики работы каждого ФУ располагаются друг под другом. А по оси "x"
откладывается время. Пример приведен на рисунке. Передача данных
между ФУ обозначается стрелкой.
Регистры x B C A
2
1
3
Y
t
4
Умн1
t
Умн2
t
5
7
Сум1
9
t
8
Ожидание устройством второго операнда
Вычислительная работа устройства
1
0
В данной системе время пересылки – 1 такт, поэтому-то линии,
обозначающие передачу, здесь наклонные, что показывает задержку
пересылки данных между ФУ. Время работы сумматора – 2 такта, а
умножителя – 9 тактов.
- 11 Существенное преимущество ВС с распределенным управлением –
самораспараллеливание алгоритма и самовыбор одного из возможных
путей получения конечного результата. Например, вычислить площадь
треугольника можно сразу несколькими способами: по двум сторонам и
углу, по стороне и двум углам, по трем сторонам (формула Герона). По
какой ветке алгоритм найдет площадь треугольника, зависит от исходных
данных и длины ветви алгоритма: если одна ветвь короче, то
вычислительный
процесс
по
ней
быстрее
дойдет
до
получения
окончательного результата.
Для вычисления коэффициента параллелизма (S) следует подсчитать
количество параллельно работающих устройств в каждом такте и
разделить полученное число на количество тактов работы алгоритма.
Данный коэффициент показывает, сколько в среднем в единицу времени
ФУ работают параллельно. Если S=1, то ВС работала в последовательном
режиме; если S=2, то в среднем в ВС параллельно работало два ФУ. Для
вычислительной системы, рассмотренной выше, S=32/24=4/3=1,33.
- 12 -
Практическая часть
Задание.
Необходимо разработать ВС с централизованным управлением и ВС распределенным
управлением для решения одной из геометрических задач (варианты 1-9).
Варианты:
1. Площадь треугольника,
где a, b, c - стороны треугольника;
A, B, C - углы треугольника;
ha, hb, hc - высоты треугольника.
2. Площадь прямоугольника,
A


где a,b – стороны прямоугольника;
B
a
, – углы, образованные пересечением

O
b

D
диагоналей;
,  - углы, образованные стороной и диагональю.
C
3. Площадь равнобокой трапеции,
A
A
B
a
 d
g a
b
O
c
d
a
D
B

f
b
b
h с
f
E
С
d
C
где a,c – основания;
b – боковая грань;
h – высота;
f,g – отрезок от угла трапеции до пересечения
диагоналей;
, – углы пересечения диагоналей;
 – угол пересечения основания и диагонали.
- 13 4. Площадь поверхности конуса,
где a – боковая грань;
O'
A
r,d – радиус и диаметр основания;
h – высота;
a
P
d
h
B
d O r
A C
B
d
P – периметр основания;
S – площадь основания.
A
O
5. Объем конуса,
где a – боковая грань;
O'
’
r,d – радиус и диаметр основания;
a
h
B
B
d
P
r O
d r r
O
d
A
C
O
h – высота;
P – периметр основания;
S – площадь основания.
6. Площадь поверхности цилиндра,
C
B
O' r
P
A
D
r
O d
h – высота;
b – диагональ цилиндра;
b
h
где r,d – радиус и диаметр основания;
P – периметр основания;
A
S – площадь основания.
PC
7. Объем цилиндра,
где r,d – радиус и диаметр основания;
A
O'
B
P
h
B
d O
b – диагональ цилиндра;
h – высота;
P – периметр основания;
b
b
r
C
P
S – площадь основания.
- 14 -
8. Площадь поверхности пирамиды (в основании лежит квадрат),
h – высота;
O'
а – боковая грань;
b – грань квадрата, лежащего в основании;
a
d – диагональ квадрата, лежащего в основании;
h
C
A
1
d
b
O
S – площадь квадрата, лежащего в основании
пирамиды.
B
D
9. Площадь поверхности пирамиды (в основании лежит квадрат).
h – высота;
O'
а – боковая грань;
b – грань правильного треугольника, лежащего в
B
O
d
B'
основании;
a
h
d – медиана треугольника, лежащего в основании;
b
C
S – площадь треугольника, лежащего в основании
A
пирамиды.
После построения графовой модели алгоритма преподавателем задаются
времена работы ФУ и задержка передачи данных по шине; определяется
возможность параллельной передачи данных по ШДА (для ВС с
распределенным
управлением);
для
системы
с
управлением задаются моменты прихода входных данных.
распределенным
- 15 -
Этапы курсового проектирования:
1. Найти несколько формул для решения поставленной геометрической
задачи.
2. Начертить
графы
алгоритмов,
описывающие
все
формулы
нахождения площади треугольника.
3. Построить диаграмму Ганта для работы ВС с централизованным
управлением для одной из ветвей алгоритма (здесь время прихода
данных определяет сам разработчик, время выбирается так, чтобы
программа выполнялась наиболее оптимально, т.е. быстро).
4. Составить программу (последовательность передачи данных) для
самого большого графа для ВС с централизованным управлением.
5. Построить
диаграмму
Ганта
для
ВС
с
централизованным
управлением.
6. Составить общий граф программы по всем формулам.
7. Составить таблицу программы ФУ для ВС с распределенным
управлением.
8. Построить диаграмму Ганта для ВС с распределенным управлением
(время прихода входных данных задается преподавателем).
9. Определить
коэффициент
параллелизма
для
централизованным и распределенным управлением.
систем
с
- 16 -
Пример выполнения курсовой работы
Исходные данные
Задание: найти объем цилиндра.
Объем цилиндра (задаются диаметр основания; периметр основания;
O'
+
a
A
A
C
h
*+
x
цилиндра),
где a – боковая грань;
b
O
высота боковой грани; площадь основания, диагональ
*
Y
+
r,d – радиус и диаметр основания;
P – периметр основания;
C
*
h – высота;
S – площадь основания;
b – диагональ цилиндра.
Время поступления входных данных
В 1-ый такт (τ1) приходит операнд b;
Во 2-ой такт (τ2) посылается h;
В 4-ый такт (τ4) посылается p;
На 7-ой такт (τ7) посылается S;
На 9-ый такт (τ9) посылается a;
В 11-ый такт (τ11) посылается r;
На 14-ый такт (τ14) посылается π;
На 16-ый такт (τ16) посылается 2;
На 17-ый такт (τ17) посылается 3;
На 19-ый такт (τ19) посылается 4.
- 17 Длительность работы ФУ:
Сумматор – 2 τ;
Умножитель – 9 τ;
Делитель – 10 τ
Тригонометрич. Блок – 10 τ;
Коренер – 8 τ.
Формулы для вычисления объёма цилиндра:
1. V  R 2 H
3a 3
2. V 
4
3. V 
4. V 
(b 2  a 2 )a
4
P( H  R)  2S
2

S
5. V  S (( R 2 2a cos(( R  H ) \ R)  ( R  H ) ( H 2  2 HR )
- 18 Графы, описывающие формулы нахождения объёма цилиндра
1. V= R
2
H

R
H
R+R
*
*

*R*R*H
V1
2. V=
3a 3
4
3

a
*
3*a*a*a
a*a*a
4
*
*
(3*a*a*a)/4
/
V2

*4
- 19 3. V=
(b 2  a 2 )a
4
b
a

4
a*a
b*b
*
*
b*b*a
*
*
b*b*a-a*a*a
*
4* 
a*a*a
-
2
1
/
V3
((b*b*a)-(a*a*a))/4*
- 20 4. V=
P( H  R)  2S
2  /S

S
2
R
H
P
1
2
2S
H+R
+
 /S
/
*
 /S
*
P*(H+R)
P*(H+R)-2*S
*
/
V4
P*(H+R)-2*S/2*
 /S
 /S
*2
- 21 5. V= S (( R 2 2a cos(( R 
S
H ) / R)  ( R  H )( H 2  2 HR ) 0,5 )
R
H
Сум 1
2
2
Умн1
-
Умн2
*
*
H*H
H*R
R-H
Умн2
Умн1
*
/
*
((R-H)/R)
R*R
2*H*R
Умн2
acos
-
acos*((R-H)/R)
H*H-2*H*R
Умн1
*
R*R*acos*((R-H)/R)
H*H - 2*H*R
Умн1
Умн2
*
*
R*R*2*acos*((R-H)/R)
(R - H) * (H * H - 2 * H * R) 0,5
1
Сум
2
-
R * R * 2 * a cos*((R  H ) / R)  ( R  H ) * ( H 2  2 * H * R)0,5
Умн1
*
S * ( R * R * 2 * a cos* (( R  H ) / R)  ( R  H ) * ( H 2  2 * H * R) 0,5 )
V5
22
Диаграмма Ганта для ВС с централизованным управлением
регистры
H R H R
R
H H
2
RH
R
R
2
2
RH
Сум
Умн1
Умн2
Дел
Тригонометрич. оп-ции
Коренер
Число параллельно
работающих устройств
Такты
0
0
1
1
1
1
2
1
2
3
4
5
6
7 8
2
регистры
3
3
3
3
3
2
2
3
2
2
3
3
3
3
2
V
S
Умн1
Умн2
Дел1
Тригонометрич. оп-ции
Коренер
Такты
2
2
2
1
1
1
1
0
2
1
2
1
1
2
2
2
2
2
1
2
2
2
1
2
2
9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43
Сум1
Число параллельно
работающих устройств
2
1
1
0
1
1
1
1
1
1
1
1
1
0
44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64
Условные обозначения:
Выход
Вход
устройство в режиме ожидания операнда
работа устройства
передача данных
Примечание: RH – регистр для хранения промежуточных результатов вычислений
23
Программа для ВС с централизованным управлением
Рег(H)  Сум(слагаемое1)
Рег(R)  Умн1(умножаемое1)
Рег(R)  Сум(слагаемое2)
Рег(R)  Умн1(умножаемое2)
Рег(H)  Умн2(умножаемое1)
Умн2(результат)  Сум(слагаемое1)
Рег(R)  Умн2(умножаемое2)
Сум(результат)  Коренер(операнд)
Сум(результат)  Дел(делитель)
Рег(RH)  Умн2(умножаемое1)
Рег(R)  Дел(делимое)
Умн1(результат)  Умн1(умножаемое1)
Рег(H)  Умн1(умножаемое1)
ТригонометричБлок(результат)  Умн1(умножаемое2)
Рег(H)  Умн1(умножаемое2)
Коренер(результат)  Умн2(умножаемое2)
Сум(результат)  Рег(RH)
Умн1(результат)  Умн1(умножаемое1)
Умн2(результат)  Умн2(умножаемое1)
Рег(2)  Умн1(умножаемое2)
Рег(2)  Умн2(умножаемое2)
Умн2(результат)  Сум(слагаемое1)
Дел(результат)  ТригонометричБлок(ОперандДля_arcCos)
Умн1(результат)  Сум(слагаемое2)
Умн1(результат)  Сум(слагаемое1)
Рег(S)  Умн1(умножаемое1)
Сум(результат)  Умн1(умножаемое2)
Умн1(результат)  Рег(V)
Примечание: знак «» обозначает акт пересылки данных (в скобках указывается, какие данные ФУ должен выдавать на шину
и как должен интерпретировать приходящие по шине данные)
24
Граф общего алгоритма нахождения объёма цилиндра
P
H
R
2 2 2 2
1
2
2
+
Сум1
11
12
H*H
H+R
P*(H+R)
20
Сум2
13
21
41
*
Умн4
2*H*R
37 2
1
1
28
H*H-2*H*R
Умн10
32
Сум1
/
Дел3
Кор2
33
H * H  2* H * R
23
7
2 * R * R * a cos* (( R  H ) / R )
35
36
 /S
25
9
10
*
Умн6
*
Умн9
38
*
Умн7
b*b
18
19
18
*
Умн7
25
26
a*a*a
3*a*a*a
P * ( H
31
30
1
2
2
/
Дел4
 R)  2 * S / 2  / S
3*a*a*a/4*
(R - H) * (H * H - 2 * H * R) 0,5
23
Умн10
V
S * (R * R * 2 * a cos*((R  H ) / R)  (R  H ) * (H * H  2 * H * R) ))
0, 5
b*b*a
1
Сум4
*
Умн5
 /S *2
10
4*
a*a
23
*
b
8
*
Умн5
40
R * R * 2 * a cos* (( R  H ) / R)  ( R  H ) * ( H * H  2 * H * R)0,5 )
8
8
17
2
Сум2
8
4
*
Умн5
*
Умн3
*
Умн10
a
2
P*(H+R)-2*S
29
1
 *H *R
6
16
24
Сум3
6
Кор1
2
2
34 2*R*R
 /S
*
Умн3
 *R2
1
3
/
Дел1
15 2*S
*
Acos
Тр1
1
2
H*R 14
23
22
5
5
4
R*R
23
(R-H)/R
4 4
*
Умн3
*
Умн2
/
Дел2

S
3
*
Умн2
1
21 1 R-H
2
acos((R-H)/R)
3
*
Умн2
2
*
Умн8
4
3
3 3
*
Умн1
2
2
b*b*aa*a*a
1
/
Дел5
23

((b*b*a)-(a*a*a)/4*
25
Таблица программ функциональных устройств
Устройство
Умножитель 1
Умножитель 2
Умножитель 3
Умножитель 4
Умножитель 5
Ярлыки входных
данных
2,2
3,3
6,13
2,41
2,3
4,14
21,33
Операция
*
*
*
*
*
*
*
Комментарии
H*H
R*R
*R*R
*H*R*R
H*R
2*H*R
(R - H) * (H * H - 2 * H * R) 0,5
H*H
a*a
a*a*a
3*a*a*a
4
b*b
b*b*a
P*(H+R)
Ярлык выходных данных
11
13
41
21
14
37
35
Умножитель 8
Умножитель 9
4,5
8,8
8,17
7,25
6,9
10,10
8,19
1,12
4,24
*
*
*
*
*
*
*
*
*
Умножитель 10
4,13
*
Сумматор 3
Сумматор 4
Коренер 1
32,34
5,40
2,3
20,15
3,2
36,35
11,37
26,25
16
*
*
+

2*R*R
S*(R*R*2*acos*((R-H)|R)-(R-H)*(H*H-2*H*R)⁰·⁵)
R+H
P*(H+R)-2*S
R-H
R*R*2*acos*((R-H)|R)-(R-H)*(H*H-2*H*R)⁰·⁵
H*H-2*R*H
b*b*a-a*a*a
Коренер 2
Делитель 1
Делитель 2
Делитель 3
28
6,5
21,3
29,38

/
/
/
(H*H-2*H*R)⁰·⁵
/S
(R-H)/R
P * ( H  R )  2 * S  / 2  / S
33
16
22
23
Делитель 4
Делитель 5
Блок
тригонометрических
операций 1
30,18
31,18
22
/
/
acos
3a3/4
b2*a-3a3/4
acos((R-H)/R)
23
23
32
Умножитель 6
Умножитель 7
Сумматор 1
Сумматор 2
 / S *2
R * R * 2 * a cos* (( R  H ) / R)
 /S
15
17
25
30
18
19
26
20
38
36
36
23
12
29
21
40
28
31
24
26
Диаграмма Ганта для ВС с распределенным управлением
b h
a
S
2 3
6
3 3
УМНОЖИТЕЛЬ 2

R
2 2 2
УМНОЖИТЕЛЬ 1
p
13
41
4
14
7
8
9
6
8
10
УМНОЖИТЕЛЬ 4
V1
4
5
УМНОЖИТЕЛЬ 3
4
23
регистры
1
УМНОЖИТЕЛЬ 5
4
25
4
5
УМНОЖИТЕЛЬ 7
17
2
УМНОЖИТЕЛЬ 6
19 3
2
11
13
15
УМНОЖИТЕЛЬ 8
37
6
УМНОЖИТЕЛЬ 9
20
12
3
УМНОЖИТЕЛЬ 10
5
34
25
26
3
СУММАТОР 1
24
СУММАТОР 2
18
30
СУММАТОР 3
18
СУММАТОР 4
28
КОРЕНЕР 1
29
21
16
КОРЕНЕР 2
ДЕЛИТЕЛЬ 1
31
ДЕЛИТЕЛЬ 2
ДЕЛИТЕЛЬ 3
ДЕЛИТЕЛЬ 4
22
ДЕЛИТЕЛЬ 5
БЛОК ТРИГОНОМ. ОПЕРАЦИЙ
Параллельно работающие устройства
Такты
3
3
6
6
4
5
6
7
7
8
9
9
9
7
6
7
6
6
5
5
5
0
1
2
2
2
2
2
2
2
1
2
3
4
5
6
7
8
9
10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
8
8
8
0
6
6
6
4
5
5
Условные обозначения
:
Выход
Вход
устройство в режиме ожидания
работа устройства
передача данных
Комментарий: считается, что передача данных в то же самое ФУ (когда результат вычисления используется в том же ФУ в
качестве операнда: в нашем случае, например, «Умножитель2») осуществляется внутри ФУ и потому не занимает времени.
27
Определение коэффициента параллелизма
Коэффициент параллелизма определяется как отношение суммы всех
работающих устройств на каждом такте выполнения алгоритма к общему
числу тактов работы вычислительной системы.
Для системы с централизованным управлением коэффициент параллелизма
будет:
К=83/64=1,3
Для системы с распределённой системы
К=200/40=5
28
Литература
1. Берж К. Теория графов и ее применения. М., изд. Иностранной
литературы. 1962.
2. Уилсон Р. Введение в теорию графов. М.: Мир, 1977.
3. Корнеев В.В., Киселев А.В. Современные микропроцессоры. – 3-е
издание, перераб. и доп. – СПб.: БХВ-Петербург. 2003. – 448 с.
4. Компьютеры на СБИС: В 2-х кн. Кн.1/Пер. с япон. Мотоока Т., Томита
С., Танака Х. и др. – Мир, 1988. – 392 с.
5. Велях Е. Последовательно-параллельные вычисления: Пер. с англ. М.: Мир, 1985.- 456 с.
6. Введение в алгоритмы параллельных вычислений /Молчанов И.Н.;
Отв. ред. Яковлев М.Ф.; АН УССР. Ин-т кибернетики им. В.М.
Глушкова. – Киев: Наук. думка, 1990. – 128 с.
7. Параллельные вычисления /Под ред. Г. Родринга: Пер. с англ. /Под
ред. Ю.Г. Дадаева. – М.: Наука. Гл. ред. физ.-мат. лит., 1986. – 376 с.
29
Учебное издание
Вычислительная система, управляемая потоком данных
Составитель САЛИБЕКЯН Сергей Михайлович
Редактор Е.С. Резникова
Технический редактор О.Г. Завьялова
Подписано в печать 20.11.2009. Формат 60х84/16. Бумага офсетная №2.
Ризография. Усл. печ. л. 1,9. Уч.-изд. л. 1,5. Изд. №87. Тираж 30 экз. Заказ
. Бесплатно.
Московский государственный институт электроники и математики.
109028, Москва, Б. Трёхсвятительский пер., 3.
Отдел оперативной полиграфии Московского государственного института
электроники и математики.
113054, Москва, ул. М. Пионерская, 12.
Download