JPS59180767A - 直列化装置 - Google Patents
直列化装置Info
- Publication number
- JPS59180767A JPS59180767A JP59017261A JP1726184A JPS59180767A JP S59180767 A JPS59180767 A JP S59180767A JP 59017261 A JP59017261 A JP 59017261A JP 1726184 A JP1726184 A JP 1726184A JP S59180767 A JPS59180767 A JP S59180767A
- Authority
- JP
- Japan
- Prior art keywords
- register
- address
- processor
- page
- instruction
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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)
- Memory System Of A Hierarchy Structure (AREA)
- Multi Processors (AREA)
- Memory System (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔技術分野〕
本発明はマルチプロセッサコンピュータシステムとりわ
けマルチプロセラツーに対して命令の同時実行を可能に
するための直列化装置に関する。
けマルチプロセラツーに対して命令の同時実行を可能に
するための直列化装置に関する。
記憶装置のアクセスに対する直列化機構(記憶保護1機
構とは異なる)は次のように働く;2台以上のプロセッ
サが同じ記憶場所を更新しようとする場合、あるプロセ
ラvVc、よる内容の更新が他のプロセラVによって変
更されることはない。同時にアクセスされている記憶場
所のアクセスを完了することができるのは1台のプロセ
ッサだけであシ、他の全てのプロセツvVc対しては、
そのアクセスが完了するまではその記憶場所がロックさ
れる。マルチプロセッサコンピュータシステムにおいて
は、プロセッサの間で命令ごとに互いに連絡をとV合う
ことなく各プロセッサが全く独立に、かつ非同期的に命
令ストリームを実行する場合がある。全てのもしくは大
部分の命令が記憶装置全体のアクセスの直列化を必要と
する場合は、そのマルチプロセッサコンピュータシステ
ムの性能はユニプロセッサコンピュータシステムの性能
に近づいてしまう。
構とは異なる)は次のように働く;2台以上のプロセッ
サが同じ記憶場所を更新しようとする場合、あるプロセ
ラvVc、よる内容の更新が他のプロセラVによって変
更されることはない。同時にアクセスされている記憶場
所のアクセスを完了することができるのは1台のプロセ
ッサだけであシ、他の全てのプロセツvVc対しては、
そのアクセスが完了するまではその記憶場所がロックさ
れる。マルチプロセッサコンピュータシステムにおいて
は、プロセッサの間で命令ごとに互いに連絡をとV合う
ことなく各プロセッサが全く独立に、かつ非同期的に命
令ストリームを実行する場合がある。全てのもしくは大
部分の命令が記憶装置全体のアクセスの直列化を必要と
する場合は、そのマルチプロセッサコンピュータシステ
ムの性能はユニプロセッサコンピュータシステムの性能
に近づいてしまう。
従来の直列化機構は、記憶装置全体のアクセスを命令実
行中の1台のプロセッサに制限していた。
行中の1台のプロセッサに制限していた。
このためにマルチプロセッサコンピュータシステムの性
能が低下する。このタイプの直列化機構の従来列がI
BM Technical Disclosure
Bulletin、第26巻、1801ページ乃至18
04ページVC記載されている。
能が低下する。このタイプの直列化機構の従来列がI
BM Technical Disclosure
Bulletin、第26巻、1801ページ乃至18
04ページVC記載されている。
本発明の目的はマルチプロセッサコンピユークシステム
に、1つの命令の実行期間中に記憶装置の一部分だけを
ロックする直列化装置を提供することである。
に、1つの命令の実行期間中に記憶装置の一部分だけを
ロックする直列化装置を提供することである。
(3)
〔発明の概要〕
本発明においては、あるプロセッサで命令が実行てれる
場合にその命令のオペランドを含むページがロックきれ
、他のプロセッサは既にロックでれているページのアク
セスを要求するもので1ない限りどのような命令でも何
らの遅延なしに実行することができる。命令の終了時に
その命令によってロッつてれているページはアンロック
でれる。。
場合にその命令のオペランドを含むページがロックきれ
、他のプロセッサは既にロックでれているページのアク
セスを要求するもので1ない限りどのような命令でも何
らの遅延なしに実行することができる。命令の終了時に
その命令によってロッつてれているページはアンロック
でれる。。
@1図は本発明を利用するマルチプロセッサコンピュー
タシステムを表わすブロック図である。
タシステムを表わすブロック図である。
第1図のプロセラv10.20.30. 及び40は
制御装置50を介して主記憶装置100をアクセスする
命令を同時に実行することができる。簡単のために各々
のプロセッサに関連する入出力装置及びチャネルは図示
しないが、システムに含まれているものとする。各々の
プロセッサは仮想アドレスを利用して主記憶装置100
のアドレス指(4) 定を行なう。各々のプロセッサは仮想アドレス変換機構
を有しており、それは仮想アドレスから実アドレスへの
変換を行う。主記憶装置100はあらかじめ定められた
数のページフレームを有しておシ、本実施例ではこれら
は仮想記憶装置の512バイトのページアウトしている
。仮想記憶装置及び仮想アドレス指定の概念は良く知ら
れた技術である。プロセッサのプログラムのどんなデー
タバイトも2つのアドレヌ即ち仮想アドレスと実アドレ
スとを持っている。プログラム処理中にどのページ(即
ち512バイトのブロック)も、主記憶装置100から
補助記憶装置へのページアウトが可能である。またプロ
グラム処理が終了する前に主記憶装置100の新しい場
所に何度もページインすることもできる。従って、デー
タバイトの仮想アドレスは変化しないが、その主記憶装
置100における実アドレスはプログラム実行中に何度
も変更はれることがある。
制御装置50を介して主記憶装置100をアクセスする
命令を同時に実行することができる。簡単のために各々
のプロセッサに関連する入出力装置及びチャネルは図示
しないが、システムに含まれているものとする。各々の
プロセッサは仮想アドレスを利用して主記憶装置100
のアドレス指(4) 定を行なう。各々のプロセッサは仮想アドレス変換機構
を有しており、それは仮想アドレスから実アドレスへの
変換を行う。主記憶装置100はあらかじめ定められた
数のページフレームを有しておシ、本実施例ではこれら
は仮想記憶装置の512バイトのページアウトしている
。仮想記憶装置及び仮想アドレス指定の概念は良く知ら
れた技術である。プロセッサのプログラムのどんなデー
タバイトも2つのアドレヌ即ち仮想アドレスと実アドレ
スとを持っている。プログラム処理中にどのページ(即
ち512バイトのブロック)も、主記憶装置100から
補助記憶装置へのページアウトが可能である。またプロ
グラム処理が終了する前に主記憶装置100の新しい場
所に何度もページインすることもできる。従って、デー
タバイトの仮想アドレスは変化しないが、その主記憶装
置100における実アドレスはプログラム実行中に何度
も変更はれることがある。
各々のプロセッサによる主記憶装置100のアクセス要
求c以下、MS要求という)は一旦、連想レジスフスタ
ック150に受は取られる。各々のプロセッサが使用し
ているページのアドレスは連想レジスタスタック150
に保持される。連想レジスタスタック150がページア
ドレスを保持することによって各々のプロセッサは主記
憶装置100の特定のページを占有できる。本発明にお
いては、命令の実行期間に直列化が行われる。命令の取
出しの際には主記憶装置100の直列化は必要ではない
。、というのはこの時プロセッサは読取りは行うが書込
みはしないからである。直列化が必要なのは命令オペラ
ンドだけである。本実施例においては、命令は2つのオ
ペランドを有しておシどちらのオペランドも256バイ
ト以内の長さである。従って最大長のオペランドは1ペ
ージの半分を占める。連想レジスタスタック150は、
4つのレジスタブロックから成シフロセッサ10.20
.30、及び40に対してレジスタブロック160.1
701,180.及び190をそれぞれ備えている(第
3図)。
求c以下、MS要求という)は一旦、連想レジスフスタ
ック150に受は取られる。各々のプロセッサが使用し
ているページのアドレスは連想レジスタスタック150
に保持される。連想レジスタスタック150がページア
ドレスを保持することによって各々のプロセッサは主記
憶装置100の特定のページを占有できる。本発明にお
いては、命令の実行期間に直列化が行われる。命令の取
出しの際には主記憶装置100の直列化は必要ではない
。、というのはこの時プロセッサは読取りは行うが書込
みはしないからである。直列化が必要なのは命令オペラ
ンドだけである。本実施例においては、命令は2つのオ
ペランドを有しておシどちらのオペランドも256バイ
ト以内の長さである。従って最大長のオペランドは1ペ
ージの半分を占める。連想レジスタスタック150は、
4つのレジスタブロックから成シフロセッサ10.20
.30、及び40に対してレジスタブロック160.1
701,180.及び190をそれぞれ備えている(第
3図)。
プロセラv10.20.30、及び40のうちの2つの
間にデッドロックが起こる場合がある。
間にデッドロックが起こる場合がある。
何故なら2つのプロセッサが主記憶装置100の同しペ
ージを占有したい場合があるからである。。
ージを占有したい場合があるからである。。
そのデッドロックを解消する論理を第2図に示す。
2つのプロセッサの間でデッドロックが生じるとMS要
求指令はX回拒否でれる。そうするとプロセッサは、連
想レジスタスタック150のエントリを変更することに
よって、すでに保持でれているロックを、解除し、命令
の実行を再開する。各々のプロセラv10.20.6o
および4oの拒否回数Xはプロセッサごとに異なってい
てもよい。
求指令はX回拒否でれる。そうするとプロセッサは、連
想レジスタスタック150のエントリを変更することに
よって、すでに保持でれているロックを、解除し、命令
の実行を再開する。各々のプロセラv10.20.6o
および4oの拒否回数Xはプロセッサごとに異なってい
てもよい。
これはデッドロックの反復を防ぐ。
あるプロセッサによる命令の取出しが終わると、命令(
D 第1オペランドが取り出でれこれに関iするレジス
タブロック160,170,18()または190にエ
ントリが作られる。もし第1オペランドが異なるページ
vcまたがつτいれば、レジスタブロックにある第1オ
ペランドページクロスレジスタにエントリが作られる。
D 第1オペランドが取り出でれこれに関iするレジス
タブロック160,170,18()または190にエ
ントリが作られる。もし第1オペランドが異なるページ
vcまたがつτいれば、レジスタブロックにある第1オ
ペランドページクロスレジスタにエントリが作られる。
次に第2オペランドが取り出でれて関連するレジスタに
エントリが(7) 作られる。第2オペランドも異なるページにまたがって
いると、レジスタブロックにある第2オペランドベージ
クロスレジスタにエントリが作られる。、との特定のプ
ロセッサに関連するレジスタブロックのエントリによっ
て全てのオペランドがうまくロックでれた場合にのみ、
命令の実行は続行てれる。
エントリが(7) 作られる。第2オペランドも異なるページにまたがって
いると、レジスタブロックにある第2オペランドベージ
クロスレジスタにエントリが作られる。、との特定のプ
ロセッサに関連するレジスタブロックのエントリによっ
て全てのオペランドがうまくロックでれた場合にのみ、
命令の実行は続行てれる。
第2図で、ブロック31[1においてMS要求が拒否て
れたとすると1.ブロック315の遅延の後に、ブロッ
ク620においてMS要求が再試行でれる。ブロック3
25においてMS要求が拒否でれるかどうかを判定し、
拒否の場合はブロック330で再試行がX回目がどうか
を調べる。もしX回目であれば、有効レジメタラッチ(
これについては後VC説明する)がブロック335Vc
おいてリセット−gれて、ブロック340VCおいて命
令を再開する。もし命令がうまく完了すれば、当該プロ
セッサは、関連するレジスタブロックのエントリを無効
にして、その命令についての全てのロックを解除する。
れたとすると1.ブロック315の遅延の後に、ブロッ
ク620においてMS要求が再試行でれる。ブロック3
25においてMS要求が拒否でれるかどうかを判定し、
拒否の場合はブロック330で再試行がX回目がどうか
を調べる。もしX回目であれば、有効レジメタラッチ(
これについては後VC説明する)がブロック335Vc
おいてリセット−gれて、ブロック340VCおいて命
令を再開する。もし命令がうまく完了すれば、当該プロ
セッサは、関連するレジスタブロックのエントリを無効
にして、その命令についての全てのロックを解除する。
(8)
第3図について説明す枳、データはデータ入力バス55
を介して制御装置50(第1図)から主記憶装置100
に入る。またデータはデータ出力バス60を介して主記
憶装置1ooがらプロセッサのうちの1つに読み取られ
る。データの読取シおよび書込みが行われている間に主
記憶装置アドレスバス70を介して制御装置5oがら主
記憶装置100Vcアドレスが送られる6、主記憶装置
1゜Dのページアドレスはまたページアドレスバス27
1を介してレジスタブロック160,170゜1801
および190に送られる。プロセッサのうちの1つによ
って命令アドレスが主記憶装置アドレスバス70へ出力
でれるとき、そのプロセッサは関連するMS要求線を活
動化する。MS要求線11.21.31および41はプ
ロセッサ10゜20.30、および4Df/jそれぞれ
対応している。
を介して制御装置50(第1図)から主記憶装置100
に入る。またデータはデータ出力バス60を介して主記
憶装置1ooがらプロセッサのうちの1つに読み取られ
る。データの読取シおよび書込みが行われている間に主
記憶装置アドレスバス70を介して制御装置5oがら主
記憶装置100Vcアドレスが送られる6、主記憶装置
1゜Dのページアドレスはまたページアドレスバス27
1を介してレジスタブロック160,170゜1801
および190に送られる。プロセッサのうちの1つによ
って命令アドレスが主記憶装置アドレスバス70へ出力
でれるとき、そのプロセッサは関連するMS要求線を活
動化する。MS要求線11.21.31および41はプ
ロセッサ10゜20.30、および4Df/jそれぞれ
対応している。
レジスタブロック160.170,180.および19
0は全く同一のものでその詳細を第4図に示す3、例え
ばレジスタブロック160は4つのレジ−1’21:1
1.203.205および207を有しており、そのう
ちの2つは第1オペランド、残りの2つは第2オペラン
ドのためのものである。。
0は全く同一のものでその詳細を第4図に示す3、例え
ばレジスタブロック160は4つのレジ−1’21:1
1.203.205および207を有しており、そのう
ちの2つは第1オペランド、残りの2つは第2オペラン
ドのためのものである。。
レジスタブロックの機能について説明する。MS要求を
出したプロセッサに関連するレジスタブロックは、AN
D回路を禁止することによってアドレス不一致を強制す
る1、レジヌクブロック160においてはそのAND回
路は226.227.228、および229でめシ、そ
れらは比較器210.211.212、および213の
出力をそれぞれ受は取る1、比較器210.211.2
12、および213はレジスタ201.203.205
および2070ページアドレスとページアドレスバス7
1上にろるページアドレスとをそれぞれ比較する3、こ
れらの比較結果を、インバータ231を介してMS要求
信号が禁止する。MS要求が1市てれている間はそのレ
ジスタブロックの比較結果は無視される3、言い換えれ
ばMS要求信号がアドレス不一致を強制する3、シかし
ながら他のレジスタブロックの比較結果は無視されるこ
とはない、。
出したプロセッサに関連するレジスタブロックは、AN
D回路を禁止することによってアドレス不一致を強制す
る1、レジヌクブロック160においてはそのAND回
路は226.227.228、および229でめシ、そ
れらは比較器210.211.212、および213の
出力をそれぞれ受は取る1、比較器210.211.2
12、および213はレジスタ201.203.205
および2070ページアドレスとページアドレスバス7
1上にろるページアドレスとをそれぞれ比較する3、こ
れらの比較結果を、インバータ231を介してMS要求
信号が禁止する。MS要求が1市てれている間はそのレ
ジスタブロックの比較結果は無視される3、言い換えれ
ばMS要求信号がアドレス不一致を強制する3、シかし
ながら他のレジスタブロックの比較結果は無視されるこ
とはない、。
何故ならそのプロセッサにおいてはMS要求信号は不活
動となっているからである。そしてもしアドレス一致が
あれば主記憶装置100のアクセスは許可でれることは
ない。もしアドレス一致がなければ主記憶装置100の
アクセスは許可σれて、そのプロセッサ゛が主記憶装置
100のアクセスを要求(ただし命令取出しのためのア
クセス要求ではない)している間にアクセスすべきペー
ジアドレスを関連するレジスタブロックの適切なレジス
タに書き込む。
動となっているからである。そしてもしアドレス一致が
あれば主記憶装置100のアクセスは許可でれることは
ない。もしアドレス一致がなければ主記憶装置100の
アクセスは許可σれて、そのプロセッサ゛が主記憶装置
100のアクセスを要求(ただし命令取出しのためのア
クセス要求ではない)している間にアクセスすべきペー
ジアドレスを関連するレジスタブロックの適切なレジス
タに書き込む。
2つのAND回路のグループがレジスタへのページアド
レスの書込みを制御する。ページアドレスはAND回路
221.222.223、及び224に送られる。これ
らのAND回路は実際にはべ一ジアドレヌのビットごと
に設けられている。
レスの書込みを制御する。ページアドレスはAND回路
221.222.223、及び224に送られる。これ
らのAND回路は実際にはべ一ジアドレヌのビットごと
に設けられている。
これらのAND回路の出力はレジスタ201.203.
205、および207にそれぞれ接続されており、AN
D回路216.217.218、および219の出力に
よってそれぞれ条件づけられる。レジスタの選択はAN
D回路2116.217.218、および219によっ
て遂行てれる4、これらのAND回路はレジスタ選択バ
ス215から信号を受は取る入力を有している。これら
のAND回路はインバTり220を介して命令取出し信
号によって禁止でれ、経路110を介してAND回路1
05(第6図)からくるM S−+)’イクル許可信号
によって条件づけられる。、これらのAND回路が出力
を有するには妊らにMS要求信号もなければならない。
205、および207にそれぞれ接続されており、AN
D回路216.217.218、および219の出力に
よってそれぞれ条件づけられる。レジスタの選択はAN
D回路2116.217.218、および219によっ
て遂行てれる4、これらのAND回路はレジスタ選択バ
ス215から信号を受は取る入力を有している。これら
のAND回路はインバTり220を介して命令取出し信
号によって禁止でれ、経路110を介してAND回路1
05(第6図)からくるM S−+)’イクル許可信号
によって条件づけられる。、これらのAND回路が出力
を有するには妊らにMS要求信号もなければならない。
従ってプロセッサが主記憶装置のアクセスを要求してお
りかつ命令の取出しが行われていない」場合にのみペー
ジアドレスが関連するレジスタブロック中の適切外レジ
ヌクに書き込まれる。
りかつ命令の取出しが行われていない」場合にのみペー
ジアドレスが関連するレジスタブロック中の適切外レジ
ヌクに書き込まれる。
ページアドレスが適切なレジスタに入ると、有効レジス
クラッチ202.204.206、および20Bのうち
の関連する有効レジスタラッチがセットgれる。これら
のランチのセット出力はAND回路226.227.2
28、および229にそれぞれ印加でれる。、有効レジ
スクラッチは主記憶装置100の特定のページをロック
する働きがあり、命令実行サイクルの終了時においてプ
ロセッサによってリセット−gれなければならない。
クラッチ202.204.206、および20Bのうち
の関連する有効レジスタラッチがセットgれる。これら
のランチのセット出力はAND回路226.227.2
28、および229にそれぞれ印加でれる。、有効レジ
スクラッチは主記憶装置100の特定のページをロック
する働きがあり、命令実行サイクルの終了時においてプ
ロセッサによってリセット−gれなければならない。
プロセッサ10.20,30.および4oは有効レジヌ
クリセット信号を線12.22、ろ2、および42Vc
それぞれ出力してこれを達成する。
クリセット信号を線12.22、ろ2、および42Vc
それぞれ出力してこれを達成する。
ここで命令実行シーケンスに於る連想レジスタスタック
150の動作について説明する。命令アドレスはプロセ
ッサ10,20,30.および40のうちの1つによっ
て制御装置5oを介して主記憶装置アドレスバス70を
通過して主記憶装置100に送られる。レジスタブロッ
ク160,170.180、および190の有効レジス
タラッチは初めは全てリセットされており従ってレジス
タブロック160においてOR回路230の出力、およ
び他の全てのレジスタブロックにおいてOR回路230
に相当するOR回路の出力、最終的には第3図のOR回
路240の出力は非活動となっている。従ってOR回路
240の出力はインバータ245によってAND回路1
05を条件付けてMSサイクル許可信号を線110に出
す。、主記憶装置アドレスを主記憶装置アドレスバス7
0に送出しているプロセッサ(例えばプロセッサ10)
は又MS要求信号を対応する線(プロセラyi oの場
合は線11)に出しているわ、レジスタブロックのレジ
スタの内容とページアドレスバス7111jているペー
ジアドレスとを比較して、ページアドレスがこれらのレ
ジヌクに入っているかどうかを判定する。レジスタブロ
ックに、bる全ての有効レジスクラッチがリセットてれ
ていれば、これらの一致は起こらずMSSザクルが許可
でれる。、MSサイクルが許可てれたことを示すAND
回路105の許可信号と、取シ出でれた命令とが、主記
憶装置100からデータ出力バス60を介して要求を出
しているプロセッサに送られる。命令が主記憶装置10
0から取り出でれているので(従って命令取出し信号が
出されている)、主記憶装置1QOのアクセスを要求し
ているプロセッサに関連したレジスタブロックのレジス
タにはページアドレスの書込みは行われない。
150の動作について説明する。命令アドレスはプロセ
ッサ10,20,30.および40のうちの1つによっ
て制御装置5oを介して主記憶装置アドレスバス70を
通過して主記憶装置100に送られる。レジスタブロッ
ク160,170.180、および190の有効レジス
タラッチは初めは全てリセットされており従ってレジス
タブロック160においてOR回路230の出力、およ
び他の全てのレジスタブロックにおいてOR回路230
に相当するOR回路の出力、最終的には第3図のOR回
路240の出力は非活動となっている。従ってOR回路
240の出力はインバータ245によってAND回路1
05を条件付けてMSサイクル許可信号を線110に出
す。、主記憶装置アドレスを主記憶装置アドレスバス7
0に送出しているプロセッサ(例えばプロセッサ10)
は又MS要求信号を対応する線(プロセラyi oの場
合は線11)に出しているわ、レジスタブロックのレジ
スタの内容とページアドレスバス7111jているペー
ジアドレスとを比較して、ページアドレスがこれらのレ
ジヌクに入っているかどうかを判定する。レジスタブロ
ックに、bる全ての有効レジスクラッチがリセットてれ
ていれば、これらの一致は起こらずMSSザクルが許可
でれる。、MSサイクルが許可てれたことを示すAND
回路105の許可信号と、取シ出でれた命令とが、主記
憶装置100からデータ出力バス60を介して要求を出
しているプロセッサに送られる。命令が主記憶装置10
0から取り出でれているので(従って命令取出し信号が
出されている)、主記憶装置1QOのアクセスを要求し
ているプロセッサに関連したレジスタブロックのレジス
タにはページアドレスの書込みは行われない。
命令を受は取ったプロセッサは、オペラントノ取出しを
開始して、命令の実行を始める。オペランドのアドレス
は主記憶装置アドレスバス70vC送られて、適切なM
S要求線が活動化する。ページアドレスが書き適寸れる
べきレジスタのアドレスはレジスタ選択バス215に送
られる。全てのプロセッサのレジスタブロックにおいて
ページアドレスの比較が行われて1.もし一致が生じな
いと仮定すると、第1オペランドのデータは、主記憶装
置のサイクルが許可でれていることを示すAND回路1
05のMSサイクル許可信号と共に、データ出力バス6
0を介して、命令を実行しているプロセッサに送られる
。1しかしながら今度は命令取出し信号が出でれていな
いので、第1オペランドのアドレスはそのオペランドに
関連するレジスタに入れられる。さらに関連する有効レ
ジスクラッチも七ット芒れる。
開始して、命令の実行を始める。オペランドのアドレス
は主記憶装置アドレスバス70vC送られて、適切なM
S要求線が活動化する。ページアドレスが書き適寸れる
べきレジスタのアドレスはレジスタ選択バス215に送
られる。全てのプロセッサのレジスタブロックにおいて
ページアドレスの比較が行われて1.もし一致が生じな
いと仮定すると、第1オペランドのデータは、主記憶装
置のサイクルが許可でれていることを示すAND回路1
05のMSサイクル許可信号と共に、データ出力バス6
0を介して、命令を実行しているプロセッサに送られる
。1しかしながら今度は命令取出し信号が出でれていな
いので、第1オペランドのアドレスはそのオペランドに
関連するレジスタに入れられる。さらに関連する有効レ
ジスクラッチも七ット芒れる。
命令を実行中のプロセッサは、第1オペランドがページ
境界を越えた場合は第1オペランドの残シの部分、そう
でない場合は第2オペランドの取出しを行う。第1オペ
ランドの残90部分を取り出すためのアドレスもしくは
第2オペランドを取シ出すためのアドレスは、第1オペ
ランドの最初の部分に関連したレジスタに記憶されてい
るアドレスとは一致しない。オペランドを取シ出すたび
に、ページアドレスがレジスタブロックの適切なレジス
タに置かれる。
境界を越えた場合は第1オペランドの残シの部分、そう
でない場合は第2オペランドの取出しを行う。第1オペ
ランドの残90部分を取り出すためのアドレスもしくは
第2オペランドを取シ出すためのアドレスは、第1オペ
ランドの最初の部分に関連したレジスタに記憶されてい
るアドレスとは一致しない。オペランドを取シ出すたび
に、ページアドレスがレジスタブロックの適切なレジス
タに置かれる。
命令の実行中にプロセンV(例えばプロセッサ10)が
、これらのレジスタにあるアドレスを使用する場合に、
比較器210.211.212、および216はアドレ
スの一致を通知する。しかしながらこうした一致の知ら
せはインバータ261によって無効となる。何故ならプ
ロセン?、10の使用に対してはこのアドレスは有効で
あるが他のプロセッサ20、ろ01および40vCとっ
ては有効ではないからである。1かくして主記憶装置1
0Dのアクセスを要求しているプロセラv10Vrc関
連するレジスタブロック160においては不一致が強制
でれるが、他のレジスタブロック170.180、およ
び190においては、プロセッサ20.30および40
が主記憶装置100のアクセスを要求していないので(
線21.31および41がオフ)比較結果は有効である
。こうして主記憶装置100のアクセスを要求している
プロセッサは、MSサイクルが許可σれるi、+ M
S ”jイクル許可信号を使用して、主記憶装置10口
のアクセスを要求しているプロセッサに関連するレジス
タブロックのレジスタの1つに、主記憶装置アドレスの
ページ部分をロードする。この場合のアクセス要求は命
令取出しのためのアクセス要求ではない() レジスタブロック160のAND回路216.217.
218、および219はMS要求信号によって条件づけ
られるが、今度はインバータ220を介して命令取出し
信号によって禁止てれることはない。AND回路216
.217.218、および219のうちの1つが条件づ
けられて、レジスタ選択バス215を介して所望の選択
がされると、AND回路216.217.218、およ
び219のうちの1つは、関連するAND回路221.
222.223、または224を条件づける信号を送り
、σらに関連する有効レジスクラッチ202.204.
206、または208をセットする。条件づけられたA
ND回路に関連するレジスタは主記憶装置1000ペー
ジアドレスを受は取る。有効レジスクラッチがセラ)−
Jれていると、関連するプロセッサが主記憶装置100
のアクセスを要求していなければ、ページアドレスの比
較が行なわれる。しかしながらプロセンv10が命令を
実行している間にプロセンv20.60、および40の
うちの1つのプロセッサが、レジスタ201.203.
205、および207のうちの1つのレジスタに記憶で
れているアドレスと同じアドレスの使用を要求した場合
は、アドレスの一致が生じて、セラトチれている有効レ
ジスクラッチに関連したAND回陥226.227.2
28、または229がアドレス一致信号を送シ、この信
号がOR回路240(第6図)を通ってMS要求拒否を
示す。
、これらのレジスタにあるアドレスを使用する場合に、
比較器210.211.212、および216はアドレ
スの一致を通知する。しかしながらこうした一致の知ら
せはインバータ261によって無効となる。何故ならプ
ロセン?、10の使用に対してはこのアドレスは有効で
あるが他のプロセッサ20、ろ01および40vCとっ
ては有効ではないからである。1かくして主記憶装置1
0Dのアクセスを要求しているプロセラv10Vrc関
連するレジスタブロック160においては不一致が強制
でれるが、他のレジスタブロック170.180、およ
び190においては、プロセッサ20.30および40
が主記憶装置100のアクセスを要求していないので(
線21.31および41がオフ)比較結果は有効である
。こうして主記憶装置100のアクセスを要求している
プロセッサは、MSサイクルが許可σれるi、+ M
S ”jイクル許可信号を使用して、主記憶装置10口
のアクセスを要求しているプロセッサに関連するレジス
タブロックのレジスタの1つに、主記憶装置アドレスの
ページ部分をロードする。この場合のアクセス要求は命
令取出しのためのアクセス要求ではない() レジスタブロック160のAND回路216.217.
218、および219はMS要求信号によって条件づけ
られるが、今度はインバータ220を介して命令取出し
信号によって禁止てれることはない。AND回路216
.217.218、および219のうちの1つが条件づ
けられて、レジスタ選択バス215を介して所望の選択
がされると、AND回路216.217.218、およ
び219のうちの1つは、関連するAND回路221.
222.223、または224を条件づける信号を送り
、σらに関連する有効レジスクラッチ202.204.
206、または208をセットする。条件づけられたA
ND回路に関連するレジスタは主記憶装置1000ペー
ジアドレスを受は取る。有効レジスクラッチがセラ)−
Jれていると、関連するプロセッサが主記憶装置100
のアクセスを要求していなければ、ページアドレスの比
較が行なわれる。しかしながらプロセンv10が命令を
実行している間にプロセンv20.60、および40の
うちの1つのプロセッサが、レジスタ201.203.
205、および207のうちの1つのレジスタに記憶で
れているアドレスと同じアドレスの使用を要求した場合
は、アドレスの一致が生じて、セラトチれている有効レ
ジスクラッチに関連したAND回陥226.227.2
28、または229がアドレス一致信号を送シ、この信
号がOR回路240(第6図)を通ってMS要求拒否を
示す。
MS要求拒否信号は、例えばプロセンv10が既に開始
した命令の実行を完了していない場合に・のみ生成てれ
る。命令の実行を終ると、セットされている全ての有効
レジスタラッテ202.204.206、および208
に対して、プo セラ”jloは有効レジスタラッチリ
セット信号を線12に送る。レジスタ201.203.
205、および207のうちの1つのレジスタにアドレ
スがあってアドレヌ一致が起ったとしても、このアドレ
ス一致は有効とはならない。何故なら有効レジスクラッ
チ202.204.206、および208は全てリセラ
トテれており、それに関連するどのAND回路(AND
回路226,227.228、および229)も条件づ
けられていないからである。以上のようにしてアドレス
一致が無視でれる。従って1つの命令サイクルの間にの
み、例えばプロセッサ10によって保持てれるロックは
その後解除σれて、その結果プロセッサ10がすでにア
クセスを終えた同じ記憶場所を、別のプロセラ′+j(
例えばプロセッサ20)がアクセスできる1、またアク
セスv10が命令を実行している間は、例えばプロセラ
+!72[]Kとっては、プロ七ツサ1[)Kよってす
でにアクセスされた記憶場所以外の記憶場所のアクセス
は可能である。
した命令の実行を完了していない場合に・のみ生成てれ
る。命令の実行を終ると、セットされている全ての有効
レジスタラッテ202.204.206、および208
に対して、プo セラ”jloは有効レジスタラッチリ
セット信号を線12に送る。レジスタ201.203.
205、および207のうちの1つのレジスタにアドレ
スがあってアドレヌ一致が起ったとしても、このアドレ
ス一致は有効とはならない。何故なら有効レジスクラッ
チ202.204.206、および208は全てリセラ
トテれており、それに関連するどのAND回路(AND
回路226,227.228、および229)も条件づ
けられていないからである。以上のようにしてアドレス
一致が無視でれる。従って1つの命令サイクルの間にの
み、例えばプロセッサ10によって保持てれるロックは
その後解除σれて、その結果プロセッサ10がすでにア
クセスを終えた同じ記憶場所を、別のプロセラ′+j(
例えばプロセッサ20)がアクセスできる1、またアク
セスv10が命令を実行している間は、例えばプロセラ
+!72[]Kとっては、プロ七ツサ1[)Kよってす
でにアクセスされた記憶場所以外の記憶場所のアクセス
は可能である。
第1図は本発明を利用するマルチプロセラヶコンピュー
タシステムを表わすブロック図、第2図はデッドロック
を回避し解除するための論理を表わす流れ図、第6図は
主記憶装置と各々のレジスタブロックとの関係を表わす
ブロック図、第4図は第6図のレジスタブロックのうち
の1つを詳細に表わすブロック図である。
タシステムを表わすブロック図、第2図はデッドロック
を回避し解除するための論理を表わす流れ図、第6図は
主記憶装置と各々のレジスタブロックとの関係を表わす
ブロック図、第4図は第6図のレジスタブロックのうち
の1つを詳細に表わすブロック図である。
Claims (1)
- 【特許請求の範囲】 少なくとも2台のプロセッサが、複数個のページを有す
る記憶装置を共有するマルチプロセッサコンピュータシ
ステムにおいて、 プロセツvvc対して記憶装置のアクセスが許可された
ときに、アクセスでれたページのアドレスを記憶するレ
ジスタと、 前記記憶装置へのアクセス要求に係るページのアドレス
と、前記レジスタに記憶でれているアドレスとを比較す
る比較器と、 該比較器においてアドレス一致が検出でれた場合はアク
セス要求を拒否する拒否信号を発生し、アドレス不一致
が検出された場合はアクセス要求を許可する許可信号を
発生する信号発生手段とを具備する直列化装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
AU46170/85A AU579883B2 (en) | 1984-02-03 | 1985-08-14 | Optical fiber connection |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US06/479,281 US4891749A (en) | 1983-03-28 | 1983-03-28 | Multiprocessor storage serialization apparatus |
Publications (1)
Publication Number | Publication Date |
---|---|
JPS59180767A true JPS59180767A (ja) | 1984-10-13 |
Family
ID=23903349
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP59017261A Pending JPS59180767A (ja) | 1983-03-28 | 1984-02-03 | 直列化装置 |
Country Status (4)
Country | Link |
---|---|
US (1) | US4891749A (ja) |
EP (1) | EP0121700B1 (ja) |
JP (1) | JPS59180767A (ja) |
DE (1) | DE3480129D1 (ja) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH01502628A (ja) * | 1987-05-01 | 1989-09-07 | ディジタル イクイプメント コーポレーション | 多重ロック指示を使用した多重プロセッサコンピュータシステムにおけるトランザクションを開始する方法及び装置 |
JPH02500550A (ja) * | 1987-05-01 | 1990-02-22 | ディジタル イクイプメント コーポレーション | マルチプロセッサコンピュータシステムにおいて多数のロックインジケータを管理する方法及び装置 |
JPH02500783A (ja) * | 1987-05-01 | 1990-03-15 | ディジタル イクイプメント コーポレーション | コマンダノードからのインターロック読み取りコマンドメッセージをレスポンダノードで実行する装置 |
JPH03210657A (ja) * | 1989-11-09 | 1991-09-13 | Internatl Business Mach Corp <Ibm> | 多重プロセッサ・システム |
Families Citing this family (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5341510A (en) * | 1987-05-01 | 1994-08-23 | Digital Equipment Corporation | Commander node method and apparatus for assuring adequate access to system resources in a multiprocessor |
IN169634B (ja) * | 1987-07-01 | 1991-11-23 | Digital Equipment Corp | |
US5291581A (en) * | 1987-07-01 | 1994-03-01 | Digital Equipment Corporation | Apparatus and method for synchronization of access to main memory signal groups in a multiprocessor data processing system |
US4935849A (en) * | 1988-05-16 | 1990-06-19 | Stardent Computer, Inc. | Chaining and hazard apparatus and method |
US4969117A (en) * | 1988-05-16 | 1990-11-06 | Ardent Computer Corporation | Chaining and hazard apparatus and method |
US5142676A (en) * | 1988-12-28 | 1992-08-25 | Gte Laboratories Incorporated | Separate content addressable memories for storing locked segment addresses and locking processor identifications for controlling access to shared memory |
US5226159A (en) * | 1989-05-15 | 1993-07-06 | International Business Machines Corporation | File lock management in a distributed data processing system |
JPH07101410B2 (ja) * | 1990-01-17 | 1995-11-01 | インターナショナル、ビジネス、マシーンズ、コーポレーション | データ処理ネットワークにおいて逐次化手段の試験のため命令流の実行を同期させる方法 |
US5287473A (en) * | 1990-12-14 | 1994-02-15 | International Business Machines Corporation | Non-blocking serialization for removing data from a shared cache |
US5276835A (en) * | 1990-12-14 | 1994-01-04 | International Business Machines Corporation | Non-blocking serialization for caching data in a shared cache |
EP0513519A1 (en) * | 1991-05-15 | 1992-11-19 | International Business Machines Corporation | Memory system for multiprocessor systems |
JP2781092B2 (ja) * | 1991-11-06 | 1998-07-30 | 富士通株式会社 | システム間排他制御方式 |
JPH05210640A (ja) * | 1992-01-31 | 1993-08-20 | Hitachi Ltd | マルチプロセッサシステム |
US5388266A (en) * | 1992-03-30 | 1995-02-07 | International Business Machines Corporation | Management of data objects used intain state information for shared data at a local complex |
US5274823A (en) * | 1992-03-31 | 1993-12-28 | International Business Machines Corporation | Interrupt handling serialization for process level programming |
JP2675961B2 (ja) * | 1992-05-20 | 1997-11-12 | インターナショナル・ビジネス・マシーンズ・コーポレイション | 実記憶のページをロックするための方法 |
US5727155A (en) * | 1994-09-09 | 1998-03-10 | Intel Corporation | Method and apparatus for dynamically controlling a remote system's access to shared applications on a host system |
US5719890A (en) * | 1995-06-01 | 1998-02-17 | Micron Technology, Inc. | Method and circuit for transferring data with dynamic parity generation and checking scheme in multi-port DRAM |
US6487207B1 (en) | 1997-02-26 | 2002-11-26 | Micron Technology, Inc. | Shared buffer memory architecture for asynchronous transfer mode switching and multiplexing technology |
US6122714A (en) * | 1997-10-24 | 2000-09-19 | Compaq Computer Corp. | Order supporting mechanisms for use in a switch-based multi-processor system |
US6088791A (en) * | 1998-04-30 | 2000-07-11 | International Business Machines Corporation | Computer processor system for implementing the ESA/390 STOSM and STNSM instructions without serialization or artificially extending processor execution time |
US6088792A (en) * | 1998-04-30 | 2000-07-11 | International Business Machines Corporation | Avoiding processor serialization after an S/390 SPKA instruction |
US7953932B2 (en) * | 2008-02-13 | 2011-05-31 | International Business Machines Corporation | System and method for avoiding deadlocks when performing storage updates in a multi-processor environment |
US9160607B1 (en) * | 2012-11-09 | 2015-10-13 | Cray Inc. | Method and apparatus for deadlock avoidance |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS51116631A (en) * | 1975-04-07 | 1976-10-14 | Hitachi Ltd | Multiple application control system for memory device |
JPS526032A (en) * | 1975-07-04 | 1977-01-18 | Hitachi Ltd | Main storage control unit |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3469239A (en) * | 1965-12-02 | 1969-09-23 | Hughes Aircraft Co | Interlocking means for a multi-processor system |
US4318182A (en) * | 1974-04-19 | 1982-03-02 | Honeywell Information Systems Inc. | Deadlock detection and prevention mechanism for a computer system |
US4104718A (en) * | 1974-12-16 | 1978-08-01 | Compagnie Honeywell Bull (Societe Anonyme) | System for protecting shared files in a multiprogrammed computer |
US4037215A (en) * | 1976-04-30 | 1977-07-19 | International Business Machines Corporation | Key controlled address relocation translation system |
US4099243A (en) * | 1977-01-18 | 1978-07-04 | Honeywell Information Systems Inc. | Memory block protection apparatus |
US4325116A (en) * | 1979-08-21 | 1982-04-13 | International Business Machines Corporation | Parallel storage access by multiprocessors |
GB2059652B (en) * | 1979-09-29 | 1983-08-24 | Plessey Co Ltd | Memory protection system using capability registers |
US4415972A (en) * | 1980-12-29 | 1983-11-15 | Sperry Corporation | Dual port memory interlock |
US4435766A (en) * | 1981-06-16 | 1984-03-06 | International Business Machines Corporation | Nested resource control using locking and unlocking routines with use counter for plural processes |
US4445197A (en) * | 1981-10-27 | 1984-04-24 | International Business Machines Corporation | Weak synchronization and scheduling among concurrent asynchronous processors |
-
1983
- 1983-03-28 US US06/479,281 patent/US4891749A/en not_active Expired - Fee Related
-
1984
- 1984-02-03 JP JP59017261A patent/JPS59180767A/ja active Pending
- 1984-02-20 DE DE8484101734T patent/DE3480129D1/de not_active Expired
- 1984-02-20 EP EP84101734A patent/EP0121700B1/en not_active Expired
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS51116631A (en) * | 1975-04-07 | 1976-10-14 | Hitachi Ltd | Multiple application control system for memory device |
JPS526032A (en) * | 1975-07-04 | 1977-01-18 | Hitachi Ltd | Main storage control unit |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH01502628A (ja) * | 1987-05-01 | 1989-09-07 | ディジタル イクイプメント コーポレーション | 多重ロック指示を使用した多重プロセッサコンピュータシステムにおけるトランザクションを開始する方法及び装置 |
JPH02500550A (ja) * | 1987-05-01 | 1990-02-22 | ディジタル イクイプメント コーポレーション | マルチプロセッサコンピュータシステムにおいて多数のロックインジケータを管理する方法及び装置 |
JPH02500783A (ja) * | 1987-05-01 | 1990-03-15 | ディジタル イクイプメント コーポレーション | コマンダノードからのインターロック読み取りコマンドメッセージをレスポンダノードで実行する装置 |
JPH0587855B2 (ja) * | 1987-05-01 | 1993-12-20 | Digital Equipment Corp | |
JPH03210657A (ja) * | 1989-11-09 | 1991-09-13 | Internatl Business Mach Corp <Ibm> | 多重プロセッサ・システム |
Also Published As
Publication number | Publication date |
---|---|
EP0121700A3 (en) | 1987-11-19 |
EP0121700B1 (en) | 1989-10-11 |
DE3480129D1 (en) | 1989-11-16 |
EP0121700A2 (en) | 1984-10-17 |
US4891749A (en) | 1990-01-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPS59180767A (ja) | 直列化装置 | |
US4481573A (en) | Shared virtual address translation unit for a multiprocessor system | |
US4831520A (en) | Bus interface circuit for digital data processor | |
US5761734A (en) | Token-based serialisation of instructions in a multiprocessor system | |
US4504902A (en) | Cache arrangement for direct memory access block transfer | |
US4851991A (en) | Central processor unit for digital data processing system including write buffer management mechanism | |
US4831581A (en) | Central processor unit for digital data processing system including cache management mechanism | |
KR100293594B1 (ko) | 공유메모리로의배타적액세스를실행하는멀티프로세서시스템 | |
US5091845A (en) | System for controlling the storage of information in a cache memory | |
US5119484A (en) | Selections between alternate control word and current instruction generated control word for alu in respond to alu output and current instruction | |
US5226170A (en) | Interface between processor and special instruction processor in digital data processing system | |
US6970963B2 (en) | Apparatus and method for synchronizing multiple accesses to common resources | |
JPS6079446A (ja) | 多重仮想記憶デ−タ処理装置 | |
US5276892A (en) | Destination control logic for arithmetic and logic unit for digital data processor | |
JPS6153747B2 (ja) | ||
JPS6059621B2 (ja) | バッファ無効化制御方式 | |
JPS61141054A (ja) | 情報処理装置 | |
JP3226557B2 (ja) | マルチプロセッサシステム | |
JP2588547B2 (ja) | マルチcpuシステム | |
CA1300275C (en) | Destination control logic for arithmetic and logic unit for digital data processor | |
JPH0322053A (ja) | ムーブ・イン・バッファ制御方式 | |
JPH0196746A (ja) | キヤツシユ装置 | |
JPH0468659B2 (ja) | ||
JPH0697438B2 (ja) | 記憶装置 | |
JPH04160543A (ja) | キャッシュ装置 |