JPS5843778B2 - マルチ・プロセッサ・システム制御方式 - Google Patents

マルチ・プロセッサ・システム制御方式

Info

Publication number
JPS5843778B2
JPS5843778B2 JP16663379A JP16663379A JPS5843778B2 JP S5843778 B2 JPS5843778 B2 JP S5843778B2 JP 16663379 A JP16663379 A JP 16663379A JP 16663379 A JP16663379 A JP 16663379A JP S5843778 B2 JPS5843778 B2 JP S5843778B2
Authority
JP
Japan
Prior art keywords
processor
mask
interrupt
processing
program
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
JP16663379A
Other languages
English (en)
Other versions
JPS5688551A (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 JP16663379A priority Critical patent/JPS5843778B2/ja
Publication of JPS5688551A publication Critical patent/JPS5688551A/ja
Publication of JPS5843778B2 publication Critical patent/JPS5843778B2/ja
Expired legal-status Critical Current

Links

Landscapes

  • Multi Processors (AREA)

Description

【発明の詳細な説明】 本発明は、マルチ・プロセッサ・システム制御方式、特
に例えばベクトル演算処理などを複数のプロセッサによ
って実行するマルチ・プロセッサ・システムにおいて、
論理的にマスクとなるマスク・プロセッサがスレーブ−
プロセッサに自己の処理すべきプログラムを強制的lこ
分担させるようにして処理を実行するよう構成し、更l
こ当該分担して行なう処理の間にも割込みを許し得るよ
う構成したマルチ・プロセッサ・システム制御方式に関
するものである。
本願発明者は、ベクトル演算などを複数のプロセッサl
こよって分担して実行させるためlこ、先に、オペレー
ターコマンドもしくはジョブ投入時に待状態lこ置かれ
たプロセッサをつくって処理に参加させることを提案し
た(特願昭52−133287号参照)。
しかし、該先の提案のものの場合、待状態に置かれるプ
ロセッサをつくることから、CPU稼動率を高める上で
はなお問題が残っている。
本発明は、上記問題を、(1)ベクトル処理に伴なって
生じるインタラクトについては別として出来る限り現状
の処理環境に影響を与えない、(ii) OSの変更を
出来るだけ小さくする、611)将来考慮されるであろ
うベクトル・プロセッサへの連続的な発展ができるよう
にする、ことなど意図し、論理的にスレーブとなるスレ
ーブ・プロセッサの現実行中の処理を強制的に中断せし
めて、当該スレーブプロセッサに対して処理分担を行な
わせ得るようlこし、また分担処理の間にも入出力割込
みを含む割込みを許し得るようにすることを目的として
いる。
そしてそのために、本発明のマルチ・プロセッサ・シス
テム制御方式は、夫々独立のプログラムを実行し得る少
なくとも2つのn台のプロセッサをそなえ、該いずれか
一方のプロセッサを論理(fJc−マスク・プロセッサ
とし他のプロセラサラ論理的にスレーブ−プロセッサと
して、上記マスク・プロセッサが上記スレーブ・プロセ
ッサに対して自己の処理すべきプログラムP1を分担さ
せて実行させるようにしたマルチ・プロセッサ・システ
ムtこおいて、上記マスク・プロセッサがパラメータを
セットした上で予め定めたフォーク命令を実行スること
lこよって上記スレーブ・プロセッサtこ通知するよう
構成すると共に、上記スレーブ・プロセッサは当該通知
に対応して現に実行中のプログラムP2〜Pnに関する
情報をセーブした上で上記マスク・プロセッサから転送
された情報にもとづいて上記分担すべきプログラムP1
を強制的に実行せしめられるよう構成され、上記スレー
ブ1プロセツサは上記分担すべきプログラムP1を実行
し終ったときこの旨を上記マスク・プロセッサ側lこ報
告しておいて上記元のプログラムP2〜Pnを再開し、
上記マスク・プロセッサは予め定めたジョイン命令を実
行することlこよって上記スレーブ・プロセッサの実行
完了信号を吸上げるようにしたことを特徴としている。
以下図面を参照しつつ説明する。
第1図は本発明による処理分担の概念を説明する説明図
、第2図は本発明の制御をファームウェアによって実行
する状態を説明する説明図、第3図は本発明の制御をフ
ローチャートの形で表わした一実施例を示す。
本発明の場合、例えば2つのプロセッサを物理的に必ら
ずしもマスク・プロセッサとスレーブ・プロセッサとに
区別することを要しないものであるが、説明を簡単化す
るためtこ、論理的lこ一方がマスク・プロセッサとな
り、他方がスレーブ・プロセッサとなるものとして説明
する。
さら(こスレーブ・プロセッサは2台以上でもよいが簡
単のため1台の場合で説明する。
第1図図示の場合、今マスク・プロセッサがプログラム
(PM)を実行しスレーツープロセッサが他のプログラ
ム(PA)を実行しつつあり、マスク・プロセッサがプ
ログラム(PM)の一部をスレーブ・プロセッサIと対
して強制的に分担させる状態を表わしている。
即ち、マスク・プロセッサ側に、フォーク命令(FOR
K)と呼ぶ分担処理のための命令とジョイン命令(JO
iN)と呼ぶ分担処理させた結果を吸上げるための命令
とを用意する。
そして図示2重カッコで表わしたプログラム(PM)を
ファームウェアによって実行させるようにしている。
マスク・プロセッサがフォーク命令を実行することlこ
よって、第2図および第3図を参照して後述する如く、
スレーブ・プロセッサにプログラム(PM)の1部を強
制的に分担させるようにする。
このときサフ゛・プロセッサは自己のプログラム(PA
)を一時中断して、指示されたプログラム(PM)を実
行してその結果を得て、再び自己のプログラム(PA)
に自動的に復帰する。
マスク・プロセッサは上記分担させた以外の処理をプロ
グラム(PM))として実行した上で上記ジョイン命令
を実行する。
これ1こよって、スレーブ・プロセンサが分担した処理
の結果を吸上げてゆく。
このときスレーブ・プロセッサが分担した処理を終了し
ていない場合(こは、マスク・プロセッサは待状態に入
る(勿論他のプログラムを実行してもよい)。
以上第2図および第3図を参照して具体的に説明する。
なお図において1はマスク・プロセッサ、2はスレーブ
・プロセッサを表わしている。
今マスク・プロセッサ1がプログラム(PM)を実行し
、スレーブ・プロセッサ2がプログラム(PM)を実行
しているとし、マスク・プロセッサ1がプログラム(P
M)の一部を分担させるものとする。
その処理は次の如く行なわれる。(1)マスク・プロセ
ッサ1は、処理を分担せしめるべく、ループ回数やイン
デスク増分などを初期設定する。
(2)そして自己外およびスレーブ・プロセッサ2側が
夫々実行すべきパラメータを設定する。
(3)この状態で、マスク・プロセッサ1がフォーク命
令を実行すると、当該フォーク命令の実行がスレーブ・
プロセッサ2に通知される。
(4)スレーブ・プロセッサ2は、これlこよってそれ
まで実行中のプログラム(PA)に関する情報(PSW
)などを自己の退避レジスタなどにセーブ(第2図図示
■におけるセーブ)し、第2図図示ルート(0,1を通
ってリラン(RERUN)フラグ(後述)が立っている
か否かを調べる。
最初の場合リラン・フラグが立っていないことから、第
3図図示の如くマスク・プロセッサ1側からのセーブ・
エンドを受信する待機状態に入る。
(5) 一方マスク・プロセッサ1においては、上記フ
ォーク命令を実行したとき次にリラン・フラグが立って
いるか否かを調べる。
最初の場合リラン・フラグが立っていないことから、第
3図図示の如く、マスク・プロセッサ1は、どの範囲の
処理をどの段階からどのよう番こ分担させるかなどの分
担指示情報をレジスタにセーブした上で(第2図図示■
におけるセーブ)、セーブエンドを発する。
そして、プログラム(、PM)の実行に入る。
このときマスク・プロセッサ1は上記リラン・フラグを
自己内およびスレーブ・プロセッサ2内に立てて、プロ
グラム(PM)の処理に入ったことを保持させる。
(6)スレーブ・プロセッサ2においては、上記セーブ
・エンドにもとづいて、上記マスク・プロセッサが先に
セーブした上記分担指示情報を自己内Ic IJストア
(第2図■のセーブ情報をリストア)し、プログラム(
PM)実行準備状態に入る。
そして、必要に応じてパラメータにもとづいて下駄をは
かせてプログラム実行に入る。
なおここで下駄をはかせるとは、例えばベクトル・エレ
メントa1ないしatooを演算するものとして、マス
ク・プロセッサ1がエレメントa1ないしa、。
について演算しかつスレーブ・プロセッサ2がエレメン
トa、1ないしa 100を演算するものとするとき、
マスク・プロセッサ1がセーブしたパラメータ値rIJ
(axからa、。
実行)lこ対応してスレーブ・プロセッサ2Iこはパラ
メータ値として値「50」の下駄をはかせて値r51J
(a5tからaloO実行)を指示するものと考えてよ
い。
(7)通常の場合、上記のもとてマスク・プロセッサ1
およびスレーブ・プロセッサ2が演算を実行し、スレー
ブ・プロセッサ2は分担した処理を完了する。
そして第2図図示ルート〔1〕を通って、先lこセーブ
した第2図図示■のセーブ情報をリストアして、元のプ
ログラム(PA)を実行する。
(8)マスク・プロセッサ1は、ジョイン命令を実行し
て、スレーブ・プロセッサ2の処理完了信号を吸上げて
自己のプログラム(PM)を続行する。
このとき自己内およびスレーブ・プロセッサ2内の上記
リラン・フラグを落す。
(9)上述の如く、本発明の場合上記プログラム(PM
)を実行している間にも割込みを許すよつiこしている
このために、マスク・プロセッサ1およびスレーブ・プ
ロセッサ2のいずれかが第2図図示の如く割込みを検出
した場合、第3図Eこ示す如く、当該割込みの発生が相
手方プロセッサにも通知される。
即ち、マスク・プロセッサ1側に発生したとするとこの
旨がスレーブ−・プロセッサ2側に通知される。
その逆の場合も同様Iこ通知される。
00)スレーブ−プロセッサ2においては、上記割込発
生あるいは割込み発生通知を受取ると、第2図図示■の
時点の状態情報をレジスタなどlこセーブしておき、第
2図図示ルート(It)を通って、第2図図示■のセー
ブ情報を用いて、プログラム(PA)に戻って実行する
aυ一方マスク・プロセッサ1においては、上記割込発
生あるいは割込み発生通知を受取ると、マスク・プロセ
ッサ1のプログラム・ステータス・ワード(psw)を
上記フォーク命令の段階lこ戻した上で第2図図示■の
時点の状態情報をレジスタなどlこセーブしておき、第
2図図示ルート〔■〕を通って割込み処理ルーチンに入
る。
即ち、マスク・プロセッサ1がスレーブ・プロセッサ2
において発生した割込みを含めてプログラムPMに関す
る割込みに対しては一括して割込み処理を行なう。
02)マスク・プロセッサ1による割込み処理ルーチン
が終了すると、第2図図示ルート〔■〕を通って、マス
ク・プロセッサ1はフォーク命令の段階に戻って処理を
再開する。
03)このとき、マスク・フ狛七ツサ1は上述のリラン
・フラグが立っていることから、第2図図示ルート〔■
〕を通って第2図図示■のセーブ情報を用いて、上記割
込発生また割込発生通知時点からプログラム(PM)の
処理を再開する。
(14) 一方スレープ・プロセッサ2は、フォーク
命令が発せられたことをあらためて通知される。
そして、スレーブ・プロセッサ2は第2図図示■の段階
にあり、当該■の段階の状態情報をセーブし、第2図図
示ルート〔■〕を通って、次いでリラン・フラグが立っ
ているか否かを調べる。
0勺 この場合、リラン・フラグが立っていることから
、第2図図示ルート〔■〕を通って、第2図図示■の段
階のセーブ情報を用いて、先の割込み発生あるいは割込
み発生通知時点からプログラム(PM))を再開する。
住6)そしてスレーブ・プロセッサ2はプログラム(P
M)の処理を終了すると、第2図図示ルート〔■〕を通
って、第2図図示■の段階のセーフ情報を用いてプログ
ラム(PM)を実行する。
(17) マスク・プロセッサ1は、上記処理(8)
と同様にジョイン命令を実行して、スレーブ・プロセッ
サ2の完了信号を吸上げて自己のプログラム(PM)の
後処理を実行する。
そしてリラン・フラグを落す。
以上説明した如く、本発明によれば、マスク・プロセッ
サがスレーブ・プロセッサに対して処理分担を強制的に
実行させてその完了を吸上げることが可能となる。
またこのとき、スレーブ・プロセッサは現実に自己のプ
ログラムを実行しつつあってもよく、本発明者が先に提
案した発明にくらべてCPU稼動率が向上される。
また上記プログラム(PM)実行中に割込みを許すよう
にしており、割込み処理が非所望に遅滞してしまうこと
がない。
更lこ上記実施例の場合、割込みに対処する処理をマス
ク・プロセッサが一括して実行するようにしており、ス
レーブ・プロセッサは自己の処理すべきプログラム(P
A)を可能な限り実行してゆくようにすることが可能と
なる。
【図面の簡単な説明】
第1図は本発明による処理分担の概念を説明する説明図
、第2図は本発明の制御をファームウェアによって実行
する状態を説明する説明図、第3図は本発明の制御をフ
ローチャートの形で表わした一実施例を示す。 図中、1はマスク・プロセッサ、2はスレーブ・プロセ
ッサを表わす。

