JPS6248871B2 - - Google Patents

Info

Publication number
JPS6248871B2
JPS6248871B2 JP1860182A JP1860182A JPS6248871B2 JP S6248871 B2 JPS6248871 B2 JP S6248871B2 JP 1860182 A JP1860182 A JP 1860182A JP 1860182 A JP1860182 A JP 1860182A JP S6248871 B2 JPS6248871 B2 JP S6248871B2
Authority
JP
Japan
Prior art keywords
program
processor
unit
job
monitor
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
JP1860182A
Other languages
English (en)
Other versions
JPS58137069A (ja
Inventor
Masaaki Yoshitake
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 JP1860182A priority Critical patent/JPS58137069A/ja
Publication of JPS58137069A publication Critical patent/JPS58137069A/ja
Publication of JPS6248871B2 publication Critical patent/JPS6248871B2/ja
Granted legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/161Computing infrastructure, e.g. computer clusters, blade chassis or hardware partitioning

Description

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

Claims (1)

  1. 【特許請求の範囲】 1 複数のプログラムを記憶するメモリユニツト
    と、それぞれが該メモリユニツトを共用しかつそ
    れぞれが前記複数のプログラムのうち互いに異な
    る少なくとも1つのプログラムを同時に実行する
    複数のプロセツサユニツトと、 これらのプロセツサユニツトの実行を制御する
    制御装置とを備え、 前記複数のプロセツサのうちの1つのプロセツ
    サがプログラム状態語ロード命令により新たなプ
    ログラムの実行を開始するときに他のプロセツサ
    の中でアイドル状態となつているプロセツサがあ
    るときはこれらプロセツサのうち1つを選択して
    前記プログラム状態語ロード命令の次に位置する
    命令の実行を指示する手段を前記制御装置に設け
    たことを特徴とするマルチプロセツサ制御システ
    ム。
JP1860182A 1982-02-08 1982-02-08 マルチプロセツサ制御方式 Granted JPS58137069A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP1860182A JPS58137069A (ja) 1982-02-08 1982-02-08 マルチプロセツサ制御方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP1860182A JPS58137069A (ja) 1982-02-08 1982-02-08 マルチプロセツサ制御方式

Publications (2)

Publication Number Publication Date
JPS58137069A JPS58137069A (ja) 1983-08-15
JPS6248871B2 true JPS6248871B2 (ja) 1987-10-15

Family

ID=11976158

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1860182A Granted JPS58137069A (ja) 1982-02-08 1982-02-08 マルチプロセツサ制御方式

Country Status (1)

Country Link
JP (1) JPS58137069A (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63201791A (ja) * 1987-02-12 1988-08-19 インターナシヨナル・ビジネス・マシーンズ・コーポレーシヨン 処理システム

Also Published As

Publication number Publication date
JPS58137069A (ja) 1983-08-15

Similar Documents

Publication Publication Date Title
JP3557947B2 (ja) 複数のプロセッサで同時にスレッドの実行を開始させる方法及びその装置並びにコンピュータ可読記録媒体
JPS6040067B2 (ja) 分散制御型多重処理システム
JP2000330806A (ja) 計算機システム
JPH0430053B2 (ja)
JPS646488B2 (ja)
JPS6250861B2 (ja)
AU603876B2 (en) Multiple i/o bus virtual broadcast of programmed i/o instructions
JP4026667B2 (ja) マルチos構成方法
JPH07160656A (ja) 外部割込み制御方法
EP0049521A2 (en) Information processing system
JP2902746B2 (ja) 仮想計算機制御方式
JPS6248871B2 (ja)
JPS635790B2 (ja)
KR950014163B1 (ko) 분산 프로그램을 스택하기 위한 방법 및 장치
JPS603229B2 (ja) 情報処理方式
JPS6097440A (ja) 仮想多重プロセツサ装置
JPH0554009A (ja) プログラムロード方式
JP3022398B2 (ja) 仮想計算機方式
JPS61101865A (ja) マルチマイクロプロセツサシステム
JPH08272757A (ja) マルチプロセッサシステム及びプログラム起動方法
JP2932547B2 (ja) 通信レジスタ仮想化方式
JPH0149984B2 (ja)
JPH10232819A (ja) メモリ制御装置およびメモリアクセス方法
JPH0350662A (ja) 並列計算機の処理制御方式
JPH01217535A (ja) 付加プロセツサユニツトの制御方法