JP2002202960A - データ処理方法および装置 - Google Patents

データ処理方法および装置

Info

Publication number
JP2002202960A
JP2002202960A JP2001353430A JP2001353430A JP2002202960A JP 2002202960 A JP2002202960 A JP 2002202960A JP 2001353430 A JP2001353430 A JP 2001353430A JP 2001353430 A JP2001353430 A JP 2001353430A JP 2002202960 A JP2002202960 A JP 2002202960A
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.)
Granted
Application number
JP2001353430A
Other languages
English (en)
Other versions
JP3814521B2 (ja
Inventor
Richard Roy Grisenthwaite
ロイ グリセンスウェイト リチャード
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.)
ARM Ltd
Original Assignee
ARM Ltd
Advanced Risc Machines 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 ARM Ltd, Advanced Risc Machines Ltd filed Critical ARM Ltd
Publication of JP2002202960A publication Critical patent/JP2002202960A/ja
Application granted granted Critical
Publication of JP3814521B2 publication Critical patent/JP3814521B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/52Program 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)

Abstract

(57)【要約】 【課題】 複数のプロセッサから共有処理資源への排他
的アクセス要求を調整する方法を提供する。 【解決手段】 データ処理システム(2)は主メモリ
(18)を共有する複数のプロセッサ(4,6)を含
む。主メモリ(18)を含むメモリシステム内のデータ
要素に関連するセマフォ値がこれらのデータ要素への排
他的アクセスの許可を確立するのに使われる。排他的ア
クセスの許可を確立するために、排他的アクセスのクリ
ア命令(CLREX)は、セマフォ値の読み取りとセマ
フォ値の書き込みとの間にプロセッサ向けに部分的に完
了した排他的アクセス要求をクリアする働きをする。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明はデータ処理システム
に関するものである。特に本発明は処理資源への排他的
アクセスを調整する制御機構を有するデータ処理システ
ムに関するものである。
【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
(図示せず)の中に指示されているように、もしもセマ
フォ値がキャッシュ可能でなければ、処理はステップ3
0に進む。もしもセマフォ値がキャッシュ可能であれ
ば、処理はステップ32に進む。
【0020】ステップ30で、Rmレジスタ値により指
定されたアドレスに対応するセマフォ値が、LDREX
命令の中に明記されたレジスタRdに記憶される。更
に、セマフォ値の物理的アドレスがLDREX命令を実
行するプロセッサのプロセッサ識別番号と共に主メモリ
のモニタ回路22に記憶される。バスアービタ20は、
プロセッサ4,6のうちの一方によるLDREX命令の
解読により、このプロセッサ識別番号を主メモリのモニ
タ回路22に送るようにトリガされる。ステップ30
で、セモファデータの物理的アドレスもまたLDREX
命令を実行するプロセッサのローカルセマフォ識別デー
タ記憶装置24,26内に記憶される。
【0021】もしも処理がステップ28からステップ30
でなくてステップ32に進んだならば、主メモリのモニ
タ回路22には何もデータが書き込まれなくて、アドレ
スR mからレジスタRdに返されたセマフォ値の物理的ア
ドレスが適当なローカルセマフォ識別データ記憶装置2
4,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命令は単に適切に終了するだけであろう。S
TREX命令に続く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 セマフォ識別データ記憶装置
フロントページの続き Fターム(参考) 5B045 BB29 DD01 DD12 EE03 EE18 5B082 FA17 5B098 AA10 GA02 GA04 GA07 GB05 GD00 GD14 GD15

