Bus Operation
MOTOROLA MC68030 USER’S MANUAL 7-73
Figure 7-44 shows the timing for an interrupt acknowledge cycle terminated with DSACKx.
7.4.1.2 AUTOVECTOR INTERRUPT ACKNOWLEDGE CYCLE. When the interrupting
device cannot supply a vector number, it requests an automatically generated vector or
autovector. Instead of placing a vector number on the data bus and asserting DSACK
x or
STERM
, the device asserts the autovector signal (AVEC) to terminate the cycle. Neither
STERM
nor DSACKx may be asserted during an interrupt acknowledge cycle terminated by
AVEC
.
The vector number supplied in an autovector operation is derived from the interrupt level of
the current interrupt. When AVEC
is asserted instead of DSACK or STERM during an
interrupt acknowledge cycle, the MC68030 ignores the state of the data bus and internally
generates the vector number, the sum of the interrupt level plus 24 ($18). There are seven
distinct autovectors that can be used, corresponding to the seven levels of interrupt
available with signals IPL0
–IPL2. Figure 7-45 shows the timing for an autovector operation.
Figure 7-43. Interrupt Acknowledge Cycle Flowchart
REQUEST INTERRUPT
INTERRUPTING DEVICECONTROLLER
1) PLACE VECTOR NUMBER ON LEAST
SIGNIFICANT BYTE OF DATA PORT
(DEPENDS ON PORT SIZE)
2) ASSERT DATA AND SIZE ACKNOWLEDGE
(DSACKx)
OR
ASSERT SYNCHRONOUS TERMINATION
(STERM)
PROVIDE VECTOR INFORMATION
ACKNOWLEDGE INTERRUPT
1) INTERRUPT PENDING (IPEND) RECOGNIZED BY
CURRENT INSTRUCTION – WAIT FOR
INSTRUCTION BOUNDARY
2) SET R/W TO READ
3) SET FUNCTION CODE TO CPU SPACE
4) PLACE INTERRUPT LEVEL ON A1,A2, AND A3.
TYPE FIELD = INTERRUPT ACKNOWLEDGE (IACK)
5) SET SIZE TO BYTE
6) NEGATE IPEND
7) ASSERT ADDRESS STROBE (AS) AND DATA
STROBE (DS)
ACQUIRE VECTOR NUMBER
1) LATCH VECTOR NUMBER
2) NEGATE AS AND DS
CONTINUE INTERRUPT EXCEPTION PROCESSING
RELEASE
1) REMOVE VECTOR NUMBER FROM DATA BUS
2) NEGATE DSACKx