Intel i86W Manual page 174

Table of Contents

Advertisement

PROGRAMMING EXAMPLES
II
PIPELINED DUAL-OPERATION INSTRUCTION
DOUBLE PRECISION
II
Multiplier
Adder
II
Stages
Stages
II
1
2
1
2
3
Result
II
Priming phase
m12apm.dd f4, f16,f0
II
1*6
??
??
??
??
Discard
m12apm.dd f6, f18,f0
II
2*5
1*6
??
??
??
Discard
pfadd.dd
f0, f0 ,f0
II
0
??
??
Discard
pfadd.dd
f0, f0 ,f0
II
0
0
??
Discard
pfadd.dd
f0, f0 ,f0
II
0
0
0
Discard
II
Continuous operation phase
m12apm.dd f8, f20,f0
II 3*4
2*5
6+0
0
0
Discard
m12apm.dd f10,f22,f0
II 4*3
3*4
10+0
6+0
0
Discard
m12apm.dd f12,f24,f0
II 5*2
4*3
12+0
10+0
6
Discard
m12apm.dd f14,f26,f0
II 6*1
5*2
12+6
12+0
10
Discard
II
For larger vectors, include more instructions here
II
Flushing phase
m12apm.dd f0, f0, f0
II 0*0
6*1
10+10
12+6
12
Discard
m12apm.dd f0, f0, f0
II 0*0
0*0
6+12
10+10
18
Discard
II
Three partial sums are now in the adder pipeline.
pfadd.dd
f0 ,f0 ,f28
II
0
6+12
20
f28
=
18
pfadd.dd
f28,f30,f30
II
18+20
0
18
f30
=
20
pfadd.dd
f0 ,f0 ,f28
II
0
18+20
0
f28
=
18
pfadd.dd
f0 ,f0 ,f0
II
0
0
38
Discard
pfadd.dd
f0 ,f0 ,f30
II
0
0
0
f30
38
fadd.dd
f28,f30,f30
II
f30
=
56
Example 9-11. Pipelined Double-Precision Dual Operation
9-12

Advertisement

Table of Contents
loading

Table of Contents