JP2001188764A - Multi-processor system - Google Patents

Multi-processor system

Info

Publication number
JP2001188764A
JP2001188764A JP37465499A JP37465499A JP2001188764A JP 2001188764 A JP2001188764 A JP 2001188764A JP 37465499 A JP37465499 A JP 37465499A JP 37465499 A JP37465499 A JP 37465499A JP 2001188764 A JP2001188764 A JP 2001188764A
Authority
JP
Japan
Prior art keywords
processor
main memory
program
address
multiprocessor system
Prior art date
Legal status (The legal status 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 status listed.)
Pending
Application number
JP37465499A
Other languages
Japanese (ja)
Inventor
Tatsuya Kimijima
達也 君島
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP37465499A priority Critical patent/JP2001188764A/en
Publication of JP2001188764A publication Critical patent/JP2001188764A/en
Pending legal-status Critical Current

Links

Landscapes

  • Multi Processors (AREA)

Abstract

PROBLEM TO BE SOLVED: To solve the problem that the executing performance of a whole Neumann type computer system constituting a multi-processor system is largely limited since the transfer of an instruction code from a main storage to a processor is affected by the capabilities of a bus, and that the storage capacity of the main storage which can be integrated on a semiconductor chip is limited in a Neumann type computer system integrated into one chip. SOLUTION: This system is provided with plural semiconductor chips equipped with a processor and a main storage and a bus connecting the processor to the main storage, and one address space is constituted of the main storage of each semiconductor chip, and a program recorded in the main storage to which the prescribed area of the address space is assigned is processed by a processor arranged in the same semiconductor chip as the main storage.

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【発明の属する技術分野】本発明は、コンピュータシス
テムにおける実行プログラムの実行方法に関するもので
あり、特に、マルチプロセッサシステムに関するもので
ある。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a method for executing an execution program in a computer system, and more particularly to a multiprocessor system.

【0002】[0002]

【従来の技術】マルチプロセッサシステムの例としては
図13に示すものがある。この図13は従来のマルチプ
ロセッサシステムの構成を示した構成図である。なお、
ここで言うマルチプロセッサシステムとは、複数のプロ
セッサを接続した分散処理システムである。図13にお
いて、301は第1のプロセッサ、311は第2のプロ
セッサで、302は主記憶である。なお、主記憶302
は、メモリーともいう。303はバスであり、第1のプ
ロセッサ301と主記憶302とを接続する。また、こ
のバス303は、第2のプロセッサ311と主記憶30
2とを接続する。このバス303により、命令コードが
第1のプロセッサ301又は第2のプロセッサ311に
転送される。304は命令コードの流れの方向であり、
バス303上における、第1のプロセッサ301へ向か
う命令コードの流れの方向を示す。314も命令コード
の流れの方向であり、バス303上における、第2のプ
ロセッサ311へ向かう命令コードの流れの方向を示
す。
2. Description of the Related Art An example of a multiprocessor system is shown in FIG. FIG. 13 is a configuration diagram showing a configuration of a conventional multiprocessor system. In addition,
The multiprocessor system referred to here is a distributed processing system in which a plurality of processors are connected. In FIG. 13, reference numeral 301 denotes a first processor, 311 denotes a second processor, and 302 denotes a main memory. The main memory 302
Is also called memory. A bus 303 connects the first processor 301 and the main memory 302. The bus 303 is connected to the second processor 311 and the main memory 30.
2 is connected. The instruction code is transferred to the first processor 301 or the second processor 311 via the bus 303. 304 is the direction of the flow of the instruction code,
The direction of the flow of the instruction code toward the first processor 301 on the bus 303 is shown. Reference numeral 314 denotes the direction of the flow of the instruction code, which indicates the direction of the flow of the instruction code on the bus 303 toward the second processor 311.

【0003】上述の従来のマルチプロセッサシステムの
基本構成であるノイマン型コンピュータシステムの構成
について、図14を用いて説明する。この図14は従来
のマルチプロセッサシステムの基本構成であるノイマン
型コンピュータシステムの構成を示した構成図である。
図14において、201はプロセッサであり、主記憶2
02に記憶された命令コードを取り出し、処理する。2
02は主記憶であり、実行プログラムが命令コードとし
て記憶される。203はバスであり、プロセッサ201
と主記憶202とを接続し、主記憶202に記憶された
命令コードがプロセッサ201に送られる。204は命
令コードの流れの方向であり、バス203上の、プロセ
ッサ201へ向かう命令コードの流れの方向を指し示
す。
The configuration of a Neumann computer system, which is the basic configuration of the above-described conventional multiprocessor system, will be described with reference to FIG. FIG. 14 is a configuration diagram showing a configuration of a Neumann computer system which is a basic configuration of a conventional multiprocessor system.
In FIG. 14, reference numeral 201 denotes a processor,
02 is retrieved and processed. 2
Reference numeral 02 denotes a main memory in which an execution program is stored as an instruction code. Reference numeral 203 denotes a bus, and the processor 201
And the main memory 202 are connected, and the instruction code stored in the main memory 202 is sent to the processor 201. Reference numeral 204 denotes a flow direction of the instruction code, which indicates a flow direction of the instruction code toward the processor 201 on the bus 203.

【0004】なお、図13に示された従来のマルチプロ
セッサシステムは、図14に示されたノイマン型コンピ
ュータシステムを複数組み合せたものであり、第1のプ
ロセッサ301と第2のプロセッサ311とがそれぞれ
主記憶302に接続され、これら2つのプロセッサがそ
れぞれ独立して主記憶302から命令コードやデータを
取り出し、主記憶302に記憶された実行プログラムを
実行するものである。なお、該主記憶202には、実行
プログラムが処理すべき対象のデータや、プロセッサ2
01が該実行プログラムの処理過程で一時的に使用する
実行環境などのデータも記憶される。
The conventional multiprocessor system shown in FIG. 13 is a combination of a plurality of Neumann-type computer systems shown in FIG. 14, and a first processor 301 and a second processor 311 are respectively provided. The two processors are connected to the main memory 302, and these two processors independently take out instruction codes and data from the main memory 302 and execute the execution programs stored in the main memory 302. The main memory 202 stores data to be processed by the execution program,
01 also stores data such as an execution environment temporarily used in the processing of the execution program.

【0005】また、プロセッサ201は、主記憶202
に記憶された実行プログラムの命令コードを順次取り出
し、該実行プログラムを実行する。しかし、主記憶20
2からの命令コードの送信スピードであるバス203の
転送速度が、プロセッサ201での実行スピードよりも
遅い場合、プロセッサ201は、命令コードの到着まで
待機することとなり、実行プログラムの実行は一時停
止、若しくは延期される。このような事態をノイマン型
コンピュータシステムのバス・ボトルネックと称する。
このような事態を回避するためには、プロセッサ201
の処理速度である実行スピードよりも、バス203の転
送速度を十分に確保すればよい。
[0005] The processor 201 has a main memory 202.
The instruction codes of the execution program stored in the program are sequentially extracted and the execution program is executed. However, the main memory 20
If the transfer speed of the bus 203, which is the transmission speed of the instruction code from the processor 2, is lower than the execution speed of the processor 201, the processor 201 waits until the arrival of the instruction code, and the execution of the execution program is temporarily stopped. Or postponed. Such a situation is called a bus bottleneck of the Neumann computer system.
In order to avoid such a situation, the processor 201
It is sufficient that the transfer speed of the bus 203 be sufficiently higher than the execution speed, which is the processing speed of.

【0006】このようなノイマン型コンピュータシステ
ムのバス・ボトルネックの問題は、図15に示すような
構成を用いることによって緩和させることができる。こ
の図15は、バス・ボトルネックの問題を緩和させるノ
イマン型コンピュータシステムの構成を示した構成図で
ある。図15において、401はプロセッサ、402は
主記憶である。403はバスであり、プロセッサ401
と主記憶402とを接続する。このバス403を介し
て、主記憶402に記憶されている命令コードがプロセ
ッサ401に転送される。404は命令コードの流れの
方向であり、バス403上における、プロセッサ401
へ向かう命令コードの流れの方向を示す。405は半導
体チップであり、この一つの半導体チップ405上に、
プロセッサ401と主記憶402とバス403とが集積
される。
The problem of the bus bottleneck of the Neumann computer system can be alleviated by using a configuration as shown in FIG. FIG. 15 is a configuration diagram showing a configuration of a Neumann computer system that alleviates the problem of a bus bottleneck. In FIG. 15, reference numeral 401 denotes a processor, and 402 denotes a main memory. Reference numeral 403 denotes a bus, and a processor 401
And the main memory 402 are connected. The instruction code stored in the main memory 402 is transferred to the processor 401 via the bus 403. Reference numeral 404 denotes the flow direction of the instruction code.
It shows the direction of the flow of the instruction code toward. 405 is a semiconductor chip, and on this one semiconductor chip 405,
A processor 401, a main memory 402, and a bus 403 are integrated.

【0007】一般に、半導体チップ内の動作速度は、半
導体チップ外の動作速度よりも高速である。そこで、バ
ス・ボトルネックの問題を引き起こしうるバスを、半導
体チップ405上に設けることにより、バス・ボトルネ
ックの問題を緩和させることができる。また、半導体チ
ップ内の配線は半導体チップ外の配線よりも微細加工が
可能となり、半導体チップ外のバスよりも半導体チップ
内のバスの方がそのビット数を容易に増加させることが
でき、バス203の転送速度を向上させることができ、
バス・ボトルネックの問題を緩和させることができる。
Generally, the operating speed inside a semiconductor chip is higher than the operating speed outside a semiconductor chip. Therefore, by providing a bus on the semiconductor chip 405 that can cause a bus bottleneck problem, the bus bottleneck problem can be alleviated. Further, the wiring inside the semiconductor chip can be finely processed than the wiring outside the semiconductor chip, and the number of bits can be increased more easily in the bus in the semiconductor chip than in the bus outside the semiconductor chip. Can improve the transfer speed of
The problem of the bus bottleneck can be mitigated.

【0008】次に、図15に示すようなノイマン型コン
ピュータシステムに主記憶を増設したものについて、図
16を用いて説明する。この図16は、主記憶を外部に
増設したワンチップ型のノイマン型コンピュータシステ
ムの構成を示す構成図である。なお、一つの半導体チッ
プ405にプロセッサ201と主記憶202とバス20
3とを集積したノイマン型コンピュータシステムは、ワ
ンチップ型のノイマン型コンピュータシステムやワンチ
ップ化されたノイマン型コンピュータシステムと称す
る。
Next, a description will be given of a case where a main memory is added to the Neumann computer system as shown in FIG. 15 with reference to FIG. FIG. 16 is a configuration diagram showing a configuration of a one-chip Neumann computer system in which a main memory is additionally provided outside. Note that the processor 201, the main memory 202, and the bus 20
3 is called a one-chip Neumann computer system or a one-chip Neumann computer system.

【0009】この図16において、501はプロセッ
サ、502は主記憶である。なお、主記憶502は、メ
モリーともいう。503はバスであり、プロセッサ50
1と主記憶502とを接続する。このバス503によ
り、主記憶502に記憶された命令コードがプロセッサ
501に転送される。504は命令コードの流れの方向
であり、バス503上における、第1のプロセッサ50
1へ向かう命令コードの流れの方向を示す。505は半
導体チップであり、この一つの半導体チップ505上
に、プロセッサ501と主記憶502とバス503とが
集積され、内蔵される。このように、半導体チップ50
5上に、プロセッサ501と主記憶502とバス503
とを集積することをワンチップ化と言う。
In FIG. 16, reference numeral 501 denotes a processor, and 502 denotes a main memory. Note that the main memory 502 is also called a memory. 503, a bus;
1 and the main memory 502 are connected. The instruction code stored in the main memory 502 is transferred to the processor 501 via the bus 503. Reference numeral 504 denotes the direction of the flow of the instruction code.
The direction of the flow of the instruction code toward 1 is shown. Reference numeral 505 denotes a semiconductor chip, on which the processor 501, the main memory 502, and the bus 503 are integrated and built. Thus, the semiconductor chip 50
5, a processor 501, a main memory 502, and a bus 503.
The integration of these is called one-chip integration.

【0010】515は半導体チップである。512は主
記憶であり、半導体チップ515に設けられる。また、
この主記憶512は、半導体チップ405の外部に増設
される。513はバスであり、プロセッサ201と主記
憶512とを接続する。このバス513は、命令コード
を主記憶512からプロセッサ201に転送する。51
4は命令コードの流れの方向であり、バス513上にお
ける、主記憶512からプロセッサ201への命令コー
ドの流れの方向を示す。
Reference numeral 515 is a semiconductor chip. Reference numeral 512 denotes a main memory, which is provided on the semiconductor chip 515. Also,
The main memory 512 is added outside the semiconductor chip 405. A bus 513 connects the processor 201 and the main memory 512. The bus 513 transfers the instruction code from the main storage 512 to the processor 201. 51
Reference numeral 4 denotes a flow direction of the instruction code, which indicates a flow direction of the instruction code from the main memory 512 to the processor 201 on the bus 513.

【0011】なお、図16に示すようなノイマン型コン
ピュータシステムでは、内蔵の主記憶202と外部の主
記憶512とに実行プログラムが記憶される。そして、
プロセッサ201には、以下のような各主記憶に記憶さ
れた命令コードが読み込まれ、該主記憶に記憶された実
行プログラムを実行する。つまり、内蔵された主記憶2
02に記憶された実行プログラムを実行する際には、内
蔵の主記憶202に記憶された命令コードを、バス20
3を介してプロセッサ201に読み込み、該実行プログ
ラムを実行する。また、外部の主記憶512に記憶され
た実行プログラムを実行する際には、外部の主記憶51
2に記憶された命令コードを、バス513を介してプロ
セッサ201に読み込み、実行する。
In a Neumann computer system as shown in FIG. 16, an execution program is stored in a built-in main memory 202 and an external main memory 512. And
The processor 201 reads an instruction code stored in each main storage as described below and executes an execution program stored in the main storage. That is, the built-in main memory 2
When executing the execution program stored in the main memory 202, the instruction code stored in the built-in main memory 202 is transferred to the bus 20.
3 and read into the processor 201 to execute the execution program. When executing the execution program stored in the external main memory 512, the external main memory 51
2 is read into the processor 201 via the bus 513 and executed.

【0012】[0012]

