JPH031268A - 計算機制御方法 - Google Patents
計算機制御方法Info
- Publication number
- JPH031268A JPH031268A JP13450989A JP13450989A JPH031268A JP H031268 A JPH031268 A JP H031268A JP 13450989 A JP13450989 A JP 13450989A JP 13450989 A JP13450989 A JP 13450989A JP H031268 A JPH031268 A JP H031268A
- Authority
- JP
- Japan
- Prior art keywords
- queue
- instruction
- memory device
- interlock
- common memory
- 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
- 238000000034 method Methods 0.000 title claims description 27
- 230000004044 response Effects 0.000 claims description 2
- 238000012545 processing Methods 0.000 abstract description 14
- 238000012217 deletion Methods 0.000 abstract description 8
- 230000037430 deletion Effects 0.000 abstract description 8
- 238000007689 inspection Methods 0.000 abstract 1
- 239000011159 matrix material Substances 0.000 description 22
- 238000010586 diagram Methods 0.000 description 11
- 238000007796 conventional method Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
Landscapes
- Multi Processors (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
[産業上の利用分野]
この発明は複数プロセッサシステムの共有メモリのキュ
ー操作の排他的計算機制御方法に関するものである。
ー操作の排他的計算機制御方法に関するものである。
[従来の技術]
電子計算機で問題解決を行う場合、通常電子計算機その
ものがtl!−してくれるデータ型や制御構造は原始的
なものに限られる。
ものがtl!−してくれるデータ型や制御構造は原始的
なものに限られる。
そのため、オペレーティングシステムや言語処理系など
が提供する機能の助けを借りて、ユーザは問題解決を効
率的に行うことを可能とするデータ構造やアルゴリズム
を、通常自ら設計しなければならない。
が提供する機能の助けを借りて、ユーザは問題解決を効
率的に行うことを可能とするデータ構造やアルゴリズム
を、通常自ら設計しなければならない。
主記憶装置などの上にデータ構造を実現する方法の1つ
にリンク表現(Ilnk Implementatio
n)がある。リンク表現は、あらかじめわかっている基
準番地から始2めて、必ずしも連続的ではなく、とびと
びに情報を並べ、それぞれの情報の場所に、関係する次
の情報の所在番地をもたせる。アクセスしたい情報の取
出しは、基準番地から始めて、ポインタ情報を次々とた
どることにより、必要な情報の所在番地を求めて行う。
にリンク表現(Ilnk Implementatio
n)がある。リンク表現は、あらかじめわかっている基
準番地から始2めて、必ずしも連続的ではなく、とびと
びに情報を並べ、それぞれの情報の場所に、関係する次
の情報の所在番地をもたせる。アクセスしたい情報の取
出しは、基準番地から始めて、ポインタ情報を次々とた
どることにより、必要な情報の所在番地を求めて行う。
0個以上の基本データの並びを、線形リスト(Ilne
ar 11st)と呼ぶ。線形リストで、データ要素の
挿入と削除が許される位置に制限を加えたリンク表現の
データ構造の1つがキュー(queue)である。
ar 11st)と呼ぶ。線形リストで、データ要素の
挿入と削除が許される位置に制限を加えたリンク表現の
データ構造の1つがキュー(queue)である。
この説明において、キューとは持ち行列を管理するため
のデータ構造で、持ち行列要素と持ち行列要素をつなぐ
ためのキューヘッダから構成されるものとする。
のデータ構造で、持ち行列要素と持ち行列要素をつなぐ
ためのキューヘッダから構成されるものとする。
第2図は従来のキューの構成例を示す説明図である。図
において、1aはキューヘッダ、1b11Cは持ち行列
要素である。
において、1aはキューヘッダ、1b11Cは持ち行列
要素である。
第2図のリンク表現について説明する。キューヘッダ1
aは持ち行列要素への前方向と後方向の2つのポインタ
で構成される。即ちその上段ポインタには持ち行列要素
1bの先頭アドレス値Bが、また下段ポインタには持ち
行列要素1cの先頭アドレス値Cがそれぞれ格納されて
いる。
aは持ち行列要素への前方向と後方向の2つのポインタ
で構成される。即ちその上段ポインタには持ち行列要素
1bの先頭アドレス値Bが、また下段ポインタには持ち
行列要素1cの先頭アドレス値Cがそれぞれ格納されて
いる。
持ち行列要素の先頭はキューヘッダから前方向でポイン
トされており、持ち行列要素の先頭にはキューヘッダへ
の後方向のポインタがおかれている。また、持ち行列要
素の後尾はキューヘッダから後方向でポイントされてお
り、持ち行列要素の後尾にはキューヘッダへの前方向の
ポインタがおかれている。
トされており、持ち行列要素の先頭にはキューヘッダへ
の後方向のポインタがおかれている。また、持ち行列要
素の後尾はキューヘッダから後方向でポイントされてお
り、持ち行列要素の後尾にはキューヘッダへの前方向の
ポインタがおかれている。
例えば、持ち行列要素1bは前方向ポインタ(フォワー
ドリンク)として要素ICのアドレス値Cを、後方向ポ
インタ(バックワードリンク)としてキューヘッダ1a
のアドレス値Aを持つ。
ドリンク)として要素ICのアドレス値Cを、後方向ポ
インタ(バックワードリンク)としてキューヘッダ1a
のアドレス値Aを持つ。
各持ち行列要素の2つのポインタから後ろの部分には、
持ち行列により管理される要素情報がおかれる。
持ち行列により管理される要素情報がおかれる。
キューの操作には、(1)サーチ、(2)持ち行列要素
の追加、(3)持ち行列要素の削除の3種類の操作があ
る。
の追加、(3)持ち行列要素の削除の3種類の操作があ
る。
サーチとはキューヘッダからキューのリンクをたどって
キューの内容を検索することである。
キューの内容を検索することである。
第3図は持ち行列要素の追加を示す説明図であり、1a
〜ICは第2図と同一のものである。
〜ICは第2図と同一のものである。
第3図の■〜■により持ち行列要素(以下単に要素と省
略する)lcを新規に追加する例を説明する。同図の■
はキューヘッダ1aと要素1bとがリンクされ、要素1
cはまだリンクされていない状態を示す。■では要素1
cのフォワードリンクにキューヘッダ1aのアドレス値
Aを入れる。
略する)lcを新規に追加する例を説明する。同図の■
はキューヘッダ1aと要素1bとがリンクされ、要素1
cはまだリンクされていない状態を示す。■では要素1
cのフォワードリンクにキューヘッダ1aのアドレス値
Aを入れる。
■では要素1cのバックワードリンクに要素1bのアド
レス値Bを入れる。■では要素1bのフォワードリンク
に要素1cのアドレス値Cを入れる。
レス値Bを入れる。■では要素1bのフォワードリンク
に要素1cのアドレス値Cを入れる。
■ではキューヘッダkaのバックワードリンクに要素1
cのアドレス値Cを入れる。
cのアドレス値Cを入れる。
上記■〜■の順序によるキュー操作により要素の追加が
行われる。
行われる。
第4図は持ち行列要素の削除を示す説明図であり、1a
〜1cは第3図と同一のものである。
〜1cは第3図と同一のものである。
第4図の■〜■によりキューの先頭の要素1bを削除す
る例を説明する。同図の■はキューヘッダ1aと要素1
b及び1cがリンクされている状態を示す。■では要素
1cのバックワードリンクにキューヘッダ1aのアドレ
ス値Aを入れる。■ではキューヘッダ1aのフォワード
リンクに要素1Cのアドレス値Cを入れる。上記■〜■
の順序によるキュー操作により要素の削除が行われる。
る例を説明する。同図の■はキューヘッダ1aと要素1
b及び1cがリンクされている状態を示す。■では要素
1cのバックワードリンクにキューヘッダ1aのアドレ
ス値Aを入れる。■ではキューヘッダ1aのフォワード
リンクに要素1Cのアドレス値Cを入れる。上記■〜■
の順序によるキュー操作により要素の削除が行われる。
以上がキューの操作であるが、キューに対する3つの操
作のうち追加および削除の処理はサーチ処理に比べ使用
頻度が高いため高速性が要求される。そのため従来でも
、単体で処理が行なえる要素追加用キュー操作命令、要
素削除用キュー操作命令等が提供されていた。
作のうち追加および削除の処理はサーチ処理に比べ使用
頻度が高いため高速性が要求される。そのため従来でも
、単体で処理が行なえる要素追加用キュー操作命令、要
素削除用キュー操作命令等が提供されていた。
第5図は従来のキュー操作命令を使用したキュー操作の
フローチャートである。
フローチャートである。
第5図のフローチャートを説明する。複数プロセッサの
1つがキューの操作に対する排他制御を行なうためにメ
モリ中の特定領域を用い、ここにロックワードと呼ぶ情
報の書込みを行う。これを一般にロックをかけるか、ロ
ックするとか言い、ロックをかけてからキュー操作を行
い、キュー操作終了後ロックを解除している。このロッ
クワードをロックしたあとに、現在実行中のレベルより
高い割り込みが発生し、デッドロックが発生するのを防
止するため、第5図のステップS1において、マスク操
作命令により割り込みレベルを上げて上位割り込みの発
生を抑止する。次のステップS2において、ロックワー
ドを1にするため、CS (Compare and
5vap)命令(後述)のオペランド1にロックワード
のアドレス値を、オペランド2に0を、オペランド3に
1をそれぞれ指定して命令を実行する(ロックをかける
)。この命令実行後、実行結果により命令の条件コード
は0または1に設定される。ステップS3において、命
令の条件コードの判定を行う。即ち命令の条件コードが
1であればロックワードは他のプロセッサによりロック
されているので再びステップS2に戻る。また条件コー
ドが0であれば次のステップS4へ進む。ステップS4
では2種類のキュー操作命令(追加又は削除)のいずれ
かを使用しキュー操作を行う。ステップS5において、
C8命令のオペランド1にロックワードのアドレス値を
、オペランド2に1を、オペランド3に0をそれぞれ指
定して命令を実行してロックワードをOにする。
1つがキューの操作に対する排他制御を行なうためにメ
モリ中の特定領域を用い、ここにロックワードと呼ぶ情
報の書込みを行う。これを一般にロックをかけるか、ロ
ックするとか言い、ロックをかけてからキュー操作を行
い、キュー操作終了後ロックを解除している。このロッ
クワードをロックしたあとに、現在実行中のレベルより
高い割り込みが発生し、デッドロックが発生するのを防
止するため、第5図のステップS1において、マスク操
作命令により割り込みレベルを上げて上位割り込みの発
生を抑止する。次のステップS2において、ロックワー
ドを1にするため、CS (Compare and
5vap)命令(後述)のオペランド1にロックワード
のアドレス値を、オペランド2に0を、オペランド3に
1をそれぞれ指定して命令を実行する(ロックをかける
)。この命令実行後、実行結果により命令の条件コード
は0または1に設定される。ステップS3において、命
令の条件コードの判定を行う。即ち命令の条件コードが
1であればロックワードは他のプロセッサによりロック
されているので再びステップS2に戻る。また条件コー
ドが0であれば次のステップS4へ進む。ステップS4
では2種類のキュー操作命令(追加又は削除)のいずれ
かを使用しキュー操作を行う。ステップS5において、
C8命令のオペランド1にロックワードのアドレス値を
、オペランド2に1を、オペランド3に0をそれぞれ指
定して命令を実行してロックワードをOにする。
即ちロックを解除する。ステップS6において、マスク
操作命令により割り込みレベルを元に戻す。
操作命令により割り込みレベルを元に戻す。
上記説明の通り、従来は複数ステップの命令によりキュ
ー操作を行っていた。
ー操作を行っていた。
第6図はロックワードを操作するC8命令の動作フロー
チャートである。またC8命令は、ロックワードのアド
レス、ロックワードと比較するデータ、ロックワードに
書き込むデータ、の3つのオペランドを持っている。
チャートである。またC8命令は、ロックワードのアド
レス、ロックワードと比較するデータ、ロックワードに
書き込むデータ、の3つのオペランドを持っている。
第6図のフローチャートを説明する。同図のステップS
llにおいて、オペランド1で指定されたアドレスに対
してインタロックをかける。ステップS12において、
インタロツタが取れたかどうかの結果を検査する。イン
タロックが取れなかったときは、ステップSllに戻り
取れるまでインタロックをかけ続ける。インタロックが
取れたら、ステップS13に移りその指定されたアドレ
スからデータを読込む。ステップS14において、メモ
リから読込んだデータとC8命令のオペランド2とを比
較し、両データが一致のときはステップS15へ、両デ
ータが不一致のときはステップSlGへ移る。
llにおいて、オペランド1で指定されたアドレスに対
してインタロックをかける。ステップS12において、
インタロツタが取れたかどうかの結果を検査する。イン
タロックが取れなかったときは、ステップSllに戻り
取れるまでインタロックをかけ続ける。インタロックが
取れたら、ステップS13に移りその指定されたアドレ
スからデータを読込む。ステップS14において、メモ
リから読込んだデータとC8命令のオペランド2とを比
較し、両データが一致のときはステップS15へ、両デ
ータが不一致のときはステップSlGへ移る。
ステップS15では、両データが一致の場合なので、オ
ペランド3の内容をインタロックをかけたメモリに書込
み条件コードを0にする。ステップSIGでは、両デー
タが不一致の場合なのでメモリから読込んだデータをオ
ペランド2に格納し条件コードを1にする。最後にステ
ップS17において、インタロックを外し命令を終了す
る。
ペランド3の内容をインタロックをかけたメモリに書込
み条件コードを0にする。ステップSIGでは、両デー
タが不一致の場合なのでメモリから読込んだデータをオ
ペランド2に格納し条件コードを1にする。最後にステ
ップS17において、インタロックを外し命令を終了す
る。
以上の説明がキュー操作命令を使用した従来の方法であ
る。
る。
また上記を改良した例として、キュー操作にノ\−ドウ
エア的にメモリをロックする命令を採用することにより
処理の高速化を図っている方法もあった。
エア的にメモリをロックする命令を採用することにより
処理の高速化を図っている方法もあった。
[発明が解決しようとする課題]
上記の第5図のフローチャートで説明したようなキュー
操作方法では、キ・)ニー操作において重要な操作であ
る追加と削除を行なうまでに多数の段階を通るため処理
が遅くなるという欠点があった。
操作方法では、キ・)ニー操作において重要な操作であ
る追加と削除を行なうまでに多数の段階を通るため処理
が遅くなるという欠点があった。
またキュー操作中にハードウェアによりロックをかける
方法では次のような問題点がある。
方法では次のような問題点がある。
第7図は従来のキュー操作中にハードウェアによりロッ
クする方法の説明図である。同図において、プロセッサ
(B)がキューのサーチを行なっている途中に、ステッ
プS21において別のプロセッサ(A)からハードウェ
アロックキュー操作命令が行なわれると、メモリがハー
ドウェア的にロックされるため、ステップS22におい
てプロセッサ(B)のキューへのアクセスが不可となる
。そしてプロセッサ(^)のキュー操作命令の終了後の
ステップS23において、プロセッサ(B)から再びキ
ューアクセスを行なうと、キューがプロセッサ(A)の
キュー操作命令により改変されているためプロセッサ(
B)のキューのサーチ処理が正しく行なわれないという
問題点がある。
クする方法の説明図である。同図において、プロセッサ
(B)がキューのサーチを行なっている途中に、ステッ
プS21において別のプロセッサ(A)からハードウェ
アロックキュー操作命令が行なわれると、メモリがハー
ドウェア的にロックされるため、ステップS22におい
てプロセッサ(B)のキューへのアクセスが不可となる
。そしてプロセッサ(^)のキュー操作命令の終了後の
ステップS23において、プロセッサ(B)から再びキ
ューアクセスを行なうと、キューがプロセッサ(A)の
キュー操作命令により改変されているためプロセッサ(
B)のキューのサーチ処理が正しく行なわれないという
問題点がある。
この発明は、上記問題点を解決しあらゆるキュー操作に
ついて矛盾が生じず、また高速性を損なわない計算機制
御方法を提供することを目的とする。
ついて矛盾が生じず、また高速性を損なわない計算機制
御方法を提供することを目的とする。
[課題を解決するための手段]
この発明に係る計算機制御方法は、複数のブロセッサか
らの操作要求に対してインタロック手段を持つ共通メモ
リ装置を設け、自己のプロセッサが制011Illiを
得るため前記インタロック手段を用いて共通メモリ装置
の指定領域を排他的に操作する命令と、前記インタロッ
ク手段を用いて共通メモリ装置の指定領域の検査を行い
前記制御権が取れるまで持ち合わせてから、キューへの
要素の追加を行なう命令及び同様にしてキューから要素
の削除を行なう命令と、前記各命令を複数のプロセッサ
がそれぞれ備え、複数のプロセッサがそれぞれ競合しな
いように共通メモリ装置のキュー操作を行なうものであ
る。
らの操作要求に対してインタロック手段を持つ共通メモ
リ装置を設け、自己のプロセッサが制011Illiを
得るため前記インタロック手段を用いて共通メモリ装置
の指定領域を排他的に操作する命令と、前記インタロッ
ク手段を用いて共通メモリ装置の指定領域の検査を行い
前記制御権が取れるまで持ち合わせてから、キューへの
要素の追加を行なう命令及び同様にしてキューから要素
の削除を行なう命令と、前記各命令を複数のプロセッサ
がそれぞれ備え、複数のプロセッサがそれぞれ競合しな
いように共通メモリ装置のキュー操作を行なうものであ
る。
[作用]
この発明においては、複数のプロセッサからの操作要求
に対してインタロック手段を持つ共通メモリ装置を設け
、自己のプロセッサが制御権を得るため前記インタロッ
ク手段を用いて共通メモリ装置の指定領域を排他的に操
作するためインタクロツタをかける。インタロックがか
かったら前記共通メモリ装置の指定領域のロックワード
の検査を行ない、前記制御権が取れるまで持ち合わせて
から、キューへの要素の追加を行なう命令又は削除を行
なう命令を実行する。キュー要素の追加又は削除が終了
後前記インタロックを解除し、他のプロセッサがキュー
操作を行なえるようにする。
に対してインタロック手段を持つ共通メモリ装置を設け
、自己のプロセッサが制御権を得るため前記インタロッ
ク手段を用いて共通メモリ装置の指定領域を排他的に操
作するためインタクロツタをかける。インタロックがか
かったら前記共通メモリ装置の指定領域のロックワード
の検査を行ない、前記制御権が取れるまで持ち合わせて
から、キューへの要素の追加を行なう命令又は削除を行
なう命令を実行する。キュー要素の追加又は削除が終了
後前記インタロックを解除し、他のプロセッサがキュー
操作を行なえるようにする。
このような計算機制御方法により複数のプロセッサがそ
れぞれ競合しないように共通メモリ装置のキュー操作を
行なうことが可能となる。
れぞれ競合しないように共通メモリ装置のキュー操作を
行なうことが可能となる。
[実施例コ
第1図はこの発明に係るロック付キュー操作命令の動作
フローチャートである。
フローチャートである。
第1図のフローチャートの説明をする。まずこのロック
付キュー操作命令が起動されると、同図のステップS3
1において、指定されたアドレスに対してインタロック
をかける。ステップS21において、インタロックが取
れたかどうか結果を検査する。もしインタロックがかか
らなかったら、ステップS31に戻り取れるまで繰り返
しインタロックをかけ続ける。インタロックがかかった
ら、ステップS33に移りそのアドレスからデータを読
込み、このデータをロックワードとする。次のステップ
S34においてロックワードを検査し、ロックワードが
0でなかったら処理対象のキューは他のプロセッサによ
り使用中であるので、ステップS35においてインタロ
ックを解除して、本命令を再起動する。またロックワー
ドが0ならばステップ5311iにおいて、本来のキュ
ー操作である要素の追加または削除を行なう。
付キュー操作命令が起動されると、同図のステップS3
1において、指定されたアドレスに対してインタロック
をかける。ステップS21において、インタロックが取
れたかどうか結果を検査する。もしインタロックがかか
らなかったら、ステップS31に戻り取れるまで繰り返
しインタロックをかけ続ける。インタロックがかかった
ら、ステップS33に移りそのアドレスからデータを読
込み、このデータをロックワードとする。次のステップ
S34においてロックワードを検査し、ロックワードが
0でなかったら処理対象のキューは他のプロセッサによ
り使用中であるので、ステップS35においてインタロ
ックを解除して、本命令を再起動する。またロックワー
ドが0ならばステップ5311iにおいて、本来のキュ
ー操作である要素の追加または削除を行なう。
最後にステップS37において、インタロックを解除し
て命令を終了する。
て命令を終了する。
上記ステップS31〜S37の処理は、本発明に係る単
体のロツクイ・1キユ一操作命令により行われるため、
従来よりも高速で処理が実施される。
体のロツクイ・1キユ一操作命令により行われるため、
従来よりも高速で処理が実施される。
キューのサーチを行なう場合も前述のキュー操作命令で
使用するロックワードと同じロックワードを使い、C8
命令によりキューのサーチ処理の前後にロック操作を行
なう。
使用するロックワードと同じロックワードを使い、C8
命令によりキューのサーチ処理の前後にロック操作を行
なう。
第8図は本発明のキュー操作命令中に他のプロセッサか
らのキューのサーチが発生した場合の説明図である。
らのキューのサーチが発生した場合の説明図である。
第8図を説明する。同図においてプロセッサ(A)は、
ステップS41において本発明のキュー操作命令を実行
し、この命令実行中はメモリをインタロックする。この
ためプロセッサ(B)がステップS42において行った
サーチ処理のためのC8命令は受は付けられない。プロ
セッサ(^)がステップS43において、キュー操作命
令を終了しインタロックを解除した後に、プロセッサ(
B)がステップS44において行ったサーチ処理は受は
付けられる。以上の処理により、両プロセッサの処理は
正しく行なわれる。
ステップS41において本発明のキュー操作命令を実行
し、この命令実行中はメモリをインタロックする。この
ためプロセッサ(B)がステップS42において行った
サーチ処理のためのC8命令は受は付けられない。プロ
セッサ(^)がステップS43において、キュー操作命
令を終了しインタロックを解除した後に、プロセッサ(
B)がステップS44において行ったサーチ処理は受は
付けられる。以上の処理により、両プロセッサの処理は
正しく行なわれる。
第9図はキューのサーチ処理中に他のプロセッサからの
本発明のキュー操作命令が発生した場合の説明図である
。
本発明のキュー操作命令が発生した場合の説明図である
。
第9図を説、明する。同図においてプロセッサ(B)は
ステップS51において、キューのサーチをする前に、
C8命令によりロックワードを1にする。その後キュー
へのアクセス中にプロセッサ(A)がステップS52に
おいて、本発明のキュー操作命令を発行した場合、ロッ
クワードが0でないため本命令は実行されない。プロセ
ッサ(B)のキューのサーチが終了し、ステップS53
におけるC8命令でロックワードが0になると、プロセ
ッサ(^)はステップS54においてキュー操作を行う
ことができる。このため両プロセッサの処理は矛盾なく
行なわれる。
ステップS51において、キューのサーチをする前に、
C8命令によりロックワードを1にする。その後キュー
へのアクセス中にプロセッサ(A)がステップS52に
おいて、本発明のキュー操作命令を発行した場合、ロッ
クワードが0でないため本命令は実行されない。プロセ
ッサ(B)のキューのサーチが終了し、ステップS53
におけるC8命令でロックワードが0になると、プロセ
ッサ(^)はステップS54においてキュー操作を行う
ことができる。このため両プロセッサの処理は矛盾なく
行なわれる。
以上説明したように本発明の、C8命令と共有のロック
ワードを検査することにより、キューへの要素の追加お
よびキューからの要素の削除を行なう単体のキュー操作
命令によれば、 (1)キューの要素の追加/削除処理の高速化(2)キ
ューのサーチ中の他のプロセッサによるキューの改変の
防止 の2点を同時に解決することができる。
ワードを検査することにより、キューへの要素の追加お
よびキューからの要素の削除を行なう単体のキュー操作
命令によれば、 (1)キューの要素の追加/削除処理の高速化(2)キ
ューのサーチ中の他のプロセッサによるキューの改変の
防止 の2点を同時に解決することができる。
[発明の効果]
以上のようにこの発明によれば、複数のプロセッサから
の操作要求に対してインタロック手段を持つ共通メモリ
装置を設け、単体のキュー操作命令によって、自己のプ
ロセッサが制御権を得て前記インタロック手段を用いて
共通メモリ装置の指定領域を排他的に操作するためイン
タロックをかけ、次に前記共通メモリ装置の指定領域の
ロックワードの検査を行い、前記制御権が取れるまで持
ち合わせてから、キューへの要素の追加を行なう命令又
は削除を行なう命令を実行し、その後前記インタロック
を解除するようにしたので、キューの要素の追加又は削
除処理の高速化による性能向上の効果と、キューのサー
チ中に他のプロセッサによるキュー改変が無くなり、あ
らゆるキュー操作について矛盾が生ぜず操作の信頼性向
上の効果とが得られる。
の操作要求に対してインタロック手段を持つ共通メモリ
装置を設け、単体のキュー操作命令によって、自己のプ
ロセッサが制御権を得て前記インタロック手段を用いて
共通メモリ装置の指定領域を排他的に操作するためイン
タロックをかけ、次に前記共通メモリ装置の指定領域の
ロックワードの検査を行い、前記制御権が取れるまで持
ち合わせてから、キューへの要素の追加を行なう命令又
は削除を行なう命令を実行し、その後前記インタロック
を解除するようにしたので、キューの要素の追加又は削
除処理の高速化による性能向上の効果と、キューのサー
チ中に他のプロセッサによるキュー改変が無くなり、あ
らゆるキュー操作について矛盾が生ぜず操作の信頼性向
上の効果とが得られる。
第1図はこの発明に係るロック付キュー操作命令の動作
フローチャート、第2図は従来のキューの構造例を示す
説明図、第3図■〜■は持ち行列要素の追加を示す説明
図、第4図■〜■は持ち行列要素の削除を示す説明図、
m5図は従来のキュー操作命令を使用したキュー操作の
フローチャート、第6図はロックワードを操作するC8
命令の動作フローチャート、第7図は従来のキュー操作
中に/X−ドウエアによりロックする方法の説明図、第
8図は本発明のキュー操作命令中に他のプロセッサから
のキューサーチ発生時の説明図、第9図はキューサーチ
処理中に他のプロセッサからの本発明のキュー操作命令
発生時の説明図である。 図において、1aはキューヘッダ、1b及びICは持ち
行列要素、A−Cはアドレス値である。 代理人 弁理士 鈴 木 敏 明()21この発明に係
るロックイ寸キュー、操午命宵の動作フローチャート第
1 5η 0 :午ユ〜ヘツタ゛ A −Cニアドレス値 す、lc・持ち行列栗景 従来のキューの謂戊例を示す説明図 第2図 く ■ ■ ■ ■ ■ ■ 待ぢ行列要素の追7IOを示財説明図 従来のキュー操作命令を使用したキュー揄信のフローチ
ャート第5図 ロッグワードを禄作jるC8命令の動作フローチャート
第6図 第 図
フローチャート、第2図は従来のキューの構造例を示す
説明図、第3図■〜■は持ち行列要素の追加を示す説明
図、第4図■〜■は持ち行列要素の削除を示す説明図、
m5図は従来のキュー操作命令を使用したキュー操作の
フローチャート、第6図はロックワードを操作するC8
命令の動作フローチャート、第7図は従来のキュー操作
中に/X−ドウエアによりロックする方法の説明図、第
8図は本発明のキュー操作命令中に他のプロセッサから
のキューサーチ発生時の説明図、第9図はキューサーチ
処理中に他のプロセッサからの本発明のキュー操作命令
発生時の説明図である。 図において、1aはキューヘッダ、1b及びICは持ち
行列要素、A−Cはアドレス値である。 代理人 弁理士 鈴 木 敏 明()21この発明に係
るロックイ寸キュー、操午命宵の動作フローチャート第
1 5η 0 :午ユ〜ヘツタ゛ A −Cニアドレス値 す、lc・持ち行列栗景 従来のキューの謂戊例を示す説明図 第2図 く ■ ■ ■ ■ ■ ■ 待ぢ行列要素の追7IOを示財説明図 従来のキュー操作命令を使用したキュー揄信のフローチ
ャート第5図 ロッグワードを禄作jるC8命令の動作フローチャート
第6図 第 図
Claims (1)
- 複数のプロセッサからの操作要求に対してインタロック
手段を持つ共通メモリ装置を設け、自己のプロセッサが
制御権を得るため前記インタロック手段を用いて共通メ
モリ装置の指定領域を排他的に操作する命令と、前記イ
ンタロック手段を用いて共通メモリ装置の指定領域の検
査を行い前記制御権が取れるまで持ち合わせてから、キ
ューへの要素の追加を行なう命令及び同様にしてキュー
から要素の削除を行なう命令と、前記各命令を複数のプ
ロセッサがそれぞれ備え、複数のプロセッサがそれぞれ
競合しないように共通メモリ装置のキュー操作を行なう
ことを特徴とする計算機制御方法。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP13450989A JPH031268A (ja) | 1989-05-30 | 1989-05-30 | 計算機制御方法 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP13450989A JPH031268A (ja) | 1989-05-30 | 1989-05-30 | 計算機制御方法 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH031268A true JPH031268A (ja) | 1991-01-07 |
Family
ID=15129987
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP13450989A Pending JPH031268A (ja) | 1989-05-30 | 1989-05-30 | 計算機制御方法 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH031268A (ja) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6269418B1 (en) | 1997-07-14 | 2001-07-31 | Nec Corporation | Priority-based shared bus request signal mediating circuit |
-
1989
- 1989-05-30 JP JP13450989A patent/JPH031268A/ja active Pending
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6269418B1 (en) | 1997-07-14 | 2001-07-31 | Nec Corporation | Priority-based shared bus request signal mediating circuit |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| EP0735473B1 (en) | Method and apparatus for managing a database in a distributed object operating environment | |
| US6854108B1 (en) | Method and apparatus for deterministic replay of java multithreaded programs on multiprocessors | |
| JP2500101B2 (ja) | 共用変数の値を更新する方法 | |
| JP2574991B2 (ja) | コンピュータ・システムにおける共用資源のプロセス内ロッキング方法及びコンピュータ・システム | |
| US6681226B2 (en) | Selective pessimistic locking for a concurrently updateable database | |
| JPH04229355A (ja) | データアクセス方法及びデータ処理システム | |
| US7395383B2 (en) | Realtime-safe read copy update with per-processor read/write locks | |
| US5727209A (en) | Apparatus and method for achieving reduced overhead mutual-exclusion and maintaining coherency in a multiprocessor system utilizing execution history and thread monitoring | |
| US4498145A (en) | Method for assuring atomicity of multi-row update operations in a database system | |
| EP0537309B1 (en) | System and method for preserving source instruction atomicity in translated program code | |
| US5561794A (en) | Early commit optimistic projection-based computer database protocol | |
| US5963960A (en) | Method and apparatus for queuing updates in a computer system | |
| Jayanti | Adaptive and efficient abortable mutual exclusion | |
| US8060879B2 (en) | Predictive log synchronization | |
| JPH0728679A (ja) | チェックイン・チェックアウトモデルにおける施錠方式 | |
| JPS6073746A (ja) | 情報処理システムおよびプロセス実行制御方式 | |
| JPH0810437B2 (ja) | 仮想計算機システムのゲスト実行制御方式 | |
| JPH031268A (ja) | 計算機制御方法 | |
| US20090307442A1 (en) | Memory Access Control | |
| US7447875B1 (en) | Method and system for management of global queues utilizing a locked state | |
| JPH0588954A (ja) | データベースの更新方法 | |
| Piattelli et al. | TERESA: a modular multiprocess software architecture for experimental nuclear data handling | |
| JP2980610B2 (ja) | トランザクション管理装置 | |
| JPH0621995B2 (ja) | ファイル同時アクセス制御システム | |
| JPH01195542A (ja) | マルチプログラミング処理装置 |