Claims (18)

    【特許請求の範囲】
  1. 【請求項1】 (1)セマフォ値の記憶装置から処理資
    源に対応するセマフォ値を検索するステップと、 (2)どのセマフォ値が検索されたかを示すセマフォ識
    別データを記憶するステップと、 (3)排他的アクセスを要求している要求者による前記
    処理資源への排他的アクセスが可能であるか否かを、前
    記セマフォ値から判断するステップと、 (4)前記排他的アクセスの要求者に排他的アクセスが
    許可されたことを示す新しいセマフォ値を、前記セマフ
    ォ値の記憶装置に書き込むステップと、 (5)排他的アクセスの要求者による排他的アクセスの
    クリア命令の実行に呼応して、記憶されている前記排他
    的アクセスの要求者向けのセマフォ識別データをクリア
    するステップと、を含むデータ処理方法。
  2. 【請求項2】 請求項1記載の方法において、前記新し
    いセマフォ値を書き込むステップが前記セマフォ値記憶
    装置に前記新しいセマフォ値が書き込まれたか否かを示
    す結果値を返す、データ処理方法。
  3. 【請求項3】 請求項2記載の方法において、前記検索
    ステップと前記書き込みステップとの間に別の排他的ア
    クセスの要求者が前記セマフォ値記憶装置に新しいセマ
    フォ値を書き込んだならば、前記結果値は前記排他的ア
    クセス要求者による新しいセマフォ値の前記書き込みは
    失敗したことを示す、データ処理方法。
  4. 【請求項4】 請求項1記載の方法において、前記書き
    込みステップはまた前記セマフォ識別データを調べて、
    前記検索ステップと前記書き込みステップとの間に前記
    セマフォ識別データがクリアされたか否かを判断する、
    データ処理方法。
  5. 【請求項5】 請求項4記載の方法において、もしも前
    記セマフォ識別データがクリアされていれば、前記新し
    いセマフォ値の書き込みは試行されない、データ処理方
    法。
  6. 【請求項6】 請求項1記載の方法において、複数台の
    データ処理装置が前記処理資源を共有している、データ
    処理方法。
  7. 【請求項7】 請求項6記載の方法において、前記複数
    台のデータ処理装置は少なくとも1個の共通アクセス点
    を共有していて、その点を経由して前記処理資源へのア
    クセスがなされる、データ処理方法。
  8. 【請求項8】 請求項1記載の方法において、ローカル
    セマフォ識別データ記憶装置が前記排他的アクセスの要
    求者に対してローカルに備わっている、データ処理方
    法。
  9. 【請求項9】 請求項7記載の方法において、もしも前
    記ローカルセマフォ識別データ記憶装置に記憶されてい
    る前記セマフォ識別値がクリアされていたならば、書き
    込み試行は前記共通のアクセス点に到達しない、データ
    処理方法。
  10. 【請求項10】 請求項1記載の方法において、共有さ
    れているセマフォ識別データ記憶装置が前記処理資源に
    ローカルに備わっている、データ処理方法。
  11. 【請求項11】 請求項1記載の方法において、種々の
    処理タスクが種々の排他的アクセス要求者として作用す
    るようにマルチタスク処理が実行される、データ処理方
    法。
  12. 【請求項12】 請求項5記載の方法において、前記排
    他的アクセスクリア命令が前記ローカルセマフォ識別デ
    ータ記憶装置をクリアするが、前記共有セマフォ識別デ
    ータ記憶装置をクリアせず、かつ、前記ローカルセマフ
    ォ識別データ記憶装置内の前記セマフォ識別データを調
    べて、前記検索ステップと前記書き込みステップとの間
    に前記セマフォ識別データがクリアされたか否かを判断
    する、データ処理方法。
  13. 【請求項13】 請求項1記載の方法において、前記処
    理資源はデータメモリ内に記憶されているデータ要素で
    ある、データ処理方法。
  14. 【請求項14】 請求項1記載の方法において、排他的
    アクセスのクリア命令は、 (1)例外処理をトリガする例外、 (2)マルチタス動作内における種々のタスク間のコン
    テキストスイッチ、 のうち1個以上起きたときに実行される、データ処理方
    法。
  15. 【請求項15】 請求項1記載の方法において、前記セ
    マフォ識別データは前記処理資源と関連するメモリアド
    レスを指示するデータである、データ処理方法。
  16. 【請求項16】 請求項6記載の方法において、前記共
    有セマフォ識別データ記憶装置はどのプロセッサが前記
    処理資源に排他的アクセスを要求しているかを示すデー
    タを記憶している、データ処理方法。
  17. 【請求項17】 請求項1記載の方法にしたがってデー
    タ処理装置を制御するコンピュータプログラムを扱う、
    コンピュータプログラム製品。
  18. 【請求項18】 (1)セマフォ値の記憶装置から処理
    資源に対応するセマフォ値を検索するための検索論理装
    置と、 (2)どのセマフォ値が検索されたかを示すセマフォ識
    別データを記憶するための記憶論理装置と、 (3)排他的アクセスを要求している要求者による前記
    処理資源への排他的アクセスが可能であるか否かを、前
    記セマフォ値から判断するための判断論理装置と、 (4)前記排他的アクセスの要求者に排他的アクセスが
    許可されたことを示す新しいセマフォ値を、前記セマフ
    ォ値の記憶装置に書き込むための書き込み論理装置と、 (5)排他的アクセスの要求者による排他的アクセスの
    クリア命令の実行に呼応して、記憶されている前記排他
    的アクセスの要求者向けのセマフォ識別データをクリア
    するためのクリア論理装置と、を含むデータ処理装置。
