JPS6361699B2 - - Google Patents
Info
- Publication number
- JPS6361699B2 JPS6361699B2 JP18477183A JP18477183A JPS6361699B2 JP S6361699 B2 JPS6361699 B2 JP S6361699B2 JP 18477183 A JP18477183 A JP 18477183A JP 18477183 A JP18477183 A JP 18477183A JP S6361699 B2 JPS6361699 B2 JP S6361699B2
- Authority
- JP
- Japan
- Prior art keywords
- lock
- request
- test
- unlock
- processor
- 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
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/36—Handling requests for interconnection or transfer for access to common bus or bus system
Landscapes
- Engineering & Computer Science (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つもロツクをとつていない
場合が大半であるので、性能ロスが大きかつた。
発明の目的
したがつて、本発明の目的は、例外発生時に自
プロセツサがロツクしているものが1つもないと
きにはロツクに関する処理を一切行なわずに例外
処理を行なえるようにしたマルチプロセツサシス
テムを提供することである。
プロセツサがロツクしているものが1つもないと
きにはロツクに関する処理を一切行なわずに例外
処理を行なえるようにしたマルチプロセツサシス
テムを提供することである。
発明の構成
本発明のマルチプロセツサシステムは、テスト
アンドロツク要求を行なうテストアンドロツク要
求手段と、前記テストアンドロツク要求が成功し
たことを検出するロツク成功検出手段と、アンロ
ツク要求を行なうアンロツク要求手段と、アンロ
ツク要求を検出するアンロツク要求検出手段と、
前記ロツク成功検出手段がロツク成功を検出した
こと、および前記アンロツク要求検出手段がアン
ロツク要求を検出したことにより当該プロセツサ
がロツクしているものが少なくとも1つあるか否
かを識別する情報を保持する手段とを備える。
アンドロツク要求を行なうテストアンドロツク要
求手段と、前記テストアンドロツク要求が成功し
たことを検出するロツク成功検出手段と、アンロ
ツク要求を行なうアンロツク要求手段と、アンロ
ツク要求を検出するアンロツク要求検出手段と、
前記ロツク成功検出手段がロツク成功を検出した
こと、および前記アンロツク要求検出手段がアン
ロツク要求を検出したことにより当該プロセツサ
がロツクしているものが少なくとも1つあるか否
かを識別する情報を保持する手段とを備える。
このように、本発明は、当該プロセツサがロツ
クしているものが少なくとも1つあるか否かを判
別できるので、例外発生時に当該プロセツサがロ
ツクしているものが1つもないときにはロツクに
関する処理を一切行なわず例外処理を行なうこと
ができ、排他制御のオーバヘツドを軽減すること
ができる。
クしているものが少なくとも1つあるか否かを判
別できるので、例外発生時に当該プロセツサがロ
ツクしているものが1つもないときにはロツクに
関する処理を一切行なわず例外処理を行なうこと
ができ、排他制御のオーバヘツドを軽減すること
ができる。
発明を実施するための最良の形態
以下、本発明を実施例の図面を参照しながら説
明する。
明する。
第1図は本発明の一実施例に係るマルチプロセ
ツサシステムのブロツク図である。本実施例のマ
ルチプロセツサシステムは、複数の共通記憶装置
10,11,12と複数のプロセツサ21,2
1,22とシステム制御装置30とで構成され、
複数の共通記憶装置10,11,12とシステム
制御装置30はメモリバス50により接続され、
複数のプロセツサ20,21,22とシステム制
御装置30は共通バス40により接続されてい
る。プロセツサ20,21,22は、テストアン
ドロツク要求時にアドレス情報とともにロツクフ
ラグ情報およびロツクプロセツサ番号情報をシス
テム制御装置30に送出する。
ツサシステムのブロツク図である。本実施例のマ
ルチプロセツサシステムは、複数の共通記憶装置
10,11,12と複数のプロセツサ21,2
1,22とシステム制御装置30とで構成され、
複数の共通記憶装置10,11,12とシステム
制御装置30はメモリバス50により接続され、
複数のプロセツサ20,21,22とシステム制
御装置30は共通バス40により接続されてい
る。プロセツサ20,21,22は、テストアン
ドロツク要求時にアドレス情報とともにロツクフ
ラグ情報およびロツクプロセツサ番号情報をシス
テム制御装置30に送出する。
第3図aはテストアンドロツク要求時に送出す
るデータ(ロツクフラグ情報およびロツクプロセ
ツサ番号情報)のフオーマツトを示しており、0
ビツトのにロツクフラグ、1〜7ビツトにロツ
クしているプロセツサの番号が書きこまれてい
る。第3図bは共通記憶装置内における第3図a
のデータ(ロツクワード)の格納フオーマツトを
示す。ここで、テストアンドロツク要求とは、ア
ドレス情報で示されたアドレスのデータ(第3図
b)を読出し、ロツクフラグ情報が“0”なら
ばロツクフラグ情報およびロツクプロセツサ番号
情報をそのアドレス情報が示すエリアに書きこ
み、ロツクフラグ情報Vが“1”ならば書きこみ
は行なわない。この読出したロツクフラグ情報
が“0”のとき“ロツク成功”、“1”のとき“ロ
ツク不成功”と呼ぶ。
るデータ(ロツクフラグ情報およびロツクプロセ
ツサ番号情報)のフオーマツトを示しており、0
ビツトのにロツクフラグ、1〜7ビツトにロツ
クしているプロセツサの番号が書きこまれてい
る。第3図bは共通記憶装置内における第3図a
のデータ(ロツクワード)の格納フオーマツトを
示す。ここで、テストアンドロツク要求とは、ア
ドレス情報で示されたアドレスのデータ(第3図
b)を読出し、ロツクフラグ情報が“0”なら
ばロツクフラグ情報およびロツクプロセツサ番号
情報をそのアドレス情報が示すエリアに書きこ
み、ロツクフラグ情報Vが“1”ならば書きこみ
は行なわない。この読出したロツクフラグ情報
が“0”のとき“ロツク成功”、“1”のとき“ロ
ツク不成功”と呼ぶ。
第2図はプロセツサ20,21,22の構成の
一部を示すブロツク図である。テストアンドロツ
ク要求回路61が共通バス40を介してシステム
制御装置30にテストアンドロツク要求を行なう
と、ロツク成功、ロツク不成功がリプライ情報と
して共通バス40を介してシステム制御装置30
から送られてくる。このロツク成功、ロツク不成
功の情報はロツク成功検出回路62に入力し、
“ロツク成功”が検出されると、アツプダウンカ
ウンタ65に+1のカウント指示が行なわれる。
アロツク要求はアンロツク要求回路63により共
通バス40を介してシステム制御装置30に対し
て行なわれる。このアンロツク要求をアンロツク
要求検出回路64が検出すると、アツプダウンカ
ウンタ65に−1のカウント指示が行なわれる。
すなわち、アツプダウンカウンタ65がリセツト
状態、つまり“0”のときには当該プロセツサが
ロツクしているものはないことを意味し、アツプ
ダウンカウンタ65がセツト状態、つまり“0”
でないときには当該プロセツサがロツクしている
ものが少なくとも一つあることを意味する。例外
が例外制御回路66で検出されると、アツプダウ
ンカウンタ65の内容が調べられ、アツプダウン
カウンタ65がセツト状態のときに自プロセツサ
がロツクしたものをアンロツクする指示がアンロ
ツク要求回路63に出力される。自プロセツサが
ロツクしたものをアンロツクする処理は、第3図
bのロツクワードを0から順次nまで読出し、ロ
ツクプロセツサ番号か自プロセツサ番号であるロ
ツクされているロツクワードに対してアンロツク
要求を出していく。
一部を示すブロツク図である。テストアンドロツ
ク要求回路61が共通バス40を介してシステム
制御装置30にテストアンドロツク要求を行なう
と、ロツク成功、ロツク不成功がリプライ情報と
して共通バス40を介してシステム制御装置30
から送られてくる。このロツク成功、ロツク不成
功の情報はロツク成功検出回路62に入力し、
“ロツク成功”が検出されると、アツプダウンカ
ウンタ65に+1のカウント指示が行なわれる。
アロツク要求はアンロツク要求回路63により共
通バス40を介してシステム制御装置30に対し
て行なわれる。このアンロツク要求をアンロツク
要求検出回路64が検出すると、アツプダウンカ
ウンタ65に−1のカウント指示が行なわれる。
すなわち、アツプダウンカウンタ65がリセツト
状態、つまり“0”のときには当該プロセツサが
ロツクしているものはないことを意味し、アツプ
ダウンカウンタ65がセツト状態、つまり“0”
でないときには当該プロセツサがロツクしている
ものが少なくとも一つあることを意味する。例外
が例外制御回路66で検出されると、アツプダウ
ンカウンタ65の内容が調べられ、アツプダウン
カウンタ65がセツト状態のときに自プロセツサ
がロツクしたものをアンロツクする指示がアンロ
ツク要求回路63に出力される。自プロセツサが
ロツクしたものをアンロツクする処理は、第3図
bのロツクワードを0から順次nまで読出し、ロ
ツクプロセツサ番号か自プロセツサ番号であるロ
ツクされているロツクワードに対してアンロツク
要求を出していく。
第4図は本発明の他の実施例のプロセツサ2
0,21,22の構成の一部を示すブロツク図で
ある。コントロールストア71にはアンロツク制
御のマイクロプログラムが格納されている。コン
トロールストア71にはアドレスレジスタ72か
らアドレスが与えられる。アドレスレジスタ72
にはその内容を+1する加算回路73が接続され
ている。アドレスレジスタ72には何算回路73
の出力と分岐制御回路74から分岐アドレスフイ
ールドの内容が入力し、この2つの入力はコント
ロールストア71のシーケンス制御フイールドの
指示により選択される。この分岐アドレスフイー
ルドの内容により分岐アドレスが修飾され、複雑
な条件分岐動作が可能となる。コントロールスト
ア71から読出されたマイクロプログラムはコマ
ンドレジスタ75に格納され、その出力で当該プ
ロセツサの各種機能が制御される。マイクロプロ
グラムの指示によりテストアンドロツク要求回路
61が共通バス40を介してシステム制御装置3
0にテストアンドロツク要求を出すと、ロツク成
功、ロツク不成功の情報がシテム制御装置30か
ら共通バス40を介してロツク成功検出回路62
に送られてくる。ロツク成功がロツク成功検出回
路62で検出されるとフリツプフロツプ76がセ
ツトされる。マイクロプログラムの指示によりア
ンロツク要求回路63からアンロツク要求が共通
バス40を介してシステム制御装置30に送られ
る。マイクロプログラムは自プロセツサにとつて
最後のロツクに対してアンロツク指持を行なつた
ときにフリツプフロツプ76にリセツト指示を行
なう。例外が例外制御回路66で検出されたとき
にフリツプフロツプ76の状態がマイクロプログ
ラムの指示でテストされ、フリツプフロツプ76
がセツト状態ならばマイクロプログラムは第3図
bのロツクワードを0から順次nまで読出し、ロ
ツクプロセツサ番号が自プロセツサ番号と同じで
あればその読出したロツクワードに対してアンロ
ツク指示を行ない、フリツプフロツプ76がリセ
ツト状態ならばロツクに関する処理を行なわない
ように制御する。
0,21,22の構成の一部を示すブロツク図で
ある。コントロールストア71にはアンロツク制
御のマイクロプログラムが格納されている。コン
トロールストア71にはアドレスレジスタ72か
らアドレスが与えられる。アドレスレジスタ72
にはその内容を+1する加算回路73が接続され
ている。アドレスレジスタ72には何算回路73
の出力と分岐制御回路74から分岐アドレスフイ
ールドの内容が入力し、この2つの入力はコント
ロールストア71のシーケンス制御フイールドの
指示により選択される。この分岐アドレスフイー
ルドの内容により分岐アドレスが修飾され、複雑
な条件分岐動作が可能となる。コントロールスト
ア71から読出されたマイクロプログラムはコマ
ンドレジスタ75に格納され、その出力で当該プ
ロセツサの各種機能が制御される。マイクロプロ
グラムの指示によりテストアンドロツク要求回路
61が共通バス40を介してシステム制御装置3
0にテストアンドロツク要求を出すと、ロツク成
功、ロツク不成功の情報がシテム制御装置30か
ら共通バス40を介してロツク成功検出回路62
に送られてくる。ロツク成功がロツク成功検出回
路62で検出されるとフリツプフロツプ76がセ
ツトされる。マイクロプログラムの指示によりア
ンロツク要求回路63からアンロツク要求が共通
バス40を介してシステム制御装置30に送られ
る。マイクロプログラムは自プロセツサにとつて
最後のロツクに対してアンロツク指持を行なつた
ときにフリツプフロツプ76にリセツト指示を行
なう。例外が例外制御回路66で検出されたとき
にフリツプフロツプ76の状態がマイクロプログ
ラムの指示でテストされ、フリツプフロツプ76
がセツト状態ならばマイクロプログラムは第3図
bのロツクワードを0から順次nまで読出し、ロ
ツクプロセツサ番号が自プロセツサ番号と同じで
あればその読出したロツクワードに対してアンロ
ツク指示を行ない、フリツプフロツプ76がリセ
ツト状態ならばロツクに関する処理を行なわない
ように制御する。
第5図は以上説明したマイクロプログラムのア
ンロツク制御ルーチンの概略を示すフローチヤー
トである。
ンロツク制御ルーチンの概略を示すフローチヤー
トである。
第1図は本発明の一実施例に係るマルチプロセ
ツサシステムのブロツク図、第2図は本発明を構
成するプロセツサの実施例のブロツク図、第3図
aはテストアンドロツク要求時に送出するデータ
のフオーマツトを示す図、第3図bは共通記憶装
置内のロツクワードの格納フオーマツトを示す
図、第4図は本発明を構成するプロセツサの他の
実施例のブロツク図、第5図はアンロツク制御プ
ログラムのフローチヤートである。 10,11,12:共通記憶装置、20,2
1,22:プロセツサ、30:システム制御装
置、40:共通バス、50:メモリバス、61:
テストアンドロツク要求回路、62:ロツク成功
検出回路、63:アンロツク要求回路、64:ア
ンロツク要求検出回路、65:アツプダウンカウ
ンタ、66:例外制御回路、71:コントロール
ストア、72:アドレスレジスタ、73:加算回
路、74:分岐制御回路、75:コマンドレジス
タ、76:フリツプフロツプ。
ツサシステムのブロツク図、第2図は本発明を構
成するプロセツサの実施例のブロツク図、第3図
aはテストアンドロツク要求時に送出するデータ
のフオーマツトを示す図、第3図bは共通記憶装
置内のロツクワードの格納フオーマツトを示す
図、第4図は本発明を構成するプロセツサの他の
実施例のブロツク図、第5図はアンロツク制御プ
ログラムのフローチヤートである。 10,11,12:共通記憶装置、20,2
1,22:プロセツサ、30:システム制御装
置、40:共通バス、50:メモリバス、61:
テストアンドロツク要求回路、62:ロツク成功
検出回路、63:アンロツク要求回路、64:ア
ンロツク要求検出回路、65:アツプダウンカウ
ンタ、66:例外制御回路、71:コントロール
ストア、72:アドレスレジスタ、73:加算回
路、74:分岐制御回路、75:コマンドレジス
タ、76:フリツプフロツプ。
Claims (1)
- 1 複数のプロセツサと共通記憶装置とを備えて
構成され、ロツク/アンロツク方式の排他制御を
行なうマルチプロセツサシステムにおいて、テス
トアンドロツク要求を行なうテストアンドロツク
要求手段と、前記テストアンドロツク要求が成功
したことを検出するロツク成功検出手段と、アン
ロツク要求を行なうアンロツク要求手段と、アン
ロツク要求を検出するアンロツク要求検出手段
と、前記ロツク成功検出手段がロツク成功を検出
したこと、および前記アンロツク要求検出手段が
アンロツク要求を検出したことにより当該プロセ
ツサがロツクしているものが少なくとも1つある
か否かを識別する情報を保持する手段とを備える
ことを特徴とするマルチプロセツサシステム。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP18477183A JPS6077257A (ja) | 1983-10-03 | 1983-10-03 | マルチプロセツサシステム |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP18477183A JPS6077257A (ja) | 1983-10-03 | 1983-10-03 | マルチプロセツサシステム |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPS6077257A JPS6077257A (ja) | 1985-05-01 |
| JPS6361699B2 true JPS6361699B2 (ja) | 1988-11-30 |
Family
ID=16159025
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP18477183A Granted JPS6077257A (ja) | 1983-10-03 | 1983-10-03 | マルチプロセツサシステム |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPS6077257A (ja) |
-
1983
- 1983-10-03 JP JP18477183A patent/JPS6077257A/ja active Granted
Also Published As
| Publication number | Publication date |
|---|---|
| JPS6077257A (ja) | 1985-05-01 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US4733352A (en) | Lock control for a shared storage in a data processing system | |
| US4053752A (en) | Error recovery and control in a mass storage system | |
| EP0121700B1 (en) | Multiprocessor storage serialization apparatus | |
| US5136714A (en) | Method and apparatus for implementing inter-processor interrupts using shared memory storage in a multi-processor computer system | |
| US5522029A (en) | Fault tolerant rendezvous and semaphore for multiple parallel processors | |
| EP0363882B1 (en) | Multiprocessor system using communication register having processor-associated storage locations | |
| US3618042A (en) | Error detection and instruction reexecution device in a data-processing apparatus | |
| JPS6361699B2 (ja) | ||
| JP2547329B2 (ja) | ロツクデータ設定装置 | |
| JPH01125633A (ja) | マルチプロセッサシステムのデバッグ法 | |
| JPS5834856B2 (ja) | キオクセイギヨソウチ | |
| JPH0769822B2 (ja) | 演算レジスタのバイパスチェック方式 | |
| JP3130798B2 (ja) | バス転送装置 | |
| JPS6020779B2 (ja) | 複合形電子計算機システム | |
| US5644745A (en) | Apparatus for replacing data availability information for an instruction subsequent to a branch with previous availability information upon branch prediction failure | |
| JPH0395653A (ja) | データ記憶装置のアドレス誤り検出方法 | |
| JPH0548498B2 (ja) | ||
| JPS59139199A (ja) | 記憶保護方式 | |
| JPH03232051A (ja) | セマフォアクセス制御方法 | |
| JPH0256663A (ja) | ロツクデータ設定装置 | |
| JPS59200366A (ja) | ロツク制御方式 | |
| JPH04242455A (ja) | プロセッサ間通信トレース回路 | |
| JPS59121455A (ja) | プレフイクシング方式 | |
| JPS5622281A (en) | Buffer memory control system | |
| JPS6318225B2 (ja) |