JPH052569A - マルチプロセツサシステムの排他制御方式 - Google Patents

マルチプロセツサシステムの排他制御方式

Info

Publication number
JPH052569A
JPH052569A JP18179291A JP18179291A JPH052569A JP H052569 A JPH052569 A JP H052569A JP 18179291 A JP18179291 A JP 18179291A JP 18179291 A JP18179291 A JP 18179291A JP H052569 A JPH052569 A JP H052569A
Authority
JP
Japan
Prior art keywords
exclusive control
processor
control flag
word
processors
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
JP18179291A
Other languages
English (en)
Inventor
Hiroyuki Yamada
裕之 山田
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.)
Yaskawa Electric Corp
Original Assignee
Yaskawa Electric 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 Yaskawa Electric Corp filed Critical Yaskawa Electric Corp
Priority to JP18179291A priority Critical patent/JPH052569A/ja
Publication of JPH052569A publication Critical patent/JPH052569A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Multi Processors (AREA)

Abstract

(57)【要約】 (修正有) 【目的】テストアンドセット命令を備えていないプロセ
ッサにおいても特別なハードウェアを付加する必要のな
いマルチプロセッサシステムの排他制御方式を提供す
る。 【構成】各プロセッサに固有のプロセッサ識別ビット2
0と、共有メモリ上で、プロセッサ識別ビット20に等
しい排他制御フラグ11〜13がセットされる排他制御
ワード10と、ローカルメモリまたは共有メモリ上で、
各プロセッサの優先順位を設定する優先順位ワード30
と、共有資源を獲得する際に、バスロック機能を用いて
排他制御フラグをセットする排他制御フラグセット手段
と、全プロセッサが同時に排他制御フラグセット手段を
実行した場合時間待ち手段と、排他制御フラグセットが
競合した際に、排他制御フラグと優先順位ワードによっ
て資源獲得の優先順位を判定する優先順位判定手段と、
獲得終了後に、排他制御フラグをリセットする排他制御
フラグリセット手段とから構成される。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、バスロック機能を有す
るプロセッサを使用したマルチプロセッサシステムの排
他制御方式に関するものである。
【0002】
【従来の技術】第4図と第5図は、バスロック機能付き
のテストアンドセット命令を有するプロセッサを使用し
た従来の排他制御方式を説明するための図である。第4
図において、50は共有メモリ、60は共有メモリ上の
排他制御ワード、61は排他制御ワード60内の排他制
御フラグを表す。第5図は排他制御動作のフローチャー
トである。プロセッサは排他制御ワード60をテストし
て排他制御フラグ61がセットされているかどうかを調
べる。排他制御フラグ61がセットされていれば、他の
プロセッサが資源獲得中であると判断して、再度排他制
御ワード60をテストする(ステップ1)。排他制御フ
ラグ61がセットされていなければ、自プロセッサが資
源獲得可能であると判断して排他制御ワード60に排他
制御フラグ61をセットする(ステップ2)。共有資源
を獲得する(ステップ3)。共有資源獲得が終了すると
バスをロックして、排他制御フラグ61をリセットする
(ステップ4)。ここで、複数のプロセッサがほとんど
同時期にステップ1とステップ2を実行した場合に、排
他制御フラグのセットを同時に実行する危険性がある。
したがって、各プロセッサはステップ1とステップ2を
バスロック機能付きのテストアンドセット命令を使用し
て1命令で実行し、他のプロセッサの実行をホールドす
る必要がある。
【0003】
【発明が解決しようとする課題】マルチプロセッサシス
テムの排他制御は、上述のバスロック機能付きのテスト
アンドセット命令を使用することで実現できるが、イン
テル社製の8086マイクロプロセッサに代表されるよ
うな一般に普及しているプロセッサの多くは、テストア
ンドセット命令を備えていない。したがって、このよう
なマイクロプロセッサでマルチプロセッサシステムの排
他制御を実現しようとすると、特別なハードウェアを付
加する必要があるといった問題点があった。本発明は、
このような問題を解消し、テストアンドセット命令を備
えていないプロセッサにおいても特別なハードウェアを
付加する必要のないマルチプロセッサシステムの排他制
御方式を提供することを目的としている。
【0004】
【課題を解決するための手段】この課題を解決するた
め、本発明は、バスロック機能を有する複数のプロセッ
サと、各プロセッサに固有のローカルメモリと、各プロ
セッサからアクセス可能な共有メモリと、プロセッサ間
で共用する資源とを備えるマルチプロセッサシステムに
おいて、各プロセッサに固有のプロセッサ識別ビット
と、共有メモリ上にあって、前記プロセッサ識別ビット
に等しい排他制御フラグがセットされる排他制御ワード
と、ローカルメモリまたは共有メモリ上にあって、各プ
ロセッサの優先順位を設定する優先順位ワードと、各プ
ロセッサが共有資源を獲得する際に、テストアンドセッ
ト命令を用いずにバスロック機能を用いて排他制御フラ
グをセットする排他制御フラグセット手段と、バス上の
全プロセッサが同時に前記排他制御フラグセット手段を
実行した場合に、少なくともその実行時間以上の時間待
ち手段と、排他制御フラグのセットが競合した際に、前
記排他制御フラグと前記優先順位ワードによって資源獲
得の優先順位を判定する優先順位判定手段と、資源獲得
終了後に、バスロック機能を用いて排他制御フラグをリ
セットする排他制御フラグリセット手段とを有してい
る。
【0005】
【作用】このような手段を用いることにより、各プロセ
ッサは排他制御ワード内の固有の排他制御フラグにより
排他制御フラグのセットが競合していることを認識でき
る。さらにこの場合、優先順位ワードを参照することで
競合したプロセッサに対して順番に共有資源獲得を実行
させることができる。
【0006】
【実施例】以下、本発明の実施例について図を参照して
説明する。以下の実施例では、説明のためプロセッサの
台数を3台としているが、さらに台数を増やすことも可
能である。図1は、本発明の実施例を示すブロック図
で、プロセッサ1a〜1cは、それぞれローカルメモリ
2a〜2cを備えている。共有メモリ3と共有資源4
は、バス5によってプロセッサ1aから1cと接続され
る。図2(a)はプロセッサ識別ビットの割り付け、図
2(b)は優先順位ワードの内容、図2(c)は排他制
御ワードの構成を示す。次に動作について図3のフロー
チャートに基づき説明する。各プロセッサは、次のステ
ップを実行する。 (1)排他制御ワード10をテストして排他制御フラグ
11〜13がセットされているかどうかを調べる。排他
制御フラグ11〜13がセットされていれば、すなわち
排他制御ワード10が0でなければ、他のプロセッサが
共有資源4を獲得中であると判断して、再度排他制御ワ
ード10をテストし、排他制御ワード10が0であれ
ば、次のステップに進む(ステップ1)。 (2)自プロセッサのプロセッサ識別ビット20を排他
制御フラグ11〜13として排他制御ワード10にセッ
トする。このとき、他プロセッサとセットのタイミング
が競合して自プロセッサの排他制御フラグがリセットさ
れないようにバスロック機能付き論理和命令を使用する
(ステップ2)。 (3)複数のプロセッサがステップ1をほとんど同時に
実行すると、ステップ2において複数の排他制御フラグ
がセットされる可能性がある。したがって、次のステッ
プに進む前に、バス上の全プロセッサがステップ1とス
テップ2を同時に実行した場合の実行時間以上の時間待
ちをすることで、全プロセッサに対して排他制御フラグ
のセット完了を保証する(ステップ3)。 (4)ステップ2において複数の排他制御フラグがセッ
トされた場合に、ステップ5の共有資源獲得を複数のプ
ロセッサが同時期に実行しないように優先順位の高いプ
ロセッサから順番に次のステップに進む。優先順位の低
いプロセッサはこのステップで待つ。ここで、各プロセ
ッサに対応する優先順位ワード30には自プロセッサよ
りも優先順位の低いプロセッサのプロセッサ識別ビット
20をセットしておく。第2図(b)の例では、優先順
位の高い方からプロセッサ1a、プロセッサ1b、プロ
セッサ1cとなる。優先順位の判定方法はつぎのように
なる。すなわち、排他制御ワード10と優先順位ワード
30の論理積の結果が0ならば自プロセッサが最も優先
順位が高いと判断して次のステップに進み、結果が0で
ないならば自プロセッサよりも優先順位が高い他プロセ
ッサと競合していると判断して再度テストする。 (5)共有資源4を獲得をする(ステップ5)。 (6)排他制御ワード10の自プロセッサに対応する排
他制御フラグをバスロックでリセットする。これによ
り、ステップ4で待ち状態のプロセッサがあれば、その
中で最も優先順位の高いプロセッサがステップ5に進む
ことになる(ステップ6)。
【0007】
【発明の効果】以上述べたように、本発明によれば、特
別なハードウェアを必要としないし、バスロック機能付
きのテストアンドセット命令も必要としないため、一般
に普及しているマイクロプロセッサを使用して低コスト
でマルチプロセッサシステムを構築できるという効果が
ある。
【図面の簡単な説明】
【図1】本発明の実施例を示すブロック図
【図2】(a)はプロセッサ識別ビットの割り付け、
(b)は優先順位ワードの内容、(c)は排他制御ワー
ドの構成をそれぞれ示す図
【図3】本発明の実施例の動作を示すフローチャート
【図4】共有メモリ上の従来例の排他制御ワードの構成
を示す図
【図5】従来例の動作を示すフローチャート
【符合の説明】
1a、1b、1c プロセッサ 2a、2b、2c ローカルメモリ 3 共有メモリ 4 共有資源 10 排他制御ワード 11、12、13 排他制御フラグ 20 プロセッサ識別ビット 60 従来例の排他制御ワード

