JPS635790B2 - - Google Patents

Info

Publication number
JPS635790B2
JPS635790B2 JP10963582A JP10963582A JPS635790B2 JP S635790 B2 JPS635790 B2 JP S635790B2 JP 10963582 A JP10963582 A JP 10963582A JP 10963582 A JP10963582 A JP 10963582A JP S635790 B2 JPS635790 B2 JP S635790B2
Authority
JP
Japan
Prior art keywords
program
processor
processor unit
instruction
job
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
JP10963582A
Other languages
English (en)
Other versions
JPS58225469A (ja
Inventor
Hajime Takagi
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.)
NEC Corp
Original Assignee
Nippon Electric Co 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 Nippon Electric Co Ltd filed Critical Nippon Electric Co Ltd
Priority to JP10963582A priority Critical patent/JPS58225469A/ja
Publication of JPS58225469A publication Critical patent/JPS58225469A/ja
Publication of JPS635790B2 publication Critical patent/JPS635790B2/ja
Granted legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/52Program synchronisation; Mutual exclusion, e.g. by means of semaphores

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multi Processors (AREA)

Description

【発明の詳細な説明】 (発明の属する技術分野の説明) 本発明は電子計算機システムにおけるマルチプ
ロセツサ制御方式、特に複数箇のプロセツサユニ
ツトで共用されたメモリユニツトを含むマルチプ
ロセツサシステムにおいてプログラムの割付けを
行うためのマルチプロセツサ制御方式に関する。
(従来技術の説明) 従来からマルチプロセツサシステムにおいて
は、複数箇のプロセツサユニツトのそれぞれに対
して実行すべきジヨブプログラムを割付けること
が必要であり、この割付けの制御はモニタプログ
ラムと呼ばれる特殊な制御プログラムにより行わ
れることが公知である。モニタプログラムは実行
可能なジヨブプログラムを選択してプロセツサユ
ニツトに割付ける機能を有するもので、マルチプ
ロセツサシステムのモニタプログラムはシステム
内に存在するプロセツサユニツトの数量、および
各プロセツサユニツトの状態などを管理する必要
がある。しかしながら、単一のプロセツサユニツ
トのみを有するシングルプロセツサシステムにお
いてモニタプログラムを実行する場合には複数箇
のプロセツサユニツトを意識する必要がないの
で、これをそのままマルチプロセツサシステムに
適用しようとすると、モニタプログラム自体の大
幅な変更が必要となる。しかし、シングルプロセ
ツサシステムからマルチプロセツサシステムへの
移行は電子計算機システムの成長の課程として多
くの場合必要となるものである。このような場
合、モニタプログラムの変更は一般にその制御下
で動作するジヨブプログラムの変更を伴う場合が
多く、当業者にとつてはその変更量をいかにして
最小限にとどめるかが大きな課題となつている。
(発明の目的の説明) 本発明の目的は、シングルプロセツサシステム
で使用されるモニタプログラムに最小限の変更を
行うだけでマルチプロセツサシステムのためのモ
ニタプログラムとして適用し得るように構成した
マルチプロセツサ制御方式を提供することにあ
る。
(発明の構成の説明) 本発明によるマルチプロセツサ制御方式はメモ
リユニツトと、複数箇のプロセツサユニツトと、
メモリ母線と、制御母線とを具備して実現したも
のである。メモリユニツトは複数のプログラムを
記憶するためのものである。複数箇のプロセツサ
ユニツトはメモリユニツトを共用し、複数のプロ
グラムのうち、少なくともひとつのプログラムを
同時に実行するためのものである。各プロセツサ
ユニツトはインストラクシヨンカウントレジスタ
とプロセツサ間通信制御部とを具備したものであ
る。メモリ母線はメモリユニツトと複数箇のプロ
セツサユニツトとを接続するものであり、情報が
このメモリ母線を通つて転送される。制御母線は
複数箇のプロセツサユニツトの相互の間を接続す
るもので、制御母線は各プロセツサユニツトの内
部のプロセツサ間通信制御部に接続されている。
複数箇のプロセツサユニツトのうちのひとつが
プログラム状態語ロード命令によつて新たにプロ
グラムの実行を開始するときに他のプロセツサユ
ニツトのなかでアイドル状態となつているものが
ある場合には、アイドル状態にあるプロセツサユ
ニツトのうちのひとつを選択し、プログラム状態
語ロード命令に続く命令を実行するように、選択
されたプロセツサユニツトに対して指示をする。
(発明の原理と作用の説明) 本発明の一実施例を説明する前に、第1図に示
した様な単一のプロセツサユニツトのみで構成し
たシングルプロセツサシステムにおいて、モニタ
プログラムがプロセツサユニツトにジヨブプログ
ラムを割付ける方法を説明する。
第1図を参照すると、シングルプロセツサシス
テムはメモリユニツト1とインストラクシヨンカ
ウントレジスタ3とを具備したプロセツサユニツ
ト2、ならびにメモリユニツト1とプロセツサユ
ニツト2との間を接続するための信号線4から構
成されている。プロセツサユニツト2は、プログ
ラムを実行するユニツトであり、プログラムを構
成する各命令を逐次、インストラクシヨンカウン
トレジスタ3の内容に従つてメモリユニツト1か
ら取り出して実行する。
第2図を参照すると、本発明に依るマルチプロ
セツサ制御方式によつて定義されているプログラ
ム状態語(PSW)はフイールド1、フイールド
2およびフイールド3に分割されている。このプ
ログラム状態語はプログラムを実行するために必
要な情報を有し、各プログラム毎にその情報は固
有なものである。
上記フイールド1の内容は該当するプログラム
状態語に属するプログラムの実行モードを決定す
るものであり、フイールド2は該当するプログラ
ムの最初の命令のメモリユニツト1の内部での位
置、すなわちアドレス情報を指示するものであ
る。これは、特にインストラクシヨンカウンタと
呼ばれる。上記フイールド3にはプログラム実行
中における入出力割込みに関するマスク情報を備
えている。既に説明した様に、プログラム状態語
は各プログラム毎に定義されているものであるた
め、プログラムの個数だけのプログラム状態語が
存在することになり、メモリユニツト1の内部に
プログラムとともに格納されている。第3図はメ
モリユニツト1の内部において各プログラムとプ
ログラム状態語とが結びついて格納されている状
態を概念的に示したものである。第3図を参照す
ると、それぞれモニタプログラム、ジヨブプログ
ラムa、ジヨブプログラムb、およびジヨブプロ
グラムcに固有なプログラム状態語がそれぞれ
PSW0,PSWa,PSWb、およびPSWcとして割
当られている。また、プログラム状態語PSW0,
PSWa,PSWb、およびPSWcのメモリ内部にお
ける格納アドレスはそれぞれ100016,200016
201016、および202016である。ここで、添字の16
は16進数表示であることを示す。また、モニタプ
ログラム、ジヨブプログラムa、ジヨブプログラ
ムbおよびジヨブプログラムcのメモリユニツト
1の内部での開始アドレス、すなわち各プログラ
ムの中で最初に実行すべき命令のアドレスはそれ
ぞれ500016,600016,700016、および800016であ
るとする。従つて、図示された各プログラム状態
語のフイールド2、すなわちインストラクシヨン
カウント部の内容は、それぞれ500016,600016
700016、および800016となつている。
以上説明したように、プログラムの実行におい
ては、プログラム状態語により該当プログラムの
動作態様、およびメモリユニツト1の内部でのプ
ログラムの格納アドレスを認識することができ
る。したがつて、これらのプログラムをプロセツ
サユニツト2により実行するためには、実行を開
始しようとするプログラムに対応するプログラム
状態語をプロセツサユニツト2に取込み、プロセ
ツサユニツト2の内部のプログラム実行制御部に
与えればよい。このために、特にプログラム状態
語ロード命令(LOAD PSW命令)が用意されて
いる。
第4図は、プログラム状態語ロード命令の構成
を図示したものである。この命令はOPコードフ
イールドに98316を有する命令として定義され、
アドレスフイールドにはプログラム状態が格納さ
れているメモリアドレスを含んでいる。プログラ
ム状態語ロード命令は「アドレスフイールドによ
り指示されているメモリアドレスからプログラム
状態語を取出し、プロセツサユニツト2の内部の
所定のレジスタにロードする」という機能を有し
ている。この所定のレジスタとはプログラム状態
語の各フイールドの内容を保持するためのもので
あり、特に第2図に示すフイールド2の内容、す
なわちインストラクシヨンカウント部の内容は第
1図に示すインストラクシヨンカウントレジスタ
3に格納される。すなわち、プログラム状態語ロ
ード命令によりプロセツサユニツト2の内部のイ
ンストラクシヨンカウンタレジスタ3はそれまで
とは別の新しい情報であるインストラクシヨンカ
ウント部を含むものである。インストラクシヨン
カウントレジスタ3にセツトされている以外の他
のプログラム動作モードについても同様に実行さ
れるものである。プロセツサユニツト2はインス
トラクシヨンカウントレジスタ3の内容に応じ、
メモリユニツト1の内部から命令を取出して実行
することによつてプログラムを実行していく。こ
の点は既に説明したとおりであり、このプログラ
ム状態語ロード命令を実行した後はプロセツサユ
ニツト2はそれまでとは別のプログラムを実行し
ていくことになる。換言すれば、プロセツサユニ
ツト2の内部で実行するプログラムの切換えを行
つたことになる。以上の機能を使用し、モニタプ
ログラムはジヨブプログラムをプロセツサユニツ
ト2へ割付ける。すなわち、例えば第3図のよう
に実行開始を待つているジヨブプログラムa,
b,cが存在する場合、モニタプログラムは前も
つて決められている選択基準に従つてそのうちの
ひとつ、例えばジヨブプログラムaを選択し、対
応するプログラム状態語をプロセツサユニツト2
に与える。しかしながら、モニタプログラム自身
もひとつのプログラムであるので、現在、プロセ
ツサユニツト2の内部で実行中のプログラムはモ
ニタプログラムである。すなわち、プロセツサユ
ニツト2の保有するプログラム状態語はモニタプ
ログラム用のプログラム状態PSW0である。従つ
てプロセツサユニツト2の実行プログラム、すな
わち換言すればプログラム状態語(PSW)をモ
ニタプログラムからジヨブプログラムaに切り換
える必要がある。このため、上記プログラム状態
語ロード命令によつてジヨブプログラムaに対応
するプログラム状態語Pswaがプロセツサユニツ
ト2にロードされる。
第5図はモニタプログラムがジヨブプログラム
をプロセツサユニツト2に割付ける場合のフロー
チヤートを示す図である。第5図に示すように、
まず、実行可能なジヨブプログラムの中から選択
的にひとつのプログラムを決定し、このプログラ
ムを実行状態として区別した後、対応するプログ
ラム状態語をプログラム状態語ロード命令により
プロセツサユニツト2にロードする。第5図に示
すフローチヤートにおいて、特に重要な点はプロ
グラム状態語ロード命令を実行した後では処理が
行われない点である。なぜならば、このモニタプ
ログラムはシングルプロセツサシステムのための
モニタプログラムであり、プログラムを実行する
プロセツサユニツト2はひとつしか存在しないた
めである。このため、ジヨブプログラムがプロセ
ツサユニツト2に割付けられた後は、もはや他に
プログラムの実行できるプロセツサユニツトは存
在しない。従つてモニタプログラムはジヨブプロ
グラムをプロセツサユニツトに割付けた後、自身
の動作するプロセツサユニツトがないのでその後
の処理は無意味となる。以上の説明からシングル
プロセツサシステムの場合にモニタプログラムの
みがジヨブプログラムをプロセツサユニツト2に
割付けることは明らかである。
(実施例の説明) 次に、この原理を応用して構成した本発明に依
るマルチプロセツサ制御方式の一実施例につい
て、図面を参照して説明する。
第6図は本発明に依るマルチプロセツサ制御方
式の一実施例を示す。第6図において、マルチプ
ロセツサ制御方式はメモリユニツト10と、第1
〜第4のプロセツサユニツト20〜23とから構
成されている。第1〜第4のプロセツサユニツト
20〜23は共通のメモリ母線40によりメモリ
ユニツト10に結合されている。また、第1〜第
4のプロセツサユニツト20〜23の内部には、
これぞれ互いに他のプロセツサユニツトとの情報
の授受を行うための第1〜第4のプロセツサ間通
信制御部60〜63が具備されている。それぞ
れ、第1のプロセツサユニツト20には第1のプ
ロセツサ間通信制御部60、第2のプロセツサユ
ニツト21には第2のプロセツサ間通信制御部6
1、第3のプロセツサユニツト22には第3のプ
ロセツサ間通信制御部62、第4のプロセツサユ
ニツト23には第4のプロセツサ間通信制御部6
3が対応する。第1〜第4のプロセツサ間通信制
御部60〜63は共通の制御母線50により結合
されている。第1〜第4のプロセツサユニツト2
0〜23は第1図に示すシングルプロセツサシス
テムと同様なプログラム実行ユニツトであり、そ
れぞれ第1〜第4のインストラクシヨンカウント
レジスタ30〜33を具備する。
次に、第6図に示したマルチプロセツサ制御方
式における一実施例のモニタプログラムの動作を
第7図のフローチヤートに従つて説明する。第7
図を参照すると、ステツプA,B,Cはシングル
プロセツサシステムの場合と同様な動作をする
が、ステツプDのブランチ命令の実行の後でステ
ツプAに戻るように構成されている点が第3図の
シングルプロセツサシステムの場合とは異なる。
すなわち、ステツプA→ステツプB→ステツプC
の移行により1個のジヨブプログラムが第1〜第
4のプロセツサユニツト20〜23のひとつに割
付けられた後、さらにステツプDのブランチ命令
によりステツプAに戻る。以下、同様の処理が繰
返される。再び第6図を参照すると、第1〜第4
のプロセツサユニツト20〜23では、それぞれ
プログラム状態語ロード命令によつて、自身のプ
ログラム状態語から該当する命令によつて指定さ
れたプログラム状態語へと切換えられるが、この
動作はシングルプロセツサの場合と同様である。
しかし、本発明に依る上記実施例においてこの切
換え動作を行う場合には、第1〜第4のプロセツ
サユニツト20〜23の内部にそれぞれ対応して
存在する第1〜第4のプロセツサ間通信制御部6
0〜63と、共通の制御母線50とを介し、他の
アイドル状態にあるプロセツサユニツトのうちの
ひとつを選択する。そこで、それまで保有してい
たプログラム状態語を選択されたプロセツサユニ
ツトに対して転送する。すなわち、モニタプログ
ラムを実行中であつたプロセツサユニツトはそれ
まで実行中であつたモニタプログラムのプログラ
ム状態語をアイドル状態にある他のプロセツサユ
ニツトのひとつに与えた後、プログラム状態語ロ
ード命令で指定された新しいジヨブプログラムの
プログラム状態語を自身にロードし、このジヨブ
プログラムに実行を開始する。ここで、モニタプ
ログラムを実行するプロセツサユニツトを第1の
プロセツサユニツト20とし、アイドル状態にあ
つて第1のプロセツサユニツト20により選択さ
れたプロセツサユニツトを第2のプロセツサユニ
ツト21とすると、第1のプロセツサユニツト2
0はモニタプログラムのプログラム状態語を第2
のプロセツサユニツト21に与えた後、プログラ
ム状態語ロード命令で指定された新しいジヨブプ
ログラムのプログラム状態語を第1のプロセツサ
ユニツト20にロードする。これによつて、第1
のプロセツサユニツト20はジヨブプログラムの
実行を開始する。いつぽう、第2のプロセツサユ
ニツト21は第1のプロセツサユニツト20の指
示により第1および第2のプロセツサ間通信制御
部60,61と制御母線50とを介し、モニタプ
ログラムのプログラム状態語をロードするように
指示を受けると、与えられたモニタプログラムの
プログラム状態語に従つてプログラムの実行を開
始する。このとき、プログラム状態語は第1のプ
ロセツサユニツト20がプログラム状態語ロード
命令を実行した後の状態であるので、プログラム
状態語のインストラクシヨンカウント部は第7図
のプログラム状態語ロード命令の直後に位置する
ステツプDのブランチ命令を指示している。依つ
て、第2のプロセツサユニツト21は第7図のス
テツプDのブランチ命令を実行するので、ステツ
プAに戻つてステツプA→ステツプB→ステツプ
Cの処理が順次続行される。従つて第1のプロセ
ツサユニツト20で以前実行したのと同様して第
2のプロセツサユニツト21でモニタプログラム
を実行し、第7図のステツプCで示されたプログ
ラム状態語ロード命令に到達すると、再び第2の
プロセツサユニツト21はアイドル状態である他
のプロセツサユニツトを選択し、モニタプログラ
ムのプログラム状態語をこのプロセツサユニツト
に与えた後、ジヨブプログラムの実行を開始す
る。このようにして次々とモニタプログラムがア
イドル状態になつているプロセツサユニツトに移
され、そのプロセツサユニツトによつてジヨブプ
ログラムが起動される。
第8図は第1のプロセツサユニツト20から始
まり、第3のプロセツサユニツト22までジヨブ
プログラムの起動が行われる様子を時系列的に示
した図である。第8図ではジヨブプログラムa,
b,cが実行開始を待つており、この順に各ジヨ
ブプログラムが選択される。第1のプロセツサユ
ニツト20がモニタプログラムからジヨブプログ
ラムaに切換ると、第2のプロセツサユニツトで
モニタプログラムの実行を開始する。第2のプロ
セツサユニツト21でモニタプログラムからジヨ
ブプログラムbに切換わると、第3のプロセツサ
ユニツト22でモニタプログラムの実行を開始す
る。第3図のプロセツサユニツト22でモニタプ
ログラムからジヨブプログラムcに切換わると、
第4のプロセツサユニツト23でモニタプログラ
ムの実行を開始する。本実施例では、第4のプロ
セツサユニツト23はアイドル状態にあるが、起
動すべきジヨブプログラムは存在しないので、モ
ニタプログラムは再び第4のプロセツサユニツト
23をアイドル状態にさせておく。
【図面の簡単な説明】
第1図はシングルプロセツサシステムの実例の
ブロツク図、第2図は本発明に依るマルチプロセ
ツサ制御方式によつて定義されているプログラム
状態語の構成を示す図、第3図はメモリユニツト
の内部において各プログラムとプログラム状態語
とが結びついて格納されている状態を概念的に示
したブロツク図、第4図はプログラム状態語ロー
ド命令の構成を図示した図、第5図はモニタプロ
グラムがジヨブプログラムをプロセツサユニツト
に割付ける場合のフローチヤートを示す図、第6
図は本発明によるマルチプロセツサ制御方式の一
実施例を示すブロツク図、第7図は第6図のマル
チプロセツサ制御方式において、モニタプログラ
ムがジヨブプログラムをプロセツサユニツトに割
付ける場合のフローチヤート、第8図は第1図の
プロセツサユニツトから始まり第3のプロセツサ
ユニツトまでのジヨブプログラムの起動が行われ
る様子を時系列的に示した図である。 1,10……メモリユニツト、2,20〜23
……プロセツサユニツト、3,30〜33……イ
ンストラクシヨンカウントレジスタ、60…63
……プロセツサ間通信制御部、40……メモリ母
線、50……制御母線。