【発明が解決しようとする課題】このように、従来のマ
ルチプロセッサシステムを構成するノイマン型コンピュ
ータシステムは、実行プログラムを主記憶に記憶し、こ
の主記憶に記憶された実行プログラムの命令コードを、
一つ一つプロセッサに順次転送し、解読することによっ
て、実行プログラムを実行していた。しかし、命令コー
ドを主記憶からプロセッサへ転送することは、実行プロ
グラムの実行に際して大きなボトルネックとなりうり、
ノイマン型コンピュータシステムの実行性能を大きく制
限していた。
As described above, the Neumann-type computer system constituting the conventional multiprocessor system stores an execution program in a main memory, and executes an instruction code of the execution program stored in the main memory.
The execution program was executed by sequentially transferring the data to the processor one by one and decoding it. However, transferring the instruction code from the main memory to the processor can be a major bottleneck in executing the execution program,
The execution performance of the Neumann-type computer system was greatly limited.

【0013】具体的に、図13に示した従来のマルチプ
ロセッサシステムでは、第1のプロセッサ301及び第
2のプロセッサ311を備えたことにより、該マルチプ
ロセッサシステムでの処理可能な処理能力自体は向上し
たが、主記憶302に記憶された命令コードを各プロセ
ッサに転送するバス303自体の転送能力に余裕がなけ
れば、該マルチプロセッサシステムとしての実際の処理
能力は、バス303の命令コードの転送能力によって制
限される。つまり、第1のプロセッサ301の実行スピ
ードと第2のプロセッサ311の実行スピードとの和に
同等、若しくはそれを上回るだけのバス203の転送能
力が無ければ、該マルチプロセッサシステムの実行能力
は潜在的な処理能力まで高まらない。当然、図14に示
すノイマン型コンピュータシステムでは、バス203の
転送速度が低いと、ボトルネックとなり、実行プログラ
ムの高速実行が阻害される。
More specifically, in the conventional multiprocessor system shown in FIG. 13, the first processor 301 and the second processor 311 are provided, so that the processing capability itself which can be processed by the multiprocessor system is improved. However, if the transfer capability of the bus 303 itself for transferring the instruction code stored in the main memory 302 to each processor has no margin, the actual processing capability of the multiprocessor system becomes the transfer capability of the instruction code of the bus 303. Limited by That is, if there is no transfer capability of the bus 203 that is equal to or greater than the sum of the execution speed of the first processor 301 and the execution speed of the second processor 311, the execution capability of the multiprocessor system is potentially lower. Processing capacity does not increase. Naturally, in the Neumann computer system shown in FIG. 14, if the transfer speed of the bus 203 is low, it becomes a bottleneck and hinders high-speed execution of the execution program.

【0014】一方、図15に示すようなワンチップ化さ
れたノイマン型コンピュータシステムでは、プロセッサ
401と主記憶402とバス403とが半導体チップ4
05上に集積されることにより、バス403の転送能力
が高まり、ボトルネックの問題が緩和される。しかし、
半導体チップ405上に集積できる主記憶402の記憶
容量が制限されるという、新たな問題が生じる。当然、
図16に示すような主記憶を外部に増設したワンチップ
型のノイマン型コンピュータシステムでは、バス513
の転送速度が低いと、ボトルネックの問題が再び生じ、
外部に増設された主記憶512に記憶された実行プログ
ラムの高速実行が阻害される。
On the other hand, in a one-chip Neumann computer system as shown in FIG. 15, a processor 401, a main memory 402, and a bus 403 are connected to a semiconductor chip 4.
By integrating them on the network 05, the transfer capability of the bus 403 is increased, and the bottleneck problem is reduced. But,
A new problem arises in that the storage capacity of the main memory 402 that can be integrated on the semiconductor chip 405 is limited. Of course,
In a one-chip Neumann computer system in which main memory is externally added as shown in FIG.
If the transfer speed is low, the bottleneck problem will recur,
High-speed execution of the execution program stored in the externally added main memory 512 is hindered.

【0015】本発明は、これらの問題点を解消するため
になされたものであり、一つの半導体チップ上には集積
できないような記憶容量の大きな実行プログラムを、一
つの半導体チップ上に集積した時のように高速実行でき
るマルチプロセッサシステムを得ることを目的とするも
のである。
SUMMARY OF THE INVENTION The present invention has been made to solve these problems, and is intended to be used when an execution program having a large storage capacity that cannot be integrated on one semiconductor chip is integrated on one semiconductor chip. It is an object of the present invention to obtain a multiprocessor system capable of high-speed execution.

【0016】[0016]

【課題を解決するための手段】本発明にかかるマルチプ
ロセッサシステムは、プロセッサと主記憶とプロセッサ
及び主記憶を接続するバスとを備えた半導体チップを複
数有し、各半導体チップの主記憶により一つのアドレス
空間が構成され、アドレス空間の所定の領域が割り当て
られた主記憶に記録されたプログラムは、主記憶と同じ
半導体チップに備えられたプロセッサによって処理され
るものである。
A multiprocessor system according to the present invention has a plurality of semiconductor chips each having a processor, a main memory, and a bus connecting the processor and the main memory. One address space is configured, and a program recorded in a main memory to which a predetermined area of the address space is allocated is processed by a processor provided on the same semiconductor chip as the main memory.

【0017】また、本発明にかかるマルチプロセッサシ
ステムは、ある主記憶に記録されたプログラムから、他
の主記憶に記録された一連のプログラムへ、処理が移行
する時、ある主記憶に対応するプロセッサから、他の主
記憶に対応するプロセッサへ、ある主記憶に対応するプ
ロセッサに設定された設定環境データを、他の主記憶に
対応するプロセッサへ出力するものである。
Further, the multiprocessor system according to the present invention, when the processing shifts from a program recorded in a certain main memory to a series of programs recorded in another main memory, a processor corresponding to the certain main memory. Then, setting environment data set in a processor corresponding to a certain main storage is output to a processor corresponding to another main storage to a processor corresponding to another main storage.

【0018】さらに、本発明にかかるマルチプロセッサ
システムにおいて、ある主記憶に記録されたプログラム
から他の主記憶に記録された一連のプログラムへの処理
の移行は、ある主記憶に記録されたプログラムのアドレ
スが、予め定められたアドレスを越えたか否かによって
判断するものである。
Further, in the multiprocessor system according to the present invention, the transition of the processing from a program recorded in a certain main memory to a series of programs recorded in another main memory is performed by changing a program recorded in a certain main memory. The determination is made based on whether the address has exceeded a predetermined address.

【0019】また、本発明にかかるマルチプロセッサシ
ステムにおいて、プログラム全体は、機能モジュール毎
に分割でき、そのモジュール単位で主記憶に記録される
ものである。
Further, in the multiprocessor system according to the present invention, the entire program can be divided for each functional module, and is recorded in the main memory for each module.

【0020】さらに、本発明にかかるマルチプロセッサ
システムにおいて、プロセッサは、アドレス空間の番地
を、プロセッサに対応する主記憶のアドレスに変換する
ものである。
Further, in the multiprocessor system according to the present invention, the processor converts an address in the address space into an address of a main memory corresponding to the processor.

【0021】また、本発明にかかるマルチプロセッサシ
ステムにおいて、アドレス空間の番地を所定の主記憶の
アドレスに変換するのは、プログラムを主記憶に記録す
る時、又は該プログラムの参照するアドレスを使用する
時であるものである。
In the multiprocessor system according to the present invention, the address of the address space is converted into the address of the predetermined main memory when a program is recorded in the main memory or an address referred to by the program is used. It is time.

【0022】さらに、本発明にかかるマルチプロセッサ
システムは、あるプロセッサから他のプロセッサへ、あ
るプロセッサに設定された設定環境データを、他のプロ
セッサへ随時出力するものである。
Further, the multiprocessor system according to the present invention outputs setting environment data set in a certain processor from one processor to another processor to another processor as needed.

【0023】また、本発明にかかるマルチプロセッサシ
ステムにおいて、設定環境データは複数蓄積され、その
蓄積された複数の設定環境データの内で、その出力先が
同一の設定環境データがある場合は、最後発の設定環境
データのみが出力されるものである。
Further, in the multiprocessor system according to the present invention, a plurality of setting environment data are accumulated, and when the output destination is the same among the plurality of accumulated setting environment data, the last setting environment data is stored. Only the setting environment data of the call is output.

【0024】さらに、本発明にかかるマルチプロセッサ
システムは、プログラムの実行を監視し、設定環境デー
タの出力を遅らせるものである。
Further, the multiprocessor system according to the present invention monitors the execution of the program and delays the output of the setting environment data.

【0025】また、本発明にかかるマルチプロセッサシ
ステムにおいて、設定環境データは、専用線を介して、
あるプロセッサから他のプロセッサへ出力されるもので
ある。
In the multiprocessor system according to the present invention, the setting environment data is transmitted via a dedicated line.
This is output from one processor to another processor.

【0026】さらに、本発明にかかるマルチプロセッサ
システムは、プログラムの一部を各半導体チップの主記
憶に記録し、主記憶に対応するプロセッサでプログラム
の一部を並行して実行するものである。
Further, in the multiprocessor system according to the present invention, a part of the program is recorded in the main memory of each semiconductor chip, and the processor corresponding to the main memory executes the part of the program in parallel.

【0027】また、本発明にかかるマルチプロセッサシ
ステムは、第1のプログラムの一部及び第2のプログラ
ムが記録された第1の主記憶と、一部とは異なる第1の
プログラムの他部が記録された第2の主記憶とを備え、
第1のプログラムの他部が第2の主記憶に対応するプロ
セッサで実行されると、第1の主記憶に対応するプロセ
ッサでは、第2の実行プログラムが実行されるものであ
る。
Further, in the multiprocessor system according to the present invention, the first main memory in which a part of the first program and the second program are recorded and the other part of the first program different from the part are provided. A second main memory recorded,
When the other part of the first program is executed by the processor corresponding to the second main memory, the processor corresponding to the first main memory executes the second execution program.

【0028】[0028]

【発明の実施の形態】実施の形態1.本発明によるマル
チプロセッサシステムの一実施形態について、図1を用
いて説明する。図1は本発明の実施形態1のマルチプロ
セッサシステムの構成を示す構成図である。図1におい
て、101は第1のプロセッサであり、111は第2の
プロセッサであり、121は第nのプロセッサである。
これらのプロセッサは、各主記憶に接続され、主記憶か
ら命令コードを取り出し、実行プログラムを実行する。
102,112,122は主記憶であり、実行プログラ
ムが記憶される。なお、主記憶への実行プログラムの記
憶は、実行プログラムの主記憶への格納とも言う。
DESCRIPTION OF THE PREFERRED EMBODIMENTS Embodiment 1 One embodiment of a multiprocessor system according to the present invention will be described with reference to FIG. FIG. 1 is a configuration diagram showing a configuration of the multiprocessor system according to the first embodiment of the present invention. In FIG. 1, 101 is a first processor, 111 is a second processor, and 121 is an n-th processor.
These processors are connected to the main memories, retrieve instruction codes from the main memories, and execute execution programs.
Reference numerals 102, 112, and 122 denote main memories, which store execution programs. Note that storing the execution program in the main memory is also referred to as storing the execution program in the main memory.

【0029】103はバスであり、主記憶102から実
行プログラムを第1のプロセッサ101に転送する。1
13もバスであり、主記憶112から実行プログラムを
第2のプロセッサ111に転送する。123もバスであ
り、主記憶122から実行プログラムを第nのプロセッ
サ121に転送する。104は主記憶102から第1の
プロセッサ101に転送される命令コードの流れの方向
を示す。114は主記憶112から第2のプロセッサ1
11に転送される命令コードの流れの方向を示す。12
4は主記憶122から第nのプロセッサ121に転送さ
れる命令コードの流れの方向を示す。
A bus 103 transfers an execution program from the main memory 102 to the first processor 101. 1
A bus 13 also transfers an execution program from the main memory 112 to the second processor 111. A bus 123 transfers an execution program from the main memory 122 to the n-th processor 121. 104 indicates the direction of the flow of the instruction code transferred from the main memory 102 to the first processor 101. 114 is the second processor 1 from the main memory 112
11 shows the direction of the flow of the instruction code transferred. 12
4 indicates the direction of the flow of the instruction code transferred from the main memory 122 to the n-th processor 121.

【0030】105は半導体チップであるLSIであ
り、第1のプロセッサ101、主記憶102、及びバス
103がワンチップ化されたものである。なお、LSI
105上で、第1のプロセッサ101は、バス103を
介して、主記憶102から、高速に命令コードが入力さ
れる。115は半導体チップであるLSIであり、第2
のプロセッサ111、主記憶112、及びバス113が
ワンチップ化されたものである。なお、LSI115上
で、第2のプロセッサ111は、バス113を介して、
主記憶112から、高速に命令コードが入力される。1
25は半導体チップであるLSIであり、第nのプロセ
ッサ121、主記憶122、及びバス123がワンチッ
プ化されたものである。なお、LSI125上で、第n
のプロセッサ121は、バス123を介して、主記憶1
22から、高速に命令コードが入力される。
Reference numeral 105 denotes an LSI as a semiconductor chip, in which the first processor 101, the main memory 102, and the bus 103 are integrated into one chip. Note that LSI
The instruction code is input to the first processor 101 from the main memory 102 via the bus 103 at high speed. Reference numeral 115 denotes an LSI which is a semiconductor chip.
Processor 111, main memory 112, and bus 113 are integrated into one chip. Note that, on the LSI 115, the second processor 111
An instruction code is input from the main memory 112 at high speed. 1
Reference numeral 25 denotes an LSI which is a semiconductor chip, in which the n-th processor 121, the main memory 122, and the bus 123 are integrated into one chip. Note that the n-th LSI
Of the main memory 1 via the bus 123
From 22, an instruction code is input at a high speed.

【0031】106は外部バスであり、各LSI105
〜125を接続する。つまり、外部バス106は、バス
103とバス113とバス123とを接続する。この外
部バス106を用いることにより、各主記憶102〜1
22に実行プログラムを分けて記憶させることができ
る。
Reference numeral 106 denotes an external bus.
To 125 are connected. That is, the external bus 106 connects the bus 103, the bus 113, and the bus 123. By using the external bus 106, each of the main memories 102 to 1
The execution program can be stored separately in the storage 22.

【0032】次に、本実施形態のマルチプロセッサシス
テムにおけるメモリマップについて図2を用いて説明す
る。図2は本実施形態のマルチプロセッサシステムにお
けるメモリマップを示す概念図である。図2において、
600はアドレス空間である。601はアドレス空間6
00における第1のプロセッサ用領域、602は第2の
プロセッサ用領域、603は第nのプロセッサ用領域で
ある。604は空き領域である。なお、アドレス空間6
00は、第1のプロセッサ用領域601〜第nのプロセ
ッサ用領域603、及び空き領域604から構成され
る。
Next, a memory map in the multiprocessor system of the present embodiment will be described with reference to FIG. FIG. 2 is a conceptual diagram showing a memory map in the multiprocessor system of the present embodiment. In FIG.
600 is an address space. 601 is address space 6
At 00, a first processor area, 602 is a second processor area, and 603 is an n-th processor area. 604 is a free area. Note that address space 6
00 includes a first processor area 601 to an n-th processor area 603, and a free area 604.

