Intel 2920 Design Handbook page 44

Analog signal processor
Table of Contents

Advertisement

BUILDING BLOCK FUNCTIONS-FOUNDATION OF DESIGN
OP
Dest
Source
SHF
CND
Comments
LDA
DAR
X
ROO
---
SET UP DAR FOR CONDITIONAL ADD'S, X IS MULTIPLIER
ADD
Z
Y
ROI
CND7
ADD
Z
Y
R02
CND6
ADD
Z
Y
R03
CND5
MUL T1PLY Y BY THE MAGNITUDE OF X, THAT IS
x
WHERE
ADD
Z
Y
R04
CND4
ADD
Z
Y
R05
CND3
Z =
x
(-t+y)
ADD
Z
Y
R06
CND2
ADD
Z
Y
R07
CNDI
ADD
Z
Y
R08
CNDO
SUB
Y
Y
LOI
---
DEVELOPE-Y
Y-2Y=-Y
ADD
Z
Y
ROO
CNDS
CONDITIONAL ADD OF "-Y" IF SIGN OF X IS NEGATIVE
SUB
Y
Y
LOI
---
RESTORES ORIGINAL SIGN OF Y IF NEEDED
Figure 4·1. 4 Quadrant Multiply In 2920 Code
4.1.4 Division by a Variable
CY=O
1.11011
+.000111
CY=O
1.111101
+.0000111
CY=1
0.0000001
-.00000111
CY=O
1.11111011
The quotient so far = 0.10010
Division of a variable by a constant may be performed
by mUltiplying the variable by a value equal to the
inverse of the constant. However, to divide a variable by
another variable uses the conditional subtract. The basic
alogrithm is intended for division of positive numbers
by positive numbers. If negative variables are to be
used, the sign of the quotient may be computed using
XOR and the absolute magnitudes of the variables are
used.
The full sequence for a four quadrant divide (Y=X/W)
The sequence consists of conditionally subtracting the
divisor from the dividend, with the quotient being
assembled in the DAR. The sequence is started with an
unconditional subtraction which should be scaled to
produce a negative result.
Consider dividing 0.100 by 0.111
0.1000000
-0.111
CY=O
1.1010000
+.0111
CY=1
0.00010000
-.00111
initial subtract
first carry, partial remainder
1st conditional subtract (does add)
4-5
becomes as follows:
LOA
TMP,
XOR
TMP,
ABS
X,
ABS
W,
SUB
X,
SUB
X,
SUB
X,
SUB
X,
SUB
X,
SUB
X,
SUB
X,
SUB
X,
SUB
X,
XOR
DAR,
W,
R13
X,
R13
X,
ROO
W,
ROO
W,
ROO
W,
ROl,
CND7
W,
R02,
CND6
W,
R03,
CND5
W,
R04,
CND4
W,
R05,
CND3
W,
R06,
CND2
W,
R07,
CNOl
W,
R08,
CNDO
TMP,
R13

Advertisement

Table of Contents
loading

Table of Contents