JP2594979B2 - マルチプロセツサシステム - Google Patents
マルチプロセツサシステムInfo
- Publication number
- JP2594979B2 JP2594979B2 JP62266355A JP26635587A JP2594979B2 JP 2594979 B2 JP2594979 B2 JP 2594979B2 JP 62266355 A JP62266355 A JP 62266355A JP 26635587 A JP26635587 A JP 26635587A JP 2594979 B2 JP2594979 B2 JP 2594979B2
- Authority
- JP
- Japan
- Prior art keywords
- processor
- instruction
- processors
- processing
- group
- 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 - Lifetime
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/52—Program 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
【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、電子計算機のマルチプロセツサシステムに
係り、特にマルチプロセツサシステム上で仮想計算機を
構築するために好適な制御方式に係る。
係り、特にマルチプロセツサシステム上で仮想計算機を
構築するために好適な制御方式に係る。
マルチプロセツサシステムの従来技術は、米国インタ
ーナシヨナル・ビジネス・マシンズ・コーポレーシヨン
社のシステム370のように、マルチプロセツサを構成す
るプロセツサの何れかがプロセツサの通信処理を必要と
する命令を実行した場合、システムを構成する全てのプ
ロセツサの対して通信処理を行い、処理の同期をとるも
のがある。
ーナシヨナル・ビジネス・マシンズ・コーポレーシヨン
社のシステム370のように、マルチプロセツサを構成す
るプロセツサの何れかがプロセツサの通信処理を必要と
する命令を実行した場合、システムを構成する全てのプ
ロセツサの対して通信処理を行い、処理の同期をとるも
のがある。
例えば、拡張アドレス変換バツフア無効化命令(PTLB
E)、ページテーブル無効化命令(IPTE)、主記憶キー
設定命令(SSKE)等がある。
E)、ページテーブル無効化命令(IPTE)、主記憶キー
設定命令(SSKE)等がある。
拡張アドレス変換バツフア無効化命令は、マルチプロ
セツサシステム用の命令であり、システムを構成する全
プロセツサに対して現在まで有効であつたアドレス変換
バツフアの全エントリを無効化し、再度アドレス変換バ
ツフアのエントリを作り直すことを要求する命令であ
る。従つて、PTLBE命令が発行されると、該命令を発行
したプロセツサでは、自らのアドレス変換バツフアを無
効化すると同時に他のプロセツサに対してアドレス変換
バツフアを無効化する要求信号を放送する。システムを
構成する他のプロセツサでは、この放送を契機として、
各々のアドレス変換バツフアの無効果を行う。該処理は
全てのプロセツサの同期処理のもとで実行され、全プロ
セツサでのアドレス変換バツフアの無効化が終了した時
点で命令の実行が再開される。
セツサシステム用の命令であり、システムを構成する全
プロセツサに対して現在まで有効であつたアドレス変換
バツフアの全エントリを無効化し、再度アドレス変換バ
ツフアのエントリを作り直すことを要求する命令であ
る。従つて、PTLBE命令が発行されると、該命令を発行
したプロセツサでは、自らのアドレス変換バツフアを無
効化すると同時に他のプロセツサに対してアドレス変換
バツフアを無効化する要求信号を放送する。システムを
構成する他のプロセツサでは、この放送を契機として、
各々のアドレス変換バツフアの無効果を行う。該処理は
全てのプロセツサの同期処理のもとで実行され、全プロ
セツサでのアドレス変換バツフアの無効化が終了した時
点で命令の実行が再開される。
ページテーブルの無効化処理は、ページアウト処理に
よつて実記憶装置中の実ページと、仮想記憶装置の仮想
ページとの対応関係が無くなつたときに用いる命令であ
り、ページの無効化を行うページテーブルの該当エント
リのインバリツドビツト(Iビツト)を‘1'とする命令
である。更に、IPTE命令では無効化しようとしたページ
が既にアドレス変換バツフアに登録されている場合があ
るので、アドレス変換バツフア内をチエツクし、そのア
ドレス変換バツフアのエントリを登録した時に用いたペ
ージテーブル起点アドレスとページフイールドがIPTE命
令で指定したページテーブル起点アドレスとページフイ
ールドが同一であり、且つ、そのページテーブル内のペ
ージテーブルエントリアドレスがIPTE命令で指定したペ
ージテーブルエントリアドレスと同一であるエントリに
関し無効化を行う。この時、システムがマルチプロセツ
サ構成であれば、PTLBE命令と同様に各々のプロセツサ
が通信処理を行い、全プロセツサのアドレス変換バツフ
アの該当エントリを消去する。
よつて実記憶装置中の実ページと、仮想記憶装置の仮想
ページとの対応関係が無くなつたときに用いる命令であ
り、ページの無効化を行うページテーブルの該当エント
リのインバリツドビツト(Iビツト)を‘1'とする命令
である。更に、IPTE命令では無効化しようとしたページ
が既にアドレス変換バツフアに登録されている場合があ
るので、アドレス変換バツフア内をチエツクし、そのア
ドレス変換バツフアのエントリを登録した時に用いたペ
ージテーブル起点アドレスとページフイールドがIPTE命
令で指定したページテーブル起点アドレスとページフイ
ールドが同一であり、且つ、そのページテーブル内のペ
ージテーブルエントリアドレスがIPTE命令で指定したペ
ージテーブルエントリアドレスと同一であるエントリに
関し無効化を行う。この時、システムがマルチプロセツ
サ構成であれば、PTLBE命令と同様に各々のプロセツサ
が通信処理を行い、全プロセツサのアドレス変換バツフ
アの該当エントリを消去する。
拡張主記憶キー設定命令は、実アドレスを指定して該
ページの主記憶キーを変更する命令である。この命令
は、主記憶キーの変更を行うべき実ページが既にアドレ
ス変換バツフアに格納されている場合があるため、該命
令を発行した際にアドレス変換バツフアの該当するエン
トリを消去する。本命令も、前述した命令と同様にマル
チプロセツサを構成するプロセツサ間での同期処理が行
われる。
ページの主記憶キーを変更する命令である。この命令
は、主記憶キーの変更を行うべき実ページが既にアドレ
ス変換バツフアに格納されている場合があるため、該命
令を発行した際にアドレス変換バツフアの該当するエン
トリを消去する。本命令も、前述した命令と同様にマル
チプロセツサを構成するプロセツサ間での同期処理が行
われる。
仮想計算機システムにおいて、上記命令を仮想計算機
が実行した場合は仮想計算機システムを制御する制御プ
ログラムがその事象を捕らえ、該命令をシミユレーシヨ
ンすることによつて命令の処理を行つている。
が実行した場合は仮想計算機システムを制御する制御プ
ログラムがその事象を捕らえ、該命令をシミユレーシヨ
ンすることによつて命令の処理を行つている。
例えば、仮想計算機がPTLB命令を発行した場合、仮想
計算機システムの制御プログラムが仮想計算機のアドレ
ス変換テーブル開始アドレスよりページテーブルを求
め、仮想計算機の絶対アドレスへ変換し、更に実計算機
の実アドレスに変換し、該ページテーブルを利用してIP
TE命令を発行していた。これは、制御プログラムがPTLB
命令を発行するとアドレス変換バツフア全体を消去して
しまうため、PTLB命令を発行した仮想計算機以外の仮想
計算機に係るアドレス変換バツフアのエントリ若しく
は、制御プログラムに係るアドレス変換バツフアのエン
トリも同時に無効化してしまうため、システムの処理能
力を著しく低下させてしまう。これを防止するためにIP
TE命令を複数回発行して、出来得る限り該仮想計算機に
係るアドレス変換バツフアのエントリを無効化しようし
することを行う。
計算機システムの制御プログラムが仮想計算機のアドレ
ス変換テーブル開始アドレスよりページテーブルを求
め、仮想計算機の絶対アドレスへ変換し、更に実計算機
の実アドレスに変換し、該ページテーブルを利用してIP
TE命令を発行していた。これは、制御プログラムがPTLB
命令を発行するとアドレス変換バツフア全体を消去して
しまうため、PTLB命令を発行した仮想計算機以外の仮想
計算機に係るアドレス変換バツフアのエントリ若しく
は、制御プログラムに係るアドレス変換バツフアのエン
トリも同時に無効化してしまうため、システムの処理能
力を著しく低下させてしまう。これを防止するためにIP
TE命令を複数回発行して、出来得る限り該仮想計算機に
係るアドレス変換バツフアのエントリを無効化しようし
することを行う。
仮想計算機が複数のプロセツサ上で動作する場合は、
仮想計算機をある特定のプロセツサに占有させて動作さ
せることが可能である。この場合、一つの処理装置を占
有している仮想計算機から前記の命令が発行された場合
は、該仮想計算機に係るアドレス変換バツフアは該仮想
計算機を動作させていたプロセツサに限定される。しか
し、従来技術では、仮想計算機の発行したPTLB命令に関
してのIPTE命令を用いたアドレス変換バツフアの該当エ
ントリの消去法では、他のプロセツサに対して通信処理
を行い、無条件に各々のプロセツサにおいてアドレス変
換バツフアの該当エントリの無効化処理が行われる。こ
の間各々のプロセツサは同期処理を行つており、全プロ
セツサでアドレス変換バツフアの該当エントリの無効化
処理が完了してから命令の実行が再開される。
仮想計算機をある特定のプロセツサに占有させて動作さ
せることが可能である。この場合、一つの処理装置を占
有している仮想計算機から前記の命令が発行された場合
は、該仮想計算機に係るアドレス変換バツフアは該仮想
計算機を動作させていたプロセツサに限定される。しか
し、従来技術では、仮想計算機の発行したPTLB命令に関
してのIPTE命令を用いたアドレス変換バツフアの該当エ
ントリの消去法では、他のプロセツサに対して通信処理
を行い、無条件に各々のプロセツサにおいてアドレス変
換バツフアの該当エントリの無効化処理が行われる。こ
の間各々のプロセツサは同期処理を行つており、全プロ
セツサでアドレス変換バツフアの該当エントリの無効化
処理が完了してから命令の実行が再開される。
しかし、上記に述べたように、仮想計算機が一つのプ
ロセツサでしか動作しない場合は、該仮想計算機が使用
するアドレス変換バツフアのエントリは該プロセツサの
みに限定されるにもかかわらず、システム全体に対して
通信処理を行うので、各プロセツサ間での通信オーバヘ
ツド及び、他プロセツサでのIPTE命令の処理に伴うアド
レス変換バツフアのエントリの消去(過剰パージ)が行
われ、システム全体に影響を及ぼし、システムの性能を
著しく低下させるという問題点がある。
ロセツサでしか動作しない場合は、該仮想計算機が使用
するアドレス変換バツフアのエントリは該プロセツサの
みに限定されるにもかかわらず、システム全体に対して
通信処理を行うので、各プロセツサ間での通信オーバヘ
ツド及び、他プロセツサでのIPTE命令の処理に伴うアド
レス変換バツフアのエントリの消去(過剰パージ)が行
われ、システム全体に影響を及ぼし、システムの性能を
著しく低下させるという問題点がある。
本発明はプロセツサにグループを設定し、プロセツサ
間での通信処理を必要とするものは関連するプロセツサ
のみで通信処理を行うことによつて、システム全体の影
響の波及を防止する。
間での通信処理を必要とするものは関連するプロセツサ
のみで通信処理を行うことによつて、システム全体の影
響の波及を防止する。
上記目的は、システムを構成するプロセツサに対し
て、グループを設定し、各々のプロセツサが該グループ
を識別し自らの属するプロセツサグループに関する信号
は処理を行い、該グループに関係しない信号は処理しな
い機構を有することによつて実現できる。
て、グループを設定し、各々のプロセツサが該グループ
を識別し自らの属するプロセツサグループに関する信号
は処理を行い、該グループに関係しない信号は処理しな
い機構を有することによつて実現できる。
仮想計算機システムを構成するプロセツサは、その各
々に自らの属するプロセツサグループを記憶するための
プロセツサグループ記述レジスタを設け、それぞれのプ
ロセツサは該レジスタの値をもつてプロセツサグループ
とする。
々に自らの属するプロセツサグループを記憶するための
プロセツサグループ記述レジスタを設け、それぞれのプ
ロセツサは該レジスタの値をもつてプロセツサグループ
とする。
また、各プロセツサが通信を行う場合は、処理の依頼
元では必ず該プロセツサグループ記述レジスタの内容を
通信を行う情報と同時に送信する。
元では必ず該プロセツサグループ記述レジスタの内容を
通信を行う情報と同時に送信する。
信号の受信側では、送受信の信号情報からプロセツサ
グループに関する情報を抽出し、自らのプロセツサグル
ープ記述レジスタの内容と比較し、一致していれば該信
号を受け付け該信号に対する処理を行う。また、プロセ
ツサグループが一致していなければ、該信号に対する処
理を受け付けないことでプロセツサグループを実現し、
プロセツサ間での通信のオーバヘツドを低減させるとと
もに、アドレス変換バツフアの過剰パージを防止しシス
テムの性能を向上させる。
グループに関する情報を抽出し、自らのプロセツサグル
ープ記述レジスタの内容と比較し、一致していれば該信
号を受け付け該信号に対する処理を行う。また、プロセ
ツサグループが一致していなければ、該信号に対する処
理を受け付けないことでプロセツサグループを実現し、
プロセツサ間での通信のオーバヘツドを低減させるとと
もに、アドレス変換バツフアの過剰パージを防止しシス
テムの性能を向上させる。
以下、本発明の一実施例を第1図より説明する。通常
計算機システムでは命令を実行するための命令プロセツ
サ100,該命令を格納する主記憶装置001より構成されて
いる。ここで、システムがマルチプロセツサ構成をとる
場合は、システムに対して命令プロセツサを付加するこ
とで行うが、一般的には第2図のような構成をとる。通
常主記憶装置を共有するマルチプロセツサシステムで
は、記憶制御装置に命令を処理する命令プロセツサを幾
つか接続し、各々の命令プロセツサから、主記憶装置を
参照する方式が一般的である。第2図では、主記憶装置
001に対して2つの記憶制御装置110,111を有し、各々の
記憶制御装置が2つの命令プロセツサを持つ、計4台の
マルチプロセツサシステムを示している。このようなマ
ルチプロセツサシステムで仮想計算機を構築する場合に
は仮想計算機をある特定の命令プロセツサでのみ走行さ
せることが可能である。この場合、該仮想計算機のアド
レス変換情報は該仮想計算機が走行する範囲内のプロセ
ツサのアドレス変換バツフアにしか含まれていない。こ
のため、命令プロセツサ100,101,102に対してプロセツ
サグループ120を設定した場合、プロセツサ間での同期
処理を必要とするIPTE命令,PTLBE命令,SSKE命令等を実
行した場合は該プロセツサグループ120内のプロセツサ
に関してのみ同期処理を行えば充分である。これによつ
てシステムの性能を向上させることができる。
計算機システムでは命令を実行するための命令プロセツ
サ100,該命令を格納する主記憶装置001より構成されて
いる。ここで、システムがマルチプロセツサ構成をとる
場合は、システムに対して命令プロセツサを付加するこ
とで行うが、一般的には第2図のような構成をとる。通
常主記憶装置を共有するマルチプロセツサシステムで
は、記憶制御装置に命令を処理する命令プロセツサを幾
つか接続し、各々の命令プロセツサから、主記憶装置を
参照する方式が一般的である。第2図では、主記憶装置
001に対して2つの記憶制御装置110,111を有し、各々の
記憶制御装置が2つの命令プロセツサを持つ、計4台の
マルチプロセツサシステムを示している。このようなマ
ルチプロセツサシステムで仮想計算機を構築する場合に
は仮想計算機をある特定の命令プロセツサでのみ走行さ
せることが可能である。この場合、該仮想計算機のアド
レス変換情報は該仮想計算機が走行する範囲内のプロセ
ツサのアドレス変換バツフアにしか含まれていない。こ
のため、命令プロセツサ100,101,102に対してプロセツ
サグループ120を設定した場合、プロセツサ間での同期
処理を必要とするIPTE命令,PTLBE命令,SSKE命令等を実
行した場合は該プロセツサグループ120内のプロセツサ
に関してのみ同期処理を行えば充分である。これによつ
てシステムの性能を向上させることができる。
第1図に戻り、プロセツサグループを実現するための
ハードウエア機構を説明すると、システムを構成するプ
ロセツサの何れか(102)がプロセツサ間での通信を要
求する命令を実行すると、該命令を発行したプロセツサ
102より信号210を通してその旨を通知する信号が実行ユ
ニツト203aへ報告される。実行ユニツト203aでは、該信
号を契機としてバツフアユニツト201へ指令を出し、プ
ロセツサ間での同期処理に係るパラメータを主記憶装置
001より取り込むことを要求する。バツフアユニツト201
では、該要求に基づいて記憶装置001の特定の領域より
パラメータを読み取り、該情報を信号チエツク部207へ
転送し、自らが属するプロセツサグループと同期処理の
要求を行つたプロセスサの属するプロセツサループと同
一か否かがチエツクされ該条件に適合すれば、信号230
によつてこの旨を実行ユニツト203aに送り要求信号に対
する処理を実行するよう指示する。これに反して、プロ
セツサグループが一致しなければ、該信号を無視し、要
求信号に対する処理を行わない。
ハードウエア機構を説明すると、システムを構成するプ
ロセツサの何れか(102)がプロセツサ間での通信を要
求する命令を実行すると、該命令を発行したプロセツサ
102より信号210を通してその旨を通知する信号が実行ユ
ニツト203aへ報告される。実行ユニツト203aでは、該信
号を契機としてバツフアユニツト201へ指令を出し、プ
ロセツサ間での同期処理に係るパラメータを主記憶装置
001より取り込むことを要求する。バツフアユニツト201
では、該要求に基づいて記憶装置001の特定の領域より
パラメータを読み取り、該情報を信号チエツク部207へ
転送し、自らが属するプロセツサグループと同期処理の
要求を行つたプロセスサの属するプロセツサループと同
一か否かがチエツクされ該条件に適合すれば、信号230
によつてこの旨を実行ユニツト203aに送り要求信号に対
する処理を実行するよう指示する。これに反して、プロ
セツサグループが一致しなければ、該信号を無視し、要
求信号に対する処理を行わない。
また、他のプロセツサに対して同期処理を要求する場
合は、該プロセツサ以外のプロセツサ102に対して信号
線210を通して、同期処理要求の信号を送信すると同時
にパラメータ作成部290へ信号250を送ることによつて同
期処理に必要なプロセツサグループに関する情報等を含
んだパラメータを作成し信号線206を通してバツフアユ
ニツト201へ該情報を転送し、主記憶装置の特定領域へ
格納する。
合は、該プロセツサ以外のプロセツサ102に対して信号
線210を通して、同期処理要求の信号を送信すると同時
にパラメータ作成部290へ信号250を送ることによつて同
期処理に必要なプロセツサグループに関する情報等を含
んだパラメータを作成し信号線206を通してバツフアユ
ニツト201へ該情報を転送し、主記憶装置の特定領域へ
格納する。
更に自分のプロセツサのプロセツサグループに関する
情報を記憶するための共通部を有し、ここに、自らの属
するプロセツサグループの識別情報282及び、プロセツ
サグループに属する全プロセツサの数を記憶するプロセ
ツサ記述レジスタ283を具備する。
情報を記憶するための共通部を有し、ここに、自らの属
するプロセツサグループの識別情報282及び、プロセツ
サグループに属する全プロセツサの数を記憶するプロセ
ツサ記述レジスタ283を具備する。
第3図は、プロセツサ同期処理時にプロセツサ間で受
け渡される処理要求パラメータの内容を表示した図であ
る。
け渡される処理要求パラメータの内容を表示した図であ
る。
該パラメータ300は記憶装置001のハードウエアによつ
てのみ参照/更新可能な領域であるハードウエアシステ
ム領域002へ格納される。該パラメータは、無条件処理
要求にビット301行先指定コード(DEST)302、バリツド
フラグ303、プロセツサグループ識別子(PGID)304、デ
ータ領域部305より構成される。
てのみ参照/更新可能な領域であるハードウエアシステ
ム領域002へ格納される。該パラメータは、無条件処理
要求にビット301行先指定コード(DEST)302、バリツド
フラグ303、プロセツサグループ識別子(PGID)304、デ
ータ領域部305より構成される。
無条件処理要求ビツト301は、マルチプロセツサシス
テムを構成する全プロセツサに対して同期処理を要求す
る為のビツトである。該ビツト301がONの状態であれ
ば、CPUアドレスのチエツク、及び、プロセツサグルー
プによるチエツクは行われない。
テムを構成する全プロセツサに対して同期処理を要求す
る為のビツトである。該ビツト301がONの状態であれ
ば、CPUアドレスのチエツク、及び、プロセツサグルー
プによるチエツクは行われない。
先行指定コード302は、同期処理を要求するプロセツ
サのCPUアドレスを格納する。本領域は、SIGP命令の様
にプロセツサのアドレスを指定する必要がある場合に格
納される。
サのCPUアドレスを格納する。本領域は、SIGP命令の様
にプロセツサのアドレスを指定する必要がある場合に格
納される。
バリツドフラグ303は、要求を出したプロセツサと同
一のプロセツサグループに属するプロセツサに対して同
期処理を要求する場合に用いられる。該フラグがONであ
ればプロセツサグループによる通信処理の限定化を行
う。該フラグがOFFであれば、プロセツサアドレスに関
するチエツクのみを行うことを表す。
一のプロセツサグループに属するプロセツサに対して同
期処理を要求する場合に用いられる。該フラグがONであ
ればプロセツサグループによる通信処理の限定化を行
う。該フラグがOFFであれば、プロセツサアドレスに関
するチエツクのみを行うことを表す。
プロセツサグループ識別子304は、同期処理の要求を
発行したプロセツサの属するプロセツサグループ識別子
を格納する。
発行したプロセツサの属するプロセツサグループ識別子
を格納する。
データ領域部305は、同期処理要求元で格納するデー
タであり、同期処理の種類を示すコードやデータが格納
される。
タであり、同期処理の種類を示すコードやデータが格納
される。
第4図は、同期処理の要求信号が来た時に該信号がプ
ロセツサグループと一致しているか否かをチエツクする
信号チエツク部270の信号処理の概要図である。他プロ
セツサ102からの同期処理の要求信号が信号線210を通し
て実行ユニツト203aで受け付けられ、且つ、要求信号パ
ラメータがハードウエアシステム領域002からバツフア
ユニツトへ格納されると、信号線220aによつてこの旨が
通知される。バス制御装置303,304は、これを契機にバ
ツフアユニツト201より信号線220bを通して要求処理パ
ラメータのデータ領域を除いた情報を読み取り、レジス
タ402へ格納する。レジスタ402は該情報を第3図で示し
た領域に分割する働きを持ち、信号の分割を行う。
ロセツサグループと一致しているか否かをチエツクする
信号チエツク部270の信号処理の概要図である。他プロ
セツサ102からの同期処理の要求信号が信号線210を通し
て実行ユニツト203aで受け付けられ、且つ、要求信号パ
ラメータがハードウエアシステム領域002からバツフア
ユニツトへ格納されると、信号線220aによつてこの旨が
通知される。バス制御装置303,304は、これを契機にバ
ツフアユニツト201より信号線220bを通して要求処理パ
ラメータのデータ領域を除いた情報を読み取り、レジス
タ402へ格納する。レジスタ402は該情報を第3図で示し
た領域に分割する働きを持ち、信号の分割を行う。
レジスタ306内の先行指示コード302は、CPUアドレス
を格納する共通部280内のレジスタ281と比較器403で比
較され、行先指示コードとCPUアドレスが一致していれ
ばゲート407へ信号が送られさらに、ORゲート408を通り
信号線230を通して実行ユニツト203aへ信号が送られ
る。該ゲート407はレジスタ402のバリツドビツト303の
信号をNOTゲート404で反転した信号をゲートの制御信号
として使用する。従つて、バリツドビツト303がONの
時、すなわち、プロセツサグループを指定してプロセツ
サ間の同期処理を行う場合は行先指示コードによる指定
を無視する結果となる。
を格納する共通部280内のレジスタ281と比較器403で比
較され、行先指示コードとCPUアドレスが一致していれ
ばゲート407へ信号が送られさらに、ORゲート408を通り
信号線230を通して実行ユニツト203aへ信号が送られ
る。該ゲート407はレジスタ402のバリツドビツト303の
信号をNOTゲート404で反転した信号をゲートの制御信号
として使用する。従つて、バリツドビツト303がONの
時、すなわち、プロセツサグループを指定してプロセツ
サ間の同期処理を行う場合は行先指示コードによる指定
を無視する結果となる。
ここで、ラツチ402のバリツドビツト303がONの場合
は、ゲート405がオープン状態となるので共通部内のプ
ロセツサグループ記述レジスタ282のプロセツサグルー
プ識別子は比較器406へ送られる。比較器は該情報とレ
ジスタ402のプロセツサグループ識別子304の情報を比較
し同期処理の要求を発行したプロセツサのプロセツサグ
ループ識別子と、信号を受け付けたプロセツサのプロセ
ツサグループ識別子が一致したときに信号がORゲート40
8に送られ信号線230を通して実行ユニツト203aへ該要求
を受け付ける指示を行う。
は、ゲート405がオープン状態となるので共通部内のプ
ロセツサグループ記述レジスタ282のプロセツサグルー
プ識別子は比較器406へ送られる。比較器は該情報とレ
ジスタ402のプロセツサグループ識別子304の情報を比較
し同期処理の要求を発行したプロセツサのプロセツサグ
ループ識別子と、信号を受け付けたプロセツサのプロセ
ツサグループ識別子が一致したときに信号がORゲート40
8に送られ信号線230を通して実行ユニツト203aへ該要求
を受け付ける指示を行う。
また、レジスタ402の無条件処理要求ビツト301がONで
あればORゲート408に信号を送り無条件に受け入れて同
期処理を要求する。
あればORゲート408に信号を送り無条件に受け入れて同
期処理を要求する。
次に第5図で同期処理要求時の要求処理パラメータ作
成部290の信号処理の概要図である。記憶装置001に格納
されている命令語群は、バツフアユニツト201で読み取
られ、実用ユニツト203aで実行される。この時、プロセ
ツサ間での同期処理を必要とする命令が実行された場
合、実用ユニツト203aは命令の種類を(1)システムを
構成する全プロセツサに対しての通信処理を行う必要の
ある命令、(2)プロセツサを指定して同期処理をする
必要のある命令、(3)プロセツサグループの範囲で同
期処理をする必要のある命令に分類し、これに従つてレ
ジスタ502で作成されるパラメータの情報をセツトす
る。
成部290の信号処理の概要図である。記憶装置001に格納
されている命令語群は、バツフアユニツト201で読み取
られ、実用ユニツト203aで実行される。この時、プロセ
ツサ間での同期処理を必要とする命令が実行された場
合、実用ユニツト203aは命令の種類を(1)システムを
構成する全プロセツサに対しての通信処理を行う必要の
ある命令、(2)プロセツサを指定して同期処理をする
必要のある命令、(3)プロセツサグループの範囲で同
期処理をする必要のある命令に分類し、これに従つてレ
ジスタ502で作成されるパラメータの情報をセツトす
る。
無条件処理要求ビツトの値は、上記に示した命令の分
類によつて実行ユニツト203により決定されレジスタ502
の無条件要求ビツト301へセツトされる。また、先行指
示コード302も同様である。
類によつて実行ユニツト203により決定されレジスタ502
の無条件要求ビツト301へセツトされる。また、先行指
示コード302も同様である。
バリツトビツド303は、ラツチ501の値によつて決定さ
れる。ラツチ501の値は、プロセツサグループによる限
定シグナリングを開始することを指示する命令が発行さ
れたとき、プロセツサグループによる限定シグナリング
を終了することを指定する命令が発行されたときに、各
々ON,OFFがセツトされる。
れる。ラツチ501の値は、プロセツサグループによる限
定シグナリングを開始することを指示する命令が発行さ
れたとき、プロセツサグループによる限定シグナリング
を終了することを指定する命令が発行されたときに、各
々ON,OFFがセツトされる。
プロセツサグループ記述子304は、プロセツサグルー
プ機構の共通部280内のプロセツサグループ記述レジス
タ282の内容を格納される。該レジスタの値は、プロセ
ツサが自分の属するプロセツサグループを設定する命令
を発行した時に設定される。
プ機構の共通部280内のプロセツサグループ記述レジス
タ282の内容を格納される。該レジスタの値は、プロセ
ツサが自分の属するプロセツサグループを設定する命令
を発行した時に設定される。
以上、プロセツサグループを実現する為のハードウエ
ア機構について説明した。これ以降は、各々のプロセツ
サ間で信号の送信・受信を行う為のマイクロプログラム
の制御方式を説明する。
ア機構について説明した。これ以降は、各々のプロセツ
サ間で信号の送信・受信を行う為のマイクロプログラム
の制御方式を説明する。
第6図において、命令プロセツサ100が命令を実行す
る場合は、主記憶装置001に格納されている命令をバツ
フアユニツト201aが取り込み、デコーダ202aによつて該
命令が解析される。この結果デコーダ202aから制御信号
が実行ユニツト203aに送られ命令が実行される。
る場合は、主記憶装置001に格納されている命令をバツ
フアユニツト201aが取り込み、デコーダ202aによつて該
命令が解析される。この結果デコーダ202aから制御信号
が実行ユニツト203aに送られ命令が実行される。
ここで、プロセツサ間で同期を行う必要のある命令61
0を実行する場合は、実行ユニツト203a内のマイクロプ
ログラム600aによつて同期処理のための信号210aを送
る。該信号を受けた命令プロセツサ102では実行ユニツ
ト203内の該要求処理に対するマイクロプログラム600b
によつて要求された処理が実行され、該処理の終了時に
終了信号210bを処理の依頼元のプロセツサに100へ送信
する。
0を実行する場合は、実行ユニツト203a内のマイクロプ
ログラム600aによつて同期処理のための信号210aを送
る。該信号を受けた命令プロセツサ102では実行ユニツ
ト203内の該要求処理に対するマイクロプログラム600b
によつて要求された処理が実行され、該処理の終了時に
終了信号210bを処理の依頼元のプロセツサに100へ送信
する。
このとき、各々のプロセツサからの信号は、全てプロ
セツサ内のプロセツサグループ機構270,280,290によつ
てチエツクされ、自らが受け付ける必要の無い信号に対
しては処理を受け付けない。
セツサ内のプロセツサグループ機構270,280,290によつ
てチエツクされ、自らが受け付ける必要の無い信号に対
しては処理を受け付けない。
以上の処理によつて信号の送信・受信を行う。
次に、プロセツサグループを用いた同期処理の限定化
を行う場合のマイクロプログラムの制御の方法を第7
図,第8図により説明する。第7図は、同期処理を要求
する命令を実行した場合のマイクロプログラムの制御60
0aの概要を説明する。
を行う場合のマイクロプログラムの制御の方法を第7
図,第8図により説明する。第7図は、同期処理を要求
する命令を実行した場合のマイクロプログラムの制御60
0aの概要を説明する。
まず各々のプロセツサ間で同期処理を実行する必要の
ある命令が実行取れた場合は、 (1)自分のプロセツサ上での命令の実行処理(701)
を行う。
ある命令が実行取れた場合は、 (1)自分のプロセツサ上での命令の実行処理(701)
を行う。
(2)次に、システムを構成する各々のプロセツサに対
して同期処理を要求するため、他のプロセツサに対して
シグナリング210aをおこなう(702)。
して同期処理を要求するため、他のプロセツサに対して
シグナリング210aをおこなう(702)。
(3)この後、プロセツサ記述レジスタより1を減じ、
該プロセツサグループに属する他のプロセツサの数Nを
求める(703)。
該プロセツサグループに属する他のプロセツサの数Nを
求める(703)。
(4)要求処理に対する他プロセツサからの終了信号を
カウントするために用いるカウンタKをクリアする(70
4)。
カウントするために用いるカウンタKをクリアする(70
4)。
(5)以上の処理が終了した後他プロセツサからの終了
信号が受け付けられるまで待ち状態に移行する(70
5)。
信号が受け付けられるまで待ち状態に移行する(70
5)。
(6)他プロセツサでの処理が終了し処理の終了信号21
0bが受け付けられると、この事象数えるカウンタKをカ
ウントアツプする(706)。
0bが受け付けられると、この事象数えるカウンタKをカ
ウントアツプする(706)。
(7)そして、該カウンタKとNを比較し(707)、ま
た該プロセツサグループに属している全プロセツサから
終了信号が受け付けられていないならば、態度待ち状態
へ移行する。
た該プロセツサグループに属している全プロセツサから
終了信号が受け付けられていないならば、態度待ち状態
へ移行する。
(8)また、全プロセツサから終了信号を受信すると他
のプロセツサに命令のフエツチ処理を再開させることを
指示する信号(210a)を送信する(708)。
のプロセツサに命令のフエツチ処理を再開させることを
指示する信号(210a)を送信する(708)。
(9)以上の処理を全て終了した後該プロセツサでの命
令フエツチを再開(709)する。
令フエツチを再開(709)する。
また、第8図に同期信号の受け付け時のマイクロプロ
グラムの制御の概略を示す。
グラムの制御の概略を示す。
命令プロセツサ600bでは通常は、 (1)命令のフエツチ処理(801)によつて実行すべき
命令を主記憶装置より取りだし、 (2)該命令を実行する(802)。
命令を主記憶装置より取りだし、 (2)該命令を実行する(802)。
(3)この後に同期処理の要求信号が受信されたか否か
をチエツクし(803)、受信されていなければ命令のフ
エツチ処理(801),命令の実行処理(802)を継続す
る。
をチエツクし(803)、受信されていなければ命令のフ
エツチ処理(801),命令の実行処理(802)を継続す
る。
(4)ここで、該信号が受信されていれば、外信号を解
析し(804)、 (5)要求された処理の選択を行い(805) (6)該処理を実行する(806)。
析し(804)、 (5)要求された処理の選択を行い(805) (6)該処理を実行する(806)。
(7)これらの処理が終了すると該プロセツサでは、同
期処理の要求元のプロセツサに対して処理を終了したこ
とを報告するための信号(210b)を送信する(807)。
期処理の要求元のプロセツサに対して処理を終了したこ
とを報告するための信号(210b)を送信する(807)。
(8)この後該プロセツサでは、同期処理の要求元のプ
ロセツサからの処理再開信号を受信するまで待ち状態と
する(808)。ここで、要求元のプロセツサより処理の
開始信号(210a)が送られると、従来どうりの自分のプ
ロセツサの命令の実行を再開する。
ロセツサからの処理再開信号を受信するまで待ち状態と
する(808)。ここで、要求元のプロセツサより処理の
開始信号(210a)が送られると、従来どうりの自分のプ
ロセツサの命令の実行を再開する。
以上、第7図,第8図に示したマイクロプログラムの
制御は、システムを構成する各々のプロセツサで行わ
れ、プロセツサグループによる信号処理の限定化を行つ
ている場合の同期処理を実現する。
制御は、システムを構成する各々のプロセツサで行わ
れ、プロセツサグループによる信号処理の限定化を行つ
ている場合の同期処理を実現する。
第9図は、プロセツサグループを制御するための命令
とその形式である。
とその形式である。
SPGID命令(901)は、自分のプロセツサにプロセツサ
グループ識別子を設定するために用いる命令である。本
命令のオペランドはアドレス付けには用いられずオペラ
ンドの実行アドレスがプロセツサグループ識別子を意味
する。
グループ識別子を設定するために用いる命令である。本
命令のオペランドはアドレス付けには用いられずオペラ
ンドの実行アドレスがプロセツサグループ識別子を意味
する。
SNPG命令(902)は、自分プロセツサのプロセツサグ
ループの属する全プロセツサの数をプロセツサ記述レジ
スタに設定する命令である。本命令で指定されるプロセ
ツサ数は同期処理を行うときに必要な情報であるので、
プロセツサグループによるプロセツサ間同期処理の限定
化をおこなう場合には予め本命令を使用して設定してお
く必要がある。本命令のオペランドはアドレス付けには
用いられずオペランドの実行アドレスがプロセツサ数を
意味する。
ループの属する全プロセツサの数をプロセツサ記述レジ
スタに設定する命令である。本命令で指定されるプロセ
ツサ数は同期処理を行うときに必要な情報であるので、
プロセツサグループによるプロセツサ間同期処理の限定
化をおこなう場合には予め本命令を使用して設定してお
く必要がある。本命令のオペランドはアドレス付けには
用いられずオペランドの実行アドレスがプロセツサ数を
意味する。
CTLPG命令(903)は、プロセツサグループによるプロ
セツサ間同期処理の限定化の開始及び停止を制御する命
令である。本命令のオペランドはアドレス付けには用い
られず、該命令の実行アドレスの第31ビツトが‘1'であ
るものを指定した場合は、プロセツサグループによる信
号の限定化を開始する。また、‘0'であるものを指定し
た場合は信号の限定化を停止する。
セツサ間同期処理の限定化の開始及び停止を制御する命
令である。本命令のオペランドはアドレス付けには用い
られず、該命令の実行アドレスの第31ビツトが‘1'であ
るものを指定した場合は、プロセツサグループによる信
号の限定化を開始する。また、‘0'であるものを指定し
た場合は信号の限定化を停止する。
本実施例は以上の機構及び方式を利用し、プロセツサ
グループを実現し、仮想計算機システムの制御時におけ
るプロセツサのオーバヘツドを低減することが出来る。
グループを実現し、仮想計算機システムの制御時におけ
るプロセツサのオーバヘツドを低減することが出来る。
又、本実施例では同期処理を行うためにプロセツサグ
ループを設定したプロセツサからの同期処理の終了信号
をカウントするために用いたプロセツサ記述レジスタ内
の情報は、主記憶装置中に格納されていもかまわない。
ループを設定したプロセツサからの同期処理の終了信号
をカウントするために用いたプロセツサ記述レジスタ内
の情報は、主記憶装置中に格納されていもかまわない。
この他に、本実施例では同期処理においてプロセツサ
グループに属するプロセツサからの終了信号をカウント
する方法によつて、次の命令を実行する機会を得ていた
が、プロセツサグループに属するプロセツサの情報を記
憶するビツトマツプを用い、該ビツトマツプが全てONの
状態になつた時に命令の実行の再開を行う機構によつて
代用してもよい。
グループに属するプロセツサからの終了信号をカウント
する方法によつて、次の命令を実行する機会を得ていた
が、プロセツサグループに属するプロセツサの情報を記
憶するビツトマツプを用い、該ビツトマツプが全てONの
状態になつた時に命令の実行の再開を行う機構によつて
代用してもよい。
また、本実施例では、プロセツサグループによる同期
処理の限定を行うか否かを決定するための命令によつて
プロセツサグループ機構を制御していたが、該機能に加
えて、仮想計算機を動作しているか否かの動作状態を表
示する機構を備え、プロセツサが仮想計算機動作してい
る時には、プロセツサグループによる信号の限定処理を
行い、また、仮想計算機の動作状態から制御プログラム
の動作へ移行したときにプロセツサグループによる同期
処理の行わないモードへ移行する機構を備えてもよい。
処理の限定を行うか否かを決定するための命令によつて
プロセツサグループ機構を制御していたが、該機能に加
えて、仮想計算機を動作しているか否かの動作状態を表
示する機構を備え、プロセツサが仮想計算機動作してい
る時には、プロセツサグループによる信号の限定処理を
行い、また、仮想計算機の動作状態から制御プログラム
の動作へ移行したときにプロセツサグループによる同期
処理の行わないモードへ移行する機構を備えてもよい。
本発明によれば、プロセツサグループによる同期処理
の限定化を行うことが出来るので、仮想計算機システム
において、仮想計算機がある特定のプロセツサ上でのみ
走行する場合、仮想計算機からのアドレス変換バツフア
に関する命令が発行されたときに従来のようにシステム
を構成する全てのプロセツサで同期処理が行われること
による同期処理のオーバーヘツドを防止することが可能
なため、従来のアドレス変換バツフアの操作命令に対し
て30〜40%の処理時間の削減が可能である。
の限定化を行うことが出来るので、仮想計算機システム
において、仮想計算機がある特定のプロセツサ上でのみ
走行する場合、仮想計算機からのアドレス変換バツフア
に関する命令が発行されたときに従来のようにシステム
を構成する全てのプロセツサで同期処理が行われること
による同期処理のオーバーヘツドを防止することが可能
なため、従来のアドレス変換バツフアの操作命令に対し
て30〜40%の処理時間の削減が可能である。
また、アドレス変換バツフアの全体及び、各エントリ
に関する無効化処理で、該仮想計算機に係る部分のみ処
理が行われるため、それ以外の仮想計算機に係るアドレ
ス変換バツフアの全体及び、各エントリを消去すること
がなく、システムのアドレス変換におけるオーバヘツド
を防止することができる。
に関する無効化処理で、該仮想計算機に係る部分のみ処
理が行われるため、それ以外の仮想計算機に係るアドレ
ス変換バツフアの全体及び、各エントリを消去すること
がなく、システムのアドレス変換におけるオーバヘツド
を防止することができる。
第1図は本発明の基本概念図である。第2図は本発明の
プロセツサグループを実現するためのハードウエアの基
本ブロツク図である。第3図はプロセツサ感での同期処
理を行う場合の記憶装置中に格納されるパラメータの形
式である。第4図は同期処理要求信号受け付け時のパラ
メータのチエツクを行うハードウエア機構のブロツク図
である。第5図は同期処理要求信号を発信時のパラメー
タの作成機構のブロツク図である。第6図はプロセツサ
間での同期処理に関して動作するマイクロプログラムの
概念図である。第7図は、同期処理要求時のマイクロプ
ログラムの概略フローである。第8図は同期処理の要求
信号の受け付け時のマイクロプログラムの概略フローで
ある。第9図プロセツサグループを制御するための制御
命令の形式図である。 001……記憶装置、100,101,102,103……命令プロセツ
サ、110,111……記憶制御装置、120……プロセツサグル
ープ、201……バツフアユニツト、202……デコーダ、20
3……実行ユニツト、270……同期処理要求信号チエツク
部、280……プロセツサグループ機構共通部、282……プ
ロセツサグループ識別レジスタ、283……記述レジス
タ、300……同期処理用パラメータ、301……無条件処理
要求ビツト、302……行先指示コード、303……バリツド
フラグ、304……プロセツサグループ識別情報、305……
データ領域部、901,902,903……プロセツサグループ制
御命令。
プロセツサグループを実現するためのハードウエアの基
本ブロツク図である。第3図はプロセツサ感での同期処
理を行う場合の記憶装置中に格納されるパラメータの形
式である。第4図は同期処理要求信号受け付け時のパラ
メータのチエツクを行うハードウエア機構のブロツク図
である。第5図は同期処理要求信号を発信時のパラメー
タの作成機構のブロツク図である。第6図はプロセツサ
間での同期処理に関して動作するマイクロプログラムの
概念図である。第7図は、同期処理要求時のマイクロプ
ログラムの概略フローである。第8図は同期処理の要求
信号の受け付け時のマイクロプログラムの概略フローで
ある。第9図プロセツサグループを制御するための制御
命令の形式図である。 001……記憶装置、100,101,102,103……命令プロセツ
サ、110,111……記憶制御装置、120……プロセツサグル
ープ、201……バツフアユニツト、202……デコーダ、20
3……実行ユニツト、270……同期処理要求信号チエツク
部、280……プロセツサグループ機構共通部、282……プ
ロセツサグループ識別レジスタ、283……記述レジス
タ、300……同期処理用パラメータ、301……無条件処理
要求ビツト、302……行先指示コード、303……バリツド
フラグ、304……プロセツサグループ識別情報、305……
データ領域部、901,902,903……プロセツサグループ制
御命令。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 竹田 克己 神奈川県秦野市堀山下1番地 株式会社 日立製作所神奈川工場内 (56)参考文献 特開 昭55−140923(JP,A)
Claims (2)
- 【請求項1】複数のプロセッサが主記憶装置を共用し、
当該複数のプロセッサを複数のグループに分け、各グル
ープのプロセッサにおいて当該グループに対応する1つ
の仮想計算機を動作させるマルチプロセッサシステムに
おいて、 前記プロセッサの各々は、 当該自プロセッサが属するグループの識別情報を記憶す
る記憶手段と、 他のプロセッサのアドレス変換バッファの内容変更に係
わる命令を当該自プロセッサが発行したときに、当該自
プロセッサが属するグループの識別情報を他のプロセッ
サに伝達する手段と、 アドレス変換バッファの内容変更に係わる命令が他のプ
ロセッサで実行されたときに、他のプロセッサから自プ
ロセッサに伝達された当該他のプロセッサが属するグル
ープの識別情報と、自プロセッサが属するグループの識
別情報との比較により、自プロセッサが前記他のプロセ
ッサと同一のグループに属するか否かを判断する手段
と、 前記自他の2つのプロセッサが同一のグループに属する
とき、自プロセッサにおいてアドレス変換バッファの内
容変更を行う手段と、 前記自他の2つのプロセッサが同一のグループに属しな
いとき、自プロセッサにおけるアドレス変換バッファの
内容変更を抑止する手段とを有することを特徴とするマ
ルチプロセッサシステム。 - 【請求項2】特許請求の範囲第1項記載のマルチプロセ
ッサシステムにおいて、 各プロセッサに、 当該自プロセッサが属するグループの識別情報を設定す
る手段を有することを特徴とするマルチプロセッサシス
テム。
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP62266355A JP2594979B2 (ja) | 1987-10-23 | 1987-10-23 | マルチプロセツサシステム |
| US07/735,674 US5307495A (en) | 1987-10-23 | 1991-07-29 | Multiprocessor system statically dividing processors into groups allowing processor of selected group to send task requests only to processors of selected group |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP62266355A JP2594979B2 (ja) | 1987-10-23 | 1987-10-23 | マルチプロセツサシステム |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH01109464A JPH01109464A (ja) | 1989-04-26 |
| JP2594979B2 true JP2594979B2 (ja) | 1997-03-26 |
Family
ID=17429791
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP62266355A Expired - Lifetime JP2594979B2 (ja) | 1987-10-23 | 1987-10-23 | マルチプロセツサシステム |
Country Status (2)
| Country | Link |
|---|---|
| US (1) | US5307495A (ja) |
| JP (1) | JP2594979B2 (ja) |
Families Citing this family (61)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| DE69130630T2 (de) * | 1990-09-14 | 1999-09-09 | Hitachi | Synchrones Verfahren und Gerät für Prozessoren |
| JP2778291B2 (ja) * | 1991-05-31 | 1998-07-23 | 日本電気株式会社 | アドレス変換レジスタ制御方式 |
| JP2788836B2 (ja) * | 1992-05-15 | 1998-08-20 | インターナショナル・ビジネス・マシーンズ・コーポレイション | ディジタルコンピュータシステム |
| JP3285629B2 (ja) * | 1992-12-18 | 2002-05-27 | 富士通株式会社 | 同期処理方法及び同期処理装置 |
| US5758157A (en) * | 1992-12-31 | 1998-05-26 | International Business Machines Corporation | Method and system for providing service processor capability in a data processing by transmitting service processor requests between processing complexes |
| JP2814880B2 (ja) * | 1993-06-04 | 1998-10-27 | 日本電気株式会社 | 異なる命令特性を持つ複数のcpuによって構成される計算機システムの制御装置 |
| JP3657665B2 (ja) * | 1995-02-14 | 2005-06-08 | 富士通株式会社 | 共用メモリに結合される複数の計算機システム及び共用メモリに結合される複数の計算機システムの制御方法 |
| US5978577A (en) * | 1995-03-17 | 1999-11-02 | Csg Systems, Inc. | Method and apparatus for transaction processing in a distributed database system |
| US6026486A (en) * | 1996-05-23 | 2000-02-15 | Matsushita Electric Industrial Co., Ltd. | General purpose processor having a variable bitwidth |
| US5790788A (en) * | 1996-07-23 | 1998-08-04 | International Business Machines Corporation | Managing group events by a name server for a group of processors in a distributed computing environment |
| US5761734A (en) * | 1996-08-13 | 1998-06-02 | International Business Machines Corporation | Token-based serialisation of instructions in a multiprocessor system |
| US5887161A (en) * | 1997-03-31 | 1999-03-23 | International Business Machines Corporation | Issuing instructions in a processor supporting out-of-order execution |
| US5805849A (en) * | 1997-03-31 | 1998-09-08 | International Business Machines Corporation | Data processing system and method for using an unique identifier to maintain an age relationship between executing instructions |
| US5913048A (en) * | 1997-03-31 | 1999-06-15 | International Business Machines Corporation | Dispatching instructions in a processor supporting out-of-order execution |
| US6098167A (en) * | 1997-03-31 | 2000-08-01 | International Business Machines Corporation | Apparatus and method for fast unified interrupt recovery and branch recovery in processors supporting out-of-order execution |
| US5870582A (en) * | 1997-03-31 | 1999-02-09 | International Business Machines Corporation | Method and apparatus for completion of non-interruptible instructions before the instruction is dispatched |
| US6990458B2 (en) * | 1997-08-28 | 2006-01-24 | Csg Systems, Inc. | System and method for computer-aided technician dispatch and communication |
| CA2317772A1 (en) * | 1998-01-07 | 1999-07-15 | Jeffrey I. Robinson | Object oriented processor arrays |
| JP3976432B2 (ja) * | 1998-12-09 | 2007-09-19 | エヌイーシーコンピュータテクノ株式会社 | データ処理装置およびデータ処理方法 |
| DE19957594B4 (de) | 1999-11-30 | 2004-08-26 | OCé PRINTING SYSTEMS GMBH | Verfahren zum Synchronisieren von threads eines Computerprogramms |
| DE10008010A1 (de) * | 2000-02-22 | 2001-08-30 | Fujitsu Siemens Computers Gmbh | Verfahren und Prozessoren zum Austausch von Meldungen in einem Mehrprozessorsystem sowie Prozessor für die Bearbeitung von privilegierten Befehlen |
| AU2001271259A1 (en) * | 2000-06-28 | 2002-01-08 | Intertainer, Inc. | Intelligent media targeting system and method |
| US20020083006A1 (en) * | 2000-12-14 | 2002-06-27 | Intertainer, Inc. | Systems and methods for delivering media content |
| US7870592B2 (en) * | 2000-12-14 | 2011-01-11 | Intertainer, Inc. | Method for interactive video content programming |
| US7233998B2 (en) * | 2001-03-22 | 2007-06-19 | Sony Computer Entertainment Inc. | Computer architecture and software cells for broadband networks |
| US20020143782A1 (en) * | 2001-03-30 | 2002-10-03 | Intertainer, Inc. | Content management system |
| US20020143647A1 (en) * | 2001-03-30 | 2002-10-03 | Intertainer, Inc. | Subscriber management system |
| US6925469B2 (en) * | 2001-03-30 | 2005-08-02 | Intertainer, Inc. | Digital entertainment service platform |
| US20020144283A1 (en) * | 2001-03-30 | 2002-10-03 | Intertainer, Inc. | Content distribution system |
| US7305681B2 (en) * | 2003-03-20 | 2007-12-04 | Nokia Corporation | Method and apparatus for providing multi-client support in a sip-enabled terminal |
| US7530067B2 (en) * | 2003-05-12 | 2009-05-05 | International Business Machines Corporation | Filtering processor requests based on identifiers |
| US20050060704A1 (en) * | 2003-09-17 | 2005-03-17 | International Business Machines Corporation | Managing processing within computing environments including initiation of virtual machines |
| US7415703B2 (en) * | 2003-09-25 | 2008-08-19 | International Business Machines Corporation | Loading software on a plurality of processors |
| US7475257B2 (en) | 2003-09-25 | 2009-01-06 | International Business Machines Corporation | System and method for selecting and using a signal processor in a multiprocessor system to operate as a security for encryption/decryption of data |
| US7523157B2 (en) * | 2003-09-25 | 2009-04-21 | International Business Machines Corporation | Managing a plurality of processors as devices |
| US7444632B2 (en) * | 2003-09-25 | 2008-10-28 | International Business Machines Corporation | Balancing computational load across a plurality of processors |
| US7549145B2 (en) | 2003-09-25 | 2009-06-16 | International Business Machines Corporation | Processor dedicated code handling in a multi-processor environment |
| US20050071828A1 (en) * | 2003-09-25 | 2005-03-31 | International Business Machines Corporation | System and method for compiling source code for multi-processor environments |
| US7496917B2 (en) | 2003-09-25 | 2009-02-24 | International Business Machines Corporation | Virtual devices using a pluarlity of processors |
| US7478390B2 (en) * | 2003-09-25 | 2009-01-13 | International Business Machines Corporation | Task queue management of virtual devices using a plurality of processors |
| US7389508B2 (en) * | 2003-09-25 | 2008-06-17 | International Business Machines Corporation | System and method for grouping processors and assigning shared memory space to a group in heterogeneous computer environment |
| US7516456B2 (en) | 2003-09-25 | 2009-04-07 | International Business Machines Corporation | Asymmetric heterogeneous multi-threaded operating system |
| US7975270B2 (en) * | 2004-03-10 | 2011-07-05 | International Business Machines Corporation | Facilitating allocation of resources in a heterogeneous computing environment |
| US7739527B2 (en) * | 2004-08-11 | 2010-06-15 | Intel Corporation | System and method to enable processor management policy in a multi-processor environment |
| JP4622474B2 (ja) * | 2004-11-17 | 2011-02-02 | 横河電機株式会社 | フィールド機器及びこれを用いたシステム |
| US9753754B2 (en) * | 2004-12-22 | 2017-09-05 | Microsoft Technology Licensing, Llc | Enforcing deterministic execution of threads of guest operating systems running in a virtual machine hosted on a multiprocessor machine |
| US20060143517A1 (en) * | 2004-12-22 | 2006-06-29 | Microsoft Corporation | Replicated virtual machine |
| KR100678913B1 (ko) * | 2005-10-25 | 2007-02-06 | 삼성전자주식회사 | 가상 메모리 시스템에서 페이지 폴트를 줄이는 장치 및방법 |
| US20080016248A1 (en) * | 2006-07-14 | 2008-01-17 | George Tsirtsis | Method and apparatus for time synchronization of parameters |
| EP1953643A3 (en) * | 2007-02-01 | 2009-12-16 | Denso Corporation | Calculation apparatus provided with a plurality of calculating units which access a single memory |
| US8200992B2 (en) | 2007-09-24 | 2012-06-12 | Cognitive Electronics, Inc. | Parallel processing computer systems with reduced power consumption and methods for providing the same |
| US8881163B2 (en) * | 2007-12-07 | 2014-11-04 | Microsoft Corporation | Kernel processor grouping |
| CN102053946B (zh) * | 2009-10-30 | 2014-05-28 | 国际商业机器公司 | 多核系统中处理请求的数据处理方法、设备和系统 |
| US8219725B2 (en) | 2010-06-16 | 2012-07-10 | International Business Machines Corporation | Cache optimized balanced handling of initiatives in a non-uniform multiprocessor computing system |
| WO2012124078A1 (ja) * | 2011-03-16 | 2012-09-20 | 富士通株式会社 | 同期方法、マルチコアプロセッサシステム、および同期システム |
| US20130061292A1 (en) * | 2011-08-26 | 2013-03-07 | Cognitive Electronics, Inc. | Methods and systems for providing network security in a parallel processing environment |
| US9141131B2 (en) | 2011-08-26 | 2015-09-22 | Cognitive Electronics, Inc. | Methods and systems for performing exponentiation in a parallel processing environment |
| US8635607B2 (en) | 2011-08-30 | 2014-01-21 | Microsoft Corporation | Cloud-based build service |
| US9086980B2 (en) | 2012-08-01 | 2015-07-21 | International Business Machines Corporation | Data processing, method, device, and system for processing requests in a multi-core system |
| US9063754B2 (en) | 2013-03-15 | 2015-06-23 | Cognitive Electronics, Inc. | Profiling and optimization of program code/application |
| US11068420B2 (en) | 2015-05-12 | 2021-07-20 | Hewlett Packard Enterprise Development Lp | Scalable software stack |
Family Cites Families (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US3812469A (en) * | 1972-05-12 | 1974-05-21 | Burroughs Corp | Multiprocessing system having means for partitioning into independent processing subsystems |
| JPS55140923A (en) * | 1979-04-18 | 1980-11-04 | Hitachi Ltd | Information processing system |
| US4644470A (en) * | 1984-07-20 | 1987-02-17 | International Business Machines Corp. | Non-unique names for broadcast messages |
| JPS6315354A (ja) * | 1986-07-07 | 1988-01-22 | Hitachi Ltd | 分散システムにおけるタイマ一致化管理方式 |
| JPS6345670A (ja) * | 1986-08-13 | 1988-02-26 | Hitachi Ltd | プロセツサ間同期装置 |
-
1987
- 1987-10-23 JP JP62266355A patent/JP2594979B2/ja not_active Expired - Lifetime
-
1991
- 1991-07-29 US US07/735,674 patent/US5307495A/en not_active Expired - Lifetime
Also Published As
| Publication number | Publication date |
|---|---|
| JPH01109464A (ja) | 1989-04-26 |
| US5307495A (en) | 1994-04-26 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP2594979B2 (ja) | マルチプロセツサシステム | |
| US5043873A (en) | Method of parallel processing for avoiding competition control problems and data up dating problems common in shared memory systems | |
| KR920010978B1 (ko) | 개선된 입·출력 인터럽트 제어를 가지는 가상 컴퓨터 시스템 | |
| JP2644780B2 (ja) | 処理依頼機能を持つ並列計算機 | |
| DE69031433T2 (de) | Speicherzugriffsausnahmebehandlung bei vorausgelesenen Befehlswörtern in dem Befehlsfliessband eines Rechners mit virtuellem Speicher | |
| JP2863693B2 (ja) | 仮想記憶システムにおけるデータ転送装置及びその方法 | |
| EP0062165A2 (en) | Multiprocessors including private and shared caches | |
| JPH0784883A (ja) | 仮想計算機システムのアドレス変換バッファパージ方法 | |
| JPH10240707A (ja) | 主記憶共有型マルチプロセッサ | |
| CA1300279C (en) | Central processor unit for digital data processing system including cache management mechanism | |
| US5339417A (en) | Computer system with two levels of guests | |
| US5459872A (en) | Software control of hardware interruptions | |
| US5966733A (en) | Optimizing data movement with hardware operations | |
| EP0404560A2 (en) | Improved multiprocessor system | |
| JP3169624B2 (ja) | プロセッサ間通信方法およびそのための並列プロセッサ | |
| US8719499B2 (en) | Cache-line based notification | |
| US20120151153A1 (en) | Programmable Controller | |
| JP2846888B2 (ja) | 分散共有メモリを持つマルチプロセッサシステム | |
| JPH1185547A (ja) | 仮想クラスタ構成方法 | |
| JP3022398B2 (ja) | 仮想計算機方式 | |
| DE3882298T2 (de) | Schaltung zur steuersignalerzeugung für eine arithmetische logische einheit in einem digitalverarbeitungsgerät. | |
| CA1300275C (en) | Destination control logic for arithmetic and logic unit for digital data processor | |
| EP0550290A2 (en) | CPU register array | |
| JP2798140B2 (ja) | 仮想空間制御方式 | |
| JPS63286944A (ja) | アドレス変換バツフア無効化方式 |