Interrupt controller for a multiprocessor computer system

Abstract: This multiprocessor circuit has interruption restriction circuits (21-24) connected between the interruption line (1) for inputting interruption signals and each of CPUs (11-14) connected in parallel with the interruption line (1) to restrict the input of interruption signals to each CPU under certain conditions. This interruption restriction circuit (21-24) counts the number of interruption signals received by each CPU during a specified period set at the timer using a counter means (32). When the count for a CPU exceeds the predetermined value, the multiprocessor circuit causes the input disabling means (33,34,40) to disable the input of interruption signals to that CPU for a certain period of time and thereby distributes the interruption signals to a plurality of CPUs almost equally.

Description: This invention relates to a multiprocessor circuit having a plurality of CPUs, and particularly to a multiprocessor circuit intended for the improvement of the throughput by controlling the input of interruption signals to each CPU. A conventional multiprocessor circuit having a plurality of CPUs has its CPUs connected in parallel in relation to an interruption signal line for inputting interruption signals. It receives interruption signals input from the interruption line with one of the CPUs for processing. In such a multiprocessor circuit with the configuration described above, there is no clear rule for the distribution of interruption signals among CPUs. Therefore, a particular CPU sometimes receives an extremely large number of interruption signals and is placed under much heavier load than others. This prolongs the processing time of such a CPU and results in a lower throughput of the whole multiprocessor circuit. In Patent Abstracts of Japan, Vol. 12, No. 93 (P-680) [2940] dated March 26 1988, and in the specification of Japanese patent application number 61-70447, which was published under 62-226249 on October 5 1987, there was proposed a system including a central processing unit having a monitor task program which monitored an interruption produced by an input/output device via an input/output control and a replacement task program which added 1 to an interruption frequency register area of a memory every time that an interruption was produced. The program compared the allowed interruption occurring frequency registered with an allowable value register area with the interruption occurring frequency registered to the register area at the prescribed time intervals registered to a prescribed time register area of the memory. If the latter occurring frequency was higher than the former one, the input/output device was separated from the system to prevent the occurrence of interruptions. A feature of an arrangement to be described below, as an example, is that it distributes the interruption signals equally to all of the CPUs. In other words, the interruption signals are not concentrated at a particular CPU, thereby improving the throughput of the whole multiprocessor circuit. A multiprocessor circuit which will be described below by way of example, in illustration of the invention has a plurality of CPUs connected in parallel in relation to an interruption line for inputting interruption signals, and interruption restriction circuits connected between the interruption line and each CPU. The interruption restriction circuit disables the input of the interruption signals to the corresponding CPU for a certain period of time when that CPU has received more interruption signals than are specified during a predetermined time period. In one particular embodiment to be described below and illustrative of the invention, the interruption restriction circuit includes a counter to count the number of interruption signals received by the corresponding CPU, a timer to keep time for the counting by the counter, and an input disabling means to prohibit the input of the interruption signals to the corresponding CPU for a certain period of time. In yet another embodiment illustrative of the invention to be described below, the input disabling means includes a delay circuit to hold the input of the interruption signals from the interruption line for a certain period of time, and a switching circuit to switch the connection from the above interruption line to the above delay circuit when the value counted by the above counter means exceeds the specified value. These delay and switching circuits may be replaced by a keying circuit to turn on and off the input from the interruption line. In a further arrangement, illustrative of the invention and to be described below, the interruption restriction circuit includes a counter to count the number of the interruption signals received by the corresponding CPU, an input disabling means to disable the input of the interruption signals to the particular CPU for a certain period of time when the value counted by the counter reaches a predetermined value and a timer to keep the time for the counting by the counter and of the disabling by the input disabling means. Yet another arrangement, illustrative of the invention and to be described below by way of example, includes a plurality of CPUs connected in parallel in relation to the interruption line for inputting the interruption signals, and interruption restriction circuits connected between the interruption line and each of the CPUs. The interruption restriction circuit includes a counter to count the number of the interruption signals received by each CPU, a timer to keep the time for the counting by the counter, and an input disabling means to disable the input of the interruption signals to the applicable CPU for a certain period of time, the input disabling means being provided with a switching circuit to switch the connection from the interruption line directly to the CPU, or to the delay circuit to hold the input of the interruption signals for a certain period of time. The switching circuit is designed to switch the connection from the interruption line to the delay circuit when the value given by the counter exceeds a fixed number. The following description and drawings disclose, by means of examples, the invention which is characterised in the appended claims, whose terms determine the extent of the protection conferred hereby. In the drawings:- Fig. 1 is a block schematic circuit diagram showing the configuration of a multiprocessor circuit, Fig. 2 is a block schematic circuit diagram showing the internal configuration of an interruption restriction circuit for use in the multiprocessor circuit of Fig.1, Fig. 3 is a flowchart showing the operation of the interruption restriction circuit of Fig. 2, Fig. 4 is a timing chart illustrating the reception of the interruption signals by each CPU in the multiprocessor circuit of Fig. 1, Fig. 5 shows waveforms illustrating the timing of the signals in the interruption restriction circuit, and Fig. 6 is a block schematic circuit diagram showing the internal configuration of an interruption restriction circuit of another multiprocessor circuit. Referring to the drawings, Fig. 1 shows the configuration of a multiprocessor circuit of a first embodiment illustrative of the invention. In Fig. 1, the multiprocessor circuit in this embodiment has four CPUs (Central Processing Units) 11 to 14 connected in parallel with the interruption line 1 for inputting interruption signals and interruption restriction circuits 21 to 24 connected to the input sides of the CPUs 11 to 14. Fig. 2 shows the configuration of these interruption restriction circuits 21 to 24. Since the interruption restriction circuits 21 to 24 have the same configuration, the interruption restriction circuit 21 is illustrated here as a representative. The interruption restriction circuit 21 has a counter 31 to count the number of received interruption signals, a timer 32 to keep time for counting by the counter 3, a switching circuit 33 to switch the connection according to the counting result at the counter 31 and a delay circuit 34 to hold the input of interruption signals for a certain period of time. The switching circuit 33 may be connected to CPU 11 via a signal line 36 or a delay circuit 34. The switching circuit 33 selects either of the signal line 36 or the delay circuit 34 to input the interruption signals to CPU 11 via the signal line 36 or to the delay circuit 34 and then CPU 11. The counter 31 is given a certain count value and activates the switching circuit 33 when the value counted by the counter 31 exceeds that value. Further, the timer 32 is in advance given time for counting by the counter 31 and delay time for the delay circuit 34. Next, referring to the flowchart of Fig. 3 and timing charts of Figs. 4 and 5, operation of the multiprocessor circuit with above configuration is described below. Suppose here that the counter 31 of the interruption restriction circuits 21 to 24 has "16" as the count value and the timer 32 is given "A ms" as the time to be kept, and the interruption signals are input through the interruption line 1 as shown in Fig. 4. The delay time set at the delay circuit 34 is the same as the time kept by the timer 32 (A ms). When interruption signals are input through the signal line 1 and distributed to the CPUs 11 to 14, the counter 31 at each of the interruption restriction circuits 21 to 24 recognizes the input of interruption signals (Step 301) and counts the interruption signals received by the CPUs 11 to 14 (Step 302). Then, the counter 31 judges whether the corresponding CPU has received more than 16 (predetermined value) interruption signals in a specified period of A ms (Steps 303 and 304). If a value more than 16 is obtained from the counting above, that is, any of the CPUs has received more than 16 interruption signals, the switching circuit 33 of the interruption restriction circuit 21, 22, 23 or 24 corresponding to that CPU switches the connection to the delay circuit 34 to activate the delay circuit 34 (Step 305). As a result, during the delay time (A ms) set at the delay circuit 34, any interruption signals are not sent to the applicable CPU. During this delay time, the interruption signals are received by other CPUs. In Fig. 4, CPU 11 counts 17 interruption signals during the first A ms. In this case, as shown in Fig. 5, the switching circuit 33 operates at the rising of the 17th interruption signal and at the same time the delay circuit 34 is activated. This causes the interruption restriction mask to operate for delay time of A ms so as to prevent interruption signals from being received by CPU 11 and distribute the interruption signals to other CPUs 12 to 14. Figures in parentheses in Fig. 4 indicate the number of interruption signals received by the CPUs 11 to 14 in A ms. When the delay time set at the delay circuit 34 elapses (Step 306), the switching circuit 33 cancels holding by the delay circuit 34 and switches the connection to the signal line 36 (Step 307). The counter 31 is reset (Step 308) here. If the value counted by the counter 31 does not exceed 16 in A ms at the Steps 303 and 304, the operation proceeds to Step 308, where the counter 31 of the applicable interruption restriction circuit 21 is reset. As shown above, when the number of interruption signals received by a particular CPU exceeds a fixed value, a multiprocessor circuit of the present invention restricts the reception of interruption signals by that CPU for a certain time period, causing other CPUs to receive the interruption signals. Thus, interruption signals are distributed practically equally to a plurality of CPUs. This prevents concentration of interruption signals to a particular CPU and, in turn, too long processing time at one CPU. As a result, the throughput of the whole multiprocessor circuit can be improved. The time A ms set at the timer 32 can be changed freely. The number of interruption signals acceptable during that time can be also arbitrarily set. Fig. 6 shows the configuration of the interruption restriction circuits 21 to 24 used in a multiprocessor circuit according to a second embodiment of the present invention. In this embodiment, the multiprocessor circuit is provided with a keying circuit 40 to turn on and off the input of interruption signals instead of the switching circuit 33 and the delay circuit 34 in Fig. 2. Other devices including the counter 31 and the timer 32 are the same as the first embodiment. The keying circuit 40 is usually turned on to connect the interruption line 1 to CPUs 11 to 14. When the counter 31 counts more than the specified value, the keying circuit 40 turns off the input of interruption signals from the interruption line 1. The duration of this disabling of interruption signal input is controlled by the timer 32. When the specified disabling time passes, the keying circuit 40 turns on again. While the input of the interruption signals is disabled by the keying circuit 40, the interruption signals are received by other CPUs as in the above embodiment. It is needless to say that various modifications can be made to the above embodiments. For example, the time set at the timer 32 and the delay time set at the delay circuit 34 are the same (A ms) in the above embodiment, but they can be different from each other. Thus it will be understood that, although the invention has been illustrated by reference to particular embodiments, by way of example, variations and modifications thereof, as well as other embodiments may be made within the scope of the protection sought by the appended claims.