JP2001353430A 2000-12-12 2001-11-19 データ処理方法および装置 Expired - Lifetime JP3814521B2 (ja)

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 true JP2002202960A (ja) 2002-07-19
JP3814521B2 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)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009512945A (ja) * 2005-10-20 2009-03-26 クゥアルコム・インコーポレイテッド セマフォ予約をクリアする方法および装置

Families Citing this family (8)

* Cited by examiner, † Cited by third party
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 セイコーエプソン株式会社 プロセッサ制御装置
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)

* Cited by examiner, † Cited by third party
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

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009512945A (ja) * 2005-10-20 2009-03-26 クゥアルコム・インコーポレイテッド セマフォ予約をクリアする方法および装置
JP2014149849A (ja) * 2005-10-20 2014-08-21 Qualcomm Incorporated セマフォ予約をクリアする方法および装置

Also Published As

Publication number Publication date
GB0030260D0 (en) 2001-01-24
GB2370131B (en) 2004-08-25
US6892257B2 (en) 2005-05-10
JP3814521B2 (ja) 2006-08-30
US20020073259A1 (en) 2002-06-13
GB2370131A (en) 2002-06-19
GB2370131C (en) 2006-09-06

Similar Documents

Publication Publication Date Title
US7073044B2 (en) Method and apparatus for sharing TLB entries
US7469321B2 (en) Software process migration between coherency regions without cache purges
US5829052A (en) Method and apparatus for managing memory accesses in a multiple multiprocessor cluster system
US7047322B1 (en) System and method for performing conflict resolution and flow control in a multiprocessor system
US6631447B1 (en) Multiprocessor system having controller for controlling the number of processors for which cache coherency must be guaranteed
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
JPH05127995A (ja) ローカルキヤツシユに共通のページ間の一貫性を確保する方法
CN114756502A (zh) 片上原子事务引擎
JPH09138779A (ja) スヌープ処理方法
WO2008005687A2 (en) Global overflow method for virtualized transactional memory
EP0303648B1 (en) Central processor unit for digital data processing system including cache management mechanism
US20040123078A1 (en) Method and apparatus for processing a load-lock instruction using a scoreboard mechanism
JPH0619786A (ja) キャッシュコヒーレンスを維持する方法及び装置
US7051163B2 (en) Directory structure permitting efficient write-backs in a shared memory computer system
US5675765A (en) Cache memory system with independently accessible subdivided cache tag arrays
EP0480858A2 (en) Hardware primary directory lock
JP3814521B2 (ja) データ処理方法および装置
US5761724A (en) Write-invalidate cache system for a split transaction bus based shared memory multiprocessor
JPH07325760A (ja) 情報処理システムにおける記憶制御方法および記憶制御装置
JPS63253448A (ja) マルチ計算機装置
JP2552704B2 (ja) データ処理装置
JPS6153747B2 (ja)
JPS5858666A (ja) デ−タ処理装置
JP2517859B2 (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