JP2587468B2 - ロツクデータ設定装置 - Google Patents

ロツクデータ設定装置

Info

Publication number
JP2587468B2
JP2587468B2 JP63207430A JP20743088A JP2587468B2 JP 2587468 B2 JP2587468 B2 JP 2587468B2 JP 63207430 A JP63207430 A JP 63207430A JP 20743088 A JP20743088 A JP 20743088A JP 2587468 B2 JP2587468 B2 JP 2587468B2
Authority
JP
Japan
Prior art keywords
lock
data
register
byte
request
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 - Fee Related
Application number
JP63207430A
Other languages
English (en)
Other versions
JPH0256663A (ja
Inventor
一夫 日比
伸之 志村
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Hitachi Computer Engineering Co Ltd
Original Assignee
Hitachi Ltd
Hitachi Computer Engineering Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd, Hitachi Computer Engineering Co Ltd filed Critical Hitachi Ltd
Priority to JP63207430A priority Critical patent/JP2587468B2/ja
Publication of JPH0256663A publication Critical patent/JPH0256663A/ja
Application granted granted Critical
Publication of JP2587468B2 publication Critical patent/JP2587468B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Multi Processors (AREA)

Description

【発明の詳細な説明】 [産業上の利用分野] 本発明は、複数の処理装置が記憶装置を共有する形式
の情報処理システムに係り、特に、記憶装置の共通使用
による誤りを防止するためのロツクデータ設定装置に関
する。
[従来の技術] 複数の処理装置が記憶装置を共有する形式の情報処理
システムにおいては、記憶装置中の共通資源(データ又
はプログラム)が複数の処理装置によつて同時に使用さ
れることにより生じる誤りを防ぐために、共通資源のブ
ロツクごとにロツクバイトが用意される。各処理装置
は、共通資源ブロツクへのアクセスに先立ち、対応する
ロツクバイトを読出して、それが他の処理装置により予
め定められた値(以下ロツク設定値という)にセツトさ
れているか否かを調べ、否であれば、これをロツク設定
値にセツトして、それからその共通資源ブロツクへのア
クセスを遂行し、予定の処理を完了した後にロツクバイ
トをリセツトする。他方、ロツクバイトが既に他の処理
装置によりロツク設定値にセツトされていれば、その装
置がロツクバイトをリセツトするまで、この共通資源ブ
ロツクへのアクセスは待たされる。
ある処理装置がロツクバイトの読出し,検査,修正及
び再書込みの一連の処理を遂行している間、他の処理装
置はこのロツクバイトを含む記憶領域へアクセスするの
を禁止される。そうしないと、ある処理装置が、他の処
理装置によつてセツトされようとしているロツクバイト
を読出して、検査し、その結果、対応する共通資源が利
用できると誤つて判断するおそれがあるからである。こ
のようなロツクバイトを含む記憶領域へのアクセスの禁
止は、インターロツクと呼ばれる。従来のインターロッ
ク機構の例は、特公昭58−34856号公報,特開昭57−158
081号公報等に記載されている。
[発明が解決しようとする課題] 従来のインターロツク機構によれば、少なくともロツ
クバイトの読出し,検査,修正及び再書込みの一連の処
理の間、ロツクバイトを含む記憶領域へ他の処理装置が
アクセスすることが禁止される。この措置は、この領域
へのアクセスを必要とする他の処理装置の動作を遅延さ
せる。また、インターロツクのための前記一連の処理の
実行は、各処理装置にとつてオーバヘツドとなる。
すなわち、前記従来技術は、ある処理装置がインター
ロツクのための一連の処理を行つている間、他の処理装
置の動作を遅延させてしまうという問題点を有するとと
もに、インターロツクのための一連の処理のため、各処
理装置の負荷が増大してしまうという問題点を有する。
本発明の目的は、前記従来技術の問題点を解決し、ロ
ツクデータの読出し,検査,修正及び再書込みの一連の
処理を、1個の記憶参照要求の実行で遂行させ、それに
より、他の処理装置のアクセスを禁止することなく、か
つ、僅少のオーバヘツドでロツクデータの検査・設定を
することができるような、従来のインターロツク機構に
代わるロツクデータ設定装置を提供することにある。
[課題を解決するための手段] 本発明によれば、前記目的は、記憶装置内に、処理装
置からのロツクデータ設定要求を受取る手段と、このロ
ツクデータ設定要求に応答してそれが指定するアドレス
から読出されたデータがロツク設定値を持つか否かを検
査する手段と、この検査手段の出力に応答して、読出さ
れたデータがロツク設定値を持てばそれを当該アドレス
に再書込みし、そのデータがロツク設定値を持たなけれ
ばロツク設定値を当該アドレスに書込む手段と、検査結
果と読出されたデータとをロツクデータ設定要求を発行
したアクセス元装置に送出する手段を備えることにより
達成される。
[作用] アクセス元装置は、共通資源を利用しようとする時、
対応するロツクデータのアドレスを指定してロツクデー
タ設定要求を発行する。この要求を受けた記憶装置にお
いて、指定されたアドレスから読出されたロツクデータ
は、検査手段により、既に、ロツク設定値にセツトされ
ているか否かが検査される。そして、それがロツク設定
値にセツトされていれば、そのロツクデータは変更され
ずに維持され、ロツク設定値にセツトされていなけれ
ば、それはロツク設定値に変更される。ロツクデータ設
定要求を発行したアクセス元装置は、送られて来た検査
結果を調べて、所望の共通資源に直ちにアクセスできる
か否かを知ることができる。このようにして、ロツクデ
ータの読出し,検査,修正及び再書込みの一連の処理
が、1個の記憶参照要求の実行中に、他のアクセス元装
置のアクセスを特に禁止することなく完了できる。
[実施例] 以下、本発明によるロツクデータ設定装置の一実施例
を図面により詳細に説明する。
第1図は本発明の一実施例の構成を示すブロツク図で
ある。第1図において、1a,1bは処理ユニツト、2は記
憶制御ユニツト、3は記憶ユニツト、30はオーダレジス
タ、31は書込みフラグレジスタ、32は書込みデータレジ
スタ、33は記憶回路、34は読出しデータレジスタ、35は
データ検査回路、37は検査結果レジスタである。
第1図に示す本発明の一実施例は、複数の処理ユニツ
ト1a,1bが、記憶制御ユニツト2を介して、記憶ユニツ
ト3に接続されて構成されており、処理ユニツトとして
は、任意の種類の処理ユニツト(命令処理ユニツト,入
出力処理ユニツト等)を任意の台数だけ設けてよい。記
憶制御ユニツト2は、これらの処理ユニツトからのアク
セス要求の競合を調整して、記憶ユニツト3に転送す
る。各処理ユニツトからのアクセス要求は、信号線40a
〜42a,40b〜42bを経て記憶制御ユニツト2に送られ、こ
こから信号線40〜42を経て記憶ユニツト3に送られる。
読出されたデータとロツクバイトデータ検査結果とは、
信号線43,44を経て記憶制御ユニツト2を通り、更に信
号線43a,44a又は43b,44bを経て、処理ユニツト1a又は1b
に送られる。
記憶ユニツト3において、オーダレジスタ30は動作指
定情報を受取り、書込みフラグレジスタ31は書込みバイ
ト位置を示すフラグを受取り、書込みデータレジスタ32
は書込まれるべきデータを受取つて、記憶回路33へ供給
する。記憶回路33から読出されたデータは、読出しデー
タレジスタ34に一時的に保持される。データ検査回路35
は、ロツクバイト設置要求に従つて読出されたロツクバ
イトの値がロツク設定値と等しいか否かを検査する。そ
の結果は、検査結果レジスタ37に一時的に保持される。
前記データ検査回路35は、読出されたロツクバイト値と
処理ユニツトより送られてきたロツク設定値とを比較す
る比較回路と、ロツク設定値として予め定められたビツ
トパターンを検出する論理回路とにより構成されてい
る。前記比較回路と論理回路とのどちらを用いるかは、
ロツクバイト設定要求により指示される。前記データ検
査回路35は、さらに、図示していないが、アクセス要求
に含まれるアドレスを保持するためのアドレスレジスタ
が設けられている。
通常の読出し要求及び書込み要求(部分書込み要求を
含む)の処理は従来装置と同様なので、その説明は省略
し、本発明によるロツクバイト設定要求の処理を以下に
説明する。
例えば処理ユニツト1aにおいて共通資源ブロツクへの
アクセスの必要が生じると、ロツクバイト設定要求が、
記憶制御ユニツト2を経て、記憶ユニツト3に送られ
る。ロツクバイト設定要求は、ロツクバイト設定動作を
指示するオーダ情報と、ロツク設定値と、アドレスと、
ロツク設定値が書込まれるべきロツクバイト位置を示す
書込みフラグとを含み、オーダ情報はオーダレジスタ30
に、書込みフラグは書込みフラグレジスタ31に、ロツク
設定値は書込みデータレジスタ32のロツクバイト位置
に、アドレスは図示されていないアドレスレジスタに、
それぞれセツトされる。
この状態で記憶ユニツト3が起動されると、記憶回路
33の指定されたアドレスの領域からデータが読出され
て、読出しデータレジスタ34にセツトされる。それと同
時に、データ検査回路35は、オーダレジスタ30からのオ
ーダ情報を解読し、その結果がロツクバイト検査要求で
あれば、ロツクバイトの値がオール“0"か否かを検査す
る。この検査の結果、ロツクバイトの値がオール“0"で
なければ、すなわち、他の処理ユニツトにより、すでに
ロツク設定値にセツトされていれば、データ検査回路35
は、“0"をAND回路36の一方の入力に供給するととも
に、検査結果レジスタ37にその結果をセツトする。この
場合、検査結果レジスタ37には、“1"がセツトされる。
これにより、書込みデータレジスタ32に対するすべての
更新バイト位置フラグが“0"になる。次いで、フラグ
“0"により示される書込みデータレジスタ32のバイト位
置に、読出しデータレジスタ34中の対応バイトが転送さ
れる。今の場合、すべてのフラグが“0"であるから、書
込みデータレジスタ32の全位置に、読出しデータレジス
タ34の内容が転送される。その後、書込みデータレジス
タ32の内容は、先に指定された領域に書込まれ、その結
果、既に設定されていたロツクバイトは、変更されるこ
となく維持される。
読出しデータレジスタ34の内容と、検査結果レジスタ
37の内容とは、ロツクバイト設定要求を発行した処理ユ
ニツト1aに送られる。処理ユニツト1aは、送られた検査
結果レジスタの内容が“1"となつていることにより、す
でに、他の処理ユニツトによりロツクが設定されていた
ことを知り、一定時間後にロツクバイト設定要求を再び
発行する。
他方、読出されたロツクバイトがオール“0"であれ
ば、すなわち、ロツクが設定されていなければ、データ
検査回路35は、AND回路36に“1"を供給するとともに、
検査結果レジスタ37に“0"をセツトする。これにより、
書込みフラグレジスタ31で指定されるバイト位置(ロツ
クバイト位置)に対するフラグは、“1"となり、他のバ
イト位置に対するフラグは、“0"にとどまる。次いで、
フラグ“0"により示される書込みデータレジスタ32のバ
イト位置に、読出しデータレジスタ34内の対応バイトが
転送され、これにより、ロツクバイト位置のロツク設定
値と、他のバイト位置の読出しデータレジスタ34の内容
がマージされる。その後、書込みデータレジスタ32の内
容が先に指定された領域に書込まれ、その結果、ロツク
バイトはロツク設定値に更新される。
読出しデータレジスタ34の内容と、検査結果レジスタ
37の内容とは、ロツクバイト設定要求を発行した処理ユ
ニツト1aに送られる。処理ユニツト1aは、送られた検査
結果レジスタの内容が“0"となつていることにより、そ
れまでに、他の処理ユニツトによりロツクバイトが設定
されていなかつたことを知り、目的の共通資源へのアク
セスを開始する。
いま、処理ユニツト1aは、“IBM System/370Extended
Architecture Principles of Operation"(SA22−7085
−0)に記載されている、CS(Compare and Swap)命
令、または、CDS(Compare Double and Swap)命令を実
行するものとする。CS命令及びCDS命令は、記憶部にあ
る情報と、命令内の情報とを比較し、一致した場合、も
う1つの設定情報を記憶部に書込み、不一致の場合、記
憶部から所定の情報を読出すという命令仕様を有する命
令である。
処理ユニツト1aは、CS命令,CDS命令を実行する場合、
まず、ロツクバイト設定要求(CS)タイプを、記憶制御
ユニツト2を介して記憶ユニツト3に送出する。このCS
タイプのロツクバイト設定要求は、ロツクバイト設定動
作(CSタイプ)を指示するオーダ情報と、検査に使用す
るロツク設定値(第1オペランドデータ)と、新たに設
定するロツク設定値(第3オペランドデータ)と、アド
レスと、ロツク設定値が書込まれるべきロツクバイト位
置を示す書込みフラグとを含み、オーダ情報はオーダレ
ジスタ30に、書込みフラグは、書込みフラグレジスタ31
に、検査に使用するロツク設定値と新たに設定するロツ
ク設定値とは、書込みデータレジスタ32に、アドレス
は、図示しないアドレスレジスタに、それぞれセツトさ
れる。
この状態で記憶ユニツト3が起動されると、記憶回路
33の指定されたアドレスの領域からデータが読出され、
そのデータが読出しデータレジスタ34にセツトされる。
これと同時に、データ検査回路35は、オーダレジスタ30
内のオーダ情報を解読し、この解読結果がCSタイプの要
求であることにより、読出しデータ内のロツクバイトの
値と書込みデータレジスタ32内の検査に使用するロツク
設定値とが等しいか否かを検査する。この場合、検査す
べきデータ位置は、書込みフラグレジスタ31の書込みフ
ラグにより指定される。データ検査回路35は、この検査
の結果、一致が得られなければ、AND回路36の一方の入
力に“0"を供給するとともに、検査結果レジスタ37に
“1"をセツトする。これにより、書込みデータレジスタ
32に対する全ての更新バイト位置フラグが“0"となる。
次いで、フラグ“0"により示される書込みデータレジス
タ32のバイト位置に、読出しデータレジスタ34内の対応
バイトが転送される。いまの場合、全てのフラグが“0"
であるので、書込みデータレジスタ32の全位置に、読出
しデータレジスタ34の内容が転送されることになる。そ
の後、書込みデータレジスタ32の内容は、先に指定され
た記憶回路33の領域に書込まれる。この結果、すでに記
憶回路33内に設定されていたロツクバイトは、変更され
ることなく維持されることになる。読出しデータレジス
タ34の内容と、検査結果レジスタ37の内容は、CSタイプ
のロツクバイト設定要求を発行した処理ユニツト1aに送
出される。これを受取つた処理ユニツト1aは、検査結果
レジスタ37からの検査結果が“1"であることにより、所
定のレジスタに読出したデータをセツトし、また、検査
結果をコンデイシヨン・コードにセツトして、CS命令の
実行を終了する。
他方、データ検査回路35の検査において、読出された
ロツクバイトと検査に使用するロツク設定値とが一致し
ていれば、データ検査回路35は、AND回路36に“1"を入
力するとともに、検査結果レジスタ37に“0"をセツトす
る。これにより、書込みフラグレジスタ31が指定するバ
イト位置に対するフラグは“1"となり、他のバイト位置
に対するフラグは“0"にとどまる。次いで、フラグ“0"
により指示される書込みデータレジスタ32のバイト位置
に、読出しデータレジスタ34内の対応バイトが転送さ
れ、これにより、ロツクバイト位置のロツク設定値と、
他のバイト位置の読出しデータレジスタ34の内容とが、
書込みデータレジスタ32内にマージされる。その後、書
込みデータレジスタ32の内容が、先に指定された記憶回
路33の領域に書込まれ、その結果、ロツクバイトは、ロ
ツク設定値に更新される(CS命令,CDS命令では、第2オ
ペランドデータが第3オペランドデータにより更新され
る)。
また、読出しデータレジスタ34の内容と検査結果レジ
スタ37の内容は、処理ユニツト1aに転送され、処理ユニ
ツト1aは、送られた検査結果の内容が“0"であることに
より、この検査結果をコンデイシヨン・コードにセツト
して、命令の実行を終了する。
データ検査回路35は、通常の書込み要求(部分書込み
要求を含む)の処理中、その出力が強制的に“1"とされ
る。この結果、書込みフラグレジスタ31のバイト位置情
報は、そのまま書込みデータレジスタ32に与えられるこ
とになる。
[発明の効果] 以上説明したように、本発明によれば、ロツクデータ
の読出し,検査,修正及び再書込みの一連の処理を、1
個の記憶参照要求の実行により、他の処理装置からのア
クセスを禁止することなく実行することができ、従つ
て、他の処理装置で行われる処理が遅らされることがな
く、また、ロツクデータの検査,設定のためのオーバヘ
ツドを減少させることができる。
【図面の簡単な説明】
第1図は本発明の一実施例の構成を示すブロツク図であ
る。 1a,1b……処理ユニツト、2……記憶制御ユニツト、3
……記憶ユニツト、30……オーダレジスタ、31……書込
みフラグレジスタ、32……書込みデータレジスタ、33…
…記憶回路、34……読出しデータレジスタ、35……デー
タ検査回路、37……検査結果レジスタ。
───────────────────────────────────────────────────── フロントページの続き (56)参考文献 特開 昭62−151970(JP,A) 特開 昭62−214466(JP,A)

