PIPELINE CONTROL SYSTEM

Abstract: The processing modules (1,2,3) are provided with interrupt control circuits (21,22,23). When one processing module (2) transfers the data to a queue (5) while the data already present in the queue (5) still remains untransferred, an interrupt start signal is sent to an interrupt control circuit (23) of the processing module (3) of the next stage. Depending upon the interrupt signal from the control circuit (23), the processing module (3) of the next stage reads the data already present in the queue (5) and the processing module (3) of the next stage reads the data already present in the queue (5) and the first processing module (2) transfers the data to the queue (5).

Description: The present invention relates to a pipeline type control system having processing modules and queues connected in series, and more particularly to such a control system which includes interrupt control circuits added to respective processing modules for improving the processing speed which would otherwise be lowered due to the difference in processing times of the modules. An example of a widely known pipeline type control system, for processing a large amount of data at a high speed, is shown in block form in FIG. 3 of the accompanying drawings. Denoted in FIG. 3 at 1, 2, and 3 are processing modules for processing data, each composed of a processor and a memory of small capacity, 4 and 5 are buffer memories called queues normally comprising FIFO (first-in-first-out) devices, 11 and 13 are data full signals for confirming whether the data in the queues 4, 5 are transferred to the next processing modules or not, and 12 and 14 are data confirmation signals for confirming whether required data have been transferred to and stored in the queues 4, 5 when the next processing modules 2, 3 read the data. Input data are processed by the three processing modules 1, 2, and 3 and then delivered out as output data. Such a data flow is illustrated in FIG. 4 of the accompanying drawings. Rectangular frames in FIG. 4 indicate processing of the data in the respective processing modules. The solid lines represent transfer of the data from the processing modules 1, 2, and 3, and the dotted lines indicate reading of the data by the processing modules 1, 2, and 3. The operation of the system is carried out such that the processing modules have equal shares in data processing. If the processing modules process the data at equal speeds, then the entire processing operation of the system will be effected smoothly. However, as shown in FIG. 4, when the processing module B2 has completed its Bn-th processing cycle and attempts to transfer processed data to the queue 5, and if the processing module C3 is effecting, but has not yet completed its Cn-th processing cycle, the processed data in the queue B5 is not transferred to the processing module C3, and hence the processing module B2 cannot transfer its processed data to the queue B5. Therefore, the processing module B2 has to wait until the processing cycle in the processing module C3 is finished and the processing operation of the processing module B2 is interrupted. Thus, if the processing time of one processing module is too long, processed data in the preceding processing module cannot be transferred to that one processing module, and the preceding processing module has to stop its processing operation. A system of this general type is shown in JP-A-57-182837 which includes means for controlling the input to and output of data from the queues to avoid input and output occuring together. It is an object of the present invention to provide a pipeline control system including interrupt control circuits added respectively to processing modules for improving processing speed which would otherwise be lowered due to the difference between different processing times of the processing modules. In order to eliminate the aforesaid problems, there is provided in accordance with a first aspect of the present invention, a pipeline type control system comprising: a plurality of processing modules and queues connected in series, each processing module having an internal memory for holding data for or after processing, characterised by interrupt control circuits connected to respective processing modules; and means for applying an interrupt request signal to the interrupt control circuit connected to one of the processing modules to apply an interrupt signal to that processing module to read data into its internal memory from a queue preceding that processing module if the preceding processing module attempts to transfer data to the queue and data in the queue has not yet been read by the one processing module. According to a second aspect of the invention, there is provided a pipeline type control system comprising: a plurality of processing modules and queues connected in series, each processing module having an internal memory for holding data for or after processing, characterised by interrupt control circuits connected to respective processing modules; and output means for applying an interrupt start signal to the interrupt control circuit of one of the processing modules to apply an interrupt signal to that processing module to transfer processed data from an internal memory thereof to a queue following that processing module if the next following processing module attempts to read data from the queue and no data is stored in the queue. One example of a 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 an embodiment of the present invention; FIG. 2 is a timing chart of the embodiment of the invention; FIG. 3 is a block diagram of a conventional pipeline type control system; and FIG. 4 is a timing chart of the conventional control system. Denoted in FIG. 1 are processing modules 1,2,3 for processing data, each composed of a processor and a memory of small capacity, buffer memories 4,5 called queues and normally comprising FIFO (first-in-first-out) devices, data full signals 11,13 for confirming whether the data in the queues 4, 5 are transferred to the next processing modules or not, and data confirmation signals 12,14 for confirming whether required data have been transferred to and stored in the queues 4, 5 when the next processing modules 2,3 read the data. Designated at 18a through 18d are transfer request signals. Interrupt control circuits 21,22,23 are provided for interrupting the processing modules 1 through 3 in response to signals from the queues A4, B5, and AND gates 24,25,27 for gating the signals from the queues 4,5 with an enable signal E. Operation of the pipe line control system will be described. FIG. 2 is a timing chart of the embodiment shown in FIG. 1. The symbols and their meanings in FIG. 2 are the same as those of FIG. 4. That is, rectangular frames indicate processing of the data in the respective processing modules, the solid lines represent transfer of the data to the queues, and the dotted lines indicate transfer (read-in) of new data to the processing modules. It is assumed, by way of example, that the processing module 82 has completed its Bn-th processing cycle and attempts to transfer processed data to the queue B5 at a point P, but the processing module C3 is still effecting its Cn-th processing cycle, and previous data remains in the queue B5. The queue B5 now issues a transfer request signal which is sent through the gate 27 to the interrupt control circuit C23, which then interrupts the processing module C3. The processing module C3 interrupts the Cn-th processing cycle, and reads in the data from the queue B5. Upon completion of the data reading operation, the data full signal 13 is turned off, and the processing module B2 starts transferring the processed data to the queue B5 for next processing operation. The processing module C3 then effects the remaining portion of the Cn-th processing cycle. As described above, the interrupt control circuit operates to enable the next following processing module, even if it is still executing a processing cycle, to read in data upon an interrupt, so that the preceding processing module can transfer its processed data. Accordingly, the entire system is prevented from being lowered in its processing speed. Likewise, when the processing cycle in the processing module C is finished early, data is not yet transferred to the queue B5, and hence the data transfer confirmation signal 14 is off. If, however, there is processed data in an internal memory of the processing module B2, transfer of that processed data can be requested. More specifically, the queue B5 issues a transfer request signal which is applied via the gate 26 to the interrupt control circuit B22, which then interrupts the processing module B2. The processing module B2 now transfers its processed data from the internal memory to the queue B5. After the data has been transferred, the data confirmation signal 14 is turned on to enable the processing module C3 to read in the data from the queue B5. Although the relationship between the processing modules B2, C3 has been described above, the relationship between the processing modules A1, B2 is the same as described above. The same circuit arrangement can be applied where the number of processing modules is increased. When an interrupt inhibit condition between the processing modules is met, the enable signal E is set to a logic "0" level to inhibit any interrupt operation between these processing modules. With the present invention, as described above, even if the next following processing module is processing data, it may be interrupted by the interrupt control circuit to transfer data from the queue to that processing module, so that data can be transferred from the preceding processing module. Consequently, the entire processing speed of the system can be improved or is prevented from being lowered without interrupting the processing cycle of the preceding processing module. When the processing cycle in the next following processing module is finished early, the preceding processing module may be interrupted to transfer processed data from the internal memory of the preceding processing module for thereby preventing the processing speed of the next following processing module from being lowered.