Claims (1)

  1. 【特許請求の範囲】 1 夫々独立のプログラムを実行し得る少なくとも2つ
    のn台のプロセッサをそなえ、該いずれか一方のプロセ
    ッサを論理的にマスク・プロセッサとし他のプロセッサ
    を論理的にスレーブ・プロセッサとして、上記マスク・
    プロセッサが上記スレーブ・プロセッサに対して自己の
    処理すべきプログラムP1を分担させて実行させるよう
    にしたマルチ・プロセッサ・システムにおいて、上記マ
    スク・プロセッサがパラメータをセットした上で予め定
    めたフォーク命令を実行することによって上記スレーブ
    ・プロセッサに通知するよう構成すると共に、上記スレ
    ーブ・プロセッサは当該通知に対応して現に実行中のプ
    ログラムP2〜Pnに関する情報をセーブした上で上記
    マスク・プロセッサから転送された情報にもとづいて上
    記分担すべきプログラムP1を強制的に実行せしめられ
    るよう構成され、上記スレーブ・プロセッサは上記分担
    すべきプログラムP1を実行し終ったときこの旨を上記
    マスク・プロセッサ側に報告しておいて上記元のプログ
    ラムP2〜Pnを再開し、上記マスク・プロセッサは予
    め定めたジョイン命令を実行することによって上記スレ
    ーブ・プロセッサの実行完了信号を吸上げるようにした
    ことを特徴とするマルチ・プロセッサ・システム制御方
    丸2 上記マスク・プロセッサと上記スレーブ・プロセ
    ッサとは夫々、上記マスク・プロセッサに関して上記フ
    ォーク命令から上記ジョイン命令までの間の処理につい
    て、また上記スレーブ・プロセッサは上記分担すべきプ
    ログラムP1を実行する間の処理について、割込みを許
    すよう構成されてなり、上記処理の間に割込みが生じた
    とき当該割込みを生じたプロセッサが他プロセツサに対
    して通知することを特徴とする特許請求の範囲第1項記
    載のマルチ・プロセッサ・システム制御方式。 3 上記マスク・プロセッサは、上記割込み発生または
    割込み発生通知にもとづいて、当該割込みに対処する割
    込み処理を一括して実行するよう構成されてなり、上記
    スレーブ・プロセッサは、上記割込み発生および/また
    は割込み発生通知にもとづいて、上記元のプログラムP
    2〜Pnを再開するよう構成されることを特徴とする特
    許請求の範囲第2項記載のマルチ・プロセッサ・システ
    ム制御方式。 4 上記マスク・プロセッサと上記スレーブ・プロセッ
    サとは夫々、上記マスク・プロセッサに関して上記フォ
    ーク命令から上記ジョイン命令までの間の処理Iこつい
    て、また上記スレーブ・プロセッサは上記分担すべきプ
    ログラムP1を実行する間の処理について、当該処理を
    実行中に割込みが生じた旨を保持するフラグをそなえ、
    当該割込みに対処する割込み処理が終了したときに上記
    フラグを参照して当該割込み発生時点の処理に復帰する
    ようにしたことを特徴とする特許請求の範囲第2項また
    は第3項記載のマルチ・プロセッサ・システム制御方式