Claims (2)

    (57)【特許請求の範囲】
  1. 【請求項1】複数のアクセス元装置が記憶制御装置を介
    して共通に使用可能な記憶装置のロックデータ設定装置
    において、前記記憶装置が、前記アクセス元装置からの
    ロックデータ設定要求を受取る手段と、前記要求で指定
    されたアドレスから読出されたデータが、ロック設定値
    を持つか否かを検査する手段と、前記読出されたデータ
    がロック設定値を持つ場合、そのデータを当該アドレス
    に再書込みし、読出されたデータがロック設定値を持た
    ない場合、ロック設定値を当該アドレスに書込む手段
    と、前記検査手段による検査結果と読出されたデータと
    を、前記要求を発したアクセス元装置に送出する手段と
    を備えて構成されていることを特徴とするロックデータ
    設定装置。
  2. 【請求項2】前記ロックデータ設定要求を受取る手段
    は、該要求の種類により、検査に使用するロック設定値
    と新たに設定するロック設定値とを、前記アクセス元装
    置から受取ることを特徴とする特許請求の範囲第1項記
    載のロックデータ設定装置。
JP63207430A 1988-08-23 1988-08-23 ロツクデータ設定装置 Expired - Fee Related JP2587468B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP63207430A JP2587468B2 (ja) 1988-08-23 1988-08-23 ロツクデータ設定装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP63207430A JP2587468B2 (ja) 1988-08-23 1988-08-23 ロツクデータ設定装置

