section 7 - Index of
section 7 - Index of section 7 - Index of
7.3.1 Interrupt TypesThe DSP56K relies on two types of interrupt routines: fast and long. The fast interruptfetches only two words and then automatically resumes execution of the main program;whereas, the long interrupt must be told to return to the main program by executing anRTI instruction. The fast routine consists of two automatically inserted interrupt instructionwords. These words can contain any unrestricted, single two-word instruction or anytwo one-word instructions (see Section A.9 in APPENDIX A - INSTRUCTION SETDETAILS for a list of restrictions). Fast interrupt routines are never interruptible.CAUTIONStatus is not preserved during a fast interrupt routine; therefore, instructionsthat modify status should not be used at the interrupt starting address andinterrupt starting address + 1.-If one of the instructions in the fast routine is a JSR, then a long interrupt routine isformed. The following actions occur during execution of the JSR instruction when itoccurs in the interrupt starting address or in the interrupt starting address +1:1. The PC (containing the return address) and the SR are stacked.2. The loop flag is reset.3. The scaling mode bits are reset.4. The IPL is raised to disallow further interrupts at the same or lower levels(except that hardware RESET, NMI, stack error, trace, and SWI can alwaysinterrupt).5. The trace bit in the SR is cleared (in the DSP56000/56001 only).The long interrupt routine should be terminated by an RTI. Long interrupt routines areinterruptible by higher priority interrupts. Figure 7-1 shows examples of fast and longinterrupts.7.3.2 Interrupt Priority StructureInterrupts are organized in a flexible priority structure. Each interrupt has an associatedinterrupt priority level (IPL) that can range from zero to three. Levels 0 (lowest level), 1,and 2 are maskable. Level 3 is the highest IPL and is not maskable. The only IPL 3 interruptsare RESET, illegal instruction interrupt (III), nonmaskable interrupt (NMI), stackerror, trace, and software interrupt (SWI). The interrupt mask bits (11, 10) in the SR reflectthe current priority level and indicate the IPL needed for an interrupt source to interruptthe processor (see Table 7-2). Interrupts are inhibited for all priority levels below the cur-
$0100MAINPROGRAMFAST INTERRUPT SERVICE ROUTINESSI RECEIVE DATA$0101$0102MACRMOVEINTERRUPTRECOGNIZED$0103$0104MACREP$OOOCMOVEPxxxxxx$0105MAC$0106(a) DSP56K Fast InterruptLONG INTERRUPT SERVICE ROUTINE$0100MAINPROGRAMSSI RECEIVE DATAWITH EXCEPTION STATUS$0101 MACR$0102 MOVE$0103 MAC$0104 REPJSR INSTRUCTIONFORMS LONGINTERRUPT SERVICE$0105 MAC$0106(b) DSP56K Long Inte~ruptFigure 7-1 Fast and Long Interrupt Examples
- Page 88 and 89: PROGRAM CONTROL UNIT-23 1615 023 16
- Page 90 and 91: The GGR is a special purpose contro
- Page 92 and 93: If S 1 =0 and SO=O (no scaling)then
- Page 94 and 95: -23 876543210I * 1* JSO I * I Mel y
- Page 96 and 97: 5.4.5.1 Stack Pointer (Bits 0-3)The
- Page 98 and 99: -DATA ARITHMETIC LOGIC UNITINPUT RE
- Page 101 and 102: 6.1 INSTRUCTION SET INTRODUCTIONThe
- Page 103 and 104: shown in Figure 6-2. Most instructi
- Page 105 and 106: 23 87 0L...-I ___-'-I_---'I BUS~ LS
- Page 107 and 108: The MR and CCR may be accessed indi
- Page 109 and 110: 6.3.4 Operand ReferencesThe DSP sep
- Page 111 and 112: Some address register indirect mode
- Page 113 and 114: EXAMPLE A: IMMEDIATE INTO 24-BIT RE
- Page 115 and 116: EXAMPLE A: IMMEDIATE SHORT INTO AO,
- Page 117 and 118: EXAMPLE A: MOVE P: $3200,XOBEFORE E
- Page 119 and 120: Table 6-1 Addressing Modes SummaryA
- Page 121 and 122: 6.4.2 LogicallnstructlonsThe logica
- Page 123 and 124: START OF LOOP1)SP+ 1 • SP; LA. SS
- Page 125 and 126: OPCODE/OPERANDSPARALLEL MOVE EXAMPL
- Page 127: SECTION 7PROCESSING STATES-
- Page 130 and 131: Each instruction requires a minimum
- Page 132 and 133: second instruction of the downloade
- Page 134 and 135: The DO instruction is another instr
- Page 136 and 137: SP and SSH/SSL register manipulatio
- Page 140 and 141: Table 7-2 Status Register Interrupt
- Page 142 and 143: 7.3.3 Interrupt SourcesInterrupts c
- Page 144 and 145: interrupts makes it very useful for
- Page 146 and 147: MAINPROGRAMFETCHESLONG INTERRUPTSER
- Page 148 and 149: 7.3.3.3 Other Interrupt SourcesOthe
- Page 150 and 151: 7.3.4 Interrupt ArbitrationInterrup
- Page 152 and 153: 7.3.7 Interrupt Instruction Executi
- Page 154 and 155: MAINPROGRAMMEMORYINTERRUPT SYNCHRON
- Page 156 and 157: MAINPROGRAMFETCHESINTERRUPTSYNCHRON
- Page 158 and 159: MAINPROGRAMFAST INTERRUPTVECTORLONG
- Page 160 and 161: MAINPROGRAMFETCHESNTERRUPTSYN8HRCNZ
- Page 162 and 163: 7.5 WAIT PROCESSING STATEThe WAIT i
- Page 164 and 165: The stop processing state halts all
- Page 166 and 167: the first instruction fetch). If th
- Page 168: RESET -----------------------------
- Page 172 and 173: 16 - BIT INTERNALADDRESS BUSESX ADD
- Page 174 and 175: 8.2.2.1 Address (AO-A15)These three
- Page 177: SECTION 9PLL CLOCK OSCILLATOR-
- Page 180 and 181: X MEMORYRAM/ROMEXPANSION24-Bit56KMo
- Page 182 and 183: 23 22 21 20 19 18 17 16 15 14 13 12
- Page 184 and 185: cleared. To enable rapid recovery w
- Page 186 and 187: -CLVCCVCC for the CKOUT output. The
7.3.1 Interrupt TypesThe DSP56K relies on two types <strong>of</strong> interrupt routines: fast and long. The fast interruptfetches only two words and then automatically resumes execution <strong>of</strong> the main program;whereas, the long interrupt must be told to return to the main program by executing anRTI instruction. The fast routine consists <strong>of</strong> two automatically inserted interrupt instructionwords. These words can contain any unrestricted, single two-word instruction or anytwo one-word instructions (see Section A.9 in APPENDIX A - INSTRUCTION SETDETAILS for a list <strong>of</strong> restrictions). Fast interrupt routines are never interruptible.CAUTIONStatus is not preserved during a fast interrupt routine; therefore, instructionsthat modify status should not be used at the interrupt starting address andinterrupt starting address + 1.-If one <strong>of</strong> the instructions in the fast routine is a JSR, then a long interrupt routine isformed. The following actions occur during execution <strong>of</strong> the JSR instruction when itoccurs in the interrupt starting address or in the interrupt starting address +1:1. The PC (containing the return address) and the SR are stacked.2. The loop flag is reset.3. The scaling mode bits are reset.4. The IPL is raised to disallow further interrupts at the same or lower levels(except that hardware RESET, NMI, stack error, trace, and SWI can alwaysinterrupt).5. The trace bit in the SR is cleared (in the DSP56000/56001 only).The long interrupt routine should be terminated by an RTI. Long interrupt routines areinterruptible by higher priority interrupts. Figure 7-1 shows examples <strong>of</strong> fast and longinterrupts.7.3.2 Interrupt Priority StructureInterrupts are organized in a flexible priority structure. Each interrupt has an associatedinterrupt priority level (IPL) that can range from zero to three. Levels 0 (lowest level), 1,and 2 are maskable. Level 3 is the highest IPL and is not maskable. The only IPL 3 interruptsare RESET, illegal instruction interrupt (III), nonmaskable interrupt (NMI), stackerror, trace, and s<strong>of</strong>tware interrupt (SWI). The interrupt mask bits (11, 10) in the SR reflectthe current priority level and indicate the IPL needed for an interrupt source to interruptthe processor (see Table 7-2). Interrupts are inhibited for all priority levels below the cur-