
viii
SC140 DSP Core Reference Manual
5.3
5.3.1
5.3.1.1
5.3.1.2
5.3.1.3
5.3.2
5.3.3
5.3.4
5.4
5.4.1
5.4.1.1
5.4.1.2
5.4.2
5.4.3
5.4.4
5.4.5
5.5
5.5.1
5.5.1.1
5.5.1.2
5.5.1.3
5.5.1.4
5.5.1.5
5.5.2
5.5.2.1
5.5.2.2
5.5.3
5.5.4
5.5.4.1
5.5.4.1.1
5.5.4.1.2
5.5.4.1.3
5.5.4.2
5.5.4.3
Stack Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-19
Normal and Exception Modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-19
Stack Memory Problem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-20
SC140 Stack Utilization Solution. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-20
Switching between Normal and Exception Modes. . . . . . . . . . . . . . . . . .5-21
Software Stack . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-22
Shadow Stack Pointer Registers. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-23
Fast Call-Return from Subroutines. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-24
Processing States. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-24
Execution State. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-26
Normal Processing State. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-26
Exception Processing State. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-26
Reset Processing State . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-27
Debug State. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-27
Wait Processing State . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-28
Stop Processing State . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-28
Exception Processing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-29
Exceptions Programming Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-31
Controlling Individual Interrupt Sources . . . . . . . . . . . . . . . . . . . . . . . . .5-31
Controlling All Interrupt Sources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-31
Interrupt Priority Level. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-32
Vector Base Address Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-32
Programming Exception Routine Addresses . . . . . . . . . . . . . . . . . . . . . .5-32
Exception Interface to the Pipeline. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-33
Exception Routine Fetch. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-33
Exception State Execution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-33
Non-Maskable Interrupts (NMI). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-33
Internal Exceptions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-34
EMR Exception Bits. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-34
Illegal Instruction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-34
Illegal Execution Set. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-34
DALU Overflow. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-34
TRAP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-35
Debug Exception. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-35
Chapter 6
Instruction Set Overview
6.1
6.2
6.2.1
6.2.2
6.2.3
6.2.4
6.2.5
6.2.6
Instruction Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6-1
Instruction Grouping. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6-2
Instruction Grouping Encoding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6-3
Serial Grouping. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6-4
Prefix Grouping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6-4
Conditional Execution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6-5
Assembly Reordering Restrictions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6-6
Grouping Algorithm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6-7