INTERRUPT CONTROL METHOD IN A MULTIPROCESSOR SYSTEM

Abstract: The system consists of an interface circuit (10), a number of processors (21,31,41) and a bus (4). Each processor has a CPU (21,31,41), a selection circuit (22,32,42) a decoder (23,33,43) and a register (24,34,44) which stores mask bits corresponding to address spaces (Addr 1, Addr 2, Addr 3) used as interrupt addresses. On receipt of an interrupt signal (IS1, IS2, IS3), a bus cycle generating circuit (11,12,13) indicates its own cause of interrupt by writing a bit to the address space. Each processor decodes the received address bits and compares them with the mask bits so as to recognise its own interrupt.

Description: The present invention relates to an interrupt control method for a multiprocessor system and, more particularly, to a method which enables each processor to recognize an interrupt without using a special interrupt control line. As systems employing processors become more and more sophisticated and complex, systems have been developed in which a plurality of processors is used in a single system. In such a multiprocessor system, the processors are interconnected by a bus, each processor requiring a special dedicated line for interrupts. The more the number of CPUs used, the more such special interrupt lines are needed, resulting in increased hardware and especially lowered system flexibility. In GB-A-2 110 442 a system is disclosed in which interrupts are generated by writing data onto the data bus addressed to the particular processor which is to be interrupted, an interrupt message generated in one processor, being transmitted to another processor in the form of data on the data bus. This results in the interrupt processing not executing until the interrupt message is read by the respective CPU. In contrast to this method, not only is the system bus occupied by the bus cycle generator circuit in the interface circuit, but also, the interrupt processing requires the use of both the address bus and the data bus in order that interrupt processing can be executed immediately, without delay. In JP-A-57-041 727, although the interrupt information is fed to the address/data line of a common bus, the interrupt control line is still used so that the respective processor recognises the interrupt. JP-A-61-059 565 discloses the feature that an interrupt message is transmitted with an identification code of an input/output device which delivered the interrupt request. It is an object of the present invention to provide an interrupt control method for a multiprocessor system, which will solve the aforesaid problems and does not use any dedicated line and provides a higher degree of flexibility. According to the invention, the above problems can be solved by an interrupt control method for a multiprocessor system in which a plurality of processors and an interface circuit for causing interrupts are connected to a system bus having an address bus and a data bus, the method comprising the steps of: using a particular address space as an interrupt address; selecting a mask bit corresponding to the address space in each processor; storing the mask bit in a register in the processor; allowing a bus cycle generator circuit in the interface circuit to occupy the bus in response to an interrupt signal; writing a bit indicative of an interrupt cause and corresponding to the address space into the address bus; writing a data bit for selection in recognizing the interrupt into the data bus; and enabling the processor to recognize an interrupt from the address bus bit corresponding to the address space, the mask bit stored in the register and the data bit. Thus, when an interrupt is caused, the bus cycle generator circuit in the interface writes data into the address bit corresponding to the interrupt cause. Since the address space is defined as an interrupt address, the processor recognizes an interrupt, compares the address with the mask bit stored in the processor register and recognizes the interrupt as an interrupt applied to itself. Therefore, no special hardware control line for interrupts is required and the interrupt is executed without delay. The invention also includes an interrupt control system for a multiprocessor system, comprising: a bus for transmitting various data, the bus comprising a data bus, an address bus, and a control bus; a plurality of processor boards coupled to the bus, each of the processor boards including: a microprocessor for executing processing an interrupt; a mask bit register outputting a first interrupt address allocated to the microprocessor; an address decoder, coupled to the address bus, for decoding first and second address bit data to generate a second interrupt address; and a selector circuit, coupled to the bus, the address decoder, the mask bit register and the microprocessor, for comparing the first interrupt address with the second interrupt address to detect whether an interrupt bit data has been output to the data bus; an interface circuit, coupled to the bus and to each of the processor boards, for receiving an external interrupt signal, the interface circuit including interrupt control circuits, the number of interrupt control circuits corresponding to the number of processor boards, the interrupt control circuits obtaining the right to use and occupy the bus upon receipt of the external interrupt signal and outputting to the data bus interrupt bit data indicating that the cause of the interrupt is an external interrupt, and at the same time, outputting to the address bus the address bit data in accordance with the external interrupt signal. One example of a method and system according to the present invention will now be described with reference to the accompanying drawings, in which:- FIG. 1 is a block diagram of the example; and FIG. 2 is a detailed block diagram of an interrupt control circuit. An interface circuit 10 for receiving an external interrupt signal has control circuits 11, 12, 13 for receiving respective interrupt signals IS1, IS2, IS3. A processor board 20 has therein a CPU1 21, a selector circuit (SC) 22, a decoder circuit 23, and a mask bit register 24. The decoder circuit 23 decodes an address bus input, compares it with the data stored in the mask bit register 24, and recognizes whether there is an interrupt applied to the processor 20. Processor boards 30, 40 are identical in structure to the processor board 20, and have respective CPU2 31, CPU3 41, selector circuits 32, 42, decoder circuits 33, 43, and mask bit registers 34, 44. The interface circuit 10 and the processors 20, 30, 40 are interconnected by a bus 4 comprising address buses, data buses, and commands such as READ, WRITE. Operation will now be described below. Addresses Addr1, Addr2, Addr3 in the entire address space are allotted to an interrupt. When an external interrupt signal Is2 is applied to the interrupt control circuit (IC2) 12, the interrupt control circuit 12 occupies the buses, and writes bit data Addr 2 corresponding to the interrupt signal IS2 into the address bus, and simultaneously writes "1" into a D0 bit in the data bus. The processor board 20 reads in the address bus, decodes it, and compares this bit data with the data in the mask bit register 24. The processor board 20 then recognizes the interrupt signal applied thereto by confirming that the D0 bit of the data bus is "1", and the CPU1 21 starts executing an interrupt program. The data stored in the mask bit register 24 is: 0, 1, 0 which correspond to three addresses Addr1, Addr2, Addr3. The data of the mask bit register 24 represents which interrupt signal is directed to which processor, and can be modified in a program. In FIG. 1, the data items of the mask bit registers 24, 34, 44 are determined such that the interrupt signal IS1 causes an interrupt with respect to the processor 30, the interrupt signal IS2 causes an interrupt with respect to the processor 20, and the interrupt signal IS3 causes an interrupt with respect to the processor 40. The interrupt control circuit 11 will hereinafter be described in detail. FIG. 2 shows in detailed block form the interrupt control circuit (IC1) 11. The interrupt control circuit includes a negative-going-edge detector circuit 1 for detecting a negative-going edge of an interrupt signal, a bus cycle generator circuit 2 for controlling the bus in response to an interrupt, and request use of the bus 4 in response to a detected signal 6 from the negative-going-edge detector circuit 1. When the request is accepted, a signal AC (Aknowledge) at a terminal e of the bus cycle generator circuit 2 becomes active, allowing the bus cycle generator circuit 2 to occupy the bus 4. When the bus 4 is occupied by the bus cycle generator circuit 2, the bus cycle generator circuit 2 issues an address which is predetermined with respect to the interrupt signal to the address bus. In the illustrated embodiment, a 24-bit address Addr1 is issued for the interrupt signal IS1. At the same time, the bus cycle generator circuit 2 issues a signal via a terminal c to a bus driver 3 which in turn writes "0" into the D0 bit of the data bus. The interrupt signal is expressed here as *IS1 since it is represented as a reverse signal. When there is an interrupt, the interrupt signal becomes "0". Therefore, "0" is written into the D0 bit of the data bus. The address has been described as being of 24 bits. However, the present invention is also applicable to any desired address space. Though the D0 bit has been used as the data bit, it can be determined as desired which bit is to be employed. Moreover, it is possible to expand the interrupt signals to many interrupt signals by combining addresses and data buses. With the present invention, as described above, no special hardware line is used for interrupts, but an address space is allotted to interrupts. Therefore, the number of interrupt signals can be increased as desired without requiring special hardware and by combining addresses and data buses. A processor allotted to an interrupt can be varied as desired by rewriting an interrupt mask bit register with a program.

