WO2004046954A1 - Processor module and information processor - Google Patents

Processor module and information processor Download PDF

Info

Publication number
WO2004046954A1
WO2004046954A1 PCT/JP2002/012188 JP0212188W WO2004046954A1 WO 2004046954 A1 WO2004046954 A1 WO 2004046954A1 JP 0212188 W JP0212188 W JP 0212188W WO 2004046954 A1 WO2004046954 A1 WO 2004046954A1
Authority
WO
WIPO (PCT)
Prior art keywords
cpu
processor
control circuit
resources
processors
Prior art date
Application number
PCT/JP2002/012188
Other languages
French (fr)
Japanese (ja)
Inventor
Tomoki Yonehana
Katsunori Takeshita
Original Assignee
Fujitsu Limited
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 Fujitsu Limited filed Critical Fujitsu Limited
Priority to JP2004553132A priority Critical patent/JPWO2004046954A1/en
Priority to PCT/JP2002/012188 priority patent/WO2004046954A1/en
Publication of WO2004046954A1 publication Critical patent/WO2004046954A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals

Definitions

  • the present invention relates to a processor module and an information processing device, and more particularly to a processor module and an information processing device having a plurality of processors such as a CPU.
  • a processor module and an information processing device having a plurality of processors such as a CPU.
  • an information processing device having a plurality of CPUs is called a multiple processor system (hereinafter, also referred to as a multi processor (MP) system).
  • MP multi processor
  • a CMP (Chip Multi Processor) structure that replaces the SMP (Symietric Multi Processor) structure has begun to be adopted.
  • the present invention relates to a further improvement in applicability in a multiprocessor system having a CMP structure.
  • FIG. 1 is a basic conceptual diagram of a multiprocessor system adopting the SMP structure
  • FIG. 2 is a basic conceptual diagram of a multiprocessor system adopting the CMP structure.
  • substantially the same parts as those in FIG. 1 are denoted by the same reference numerals, and description thereof will be omitted.
  • a plurality of CPUs 1-1 to 1-N are directly connected to the main memory 3, the input / output device (1/0) 4, etc. 2 to use the capacity of each CPU 1-1 to 1-N equally.
  • a plurality of processor modules 11-1 to 11-M having the same configuration are connected to a path 2 that is connected to the main memory 3 or 1/04.
  • Semiconductor substrate of each processor module 1 1 _ 1 to 11-M On the top, a plurality of CPUs 12-1 to 12-N and a common unit 13 are mounted. In one processor module 11, all the CPUs 12-1 to 12 -N in the processor module 11 share the common unit 13. Therefore, the common unit 13 guarantees coherency, and each of them is directly connected to the path 2 connecting with the main memory 3 and 1/04.
  • the CMP structure it is possible to reduce the problems that occur when the number of CPUs increases, unlike the SMP structure.
  • the performance of individual CPUs is lower than that of the SMP structure that implements one CPU using the same level of technology.
  • a CMP structure is used to improve the processing speed when processing is performed by one high-performance CPU rather than many CPUs, such as scientific and technological calculations that require high-speed arithmetic processing.
  • the resulting multiprocessor system has lower performance than the multiprocessor system that uses the SMP structure, and narrows the applicability of the multiprocessor system that uses the CMP structure.
  • Examples of the use of information processing include, for example, emphasizing the parallel processing characteristics of a multiprocessor system rather than increasing the speed of a single CPU such as a database, so that processing can be performed quickly and smoothly. There are uses. On the other hand, for example, in scientific computing, there are applications where high-speed processing can be realized by increasing the functionality of individual CPUs rather than parallel processing of many CPUs. These are in a trade-off relationship and it is difficult to satisfy both requirements simultaneously.
  • the present invention solves the above-mentioned problems, and provides a new and novel processor module and information. It is a general purpose to provide an information processing device.
  • a more specific object of the present invention is to provide an information processing apparatus employing a CMP structure, in which one processor uses the computational resources of another processor in a single processor module to operate at a higher speed than a single processor.
  • the purpose of this is to satisfy simultaneously the demand for multi-parallel processing that performs complex processing and the demand for high-speed processing by a single processor.
  • Still another object of the present invention is an information processing apparatus in which a plurality of processor modules are connected via a bus, wherein each processor module is connected to a plurality of processors and is commonly connected to the plurality of processors.
  • a common unit connected to the path, each processor has a control circuit and resources in one processor module, and a control circuit in each processor controls a control circuit of one or more other processors
  • Another object of the present invention is to provide an information processor 3 characterized by utilizing at least a part of the resources in the one or more other processors in addition to the resources in the processor. 3 ⁇ 4 ⁇ to do.
  • one processor uses one processor and uses the computational resources of another processor as compared with a single processor.
  • the demand for multi-parallel processing for high-speed processing and the demand for high-speed processing by a single processor can be satisfied simultaneously.
  • FIG. 1 is a basic conceptual diagram of a multiprocessor system that employs the SMP structure.
  • FIG. 2 is a basic conceptual diagram of a multiprocessor system employing a CMP structure.
  • FIG. 3 is a diagram for explaining the principle of operation of the present invention, in which the resource of the CPU of the information processing device is a storage unit such as a cache memory.
  • FIG. 4 is a diagram for explaining the operation principle of the present invention in the case where the resource of the CPU of the information processing apparatus is an arithmetic unit such as an arithmetic unit.
  • FIG. 5 is a block diagram showing a main part of the first embodiment of the information processing device 3 according to the present invention.
  • FIG. 6 is a block diagram showing a main part of a second embodiment of the information processing apparatus according to the present invention.
  • FIG. 7 is a front view for explaining a cache switching operation in the first and second embodiments.
  • FIG. 8 is a flowchart for explaining the cache switching operation in the first and second embodiments.
  • FIG. 9 is a block diagram showing a main part of a third embodiment of the information processing apparatus according to the present invention.
  • FIG. 10 is a block diagram showing a main part of a fourth embodiment of the information processing apparatus according to the present invention.
  • FIG. 11 is a flowchart for explaining the operation unit switching operation in the third and fourth embodiments.
  • FIG. 12 is a flowchart for explaining the operation: switching operation in the third and fourth embodiments.
  • the information processing apparatus employs a CMP structure, and separates resources (resources) individually owned by each CPU in one processor module, and a part of resources of another CPU. It has a configuration that can be used as.
  • FIG. 3 shows a case where the resource of the CPU for the information processing device is a storage unit such as a cache memory
  • FIG. 4 shows that the resource of the CPU of the information processing device is a calculation unit such as a calculator.
  • the resources are not limited to the storage unit and the operation unit, but may be any resources that can be shared between CPUs.
  • FIGS. 3 and 4 substantially the same parts as those in FIG. 2 are denoted by the same reference numerals, and description thereof will be omitted.
  • the basic configuration of each processor module is the same as that shown in FIG. 2, but the configuration of each CPU is different from that shown in FIG.
  • Fig. 3 (a) shows a state where each CPU uses its own resources
  • Fig. 3 (b) shows a state where one CPU uses at least a part of the resources of the other CPU. Is shown.
  • the processor module 11 includes two CPUs 12-1 and 12-2 and the common unit 13, and the power S and the number of CPUs are not limited to two.
  • Each of the CPUs 12-1 and 12-2 includes a control circuit 21 and a cache memory 22.
  • the control circuit 21 is provided to control a cache memory 22 which is a resource of the CPU 12 to which the control circuit 21 belongs, and operates when the CPU 12 provides the cache memory 22 to another CPU 12.
  • the two CPUs 12-1 and 12-2 use the respective cache memories 22 and exchange data with the common unit 13 as the two CPUs 12-1 and 12-2. I do.
  • the cache memory 22 of the CPU 12-2 is changed to the CPU 12_1, and the cache memory 22 of the CPU 12-2 can be used by the CPU 12-1.
  • the control circuit 22 in the CPU 12-1 operates the control circuit 22 in the CPU 12-2 which controls the cache memory 22 of the CPU 12-2, and stores the cache memory 22 of the CPU 12_2 in the cache memory inside the CPU 12-1. Used as a single cache memory together with memory 22.
  • the control circuit 21 of the CPU 12-2 manages the exchange of data between the CPU 12-1 and the outside, and the CPU 12-1 stops the exchange of data with the outside. As a result, data processing is shared between the CPUs 12-1 and 12-2, and the speed of the CPUs 12-1 and 12-2 can be increased.
  • Fig. 4 (a) shows that each CPU uses its own resources
  • Fig. 4 (b) shows that one CPU uses at least a part of the resources of the other CPU.
  • the CPUs 12-1 and 12-2 comprise a control circuit 21 (not shown) and an arithmetic unit 23, respectively.
  • the control circuit 21 is provided to control a computing unit 23 which is a resource of the CPU 12 to which the control circuit 21 belongs, and the CPU 12 transmits the computing unit 23 to another CPU 12. Operates when provided.
  • two CPUs 12-1 and 12-2 use the respective computing units 23, and are shared as two CPUs 12-1 and 12_2. Exchange data with 13
  • each of the CPUs 12-1 and 12-2 has a mechanism for issuing other instructions in addition to a mechanism for issuing instructions to the arithmetic unit 23 included in each CPU.
  • the mechanism for issuing other instructions includes the function S for issuing instructions to the arithmetic unit 23 of the other CPU, but when each CPU 12-1 and 12-2 is operating individually, Function S stopped.
  • FIG. 4 (a) shows the information processing unit 3 in this state.
  • the CPU 12-1 is requested to provide the cache memory 22 as a resource to the other CPUs 12-2.
  • the CPU 12-2 responding to the request purges the cache memory 22 (sweep data to the main memory 3), and passes the control to the CPU 12-1.
  • CPU 1 2-1 purges cache memory 2 2 of CPU 1 2-2 Control is returned to CPU 12-2.
  • the arithmetic unit 23 of the CPU 1 2 _ 1 is assigned to the CPU 12-2 by ⁇ (the CPU 12-2 is the arithmetic unit of the CPU 12-2.
  • the control circuit 22 in the CPU 12-2 operates the control circuit 22 in the CPU 12-1 that controls the arithmetic unit 23 of the CPU 12-1.
  • the arithmetic unit 23 of 1 2-1 is used as a single arithmetic unit together with the arithmetic unit 23 inside the CPU 12-2.
  • control circuit 21 of the CPU 12-1 It manages the exchange of data between the CPU 12-2 and the outside, and the CPU 12-1 stops the exchange of data between the outside, thereby sharing the data processing between the CPUs 12-1 and 12-2. And the CPU 12-1 can be sped up. W
  • the CPU 12-1 stops its function as a CPU, and the internal operation unit 23 is connected to the CPU 12-2-2. .
  • the CPU 12-2 operates as a CPU equivalent to a CPU having twice the normal operation unit by using the function of issuing instructions to the operation unit 23 of the CPU 12-1.
  • the other CPU 12-1 requests the ⁇ of the arithmetic unit 23 which is a resource. .
  • the CPU 12-1 responding to the request purges the cache memory 22 (sweep data to the main memory 2), and passes the control to the CPU 12-2.
  • CPU 1 2—2 purges cache memory 2 2 of CPU 1—2—1. Control is returned to CPU 1 2 1 1.
  • the ability of one CPU to use only its own resources, or the use of its own resources and at least part of the resources of other CPUs, depends on the individual processor module while the information processing device is operating. It is possible to switch dynamically for each P. This allows multiple CPUs to integrate their respective computational resources and operate as if they were a single high-speed CPU.
  • FIG. 5 is a block diagram showing a main part of the first embodiment of the information processing apparatus according to the present invention.
  • the first embodiment of the processor module according to the present invention is used. 5 the same components as those in FIG. 3 are denoted by the same reference numerals, and description thereof will be omitted.
  • FIG. 6 is a block diagram showing a main part of a second embodiment of the information processing apparatus according to the present invention.
  • the second embodiment of the processor module according to the present invention is used.
  • the same portions as those in FIGS. 3 and 5 are denoted by the same reference numerals, and description thereof will be omitted.
  • FIG. 7 is a flowchart illustrating a cache switching operation in the first and second embodiments.
  • the other CPUJ indicates the CPU 12-1 in the first embodiment, and indicates the CPUs 12-2 and 12-3 in the second embodiment.
  • the instruction issuing unit 110 of CPU 12-1 receives the instruction to provide the resource (cache) between CPUs.
  • (Cache) A notification that a request has occurred is sent to the control circuit 21 of the CPU 12-1, and the processing in FIG. 7 is started.
  • step S1 it is determined whether or not a resource (cache) provision request has occurred. If the determination result is YES, the control circuit 21 of the CPU 12-1 is sent to the control circuit 21 of another CPU. Issues a request REQ1 for providing resources.
  • the contents of the cache memory 22 of the other CPU are stored in the main memory 2 to save the information from the control circuit 21 of the other CPU to the purge circuit 25 of the other CPU. Issue request REQ2.
  • the purge circuit 25 of the other CPU purges the contents of the cache memory 22 of the other CPU.
  • step S3 it is determined whether or not the purging by the purging circuit 25 of another CPU has been completed. If the decision result in the step S3 is YES, a completion notice ACK1 indicating that the purging is completed is returned from the purge circuit 25 of the other CPU to the control circuit 21 of the other CPU. In step S4, the other CPU control circuit 21 responds to the completion notification ACK1. Then, a signal MuxEnable for enabling the multiplexer 26 of another CPU is supplied to the multiplexer 26. In step S5, in response to the control circuit 21 completion notification ACK1 of the other CPU, a completion notification ACK2 is returned to the control circuit 21 of the CPU 12-1 so that the CPU 12-1 Access to the cache memory 22 of another CPU is enabled, and the process ends.
  • the CPU 12-2 (12-3) that has provided the resources to the CPU 12-1 can operate under the control of the CPU 12-1 using the resources not provided.
  • FIG. 8 is a flowchart illustrating a cache switching operation in the first and second embodiments.
  • CPU 12-1 reduces load and resource (cache) shortage is resolved.
  • CPU 12-1 instruction issue unit 110 power S Receives resources (cache) cancel instruction between CPUs. Then, the control circuit 21 of the CPU 121 notifies that the resource (cache) request has been canceled, and the processing in FIG. 8 starts. In step S 11, it is determined whether or not a resource (cache) provision cancellation request has occurred. If the determination result is YES, the control circuit 21 of the CPU 12-1 switches to the control circuit 21 of another CPU. Request REQ1 to return control of cache memory 22 of another CPU.
  • step S12 a request REQ2 for purging the contents of the cache memory 22 of the other CPU to the main memory 2 for storing information from the control circuit 21 of the other CPU to the purging circuit 25 of the other CPU Put out.
  • the purge circuit 25 of the other CPU purges the contents of the cache memory 22 of the other CPU.
  • step S13 it is determined whether or not the purging by the purging circuit 25 of another CPU has been completed. If the decision result in the step S13 is YES, a completion notice ACK1 indicating that the purging circuit 25 of the other CPU is completed is returned from the purging circuit 25 of the other CPU.
  • step S 14 in response to ACK 1, the control circuit 21 of the other CPU, the signal Muxdisable that disables the multiplexer 26 of the other CPU in response to ACK 1 Is supplied to the multiplexer 26.
  • step S5 the CPU 12-1 returns a completion notification ACK2 to the control circuit 21 of the CPU 12-1 in response to the completion notification ACK1 of the control circuit 21 of the other CPU. Access to 22 is disabled, and the process ends.
  • FIG. 9 is a block diagram showing a main part of a third embodiment of the information processing apparatus according to the present invention.
  • the third embodiment of the processor module according to the present invention is used.
  • the same portions as those in FIG. 4 are denoted by the same reference numerals, and description thereof will be omitted.
  • two CPUs 12-1 and 12-2 are provided on the board of one processor module / module 1.
  • Each of the CPUs 12-1 and 12-2 has a control circuit 21, a computing unit 23, multiplexers 27 and 28, and the like.
  • the CPU 12-1 shows only a circuit portion necessary when the arithmetic unit 23 of the CPU 12-2 is used.
  • the circuit part necessary when using the arithmetic unit 23 is mirror-symmetric.
  • FIG. 10 is a block diagram showing a main part of a fourth embodiment of the information processing unit 8 according to the present invention.
  • the fourth embodiment of the processor module according to the present invention is used. 10 the same parts as those in FIGS. 4 and 9 are denoted by the same reference numerals, and the description thereof will be omitted.
  • each CPU 12-1, 12-2, and 12-3 has a control circuit 21, a computing unit 23, multiplexers 27, 28, and the like.
  • FIG. 10 for convenience of explanation, only the circuit parts necessary when the CPU 12-1 uses the arithmetic units 23 of the CPUs 12-2 and 12-3 are shown. Are required when using the computing unit 23 of the CPUs 12-1 and 12-3, and the circuit parts required when the CPU 12-3 uses the computing unit 23 of the CPUs 12-1 and 12-2. Change to Kagami ⁇ .
  • FIG. 11 is a flowchart for explaining the operation unit switching operation in the third and fourth embodiments.
  • the other CPUJ: ⁇ in the third embodiment indicates the CPU 12-1, and in the fourth embodiment, indicates the CPUs 12-2, 12-3.
  • the instruction issuing unit 110 of CPU 12-1-1 receives resources (arithmetic units) «instructions between CPUs , Resources (arithmetic unit) »The request is notified to the control circuit 21 of the CPU 12-1, and the processing of FIG. 11 is started.
  • step S21 it is determined whether or not the resource (arithmetic unit) has been obtained.
  • the control circuit 21 of the CPU 12-1 executes the other CPU.
  • a request REQ1 for providing resources is issued to the control circuit 21.
  • a request REQ2 requesting termination of the arithmetic processing is issued from the control circuit 21 of the other CPU to the arithmetic unit 23 of the other CPU.
  • step S23 it is determined whether or not the arithmetic processing by the arithmetic unit 23 of another CPU has been completed.
  • Completion notification ACK1 indicating the end of the arithmetic processing is returned from arithmetic unit 23 of the other CPU, and if the decision result in step S23 is YES, in step S24, the control circuit 21 In response to the completion notification ACK1, the signal MuxEnable for enabling the multiplexers 26 and 27 of the other CPUs is supplied to the multiplexers 26 and 27.
  • step S25 the CPU 12-1 responds to the control circuit 21 of the other CPU in response to the completion notification ACK1 and returns a completion notification ACK2 to the control circuit 21 of the CPU 12-1.
  • the operation unit 23 of another CPU is enabled, and the process ends. Thereby, the CPU 12-1 issues an instruction to the arithmetic unit 23 of another CPU, and the arithmetic unit 23 of the other CPU can be used for arithmetic processing.
  • the CPU 12-2 (12-3) whose resources are set to CPU 12-1 can operate under the control of the CPU 12-1 by using resources that have not been »» d.
  • FIG. 12 is a flowchart illustrating the cache switching operation in the third and fourth embodiments.
  • “other CPU” refers to CPU 12-1 in the third embodiment, and refers to CPU 12-2 and 12-3 in the fourth embodiment. .
  • the instruction issuing unit 110 of the CPU 12-1 cancels the resources (arithmetic units) provided between the CPUs.
  • Resource (arithmetic unit) «Control of CPU 12-1
  • the circuit 21 is notified, and the processing of FIG. 12 is started.
  • step S31 it is determined whether or not a resource (operator) cancellation request has occurred. If the determination is YES, the control circuit 21 of the CPU 12-1 and the control circuit of the other CPU are used. 21.
  • Request REQ1 to return control of the arithmetic unit 23 of another CPU is issued to 21.
  • a request REQ2 requesting termination of the arithmetic processing is issued from the control circuit 21 of the other CPU to the arithmetic unit 23 of the other CPU.
  • step S33 it is determined whether or not the force has been calculated by the calculator 23 of another CPU.
  • Completion notification ACK1 indicating the end of the arithmetic processing is returned from the arithmetic unit 23 of the other CPU, and if the decision result in the step S33 is YES, the control circuit 21 of the other CPU is returned in the step S34.
  • the multiplexers 26 In response to the power S and the completion notification ACK1, the multiplexers 26,
  • the signal MuxDisable for disabling 27 is supplied to multiplexers 26 and 27.
  • the CPU 12-1 responds to the control circuit 21 of the other CPU in response to the completion notification ACK1 and returns a completion notification ACK2 to the control circuit 21 of the CPU 12-1.
  • the use of the arithmetic unit 23 of another CPU is disabled, and the process ends.
  • the other CPU issues an instruction to the arithmetic unit 23 of the other CPU and becomes available for arithmetic processing.
  • one CPU can use the resources of one or more CPUs, and a configuration in which one CPU uses the resources of three or more CPUs is acceptable.
  • first and third embodiments can be appropriately combined, or the second and fourth embodiments can be combined in a low-k sense. It is only necessary that one CPU can use at least a part of the resources of one or more CPUs.

Abstract

A processor module comprises a plurality of processors, and a common unit which is commonly connected to the processors and externally connectable. Each of the processors has a control circuit and a resource. The control circuit in each processor controls the control circuit(s) of one or more processors, and in addition to the resource in the processor, uses at least a part of the resources in the one or more processors.

Description

明細書 プロセッサモジュール及び青報処理装置 技術分野  TECHNICAL FIELD Processor module and blue information processing device
本発明は、 プロセッサモジュール及ぴ情報処理装置に係り、 特に CPU等のプロ セッサを複数有する構成のプロセッサモジュール及び情報処理装置に関する。 一般に、複数の CPUを有する情報処»置は、マルチプ口セッサシステム(以下、 Multi processor (MP) Systemとも言う)と呼ばれる。 情報処¾¾置に要求される 拡張性、 信頼性、 機能の多様 I·生等に伴い、 マルチプロセッサシステムでは、 The present invention relates to a processor module and an information processing device, and more particularly to a processor module and an information processing device having a plurality of processors such as a CPU. In general, an information processing device having a plurality of CPUs is called a multiple processor system (hereinafter, also referred to as a multi processor (MP) system). With the scalability, reliability, and diversity of functions required for information processing, multi-processor systems have
SMP(Symietric Multi Processor)構造に代わる CMP (Chip Multi Processor)構造 が採用され始めている。 A CMP (Chip Multi Processor) structure that replaces the SMP (Symietric Multi Processor) structure has begun to be adopted.
マルチプロセッサの高機能ィ匕の要求は、 今後とも増大していくことが予想され る。 そこで、 本発明は、 CMP構造を持つマルチプロセッサシステムにおける応用 性の更なる向上に関する。  The demand for high performance multiprocessors is expected to increase in the future. Therefore, the present invention relates to a further improvement in applicability in a multiprocessor system having a CMP structure.
背景技術  Background art
図 1は、 SMP構造を採用するマルチプロセッサシステムの基本的概念図であり、 図 2は、 CMP構造を採用するマルチプロセッサシステムの基本的概念図である。 図 2中、 図 1と実質的に同じ部分には同一符号を付し、 その説明は省略する。 図 1に示すように、 一般的に採用されている SMP構造では、 複数の CPU 1—1 〜1— Nが、各々直接、 メインメモリ 3や入出力装置 (1/0) 4等と繋がるパス 2 に接続されており、 個々の CPU 1— 1〜 1—Nの能力を均等に使用するようにな つている。 このため、 SMP構造では、 CPU 1 _ 1〜1一 Nの数 Nが大きくなる程パ ス 2での競合力増加し、 マルチプロセッサシステムの性能向上に限界が生じてし まう。 この結果、 SMP構造では、 CPU 1 _ 1〜 1一 Nの数 Nの増大が、 マルチプロ セッサシステムの拡張性ゃスケーラピリティを劣ィヒさせる要因となる。  FIG. 1 is a basic conceptual diagram of a multiprocessor system adopting the SMP structure, and FIG. 2 is a basic conceptual diagram of a multiprocessor system adopting the CMP structure. In FIG. 2, substantially the same parts as those in FIG. 1 are denoted by the same reference numerals, and description thereof will be omitted. As shown in Fig. 1, in the commonly adopted SMP structure, a plurality of CPUs 1-1 to 1-N are directly connected to the main memory 3, the input / output device (1/0) 4, etc. 2 to use the capacity of each CPU 1-1 to 1-N equally. For this reason, in the SMP structure, as the number N of the CPUs 1-1_1-N increases, the competitiveness in the path 2 increases, and the performance improvement of the multiprocessor system is limited. As a result, in the SMP structure, an increase in the number N of CPUs 1-1_1 to 11-N is a factor that deteriorates the scalability of the multiprocessor system.
他方、 CMP構造では、 図 2に示すように、 同じ構成を有する複数のプロセッサ モジュール 1 1— 1〜1 1— Mが、 メインメモリ 3や 1/04等と繋がるパス 2に 接続されている。 各プロセッサモジュール 1 1 _ 1〜1 1—Mの半導体基板 (図 示せず) 上には、 複数の CPU 1 2— 1〜 1 2— Nと共通部 1 3とが実装されてい る。 1つのプロセッサモジュール 1 1内では、 このプロセッサモジュール 1 1内 の全ての CPU 1 2— 1〜 1 2—Nが共通部 1 3を共有する。 従って、 共通部 1 3 はコヒーレンシを保証し、 各々直接、 メインメモリ 3や 1/04等と繫がるパス 2 に接続されている。 同じ基板上に実装された CPU 1 2— 1〜 1 2— N間の通信、 即ち、 1つのプロセッサモジユー ^ 1 1内の CPU 1 2— :!〜 1 2— N間の通信は、 共通部 1 3のみを介して行われるため、 バス 2での競合を減らすことができる。 この結果、 CMP構造では、 SMP構造にぉレ、て CPUの数が増大した場合に発生する問 題を軽減することができる。 On the other hand, in the CMP structure, as shown in FIG. 2, a plurality of processor modules 11-1 to 11-M having the same configuration are connected to a path 2 that is connected to the main memory 3 or 1/04. Semiconductor substrate of each processor module 1 1 _ 1 to 11-M On the top, a plurality of CPUs 12-1 to 12-N and a common unit 13 are mounted. In one processor module 11, all the CPUs 12-1 to 12 -N in the processor module 11 share the common unit 13. Therefore, the common unit 13 guarantees coherency, and each of them is directly connected to the path 2 connecting with the main memory 3 and 1/04. Communication between CPUs 12-1 to 12-N mounted on the same board, that is, CPU 12-in one processor module ^ 11::! Since communication between 1 2 and N is performed only through the common unit 13, contention on the bus 2 can be reduced. As a result, in the case of the CMP structure, it is possible to reduce the problems that occur when the number of CPUs increases, unlike the SMP structure.
しかし、 CMP構造の場合、 同レベルのテクノロジを用いた 1つの CPUを実装す る SMP構造の と比較すると、 個々の CPUの性能は下がる。 このため、 高速演 算処理を必要とする科学技術計算等、 多数の CPUよりも 1つの高性能な CPUによ り処理を行った方が処理速度が向上するような には、 CMP構造を採用するマ ルチプロセッサシステムの方が SMP構造を採用するマルチプロセッサシステムよ り結果的に性能が劣り、 CMP構造を採用するマルチプロセッサシステムの応用性 を狭める要因となる。  However, in the case of the CMP structure, the performance of individual CPUs is lower than that of the SMP structure that implements one CPU using the same level of technology. For this reason, a CMP structure is used to improve the processing speed when processing is performed by one high-performance CPU rather than many CPUs, such as scientific and technological calculations that require high-speed arithmetic processing. The resulting multiprocessor system has lower performance than the multiprocessor system that uses the SMP structure, and narrows the applicability of the multiprocessor system that uses the CMP structure.
情報処 置の使用例としては、 例えばデータベースのような単一の CPUの高 速化よりも、 マルチプロセッサシステムの並列処理特性を重視し、 それにより処 理が高速、 且つ、 円滑に進むような用途がある。 他方、 例えば科学技術計算等に おいて、 多数の CPUの並列処理よりも、 個々の CPUの高機能化によって髙速処理 を実現できるような用途がある。 これらは、 トレードオフの関係に有り、 両者の 要求を同時に満たすことは難しい。  Examples of the use of information processing include, for example, emphasizing the parallel processing characteristics of a multiprocessor system rather than increasing the speed of a single CPU such as a database, so that processing can be performed quickly and smoothly. There are uses. On the other hand, for example, in scientific computing, there are applications where high-speed processing can be realized by increasing the functionality of individual CPUs rather than parallel processing of many CPUs. These are in a trade-off relationship and it is difficult to satisfy both requirements simultaneously.
尚、 先行技術文献としては、 以下のものがある。  Prior art documents include the following.
特開昭 6 3— 2 9 9 4 3 1号公報  Japanese Patent Application Laid-Open No. 63-2994931
特開平 7— 1 5 2 6 5 1号公報  Unexamined Japanese Patent Publication No.
特開平 1 0— 2 5 4 7 7 5号公報 発明の開示  Japanese Patent Application Laid-Open No. H10—2547775 Disclosure of the Invention
本発明は、 上記の問題を解決した、 新規、 且つ、 プロセッサモジュール及び情 報処理装置を^することを概括的目的とする。 The present invention solves the above-mentioned problems, and provides a new and novel processor module and information. It is a general purpose to provide an information processing device.
本発明のより具体的な目的は、 CMP構造を採用する情報処理装置において、 1 つのプロセッサモジュ一ノレ内で、 1つのプロセッサが他のプロセッサの計算資源 を用いて単一のプロセッサの場合より高速な処理を行う多並列重視の要求と、 単 一プロセッサによる高速処理の要求とを、 同時に満たすことにある。  A more specific object of the present invention is to provide an information processing apparatus employing a CMP structure, in which one processor uses the computational resources of another processor in a single processor module to operate at a higher speed than a single processor. The purpose of this is to satisfy simultaneously the demand for multi-parallel processing that performs complex processing and the demand for high-speed processing by a single processor.
本発明の他の目的は、 複数のプロセッサと、 数のプロセッサと共通に接続 されると共に外部と接続可能な共通部とを備え、 各プロセッサは、 制御回路と資 源とを有し、 各プロセッサ内の制御回路は、 1又は複数の他のプロセッサの制御 回路を制御して、 そのプロセッサ内の資源に加え、 該 1又は複数の他のプロセッ サ内の資源の少なくとも一部を利用することを特徴とするプロセッサモジュール を«することにある。 本発明になるプロセッサモジュールによれば、 CMP構造 を採用する情報処理装置において、 1つのプロセッサモジュール内で、 1つのプ 口セッサが他のプロセッサの計算資源を用いて単一のプロセッサの場合より高速 な処理を行う多並列重視の要求と、 単一プロセッサによる高速処理の要求とを、 同時に満たすことができる。  Another object of the present invention is to provide a plurality of processors and a common unit commonly connected to a number of processors and connectable to the outside. Each processor has a control circuit and a resource. Control circuitry in one or more other processors to utilize at least some of the resources in the one or more other processors in addition to the resources in that processor. Another object of the present invention is to provide a processor module which is a feature. According to the processor module according to the present invention, in an information processing apparatus employing a CMP structure, one processor uses one processor in a single processor module and is faster than a single processor. And the need for high-speed processing by a single processor at the same time.
本発明の更に他の目的は、 複数のプロセッサモジュールがバスを介して接続さ れた情報処理装置であって、 各プロセッサモジュールは、 複数のプロセッサと、 該複数のプロセッサと共通に接続されると共に前記パスと接続する共通部とを備 え、 1つのプロセッサモジュール内において、 各プロセッサは制御回路と資源と を有し、 各プロセッサ内の制御回路は 1又は複数の他のプロセッサの制御回路を 制御して、 そのプロセッサ内の資源に加えて該 1又は複数の他のプロセッサ内の 資源の少なくとも一部を利用することを特徴とする情報処3¾置を提供すること にある。 ¾ ^することにある。 本発明になる情報処«置によれば、 CMP構造を 採用する情報処理装置において、 1つのプロセッサモジュール内で、 1つのプロ セッサが他のプロセッサの計算資源を用いて単一のプロセッサの場合より高速な 処理を行う多並列重視の要求と、 単一プロセッサによる高速処理の要求とを、 同 時に満たすことができる。  Still another object of the present invention is an information processing apparatus in which a plurality of processor modules are connected via a bus, wherein each processor module is connected to a plurality of processors and is commonly connected to the plurality of processors. A common unit connected to the path, each processor has a control circuit and resources in one processor module, and a control circuit in each processor controls a control circuit of one or more other processors Another object of the present invention is to provide an information processor 3 characterized by utilizing at least a part of the resources in the one or more other processors in addition to the resources in the processor. ¾ ^ to do. According to the information processing apparatus according to the present invention, in an information processing apparatus employing a CMP structure, one processor uses one processor and uses the computational resources of another processor as compared with a single processor. The demand for multi-parallel processing for high-speed processing and the demand for high-speed processing by a single processor can be satisfied simultaneously.
本発明の更に他の目的及び特長は、 以下図面と共に述べる説明より明らかとな ろう。 図面の簡単な説明 Further objects and features of the present invention will become apparent from the description given below with reference to the drawings. BRIEF DESCRIPTION OF THE FIGURES
図 1は、 SMP構造を採用するマルチプロセッサシステムの基本的概念図である。 図 2は、 CMP構造を採用するマルチプロセッサシステムの基本的概念図である。 図 3は、 本発明の動 ί乍原理を、 情報処理装置の CPUの資源がキャッシュメモリ 等の記憶部である について説明する図である。  Figure 1 is a basic conceptual diagram of a multiprocessor system that employs the SMP structure. FIG. 2 is a basic conceptual diagram of a multiprocessor system employing a CMP structure. FIG. 3 is a diagram for explaining the principle of operation of the present invention, in which the resource of the CPU of the information processing device is a storage unit such as a cache memory.
図 4は、 本発明の動作原理を、 情報処理装置の CPUの資源が演算器等の演算部 である^について説明する図である。  FIG. 4 is a diagram for explaining the operation principle of the present invention in the case where the resource of the CPU of the information processing apparatus is an arithmetic unit such as an arithmetic unit.
図 5は、 本発明になる情報処3¾置の第 1実施例の要部を示すプロック図であ る。  FIG. 5 is a block diagram showing a main part of the first embodiment of the information processing device 3 according to the present invention.
図 6は、 本発明になる情報処¾¾置の第 2実施例の要部を示すプロック図であ る。  FIG. 6 is a block diagram showing a main part of a second embodiment of the information processing apparatus according to the present invention.
図 7は、 第 1及び第 2実施例におけるキヤッシュ切り替え動作を説明するフ口 一チヤ一トである。  FIG. 7 is a front view for explaining a cache switching operation in the first and second embodiments.
図 8は、 第 1及び第 2実施例におけるキャッシュ切り替え動作を説明するフロ 一チヤ一トである。  FIG. 8 is a flowchart for explaining the cache switching operation in the first and second embodiments.
図 9は、 本発明になる情報処¾¾置の第 3実施例の要部を示すプロック図であ る。  FIG. 9 is a block diagram showing a main part of a third embodiment of the information processing apparatus according to the present invention.
図 1 0は、 本発明になる情報処«置の第 4実施例の要部を示すブロック図で ある。  FIG. 10 is a block diagram showing a main part of a fourth embodiment of the information processing apparatus according to the present invention.
図 1 1は、 第 3及び第 4実施例における演算器切り替え動作を説明するフロー チヤ一トである。  FIG. 11 is a flowchart for explaining the operation unit switching operation in the third and fourth embodiments.
図 1 2は、 第 3及び第 4実施例における演算: »り替え動作を説明するフロー チヤ一トである。 発明を実施するための最良の形態  FIG. 12 is a flowchart for explaining the operation: switching operation in the third and fourth embodiments. BEST MODE FOR CARRYING OUT THE INVENTION
先ず、本発明になる情報処理装置の動作原理を、図 3及び図 4と共に説明する。 本発明になる情報処理装置は、 CMP構造を採用し、 1つのプロセッサモジュール 内の各 CPUが個別に有する資源 (リソース) を切り離して他の CPUの資源の一部 として利用可能な構成を備える。 図 3は、 情報処¾¾置の CPUの資源がキヤッシ ュメモリ等の記憶部である場合を示し、 図 4は、 情報処理装置の CPUの資源が演 算器等の演算部である を示す。 尚、 資源は記憶部及び演算部に限定されるも のではなく、 CPU間で共有可能な資源であれば良いことは、 言うまでもない。 図 3及ぴ図 4中、 図 2と実質的に同じ部分には同一符号を付し、 その説明は省略す る。 本発明では、 各プロセッサモジュールの基本構成は図 2に示すものと同様で あるが、 各 CPUの構成が図 2に示すものとは異なる。 First, the operation principle of the information processing apparatus according to the present invention will be described with reference to FIGS. The information processing apparatus according to the present invention employs a CMP structure, and separates resources (resources) individually owned by each CPU in one processor module, and a part of resources of another CPU. It has a configuration that can be used as. FIG. 3 shows a case where the resource of the CPU for the information processing device is a storage unit such as a cache memory, and FIG. 4 shows that the resource of the CPU of the information processing device is a calculation unit such as a calculator. Needless to say, the resources are not limited to the storage unit and the operation unit, but may be any resources that can be shared between CPUs. In FIGS. 3 and 4, substantially the same parts as those in FIG. 2 are denoted by the same reference numerals, and description thereof will be omitted. In the present invention, the basic configuration of each processor module is the same as that shown in FIG. 2, but the configuration of each CPU is different from that shown in FIG.
図 3 (a)は、各 CPUが自分の資源を自分で利用している状態を示し、図 3 (b) は、一方の CPUが他方の CPUの資源の少なくとも一部を利用している状態を示す。 プロセッサモジュール 11は、説明の便宜上、 2つの CPU12— 1, 12— 2と、 共通部 13とからなるものとする力 S、 CPUの数は 2つに限定されるものではない。 CPU12—1, 12— 2は、夫々制御回路 21と、キャッシュメモリ 22とからな る。  Fig. 3 (a) shows a state where each CPU uses its own resources, and Fig. 3 (b) shows a state where one CPU uses at least a part of the resources of the other CPU. Is shown. For convenience of description, the processor module 11 includes two CPUs 12-1 and 12-2 and the common unit 13, and the power S and the number of CPUs are not limited to two. Each of the CPUs 12-1 and 12-2 includes a control circuit 21 and a cache memory 22.
制御回路 21は、 その制御回路 21が属する CPU 12の資源であるキヤッシュ メモリ 22を制御するために設けられており、この CPU 12が他の CPU12へキヤ ッシュメモリ 22を提供したときに動作する。図 3 (a) の状態では、 2つの CPU 12-1, 12— 2が夫々のキャッシュメモリ 22を利用し、 2つの CPU 12— 1, 12— 2として夫々が共通部 13とのデータのやり取りを行う。  The control circuit 21 is provided to control a cache memory 22 which is a resource of the CPU 12 to which the control circuit 21 belongs, and operates when the CPU 12 provides the cache memory 22 to another CPU 12. In the state of FIG. 3A, the two CPUs 12-1 and 12-2 use the respective cache memories 22 and exchange data with the common unit 13 as the two CPUs 12-1 and 12-2. I do.
他方、図 3 (b) の状態では、 CPU12— 2が内部に持つキャッシュメモリ 22 を CPU 12 _ 1に »し、 CPU 12— 1が CPU 12— 2のキヤッシュメモリ 22を 利用可能とする。 CPU12— 1内の制御回路 22は、 CPU12— 2のキャッシュメ モリ 22を制御する CPU 12— 2内の制御回路 22を動作させ、 CPU 12 _ 2のキ ャッシュメモリ 22を CPU 12— 1内部のキャッシュメモリ 22と合わせて単一 のキャッシュメモリとして利用する。これと同時に、 CPU12— 2の制御回路 21 は、 CPU12-1と外部とのデータのやり取りを管理し、 CPU12— 1は外部との データのやり取りを停止する。 これにより、 CPU12— 1, 12— 2によるデータ 処理の分担がなされ、 CPU 12— 1, 12-2の高速化が可能となる。  On the other hand, in the state of FIG. 3B, the cache memory 22 of the CPU 12-2 is changed to the CPU 12_1, and the cache memory 22 of the CPU 12-2 can be used by the CPU 12-1. The control circuit 22 in the CPU 12-1 operates the control circuit 22 in the CPU 12-2 which controls the cache memory 22 of the CPU 12-2, and stores the cache memory 22 of the CPU 12_2 in the cache memory inside the CPU 12-1. Used as a single cache memory together with memory 22. At the same time, the control circuit 21 of the CPU 12-2 manages the exchange of data between the CPU 12-1 and the outside, and the CPU 12-1 stops the exchange of data with the outside. As a result, data processing is shared between the CPUs 12-1 and 12-2, and the speed of the CPUs 12-1 and 12-2 can be increased.
図 4 ( a )は、各 CPUが自分の資源を自分で利用してレ、る状態を示し、図 4 ( b ) は、一方の CPUが他方の CPUの資源の少なくとも一部を利用している状態を示す。 プロセッサモジュール 1 1は、説明の便宜上、 2つの CPU 1 2— 1, 1 2— 2と、 共通部 1 3 (図示省略) とからなるものとするが、 CPUの数は 2つに限定される ものではない。 CPU 1 2— 1, 1 2— 2は、夫々制御回路 2 1 (図示省略) と、演 算部 2 3と力らなる。 Fig. 4 (a) shows that each CPU uses its own resources, and Fig. 4 (b) shows that one CPU uses at least a part of the resources of the other CPU. Indicates a state in which The processor module 11 is composed of two CPUs 12-1 and 12-2 and a common unit 13 (not shown) for convenience of description, but the number of CPUs is limited to two. Not something. The CPUs 12-1 and 12-2 comprise a control circuit 21 (not shown) and an arithmetic unit 23, respectively.
制御回路 2 1は、 その制御回路 2 1が属する CPU 1 2の資源である演算器 2 3 を制御するために設けられており、この CPU 1 2が他の CPU 1 2へ演算器 2 3を提 供したときに動作する。 図 4 ( a ) の状態では、 2つの CPU 1 2— 1, 1 2— 2 が夫々の演算器 2 3を利用し、 2つの CPU 1 2— 1, 1 2 _ 2として夫々が共通 眘 15 1 3とのデータのやり取りを行う。  The control circuit 21 is provided to control a computing unit 23 which is a resource of the CPU 12 to which the control circuit 21 belongs, and the CPU 12 transmits the computing unit 23 to another CPU 12. Operates when provided. In the state of FIG. 4 (a), two CPUs 12-1 and 12-2 use the respective computing units 23, and are shared as two CPUs 12-1 and 12_2. Exchange data with 13
つまり、 各 CPU 1 2— 1, 1 2— 2は、 各々が有する演算器 2 3へ命令を発行 する機構に加え、 他の命令を発行する機構を備えている。 他の命令を発行する機 構には、 他 CPUの演算器 2 3へ命令を発行する機能力 S含まれるが、 各 CPU 1 2— 1, 1 2— 2が個々に動作している時にはその機能力 S停止している。 図 4 ( a ) は、 この状態での情報処3¾置を示す。  That is, each of the CPUs 12-1 and 12-2 has a mechanism for issuing other instructions in addition to a mechanism for issuing instructions to the arithmetic unit 23 included in each CPU. The mechanism for issuing other instructions includes the function S for issuing instructions to the arithmetic unit 23 of the other CPU, but when each CPU 12-1 and 12-2 is operating individually, Function S stopped. FIG. 4 (a) shows the information processing unit 3 in this state.
従って、 CPU 1 2— 1に大きな負荷がかかったとき、或いは、資源(キャッシュ) が不足しているとき、 他の CPU 1 2— 2に資源であるキャッシュメモリ 2 2の提 供を要求する。 要求に応答する CPU 1 2— 2は、 キャッシュメモリ 2 2のパージ (メインメモリ 3へのデータの掃き出し)を行レ、、その制御を CPU 1 2— 1に渡す。 CPU 1 2 - 1への負荷が減少し、 CPU 1 2— 2からキヤッシュメモリ 2 2を^し てもらう必要が無くなると、 CPU 1 2— 1は CPU 1 2— 2のキャッシュメモリ 2 2 をパージし、 その制御を CPU 1 2— 2に戻す。  Therefore, when a large load is applied to the CPU 12-1, or when the resources (cache) are insufficient, the CPU 12-1 is requested to provide the cache memory 22 as a resource to the other CPUs 12-2. The CPU 12-2 responding to the request purges the cache memory 22 (sweep data to the main memory 3), and passes the control to the CPU 12-1. When the load on CPU 1 2-1 is reduced and CPU 1 2-2 no longer needs cache memory 2 2, CPU 1 2-1 purges cache memory 2 2 of CPU 1 2-2 Control is returned to CPU 12-2.
他方、 図 4 ( b ) の状態では、 CPU 1 2 _ 1が内部に持つ演算器 2 3を CPU 1 2 - 2に^ (共し、 CPU 1 2— 2が CPU 1 2— 2の演算器 2 3を利用可能とする。 CPU 1 2 - 2内の制御回路 2 2は、 CPU 1 2— 1の演算器 2 3を制御する CPU 1 2— 1 内の制御回路 2 2を動作させ、 CPU 1 2 - 1の演算器 2 3を CPU 1 2— 2内部の演 算器 2 3と合わせて単一の演算器として利用する。これと同時に、 CPU 1 2— 1の 制御回路 2 1は、 CPU 1 2— 2と外部とのデータのやり取りを管理し、 CPU 1 2— 1は外部とのデータのやり取りを停止する。 これにより、 CPU 1 2— 1, 1 2 - 2 によるデータ処理の分担がなされ、 CPU 1 2 - 1の高速化が可能となる。 W On the other hand, in the state shown in FIG. 4 (b), the arithmetic unit 23 of the CPU 1 2 _ 1 is assigned to the CPU 12-2 by ^ (the CPU 12-2 is the arithmetic unit of the CPU 12-2. The control circuit 22 in the CPU 12-2 operates the control circuit 22 in the CPU 12-1 that controls the arithmetic unit 23 of the CPU 12-1. The arithmetic unit 23 of 1 2-1 is used as a single arithmetic unit together with the arithmetic unit 23 inside the CPU 12-2. At the same time, the control circuit 21 of the CPU 12-1 It manages the exchange of data between the CPU 12-2 and the outside, and the CPU 12-1 stops the exchange of data between the outside, thereby sharing the data processing between the CPUs 12-1 and 12-2. And the CPU 12-1 can be sped up. W
7 7
つまり、 情報処 3¾置が図 4 (b ) に示す状態にあると、 CPU 1 2— 1は CPU としての機能を停止し、 内部の演算器 2 3を CPU 1 2— 2に «している。 この とき、 CPU 1 2— 2は、 CPU 1 2—1の演算器 2 3への命令発行の機能を用いて、 通常の倍の演算器を持つ CPU相当として動作する。  That is, when the information processing unit 3 is in the state shown in FIG. 4 (b), the CPU 12-1 stops its function as a CPU, and the internal operation unit 23 is connected to the CPU 12-2-2. . At this time, the CPU 12-2 operates as a CPU equivalent to a CPU having twice the normal operation unit by using the function of issuing instructions to the operation unit 23 of the CPU 12-1.
従って、 CPU 1 2— 2に大きな負荷がかかったとき、或いは、資源(演算器) が 不足しているとき、他の CPU 1 2— 1に資源である演算器 2 3の^^を要求する。 要求に応答する CPU 1 2— 1は、キャッシュメモリ 2 2のパージ(メインメモリ 2 へのデータの掃き出し)を行 、、 その制御を CPU 1 2— 2に渡す。 CPU 1 2— 2負 荷が減少し、 CPU 1 2— 1から演算器 2 3を提供してもらう必要が無くなると、 CPU 1 2— 2は CPU 1 2— 1のキャッシュメモリ 2 2をパージし、その制御を CPU 1 2 一 1に戻す。  Therefore, when a heavy load is applied to the CPU 12-2 or when the resources (arithmetic units) are insufficient, the other CPU 12-1 requests the ^^ of the arithmetic unit 23 which is a resource. . The CPU 12-1 responding to the request purges the cache memory 22 (sweep data to the main memory 2), and passes the control to the CPU 12-2. When the load on CPU 1 2—2 decreases and it is no longer necessary to provide arithmetic unit 23 from CPU 1 2—1, CPU 1 2—2 purges cache memory 2 2 of CPU 1—2—1. Control is returned to CPU 1 2 1 1.
上記の如き、 1つの CPUが自分の資源のみを利用する力、 或いは、 自分の資源 と他の CPUの資源の少なくとも一部を利用するかは、 情報処理装置が稼働中に、 個別のプロセッサモジュール P毎に動的に切り替えることが可能である。 これに より、 複数の CPUが、 夫々の計算資源を統合し、 あたかも単独の高速な CPUであ るかのように動作することが可能となる。  As described above, the ability of one CPU to use only its own resources, or the use of its own resources and at least part of the resources of other CPUs, depends on the individual processor module while the information processing device is operating. It is possible to switch dynamically for each P. This allows multiple CPUs to integrate their respective computational resources and operate as if they were a single high-speed CPU.
次に、 本発明になるプロセッサモジュール及び本発明になる情報処理装置の各 実施例を、 図 5以降と共に説明する。  Next, embodiments of the processor module according to the present invention and the information processing apparatus according to the present invention will be described with reference to FIG.
図 5は、 本発明になる情報処理装置の第 1実施例の要部を示すプロック図であ る。 情報処 置の第 1実施例では、 本発明になるプロセッサモジュールの第 1 実施例を用いる。 図 5中、 図 3と同一部分には同一符号を付し、 その説明は省略 する。  FIG. 5 is a block diagram showing a main part of the first embodiment of the information processing apparatus according to the present invention. In the first embodiment of the information processing, the first embodiment of the processor module according to the present invention is used. 5, the same components as those in FIG. 3 are denoted by the same reference numerals, and description thereof will be omitted.
本実施例では、 1つのプロセッサモジユーノレ 1の基板上に、 2つの CPU 1 2— 1, 1 2— 2が設けられている。 各 CPU 1 2— 1, 1 2— 2は、 制御回路 2 1、 キャッシュメモリ 2 2、 パージ回路 2 5、 マルチプレクサ 2 6、 命令発行部 1 1 0等を有する。 図 5では、説明の便宜上、 CPU 1 2— 1が CPU 1 2— 2のキヤッシ ュ(Ll$) 2 2を利用する場合に必要な回路部分のみを示している力 実際には CPU 1 2— 2が CPU 1 2— 1のキヤッシュ 2 2を利用する場合に必要な回路部分が鏡 対称に存在する。 図 6は、 本発明になる情報処理装置の第 2実施例の要部を示すプロック図であ る。 情報処理装置の第 2実施例では、 本発明になるプロセッサモジュールの第 2 実施例を用いる。 図 6中、 図 3及び図 5と同一部分には同一符号を付し、 その説 明は省略する。 In this embodiment, two CPUs 12-1 and 12-2 are provided on the board of one processor module 1. Each CPU 12-1, 12-2 has a control circuit 21, a cache memory 22, a purge circuit 25, a multiplexer 26, an instruction issuing unit 110, and the like. In FIG. 5, for convenience of explanation, the CPU 12-1 shows only the circuit parts necessary when the CPU 12-2 uses the cache (Ll $) 22. When 2 uses the CPU 22-1 cache 22, the necessary circuit parts exist in mirror symmetry. FIG. 6 is a block diagram showing a main part of a second embodiment of the information processing apparatus according to the present invention. In the second embodiment of the information processing apparatus, the second embodiment of the processor module according to the present invention is used. In FIG. 6, the same portions as those in FIGS. 3 and 5 are denoted by the same reference numerals, and description thereof will be omitted.
本実施例では、 1つのプロセッサモジュール 1の基板上に、 3つの CPU 1 2— 1, 1 2— 2, 1 2— 3が設けられている。 各 CPU 1 2— 1, 1 2 - 2 , 1 2— 3は、 制御回路 2 1、 キャッシュメモリ 2 2、 パージ回路 2 5、 マルチプレクサ 2 6、 命令発行部 1 1 0等を有する。 図 5では、 説明の便宜上、 CPU 1 2— 1力 S CPU 1 2— 2, 1 2— 3のキャッシュ(Ll$) 2 2を利用する場合に必要な回路部分 のみを示している力、実際には CPU 1 2— 2が CPU 1 2— 1, 1 2— 3のキヤッシ ュ 2 2を利用する^に必要な回路部分及び CPU 1 2— 3が CPU 1 2— 1, 1 2— 2のキヤッシュ 2 2を利用する に必要な回路部分が鏡対称に存在する。 図 7は、 第 1及び第 2実施例におけるキヤッシュ切り替え動作を説明するフ口 一チャートである。 図 7の説明中、 「他の CPUJ とは、 第 1実施例の は CPU 1 2— 1を指し、 第 2実施例の場合は CPU 1 2— 2, 1 2— 3を指す。  In the present embodiment, three CPUs 12-1, 12-2, and 12-3 are provided on the board of one processor module 1. Each of the CPUs 12-1, 12-2, and 12-3 has a control circuit 21, a cache memory 22, a purge circuit 25, a multiplexer 26, an instruction issuing unit 110, and the like. In FIG. 5, for convenience of explanation, CPU 1 2—1 power S CPU 1 2—2, 1 2—3 Only power required to use the cache (Ll $) 2 2 The CPU 12–2 uses the CPU 12–1 and 12–3 to use the cache 22. The necessary circuit parts and the CPU 12–3 include the CPU 12–1 and 12–2. The circuit part necessary to use the cache 22 exists in mirror symmetry. FIG. 7 is a flowchart illustrating a cache switching operation in the first and second embodiments. In the description of FIG. 7, "the other CPUJ" indicates the CPU 12-1 in the first embodiment, and indicates the CPUs 12-2 and 12-3 in the second embodiment.
CPU 1 2— 1の負荷が増大したり、 資源 (キャッシュ) が不足したりして、 CPU 1 2— 1の命令発行部 1 1 0が CPU間の資源 (キヤッシュ) 提供命令を受け取る と、 資源 (キャッシュ) ^^求が発生した旨を CPU 1 2—1の制御回路 2 1へ 通知し、 図 7の処理が開始される。 ステップ S 1では、 資源 (キャッシュ) 提供 要求が発生したか否かを判定し、判定結果が YESであると、 CPU 1 2— 1の制御回 路 2 1から他の CPUの制御回路 2 1へ、資源提供のリクエスト REQ1を出す。ステ ップ S 2では、 他の CPUの制御回路 2 1力 ら、 他の CPUのパージ回路 2 5へ、 情 報保存のため、 他の CPUのキャッシュメモリ 2 2の内容をメインメモリ 2へパー ジするリクエスト REQ2を出す。 これにより、他の CPUのパージ回路 2 5は、他の CPUのキャッシュメモリ 2 2の内容をパージする。  When the load on CPU 12-1 increases or the resource (cache) becomes insufficient, the instruction issuing unit 110 of CPU 12-1 receives the instruction to provide the resource (cache) between CPUs. (Cache) A notification that a request has occurred is sent to the control circuit 21 of the CPU 12-1, and the processing in FIG. 7 is started. In step S1, it is determined whether or not a resource (cache) provision request has occurred. If the determination result is YES, the control circuit 21 of the CPU 12-1 is sent to the control circuit 21 of another CPU. Issues a request REQ1 for providing resources. In step S2, the contents of the cache memory 22 of the other CPU are stored in the main memory 2 to save the information from the control circuit 21 of the other CPU to the purge circuit 25 of the other CPU. Issue request REQ2. Thus, the purge circuit 25 of the other CPU purges the contents of the cache memory 22 of the other CPU.
ステップ S 3では、 他の CPUのパージ回路 2 5によるパージが完了したか否か を判定する。 ステップ S 3の判定結果が YESであると、 他の CPUのパージ回路 2 5から他の CPUの制御回路 2 1へ、 パージが完了したことを示す完了通知 ACK1 を返す。 ステップ S 4では、他の CPUの制御回路 2 1力 完了通知 ACK1に応答し て、 他の CPUのマルチプレクサ 2 6をィネーブルする信号 MuxEnableをマルチプ レクサ 2 6に供給する。 又、 ステップ S 5では、 他の CPUの制御回路 2 1力 完 了通知 ACK1に応答して、 CPU 1 2 - 1の制御回路 2 1へ完了通知 ACK2を返すこと で、 CPU 1 2—1による他の CPUのキャッシュメモリ 2 2へのアクセスを可能にし、 処理は終了する。 In step S3, it is determined whether or not the purging by the purging circuit 25 of another CPU has been completed. If the decision result in the step S3 is YES, a completion notice ACK1 indicating that the purging is completed is returned from the purge circuit 25 of the other CPU to the control circuit 21 of the other CPU. In step S4, the other CPU control circuit 21 responds to the completion notification ACK1. Then, a signal MuxEnable for enabling the multiplexer 26 of another CPU is supplied to the multiplexer 26. In step S5, in response to the control circuit 21 completion notification ACK1 of the other CPU, a completion notification ACK2 is returned to the control circuit 21 of the CPU 12-1 so that the CPU 12-1 Access to the cache memory 22 of another CPU is enabled, and the process ends.
資源を CPU 1 2— 1に提供した CPU 1 2— 2 ( 1 2— 3 ) は、提供していない資 源を用いて CPU 1 2— 1に従属して動作可能である。  The CPU 12-2 (12-3) that has provided the resources to the CPU 12-1 can operate under the control of the CPU 12-1 using the resources not provided.
CPU 1 2— 1の負荷が減つたり、 CPU 1 2— 1が資源 (キヤッシュ) を借りる必 要が無くなると、 他の CPUのキャッシュメモリ 2 2の制御を、 以下に示す如き手 順で他の CPU 返す。  When the load on CPU 12-1 is reduced or the CPU 12-1 no longer needs to borrow resources (cache), control the cache memory 22 of other CPUs by the following procedure. CPU return.
図 8は、 第 1及び第 2実施例におけるキャッシュ切り替え動作を説明するフ口 チャートである。 図 8の説明中、 「他の CPUJ とは、 第 1実施例の;^は CPU 1 2— 1を指し、 第 2実施例の場合は CPU 1 2— 2 1 2— 3を指す。  FIG. 8 is a flowchart illustrating a cache switching operation in the first and second embodiments. In the description of FIG. 8, “Other CPUJ denotes ^ in the first embodiment; ^ denotes CPU 12-1, and in the second embodiment, denotes CPU 12-2 1 2-3.
CPU 1 2— 1の負荷が減ったり、資源(キャッシュ) の不足が解消されたりして、 CPU 1 2 - 1の命令発行部 1 1 0力 S CPU間の資源(キヤッシュ) キャンセ 命 令を受け取ると、 資源 (キャッシュ) 求がキャンセルされた旨を CPU 1 2 一 1の制御回路 2 1 通知し、 図 8の処理が開始される。 ステップ S 1 1では、 資源 (キャッシュ) 提供キャンセル要求が発生した力否かを判定し、 判定結果が YESであると、 CPU 1 2— 1の制御回路 2 1から他の CPUの制御回路 2 1 他の CPUのキャッシュメモリ 2 2の制御を返すリクエスト REQ1を出す。ステップ S 1 2では、 他の CPUの制御回路 2 1から、 他の CPUのパージ回路 2 5へ、 情報保存 のため、 他の CPUのキャッシュメモリ 2 2の内容をメインメモリ 2へパージする リクエスト REQ2を出す。 これにより、 他の CPUのパージ回路 2 5は、 他の CPU のキャッシュメモリ 2 2の内容をパージする。  CPU 12-1 reduces load and resource (cache) shortage is resolved. CPU 12-1 instruction issue unit 110 power S Receives resources (cache) cancel instruction between CPUs. Then, the control circuit 21 of the CPU 121 notifies that the resource (cache) request has been canceled, and the processing in FIG. 8 starts. In step S 11, it is determined whether or not a resource (cache) provision cancellation request has occurred. If the determination result is YES, the control circuit 21 of the CPU 12-1 switches to the control circuit 21 of another CPU. Request REQ1 to return control of cache memory 22 of another CPU. In step S12, a request REQ2 for purging the contents of the cache memory 22 of the other CPU to the main memory 2 for storing information from the control circuit 21 of the other CPU to the purging circuit 25 of the other CPU Put out. As a result, the purge circuit 25 of the other CPU purges the contents of the cache memory 22 of the other CPU.
ステップ S 1 3では、 他の CPUのパージ回路 2 5によるパージが完了したか否 かを判定する。 ステップ S 1 3の判定結果が YESであると、 他の CPUのパージ回 路 2 5から他の CPUの制御回路 2 1 パージが完了したことを示す完了通知 ACK1を返す。 ステップ S 1 4では、 他の CPUの制御回路 2 1力 完了通知 ACK1 に応答して、他の CPUのマルチプレクサ 2 6をディセーブルする信号 Muxdisable をマルチプレクサ 26に供給する。 又、 ステップ S 5では、 他の CPUの制御回路 21力 完了通知 ACK1に応答して、 CPU 12— 1の制御回路 21へ完了通知 ACK2 を返すことで、 CPU12— 1による他の CPUのキャッシュメモリ 22へのアクセス を不可能にし、 処理は終了する。 In step S13, it is determined whether or not the purging by the purging circuit 25 of another CPU has been completed. If the decision result in the step S13 is YES, a completion notice ACK1 indicating that the purging circuit 25 of the other CPU is completed is returned from the purging circuit 25 of the other CPU. In step S 14, in response to ACK 1, the control circuit 21 of the other CPU, the signal Muxdisable that disables the multiplexer 26 of the other CPU in response to ACK 1 Is supplied to the multiplexer 26. In step S5, the CPU 12-1 returns a completion notification ACK2 to the control circuit 21 of the CPU 12-1 in response to the completion notification ACK1 of the control circuit 21 of the other CPU. Access to 22 is disabled, and the process ends.
図 9は、 本発明になる情報処¾¾置の第 3実施例の要部を示すプロック図であ る。 情報処理装置の第 3実施例では、 本発明になるプロセッサモジュールの第 3 実施例を用いる。 図 9中、 図 4と同一部分には同一符号を付し、 その説明は省略 する。  FIG. 9 is a block diagram showing a main part of a third embodiment of the information processing apparatus according to the present invention. In the third embodiment of the information processing apparatus, the third embodiment of the processor module according to the present invention is used. In FIG. 9, the same portions as those in FIG. 4 are denoted by the same reference numerals, and description thereof will be omitted.
本実施例では、 1つのプロセッサモジユー/レ 1の基板上に、 2つの CPU 12— 1, 12— 2が設けられている。 各 CPU12— 1, 12— 2は、 制御回路 21、 演算器 23、 マルチプレクサ 27, 28等を有する。 図 9では、 説明の便宜上、 CPU 12— 1が CPU 12— 2の演算器 23を利用する場合に必要な回路部分のみ を示している力、実際には CPU 12— 2が CPU 12—1の演算器 23を利用する場 合に必要な回路部分が鏡対称に する。  In this embodiment, two CPUs 12-1 and 12-2 are provided on the board of one processor module / module 1. Each of the CPUs 12-1 and 12-2 has a control circuit 21, a computing unit 23, multiplexers 27 and 28, and the like. In FIG. 9, for convenience of explanation, the CPU 12-1 shows only a circuit portion necessary when the arithmetic unit 23 of the CPU 12-2 is used. The circuit part necessary when using the arithmetic unit 23 is mirror-symmetric.
図 10は、 本発明になる情報処8¾置の第 4実施例の要部を示すブロック図で ある。 情報処理装置の第 4実施例では、 本発明になるプロセッサモジュールの第 4実施例を用いる。 図 10中、 図 4及ぴ図 9と同一部分には同一符号を付し、 そ の説明は省略する。  FIG. 10 is a block diagram showing a main part of a fourth embodiment of the information processing unit 8 according to the present invention. In the fourth embodiment of the information processing apparatus, the fourth embodiment of the processor module according to the present invention is used. 10, the same parts as those in FIGS. 4 and 9 are denoted by the same reference numerals, and the description thereof will be omitted.
本実施例では、 1つのプロセッサモジユーノレ 1の基板上に、 3つの CPU 12— 1, 12— 2, 12— 3が設けられている。 各 CPU12— 1, 12— 2, 12- 3は、 制御回路 21、 演算器 23、 マルチプレクサ 27, 28等を有する。 図 1 0では、説明の便宜上、 CPU 12— 1が CPU 12— 2 , 12— 3の演算器 23を利 用する場合に必要な回路部分のみを示しているが、 実際には CPU 12— 2が CPU 12-1, 12-3の演算器 23を利用する場合に必要な回路部分及び CPU 12 — 3が CPU 12— 1, 12-2の演算器 23を利用する場合に必要な回路部分が 鏡文^に する。  In this embodiment, three CPUs 12-1, 12-2, and 12-3 are provided on the board of one processor module 1. Each CPU 12-1, 12-2, 12-3 has a control circuit 21, a computing unit 23, multiplexers 27, 28, and the like. In FIG. 10, for convenience of explanation, only the circuit parts necessary when the CPU 12-1 uses the arithmetic units 23 of the CPUs 12-2 and 12-3 are shown. Are required when using the computing unit 23 of the CPUs 12-1 and 12-3, and the circuit parts required when the CPU 12-3 uses the computing unit 23 of the CPUs 12-1 and 12-2. Change to Kagami ^.
図 11は、 第 3及び第 4実施例における演算器切り替え動作を説明するフロー チヤ一トである。 図 11の説明中、 「他の CPUJ とは、 第 3実施例の:^は CPU 1 2— 1を指し、 第 4実施例の場合は CPU12— 2, 12-3を指す。 CPU 1 2— 1の負荷が増大したり、 資源 (演算器) が不足したりして、 CPU 1 2 —1の命令発行部 1 1 0が CPU間の資源 (演算器) «命令を受け取ると、 資源 (演算器) »要求が発生した旨を CPU 1 2— 1の制御回路 2 1へ通知し、 図 1 1の処理が開始される。 ステップ S 2 1では、 資源 (演算器) 樹燥求が発生し たカゝ否かを判定し、判 ^果が YESであると、 CPU 1 2— 1の制御回路 2 1から他 の CPUの制御回路 2 1へ、資源提供のリクエスト REQ1を出す。ステップ S 2 2で は、 他の CPUの制御回路 2 1力ら、 他の CPUの演算器 2 3へ、 演算処理の終了を 要求するリクエスト REQ2を出す。 FIG. 11 is a flowchart for explaining the operation unit switching operation in the third and fourth embodiments. In the description of FIG. 11, "the other CPUJ: ^ in the third embodiment indicates the CPU 12-1, and in the fourth embodiment, indicates the CPUs 12-2, 12-3. When the load on CPU 12-1 increases or the resources (arithmetic units) become insufficient, the instruction issuing unit 110 of CPU 12-1-1 receives resources (arithmetic units) «instructions between CPUs , Resources (arithmetic unit) »The request is notified to the control circuit 21 of the CPU 12-1, and the processing of FIG. 11 is started. In step S21, it is determined whether or not the resource (arithmetic unit) has been obtained. If the determination is YES, the control circuit 21 of the CPU 12-1 executes the other CPU. A request REQ1 for providing resources is issued to the control circuit 21. In step S22, a request REQ2 requesting termination of the arithmetic processing is issued from the control circuit 21 of the other CPU to the arithmetic unit 23 of the other CPU.
ステップ S 2 3では、 他の CPUの演算器 2 3による演算処理が終了したか否か を判定する。他の CPUの演算器 2 3から演算処理の終了を示す完了通知 ACK1が返 され、ステップ S 2 3の判定結果が YESであると、ステップ S 2 4では、他の CPU の制御回路 2 1力 完了通知 ACK1に応答して、他の CPUのマルチプレクサ 2 6, 2 7をイネ一ブルする信号 MuxEnableをマルチプレクサ 2 6, 2 7に供給する。 又、ステップ S 2 5では、他の CPUの制御回路 2 1力 完了通知 ACK1に応答して、 CPU 1 2 - 1の制御回路 2 1へ完了通知 ACK2を返すことで、 CPU 1 2— 1による他 の CPUの演算器 2 3の利用を可能にし、処理は終了する。 これにより、 CPU 1 2— 1は、 他の CPUの演算器 2 3に対して命令を発行して、 演算処理に他の CPUの演 算器 2 3を利用可能となる。  In step S23, it is determined whether or not the arithmetic processing by the arithmetic unit 23 of another CPU has been completed. Completion notification ACK1 indicating the end of the arithmetic processing is returned from arithmetic unit 23 of the other CPU, and if the decision result in step S23 is YES, in step S24, the control circuit 21 In response to the completion notification ACK1, the signal MuxEnable for enabling the multiplexers 26 and 27 of the other CPUs is supplied to the multiplexers 26 and 27. In step S25, the CPU 12-1 responds to the control circuit 21 of the other CPU in response to the completion notification ACK1 and returns a completion notification ACK2 to the control circuit 21 of the CPU 12-1. The operation unit 23 of another CPU is enabled, and the process ends. Thereby, the CPU 12-1 issues an instruction to the arithmetic unit 23 of another CPU, and the arithmetic unit 23 of the other CPU can be used for arithmetic processing.
資源を CPU 1 2— 1に した CPU 1 2 - 2 ( 1 2 - 3 )は、 »していない資 源を用いて CPU 1 2— 1に従属して動作可能である。  The CPU 12-2 (12-3) whose resources are set to CPU 12-1 can operate under the control of the CPU 12-1 by using resources that have not been »» d.
CPU 1 2—1の負荷が減ったり、 CPU 1 2— 1力 S資源 (演算器) を借りる必要が 無くなると、 他の CPUのキャッシュメモリ 2 2の制御を、 以下に示す如き手順で 他の CPUへ返す。  When the load on the CPU 12-1 is reduced or the need to borrow the S resource (arithmetic unit) becomes unnecessary, the control of the cache memory 22 of the other CPU is performed according to the following procedure. Return to CPU.
図 1 2は、 第 3及び第 4実施例におけるキャッシュ切り替え動作を説明するフ ローチャートである。図 1 2の説明中、 「他の CPU」とは、第 3実施例の:^は CPU 1 2— 1を指し、 第 4実施例の場合は CPU 1 2— 2, 1 2— 3を指す。  FIG. 12 is a flowchart illustrating the cache switching operation in the third and fourth embodiments. In the description of FIG. 12, “other CPU” refers to CPU 12-1 in the third embodiment, and refers to CPU 12-2 and 12-3 in the fourth embodiment. .
CPU 1 2 - 1の負荷が減ったり、資源(演算器)の不足力 S解消されたりして、 CPU 1 2 - 1の命令発行部 1 1 0が CPU間の資源 (演算器) 提供キャンセル命令を受 け取ると、 資源 (演算器) «要求がキャンセルされた旨を CPU 1 2— 1の制御 回路 2 1へ通知し、 図 1 2の処理が開始される。 ステップ S 3 1では、 資源 (演 算器) キャンセル要求が発生したカゝ否かを判定し、判 果が YESであると、 CPU 1 2— 1の制御回路 2 1から他の CPUの制御回路 2 1へ、他の CPUの演算器 2 3の制御を返すリクエスト REQ1を出す。ステップ S 2 2では、他の CPUの制御回 路 2 1から、他の CPUの演算器 2 3へ、演算処理の終了を要求するリクエスト REQ2 を出す。 As the load on the CPU 12-1 is reduced or the shortage of resources (arithmetic units) is eliminated, the instruction issuing unit 110 of the CPU 12-1 cancels the resources (arithmetic units) provided between the CPUs. Resource (arithmetic unit) «Control of CPU 12-1 The circuit 21 is notified, and the processing of FIG. 12 is started. In step S31, it is determined whether or not a resource (operator) cancellation request has occurred. If the determination is YES, the control circuit 21 of the CPU 12-1 and the control circuit of the other CPU are used. 21. Request REQ1 to return control of the arithmetic unit 23 of another CPU is issued to 21. In step S22, a request REQ2 requesting termination of the arithmetic processing is issued from the control circuit 21 of the other CPU to the arithmetic unit 23 of the other CPU.
ステップ S 3 3では、 他の CPUの演算器 2 3による演算処理が終了した力否か を判定する。他の CPUの演算器 2 3カ ら演算処理の終了を示す完了通知 ACK1が返 され、ステップ S 3 3の判定結果が YESであると、ステップ S 3 4では、他の CPU の制御回路 2 1力 S、完了通知 ACK1に応答して、他の CPUのマルチプレクサ 2 6, In step S33, it is determined whether or not the force has been calculated by the calculator 23 of another CPU. Completion notification ACK1 indicating the end of the arithmetic processing is returned from the arithmetic unit 23 of the other CPU, and if the decision result in the step S33 is YES, the control circuit 21 of the other CPU is returned in the step S34. In response to the power S and the completion notification ACK1, the multiplexers 26,
2 7をディセーブルする信号 MuxDisableをマルチプレクサ 2 6 , 2 7に供給する。 又、ステップ S 3 5では、他の CPUの制御回路 2 1力 完了通知 ACK1に応答して、 CPU 1 2— 1の制御回路 2 1へ完了通知 ACK2を返すことで、 CPU 1 2— 1による他 の CPUの演算器 2 3の利用を不可能にし、処理は終了する。これにより、他の CPU は、他の CPUの演算器 2 3に対して命令を発行して、演算処理に利用可能となる。 このように、 本努明によれば、 CMP構造を採用するマルチプロセッサシステム 1S 並列性と同時に単一高速性を実現することができる。 これにより、 マルチプ 口セッサシステムを各種用途に合わせて個別に設計する必要が無くなり、 1つの マルチプロセッサシステムで両方の要求に応えることができるので、 コストも低 減可能となる。 The signal MuxDisable for disabling 27 is supplied to multiplexers 26 and 27. In step S35, the CPU 12-1 responds to the control circuit 21 of the other CPU in response to the completion notification ACK1 and returns a completion notification ACK2 to the control circuit 21 of the CPU 12-1. The use of the arithmetic unit 23 of another CPU is disabled, and the process ends. As a result, the other CPU issues an instruction to the arithmetic unit 23 of the other CPU and becomes available for arithmetic processing. As described above, according to this effort, it is possible to realize a single processor at the same time as the multiprocessor system 1S employing the CMP structure. This eliminates the need to individually design a multi-processor system for various applications, and a single multi-processor system can meet both requirements, thus reducing costs.
又、 1つの CPUは、 1又は複数の CPUの資源を利用可能であれば良く、 1つの CPUが 3以上の CPUの資源を利用する構成であっても良レ、。  Also, it is only necessary that one CPU can use the resources of one or more CPUs, and a configuration in which one CPU uses the resources of three or more CPUs is acceptable.
更に、 上記第 1及び第 3実施例を適宜組み合わせたり、 上記第 2及び第 4実施 例を低 k義組み合わせることも可能である。 1つの CPUは、 1又は複数の CPUの 資源の少なくとも一部を利用可能であれば良 、。  Further, the first and third embodiments can be appropriately combined, or the second and fourth embodiments can be combined in a low-k sense. It is only necessary that one CPU can use at least a part of the resources of one or more CPUs.
尚、 本発明は、 上記実施例に限定されるものではなく、 本発明の範囲内で種々 の改良及び変更が可能であることは、 言うまでもない。  It should be noted that the present invention is not limited to the above embodiments, and various improvements and modifications can be made within the scope of the present invention.

Claims

請求の範囲 The scope of the claims
1 . 複数のプロセッサと、 1. Multiple processors and
数のプロセッサと共通に接続されると共に外部と接続可能な共通部とを備 え、  A common part that is commonly connected to a number of processors and that can be connected to the outside.
各プロセッサは、 制御回路と資源とを有し、  Each processor has a control circuit and resources,
各プロセッサ内の制御回路は、 1又は複数の他のプロセッサの制御回路を制御 して、 そのプロセッサ内の資源に加え、 該 1又は複数の他のプロセッサ内の資源 の少なくとも一部を利用することを特徴とする、 プロセッサモジュール。  The control circuit in each processor controls the control circuit in one or more other processors to use at least a part of the resources in the one or more other processors in addition to the resources in the processor. A processor module.
2. tiilE資源は、 記憶部及び演算部の少なくとも一方であることを特徴とす る、 請求の範囲第 1項記載のプロセッサモジユーノレ。 2. The processor module according to claim 1, wherein the tiilE resource is at least one of a storage unit and an operation unit.
3. 資源を他のプロセッサに提供したプロセッサは、 提供していない資源を 用いて他のプロセッサに従属して動作することを特徴とする、 請求の範囲第 1項 又は第 2項記載のプロセッサモジュール。 3. The processor module according to claim 1 or 2, wherein the processor that has provided the resource to another processor operates independently of the other processor using the resource that has not been provided. .
4. 各プロセッサ内の制御回路は、 前記 1又は複数の他のプロセッサの制御 回路を、 そのプロセッサの負荷又は資源の不足に応じて動的に制御することを特 徴とする、 請求の範囲第 1項〜第 3項のレ、ずれか 1項記載のプロセッサモジユー ル。 4. The control circuit in each processor is characterized in that the control circuit of the one or more other processors is dynamically controlled according to a load or a shortage of resources of the processor. Item 1. The processor module according to Item 1.
5 . 複数のプロセッサモジュールがパスを介して接続された情報処理装置で あって、 5. An information processing apparatus in which a plurality of processor modules are connected via a path,
各プロセッサモジュールは、 複数のプロセッサと、 数のプロセッサと共通 に接続されると共に前記バスと接続する共通部とを備え、  Each processor module includes a plurality of processors and a common unit commonly connected to the number of processors and connected to the bus,
1つのプロセッサモジュール内において、 各プロセッサは制御回路と資源とを 有し、 各プロセッサ内の制御回路は 1又は複数の他のプロセッサの制御回路を制 御して、 そのプロセッサ内の資源に加えて該 1又は複数の他のプロセッサ内の資 源の少なくとも一部を利用することを特徴とする、 情報処理装置。 In one processor module, each processor has a control circuit and resources, and the control circuit in each processor controls the control circuits of one or more other processors, and in addition to the resources in that processor. Resources in the one or more other processors An information processing device characterized by utilizing at least a part of a source.
6. 肅己資源は、 記憶部及び演算部の少なくとも一方であることを特徴とす る、 請求の範囲第 5項記載の情報処理装置。 6. The information processing device according to claim 5, wherein the sukumi resource is at least one of a storage unit and a calculation unit.
7. 前記 1つのプロセッサモジュールにおいて、 資源を他のプロセッサに提 供したプロセッサは、 »してレヽなレ、資源を用いて他のプロセッサに従属して動 作することを特徴とする、 請求の範囲第 5項又は第 6項記載の情報処理装置。 7. In the one processor module, a processor that has provided resources to another processor operates independently of the other processors using the resources. Item 7. The information processing device according to item 5 or 6.
8. 前記 1つのプロセッサモジュールにおいて、 各プロセッサ内の制御回路 は、 前記 1又は複数の他のプロセッサの制御回路を、 そのプロセッサの負荷又は 資源の不足に応じて動的に制御することを特徴とする、 請求の範囲第 5項〜第 7 項のレ、ずれか 1項記載の情報処¾¾置。 8. In the one processor module, a control circuit in each processor dynamically controls a control circuit of the one or more other processors according to a load or a resource shortage of the processor. The information processing device according to any one of claims 5 to 7, wherein:
PCT/JP2002/012188 2002-11-21 2002-11-21 Processor module and information processor WO2004046954A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2004553132A JPWO2004046954A1 (en) 2002-11-21 2002-11-21 Processor module and information processing apparatus
PCT/JP2002/012188 WO2004046954A1 (en) 2002-11-21 2002-11-21 Processor module and information processor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2002/012188 WO2004046954A1 (en) 2002-11-21 2002-11-21 Processor module and information processor

Publications (1)

Publication Number Publication Date
WO2004046954A1 true WO2004046954A1 (en) 2004-06-03

Family

ID=32321526

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2002/012188 WO2004046954A1 (en) 2002-11-21 2002-11-21 Processor module and information processor

Country Status (2)

Country Link
JP (1) JPWO2004046954A1 (en)
WO (1) WO2004046954A1 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07152651A (en) * 1993-11-29 1995-06-16 Canon Inc Method and device for information processing
JPH08123763A (en) * 1994-10-26 1996-05-17 Nec Corp Memory assigning system for distributed processing system
JP2000347933A (en) * 1999-06-08 2000-12-15 Nec Kofu Ltd Bus bridge, device and method for controlling cache coherence, processor unit and multiprocessor system

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07152651A (en) * 1993-11-29 1995-06-16 Canon Inc Method and device for information processing
JPH08123763A (en) * 1994-10-26 1996-05-17 Nec Corp Memory assigning system for distributed processing system
JP2000347933A (en) * 1999-06-08 2000-12-15 Nec Kofu Ltd Bus bridge, device and method for controlling cache coherence, processor unit and multiprocessor system

Also Published As

Publication number Publication date
JPWO2004046954A1 (en) 2006-03-16

Similar Documents

Publication Publication Date Title
JP4825993B2 (en) Multiprocessor system and method including a plurality of memory hub modules
TWI444023B (en) A method, apparatus, and system for performance and traffic aware heterogeneous interconnection network
Homayoun et al. Dynamically heterogeneous cores through 3D resource pooling
US7185127B2 (en) Method and an apparatus to efficiently handle read completions that satisfy a read request
US20010055277A1 (en) Initiate flow control mechanism of a modular multiprocessor system
US10187247B2 (en) Computer system and method for sharing computer memory
US7765250B2 (en) Data processor with internal memory structure for processing stream data
US7269682B2 (en) Segmented interconnect for connecting multiple agents in a system
US6415424B1 (en) Multiprocessor system with a high performance integrated distributed switch (IDS) controller
KR20120037785A (en) System on chip keeping load balance and load balancing method thereof
TW202303338A (en) Flexible and modular top and bottom side processor unit module cooling
US9727499B2 (en) Hardware first come first serve arbiter using multiple request buckets
US9412718B2 (en) 3-D stacked and aligned processors forming a logical processor with power modes controlled by respective set of configuration parameters
WO2004046954A1 (en) Processor module and information processor
US9582462B2 (en) Computer system and method for sharing computer memory
US8867533B2 (en) Multi-tier switch interface unit arbiter
CN116266973A (en) Staggered double sided multi-chip interconnect
US9298672B2 (en) 3-D stacked multiprocessor structure with vertically aligned identical layout operating processors in independent mode or in sharing mode running faster components
Keramati et al. Thermal management in 3d networks-on-chip using dynamic link sharing
US6553447B1 (en) Data processing system with fully interconnected system architecture (FISA)
KR100785586B1 (en) Method and apparatus for efficiently broadcasting transactions between a first address repeater and a second address repeater
US6735654B2 (en) Method and apparatus for efficiently broadcasting transactions between an address repeater and a client
US11822475B2 (en) Integrated circuit with 3D partitioning
JP4480678B2 (en) Semiconductor integrated circuit device
US20220365716A1 (en) Computing storage architecture with multi-storage processing cores

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): JP US

WWE Wipo information: entry into national phase

Ref document number: 2004553132

Country of ref document: JP