JP3037241B2 - ロック制御装置 - Google Patents
ロック制御装置Info
- Publication number
- JP3037241B2 JP3037241B2 JP9319809A JP31980997A JP3037241B2 JP 3037241 B2 JP3037241 B2 JP 3037241B2 JP 9319809 A JP9319809 A JP 9319809A JP 31980997 A JP31980997 A JP 31980997A JP 3037241 B2 JP3037241 B2 JP 3037241B2
- Authority
- JP
- Japan
- Prior art keywords
- lock
- state
- request
- variable
- control device
- 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
Landscapes
- Multi Processors (AREA)
Description
【0001】
【発明の属する技術分野】本発明は、データ処理システ
ムにおけるロック制御装置に関し、特に、主記憶を共有
する複数のデータ処理装置を有するデータ処理システム
におけるロック制御装置に関する。
ムにおけるロック制御装置に関し、特に、主記憶を共有
する複数のデータ処理装置を有するデータ処理システム
におけるロック制御装置に関する。
【0002】
【従来の技術】従来より、データ処理システムにおいて
は、複数のデータ処理装置が主記憶を共有するように構
成される場合がある。このような場合、ある特定のデー
タ処理装置においてある共有領域のデータが一定時間排
他的に使用される必要が生じることがある。
は、複数のデータ処理装置が主記憶を共有するように構
成される場合がある。このような場合、ある特定のデー
タ処理装置においてある共有領域のデータが一定時間排
他的に使用される必要が生じることがある。
【0003】例えば、あるデータ処理装置においてある
共有領域のデータに1を加える操作が行われる場合、そ
の共有領域のデータが読み出されて1が加えられた後、
再びその共有領域にデータが書き込まれるという一連の
処理が行われている間は、他のデータ処理装置からの当
該データヘのアクセスを禁止しなければならない。そう
でなければデータの更新結果が保証されないことにな
る。
共有領域のデータに1を加える操作が行われる場合、そ
の共有領域のデータが読み出されて1が加えられた後、
再びその共有領域にデータが書き込まれるという一連の
処理が行われている間は、他のデータ処理装置からの当
該データヘのアクセスを禁止しなければならない。そう
でなければデータの更新結果が保証されないことにな
る。
【0004】この排他的アクセスを保証するために、使
用されるのがロック変数である。
用されるのがロック変数である。
【0005】共有領域にアクセスを行う場合は、このロ
ック変数をチェックして、ロック状態にないことを確認
する必要がある。そのロック変数がアンロック状態であ
れば、それをロック状態にしてから対応する共有領域に
アクセスを行う。排他的な処理が終了した後にロック変
数をアンロック状態に戻す。このような制御をロック制
御という。
ック変数をチェックして、ロック状態にないことを確認
する必要がある。そのロック変数がアンロック状態であ
れば、それをロック状態にしてから対応する共有領域に
アクセスを行う。排他的な処理が終了した後にロック変
数をアンロック状態に戻す。このような制御をロック制
御という。
【0006】従来技術では、ロック変数の状態として、
ロックが取得されているかまたは取得されていないかの
2つの状態を使用している。
ロックが取得されているかまたは取得されていないかの
2つの状態を使用している。
【0007】従って、ある記憶制御装置において、ロッ
クを取得しようとするリクエスト(以下、ロックリクエ
ストと称する)や、ロックを解放しようとするリクエス
ト(以下、アンロックリクエストと称する)が受け取ら
れると、他の記憶制御装置におけるロック変数の状態の
チェックや更新が発生してしまう。
クを取得しようとするリクエスト(以下、ロックリクエ
ストと称する)や、ロックを解放しようとするリクエス
ト(以下、アンロックリクエストと称する)が受け取ら
れると、他の記憶制御装置におけるロック変数の状態の
チェックや更新が発生してしまう。
【0008】例えば、あるデータ処理装置からロックリ
クエストが発行された場合、そのデータ処理装置に接続
される記憶装置内で保持されているロック変数がアンロ
ック状態を示していれば、他の記憶制御装置におけるロ
ック変数の状態を索引しなければならなくなる。そし
て、その索引の結果、ロック状態であれば、そのロック
リクエストは失敗となり、データ処理装置は再度ロック
リクエストを発行することになる。このような動作をス
ピンロックという。
クエストが発行された場合、そのデータ処理装置に接続
される記憶装置内で保持されているロック変数がアンロ
ック状態を示していれば、他の記憶制御装置におけるロ
ック変数の状態を索引しなければならなくなる。そし
て、その索引の結果、ロック状態であれば、そのロック
リクエストは失敗となり、データ処理装置は再度ロック
リクエストを発行することになる。このような動作をス
ピンロックという。
【0009】このようなスピンロック時の不要なバスア
クセスを削減する思想が特開平8−44616号公報に
て開示されている。
クセスを削減する思想が特開平8−44616号公報に
て開示されている。
【0010】特開平8−44616号公報に開示された
技術においては、ロック変数の状態として他の記憶制御
装置がロックを取得している状態であるULLという状
態を導入し、スピンロック時にはロックステータスがU
LLに更新しロック失敗を返却することにより不要なバ
スアクセスが削減されている。
技術においては、ロック変数の状態として他の記憶制御
装置がロックを取得している状態であるULLという状
態を導入し、スピンロック時にはロックステータスがU
LLに更新しロック失敗を返却することにより不要なバ
スアクセスが削減されている。
【0011】そして、アンロック時にはアンロックリク
エストをバスにブロードキャストすることにより、UL
L状態をアンロック状態に解除する。
エストをバスにブロードキャストすることにより、UL
L状態をアンロック状態に解除する。
【0012】
【発明が解決しようとする課題】上述したような従来の
ものにおいては、データ処理装置がアンロックリクエス
トを発行した際、他の記憶制御装置内のロック変数をU
LLからアンロック状態に更新しなければならないた
め、アンロック時に必ずバスアクセスを行わなければな
らないという問題点がある。
ものにおいては、データ処理装置がアンロックリクエス
トを発行した際、他の記憶制御装置内のロック変数をU
LLからアンロック状態に更新しなければならないた
め、アンロック時に必ずバスアクセスを行わなければな
らないという問題点がある。
【0013】本発明は、上述したような従来の技術が有
する問題点に鑑みてなされたものであって、不要なバス
アクセスを削減することができるロック制御装置を提供
することを目的とする。
する問題点に鑑みてなされたものであって、不要なバス
アクセスを削減することができるロック制御装置を提供
することを目的とする。
【0014】
【課題を解決するための手段】上記目的を達成するため
に本発明は、主記憶を共有する複数のデータ処理装置を
有するデータ処理システムにて前記複数のデータ処理装
置の少なくとも一つに関するロック変数の状態を制御す
るロック制御装置において、前記ロック変数のアドレス
を少なくとも一つ登録する登録手段と、該登録手段に登
録されたアドレスに対応するロック変数の状態を保持す
る状態保持手段と、前記登録手段及び前記状態保持手段
の状態を制御するとともに、前記ロック変数のロック状
態の解除をバス使用要求ビットの空きビットを利用して
他のロック制御装置に通知する制御手段とを有し、前記
状態保持手段は、前記ロック変数の状態として、自ロッ
ク制御装置がロックを取得している旨を示す第1の状態
と、自ロック制御装置はロックを取得しておらず他のロ
ック制御装置はロックを取得しているかもしれない旨を
示す第2の状態と、他のいずれかのロック制御装置がロ
ックを取得している旨を示す第3の状態とを具備し、前
記第3の状態にあるロック変数に対してロックリクエス
トが発行された場合に他のロック変数の状態を参照せず
にロック失敗を判断し、前記制御手段によりロック解除
を通知された場合に前記第3の状態をすべて前記第2の
状態に更新することを特徴とする。
に本発明は、主記憶を共有する複数のデータ処理装置を
有するデータ処理システムにて前記複数のデータ処理装
置の少なくとも一つに関するロック変数の状態を制御す
るロック制御装置において、前記ロック変数のアドレス
を少なくとも一つ登録する登録手段と、該登録手段に登
録されたアドレスに対応するロック変数の状態を保持す
る状態保持手段と、前記登録手段及び前記状態保持手段
の状態を制御するとともに、前記ロック変数のロック状
態の解除をバス使用要求ビットの空きビットを利用して
他のロック制御装置に通知する制御手段とを有し、前記
状態保持手段は、前記ロック変数の状態として、自ロッ
ク制御装置がロックを取得している旨を示す第1の状態
と、自ロック制御装置はロックを取得しておらず他のロ
ック制御装置はロックを取得しているかもしれない旨を
示す第2の状態と、他のいずれかのロック制御装置がロ
ックを取得している旨を示す第3の状態とを具備し、前
記第3の状態にあるロック変数に対してロックリクエス
トが発行された場合に他のロック変数の状態を参照せず
にロック失敗を判断し、前記制御手段によりロック解除
を通知された場合に前記第3の状態をすべて前記第2の
状態に更新することを特徴とする。
【0015】また、入力されたロック変数のアドレスと
前記登録手段に登録されたアドレスとの一致を検出する
一致検出手段を有することを特徴とする。
前記登録手段に登録されたアドレスとの一致を検出する
一致検出手段を有することを特徴とする。
【0016】
【発明の実施の形態】以下に、本発明の実施の形態につ
いて図面を参照して説明する。
いて図面を参照して説明する。
【0017】図1は、本発明のロック制御装置が適用さ
れたデータ処理システムの実施の一形態を示すブロック
図である。
れたデータ処理システムの実施の一形態を示すブロック
図である。
【0018】本形態は図1に示すように、データ処理を
行う複数の処理装置201〜204と、処理装置20
1,202と接続され、処理装置201,202のため
のキャッシュメモリとしての機能とロック変数を保持す
る機能とを有するキャッシュユニット205と、処理装
置203,204と接続され、処理装置203,204
のためのキャッシュメモリとしての機能を有するととも
に、ロック変数を保持する機能をも有するキャッシュユ
ニット206と、キャッシュユニット205,206と
システムバス208を介して接続された記憶装置207
とから構成されている。なお、システムバス208は、
アドレスバスとデータバスとを含み、これらアドレスバ
スとデータバスとは独立して動作することができる。ロ
ックの取得を要求するロックリクエストやロックの解放
を要求するアンロックリクエストはアドレスバスのみを
使用する。さらに、システムバス208は、キャッシュ
情報を伝えるためのバスを含み、このバスを使用してロ
ックリクエストに対するロック取得の可否が伝えられ
る。
行う複数の処理装置201〜204と、処理装置20
1,202と接続され、処理装置201,202のため
のキャッシュメモリとしての機能とロック変数を保持す
る機能とを有するキャッシュユニット205と、処理装
置203,204と接続され、処理装置203,204
のためのキャッシュメモリとしての機能を有するととも
に、ロック変数を保持する機能をも有するキャッシュユ
ニット206と、キャッシュユニット205,206と
システムバス208を介して接続された記憶装置207
とから構成されている。なお、システムバス208は、
アドレスバスとデータバスとを含み、これらアドレスバ
スとデータバスとは独立して動作することができる。ロ
ックの取得を要求するロックリクエストやロックの解放
を要求するアンロックリクエストはアドレスバスのみを
使用する。さらに、システムバス208は、キャッシュ
情報を伝えるためのバスを含み、このバスを使用してロ
ックリクエストに対するロック取得の可否が伝えられ
る。
【0019】図2は、図1に示したキャッシュユニット
205,206の構成を示すブロック図である。
205,206の構成を示すブロック図である。
【0020】本形態におけるキャッシュユニット20
5,206は図2に示すように、接続された処理装置か
らのリクエストを保持するリクエストバッファ21,2
2と、システムバス208に発行されたリクエストまた
はリクエストバッファ21またはリクエストバッファ2
2を選択するセレクタ23と、キャッシュメモリのアド
レスアレイ24と、ロックリクエスト制御装置25と、
セレクタ23で選択されたリクエストまたはロックリク
エスト制御装置25からのロック判定を選択するセレタ
タ26,27とから構成されている。
5,206は図2に示すように、接続された処理装置か
らのリクエストを保持するリクエストバッファ21,2
2と、システムバス208に発行されたリクエストまた
はリクエストバッファ21またはリクエストバッファ2
2を選択するセレクタ23と、キャッシュメモリのアド
レスアレイ24と、ロックリクエスト制御装置25と、
セレクタ23で選択されたリクエストまたはロックリク
エスト制御装置25からのロック判定を選択するセレタ
タ26,27とから構成されている。
【0021】なお、リクエストバッファ21,22は、
複数のリクエストを保持し、それぞれ先入れ先出しバッ
ファとして機能する。
複数のリクエストを保持し、それぞれ先入れ先出しバッ
ファとして機能する。
【0022】また、セレタタ23は、あらかじめ定めら
れた規則に従って、3入力の内から1つを選択する。例
えば、各入力から順番に選択するラウンドロビン方式を
使用することができる。また、システムバスからのリク
エストを最優先として扱う方式を使用することもでき
る。
れた規則に従って、3入力の内から1つを選択する。例
えば、各入力から順番に選択するラウンドロビン方式を
使用することができる。また、システムバスからのリク
エストを最優先として扱う方式を使用することもでき
る。
【0023】また、アドレスアレイ24は、通常のキャ
ッシュメモリと同様の構成を有し(不図示)、データメ
モリの各エントリに対応するタグアドレスを格納する。
ッシュメモリと同様の構成を有し(不図示)、データメ
モリの各エントリに対応するタグアドレスを格納する。
【0024】また、セレクタ26,27は、ロックリク
エストに対するリプティを返す場合にはロックリクエス
ト制御装置25の出力を選択し、キャッシュメモリの一
致制御を行う場合にはセレクタ23の出力を選択する。
エストに対するリプティを返す場合にはロックリクエス
ト制御装置25の出力を選択し、キャッシュメモリの一
致制御を行う場合にはセレクタ23の出力を選択する。
【0025】図3は、本発明のロック制御装置の実施の
一形態を示す図であり、図2に示したロックリクエスト
制御装置の構成を示している。
一形態を示す図であり、図2に示したロックリクエスト
制御装置の構成を示している。
【0026】本形態は図3に示すように、セレクタ23
により選択されたリクエストについてのロック変数のア
ドレスが登録される登録手段であるロックアドレスレジ
スタ1,2と、ロックアドレスレジスタ1,2に登録さ
れたアドレスに対応するロック変数の状態を保持する状
態保持手段であるロックステータスレジスタ5,6と、
セレクタ23からのロック変数のアドレスとロックアド
レスレジスタ1,2に保持されたアドレスを入力してそ
れらの一致を検出するロックアドレス一致検出部3,4
と、ロックアドレス一致検出回路3またはロックアドレ
ス一致検出回路4で一致が検出されたエントリに対する
ロックステータスレジスタ5,6の内容を選択するセレ
クタ7と、ロックアドレスレジスタ1,2やロックステ
ータスレジスタ5,6の状態を制御するとともに、ロッ
ク変数のロック状態の解除をバス使用要求ビットの空き
ビットを利用して他のロック制御装置に通知するロック
リクエスト制御部8とから構成されている。
により選択されたリクエストについてのロック変数のア
ドレスが登録される登録手段であるロックアドレスレジ
スタ1,2と、ロックアドレスレジスタ1,2に登録さ
れたアドレスに対応するロック変数の状態を保持する状
態保持手段であるロックステータスレジスタ5,6と、
セレクタ23からのロック変数のアドレスとロックアド
レスレジスタ1,2に保持されたアドレスを入力してそ
れらの一致を検出するロックアドレス一致検出部3,4
と、ロックアドレス一致検出回路3またはロックアドレ
ス一致検出回路4で一致が検出されたエントリに対する
ロックステータスレジスタ5,6の内容を選択するセレ
クタ7と、ロックアドレスレジスタ1,2やロックステ
ータスレジスタ5,6の状態を制御するとともに、ロッ
ク変数のロック状態の解除をバス使用要求ビットの空き
ビットを利用して他のロック制御装置に通知するロック
リクエスト制御部8とから構成されている。
【0027】図4は、本発明のロック制御装置における
ロック変数の状態を説明するための図である。
ロック変数の状態を説明するための図である。
【0028】本形態におけるロック変数は図4に示すよ
うに、LCK、ULS及びULLの3つの状態のいずれ
かをとる。
うに、LCK、ULS及びULLの3つの状態のいずれ
かをとる。
【0029】LCKとは、当核キャッシュユニットに接
続するデータ処理装置がロックを確保しており、他のデ
ータ処理装置がロックを確保していない状態を表す。
続するデータ処理装置がロックを確保しており、他のデ
ータ処理装置がロックを確保していない状態を表す。
【0030】また、ULSとは、当該キャッシュユニッ
トに接続するデータ処理装置はロックを確保しておら
ず、他のデータ処理装置がロックを確保しているかは不
明である状態を示す。
トに接続するデータ処理装置はロックを確保しておら
ず、他のデータ処理装置がロックを確保しているかは不
明である状態を示す。
【0031】また、ULLとは、当核キャッシュに接続
するデータ処理装置はロックを確保していないが、他の
データ処理装置のいづれかがロックを確保している状態
を表す。
するデータ処理装置はロックを確保していないが、他の
データ処理装置のいづれかがロックを確保している状態
を表す。
【0032】ロックリクエストによるロック確保に失敗
した場合、当該キャシュユニットのロック変数はULS
からULLに遷移する。これにより、当該キャッシュユ
ニットは、さらなるロックリクエストを他のキャッシュ
ユニットに対して発行しないように制御する。
した場合、当該キャシュユニットのロック変数はULS
からULLに遷移する。これにより、当該キャッシュユ
ニットは、さらなるロックリクエストを他のキャッシュ
ユニットに対して発行しないように制御する。
【0033】図5は、図1に示した処理装置201〜2
04からロックリクエストが発行された場合の動作につ
いて説明するための図であり、最左欄はロックリクエス
トを発行したデータ処理装置に接続するキャッシュユニ
ットにおけるロック変数の状態を表し、中欄はそれ以外
のキャッシュユニットにおけるロック変数の状態を表
す。また、最右欄はそれぞれの場合における動作を表
す。なお、以下では、リクエストを発行したデータ処理
装置に接続するキャッシュユニットのことをローカルキ
ャッシュユニットという。
04からロックリクエストが発行された場合の動作につ
いて説明するための図であり、最左欄はロックリクエス
トを発行したデータ処理装置に接続するキャッシュユニ
ットにおけるロック変数の状態を表し、中欄はそれ以外
のキャッシュユニットにおけるロック変数の状態を表
す。また、最右欄はそれぞれの場合における動作を表
す。なお、以下では、リクエストを発行したデータ処理
装置に接続するキャッシュユニットのことをローカルキ
ャッシュユニットという。
【0034】例えば、ローカルキャッシュユニットのロ
ック変数の状態がLCKまたはULLであれば、すでに
ロックが確保されていることになるので、ロック装置
は、“ロック失敗”結果を返す。
ック変数の状態がLCKまたはULLであれば、すでに
ロックが確保されていることになるので、ロック装置
は、“ロック失敗”結果を返す。
【0035】また、ローカルキャッシュユニットのロッ
ク変数がULSの場合は、ローカルキャシュユニット以
外のキャッシュユニットのロック変数の状態を参照しな
ければならなくなる。
ク変数がULSの場合は、ローカルキャシュユニット以
外のキャッシュユニットのロック変数の状態を参照しな
ければならなくなる。
【0036】すなわち、ローカルキャシュユニット以外
のキャシュユニットのロック変数の状態がLCKであれ
ば、ロック装置は“ロック失敗”の結果を返す。また、
その状態がULSであれば、ロック制御装置は“ロック
成功”の結果を返すとともに、ローカルキャッシュユニ
ットのロック変数の状態をLCKに、それ以外のキャッ
シュユニットのロック変数の状態をULLにする。
のキャシュユニットのロック変数の状態がLCKであれ
ば、ロック装置は“ロック失敗”の結果を返す。また、
その状態がULSであれば、ロック制御装置は“ロック
成功”の結果を返すとともに、ローカルキャッシュユニ
ットのロック変数の状態をLCKに、それ以外のキャッ
シュユニットのロック変数の状態をULLにする。
【0037】ローカルキャッシュ以外のキャッシュユニ
ットに当該ロック変数が登録されていなければ、ロック
制御装置は“ロック成功”の結果を返すとともに、ロー
カルキャッシュユニットの状態をLCKにする。
ットに当該ロック変数が登録されていなければ、ロック
制御装置は“ロック成功”の結果を返すとともに、ロー
カルキャッシュユニットの状態をLCKにする。
【0038】また、ローカルキャッシュユニットに核当
するアドレスが登録されていない場合には、ローカルキ
ャッシュユニットのロック変数がULSの場合とほぼ同
様の処理を行う。但し、この場合には当該ロックリクエ
ストにかかるロック変数のアドレスをロックアドレスレ
ジスタに登録する。また、この時、ロックを確保できれ
ばそのロック変数の状態をLCKに、確保できなければ
そのロック変数の状態をULLにする。
するアドレスが登録されていない場合には、ローカルキ
ャッシュユニットのロック変数がULSの場合とほぼ同
様の処理を行う。但し、この場合には当該ロックリクエ
ストにかかるロック変数のアドレスをロックアドレスレ
ジスタに登録する。また、この時、ロックを確保できれ
ばそのロック変数の状態をLCKに、確保できなければ
そのロック変数の状態をULLにする。
【0039】図6は、データ処理装置からアンロックリ
クエストが発行された場合の動作を説明するため図であ
り、左欄はアンロックリクエストを発行したデータ処理
装置に接続するキャッシュユニットにおけるロック変数
の状態を表し、右欄はそれぞれの場合における動作を表
す。
クエストが発行された場合の動作を説明するため図であ
り、左欄はアンロックリクエストを発行したデータ処理
装置に接続するキャッシュユニットにおけるロック変数
の状態を表し、右欄はそれぞれの場合における動作を表
す。
【0040】すなわち、ローカルキャッシュユニットの
ロック変数の状態がLCKであれば、ロックリクエスト
制御装置はその変数の状態をULSにする。
ロック変数の状態がLCKであれば、ロックリクエスト
制御装置はその変数の状態をULSにする。
【0041】また、ロックが取得されていない場合にア
ンロックリクエストは通常発生し得ないため、ローカル
キャシュユニットのロック変数の状態がULLやULS
であることはあり得ない。また、該当するロック変数が
登録されていない場合にもアンロックリクエストは通常
発生し得ない。
ンロックリクエストは通常発生し得ないため、ローカル
キャシュユニットのロック変数の状態がULLやULS
であることはあり得ない。また、該当するロック変数が
登録されていない場合にもアンロックリクエストは通常
発生し得ない。
【0042】図7は、本発明のロック制御装置の動作の
一例を説明するための図である。
一例を説明するための図である。
【0043】まず、キャッシュユニット205とキャッ
シュユニット206のロック変数の状態がULSであっ
た場合、キャッシュユニット205でロックリクエスト
が発行されると、キャッシュユニット205のロック変
数の状態がULSからLCKに更新される。
シュユニット206のロック変数の状態がULSであっ
た場合、キャッシュユニット205でロックリクエスト
が発行されると、キャッシュユニット205のロック変
数の状態がULSからLCKに更新される。
【0044】また、キャッシュユニット206のロック
変数の状態はULLに更新される。
変数の状態はULLに更新される。
【0045】この状態で、キャッシュユニット205で
アンロックリクエストが発行されると、キャシュユニッ
ト205のロック変数はLCKからULSに更新され、
キャッシュユニット206のロック変数はULLからU
LSに更新される。
アンロックリクエストが発行されると、キャシュユニッ
ト205のロック変数はLCKからULSに更新され、
キャッシュユニット206のロック変数はULLからU
LSに更新される。
【0046】図8は、図1に示したシステムバス208
のアドレスバスの動作を説明するための図である。
のアドレスバスの動作を説明するための図である。
【0047】アドレスバスは3つのステージに分割され
ており、ステージ1で各キャッシュユニットはアドレス
バス及びデータバスの使用要求を発行する。
ており、ステージ1で各キャッシュユニットはアドレス
バス及びデータバスの使用要求を発行する。
【0048】バスの使用要求は、各キャッシュユニット
により、アドレスバスのどのビットを使用するかあらか
じめ決められており、ステージ2でそれら要求の調停を
行う。この調停でアドレスバスの使用権を獲得したキャ
ッシュユニットがステージ3でリクエストアドレスとリ
クエストコマンドを発行する。
により、アドレスバスのどのビットを使用するかあらか
じめ決められており、ステージ2でそれら要求の調停を
行う。この調停でアドレスバスの使用権を獲得したキャ
ッシュユニットがステージ3でリクエストアドレスとリ
クエストコマンドを発行する。
【0049】したがって、キャッシュユニット205が
ロックリクエストをバスに発行する際には、まず、バス
ステージ1でアドレスバス要求を出し、調停でアドレス
バスを獲得できたならばステージ3でロック変数とロッ
クコマンドを出力する。
ロックリクエストをバスに発行する際には、まず、バス
ステージ1でアドレスバス要求を出し、調停でアドレス
バスを獲得できたならばステージ3でロック変数とロッ
クコマンドを出力する。
【0050】キャッシュユニット206では、バスから
このロック変数とロックコマンドを受け取ると、このロ
ック変数の状態を索引しロック取得の可否をキャッシュ
ユニット205に伝える。
このロック変数とロックコマンドを受け取ると、このロ
ック変数の状態を索引しロック取得の可否をキャッシュ
ユニット205に伝える。
【0051】一方、アンロックリクエスト時には、バス
ステージ1でアンロック要求ビットを立てるが、アンロ
ックリクエスト要求は、ステージ3でアドレスバスを使
用しないため、ステージ1でアドレスバス要求を出して
いた他のリクエストがアドレスバスを使用できる。
ステージ1でアンロック要求ビットを立てるが、アンロ
ックリクエスト要求は、ステージ3でアドレスバスを使
用しないため、ステージ1でアドレスバス要求を出して
いた他のリクエストがアドレスバスを使用できる。
【0052】キャッシュユニット205がアンロックリ
クエストを発行する場合には、バスステージ1でアンロ
ック要求を発行する。
クエストを発行する場合には、バスステージ1でアンロ
ック要求を発行する。
【0053】キャッシュユニット206は、バスステー
ジ1でアンロック要求を監視し、アンロック要求が発行
されたならば、キャッシュユニット206内のULLス
テータスをULSに更新する。この更新は、すべてのロ
ック変数に対して行ってもよいし、キャッシュステータ
スとともにLCKを取得しているキャッシュユニットの
IDを登録しておけば、アンロック要求を出したキャッ
シュユニットがロックしているロック変数に対してのみ
行うこともできる。
ジ1でアンロック要求を監視し、アンロック要求が発行
されたならば、キャッシュユニット206内のULLス
テータスをULSに更新する。この更新は、すべてのロ
ック変数に対して行ってもよいし、キャッシュステータ
スとともにLCKを取得しているキャッシュユニットの
IDを登録しておけば、アンロック要求を出したキャッ
シュユニットがロックしているロック変数に対してのみ
行うこともできる。
【0054】以上のように、アンロックリクエスト時、
従来のようにシステムバス208にロック変数及びアン
ロックロックコマンドを発行しないで、他のキャッシュ
ユニットのロックステータスをアンロックできるため、
バストラフィックを削減することができる。
従来のようにシステムバス208にロック変数及びアン
ロックロックコマンドを発行しないで、他のキャッシュ
ユニットのロックステータスをアンロックできるため、
バストラフィックを削減することができる。
【0055】
【発明の効果】以上説明したように本発明においては、
ロックアドレスレジスタに対応して各種ロック変数の状
態を設けるとともに、アンロックを発行したキャッシュ
ユニット以外のキャッシュユニットのロックステータス
を解除するのにロック変数とアンロックコマンドをバス
に発行せずに、バス使用要求ビットの空きビットを利用
してアンロック要求を出すことにより、不要なバストラ
フィックを削減することができる。
ロックアドレスレジスタに対応して各種ロック変数の状
態を設けるとともに、アンロックを発行したキャッシュ
ユニット以外のキャッシュユニットのロックステータス
を解除するのにロック変数とアンロックコマンドをバス
に発行せずに、バス使用要求ビットの空きビットを利用
してアンロック要求を出すことにより、不要なバストラ
フィックを削減することができる。
【図1】本発明のロック制御装置が適用されたデータ処
理システムの実施の一形態を示すブロック図である。
理システムの実施の一形態を示すブロック図である。
【図2】図1に示したキャッシュユニットの構成を示す
ブロック図である。
ブロック図である。
【図3】本発明のロック制御装置の実施の一形態を示す
図である。
図である。
【図4】本発明のロック制御装置におけるロック変数の
状態を説明するための図である。
状態を説明するための図である。
【図5】図1に示した処理装置からロックリクエストが
発行された場合の動作について説明するための図であ
る。
発行された場合の動作について説明するための図であ
る。
【図6】データ処理装置からアンロックリクエストが発
行された場合の動作を説明するため図である。
行された場合の動作を説明するため図である。
【図7】本発明のロック制御装置の動作の一例を説明す
るための図である。
るための図である。
【図8】図1に示したシステムバスのアドレスバスの動
作を説明するための図である。
作を説明するための図である。
1,2 ロックアドレスレジスタ 3,4 ロックアドレス一致検出回路 5,6 ロックステータスレジスタ 7,23,26,27 セレクタ 8 ロックリクエスト制御装置 21,22 リクエストバッファ 24 アドレスアレイ 25 ロックリクエスト制御装置 210〜204 処理装置 205,206 キャッシュユニット 207 記憶装置
───────────────────────────────────────────────────── フロントページの続き (58)調査した分野(Int.Cl.7,DB名) G06F 15/177 682 G06F 12/00 572 JICSTファイル(JOIS)
Claims (2)
- 【請求項1】 主記憶を共有する複数のデータ処理装置
を有するデータ処理システムにて前記複数のデータ処理
装置の少なくとも一つに関するロック変数の状態を制御
するロック制御装置において、 前記ロック変数のアドレスを少なくとも一つ登録する登
録手段と、 該登録手段に登録されたアドレスに対応するロック変数
の状態を保持する状態保持手段と、 前記登録手段及び前記状態保持手段の状態を制御すると
ともに、前記ロック変数のロック状態の解除をバス使用
要求ビットの空きビットを利用して他のロック制御装置
に通知する制御手段とを有し、 前記状態保持手段は、 前記ロック変数の状態として、自ロック制御装置がロッ
クを取得している旨を示す第1の状態と、 自ロック制御装置はロックを取得しておらず他のロック
制御装置はロックを取得しているかもしれない旨を示す
第2の状態と、 他のいずれかのロック制御装置がロックを取得している
旨を示す第3の状態とを具備し、 前記第3の状態にあるロック変数に対してロックリクエ
ストが発行された場合に他のロック変数の状態を参照せ
ずにロック失敗を判断し、前記制御手段によりロック解
除を通知された場合に前記第3の状態をすべて前記第2
の状態に更新することを特徴とするロック制御装置。 - 【請求項2】 請求項1に記載のロック制御装置におい
て、 入力されたロック変数のアドレスと前記登録手段に登録
されたアドレスとの一致を検出する一致検出手段を有す
ることを特徴とするロック制御装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP9319809A JP3037241B2 (ja) | 1997-11-20 | 1997-11-20 | ロック制御装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP9319809A JP3037241B2 (ja) | 1997-11-20 | 1997-11-20 | ロック制御装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH11154142A JPH11154142A (ja) | 1999-06-08 |
JP3037241B2 true JP3037241B2 (ja) | 2000-04-24 |
Family
ID=18114449
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP9319809A Expired - Lifetime JP3037241B2 (ja) | 1997-11-20 | 1997-11-20 | ロック制御装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3037241B2 (ja) |
-
1997
- 1997-11-20 JP JP9319809A patent/JP3037241B2/ja not_active Expired - Lifetime
Non-Patent Citations (1)
Title |
---|
NEC技報 VOL.51,NO.12 P7−11 1998 |
Also Published As
Publication number | Publication date |
---|---|
JPH11154142A (ja) | 1999-06-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5875485A (en) | Lock control for a shared main storage data processing system | |
US4733352A (en) | Lock control for a shared storage in a data processing system | |
US6105085A (en) | Lock mechanism for shared resources having associated data structure stored in common memory include a lock portion and a reserve portion | |
JP3074636B2 (ja) | 並列計算機システム | |
US5060144A (en) | Locking control with validity status indication for a multi-host processor system that utilizes a record lock processor and a cache memory for each host processor | |
CN101183338B (zh) | 本地片载系统和在本地片载系统中维持存储一致性的方法 | |
EP0464715B1 (en) | Interlock queueing | |
US5829052A (en) | Method and apparatus for managing memory accesses in a multiple multiprocessor cluster system | |
US5666515A (en) | Information processing system having multiple modules and a memory on a bus, where any module can lock an addressable portion of the memory by sending retry signals to other modules that try to read at the locked address | |
EP0519599B1 (en) | Data processing system and method with lock spaces | |
US6076126A (en) | Software locking mechanism for locking shared resources in a data processing system | |
JPH03118649A (ja) | メモリーサブシステム入力キュー | |
US6970963B2 (en) | Apparatus and method for synchronizing multiple accesses to common resources | |
JP3481485B2 (ja) | マルチプロセッサシステム | |
US6529933B1 (en) | Method and apparatus for locking and unlocking a semaphore | |
US6381681B1 (en) | System and method for shared memory protection in a multiprocessor computer | |
US6490662B1 (en) | System and method for enhancing the reliability of a computer system by combining a cache sync-flush engine with a replicated memory module | |
US5893156A (en) | Lock control apparatus and method including controlling means for setting a lock variable status | |
EP0789303B1 (en) | Memory system and a data communication system | |
JP3037241B2 (ja) | ロック制御装置 | |
EP0291907B1 (en) | Interprocessor communication system in information processing system enabling communication between execution processor units during communication between other processor units | |
US6389519B1 (en) | Method and apparatus for providing probe based bus locking and address locking | |
JP2826483B2 (ja) | ロック制御装置 | |
JPH1097507A (ja) | ロック制御システムおよび方法 | |
JP2742246B2 (ja) | ロックリクエスト制御機構 |