向量A和B各有6个元素,计算向量点积
 。 (1)若在顺序方式下,一次“加”需4
,一次“乘”需3
,求执行完A•B所需的时间; (2)在如题29图所示的静态双功能流水线上计算A•B,其中,l→2→3→5为加法流水线,1→4→5为乘法流水线,输出可直接返回输入,延迟时间和功能切换的时间忽略不计。设计合理的算法,使完成A•B的时间最少。画出流水时空图,并标出全部算完的时间。 
【正确答案】:
(1)计算向量点积
,需要做6次乘法,再把六个成绩累加起来,做5次加法。因此,按顺序方式完成,需要的时间为6*3
 + 5*4
 = 38
(2)因为是静态流水线,功能切换需要花时间,因此切换次数越少越好。故而先做乘法,再做加法效果较好,做累加时,尽量避免数据相关,这样后面的指令不必等待前面的结果。算法如下:(1)     a1b1 = a1 * b1(2)     a2b2 = a2 * b2(3)     a3b3 = a3 * b3(4)      a4b4 = a4 * b4(5)     a5b5 = a5 * b5(6)      a6b6 = a6 * b6(7)     tmp1 = a1b1 + a2b2(8)     tmp2 = a3b3 + a4b4(9)      tmp3 = a5b5 + a6b6(10)     tmp4 = tmp1 + tmp2(11)     sum = tmp3 + tmp4
