beautypg.com

Figure 2–4. overview of the arithmetic logic unit – Texas Instruments MSP50C6xx User Manual

Page 33

background image

Computation Unit

2-9

MSP50C6xx Architecture

Figure 2–4. Overview of the Arithmetic Logic Unit

ALU INPUTS

ALU-A 16-bit

- selects between ...

all 0’s
Offset Accumulator Register

Data Memory

ALU-B 16-bit

- selects between ...

(PH)

(PL)

ARITHMETIC LOGIC UNIT

performs arithmetic, comparison, and logic

ALU OUTPUTS

THE ACCUMULATOR BLOCK

Accumulator Register

OFFSET Accumulator Register

AC0, AC1, AC2, AC3, AC4, AC5, AC6, AC7, AC8,
AC9, AC10, AC11, AC12, AC13, AC14, AC15

16

×

16-bit registers ...

16

×

16-bit registers ...

Program Memory
Product High†

Product Low†

all 0’s
Accumulator Register

AC16, AC17, AC18, AC19, AC20, AC21, AC22,
AC23, AC24, AC25, AC26, AC27, AC28, AC29,
AC30, AC31

† For multiply-accumulate operations.

2.2.2.2

Accumulator Pointer Block

There are four 5-bit registers which are used to store pointers to members of
the accumulator block. The accumulator pointers (AP0, AP1, AP2, AP3) are
used in two modes: 1) as a direct reference to one of 32, or 2) as an indirect
reference. The indirect reference includes a direct reference to one of 16 and
an offset (optional) which increments the reference by 16: AC(N+16). For
example, AC0 has its offset register located at AC16. AC1 has an offset
register located at AC17, and so on. The block is circular: address 31, when
incremented, results in address 0. The offsets of AC16 through AC31,
therefore, are AC0 through AC15, respectively (see Figure 2–5). Indirect
referencing by the AP pointers is supported by most of the C6xx’s
accumulator-referenced instructions.