JPS646488B2 - - Google Patents
Info
- Publication number
- JPS646488B2 JPS646488B2 JP55173910A JP17391080A JPS646488B2 JP S646488 B2 JPS646488 B2 JP S646488B2 JP 55173910 A JP55173910 A JP 55173910A JP 17391080 A JP17391080 A JP 17391080A JP S646488 B2 JPS646488 B2 JP S646488B2
- Authority
- JP
- Japan
- Prior art keywords
- processing unit
- processing
- indicator
- execution
- predetermined value
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
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組の順序付けられた命令
及びこれらの命令に組合わされた1組のデータか
ら成るプログラムを意味する。
プロセスは処理ユニツトもしくはプロセツサに
より実行され得る。処理ユニツトは、プロセスに
固有の命令の実行を制御してプロセスに関連した
データを処理することのできるデータ処理装置の
ハードウエア装置である。
より実行され得る。処理ユニツトは、プロセスに
固有の命令の実行を制御してプロセスに関連した
データを処理することのできるデータ処理装置の
ハードウエア装置である。
多数のプロセスが同時に同一の処理ユニツトに
与えられる時、これらのプロセスの実行の優先順
位を管理すること、並びに処理ユニツトにプロセ
スを通信することは非常に複雑である。しかしこ
れらの問題が解消されたデータ処理装置は知られ
ている。これらの問題の解決は、本出願人の仏国
特許第2253419号「データ・プロセツサのプロセ
ス管理方式」及び第2253417号「セマフオを用い
たプロセスの同期化」に記載されている。しかし
LSI即ち大規模集積回路技術を用いた高度に集積
化された計算機の開発により、複数のプロセツサ
もしくはマイクロプロセツサを組合わせて動作さ
せるデータ処理装置が有利になつた。この場合当
然提起される問題に、データ処理装置の処理ユニ
ツトへのプロセスの割付けがある。
与えられる時、これらのプロセスの実行の優先順
位を管理すること、並びに処理ユニツトにプロセ
スを通信することは非常に複雑である。しかしこ
れらの問題が解消されたデータ処理装置は知られ
ている。これらの問題の解決は、本出願人の仏国
特許第2253419号「データ・プロセツサのプロセ
ス管理方式」及び第2253417号「セマフオを用い
たプロセスの同期化」に記載されている。しかし
LSI即ち大規模集積回路技術を用いた高度に集積
化された計算機の開発により、複数のプロセツサ
もしくはマイクロプロセツサを組合わせて動作さ
せるデータ処理装置が有利になつた。この場合当
然提起される問題に、データ処理装置の処理ユニ
ツトへのプロセスの割付けがある。
処理ユニツトへのプロセスの割付けは時間のか
かる操作であり、その複雑さは使用される選択ア
ルゴリズムによる。選択アルゴリズムが複雑なほ
ど、データ処理装置の作動に必要なパラメーター
を収容したテーブルがじよう乱を受け易い。
かる操作であり、その複雑さは使用される選択ア
ルゴリズムによる。選択アルゴリズムが複雑なほ
ど、データ処理装置の作動に必要なパラメーター
を収容したテーブルがじよう乱を受け易い。
従つて本発明の目的は、高性能であまり複雑で
ない、新規で改良された、処理ユニツトへのプロ
セスの割付け装置を提供することにある。
ない、新規で改良された、処理ユニツトへのプロ
セスの割付け装置を提供することにある。
本発明の別の目的は、前記仏国特許に記載され
ているような単一の処理ユニツトにて複数のプロ
セスが実行されるデータ処理システムに用いられ
る概念を、複数の処理ユニツトを含むデータ処理
システムに拡大し得るようにすることにある。
ているような単一の処理ユニツトにて複数のプロ
セスが実行されるデータ処理システムに用いられ
る概念を、複数の処理ユニツトを含むデータ処理
システムに拡大し得るようにすることにある。
本発明によれば、複数のプロセスは、デイスパ
ツチヤにより複数の処理ユニツトに割付けられ
る。デイスパツチヤは選択段階及び実行段階と呼
ばれる2つの段階でプロセスを処理ユニツトに割
付ける。SELECTとも称す選択段階では、実際
の処理ユニツトが候補プロセスに割当てられ、
EXECと呼ばれる実行段階では選択された実際の
各々の処理ユニツトが現在のプロセスの内容
(context)をからにし、それを新しいプロセスの
内容に置換する。
ツチヤにより複数の処理ユニツトに割付けられ
る。デイスパツチヤは選択段階及び実行段階と呼
ばれる2つの段階でプロセスを処理ユニツトに割
付ける。SELECTとも称す選択段階では、実際
の処理ユニツトが候補プロセスに割当てられ、
EXECと呼ばれる実行段階では選択された実際の
各々の処理ユニツトが現在のプロセスの内容
(context)をからにし、それを新しいプロセスの
内容に置換する。
本発明の別の特徴によれば、実行を待つている
プロセスの状態又は実行中の処理ユニツトの状態
に変化が起こつた時にデイスパツチヤの呼び出し
が放たれ、デイスパツチヤによるこの呼び出し
は、変化がなされた処理ユニツトによりひき起こ
される。
プロセスの状態又は実行中の処理ユニツトの状態
に変化が起こつた時にデイスパツチヤの呼び出し
が放たれ、デイスパツチヤによるこの呼び出し
は、変化がなされた処理ユニツトによりひき起こ
される。
次に図面に示した本発明の好ましい実施例につ
いて詳述する。
いて詳述する。
第1図に示したデータ処理装置は、記憶制御ユ
ニツト(MCU)2から制御される、読取り/書
込みを行う主記憶装置(MMU)1を備えてい
る。第1図のデータ処理装置はそのほかに、記憶
制御ユニツト2の入力部に単一の母線3により一
緒に接続される複数の中央処理ユニツトもしくは
プロセツサ4,6,8等を備えている。母線3は
命令及びデータのアドレス語を記憶制御ユニツト
2と一群の処理ユニツト4,6,8との間で伝送
する。
ニツト(MCU)2から制御される、読取り/書
込みを行う主記憶装置(MMU)1を備えてい
る。第1図のデータ処理装置はそのほかに、記憶
制御ユニツト2の入力部に単一の母線3により一
緒に接続される複数の中央処理ユニツトもしくは
プロセツサ4,6,8等を備えている。母線3は
命令及びデータのアドレス語を記憶制御ユニツト
2と一群の処理ユニツト4,6,8との間で伝送
する。
各々の処理ユニツト4,6,8はそれぞれ入出
力制御装置(IOC)5,7,9を経て周辺制御ユ
ニツト(PCU)10,11,12に接続されて
いる。周辺制御ユニツト10,11,12は、デ
ータ処理装置に含まれる別々の周辺装置ユニツト
(PU)13に接続されている。主記憶装置
(MMU)1は、第1図の処理ユニツト4,6,
8により実行されるべき複数のプロセスを常時保
持している。
力制御装置(IOC)5,7,9を経て周辺制御ユ
ニツト(PCU)10,11,12に接続されて
いる。周辺制御ユニツト10,11,12は、デ
ータ処理装置に含まれる別々の周辺装置ユニツト
(PU)13に接続されている。主記憶装置
(MMU)1は、第1図の処理ユニツト4,6,
8により実行されるべき複数のプロセスを常時保
持している。
前述したように、プロセスとは、各々の処理ユ
ニツト4,6,8により実行され得る順序付けさ
れた1組の命令として定義される。或るプロセス
が、ある特別の処理ユニツトにおいて実行中であ
るとして、そのプロセスは、それを実行している
処理ユニツトの制御をいつでも離れて、その処理
ユニツトの制御を別のプロセスへと移行させるこ
とができる。
ニツト4,6,8により実行され得る順序付けさ
れた1組の命令として定義される。或るプロセス
が、ある特別の処理ユニツトにおいて実行中であ
るとして、そのプロセスは、それを実行している
処理ユニツトの制御をいつでも離れて、その処理
ユニツトの制御を別のプロセスへと移行させるこ
とができる。
或るプロセスが処理ユニツトの制御を離れる
時、その状態は、主記憶装置1の適切な記憶領域
に保存しなければならない。
時、その状態は、主記憶装置1の適切な記憶領域
に保存しなければならない。
このように保存されたプロセスの状態は、中断
されたこのプロセスが制御ユニツトの制御を再び
受けるようになる前にその処理ユニツトを予め条
件づけるために利用することができる。
されたこのプロセスが制御ユニツトの制御を再び
受けるようになる前にその処理ユニツトを予め条
件づけるために利用することができる。
或るプロセスに割当てられた主記憶装置1の記
憶領域は、プロセス制御ブロツク(PCB)と呼
ばれ、第2図に図示されている。プロセス制御ブ
ロツクは複数の領域に分割されている。「優先」
と表示した領域は、プロセスが有する優先レベル
もしくは優先順位を規定する。「状態」と表示し
た領域はプロセスの状態を規定し、この「状態」
とは、特に、プロセスが中止されたこと、開始さ
れていないこと、実行準備状態にある他のプロセ
スと共に待ち行列にはいつていること、セマフオ
上で待ち行列にはいつていること、又は、或る処
理ユニツトにおいて実行中なこと、を指示し得
る。DCNと表示された領域はプロセスが実行さ
れる様式(decor)を示すもので、この領域は、
プロセスを実行する各処理ユニツトは、実際、独
自の機能的なアーキテクチヤを有しており、或る
プロセスは或る特別の様式と共にのみ実行され得
るという理由で用いられているものである。
憶領域は、プロセス制御ブロツク(PCB)と呼
ばれ、第2図に図示されている。プロセス制御ブ
ロツクは複数の領域に分割されている。「優先」
と表示した領域は、プロセスが有する優先レベル
もしくは優先順位を規定する。「状態」と表示し
た領域はプロセスの状態を規定し、この「状態」
とは、特に、プロセスが中止されたこと、開始さ
れていないこと、実行準備状態にある他のプロセ
スと共に待ち行列にはいつていること、セマフオ
上で待ち行列にはいつていること、又は、或る処
理ユニツトにおいて実行中なこと、を指示し得
る。DCNと表示された領域はプロセスが実行さ
れる様式(decor)を示すもので、この領域は、
プロセスを実行する各処理ユニツトは、実際、独
自の機能的なアーキテクチヤを有しており、或る
プロセスは或る特別の様式と共にのみ実行され得
るという理由で用いられているものである。
領域DCNに記憶された様式(decor)がデータ
処理装置の様式もしくはアーキテクチヤと調和す
ることが必要である。
処理装置の様式もしくはアーキテクチヤと調和す
ることが必要である。
プロセスの領域DCNに対応する様式が、該プ
ロセスを実行するよう選択された処理ユニツトに
存在しない時はPCBは違法とみなされる。
ロセスを実行するよう選択された処理ユニツトに
存在しない時はPCBは違法とみなされる。
領域STWA(ASW)はセグメントアドレステ
ーブルの開始アドレスを表わし、プロセスに割当
てられた識別子のアドレスを得るために役立つ。
領域T(SKW)は、パイルセグメントもしくはス
タツクセグメント中に在るパイルもしくはスタツ
クの頂点の、ポインターレジスターT内の値を収
容している。この領域T(SKW)中に収容された
語は、プロセスが実行されていない時パイルセグ
メントもしくはスタツクセグメントの頂点の、レ
ジスタ内の値を収容し、プロセスが実行状態を離
れるつど更新され、プロセスが処理ユニツトにお
いて実行にはいるつど処理ユニツトの真のレジス
ターTの内容を更新するために使用される。領域
IC(ICW)はプロセスの実行が処理ユニツト上に
おいて停止した時点に存在した処理ユニツトの命
令カウンターの値を収容している。この領域は、
プロセスが実行の状態を離れるつど更新され、プ
ロセスが実行に再度移行するつどプロセスが実行
される処理ユニツトの命令カウンターを更新する
ために使用される。領域PRHM、PRSMは、デ
ータ処理装置の各処理ユニツトに対応した状態を
有する1ビツトマスクとして用いられる。ビツト
の「0」状態は、このビツト状態に対応する処理
ユニツト上にてプロセスが実行され得ることを指
示し、ビツトの「1」状態はそれができないこと
を指示する。プロセス制御ブロツクは、プロセス
が処理ユニツトの或るレジスターにおいて行なわ
れていて割込みにより中断された時、これらのレ
ジスターの内容を保護するための他の領域を有し
得る。このことの詳細については前述した本出願
人の仏国特許公報の同様のブロツクの記載を参照
されたい。
ーブルの開始アドレスを表わし、プロセスに割当
てられた識別子のアドレスを得るために役立つ。
領域T(SKW)は、パイルセグメントもしくはス
タツクセグメント中に在るパイルもしくはスタツ
クの頂点の、ポインターレジスターT内の値を収
容している。この領域T(SKW)中に収容された
語は、プロセスが実行されていない時パイルセグ
メントもしくはスタツクセグメントの頂点の、レ
ジスタ内の値を収容し、プロセスが実行状態を離
れるつど更新され、プロセスが処理ユニツトにお
いて実行にはいるつど処理ユニツトの真のレジス
ターTの内容を更新するために使用される。領域
IC(ICW)はプロセスの実行が処理ユニツト上に
おいて停止した時点に存在した処理ユニツトの命
令カウンターの値を収容している。この領域は、
プロセスが実行の状態を離れるつど更新され、プ
ロセスが実行に再度移行するつどプロセスが実行
される処理ユニツトの命令カウンターを更新する
ために使用される。領域PRHM、PRSMは、デ
ータ処理装置の各処理ユニツトに対応した状態を
有する1ビツトマスクとして用いられる。ビツト
の「0」状態は、このビツト状態に対応する処理
ユニツト上にてプロセスが実行され得ることを指
示し、ビツトの「1」状態はそれができないこと
を指示する。プロセス制御ブロツクは、プロセス
が処理ユニツトの或るレジスターにおいて行なわ
れていて割込みにより中断された時、これらのレ
ジスターの内容を保護するための他の領域を有し
得る。このことの詳細については前述した本出願
人の仏国特許公報の同様のブロツクの記載を参照
されたい。
第3A〜3C図に、プロセスを別々の処理ユニ
ツトに割当て得るようにするために各々の処理ユ
ニツトに備えるべき要素を示す。
ツトに割当て得るようにするために各々の処理ユ
ニツトに備えるべき要素を示す。
第3A図に示した要素は、本発明による割当て
−同期化装置を実施するように構成された中央情
報処理ユニツトの既知の構造を形成している。こ
の構造の詳細は、プランテイス・ホール・エデイ
シヨン刊行、コピーライト70、サミール・S・イ
ユツソン著、「マイクロプログラミング、原理及
びプラクテイス」に記載されている。
−同期化装置を実施するように構成された中央情
報処理ユニツトの既知の構造を形成している。こ
の構造の詳細は、プランテイス・ホール・エデイ
シヨン刊行、コピーライト70、サミール・S・イ
ユツソン著、「マイクロプログラミング、原理及
びプラクテイス」に記載されている。
第3A図に示した本発明による装置部分は、主
記憶装置(MMU)1、主記憶装置1の記憶制御
ユニツト(MCU)2、制御要素(OC)15、命
令レジスター(RI)14、論理演算ユニツト
(ALU)17、アキユミユレーターレジスター
(ACC)16、BUSY(「使用中」)レジスター1
9、デコーダー20、優先レジスター21及び命
令カウンター(IC)18を備えている。これら
の各要素は、アドレス母線A、制御母線C、デー
タ母線D及び試験母線Tとして表わした、母線3
の部分である導線を介し互に接続されている。制
御母線Aは記憶制御ユニツト2の入力1を命令カ
ウンター(IC)18の出力2に接続している。
命令カウンター18は実行中の命令のアドレスを
収容している。主記憶装置(MMU)において読
出されたり書込まれたりするデータ及び命令は、
主記憶装置(MMU)1の端子2に接続されたデ
ータ母線Dを介して処理ユニツトに転送され、そ
して命令レジスター(RI)14の入力1、アキ
ユミユレーターレジスター(ACC)16の入力
1、BUSYレジスター19の入力1、優先レジ
スター27の入力1と出力2、及び論理演算ユニ
ツト17の入力2に転送される。命令レジスター
14は出力2により制御要素15の入力1に接続
されている。制御要素15はサミール・S・イユ
ツソンの前記著書第491〜500頁に記載された型式
のマイクロプログラムされた構造を有する。
記憶装置(MMU)1、主記憶装置1の記憶制御
ユニツト(MCU)2、制御要素(OC)15、命
令レジスター(RI)14、論理演算ユニツト
(ALU)17、アキユミユレーターレジスター
(ACC)16、BUSY(「使用中」)レジスター1
9、デコーダー20、優先レジスター21及び命
令カウンター(IC)18を備えている。これら
の各要素は、アドレス母線A、制御母線C、デー
タ母線D及び試験母線Tとして表わした、母線3
の部分である導線を介し互に接続されている。制
御母線Aは記憶制御ユニツト2の入力1を命令カ
ウンター(IC)18の出力2に接続している。
命令カウンター18は実行中の命令のアドレスを
収容している。主記憶装置(MMU)において読
出されたり書込まれたりするデータ及び命令は、
主記憶装置(MMU)1の端子2に接続されたデ
ータ母線Dを介して処理ユニツトに転送され、そ
して命令レジスター(RI)14の入力1、アキ
ユミユレーターレジスター(ACC)16の入力
1、BUSYレジスター19の入力1、優先レジ
スター27の入力1と出力2、及び論理演算ユニ
ツト17の入力2に転送される。命令レジスター
14は出力2により制御要素15の入力1に接続
されている。制御要素15はサミール・S・イユ
ツソンの前記著書第491〜500頁に記載された型式
のマイクロプログラムされた構造を有する。
制御要素15は出力Q1〜Qnを有し、これら出
力上には、処理ユニツトの種々の要素を選択的に
付勢するのを制御する信号C1〜Cnが引き出され
る。制御要素15は、第7A図、第7B図、第8
A図、第8B図、第8C図のフローチヤートに関
連した動作を行うマイクロプログラムを格納して
いる。
力上には、処理ユニツトの種々の要素を選択的に
付勢するのを制御する信号C1〜Cnが引き出され
る。制御要素15は、第7A図、第7B図、第8
A図、第8B図、第8C図のフローチヤートに関
連した動作を行うマイクロプログラムを格納して
いる。
制御要素15は試験母線Tに入力2において接
続され、従つて処理ユニツトの試験装置群から送
出される試験結果を受取る。従つて制御要素15
は、実行されるべき命令の型式及び特別の試験結
果に従つて、制御要素15に書込まれたマイクロ
プログラムの開始アドレスにおいての分岐を実行
し得る。これらのマイクロプログラムの実行によ
つて、制御要素15のQ1〜Qn出力に接続した母
線Cに特別の命令が発生される。
続され、従つて処理ユニツトの試験装置群から送
出される試験結果を受取る。従つて制御要素15
は、実行されるべき命令の型式及び特別の試験結
果に従つて、制御要素15に書込まれたマイクロ
プログラムの開始アドレスにおいての分岐を実行
し得る。これらのマイクロプログラムの実行によ
つて、制御要素15のQ1〜Qn出力に接続した母
線Cに特別の命令が発生される。
アキユミユレーターレジスター(ACC)16
の出力2は論理演算ユニツト17の入力1に接続
されている。論理演算ユニツト17は入力1及び
2に与えられる2つのオペランド(第1のオペラ
ンドはアキユミユレーターレジスター16中に収
納されており、第2のオペランドは母線Dに発生
する)について論理演算を行う。2つのオペラン
ドについての演算の結果は、ユニツト17の出力
3から母線Dに戻され、従つて母線Dを経てアキ
ユミユレーターレジスター16の入力1へと再転
送されるか、もしくは制御要素15の出力によつ
てユニツト17と同時に可能化される該プロセツ
サの別のレジスタに転送される。
の出力2は論理演算ユニツト17の入力1に接続
されている。論理演算ユニツト17は入力1及び
2に与えられる2つのオペランド(第1のオペラ
ンドはアキユミユレーターレジスター16中に収
納されており、第2のオペランドは母線Dに発生
する)について論理演算を行う。2つのオペラン
ドについての演算の結果は、ユニツト17の出力
3から母線Dに戻され、従つて母線Dを経てアキ
ユミユレーターレジスター16の入力1へと再転
送されるか、もしくは制御要素15の出力によつ
てユニツト17と同時に可能化される該プロセツ
サの別のレジスタに転送される。
BUSYレジスター19の出力2は、出力2を
試験母線Tに接続したデコーダー20の入力1に
接続されている。デコーダー20は入力1に与え
られるビツトの所定の結合に応答して2進の1信
号を出力し、ビジーレジスター19が2進の1及
び0の所定の結合を含んでいるということを制御
要素15に指示する。制御要素(OC)15は、
デコーダー20によつて与えられた信号に応答し
て、制御信号C1〜C7をそれぞれ記憶制御ユニツ
ト(MCU)2の入力2、命令レジスター(RI)
14の入力3、論理演算ユニツト(ALU)17
の入力4、アキユミユレーターレジスター
(ACC)16の入力3、BUSYレジスター19の
入力3、優先レジスター21の入力3及び命令カ
ウンター(IC)18の入力3に発生させる。
試験母線Tに接続したデコーダー20の入力1に
接続されている。デコーダー20は入力1に与え
られるビツトの所定の結合に応答して2進の1信
号を出力し、ビジーレジスター19が2進の1及
び0の所定の結合を含んでいるということを制御
要素15に指示する。制御要素(OC)15は、
デコーダー20によつて与えられた信号に応答し
て、制御信号C1〜C7をそれぞれ記憶制御ユニツ
ト(MCU)2の入力2、命令レジスター(RI)
14の入力3、論理演算ユニツト(ALU)17
の入力4、アキユミユレーターレジスター
(ACC)16の入力3、BUSYレジスター19の
入力3、優先レジスター21の入力3及び命令カ
ウンター(IC)18の入力3に発生させる。
第3B図に示した回路は、制御母線である母線
C、データ母線である母線D及び試験母線である
母線Tの回りに形成されている。
C、データ母線である母線D及び試験母線である
母線Tの回りに形成されている。
母線Cは、制御線C8によりRCPMKレジスター
24の入力3に接続されていると共に、制御線
C9によりセレクター25の入力Cにも接続され
ている。制御線C9により制御されるセレクター
25はPSTRレジスターバンク26のn個のレジ
スターの選択を確実にする。IQWレジスター2
2の出力2はNOR回路23を経て母線Tに接続
されている。第3B図の回路はそのほかに作業レ
ジスター群26−2を有し、作業レジスター群2
6−2は母線Dに既知のように接続され、制御線
C9−2により制御される。
24の入力3に接続されていると共に、制御線
C9によりセレクター25の入力Cにも接続され
ている。制御線C9により制御されるセレクター
25はPSTRレジスターバンク26のn個のレジ
スターの選択を確実にする。IQWレジスター2
2の出力2はNOR回路23を経て母線Tに接続
されている。第3B図の回路はそのほかに作業レ
ジスター群26−2を有し、作業レジスター群2
6−2は母線Dに既知のように接続され、制御線
C9−2により制御される。
第3C図には、制御母線C、データ母線D上
の、処理ユニツト4,6,8からの信号に応答
し、試験母線Tに与えられる信号を出力する、記
憶制御ユニツト2内に含まれる回路が示されてい
る。
の、処理ユニツト4,6,8からの信号に応答
し、試験母線Tに与えられる信号を出力する、記
憶制御ユニツト2内に含まれる回路が示されてい
る。
第3C図に示される回路は、母線C,D及びT
の回りに前述のように組織されるフリツプフロツ
プSPLK27と、カウンターΣEXECi29と、フ
リツプフロツプ32とを含む。
の回りに前述のように組織されるフリツプフロツ
プSPLK27と、カウンターΣEXECi29と、フ
リツプフロツプ32とを含む。
フリツプフロツプ(SPLK)27は、母線Cか
ら導線C11に到来する制御信号によりJ入力及び
K入力において制御される。フリツプフロツプ
(SPLK)27のQ出力は、ANDゲート28の入
力1に接続してあり、ANDゲート28の入力2
は母線Cから導線C10に到来する信号により制御
される。このようにANDゲート28によりフリ
ツプフロツプ(SPLK)27の状態についての試
験を行い得る。カウンター(ΣEXECi)29は、
初期値を受けるように、母線Dに入力1において
接続され、端子3を母線Cに接続する導線C12に
母線Cから供給される信号により制御される。カ
ウンター29の出力2はORゲート30の入力1
に接続してあり、ORゲート30の出力2はAND
ゲート31の入力1に接続してあり、ANDゲー
ト31は、入力2において、入力2を母線Cに接
続する導線C13上に母線Cにより供給される信号
により制御される。AND31の出力3は母線T
に接続されている。ANDゲート31は、導線C13
上にて制御される時、カウンター29の状態の試
験を可能にする。フリツプフロツプ
(CONTEST)32は、J入力及びK入力におい
て、母線Cから導線C14上に到来する制御信号に
より制御される。フリツプフロツプ32のQ出力
はANDゲート33の入力1に接続され、ANDゲ
ート33の入力2はANDゲート33を母線Cに
接続している導体C15上に母線Cから到来する制
御信号を受ける。ANDゲート33の出力3は母
線Tに接続されている。ANDゲート33により
フリツプフロツプ(CONTEST)32のQ出力
の状態を試験できる。第3C図の回路はそのほか
に、J入力及びK入力において導線C16により制
御されるフリツプフロツプ(HG)27−2を有
し、フリツプフロツプ(HG)27−2のQ出力
は直接母線Tに接続されている。第3C図に示し
た回路要素の作用は次の通りである。フリツプフ
ロツプ(SPLK)27及び(HG)27−2は、
セマフオと、セマフオにおいて待機中のプロセス
の待ち行列と、データ処理装置中の種々の処理ユ
ニツトの状態を更新するため実行を待つているプ
ロセス又はデータ処理装置において実行の候補に
なつているプロセスの待ち行列とを保護するため
のシステム・ロツクとして用いられる。
ら導線C11に到来する制御信号によりJ入力及び
K入力において制御される。フリツプフロツプ
(SPLK)27のQ出力は、ANDゲート28の入
力1に接続してあり、ANDゲート28の入力2
は母線Cから導線C10に到来する信号により制御
される。このようにANDゲート28によりフリ
ツプフロツプ(SPLK)27の状態についての試
験を行い得る。カウンター(ΣEXECi)29は、
初期値を受けるように、母線Dに入力1において
接続され、端子3を母線Cに接続する導線C12に
母線Cから供給される信号により制御される。カ
ウンター29の出力2はORゲート30の入力1
に接続してあり、ORゲート30の出力2はAND
ゲート31の入力1に接続してあり、ANDゲー
ト31は、入力2において、入力2を母線Cに接
続する導線C13上に母線Cにより供給される信号
により制御される。AND31の出力3は母線T
に接続されている。ANDゲート31は、導線C13
上にて制御される時、カウンター29の状態の試
験を可能にする。フリツプフロツプ
(CONTEST)32は、J入力及びK入力におい
て、母線Cから導線C14上に到来する制御信号に
より制御される。フリツプフロツプ32のQ出力
はANDゲート33の入力1に接続され、ANDゲ
ート33の入力2はANDゲート33を母線Cに
接続している導体C15上に母線Cから到来する制
御信号を受ける。ANDゲート33の出力3は母
線Tに接続されている。ANDゲート33により
フリツプフロツプ(CONTEST)32のQ出力
の状態を試験できる。第3C図の回路はそのほか
に、J入力及びK入力において導線C16により制
御されるフリツプフロツプ(HG)27−2を有
し、フリツプフロツプ(HG)27−2のQ出力
は直接母線Tに接続されている。第3C図に示し
た回路要素の作用は次の通りである。フリツプフ
ロツプ(SPLK)27及び(HG)27−2は、
セマフオと、セマフオにおいて待機中のプロセス
の待ち行列と、データ処理装置中の種々の処理ユ
ニツトの状態を更新するため実行を待つているプ
ロセス又はデータ処理装置において実行の候補に
なつているプロセスの待ち行列とを保護するため
のシステム・ロツクとして用いられる。
フリツプフロツプ(CONTEST)32は、デ
ータ処理システムが、実行を待つているプロセス
の待ち行列に変更をもたらす操作を行おうとする
とき、制御要素15からフリツプフロツプ32の
J端子に2進の1信号を与えることにより、論理
「1」にセツトされる。この変更は、待ち行列に
別のプロセスを付加することにより、或るプロセ
スを待ち行列から取出すことにより、又は待機し
ているプロセスの順序を変更することにより起こ
り得る。カウンター(ΣEXECi)29の状態によ
り、処理ユニツトへのプロセスの割付け作業が全
部終了したことを確認できる。カウンター29
は、選択操作の間に或るプロセスに割付けるべき
処理ユニツトが指定されるつど1だけ増分され、
割付けが終了するつど1だけ減分される。
ータ処理システムが、実行を待つているプロセス
の待ち行列に変更をもたらす操作を行おうとする
とき、制御要素15からフリツプフロツプ32の
J端子に2進の1信号を与えることにより、論理
「1」にセツトされる。この変更は、待ち行列に
別のプロセスを付加することにより、或るプロセ
スを待ち行列から取出すことにより、又は待機し
ているプロセスの順序を変更することにより起こ
り得る。カウンター(ΣEXECi)29の状態によ
り、処理ユニツトへのプロセスの割付け作業が全
部終了したことを確認できる。カウンター29
は、選択操作の間に或るプロセスに割付けるべき
処理ユニツトが指定されるつど1だけ増分され、
割付けが終了するつど1だけ減分される。
処理ユニツトへのプロセスの割付けは、システ
ム中の処理ユニツトの現在の状態を記憶してい
る、主記憶装置(MMU)1中にある第4図のテ
ーブルCPSTTの助けを借りて行なわれる。各々
の処理ユニツトの状態は、第4図にフオーマツト
を示した状態語の助けを借りてこのテーブル
CPSTTに記憶される。第4図において、ビツト
1から3の長さのビツト位置を占めるデータフイ
ールドCPSTは、次の意味の内1つを有し得る。
ム中の処理ユニツトの現在の状態を記憶してい
る、主記憶装置(MMU)1中にある第4図のテ
ーブルCPSTTの助けを借りて行なわれる。各々
の処理ユニツトの状態は、第4図にフオーマツト
を示した状態語の助けを借りてこのテーブル
CPSTTに記憶される。第4図において、ビツト
1から3の長さのビツト位置を占めるデータフイ
ールドCPSTは、次の意味の内1つを有し得る。
CPST=000、データ処理システムの構成中に
処理ユニツトが存在しないことを意味する。
処理ユニツトが存在しないことを意味する。
CPST=001、処理ユニツトが利用できないこ
とを意味する。
とを意味する。
CPST=010、処理ユニツトがあいていること
を意味する。この状態では処理ユニツトはプロセ
スを実行できるが、それを行つてはいない。
を意味する。この状態では処理ユニツトはプロセ
スを実行できるが、それを行つてはいない。
CPST=011、処理ユニツトが或るプロセスを
実行中であることを意味する。
実行中であることを意味する。
16ビツトから16ビツトの長さに亙つているデー
タフイールドは、後述する役目をもつ主記憶装置
(MMU)1中に位置されたセグメントGOのアド
レスを指示する。セグメントGOの性質及び機能
は本出願人の前述した仏国特許に記載されてい
る。
タフイールドは、後述する役目をもつ主記憶装置
(MMU)1中に位置されたセグメントGOのアド
レスを指示する。セグメントGOの性質及び機能
は本出願人の前述した仏国特許に記載されてい
る。
実行準備状態のプロセスは第5図に示すように
主記憶装置(MMU)1中にリンクされている。
符号JPにより表したプロセスは、それらの実行
のために必要な優先順位もしくは優先レベルの関
数として待ち行列中に配分されている。第5図に
はn個の優先レベルに対応するn個の待ち行列を
示す。各レベルにおいて各々のプロセスはリンク
により互いに結合されており、これらのリンク
は、各々のプロセスから始まつて、それに接続さ
れたプロセスを認識し得るようになつている。或
る優先レベル上にリンクされた最後のプロセス
は、次に低い優先順位のプロセス待ち行列の先頭
のプロセスにそれを結合するリンクを備えてい
る。最高優先順位の待ち行列の先頭のプロセス
は、システム・ベースと呼ばれる記憶装置
(MMU)1の領域中のポインターIQWとして表
されている。この領域はマイクロプログラミング
により展開され、記憶装置(MMI)1の固定領
域の一部をそれ自身形成するベースアドレスレジ
スター(BAR)35を介しアクセスできる。第
5図に示した待ち行列の管理を容易にするため
に、各優先順位の待ち行列の各最後のプロセスの
アドレスを与える優先順位テーブルが記憶装置
(MMU)1に用意されている。
主記憶装置(MMU)1中にリンクされている。
符号JPにより表したプロセスは、それらの実行
のために必要な優先順位もしくは優先レベルの関
数として待ち行列中に配分されている。第5図に
はn個の優先レベルに対応するn個の待ち行列を
示す。各レベルにおいて各々のプロセスはリンク
により互いに結合されており、これらのリンク
は、各々のプロセスから始まつて、それに接続さ
れたプロセスを認識し得るようになつている。或
る優先レベル上にリンクされた最後のプロセス
は、次に低い優先順位のプロセス待ち行列の先頭
のプロセスにそれを結合するリンクを備えてい
る。最高優先順位の待ち行列の先頭のプロセス
は、システム・ベースと呼ばれる記憶装置
(MMU)1の領域中のポインターIQWとして表
されている。この領域はマイクロプログラミング
により展開され、記憶装置(MMI)1の固定領
域の一部をそれ自身形成するベースアドレスレジ
スター(BAR)35を介しアクセスできる。第
5図に示した待ち行列の管理を容易にするため
に、各優先順位の待ち行列の各最後のプロセスの
アドレスを与える優先順位テーブルが記憶装置
(MMU)1に用意されている。
待ち行列の管理はプログラミングにおいて周知
の問題であり、この問題の1つの解決は本出願人
の前記仏国特許に記載されている。
の問題であり、この問題の1つの解決は本出願人
の前記仏国特許に記載されている。
第6図に、本発明で使用されるプロセスのリン
クのフオーマツトを示す。ビツト0〜15は待ち行
列における次のプロセスのリンクのアドレスを与
える。第16ビツトであるビツトRはプロセスが実
行され始める時論理1にされる。第17ビツトであ
るDビツトは同期化の目的に使用される。第18ビ
ツトであるSUビツトは同期化の終了時に使用さ
れる。SUビツトの論理状態が1であると、それ
は、プロセスが中止され、処理ユニツトにより使
用され得ないことを示す。第24〜27ビツト即ち
PRIビツトはプロセスの優先順位を示す。第32〜
47ビツト即ちJPビツトはリンクに対応するプロ
セスの名称を表わす。第48〜63ビツトは処理ユニ
ツトのマスクを表わす。このフイールドの各ビツ
トは1つの処理ユニツトに対応しているので、第
5図に従つて16個までの処理ユニツトを割付ける
ことができる。各々の「0」ビツトはそのランク
(位置)の後方において、プロセスを開始し得る
処理ユニツトの番号を指示する。マスク
(CPMK)は、プロセスが所属する様式、処理ユ
ニツトのCPSTTテーブルにて読出された処理ユ
ニツトの状態、並びに各々のプロセス制御ブロツ
ク中に在るPRSMマスクから構成される。この
マスクは一例として或るプロセスの開始命令
“START PROCESS”が実行される時、そのプ
ロセスがセマフオ上の待ち行列から取出される時
に計算される。
クのフオーマツトを示す。ビツト0〜15は待ち行
列における次のプロセスのリンクのアドレスを与
える。第16ビツトであるビツトRはプロセスが実
行され始める時論理1にされる。第17ビツトであ
るDビツトは同期化の目的に使用される。第18ビ
ツトであるSUビツトは同期化の終了時に使用さ
れる。SUビツトの論理状態が1であると、それ
は、プロセスが中止され、処理ユニツトにより使
用され得ないことを示す。第24〜27ビツト即ち
PRIビツトはプロセスの優先順位を示す。第32〜
47ビツト即ちJPビツトはリンクに対応するプロ
セスの名称を表わす。第48〜63ビツトは処理ユニ
ツトのマスクを表わす。このフイールドの各ビツ
トは1つの処理ユニツトに対応しているので、第
5図に従つて16個までの処理ユニツトを割付ける
ことができる。各々の「0」ビツトはそのランク
(位置)の後方において、プロセスを開始し得る
処理ユニツトの番号を指示する。マスク
(CPMK)は、プロセスが所属する様式、処理ユ
ニツトのCPSTTテーブルにて読出された処理ユ
ニツトの状態、並びに各々のプロセス制御ブロツ
ク中に在るPRSMマスクから構成される。この
マスクは一例として或るプロセスの開始命令
“START PROCESS”が実行される時、そのプ
ロセスがセマフオ上の待ち行列から取出される時
に計算される。
第7A図、第7B図、第8A図〜第8C図を参
照して、デイスパツチヤの作用について説明す
る。
照して、デイスパツチヤの作用について説明す
る。
第7A図、第7B図は、候補プロセスに処理ユ
ニツトを割付ける選択機能を実行するために用い
るマイクロプログラムの機能をフローチヤートに
より表わしている。このフローチヤートは各々の
処理ユニツト中において第3A図の制御要素
(OC)15の記憶装置内に格納されている。この
制御要素15のプログラミングについての詳細
は、サミール・S・イユツソンの前記文献に記載
されている。「選択」マイクロプログラムの展開
は前述した種々のハードウエア装置を用いて行な
われる。「選択」操作SELECTは、待機中の全プ
ロセスの中から実行され得るプロセスを選択する
ことに存する。この操作はシステムのプロセス状
態に変更をもたらす処理ユニツトにより行なわれ
る。これは一例として、或るプロセスがセマフオ
においてメツセージを待つており、処理ユニツト
Pnにおいて実行中のプロセスがこのメツセージ
をもつて来た場合で、処理ユニツトPnが選択機
能の実行を引き受ける。プロセスの状態に変更を
もたらすことは、変更をもたらす処理ユニツトに
よりフリツプフロツプ(CONTEST)32が
「1」論理レベルにセツトされることにより行な
われる。フリツプフロツプ(CONTEST)32
が「1」にセツトされると、変更をもたらした処
理ユニツトは、「選択」機能を実行するように条
件付けられる。第7A図に示した「選択」マイク
ロプログラムの展開は、最初にシステム・ロツク
のフリツプフロツプ(SPLK)27の試験を行う
ことに存する(ブロツク1001)。フリツプフロツ
プ(SPLK)27が論理「1」のレベルにあると
処理ユニツトはそれのBUSYレジスター19の
状態を確認して(ブロツク1005)、割付けられる
べきプロセスがあるか否かを調べる。BUSY(使
用中)の状態にあると、すなわち、割付けられる
べきプロセスが処理ユニツト内にあるということ
を示すならばそれは次の命令(ブロツク1006)を
実行し、その命令の実行終了後にフリツプフロツ
プ(SPLK)27の試験に戻る(ブロツク1001)。
フリツプフロツプ(SPLK)27の状態が0であ
つたら、「選択」を実行する処理ユニツトはフリ
ツプフロツプ27を「1」状態に移行させ、これ
によりシステムの他の処理ユニツトによる記憶装
置(MMU)1のテーブル及びセマフオへのアク
セスが阻止される。ブロツク1003ではカウンター
(ΣEXECi)29の状態についての試験が行なわ
れる。カウンター29の状態が0でないと、フリ
ツプフロツプ(SPLK)27は「0」にリセツト
され(ブロツク1004)、「選択」機能はそれ以上実
行できなくなる。これは前の段階においての全部
の実行候補プロセスが割付けられた場合にのみ
「選択」機能が実行され得ることを意味する。
ニツトを割付ける選択機能を実行するために用い
るマイクロプログラムの機能をフローチヤートに
より表わしている。このフローチヤートは各々の
処理ユニツト中において第3A図の制御要素
(OC)15の記憶装置内に格納されている。この
制御要素15のプログラミングについての詳細
は、サミール・S・イユツソンの前記文献に記載
されている。「選択」マイクロプログラムの展開
は前述した種々のハードウエア装置を用いて行な
われる。「選択」操作SELECTは、待機中の全プ
ロセスの中から実行され得るプロセスを選択する
ことに存する。この操作はシステムのプロセス状
態に変更をもたらす処理ユニツトにより行なわれ
る。これは一例として、或るプロセスがセマフオ
においてメツセージを待つており、処理ユニツト
Pnにおいて実行中のプロセスがこのメツセージ
をもつて来た場合で、処理ユニツトPnが選択機
能の実行を引き受ける。プロセスの状態に変更を
もたらすことは、変更をもたらす処理ユニツトに
よりフリツプフロツプ(CONTEST)32が
「1」論理レベルにセツトされることにより行な
われる。フリツプフロツプ(CONTEST)32
が「1」にセツトされると、変更をもたらした処
理ユニツトは、「選択」機能を実行するように条
件付けられる。第7A図に示した「選択」マイク
ロプログラムの展開は、最初にシステム・ロツク
のフリツプフロツプ(SPLK)27の試験を行う
ことに存する(ブロツク1001)。フリツプフロツ
プ(SPLK)27が論理「1」のレベルにあると
処理ユニツトはそれのBUSYレジスター19の
状態を確認して(ブロツク1005)、割付けられる
べきプロセスがあるか否かを調べる。BUSY(使
用中)の状態にあると、すなわち、割付けられる
べきプロセスが処理ユニツト内にあるということ
を示すならばそれは次の命令(ブロツク1006)を
実行し、その命令の実行終了後にフリツプフロツ
プ(SPLK)27の試験に戻る(ブロツク1001)。
フリツプフロツプ(SPLK)27の状態が0であ
つたら、「選択」を実行する処理ユニツトはフリ
ツプフロツプ27を「1」状態に移行させ、これ
によりシステムの他の処理ユニツトによる記憶装
置(MMU)1のテーブル及びセマフオへのアク
セスが阻止される。ブロツク1003ではカウンター
(ΣEXECi)29の状態についての試験が行なわ
れる。カウンター29の状態が0でないと、フリ
ツプフロツプ(SPLK)27は「0」にリセツト
され(ブロツク1004)、「選択」機能はそれ以上実
行できなくなる。これは前の段階においての全部
の実行候補プロセスが割付けられた場合にのみ
「選択」機能が実行され得ることを意味する。
カウンターΣEXECiの状態が零であれば、イン
ジケータCONTESTは零に戻される(ブロツク
1008)。
ジケータCONTESTは零に戻される(ブロツク
1008)。
ブロツク1009では処理ユニツトはIQW語をシ
ステム・ベースにおいて探し、第16ビツトから16
ビツトに亙るこの語の領域の内容について試験が
行なわれる(ブロツク1010)。この内容がからで
あつたら、フリツプフロツプ(SPLK)27は
「0」にリセツトされ(ブロツク1011)、からでな
かつたら、候補プロセスへの処理ユニツトの割当
てがなされ得る(ブロツク1013)。割付け機能を
規定するために使用されるアルゴリズムは種々あ
り、実際、システムの処理手段の重要性に依存す
る。しかしプログラマーは次の規則に従つて最も
適切なアルゴリズムを容易に選定することができ
る。
ステム・ベースにおいて探し、第16ビツトから16
ビツトに亙るこの語の領域の内容について試験が
行なわれる(ブロツク1010)。この内容がからで
あつたら、フリツプフロツプ(SPLK)27は
「0」にリセツトされ(ブロツク1011)、からでな
かつたら、候補プロセスへの処理ユニツトの割当
てがなされ得る(ブロツク1013)。割付け機能を
規定するために使用されるアルゴリズムは種々あ
り、実際、システムの処理手段の重要性に依存す
る。しかしプログラマーは次の規則に従つて最も
適切なアルゴリズムを容易に選定することができ
る。
(イ) プロセスの選択は、実行準備状態にあるプロ
セスの待ち行列中の優先順位により規定される
プロセス自身の優先順位を留意して行うべきで
ある(これについては特に第5図を参照するこ
とが適当である)。
セスの待ち行列中の優先順位により規定される
プロセス自身の優先順位を留意して行うべきで
ある(これについては特に第5図を参照するこ
とが適当である)。
(ロ) 既に実行中のプロセスは選択され得ない。従
つて実行準備状態のプロセスの待ち行列中にお
いてプロセスリンクのビツトR及びSUの状態
を確認すべきである。
つて実行準備状態のプロセスの待ち行列中にお
いてプロセスリンクのビツトR及びSUの状態
を確認すべきである。
(ハ) 実行中でないプロセスについては処理ユニツ
トの選択はそのプロセスを実行する可能性をも
つものについて行うべきである。これの確認は
マスク(CPMK)の状態について行うべきで
ある。
トの選択はそのプロセスを実行する可能性をも
つものについて行うべきである。これの確認は
マスク(CPMK)の状態について行うべきで
ある。
(ニ) アルゴリズムは、「使用中」状態及び「あき」
状態の処理ユニツトの中から選択を行い得るよ
うにすべきであり、「使用中」状態にある処理
ユニツトの場合、選択される処理ユニツトは、
その候補プロセスに比べて優先順位の劣るプロ
セスを実行中の処理ユニツトである。
状態の処理ユニツトの中から選択を行い得るよ
うにすべきであり、「使用中」状態にある処理
ユニツトの場合、選択される処理ユニツトは、
その候補プロセスに比べて優先順位の劣るプロ
セスを実行中の処理ユニツトである。
(ホ) 或るプロセスを1以上の処理ユニツトに割付
け得る場合、このプロセスについて既に作業し
たことがあるものの方に選択指向を向けるべき
である。そのプロセスのリンク中にあるビツト
RHUの状態を勘案すべきである。
け得る場合、このプロセスについて既に作業し
たことがあるものの方に選択指向を向けるべき
である。そのプロセスのリンク中にあるビツト
RHUの状態を勘案すべきである。
割付けの結果は、選択された処理ユニツトの番
号を実行すべきプロセスの番号JPに関連付ける
ように、その処理ユニツトの作業レジスターに転
送される。
号を実行すべきプロセスの番号JPに関連付ける
ように、その処理ユニツトの作業レジスターに転
送される。
割付け作業が終了したら「選択」マイクロプロ
グラムは第7B図のフローチヤートに従つて第5
図の待ち行列を更新させ始める。ブロツク1016で
は、選択された処理ユニツトが確認され、ブロツ
ク1018では、選択された各々の処理ユニツトにつ
いて、第5図の待ち行列中のプロセスリンクが更
新され、1つの処理ユニツトが選択されるつどカ
ウンター(ΣEXECi)29が1増分され、この処
理ユニツトについてEXEC機能の実行が求められ
る。
グラムは第7B図のフローチヤートに従つて第5
図の待ち行列を更新させ始める。ブロツク1016で
は、選択された処理ユニツトが確認され、ブロツ
ク1018では、選択された各々の処理ユニツトにつ
いて、第5図の待ち行列中のプロセスリンクが更
新され、1つの処理ユニツトが選択されるつどカ
ウンター(ΣEXECi)29が1増分され、この処
理ユニツトについてEXEC機能の実行が求められ
る。
第8A図〜第8C図は、選択された各々の処理
ユニツトについてEXEC機能を実行するために生
ずるマイクロプログラムの機能を表わしている。
ユニツトについてEXEC機能を実行するために生
ずるマイクロプログラムの機能を表わしている。
第8A図において、ブロツク2001では、選択さ
れた処理ユニツトは、「あき」又は「使用中」で
あり得るその状態を確認する。「使用中」状態に
あつたらその処理ユニツトは、或るプロセスを実
行中であるが、その実行を中止し、そのプロセス
を第5図の待ち行列中に配列し新しく割付けられ
たプロセスを引受けなければならない。ブロツク
2003では‘ROLL OUT'と呼ばれる連鎖が実行
される。この連鎖は、処理ユニツトの各レジスタ
ーの全コピーをからにし、プロセス制御ブロツク
(PCB)を更新する連鎖である。フリツプフロツ
プ(SPLK)27は、EXEC機能を実行する処理
ユニツトによりブロツク2004において「1」にセ
ツトされ、これによりプロセス制御ブロツク及び
セマフオで待つている行列のセマフオに他の処理
ユニツトがアクセスすることが禁止される。
れた処理ユニツトは、「あき」又は「使用中」で
あり得るその状態を確認する。「使用中」状態に
あつたらその処理ユニツトは、或るプロセスを実
行中であるが、その実行を中止し、そのプロセス
を第5図の待ち行列中に配列し新しく割付けられ
たプロセスを引受けなければならない。ブロツク
2003では‘ROLL OUT'と呼ばれる連鎖が実行
される。この連鎖は、処理ユニツトの各レジスタ
ーの全コピーをからにし、プロセス制御ブロツク
(PCB)を更新する連鎖である。フリツプフロツ
プ(SPLK)27は、EXEC機能を実行する処理
ユニツトによりブロツク2004において「1」にセ
ツトされ、これによりプロセス制御ブロツク及び
セマフオで待つている行列のセマフオに他の処理
ユニツトがアクセスすることが禁止される。
同様にフリツプフロツプ(HG)27−2は、
格納されている基準テーブルを更新する或る操作
がなされたことを誤り診断システムに通報するた
めに「1」にセツトされる(ブロツク2006)。ブ
ロツク2007では実行準備状態にあるプロセスの待
ち行列中において停止したプロセスに対応するプ
ロセスリンクの更新を実行する。この更新は、対
応のリンクのビツトRを「0」にすることに存す
る(ブロツク2008)。ブロツク2008では、処理ユ
ニツトに対応するCPSTTテーブルのCPST領域
において、処理ユニツトが「あき」になつている
というEXEC機能を指示することにより、その
CPSTTテーブルの更新を行う。CPSTTテーブ
ルの更新がなされたら、フリツプフロツプ
(HG)27−2は「0」にリセツトされ(ブロ
ツク2010)、フリツプフロツプ(SPLK)27も
「0」にリセツトされ(ブロツク2011)、マイクロ
プログラムは第8B図で「3」の段階に移行す
る。ブロツク2001に戻り、試験により処理ユニツ
トが「あき」の状態にあることが示されたら、前
の各段階は実行されず、マイクロプログラムは第
8B図の「3」に進行する。実行されるべく選択
されたプロセスに対応するプロセスリンクはブロ
ツク2012、2013において記憶装置(MMU)1中
にて探され、処理ユニツトの作業レジスターの1
つに格納される。
格納されている基準テーブルを更新する或る操作
がなされたことを誤り診断システムに通報するた
めに「1」にセツトされる(ブロツク2006)。ブ
ロツク2007では実行準備状態にあるプロセスの待
ち行列中において停止したプロセスに対応するプ
ロセスリンクの更新を実行する。この更新は、対
応のリンクのビツトRを「0」にすることに存す
る(ブロツク2008)。ブロツク2008では、処理ユ
ニツトに対応するCPSTTテーブルのCPST領域
において、処理ユニツトが「あき」になつている
というEXEC機能を指示することにより、その
CPSTTテーブルの更新を行う。CPSTTテーブ
ルの更新がなされたら、フリツプフロツプ
(HG)27−2は「0」にリセツトされ(ブロ
ツク2010)、フリツプフロツプ(SPLK)27も
「0」にリセツトされ(ブロツク2011)、マイクロ
プログラムは第8B図で「3」の段階に移行す
る。ブロツク2001に戻り、試験により処理ユニツ
トが「あき」の状態にあることが示されたら、前
の各段階は実行されず、マイクロプログラムは第
8B図の「3」に進行する。実行されるべく選択
されたプロセスに対応するプロセスリンクはブロ
ツク2012、2013において記憶装置(MMU)1中
にて探され、処理ユニツトの作業レジスターの1
つに格納される。
リンクのビツトRはブロツク2014において試験
される。ビツトRが1である場合、見出されたリ
ンクに対応するプロセスは処理ユニツトにおいて
実行中であり、EXEC操作は継続され得ない。そ
れに反し、ビツトRが「0」ならば、リンクのビ
ツトDについて試験が行なわれる(ブロツク
2016)。ビツトDが1ならば、選択された新しい
プロセスの開始に必要なパラメーターは、ブロツ
ク2017において処理ユニツトの各レジスターに格
納されるが、ビツトDが「0」ならば、選択され
たプロセスは、待機中か又は中止されたかの2つ
の状態のどちらかである。この場合マイクロプロ
グラムは第8C図の点4に移り、その処理ユニツ
トは「あき」になる。ブロツク2017が終了した
時、フリツプフロツプ(SPLK)27は試験され
「1」にセツトされる。試験の結果が「0」で、
今開始されたプロセスに対応するプロセス制御ブ
ロツクPCBの状態語に、そのプロセスが実行状
態になつたことを示すために、フリツプフロツプ
(HG)27−2が1にセツトされたら、ビツト
Rを「1」とし、ビツトDを「0」とし、そのプ
ロセスが開始されたところの処理ユニツトの番号
を領域RHUに書込むことによつて、第5図にお
ける待ち行列中の対応リンクを更新する。同様に
EXEC機能を実行している処理ユニツトに対応す
るCPST語に「使用中」表示を入れることによ
り、処理ユニツトのCPSTTテーブルがブロツク
2021において更新される。更新操作が終了したら
フリツプフロツプHG27−2及びSPLK27は
ブロツク2022、2023において「0」にリセツトさ
れる。EXEC操作はブロツク2025においてカウン
ター(EXEC)29を1減分することにより終了
する。
される。ビツトRが1である場合、見出されたリ
ンクに対応するプロセスは処理ユニツトにおいて
実行中であり、EXEC操作は継続され得ない。そ
れに反し、ビツトRが「0」ならば、リンクのビ
ツトDについて試験が行なわれる(ブロツク
2016)。ビツトDが1ならば、選択された新しい
プロセスの開始に必要なパラメーターは、ブロツ
ク2017において処理ユニツトの各レジスターに格
納されるが、ビツトDが「0」ならば、選択され
たプロセスは、待機中か又は中止されたかの2つ
の状態のどちらかである。この場合マイクロプロ
グラムは第8C図の点4に移り、その処理ユニツ
トは「あき」になる。ブロツク2017が終了した
時、フリツプフロツプ(SPLK)27は試験され
「1」にセツトされる。試験の結果が「0」で、
今開始されたプロセスに対応するプロセス制御ブ
ロツクPCBの状態語に、そのプロセスが実行状
態になつたことを示すために、フリツプフロツプ
(HG)27−2が1にセツトされたら、ビツト
Rを「1」とし、ビツトDを「0」とし、そのプ
ロセスが開始されたところの処理ユニツトの番号
を領域RHUに書込むことによつて、第5図にお
ける待ち行列中の対応リンクを更新する。同様に
EXEC機能を実行している処理ユニツトに対応す
るCPST語に「使用中」表示を入れることによ
り、処理ユニツトのCPSTTテーブルがブロツク
2021において更新される。更新操作が終了したら
フリツプフロツプHG27−2及びSPLK27は
ブロツク2022、2023において「0」にリセツトさ
れる。EXEC操作はブロツク2025においてカウン
ター(EXEC)29を1減分することにより終了
する。
以上に説明した装置部分及びマイクロプログラ
ムは本発明の単なる例示であり、本発明の範囲内
でその他のいろいろの変形が可能なことは言うま
でもない。
ムは本発明の単なる例示であり、本発明の範囲内
でその他のいろいろの変形が可能なことは言うま
でもない。
第1図は本発明によるデータ処理装置の構成
図、第2図はプロセス制御ブロツクのフオーマツ
トを示す説明図、第3A図、第3B図はプロセス
を別々の処理ユニツトに割付け得るように各々の
処理ユニツトが有すべき要素部分を示す回路図、
第3C図はプロセスを別々の処理ユニツトに割当
てるため記憶制御ユニツトに配設される要素部分
を示す回路図、第4図は主記憶装置中に記憶され
た処理ユニツトの状態のテーブル要素のフオーマ
ツトを示す説明図、第5図は実行準備状態にある
プロセスの待ち行列の主記憶装置内での構成を示
す説明図、第6図は実行準備状態にあるプロセス
のリンクを可能にするプロセスリンクのフオーマ
ツトの説明図、第7A図と第7B図は「選択」操
作を実行するために用いるマイクロプログラムの
展開を示すフローチヤート、第8A図ないし第8
C図はEXEC操作を実行するために用いられるマ
イクロプログラムの展開を示すフローチヤートで
ある。 1……主記憶装置、2……記憶制御ユニツト、
3……母線、4,6,8……中央処理ユニツト、
5,7,9……入出力制御装置。
図、第2図はプロセス制御ブロツクのフオーマツ
トを示す説明図、第3A図、第3B図はプロセス
を別々の処理ユニツトに割付け得るように各々の
処理ユニツトが有すべき要素部分を示す回路図、
第3C図はプロセスを別々の処理ユニツトに割当
てるため記憶制御ユニツトに配設される要素部分
を示す回路図、第4図は主記憶装置中に記憶され
た処理ユニツトの状態のテーブル要素のフオーマ
ツトを示す説明図、第5図は実行準備状態にある
プロセスの待ち行列の主記憶装置内での構成を示
す説明図、第6図は実行準備状態にあるプロセス
のリンクを可能にするプロセスリンクのフオーマ
ツトの説明図、第7A図と第7B図は「選択」操
作を実行するために用いるマイクロプログラムの
展開を示すフローチヤート、第8A図ないし第8
C図はEXEC操作を実行するために用いられるマ
イクロプログラムの展開を示すフローチヤートで
ある。 1……主記憶装置、2……記憶制御ユニツト、
3……母線、4,6,8……中央処理ユニツト、
5,7,9……入出力制御装置。
Claims (1)
- 【特許請求の範囲】 1 いくつかの個々の処理ユニツト(CPU)と、
伝送チヤンネルもしくは母線3の系統を介して前
記各処理ユニツトが接続され得る少なくとも1つ
の記憶装置(MMU)と、該記憶装置に1つの処
理ユニツトを選択的に接続するように前記母線と
関連した手段(MCU)と、デイスパツチングを
行う手段、すなわちいくつかの処理ユニツト
(CPUi)間で履行するようプロセス(JP)の候
補を割付ける手段とを備えたデータ処理装置にお
いて、 候補プロセスの処理ユニツトへの前記履行は、
選択された処理ユニツト(CPUi)へのプロセス
の割付けを決定する選択段階(SELECT)、及び
前記選択された処理ユニツト(CPUi)の各々が、
その割付けられたプロセスに関するデイスパツチ
ング動作の残りを実行する実行段階(EXEC)、
の2つの段階で行なわれ、 1つ以上の処理ユニツトが、前記選択段階
(SELECT)を実行するための処理手段15を備
え、該処理手段15は、第1のインジケータ
(CONTEST)の値に応答して前記選択段階
(SELECT)を実行するよう付勢され、前記第1
のインジケータ(CONTEST)は、デイスパツ
チング状態が現れたいずれの処理ユニツトによつ
ても第1の所定の値にセツトされ、 前記データ処理装置は、前記実行段階
(EXEC)をさらに実行する処理ユニツトの数を
示すシステム・カウント(ΣEXECi)を備え、 前記データ処理装置は、第2のシステム・イン
ジケータ(SPLK)を備え、 前記処理手段15を備えた処理ユニツトは、以
下に述べる条件: 前記第1のインジケータ(CONTEST)が前
記第1の所定の値を有すること; 前記第2のインジケータ(SPLK)が第1の所
定の値を有すること、この場合、該第2のインジ
ケータ(SPLK)は前記処理ユニツトによつて第
2の所定の値にセツトされる; いずれの処理ユニツトも実行段階(EXEC)を
実行していないということを前記システム・カウ
ント(ΣEXECi)の値が示していること; が満たされたならば前記選択段階(SELECT)
を実行することを許容され、 この場合、前記第1のインジケータ
(CONTEST)は第2の所定の値にリセツトさ
れ、そして前記第2のインジケータ(SPLK)
は、前記許容された処理ユニツトにより前記選択
段階(SELECT)の実行の終わりで前記第1の
所定の値にリセツトされることを特徴とするデー
タ処理装置。 2 前記許容された処理ユニツトにより実行され
る前記選択段階(SELECT)の間、前記特定の
プロセス(NJP)が特定の選択された処理ユニ
ツト(CPUi)に割付けられるごとに、前記許容
された処理ユニツトは、前記特定の選択された処
理ユニツト(CPUi)において実行段階(EXEC)
の活性を行い、この場合、前記カウント
(ΣEXECi)は1だけ増分され(ステツプ1018、
第7B図)そして いずれかの特定の選択された処理ユニツトがそ
の実行段階(EXEC)を終了するごとに、前記カ
ウント(ΣEXECi)が1だけ減分される 特許請求の範囲第1項記載のデータ処理装置。 3 プロセスの処理ユニツトへの前記割付けは、
各プロセスの状態(R、第6図)及び優先順位
(PRI、第6図)に従つて、かつ各処理ユニツト
の状態(CPST、第4図)に従つて決定される特
許請求の範囲第1項または第2項記載のデータ処
理装置。 4 前記第1のインジケータ(CONTEST)は、
いずれかのプロセスの状態変化もしくはいずれか
の処理ユニツトの状態変化を生じる何等かの動作
に応答して前記第1の所定の値にセツトされる特
許請求の範囲第1項乃至第3項いずれか記載のデ
ータ処理装置。 5 各選択された処理ユニツト(CPUi)が、 前記選択された処理ユニツトがその実行要求
(EXEC)を受信するすぐ前にプロセス(CJP)
を実行していた場合に(ビジーである場合に)、
そのレジスタの内容(CONTEXT)を記憶装置
(MMU)にセーブするための手段(2003、第8
A図)と、 新しく割付けられたプロセス(NJP)を実行
するために必要な情報を該レジスタにロードする
ための手段(2017、第8B図)と、 を備えている特許請求の範囲第1項乃至第4項い
ずれか記載のデータ処理装置。
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| FR7930332A FR2471631B1 (fr) | 1979-12-11 | 1979-12-11 | Dispositif de synchronisation et d'affectation de processus entre plusieurs processeurs dans un systeme de traitement de l'information |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPS56124964A JPS56124964A (en) | 1981-09-30 |
| JPS646488B2 true JPS646488B2 (ja) | 1989-02-03 |
Family
ID=9232627
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP17391080A Granted JPS56124964A (en) | 1979-12-11 | 1980-12-11 | Device for assigning andsynchronizing execution proposed process between plural processing units for information processor |
Country Status (5)
| Country | Link |
|---|---|
| US (1) | US4590555A (ja) |
| EP (1) | EP0030504B1 (ja) |
| JP (1) | JPS56124964A (ja) |
| DE (1) | DE3070839D1 (ja) |
| FR (1) | FR2471631B1 (ja) |
Families Citing this family (56)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS58106650A (ja) * | 1981-12-18 | 1983-06-25 | Nintendo Co Ltd | マルチプロセツサシステム |
| US4644467A (en) * | 1982-12-29 | 1987-02-17 | Mccarthy John M | Multi-level dynamic priority selector groups of data elements |
| US4646231A (en) * | 1983-07-21 | 1987-02-24 | Burroughs Corporation | Method of synchronizing the sequence by which a variety of randomly called unrelated activities are executed in a digital processor |
| US4972314A (en) * | 1985-05-20 | 1990-11-20 | Hughes Aircraft Company | Data flow signal processor method and apparatus |
| JPS6277652A (ja) * | 1985-09-30 | 1987-04-09 | Yokogawa Electric Corp | 割込処理方式 |
| US4809157A (en) * | 1985-09-30 | 1989-02-28 | International Business Machines Corp. | Dynamic assignment of affinity for vector tasks |
| US4750116A (en) * | 1985-10-11 | 1988-06-07 | International Business Machines Corporation | Hardware resource management |
| JPS6345670A (ja) * | 1986-08-13 | 1988-02-26 | Hitachi Ltd | プロセツサ間同期装置 |
| US4980824A (en) * | 1986-10-29 | 1990-12-25 | United Technologies Corporation | Event driven executive |
| JPH0833857B2 (ja) * | 1987-02-18 | 1996-03-29 | 株式会社日立製作所 | システム間デ−タベ−ス共用システムジヤ−ナルマ−ジ方式 |
| JP2753706B2 (ja) * | 1987-12-09 | 1998-05-20 | 富士通株式会社 | 計算機におけるipl方法 |
| DE68924992T2 (de) * | 1988-02-23 | 1996-07-25 | Digital Equipment Corp | Symmetrische Steuerungsanordnung für Multiverarbeitung. |
| US5050070A (en) * | 1988-02-29 | 1991-09-17 | Convex Computer Corporation | Multi-processor computer system having self-allocating processors |
| US5159686A (en) * | 1988-02-29 | 1992-10-27 | Convex Computer Corporation | Multi-processor computer system having process-independent communication register addressing |
| US5193196A (en) * | 1988-04-04 | 1993-03-09 | Hitachi, Ltd. | Process request arbitration system which preferentially maintains previously selected process request upon receipt of a subsequent request of identical priority |
| US4989131A (en) * | 1988-07-26 | 1991-01-29 | International Business Machines Corporation | Technique for parallel synchronization |
| US4985831A (en) * | 1988-10-31 | 1991-01-15 | Evans & Sutherland Computer Corp. | Multiprocessor task scheduling system |
| US4920487A (en) * | 1988-12-12 | 1990-04-24 | The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration | Method of up-front load balancing for local memory parallel processors |
| US5075840A (en) * | 1989-01-13 | 1991-12-24 | International Business Machines Corporation | Tightly coupled multiprocessor instruction synchronization |
| US5155851A (en) * | 1989-05-15 | 1992-10-13 | Bell Communications Research, Inc. | Routing an incoming data stream to parallel processing stations |
| JPH02300939A (ja) * | 1989-05-16 | 1990-12-13 | Toshiba Corp | セマフォオペレーション方式 |
| JPH0640324B2 (ja) * | 1989-10-26 | 1994-05-25 | インターナショナル・ビジネス・マシーンズ・コーポレーション | マルチプロセッサ・システムおよびそのプロセス同期方法 |
| IL93239A (en) * | 1990-02-01 | 1993-03-15 | Technion Res & Dev Foundation | High flow-rate synchronizer/schedular apparatus for multiprocessors |
| US5109512A (en) * | 1990-05-31 | 1992-04-28 | International Business Machines Corporation | Process for dispatching tasks among multiple information processors |
| FR2662830B1 (fr) * | 1990-06-05 | 1992-08-28 | Bull Sa | Procede de dialogue entre les processeurs d'un systeme, systeme pour sa mise en óoeuvre et utilisation pour la repartition des processus aux processeurs. |
| JPH04308961A (ja) * | 1991-01-18 | 1992-10-30 | Ncr Corp | 占有されたプロセスの同期ロックの状態を通知するための手段及び装置 |
| US5247675A (en) * | 1991-08-09 | 1993-09-21 | International Business Machines Corporation | Preemptive and non-preemptive scheduling and execution of program threads in a multitasking operating system |
| FR2683344B1 (fr) * | 1991-10-30 | 1996-09-20 | Bull Sa | Systeme multiprocesseur avec moyens microprogrammes pour la repartition des processus aux processeurs. |
| JP3468786B2 (ja) * | 1992-11-27 | 2003-11-17 | 任天堂株式会社 | 光学式記憶媒体を用いた情報処理装置および情報処理方法 |
| US5600822A (en) * | 1994-04-05 | 1997-02-04 | International Business Machines Corporation | Resource allocation synchronization in a parallel processing system |
| US5576945A (en) * | 1995-01-23 | 1996-11-19 | Tandem Computers Incorporated | Transaction monitor process with pre-arranged modules for a multiprocessor system |
| JP3502471B2 (ja) * | 1995-03-27 | 2004-03-02 | 富士通株式会社 | 自律分散指示書制御装置 |
| US5978583A (en) * | 1995-08-07 | 1999-11-02 | International Business Machines Corp. | Method for resource control in parallel environments using program organization and run-time support |
| JP2686434B1 (ja) * | 1996-08-08 | 1997-12-08 | 内田工業株式会社 | キャンプ場用調理装置 |
| US6567839B1 (en) | 1997-10-23 | 2003-05-20 | International Business Machines Corporation | Thread switch control in a multithreaded processor system |
| US6105051A (en) * | 1997-10-23 | 2000-08-15 | International Business Machines Corporation | Apparatus and method to guarantee forward progress in execution of threads in a multithreaded processor |
| US6697935B1 (en) | 1997-10-23 | 2004-02-24 | International Business Machines Corporation | Method and apparatus for selecting thread switch events in a multithreaded processor |
| US6212544B1 (en) | 1997-10-23 | 2001-04-03 | International Business Machines Corporation | Altering thread priorities in a multithreaded processor |
| US6076157A (en) * | 1997-10-23 | 2000-06-13 | International Business Machines Corporation | Method and apparatus to force a thread switch in a multithreaded processor |
| US6647408B1 (en) | 1999-07-16 | 2003-11-11 | Novell, Inc. | Task distribution |
| US6539542B1 (en) * | 1999-10-20 | 2003-03-25 | Verizon Corporate Services Group Inc. | System and method for automatically optimizing heterogenous multiprocessor software performance |
| US6789258B1 (en) * | 2000-05-11 | 2004-09-07 | Sun Microsystems, Inc. | System and method for performing a synchronization operation for multiple devices in a computer system |
| US6981244B1 (en) * | 2000-09-08 | 2005-12-27 | Cisco Technology, Inc. | System and method for inheriting memory management policies in a data processing systems |
| US7174552B2 (en) * | 2002-01-12 | 2007-02-06 | Intel Corporation | Method of accessing a resource by a process based on a semaphore of another process |
| US7395527B2 (en) | 2003-09-30 | 2008-07-01 | International Business Machines Corporation | Method and apparatus for counting instruction execution and data accesses |
| US8381037B2 (en) | 2003-10-09 | 2013-02-19 | International Business Machines Corporation | Method and system for autonomic execution path selection in an application |
| US7421681B2 (en) * | 2003-10-09 | 2008-09-02 | International Business Machines Corporation | Method and system for autonomic monitoring of semaphore operation in an application |
| US7415705B2 (en) | 2004-01-14 | 2008-08-19 | International Business Machines Corporation | Autonomic method and apparatus for hardware assist for patching code |
| US7895382B2 (en) | 2004-01-14 | 2011-02-22 | International Business Machines Corporation | Method and apparatus for qualifying collection of performance monitoring events by types of interrupt when interrupt occurs |
| FR2901949B1 (fr) * | 2006-05-30 | 2008-09-05 | Nds Technologies France Soc Pa | Procede de mise en veille d'un decodeur de television numerique et decodeur numerique a mode veille basse consommation |
| US7891818B2 (en) | 2006-12-12 | 2011-02-22 | Evans & Sutherland Computer Corporation | System and method for aligning RGB light in a single modulator projector |
| US8480398B1 (en) * | 2007-12-17 | 2013-07-09 | Tamer Yunten | Yunten model computer system and lab kit for education |
| US8358317B2 (en) | 2008-05-23 | 2013-01-22 | Evans & Sutherland Computer Corporation | System and method for displaying a planar image on a curved surface |
| US8702248B1 (en) | 2008-06-11 | 2014-04-22 | Evans & Sutherland Computer Corporation | Projection method for reducing interpixel gaps on a viewing surface |
| US8077378B1 (en) | 2008-11-12 | 2011-12-13 | Evans & Sutherland Computer Corporation | Calibration system and method for light modulation device |
| US9641826B1 (en) | 2011-10-06 | 2017-05-02 | Evans & Sutherland Computer Corporation | System and method for displaying distant 3-D stereo on a dome surface |
Family Cites Families (11)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US3363234A (en) * | 1962-08-24 | 1968-01-09 | Sperry Rand Corp | Data processing system |
| US3566357A (en) * | 1966-07-05 | 1971-02-23 | Rca Corp | Multi-processor multi-programed computer system |
| US3496551A (en) * | 1967-07-13 | 1970-02-17 | Ibm | Task selection in a multi-processor computing system |
| CS164932B2 (ja) * | 1971-09-07 | 1975-11-28 | ||
| FR2208553A5 (ja) * | 1972-11-29 | 1974-06-21 | Inst Francais Du Petrole | |
| FR2253420A5 (ja) * | 1973-11-30 | 1975-06-27 | Honeywell Bull Soc Ind | |
| FR2253425A5 (ja) * | 1973-11-30 | 1975-06-27 | Honeywell Bull Soc Ind | |
| US4123794A (en) * | 1974-02-15 | 1978-10-31 | Tokyo Shibaura Electric Co., Limited | Multi-computer system |
| US4369494A (en) * | 1974-12-09 | 1983-01-18 | Compagnie Honeywell Bull | Apparatus and method for providing synchronization between processes and events occurring at different times in a data processing system |
| JPS547252A (en) * | 1977-06-20 | 1979-01-19 | Hitachi Ltd | Program control system |
| JPS54111733A (en) * | 1978-02-21 | 1979-09-01 | Nec Corp | Multiplex processor system |
-
1979
- 1979-12-11 FR FR7930332A patent/FR2471631B1/fr not_active Expired
-
1980
- 1980-12-05 DE DE8080401742T patent/DE3070839D1/de not_active Expired
- 1980-12-05 EP EP80401742A patent/EP0030504B1/fr not_active Expired
- 1980-12-11 US US06/215,522 patent/US4590555A/en not_active Expired - Lifetime
- 1980-12-11 JP JP17391080A patent/JPS56124964A/ja active Granted
Also Published As
| Publication number | Publication date |
|---|---|
| US4590555A (en) | 1986-05-20 |
| EP0030504A1 (fr) | 1981-06-17 |
| FR2471631B1 (fr) | 1986-02-21 |
| EP0030504B1 (fr) | 1985-07-03 |
| FR2471631A1 (fr) | 1981-06-19 |
| JPS56124964A (en) | 1981-09-30 |
| DE3070839D1 (en) | 1985-08-08 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JPS646488B2 (ja) | ||
| US3614745A (en) | Apparatus and method in a multiple operand stream computing system for identifying the specification of multitasks situations and controlling the execution thereof | |
| US4432051A (en) | Process execution time accounting system | |
| US4084228A (en) | Process management structures and hardware/firmware control | |
| US4394725A (en) | Apparatus and method for transferring information units between processes in a multiprocessing system | |
| US4272819A (en) | Inter-subsystem direct transfer system | |
| US4369494A (en) | Apparatus and method for providing synchronization between processes and events occurring at different times in a data processing system | |
| Liskov | The design of the Venus operating system | |
| US4084224A (en) | System of controlling procedure execution using process control blocks | |
| US4374409A (en) | Method of and system using P and V instructions on semaphores for transferring data among processes in a multiprocessing system | |
| US4316245A (en) | Apparatus and method for semaphore initialization in a multiprocessing computer system for process synchronization | |
| US4395757A (en) | Process synchronization utilizing semaphores | |
| US4077058A (en) | Method and apparatus for executing an extended decor instruction | |
| US4297743A (en) | Call and stack mechanism for procedures executing in different rings | |
| JPS62163149A (ja) | マルチプロセッサ仮想計算機システム | |
| JPH0533410B2 (ja) | ||
| JPH0430053B2 (ja) | ||
| JP2669816B2 (ja) | プロセス間通信を行うマイクロコンピュータ及びマイクロコンピュータシステムにおける複数の同時プロセスを動作させる方法 | |
| US4079448A (en) | Apparatus for synchronizing tasks on peripheral devices | |
| AU603876B2 (en) | Multiple i/o bus virtual broadcast of programmed i/o instructions | |
| US4351024A (en) | Switch system base mechanism | |
| EP0335990B1 (en) | Processor-processor synchronization | |
| CA1302580C (en) | Apparatus and method for using lockout for synchronization of access to main memory signal groups in a multiprocessor data processing system | |
| JPH0754467B2 (ja) | データ処理装置 | |
| JPS6097440A (ja) | 仮想多重プロセツサ装置 |