【0033】また、第1のプロセッサ用領域601は、
アドレス空間600の0番地から始まる。また、第1の
プロセッサ用領域601、第2のプロセッサ用領域60
2〜第nのプロセッサ用領域603の各プロセッサ用領
域は、メモリマップにおける0番地に近い方から順序づ
けられる。これら各プロセッサ用領域に付された順序、
例えば「第1の」は、対応するプロセッサの識別番号で
もある。さらに、第1のプロセッサ用領域601は、主
記憶102に割り当てられる。また、第2のプロセッサ
用領域602は、主記憶112に割り当てられる。さら
に、第nのプロセッサ用領域603は、主記憶122に
割り当てられる。
The first processor area 601 is:
It starts from address 0 of the address space 600. In addition, the first processor area 601 and the second processor area 60
The processor areas of the second to n-th processor areas 603 are ordered from the one closer to address 0 in the memory map. The order assigned to each of these processor areas,
For example, “first” is also the identification number of the corresponding processor. Further, the first processor area 601 is allocated to the main storage 102. The second processor area 602 is allocated to the main storage 112. Further, the n-th processor area 603 is allocated to the main memory 122.

【0034】なお、第1のプロセッサ101からのバス
103を介した主記憶102へのアクセスは、外部バス
106を介した他のプロセッサからのアクセスよりも、
高速である。また、第2のプロセッサ111からのバス
113を介した主記憶112へのアクセスは、外部バス
106を介した他のプロセッサからのアクセスよりも、
高速である。さらに、第nのプロセッサ121からのバ
ス123を介した主記憶122へのアクセスは、外部バ
ス106を介した他のプロセッサからのアクセスより
も、高速である。
Note that the access from the first processor 101 to the main memory 102 via the bus 103 is more efficient than the access from another processor via the external bus 106.
Be fast. In addition, the access from the second processor 111 to the main memory 112 via the bus 113 is higher than the access from another processor via the external bus 106.
Be fast. Further, access from the n-th processor 121 to the main memory 122 via the bus 123 is faster than access from another processor via the external bus 106.

【0035】次に、本実施形態のマルチプロセッサシス
テムにおける実行プログラムの実行時の構成について図
3を用いて説明する。図3は本実施形態のマルチプロセ
ッサシステムにおける実行プログラムの実行時の構成を
示す構成図である。図3において、701は第1のプロ
セッサであり、711は第2のプロセッサであり、72
1は第nのプロセッサである。702,712,722
は主記憶であり、実行プログラムが記憶される。703
はバスであり、該バス703を介して主記憶702から
第1のプロセッサ701へ実行プログラムが転送され
る。713はバスであり、該バス713を介して主記憶
712から第2のプロセッサ711へ実行プログラムが
転送される。723はバスであり、該バス723を介し
て主記憶722から第nのプロセッサ721へ実行プロ
グラムが転送される。
Next, the configuration at the time of execution of the execution program in the multiprocessor system of this embodiment will be described with reference to FIG. FIG. 3 is a configuration diagram showing a configuration at the time of execution of an execution program in the multiprocessor system of the present embodiment. In FIG. 3, reference numeral 701 denotes a first processor, 711 denotes a second processor, and
1 is an n-th processor. 702, 712, 722
Is a main memory in which an execution program is stored. 703
Is a bus, and an execution program is transferred from the main memory 702 to the first processor 701 via the bus 703. Reference numeral 713 denotes a bus through which an execution program is transferred from the main memory 712 to the second processor 711. Reference numeral 723 denotes a bus through which an execution program is transferred from the main memory 722 to the n-th processor 721.

【0036】704は主記憶702から第2のプロセッ
サ711に転送される命令コードの流れの方向、714
は主記憶712から第2のプロセッサ711に転送され
る命令コードの流れの方向、724は主記憶722から
第2のプロセッサ711に転送される命令コードの流れ
の方向を示す。705はLSIであり、第1のプロセッ
サ701、主記憶702、及びバス703がワンチップ
化されたものである。715はLSIであり、第2のプ
ロセッサ711、主記憶712、及びバス713がワン
チップ化されたものである。725はLSIであり、第
nのプロセッサ721、主記憶722、及びバス723
がワンチップ化されたものである。706は外部バスで
あり、LSI705とLSI715とLSI725とを
接続する。
Reference numeral 704 denotes the direction of the flow of the instruction code transferred from the main memory 702 to the second processor 711;
Indicates the direction of the flow of the instruction code transferred from the main storage 712 to the second processor 711, and 724 indicates the direction of the flow of the instruction code transferred from the main storage 722 to the second processor 711. Reference numeral 705 denotes an LSI in which the first processor 701, the main memory 702, and the bus 703 are integrated into one chip. Reference numeral 715 denotes an LSI in which the second processor 711, the main memory 712, and the bus 713 are integrated into one chip. An LSI 725 includes an n-th processor 721, a main memory 722, and a bus 723.
Is one chip. An external bus 706 connects the LSI 705, the LSI 715, and the LSI 725.

【0037】この図3では、各主記憶から第2のプロセ
ッサ711に実行プログラムの命令コードが転送されて
いる。これは第2のプロセッサ711共にワンチップ化
された主記憶712に、実行プログラムの使用頻度の高
い部分が記憶されていたと仮定したためである。このよ
うに、実行プログラムの使用頻度の高い部分が記憶され
た主記憶712に対応する第2のプロセッサ711で、
該実行プログラムの命令コードを処理することにより、
実行プログラムの使用頻度の高い部分を高速に処理する
ことができ、実行プログラムの効率的に実行できる。
In FIG. 3, the instruction code of the execution program is transferred from each main memory to the second processor 711. This is because it is assumed that the frequently used portion of the execution program has been stored in the main memory 712 formed as one chip together with the second processor 711. As described above, the second processor 711 corresponding to the main memory 712 storing the frequently used part of the execution program includes:
By processing the instruction code of the execution program,
Frequently used portions of the execution program can be processed at high speed, and the execution program can be executed efficiently.

【0038】なお、主記憶712に対応する第2のプロ
セッサ711とは、主記憶712と共にワンチップ化さ
れた第2のプロセッサ711のことをさす。また、主記
憶712とワンチップ化された第2のプロセッサ711
は、同じくワンチップ化されたバス713を用いて、主
記憶712から第2のプロセッサ711へ、実行プログ
ラムの命令コードを高速に転送する。ゆえに、第2のプ
ロセッサ711は、実行プログラムの使用頻度の高い部
分を高速に処理することができ、該実行プログラムを効
率的に実行することができる。さらに、実行プログラム
の使用頻度の高い部分とは、その実行に多くの時間を要
する部分、つまり、実行プログラムのステップ数や実行
プログラムに対応する命令コード数が多い部分のこと等
である。
Note that the second processor 711 corresponding to the main memory 712 refers to the second processor 711 integrated with the main memory 712 into one chip. A main processor 712 and a second processor 711 integrated into one chip
Transfers the instruction code of the execution program from the main memory 712 to the second processor 711 at high speed using the bus 713 also formed as one chip. Therefore, the second processor 711 can process a frequently used portion of the execution program at a high speed, and can efficiently execute the execution program. Further, the frequently used portion of the execution program is a portion that requires a lot of time to execute, that is, a portion in which the number of steps of the execution program or the number of instruction codes corresponding to the execution program is large.

【0039】以上のことから、本実施形態のマルチプロ
セッサシステムは、実行プログラムの実行に最も時間の
かかる、実行プログラムにおける使用頻度の高い部分が
記憶された主記憶と共にワンチップ化されたプロセッサ
を選択し、この選択されたプロセッサを用いて該実行プ
ログラムを実行するため、従来のマルチプロセッサシス
テムのように、実行プログラムを高速で実行できる領域
とそうでない領域とが固定化されているシステムより
も、多くの場合で実行プログラムの実行効率を高めるこ
とができる。
As described above, the multiprocessor system according to the present embodiment selects the one-chip processor together with the main memory in which the most frequently used portion of the execution program is stored, which takes the longest time to execute the execution program. However, since the execution program is executed by using the selected processor, a region where the execution program can be executed at a high speed and a region where the execution program cannot be executed are fixed as in a conventional multiprocessor system, In many cases, the execution efficiency of the execution program can be increased.

【0040】実施の形態2.本発明によるマルチプロセ
ッサシステムの他の実施形態について説明する。なお、
本実施形態のマルチプロセッサシステムの構成は、図1
に示す実施形態1と同一であり、その説明を省略する。
次に、本実施形態のマルチプロセッサシステムにおける
メモリマップについて図4を用いて説明する。図4は本
実施形態のマルチプロセッサシステムにおけるメモリマ
ップを示す概念図である。また、図4は実行プログラム
の配置を示す配置図でもある。図4において、800は
アドレス空間である。801はアドレス空間800にお
ける第1のプロセッサ用領域、802はアドレス空間8
00における第2のプロセッサ用領域、803はアドレ
ス空間800における第3のプロセッサ用領域である。
なお、第1のプロセッサ用領域801は、アドレス空間
800の0番地から始まる。
Embodiment 2 Another embodiment of the multiprocessor system according to the present invention will be described. In addition,
The configuration of the multiprocessor system of the present embodiment is shown in FIG.
Is the same as the first embodiment shown in FIG.
Next, a memory map in the multiprocessor system of the present embodiment will be described with reference to FIG. FIG. 4 is a conceptual diagram showing a memory map in the multiprocessor system of the present embodiment. FIG. 4 is a layout diagram showing the layout of the execution programs. In FIG. 4, reference numeral 800 denotes an address space. 801 is the first processor area in the address space 800, and 802 is the address space 8
Reference numeral 803 denotes a second processor area in the address space 800.
Note that the first processor area 801 starts from address 0 of the address space 800.

【0041】804はプロセッサ変更コード領域であ
り、第1のプロセッサ用領域801と第2のプロセッサ
用領域802との間、第2のプロセッサ用領域802と
第3のプロセッサ用領域803との間、等に設けられ
る。なお、このプロセッサ変更コード領域804には、
実行プログラムの実行を担うプロセッサの切替命令であ
る命令コードが設定される。805はアドレス空間80
0における空き領域である。なお、アドレス空間800
は、第1のプロセッサ用領域801〜第3のプロセッサ
用領域803、プロセッサ変更コード領域804及び空
き領域805から構成される。
Reference numeral 804 denotes a processor change code area, which is located between the first processor area 801 and the second processor area 802, between the second processor area 802 and the third processor area 803, And so on. The processor change code area 804 includes
An instruction code, which is a switching instruction of a processor responsible for executing the execution program, is set. 805 is an address space 80
0 is an empty area. Note that the address space 800
Is composed of a first processor area 801 to a third processor area 803, a processor change code area 804, and a free area 805.

【0042】通常、実行プログラムは、番地であるアド
レスの小さいほうから順に大きいほうに実行される。つ
まり、図4では下の方から順に実行される。例えば、第
1のプロセッサ用領域801である主記憶102に記憶
された実行プログラムの命令コードがまず実行される
と、その後、プロセッサ変更コード領域804の命令コ
ードが実行される。そして、プロセッサ変更コード領域
804の命令コードにより、第3のプロセッサ用領域8
03へジャンプする旨が指定された場合、それまで実行
プログラムの実行を担っていた第1のプロセッサ101
の実行環境のデータは、外部バス106を用いて、第3
のプロセッサに転送される。なお、実行環境のデータと
は、実行プログラムの実行中のプロセッサが有する実行
プログラムカウンタの値や、プラグ、レジスタの値をい
う。そして、第1のプロセッサの実行環境のデータが第3
のプロセッサに転送されると、第1のプロセッサ用領域
801の命令コードの実行後、第2のプロセッサ用領域
802の命令コードが実行されることなく、第3のプロ
セッサ用領域803の命令コードが実行される。当然、
該第3のプロセッサ用領域803の命令コードは、第3
のプロセッサによって実行される。
Normally, the execution program is executed in ascending order of the address which is the address. That is, in FIG. 4, the processing is performed in order from the bottom. For example,
When the instruction code of the execution program stored in the main memory 102, which is one processor area 801, is executed first, then the instruction code in the processor change code area 804 is executed. Then, according to the instruction code in the processor change code area 804, the third processor area 8
03 is designated, the first processor 101 which has been responsible for executing the execution program up to that point is designated.
The data of the execution environment of the third
To the processor. The data of the execution environment refers to the value of the execution program counter, the value of the plug, and the value of the register of the processor that is executing the execution program. And the data of the execution environment of the first processor is the third
When the instruction code of the first processor area 801 is executed, the instruction code of the third processor area 803 is not executed after the instruction code of the second processor area 802 is executed. Be executed. Of course,
The instruction code of the third processor area 803 is
Executed by the processor.

【0043】また、第1のプロセッサ用領域801の命
令コードが実行された後、プロセッサ変更コード領域8
04の命令コードが実行され、このプロセッサ変更コー
ド領域804の命令コードにより、第2のプロセッサ用
領域802へ進む旨が指定されていた場合、それまでの
実行プログラムの実行を担っていた第1のプロセッサ1
01の実行環境のデータは、外部バス106により、第
2のプロセッサ111に転送される。そして、第1のプ
ロセッサ101の実行環境のデータが第2のプロセッサ
111に転送されると、第1のプロセッサ用領域801
の命令コードが実行された後、第2のプロセッサ用領域
802の命令コードが順に実行される。当然、該第2の
プロセッサ用領域802の命令コードは、第2のプロセ
ッサ111によって実行される。
After the instruction code in the first processor area 801 is executed, the processor change code area 8
04 is executed, and when the instruction code in the processor change code area 804 specifies that the processing proceeds to the second processor area 802, the first execution code that has been responsible for executing the execution program up to that point is executed. Processor 1
01 is transferred to the second processor 111 via the external bus 106. When the data of the execution environment of the first processor 101 is transferred to the second processor 111, the first processor area 801
Are executed, the instruction codes in the second processor area 802 are sequentially executed. Naturally, the instruction code in the second processor area 802 is executed by the second processor 111.

