求向量D=A×(B+C),向量为浮点数

求向量D=A×(B+C),向量为浮点数,各向量元素个数均为N,参照CRAY一1方式 分解为3条向量指令:
① V3←存储器;访存取A送入V,寄存器组
② V2←Vo+V1;B+C→K
③ V4←V2×V3;K X A→D
当采用下列3种方式工作时,各需多少拍才能得到全部结果?
(1)①、②和③串行执行。
(2)①和②并行执行后,再执行③。
(3)采用链接技术。
答:

image.png

解析:
访存的拍数:1+6+1 代表: 1启动访存 6个访存 1个存寄存器
送浮加: 1+6+1 代表: 1送浮加部件 6浮加 1个存寄存器

所有 : 当1,2,3 都是串行的时候
1+6+1 +(N-1) + 1+6+ 1 + (N-1) + 1+7+1 + (N-1)
等于 7+N +7+N +8+N
为什么都是N-1呢?因为总共n的向量,现在1+6+1 已经一个了,所有在加上N-1 ,那么总共就是N个向量的加。
同理其他的也是:
1,2并行
那么 7+N 就同时执行,在加上8+N ,所以答案就是 7+N +8+N
采用链接技术呢?
1+6+1 并行,链接技术,直接加8+N

链接技术: 前一条指令的第一个结果分量到达向量寄存器组并可以用作本条向量指令的源操作数时,立即启动本条指令工作而形成链。

你可能感兴趣的:(求向量D=A×(B+C),向量为浮点数)