Computation Unit

Figure 2–4. Overview of the Arithmetic Logic Unit

ALU INPUTS

 

 

ALU-A 16-bit

ALU-B 16-bit

 

 

 

 

- selects between ...

- selects between ...

 

 

all 0’s

all 0’s

 

 

Offset Accumulator Register

Accumulator Register

 

 

Data Memory

 

 

 

Program Memory

 

 

(PH)

Product High†

 

 

(PL)

Product Low†

 

 

 

 

 

ARITHMETIC LOGIC UNIT

performs arithmetic, comparison, and logic

ALU OUTPUTS

THE ACCUMULATOR BLOCK

Accumulator Register

OFFSET Accumulator Register

 

 

16 16-bit registers ...

16 16-bit registers ...

AC0, AC1, AC2, AC3, AC4, AC5, AC6, AC7, AC8,

AC16, AC17, AC18, AC19, AC20, AC21, AC22,

AC9, AC10, AC11, AC12, AC13, AC14, AC15

AC23, AC24, AC25, AC26, AC27, AC28, AC29,

 

AC30, AC31

 

 

For multiply-accumulate operations.

2.2.2.2Accumulator 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.

MSP50C6xx Architecture

2-9

Page 33
Image 33
Texas Instruments MSP50C6xx manual Overview of the Arithmetic Logic Unit