【0044】また、第2のプロセッサ用領域802の命
令コードが実行された後、プロセッサ変更コード領域8
04の命令コードが実行され、このプロセッサ変更コー
ド領域804の命令コードにより、第3のプロセッサ用
領域803へ進む旨が指定されていた場合、それまでの
実行プログラムの実行を担っていた第2のプロセッサ1
11の実行環境のデータは、外部バス106により、第
3のプロセッサに転送される。そして、第2のプロセッ
サ111の実行環境のデータが第3のプロセッサに転送
されると、第2のプロセッサ用領域802の命令コード
が実行された後、第3のプロセッサ用領域803の命令
コードが順に実行される。当然、該第3のプロセッサ用
領域803の命令コードは、第3のプロセッサによって
実行される。
After the execution of the instruction code in the second processor area 802, the processor change code area 8
04 is executed, and when the instruction code of the processor change code area 804 specifies that the processing proceeds to the third processor area 803, the second execution code that has been responsible for executing the execution program up to that point is executed. Processor 1
The data of the eleventh execution environment is transferred to the third processor via the external bus 106. Then, when the data of the execution environment of the second processor 111 is transferred to the third processor, the instruction code of the second processor area 802 is executed, and then the instruction code of the third processor area 803 is changed. It is executed in order. Naturally, the instruction code in the third processor area 803 is executed by the third processor.

【0045】なお、第1のプロセッサ用領域801の命
令コードとは主記憶102に記憶された実行プログラム
の命令コードのことであり、第2のプロセッサ用領域8
02の命令コードとは主記憶112に記憶された実行プ
ログラムの命令コードのことであり、第3のプロセッサ
用領域803の命令コードとは対応する主記憶に記憶さ
れた実行プログラムの命令コードのことである。
Note that the instruction code of the first processor area 801 is the instruction code of the execution program stored in the main storage 102, and the second processor area 8
02 is the instruction code of the execution program stored in the main storage 112, and the instruction code of the third processor area 803 is the instruction code of the execution program stored in the corresponding main storage. It is.

【0046】このように、各主記憶に記憶された実行プ
ログラムの命令コードを、該主記憶が切り替わる度に、
対応するプロセッサで処理するように切り替えることに
より、バスを介したプロセッサによる主記憶へのアクセ
スが高速化され、実行プログラムの実施効率が向上す
る。つまり、プロセッサが外部バス106を用いて主記
憶に記憶された実行プログラムの命令コードにアクセス
することが無くなり、実行プログラムの実行効率の低下
を防ぐことができる。なお、対応するプロセッサとは、
バスを介して該主記憶とワンチップ化されたプロセッサ
のことである。
As described above, the instruction code of the execution program stored in each main memory is changed every time the main memory is switched.
By switching the processing to be performed by the corresponding processor, access to the main storage by the processor via the bus is speeded up, and the execution efficiency of the execution program is improved. That is, the processor does not use the external bus 106 to access the instruction code of the execution program stored in the main storage, thereby preventing the execution efficiency of the execution program from lowering. The corresponding processor is
This is a processor integrated with the main memory via a bus.

【0047】また、主記憶が切り替わる度にプロセッサ
も切り替わることは、実行プログラムの使用頻度の高い
ところだけを高速のバスを用いて処理するよりも、一層
の高速処理を図ることができる。これは、実行プログラ
ムの使用頻度の低いところさえも高速のバスを用いて転
送され処理されるためである。なお、主記憶とプロセッ
サとを対応させ、切り替えることは、隣り合うプロセッ
サ用領域の間に設けられるプロセッサ変更コード領域に
設定される命令コードによるものである。このプロセッ
サ変更コード領域に設定される命令コードは、外部バス
106を用いて、実行プログラムの実行環境のデータを
次なるプロセッサ用領域に対応するプロセッサに転送し
設定するものである。
Further, switching the processor every time the main memory is switched makes it possible to achieve a higher speed process than processing only a portion where the execution program is frequently used by using a high speed bus. This is because even an infrequently used place of the execution program is transferred and processed using a high-speed bus. Switching between the main memory and the processor and switching is performed by an instruction code set in a processor change code area provided between adjacent processor areas. The instruction code set in the processor change code area transfers and sets data of the execution environment of the execution program to the processor corresponding to the next processor area using the external bus 106.

【0048】実施の形態3.本発明によるマルチプロセ
ッサシステムの他の実施形態について説明する。なお、
本実施形態のマルチプロセッサシステムの構成は、図1
に示す実施形態とほぼ同一であり、その説明を省略す
る。次に、本実施形態のマルチプロセッサシステムが有
する実行環境のデータを受け渡す機構について、図5を
用いて説明する。この図5は、本実施形態のマルチプロ
セッサシステムが有する実行環境のデータを受け渡す機
構の構成を示す構成図である。図5において、900は
各プロセッサが有する第0汎用レジスタ、901は各プ
ロセッサが有する第1汎用レジスタ、902は各プロセ
ッサが有する第n汎用レジスタである。
Embodiment 3 Another embodiment of the multiprocessor system according to the present invention will be described. In addition,
The configuration of the multiprocessor system of the present embodiment is shown in FIG.
Is substantially the same as the embodiment shown in FIG. Next, a mechanism for transferring data of the execution environment of the multiprocessor system of the present embodiment will be described with reference to FIG. FIG. 5 is a configuration diagram showing a configuration of a mechanism for transferring data of an execution environment included in the multiprocessor system of the present embodiment. In FIG. 5, reference numeral 900 denotes a 0th general-purpose register included in each processor, 901 denotes a first general-purpose register included in each processor, and 902 denotes an nth general-purpose register included in each processor.

【0049】910は有効性フラグであり、第0汎用レ
ジスタ900に格納された実行環境のデータが有効なも
のかどうかを示す。911も有効性フラグであり、第1
汎用レジスタ901に格納された実行環境のデータが有
効なものかどうかを示す。912も有効性フラグであ
り、第n汎用レジスタ902に格納された実行環境のデ
ータが有効なものかどうかを示す。なお、有効性フラグ
の初期値は0であり、対応する汎用レジスタに格納され
たデータが無効であることを示す。また、有効性フラグ
の値が1である場合、対応する汎用レジスタに格納され
たデータは有効であることを示す。そして、有効性フラ
グの値が1となるのは、対応する汎用レジスタに主記憶
などの外部からデータが書き込まれた場合、対応する汎
用レジスタに他の汎用レジスタからデータが転送されて
きた場合、対応する汎用レジスタに何らかの演算結果が
書き込まれた場合などが挙げられる。920は次期実行
プロセッサ番号レジスタであり、次に実行プログラムを
実行するプロセッサの識別番号が格納される。なお、次
に実行プログラムを実行するプロセッサは、該実行プロ
グラムを実行している途中に判別される。
A validity flag 910 indicates whether or not the data of the execution environment stored in the 0th general-purpose register 900 is valid. Reference numeral 911 denotes a validity flag.
Indicates whether the data of the execution environment stored in the general-purpose register 901 is valid. A validity flag 912 indicates whether the data of the execution environment stored in the n-th general-purpose register 902 is valid. Note that the initial value of the validity flag is 0, indicating that the data stored in the corresponding general-purpose register is invalid. When the value of the validity flag is 1, it indicates that the data stored in the corresponding general-purpose register is valid. The value of the validity flag becomes 1 when data is written to the corresponding general-purpose register from outside such as main memory, when data is transferred from another general-purpose register to the corresponding general-purpose register, For example, a case where some operation result is written to the corresponding general-purpose register. A next execution processor number register 920 stores the identification number of the processor that executes the next execution program. The processor that next executes the execution program is determined during the execution of the execution program.

【0050】本実施形態のマルチプロセッサシステムが
有する任意のプロセッサは、実行プログラムを実行して
いる途中で他のプロセッサに対応するプロセッサ用領域
である主記憶から命令コードを取り出すことになった
時、自動的に有効性フラグ910〜912が1となり、
該有効性フラグに対応する汎用レジスタに格納された有
効データが、次期実行プロセッサ番号レジスタ920に
記録された識別番号のプロセッサに転送される。なお、
例えば第0汎用レジスタに格納された有効データは、現
在実行プログラムを実行しているプロセッサの第0汎用
レジスタから、次期に実行プログラムを実行するプロセ
ッサの第0汎用レジスタに転送される。そして、第1汎
用レジスタに格納された有効データもこれに準じる。そ
して、汎用レジスタに格納された有効データを送ったプ
ロセッサの有効性フラグは0にリセットされ、送られた
有効データを受けたプロセッサの有効性フラグは1を示
す。なお、該有効データの送受に関係しないプロセッサ
の有効性フラグも0にリセットされる。また、該有効デ
ータを受け取ったプロセッサは、直ちに実行プログラム
の実行を開始する。
When an arbitrary processor included in the multiprocessor system of the present embodiment fetches an instruction code from the main memory which is a processor area corresponding to another processor during execution of the execution program, The validity flags 910 to 912 are automatically set to 1,
The valid data stored in the general-purpose register corresponding to the validity flag is transferred to the processor of the identification number recorded in the next execution processor number register 920. In addition,
For example, the valid data stored in the 0th general-purpose register is transferred from the 0th general-purpose register of the processor currently executing the execution program to the 0th general-purpose register of the processor executing the next execution program. The valid data stored in the first general-purpose register conforms to this. Then, the validity flag of the processor that has transmitted the valid data stored in the general-purpose register is reset to 0, and the validity flag of the processor that has received the transmitted valid data indicates 1. The validity flags of the processors not related to the transmission / reception of the valid data are also reset to 0. The processor that has received the valid data immediately starts executing the execution program.

【0051】このような実行環境のデータの受け渡し機
構をマルチプロセッサシステムに設けることにより、プ
ロセッサ切替のための命令コードや該プロセッサへの実
行環境データの転送の命令コードを実行プログラムに事
前に埋込む必要が無く、実行プログラムの構築が容易と
なり、プロセッサの切り替えに伴う実行環境のデータの
自動転送が可能となった。
By providing such a data transfer mechanism of the execution environment in the multiprocessor system, an instruction code for switching the processor and an instruction code for transferring the execution environment data to the processor are embedded in the execution program in advance. This eliminates the necessity, facilitates the construction of the execution program, and makes it possible to automatically transfer the data of the execution environment when the processor is switched.

【0052】実施の形態4.本発明によるマルチプロセ
ッサシステムの他の実施形態について説明する。なお、
本実施形態のマルチプロセッサシステムの構成は、図1
に示す実施形態とほぼ同一であり、その説明を省略す
る。次に、本実施形態のマルチプロセッサシステムが有
する領域を外れたことを検出する機構について、図6を
用いて説明する。この図6は、本実施形態のマルチプロ
セッサシステムが有する領域を外れたことを検出する機
構の構成を示す構成図である。なお、領域とは、プロセ
ッサ用領域のことである。図6において、1001は領
域の下限記憶レジスタであり、各プロセッサに設けられ
る。各プロセッサは固有の領域の下限記憶レジスタ10
01を有し、該プロセッサに割り当てられている領域の
下限アドレスが予め設定される。
Embodiment 4 FIG. Another embodiment of the multiprocessor system according to the present invention will be described. In addition,
The configuration of the multiprocessor system of the present embodiment is shown in FIG.
Is substantially the same as the embodiment shown in FIG. Next, a mechanism for detecting a departure from an area of the multiprocessor system of the present embodiment will be described with reference to FIG. FIG. 6 is a configuration diagram showing a configuration of a mechanism for detecting that the multiprocessor system according to the present embodiment has deviated from an area. The area is an area for a processor. In FIG. 6, reference numeral 1001 denotes a lower limit storage register of an area, which is provided in each processor. Each processor has a unique area lower limit storage register 10.
01, and the lower limit address of the area allocated to the processor is set in advance.

【0053】1011は領域の上限記憶レジスタであ
り、各プロセッサに設けられる。各プロセッサは固有の
領域の上限記憶レジスタ1011を有し、該プロセッサ
に割り当てられている領域の上限アドレスが予め設定さ
れる。1002はプログラムカウンタであり、実行プロ
グラムのアドレスをカウントする。該プログラムカウン
タ1002を有するプロセッサは、該プログラムカウン
タ1002の出力であるプログラムカウンタ出力101
2を用い、命令コードを取り出す。
Reference numeral 1011 denotes an area upper limit storage register provided in each processor. Each processor has a unique region upper limit storage register 1011, and the upper limit address of the region assigned to the processor is set in advance. A program counter 1002 counts the address of an execution program. A processor having the program counter 1002 outputs a program counter output 101 which is an output of the program counter 1002.
2, the instruction code is extracted.

【0054】1003は比較器であり、プログラムカウ
ンタ出力1012のアドレス値と、領域の下限記憶レジ
スタ1001に設定された設定値とを比較する。そし
て、プログラムカウンタ出力1012のアドレス値が、
領域の下限記憶レジスタ1001に設定された設定値よ
りも小さくなった場合に、信号1004を出力する。1
013は比較器であり、プログラムカウンタ出力101
2のアドレス値と、領域の上限記憶レジスタ1011に
設定された設定値とを比較する。そして、プログラムカ
ウンタ出力1012のアドレス値が、領域の上限記憶レ
ジスタ1011に設定された設定値よりも大きくなった
場合に、信号1014を出力する。1005は論理和ゲ
ート回路であり、比較器1003から出力された信号1
004、比較器1013から出力された信号1014が
入力される。1015は検出信号出力であり、論理和ゲ
ート回路1005から出力される。該検出信号出力10
15に基づき、実行プログラムの実行アドレスが所定の
プロセッサ用領域から外れたか否かが判断される。
A comparator 1003 compares the address value of the program counter output 1012 with the set value set in the lower limit storage register 1001 of the area. Then, the address value of the program counter output 1012 is
When the value becomes smaller than the set value set in the lower limit storage register 1001 of the area, a signal 1004 is output. 1
Reference numeral 013 denotes a comparator, which is a program counter output 101
2 is compared with the set value set in the upper limit storage register 1011 of the area. Then, when the address value of the program counter output 1012 becomes larger than the set value set in the area upper limit storage register 1011, a signal 1014 is output. Reference numeral 1005 denotes an OR gate circuit, which outputs the signal 1 output from the comparator 1003.
004, the signal 1014 output from the comparator 1013 is input. Reference numeral 1015 denotes a detection signal output, which is output from the OR gate circuit 1005. The detection signal output 10
15, it is determined whether or not the execution address of the execution program has deviated from the predetermined processor area.

【0055】このように、領域を外れたことを検出する
機構を備えることにより、実行プログラムにおけるプロ
セッサ用領域及びプロセッサの変更を容易に変えること
ができる。
As described above, by providing a mechanism for detecting the departure from the area, it is possible to easily change the processor area and the processor in the execution program.

