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 wr i tes of a des tination reg is ter 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, an d may be added to the 40-bit cont ents 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 uni t, 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 limiti ng 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,” Sect ion 2.2.1.5, “S caling,” 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.