JP16663379A 1979-12-21 1979-12-21 マルチ・プロセッサ・システム制御方式 Expired JPS5843778B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP16663379A JPS5843778B2 (ja) 1979-12-21 1979-12-21 マルチ・プロセッサ・システム制御方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP16663379A JPS5843778B2 (ja) 1979-12-21 1979-12-21 マルチ・プロセッサ・システム制御方式

Publications (2)

Publication Number Publication Date
JPS5688551A JPS5688551A (en) 1981-07-18
JPS5843778B2 true JPS5843778B2 (ja) 1983-09-29

Family

ID=15834892

Family Applications (1)

Application Number Title Priority Date Filing Date
JP16663379A Expired JPS5843778B2 (ja) 1979-12-21 1979-12-21 マルチ・プロセッサ・システム制御方式

Country Status (1)

Country Link
JP (1) JPS5843778B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS58168170A (ja) * 1982-03-29 1983-10-04 Fujitsu Ltd 多重プロセツサ
JPS58169661A (ja) * 1982-03-31 1983-10-06 Fujitsu Ltd デ−タ処理システム

Also Published As

Publication number Publication date
JPS5688551A (en) 1981-07-18

Similar Documents

Publication Publication Date Title
CN100470485C (zh) 多操作系统协同工作实现方法
US6330583B1 (en) Computer network of interactive multitasking computers for parallel processing of network subtasks concurrently with local tasks
US4663709A (en) Control system for tightly-coupled multiprocessing units
JP2561801B2 (ja) プロセス・スケジューリングの管理方法およびシステム
JPS62163149A (ja) マルチプロセッサ仮想計算機システム
JPS5843778B2 (ja) マルチ・プロセッサ・システム制御方式
US8291419B2 (en) Fault tolerant system for execution of parallel jobs
JP2823230B2 (ja) 処理の継続実行方法
JP2654612B2 (ja) 排他ウエイト削減制御方法
JP2553526B2 (ja) マルチタスク処理装置
JP3604171B2 (ja) プロセス自動再起動処理方式
JP2581327B2 (ja) 仮想計算機の入出力割込み処理方式
US20240134669A1 (en) Paravirtual pause loops in guest user space
JPH11184828A (ja) マルチプロセッサシステムのテスト方式
JP5299681B2 (ja) プログラム検査方法
JP2550708B2 (ja) デバッグ方式
JPH02165367A (ja) マイクロプログラム制御式データ処理装置
JPH0433130A (ja) マルチチップ構成方法
JPH02201543A (ja) 仮想計算機特権命令処理方式
Green Time sharing in a traffic control program
JPH01288954A (ja) マルチプロセッサシステムにおけるサービスプログラム実行方式
JPH03158936A (ja) プログラムのテスト方法
CN113918272A (zh) 分离式虚拟机及其虚拟机架构、构建方法和优化方法
JPS63208948A (ja) マルチプロセツサシステムにおけるタスクスケジユ−リング方式
JPS62219061A (ja) マルチプロセツサ制御方式