File: arch.fm5, modified 7/23/99
PRELIMINARY INFORMATION
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 TM1100 microprocessor
CPU, also known as the DSPCPU.
3.1.1
Register Model
DSPCPU provides 128 general purpose registers,
named r0..r127. In addition to the hardware program
counter PC, there are 4 user-accessible special purpose
registers, PCSW, DPC, SPC, and CCCOUNT.
Table 3-1lists the registers and their purposes.
Register r0 always contains the integer value '0', register
r1 always contains the integer value '1'. Note that this
also corresponds to r0 containing the boolean value
'FALSE' or the single precision floating point value +0.0
and r1 containing 'TRUE'. The programmer is NOT al-
lowed 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 in any way imply their use,
although compiler or programmer conventions may as-
sign particular roles to particular registers. The DPC
(Destination Program Counter) and SPC (Source Pro-
gram Counter) relate to interrupt and exception handling
(Program Control and Status Word) is treated in
Section31
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. TM1100 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 inter-
rupted
SPC
32 bits Source program counter; latches target
of taken branch that is not interrupted
CCCOUNT
64 bits Counts clock cycles since reset