section 7 - Index of
section 7 - Index of section 7 - Index of
7.3.4 Interrupt ArbitrationInterrupt arbitration and control, which occurs concurrently with the fetch-decode-executecycle, takes two instruction cycles. External interrupts are internally synchronizedwith the processor clock before their interrupt-pending flags are set. Each external andinternal interrupt has its own flag. After each instruction is executed, the DSP arbitratesall interrupts. During arbitration, each interrupt's IPL is compared with the interrupt maskin the SR, and the interrupt is either allowed or disallowed. The remaining interrupts areprioritized according to the IPLs shown in Table 7-5, and the highest priority interrupt ischosen. The interrupt vector is then calculated so that the program interrupt controllercan fetch the first interrupt instruction.Interrupts from a given source are not buffered. The processor won't arbitrate a newinterrupt from the same source until after it fetches the second interrupt vector of the currentinterrupt.-The internal interrupt acknowledge signal clears the edge-triggered interrupt flags andthe internal latches of the NMI, SWI, and trace interrupts. The stack error bit in the stackpointer register is "sticky" and requires a "MOVE" or a bit clear operation directly on thestack pointer register. Some peripheral interrupts may also be cleared by the internalinterrupt acknowledge signal, as defined in their specifications. Peripheral interruptrequests that need a read/write action to some register do not receive the internal interruptacknowledge signal, and they will remain pending until their registers are read/written.Further, level-triggered interrupts will not be cleared. The acknowledge signal will begenerated after the interrupt vectors have been generated, not before.7.3.5 Interrupt Instruction FetchThe interrupt controller generates an interrupt instruction fetch address, which points tothe first instruction word of a two-word interrupt routine. This address is used for the nextinstruction fetch, instead of the contents of the PC, and the interrupt instruction fetchaddress +1 is used for the subsequent instruction fetch. While the interrupt instructionsare being fetched, the PC cannot be updated. After the two interrupt words have beenfetched, the PC is used for any subsequent instruction fetches.After both interrupt vectors have been fetched, they are guaranteed to be executed. Thisis true even if the instruction that is currently being executed is a change-of-flow instruction(i.e., JMP, JSR, etc.) that would normally ignore the instructions in the pipe. After theinterrupt instruction fetch, the PC will point to the instruction that would have beenfetched if the interrupt instructions had not been inserted.
7.3.6 . Instructions Preceding the Interrupt Instruction FetchThe following one-word instructions are aborted when they are fetched in the cycle precedingthe fetch of the first interrupt instruction word- REP, STOP, WAIT, RESET, RTI,RTS, Jcc, JMP, JScc, and JSR.Two-word instructions are aborted when the first interrupt instruction word fetched willreplace the fetch of the second word of the two-word instruction. Aborted instructions arerefetched when program control returns from the interrupt routine. The PC is adjustedappropriately before the end of the decode cycle of the aborted instruction.If the first interrupt word fetch occurs in the cycle following the fetch of a one-wordinstruction not previously listed or the second word of a two-word instruction, that instructionwill complete normally before the start of the interrupt routine.The following cases have been identified where service of an interrupt might encounteran extra delay:1. If a long interrupt routine is used to service an SWI, then the processor prioritylevel is set to 3. Thus, all interrupts except other level-3 interrupts are disableduntil the SWI service routine terminates with an RTI (unless the SWI serviceroutine software lowers the processor priority level).2. While servicing an interrupt, the next interrupt service will be delayed accordingto the following rule: after the first interrupt instruction word reaches theinstruction decoder, at least three more instructions will be decoded beforedecoding the next first interrupt instruction word. If anyone pair of instructionsbeing counted is the REP instruction followed by an instruction to be repeated,then the combination is counted as two instructions independent of the numberof repeats done. Sequential REP combinations will cause pending interruptsto be rejected and can not be interrupted until the sequence of REPcombinations ends.3. The following instructions are not interruptible: SWI, STOP, WAIT, andRESET.4. The REP instruction and the instruction being repeated are not interruptible.5. If the trace bit in the SR (DSP56000/56001 only) is set, the only interrupts thatwill be processed are the hardware RESET, III,NMI, stack error, and trace.Peripheral and external interrupt requests will be ignored. The interrupt generatedby the SWI instruction will be ignored.
- 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 138 and 139: 7.3.1 Interrupt TypesThe DSP56K rel
- 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 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
- Page 188 and 189: 4. For all input frequencies which
- Page 190 and 191: While the PLL is regaining lock, th
- Page 193 and 194: 10.1 ON-CHIP EMULATION INTRODUCTION
- Page 195 and 196: 10.2.2 Debug Serial Clock/Chip Stat
- Page 197 and 198: 76543210I R/W I GO I EX I RS41 RS31
- Page 199 and 200: shifted in (so a new command is ava
7.3.4 Interrupt ArbitrationInterrupt arbitration and control, which occurs concurrently with the fetch-decode-executecycle, takes two instruction cycles. External interrupts are internally synchronizedwith the processor clock before their interrupt-pending flags are set. Each external andinternal interrupt has its own flag. After each instruction is executed, the DSP arbitratesall interrupts. During arbitration, each interrupt's IPL is compared with the interrupt maskin the SR, and the interrupt is either allowed or disallowed. The remaining interrupts areprioritized according to the IPLs shown in Table 7-5, and the highest priority interrupt ischosen. The interrupt vector is then calculated so that the program interrupt controllercan fetch the first interrupt instruction.Interrupts from a given source are not buffered. The processor won't arbitrate a newinterrupt from the same source until after it fetches the second interrupt vector <strong>of</strong> the currentinterrupt.-The internal interrupt acknowledge signal clears the edge-triggered interrupt flags andthe internal latches <strong>of</strong> the NMI, SWI, and trace interrupts. The stack error bit in the stackpointer register is "sticky" and requires a "MOVE" or a bit clear operation directly on thestack pointer register. Some peripheral interrupts may also be cleared by the internalinterrupt acknowledge signal, as defined in their specifications. Peripheral interruptrequests that need a read/write action to some register do not receive the internal interruptacknowledge signal, and they will remain pending until their registers are read/written.Further, level-triggered interrupts will not be cleared. The acknowledge signal will begenerated after the interrupt vectors have been generated, not before.7.3.5 Interrupt Instruction FetchThe interrupt controller generates an interrupt instruction fetch address, which points tothe first instruction word <strong>of</strong> a two-word interrupt routine. This address is used for the nextinstruction fetch, instead <strong>of</strong> the contents <strong>of</strong> the PC, and the interrupt instruction fetchaddress +1 is used for the subsequent instruction fetch. While the interrupt instructionsare being fetched, the PC cannot be updated. After the two interrupt words have beenfetched, the PC is used for any subsequent instruction fetches.After both interrupt vectors have been fetched, they are guaranteed to be executed. Thisis true even if the instruction that is currently being executed is a change-<strong>of</strong>-flow instruction(i.e., JMP, JSR, etc.) that would normally ignore the instructions in the pipe. After theinterrupt instruction fetch, the PC will point to the instruction that would have beenfetched if the interrupt instructions had not been inserted.