Claims: An interrupt control method for a multiprocessor system in which a plurality of processors (20,30,40) and an interface circuit (10) for causing interrupts are connected to a system bus (4) having an address bus and a data bus, the method comprising the steps of: using a particular address space (Addr1,Addr2,Addr3) as an interrupt address; selecting a mask bit corresponding to said address space in each processor; storing said mask bit in a register (24,34,44) in said processor; allowing a bus cycle generator circuit (2) in said interface circuit to occupy the bus in response to an interrupt signal (IS1,IS2,IS3); writing a bit indicative of an interrupt cause and corresponding to said address space into the address bus; writing a data bit for selection in recognizing the interrupt into the data bus; and enabling said processor to recognize an interrupt from the address bus bit corresponding to said address space, the mask bit stored in said register and said data bit. A method according to claim 1, wherein said register for storing the interrupt mask bit is rewritten by a program. A method according to claim 1 or claim 2, wherein said bus cycle generator circuit occupies said bus in response to a negative-going edge of an interrupt signal (IS1,IS2,IS3). An interrupt control system for a multiprocessor system, comprising: a bus (4) for transmitting various data, said bus comprising a data bus, an address bus, and a control bus; a plurality of processor boards (20,30,40) coupled to said bus, each of said processor boards including: a microprocessor (21,31,41) for executing processing an interrupt; a mask bit register (24,34,44) outputting a first interrupt address allocated to said microprocessor; an address decoder (23,33,43), coupled to said address bus, for decoding first and second address bit data to generate a second interrupt address; and a selector circuit (22,32,42), coupled to said bus, said address decoder, said mask bit register and said microprocessor, for comparing said first interrupt address with said second interrupt address to detect whether an interrupt bit data has been output to said data bus; an interface circuit (10), coupled to said bus and to each of said processor boards, for receiving an external interrupt signal, said interface circuit including interrupt control circuits (IC1,IC2,IC3), the number of interrupt control circuits corresponding to the number of processor boards, said interrupt control circuits obtaining the right to use and occupy said bus upon receipt of said external interrupt signal and outputting to said data bus interrupt bit data indicating that the cause of the interrupt is an external interrupt, and at the same time, outputting to said address bus the address bit data in accordance with said external interrupt signal. A system according to claim 4, wherein the interrupt control circuits include a bus cycle generator circuit for occupying the bus in response to receipt of the negative-going edge of an interrupt signal (IS1,IS2,IS3).

Inventors: KINOSHITA, JIRO 252, SHIMOTSURUMA, YONEKURA, MIKIO KEIO TAKAO MANSION 1103
Applicants: FANUC LTD.
Application year: 1987
Main classification: G06F15
IPC codes: G06F15, G06F13