beautypg.com

Motorola DSP96002 User Manual

Page 146

background image

8 - 6

DSP96002 USER’S MANUAL

MOTOROLA

Int ctl cyc1 i

Int ctl cyc2 i

Fetch n3 n4 ii1 ii2 sr1 sr2 sr3 sr4

Decode n2 n3 n4 JSRf NOP sr1 sr2 sr3

Execute n1 n2 n3 n4 JSRf NOP sr1 sr2

*

Int ctl cyc1 i

Int ctl cyc2 i

Fetch sr5 n5 ii3 ii4 n6 n7 n8 n9

Decode RTI NOP n5 ii3 ii4 n6 n7 n8

Execute sr3 RTI NOP n5 ii3 ii4 n6 n7

i = interrupt
ii = interrupt instruction word
JSRf = fast JSR (one-word JSR instruction)
n = normal instruction word
sr = service routine word
* subsequent interrupts are enabled at this time

2. The status register is modified as follows: the interrupt mask bits I1, I0 in the MR are up-

dated to mask interrupts of the same or lower priority (except that illegal instruction, stack
error and (F)TRAPcc can always interrupt).

3. The PC will be altered by the JSR instruction so that instruction execution will continue

with the instructions located in the address pointed to by the JSR instruction.

2.

Long interrupt routines are interruptible by higher priority interrupts. The first instruction word
of the next interrupt service may reach the decoder only after the decoding of at least four in-
structions following the decoding of the first instruction of the previous interrupt.

3.

The long interrupt routine should be terminated by an RTI, which pulls the PC and SR from
the stack.

Figure 8-4. Long Interrupt Pipeline Action

Figure 8-4 illustrates the effect of a long interrupt routine on the instruction pipeline. A fast JSR (that is, a

one-word JSR instruction) is used to form the long interrupt routine. For this example, word 4 of the long

interrupt routine is an RTI. A subsequent interrupt is shown to illustrate the uninterruptable nature of the

early instructions in the long interrupt routine.

See Figure 8-5 for an example of interrupt service when the instruction that receives the internal interrupt

service request is the REP instruction (n3 in Figure 8-5). During the repeated executions of the instruction

that follows the REP instruction (n4), instruction fetches are suspended. The fetches will be reactivated

only after the loop counter is decremented to one. During the execution of n4, interrupts will not be ser-

viced. When LC finally reaches one, the fetches are reinitiated and the interrupt can be serviced. In Figure

8-5 it can be seen that n5 (loaded into the instruction latch from the backup instruction latch) is decoded

and executed as well as n6 before the first interrupt vector.