JPH03232051A - セマフォアクセス制御方法 - Google Patents
セマフォアクセス制御方法Info
- Publication number
- JPH03232051A JPH03232051A JP2028819A JP2881990A JPH03232051A JP H03232051 A JPH03232051 A JP H03232051A JP 2028819 A JP2028819 A JP 2028819A JP 2881990 A JP2881990 A JP 2881990A JP H03232051 A JPH03232051 A JP H03232051A
- Authority
- JP
- Japan
- Prior art keywords
- semaphore
- memory
- semaphore information
- value
- information
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims description 10
- 230000015654 memory Effects 0.000 claims abstract description 73
- 238000010586 diagram Methods 0.000 description 7
- 238000007796 conventional method Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 235000019892 Stellar Nutrition 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
Landscapes
- Memory System Of A Hierarchy Structure (AREA)
- Multi Processors (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔概 要〕
複数プロセッサ間でのメモリ領域、実行権等の計算機資
源の獲得のための排他制御に関し、メモリ専有権獲得待
ちのプロセッサが、セマフォ情報設定を反覆することに
よる無駄なメモリバスの使用を除去することを目的とし
、複数プロセッサ間での排他制御に際し メモリ上の所定番地に格納されているセマフォ情報を読
み、該セマフォ情報が第1の値であるか否か確認するテ
ストを実行し、該セマフォ情報が第1の値であれば、第
1の値と異なる第2の値を該セマフォ情報として設定し
、該セマフォ情報が第1の値でない間、該テストのみ反
覆するように構成する。
源の獲得のための排他制御に関し、メモリ専有権獲得待
ちのプロセッサが、セマフォ情報設定を反覆することに
よる無駄なメモリバスの使用を除去することを目的とし
、複数プロセッサ間での排他制御に際し メモリ上の所定番地に格納されているセマフォ情報を読
み、該セマフォ情報が第1の値であるか否か確認するテ
ストを実行し、該セマフォ情報が第1の値であれば、第
1の値と異なる第2の値を該セマフォ情報として設定し
、該セマフォ情報が第1の値でない間、該テストのみ反
覆するように構成する。
〔産業上の利用分野]
本発明は、複数プロセッサ間でメモリ専有槽を競合して
獲得しようとする場合の排他制御のためのセマフォアク
セス制御方法に関スル。
獲得しようとする場合の排他制御のためのセマフォアク
セス制御方法に関スル。
プロセッサはメモリを排他的に専有して計算機処理(処
理プログラムで規定された仕事)を実行するが、メモリ
を専有出来ないプロセッサは待ちの状態となり実行中の
プロセッサが計算機処理を終了しメモリ専有権を開放し
たが否かを知るためにメモリ上の特定番地の特定な情報
であるセマフォ情報をテストアンドセット命令を繰り返
すが、その度にメモリバスを使用し実行中のプロセッサ
の処理効率を落とすため、待ちのプロセッサによるメモ
リバスの使用を極力なくす必要がある。
理プログラムで規定された仕事)を実行するが、メモリ
を専有出来ないプロセッサは待ちの状態となり実行中の
プロセッサが計算機処理を終了しメモリ専有権を開放し
たが否かを知るためにメモリ上の特定番地の特定な情報
であるセマフォ情報をテストアンドセット命令を繰り返
すが、その度にメモリバスを使用し実行中のプロセッサ
の処理効率を落とすため、待ちのプロセッサによるメモ
リバスの使用を極力なくす必要がある。
第3図は、計算機システムの構成例を示すブロック図で
あり、3台のプロセッサ16〜18が共通の主記憶装置
である共有メモリ11を共用して処理を行うように、各
プロセッサ16〜18は、それぞれ公知のキャッシュメ
モリ13〜15と、共通のメモリバス12を介して共有
メモリ11にアクセスする構成になっている。
あり、3台のプロセッサ16〜18が共通の主記憶装置
である共有メモリ11を共用して処理を行うように、各
プロセッサ16〜18は、それぞれ公知のキャッシュメ
モリ13〜15と、共通のメモリバス12を介して共有
メモリ11にアクセスする構成になっている。
このようなシステムで、プロセッサ16〜18で実行さ
れるプログラムが、排他的に専有する必要のあるシステ
ム資源にアクセスする場合には、当該資源に対応して設
ける公知のセマフォ情報を使用して、例えば次のように
プロセッサ間の排他制御のためのセマフォ獲得制御を行
うようにする。
れるプログラムが、排他的に専有する必要のあるシステ
ム資源にアクセスする場合には、当該資源に対応して設
ける公知のセマフォ情報を使用して、例えば次のように
プロセッサ間の排他制御のためのセマフォ獲得制御を行
うようにする。
プロセッサ間の排他制御は、第2図の従来方法によるメ
モリ専有権獲得の手順図で示されているように、待ち状
態のプロセッサは処理ステップ3で共有メモリ11上に
設けられたセマフォ情報を読みプロセッサで保持し、セ
マフォ情報19(その値をSで表す)を第2の値(S=
1とする)にしてもとの共有メモリへ書き込む。この行
為をセマフォ更新と呼ぶ。
モリ専有権獲得の手順図で示されているように、待ち状
態のプロセッサは処理ステップ3で共有メモリ11上に
設けられたセマフォ情報を読みプロセッサで保持し、セ
マフォ情報19(その値をSで表す)を第2の値(S=
1とする)にしてもとの共有メモリへ書き込む。この行
為をセマフォ更新と呼ぶ。
処理ステップ4では処理ステップ3で保持したセマフォ
情報が第1の値(S−0)か第2の値(S=1)かテス
トする。テストの結果S=0であれば当該プロセッサは
メモリ専有権を獲得し、S=1であれば当該プロセッサ
はメモリ専有権を獲得出来なかったとして処理ステップ
3へ戻る。
情報が第1の値(S−0)か第2の値(S=1)かテス
トする。テストの結果S=0であれば当該プロセッサは
メモリ専有権を獲得し、S=1であれば当該プロセッサ
はメモリ専有権を獲得出来なかったとして処理ステップ
3へ戻る。
メモリ専有権を獲得したプロセッサが計算機処理を終了
しセマフォ情報を第1の値(S=O)にするまで、処理
ステップ3と処理ステップ4は待ちのプロセッサによっ
て繰り返される。
しセマフォ情報を第1の値(S=O)にするまで、処理
ステップ3と処理ステップ4は待ちのプロセッサによっ
て繰り返される。
このセマフォ更新動作が2台以上のプロセッサで同時期
に実行されて、あるプロセッサによる最初のセマフォ情
報の読み出し動作と、その次のS=1の書込み動作との
間に、他のプロセッサによるセマフォ情報の読み出しが
挟まった場合には、前期の動作により両プロセッサでセ
マフォを獲得出来たと判断してしまって、排他制御が正
常に行われなくなる可能性がある。
に実行されて、あるプロセッサによる最初のセマフォ情
報の読み出し動作と、その次のS=1の書込み動作との
間に、他のプロセッサによるセマフォ情報の読み出しが
挟まった場合には、前期の動作により両プロセッサでセ
マフォを獲得出来たと判断してしまって、排他制御が正
常に行われなくなる可能性がある。
このために、テストアンドセット命令等と呼ばれる公知
の特別の命令をプロセッサに設けて、前記の読み出しか
ら書き込みまでをこの1命令で行うようにする。この命
令は公知のように、指定のオペランド(セマフォ情報)
に対する前記のような読み出しから書き込みまでの間、
継続してそのオペランドを専有し、他のプロセッサのア
クセスを禁止するように制御する命令であり、そのため
に比較的長持間続けてメモリバスを専有する。
の特別の命令をプロセッサに設けて、前記の読み出しか
ら書き込みまでをこの1命令で行うようにする。この命
令は公知のように、指定のオペランド(セマフォ情報)
に対する前記のような読み出しから書き込みまでの間、
継続してそのオペランドを専有し、他のプロセッサのア
クセスを禁止するように制御する命令であり、そのため
に比較的長持間続けてメモリバスを専有する。
メモリ専有権獲得待ちのプロセッサはメモリ専有権を獲
得出来るまで、第2図のステップ3とステップ4の繰り
返しによってメモリバスを使用するため他のプロセッサ
の計算機処理の効率を低下させる。
得出来るまで、第2図のステップ3とステップ4の繰り
返しによってメモリバスを使用するため他のプロセッサ
の計算機処理の効率を低下させる。
本発明は待ちのプロセッサによるメモリバス使用を最小
限に抑えることを目的としている。
限に抑えることを目的としている。
第1図は本発明によるメモリ専有権獲得の手順図である
。
。
第1図においてメモリ専有権獲得待ちのプロセッサは、
セマフォ更新(3)を行う前にメモリ専有権が獲得出来
る可能性があるか否かを前もって確認するためにセマフ
ォ情報を読む(1)。
セマフォ更新(3)を行う前にメモリ専有権が獲得出来
る可能性があるか否かを前もって確認するためにセマフ
ォ情報を読む(1)。
次にセマフォ情報の内容が 第1の値(S=O)か第2
の値(S=1)かをテストする(2)。
の値(S=1)かをテストする(2)。
テストの結果S=0の場合、メモリ専有権の獲得可能性
があると判断しセマフォ更新を行う=(3)。
があると判断しセマフォ更新を行う=(3)。
即ちセマフォ更新の前にセマフォ情報を読みSの値を確
認することによってメモリ専有権獲得の可能性のないセ
マフォ更新を無くし、メモリバスの無駄な使用を除去す
る。
認することによってメモリ専有権獲得の可能性のないセ
マフォ更新を無くし、メモリバスの無駄な使用を除去す
る。
待ちのプロセッサはテスト結果S=1となり、セマフォ
更新を行うことなく、ルート5を繰り返すためメモリバ
スの使用回数が減少出来る。
更新を行うことなく、ルート5を繰り返すためメモリバ
スの使用回数が減少出来る。
メモリ専有権獲得の従来方法は第2図に示すように、待
ちのプロセッサはメモリ専有権を獲得出来るまでセマフ
ォ更新(3)を繰り返し、その都度メモリバスを使用し
ていたが、第1図の本発明によるメモリ専有権獲得の手
順図に示すようにセマフォ情報を確認する処理ステップ
1と2を設けることにより待ちのプロセッサがセマフォ
更新を行わないので、メモリバスの使用回数を減少させ
ることが出来る。
ちのプロセッサはメモリ専有権を獲得出来るまでセマフ
ォ更新(3)を繰り返し、その都度メモリバスを使用し
ていたが、第1図の本発明によるメモリ専有権獲得の手
順図に示すようにセマフォ情報を確認する処理ステップ
1と2を設けることにより待ちのプロセッサがセマフォ
更新を行わないので、メモリバスの使用回数を減少させ
ることが出来る。
プロセッサがキャッシュメモリを持つ場合は、最初のセ
マフォ情報の読み込みで共有メモリのセマフォ情報の写
しをキャッシュメモリ上に保持出来るため、毎回共有メ
モリからセマフォ情報を読む必要がなく、メモリバスの
使用は無くなり大幅な計算機資源の使用効率向上が可能
になる。
マフォ情報の読み込みで共有メモリのセマフォ情報の写
しをキャッシュメモリ上に保持出来るため、毎回共有メ
モリからセマフォ情報を読む必要がなく、メモリバスの
使用は無くなり大幅な計算機資源の使用効率向上が可能
になる。
第3図において、プロセッサ18がメモリ専有権を獲得
して計算機処理を行っていると仮定する。
して計算機処理を行っていると仮定する。
他のプロセッサ16と17はメモリ専有権獲得の可能性
があるまで、即ちテスト結果S=0となるまでセマフォ
情報を繰り返し読む。
があるまで、即ちテスト結果S=0となるまでセマフォ
情報を繰り返し読む。
プロセッサ18が計算機処理を終了し、共有メモリのセ
マフォ情報をS=0にした時点でプロセンサ16とプロ
セッサ17はセマフォ更新を行い、きわどい区間でのテ
ストで先にS=0を確認したプロセッサ(16か17の
いずれか)がメモリ専有権獲得に成功する。
マフォ情報をS=0にした時点でプロセンサ16とプロ
セッサ17はセマフォ更新を行い、きわどい区間でのテ
ストで先にS=0を確認したプロセッサ(16か17の
いずれか)がメモリ専有権獲得に成功する。
以上において、セマフォ獲得待ちのプロセッサは、セマ
フォ情報の読み出しテストのみを繰り返すので、キャッ
シュメモリ上の写しのセマフォ情報へのアクセスのみで
テストが完了し、その間は共有メモリ11上のセマフォ
情報19へ実際にアクセスする必要が無い。セマフォを
獲得していたプロセッサがセマフォ情報をS=0に更新
したとき、公知のキャッシュ制御により、キャッシュメ
モリ上の写しのセマフォ情報を無効にする信号が、例え
ば共有メモリ11の制御部から出され、該写しが無効と
されるので、その直後のテストで、初めて共有メモリ1
1のセマフォ情報19へのアクセスを改めて行うことが
必要になる。このようにしてメモリバス12の使用時間
を大幅に減少出来る。
フォ情報の読み出しテストのみを繰り返すので、キャッ
シュメモリ上の写しのセマフォ情報へのアクセスのみで
テストが完了し、その間は共有メモリ11上のセマフォ
情報19へ実際にアクセスする必要が無い。セマフォを
獲得していたプロセッサがセマフォ情報をS=0に更新
したとき、公知のキャッシュ制御により、キャッシュメ
モリ上の写しのセマフォ情報を無効にする信号が、例え
ば共有メモリ11の制御部から出され、該写しが無効と
されるので、その直後のテストで、初めて共有メモリ1
1のセマフォ情報19へのアクセスを改めて行うことが
必要になる。このようにしてメモリバス12の使用時間
を大幅に減少出来る。
なお、以上のとおり、キャッシュメモリを持つ場合に本
発明の効果が極めて大きいが、キャッシュメモリを使用
しないシステムのときでも、テストアンドセット命令の
メモリバス使用時間が読み出し命令のメモリバス使用時
間より長い場合は、テストの繰り返しに、前記のテスト
アンドセット命令等でなく、読み出し命令のみを使用す
ることにより、メモリバスの使用時間は減少する。
発明の効果が極めて大きいが、キャッシュメモリを使用
しないシステムのときでも、テストアンドセット命令の
メモリバス使用時間が読み出し命令のメモリバス使用時
間より長い場合は、テストの繰り返しに、前記のテスト
アンドセット命令等でなく、読み出し命令のみを使用す
ることにより、メモリバスの使用時間は減少する。
本発明はプロセッサ間で計算機資源を競合争奪する場合
の排他制御において、待ちのプロセッサがメモリ専有権
獲得の可能性が無い無駄なメモリバスの使用をなくし、
計算機処理中のプロセッサに資源を開放する制御方法で
あり、計算機処理効率を向上させる点で極めて有用であ
る。
の排他制御において、待ちのプロセッサがメモリ専有権
獲得の可能性が無い無駄なメモリバスの使用をなくし、
計算機処理中のプロセッサに資源を開放する制御方法で
あり、計算機処理効率を向上させる点で極めて有用であ
る。
第1図は本発明によるメモリ専有権獲得の手順図、 第
2図は従来方法によるメモリ専有権獲得の手 順回、第
3図は本発明の実施例を示すマルチプロセラ サ構成図
である。 図において、1〜4は処理ステラを示し、11は共有メ
モリ、12はメモリバス、13〜15はキャッシュメモ
リ、 16〜18はプロセッサ、 本発明によるメモリ専存権獲得の手順図第1図 第2図 第3図 イ4ニエジ!、^、
2図は従来方法によるメモリ専有権獲得の手 順回、第
3図は本発明の実施例を示すマルチプロセラ サ構成図
である。 図において、1〜4は処理ステラを示し、11は共有メ
モリ、12はメモリバス、13〜15はキャッシュメモ
リ、 16〜18はプロセッサ、 本発明によるメモリ専存権獲得の手順図第1図 第2図 第3図 イ4ニエジ!、^、
Claims (1)
- 【特許請求の範囲】 複数プロセッサ間での排他制御に際し、 メモリ上の所定番地に格納されているセマフォ情報を読
み、 該セマフォ情報が第1の値であるか否か確認するテスト
を実行し、 該セマフォ情報が第1の値であれば、第1の値と異なる
第2の値を該セマフォ情報として設定し、該セマフォ情
報が第1の値でない間、該テストのみ反覆することを特
徴とするセマフォアクセス制御方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2028819A JPH0810448B2 (ja) | 1990-02-08 | 1990-02-08 | セマフォアクセス制御方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2028819A JPH0810448B2 (ja) | 1990-02-08 | 1990-02-08 | セマフォアクセス制御方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH03232051A true JPH03232051A (ja) | 1991-10-16 |
JPH0810448B2 JPH0810448B2 (ja) | 1996-01-31 |
Family
ID=12259012
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2028819A Expired - Fee Related JPH0810448B2 (ja) | 1990-02-08 | 1990-02-08 | セマフォアクセス制御方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH0810448B2 (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6697899B1 (en) | 1999-10-20 | 2004-02-24 | Nec Corporation | Bus control device allowing resources to be occupied for exclusive access |
JP4767361B2 (ja) * | 2008-03-31 | 2011-09-07 | パナソニック株式会社 | キャッシュメモリ装置、キャッシュメモリシステム、プロセッサシステム |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS4825262A (ja) * | 1971-08-06 | 1973-04-02 |
-
1990
- 1990-02-08 JP JP2028819A patent/JPH0810448B2/ja not_active Expired - Fee Related
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS4825262A (ja) * | 1971-08-06 | 1973-04-02 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6697899B1 (en) | 1999-10-20 | 2004-02-24 | Nec Corporation | Bus control device allowing resources to be occupied for exclusive access |
JP4767361B2 (ja) * | 2008-03-31 | 2011-09-07 | パナソニック株式会社 | キャッシュメモリ装置、キャッシュメモリシステム、プロセッサシステム |
Also Published As
Publication number | Publication date |
---|---|
JPH0810448B2 (ja) | 1996-01-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPH03232051A (ja) | セマフォアクセス制御方法 | |
JPS6319058A (ja) | メモリ装置 | |
JP2952896B2 (ja) | マルチタスク・マルチプロセッサシステムにおける共有メモリアクセス方式 | |
JP2587468B2 (ja) | ロツクデータ設定装置 | |
JP3130798B2 (ja) | バス転送装置 | |
JPH07104834B2 (ja) | 処理装置間ロック制御システム | |
JPH01261758A (ja) | コンピュータ装置 | |
JP2721430B2 (ja) | リクエスト競合生成方式 | |
JP3052460B2 (ja) | 協調処理型情報処理装置 | |
JPH01125633A (ja) | マルチプロセッサシステムのデバッグ法 | |
JP2547329B2 (ja) | ロツクデータ設定装置 | |
JPS6010368A (ja) | アドレス変換バツフア制御方式 | |
JPS63113637A (ja) | ハツシユ・テ−ブル・エントリ排他処理方式 | |
JPS62219058A (ja) | 共有メモリの排他制御方式 | |
JP2825589B2 (ja) | バス制御方式 | |
JPH028946A (ja) | キャッシュメモリ制御方式 | |
JPH02240734A (ja) | 情報処理装置 | |
JPH03271859A (ja) | 情報処理装置 | |
JPH01169564A (ja) | プロセッサ間同期方式 | |
JPH04333962A (ja) | メモリ制御方式 | |
JPS5953632B2 (ja) | デ−タ処理方式 | |
JPH03100853A (ja) | プロセッサ間通信方式 | |
JPH07152707A (ja) | 共有メモリを持つマルチプロセッサシステム | |
JPH0540689A (ja) | バツフアメモリ制御方式 | |
JPS6227423B2 (ja) |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080131 Year of fee payment: 12 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090131 Year of fee payment: 13 |
|
LAPS | Cancellation because of no payment of annual fees |