beautypg.com

Rcpdp – Texas Instruments TMS320C67X/C67X+ DSP User Manual

Page 257

background image

Double-Precision Floating-Point Reciprocal Approximation

RCPDP

3-197

Instruction Set

SPRU733

Double-Precision Floating-Point Reciprocal Approximation

RCPDP

Syntax

RCPDP (.unit) src2, dst

.unit = .S1 or .S2

Compatibility

C67x and C67x+ CPU

Opcode

31

29

28

27

23

22

18

17

13

12

11

6

5

4

3

2

1

0

creg

z

dst

src2

reserved

x 1 0 1 1 0 1 1 0 0 0 s p

3

1

5

5

5

1

1

1

Opcode map field used...

For operand type...

Unit

src2
dst

dp
dp

.S1, .S2

Description

The 64-bit double-precision floating-point reciprocal approximation value of
src2 is placed in dst. The operand is read in one cycle by using the src1 port
for the 32 LSBs and the src2 port for the 32 MSBs.

The RCPDP instruction provides the correct exponent, and the mantissa is
accurate to the eighth binary position (therefore, mantissa error is less
than 2

−8

). This estimate can be used as a seed value for an algorithm to

compute the reciprocal to greater accuracy.

The Newton-Rhapson algorithm can further extend the mantissa’s precision:

x[n + 1] = x[n](2 − v × x[n])

where v = the number whose reciprocal is to be found.

x[0], the seed value for the algorithm, is given by RCPDP. For each iteration,
the accuracy doubles. Thus, with one iteration, accuracy is 16 bits in the
mantissa; with the second iteration, the accuracy is 32 bits; with the third itera-
tion, the accuracy is the full 52 bits.

Execution

if (cond)

rcp(src2) → dst

else

nop