beautypg.com

2 arithmetic logic unit – Texas Instruments MSP50C6xx User Manual

Page 31

background image

Computation Unit

2-7

MSP50C6xx Architecture

Figure 2–3. Overview of the Multiplier Unit Operation

MULTIPLIER UNIT INPUTS

Multiplicand 16-bit

- latched in a write-only register
from one of the following sources ...

Data Memory
Accumulator

Offset Accumulator

X

Multiplier

- writeable and readable by Data Memory
as one of the following ...

Multiplier Register†

Shift Value Register

or

MULTIPLYING:

16-bit

4-bit

SHIFTING:

(MR)

(SV)

MULTIPLIER UNIT

performs multiplication and barrel shifting

MULTIPLIER UNIT INPUTS

MSB 16-bit

LSB 16-bit

- readable and writeable by Data Memory

- a simulated register: PL is realized in ALU-A

- readable and writeable by ALU-A

(PH) Product High

(PL) Product Low

† Also write-able by Program Memory

2.2.2

Arithmetic Logic Unit

The arithmetic logic unit is the focal point of the computational unit, where data
can be added, subtracted, and compared. Logical operations can also be
performed by the ALU. The basic hardware word-length of the ALU is 16 bits;
however, most ALU instructions can also operate on strings of 16-bit words
(i.e., a series or array of values). The ALU operates in conjunction with a
flexible, 16-bit accumulator register block. The accumulator register block is
composed of thirty-two, 16-bit registers which further enhances execution and
promotes compact code.

The ALU has two distinct input paths, denoted ALU-A and ALU-B (see
Figure-2–4). The ALU-A input selects between all zeros, the internal databus,
the product high register (PH), the product low (PL), or the offset output of the
accumulator register block. The ALU-B input selects between all zeros and the
output from the accumulator register block.