
PRODUCT SPECIFICATION
3-1
DSPCPU Architecture
Chapter 3
by Gert Slavenburg, Marcel Janssens
3.1
BASIC ARCHITECTURE CONCEPTS
This section documents the system programmer or
‘bare-machine’ view of the TM1300 CPU (or DSPCPU).
3.1.1
New in TM1300
Default reset value of PCSW register is 0x800. This new
reset value allows Audio Out and SPDIF Out timestamp
registers to be in phase with CCCOUNT (lower 32 bits).
3.1.2
Register Model
Figure 3-1 shows the DSPCPU’s 128 general purpose
registers, r0...r127. In addition to the hardware program
counter, PC, there are 4 user-accessible special purpose
registers, PCSW, DPC (destination program counter),
SPC
(source
program
counter),
and
CCCOUNT.
Table 3-1 lists the registers and their purposes.
Register r0 always contains the integer value '0', corre-
sponding to the boolean value 'FALSE' or the single-pre-
cision floating point value +0.0. Register r1 always con-
tains the integer value '1' ('TRUE'). The programmer is
NOT allowed to write to r0 or r1.
Note: Writing to r0 or r1 may cause reads from r0 or
r1 scheduled in adjacent clock cycles to return unpre-
dictable values. The standard assembler prevents/for-
bids the use of r0 or r1 as a destination register.
Registers r2 through r127 are true general purpose reg-
isters; the hardware does not imply their use in any way,
though compiler or programmer conventions may assign
particular roles to particular registers. The DPC and SPC
relate to interrupt and exception handling and are treated
in Section 3.1.5, “SPC and DPC—Source and Destina-
tion Program Counter.” The PCSW (Program Control
and Status Word) register is treated in Section 3.1.4,
“PCSW Overview.” CCCOUNT, the 64-bit clock cycle
counter is treated in Section 3.1.6, “CCCOUNT—Clock
Cycle Counter.”
31
23
15
7
0
1
0
00000000000000000000000000000
31
23
15
7
0
63
55
47
39
r0
r1
r2
r3
r126
r127
PC
PCSW
DPC
SPC
CCCOUNT
128 General-Purpose Registers
r0 & r1 fixed
r2–r127 variable
System Status & Control Registers
Figure 3-1. TM1300 registers.
Table 3-1. DSPCPU registers
Register
Size
Details
r0
32 bits Always reads as 0x0; must not be used
as destination of operations
r1
32 bits Always reads as 0x1; must not be used
as destination of operations
r2–r127
32 bits 126 general-purpose registers
PC
32 bits Program counter
PCSW
32 bits Program control & status word
DPC
32 bits Destination program counter; latches
target of taken branch that is interrupted
SPC
32 bits Source program counter; latches target
of taken branch that is not interrupted
CCCOUNT
64 bits Counts clock cycles since reset