Алгоритмы параллельных вычислений и программирование. Бурова И.Г - 107 стр.

UptoLike

(2.2)), при умножения на число γ получаем формулы, аналогичные
(2.3):
z
m
=
³
1 +
5
n
´
1
, R
m
= 5
³
1 +
5
n
´
1
. (2.4)
Следует отметить, что если векторную операцию d = γ(a + b)
реализовывать, как последовательность операций c = a + b и
d = γc, то загруженность совокупности устройств сумматор +
множитель будет вдвое меньше, чем при отдельной реализации
(2.4) каждой из упомянутых операций. Причиной этого являет-
ся перегруженность умножителя во время работы с сумматором.
Для того чтобы повысить загруженность упомянутой совокупно-
сти устройств, естественно начинать умножение сразу после по-
ступления первого результата от сумматора и далее продолжить
умножение конвейерно с использованием конвейерно поступающих
результатов сложения от сумматора.
Определение 2.2. Работа двух конвейерных функциональ-
ных устройств в режиме, при котором результаты первого функ-
ционального устройства "подхватываются" сразу вторым функ-
циональным устройством, называется зацеплением конвейерных
устройств.
Теорема 2.1. Пусть в режиме зацепления на векторах дли-
ны n работают s конвейерных функциональных устройств с чис-
лом ступеней α
1
, . . ., α
s
соответственно, причем функциональ-
ные устройства включаются последовательно друг за другом. То-
гда загруженность z системы этих функциональных устройств
и достигаемое ускорение равны
z =
³
1 +
s 1 +
P
s
j=1
α
j
n
´
1
, R = z
s
X
i=1
α
i
. (2.5)
Д о к а з а т е л ь с т в о. Легко видеть, что первый результат
на выходе первого функционального устройства получается на
(α
1
+ 1)-м такте, первый результат на выходе второго функцио-
нального устройства — на (α
1
+ α
2
+ 2)-м такте и т.д.; поэтому
весь процесс получения первого результата осуществляется за вре-
мя α
1
+ α
2
+ . . . + α
s
+ s. Процесс получения второго результата
закончится через α
1
+ α
2
+ . . . + α
s
+ s + 1 такт и т.д., наконец,
последний n результат будет получен через время
T = α
1
+ α
2
+ . . . + α
s
+ s + n 1. (2.6)
108