【0056】実施の形態5.本発明によるマルチプロセ
ッサシステムの他の実施形態について説明する。なお、
本実施形態のマルチプロセッサシステムの構成は、図1
に示す実施形態1と同一であり、その説明を省略する。
次に、本実施形態のマルチプロセッサシステムにおける
メモリマップについて図7を用いて説明する。図7は本
実施形態のマルチプロセッサシステムにおけるメモリマ
ップを示す概念図である。図7において、1111は実
行プログラムモジュール1使用領域、1112は実行プ
ログラムモジュール2使用領域、1113は実行プログ
ラムモジュール3使用領域、1114〜1115は未使
用領域である。
Embodiment 5 Another embodiment of the multiprocessor system according to the present invention will be described. In addition,
The configuration of the multiprocessor system of the present embodiment is shown in FIG.
Is the same as the first embodiment shown in FIG.
Next, a memory map in the multiprocessor system of the present embodiment will be described with reference to FIG. FIG. 7 is a conceptual diagram showing a memory map in the multiprocessor system of the present embodiment. 7, reference numeral 1111 denotes an execution program module 1 use area, 1112 denotes an execution program module 2 use area, 1113 denotes an execution program module 3 use area, and 1114 to 1115 denote unused areas.

【0057】1101は第1のプロセッサ用領域であ
り、実行プログラムモジュール1使用領域1111と未
使用領域1114とを有する。1102は第2のプロセ
ッサ用領域であり、実行プログラムモジュール2使用領
域1112と実行プログラムモジュール3使用領域11
13と未使用領域1115とを有する。1103は空き
領域であり、主記憶に実装されていない領域である。1
100はアドレス空間であり、第1のプロセッサ用領域
1101と第2のプロセッサ用領域1102と空き領域
1103とを有する。
Reference numeral 1101 denotes a first processor area, which has an execution program module 1 use area 1111 and an unused area 1114. Reference numeral 1102 denotes a second processor area, which is an execution program module 2 use area 1112 and an execution program module 3 use area 11
13 and an unused area 1115. 1103 is a free area, which is not implemented in the main storage. 1
An address space 100 includes a first processor area 1101, a second processor area 1102, and a free area 1103.

【0058】このように、各プロセッサ用領域の主記憶
に記憶される実行プログラムを、動作毎のモジュールを
単位として記憶させることにより、一つのモジュールに
おさまるべき動作の命令コマンド群が分割されて複数の
プロセッサ用領域つまり複数の主記憶に記憶されること
を防ぐ。なお、命令コマンド群とは、複数の命令コマン
ドの集合であるとする。つまり、ある種の動作であるモ
ジュールが複数の主記憶に分割されることによる主記憶
及び該主記憶に対応するプロセッサの切り替え処理の発
生頻度を押さえることができ、実行プログラムの処理が
円滑、高速に行われる。例えば、繰り返し動作つまりル
ープ動作に関する命令コマンド群が複数の主記憶に分割
して記録されると、主記憶及びプロセッサの切り替えの
頻度は非常に多くなり、このような命令コマンド群を一
つのモジュールとして一つの主記憶に記憶し、対応する
一つのプロセッサで処理することは、実行プログラムの
実行が非常に滑らかになり、高速化されることになる。
これは、一般に、実行プログラムの局所性と言われるも
のである。
As described above, by storing the execution program stored in the main memory of each processor area in units of modules for each operation, an instruction command group of an operation to be included in one module is divided into a plurality of groups. Is stored in the processor area, that is, a plurality of main memories. It is assumed that the command command group is a set of a plurality of command commands. In other words, the frequency of switching between the main memory and the processor corresponding to the main memory due to the division of a module that is a certain operation into a plurality of main memories can be suppressed, and the processing of the execution program can be performed smoothly and at high speed. Done in For example, when an instruction command group relating to a repetitive operation, that is, a loop operation is divided and recorded in a plurality of main memories, the frequency of switching between the main memory and the processor becomes extremely high, and such an instruction command group is regarded as one module. Storing in one main memory and processing by one corresponding processor makes the execution of the execution program extremely smooth and faster.
This is generally called locality of an execution program.

【0059】実施の形態6.本発明によるマルチプロセ
ッサシステムの他の実施形態について、図8を用いて説
明する。図8は本発明の実施形態6のマルチプロセッサ
システムの構成を示す構成図である。図8において、1
201は第1のプロセッサ、1211は第2のプロセッ
サ、1221は第nのプロセッサである。1202は主
記憶であり、第1のプロセッサ1201に対応する。1
212は主記憶であり、第2のプロセッサ1211に対
応する。1222は主記憶であり、第nのプロセッサ1
221に対応する。1203はアドレスバスであり、第
1のプロセッサ1201と主記憶1202とを接続す
る。1213はアドレスバスであり、第2のプロセッサ
1211と主記憶1212とを接続する。1223はア
ドレスバスであり、第nのプロセッサ1221と主記憶
1222とを接続する。1206はアドレス変換回路で
あり、アドレスバス1203に設けられる。1216は
アドレス変換回路であり、アドレスバス1213に設け
られる。1226はアドレス変換回路であり、アドレス
バス1223に設けられる。
Embodiment 6 FIG. Another embodiment of the multiprocessor system according to the present invention will be described with reference to FIG. FIG. 8 is a configuration diagram showing a configuration of a multiprocessor system according to Embodiment 6 of the present invention. In FIG. 8, 1
201 is a first processor, 1211 is a second processor, and 1221 is an n-th processor. Reference numeral 1202 denotes a main memory, which corresponds to the first processor 1201. 1
212 is a main memory, which corresponds to the second processor 1211. Reference numeral 1222 denotes a main memory, and the n-th processor 1
221. Reference numeral 1203 denotes an address bus.
One processor 1201 and main memory 1202 are connected. An address bus 1213 connects the second processor 1211 and the main memory 1212. An address bus 1223 connects the n-th processor 1221 to the main memory 1222. An address conversion circuit 1206 is provided on the address bus 1203. An address conversion circuit 1216 is provided on the address bus 1213. An address conversion circuit 1226 is provided on the address bus 1223.

【0060】1204はオフセットアドレスレジスタで
あり、アドレス変換回路1206に接続される。このオ
フセットアドレスレジスタ1204には、オフセットア
ドレスであるオフセット値が格納される。また、このオ
フセットアドレスレジスタ1204は、アドレス変換回
路1206に接続される。1214はオフセットアドレ
スレジスタであり、アドレス変換回路1216に接続さ
れる。このオフセットアドレスレジスタ1214には、
オフセットアドレスが格納される。また、このオフセッ
トアドレスレジスタ1214は、アドレス変換回路12
16に接続される。1224はオフセットアドレスレジ
スタであり、アドレス変換回路1226に接続される。
このオフセットアドレスレジスタ1224には、オフセ
ットアドレスが格納される。また、このオフセットアド
レスレジスタ1224は、アドレス変換回路1226に
接続される。
An offset address register 1204 is connected to the address conversion circuit 1206. The offset address register 1204 stores an offset value that is an offset address. The offset address register 1204 is connected to the address conversion circuit 1206. Reference numeral 1214 denotes an offset address register, which is connected to the address conversion circuit 1216. In this offset address register 1214,
The offset address is stored. Further, the offset address register 1214 stores the address conversion circuit 12
16 is connected. Reference numeral 1224 denotes an offset address register, which is connected to the address conversion circuit 1226.
This offset address register 1224 stores an offset address. The offset address register 1224 is connected to the address conversion circuit 1226.

【0061】1205は半導体チップであり、第1のプ
ロセッサ1201、主記憶1202、アドレスバス12
03、アドレス変換回路1206及びオフセットアドレ
スレジスタ1204がワンチップ化されたものである。
1215は半導体チップであり、第2のプロセッサ12
11、主記憶1212、アドレスバス1213、アドレ
ス変換回路1216及びオフセットアドレスレジスタ1
214がワンチップ化されたものである。1225は半
導体チップであり、第nのプロセッサ1221、主記憶
1222、アドレスバス1223、アドレス変換回路1
226及びオフセットアドレスレジスタ1224がワン
チップ化されたものである。
Reference numeral 1205 denotes a semiconductor chip, which includes a first processor 1201, a main memory 1202, and an address bus 12.
03, the address conversion circuit 1206 and the offset address register 1204 are integrated into one chip.
Reference numeral 1215 denotes a semiconductor chip.
11, main memory 1212, address bus 1213, address conversion circuit 1216 and offset address register 1
Reference numeral 214 denotes a single chip. Reference numeral 1225 denotes a semiconductor chip, which is an n-th processor 1221, a main memory 1222, an address bus 1223, an address conversion circuit 1
226 and the offset address register 1224 are integrated into one chip.

【0062】上述のアドレス変換回路1206は、命令
コードのアドレス信号が示すアドレスを、主記憶120
2でのアドレスに変換するものである。また、アドレス
変換回路1216は、命令コードのアドレス信号が示す
アドレスを、主記憶1212でのアドレスに変換するも
のである。さらに、アドレス変換回路1226は、命令
コードのアドレス信号が示すアドレスを、主記憶122
2でのアドレスに変換するものである。なお、命令コー
ドのアドレス信号が示すアドレスとは、該命令コードの
メモリマップ上での番地である。また、アドレス信号は
アドレスバスを通過するものである。このように、本実
施形態のマルチプロセッサシステムは、アドレス変換機
構を備えたため、メモリマップ上での一連の番地が割り
あてられた実行プログラムの命令コードが、各プロセッ
サ用領域つまり各主記憶上でのアドレスに容易に変換さ
れる。
The address conversion circuit 1206 stores the address indicated by the address signal of the instruction code in the main memory 120.
2 is converted into the address. The address conversion circuit 1216 converts an address indicated by the address signal of the instruction code into an address in the main memory 1212. Further, the address conversion circuit 1226 stores the address indicated by the address signal of the instruction code in the main memory 122.
2 is converted into the address. The address indicated by the instruction code address signal is the address of the instruction code on the memory map. The address signal passes through the address bus. As described above, since the multiprocessor system of the present embodiment is provided with the address translation mechanism, the instruction code of the execution program to which a series of addresses on the memory map is assigned is stored in each processor area, that is, in each main memory. Addresses are easily translated.

【0063】例えば、第2のプロセッサ1211は、あ
る命令コードを主記憶1212から読み出すために、メ
モリマップに基づくアドレス信号を出力する。第2のプ
ロセッサ1211から出力されたメモリマップに基づく
アドレス信号は、アドレスバス1213を通して、アド
レス変換回路1216に入力される。アドレス変換回路
1216に入力されたメモリマップに基づくアドレス信
号は、オフセットアドレスレジスタ1214に格納され
たオフセット値「−1002」(16進表記)が加えら
れ、第2のプロセッサ1211から出力されたメモリマ
ップに基づくアドレス信号は、主記憶1216に格納さ
れた主記憶1216での命令コードのアドレスに変換さ
れる。なお、この例では、オフセット値が「−100
2」(16進表記)であることからで、主記憶1216
の記憶容量も1002バイト(16進表記)である、4
KBとなる。また、主記憶の記憶容量が2のn乗である
場合には、アドレス変換回路はオフセット値を加算する
ものでなく、主記憶の必要とするアドレス信号より上位
の部分を単にマスクするものでも良い。
For example, the second processor 1211 outputs an address signal based on a memory map in order to read a certain instruction code from the main memory 1212. An address signal based on the memory map output from the second processor 1211 is input to an address conversion circuit 1216 through an address bus 1213. The address signal based on the memory map input to the address conversion circuit 1216 is added with the offset value “-1002” (hexadecimal notation) stored in the offset address register 1214, and the memory map output from the second processor 1211 is added. Is converted into an instruction code address in the main memory 1216 stored in the main memory 1216. In this example, the offset value is “−100”.
2 "(in hexadecimal notation).
Has a storage capacity of 1002 bytes (hexadecimal notation).
KB. When the storage capacity of the main memory is 2 to the power of n, the address conversion circuit does not add the offset value, but may simply mask a higher-order part than the address signal required by the main memory. .

【0064】なお、メモリマップでの番地であるアドレ
スを各主記憶でのアドレスに変換することは、ハードウ
ェアで行わず、ソフトウェアで実現してもよい。また、
メモリマップでのアドレスを各主記憶でのアドレスに変
換することは、実行プログラムの実行時に行わなくて
も、実行プログラムのロード時に行ってもよい。なお、
メモリマップでのアドレスを各主記憶でのアドレスに変
換する際には、ジャンプ命令などで飛ぶ、飛び先のアド
レスも変換しておく必要がある。
Note that the conversion of the address, which is the address in the memory map, into the address in each main memory may be realized by software instead of hardware. Also,
The conversion of the address in the memory map into the address in each main memory may not be performed when executing the execution program, but may be performed when loading the execution program. In addition,
When converting an address in the memory map into an address in each main memory, it is necessary to convert a jump destination address to which a jump instruction is issued.

【0065】実施の形態7.本発明によるマルチプロセ
ッサシステムの他の実施形態について説明する。なお、
本実施形態のマルチプロセッサシステムの構成は、図1
に示す実施形態とほぼ同一であり、その説明を省略す
る。次に、本実施形態のマルチプロセッサシステムが行
う実行環境のデータの変化を随時出力する方法につい
て、図9を用いて説明する。この図9は、本実施形態の
マルチプロセッサシステムが行う実行環境のデータの変
化を随時出力する方法を示す概念図である。図9におい
て、1300は第0汎用レジスタ、1301は第1汎用
レジスタ、1302は第n汎用レジスタである。
Embodiment 7 FIG. Another embodiment of the multiprocessor system according to the present invention will be described. In addition,
The configuration of the multiprocessor system of the present embodiment is shown in FIG.
Is substantially the same as the embodiment shown in FIG. Next, a method of occasionally outputting a change in data of the execution environment performed by the multiprocessor system of the present embodiment will be described with reference to FIG. FIG. 9 is a conceptual diagram showing a method of outputting a change in the data of the execution environment performed by the multiprocessor system of the present embodiment at any time. In FIG. 9, reference numeral 1300 denotes a 0th general-purpose register, 1301 denotes a first general-purpose register, and 1302 denotes an n-th general-purpose register.

【0066】1310はそれぞれが汎用レジスタへのレ
ジスタ書き込み要求コマンドである。なお、レジスタ書
き込み要求コマンド1310は、外部や他の汎用レジス
タからのデータ転送の他、汎用レジスタ等での演算結果
の格納の場合も含む。上述は、汎用レジスタについて説
明したものだが、他の専用レジスタについても同様であ
る。1320はプロセッサである。1311は実行環境
変化出力であり、プロセッサ1320とは異なる他のプ
ロセッサへ随時出力される。つまり、汎用レジスタに対
するレジスタ書込み要求1310を、汎用レジスタへの
書込みに用いると共に、そのまま他のプロセッサへも転
送して、実行環境変化出力1311として用いる。
Reference numerals 1310 denote register write request commands to general-purpose registers. Note that the register write request command 1310 includes the case of storing an operation result in a general-purpose register or the like, in addition to the data transfer from the outside or another general-purpose register. Although the above description has been given of a general-purpose register, the same applies to other dedicated registers. 1320 is a processor. An execution environment change output 1311 is output to another processor different from the processor 1320 as needed. That is, the register write request 1310 to the general-purpose register is used for writing to the general-purpose register, and is also transferred to another processor as it is, and is used as the execution environment change output 1311.