Claims (1)

  1. 【特許請求の範囲】 【請求項1】バスロック機能を有する複数のプロセッサ
    と、各プロセッサに固有のローカルメモリと、各プロセ
    ッサからアクセス可能な共有メモリと、プロセッサ間で
    共用する資源とを備えるマルチプロセッサシステムにお
    いて、各プロセッサに固有のプロセッサ識別ビットと、
    共有メモリ上にあって、前記プロセッサ識別ビットに等
    しい排他制御フラグがセットされる排他制御ワードと、
    ローカルメモリまたは共有メモリ上にあって、各プロセ
    ッサの優先順位を設定する優先順位ワードと、各プロセ
    ッサが共有資源を獲得する際に、テストアンドセット命
    令を用いずにバスロック機能を用いて排他制御フラグを
    セットする排他制御フラグセット手段と、バス上の全プ
    ロセッサが同時に前記排他制御フラグセット手段を実行
    した場合に、少なくともその実行時間以上の時間待ち手
    段と、排他制御フラグのセットが競合した際に、前記排
    他制御フラグと前記優先順位ワードによって資源獲得の
    優先順位を判定する優先順位判定手段と、資源獲得終了
    後に、バスロック機能を用いて排他制御フラグをリセッ
    トする排他制御フラグリセット手段とを有することを特
    徴とするマルチプロセッサシステムの排他制御方式。
