8x300 design guide - Al Kossow's Bitsavers - Trailing-Edge
8x300 design guide - Al Kossow's Bitsavers - Trailing-Edge
8x300 design guide - Al Kossow's Bitsavers - Trailing-Edge
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
2.5 8X300 INTERRUPT STRUCTURE<br />
<strong>Al</strong>though the 8X300 microprocessor is a very fast device and in<br />
many cases external events occurring randomly and influencing the<br />
program flow may be discovered by means of a polling technique,<br />
there are instances when the system must react immediately to such<br />
events.<br />
Because the 8X300 has no interrupt facility, it is necessary to add<br />
hardware to obtain such a facility. This hardware should perform<br />
the following actions on receipt of an interrupt signal:<br />
- save the current Program Counter contents<br />
- retain the last used I V L and I V R addresses<br />
- make the program jump to a fixed (interrupt) address<br />
- detect a return instruction<br />
- restore the I V L and I V R addresses<br />
- restore the original contents of the Program Counter<br />
Any registers which are used in the interrupt routine should also be<br />
saved and restored on return; this is done in software as is the<br />
restoration of the IVL and IVR addresses, although the saving is<br />
done by hardware. To save and restore various items, a RAM of at<br />
least ten bytes is required. However, it is assumed that a 256 byte<br />
RAM is available, connected to the right bank.<br />
To provide an interrupt facility for 8X300 systems, it is necessary to<br />
add the following hardware:<br />
a) EXECUTE decoding - Interrupts must be inhibited during an<br />
EXECUTE instruction<br />
b) Return decoding - 717777 (JMP 17777) is used as a return<br />
instruction. The address 17777 must be decoded<br />
c) Interrupt control - The Interrupt signal has to be synchronized<br />
with the Master Clock, and various control signals have to be<br />
generated<br />
d) Return Address Register<br />
e) Interrupt Vector logic - This logic forces a jump to the interrupt<br />
address on the instruction bus<br />
f) I V L, I V R Save logic - It is necessary to retain the last I V Land<br />
I V R addresses selected before the interrupt, to be able to<br />
restore these addresses on ret urn<br />
2-47