Contents
xvi
7.1.4
RPTS Instruction
7-5
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7.1.5
Repeat-Mode Restrictions
7-6
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7.1.6
RC Register Value After Repeat Mode Completes
7-7
. . . . . . . . . . . . . . . . . . . . . . .
7.1.7
Nested Block Repeats
7-8
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7.2
Delayed Branches
7-9
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7.3
Calls, Traps, and Returns
7-11
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7.4
Interlocked Operations
7-13
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7.4.1
Interrupting Interlocked Operations
7-15
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7.4.2
Using Interlocked Operations
7-15
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7.4.3
Pipeline Effects of Interlocked Instructions
7-19
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7.5
Reset Operation
7-21
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7.6
Interrupts
7-26
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7.6.1
TMS320C30 and TMS320C31 Interrupt Vector Table
7-26
. . . . . . . . . . . . . . . . . . . .
7.6.2
TMS320C32 Interrupt Vector Table
7-29
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7.6.3
Interrupt Prioritization
7-31
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7.6.4
CPU Interrupt Control Bits
7-32
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7.6.5
Interrupt Flag Register Behavior
7-32
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7.6.6
Interrupt Processing
7-33
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7.6.7
CPU Interrupt Latency
7-35
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7.6.8
External Interrupts
7-36
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7.7
DMA Interrupts
7-38
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7.7.1
DMA Interrupt Control Bits
7-38
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7.7.2
DMA Interrupt Processing
7-39
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7.7.3
CPU/DMA Interaction
7-40
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7.7.4
TMS320C3x Interrupt Considerations
7-41
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7.7.5
TMS320C30 Interrupt Considerations
7-44
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7.8
Traps
7-47
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7.8.1
Initialization of Traps and Interrupts
7-47
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7.8.2
Operation of Traps
7-47
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7.9
Power Management Modes
7-49
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7.9.1
IDLE2 Power-Down Mode
7-49
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7.9.2
LOPOWER
7-51
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8
Pipeline Operation
8-1
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Discussion of the pipeline of operations on the TMS320C3x
8.1
Pipeline Structure
8-2
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8.2
Pipeline Conflicts
8-4
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8.2.1
Branch Conflicts
8-4
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8.2.2
Register Conflicts
8-6
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8.2.3
Memory Conflicts
8-8
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8.3
Resolving Register Conflicts
8-19
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8.4
Memory Access for Maximum Performance
8-22
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8.5
Clocking Memory Accesses
8-24
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8.5.1
Program Fetches
8-24
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8.5.2
Data Loads and Stores
8-24
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .