JP2000003302A - 共有メモリ排他アクセス制御方法 - Google Patents
共有メモリ排他アクセス制御方法Info
- Publication number
- JP2000003302A JP2000003302A JP10166606A JP16660698A JP2000003302A JP 2000003302 A JP2000003302 A JP 2000003302A JP 10166606 A JP10166606 A JP 10166606A JP 16660698 A JP16660698 A JP 16660698A JP 2000003302 A JP2000003302 A JP 2000003302A
- Authority
- JP
- Japan
- Prior art keywords
- access
- shared memory
- register
- read
- 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
Links
Landscapes
- Multi Processors (AREA)
- Memory System (AREA)
Abstract
より共有メモリに接続している場合も排他アクセスを可
能にし、プロセッサに対してリードモディファイライト
処理時間を低減する。 【解決手段】共有メモリコントローラに排他制御用のレ
ジスタを設け、共有メモリアクセスインターフェースコ
ントローラにおけるリードモディファイライト処理で、
プロセッサ側のアクセスと共有メモリインターフェース
側のアクセス処理をできるだけ平列に行うように処理す
る。
Description
チプロセッサシステムを用いるディスク制御システムに
おいて、各プロセッサ間の共有メモリへの排他アクセス
を行う場合に用いる方法とその方法を用いる装置に関す
る。
を用いるディスク装置において、複数のプロセッサをバ
ス接続したシステムでは、あるプロセッサが共有メモリ
上のデータを読み出した後、そのデータを更新する前
に、他のプロセッサがその共有メモリ上のデータを書き
換えてしまうと、両プロセッサ間で共有して行っていた
処理に矛盾が生じる。
には各共有データに対してそのデータにアクセスするア
クセス権を管理するためのロック情報を用い、またハー
ド的にはリードモディファイライト方式を用いてそのロ
ック情報をアクセスする。
タをアクセスする場合には、各プロセッサがこのデータ
が使用中(ロック中)であるか否かのロック情報をデー
タとして共有メモリに設ける。プロセッサはそのロック
情報データを読み出した後、バスをそのまま占有してロ
ック状態データをロック中に書き換えてしまう。このよ
うに、ロック情報データをバスを解放せずに連続使用し
て、書き換えるリードモディファイライト方式を用いて
排他アクセスを行っていた。
では、共有メモリに対してすべてのプロセッサが共通の
アクセスバスを用いてアクセスすることを利用してハー
ド的に各プロセッサのアクセスを排他制御している。し
かし、共有メモリへのアクセスバスが複数になった時、
上記の方法では排他制御することはできない。
のアクセスバスを持つ場合にも排他制御を可能にし、ま
た、プロセッサがリードモディファイライト方式に適し
た命令コードを持たない場合にも、少ないアクセス時間
でリードモディファイライトアクセスを完了する方法と
装置を提供することにある。
め、本発明の制御方式は、複数のプロセッサとその各プ
ロセッサの共有メモリへのアクセスを制御する共有メモ
リアクセスインターフェースコントローラ、上記インタ
ーフェースコントローラと共有メモリを接続する複数の
インターフェースと、複数のインターフェースの制御と
共有メモリアクセスを制御する共有メモリコントローラ
を有するディスク制御装置において、共有メモリコント
ローラにリードモディファイライトアクセス中のアドレ
スを登録するレジスタを有し、同アドレス情報を元に各
インターフェースからのアクセス要求アドレスを比較し
て同アドレスと一致する場合には、同アクセスを禁止す
る。
スコントローラには、リードモディファイライトアクセ
ス先アドレスを設定するレジスタ、リードしたデータの
変更内容を設定するレジスタ、変更後のデータを格納し
ておくレジスタ、変更前のデータを格納しておくレジス
タを有し、設定されたアドレスに対するリードアクセス
を行い、リードデータを変更内容設定レジスタに従って
変更し、変更したデータを再び共有メモリにライトする
制御を行う。
た変更後データをそれぞれ格納し、プロセッサが上記レ
ジスタをリードすることができるようにしておく。この
時、プロセッサによる各レジスタへのアクセスと、共有
メモリへのリードモディファイライトアクセスの実行の
タイミングを、プロセッサにおける、ロック情報の取得
およびロック情報の設定,解除に要する総合的な時間を
適当に制御する。
アクセス方法と装置について、以下に図面を示し実施例
を参照して詳細に説明する。
概略である。このシステムは複数のプロセッサ101、
とそのプロセッサの共有メモリアクセスを制御する共有
メモリアクセスインターフェースコントローラ102,
複数の共有メモリアクセスインターフェース103,共
有メモリコントローラ104,共有メモリ106から成
る。そして、共有メモリコントローラ104内にあるリ
ードモディファイライトアクセスアドレス格納レジスタ
105を用いて各インターフェースからのアクセス先ア
ドレスを比較して排他制御を行う。
通のアクセスインターフェースを介して共有メモリにア
クセスするシステムの構成である。複数のプロセッサ2
01と共有メモリインターフェースコントローラ202
は共通のインターフェース203により、共有メモリア
クセスコントローラ204に接続して、共有メモリ20
5にアクセスする。このインターフェース203の使用
権を占有すれば、あるプロセッサが排他的に共有メモリ
にアクセスすることが可能である。
トアクセスを制御する共有メモリアクセスインターフェ
ースコントローラ102内のリードモディファイライト
に必要なレジスタ群302の説明である。アクセス先ア
ドレスレジスタ303,変更内容設定レジスタ304,
変更前データレジスタ305,変更後データ格納レジス
タ306を有する。
ジスタ304はシステムの利用するロック情報データの
フォーマットにより、複数必要になることもある。
制御のフローチャートである。各インターフェースから
のアクセスを待つステップ401、到着したアクセスの
アクセス先アドレスはリードモディファイライトアクセ
スアドレス格納レジスタ内のアドレスと同じかどうか判
定するステップ402、一致する場合、そのアクセスは
リードモディファイライトアクセス終了待ち処理403
へ、一致しない場合、そのアクセスはリードモディファ
イライトアクセスか判定するステップ404、リードモ
ディファイライトの場合、そのアクセス先アドレスをリ
ードモディファイライトアクセスアドレス格納レジスタ
にアドレスを格納する処理405へ、異なる場合は当該
アクセスの処理406を行う。
スコントローラ内でのリードモディファイライトアクセ
ス制御のフローチャートである。
トアクセス先アドレスレジスタへのアドレス情報ライト
(ステップ501)、続いて、変更内容設定レジスタへ
の変更内容情報のライト(ステップ502)、続いて、
変更後データ格納レジスタのリード要求(ステップ50
3)。また、ステップ503においては、ステップ50
1をきっかけにして、平行して行われる共有メモリに対
するリードアクセスを開始する(ステップ511)。続
いて、変更内容設定レジスタの内容に従い内容を変更す
る(ステップ512)。変更後データを共有メモリへラ
イトする(ステップ513)。上記ライト処理の完了を
確認する(ステップ504)。完了を確認した後にステ
ップ503のリード要求に対する変更後データを返送す
る(ステップ505)。
レスのライトと変更内容設定は必ず連続して行うこと。
先に内容変更設定を行って置く方法もあるが、共有メモ
リアクセスとプロセッサのレジスタアクセスを平行して
行うメリットがなくなる。また、変更内容設定が遅れる
と、前回の設定を使用して変更データを作成する。
共有メモリアクセスを平行して行う場合と反対に、各レ
ジスタ設定を確実に行ってからリードモディファイライ
トを実行する場合のフローチャートを示す。
トアクセス先アドレスレジスタへのライト(ステップ6
01)、変更内容設定レジスタへのライト(ステップ6
02)、変更後データ格納レジスタのリード(ステップ
603)、共有メモリに対してリードアクセスを開始
(ステップ604)、変更内容設定レジスタの内容に従
い内容を変更する(ステップ605)、変更後データを
共有メモリへライトする(ステップ606)、ライト処
理の完了を確認する(ステップ607)。確認した後に
ステップ603のリード要求に対する変更後データを返
送する(ステップ608)。ただし、この制御では、共
有メモリアクセスとプロセッサのレジスタアクセスを平
行して行うメリットがなくなる。しかし、確実にプロセ
ッサの設定に従ってアクセスすることになる。
メモリアクセスインターフェースをリードアクセスから
ライトアクセスまで占有し続ける方式とそれぞれのアク
セスごとに占有する方式のどちらも可能である。図7は
インターフェースを占有し続ける場合の制御のデータの
流れを示す図である。
ードモディファイライトアクセス、プロセッサ702か
らのアドレスBへのリードアクセス、プロセッサ703
よりのアドレスAへのリード処理がある場合、プロセッ
サ701の最初のリードアクセスにより共有メモリコン
トローラ104内のアドレスAがリードモディファイラ
イトアドレス格納レジスタ105に格納される(制御7
04)。プロセッサ702のアドレスBへのアクセス要
求は、共有メモリアクセスインターフェース103aが
プロセッサ701のアクセスで占有されているため、排
他される(制御705)。プロセッサ703のアドレス
Aへのリードアクセスは、共有メモリコントローラにお
いて、リードモディファイライトアドレス格納レジスタ
105の値と比較され、一致するため排他される(制御
706)。
ごとに占有する方式の場合の制御のデータの流れを示す
図である。
ードモディファイライトアクセス、プロセッサ802か
らのアドレスBへのリードアクセス、プロセッサ803
よりのアドレスAへのリード処理がある場合、プロセッ
サ801の最初のリードアクセスにより共有メモリコン
トローラ104内のリードモディファイライトアドレス
格納レジスタ105にアドレスAと共にプロセッサ80
1のID番号が格納され、上記リードアクセス終了と共
にインターフェース103aを解放する(制御80
4)。プロセッサ802のアドレスBへのアクセス要求
は、共有メモリアクセスインターフェース103aが解
放されているので、これを占有し共有メモリコントロー
ラにアクセスが到着して、プロセッサID番号とアクセ
ス先アドレスがリードモディファイライトアドレス格納
レジスタの値と比較され、不一致なので、当該リード要
求が処理され、リードアクセスの完了と共にインターフ
ェース103aを解放する(制御805)。
更後データのライトアクセスが解放されたインターフェ
ース103aを占有して行われ、プロセッサID番号が
比較され、前回のリードアクセスに続くライトアクセス
だと認識され、ライト処理が行われる(制御806)。
プロセッサ803のアドレスAへのリードアクセスは、
共有メモリコントローラ104において、リードモディ
ファイライトアドレス格納レジスタ105の値と比較さ
れ、一致するため排他される(制御807)。
ロセッサシステムを用いるディスク制御装置において、
複数のプロセッサが複数のアクセスインターフェースを
共有メモリに対して有している場合でも共有メモリに排
他制御アクセスが可能になる方法を提供し、また、共有
メモリに対するリードモディファイライト処理における
プロセッサの総合的な処理時間を減少することができ
る。
すブロック図。
図。
ト処理用のレジスタの概要を示す説明図。
チャート。
ローチャート。
ローチャート。
ス上の制御の流れの一例を示す説明図。
ス上の制御の流れの一例を示す説明図。
2…共有メモリアクセスインターフェースコントロー
ラ、103,203…共有メモリアクセスインターフェ
ース、104,204…共有メモリコントローラ、10
5…リードモディファイライトアクセスアドレス格納レ
ジスタ、106,205…共有メモリ。
Claims (6)
- 【請求項1】複数のマイクロプロセッサとそれらのマイ
クロプロセッサから共通してアクセス可能なメモリ、上
記メモリへのアクセスを制御するコントローラと上記複
数のプロセッサの共有メモリアクセスインターフェース
コントローラとを接続する一つないし複数の接続インタ
ーフェースを有する共有メモリ型マルチプロセッサシス
テムを用いるディスク制御装置において、あるプロセッ
サが他のマイクロプロセッサからの同データへのアクセ
スを排除して上記メモリ上の共有データに対して、その
内容を読み出し、内容を変更して書き込む排他アクセス
を行う場合に、上記メモリへのアクセス要求先アドレス
を共有メモリアクセスインターフェースコントローラ内
のレジスタに登録し、変更内容を設定するレジスタにそ
の内容を設定し、変更した内容を格納するレジスタを読
み込むことで、上記共有データに対する上記アクセスを
完了することを特徴とする共有メモリ排他アクセス制御
方法。 - 【請求項2】請求項1記載の方法において、プロセッサ
がアクセス先アドレスをレジスタに登録した時点で、共
有メモリアクセスコントローラに対して、アクセスを開
始し、続いて行われる変更内容を設定するレジスタへの
書き込みアクセスと、変更した内容を格納するレジスタ
への読み出しアクセスとをプロセッサが外部メモリアク
セスインターフェースコントローラに対して行う間に、
共有メモリから読み出したデータに変更内容設定レジス
タに従って内容を変更したデータを上記共有メモリへ書
き込み、変更した内容を格納するレジスタへの読み出し
アクセスへの返送データとして上記データを返送するこ
とを特徴とする共有メモリ排他アクセス制御方法。 - 【請求項3】請求項1記載の方法において、プロセッサ
がアクセス先アドレスをレジスタに登録し、変更内容を
設定するレジスタへの書き込み、変更した内容を格納す
るレジスタへの読み出しアクセスを行った時点で、共有
メモリアクセスコントローラに対してアクセスを開始
し、読み出したデータを変更内容設定レジスタに従って
変更し、再び共有メモリに対して変更したデータを書き
込む動作を行い、プロセッサに変更した内容を読み出す
アクセスに対するデータとして上記データを返送するこ
とを特徴とする共有メモリ排他アクセス制御方法。 - 【請求項4】請求項1記載の方法において、共有メモリ
への接続インターフェースの使用権を占有したまま上記
アクセスを行うことを特徴とする共有メモリ排他アクセ
ス制御方法。 - 【請求項5】請求項1記載の方法において、共有メモリ
への接続インターフェースの使用権をデータの読み出し
時点、データの書き込み時点でそれぞれ占有し、両アク
セスの間は使用権を解放することを特徴とする共有メモ
リ排他アクセス制御方法。 - 【請求項6】請求項1記載の方法において、共有メモリ
へのデータの読み出し時点で、排他アクセス中アドレス
情報を格納するレジスタに上記アクセスの要求元プロセ
ッサの認識番号も登録し、続くライトアクセス時にはプ
ロセッサの認識番号を比較する事で、その前のリードア
クセスに続くライトアクセスと認識する制御を特徴とす
る共有メモリ排他アクセス制御方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP16660698A JP3965784B2 (ja) | 1998-06-15 | 1998-06-15 | 共有メモリ排他アクセス制御方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP16660698A JP3965784B2 (ja) | 1998-06-15 | 1998-06-15 | 共有メモリ排他アクセス制御方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2000003302A true JP2000003302A (ja) | 2000-01-07 |
JP3965784B2 JP3965784B2 (ja) | 2007-08-29 |
Family
ID=15834427
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP16660698A Expired - Fee Related JP3965784B2 (ja) | 1998-06-15 | 1998-06-15 | 共有メモリ排他アクセス制御方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3965784B2 (ja) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20020060419A (ko) * | 2001-01-11 | 2002-07-18 | 최웅림 | 메모리 접근 방법 |
WO2006030650A1 (ja) * | 2004-09-16 | 2006-03-23 | Nec Corporation | 複数の処理ユニットでリソースを共有する情報処理装置 |
WO2007099616A1 (ja) * | 2006-02-28 | 2007-09-07 | Fujitsu Limited | アドレス排他制御システムおよびアドレス排他制御方法 |
US7299323B2 (en) | 2004-03-08 | 2007-11-20 | Samsung Electronics Co., Ltd. | Memory controller having a read-modify-write function |
JP2008293368A (ja) * | 2007-05-25 | 2008-12-04 | Toyota Motor Corp | マルチプロセッサシステム、排他制御方法、車両用電子制御ユニット |
US7568077B2 (en) | 2005-10-21 | 2009-07-28 | Konica Minolta Business Technologies, Inc. | Information processing apparatus and file controller |
JP2013182373A (ja) * | 2012-03-01 | 2013-09-12 | Nec Computertechno Ltd | 記憶装置及びその制御方法 |
JP2016177752A (ja) * | 2015-03-23 | 2016-10-06 | 富士ゼロックス株式会社 | 転送装置、転送システムおよびプログラム |
JP2016177751A (ja) * | 2015-03-23 | 2016-10-06 | 富士ゼロックス株式会社 | 転送装置、転送システムおよびプログラム |
-
1998
- 1998-06-15 JP JP16660698A patent/JP3965784B2/ja not_active Expired - Fee Related
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20020060419A (ko) * | 2001-01-11 | 2002-07-18 | 최웅림 | 메모리 접근 방법 |
US7299323B2 (en) | 2004-03-08 | 2007-11-20 | Samsung Electronics Co., Ltd. | Memory controller having a read-modify-write function |
JP4737438B2 (ja) * | 2004-09-16 | 2011-08-03 | 日本電気株式会社 | 複数の処理ユニットでリソースを共有する情報処理装置 |
JPWO2006030650A1 (ja) * | 2004-09-16 | 2008-05-15 | 日本電気株式会社 | 複数の処理ユニットでリソースを共有する情報処理装置 |
US7650453B2 (en) | 2004-09-16 | 2010-01-19 | Nec Corporation | Information processing apparatus having multiple processing units sharing multiple resources |
WO2006030650A1 (ja) * | 2004-09-16 | 2006-03-23 | Nec Corporation | 複数の処理ユニットでリソースを共有する情報処理装置 |
US7568077B2 (en) | 2005-10-21 | 2009-07-28 | Konica Minolta Business Technologies, Inc. | Information processing apparatus and file controller |
WO2007099616A1 (ja) * | 2006-02-28 | 2007-09-07 | Fujitsu Limited | アドレス排他制御システムおよびアドレス排他制御方法 |
JP4712863B2 (ja) * | 2006-02-28 | 2011-06-29 | 富士通株式会社 | アドレス排他制御システムおよびアドレス排他制御方法 |
US8082410B2 (en) | 2006-02-28 | 2011-12-20 | Fujitsu Limited | Address exclusive control system and address exclusive control method |
JP2008293368A (ja) * | 2007-05-25 | 2008-12-04 | Toyota Motor Corp | マルチプロセッサシステム、排他制御方法、車両用電子制御ユニット |
JP2013182373A (ja) * | 2012-03-01 | 2013-09-12 | Nec Computertechno Ltd | 記憶装置及びその制御方法 |
JP2016177752A (ja) * | 2015-03-23 | 2016-10-06 | 富士ゼロックス株式会社 | 転送装置、転送システムおよびプログラム |
JP2016177751A (ja) * | 2015-03-23 | 2016-10-06 | 富士ゼロックス株式会社 | 転送装置、転送システムおよびプログラム |
Also Published As
Publication number | Publication date |
---|---|
JP3965784B2 (ja) | 2007-08-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5579505A (en) | Memory access system and method for granting or preventing atomic or nonatomic memory access requests to shared memory regions | |
JPH0664567B2 (ja) | 多重プロセッサシステム | |
JP4874165B2 (ja) | マルチプロセッサシステム及びマルチプロセッサシステムにおけるアクセス権設定方法 | |
US6076126A (en) | Software locking mechanism for locking shared resources in a data processing system | |
JP5241384B2 (ja) | 分散共有メモリ型マルチプロセッサ及びデータ処理方法 | |
JP2000003302A (ja) | 共有メモリ排他アクセス制御方法 | |
JP2001222466A (ja) | マルチプロセッサ・システムと共有メモリ制御システム及び方法並びに記録媒体 | |
JP2821345B2 (ja) | 非同期i/o制御方式 | |
IE61306B1 (en) | Method and device to execute two instruction sequences in an order determined in advance | |
JP3381079B2 (ja) | キャッシュメモリを用いた排他制御システム | |
KR20070062537A (ko) | 혼합된 아키텍처를 갖는 시스템에서 원자적 연산을이용하여 정보 유닛을 수정하기 위한 방법 및 장치 | |
JP2746189B2 (ja) | ファイルアクセス制御システム | |
JP2587468B2 (ja) | ロツクデータ設定装置 | |
JP2547329B2 (ja) | ロツクデータ設定装置 | |
JPH05257903A (ja) | マルチプロセッサシステム | |
JPH0355657A (ja) | マルチタスク・マルチプロセッサシステムにおける共有メモリアクセス方式 | |
JPH0589027A (ja) | 監視機能付ライトバツフア | |
JPH0581211A (ja) | プロセツサ間通信方式 | |
JPH0934726A (ja) | 割り込み制御方法 | |
JP3219422B2 (ja) | キャッシュメモリ制御方式 | |
JP2001075826A (ja) | 並列計算機における高効率セマフォ処理方式 | |
JPH1027153A (ja) | バス転送装置 | |
JPS59225469A (ja) | 共有メモリ排他制御方式 | |
JP2000020477A (ja) | 情報処理システム | |
JPS6034144B2 (ja) | 記憶装置アクセスのロック方式 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20050610 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20050621 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050810 |
|
RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7421 Effective date: 20060417 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20061003 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20061129 |
|
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: 20070508 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20070521 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100608 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100608 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110608 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110608 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120608 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120608 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130608 Year of fee payment: 6 |
|
LAPS | Cancellation because of no payment of annual fees |