beautypg.com

Arithmetic accelerator sequencing, Bit accumulator – Maxim Integrated DS80C390 User Manual

Page 11

background image

DS80C390

11 of 58

110199

ARITHMETIC ACCELERATOR SEQUENCING

Divide (32/16 or 16/16)

Multiply (16x16)

Load MA with dividend LSB.
Load MA with dividendLSB+1*
Load MA with dividend LSB+2*
Load MA with dividend MSB.
Load MB with divisor LSB.
Load MB with divisor MSB.
Poll the MST bit until cleared

(9 machine cycles).

Read MA to retrieve the quotient MSB.
Read MA to retrieve the quotient LSB+2.
Read MA to retrieve the quotient LSB+1.
Read MA to retrieve the quotient LSB.
Read MB to retrieve the remainder MSB.
Read MB to retrieve the remainder LSB.
*Not performed for 16 bit numerator.

Load MB with multiplier LSB.
Load MB with multiplier MSB.
Load MA with multiplicand LSB.
Load MA with multiplicand MSB.
Poll the MST bit until cleared

(6 machine cycles).

Read MA for product MSB.
Read MA for product LSB+2.
Read MA for product LSB+1.
Read MA for product LSB.

Shift Right/Left

Normalize

Load MA with data LSB.
Load MA with data LSB+1.
Load MA with data LSB+2.
Load MA with data MSB.
Configure MCNT0 register as required
Poll the MST bit until cleared.

(9 machine cycles)

Read MA for result MSB.
Read MA for result LSB+2.
Read MA for result LSB+1.
Read MA for result LSB.

Load MA with data LSB.
Load MA with data LSB+1.
Load MA with data LSB+2.
Load MA with data MSB.
Configure MCNT0 register as required.
Poll the MST bit until cleared

(9 machine cycles).

Read MA for mantissa MSB.
Read MA for mantissa LSB+2.
Read MA for mantissa LSB+1.
Read MA for mantissa LSB.
Read MCNT0.4-MCNT0.0 for exponent.

40-BIT ACCUMULATOR

The accelerator also incorporates an automatic accumulator function, permitting the implementation of
multiply-and-accumulate and divide-and-accumulate functions without any additional delay. Each time
the accelerator is used for a multiply or divide operation, the result is transparently added to a 40-bit
accumulator. This can greatly increase speed of DSP and other high-level math operations.

The accumulator can be accessed any time the Multiply/Accumulate Status Flag (MCNT1 ;D2h) is
cleared. The accumulator is initialized by performing five writes to the Multiplier C Register (MC ;D5h),
LSB first. The 40-bit accumulator can be read by performing five reads of the Multiplier C Register,
MSB first.