Claims: A pipeline type control system comprising: a plurality of processing modules (1-3) and queues (4,5) connected in series, each processing module having an internal memory for holding data for or after processing, characterised by interrupt control circuits (21-23) connected to respective processing modules; and means for applying an interrupt request signal (18) to the interrupt control circuit connected to one of the processing modules (2) to apply an interrupt signal (16) to that processing module to read data into its internal memory from a queue (4) preceding that processing module if the preceding processing module (1) attempts to transfer data to the queue (4) and data in the queue has not yet been read by the one processing module (2). A pipeline type control system comprising: a plurality of processing modules (1-3) and queues (4,5) connected in series, each processing module having an internal memory for holding data for or after processing, characterised by interrupt control circuits (21-23) connected to respective processing modules; and output means (18) for applying an interrupt start signal (18) to the interrupt control circuit (12) of one of the processing modules to apply an interrupt signal (17) to that processing module (2) to transfer processed data from an internal memory thereof to a queue (5) following that processing module if the next following processing module (3) attempts to read data from the queue (5) and no data is stored in the queue. A pipeline type control system according to claim 1 and claim 2.

Inventors: KINOSHITA, JIRO
Applicants: FANUC LTD.
Application year: 1987
Main classification: G06F9
IPC codes: G06F9, G06F5