JPS6285372A - マルチプロセツサシステムにおけるコンペアアンドスワツプ方式 - Google Patents

マルチプロセツサシステムにおけるコンペアアンドスワツプ方式

Info

Publication number
JPS6285372A
JPS6285372A JP22611585A JP22611585A JPS6285372A JP S6285372 A JPS6285372 A JP S6285372A JP 22611585 A JP22611585 A JP 22611585A JP 22611585 A JP22611585 A JP 22611585A JP S6285372 A JPS6285372 A JP S6285372A
Authority
JP
Japan
Prior art keywords
comparison
data
signal line
processor
holding means
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.)
Pending
Application number
JP22611585A
Other languages
English (en)
Inventor
Susumu Shibazaki
進 柴崎
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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP22611585A priority Critical patent/JPS6285372A/ja
Publication of JPS6285372A publication Critical patent/JPS6285372A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Multi Processors (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明はマルチプロセッサシステムにおける共有記憶ア
クセス方式に関し、特にコンペアアンドスワップ方式に
関する。
〔従来の技術〕
一般に、記憶装置を複数のプロセッサで共用するマルチ
プロセッサシステムでは、共有記憶装置上の共有資源を
複数のプロセンサが同時に且つ無条件でアクセスしない
ようにする為に、排他制御が行なわれている。
この排他制御の方式には各種のものが知られているが、
その中の一つにコンベアアンドスワンブ方式と呼ばれる
方式がある。この方式は、共有記憶装置上のある資源を
利用しようとするブロモ。
すは、先ず共有記憶装置上の指定したアドレスから始ま
る固定バイト長(通常4ハイド又は8バイ日の領域(共
有記憶領域)のデータと、自プロセッサで用意した同一
バイト長の比較用データとを比較し、一致している場合
は自プロセッサによるアクセスが可能と判断して他のプ
ロセッサからの同一資源に対するアクセスを禁止するた
めに同一バイト長の書込みデータで共有記憶領域の内容
を書き換え、一致していない場合は書き換えを行なわな
いようにする方式である。なお、上記共有記憶領域の読
出し動作と書き換え動作の間は他プロセツサによる共有
記憶領域へのアクセスは禁止されるので、共有記憶領域
のデータを書き換えるのは唯一のプロセッサに限定され
る。共有記憶領域への書き換えに成功したか否かはコン
ディションコード等によりプログラムで判定可能であり
、成功した場合のみシステム資源の参照や更新を行ない
、その後、コンペアアンドスワップ機能によって書き換
えた共有記憶領域のデータを最初の値に戻すことによゲ
てシステム資源の排他的な参照。
更新を実現している。
〔発明が解決しようとする問題点〕
ところで、上述した従来のコンペアアンドスワップ方式
では、比較するデータのバイト長が固定であるために、
その固定バイト長の中に比較用データが作成できないフ
ィールドが存在するような場合にはコンペアアンドスワ
ップ方式を適用できず、比較用データの全てのフィール
ドが作成できるような限定された場合にしか適用できな
いという著しい欠点を持っていた。
比較用データの全てのフィールドを作成できない例とし
ては、例えば第3図に示すような形式の計数型セマフォ
90が共存記憶領域に格納されている場合があげられる
。この計数型セマフォ90は、セマフォ計数値901と
最終セマフォ使用プロセス識別名902のフィールドか
ら構成されており、排他的に参照、更新されなくてはな
らないとすると、セマフォ計数値901はそのセマフォ
が成るプロセスにより使用されていない通常の場合、値
「0」であるから比較用データのうちセマフォ計数値9
01に対応するフィールドは作成可能であるが、セマフ
ォ使用プロセス識別名902の値は一般には予測できな
い。よって、このような場合はコンペアアンドスワップ
方式を使用することができない。
本発明はこのように比較データが作成できないフィール
ドが存在する場合にもコンペアアンドスワップ方式によ
る排他制御が可能なようにすることを目的とする。
〔問題点を解決するための手段〕
本発明は上記目的を達成するために、他のブロモ、すと
共用する共存記憶装置上の共存資源をアクセスする際に
、前記共有記憶装置上の所定の領域に格納されたデータ
と自プロセッサで用意した比較用データとを比較し、所
定の比較結果が得られたときに限り前記所定の領域に格
納されたデータを自プロセッサの所定のデータで書き換
えて前記共有資源をアクセスするように構成されたマル
チプロセッサシステムにおけるコンペアアンドスワップ
方式において、 前記所定の領域に格納されたデータと自プロセッサで用
意した比較用データとの比較すべきフィールドを指示す
る比較マスクデータを格納する比較マスクデータ保持手
段と、 前記所定の領域に格納されたデータと前記自プロセッサ
で用意された比較用データとを前記比較マスクデータ保
持手段に保持された比較マスクデータの内容に従って比
較する比較手段とを設け、該比較手段の比較結果に従っ
て前記所定の領域に格納されたデータの書き換え処理の
実行可否を制御するように構成する。
〔作用〕
比較用データの全てのフィールドを作成できない場合、
作成できないフィールドをマスクするような比較マスク
データを比較マスクデータ保持手段に格納すれば、その
フィールドは比較の対象から外され、他のフィールドの
比較結果のみに応じて共有記憶領域に格納されたデータ
の書き換え処理の実行可否を制御できる。
〔実施例〕
第2図は本発明のマルチプロセッサシステムの実施例を
示すブロック図である。このマルチプロセッサシステム
は、二つのブロセ、す1,3と、二つの共有記憶アクセ
ス制御部2.4と、共有記憶装置5とから構成されてお
り、プロセッサlと共有記憶アクセス制御部2間は信号
線120〜123により、プロセッサ3と共有記憶アク
セス制御部4間は信号線340〜343により、共有記
憶アクセス制御部2と共有記憶装置5間は信号線250
〜253゜520により、共有記憶アクセス制御部4と
共有記憶装置5間は信号線450〜453,540によ
り、共有記憶アクセス制御部2と共有記憶アクセス制御
部4間は信号線240.420によりそれぞれ接続され
ている。
第1図は共有記憶アクセス制御部2の実施例のブロック
図であり、共有記憶アクセス制御部4も同様な構成とす
ることができる。この共有記憶アクセス制御部2は、同
図に示すようにデコード手段20と、アクセス禁止手段
21と、続出しデータ保持手段22と、比較データ保持
手段23と、比較マスクデータ保持手段24と、比較手
段25と、書込みデータ保持手段26と、アドレス保持
手段27と、アンド回路28とから構成されている。こ
こで、アドレス保持手段27.書込みデータ保持手段2
6.比較データ保持手段23.読出しデータ保持手段2
2は各々4バイト幅のレジスタで構成され、比較マスク
データ保持手段24はその4バイトレジスタの各1バイ
トにそれぞれ1ビツトが対応する計4ビットのレジスタ
で構成され、実際に比較するバイトに対応するビットに
は値「1」を、比較しないバイトに対応するビットには
値「0」を設定するものとする。
次に、第1図のプロセッサ1が共有記憶装置5をアクセ
スする場合を例にとり本実施例の動作を説明する。尚、
コンペアアンドスワップを行なう共有記憶装置5のデー
タは、第3図に示した計数型セマフォ90とし、セマフ
ォ計数値901.最終セマフォ使用プロセス識別名90
2が共に2バイトとする。
先ず、プロセッサ1は信号線121を介して計数型セマ
フォ90のアドレスをアドレス保持手段27に、信号!
122を介して書込みデータを書込みデータ保持手段2
6に、同じく信号線122を介して比較データ(16進
数ro0000000J )を比較データ保持手段23
に、信号線123を介して2進数rlloOJの比較マ
スクデータを比較マスクデータ保持手段24にそれぞれ
格納する。
次にプロセッサlは信号線120を介してコンベアアン
トスワンプリクエストをデコード手段20へ伝える。こ
のとき、他の共有記憶アクセス制御部4から信号線42
0を介してアクセス禁止指示がアクセス禁止手段21に
送出されていれば、デコード手段20はコンペアアンド
スワップリクエストを受付けずプロセッサlのアクセス
は待たされる。一方、他の共有記憶アクセス制御部4か
らのアクセス禁止指示がアクセス禁止手段21に送出さ
れていなければ、デコード手段20は他の共有記憶アク
セス制御部4へ信号線240を介してアクセス禁止指示
を送出する。
このアクセス禁止指示を送出すると、次にデコード手段
20は、共有記憶装置5に対して信号′41A250を
介して読出し指示を送出し、これと同時に信号m252
を介して読出しアドレスを主記憶装置5に送出させる。
これに対する共有記憶装置5からの読出しデータである
計数型セマフォ90の内容は信号線520を介して読出
しデータ保持手段22に格納される。
比較手段25は、比較マスクデータ保持手段24で値r
lJのビットに対応したバイトのみの比較を行ない、一
致していれば、信号線251に値「1」を送出する。今
、比較データの上位2バイトは、r 0000 Jであ
り、セマフォ計数値901がr 0000 J(つまり
使用しているプロセスが無い状B)ならば、一致が検出
される。
デコード手段20は、上記比較手段25の出力が確定し
たタイミングにおいて共有記憶装置5に対し信号線20
1を介して書込み指示を送出し、また信号線252を介
して書込みアドレスと、信号線253を介して書込みデ
ータをそれぞれアドレス保持手段27.書込みデータ保
持手段26から送出させる。
信号線201の書込み指示は、アンド回路28において
信号線251上の比較手段25の比較結果と論理積がと
られ、その論理積信号が信号線281に送出される。従
って、比較手段25の出力がrlJのときに限り、共存
記憶装置5の計数型セマフォ90の書き換えが行なわれ
る。
このように動作することによって、比較マスクデータ保
持手段24で値「0」に対応したバイトは比較の対象と
ならないので、比較データ保持手段23の下位2バイト
は無視され、最終セマフォ使用プロセス識別名902に
かかわりなく、コンペアアンドスワップ方式を使用する
ことができる。
〔発明の効果] 以上説明したように、本発明によれば、コンペアアンド
スワップ方式において比較するデータの任意のフィール
ドをマスクすることができるから、比較データが作成で
きないフィールドが存在してもコンペアアンドスワップ
方式を使用することができ、コンペアアンドスワップ方
式の適用範囲を拡大することができる効果がある。
【図面の簡単な説明】 第1図は共有記憶アクセス制御部2の実施例のブロック
図、 第2図は本発明を適用したマルチプロセッサシステムの
一例を示すブロック図および、第3図は計数型セマフォ
の説明図である。 図において、1.3はプロセッサ、2,4は共有記憶ア
クセス制御部、5は共有記憶装置、20はデコード手段
、21はアクセス禁止手段、22は続出しデータ保持手
段、23は比較データ保持手段、24は比較マスクデー
タ保持手段、25は比較手段、26は書込みデータ保持
手段、27はアドレス保持手段、28はアンド回路であ
る。

Claims (1)

  1. 【特許請求の範囲】 他のプロセッサと共用する共有記憶装置上の共有資源を
    アクセスする際に、前記共有記憶装置上の所定の領域に
    格納されたデータと自プロセッサで用意した比較用デー
    タとを比較し、所定の比較結果が得られたときに限り前
    記所定の領域に格納されたデータを自プロセッサの所定
    のデータで書き換えて前記共有資源をアクセスするよう
    に構成されたマルチプロセッサシステムにおけるコンペ
    アアンドスワップ方式において、 前記所定の領域に格納されたデータと自プロセッサで用
    意した比較用データとの比較すべきフィールドを指示す
    る比較マスクデータを格納する比較マスクデータ保持手
    段と、 前記所定の領域に格納されたデータと前記自プロセッサ
    で用意された比較用データとを前記比較マスクデータ保
    持手段に保持された比較マスクデータの内容に従って比
    較する比較手段とを設け、該比較手段の比較結果に従っ
    て前記所定の領域に格納されたデータの書き換え処理の
    実行可否を制御するようにしたことを特徴とするマルチ
    プロセッサシステムにおけるコンペアアンドスワップ方
    式。
JP22611585A 1985-10-09 1985-10-09 マルチプロセツサシステムにおけるコンペアアンドスワツプ方式 Pending JPS6285372A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP22611585A JPS6285372A (ja) 1985-10-09 1985-10-09 マルチプロセツサシステムにおけるコンペアアンドスワツプ方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP22611585A JPS6285372A (ja) 1985-10-09 1985-10-09 マルチプロセツサシステムにおけるコンペアアンドスワツプ方式

Publications (1)

Publication Number Publication Date
JPS6285372A true JPS6285372A (ja) 1987-04-18

Family

ID=16840067

Family Applications (1)

Application Number Title Priority Date Filing Date
JP22611585A Pending JPS6285372A (ja) 1985-10-09 1985-10-09 マルチプロセツサシステムにおけるコンペアアンドスワツプ方式

Country Status (1)

Country Link
JP (1) JPS6285372A (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06301657A (ja) * 1993-02-22 1994-10-28 Internatl Business Mach Corp <Ibm> 並行管理方法
JP2009134771A (ja) * 2005-12-01 2009-06-18 Sony Computer Entertainment Inc 特定のプロセッサを使ってアトミックなコンペア・アンド・スワップ命令を実行するための技術
US7940706B2 (en) 2001-10-01 2011-05-10 International Business Machines Corporation Controlling the state of duplexing of coupling facility structures
JP2012531682A (ja) * 2009-12-22 2012-12-10 インテル・コーポレーション Simdベクトルの同期
JP2020506483A (ja) * 2017-02-08 2020-02-27 エイアールエム リミテッド コンペアアンドスワップトランザクション

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06301657A (ja) * 1993-02-22 1994-10-28 Internatl Business Mach Corp <Ibm> 並行管理方法
US9253046B2 (en) 1998-09-10 2016-02-02 International Business Machines Corporation Controlling the state of duplexing of coupling facility structures
US9565013B2 (en) 1998-09-10 2017-02-07 International Business Machines Corporation Controlling the state of duplexing of coupling facility structures
US9860315B2 (en) 1998-09-10 2018-01-02 International Business Machines Corporation Controlling the state of duplexing of coupling facility structures
US7940706B2 (en) 2001-10-01 2011-05-10 International Business Machines Corporation Controlling the state of duplexing of coupling facility structures
US8341188B2 (en) 2001-10-01 2012-12-25 International Business Machines Corporation Controlling the state of duplexing of coupling facility structures
US10491675B2 (en) 2001-10-01 2019-11-26 International Business Machines Corporation Controlling the state of duplexing of coupling facility structures
JP2009134771A (ja) * 2005-12-01 2009-06-18 Sony Computer Entertainment Inc 特定のプロセッサを使ってアトミックなコンペア・アンド・スワップ命令を実行するための技術
JP2012531682A (ja) * 2009-12-22 2012-12-10 インテル・コーポレーション Simdベクトルの同期
JP2014059902A (ja) * 2009-12-22 2014-04-03 Intel Corp Simdベクトルの同期
US8996845B2 (en) 2009-12-22 2015-03-31 Intel Corporation Vector compare-and-exchange operation
JP2020506483A (ja) * 2017-02-08 2020-02-27 エイアールエム リミテッド コンペアアンドスワップトランザクション

Similar Documents

Publication Publication Date Title
JPS6133218B2 (ja)
EP0431326A2 (en) Inter-processor interrupts in an n-element multi-processor
US4670836A (en) Device for detecting an overlap of operands to be accessed
JPS6285372A (ja) マルチプロセツサシステムにおけるコンペアアンドスワツプ方式
JPS58197553A (ja) プログラム監視装置
JP3381079B2 (ja) キャッシュメモリを用いた排他制御システム
JP4122968B2 (ja) 共通資源へのアクセス方式、共通資源へのアクセス方法、及びプログラム
JP3585510B2 (ja) プログラム実行管理装置及びプログラム実行管理方法
JPH05134930A (ja) メモリ保護装置
JPH01305460A (ja) プロセッサ間通信方式
JPH01125633A (ja) マルチプロセッサシステムのデバッグ法
JP2850377B2 (ja) マイクロコンピュータ
JPH059815B2 (ja)
JPH06139084A (ja) 情報処理装置
JPS6215644A (ja) キヤツシユメモリ制御回路
JP2973227B2 (ja) 排他制御命令実行方法
JPH03127126A (ja) 情報処理装置
JPH0664552B2 (ja) 情報処理装置の無効化処理方式
JPS62274445A (ja) マイクロ・コンピユ−タ・システムにおける特権保護方式
JPS61165155A (ja) 記憶キ−アクセス制御方式
JPH02132548A (ja) 並列プロセツサのデバツグ支援方式
JPS6115235A (ja) 中央処理装置
JPS626329A (ja) デ−タ転送回路
JPH0154729B2 (ja)
JPS6034144B2 (ja) 記憶装置アクセスのロック方式