JP3814521B2 - データ処理方法および装置 - Google Patents
データ処理方法および装置 Download PDFInfo
- Publication number
- JP3814521B2 JP3814521B2 JP2001353430A JP2001353430A JP3814521B2 JP 3814521 B2 JP3814521 B2 JP 3814521B2 JP 2001353430 A JP2001353430 A JP 2001353430A JP 2001353430 A JP2001353430 A JP 2001353430A JP 3814521 B2 JP3814521 B2 JP 3814521B2
- Authority
- JP
- Japan
- Prior art keywords
- semaphore
- exclusive access
- value
- data
- identification data
- 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
- 238000003672 processing method Methods 0.000 title claims description 14
- 238000012545 processing Methods 0.000 claims description 55
- 230000015654 memory Effects 0.000 claims description 42
- 238000000034 method Methods 0.000 claims description 26
- 238000013500 data storage Methods 0.000 claims description 18
- 230000008569 process Effects 0.000 claims description 16
- 230000004044 response Effects 0.000 claims description 4
- 238000004590 computer program Methods 0.000 claims description 3
- 230000007246 mechanism Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 3
- 238000013475 authorization Methods 0.000 description 2
- 238000013519 translation Methods 0.000 description 2
- 230000006399 behavior Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000007717 exclusion Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/52—Program synchronisation; Mutual exclusion, e.g. by means of semaphores
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multi Processors (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
【発明の属する技術分野】
本発明はデータ処理システムに関するものである。特に本発明は処理資源への排他的アクセスを調整する制御機構を有するデータ処理システムに関するものである。
【0002】
【背景技術】
種々のプロセッサやプロセス間で共有することができるデータベース内のデータ要素のような処理資源を備えることが、データ処理システムの分野で知られている。たとえば、航空会社の予約データベースシステムは、航空機の現在の予約状態に関する情報を記憶する中央データベースを有することができる。この中央データベースは多くの種々のコンピュータから独立にアクセスすることができるし、かつ1台のコンピュータ上で動いている種々のプロセスからもアクセスすることができる。関連するデータの統合性を確実にするために、排他的アクセス制御機構が使われ、それによって一度に1台の特定のプロセッサまたはプロセスにデータベースのある部分への排他的アクセスが許可される。こうして、データ統合問題を起こす同じデータの種々のコピーが存在しないように保証している。
【0003】
その処理資源への排他的アクセスが可能か否かをアクセス要求者に指示するために、処理資源に付随したセマフォ(semaphore)値を使うことが知られている。詳しく言うと、排他的アクセスが許可されるか否かを判断するために、読み取り命令がセマフォ値を読む。もしも排他的アクセスが可能であるとセマフォ値が示していれば、別の命令を実行してセマフォ値を修正し、排他的アクセスがアクセス要求者に許可されたということを示す。
【0004】
このような仕組みで処理資源へのアクセスを制御することができるが、リアルライフシステムはまた、割り込み、例外またはコンテキストスイッチの発生に従うような機構もシステム内に収容することができる必要がある。たとえば、排他的アクセスが可能か否かを判断するために読み込んだセマフォ値と、排他的アクセスが許されたということを指示するために書き込まれたセマフォ値との間を調整する機構である。システムの待ち時間に過度に影響を与えるものではないが、そのようなことが起こるのを許すことが必要であることは技術的な問題を呈している。
【0005】
【発明の実施の形態】
本発明の一態様によれば、次のステップを含むデータ処理方法が提供される。
(1)セマフォ値の記憶装置から処理資源に対応するセマフォ値を検索するステップと、
(2)どのセマフォ値が検索されたかを示すセマフォ識別データを記憶するステップと、
(3)排他的アクセスを要求している要求者による前記処理資源への排他的アクセスが可能であるか否かを、前記セマフォ値から判断するステップと、
(4)前記排他的アクセスの要求者に排他的アクセスが許可されたことを示す新しいセマフォ値を、前記セマフォ値の記憶装置に書き込むステップと、
(5)排他的アクセス要求者による排他的アクセスのクリア命令の実行に呼応して、記憶されている前記排他的アクセス要求者用セマフォ識別データをクリアするステップ。
【0006】
本発明が提供する排他的アクセスのクリア命令は、セマフォ値の検索と新セマフォ値の書き込みとの間に記憶されたセマフォ識別データをクリアする働きをする。ある処理資源への排他的アクセスの許可を確立するための新しいスタートを後で起こさなければならないことがあり、それによって調整処理に起因する問題を避けることができる。特殊な例として、もしも割り込み、例外またはコンテキストスイッチが発生したならば、オペレーティングシステムによって排他的アクセスクリア命令が実行されるようにすることができる。まだ許可されてなかった排他的アクセスに対する未決の要求を流し去って、適所に適切にロックし、それによって不適切な動作を避けるためである。
【0007】
いろいろな資源から発せられる多数の排他的アクセスの要求を収納するために、新セマフォ値の書き込みステップは新セマフォ値が書き込まれたか否かを示す結果値を返す。その結果値がなし得ることは、現在のアクセス要求者に対する書き込みステップがそのアクセス要求者向けの排他的アクセスを確立することができる前に、何らかのほかのプロセッサまたはプロセスがその処理資源に対する排他的アクセスを与えられているか否かの判断である。
【0008】
排他的アクセスの許可の確立を制御するためにセマフォ識別データをいろいろな方法で使うことができるであろうが、安全な制御を提供するのに特に効率的な方法は、新しいセマフォ値を書き込むステップがセマフォ識別データを調べるようにして、記憶ステップと書き込みステップとの間にそれがクリアされたか否かを判断することである。
【0009】
記憶とそれに続く書き込み試行との間に割り込み、例外、コンテキストスイッチまたは何らかのほかのイベントが起きた場合、排他的アクセスクリア命令が実行されて、セマフォ識別データをクリアしたであろうから、書き込み試行は成功せず、不適切な排他的アクセス許可は与えられないであろう。不適切な書き込みを避けることによって、共有バスを有するシステム内のバス資源を節約することもできる。たとえばもし書き込み動作が主メモリを使うのであれば、書き込み動作は共有バスを介して行わなければならない。主メモリは通常共有バス上にあり、この書き込みを中止することはバス資源の節約になる。共有バスをシステムの他のパーティに自由に使わせることにより、システム全体の効率が上がる。
【0010】
排他的アクセスの要求者はマルチプロセッサシステム内の種々のプロセッサ、またはマルチタスク/マルチ処理システム内の種々のタスク/プロセスであろうことが理解されよう。
【0011】
セマフォ識別データは排他的アクセス要求者にローカルに、または共有処理資源にローカルに、または両方の場所に記憶することができる。セマフォ識別データをローカルに記憶することによりアクセス速度が速くなり、排他的アクセス要求者に非ローカルなアクセスを与えるために備える必要がある資源の量が少なくなる。
【0012】
処理資源は各種の形式を取ることができることが理解されよう。たとえば、処理資源は入出力ポートかもしれない。高級なメモリ装置または類似のものかもしれない。しかしながら本発明はデータメモリ内のデータ要素への排他的アクセスを制御するのに使うのが特に有用である。
【0013】
本発明の別の態様として、下記の手段を含むデータ処理装置が提供される。
(1)セマフォ値の記憶装置から処理資源に対応するセマフォ値を検索するための検索論理装置と、
(2)どのセマフォ値が検索されたかを示すセマフォ識別データを記憶するための記憶論理装置と、
(3)排他的アクセスを要求している要求者による前記処理資源への排他的アクセスが可能であるか否かを、前記セマフォ値から判断するための判断論理装置と、
(4)前記排他的アクセスの要求者に排他的アクセスが許可されたことを示す新しいセマフォ値を、前記セマフォ値の記憶装置に書き込むための書き込み論理装置と、
(5)排他的アクセスの要求者による排他的アクセスのクリア命令の実行に呼応して、記憶されている前記排他的アクセスの要求者向けのセマフォ識別データをクリアするためのクリア論理装置。
【0014】
本発明は上述の技術にしたがってデータ処理装置を制御するコンピュータプログラムを搭載したコンピュータプログラム製品として具体化することもできる。本発明の上記および他の目的、特徴、利点について、以下図面を参照しながら実施例を詳細に説明することにより明らかにする。
【0015】
【発明の実施の形態】
図1は第1のプロセッサ4と第2のプロセッサ6とを含むデータ処理システム2の概略図を示す。第1のキャッシュメモリ8に第1のプロセッサ4が関係しており、第2のキャッシュメモリ10に第2のプロセッサ6が関係している。共有されているアドレス・データバス12が第1のプロセッサ4と第2のプロセッサ6とをほかのシステム要素と接続している。ほかのシステム要素にはUART回路14,DMA回路16および共有されている主メモリ18とが含まれる。バスアービタ20は1個のバスマスターだけが任意の所定の時間に共有バス12の制御権を有することを保証する働きをする。
【0016】
主メモリ18はたとえばデータベース・レコードのようなデータ要素を記憶する。このデータ要素には、第1のプロセッサ4と第2のプロセッサ6のうち一方による排他的アクセスを許可することが要求される。セマフォ値は主メモリ18内に記憶され、個々のデータレコードまたはメモリエリアのようなデータ要素へのアクセスを制御する。このデータ要素に排他的アクセスの要求がなされる。モニタ回路22が主メモリ18にローカルに付随していて、どのセマフォ値がプロセッサ4または6により検索されたかを識別するデータを記憶する。セマフォ識別データは、バスアービタ20により割り当てられるプロセッサ番号のようなプロセッサ識別データと共に、主メモリ内でセマフォの物理的アドレスの形式を取る。セマフォ識別データ記憶装置24がキャッシュメモリ8に付随していて、別のセマフォ識別データ記憶装置26がキャッシュメモリ10に付随している。これらのセマフォ識別データ記憶装置24,26はそれぞれプロセッサ4,6にローカルに供給されている。主メモリ18内のセマフォ値に対して検索操作が行われると、そのセマフォ値の物理的アドレスがそれぞれのローカルセマフォ識別データ記憶装置24,26の中に記憶される。1個の未決の排他的アクセス確立操作だけが任意の所定の時間に各プロセッサ4,6に対して存在することを許される。2個のプロセッサ4,6は各々自分自身の未決の排他的アクセス確立要求を有することができるが、データ処理システム2のソフトウェア・プログラマは所定のプロセッサ4,6内に1個より多い未決の排他的アクセス要求操作に頼らないように制限されている。
【0017】
プロセッサ4,6は仮想アドレスを使って動作することができるが、メモリアドレスがそれぞれのキャッシュメモリ8,10と主メモリ18に出力される前に、各プロセッサ4,6内で翻訳ルックアサイドテーブル(TLB)を使って物理的アドレスへの翻訳が行われる。したがって、セマフォ識別データはこの実施例では仮想アドレスよりもむしろ物理的アドレスに関連がある。
【0018】
図2は図1に示したシステムの動作の概要を示す流れ図である。ステップ26で、プロセッサ4,6のうちの一方がLDREX命令を実行して、主メモリ18内のメモリ位置(レジスタRmの中で指定される)からセマフォ値をロードする。LDREX命令はメモリ値をロードするのに使われる標準的なARM LDRと異なる。LDREX命令は排他的アクセスの関係を確立ための機構を利用するが、標準的なLDRはそうしない。
【0019】
ステップ28で、捜し求めたセマフォ値がキャッシュ可能か否かが調べられる。関連するMMU(図示せず)の中に指示されているように、もしもセマフォ値がキャッシュ可能でなければ、処理はステップ30に進む。もしもセマフォ値がキャッシュ可能であれば、処理はステップ32に進む。
【0020】
ステップ30で、Rmレジスタ値により指定されたアドレスに対応するセマフォ値が、LDREX命令の中に明記されたレジスタRdに記憶される。更に、セマフォ値の物理的アドレスがLDREX命令を実行するプロセッサのプロセッサ識別番号と共に主メモリのモニタ回路22に記憶される。バスアービタ20は、プロセッサ4,6のうちの一方によるLDREX命令の解読により、このプロセッサ識別番号を主メモリのモニタ回路22に送るようにトリガされる。ステップ30で、セモファデータの物理的アドレスもまたLDREX命令を実行するプロセッサのローカルセマフォ識別データ記憶装置24,26内に記憶される。
【0021】
もしも処理がステップ28からステップ30でなくてステップ32に進んだならば、主メモリのモニタ回路22には何もデータが書き込まれなくて、アドレスRmからレジスタRdに返されたセマフォ値の物理的アドレスが適当なローカルセマフォ識別データ記憶装置24,26に書き込まれる。
【0022】
ステップ34で、主メモリ18からプロセッサ4,6のうちの一方に返されたセマフォ値が検査されて、検索されたセマフォ値が関連するデータ要素への排他的アクセスが許可されていることを示すか否かを判断する。もしも排他的アクセスが許可されていなければ、処理は終わる。排他的アクセス要求を後刻、できれば直後にコードのタイトなループ部分を使って再試行するのが効果的である。
【0023】
もしもステップ36で排他的アクセスが可能であることを返されたセマフォ値が示したならば、処理はステップ38に進み、ここでSTREX命令が実行される。STREX命令は排他的アクセスが許可されているということを示す新しいセマフォ値を主メモリ18に記憶しようとする。STREX命令は未決のセマフォ識別データを更に調べて、書き込みが完了したか否かを示す結果値を返すという点で、標準的なARM STRとは異なる。
【0024】
もしも書き込みが完了してなかったならば、ステップ26におけるセマフォ値の読みとりとステップ38における対応するSTREX命令の実行の試行との間の調整時間に、別のプロセッサまたはプロセスが同じデータ要素に対して排他的アクセスの許可を確立したことを意味する。
【0025】
もしもセマフォ値の物理的メモリアドレスがそのセマフォ値はキャッシュ可能であるということを示せば、処理はステップ40に進む。もしもセマフォ値がキャッシュ可能でなければ、処理はステップ42に進む。
【0026】
ステップ42はローカルセマフォ識別データ記憶装置24,26と主メモリモニタ回路22の中で、書き込み中のセマフォ値の物理的アドレスがまだ記憶されている(すなわちクリアされてないかまたは重ね書きされていない)ことを調べる。また、主メモリモニタ回路22の場合、整合するプロセッサ番号が物理的メモリアドレスと関連していることを調べる。最初にローカル記憶装置24,26について調べる。もしもこれがクリアされていれば、失敗の結果が返される。そうでなければ、主メモリモニタ回路22が調べられて、そこから結果が返される。もしもこれらの条件が双方とも満たされなければ、処理はステップ44に進み、ここで失敗の結果値がSTREX命令から返され、書き込みは行われなかったとして、処理は終わる。実際には排他的アクセスを再試行することができる。
【0027】
もしもステップ42の検査により、プロセッサ4,6と主メモリモニタ回路22の両方にローカルに記憶されているセマフォ識別データがまだ整合している(すなわち、別のプロセスに与えられた介在する排他的アクセス許可、介在するクリア命令、または正常な排他的アクセス許可プロセスとの何らかの他の干渉が全くなかった)ことが示されていれば、処理はステップ46に進む。ステップ46で、主メモリ内のセマフォ値が更新され、STREX命令の発信者に排他的アクセスの許可が与えられて許可の結果値が返されたことを示す。
【0028】
もしもSTREX命令の新セマフォ値がキャッシュ可能であったか否かの検査の結果、キャッシュ可能であったと示されれば、ステップ40でローカルセマフォ識別データ記憶装置24,26の中を見て、整合する物理的アドレスがまだ存在しているか否かを調べる。もしも整合する物理的アドレスが存在していなければ、処理はステップ48に進み、失敗の結果値が返される。もしも整合する物理的アドレスがまだ存在していれば、処理はステップ50に進む。ここで主メモリ内のセマフォ値が更新され、許可の結果値が返される。
【0029】
図3は排他的アクセスの許可を確立するためのARMオブジェクトコード・ルーチンの概略を示す。LDREX命令は主メモリ18からセマフォ値を返して、適切なセマフォ識別データを設定する。CMP命令は、セマフォ値が排他的アクセスは可能であることを示しているか否かを判断する。もしも排他的アクセスが可能でなければ、BNE命令が処理を要求の再試行に戻す。もしも排他的アクセスが可能であれば、処理は所望の新セマフォ値をレジスタRdに設定するという次の命令(図示せず)に進む。命令STREXは主メモリ18に新セマフォ値を書き込むための試行の働きをする。図2に関して説明した動作によれば、もしも適切な記憶装置内にあるセマフォ識別データが整合して、確立されつつある適切な排他的アクセス関係と干渉するであろう不適切な介在動作が全く起きなかったことを示すならば、STREX命令は単に適切に終了するだけであろう。STREX命令に続くCMP命令はSTREX命令から返された結果値を調べて、新セマフォ値が適切に記憶されて、その結果排他的アクセス関係が確立されたか否かを判断する。もしも結果値が失敗を示していれば、BNE命令は再びプロセスの再試行を試みる。
【0030】
図4は2台のプロセッサが同じデータ要素に排他的アクセス関係を確立しようと競っているときの概要を示す。プロセッサ1は最初にセマフォ値を読み取るためにそのLDREX命令を発する。これは排他的アクセスの許可が可能であることを示す。しかしながら、プロセッサ1が排他的アクセス関係を確認するためにそのSTREX命令を発行することができる前に、プロセッサ2が同じセマフォ値を読み書きとも行って、プロセッサ2の対する排他的アクセス関係を確立した。したがってプロセッサ1に対するSTREX命令が試行されたとき、たとえプロセッサ1により読み取られたセマフォ値がこれは可能であることを示したにしても、排他的アクセスの許可が与えられないことを示す失敗値が返される。
【0031】
図5はCLREX命令の動作の概要を示す。このCLREX命令はマルチタスク環境の中でコンテキストスイッチング制御ソフトウェアのみならず、割り込みコードまたは例外コードの中で早期のステップとして実行される。CLREX命令はCLREX命令を実行するプロセッサのために存在する未決の排他的アクセス許可要求をクリアする働きをする。実際には、セマフォ値がキャッシュ可能であるか否かにかかわらず、セマフォ識別データはプロセッサ4,6のローカルセマフォ識別データ記憶装置24,26の中に記憶されているので、プロセッサ用のこのローカルセマフォ識別データをクリアすることは、後に続くSTREX命令がそのセマフォ値に対して不適切に実行されるのを止める効果を有する。更に、プロセッサ4,6にローカルにこの検査を行うことにより、共有システムバス12の使用を避け、それによってデータ処理システム2内の他の要素にこの資源の使用を開放する。
【0032】
以上本発明の実施例について図面を参照しながら詳細に説明したが、本発明はこれらの実施例に厳密に限定されるものではないこと、そして特許請求の項に記載された本発明の範囲と思想から逸脱することなく種々の変更と修正が当業者になし得ることを理解されたい。
【図面の簡単な説明】
【図1】排他的メモリアクセス要求がなされる共有主メモリを有するマルチプロセッサシステムの概略図。
【図2】図1のシステムにおいて排他的アクセス許可を確立する通常の動作を示す流れ図。
【図3】排他的アクセス許可を確立するのに使われるあるARMプロセッサオブジェクトコードの一例。
【図4】メモリ内の同じデータ要素に対する排他的アクセスを得ようと競っている図1に示す2台の処理装置間の相互作用の一例。
【図5】図1のシステムにおいて排他的アクセスのクリア命令の作用を示す流れ図。
【符号の説明】
2 データ処理システム
4、6 プロセッサ
8、10 キャッシュメモリ
12 バス
18 主メモリ
20 バスアービタ
22 モニタ回路
24,26 セマフォ識別データ記憶装置
Claims (16)
- (1)セマフォ値の記憶装置から処理資源に対応するセマフォ値を検索するステップと、
(2)どのセマフォ値が検索されたかを示すセマフォ識別データを記憶するステップと、
(3)排他的アクセスを要求している要求者による前記処理資源への排他的アクセスが可能であるか否かを、前記セマフォ値から判断するステップと、
(4)前記セマフォ識別データをチェックして、前記検索ステップのあとに前記セマフォ識別データがクリアされていないことを判断し、前記排他的アクセスの要求者に排他的アクセスが許可されたことを示す新しいセマフォ値を、前記セマフォ値の記憶装置に書き込むステップと、
を含むデータ処理装置であって、
排他的アクセスの要求者による排他的アクセスのクリア命令の実行に呼応して、記憶されている前記排他的アクセスの要求者のためのセマフォ識別データをクリアし、
前記ステップ(4)で、もしも前記セマフォ識別データがクリアされていれば、前記新しいセマフォ値の書き込みは試行されない
データ処理方法。 - 請求項1記載の方法において、前記新しいセマフォ値を書き込むステップが前記セマフォ値記憶装置に前記新しいセマフォ値が書き込まれたか否かを示す結果値を返す、データ処理方法。
- 請求項2記載の方法において、前記検索ステップと前記書き込みステップとの間に別の排他的アクセスの要求者が前記セマフォ値記憶装置に新しいセマフォ値を書き込んだならば、前記結果値は前記排他的アクセス要求者による新しいセマフォ値の前記書き込みは失敗したことを示す、データ処理方法。
- 請求項1記載の方法において、複数台のデータ処理装置が前記処理資源を共有している、データ処理方法。
- 請求項4記載の方法において、前記複数台のデータ処理装置は少なくとも1個の共通アクセス点を共有していて、その点を経由して前記処理資源へのアクセスがなされる、データ処理方法。
- 請求項1記載の方法において、ローカルセマフォ識別データ記憶装置が前記排他的アクセスの要求者に対してローカルに備わっている、データ処理方法。
- 請求項6に記載の方法において、複数台のデータ処理装置が前記処理資源を共有しており、前記複数台のデータ処理装置は少なくとも1個の共通アクセス点を共有していて、その点を経由して前記処理資源へのアクセスがなされており、もしも前記ローカルセマフォ識別データ記憶装置に記憶されている前記セマフォ識別データがクリアされていたならば、書き込み試行は前記共通のアクセス点に到達しない、データ処理方法。
- 請求項4記載の方法において、共有セマフォ識別データ記憶装置が前記処理資源に備わっている、データ処理方法。
- 請求項1記載の方法において、種々の処理タスクが種々の排他的アクセス要求者として作用するようにマルチタスク処理が実行される、データ処理方法。
- 請求項8に記載の方法において、ローカルセマフォ識別データ記憶装置が前記排他的アクセスの要求者に対してローカルに備わっており、前記排他的アクセスクリア命令が前記前記ローカルセマフォ識別データ記憶装置をクリアするが、前記共有セマフォ識別データ記憶装置をクリアせず、かつ、前記ローカルセマフォ識別データ記憶装置内の前記セマフォ識別データを調べて、前記検索ステップと前記書き込みステップとの間に前記セマフォ識別データがクリアされたか否かを判断する、データ処理方法。
- 請求項1記載の方法において、前記処理資源はデータメモリ内に記憶されているデータ要素である、データ処理方法。
- 請求項1記載の方法において、排他的アクセスのクリア命令は、
(1)例外処理をトリガする例外、
(2)マルチタス動作内における種々のタスク間のコンテキストスイッチ、
のうち1個以上起きたときに実行される、データ処理方法。 - 請求項1記載の方法において、前記セマフォ識別データは前記処理資源と関連するメモリアドレスを指示するデータである、データ処理方法。
- 請求項4に記載の方法において、共有セマフォ識別データ記憶装置が前記処理資源に備わっており、前記共有セマフォ識別データ記憶装置はどのプロセッサが前記処理資源に排他的アクセスを要求しているかを示すデータを記憶している、データ処理方法。
- 請求項1記載の方法にしたがってデータ処理装置を制御するコンピュータプログラムを記録したコンピュータ読み取り可能な記憶媒体。
- (1)セマフォ値の記憶装置から処理資源に対応するセマフォ値を検索するための検索論理装置と、
(2)どのセマフォ値が検索されたかを示すセマフォ識別データを記憶するための記憶論理装置と、
(3)排他的アクセスを要求している要求者による前記処理資源への排他的アクセスが可能であるか否かを、前記セマフォ値から判断するための判断論理装置と、
(4)前記セマフォ識別データをチェックして、前記検索のあとに前記セマフォ識別データがクリアされていないことを判断し、前記排他的アクセスの要求者に排他的アクセスが許可されたことを示す新しいセマフォ値を、前記セマフォ値の記憶装置に書き込むための書き込み論理装置と、
(5)排他的アクセスの要求者による排他的アクセスのクリア命令の実行に呼応して、記憶されている前記排他的アクセスの要求者のためのセマフォ識別データをクリアするためのクリア論理装置と、
を含むデータ処理装置であって、
前記書き込み論理装置(4)において、もしも前記セマフォ識別データがクリアされていれば、前記新しいセマフォ値の書き込みは試行されない、
データ処理装置。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB0030260.4 | 2000-12-12 | ||
GB0030260A GB2370131C (en) | 2000-12-12 | 2000-12-12 | Exclusive access control to a processing resource |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2002202960A JP2002202960A (ja) | 2002-07-19 |
JP3814521B2 true JP3814521B2 (ja) | 2006-08-30 |
Family
ID=9904911
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001353430A Expired - Lifetime JP3814521B2 (ja) | 2000-12-12 | 2001-11-19 | データ処理方法および装置 |
Country Status (3)
Country | Link |
---|---|
US (1) | US6892257B2 (ja) |
JP (1) | JP3814521B2 (ja) |
GB (1) | GB2370131C (ja) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6874049B1 (en) * | 2001-02-02 | 2005-03-29 | Cradle Technologies, Inc. | Semaphores with interrupt mechanism |
US6717834B2 (en) * | 2002-03-26 | 2004-04-06 | Intel Corporation | Dual bus memory controller |
JP2003345612A (ja) * | 2002-05-28 | 2003-12-05 | Sony Corp | 演算処理システム、コンピュータ・システム上でのタスク制御方法、並びにコンピュータ・プログラム |
US7222202B2 (en) * | 2004-02-17 | 2007-05-22 | Broadcom Corporation | Method for monitoring a set of semaphore registers using a limited-width test bus |
JP3870970B2 (ja) * | 2005-03-15 | 2007-01-24 | セイコーエプソン株式会社 | プロセッサ制御装置 |
US7421529B2 (en) * | 2005-10-20 | 2008-09-02 | Qualcomm Incorporated | Method and apparatus to clear semaphore reservation for exclusive access to shared memory |
US7765351B2 (en) * | 2007-03-12 | 2010-07-27 | International Business Machines Corporation | High bandwidth low-latency semaphore mapped protocol (SMP) for multi-core systems on chips |
US9411542B2 (en) * | 2014-02-21 | 2016-08-09 | Analog Devices Global | Interruptible store exclusive |
KR20220135048A (ko) * | 2021-03-29 | 2022-10-06 | 삼성전자주식회사 | 버스를 통해 자원을 공유하기 위한 장치 및 방법 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5136691A (en) * | 1988-01-20 | 1992-08-04 | Advanced Micro Devices, Inc. | Methods and apparatus for caching interlock variables in an integrated cache memory |
CA2057446C (en) * | 1991-04-04 | 1998-02-17 | Brian Neil Baker | Shared memory access and data structure access control |
GB9123264D0 (en) * | 1991-11-01 | 1991-12-18 | Int Computers Ltd | Semaphone arrangement for a data processing system |
US6529933B1 (en) * | 1995-06-07 | 2003-03-04 | International Business Machines Corporation | Method and apparatus for locking and unlocking a semaphore |
US6134579A (en) * | 1997-08-15 | 2000-10-17 | Compaq Computer Corporation | Semaphore in system I/O space |
US6446149B1 (en) * | 1998-03-03 | 2002-09-03 | Compaq Information Technologies Group, L.P. | Self-modifying synchronization memory address space and protocol for communication between multiple busmasters of a computer system |
GB9809022D0 (en) * | 1998-04-29 | 1998-06-24 | Int Computers Ltd | Semaphore for a computer system |
-
2000
- 2000-12-12 GB GB0030260A patent/GB2370131C/en not_active Expired - Lifetime
-
2001
- 2001-11-19 JP JP2001353430A patent/JP3814521B2/ja not_active Expired - Lifetime
- 2001-12-05 US US10/002,186 patent/US6892257B2/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
US6892257B2 (en) | 2005-05-10 |
GB2370131C (en) | 2006-09-06 |
GB2370131A (en) | 2002-06-19 |
JP2002202960A (ja) | 2002-07-19 |
GB2370131B (en) | 2004-08-25 |
US20020073259A1 (en) | 2002-06-13 |
GB0030260D0 (en) | 2001-01-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5829052A (en) | Method and apparatus for managing memory accesses in a multiple multiprocessor cluster system | |
US5860126A (en) | Controlling shared memory access ordering in a multi-processing system using an acquire/release consistency model | |
US9064330B2 (en) | Shared virtual memory between a host and discrete graphics device in a computing system | |
US5237694A (en) | Processing system and method including lock buffer for controlling exclusive critical problem accesses by each processor | |
US6625698B2 (en) | Method and apparatus for controlling memory storage locks based on cache line ownership | |
US20040236914A1 (en) | Method to provide atomic update primitives in an asymmetric heterogeneous multiprocessor environment | |
US20080046651A1 (en) | Victim Cache Using Direct Intervention | |
US7620954B2 (en) | Mechanism for handling load lock/store conditional primitives in directory-based distributed shared memory multiprocessors | |
WO2008005687A2 (en) | Global overflow method for virtualized transactional memory | |
US20040123078A1 (en) | Method and apparatus for processing a load-lock instruction using a scoreboard mechanism | |
US7051163B2 (en) | Directory structure permitting efficient write-backs in a shared memory computer system | |
JP7096840B2 (ja) | 能力メタデータを管理するための装置及び方法 | |
JP3814521B2 (ja) | データ処理方法および装置 | |
US5161219A (en) | Computer system with input/output cache | |
US5848283A (en) | Method and system for efficient maintenance of data coherency in a multiprocessor system utilizing cache synchronization | |
CN116685958A (zh) | 一种访问数据的方法和装置 | |
JPH04155465A (ja) | ファイル共用方法 | |
US20040068613A1 (en) | Retry-based late race resolution mechanism for a computer system | |
JP2552704B2 (ja) | データ処理装置 | |
JPH0281255A (ja) | マルチプロセッサコンピュータ複合装置 | |
JPS5858666A (ja) | デ−タ処理装置 | |
JPH03230238A (ja) | キャッシュメモリ制御方式 | |
JPS6153747B2 (ja) | ||
JP2517859B2 (ja) | 並列プロセス管理方法 | |
JPH0415496B2 (ja) |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060203 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060508 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20060530 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20060605 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 Ref document number: 3814521 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090609 Year of fee payment: 3 |
|
R154 | Certificate of patent or utility model (reissue) |
Free format text: JAPANESE INTERMEDIATE CODE: R154 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100609 Year of fee payment: 4 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110609 Year of fee payment: 5 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110609 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120609 Year of fee payment: 6 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120609 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130609 Year of fee payment: 7 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
EXPY | Cancellation because of completion of term |