Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JPS5844266B2 - Multiprocessor parallel operation execution processing method - Google Patents
[go: Go Back, main page]

JPS5844266B2 - Multiprocessor parallel operation execution processing method - Google Patents

Multiprocessor parallel operation execution processing method

Info

Publication number
JPS5844266B2
JPS5844266B2 JP52133287A JP13328777A JPS5844266B2 JP S5844266 B2 JPS5844266 B2 JP S5844266B2 JP 52133287 A JP52133287 A JP 52133287A JP 13328777 A JP13328777 A JP 13328777A JP S5844266 B2 JPS5844266 B2 JP S5844266B2
Authority
JP
Japan
Prior art keywords
processor
parallel operation
processing
slave
instruction
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.)
Expired
Application number
JP52133287A
Other languages
Japanese (ja)
Other versions
JPS5466735A (en
Inventor
啓一郎 内田
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP52133287A priority Critical patent/JPS5844266B2/en
Publication of JPS5466735A publication Critical patent/JPS5466735A/en
Publication of JPS5844266B2 publication Critical patent/JPS5844266B2/en
Expired legal-status Critical Current

Links

Landscapes

  • Multi Processors (AREA)
  • Complex Calculations (AREA)

Description

【発明の詳細な説明】 本発明は、マルチプロセッサの並列動作実行処理方法、
特にマルチプロセッサ・システムにおいて、処理に当っ
てマスクとなったマスク・プロセッサが、待機状態にあ
るスレーブ・プロセッサに対して並列動作通信手段を介
して並列動作指示を行ない、例えばマトリクス演算(ベ
クトル演算ともいう以下同じ)などにおける個々の処理
を複数のプロセッサが分担して実行するようにしたマル
チプロセッサの並列動作実行処理方法に関するものであ
る。
DETAILED DESCRIPTION OF THE INVENTION The present invention provides a parallel operation execution processing method for a multiprocessor;
Particularly in multiprocessor systems, a mask processor that serves as a mask during processing issues parallel operation instructions to slave processors in a standby state via parallel operation communication means, such as matrix operations (also known as vector operations). The present invention relates to a multiprocessor parallel operation execution processing method in which a plurality of processors share and execute individual processes such as in the following.

ここで待機状態とはマスクプロセッサからの通信を待っ
ている状態であり、特定プログラムをループして実行し
ている状態であってもよい。
Here, the standby state is a state of waiting for communication from the mask processor, and may also be a state of executing a specific program in a loop.

本発明は、それに限られるものではないが、例えばマト
リクス演算などにおいて、各エレメント毎にb1+c1
、b2+c2、・・・・・・、bn+cnを順次実行す
ることが行なわれる。
Although the present invention is not limited thereto, for example, in matrix calculations, b1+c1 is calculated for each element.
, b2+c2, . . . , bn+cn are sequentially executed.

このような処理においてエレメントの個数が膨大となる
ことがあり、単一のプロセッサのみで実行する場合、演
算時間が大幅に犬となる。
In such processing, the number of elements may become enormous, and when executed by only a single processor, the calculation time becomes significantly longer.

このような場合、演算回路部のみを複数個用意し、該複
数の演算回路部に対して共通制御部が演算指示を与える
いわゆるソロモン形のデータ処理システムが考慮されて
いる。
In such a case, a so-called Solomon type data processing system is being considered, in which only a plurality of arithmetic circuit units are prepared and a common control unit gives arithmetic instructions to the plurality of arithmetic circuit units.

しかし、このようなデータ処理システムはいわば特殊型
式のデータ処理システムであり、現状では必らずしも実
用的でない。
However, such a data processing system is a special type of data processing system, and is not necessarily practical at present.

一方従来から、処理量の膨大な1つのジョブを複数のス
トアト・プログラム・データ処理装置によって分担して
実行することが行なわれる。
On the other hand, conventionally, a single job with an enormous amount of processing has been divided and executed by a plurality of stored program data processing devices.

しカル、個々の演算処理の如く比較的細かい単位で処理
を分担せしめようとすると、オペレーション・システム
による同期化処理例えばタスク・スイッチング処理のた
めに多くの処理ステップを必要とし、きわめて非効率的
なものとなる。
However, if we try to divide processing into relatively small units such as individual arithmetic processing, many processing steps are required for synchronization processing by the operating system, such as task switching processing, which is extremely inefficient. Become something.

本発明は上記後者の方式を採用しつつ上記タスク・スイ
ッチング処理など繁雑な処理を要することなく、いわば
ユーザース・プログラムのレベルで複数のストアト・プ
ログラム・データ処理装置を例えば個々の演算単位で並
列動作状態に切換え得るようにすることを目的としてい
る。
The present invention adopts the latter method, but without requiring complicated processing such as the task switching processing, it is possible to parallelize multiple stored program data processing devices at the user program level, for example, in individual calculation units. The purpose is to enable switching to the operating state.

なお複数のデータ処理装置に対して処理を分担せしめる
機能を本明細書においてEORKOR上呼ぶ。
Note that the function of distributing processing to a plurality of data processing devices is referred to herein as EORKOR.

また個々のデータ処理装置が自己のために指示された処
理を実行し、その旨をマスク・プロセッサに通知し、マ
スク・プロセッサが該各処理終了を確認する処理機能を
本明細書においてJOIN機能と呼んでいる。
Further, in this specification, a processing function in which each data processing device executes a process instructed for itself, notifies the mask processor of the process, and the mask processor confirms the completion of each process is referred to as a JOIN function. I'm calling.

本発明のマルチプロセッサの並列動作実行処理方法は複
数台の中央処理装置が夫々与えられたプログラムにした
がって処理を進行するマルチプロセッサ・システムにお
いて、既に待機状態にあるスレーブ・プロセッサに対し
て当該処理に当ってマスクとなるマスク・プロセッサの
みが並列動作指示を与えると共に当該指示を受取ったス
レーブ・プロセッサが当該指示について解除のみを行う
並列動作指示通信手段、該並列動作指示通信手段からの
並列動作指示の発生を上述スレーブ・プロセッサが上記
待機状態の下で監視し当該並列動作指示にもとづいて当
該スレーブ・プロセッサまたは上記マスク・プロセッサ
を含む各プロセッサに対して上記並列動作を実行するた
めの初期設定を行う初期設定手段、上記スレーブ・プロ
セッサまたは上記マスク・プロセッサを含む各プロセッ
サが上記並列動作実行を開始する並列動作実行開始手段
、上記各スレーブ・プロセッサが自己に与えられた並列
動作処理の処理終了を上記マスク・プロセッサに対して
通知する処理終了指示通信手段、上記マスク・プロセッ
サが上記各スレーブ・プロセッサからの処理終了指示通
信を検出して該処理終了指示通信を確認する処理手段、
上記マスク・プロセッサが上記各スレーブ・プロセッサ
からのすべての処理終了指示通信を確認し自己に稼され
ている処理を実行するメイン処理実行手段、上記各スレ
ーブ・プロセッサが上記マスク・プロセッサによる処理
終了指示通信の確認により待機状態あるいは自己に稼さ
れている処理を実行する状態に移行するスレーブ・プロ
セッサ処理実行手段をそなえ、上記マスク・プロセッサ
からの並列動作指示を検出したとき、待機状態にある上
記スレーブ・プロセッサまたは上記マスク・プロセッサ
を含む各プロセッサが上記並列動作を実行し、上記スレ
ーブ・プロセッサまたは上記マスク・プロセッサを含む
各プロセッサによる上記並列動作の終了を上記マスク・
プロセッサに通信するようにしたことを特徴としている
The parallel operation execution processing method for a multiprocessor according to the present invention is a multiprocessor system in which a plurality of central processing units each carry out processing according to a given program. Parallel operation instruction communication means in which only a mask processor that becomes a mask issues a parallel operation instruction, and a slave processor that receives the instruction only cancels the instruction; The slave processor monitors the occurrence in the standby state, and based on the parallel operation instruction, initializes the slave processor or each processor including the mask processor to execute the parallel operation. initial setting means, parallel operation execution starting means for each processor including the slave processor or the mask processor to start executing the parallel operation; processing end instruction communication means for notifying a mask processor; processing means for the mask processor to detect and confirm a processing end instruction communication from each of the slave processors;
A main processing execution means in which the mask processor checks all process termination instruction communications from each of the slave processors and executes its own processing, and each of the slave processors receives the process termination instruction from the mask processor. The slave processor is provided with a slave processor processing execution means that shifts to a standby state or a state in which it executes its own processing upon confirmation of communication, and when a parallel operation instruction from the mask processor is detected, the slave processor in the standby state - A processor or each processor including the mask processor executes the parallel operation, and the slave processor or each processor including the mask processor prevents the completion of the parallel operation by the mask processor.
It is characterized by communicating with the processor.

以下図面を参照しつつ説明する。This will be explained below with reference to the drawings.

第1図は本発明の処理方法が適用される処理の一例を説
明する説明図、第2図は本発明を実行するための一実施
例構成、第3図は同じく他の一実施例構成を示す。
FIG. 1 is an explanatory diagram illustrating an example of processing to which the processing method of the present invention is applied, FIG. 2 is a configuration of one embodiment for carrying out the present invention, and FIG. 3 is a diagram showing the configuration of another embodiment. show.

例えばマトリクス演算などにおいては、処理を効率よく
実行せしめるために、中央処理装置は、マトリクス演算
処理を例えばパイプライン処理によって実行する専用演
算部に処理を依頼するようにする。
For example, in matrix calculations, in order to efficiently execute the processing, the central processing unit requests the processing to a dedicated calculation unit that executes the matrix calculation processing, for example, by pipeline processing.

しかし、該方式を採用してもなお上記の如くマトリクス
のエレメント数が膨大となると、非所望に演算時間が犬
となる。
However, even if this method is adopted, if the number of elements in the matrix becomes enormous as described above, the computation time will undesirably increase.

本発明においては専用演算部を必らずしも必要とするわ
けではないが、本発明の場合、当該処理を実行するに当
って、いわばマスクとなるデータ処理装置(マスク・プ
ロセッサと呼ぶ)が、他のデータ処理装置(スレーブ・
プロセッサと呼ぶ)に対して上記マトリクス演算時のエ
レメント番号を割振った形で処理を依頼するようにする
Although the present invention does not necessarily require a dedicated arithmetic unit, in the case of the present invention, a data processing device (referred to as a mask processor) that serves as a so-called mask is used to execute the processing. , other data processing devices (slave
Processing is requested to a processor (referred to as a processor) by assigning the element number used in the matrix calculation.

第1図はこの間の様子を図示しており、1−0゜1−1
.1−2・・・・・・はマスタ・プロセッサによる処理
ステップ、2,3,4.・・・・・・は夫々個々のスレ
ーブ・プロセッサによる処理ステップを表わしている。
Figure 1 shows the situation during this time, 1-0°1-1
.. 1-2... are processing steps by the master processor, 2, 3, 4. . . . represent processing steps by individual slave processors.

マスク・プロセッサが自己の処理を実行している間に、
例えば第1図B図示の如きマトリクス演算を行なう場合
、例えば4個のプロセッサを利用できるとき、エレメン
ト番号rOJ 、r4J e「8」・・・・・・の如き
エレメントに対する演算す。
While the mask processor is performing its own processing,
For example, when performing a matrix operation as shown in FIG. 1B, for example, when four processors are available, the operation is performed on elements such as element numbers rOJ, r4Je "8", . . . .

+CO、b4 + C4、・・・・・・を自己が、エレ
メント番号rlJ 、r5J 、r9J 、・・・・・
・の如きエレメントに対する演算b1+c1.b5+c
5.・・・・・・を1つのスレーブ・プロセッサが、・
・・・・・の如く処理を振分けて、並列動作を行なわせ
るようにする。
+CO, b4 + C4, ...... self, element numbers rlJ, r5J, r9J, ...
・Operations for elements such as b1+c1. b5+c
5. One slave processor performs...
Distribute the processing as follows to perform parallel operations.

このときマスク・プロセッサに用意されるプログラム中
にFORK機能を与えるようにする。
At this time, the FORK function is provided in the program prepared for the mask processor.

また各プロセッサが実行した結果の終了通知を受取るた
めに、上記プログラム中にJOIN機能を与えるように
する。
In addition, a JOIN function is provided in the program in order to receive notification of completion of the results executed by each processor.

上記FORK機能によって処理分担を受けるスレーブ・
プロセッサにおいては、それまでの間に自己に与えられ
ているプログラムを実行している何んらかの手段によっ
て前もって待機状態に置かれてもよく、あるいは上記並
列動作を行なうために予め待機状態にあるようにされて
もよいが、いずれにしても上記処理分担を受けとる際に
は待機状態にあるようにされる。
A slave that receives processing by the above FORK function.
A processor may be put into a standby state in advance by some means that is executing a program given to it in the meantime, or it may be put into a standby state beforehand in order to perform the above parallel operation. However, in any case, when receiving the processing assignment, it is set to be in a standby state.

そして、マスク・プロセッサから後述の如く並列動作指
示通信を受けとると、当該並列動作を行なうために初期
設定が行なわれ、当該並列動作を実行する。
When a parallel operation instruction communication is received from the mask processor as described later, initial settings are made to perform the parallel operation, and the parallel operation is executed.

なお該初期設定は、マスク・プロセッサから指示されて
もよく、あるいは予め定められていてもよく、あるいは
スレーブ・プロセッサが設定してもよい。
Note that the initial settings may be instructed by the mask processor, may be predetermined, or may be set by the slave processor.

各スレーブ・プ凸セッサは自己に振り分けられた処理を
実行すると、その旨をマスク・プロセッサに対して処理
終了指示通信を行なうようにする。
When each slave processor executes the processing assigned to it, it sends a processing end instruction communication to the mask processor to that effect.

マスク・プロセッサはJOIN機能により、各スレーブ
・プロセッサからの上記処理終了指示通信をチェックし
確認し、以後自己に与えられているプログラムを実行し
てゆく。
The mask processor uses the JOIN function to check and confirm the processing termination instruction communication from each slave processor, and thereafter executes the program given to itself.

一方各スレープ・プロセッサにおいては、マスク・プロ
セッサが上記確認を行なったことをチェックし、以後待
機状態あるいは自己の処理に入ってゆく。
On the other hand, each slave processor checks that the mask processor has performed the above confirmation, and thereafter enters a standby state or its own processing.

なお、上記において、マスク・プロセッサが並列動作分
担を行なう場合、各スレーブ・プロセッサが独自に実行
している処理をタスク・スイッチングなどのオペレーシ
ョン・システムの介在によって強制的に中断せしめて各
スレーブ・プロセッサが上記並列動作分担を実行し得る
ようにスイッチングせしめることは、本願明細書冒頭に
述べた如く実際的ではない。
In the above, when the mask processor performs parallel operations, the processing that each slave processor is independently executing is forcibly interrupted by the intervention of the operation system such as task switching, and each slave processor As stated at the beginning of this specification, it is impractical to switch so that the above-mentioned parallel operations can be shared.

第2図は本発明を実行するための一実施例構成を示して
いる。
FIG. 2 shows an embodiment of the configuration for carrying out the present invention.

図中の符号5は主記憶装置、6は記憶制御装置、7−ロ
ないし7−3は夫々ストアト・プログラム・プロセッサ
、8は入出カプロセッサ、9−01,9−02.・・・
・・・、9−23は夫夫プロセッサ間通信線、1o−o
ないし10−3は夫々通信情報送受信回路部を表わして
いる。
In the figure, numeral 5 is a main storage device, 6 is a storage control device, 7-b to 7-3 are respective stored program processors, 8 is an input/output processor, 9-01, 9-02 . ...
..., 9-23 is a communication line between husband and husband processors, 1o-o
10-3 respectively represent communication information transmitting/receiving circuit sections.

例えば今、プロセッサ7−0がマスタ・プロセツサとな
った場合、プロセッサ7−0は上記通信線9−01.9
−02,9−03を介して並列動作指示通信を行なう。
For example, if the processor 7-0 becomes the master processor, the processor 7-0 will connect to the communication line 9-01.9.
Parallel operation instruction communication is performed via -02 and 9-03.

即ち、自己に対してスタート・スイッチ情報SSOを立
て、スレーブ・プロセッサ7−1に対してスタート・ス
イッチ情報SS1を立て、スレーブ、プロセッサ7−2
に対してスタート・スイッチ情報SS2を立て、スレー
ブ・プロセッサ7−3に対してスタート・スイッチ情報
SS3を立てる。
That is, it sets start switch information SSO for itself, sets start switch information SS1 for slave processor 7-1, and sets start switch information SS1 for slave processor 7-2.
Start switch information SS2 is set for the slave processor 7-3, and start switch information SS3 is set for the slave processor 7-3.

この場合、各スレーブ・プロセッサ7−1ないし7−3
は待機状態にあるとする。
In this case, each slave processor 7-1 to 7-3
Assume that it is in a standby state.

各プロセッサにおいては、スタート・スイッチ情報SS
が立てられたことをチェックし、自己あてのスタート・
スイッチ情報SSを消去しあわせて並列動作を実行する
ための所期設定を例えばインデックス・レジスタなどを
利用して受取る。
In each processor, start switch information SS
Check that the has been set up and start
Initial settings for erasing switch information SS and executing parallel operations are received using, for example, an index register.

即ち、例えばとのマトリクスについてどのエレメントを
幾つまで実行すべきかなどを受取る。
That is, for example, it receives information such as which elements should be executed and up to how many times for the matrix.

該所期設定データは、マスク・プロセッサ7−0が予め
主記憶装置5上に書込んでおくようにしてもよく、ある
いは予め設定されていてもよい。
The initial setting data may be written in the main storage device 5 in advance by the mask processor 7-0, or may be set in advance.

各プロセッサは、上記所期設定を受取った後に、例えば
分岐命令などによってベクトル和などを行なうプログラ
ムにジャンプし、上記指示されたエレメントに対してベ
クトル和を実行する。
After receiving the above-mentioned initial settings, each processor jumps to a program that performs vector summation using a branch instruction, for example, and executes vector summation on the specified elements.

上記分担を指示し実行させるまでの処理をFORKOR
上呼ぶ。
FORKOR processes from instructing and executing the above assignments
I'll call you up.

各プロセッサは自己に振りねられた処理を実行すると、
上述のプロセッサ間通信線9−01,9−02,9−0
3を介してマスク・プロセッサ7−〇に対してエンド・
スイッチ情報ES1゜ES2.ES3をセットし、マス
ク・プロセッサ7−0は自己においてエンド・スイッチ
情−m s 。
When each processor executes the processing assigned to it,
The above-mentioned inter-processor communication lines 9-01, 9-02, 9-0
3 to the mask processor 7-0.
Switch information ES1゜ES2. ES3, the mask processor 7-0 self-configures the end switch information -m s .

をセットする。Set.

マスク・プロセッサ7−0は、上記エンド・スイッチ情
報ESO,ESI 、ES2.ES3が立てられている
か否かをチェックし、該すべての情報ESが立っている
とき、該各エンド・スイッチ情報を消去し、自己に対応
づけられている処理を以後実行してゆく。
The mask processor 7-0 processes the end switch information ESO, ESI, ES2. It is checked whether ES3 is set or not, and when all the information ES is set, the end switch information is erased and the process associated with itself is executed thereafter.

一方各スレープ・プロセッサ7−1ないし7−3は、上
述の如くエンド・スイッチ情報ESが消去されたことを
確認し、例えば待機状態に入る。
On the other hand, each slave processor 7-1 to 7-3 confirms that the end switch information ES has been erased as described above, and enters a standby state, for example.

上記各プロセッサが処理終了を通知し、夫々の処理に入
ってゆく処理をJOIN機能と呼ぶ。
The processing in which each of the processors notifies the end of processing and enters the respective processing is called a JOIN function.

本発明の場合、上記FORKOR上JOIN機能とは、
オペレーション・システムによる例えばタスク・スイッ
チングなどの機能を利用することなくユーザーズ・プロ
グラムにもとすいて実行するようにされる。
In the case of the present invention, the above FORKOR JOIN function is
The user's program can be executed directly without using the operating system's functions such as task switching.

即ちユーザーズ・プログラム中に、上記FORKOR上
行う命令と上記JOIN機能を行う命令とを与えておき
、これを実行するようにされる。
That is, an instruction to perform the above FORKOR function and an instruction to perform the above JOIN function are provided in the user's program, and these instructions are executed.

勿論、上述のFORKOR上JOIN機能を新らたにオ
ペレーション・システムにもたせることを排除するもの
ではないが、第2図に示す実施例の場合、プロセッサ間
通信線9と通信情報送受信回路部10とを用意するだけ
で足りる。
Of course, this does not preclude adding the above-mentioned FORKOR JOIN function to the operating system, but in the case of the embodiment shown in FIG. It is sufficient to prepare the

即ち上記FORKやJOINを実行する命令群によって
、プロセッサ間通信線9を介して相手方プロセッサの通
信情報送受信回路部10にその旨をセットせしめ、当該
相手方プロセッサにおいては自己の通信情報送受信回路
部10の内容をチェックするようにすればよい。
That is, by the command group for executing FORK or JOIN, the communication information transmitting/receiving circuit section 10 of the other processor is set to that effect via the inter-processor communication line 9, and the other processor's own communication information transmitting/receiving circuit section 10 is set to that effect. Just check the contents.

なお、第2図図示の場合、各プロセッサ7−ロないし7
−3のいずれもがマスク・プロセッサとなり得ることを
考慮して、プロセッサ間通信線9などは対称的に構成さ
れることを示している。
In addition, in the case shown in FIG. 2, each processor 7-b to 7
-3 can serve as a mask processor, the inter-processor communication line 9 and the like are shown to be configured symmetrically.

勿論、予め定めたプロセッサのみがマスク・プロセッサ
となるように定めておくことができるのは言うまでもな
い。
Of course, it goes without saying that only a predetermined processor can be determined to be a mask processor.

第3図は本発明の他の一実施例構成を示している。FIG. 3 shows the configuration of another embodiment of the present invention.

図中の符号5,6,7−0ないし7−3.8は第2図に
対応し、11はマスク・プロセッサの処理のために用意
されているプログラムの一例、12は各スレーブ・プロ
セッサの処理のために用意されているプログラムの一例
、13はベクトル和演算のためのプログラムの−f曵
14は通信情報格納部であって主記憶装置5上に用意さ
れているものを表わしている。
Reference numerals 5, 6, 7-0 to 7-3.8 in the figure correspond to those in FIG. An example of a program prepared for processing, 13 is a program for vector sum operation -f
Reference numeral 14 represents a communication information storage section prepared on the main storage device 5.

なお、本実施例の場合、本発明にいう並列動作指示通信
や処理終了指示通信は例えば主記憶装置5などの記憶装
置を介して行なうようにされている。
In the case of this embodiment, the parallel operation instruction communication and processing termination instruction communication referred to in the present invention are performed via a storage device such as the main storage device 5, for example.

即ち各プロセッサがユーザーズ・プログラムの下で主記
憶装置5上の通信情報格納部14の内容をリード、/ラ
イトすることによって交信しあうようにされる。
That is, each processor communicates with each other by reading/writing the contents of the communication information storage section 14 on the main memory 5 under the user's program.

なお、図示プログラム・ステップ15は本発明にいう並
列動作指示通信処理に対応している。
Note that the illustrated program step 15 corresponds to the parallel operation instruction communication process according to the present invention.

16は初期設置処理に対応している。16 corresponds to initial installation processing.

17は並列動作実行開始処理に対応している。17 corresponds to parallel operation execution start processing.

18は処理終了指示確認処理に対応している。18 corresponds to processing end instruction confirmation processing.

19はメイン処理に対応している。19 corresponds to main processing.

また20はスレーブ・プロセッサにおける待機ルーチン
処理に対応している。
Further, 20 corresponds to standby routine processing in the slave processor.

21は並列動作指示通信を受信する処理に対応している
21 corresponds to a process of receiving parallel operation instruction communication.

22は初期設定処理に対応している。23は並列動作実
行開始処理に対応している。
22 corresponds to initial setting processing. 23 corresponds to parallel operation execution start processing.

24は処理終了指示通信処理に対応している。24 corresponds to processing end instruction communication processing.

25は待機状態にブランチする処理に対応している。25 corresponds to the process of branching to the standby state.

図示の場合、成る処理を実行する際にスレーブ・プロセ
ッサとなるプロセッサ例えば7−1ないし7−3は夫々
図示処理20によって待機状態にあるものとして示され
ている。
In the illustrated case, processors such as 7-1 to 7-3, which become slave processors when executing the corresponding processes, are shown as being in a standby state by the illustrated process 20, respectively.

マスク・プロセッサ例えば7−0が上述の並列動作実行
を各スレーブ・プロセッサ7−1ないし7−2に対して
分担せしめるとき、マスク・プロセッサ7−0は通信情
報格納部14上に上記処理15によって順次スタート・
スイッチ情報ssi。
For example, when the mask processor 7-0 assigns the above-described parallel operation execution to each slave processor 7-1 or 7-2, the mask processor 7-0 stores information on the communication information storage unit 14 by the process 15 described above. Start sequentially
Switch information ssi.

SS2.SS3をストアする。SS2. Store SS3.

そして処理16によって所期設定を行なう。Then, in step 16, initial settings are performed.

一方、待機状態にあった各スレーブ・プロセッサ7−1
ないし7−3においては、上記通信情報格納部14上に
スタート・スイッチ情報SS1ないしSS3が立ったこ
とにより、上記処理21に移り自己のために立てられた
スタート・スイッチ情報SSを消去する。
On the other hand, each slave processor 7-1 that was in a standby state
In steps 7-3, since the start switch information SS1 to SS3 are set on the communication information storage section 14, the process moves to the process 21 and the start switch information SS set for itself is erased.

そして処理22によって所期設定を行なう。Then, in step 22, initial settings are performed.

各プロセッサは、図示の処理17.23によって、ベク
トル和演算のためのプログラム13などにジャンプさ、
tL、A(i)=B(i)+C(i)を自己に振りつけ
られたエレメント番号rOJ j r4J・・・・・・
rlJ 、r5J・・・・・・、 r2J 、 r6J
、・・・・・・。
Each processor jumps to the program 13 for vector sum operation by the illustrated process 17.23,
tL, A(i) = B(i) + C(i) is the element number assigned to itself rOJ j r4J...
rlJ, r5J..., r2J, r6J
,......

r3J r7J・・・・・・の如く実行してゆく。It is executed as follows: r3J r7J...

そしてマスク・プロセッサ7−0は自身で処理終了を知
り、各スレーブ・プロセッサ7−1ないし7−3は夫々
処理24によって処理終了指示逆信号を行なう。
Then, the mask processor 7-0 knows by itself that the processing has ended, and each of the slave processors 7-1 to 7-3 sends a reverse signal indicating the end of processing through processing 24, respectively.

即ち、通信情報格納部14上にエンド・スイッチ情報E
SI 、ES2.ES3をセットしてゆく。
That is, end switch information E is stored on the communication information storage section 14.
SI, ES2. Set up ES3.

マスク・プロセッサ7−0は図示処理18の前半の処理
によって上記通信情報格納部14上にエンド・スイッチ
情報ESI 、ES2.ES3が夫夫セットされている
か否かを調べにゆき、すべての情報がセットされている
と図示処理18の後半の処理により、上記情報ESI
、ES2.ES3を夫々消去し、処理19以後自己の処
理に入ってゆく。
The mask processor 7-0 stores the end switch information ESI, ES2 . When checking whether the ES3 is set as husband or not, if all the information is set, the above information ESI is
, ES2. ES3 is erased, and after process 19, it starts its own process.

一方スレープ・プロセッサ7−1.7−2゜7−3は夫
々情報ESI 、ES2.ES3をセットしたことにも
とすいて図示処理25により、図示処理20による待機
状態に移行する。
On the other hand, the slave processors 7-1, 7-2 and 7-3 respectively receive information ESI, ES2. Immediately after setting ES3, the illustrated process 25 causes a transition to a standby state according to the illustrated process 20.

なお必要に応じてスレーブ・プロセッサ7−1 、7−
2 。
Note that slave processors 7-1, 7-
2.

7−3が自己の処理に入って行ってもよい。7-3 may enter its own processing.

以上説明した如く、本発明によれば、マルチプロセッサ
・システムにおいて、オペレーション・システムによる
例えばタスク・スイッチ処理などの繁雑な処理を全く利
用することなく、例えばマトリクス演算などの個々の処
理に対応して、各プロセッサが簡単に処理を分担するこ
とが可能となる。
As explained above, according to the present invention, in a multiprocessor system, it is possible to handle individual processing such as matrix calculation without using any complicated processing such as task switching processing by the operation system. , each processor can easily share the processing.

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

第1図は本発明の処理方法が適用される処理の一例を説
明する説明図、第2図は本発明を実行するための一実施
例構成、第3図は同じく他の一実施例構成を示す。 図中、5は主記憶装置、6は記憶制御装置、7−〇ない
し7−3は夫々プロセッサ、9はプロセッサ間通信線、
10は通信情報送受信回路部、14は通信情報格納部、
15は並列動作指示通信処理、16は初期設置処理、1
7は並列動作実行開始処理、18は処理終了指示確認処
理、19はメイン処理、20は待機ルーチン処理、21
は並列動作指示通信受信処理、22は初期設定処理、2
3は並列動作実行開始処理、24は処理終了指示通信処
理を夫々表わす。
FIG. 1 is an explanatory diagram illustrating an example of processing to which the processing method of the present invention is applied, FIG. 2 is a configuration of one embodiment for carrying out the present invention, and FIG. 3 is a diagram showing the configuration of another embodiment. show. In the figure, 5 is a main storage device, 6 is a storage control device, 7-0 to 7-3 are respective processors, 9 is an inter-processor communication line,
10 is a communication information transmitting/receiving circuit section, 14 is a communication information storage section,
15 is parallel operation instruction communication processing, 16 is initial installation processing, 1
7 is a parallel operation execution start process, 18 is a process end instruction confirmation process, 19 is a main process, 20 is a standby routine process, 21
2 is a parallel operation instruction communication reception process, 22 is an initial setting process, 2
3 represents a parallel operation execution start process, and 24 represents a process end instruction communication process.

Claims (1)

【特許請求の範囲】 1 複数台の中央処理装置が夫々与えられたプログラム
にしたがって処理を進行するマルチプロセッサ・システ
ムにおいて、既に待機状態にあるスレーブ・プロセッサ
に対して当該処理に当ってマスタとなるマスタ・プロセ
ッサのみが並列動作指示を与えると共に当該指示を受取
ったスレーブ・プロセッサが当該指示について解除のみ
を行う並列動作指示通信手段、該並列動作指示通信手段
からの並列動作指示の発生を上述スレーブ・プロセッサ
が上記待機状態の下で監視し当該並列動作指示にもとづ
いて当該スレーブ・プロセッサまたは上記マスク・プロ
セッサを含む各プロセッサに対して上記並列動作を実行
するための初期設定を行う初期設定手段、上記スレーブ
・プロセッサまたは上記マスク・プロセッサを含む各プ
ロセッサが上記並列動作実行を開始する並列動作実行開
始手段、上記各スレーブ・プロセッサが自己に与えられ
た並列動作処理の処理終了を上記マスク・プロセッサに
対して通知する処理終了指示通信手段、上記マスク・プ
ロセッサが上記各スレーブ・プロセッサからの処理終了
指示通信を検出して該処理終了指示通信を確認する処理
手段、上記マスク・プロセッサが上記各スレーブ°プロ
セッサからのすべての処理終了指示通信を確認し自己に
稼されている処理を実行するメイン処理実行手段、上記
各スレーブ・プロセッサが上記マスク・プロセッサによ
る処理終了指示通信の確認により待機状態あるいは自己
に稼されている処理を実行する状態に移行するスレーブ
・プロセッサ処理実行手段をそなえ、上記マスク・プロ
セッサからの並列動作指示を検出したとき、待機状態に
ある上記スレーブ・プロセッサまたは上記マスク・プロ
セッサを含む各プロセッサが上記並列動作を実行し、上
記スレーブ・プロセッサまたは上記マスク・プロセッサ
を含む各プロセッサによる上記並列動作の終了を上記マ
スク・プロセッサに通信するようにしたことを特徴とす
るマルチプロセッサの並列動作実行処理方法。 2 上記マスク・プロセッサが上記スレーブ・プロセッ
サに対して並列動作指示を与える並列動作指示通信手段
は、上記各プロセッサ間にもうけられたプロセッサ間通
信線と該プロセッサ間通信線を介して送受する通信情報
送受信回路部とによって構成されることを特徴とする特
許請求の範囲第1項記載のマルチプロセッサの並列動作
実行処理方法。 3 上記マスク・プロセッサが上記スレーブ・プロセッ
サに対して並列動作指示を与える並列動作指示通信手段
は、主記憶装置上にもうけられた通信情報格納部と各プ
ロセッサが上記通信情報格納部の内容をチェックするチ
ェック処理とによって構成されることを特徴とする特許
請求の範囲第1項記載のマルチプロセッサの並列動作実
行処理方法。 4 上記スレーブ・プロセッサは、上記並列動作処理の
処理終了により、次の並列動作指示通信を監視する待機
状態に入ることを特徴とする特許請求の範囲第1項ない
し第3項のいずれか記憶のマルチプロセッサの並列動作
実行処理方法。 5 上記並列動作実行開始手段は、ブランチ命令あるい
は割込み命令によって、上記並列動作処理プログラムの
先頭番地の命令を実行する手段によって構成されること
を特徴とする特許請求の範囲第1項ないし第4項のいず
れか記載のマルチプロセッサの並列動作実行処理方法。 6 上記並列動作処理は、与えられたマトリクス演算を
上記各プロセッサが分担して実行する並列動作処理であ
ることを特徴とする特許請求の範囲第1項ないし第5項
のいずれか記載のマルチプロセッサの並列動作実行処理
方法。
[Scope of Claims] 1. In a multiprocessor system in which a plurality of central processing units each perform processing according to a given program, a slave processor that is already in a standby state becomes a master for the processing. Parallel operation instruction communication means in which only the master processor issues a parallel operation instruction and the slave processor that receives the instruction only cancels the instruction; Initial setting means for monitoring the processor in the standby state and initializing each processor including the slave processor or the mask processor to execute the parallel operation based on the parallel operation instruction; Parallel operation execution starting means for each processor including the slave processor or the mask processor to start executing the parallel operation; each slave processor instructs the mask processor to finish the parallel operation processing given to it processing end instruction communication means for notifying the processing end instruction communication from each of the slave processors; processing means for the mask processor to detect and confirm the processing end instruction communication from each of the slave processors; The main processing execution means confirms all process termination instruction communication from the mask processor and executes the process being executed by itself, and each of the slave processors is placed in a standby state or self-operated upon confirmation of the process termination instruction communication by the mask processor. A slave processor processing execution means is provided for transitioning to a state in which processing is executed, and when a parallel operation instruction from the mask processor is detected, each of the slave processors or the mask processors in a standby state Execution of a parallel operation by a multiprocessor, characterized in that a processor executes the parallel operation and communicates to the mask processor the completion of the parallel operation by each processor including the slave processor or the mask processor. Processing method. 2. The parallel operation instruction communication means by which the mask processor issues parallel operation instructions to the slave processors includes an inter-processor communication line provided between the respective processors and communication information sent and received via the inter-processor communication line. 2. A multiprocessor parallel operation execution processing method according to claim 1, characterized in that the method comprises a transmitting/receiving circuit unit. 3. The parallel operation instruction communication means by which the mask processor issues parallel operation instructions to the slave processors includes a communication information storage section provided on the main memory and each processor checks the contents of the communication information storage section. 2. The multiprocessor parallel operation execution processing method according to claim 1, further comprising: a check process for executing a parallel operation in a multiprocessor. 4. The slave processor, upon completion of the parallel operation processing, enters a standby state in which it monitors the next parallel operation instruction communication. A method for executing parallel operations on multiprocessors. 5. Claims 1 to 4, characterized in that the parallel operation execution starting means is configured by means for executing an instruction at a leading address of the parallel operation processing program by a branch instruction or an interrupt instruction. A multiprocessor parallel operation execution processing method according to any one of the above. 6. The multiprocessor according to any one of claims 1 to 5, wherein the parallel operation process is a parallel operation process in which each of the processors shares a given matrix operation. Parallel operation execution processing method.
JP52133287A 1977-11-07 1977-11-07 Multiprocessor parallel operation execution processing method Expired JPS5844266B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP52133287A JPS5844266B2 (en) 1977-11-07 1977-11-07 Multiprocessor parallel operation execution processing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP52133287A JPS5844266B2 (en) 1977-11-07 1977-11-07 Multiprocessor parallel operation execution processing method

Publications (2)

Publication Number Publication Date
JPS5466735A JPS5466735A (en) 1979-05-29
JPS5844266B2 true JPS5844266B2 (en) 1983-10-01

Family

ID=15101110

Family Applications (1)

Application Number Title Priority Date Filing Date
JP52133287A Expired JPS5844266B2 (en) 1977-11-07 1977-11-07 Multiprocessor parallel operation execution processing method

Country Status (1)

Country Link
JP (1) JPS5844266B2 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06101016B2 (en) * 1980-07-18 1994-12-12 富士通株式会社 Data processing system for dynamic programming calculation.
JPS58106650A (en) * 1981-12-18 1983-06-25 Nintendo Co Ltd Multi-processor system
JP3468786B2 (en) * 1992-11-27 2003-11-17 任天堂株式会社 Information processing apparatus and information processing method using optical storage medium

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5199438A (en) * 1975-02-27 1976-09-02 Nippon Signal Co Ltd

Also Published As

Publication number Publication date
JPS5466735A (en) 1979-05-29

Similar Documents

Publication Publication Date Title
CA2061117C (en) Apparatus and method for distributed program stack
US5056000A (en) Synchronized parallel processing with shared memory
JP3636871B2 (en) Parallel processor system
JPS58151655A (en) Information processing device
CN101566957A (en) Information processing system and task execution control method
JPH0679307B2 (en) Coprocessor parallel operation control method
WO1984004188A1 (en) Microcomputer with interprocess communication
JPS6142308B2 (en)
JPS5844266B2 (en) Multiprocessor parallel operation execution processing method
JP2877095B2 (en) Multiprocessor system
US3787891A (en) Signal processor instruction for non-blocking communication between data processing units
EP1193607A2 (en) Apparatus and method for the exchange of signal groups between a plurality of components in a digital signal processor having a direct memory access controller
KR950014163B1 (en) Method and apparatus for stacking distributed programs
JPS6052471B2 (en) Vector arithmetic processing system
JPH04355836A (en) Management processing device for communication between virtual computers
JP3144918B2 (en) Vector processing equipment
JPS60118966A (en) Job decentralizing processing system
JPS6049464A (en) Inter-processor communication system of multi-processor computer
JP3029445B2 (en) Startup reception device and method
JPH0764936A (en) Parallel computer
JPH0296833A (en) Different type job control system
JPH0750465B2 (en) Communication control method
JPH07234850A (en) Multiprocessor apparatus and method
JP2005078244A (en) Program execution method and program execution apparatus
JPH06243102A (en) Interruption synchronizing method for multiplex information processing system