Table 4-13. Replacement Table For Multiply/Alu Instructions - Lucent Technologies DSP1617 Information Manual

Digital signal processor
Table of Contents

Advertisement

DSP1611/17/18/27/28/29 DIGITAL SIGNAL PROCESSOR
Instruction Set
4.5 Instruction Set
4.5.5 Multiply/ALU Group (continued)

Table 4-13. Replacement Table for Multiply/ALU Instructions

Replace
Value
aD, aS, aT
a0, a1
X
*pt++
*pt++i
Y
*rM
*rM++
*rM– –
*rM++j
Z
*rMzp, *rMpz,
*rMm2, *rMjk
 Loads of a0, a1, and y clear the lower half of the selected register if the appropriate CLR field bits in the auc reg-
ister are zeroed.
 Loads of a0l, a1l, and yl do not change the data in the high half of the selected register.
 The y and p operands are sign-extended through the guard bits[35:32] for operations with the accumulators.
Single-Cycle Square
By setting the X=Y= bit in the auc register, any instruction that loads the upper word of the y register also loads the
x register with the same value. A subsequent instruction to multiply the x register and y register results in the
square of the value being placed in the p register. The instruction a0 = a0+p p = x * y y = *r1++ is executed
from the cache with the X=Y= bit set. It will read the value pointed to by r1, load it to both x and y, square the pre-
viously fetched value, and transfer the previous square to a0. A table of values pointed to by r1 can, thus, be
squared in a pipeline with one instruction cycle per each value. The following sample program demonstrates the
use of the single-cycle square.
a0=a0^a0
auc=0x80
r1=table
y=*r1++/* load both x and y with first value*/
p=x
y y=*r1++/* square, and load x and y with second*/
*
do 100 {
a0=a0+pp=x
yy=*r1++/* accumulate, square, and load both x*/
*
}
auc=0x0
If the X=Y= bit is set and the hardware development system is used, breakpoints or single-stepping will corrupt the
x register. It is best to set the X=Y= bit just before the single-cycle routine is used and clear it just after.
4-24
(continued)
One of two DAU accumulators.
X-space location pointed to by pt. pt is postmodified by +1 and i, respectively.
Y-space location pointed to by rM (M = 0, 1, 2, 3). rM is postmodified by 0, +1,
–1, and j, respectively.
Read/write compound addressing in Y space. rM (M = 0, 1, 2, 3) is used
twice. First, postmodified by 0, +1, –1, and j, respectively; and second, post-
modified by +1, 0, + 2, and k, respectively.
/* clear accumulator
/* enable X=Y=
/* initialize pointer */
/* value
/* set up cache loop of 100 repeats*/
/* and y
/* end of cache loop */
/* turn off single-cycle square mode*/
DRAFT COPY
Meaning
*/
*/
*/
*/
Information Manual
April 1998
Lucent Technologies Inc.

Hide quick links:

Advertisement

Table of Contents
loading

This manual is also suitable for:

Dsp1629Dsp1618Dsp1611Dsp1627Dsp1628

Table of Contents