Publications (2)

Publication Number Publication Date
JPH0256663A JPH0256663A (ja) 1990-02-26
JP2587468B2 true JP2587468B2 (ja) 1997-03-05

Family

ID=16539628

Family Applications (1)

Application Number Title Priority Date Filing Date
JP63207430A Expired - Fee Related JP2587468B2 (ja) 1988-08-23 1988-08-23 ロツクデータ設定装置

Country Status (1)

Country Link
JP (1) JP2587468B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2643569B2 (ja) * 1990-09-12 1997-08-20 ブラザー工業株式会社 テープ印字装置
JP2710475B2 (ja) * 1991-04-08 1998-02-10 茨城日本電気株式会社 メモリ制御回路

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62151970A (ja) * 1985-12-25 1987-07-06 Nec Corp ロツクバイトアクセス方式
JPS62214466A (ja) * 1986-03-17 1987-09-21 Fujitsu Ltd 記憶装置ロツク制御方式

Also Published As

Publication number Publication date
JPH0256663A (ja) 1990-02-26

Similar Documents

Publication Publication Date Title
JP3965784B2 (ja) 共有メモリ排他アクセス制御方法
JP2587468B2 (ja) ロツクデータ設定装置
US4547848A (en) Access control processing system in computer system
JPS6319058A (ja) メモリ装置
JP2547329B2 (ja) ロツクデータ設定装置
US4628450A (en) Data processing system having a local memory which does not use a directory device with distributed resident programs and a method therefor
JP3381079B2 (ja) キャッシュメモリを用いた排他制御システム
JPH01125633A (ja) マルチプロセッサシステムのデバッグ法
JP3130798B2 (ja) バス転送装置
JPS5834856B2 (ja) キオクセイギヨソウチ
JPH07104834B2 (ja) 処理装置間ロック制御システム
JPS592051B2 (ja) 相互排他要求選択装置
JP2710475B2 (ja) メモリ制御回路
JPH04184557A (ja) リクエスト競合生成方式
JP2973227B2 (ja) 排他制御命令実行方法
JPS63286959A (ja) メモリアクセス方式
JPH03232051A (ja) セマフォアクセス制御方法
JPS6235960A (ja) 排他制御情報制御方式
JPH01100799A (ja) 読出し専用メモリ制御回路
JPH0398119A (ja) 記憶装置
JPH0775017B2 (ja) メモリ・アクセス方式
JPS6174045A (ja) マルチプロセツサシステムにおけるチヤネル制御方式
JPH0414147A (ja) 中央演算処理装置
JPS6266348A (ja) キヤツシユメモリ制御装置におけるストアチエツク方式
JPS63829B2 (ja)

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees