JPH06110848A - 共有メモリのアクセス方法 - Google Patents

共有メモリのアクセス方法

Info

Publication number
JPH06110848A
JPH06110848A JP26101592A JP26101592A JPH06110848A JP H06110848 A JPH06110848 A JP H06110848A JP 26101592 A JP26101592 A JP 26101592A JP 26101592 A JP26101592 A JP 26101592A JP H06110848 A JPH06110848 A JP H06110848A
Authority
JP
Japan
Prior art keywords
cpu
shared memory
flag
turned
cpus
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.)
Withdrawn
Application number
JP26101592A
Other languages
English (en)
Inventor
Koji Kurita
浩司 栗田
Munehiro Yoneda
宗弘 米田
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.)
Mitsubishi Heavy Industries Ltd
Original Assignee
Mitsubishi Heavy Industries 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 Mitsubishi Heavy Industries Ltd filed Critical Mitsubishi Heavy Industries Ltd
Priority to JP26101592A priority Critical patent/JPH06110848A/ja
Publication of JPH06110848A publication Critical patent/JPH06110848A/ja
Withdrawn legal-status Critical Current

Links

Landscapes

  • Multi Processors (AREA)

Abstract

(57)【要約】 【目的】 複数のCPUで1つの共有メモリを用いても
デッドロックなくメモリアクセスができるようにする。 【構成】 CPU A及びCPU Bにそれぞれ対応し
てフラグFA及びフラグFBを備える。CPU Aは共
有メモリMを使用するに先だちフラグFAをONにし、
このときフラグFBをOFFであることを条件に共有メ
モリMを使用する一方、フラグFBがONであるときに
はフラグFAをOFFにし一定クロック経過後に動作を
再度行う。CPU Bも、CPU Aと同様に、フラグ
FBをONにしたときにフラグFAがOFFとなってい
るときに共有メモリMを使用する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は複数の電子計算機又は複
数のマイクロプロセッサを用いた製品の共有メモリのア
クセス方法に関する。
【0002】
【従来の技術】図8に示すようにCPU AとCPU
Bの2つのCPUで共有の共有メモリMを使用する場
合、共有メモリMを使用していることを示すフラグFを
設ける。CPU AとCPU Bからこの共有メモリM
を使用する場合、図9に示すように、まずフラグFがO
FFである(使用中でない)ことを確認し、(ステップ
1)、次にフラグFをONにし(ステップ2)、共有メ
モリMを使用する(ステップ3)。フラグFがONであ
ればOFFになるまで待つ。共有メモリMの使用が終っ
たら、フラグFをOFFにする(ステップ4)。
【0003】3以上のCPUが共有メモリを使用する場
合も、上述したのと同様に、共有メモリが使用中を示す
フラグを1個設け、共有メモリを使用したいCPUが、
このフラグがOFFであることを確認後フラグをONに
して共有メモリを使用する。共有メモリの使用が終了し
たらこのフラグをOFFにする。
【0004】
【発明が解決しようとする課題】共有メモリMが使用中
であることを示すフラグFを両CPUから全く同時に読
込み判断した場合、各々のCPUは共有メモリMが使用
中でないと判断し、両CPUから同時に共有メモリを参
照/変更する可能性がある。通常、共有メモリは複数C
PU間のインターフェイスデータの受け渡し場所として
使われる為、複数CPUから同時に共有メモリを参照/
変更した場合、インターフェイスデータが意図された通
りに受け渡しされない可能性がある。
【0005】本発明は、上記従来技術に鑑み、複数CP
Uで1台の共有メモリを使用しても、良好な動作を確保
できる共有メモリのアクセス方法を提供することを目的
とする。
【0006】
【課題を解決するための手段】本発明では、複数のCP
Uから共有メモリを使用する場合、各CPUが共有メモ
リを使用していることを示すフラグをCPU台数分設け
る。各CPUで共有メモリを使用する場合は、自CPU
用のフラグをまずONにする。次に他CPUが使用中か
否かを他CPU用のフラグで確認することにより、複数
のCPUから同時に共有メモリを使用する(参照/変更
する)ことを防ぐ。
【0007】自CPU用のフラグをONにした後、他C
PU用フラグのON/OFFを確認し、他CPU用フラ
グがONであれば他CPUが共有メモリを使用中と判断
し、自CPU用フラグをOFFにして再度試みるが、こ
の際、複数CPU間で再試行のタイミングを少しずら
す。これは複数CPUが全く同じタイミングで自CPU
用フラグをONにし、他CPU用フラグのON又はOF
Fを判定した場合のデッドロック(同じ処理をお互いに
行ない、その処理から抜け出せなくなる現象)を防止す
るためである。
【0008】
【作用】複数のCPU台数分設けたフラグは各々のCP
Uが共有メモリを使用中であることを示す。あるCPU
から共有メモリを使用(参照/変更)する場合、自CP
U用のフラグをONにし、次に他CPU用フラグのON
/OFFを判定する。他CPU用フラグがOFFであれ
ば自CPUが共有メモリを使用し、他CPU用フラグが
ONであれば他CPUが共有メモリを使用中と判断し、
自CPU用フラグをOFFにし、再試行する。
【0009】他CPUが共有メモリを使用中の場合、自
CPU用フラグをOFFにし再試行するが、このタイミ
ングを複数CPU間で互いに異なるようにするのは複数
CPUが同時に共有メモリを使用しようとした時のデッ
ドロックを防止する為である。
【0010】
【実施例】以下に本発明の実施例を図面に基づき詳細に
説明する。
【0011】<実施例1>図1に示すようにCPU A
とCPU Bの2つのCPUで共有の共有メモリMを使
用する場合、CPU Aが共有メモリMを使用している
ことを示すフラグFAとCPU Bが共有メモリMを使
用していることを示すフラグFBを設ける。
【0012】CPU Aが共有メモリMを使用する場合
の流れ図を図2に示す。CPU AでまずフラグFAを
ONにし(ステップ11)、次にフラグFBがONかO
FFかを判定する(ステップ12)。フラグFBがON
であればCPU Bが共有メモリMを使用していると判
断し、フラグFAをOFFにした後(ステップ13)、
再度試みる。フラグFBがOFFであればCPU Bが
共有メモリMを使用していないと判断し、CPU Aが
共有メモリMを使用(参照又は変更)する(ステップ1
4)。共有メモリMの使用が終了したらフラグFAをO
FFにしておく(ステップ15)。
【0013】CPU Bが共有メモリMを使用する場合
の流れ図を図3に示す。基本的にCPU Aが共有メモ
リMを参照する場合と同じであるが、フラグFAがON
のとき(フラグFBがOFFか否かの判定でNOの場
合)フラグFBをOFFにして少し時間を待って(1ク
ロック待って)から再度試みる。これはCPU Aがフ
ラグFAをONにしてからフラグFBを判定するタイミ
ングと、CPU BがフラグFBをONにしてからフラ
グFAを判定するタイミングが全く同じ場合に生じるデ
ッドロックを解消する為である。
【0014】<実施例2>図4に示すようにCPU
A、CPU B、CPU Cの3つのCPUで共有の共
有メモリMを使用する場合、CPU Aが共有メモリM
を使用していることを示すフラグFAと、CPU Bが
共有メモリMを使用していることを示すフラグFBと、
CPU Cが共有メモリMを使用していることを示すフ
ラグFCを設ける。
【0015】CPU Aが共有メモリMを使用する場合
の流れ図を図5に示す。CPU AはまずフラグFAを
ONにし(ステップ21)、次にフラグFBとフラグF
CがONかOFFかを判定する(ステップ22,2
3)。フラグFB又はフラグFCがONであればCPU
B又はフラグFCが共有メモリMを使用中と判断し、
フラグFAをOFFにした後(ステップ24)、再度試
みる。フラグFBがOFFかつフラグFCがOFFであ
ればCPU BとCPU Cは共有メモリMを使用して
いないと判断し、CPU Aが共有メモリMを使用(ス
テップ25)する。共有メモリMの使用が終了したらフ
ラグFAをOFFにしておく(ステップ26)。
【0016】CPU Bが共有メモリMを使用する場合
の流れ図を図6に示す。基本的にCPU Aが共有メモ
リMを参照する場合と同じであるが、フラグFA又はフ
ラグFCがONのとき、フラグFBをOFFにして少し
時間(1クロック)を待って再度試みる。これはCPU
AとCPU BとCPU Cで、自分のフラグをON
にしてから他CPUのフラグを判定するタイミングが全
く同じ場合に生じるデッドロックを解消する為である。
【0017】CPU Cが共有メモリMを使用する場合
の流れ図を図7に示す。前述したCPU Bの場合と考
え方は同じであるが、フラグFA又はフラグFBがON
のとき、デッドロック防止の為、待つ時間を2クロック
としCPU Bの時より少し遅らせる。
【0018】
【発明の効果】本発明によれば、複数のCPUが共有メ
モリを介してインターフェイスデータを受け渡ししてい
る場合、複数CPUから同時に共有メモリの参照又は変
更を行なおうとしたときのインターフェイスデータの不
整合(あるデータは新しく、あるデータは古いという不
整合)が防止できる。
【図面の簡単な説明】
【図1】本発明の第1実施例を示すシステム構成図。
【図2】第1実施例におけるCPU Aの動作を示すフ
ロー図。
【図3】第1実施例におけるCPU Bの動作を示すフ
ロー図。
【図4】本発明の第2実施例を示すシステム構成図。
【図5】第2実施例におけるCPU Aの動作を示すフ
ロー図。
【図6】第2実施例におけるCPU Bの動作を示すフ
ロー図。
【図7】第2実施例におけるCPU Cの動作を示すフ
ロー図。
【図8】従来技術を示すシステム構成図。
【図9】従来技術におけるCPUの動作を示すフロー
図。
【符号の説明】
A,B,C CPU FA,FB,FC,F フラグ M 共有メモリ

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】 複数の処理装置と、各処理装置がデータ
    の受け渡しに使用する共有の1つの共有メモリと、前記
    各処理装置に一対一に対応して設置され対応する処理装
    置が共有メモリを使用しようとするとき又は使用してい
    るときに使用状態が保持される複数のフラグとを備えた
    データ処理システムにおけるアクセス方法であって、 各処理装置は、共有メモリを使用しようとするときには
    まず対応するフラグを使用状態とし、次に、対応してい
    ないフラグの状態が使用状態となっていないことを条件
    に共有メモリを使用する一方、対応していないフラグの
    状態が使用状態となっているときには対応するフラグを
    非使用状態に戻し一定時間経過後に再び始めから動作を
    行うことを特徴とする共有メモリのアクセス方法。
