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

UptoLike

выберем T = n + 5. Как было отмечено выше, за это время бу-
дет обработано n произведений, каждое за 5 тактов. Итак, стои-
мость реально проведенных операций определяется числом 5n. С
другой стороны, согласно теореме 2.1 главы 4 максимально воз-
можная стоимость работ равна произведению времени T на число
ступеней конвейера, так что упомянутая стоимость определяется
числом 5T = 5(n + 5).
Итак,
z
6
=
5n
5(n + 5)
=
1
1 + 5/n
. (2.1)
На гипотетическом простом функциональном устройстве век-
тор a + b можно отыскать за время T
0
= 5n тактов, так что уско-
рение R
s
= T
0
/T равно
R
s
=
5n
(n + 5)
= 5
1
1 + 5/n
. (2.2)
Заметим, что если конвейерное функциональное устройство
имеет r ступеней, то его загруженность и ускорение определяют-
ся формулами
z =
³
1 +
r
n
´
1
, R = r
³
1 +
r
n
´
1
. (2.3)
Отсюда видно, что с ростом n загруженность приближается
к единице, а ускорение при достаточно большом n практиче-
ски пропорционально числу ступеней. Следовательно, размерность
"векторов" быстрой памяти следует выбирать возможно большей.
В системе CRAY-1 векторная память, как было указано в примере
1, состоит из 8 "векторов" размерности n = 64.
2.2. О зацеплении конвейерных устройств
Вернемся к примеру 2; в нем помимо сложения векторов тре-
буется получить еще и вектор d, умножив вектор c на число γ.
Это умножение продемонстрировано в нижней части рис. 17. Си-
туация здесь практически не отличается от предыдущей, так как по
предположению умножитель имеет то же число ступеней конвей-
ера, что и сумматор, имеется лишь одно (несущественное сейчас
для нас) отличие: для хранения числа γ нужна одна ячейка. Для
изображения тактовых изменений умножитель и ячейка γ исполь-
зуют многократные образы. Как и в предыдущем случае (см. (2.1),
107