Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Распараллеливание программ. Учебник
.pdf
91
ТЕЛОЦИКЛА(1)
ТЕЛОЦИКЛА(2)
...........
ТЕЛОЦИКЛА(N)

92
Пример 98.
X = Y - A
Z = X + B
time
1 2 3 4 5 6
Y – X X + Z
A B
Рис. 6. Два дерева для блока из двух операторов с циклически независимой
зависимостью выхода первого и входа второго
time
1 2 3 4 5 6
Y – X X + Z
A + Z
B
Рис. 7. Результат склейки двух деревьев

93
Пример 99.
DO 99 I=3, N
X(I) = Y(I) - A
Z(I) = X(I-2) + B
99 CONTINUE
time
1 2 3 4 5 6
Y(I) – Y(I) Y(I–2) + Z(1)
A B
Рис. 8. Два дерева с циклически порожденной зависимостью выхода первого
и входа второго
time
1 2 3 4 5 6
Y(I) – Y(I)
A
2
+
Z(I)
B
Рис. 9. Результат склейки с циклически порожденной зависимостью

94
Пример 100.
DO 99 I=3, N
X(I) = A(I)+B(I)
99 Z(I) = Y(I)+Z(I-1)*X(I-2)
A(I) + X(I)
2
B(I) 1
X(I–2)
+ Z(I)
Z(I–1) Y(I)
Рис. 10. Свернутый граф цикла
Пример 101.
c
+ a
b
Рис. 11. Склейка in-in зависимых вершин

95
Пример 102.
DO 99 I=1,N
99 Y(I)=X(I)…X(I-1)…X(I-9)…X(I-5)…X(I+9)…X(I+3)… X(I+11)
v1 v2 v3 v4 v5 v6 v7

96
ОТОБРАжЕНИЕ ЦИКЛА НА АРХИТЕКТУРУ КОМПЬЮТЕРА

97
Пример 103.
DO 99 I=3, N
Y(I) = X(I) + B(I)*X(I)
99 CONTINUE
B
+ Y
X
Рис. 12. Склейка с циклически порожденной in-in зависимостью
Пример 104.
DO 99 I=3, N

98
Y(I) = X(I-2) + B(I)*X(I)
99 CONTINUE
X +
Рис. 13. Ячейки буфера с начальными данными
X2 X1
Конец примера.
0
0
0
0
0
0
0
0
0
Пример 105.
DO 99 I = 2, N
99 X(I) = Y(I)+Z(I)*X(I-1)

99
1
X(1)
+ X(I)
Z(I) Y(I)
Рис. 14. Конфликт в подаче данных при обратной связи
0
0

100
Пример 106.
DO 99 I = 2, N
99 X(I) = X(I-1) + Y(I)* (A(I)+X(I-2))
Пример 107.
DO 99 I = 2, N
X(I) = Y(I-1)*A(I)+Z(I)
Y(I) = X(I-2)/B(I)-W(I)
99 CONTINUE
Y(I–1)
+ X(I)
2
A(I) Z(I)
X(I–2)
– Y(I)
B(I) W(I)
Рис. 15. Контур с двумя обратными дугами
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
