第六章(P391)

6.6 在CRAY1机上,V为向量寄存器,设向量长度均为32,s为标量寄存器,所用浮点功能执行部件的执行部件的执行时间分别为:加法6拍,相乘需7拍,从存储器读数需6拍,求倒数近似值需14拍,打入寄存器及启动功能部件(包括存储器)各需1拍。问下列各指令组中的哪些指令可以链接?哪些指令可以并行执行?试说明其原因并分别计算出各指令组全部完成所需的拍数。(注意阅读P372倒数第9行-倒数第6行)

1)

V0←存储器

V1←V2+V3

V4←V5*V6

(2)

V2←V0*V1

V3←存储器

V4←V2+V3

(3)V0←存储器

V3←V1+V2

V4←V0*V3

V6←V4+V5

(4)

V0←存储器

V1←1/V0

V3←V1+V2

V3←V1+V2

V5←V3*V4

(5)V0←存储器

V1←V2+V3

V4←V5*V6

S0←S1+S2

(6)

V3←存储器

V2←V0+V1

S0←S2+S3

V3←V1*V4

(7)

V3←存储器

V2←V0+V1

V4←V2*V3

存储器←V4

(8)

V0←存储器

V2←V0+V1

V3←V2*V1

V5←V3*V4

//解决方案: 纵横对角线元素不等则并行:

//横行中分配

p_w_picpath

启动部件: 1

-->v:1

+:6

*:7

S:7

1/s:14

T//max{T1+T2+T3}=Max{8,8,9}+31=40

2) 仅有对角必链接:

p_w_picpath

解:T//+T->

=maX{9,8}+Tmax{8,8}+31

=48

3)

p_w_picpath

解://双对角,

 T=T//+T->+T--

  =max{8,8}+(max{8,9}+31)+8  +31

  =8+9+31 +8 +31

=87

4)

p_w_picpath

T=AND{8,16,8,9}+31

 =(8+16+8+9)+31

 =72

5)检测横行中是不是向量寄存器还是标量寄存器

p_w_picpath

T=V//+b//

=MAx{8,7,9}+31

=40