EP0431312A2 - Multiprocessor interrupt control - Google Patents

Multiprocessor interrupt control Download PDF

Info

Publication number
EP0431312A2
EP0431312A2 EP90120909A EP90120909A EP0431312A2 EP 0431312 A2 EP0431312 A2 EP 0431312A2 EP 90120909 A EP90120909 A EP 90120909A EP 90120909 A EP90120909 A EP 90120909A EP 0431312 A2 EP0431312 A2 EP 0431312A2
Authority
EP
European Patent Office
Prior art keywords
interrupt
processor
signal
bus
control system
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
EP90120909A
Other languages
German (de)
French (fr)
Other versions
EP0431312A3 (en
Inventor
John A. Landry
Paul R. Culley
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Compaq Computer Corp
Original Assignee
Compaq Computer Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Compaq Computer Corp filed Critical Compaq Computer Corp
Publication of EP0431312A2 publication Critical patent/EP0431312A2/en
Publication of EP0431312A3 publication Critical patent/EP0431312A3/en
Ceased legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/24Handling requests for interconnection or transfer for access to input/output bus using interrupt
    • G06F13/26Handling requests for interconnection or transfer for access to input/output bus using interrupt with priority control

Definitions

  • microprocessors It has become desirable for operating speed and reduced computer time to have two microprocessors operate independently from each other while sharing common control, data and address buses.
  • the microprocessors should have identical configurations. It is necessary for the microprocessors to be able to respond to various external hardware events. For this purpose, microprocessors are provided with an interrupt function. With two such microprocessors sharing common buses, however, problems have arisen concerning response to interrupt signals. For example, one microprocessor might erroneously respond to an interrupt signal and search for an interrupt vector actually intended for the other microprocessor.
  • a first of the two processors responds to a maskable interrupt received from a programmable register which is addressable by both processors, or a numeric coprocessor extension andior a numeric coprocessor, both associated with the first processor.
  • processor control logic for the first processor forms an interrupt signal which is furnished to an integrated system peripheral which forms a processor interrupt signal.
  • the first processor in response performs an interrupt acknowledge cycle to receive an interrupt vector.
  • the second processor responds to maskable interrupts from a programmable register, a coprocessor extension and.or a numeric coprocessor associated with the second processor. However, in response to a maskable interrupt, processor control logic for the second processor forms an interrupt signal which is furnished only to the second processor interrupt input.
  • Vector replacement logic circuitry responds to maskable interrupts and determines which of the two processors is on the bus at that time. In the event the first processor is on the bus, vector replacement logic allows the integrated system peripheral to provide the interrupt vector read by the first processor. When, however, the second processor is on the bus at the time a maskable interrupt is received, the vector replacement logic circuitry inhibits the start of the next bus cycle of the integrated system peripheral. This prevents an interrupt vector from being placed on the bus when the second processor is on the bus. The vector replacement logic circuitry instead provides the interrupt vector in this instance.
  • System C designates generally a computer system incorporating the present invention.
  • system C is shown in two portions, with the interconnections between Figures 1 and 2 designated by reference to the circled numbers one to ten.
  • System C is comprised of a number of block elements interconnected via a plurality of buses.
  • signal mnemonics with an asterisk following the signal descriptors indicate the signal is active at a logic low level.
  • Signal mnemonics having numbers or ranges between angled brackets refer to those particular bits or positions in a bus.
  • a processing unit P1 comprises a processor 20, a numerical coprocessor 22 and a cache memory controller 24 and associated logic circuits connected to a local processor bus 26.
  • cache controller 24 Associated with cache controller 24 are high speed cache data random access memory 28, noncacheable memory address map programming logic circuitry 30. noncacheable address memory 32, address exchange latch circuitry 34 and data exchange transceiver 36.
  • processor unit PI also are local bus ready logic circuit 38, next address enable logic circuit 40 and bus request logic circuit 42
  • the processor 20 is preferably an Intel 80386 microprocessor.
  • the processor 20 has its control. address and data lines interfaced to the local processor bus 26.
  • the coprocessor 22 is preferably an Intel 80387 and or Weitek WTL 3167 numeric coprocessor interfacing with the local processor bus 26 and the processor 20 in the conventional manner.
  • the cache ram 28 is preferably a suitable high-speed static random access memory which interfaces with the address and data elements of bus 26 under control of the cache controller 24 to carry out required cache memory operations
  • the cache controller 24 is preferably an Intel 82385 cache controller configured to operate in two-way set associative master mode. In the preferred embodiment the components are the 33 MHz versions of the respective units.
  • Address latch circuitry 34 and data transceiver 36 interface the cache controller 24 with the processor 20 and provide a local bus interface between the local processor bus 26 and a host bus 44, according to conventional practice in an 80386 and 82385 based system.
  • Circuit 38 is a logic circuit which provides a bus ready signal to control access to the local bus 26 and indicate when the next cycle can begin.
  • the enable circuit 40 is utilized to indicate that the next address of data or code to be utilized by subsystem elements in pipelined address mode can be placed on the local bus 26.
  • Noncacheable memory address map programmer 30 cooperates with the processor 20 and the noncacheable address memory 32 to map noncacheable memory locations.
  • the noncacheable address memory 32 is utilized to designate areas of system memory that are noncacheable to avoid many types of cache memory incoherency.
  • the bus request logic circuit 42 is utilized by the processor 20 and associated elements to request access to the host bus 44 in situations such as when requested data is not located in the cache memory 28 and access to system memory is required.
  • a page hit detector 43 is connected to the local processor bus 26 to allow the earliest possible determination of whether a cache miss cycle will be a memory page hit.
  • system C is configured having the processor bus 26. the host bus 44, an extended industry standard architecture (EISA) bus 46 (Fig. 2) and an X bus 90.
  • EISA extended industry standard architecture
  • Fig. 2 The details of the portion of the system illustrated in Figure 2, and not discussed in detail below are not significant to the present invention other than to illustrate an example of a fully configured computer system.
  • the EISA specification Version 3.1 is included as Appendix 1 to fully explain requirements of an EISA system.
  • the portion of system C illustrated in Fig. 2 is essentially a configured EISA system which includes the necessary EISA bus 46, an EISA bus controller 48, data latches and transceivers 50 and address latches and buffers 52 to interface between the EISA bus 46 and the host bus 44.
  • an integrated system peripheral 54 which incorporates a number of the elements used in an EISA-based computer system.
  • the integrated system peripheral (ISP) 54 includes a direct memory access controller 56 for controlling access to main memory 58 (Fig. 1). or memory contained in EISA slots and input output (I 0) locations, without the need for access to the processor 20.
  • the main memory array 58 is considered to be local memory and comprises a memory circuit array of size suitable to accommodate the particular requirements of the system.
  • the ISP 54 also includes interrupt controllers 70, nonmaska- ble interrupt logic 72 and system timers 74 which allow control of interrupt signals and generate necessary timing signals and wait states in a manner according to the EISA specification and conventional practice. In the preferred embodiment, processor generated interrupt requests are controlled via dual interrupt control circuits emulating and extending conventional Intel 8259 interrupt controllers.
  • the ISP 54 also includes bus arbitration logic 75 which, in cooperation with the bus controller 48 and overall arbitration logic 77, controls and arbitrates among the various requests for the EISA bus 46 by the cache controller 24, the DMA controller 56 and bus master devices located on the EISA bus 46.
  • the EISA bus 46 (Fig. 2) includes ISA and EISA control buses 76 and 78, ISA and EISA data buses 80 and 82 and address buses 84. 86 and 88.
  • System peripherals are interfaced via the X bus 90 in combination with the ISA control bus 76 from the EISA bus 46. Control and dataaddress transfer for the X bus 90 are facilitated by X bus control logic 92, data transceivers 94 and address latches 96
  • Attached to the X bus 90 are various peripheral devices such as keyboard mouse controller 98 which interfaces the X bus 90 with a suitable keyboard and mouse via connectors 100 and 102. respectively. Also attached to the X bus 90 are read only memory circuits 106 which contain basic operations software for the system C and for system video operations. A serial communications port 108 is also connected to the system C via the X bus 90. Floppy and fixed disk support, a parallel port, a second serial port, and video support circuits are provided in block circuit 110.
  • processor unit P1 and P2 are located on the host bus 44.
  • Processor unit P2 is similar to processor unit P1. with like circuits having the same reference number plus 100.
  • the overall arbitration logic 77 is adapted for use with the two processor units P1 and P2 and arbitrates between the two processor units P1 and P2 to share the CPU arbitration location provided in the EISA specification.
  • process control logic circuits 49 and 149 are connected to the host bus 44, to their respective processor units P1 and P2, and to each other.
  • a signal name having a first letter of P refers to a signal generally on the local bus 26, with a signal having a first letter of H represents that version of the signal generally on the host bus 44 and a signal having a first letter of M generally represents the version of that signal relating to the memory interface.
  • processor control logic circuit 49 responds to a maskable interrupt signal from any of: a programmable register contained in the processor control logic circuit 49 and addressable by processors P1 or P2; the Weitek WTL3167 portion of numeric coprocessor 22; or the Intel 80387 portion of numeric coprocessor 22.
  • Processor control logic circuit 49 as its response forms an IRQ13 interrupt signal which is furnished to the integrated system peripheral 54.
  • Integrated system peripheral 54 in response forms a processor interrupt signal which is furnished to the interrupt input of processor 20.
  • Processor 20 in response performs an interrupt acknowledge cycle to receive an interrupt vector.
  • a vector replacement logic circuit 121 is provided and is connected to host bus 44. As will be set forth below, vector replacement logic circuit 121 responds to a maskable interrupt and determines which of processor 20 or processor 120 is currently on the host bus 44. In the event that processor 20 is detected to be operating on the bus 44, vector replacement logic circuit 121 allows the integrated system peripheral 54 to provide the interrupt vector read by the processor 20. In the alternative occurrence, namely that processor 120 is detected to be operating on the host bus 44. vector replacement logic circuit 121 inhibits the start of the next bus cycle to the integrated system peripheral 54, instead of passing a signal which is furnished by EISA bus controller 48. This prevents an interrupt vector from being placed on the bus 44 by the integrated system peripheral 54 when the processor 120 is on the host bus 44. Instead, the vector replacement logic Circuit 121 provides the interrupt vector in this instance.
  • a D-type flip-flop 202 receives at a D input a signal PINT indicative of the status of a interrupt signal from a programmable register addressable by processor 20 and processor 120.
  • D-type flip-flop 204 and 206 receive, respectively. signals WINT and NINT of the status of interrupt signals from the Weitek WTL 3167 and Intel 80387 portions of coprocessor 22, respectively.
  • Flip-flops 202, 204 and 206 are each clocked by a common operating clock signal CLK1 from an inverter 208.
  • D-type flip-flops 202A, 204A and 206A are connected to the Q-outputs of flip-flops 202, 204 and 206, respectively.
  • Storage buffers 202A, 204A and 206A also receive the common operating clock signal CLK1.
  • a NOR gate 210 receives at one input the Qoutput of the flip-flop 202 and at the other input the Ooutput of storage buffer 202A.
  • the Q output of flip-flop 202 is driven high in the next cycle of common operating clock signal CLK1, while the Q output of flip-flop 202A remains low.
  • NOR gate 210 stays low until the PINT signal is removed.
  • NOR gate 210 forms a high level pulse lasting one cycle of the common operating clock signal CLK1.
  • NOR gate 212 is connected to the Q output of flip-flop 204 and Q output of flip-flop 204A to form a high level pulse lasting one cycle of common operating clock signal CLKI when the WINT interrupt signal from the Weitek WTL 3167 portion of coprocessor 22 is removed.
  • NOR gate 214 is connected to the Q output of flip-flop 206 and the Q output of flip-flop 206A to form a high level pulse lasting one cycle of common operating clock signal CLK1 in the event of the removal of an interrupt signal CINT from the Intel 80387 portion of coprocessor 22.
  • a NOR gate 216 is connected to receive the outputs from NOR gates 210, 212 and 214 and to form an interrupt trigger signal ISTRIG" in the event of receipt of a signal from any of the NOR gates 210, 212 or 214 in response to the removal of an interrupt signal.
  • Interrupt pulse D-type flip-flops 218 and 220 receive a system reset signal RSTIS' from an inverter 221 at their respective R inputs, at which time their ⁇ outputs are driven high. Interrupt status flip-flops 218 and 220. as well as an interrupt status flip-flop 222 are all driven by the common operating clock signal CLK1 from the inverter 208.
  • the Q output of interrupt status flip-flop 218 is an interrupt status signal IS1' which is furnished as an input to a NAND gate 224
  • the Q output of interrupt status flip-flop 220 is a signal IS2 which is furnished as an input to the NAND gate 224 and an AND gate 226.
  • interrupt status flip-flop 222 is an interrupt status signal IS3 which is an input to the NAND gate 226.
  • a NOR gate 228 receives as its inputs interrupt status signal IS1 from the Q output of interrupt status flip-flop 218 and interrupt status signal IS2 from the Q output of interrupt status flip-flop 220.
  • interrupt output NAND gate 232 This maintains the Qoutput of interrupt status flip-flop 222 high and allows an interrupt output NAND gate 232 to pass any of the interrupt signals PINT from processor 20, WINT from the Weitek WTL 367 portion of coprocessor 22 and NINT from the Intel 80387 portion of coprocessor 22. These interrupt signals are received at an OR gate 234 and pass from interrupt output NAND gate 232 as an CINT * signal.
  • the signal CINT * is inverted by an output buffer (not shown) of the processor control logic circuit 49, with the output signal representing the interrupt line IRQ13 which, as has been set forth above, is furnished from the processor control logic circuit 49 to the integrated system peripheral 54.
  • interrupt status signals ISTRIG* When, however, interrupt status signals ISTRIG* is driven low by a first removed interrupt signal from NOR gate 216, the interrupt status signal IS2 from interrupt status flip-flop 220 becomes high on the next clock pulse CLKI, inhibiting NAND gate 224 and NOR gate 228. This drives the output of NOR gate 228 low. This occurrence causes the Q output of interrupt status flip-flop 222 to go low, permitting NAND gate 230 to block any outstanding interrupt signal due to the others of PINT, WINT or CINT pending at the removal of the interrupt which triggered the state machine formed by flip-flops 218. 220 and 222 to advance.
  • the interrupt pulse flip-flops 218. 220 and 222 provide pulses to the CINT - signal whenever a PINT. WINT or NINT signal is removed and another of PINT, WINT or CINT is pending, thus allowing the system to detect multiple occurrences of the shared interrupt before all the interrupt request signals are cleared.
  • an inverter 250 receives as an input signal ST2B representing status bit 2 from the integrated systems peripheral 54. Status bit 2 indicates that an interrupt acknowledge cycle is present.
  • the output of inverter 250 is furnished as an input to an NAND gate 252 which also receives as an input an address enable signal AENB * , which is used to qualify the ST2B signal.
  • AENB* address enable signal
  • NAND gate 252 forms an interrupt acknowledge signal INTA* on receipt of status bit 2 from integrated systems peripheral 54.
  • the interrupt acknowledge signal INTA * is provided as an input to an NAND gate 254 of a block start circuit 256, a NOR gate 258 of an interrupt mask logic circuit 260 and an inverter 262 of a reset circuit 264.
  • the NAND gate 254 receives the signal INTA * as well as a signal LISPREG * which indicates, when low, that the .processor 120 is trying to access the interrupt controller contained in the integrated system peripheral 54.
  • the output from NAND gate 254 is high during the active presence of the signals INTA * or LISPREG* and is furnished to a NAND gate 266.
  • NAND gate 266 receives as a second input a signal P20N from the arbitration logic 77 indicating that the processor 120 is operating on the bus 44.
  • NAND gate 266 If this is the case, the output of NAND gate 266 is driven low.
  • the output of the NAND gate 266 is furnished as a first input to a block start NAND gate 268.
  • the NAND gate 268 also receives from an inverter 270 the START signal, the EISA bus cycle signal signifying the start of the next EISA bus cycle.
  • An AND gate 276 receives as a first input a no cycle signal NCY * from the Q output of flip-flop 274 and as a second input the signal P20N indicating that processor 120 is operating on the bus.
  • the output of AND gate 276 is provided to the D input of flip-flop 274.
  • the signal P20N is also furnished as an input to an AND gate 278.
  • Gate 278 also receives as an input the Q output of flip-flop 274.
  • the output of gate 278 is furnished as a D input to a D-type flip-flop 280 which receives as its clock signal the Q output of flip-flop 272.
  • Flip-flops 274 and 280 of the interrupt mask logic circuit 260 have their respective S inputs, connected to a logic low level. Flip-flops 274 and 280 of interrupt mask logic circuit 260 receive reset signals at their R input terminals from the reset circuit 264.
  • the inverted interrupt acknowledge signal INTA' output of inverter 262 is furnished as a first input to a NOR gate 282 which also receives as a second input the start signal START *.
  • the output of the gate 282 is driven high on the next start signal START' after the interrupt acknowledge signal INTA * is removed, which passes through a D-type flip-flop 284 on the next rising edge of the BCLK signal received at its clock input.
  • the Q output of flip-flop 284 is driven high at this time, which passes through an OR gate 286 as a reset signal to the R inputs of the shift registers 274 and 280.
  • a system reset signal may be received as the other input to the OR gate 286 and furnished as a reset signal to the R outputs of flip-flop 274 and 280.
  • the flip-flops 274 and 280 are kept reset until an interrupt acknowledge cycle is pending.

Abstract

Two independently operating microprocessors share common control, data and address buses. A first of the microprocessors is assigned, when it is on the buses, to respond to all maskable interrupts by causing placement of an interrupt vector on the bus at the start of the next bus cycle. When the second microprocessor is on the buses and a maskable interrupt is received, the start of the next bus cycle is inhibited from causing an interrupt vector to be placed on the bus.

Description

  • The present invention relates to digital computers with two microprocessors operating off of shared control, data and address buses.
  • It has become desirable for operating speed and reduced computer time to have two microprocessors operate independently from each other while sharing common control, data and address buses. For simplicity of design, programming and manufacture, the microprocessors should have identical configurations. It is necessary for the microprocessors to be able to respond to various external hardware events. For this purpose, microprocessors are provided with an interrupt function. With two such microprocessors sharing common buses, however, problems have arisen concerning response to interrupt signals. For example, one microprocessor might erroneously respond to an interrupt signal and search for an interrupt vector actually intended for the other microprocessor.
  • Briefly, the present invention provides a new and improved multiprocessor interrupt control apparatus for two processors. The processors share common control, data and address buses while operating independently on them. The processors further preferably operate as a part of a computer system using the extended industry standard architecture (EISA) bus.
  • A first of the two processors responds to a maskable interrupt received from a programmable register which is addressable by both processors, or a numeric coprocessor extension andior a numeric coprocessor, both associated with the first processor. On receipt of a maskable interrupt, processor control logic for the first processor forms an interrupt signal which is furnished to an integrated system peripheral which forms a processor interrupt signal. The first processor in response performs an interrupt acknowledge cycle to receive an interrupt vector.
  • The second processor responds to maskable interrupts from a programmable register, a coprocessor extension and.or a numeric coprocessor associated with the second processor. However, in response to a maskable interrupt, processor control logic for the second processor forms an interrupt signal which is furnished only to the second processor interrupt input.
  • Vector replacement logic circuitry responds to maskable interrupts and determines which of the two processors is on the bus at that time. In the event the first processor is on the bus, vector replacement logic allows the integrated system peripheral to provide the interrupt vector read by the first processor. When, however, the second processor is on the bus at the time a maskable interrupt is received, the vector replacement logic circuitry inhibits the start of the next bus cycle of the integrated system peripheral. This prevents an interrupt vector from being placed on the bus when the second processor is on the bus. The vector replacement logic circuitry instead provides the interrupt vector in this instance.
    • Figs. 1 and 2, taken together, are a schematic circuit diagram of a computer according to the present invention;
    • Fig. 3 is a schematic diagram of certain interacting components of the computer of Figs. 1 and 2;
    • Figs. 4 and 5 are digital logic circuit diagrams of portions of Fig. 3.
  • Referring now to Figures 1 and 2, the letter C designates generally a computer system incorporating the present invention. For clarity, system C is shown in two portions, with the interconnections between Figures 1 and 2 designated by reference to the circled numbers one to ten. System C is comprised of a number of block elements interconnected via a plurality of buses. Throughout this specification, signal mnemonics with an asterisk following the signal descriptors indicate the signal is active at a logic low level. Signal mnemonics having numbers or ranges between angled brackets refer to those particular bits or positions in a bus.
  • In Figure 1, a computer system is depicted. A processing unit P1 comprises a processor 20, a numerical coprocessor 22 and a cache memory controller 24 and associated logic circuits connected to a local processor bus 26. Associated with cache controller 24 are high speed cache data random access memory 28, noncacheable memory address map programming logic circuitry 30. noncacheable address memory 32, address exchange latch circuitry 34 and data exchange transceiver 36. Associated with the processor unit PI also are local bus ready logic circuit 38, next address enable logic circuit 40 and bus request logic circuit 42
  • The processor 20 is preferably an Intel 80386 microprocessor. The processor 20 has its control. address and data lines interfaced to the local processor bus 26. The coprocessor 22 is preferably an Intel 80387 and or Weitek WTL 3167 numeric coprocessor interfacing with the local processor bus 26 and the processor 20 in the conventional manner. The cache ram 28 is preferably a suitable high-speed static random access memory which interfaces with the address and data elements of bus 26 under control of the cache controller 24 to carry out required cache memory operations The cache controller 24 is preferably an Intel 82385 cache controller configured to operate in two-way set associative master mode. In the preferred embodiment the components are the 33 MHz versions of the respective units. Address latch circuitry 34 and data transceiver 36 interface the cache controller 24 with the processor 20 and provide a local bus interface between the local processor bus 26 and a host bus 44, according to conventional practice in an 80386 and 82385 based system.
  • Circuit 38 is a logic circuit which provides a bus ready signal to control access to the local bus 26 and indicate when the next cycle can begin. The enable circuit 40 is utilized to indicate that the next address of data or code to be utilized by subsystem elements in pipelined address mode can be placed on the local bus 26.
  • Noncacheable memory address map programmer 30 cooperates with the processor 20 and the noncacheable address memory 32 to map noncacheable memory locations. The noncacheable address memory 32 is utilized to designate areas of system memory that are noncacheable to avoid many types of cache memory incoherency. The bus request logic circuit 42 is utilized by the processor 20 and associated elements to request access to the host bus 44 in situations such as when requested data is not located in the cache memory 28 and access to system memory is required. A page hit detector 43 is connected to the local processor bus 26 to allow the earliest possible determination of whether a cache miss cycle will be a memory page hit.
  • In the drawings. system C is configured having the processor bus 26. the host bus 44, an extended industry standard architecture (EISA) bus 46 (Fig. 2) and an X bus 90. The details of the portion of the system illustrated in Figure 2, and not discussed in detail below are not significant to the present invention other than to illustrate an example of a fully configured computer system. The EISA specification Version 3.1 is included as Appendix 1 to fully explain requirements of an EISA system. The portion of system C illustrated in Fig. 2 is essentially a configured EISA system which includes the necessary EISA bus 46, an EISA bus controller 48, data latches and transceivers 50 and address latches and buffers 52 to interface between the EISA bus 46 and the host bus 44. Also illustrated in Figure 2 is an integrated system peripheral 54, which incorporates a number of the elements used in an EISA-based computer system.
  • The integrated system peripheral (ISP) 54 includes a direct memory access controller 56 for controlling access to main memory 58 (Fig. 1). or memory contained in EISA slots and input output (I 0) locations, without the need for access to the processor 20. The main memory array 58 is considered to be local memory and comprises a memory circuit array of size suitable to accommodate the particular requirements of the system. The ISP 54 also includes interrupt controllers 70, nonmaska- ble interrupt logic 72 and system timers 74 which allow control of interrupt signals and generate necessary timing signals and wait states in a manner according to the EISA specification and conventional practice. In the preferred embodiment, processor generated interrupt requests are controlled via dual interrupt control circuits emulating and extending conventional Intel 8259 interrupt controllers. The ISP 54 also includes bus arbitration logic 75 which, in cooperation with the bus controller 48 and overall arbitration logic 77, controls and arbitrates among the various requests for the EISA bus 46 by the cache controller 24, the DMA controller 56 and bus master devices located on the EISA bus 46.
  • The main memory array 58 (Fig. 1) is preferably page mode dynamic random access memory. Memory 58 interfaces with the host bus 44 via a data buffer circuit 60, a memory controller circuit 62 and a memory mapping and enable circuitry 68. The buffer 60 performs data transceiving and parity generating and checking functions. The memory controller 62 and the memory mapping circuitry 68 interface with the memory 58 via address multiplexer and column address strobe buffers 66 and row address enable logic circuit 64. The memory controller 62 also receives a signal from the page hit detector 43 to control operation.
  • The EISA bus 46 (Fig. 2) includes ISA and EISA control buses 76 and 78, ISA and EISA data buses 80 and 82 and address buses 84. 86 and 88. System peripherals are interfaced via the X bus 90 in combination with the ISA control bus 76 from the EISA bus 46. Control and dataaddress transfer for the X bus 90 are facilitated by X bus control logic 92, data transceivers 94 and address latches 96
  • Attached to the X bus 90 are various peripheral devices such as keyboard mouse controller 98 which interfaces the X bus 90 with a suitable keyboard and mouse via connectors 100 and 102. respectively. Also attached to the X bus 90 are read only memory circuits 106 which contain basic operations software for the system C and for system video operations. A serial communications port 108 is also connected to the system C via the X bus 90. Floppy and fixed disk support, a parallel port, a second serial port, and video support circuits are provided in block circuit 110.
  • In the preferred embodiment. two similar processor units P1 and P2 are located on the host bus 44. Processor unit P2 is similar to processor unit P1. with like circuits having the same reference number plus 100. The overall arbitration logic 77 is adapted for use with the two processor units P1 and P2 and arbitrates between the two processor units P1 and P2 to share the CPU arbitration location provided in the EISA specification. To allow interaction between the two processor units P1 and P2, process control logic circuits 49 and 149 are connected to the host bus 44, to their respective processor units P1 and P2, and to each other.
  • n general in this specification, a signal name having a first letter of P refers to a signal generally on the local bus 26, with a signal having a first letter of H represents that version of the signal generally on the host bus 44 and a signal having a first letter of M generally represents the version of that signal relating to the memory interface.
  • As will be set forth below, processor control logic circuit 49 responds to a maskable interrupt signal from any of: a programmable register contained in the processor control logic circuit 49 and addressable by processors P1 or P2; the Weitek WTL3167 portion of numeric coprocessor 22; or the Intel 80387 portion of numeric coprocessor 22. Processor control logic circuit 49 as its response forms an IRQ13 interrupt signal which is furnished to the integrated system peripheral 54. Integrated system peripheral 54 in response forms a processor interrupt signal which is furnished to the interrupt input of processor 20. Processor 20 in response performs an interrupt acknowledge cycle to receive an interrupt vector.
  • A vector replacement logic circuit 121 is provided and is connected to host bus 44. As will be set forth below, vector replacement logic circuit 121 responds to a maskable interrupt and determines which of processor 20 or processor 120 is currently on the host bus 44. In the event that processor 20 is detected to be operating on the bus 44, vector replacement logic circuit 121 allows the integrated system peripheral 54 to provide the interrupt vector read by the processor 20. In the alternative occurrence, namely that processor 120 is detected to be operating on the host bus 44. vector replacement logic circuit 121 inhibits the start of the next bus cycle to the integrated system peripheral 54, instead of passing a signal which is furnished by EISA bus controller 48. This prevents an interrupt vector from being placed on the bus 44 by the integrated system peripheral 54 when the processor 120 is on the host bus 44. Instead, the vector replacement logic Circuit 121 provides the interrupt vector in this instance.
  • Turning now to the details of processor control logic circuit 49 (Fig. 4), a D-type flip-flop 202 receives at a D input a signal PINT indicative of the status of a interrupt signal from a programmable register addressable by processor 20 and processor 120. Similarly, D-type flip- flop 204 and 206 receive, respectively. signals WINT and NINT of the status of interrupt signals from the Weitek WTL 3167 and Intel 80387 portions of coprocessor 22, respectively. Flip- flops 202, 204 and 206 are each clocked by a common operating clock signal CLK1 from an inverter 208. The D inputs of D-type flip-flops 202A, 204A and 206A are connected to the Q-outputs of flip- flops 202, 204 and 206, respectively. Storage buffers 202A, 204A and 206A also receive the common operating clock signal CLK1.
  • A NOR gate 210 receives at one input the Qoutput of the flip-flop 202 and at the other input the Ooutput of storage buffer 202A. In the event of the presence of the interrupt signal PINT from processor 20 at a high level, the Q output of flip-flop 202 is driven high in the next cycle of common operating clock signal CLK1, while the Qoutput of flip-flop 202A remains low. NOR gate 210 stays low until the PINT signal is removed. When the PINT signal is removed NOR gate 210 forms a high level pulse lasting one cycle of the common operating clock signal CLK1.
  • In a like manner, a NOR gate 212 is connected to the Q output of flip-flop 204 and Qoutput of flip-flop 204A to form a high level pulse lasting one cycle of common operating clock signal CLKI when the WINT interrupt signal from the Weitek WTL 3167 portion of coprocessor 22 is removed. Similarly, a NOR gate 214 is connected to the Q output of flip-flop 206 and the Qoutput of flip-flop 206A to form a high level pulse lasting one cycle of common operating clock signal CLK1 in the event of the removal of an interrupt signal CINT from the Intel 80387 portion of coprocessor 22.
  • A NOR gate 216 is connected to receive the outputs from NOR gates 210, 212 and 214 and to form an interrupt trigger signal ISTRIG" in the event of receipt of a signal from any of the NOR gates 210, 212 or 214 in response to the removal of an interrupt signal.
  • Interrupt pulse D-type flip-flops 218 and 220 receive a system reset signal RSTIS' from an inverter 221 at their respective R inputs, at which time their Öoutputs are driven high. Interrupt status flip-flops 218 and 220. as well as an interrupt status flip-flop 222 are all driven by the common operating clock signal CLK1 from the inverter 208. The Qoutput of interrupt status flip-flop 218 is an interrupt status signal IS1' which is furnished as an input to a NAND gate 224 The Q output of interrupt status flip-flop 220 is a signal IS2 which is furnished as an input to the NAND gate 224 and an AND gate 226. The Q output of interrupt status flip-flop 222 is an interrupt status signal IS3 which is an input to the NAND gate 226. A NOR gate 228 receives as its inputs interrupt status signal IS1 from the Q output of interrupt status flip-flop 218 and interrupt status signal IS2 from the Q output of interrupt status flip-flop 220.
  • When interrupt status flip-flop 218 and 220 receive the reset signal RSTIS' at their R inputs. the output of NAND gate 224 is high, permitting any interrupt trigger signal ISTRIG* received from NOR gate 216 to pass through a NAND gate 230 to a D input of the interrupt status flip-flop 220. The next clock pulse CLK1 transfers the interrupt signal ISTRIG' to the Q output of interrupt status flip-flop 220, causing the interrupt status signal lS2 to represent the status of the interrupt signal ISTRIG*. So long as interrupt status signals ISTRIG* remains high on each succeeding clock pulse CLK1, NOR gate 228 is maintained high. This maintains the Qoutput of interrupt status flip-flop 222 high and allows an interrupt output NAND gate 232 to pass any of the interrupt signals PINT from processor 20, WINT from the Weitek WTL 367 portion of coprocessor 22 and NINT from the Intel 80387 portion of coprocessor 22. These interrupt signals are received at an OR gate 234 and pass from interrupt output NAND gate 232 as an CINT* signal. The signal CINT* is inverted by an output buffer (not shown) of the processor control logic circuit 49, with the output signal representing the interrupt line IRQ13 which, as has been set forth above, is furnished from the processor control logic circuit 49 to the integrated system peripheral 54.
  • When, however, interrupt status signals ISTRIG* is driven low by a first removed interrupt signal from NOR gate 216, the interrupt status signal IS2 from interrupt status flip-flop 220 becomes high on the next clock pulse CLKI, inhibiting NAND gate 224 and NOR gate 228. This drives the output of NOR gate 228 low. This occurrence causes the Qoutput of interrupt status flip-flop 222 to go low, permitting NAND gate 230 to block any outstanding interrupt signal due to the others of PINT, WINT or CINT pending at the removal of the interrupt which triggered the state machine formed by flip-flops 218. 220 and 222 to advance. This results in the signal CINT", representing the IR013 interrupt code, which is furnished to integrated system peripheral 54 pulsing high momentarily for a period which will be recognized. Thus the interrupt pulse flip-flops 218. 220 and 222 provide pulses to the CINT- signal whenever a PINT. WINT or NINT signal is removed and another of PINT, WINT or CINT is pending, thus allowing the system to detect multiple occurrences of the shared interrupt before all the interrupt request signals are cleared.
  • The processor control logic circuit 149 contains like circuit elements and operates in response to receipt of interrupt signals from processor 120 and coprocessor 122. reset signals and clock signals in a like manner as processor control logic circuit 49 operates in conjunction with processor 20 and coprocessor 22. Processor control logic circuit 149, however, provides the output signal CINT- from its gate 232 directly to the interrupt input INTR of processor 120 (Fig. 3), rather than as the interrupt line IR013 to integrated system peripheral 54 as is the case with processor control logic circuit 49.
  • In the vector replacement logic circuit 121 (Fig. 5), an inverter 250 receives as an input signal ST2B representing status bit 2 from the integrated systems peripheral 54. Status bit 2 indicates that an interrupt acknowledge cycle is present. The output of inverter 250 is furnished as an input to an NAND gate 252 which also receives as an input an address enable signal AENB*, which is used to qualify the ST2B signal. When the AENB* signal is low, a direct memory access cycle is in progress and the ST2B signal has a different function.
  • NAND gate 252 forms an interrupt acknowledge signal INTA* on receipt of status bit 2 from integrated systems peripheral 54. The interrupt acknowledge signal INTA* is provided as an input to an NAND gate 254 of a block start circuit 256, a NOR gate 258 of an interrupt mask logic circuit 260 and an inverter 262 of a reset circuit 264.
  • In the block start logic circuit 256, the NAND gate 254 receives the signal INTA* as well as a signal LISPREG* which indicates, when low, that the .processor 120 is trying to access the interrupt controller contained in the integrated system peripheral 54. The output from NAND gate 254 is high during the active presence of the signals INTA* or LISPREG* and is furnished to a NAND gate 266. NAND gate 266 receives as a second input a signal P20N from the arbitration logic 77 indicating that the processor 120 is operating on the bus 44.
  • If this is the case, the output of NAND gate 266 is driven low. The output of the NAND gate 266 is furnished as a first input to a block start NAND gate 268. The NAND gate 268 also receives from an inverter 270 the START signal, the EISA bus cycle signal signifying the start of the next EISA bus cycle.
  • When the interrupt acknowledge signal INTA* is present at the output of NAND gate 252, the output of NAND gate 266 is driven low, inhibiting the signal START from passing through the block start NAND gate 268 and accordingly preventing the signal STARTDX* from passing to the integrated system peripheral 54. In this manner, when the second processor 120 is on the bus and a maskable interrupt signal is received, the start of the next bus cycle is inhibited or hidden from the integrated system peripheral 54, thus keeping the integrated system peripheral 54 from placing an interrupt vector on the bus. When the INTA' or LISPREG' signal are not present the START* signal is passed through the block start logic circuit 256 to the integrated system peripheral 54.
  • In the interrupt mask logic circuit 260. the NOR gate 258 receives the start signal START' as well as the interrupt acknowledge system INTA*. The status of NOR gate 258 is read into a D-type flip-flop 272 by a clock signal BCLK provided on the EISA bus 46 so that the Q output furnished as a clock signal to a D-type flip-flop 274 represents the presence of both a start signal and an interrupt acknowledge signal.
  • An AND gate 276 receives as a first input a no cycle signal NCY* from the Qoutput of flip-flop 274 and as a second input the signal P20N indicating that processor 120 is operating on the bus. The output of AND gate 276 is provided to the D input of flip-flop 274. The signal P20N is also furnished as an input to an AND gate 278. Gate 278 also receives as an input the Q output of flip-flop 274. The output of gate 278 is furnished as a D input to a D-type flip-flop 280 which receives as its clock signal the Q output of flip-flop 272.
  • An interrupt acknowledge cycle is two EISA read cycles in length. As a result the START* signal is pulsed low two times during the interrupt acknowledge cycle. The interrupt vector must be provided on the second read cycle, the second pulse of the START* signal. This is in accordance with the timing requirements of the preferred 80386 microprocessor.
  • When the INTA* signal is active, on the next rising edge of the BCLK signal during a START* signal pulse the Q output of flip-flop 274 goes high. The signal at the D input of flip-flop 280 remains low. The START' signal goes high and on the next rising edge of the BCLK signal the output of flip-flop 272 goes low. On the second START* signal pulse in the interrupt acknowledge cycle the Q output of flip-flop 272 again goes high. This clocks the high signal present at the D input of flip-flop 280 into flip-flop 280, with the Q output, the INTVEN or interrupt vector enable signal, going high. The INTVEN signal is coupled to the tri-state control input of a buffer 288 which provides the output of an 8 bit second processor interrupt vector register 290 to the XD data bus, so that the vector is provided to processor 120.
  • The second processor interrupt vector register 290 can be loaded by processor 20 by performing an 10 write operation to i 0 port address FC68h in the preferred embodiment. The inputs of the register 290 are connected to the XD data bus lines <7-0>, while the clocking input is connected to NOR gate 292. NOR gate 292 receives signals indicating that an 1,0 port write operation is occurring, IOW*, and address FC68h is present, ICFS*.
  • Flip- flops 274 and 280 of the interrupt mask logic circuit 260 have their respective S inputs, connected to a logic low level. Flip- flops 274 and 280 of interrupt mask logic circuit 260 receive reset signals at their R input terminals from the reset circuit 264. The inverted interrupt acknowledge signal INTA' output of inverter 262 is furnished as a first input to a NOR gate 282 which also receives as a second input the start signal START*. The output of the gate 282 is driven high on the next start signal START' after the interrupt acknowledge signal INTA* is removed, which passes through a D-type flip-flop 284 on the next rising edge of the BCLK signal received at its clock input. The Q output of flip-flop 284 is driven high at this time, which passes through an OR gate 286 as a reset signal to the R inputs of the shift registers 274 and 280. Alternatively, a system reset signal may be received as the other input to the OR gate 286 and furnished as a reset signal to the R outputs of flip- flop 274 and 280. Thus the flip- flops 274 and 280 are kept reset until an interrupt acknowledge cycle is pending.
  • Accordingly, it can be seen that in the computer C according to the present invention, two independently operating processors 20 and 120 share common control, data and address buses. The processor 20 is assigned when it is on the buses to respond to all maskable interrupts by causing placement of the interrupt vector on the bus at the start of the next bus cycle by means of the process control logic circuit 49. Alternatively, when the second processor 120 is on the bus and a maskable interrupt is received, the start of the next bus cycle is inhibited by the vector replacement logic circuit 121 preventing an interrupt vector from being placed on the bus.
  • The foregoing disclosure and description of the invention are illustrative and explanatory thereof, and various changes in the size, shape, materials, components, circuit elements. wiring connections and contacts, as well as in the details of the illustrated circuitry and construction may be made without departing from the spirit of the invention.
    Figure imgb0001
    Figure imgb0002
    Figure imgb0003
    Figure imgb0004
    Figure imgb0005
    Figure imgb0006
    Figure imgb0007
    Figure imgb0008
    Figure imgb0009
    Figure imgb0010
    Figure imgb0011
    Figure imgb0012
    Figure imgb0013
    Figure imgb0014
    Figure imgb0015
    Figure imgb0016
    Figure imgb0017
    Figure imgb0018
    Figure imgb0019
    Figure imgb0020
    Figure imgb0021
    Figure imgb0022
    Figure imgb0023
    Figure imgb0024
    Figure imgb0025
    Figure imgb0026
    Figure imgb0027
    Figure imgb0028
    Figure imgb0029
    Figure imgb0030
    Figure imgb0031
    Figure imgb0032
    Figure imgb0033
    Figure imgb0034
    Figure imgb0035
    Figure imgb0036
    Figure imgb0037
    Figure imgb0038
    Figure imgb0039
    Figure imgb0040
    Figure imgb0041
    Figure imgb0042
    Figure imgb0043
    Figure imgb0044
    Figure imgb0045
    Figure imgb0046
    Figure imgb0047
    Figure imgb0048
    Figure imgb0049
    Figure imgb0050
    Figure imgb0051
    Figure imgb0052
    Figure imgb0053
    Figure imgb0054
    Figure imgb0055
    Figure imgb0056
    Figure imgb0057
    Figure imgb0058
    Figure imgb0059
    Figure imgb0060
    Figure imgb0061
    Figure imgb0062
    Figure imgb0063
    Figure imgb0064
    Figure imgb0065
    Figure imgb0066
    Figure imgb0067
    Figure imgb0068
    Figure imgb0069
    Figure imgb0070
    Figure imgb0071
    Figure imgb0072
    Figure imgb0073
    Figure imgb0074
    Figure imgb0075
    Figure imgb0076
    Figure imgb0077
    Figure imgb0078
    Figure imgb0079
    Figure imgb0080
    Figure imgb0081
    Figure imgb0082
    Figure imgb0083
    Figure imgb0084
    Figure imgb0085
    Figure imgb0086
    Figure imgb0087
    Figure imgb0088
    Figure imgb0089
    Figure imgb0090
    Figure imgb0091
    Figure imgb0092
    Figure imgb0093
    Figure imgb0094
    Figure imgb0095
    Figure imgb0096
    Figure imgb0097
    Figure imgb0098
    Figure imgb0099
    Figure imgb0100
    Figure imgb0101
    Figure imgb0102
    Figure imgb0103
    Figure imgb0104
    Figure imgb0105
    Figure imgb0106
    Figure imgb0107
    Figure imgb0108
    Figure imgb0109
    Figure imgb0110
    Figure imgb0111
    Figure imgb0112
    Figure imgb0113
    Figure imgb0114
    Figure imgb0115
    Figure imgb0116
    Figure imgb0117
    Figure imgb0118
    Figure imgb0119
    Figure imgb0120
    Figure imgb0121
    Figure imgb0122
    Figure imgb0123
    Figure imgb0124
    Figure imgb0125
    Figure imgb0126
    Figure imgb0127
    Figure imgb0128
    Figure imgb0129
    Figure imgb0130
    Figure imgb0131
    Figure imgb0132
    Figure imgb0133
    Figure imgb0134
    Figure imgb0135
    Figure imgb0136
    Figure imgb0137
    Figure imgb0138
    Figure imgb0139
    Figure imgb0140
    Figure imgb0141
    Figure imgb0142
    Figure imgb0143
    Figure imgb0144
    Figure imgb0145
    Figure imgb0146
    Figure imgb0147
    Figure imgb0148
    Figure imgb0149
    Figure imgb0150
    Figure imgb0151
    Figure imgb0152
    Figure imgb0153
    Figure imgb0154
    Figure imgb0155
    Figure imgb0156
    Figure imgb0157
    Figure imgb0158
    Figure imgb0159
    Figure imgb0160
    Figure imgb0161
    Figure imgb0162
    Figure imgb0163
    Figure imgb0164
    Figure imgb0165
    Figure imgb0166
    Figure imgb0167
    Figure imgb0168
    Figure imgb0169
    Figure imgb0170
    Figure imgb0171
    Figure imgb0172
    Figure imgb0173
    Figure imgb0174
    Figure imgb0175
    Figure imgb0176
    Figure imgb0177
    Figure imgb0178
    Figure imgb0179
    Figure imgb0180
    Figure imgb0181
    Figure imgb0182
    Figure imgb0183
    Figure imgb0184
    Figure imgb0185
    Figure imgb0186
    Figure imgb0187
    Figure imgb0188
    Figure imgb0189
    Figure imgb0190
    Figure imgb0191
    Figure imgb0192
    Figure imgb0193
    Figure imgb0194
    Figure imgb0195
    Figure imgb0196
    Figure imgb0197
    Figure imgb0198
    Figure imgb0199
    Figure imgb0200
    Figure imgb0201
    Figure imgb0202
    Figure imgb0203
    Figure imgb0204
    Figure imgb0205
    Figure imgb0206
    Figure imgb0207
    Figure imgb0208
    Figure imgb0209
    Figure imgb0210
    Figure imgb0211
    Figure imgb0212
    Figure imgb0213
    Figure imgb0214
    Figure imgb0215
    Figure imgb0216
    Figure imgb0217
    Figure imgb0218
    Figure imgb0219
    Figure imgb0220
    Figure imgb0221
    Figure imgb0222
    Figure imgb0223
    Figure imgb0224
    Figure imgb0225
    Figure imgb0226
    Figure imgb0227
    Figure imgb0228
    Figure imgb0229
    Figure imgb0230
    Figure imgb0231
    Figure imgb0232
    Figure imgb0233
    Figure imgb0234
    Figure imgb0235
    Figure imgb0236
    Figure imgb0237
    Figure imgb0238
    Figure imgb0239
    Figure imgb0240
    Figure imgb0241
    Figure imgb0242
    Figure imgb0243
    Figure imgb0244
    Figure imgb0245
    Figure imgb0246
    Figure imgb0247
    Figure imgb0248
    Figure imgb0249
    Figure imgb0250
    Figure imgb0251
    Figure imgb0252
    Figure imgb0253
    Figure imgb0254
    Figure imgb0255
    Figure imgb0256
    Figure imgb0257
    Figure imgb0258
    Figure imgb0259
    Figure imgb0260
    Figure imgb0261
    Figure imgb0262
    Figure imgb0263
    Figure imgb0264
    Figure imgb0265
    Figure imgb0266
    Figure imgb0267
    Figure imgb0268
    Figure imgb0269
    Figure imgb0270
    Figure imgb0271
    Figure imgb0272
    Figure imgb0273
    Figure imgb0274
    Figure imgb0275
    Figure imgb0276
    Figure imgb0277
    Figure imgb0278
    Figure imgb0279
    Figure imgb0280
    Figure imgb0281
    Figure imgb0282
    Figure imgb0283
    Figure imgb0284
    Figure imgb0285
    Figure imgb0286
    Figure imgb0287
    Figure imgb0288
    Figure imgb0289
    Figure imgb0290
    Figure imgb0291
    Figure imgb0292
    Figure imgb0293
    Figure imgb0294
    Figure imgb0295
    Figure imgb0296
    Figure imgb0297
    Figure imgb0298
    Figure imgb0299
    Figure imgb0300
    Figure imgb0301
    Figure imgb0302
    Figure imgb0303
    Figure imgb0304
    Figure imgb0305
    Figure imgb0306
    Figure imgb0307
    Figure imgb0308
    Figure imgb0309
    Figure imgb0310
    Figure imgb0311
    Figure imgb0312
    Figure imgb0313
    Figure imgb0314
    Figure imgb0315
    Figure imgb0316
    Figure imgb0317
    Figure imgb0318
    Figure imgb0319
    Figure imgb0320
    Figure imgb0321
    Figure imgb0322
    Figure imgb0323
    Figure imgb0324
    Figure imgb0325
    Figure imgb0326
    Figure imgb0327
    Figure imgb0328
    Figure imgb0329
    Figure imgb0330
    Figure imgb0331
    Figure imgb0332
    Figure imgb0333
    Figure imgb0334
    Figure imgb0335
    Figure imgb0336
    Figure imgb0337
    Figure imgb0338
    Figure imgb0339
    Figure imgb0340
    Figure imgb0341
    Figure imgb0342
    Figure imgb0343
    Figure imgb0344
    Figure imgb0345
    Figure imgb0346
    Figure imgb0347
    Figure imgb0348
    Figure imgb0349
    Figure imgb0350
    Figure imgb0351
    Figure imgb0352
    Figure imgb0353
    Figure imgb0354
    Figure imgb0355
    Figure imgb0356
    Figure imgb0357
    Figure imgb0358
    Figure imgb0359
    Figure imgb0360
    Figure imgb0361
    Figure imgb0362
    Figure imgb0363
    Figure imgb0364
    Figure imgb0365
    Figure imgb0366
    Figure imgb0367
    Figure imgb0368
    Figure imgb0369
    Figure imgb0370
    Figure imgb0371
    Figure imgb0372
    Figure imgb0373
    Figure imgb0374
    Figure imgb0375
    Figure imgb0376
    Figure imgb0377
    Figure imgb0378
    Figure imgb0379
    Figure imgb0380
    Figure imgb0381
    Figure imgb0382
    Figure imgb0383
    Figure imgb0384
    Figure imgb0385
    Figure imgb0386
    Figure imgb0387
    Figure imgb0388
    Figure imgb0389
    Figure imgb0390
    Figure imgb0391
    Figure imgb0392
    Figure imgb0393
    Figure imgb0394
    Figure imgb0395
    Figure imgb0396
    Figure imgb0397
    Figure imgb0398
    Figure imgb0399
    Figure imgb0400
    Figure imgb0401
    Figure imgb0402
    Figure imgb0403
    Figure imgb0404
    Figure imgb0405
    Figure imgb0406
    Figure imgb0407
    Figure imgb0408
    Figure imgb0409
    Figure imgb0410
    Figure imgb0411
    Figure imgb0412
    Figure imgb0413
    Figure imgb0414
    Figure imgb0415
    Figure imgb0416
    Figure imgb0417
    Figure imgb0418
    Figure imgb0419
    Figure imgb0420
    Figure imgb0421
    Figure imgb0422
    Figure imgb0423
    Figure imgb0424
    Figure imgb0425
    Figure imgb0426
    Figure imgb0427
    Figure imgb0428
    Figure imgb0429
    Figure imgb0430
    Figure imgb0431
    Figure imgb0432
    Figure imgb0433
    Figure imgb0434
    Figure imgb0435

Claims (18)

  1. Claims
  2. 1. An interrupt control system for a multiprocessor having two independently operating processors sharing busses, comprising:
    means responsive to an interrupt for causing a first of the microprocessors to place an interrupt vector on the bus when the first microprocessor is on the buses;
    means for inhibiting the start of the next bus cycle in response to the interrupt when the second microprocessor is on the buses.
  3. 2. The interrupt control system of claim 1, wherein said means responsive to an interrupt compnses: processor control logic circuit means for responding to a maskable interrupt.
  4. 3. The interrupt control system of claim 1, wherein said means responsive to an interrupt compnses: first processor control logic circuit means with a first of the processors for responding to a maskable interrupt.
  5. 4. The interrupt control system of claim 3, wherein said first processor control logic circuit means comprises:
    means forming an interrupt signal in response to a maskable interrupt.
  6. 5. The interrupt control system of claim 4, wherein the multiprocessor includes an integrated system peripheral, and wherein said first processor control logic circuit includes:
    means furnishing the interrupt signal to the integrated system peripheral.
  7. 6. The interrupt control system of claim 3, wherein said means responsive to an interrupt signal comprises:
    second processor control logic circuit means with a second of the processors for responding to a maskable interrupt.
  8. 7. The interrupt control system of claim 6, wherein said second processor control logic circuit means comprises:
    means forming an interrupt signal in response to a maskable interrupt.
  9. 8. The interrupt control system of claim 7, wherein said second processor control logic circuit includes:
    means furnishing the interrupt signal to an interrupt input of the second processor.
  10. 9. The interrupt control system of claim 2, wherein the processors are capable of addressing each other and wherein said processor control logic circuit means comprises:
    processor control logic circuit means for responding to a maskable interrupt from either of the processors.
  11. 10. The interrupt control system of claim 2, wherein at least one coprocessor is associated with the processors and wherein said processor control logic circuit means comprises:
    processor control logic circuit means for responding to a maskable interrupt from the coprocessor.
  12. 11. The interrupt control system of claim 1, wherein said means for inhibiting comprises:
    vector replacement logic means for inhibiting the second microprocessor.
  13. 12. The interrupt control system of claim 11, wherein said vector replacement logic comprises: means for sensing a maskable interrupt.
  14. 13. The interrupt control system of claim 12. wherein said means for inhibiting comprises: means for sensing which of the processors is on the bus when the maskable interrupt is sensed.
  15. 14. The interrupt control system of claim 13. wherein the multiprocessor includes an integrated system peripheral which forms interrupt vectors and is associated with the processors, and wherein said vector replacement logic comprises:
    means for permitting passage of an interrupt vector when the first processor is on the bus when the maskable interrupt is sensed.
  16. 15. The interrupt control system of claim 14, wherein said vector replacement logic comprises: means for inhibiting start of the next bus cycle of the integrated system peripheral when the second processor is on the bus when the maskable interrupt is sensed.
  17. 16. The interrupt control system of claim 14, wherein said vector replacement logic comprises: interrupt mask logic means providing the interrupt vector when the second processor is on the bus when the maskable interrupt is sensed.
  18. 17. The interrupt control system of claim 16, further including:
    means for resetting said interrupt mask logic means.
EP19900120909 1989-11-03 1990-10-31 Multiprocessor interrupt control Ceased EP0431312A3 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US43165889A 1989-11-03 1989-11-03
US431658 1989-11-03

Publications (2)

Publication Number Publication Date
EP0431312A2 true EP0431312A2 (en) 1991-06-12
EP0431312A3 EP0431312A3 (en) 1991-12-11

Family

ID=23712888

Family Applications (1)

Application Number Title Priority Date Filing Date
EP19900120909 Ceased EP0431312A3 (en) 1989-11-03 1990-10-31 Multiprocessor interrupt control

Country Status (2)

Country Link
EP (1) EP0431312A3 (en)
CA (1) CA2026770A1 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0125797A1 (en) * 1983-04-13 1984-11-21 THE GENERAL ELECTRIC COMPANY, p.l.c. Interrupt signal handling apparatus
US4504906A (en) * 1982-11-30 1985-03-12 Anritsu Electric Company Limited Multiprocessor system
EP0192944A2 (en) * 1985-02-28 1986-09-03 International Business Machines Corporation Data processing system with a main processor and a co-processor sharing the same resources

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4504906A (en) * 1982-11-30 1985-03-12 Anritsu Electric Company Limited Multiprocessor system
EP0125797A1 (en) * 1983-04-13 1984-11-21 THE GENERAL ELECTRIC COMPANY, p.l.c. Interrupt signal handling apparatus
EP0192944A2 (en) * 1985-02-28 1986-09-03 International Business Machines Corporation Data processing system with a main processor and a co-processor sharing the same resources

Also Published As

Publication number Publication date
EP0431312A3 (en) 1991-12-11
CA2026770A1 (en) 1991-05-04

Similar Documents

Publication Publication Date Title
EP0426413B1 (en) Multiprocessor arbitration in single processor arbitration schemes
US5437042A (en) Arrangement of DMA, interrupt and timer functions to implement symmetrical processing in a multiprocessor computer system
US5446910A (en) Interrupt controller with automatic distribution of interrupts for a multiple processor computer system
US5668971A (en) Posted disk read operations performed by signalling a disk read complete to the system prior to completion of data transfer
US5717954A (en) Locked exchange FIFO
US5016167A (en) Resource contention deadlock detection and prevention
US5535341A (en) Apparatus and method for determining the status of data buffers in a bridge between two buses during a flush operation
EP0886225B1 (en) Microprocessor architecture capable of supporting multiple heterogenous processors
US5067071A (en) Multiprocessor computer system employing a plurality of tightly coupled processors with interrupt vector bus
US5613075A (en) Method and apparatus for providing deterministic read access to main memory in a computer system
US5367689A (en) Apparatus for strictly ordered input/output operations for interrupt system integrity
US6275885B1 (en) System and method for maintaining ownership of a processor bus while sending a programmed number of snoop cycles to the processor cache
US5737604A (en) Method and apparatus for independently resetting processors and cache controllers in multiple processor systems
US4698753A (en) Multiprocessor interface device
US6920516B2 (en) Anti-starvation interrupt protocol
US5588125A (en) Method and apparatus for increasing bus bandwidth on a system bus by inhibiting interrupts while posted I/O write operations are pending
US6463529B1 (en) Processor based system with system wide reset and partial system reset capabilities
EP0450233A2 (en) Bus access for digital computer system
EP0795157B1 (en) Bridge between two buses
US5539917A (en) Computer system having circuitry interfacing a DMA controller directly with a parallel port having specific timing control to allow printing operation without microprocessor intervention
EP0147599A2 (en) Data processing system including a main processor and a co-processor and co-processor error handling logic
JPH0782479B2 (en) Error detection, separation and recovery equipment
US5884054A (en) Multiprocessor system including interprocessor encoding and decoding logic for communication between two cards through reduced addressing lines
EP0493960A2 (en) A computer system employing fast buffer copying
US5247685A (en) Interrupt handling in an asymmetric multiprocessor computer system

Legal Events

Date Code Title Description
PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

AK Designated contracting states

Kind code of ref document: A2

Designated state(s): DE FR GB IT NL

PUAL Search report despatched

Free format text: ORIGINAL CODE: 0009013

AK Designated contracting states

Kind code of ref document: A3

Designated state(s): DE FR GB IT NL

17P Request for examination filed

Effective date: 19920521

17Q First examination report despatched

Effective date: 19941021

GRAG Despatch of communication of intention to grant

Free format text: ORIGINAL CODE: EPIDOS AGRA

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE APPLICATION HAS BEEN REFUSED

18R Application refused

Effective date: 19980226