【0067】このように、本実施形態のマルチプロセッ
サシステムは、実行プログラムを実行するプロセッサへ
の実行環境に関するデータの転送を、それまで実行プロ
グラムを実行していたプロセッサ(旧プロセッサとす
る)から、次に実行プログラムを実行するプロセッサ
(新プロセッサとする)に切り替える切り替え時に実施
するのではなく、切り替え時以前から刻々と実施するも
のである。つまり、実行環境に関するデータの転送は、
旧プロセッサからの切り替え時に急に新プロセッサに転
送するのではなく、旧プロセッサで実行プログラムが実
行されているうちから、実行環境に関するデータが新プ
ロセッサを含む旧プロセッサ以外の他のプロセッサにも
随時転送され、旧プロセッサから新プロセッサへの切り
替え時には、実行プログラムの実行がよりスムーズに効
率的に切り替えられるようにする。
As described above, in the multiprocessor system of the present embodiment, the transfer of data relating to the execution environment to the processor that executes the execution program is performed by the processor (the old processor) that has been executing the execution program. Next, instead of performing the switching at the time of switching to the processor that executes the execution program (hereinafter referred to as a new processor), the processing is performed every moment before the switching. In other words, the transfer of data about the execution environment
Rather than suddenly transfer to the new processor when switching from the old processor, while the execution program is running on the old processor, data about the execution environment is transferred to other processors other than the old processor including the new processor at any time Then, when switching from the old processor to the new processor, the execution of the execution program can be switched more smoothly and efficiently.

【0068】なお、実行プログラムを実行しているプロ
セッサのレジスタへの実行環境データの変化の書き込み
は、該実行プログラムを効率よく実行するため、素早く
書き込む方がよい。しかし、該実行プログラムを実行し
ていない他のプロセッサのレジスタへの該実行環境デー
タの変化の書き込みは、実行プログラムを実行している
プロセッサのレジスタに書き込まれた後でもよい。な
お、実行プログラムを実行しているプロセッサのレジス
タへの実行環境データの変化の書き込みは、レジスタ書
き込み要求コマンドに基づくものである。また、実行プ
ログラムを実行していない他のプロセッサのレジスタへ
の実行環境データの変化の書き込みは、実行環境変化出
力に基づくものである。
It should be noted that it is better to write the change of the execution environment data into the register of the processor executing the execution program quickly in order to execute the execution program efficiently. However, the writing of the change of the execution environment data to the register of another processor that is not executing the execution program may be performed after the change is written to the register of the processor that is executing the execution program. The writing of the change of the execution environment data to the register of the processor executing the execution program is based on the register write request command. The writing of the change of the execution environment data to the register of another processor which is not executing the execution program is based on the execution environment change output.

【0069】実施の形態8.本発明によるマルチプロセ
ッサシステムの他の実施形態について説明する。なお、
本実施形態のマルチプロセッサシステムの構成は、図1
に示す実施形態とほぼ同一であり、その説明を省略す
る。次に、本実施形態のマルチプロセッサシステムが行
う実行環境データの変化を随時出力する方法について、
図10を用いて説明する。この図10は、本実施形態の
マルチプロセッサシステムが行う実行環境データの変化
を随時出力する方法を示す概念図である。図10におい
て、1401はそれぞれ、レジスタ書き込み要求コマン
ドである。なお、レジスタ書き込み要求コマンドは、複
数連なりキューを形成する。1402はレジスタ書き込
み要求コマンドのレジスタへの書き込み処理を示し、ま
た実行環境データの変化の出力も示す。なお、図10に
おいて、図9に示す実施形態7と同一又は相当部分はそ
の説明を省略し、図9と相違する部分について説明し
た。
Embodiment 8 FIG. Another embodiment of the multiprocessor system according to the present invention will be described. In addition,
The configuration of the multiprocessor system of the present embodiment is shown in FIG.
Is substantially the same as the embodiment shown in FIG. Next, a method for occasionally outputting a change in execution environment data performed by the multiprocessor system of the present embodiment will be described.
This will be described with reference to FIG. FIG. 10 is a conceptual diagram showing a method of outputting a change in execution environment data performed by the multiprocessor system of the present embodiment at any time. In FIG. 10, reference numerals 1401 denote register write request commands. Note that a plurality of register write request commands form a continuous queue. Reference numeral 1402 denotes a process of writing a register write request command to a register, and also an output of a change in execution environment data. In FIG. 10, the same or corresponding parts as those in the seventh embodiment shown in FIG. 9 are not described, and the parts different from FIG. 9 are described.

【0070】図10中では、4つのレジスタ書き込み要
求コマンド1401がキューで待機している状態が示さ
れている。これら4つのレジスタ書き込み要求コマンド
1401の書き込み先は、それぞれ書き込み処理を行う
順にR1、R2、R3、R2となっている。なお、R1
は第1汎用レジスタ、R2は第2汎用レジスタ、R3は
第3汎用レジスタとする。これらのことから、プロセッ
サは、2つのR2へのレジスタ書き込み要求コマンドが
キューで待機していることがわかり、先のR2へのレジ
スタ書き込み要求コマンドは後のR2へのレジスタ書き
込み要求コマンドにより書き換えられることもわかる。
そこで、プロセッサは、先のR2へのレジスタ書き込み
要求コマンドをキャンセルする。このように、キューで
待機する複数のレジスタ書き込み要求コマンドにおい
て、その書き込み先が同じ複数のレジスタ書き込み要求
コマンドがある場合は、一番後のレジスタ書き込み要求
コマンドのみが残され、それ以前の同じレジスタへのレ
ジスタ書き込み要求コマンドはキャンセルされる。この
ため、プロセッサ内外での冗長な処理の発生が抑えら
れ、実行プログラムの効率的な実行が可能となる。
FIG. 10 shows a state in which four register write request commands 1401 are waiting in a queue. The write destinations of these four register write request commands 1401 are R1, R2, R3, and R2 in the order in which the write processing is performed. Note that R1
Is a first general register, R2 is a second general register, and R3 is a third general register. From these, the processor knows that the two register write request commands to R2 are waiting in the queue, and the previous register write request command to R2 is rewritten by the subsequent register write request command to R2. I understand that.
Therefore, the processor cancels the previous register write request command to R2. As described above, in the case of a plurality of register write request commands waiting in the queue, if there are a plurality of register write request commands to which the write destination is the same, only the last register write request command is left, and the previous register write request command is left. The register write request command to the register is canceled. Therefore, the occurrence of redundant processing inside and outside the processor is suppressed, and the execution of the execution program can be performed efficiently.

【0071】実施の形態9.本発明によるマルチプロセ
ッサシステムの他の実施形態について説明する。なお、
本実施形態のマルチプロセッサシステムの構成は、図1
に示す実施形態とほぼ同一であり、その説明を省略す
る。次に、本実施形態のマルチプロセッサシステムが行
う実行環境データの変化を随時出力する方法について、
図11を用いて説明する。この図11は、本実施形態の
マルチプロセッサシステムが行う実行環境データの変化
を随時出力する方法を示す概念図である。図11におい
て、1500は第0汎用レジスタ、1501は第1汎用
レジスタ、1502は第n汎用レジスタである。151
0はそれぞれ、レジスタ書き込み要求コマンドである。
1511は実行環境変化出力である。1512はレジス
タ書き込み要求コマンド1510の発生順序である。1
520はプロセッサである。なお、図11において、図
9に示す実施形態7に相当する部分はその説明を省略
し、図9と相違する部分について説明した。
Embodiment 9 FIG. Another embodiment of the multiprocessor system according to the present invention will be described. In addition,
The configuration of the multiprocessor system of the present embodiment is shown in FIG.
Is substantially the same as the embodiment shown in FIG. Next, a method for occasionally outputting a change in execution environment data performed by the multiprocessor system of the present embodiment will be described.
This will be described with reference to FIG. FIG. 11 is a conceptual diagram showing a method of outputting a change in execution environment data performed by the multiprocessor system of the present embodiment as needed. In FIG. 11, reference numeral 1500 denotes a 0th general-purpose register, 1501 denotes a first general-purpose register, and 1502 denotes an n-th general-purpose register. 151
0 is a register write request command.
Reference numeral 1511 denotes an execution environment change output. Reference numeral 1512 denotes an order in which the register write request command 1510 is generated. 1
520 is a processor. In FIG. 11, the description of the parts corresponding to the seventh embodiment shown in FIG. 9 is omitted, and the parts different from FIG. 9 are described.

【0072】あるプロセッサの汎用レジスタに対する実
行環境データの転送は、該プロセッサに切り替えられた
後、初めて該汎用レジスタが使用されるまでに行われれ
ばよい。このことから、プロセッサの切り替え後の汎用
レジスタの使用順まで考慮してキューから実行環境変化
出力を出力すると、実行プログラムの効率的な実行を実
現させることができる。ゆえに、実行プログラムを作成
する時は、使用される汎用レジスタの順番やタイミング
を考慮した上、実行環境変化出力が出力されるよう実行
プログラムを作成することが望ましい。また、命令コマ
ンドの実行順序、すなわち、レジスタへのレジスタ書き
込み要求コマンドの発生順序で、外部に実行環境変化出
力を出力してもよい。これは、パイプライン方式を採用
したプロセッサにおいて、汎用レジスタへの実行環境デ
ータの変化を書き込んだ後すぐには、該汎用レジスタか
らのアクセスができない場合があるため、実行プログラ
ムを生成するコンバイラが、できるだけ書き込んだ直後
の汎用レジスタを使用しないように命令コードを出力す
るためである。
The transfer of the execution environment data to the general-purpose register of a certain processor may be performed until the general-purpose register is used for the first time after switching to the processor. Thus, when the execution environment change output is output from the queue in consideration of the order of use of the general-purpose registers after the switching of the processor, efficient execution of the execution program can be realized. Therefore, when creating the execution program, it is desirable to create the execution program so that the execution environment change output is output in consideration of the order and timing of the general-purpose registers used. Further, the execution environment change output may be output to the outside in the execution order of the instruction commands, that is, in the order in which the register write request command to the register is generated. This is because, in a processor adopting the pipeline system, the access from the general-purpose register may not be possible immediately after writing the change of the execution environment data to the general-purpose register. This is because the instruction code is output so as not to use the general-purpose register immediately after writing as much as possible.

【0073】実施の形態10.本発明によるマルチプロ
セッサシステムの他の実施形態について説明する。な
お、本実施形態のマルチプロセッサシステムの構成は、
図1に示す実施形態とほぼ同一であり、その説明を省略
する。次に、本実施形態のマルチプロセッサシステムが
行う実行環境データの変化を随時出力する方法につい
て、図12を用いて説明する。この図12は、本実施形
態のマルチプロセッサシステムが行う実行環境データの
変化を随時出力する方法を示す概念図である。図12に
おいて、1601それぞれは、レジスタ書き込み要求コ
マンドである。1602は命令デコーダである。160
3は命令コードである。
Embodiment 10 FIG. Another embodiment of the multiprocessor system according to the present invention will be described. The configuration of the multiprocessor system of the present embodiment is as follows.
This is almost the same as the embodiment shown in FIG. 1, and the description thereof is omitted. Next, a method for occasionally outputting a change in execution environment data performed by the multiprocessor system of the present embodiment will be described with reference to FIG. FIG. 12 is a conceptual diagram showing a method of outputting a change in execution environment data performed by the multiprocessor system of the present embodiment at any time. In FIG. 12, each of 1601 is a register write request command. 1602 is an instruction decoder. 160
3 is an instruction code.

【0074】1611は書き込みレジスタ信号であり、
命令コード1603が命令デコーダ1602でデコード
されると、該命令デコーダ1602から出力される。こ
の書き込みレジスタ信号1611により、レジスタ書き
込み要求コマンドを処理する汎用レジスタが特定され
る。また、書き込みレジスタ信号1611が命令デコー
ダ1602から出力されると、任意のレジスタ書き込み
要求コマンドの処理順が変更されたり、また任意のレジ
スタ書き込み要求コマンドがキャンセルされるか否かが
判断される。図12中では、R2へのレジスタ書き込み
要求コマンド1601が、書き込みレジスタ信号161
1により選択され、その順位が下げられている。161
2はレジスタ書き込み要求コマンドのレジスタへの書き
込み処理を示し、また実行環境データの変化の出力も示
す。
Reference numeral 1611 denotes a write register signal.
When the instruction code 1603 is decoded by the instruction decoder 1602, it is output from the instruction decoder 1602. The write register signal 1611 specifies a general-purpose register that processes the register write request command. When the write register signal 1611 is output from the instruction decoder 1602, it is determined whether the processing order of an arbitrary register write request command is changed or whether the arbitrary register write request command is canceled. In FIG. 12, a register write request command 1601 to R2 is a write register signal 161.
1 and its rank has been lowered. 161
Reference numeral 2 denotes a process of writing a register write request command to a register, and also an output of a change in execution environment data.

【0075】なお、図12において、図10に示す実施
形態8に相当する部分はその説明を省略し、図10と相
違する部分について説明した。また、パイプライン方式
が採用されたプロセッサでは、命令コードのデコード、
命令コードの実行、実行結果の書き込みなどの動作が順
送り的に実行される。そして、命令コードがデコードさ
れてから実際に命令コードの実行結果が所定の汎用レジ
スタに書き込まれるまでには数クロックの時間差が生じ
る。したがって、命令デコーダでのデコード時に、該命
令コードの実行結果が書き込まれる汎用レジスタが特定
できるので、この命令デコーダで命令コードがデコード
された時点で、該汎用レジスタに対して実行環境データ
を設定する実行環境変化出力であるレジスタ書き込み要
求コマンドがキューにある場合には、このレジスタ書き
込み要求コマンドの出力される順位を下げるか、該汎用
レジスタに対して確実に該命令コードの実行結果が書き
込まれる場合には、該レジスタ書き込み要求コマンドの
出力をキャンセルすることができる。
In FIG. 12, portions corresponding to the eighth embodiment shown in FIG. 10 are not described, and portions different from FIG. 10 are described. In a processor employing a pipeline system, decoding of an instruction code,
Operations such as execution of an instruction code and writing of an execution result are sequentially executed. Then, there is a time difference of several clocks from when the instruction code is decoded to when the execution result of the instruction code is actually written to a predetermined general-purpose register. Therefore, at the time of decoding by the instruction decoder, the general-purpose register to which the execution result of the instruction code is written can be specified, and when the instruction code is decoded by the instruction decoder, the execution environment data is set in the general-purpose register. When the register write request command, which is the execution environment change output, is in the queue, the order in which the register write request command is output is lowered, or the execution result of the instruction code is reliably written to the general-purpose register. , The output of the register write request command can be canceled.

