Ti c55x DSP
Ti c55x DSP
performance signal processing. The family extends on previous generations of TI DSPs; many
arithmetic operations are of the form accumulator =operand + accumulator. Because one of the
operands is the accumulator, it need not be specified in the instruction. Accumulator-oriented
instructions are also well-suited to the types of operations performed in digital signal processing,
such as a1x1 + a2x2 + ... .
Most registers are memory-mapped—that is, the register has an address in the memory space
The C55x has four 40-bit accumulators AC0,AC1,AC2, and AC3. The low-order bits 0–15 are referred
to as AC0L,AC1L,AC2L, and AC3L; the high-order bits 16–31 are referred to as AC0H, AC1H, AC2H,
and AC3H; and the guard bits 32–39 are referred to as AC0G, AC1G, AC2G, and AC3G.
Addressing Modes
The C55x has three addressing modes:
Data Operations
The MOV instruction moves data between registers and memory:
MOV src,dst
A number of variations of MOV are possible. The instruction can be used to move from memory into
a register, from a register to memory, between registers, or from one memory location to another.
TheADD instruction adds a source and destination together and stores the result in the destination:
ADD src,dst
C Coding Guideline
Some coding guidelines for the C55x [Tex01] not only provide more efficient code but in some cases
should be paid attention to in order to ensure that the generated code is correct.
The C55x compiler uses some non-standard lengths of data types: char, short, and int are all 16 bits;
long is 32 bits; and long long is 40 bits. The C55x uses IEEE formats for float (32 bits) and double (64
bits)