JP18179291A 1991-06-25 1991-06-25 マルチプロセツサシステムの排他制御方式 Pending JPH052569A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP18179291A JPH052569A (ja) 1991-06-25 1991-06-25 マルチプロセツサシステムの排他制御方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP18179291A JPH052569A (ja) 1991-06-25 1991-06-25 マルチプロセツサシステムの排他制御方式

Publications (1)

Publication Number Publication Date
JPH052569A true JPH052569A (ja) 1993-01-08

Family

ID=16106953

Family Applications (1)

Application Number Title Priority Date Filing Date
JP18179291A Pending JPH052569A (ja) 1991-06-25 1991-06-25 マルチプロセツサシステムの排他制御方式

Country Status (1)

Country Link
JP (1) JPH052569A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009211484A (ja) * 2008-03-05 2009-09-17 Nec Computertechno Ltd 情報処理装置
US8301845B2 (en) 2008-09-29 2012-10-30 Fujitsu Limited Access control method and computer system

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009211484A (ja) * 2008-03-05 2009-09-17 Nec Computertechno Ltd 情報処理装置
US8301845B2 (en) 2008-09-29 2012-10-30 Fujitsu Limited Access control method and computer system

Similar Documents

Publication Publication Date Title
US5524247A (en) System for scheduling programming units to a resource based on status variables indicating a lock or lock-wait state thereof
US6216174B1 (en) System and method for fast barrier synchronization
US8572626B2 (en) Symmetric multi-processor system
EP0438021B1 (en) Synchronization instruction for multiple processor network
US20060212876A1 (en) High performance synchronization of accesses by threads to shared resources
JPS6223345B2 (ja)
JPH07120299B2 (ja) マルチプロセッサシステムの試験方法
EP0078377B1 (en) Resource access control in multiprocessors
US7581222B2 (en) Software barrier synchronization
US7103631B1 (en) Symmetric multi-processor system
AU603876B2 (en) Multiple i/o bus virtual broadcast of programmed i/o instructions
JPH052569A (ja) マルチプロセツサシステムの排他制御方式
CN112306703A (zh) 一种numa系统中的临界区执行方法及装置
KR940011041B1 (ko) 마이크로컴퓨터
US5805917A (en) Parallel processing system with a plurality of communication register modules
JPS5836381B2 (ja) 共用メモリ制御装置
JP3006676B2 (ja) マルチプロセッサ
JP2699873B2 (ja) バス制御回路
JPH02264352A (ja) マルチプロセッサ同期方式
CN116860465A (zh) 实现同步锁的方法及相关设备
JPS58115569A (ja) マルチプロセツサ方式
JPH0365751A (ja) 多重プロセッサシステム
JPS6063642A (ja) 競合動作試験方式
JPS61198355A (ja) マルチプロセツサシステム
JPS58115570A (ja) プロセツサ割付け方式