【0076】なお、あるプロセッサから異なる他のプロ
セッサへの実行環境変化出力は、通常、外部バスを用い
る。また、実行環境変化出力は、専用のバスを設けて、
あるプロセッサから異なる他のプロセッサへ出力しても
よい。このように、専用のバスを用いて実行環境変化出
力を出力すると、実行プログラムに関するデータ転送と
実行環境データの変化に関するデータ転送とを分けて送
信することができ、互いのデータ転送に対する障害の発
生確率を抑えることができ、実行プログラムを効率的に
実行させることができる。
The output of the execution environment change from one processor to another different processor normally uses an external bus. Also, the execution environment change output is provided with a dedicated bus,
The output may be from one processor to another different processor. As described above, when the execution environment change output is output using the dedicated bus, the data transfer relating to the execution program and the data transfer relating to the change in the execution environment data can be transmitted separately, and the occurrence of a failure in the mutual data transfer can occur. The probability can be suppressed, and the execution program can be executed efficiently.

【0077】また、本実施形態のマルチプロセッサシス
テムにおいて、例えば、第1の実行プログラムが第1と
第2の主記憶に跨るように記憶され、第2の実行プログ
ラムが第1の主記憶に第1の実行プログラムと共に記憶
されると、第1の実行プログラムが第2の主記憶に対応
するプロセッサで実行されていた場合、第1の主記憶に
対応するプロセッサでは、第2の実行プログラムを第1
のプログラムと同時に実行することができる。つまり、
複数の主記憶の少なくとも一つの主記憶に、例えば第1
と第2の実行プログラムをロードしておけば、第1の主
記憶に対応する第1のプロセッサと第2の主記憶に対応
する第2のプロセッサとで、互いに異なる第1の実行プ
ログラムと第2の実行プログラムとを同時に実行するこ
とができ、効率的に複数の実行プログラムを実行するこ
とができる。
In the multiprocessor system according to the present embodiment, for example, the first execution program is stored so as to straddle the first and second main memories, and the second execution program is stored in the first main memory. When stored together with the first execution program, when the first execution program is executed by the processor corresponding to the second main storage, the processor corresponding to the first main storage executes the second execution program by the second main storage. 1
Program can be executed simultaneously. That is,
In at least one main memory of the plurality of main memories, for example, the first
And the second execution program are loaded, the first processor corresponding to the first main storage and the second processor corresponding to the second main storage have different first execution programs and second execution programs. 2 can be executed simultaneously, and a plurality of execution programs can be executed efficiently.

【0078】また、ある主記憶上にある実行プログラム
をロードし、該実行プログラムに対して複数のプロセッ
サを用いて実行させてもよい。このように、一つの実行
プログラムに対して複数のプロセッサを同時に実行させ
ることにより、実行プログラムを効率的にを実行させる
ことができる。なお、一つの実行プログラムを複数のプ
ロセッサで実行させる場合には、該実行プログラムを対
応する主記憶にそれぞれコピーして、複数のプロセッサ
による該実行プログラムの同時実行を実現する。
Further, an execution program in a certain main memory may be loaded, and the execution program may be executed using a plurality of processors. As described above, by causing a plurality of processors to simultaneously execute one execution program, the execution program can be efficiently executed. In the case where one execution program is executed by a plurality of processors, the execution program is copied to the corresponding main storages, and the execution of the execution program by the plurality of processors is realized.

【0079】[0079]

【発明の効果】以上のように、本発明にかかるマルチプ
ロセッサシステムは、プロセッサと主記憶とプロセッサ
及び主記憶を接続するバスとを備えた半導体チップを複
数有し、各半導体チップの主記憶により一つのアドレス
空間が構成され、アドレス空間の所定の領域が割り当て
られた主記憶に記録されたプログラムは、主記憶と同じ
半導体チップに備えられたプロセッサによって処理され
るものであり、一つの半導体チップ上では集積できない
ような記憶容量の大きなプログラムでも、一つの半導体
チップ上に集積した時のように高速実行することができ
る。
As described above, the multiprocessor system according to the present invention has a plurality of semiconductor chips each having a processor, a main memory, and a bus connecting the processor and the main memory. One address space is configured, and a program recorded in the main memory to which a predetermined area of the address space is allocated is processed by a processor provided on the same semiconductor chip as the main memory, and is stored in one semiconductor chip. Even a program having a large storage capacity that cannot be integrated on the above can be executed at high speed as when integrated on one semiconductor chip.

【0080】また、本発明にかかるマルチプロセッサシ
ステムは、ある主記憶に記録されたプログラムから、他
の主記憶に記録された一連のプログラムへ、処理が移行
する時、ある主記憶に対応するプロセッサから、他の主
記憶に対応するプロセッサへ、ある主記憶に対応するプ
ロセッサに設定された設定環境データを、他の主記憶に
対応するプロセッサへ出力するものであり、各主記憶に
記憶されたプログラムを、該主記憶が切り替わる度に、
対応するプロセッサで処理するように切り替え、バスを
介したプロセッサによる主記憶へのアクセスが高速化さ
れ、プログラムの実施効率が向上する。
Further, the multiprocessor system according to the present invention, when the processing shifts from a program recorded in a certain main memory to a series of programs recorded in another main memory, a processor corresponding to the certain main memory. To the processor corresponding to the other main memory, and outputs the setting environment data set in the processor corresponding to the certain main memory to the processor corresponding to the other main memory. Each time the main memory is switched,
The processing is switched so as to be processed by the corresponding processor, the access to the main memory by the processor via the bus is sped up, and the execution efficiency of the program is improved.

【0081】さらに、本発明にかかるマルチプロセッサ
システムにおいて、プログラム全体は、機能モジュール
毎に分割でき、そのモジュール単位で主記憶に記録され
るものであり、一つのモジュールにおさまるべき所定の
機能に関するプログラムが分割されて複数の主記憶に記
憶されることがなくなり、主記憶及び該主記憶に対応す
るプロセッサの切り替え処理の発生頻度を押さえること
ができ、プログラムの処理が円滑、高速に行われる。
Further, in the multiprocessor system according to the present invention, the entire program can be divided into functional modules and recorded in the main memory in units of the modules. Is not divided and stored in a plurality of main memories, the frequency of switching processing between the main memory and the processor corresponding to the main memory can be suppressed, and the processing of the program is performed smoothly and at high speed.

【0082】また、本発明にかかるマルチプロセッサシ
ステムは、あるプロセッサから他のプロセッサへ、ある
プロセッサに設定された設定環境データを、他のプロセ
ッサへ随時出力するものであり、設定環境データの転送
を急に行わず、徐々に転送できることから、プロセッサ
の切り替えがよりスムーズに行われる。
The multiprocessor system according to the present invention outputs setting environment data set in a certain processor from one processor to another processor to another processor as needed, and transfers the setting environment data to another processor. Since the transfer can be performed gradually, not suddenly, the switching of the processor is performed more smoothly.

【0083】さらに、本発明にかかるマルチプロセッサ
システムにおいて、設定環境データは複数蓄積され、そ
の蓄積された複数の設定環境データの内で、その出力先
が同一の設定環境データがある場合は、最後発の設定環
境データのみが出力されるものであり、プロセッサ内外
での冗長な処理の発生が抑えられ、プログラムの効率的
な実行が可能となる。
Further, in the multiprocessor system according to the present invention, a plurality of setting environment data are accumulated, and if the output destination is the same among the plurality of accumulated setting environment data, the last setting environment data is stored. Only the generated setting environment data is output, and the occurrence of redundant processing inside and outside the processor is suppressed, and the program can be executed efficiently.

【0084】また、本発明にかかるマルチプロセッサシ
ステムは、プログラムの一部を各半導体チップの主記憶
に記録し、主記憶に対応するプロセッサでプログラムの
一部を並行して実行するものであり、プログラムを効率
的にを実行させることができる。
The multiprocessor system according to the present invention records a part of a program in a main memory of each semiconductor chip, and executes a part of the program in parallel by a processor corresponding to the main memory. The program can be executed efficiently.

【0085】さらに、本発明にかかるマルチプロセッサ
システムは、第1のプログラムの一部及び第2のプログ
ラムが記録された第1の主記憶と、一部とは異なる第1
のプログラムの他部が記録された第2の主記憶とを備
え、第1のプログラムの他部が第2の主記憶に対応する
プロセッサで実行されると、第1の主記憶に対応するプ
ロセッサでは、第2の実行プログラムが実行されるもの
であり、2つのプロセッサで異なるプログラムを同時に
実行することができ、効率的に複数のプログラムを実行
することができる。
Further, in the multiprocessor system according to the present invention, a first main memory in which a part of the first program and a second program are recorded, and a first main memory different from the first main memory.
A second main memory in which the other part of the first program is recorded, and when the other part of the first program is executed by a processor corresponding to the second main memory, a processor corresponding to the first main memory is provided. In this case, the second execution program is executed, different programs can be executed simultaneously by the two processors, and a plurality of programs can be executed efficiently.

【図面の簡単な説明】[Brief description of the drawings]

【図1】 本発明の実施形態1のマルチプロセッサシス
テムの構成を示す構成図である。
FIG. 1 is a configuration diagram illustrating a configuration of a multiprocessor system according to a first embodiment of the present invention.

【図2】 本発明の実施形態1のマルチプロセッサシス
テムにおけるメモリマップを示す概念図である。
FIG. 2 is a conceptual diagram illustrating a memory map in the multiprocessor system according to the first embodiment of the present invention.

【図3】 本発明の実施形態1のマルチプロセッサシス
テムにおける実行プログラムの実行時の構成を示す構成
図である。
FIG. 3 is a configuration diagram illustrating a configuration at the time of execution of an execution program in the multiprocessor system according to the first embodiment of the present invention;

【図4】 本発明の実施形態2のマルチプロセッサシス
テムにおけるメモリマップを示す概念図である。
FIG. 4 is a conceptual diagram showing a memory map in a multiprocessor system according to a second embodiment of the present invention.

【図5】 本発明の実施形態3のマルチプロセッサシス
テムが有する実行環境のデータを受け渡す機構の構成を
示す構成図である。
FIG. 5 is a configuration diagram illustrating a configuration of a mechanism for transferring data of an execution environment included in a multiprocessor system according to a third embodiment of the present invention.

【図6】 本発明の実施形態4のマルチプロセッサシス
テムが有する領域を外れたことを検出する機構の構成を
示す構成図である。
FIG. 6 is a configuration diagram illustrating a configuration of a mechanism that detects a departure from an area of a multiprocessor system according to a fourth embodiment of the present invention.

【図7】 本発明の実施形態5のマルチプロセッサシス
テムにおけるメモリマップを示す概念図である。
FIG. 7 is a conceptual diagram showing a memory map in a multiprocessor system according to a fifth embodiment of the present invention.

【図8】 本発明の実施形態6のマルチプロセッサシス
テムの構成を示す構成図である。
FIG. 8 is a configuration diagram illustrating a configuration of a multiprocessor system according to a sixth embodiment of the present invention.

【図9】 本発明の実施形態7のマルチプロセッサシス
テムが行う実行環境のデータの変化を随時出力する方法
を示す概念図である。
FIG. 9 is a conceptual diagram illustrating a method of outputting a change in data of an execution environment performed by a multiprocessor system according to a seventh embodiment of the present invention as needed.

【図10】 本発明の実施形態8のマルチプロセッサシ
ステムが行う実行環境データの変化を随時出力する方法
を示す概念図である。
FIG. 10 is a conceptual diagram illustrating a method for outputting a change in execution environment data performed by a multiprocessor system according to an eighth embodiment of the present invention as needed.

【図11】 本発明の実施形態9のマルチプロセッサシ
ステムが行う実行環境データの変化を随時出力する方法
を示す概念図である。
FIG. 11 is a conceptual diagram illustrating a method for outputting a change in execution environment data performed by a multiprocessor system according to a ninth embodiment of the present invention as needed.

【図12】 本発明の実施形態10のマルチプロセッサ
システムが行う実行環境データの変化を随時出力する方
法を示す概念図である。
FIG. 12 is a conceptual diagram illustrating a method for outputting a change in execution environment data performed by a multiprocessor system according to a tenth embodiment of the present invention as needed.

【図13】 従来のマルチプロセッサシステムの構成を
示した構成図である。
FIG. 13 is a configuration diagram showing a configuration of a conventional multiprocessor system.

【図14】 従来のマルチプロセッサシステムの基本構
成であるノイマン型コンピュータシステムの構成を示し
た構成図である。
FIG. 14 is a configuration diagram showing a configuration of a Neumann computer system which is a basic configuration of a conventional multiprocessor system.

【図15】 従来のバス・ボトルネックの問題を緩和さ
せるノイマン型コンピュータシステムの構成を示した構
成図である。
FIG. 15 is a configuration diagram showing a configuration of a conventional Neumann computer system that alleviates the problem of a bus bottleneck.

【図16】 従来の主記憶を外部に増設したワンチップ
型のノイマン型コンピュータシステムの構成を示す構成
図である。
FIG. 16 is a configuration diagram showing a configuration of a conventional one-chip Neumann computer system in which a main memory is additionally provided.

【符号の説明】[Explanation of symbols]