Claims: A multiprocessor circuit including a plurality of CPUs (11-14) connected in parallel with an interruption line (1) for the input of interruption signals, a plurality of interruption restriction circuits (21-24), one of the interruption restriction circuits (21-24) being connected between the interruption line (1) and a corresponding one of each of the plurality of CPUs (11-14), and the interruption restriction circuits (21-24) each being capable of disabling the input of the interruption signals to the corresponding one of the CPUs (11-14) for a certain period of time when the number of interruption signals received by that CPU in a specified time exceeds a fixed number. A multiprocessor circuit as claimed in claim 1, wherein the interruption restriction circuit (21-14) includes a counter (31) for counting the number of interruption signals received by the CPU (11-14), a timer (32) for keeping the time for counting by the counter (31), and an input disabling means (33,34) for disabling the input of interruption signals to the CPU (11-14) for a certain period of time when the number counted by the counter (31) exceeds a fixed number. A multiprocessor circuit as claimed in claim 2, wherein the input disabling means (33,34) includes a delay circuit (34) to delay the input of the interruption signals from the interruption line (1) for a certain period of time, and a switching circuit (33) to switch the connection from the interruption line (1) to the delay circuit (34) when the value counted by the counter (31) exceeds a fixed value. A multiprocessor circuit as claimed in claim 1, wherein the interruption restriction circuit (21-24) includes a counter (31) for counting the number of the interruption signals received by the CPU (11-14), an input disabling means (33,34,40) for disabling the input of the interruption signals to the CPU (11-14) for a certain period of time when the number counted by the counter (31) exceeds a fixed number, and a timer (32) for keeping the time for counting by the counter (31) and for disabling by the input disabling means (33,34). A multiprocessor circuit as claimed in claim 4, wherein the input disabling means includes a keying circuit (40) to turn the input from the interruption line (1) on and off. A multiprocessor circuit as claimed in claim 4, wherein the input disabling means (33,34,40) includes a delay circuit (34) to delay the input of the interruption signals from the interruption line (1) for a certain period of time, and a switching circuit (33) to switch the connection from the interruption line (1) to the delay circuit (34) when the value counted by the counter (31) exceeds a fixed value.

Inventors: KURIHARA NOBUMASA C O NEC CORP, KURIHARA, NOBUMASA, C/O NEC CORPORATION
Applicants: NIPPON ELECTRIC CO, NEC CORPORATION
Application year: 1992
Main classification: G06F13
IPC codes: G06F9, G06F15, G06F13