DATA PROCESSING SYSTEM INCLUDING A PLURALITY OF MULTIPROCESSOR SYSTEMS

Abstract: A data processor system includes a plurality of multi­ processor systems, and each multiprocessor system is connected through each memory control unit of each multiprocessor system. The multiprocessor system compris­ es a memory control unit, at least one central processing unit, at least one channel control unit, and at least one main memory unit. The central processing unit, channel control unit, and main memory unit are connected to the memory control unit via interface lines. The memory control unit (MCU0, MCU1) comprises at least two pipelines (PL1, PL11) and at least two access selecting circuits (S1, S2 ; S11, S12). One pipe-line (PL1) is used for access requests to the main memory unit belonging to the memory control unit, and the other pipe-line (PL11) is used for access requests to another main memory unit belonging to another memory control unit.

Description: BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a data processor system, more particuarly, to a multiprocessor system used in the data processor system. 2. Description of the Related Art As is well known, the data processor system used in a computer system is constituted by a plurality of multiprocessor systems, each of which comprises a plurality of central processing units, channel control units and main memory units, and a memory control unit. The central processing units and the channel control units are connected to the main memory units through the memory control unit by interface lines. For instance, a processor intercommunication system in which each station uses a protocol link mechanism for governing transmissions among each other is disclosed in patent US 4 363 093. Also, a memory access sharing system for two or more independently operating memory units is disclosed in patent FR 2 119 187. In the conventional data processor system, when improving the data throughput, only the number of central processing units connected to the memory control unit is increased for processing a large amount of data in the multiprocessor system. However, the number of central processing units that can be connected to the memory control unit is limited, for reasons concerning mass productivity and system expansion at a customer's office. SUMMARY OF THE INVENTION The primary object of the present invention is to provide a data processor system constituted by a plurality of multiprocessor systems. Another object of the present invention is to provide a multiprocessor system having a reduced interface hardware, such as connectors and cables, and enabling a high density construction. Another object of the present invention is to provide a multiprocessor system enabling an improved data throughput of the system. Still another object of the present invention is to provide a multiprocessor system enabling an effective and high speed access control for mutual data transmission. In accordance with the present invention, there is provided a data processor system including a plurality of multiprocessor systems, each multiprocessor system being comprised of a memory control unit, at least one main memory unit, and at least one processor characterized in that each multiprocessor system is directly connected to each other multiprocessor system via respective memory control units thereof through interface lines serving for data transmission, and in that said processor(s) and main memory unit(s) of each multiprocessor are mutually interconnected via their respective memory control unit, through interface lines serving for data transmission. When the central processing unit requests access to the main memory unit in the first multiprocessor system for reading out the data stored in the main memory unit, first, an access request signal generated by the central processing unit is transmitted to the memory control unit, second, the memory control unit accesses the main memory unit, third, the main memory unit reads out and transmits the data to the memory control unit, and fourth, the memory control unit transmits the data to the central processing unit. When the same central processing unit in the first multiprocessor system requests access to the main memory unit in the second multiprocessor system for reading out the data stored in the main memory unit, first, an access request signal generated by the central processing unit is transmitted to the memory control unit in the first multiprocessor system, second, the memory control unit in the first multiprocessor system accesses the memory control unit in the second multiprocessor system, third, the memory control unit accesses the main memory unit in the second multiprocessor system, fourth, the main memory unit reads out and transmits the data to the memory control unit, fifth, the memory control unit transmits the data to the memory control unit in the first multiprocessor system, and sixth, the memory control unit transmits the data to the central processing unit in the first multiprocessor system. The memory control unit comprises a first pipe-line for controlling access request signals for the main memory unit connected to the memory control unit belonging to the first pipe-line, a second pipe-line for controlling access request signals for another main memory unit belonging to another memory control unit, a first access selecting circuit for selecting an access request signal as to whether it is to access the main memory unit belonging to the first access selecting circuit or to another main memory unit belonging to another memory control unit, and a second access selecting circuit for selecting an access request signal to another main memory unit belonging to another memory control unit. There is also provided a method for processing data in a memory control unit provided in a multiprocessor system, this method comprising the steps of: selecting access request signals generated by a central processing unit on the basis of whether they are either for a main memory unit belonging to said central processing unit or for a main memory unit belonging to another memory control unit of another multiprocessor system, directly transmitting a selected access request signal to said another memory control unit when it is to access a main memory unit belonging to said another memory control unit and processing both access request signals transmitted from said central processing unit and said another memory control unit based on the priority ranking of the requests. Thus, in accordance with the structure and method of the present invention, it is possible to improve access control routes in the memory control unit, thereby improving data throughput in the data processor system. BRIEF DESCRIPTION OF THE DRAWINGS In the drawings: Fig. 1A is a schematic block diagram of a conventional data processor system constituted by two multiprocessor systems; Figs. 1B to 1C are schematic block diagrams of a data processor system according to the present invention; Fig. 2 is a basic block diagram of a memory control unit explaining the present invention; Fig. 3 is a basic partial schematic block diagram of a memory control unit explaining the present invention; Fig. 4 is a basic representation of an address converter explaining the present invention; Fig. 5 is a schematic block diagram of a memory control unit according to one embodiment of the present invention; Fig. 6 is a schematic block diagram of a memory control unit according to another embodiment of the present invention; Fig. 7 is a partial schematic block diagram of a memory control unit according to still another embodiment of the present invention; and Fig. 8 is a schematic representation explaining an address converter shown in Fig. 7. DESCRIPTION OF THE PREFERRED EMBODIMENTS Before describing the preferred embodiments, an explanation will be given of the conventional data processor system shown in Fig. 1A. In Fig. 1A, although a data processor system is generally constituted by a plurality of multiprocessor systems, the data processor system of this example is constituted by two multiprocessor systems i.e., a first multiprocessor system 1 and a second multiprocessor system 2, to facilitate explanation of the prior art. The first multiprocessor system 1 comprises a central processing unit CPU0, a channel control unit CHPO, two main memory units MSU0 and MSU1, and a memory control unit MCU0. The second multiprocessor system 2 comprises the same construction as the first multiprocessor system 1. As is obvious from the drawing, each CPU is connected to the MCU0 and MCU1, and each CHP is also connected to the MCU0 and MCU1. Moreover, each MCU is connected to the MSU's i.e., MSU0 to MSU3 inclusive. These connections in the multiprocessor system have the advantage of providing general access to the MSU's, since each CPU can access any MSU through any MCU. Accordingly, when one MCU is out of order, another MCU can be used instead of the MCU that is out of order. However, it is necessary to provide an interface port per each unit, and thus the number of interface lines and interface ports are increased, and all hardware for the interface ports necessarily becomes larger. Moreover, it is necessary to provide a connector per each interface line, so that the space factor of the integrated circuit becomes more complicated. A data processor system according to the present invention will be explained below. In Fig. 1B, the first multiprocessor system 1 comprises a central processing unit CPU0, a channel control unit CHP0, two main memory units MSU0 and MSU1, and a memory control unit MCU0. The difference between the system shown in Fig. 1A and that in Fig. 1B is the method used for connection to the second multiprocessor system. In Fig. 1C, the first multiprocessor system comprises two central processing units CPU0 and CPU1, two main memory units MSU0 and MSU1, and a memory control unit MCU0. As is obvious from the drawings, the second multiprocessor system has the same construction as the first system. Before describing the preferred embodiments, an explanation will be given of the basic memory control unit shown in Figs. 2 to 4 by refering to Figs. 1B to 1C. In Figs. 1B to 1C, the basic processing procedure is performed by the following steps. When the CPU0 requests access to the MSU0 in the first system 1 for reading out the data stored in the MSU0 (called a "fetch request"), first, an access request signal generated by the CPU0 is tansmitted to the MCU0, second, the MCU0 accesses the MSU0, third, the MSU0 reads out and transmits the data to the MCU0, and fourth , the MCU0 transmits the data to the CPU0. Meanwhile, when the same central processing unit CPU0 requests access to the MSU2 in the second system 2 for reading out the data stored in the MSU2 (also a "fetch request"), first, an access request signal generated by the CPU0 is transmitted to the MCU0, second, the MCU0 accesses the MCU1, third, the MCU1 accesses the MSU2, fourth, the MSU2 reads out and transmits the data to the MCU1, fifth, the MCU1 transmits the data to the MCU0, and sixth, the MCU0 transmits the data to the CPU0. When the CPU0 requests access to the MSU0 for reading out and transmitting the data stored in the MSU0 to the CHP0, an access request signal generated by the CPU0 is transmitted to the MCU0, the MCU0 accesses the MSU0, the MSU reads out and transmits the data to the MCU0, and the MCU0 transmits the data to the CHP0 as shown in Fig. 1B. As can be understood from the drawings, interface lines connected between the CPU and the MCU, between the MCU and the MSU, between the MCU of the first system and the MCU of the second system, and between the MCU and the CHP shown in Figs. 1B and 1C, are reduced compared to the interface lines shown in Fig. 1A. Accordingly, connections between systems as shown in Figs. 1B and 1C are used in the data processor system according to the present invention. In Fig. 2, P represents a port, S an access selecting circuit (selector), PL a pipe-line, and DC a control unit. Numerals 1, 2 ... are suffixed P, S, PL, and DC to distinguish each component. The MCU0 and MCU1 are controlled by a so-called pipe-line control. The processing procedure of the MCU is explained below. 1. An access request signal generated by the CPU0 is transmitted to the port (functions as an interface resister) P1 in the MCU0; 2. The received access request signal is selected by the selector (remote MCU priority circuit) S2 which selects the access request signal to be transmitted to the MCU1, and the selected access request signal is transmitted to the MCU1 via the port P6. The MCU0 and the MCU1 are connected with a plurality of interface lines, and thus the access signal is transmitted to the port P13 in the MCU1; 3. The received access request signal is selected by the selector (MCU priority circuit) S11 which selects the access request signal to be transmitted to the MSU2, the selected access request signal is transmitted to the port P14 and the PL11, and to the MSU2 via the port P14. The MSU2 then reads out the data based on the access request signal and transmits the read data to the selector S13; 4. At the same time, the access request signal is transmitted to the port P4 in the MCU0 via the port P14, and the MCU0 recognizes that the MSU2 has been accessed by the MCU1. The selector S1 receives the access request signal of the port P4 with a first priority, and transmits the access request signal to the PL1. This access signal is stored in the PL1 while waiting for the data to be transmitted from the MSU2. Although the data read out by the MSU2 is transmitted to the selector S13, the timing of the reading out has been recognized based on the access request signal stored in the PL11, and the PL11 commands the selector S13 to select the data read out of the MSU2 via the DC2. The selected read out data is transmitted to the port P8 in the MCU0 via the port p18; 5. Meanwhile, since the timing of the reading out has been recognized based on the access request signal stored in the pL1, the PL1 commands the selector S4 to select the data of the port P8 via the DC1; 6. The read out data selected by the selector S4 from the MSU2 is transmitted to the CPU0 via the port P9. As explained above, in the processing procedures, the MCU0 uses the pipe-line PL1 for processing not only the data in the first system, but also the data from the MCU1 to the CPU0, and the MCU1 uses the pipe-line PL11 for processing not only the data in the first system, but also the data from the MSU2 to the MCU0. This means that the PL1 and the PL11 are used for transmitting the access request signal and the data to the multiprocessor system of the other side. Since the PL1 is used for the first system 1 and the second system 2, if the first priority access request signal transmitted from the second system 2 has been already received at the PL1, the other access request signal to be accessed to, for example, the MSU0 belonging to the first system 1, must be held by the selector S1. Accordingly, the access request signal to be accessed independently without influence by the other access request signal transmitted from the other system is nevertheless influenced by the other system, so that the access request signal in the selector must be held for a time, and this results in a reduced data throughput in the data processor system. Another drawback of this system, which only employs MCU's having additional interface between the other MCU's, is explained briefly with respect to Figs. 3 and 4. In Fig. 3, ADCNV represents an address converter which converts a real address to a physical address. As explained in Fig. 2, when the CPU0 requests access to the MSU2 in the second system 2, the access request signal generated by the CPU0 is selected by the selector S0 via the port P1. The selected access request signal indicating the real address is converted to the physical address by the ADCNV0. Since the converted address (physical address) indicates the address itself in the MSU2, the converted address is transmitted to the selector (remote access selecting circuit) RS0, and transmitted to the port P13 in the MCU1. The converted address is selected by the selector S13 and converted by the ADCNV1 (already converted by the ADCNV0, but passed by the ADCNV1). The converted address is transmitted to the MSU2 via the port P15. If the access request signal indicates a "fetch request", i.e., reading out the data from the MSU2, the MSU2 reads out and transmits the read out data to the CPU0 via the MCU1 and MCU0. In this processing procedure, both the access request signals generated by the CPU0 and the CPU2 are transmitted to the selector S0, and after selection by the selector S0 based on the first priority is carried out, the selected access request signal is converted to the physical address. Whether the selected access signal has access to the MSU in the first system 1 or the MSU in the second system, is recognized at this step. Accordingly if the access request signal accesses the MSU in the second system, the access signal is selected by the selector S0 before conversion by the ADCNV0, so that there are ineffective access request signal routes in the system, and this results in a reduced data throughput in the data processor system. In Fig. 4, the real address RA is transmitted to the selector Sa, and the selector Sa selects the corresponding physical address from the registers RI to RN. The problems to found in this conversion are explained in detail with respect to Fig. 8. A multiprocessor system used in a data processor system acccording to an embodiment of the present invention will now be described. As can be understood from Fig. 5, a new pipe-line PL2 is added to the first multiprocessor system and a new PL12 is added to the second multiprocessor system at the first embodiment of the present invention. These pipe-lines PL2 and PL12 are used for access control of the other multiprocessor systems. With these pipe-lines, new selectors S4 and S14, new ports P9 and P19 are added to each system. Reference numerals 3 to 8 indicate interface lines. The processing procedure of these memory control units is explained in detail below. When the CPU0 requests access to the MSU2 in the second system, 1. An access request signal generated by the CPU0 is transmitted to the port (functions as an interface register) P1 in the MCU0; 2. A received access request signal is selected by a selector S2 which selects an access request signal to be transmitted to the MCU1 and transmits the selected access request signal to the MCU1 via the port P6. The selected access request signal is received by the port P13 in the MCU1; 3. In the MCU1, the received access request signal is selected by a selector S11 which selects the access request signal to be transmitted to the MSU2 and the selected access request signal is transmitted to the PL11 and to the MSU2 via the port P14. Moreover, the selected access request signal is transmitted to the PL2 in the MCU0 via the port P14 and the port P4. By this access request signal, the MCU0 recognizes that the MCU2 has been accessed by the MCU1; 4. This access request signal stored in the PL2 has been held while waiting for the data transmitted from the MSU2 in the second system. The MSU2 reads out and transmits the data to the selector S13 based on the selected access request signal transmitted from the port P14. At the same time the access request signal stored in the PL11 is transmitted to the selector 13 to select the read out data of the MSU2 via the DC2; 5. The selected read out data is transmitted to the port P8 in the MCU0 via the port P18; 6. Meanwhile, the access request signal waited in the PL2 is transmitted to the DC1 to select the data of the port P8. The read out data selected by the selector S4a from the MSU2 is transmitted to the CPU0 via the port P9a. As explained above, in the processing procedure, since the MCU0 comprises the pipe-line PL2 for processing the data transmitted from the other system, and the MCU1 comprises the pipe-line PL12 for processing the data transmitted from another system, each MCU no longer suffers from interference by the access request signal transmitted from the other system, and the access request signal to be accessed to, for example, the MSU in one system need not be held in the selector. Accordingly, the access request signal to be accessed independently without influence by the other access request signal transmitted from the other system is no longer influenced by the other system, so that the previously necessary holding time of the access request signal in the selector can be eliminated, resulting in an improved data throughput in the data processor system. In this embodiment, although there are two memory control units used to facilitate the explanation, it is possible to connect a plurality of multiprocessor system (n) through each memory control unit in the data processor system. In this case, the pipe-lines are provided in the multiprocessor system with one pipe-line for the first system, and pipe-lines for the other systems. In Fig. 6, the discriminating circuits are added to the multiprocessor system. In this embodiment, the discriminating circuits D1 and D2 are added to the first multiprocessor system in Fig. 5 and D11 and D12 are added to the second multiprocessor system in Fig. 5. In the MCU0, the discriminating circuits D1 and D2 are used for discriminating the access request signal transmitted from the CPU0 or CHP0 to determine whether the access request signal belongs to the MCU0 or to the MCU1, and for transmitting the discriminated access request signal to the selector S1 or the S2 after the discrimination. Moreover, the D1 and D2 process the synchronous transmission based on the access request signal to all systems and data transfer based on the access request signal to the CHP as the access request signal to the first system, and transmit the selected access request signal to the selector S1. As explained in Fig. 5, the selector (MSU priority circuit) S1 funcions as an MCU priority circuit per se, and judges the priority of the access request signal transmitted from the CPU0, CHP0 and the other system to the CPU0, CHP0, MSU0 and MSU1 in the first system. The selected access request signal is transmitted to the PL1 and the port P5. Also, as explained in Fig. 5, the selector S2 functions as a remote MCU priority circuit, and judges the priority of the access request signals transmitted from the CPU0 and the CHP0 to the second system. The selected access request signal is transmitted to the MCU1 via the port P6. The procedures that follow are the same procedures as explained in Fig. 5. Meanwhile, when the CPU0 synchronously transmits the data to the CHP0 and the CHP1, 1. The access request signal generated by the CPU0 is transmitted to the port P1; 2. The received access request signal is judged by the discriminating circuit D1 as a transmission to the MCU0 and transmitted to the selector S1. The access signal selected by the S1 with the first priority is transmitted to the PL1 and transmitted to the PL12 in the MCU1 via the port P5 and the port P6; 3. The data transmission to the CHP0 is used for the data in the address pipe-line based on the control of the PL1; 4. The data transmission to the CHP1 is used for the data in the address pipe-line based on the control of the PL12. Accordingly, the data transfer based on the access request to the CHP1 is performed without respect to the remote MCU priority circuit S2 and its own MCU priority circuit S11, so that the access request time can be reduced between the MCU0 and the MCU1. In Fig. 7, as explained in Fig. 3, ADCNV represents an address converter which converts a real address to a physical address. In this enbodiment, as can be understood from the drawing, the ADCNV is located at a previous stage of the access selecting circuit (selector) different to that of the ADCNV shown in Fig. 3. In Fig. 8, the ADCNV is basically constituted by a plurality of registers R1 to Rn and selectors Sb and Sc. The number of registers R1 to Rn provided corresponds to the number of memory chips. Each register is constituted by the physical address indicating the physical address in the memory chip and a valid bit V indicating whether it is a valid physical address or an invalid physical address. The access request signals RA0 and RA1 having the real address are transmitted to the selector Sb and the selector Sc. The corresponding register is selected by the most significant bit of the access request signal, and the physical addresses PA0 and PA1 stored in the register are read out through the selectors Sb and Sc. The number of the selectors is determined by the corresponding number of the real addresses. The processing procedures of this embodiment are explained in detail with respect to Figs. 7 and 8. When the CPUO requests access to the MSU2, the access request signal generated by the CPU is transmitted to the port P1' and converted to the physical address by the ADCNV0; the converted access signal is transmitted to the port P1 and selected by the remote access selecting circuit RS0; the selected access request signal is transmitted to the access selecting circuit S1 in the MCUS via the port P7' and the port P13; the selected access request signal is transmitted to the MSU2 via the port 15; and the MSU2 reads out and transmits the data to the CPU0 via the MCU1 and the MCU0. Accordingly, if the access request signal accesses the MSU in the second system, the access request signal is previously selected by the ADCNV, so that effective access request signal routes are provided in the system and this results in an improved data throughput in the data processer system.