301 第1のプロセッサ、302 主記憶、303
バス、304 命令コードの流れの方向、311 第2
のプロセッサ、314 命令コードの流れの方向、20
1 プロセッサ、202 主記憶、203 バス、20
4 命令コードの流れの方向、401 プロセッサ、4
02 主記憶、403 バス、404 命令コードの流
れの方向、405 半導体チップ、501 プロセッ
サ、502主記憶、503 バス、504 命令コード
の流れの方向、505 半導体チップ、512 主記
憶、513 バス、514 命令コードの流れの方向、
515半導体チップ、101 第1のプロセッサ、10
2 主記憶、103 バス、104 命令コードの流れ
の方向、105 半導体チップ、106 外部バス、1
11 第2のプロセッサ、112 主記憶、113 バ
ス、114 命令コードの流れの方向、115 半導体
チップ、121 第nのプロセッサ、122主記憶、1
23 バス、124 命令コードの流れの方向、125
半導体チップ、600 アドレス空間、601 第1
のプロセッサ用領域、602 第2のプロセッサ用領
域、603 第nのプロセッサ用領域、604 空き領
域、701 第1のプロセッサ、702 主記憶、70
3 バス、704 命令コードの流れの方向、705
LSI、706 外部バス、711 第2のプロセッ
サ、712 主記憶、713 バス、714 命令コー
ドの流れの方向、715 LSI、721 第nのプロ
セッサ、722 主記憶、723 バス、724 命令
コードの流れの方向、725 LSI、800 アドレ
ス空間、801 第1のプロセッサ用領域、802 第
2のプロセッサ用領域、803 第3のプロセッサ用領
域、804 プロセッサ変更コード領域、805 空き
領域、900第0汎用レジスタ、901 第1汎用レジ
スタ、902 第n汎用レジスタ、910 有効性フラ
グ、911 有効性フラグ、912 有効性フラグ、9
20次期実行プロセッサ番号レジスタ、1001 下限
記憶レジスタ、1002 プログラムカウンタ、100
3 比較器、1004 信号、1005 論理和ゲート
回路、1011 上限記憶レジスタ、1012 プログ
ラムカウンタ出力、1013 比較器、1014 信
号、1015 検出信号出力、1100 アドレス空
間、1101 第1のプロセッサ用領域、1102 第
2のプロセッサ用領域、1103 空き領域、1111
実行プログラムモジュール1使用領域、1112 実
行プログラムモジュール2使用領域、1113 実行プ
ログラムモジュール3使用領域、1114 未使用領
域、1115 未使用領域、1201第1のプロセッ
サ、1202 主記憶、1203 アドレスバス、12
04 オフセットアドレスレジスタ、1205 半導体
チップ、1206 アドレス変換回路、1211 第2
のプロセッサ、1212 主記憶、1213 アドレス
バス、1214 オフセットアドレスレジスタ、121
5 半導体チップ、1216 アドレス変換回路、12
21 第nのプロセッサ、1222 主記憶、1223
アドレスバス、1224 オフセットアドレスレジス
タ、1225 半導体チップ、1226 アドレス変換
回路、1300 第0汎用レジスタ、1301 第1汎
用レジスタ、1302 第n汎用レジスタ、1310
レジスタ書き込み要求コマンド、1311 実行環境変
化出力、1320 プロセッサ、1401 レジスタ書
き込み要求コマンド、1402 レジスタへの書き込み
処理、1500 第0汎用レジスタ、1501 第1汎
用レジスタ、1502 第n汎用レジスタ、1510
レジスタ書き込み要求コマンド、1511 実行環境変
化出力、1512 レジスタ書き込み要求コマンドの発
生順序、1520 プロセッサ、1601 レジスタ書
き込み要求コマンド、1602 命令デコーダ、160
3 命令コード、1611 書き込みレジスタ信号、1
612 レジスタへの書き込み処理。
301 first processor, 302 main memory, 303
Bus, 304 instruction code flow direction, 311 second
Processor, 314 instruction code flow direction, 20
1 processor, 202 main memory, 203 bus, 20
4 Instruction code flow direction, 401 processor, 4
02 main memory, 403 bus, 404 instruction code flow direction, 405 semiconductor chip, 501 processor, 502 main memory, 503 bus, 504 instruction code flow direction, 505 semiconductor chip, 512 main memory, 513 bus, 514 instruction The direction of code flow,
515 semiconductor chip, 101 first processor, 10
2 main memory, 103 bus, 104 instruction code flow direction, 105 semiconductor chip, 106 external bus, 1
11 second processor, 112 main memory, 113 bus, 114 instruction code flow direction, 115 semiconductor chip, 121 nth processor, 122 main memory, 1
23 bus, 124 instruction code flow direction, 125
Semiconductor chip, 600 address space, 601 first
Processor area, 602 second processor area, 603 nth processor area, 604 free area, 701 first processor, 702 main storage, 70
3 Bus, 704 Instruction flow direction, 705
LSI, 706 external bus, 711 second processor, 712 main memory, 713 bus, 714 instruction code flow direction, 715 LSI, 721 nth processor, 722 main memory, 723 bus, 724 instruction code flow direction , 725 LSI, 800 address space, 801 area for first processor, 802 area for second processor, 803 area for third processor, 804 processor change code area, 805 free area, 900th general-purpose register, 901 1 general-purpose register, 902 n-th general-purpose register, 910 validity flag, 911 validity flag, 912 validity flag, 9
20th execution processor number register, 1001 lower limit storage register, 1002 program counter, 100
3 comparator, 1004 signal, 1005 OR gate circuit, 1011 upper limit storage register, 1012 program counter output, 1013 comparator, 1014 signal, 1015 detection signal output, 1100 address space, 1101 area for first processor, 1102 second Processor area, 1103 free area, 1111
Execution program module 1 use area, 1112 execution program module 2 use area, 1113 execution program module 3 use area, 1114 unused area, 1115 unused area, 1201 first processor, 1202 main storage, 1203 address bus, 12
04 offset address register, 1205 semiconductor chip, 1206 address conversion circuit, 1211 second
Processor, 1212 main memory, 1213 address bus, 1214 offset address register, 121
5 semiconductor chip, 1216 address conversion circuit, 12
21 nth processor, 1222 main memory, 1223
Address bus, 1224 offset address register, 1225 semiconductor chip, 1226 address conversion circuit, 1300 0th general-purpose register, 1301 first general-purpose register, 1302 nth general-purpose register, 1310
Register write request command, 1311 Execution environment change output, 1320 processor, 1401 register write request command, 1402 Write processing to register, 1500 0th general register, 1501 1st general register, 1502 nth general register, 1510
Register write request command, 1511 execution environment change output, 1512 register write request command generation order, 1520 processor, 1601 register write request command, 1602 instruction decoder, 160
3 instruction code, 1611 write register signal, 1
612 Write processing to register.

Claims (12)

【特許請求の範囲】[Claims] 【請求項1】 プロセッサと主記憶と上記プロセッサ及
び主記憶を接続するバスとを備えた半導体チップを複数
有し、 各半導体チップの主記憶により一つのアドレス空間が構
成され、 上記アドレス空間の所定の領域が割り当てられた上記主
記憶に記録されたプログラムは、上記主記憶と同じ半導
体チップに備えられたプロセッサによって処理されるこ
とを特徴とするマルチプロセッサシステム。
A plurality of semiconductor chips each including a processor, a main memory, and a bus connecting the processor and the main memory, wherein one main memory of each semiconductor chip forms one address space; A program recorded in the main memory to which the area is assigned is processed by a processor provided on the same semiconductor chip as the main memory.
【請求項2】 ある主記憶に記録されたプログラムか
ら、他の主記憶に記録された一連のプログラムへ、処理
が移行する時、 上記ある主記憶に対応するプロセッサから、上記他の主
記憶に対応するプロセッサへ、上記ある主記憶に対応す
るプロセッサに設定された設定環境データを、上記他の
主記憶に対応するプロセッサへ出力することを特徴とし
た請求項1に記載のマルチプロセッサシステム。
2. When a process shifts from a program recorded in a certain main memory to a series of programs recorded in another main memory, a processor corresponding to the certain main memory transfers the program to the other main memory. 2. The multiprocessor system according to claim 1, wherein setting environment data set in a processor corresponding to the certain main storage is output to a processor corresponding to the other main storage.
【請求項3】 ある主記憶に記録されたプログラムから
他の主記憶に記録された一連のプログラムへの処理の移
行は、上記ある主記憶に記録されたプログラムのアドレ
スが、予め定められたアドレスを越えたか否かによって
判断することを特徴とする請求項2に記載のマルチプロ
セッサシステム。
3. The process transition from a program recorded in a certain main memory to a series of programs recorded in another main memory is performed by changing the address of the program recorded in the certain main memory to a predetermined address. 3. The multiprocessor system according to claim 2, wherein the determination is made based on whether or not the number has exceeded.
【請求項4】 プログラム全体は、機能モジュール毎に
分割でき、そのモジュール単位で主記憶に記録されるこ
とを特徴とする請求項1に記載のマルチプロセッサシス
テム。
4. The multiprocessor system according to claim 1, wherein the entire program can be divided for each function module, and is recorded in the main memory in units of the module.
【請求項5】 プロセッサは、アドレス空間の番地を、
上記プロセッサに対応する主記憶のアドレスに変換する
ことを特徴とする請求項1に記載のマルチプロセッサシ
ステム。
5. The processor according to claim 1, wherein the address in the address space is:
2. The multiprocessor system according to claim 1, wherein the address is converted into an address of a main memory corresponding to the processor.
【請求項6】 アドレス空間の番地を所定の主記憶のア
ドレスに変換するのは、プログラムを上記主記憶に記録
する時、又は該プログラムの参照するアドレスを使用す
る時であることを特徴とする請求項1に記載のマルチプ
ロセッサシステム。
6. The method according to claim 1, wherein the address of the address space is converted into an address of a predetermined main memory when a program is recorded in the main memory or when an address referred to by the program is used. The multiprocessor system according to claim 1.
【請求項7】 あるプロセッサから他のプロセッサへ、
上記あるプロセッサに設定された設定環境データを、上
記他のプロセッサへ随時出力することを特徴とする請求
項1に記載のマルチプロセッサシステム。
7. From one processor to another processor,
2. The multiprocessor system according to claim 1, wherein the setting environment data set in the certain processor is output to the other processor as needed.
【請求項8】 設定環境データは複数蓄積され、その蓄
積された複数の設定環境データの内で、その出力先が同
一の設定環境データがある場合は、最後発の設定環境デ
ータのみが出力されることを特徴とした請求項7に記載
のマルチプロセッサシステム。
8. A plurality of setting environment data are accumulated, and among the accumulated plurality of setting environment data, when there is the same setting environment data whose output destination is the same, only the last setting environment data is output. The multiprocessor system according to claim 7, wherein:
【請求項9】 プログラムの実行を監視し、設定環境デ
ータの出力を遅らせることを特徴とした請求項7に記載
のマルチプロセッサシステム。
9. The multiprocessor system according to claim 7, wherein execution of the program is monitored and output of the setting environment data is delayed.
【請求項10】 設定環境データは、専用線を介して、
あるプロセッサから他のプロセッサへ出力されることを
特徴とする請求項2に記載のマルチプロセッサシステ
ム。
10. The setting environment data is transmitted via a dedicated line.
3. The multiprocessor system according to claim 2, wherein a signal is output from one processor to another processor.
【請求項11】 プログラムの一部を各半導体チップの
主記憶に記録し、上記主記憶に対応するプロセッサで上
記プログラムの一部を並行して実行することを特徴とす
る請求項1に記載のマルチプロセッサシステム。
11. The program according to claim 1, wherein a part of the program is recorded in a main memory of each semiconductor chip, and a part of the program is executed in parallel by a processor corresponding to the main memory. Multiprocessor system.
【請求項12】 第1のプログラムの一部及び第2のプ
ログラムが記録された第1の主記憶と、 上記一部とは異なる上記第1のプログラムの他部が記録
された上記第2の主記憶とを備え、 上記第1のプログラムの他部が上記第2の主記憶に対応
するプロセッサで実行されると、上記第1の主記憶に対
応するプロセッサでは上記第2の実行プログラムが実行
されることを特徴とするマルチプロセッサシステム。
12. A first main memory in which a part of a first program and a second program are recorded, and a second main memory in which another part of the first program different from the part is recorded. A main memory, wherein when the other part of the first program is executed by a processor corresponding to the second main memory, the processor corresponding to the first main memory executes the second execution program. A multiprocessor system characterized by being performed.
JP37465499A 1999-12-28 1999-12-28 Multi-processor system Pending JP2001188764A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP37465499A JP2001188764A (en) 1999-12-28 1999-12-28 Multi-processor system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP37465499A JP2001188764A (en) 1999-12-28 1999-12-28 Multi-processor system

Publications (1)

Publication Number Publication Date
JP2001188764A true JP2001188764A (en) 2001-07-10

Family

ID=18504212

Family Applications (1)

Application Number Title Priority Date Filing Date
JP37465499A Pending JP2001188764A (en) 1999-12-28 1999-12-28 Multi-processor system

Country Status (1)

Country Link
JP (1) JP2001188764A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007188263A (en) * 2006-01-12 2007-07-26 Fujitsu Ltd Parallel arithmetic processing unit and parallel arithmetic processing method
JP2010067141A (en) * 2008-09-12 2010-03-25 Nec Computertechno Ltd Apparatus and method for controlling instruction issuance

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007188263A (en) * 2006-01-12 2007-07-26 Fujitsu Ltd Parallel arithmetic processing unit and parallel arithmetic processing method
JP4520949B2 (en) * 2006-01-12 2010-08-11 富士通株式会社 Parallel processing device and parallel processing method
JP2010067141A (en) * 2008-09-12 2010-03-25 Nec Computertechno Ltd Apparatus and method for controlling instruction issuance

Similar Documents

Publication Publication Date Title
JP2644780B2 (en) Parallel computer with processing request function
US20090024807A1 (en) Memory controller and method for optimized read/modify/write performance
US6345352B1 (en) Method and system for supporting multiprocessor TLB-purge instructions using directed write transactions
US20030206442A1 (en) Flash memory bridiging device, method and application system
JP3523286B2 (en) Sequential data transfer type memory and computer system using sequential data transfer type memory
JP2001216194A (en) Arithmetic processor
US6678789B2 (en) Memory device
US6687763B2 (en) ATAPI command receiving method
CN101313290B (en) Performing an N-bit write access to an MxN-bit-only peripheral
JP2010102623A (en) Cache memory and control method therefor
US20100180101A1 (en) Method for Executing One or More Programs on a Multi-Core Processor and Many-Core Processor
US8312216B2 (en) Data processing apparatus and data processing method
JP2003271574A (en) Data communication method for shared memory type multiprocessor system
JPS63116236A (en) Information processor
US6862675B1 (en) Microprocessor and device including memory units with different physical addresses
JPH1173365A (en) Method for optimizing data moving operation
JP2001188764A (en) Multi-processor system
EP0766180A2 (en) Information handling system having bus to bus translation
EP0787326B1 (en) System and method for processing of memory data and communication system comprising such system
US20090100220A1 (en) Memory system, control method thereof and computer system
JP3476314B2 (en) Microprocessor
JP2001022581A (en) Data processor and computer readable storage medium
JP2847729B2 (en) Information processing device
US20040177227A1 (en) Microcomputer application system, microcomputer, signal processing system and signal processing LSI
JP2001273014A (en) Programmable controller

Legal Events

Date Code Title Description
RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20040625

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060628

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080117

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080129

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20080603