JP26101592A 1992-09-30 1992-09-30 共有メモリのアクセス方法 Withdrawn JPH06110848A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP26101592A JPH06110848A (ja) 1992-09-30 1992-09-30 共有メモリのアクセス方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP26101592A JPH06110848A (ja) 1992-09-30 1992-09-30 共有メモリのアクセス方法

Publications (1)

Publication Number Publication Date
JPH06110848A true JPH06110848A (ja) 1994-04-22

Family

ID=17355872

Family Applications (1)

Application Number Title Priority Date Filing Date
JP26101592A Withdrawn JPH06110848A (ja) 1992-09-30 1992-09-30 共有メモリのアクセス方法

Country Status (1)

Country Link
JP (1) JPH06110848A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100328626B1 (ko) * 1995-12-29 2002-08-13 엘지전자주식회사 버스방향 다중처리 시스템의 데드록 방지 방법
JP2006018669A (ja) * 2004-07-02 2006-01-19 Ricoh Co Ltd メモリ排他制御装置、画像処理装置、及び画像形成装置

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100328626B1 (ko) * 1995-12-29 2002-08-13 엘지전자주식회사 버스방향 다중처리 시스템의 데드록 방지 방법
JP2006018669A (ja) * 2004-07-02 2006-01-19 Ricoh Co Ltd メモリ排他制御装置、画像処理装置、及び画像形成装置
JP4669673B2 (ja) * 2004-07-02 2011-04-13 株式会社リコー メモリ排他制御装置、画像処理装置、及び画像形成装置