Claims (1)

    【特許請求の範囲】
  1. 1 複数のプログラムを記憶しておくためのメモ
    リユニツトと、前記メモリユニツトを共用し、前
    記複数のプログラムのうちの少なくともひとつの
    プログラムを同時に実行するための複数箇のプロ
    セツサユニツトと、前記メモリユニツトと前記複
    数箇のプロセツサユニツトとを接続するためのメ
    モリ母線と、前記複数箇のプロセツサユニツトの
    相互の間を接続するための制御母線とを具備し、
    且つ、前記複数箇のプロセツサユニツトのそれぞ
    れがインストラクシヨンカウントレジスタと前記
    制御母線に接続されたプロセツサ間通信制御部と
    を具備し、前記複数箇のプロセツサユニツトのう
    ちのひとつがプログラム状態語ロード命令により
    新たなプログラムの実行を開始するときに他のプ
    ロセツサユニツトのなかでアイドル状態となつて
    いるものがある場合には、前記アイドル状態とな
    つているプロセツサユニツトのうちのひとつを選
    択し、前記プログラム状態語ロード命令に続く命
    令の実行を前記選択されたプロセツサユニツトに
    対して指示することを特徴としたマルチプロセツ
    サ制御方式。
JP10963582A 1982-06-25 1982-06-25 マルチプロセツサ制御方式 Granted JPS58225469A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP10963582A JPS58225469A (ja) 1982-06-25 1982-06-25 マルチプロセツサ制御方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP10963582A JPS58225469A (ja) 1982-06-25 1982-06-25 マルチプロセツサ制御方式

