1 data register file, 2 multiply-accumulate (mac) unit, 3 bit-field unit (bfu) – Freescale Semiconductor StarCore SC140 User Manual

Page 35: 4 shifter/limiters, 2 address generation unit (agu), Data register file -3, Multiply-accumulate (mac) unit -3, Bit-field unit (bfu) -3, Shifter/limiters -3, Address generation unit (agu) -3

Advertising
background image

Architecture Overview

SC140 DSP Core Reference Manual

2-3

MOVE.2L loads or stores two long words (64-bit).

2.1.1.1 Data Register File

The DALU registers can be read or written over the data buses (XDBA and XDBB). A DALU register can
be the source for up to four simultaneous instructions, but simultaneous writes of a destination register are
illegal. The source operands for DALU arithmetic instructions usually originate from DALU registers. The
destination of every arithmetic operation is a DALU register, and each such destination can be used as a
source operand for the operation immediately following, without any time penalty.

2.1.1.2 Multiply-Accumulate (MAC) Unit

The MAC unit comprises the main arithmetic processing unit of the SC140 core and performs the
arithmetic operations. The MAC unit has a 40-bit input and outputs one 40-bit result in the form of
[Extension:High Portion:Low Portion] (EXT:HP:LP).

The multiplier executes 16-bit by 16-bit fractional or integer multiplication between two’s complement
signed, unsigned, or mixed operands (16-bit multiplier and multiplicand). The 32-bit product is
right-justified, sign-extended, and may be added to the 40-bit contents of one of the 16 data registers.

2.1.1.3 Bit-Field Unit (BFU)

The BFU contains a 40-bit parallel bidirectional shifter with a 40-bit input and a 40-bit output, a mask
generation unit, and a logic unit. The BFU is used in the following operations:

Multi-bit left/right shift (arithmetic or logical)

One-bit rotate (right or left)

Bit-field insert and extract

Count leading bits (ones or zeros)

Logical operations

Sign or zero extension operations

2.1.1.4 Shifter/Limiters

Eight shifter/limiters provide scaling and limiting on 32-bit transfers from the data register file to memory.
Scaling up or down by one bit is programmable as is limiting to the maximum values provided in 32 bits.
For more detailed information, see

Section 2.2.1.4, “Data Shifter/Limiter,” Section 2.2.1.5, “Scaling,”

and

Section 2.2.1.6, “Limiting.”

2.1.2 Address Generation Unit (AGU)

The AGU contains address registers and performs address calculations using integer arithmetic necessary
to address data operands in memory. It implements four types of arithmetic: linear, modulo, multiple
wrap-around modulo, and reverse-carry. The AGU operates in parallel with other core resources to
minimize address generation overhead.

Advertising