Data Representation And Rounding; Scaling; Section 3.3 Data Representation And Rounding; Saturation Arithmetic - Motorola DSP56000 Manual

24-bit digital signal processor
Hide thumbs Also See for DSP56000:
Table of Contents

Advertisement

WITHOUT LIMITING*
55
0 . . . 0 1 0 0 . . . . . . . . . . . 0 0
7
0 23
0 23
1 0 0 . . . . . . . . . . . 0 0
23
0
* Limiting automatically occurs when the 56 - bit operands A or B (not A2, A1, A0, B2, B1, or B0) are read. The contents
of A or B are NOT changed.
bined to form one 48-bit data limiter for long-word operands.
For example, if the source operand were 01.100 (+ 1.5 decimal) and the destination reg-
ister were only four bits, the destination register would contain 1.100 (- 1.5 decimal) after
the transfer, assuming signed fractional arithmetic. This is clearly in error as overflow has
occurred. To minimize the error due to overflow, it is preferable to write the maximum
("limited") value the destination can assume. In the example, the limited value would be
0.111 (+ 0.875 decimal), which is clearly closer to + 1.5 than - 1.5 and therefore intro-
duces less error.
Figure 3-5 shows the effects of saturation arithmetic on a move from register A1 to regis-
ter X0. The instruction "MOVE A1,X0" causes a move without limiting, and the instruction
"MOVE A,X0" causes a move of the same 24 bits with limiting. The error without limiting
is 2.0; whereas, it is 0.0000001 with limiting. Table 3-1 shows a more complete set of
limiting situations.
3.2.5.2

Scaling

The data shifters can shift data one bit to the left or one bit to the right, or pass the data
unshifted. Each data shifter has a 24-bit output with overflow indication and is controlled
by the scaling mode bits in the status register. These shifters permit dynamic scaling of
fixed-point data without modifying the program code. For example, this permits block
floating-point algorithms such as fast Fourier transforms to be implemented in a regular
fashion.
3.3

DATA REPRESENTATION AND ROUNDING

The DSP56K uses a fractional data representation for all Data ALU operations. Figure 3-
3 - 10
DATA REPRESENTATION AND ROUNDING
0
0 0 . . . . . . . . . . . . 0 0
A = +1.0
0
MOVE A1, X0
X0 = -1.0
|ERROR| = 2.0
Figure 3-5 Saturation Arithmetic
DATA ARITHMETIC LOGIC UNIT
WITH LIMITING*
55
0. . . 0 1 0 0 . . . . . . . . . . . 0 0
0 0 . . . . . . . . . . . . 0 0
7
0 23
0 23
MOVE A, X0
0 1 1 . . . . . . . . . . . 1 1
23
0
0
A = +1.0
0
X0 = +0.9999999
|ERROR| = .0000001
MOTOROLA

Advertisement

Table of Contents
loading

This manual is also suitable for:

Dsp56k

Table of Contents