Page 167 - Embedded Microprocessor Systems Real World Design
P. 167

a vector value on the data bus. In some early processors, such as the 8085 and 280,
                  the  vector  was  actually an  instruction.  These  processors include  several  1-byte
                  instructions that force the processor to a specific address in low memory, and the
                  interrupt controller typically would provide one of those instructions in response
                  to an interrupt acknowledge. Other processors expect a number, which is used as
                  a pointer into a table, usually in low memory, that contains the jump instructions
                  to  the  IS&.  (The 280  actually  supports  both  schemes.)  The  8086  family, for
                  example, reserves the first 1024 bytes of code space, from 00000 to 003FF, for the
                  interrupt table.
                     Using external vectors on processors that have that capability is the most flexi-
                  ble interrupt scheme, but it also requires more hardware than other methods. Each
                  peripheral in this scheme must include the hardware to recognize interrupt cycles
                  and provide the correct vector.




                  Interrupt Bus Cycles


                  When using an external vector, most processors perform an interrupt acknowledge
                  cycle that is similar to other bus cycles, but with different control or status signals.
                  The 8086, for example, performs a bus read cycle but with the interrupt acknowl-
                  edge  (-INTA)  signal replacing -RD and with  a  different status indication.  The
                  68000 asserts -DS  normally, and only the status bits indicate that the bus cycle is
                  an interrupt acknowledge.
                     Some designs use an interrupt IC that has several discrete interrupt inputs but
                  interfaces to the single processor interrupt line. These ICs produce the interrupt
                  request to the processor and, when the interrupt is acknowledged, return the inter-
                  rupt vector corresponding to the highest-priority interrupt pin activated. The 8259,
                  typical of  interrupt controller ICs, has eight interrupt inputs and is designed  to
                  interface to Intel processors.




                   Daisy-Chained Interrupts


                  Some designs use daisychained priority interrupts, which are illustrated in Figure
                  5.3. The interrupt input in this scheme, usually open collector, is driven by all the
                  interrupting peripherals. When any peripheral needs to interrupt the processor, it
                  activates the interrupt line. Each peripheral also has a priority in and a priority out.
                  The priority in is connected to the next highest peripheral in  the daisy chain or
                  tied active for the highest-priority device. The priority out is connected to the next
                  lowest peripheral. If  any particular  peripheral is not requesting  an interrupt,  its


                   148                                             Embedded Micropomsur Systems
   162   163   164   165   166   167   168   169   170   171   172