Publications (2)

Publication Number Publication Date
JPS58225469A JPS58225469A (ja) 1983-12-27
JPS635790B2 true JPS635790B2 (ja) 1988-02-05

Family

ID=14515272

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10963582A Granted JPS58225469A (ja) 1982-06-25 1982-06-25 マルチプロセツサ制御方式

Country Status (1)

Country Link
JP (1) JPS58225469A (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7418703B2 (en) 2002-03-20 2008-08-26 Nec Corporation Parallel processing system by OS for single processor
JP4051703B2 (ja) 2003-03-31 2008-02-27 日本電気株式会社 シングルプロセッサ向けosによる並列処理システム、並列処理プログラム

Also Published As

Publication number Publication date
JPS58225469A (ja) 1983-12-27

Similar Documents

Publication Publication Date Title
US4080651A (en) Memory control processor
FI78993C (fi) Oevervakare av driftsystem.
JPS6040067B2 (ja) 分散制御型多重処理システム
US4126893A (en) Interrupt request controller for data processing system
JPH04299440A (ja) 共有レジスタ制御方式
JPS6250861B2 (ja)
JP2669816B2 (ja) プロセス間通信を行うマイクロコンピュータ及びマイクロコンピュータシステムにおける複数の同時プロセスを動作させる方法
JPS5942338B2 (ja) マイクロプログラム型コンピユ−タ
JPS61272833A (ja) デ−タ処理装置
AU603876B2 (en) Multiple i/o bus virtual broadcast of programmed i/o instructions
US4056846A (en) Data processing system with apparatus for sharing channel background processing
JPS635790B2 (ja)
JP2902746B2 (ja) 仮想計算機制御方式
JPS6248871B2 (ja)
JPH11184828A (ja) マルチプロセッサシステムのテスト方式
JPS603229B2 (ja) 情報処理方式
JP3022398B2 (ja) 仮想計算機方式
EP0183877A1 (en) Microcomputer for time dependent processes
JPH08272757A (ja) マルチプロセッサシステム及びプログラム起動方法
JPH0350662A (ja) 並列計算機の処理制御方式
JPH0344742A (ja) マルチプロセッサにおけるタスク割り当て制御方法
JP2932547B2 (ja) 通信レジスタ仮想化方式
JP3022848B2 (ja) マルチタスクのタスク切り替え方法とリアルタイム・オペレーティング・システム
JPS61101865A (ja) マルチマイクロプロセツサシステム
JPH02110631A (ja) マイクロプログラム制御方法