Similar Documents

Publication Publication Date Title
US6490642B1 (en) Locked read/write on separate address/data bus using write barrier
CN100440124C (zh) 用于选择命令发送到存储器的方法、存储器控制器和***
JP3057934B2 (ja) 共有バス調停機構
US4949241A (en) Microcomputer system including a master processor and a slave processor synchronized by three control lines
US5313591A (en) Computer bus arbitration for N processors requiring only N unidirectional signal leads
JP2634130B2 (ja) バスの使用を制御する方法及びコンピュータ・システム
JP2007508607A (ja) 複数のプロセッサと1つのメモリシステムを有するシステムのためのメモリインタフェース
US6085261A (en) Method and apparatus for burst protocol in a data processing system
JP3092566B2 (ja) パイプライン方式のバスを用いたメモリ制御方式
JPH06110848A (ja) 共有メモリのアクセス方法
US6502150B1 (en) Method and apparatus for resource sharing in a multi-processor system
US20050086463A1 (en) Accessing configuration registers by automatically changing an index
JP2972491B2 (ja) バス制御機構及び計算機システム
JPS5914775B2 (ja) 共通メモリロツク方式
US6269360B1 (en) Optimization of ordered stores on a pipelined bus via self-initiated retry
US20030097515A1 (en) Circuit system and method for data transmission between LPC devices
JPH10283302A (ja) 複数のプロセッサに接続されたバスにデータを供給する方法およびシステム
US5765217A (en) Method and apparatus to perform bus reflection operation using a data processor
JPH0562384B2 (ja)
JPH05250250A (ja) デュアルポートramのアクセス制御方法
JP4062478B2 (ja) デバイスアクセス方法
JP3236459B2 (ja) 共通バスのデータ転送における異常処理装置
JPH0351017B2 (ja)
JPH07109599B2 (ja) 処理システムの情報転送装置
JPH06259376A (ja) データ転送装置

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 19991130