Claims: A data processor system including a plurality of multiprocessor systems (1, 2), each multiprocessor system being comprised of a memory control unit (MCU), at least one main memory unit (MSU), and at least one processor (CPU; CHP), characterized in that each multiprocessor system is directly connected to each other multiprocessor system via respective memory control units (MCU) thereof through interface lines serving for data tansmission, and in that said processor(s) and main memory units of each multiprocessor system are mutually interconnected via their respective memory control unit through interface lines serving for data transmission. A multiprocessor system as claimed in claim 1, characterized in that said memory control unit (MCU) comprises a first pipe-line (PL1, PL11) for controlling access request signals for the main memory unit (MSU0) connected to the memory control unit (MCU0), a second pipe-line (PL2; PL12) for controlling access request signals for another main memory unit (MSU1) connected to another memory control unit (MCU1), a first access selecting circuit (S1; S11) for selecting an access request signal as to whether it is to access either a main memory unit belonging to said memory control unit to which the first selecting circuit belongs or another main memory unit belonging to another memory control unit, and a second access selecting circuit (S2; S12) for selecting an access request signal from a processor controlled by said memory control unit (MCU) and sending said access request signal specifically to another main memory unit belonging to another memory control unit. A multiprocessor system as claimed in claim 2, characterized in that said second pipe-line (PL2; PL11) is provided in the same number as the number of memory control units (MCU). A multiprocessor system as claimed in claim 2, characterized in that said second access selecting circuit (S2; S12) is provided in the same number as the number of memory control units and belongs to each memory control unit (MCU). A multiprocessor system as claimed in claim 2, characterized in that said first access selecting circuit (S1; S11) is provided in the same number as the number of main memory units (MSU) belonging to the memory control unit (MCU) and belongs to each main memory unit. A multiprocessor system as claimed in claim 2, characterized in that said memory control unit (MCU) further comprises an address converter (ADCNV) for converting a real address generated by a central processing unit (CPU) to a physical address and is connected to said central processing unit and a channel control unit (CHP) at a previous stage of said first and second access selecting circuits (S1, S11; S2, S12). A multiprocessor system as claimed in claim 2, characterized in that said memory control unit (MCU) further comprises a discriminating circuit (D1, D2) for discriminating access request signals for synchronous data transmission to another multiprocessor system. A method for processing data in a memory control unit provided in a multiprocessor system (1,2), said method comprising the steps of: selecting access request signals generated by a central processing unit (CPU) on the basis of whether they are either for a main memory unit (MSU) belonging to said central processing unit (CPU) or for a main memory unit belonging to another memory control unit of another multiprocessor system, directly transmitting a selected access request signal to said another memory control unit when it is to access a main memory unit belonging to said another memory control unit, and processing both access request signals transmitted from said central processing unit and said another memory control unit based on the priority ranking of the requests. A method as claimed in claim 8, characterized in that said memory control unit operates synchronously with said another memory control unit.

Inventors: NISHIDA, HIDEHIKO
Applicants: FUJITSU LIMITED
Application year: 1984
Main classification: G06F15
IPC codes: G06F13