JPH10177560A - 記憶装置 - Google Patents

記憶装置

Info

Publication number
JPH10177560A
JPH10177560A JP8336638A JP33663896A JPH10177560A JP H10177560 A JPH10177560 A JP H10177560A JP 8336638 A JP8336638 A JP 8336638A JP 33663896 A JP33663896 A JP 33663896A JP H10177560 A JPH10177560 A JP H10177560A
Authority
JP
Japan
Prior art keywords
access request
memory
atomic operation
bus
space
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
JP8336638A
Other languages
English (en)
Inventor
Teruyuki Maruyama
輝幸 丸山
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.)
Ricoh Co Ltd
Original Assignee
Ricoh Co 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 Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP8336638A priority Critical patent/JPH10177560A/ja
Priority to US08/992,097 priority patent/US6052763A/en
Publication of JPH10177560A publication Critical patent/JPH10177560A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • G06F13/1652Handling requests for interconnection or transfer for access to memory bus based on arbitration in a multiprocessor architecture

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multi Processors (AREA)

Abstract

(57)【要約】 【課題】 複数のプロセッサ間の同期操作に必要なアト
ミック操作をバスロックせずに実現する。 【解決手段】 マルチプロセッサシステムにスプリット
型のバスを介して接続され、セマフォ/ロック変数を用
いた同期操作に不可欠なアトミック操作が行われる記憶
装置を前提とし、実メモリ空間と重ならないアドレス空
間に実メモリ空間と重複してみえるような疑似メモリ空
間を生成する。バスを介して取り込まれたバスマスタの
メモリアクセス要求が疑似メモリ空間に対するものであ
る場合にはこれをアトミック操作開始アクセス要求と認
識し(S1)、そのバスマスタの識別子を記憶保持する
(S7)。続いてメモリアクセス要求をするバスマスタ
の識別子と記憶保持された識別子とが一致すれば(S1
5,16)、これをアトミック操作終了アクセス要求と
認識し(S17,18)、一致しなければメモリアクセ
ス要求を受け付けずその再実行を要求する(S14)。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、結合型のマルチプ
ロセッサシステムにスプリット型のバスを介して接続さ
れ、セマフォ/ロック変数を用いた同期操作に不可欠な
アトミック操作が行われる記憶装置に関する。
【0002】
【従来の技術】近年、システム内に複数のプロセッサを
用意し、各プロセッサを結合して構成されるマルチプロ
セッサシステムが一般に用いられている。このようなマ
ルチプロセッサシステムは、比較的少数のプロセッサを
密結合することにより構成され、複数の機能を各プロセ
ッサに割り当てることによって各プロセッサの負担を軽
減し、各プロセッサの同時並列動作によって処理能力の
向上を図っている。
【0003】ここで、各プロセッサを結合する方式には
各種の方式があるが、そのうちの一つに各プロセッサを
バス結合したバス結合方式がある。このようなバス結合
方式では、バス上に各プロセッサが任意にアクセスする
ことができる主記憶が用意され、各プロセッサは主記憶
に対してアクセスするようになっている。ところが、バ
ス結合方式のマルチプロセッサシステムでは、独立して
動作する複数のプロセッサが共有のシステムバスをアク
セスするため、バスアクセスの競合によってトラブルが
発生しないように調停機能(アービトレーション機能)
が一般に設けられている。
【0004】一方、主記憶を共有する密結合型のマルチ
プロセッサシステムは、各プロセッサ間の同期操作を必
要とする。そこで、このようなマルチプロセッサシステ
ムでは、主記憶上にセマフォ/ロック変数と呼ばれる変
数をおいて各プロセッサ間の同期操作を行っている。例
えば、主記憶のある領域中の数バイトを一続きの意味あ
るデータとして使用している場合、その一部が書き換え
られるとデータは意味をなさなくなるし、そのデータが
他に使用されては具合が悪い。そこで、主記憶上にセマ
フォ/ロック変数という変数をおき、一続きのデータの
書き換えを行おうとするプロセッサはこの変数に対して
アクセスし、一続きのデータが書き換え中でないことを
確認してからセマフォ/ロック変数を書き換えてデータ
書き換え中であることを宣言する。このため、各プロセ
ッサ間の同期操作に際しては、主記憶に格納されたセマ
フォ/ロック変数に対して確認、書き換えという一連の
操作が必要となる。このような一連の操作をアトミック
操作(不可分操作)という。
【0005】ところが、セマフォ/ロック変数を用いた
各プロセッサ間の同期操作に際して必要となるアトミッ
ク操作では、確認及び書き換えという主記憶に対する2
回の操作の間に同一のセマフォ/ロック変数に対する操
作が行われるとデータの一貫性が崩れる危険性がある。
このため、従来、主記憶に対する2回の操作が不可分の
操作となるような工夫をし、2回の操作の間に他のプロ
セッサの操作が介在しないようにしている。例えば、特
開平3−74759号公報には、主記憶に対する2回の
操作の間はバスをロックし、その間に主記憶に対する他
のプロセッサの操作が発生しないようにした発明が開示
されている。
【0006】
【発明が解決しようとする課題】近年、密結合型のマル
チプロセッサシステムでは、プロセッサによるバスの占
有率を低減させるために、アドレスとデータとを分離さ
せたスプリット型のバスを用いることが多くなってきて
いる。しかし、同期操作に用いるアトミック操作では、
例えば特開平3−74759号公報に開示されているよ
うに、主記憶に対する2回の操作に間にバスロック等の
手法で他のプロセッサの操作が介在しないようにする必
要がある。このため、アトミック操作中はバスが1つの
プロセッサに占有され、他のプロセッサ等のバス使用が
禁止される。したがって、同期操作が多用されるシステ
ムでは、スプリット型のバスの利点が生かされないとい
う問題がある。
【0007】
【課題を解決するための手段】請求項1記載の発明は、
マルチプロセッサシステムにスプリット型のバスを介し
て接続され、セマフォ/ロック変数を用いた同期操作に
不可欠なアトミック操作が行われる記憶装置において、
実メモリ空間と重ならないアドレス空間に実メモリが重
複してみえるようにする疑似メモリ空間を生成するデコ
ード手段と、バスを介して取り込まれたバスマスタから
のメモリアクセス要求が実メモリ空間に対するものか疑
似メモリ空間に対するものかを識別する識別手段と、通
常モード時、メモリアクセス要求が疑似メモリ空間に対
するものと識別された場合にそのメモリアクセス要求を
アトミック操作開始アクセス要求と認識し、アトミック
操作モードに動作モードを移行させる第1の認識手段
と、アトミック操作開始アクセス要求を行ったバスマス
タの識別子を記憶保持する保持手段と、アトミック操作
モード時、メモリアクセス要求をするバスマスタの識別
子が保持手段に保持された識別子と一致する場合にその
メモリアクセス要求をアトミック操作終了アクセス要求
と認識し、動作モードを通常モードに復帰させる第2の
認識手段と、アトミック操作モード時、メモリアクセス
要求が第2の認識手段の認識条件に合致しない場合にメ
モリアクセス要求を受け付けず、アクセス要求の再実行
を要求する禁止手段とを備える。したがって、アトミッ
ク操作開始アクセス要求が認識されて実行されるアトミ
ック操作モード中は、アトミック操作開始アクセス要求
をしたプロセッサ以外のプロセッサやディバイスのメモ
リアクセス要求が拒絶され、アトミック操作が正しく行
われる。この場合、バスがロックされるわけではないの
で、他のプロセッサやプロセッサ以外のバスマスタのバ
ス使用が損なわれることがなく、スプリット型のバスの
利点が十分に生かされる。
【0008】請求項2記載の発明では、請求項1記載の
発明において、禁止手段は、メモリアクセスを要求する
バスマスタがプロセッサかどうかを判定し、プロセッサ
でないと判定した場合にはメモリアクセスを許容する。
したがって、アトミック操作モード中でもプロセッサ以
外のバスマスタのメモリアクセスが可能となり、効率良
くメモリが使用される。
【0009】請求項3記載の発明では、請求項1記載の
発明において、禁止手段は、メモリアクセス要求が疑似
メモリ空間に対する場合にのみメモリアクセス要求を受
け付けない。メモリアクセス要求が疑似メモリ空間に対
するものでなければ疑似メモリ空間に記憶保持されたデ
ータが書き換えられないため、そのメモリアクセス要求
を拒絶する必要がない。したがって、アトミック操作モ
ード中でも実メモリ空間に対するメモリアクセスが可能
となり、効率良くメモリが使用される。
【0010】請求項4記載の発明では、請求項1記載の
発明において、保持手段は、アトミック操作開始アクセ
ス要求のアクセスアドレスに対応する実メモリアドレス
を記憶保持し、禁止手段は、メモリアクセス要求がアト
ミック操作開始アクセス要求のアクセスアドレスに対応
する実メモリアドレスに対する場合にのみメモリアクセ
ス要求を受け付けない。メモリアクセス要求が疑似メモ
リ空間に対するものでなければ疑似メモリ空間に記憶保
持されたデータが書き換えられないため、そのメモリア
クセス要求を拒絶する必要がない。そこで、請求項4記
載の発明では、アトミック操作モード時、疑似メモリ空
間に対するメモリアクセス要求となるようなメモリアク
セス要求、つまり、アトミック操作開始アクセス要求の
アクセスアドレスに対応する実メモリアドレスのメモリ
アクセス要求以外のメモリアクセス要求を許容する。こ
れにより、効率よくメモリが使用される。
【0011】請求項5記載の発明は、請求項1記載の発
明において、アトミック操作開始アクセス要求がなされ
てからアトミック操作終了アクセス要求がなされるまで
のタイムアウト時間をカウントするタイマ手段と、タイ
ムアウト時間経過後は強制的にアトミック操作モードを
終了させる強制終了手段とを備える。これにより、不適
当なメモリアクセス要求によってアトミック操作が長時
間にわたり不必要に継続されることによって起こりうる
システムのダウンが防止される。
【0012】請求項6記載の発明は、マルチプロセッサ
システムにスプリット型のバスを介して接続され、セマ
フォ/ロック変数を用いた同期操作に不可欠なアトミッ
ク操作が行われる記憶装置において、実メモリ空間と重
ならないアドレス空間に実メモリが重複してみえるよう
にする疑似メモリ空間を生成するデコード手段と、バス
を介して取り込まれたメモリアクセス要求のアクセスア
ドレス空間を識別し、疑似メモリ空間に対するメモリリ
ードアクセス要求をリード・モディファイ・ライト・ア
クセス要求として識別するアトミック操作識別手段と、
リード・モディファイ・ライト・アクセス要求として識
別されたメモリリードアクセス要求のアクセスアドレス
に対応する実メモリアドレスを読み出し、零以外の数値
を実メモリアドレスに対して書き込むと共に、メモリリ
ードアクセス要求をしたバスマスタにリードデータを返
送する返送手段とを備える。したがって、簡単な処理に
よってメモリに対するテスト・アンド・セットが実行さ
れる。
【0013】
【発明の実施の形態】本発明の第一の実施の形態を図1
ないし図3に基づいて説明する。
【0014】図1は、各部の電気的接続のブロック図で
ある。本実施の形態の記憶装置1は、図示しないマルチ
プロセッサシステムにバスとしてスプリット型のシステ
ムバス2を介して接続されている。具体的には、システ
ムバス2に対し、システムバスI/F3を介して情報を
相互通信し、プロセッサ構成の応答制御部4を介して情
報を一方向通信するように接続されている。システムバ
スI/F3は、システムバス2からのアクセス要求を受
け付け、データ、制御情報、アクセスアドレス、及びマ
スタIDを記憶装置1内の各部に送信する。ここで、
「データ」というのは、記憶装置1の主要部をなすRA
M5に記憶保持させる情報であり、「制御情報」という
のは、RAM5に対する制御内容を指定する情報であ
り、「アクセスアドレス」というのは、RAM5に対す
るアクセス領域を指定するアドレス情報であり、「マス
タID」というのは、バスマスタの識別子、つまり、同
一性情報である。また、RAM5はDRAMやSDRA
Mによって構成されている。
【0015】記憶装置1内にはプロセッサ構成のメモリ
制御部6が設けられている。このメモリ制御部6は、R
AM5に対してメモリ制御信号を送信し、これによって
RAM5を制御する。つまり、メモリ制御部6は、シス
テムバスI/F3から制御信号とアクセスアドレスとを
受け、これらの信号に基づいてメモリ制御信号を生成
し、これをRAM5に送信する。この際、システムバス
I/F3からのアクセスアドレスは一旦デコード手段と
してのデコーダ7に取り込まれる。このデコーダ7は、
アクセスアドレス信号が実メモリ空間に対するものかR
AM5内の実メモリ空間と重ならないアドレス空間に実
メモリが重複してみえるように生成される疑似メモリ空
間に対するものかを区別してメモリ制御部6に送信する
(図2参照)。つまり、デコーダ7は、システムバス2
を介してシステムバスI/F3より取り込まれたバスマ
スタからのメモリアクセス信号の上位ビットに割り当て
られたアクセス空間情報に応じたデコード信号を実メモ
リ信号又は疑似メモリ信号として出力する。そして、こ
れを受けたメモリ制御部6は、そのメモリアクセス信号
が実メモリ空間に対する信号か疑似メモリ空間に対する
信号かを識別し(識別手段)、各アクセスアドレス信号
に従いRAM5のアクセスアドレス指定を行う。ここ
で、「疑似メモリ空間」は、アトミック操作を実現する
ためのアドレス空間である。
【0016】記憶装置1は、また、システムバスI/F
3より出力されたマスタIDを一時記憶する保持手段と
しての保持部8と、システムバスIF3より出力された
マスタIDと保持部8に一時記憶されたマスタIDとを
比較する比較器9と、プロセッサのマスタIDを記憶保
持し、システムバスIF3より出力されたマスタIDに
基づいてバスマスタがプロセッサかどうかを識別するマ
スタIDテーブル10とを備える。このマスタIDテー
ブル10は、各プロセッサのIDコードを格納するテー
ブルと、システムバスIF3より出力されたマスタID
とテーブルに格納されたIDコードとの一致不一致を判
定する回路とによって構成されている。
【0017】記憶装置1における各部の動作は次の通り
である。記憶装置1は、マスタIDテーブル10からの
プロセッサであることを示す出力信号と実メモリ空間へ
のアクセス要求がなされたことを示すデコーダ7からの
出力信号との論理積をANDゲートAでとり、その結果
のアクセス要求信号1を応答制御部4に送信する。つま
り、アクセス要求信号1というのは、プロセッサにより
実メモリアドレスへのアクセス要求がなされた場合に出
力される再アクセス要求信号である。
【0018】また、記憶装置1は、アトミック操作開始
アクセス要求がなされ、デコーダ7より疑似メモリ空間
用のアクセスアドレス信号が出力された場合、アトミッ
ク操作開始信号を応答制御部4に送信する。これを受
け、プロセッサ構成の応答制御部4は、記憶装置1の動
作モードを通常モードからアトミック操作モードに移行
させる。これにより、第1の認識手段の機能が実行され
る。
【0019】アトミック操作モードでは、アトミック操
作開始アクセス要求を行ったバスマスタのマスタIDが
保持部8に一時記憶され、後にメモリアクセス要求をす
るバスマスタのマスタIDは保持部8に一時記憶された
マスタIDと比較器9で比較され、メモリアクセス要求
をしているバスマスタがアトミック操作開始アクセス要
求を行ったバスマスタと同一であるという比較結果出力
信号と疑似メモリ空間へのアクセス要求を示すデコーダ
7からの出力信号との論理積がANDゲートBでとら
れ、その結果のアトミック操作終了信号が応答制御部4
に送信される。これを受け、応答制御部4は、記憶装置
1の動作モードをアトミック操作モードから通常モード
に復帰させる。これにより、第2の認識手段の機能が実
行される。
【0020】さらに、比較器9からのバスマスタがアト
ミック操作開始アクセス要求を行ったバスマスタと同一
ではないという比較結果が出力された場合、その出力信
号と疑似メモリ空間へのアクセス要求を示すデコーダ7
からの出力信号との論理積がANDゲートCでとられ、
その結果のアクセス要求信号2が応答制御部4に送信さ
れる。つまり、アクセス要求信号2というのは、疑似メ
モリ空間に対してアクセス要求するバスマスタがアトミ
ック操作開始アクセス要求を行ったバスマスタと異なる
場合に出力される再アクセス要求信号である。これによ
り、禁止手段の機能が実行される。
【0021】このように、本実施の形態の記憶装置1で
は、応答制御部4が各種の信号を受けて各種処理を行
い、これにより、第1の認識手段、第2の認識手段、及
び禁止手段の各機能が実行される。応答制御部4は、
又、各種の信号に応じた応答信号をシステムバス2に出
力する機能も果たす。
【0022】図3は、記憶装置1における動作の流れを
示すフローチャートである。まず、システムバス2を通
じてバスマスタよりメモリアクセス要求があると、デコ
ーダ7の出力に基づくメモリ制御部6の判断によってア
クセス空間の種類が判定される(ステップ1)。つま
り、アクセス空間が実メモリ空間なのか疑似メモリ空間
なのかそれ以外なのかが判断される。この判断の基礎と
なるデコーダ7への入力情報は、バスマスタからのメモ
リアクセス信号に含まれているアクセスアドレス信号の
上位ビットに割り当てられたアクセス空間情報である。
【0023】アクセス空間が実メモリ空間でも疑似メモ
リ空間でもない場合にはメモリアクセス要求が無視され
る(ステップ2)。アクセス空間が実メモリ空間である
場合には、メモリ制御部6に実メモリ空間用のアクセス
アドレス信号が出力され、メモリ制御部6の制御動作に
よってメモリ制御が行われる(ステップ3)。この時、
メモリアクセス要求をするのがプロセッサであれば、A
NDゲートAからのアクセス要求信号1が応答制御部4
に出力されるが、この時の動作モードが通常モードであ
れば応答制御部4は再アクセス要求を出力せずに、メモ
リ制御をしたという応答信号をシステムバス2に流す
(ステップ4)。
【0024】アクセス空間が疑似メモリ空間である場合
には、アクセス空間が実メモリ空間である場合のステッ
プ3及び4と同様のメモリ制御及び応答の動作が行われ
(ステップ5,6)、同時に、システムバスI/F3か
ら出力されたマスタIDが保持部8に一時記憶される
(ステップ7)。このマスタIDは、アトミック操作開
始アクセス要求を行ったバスマスタであるプロセッサの
IDである。そして、これらの処理と同時に、デコーダ
7から出力されるアトミック操作開始信号が応答制御部
4に入力され、全体の動作モードがアトミック操作モー
ドに移行する。ここで、バスマスタからのメモリアクセ
ス信号が疑似メモリ空間に対するものであるということ
は、複数のプロセッサの同期操作のために必要なアトミ
ック操作がこれから行われるということを意味する。
【0025】アトミック操作モードでは、まず、システ
ムバス2を通じてバスマスタよりメモリアクセス要求が
あると(ステップ8)、デコーダ7の出力に基づくメモ
リ制御部6の判断によってアクセス空間の種類が判定さ
れる(ステップ9)。つまり、アクセス空間が実メモリ
空間なのか疑似メモリ空間なのかそれ以外なのかが判断
される。この判断の基礎となるデコーダ7への入力情報
は、バスマスタからのメモリアクセス信号に含まれてい
るアクセスアドレス信号の上位ビットに割り当てられた
アクセス空間情報である。
【0026】アクセス空間が実メモリ空間でも疑似メモ
リ空間でもない場合にはメモリアクセス要求が無視され
る(ステップ10)。アクセス空間が実メモリ空間であ
る場合には、メモリアクセス要求をしているバスマスタ
がプロセッサでないことを条件として(ステップ1
1)、メモリ制御部6に実メモリ空間用のアクセスアド
レス信号が出力され、メモリ制御部6の制御動作によっ
てメモリ制御が行われ(ステップ12)、応答制御部4
によってメモリ制御をしたという応答信号がシステムバ
ス2に流される(ステップ4)。これに対し、ステップ
11でメモリアクセス要求をするのがプロセッサである
と判定されれば、応答制御部4は再アクセス要求信号、
つまり、リトライ応答をシステムバス2に流す(ステッ
プ14)。ここで、メモリアクセス要求をするのがプロ
セッサかどうかは、 ANDゲートAからのアクセス要
求信号1が応答制御部4に出力されているかどうかで認
識される。つまり、ANDゲートAは、プロセッサがメ
モリアクセス要求をする場合にのみアクセス要求信号1
を出力するため、応答制御部4がアクセス要求信号1を
受信すればバスマスタはプロセッサであることになり、
そうでなければバスマスタはプロセッサでないことにな
る。
【0027】アクセス空間が疑似メモリ空間である場合
には、マスタIDが比較される(ステップ15)。つま
り、疑似メモリ空間に対してアクセス要求するバスマス
タがアトミック操作開始アクセス要求を行ったバスマス
タと同一であるかどうかが判断される。より詳細には、
アトミック操作開始アクセス要求を行ったバスマスタの
マスタIDは保持部8に一時記憶されているため、これ
と疑似メモリ空間に対してアクセス要求をするバスマス
タのマスタIDとが比較器9で比較され、その結果がA
NDゲートB又はCの出力として応答制御部4に送信さ
れ、この応答制御部4でバスマスタの同一性が判定され
る。つまり、マスタIDが一致する場合にはANDゲー
トBよりアトミック操作終了信号が応答制御部4に出力
され、マスタIDが一致しない場合にはANDゲートC
よりアクセス要求信号2が応答制御部4に出力される。
【0028】ステップ15でのマスタIDの比較処理の
結果、ステップ16でマスタIDが同一でないと判定さ
れた場合には、ANDゲートCからのアクセス要求信号
2に応じ、応答制御部4はステップ14のリトライ応答
処理を行う。これに対し、ステップ16でマスタIDが
同一であると判定された場合には、メモリ制御部6によ
りメモリ制御が行われ(ステップ17)、応答制御部4
よりその旨の応答がシステムバス2に流される(ステッ
プ18)。そして、動作モードが通常動作モードに復帰
する。
【0029】このように、本実施の形態の記憶装置1に
よれば、アトミック操作開始アクセス要求が認識されて
実行されるアトミック操作モード中は、アトミック操作
開始アクセス要求をしたプロセッサ以外のプロセッサや
ディバイスのメモリアクセス要求が拒絶され、アトミッ
ク操作が正しく行われる(ステップ16参照)。この場
合、システムバス2がロックされるわけではないので、
他のプロセッサやプロセッサ以外のバスマスタのシステ
ムバス2の使用が禁止されず、したがって、スプリット
型のバスの利点が十分に生かされる。また、アトミック
操作モード中でもプロセッサ以外のバスマスタのメモリ
アクセスが可能となり、効率良くメモリ5が使用される
(ステップ11参照)。
【0030】本発明の第二の実施の形態を図4及び図5
に基づいて説明する。第一の実施の形態と同一部分は同
一符号で示し説明も省略する(以下、同様)。
【0031】図4のブロック図に示すように、本実施の
形態では、応答制御部4にタイマ手段としてのタイマ2
1が設けられている。このタイマ21は、応答制御部4
の制御下におかれ、応答制御部4にアトミック操作開始
信号が入力されてからアトミック操作終了信号が入力さ
れるまでのタイムアウト時間を計測する。そして、タイ
マ21がタイムアウトした場合には、応答制御部4はア
トミック操作モードを強制終了させ、ここに強制終了手
段の機能が実行される。
【0032】また、システムバスIF3からデコーダ7
に送信出力されるアクセスアドレスを取り込んで一時記
憶する保持部22が設けられ、その後にシステムバスI
F3からデコーダ7に送信出力されたアクセスアドレス
と保持部22に一時記憶されたアクセスアドレスとを比
較する比較器23が設けられている。そして、ANDゲ
ートAは、この比較器23の出力とデコーダ7より出力
される実メモリ空間のアクセスアドレスとの論理積がア
クセス要求信号1として応答制御部4に送信出力され
る。このため、本実施の形態では、マスタIDテーブル
10が設けられていない。
【0033】図5は、処理の流れを示すフローチャート
である。図3に示すフローチャートと同一部分は同一の
ステップ数で示し説明も省略する。まず、バスマスタの
メモリアクセス要求におけるアクセス空間が疑似空間へ
のアクセスであると判定された後、メモリ制御(ステッ
プ5)及び応答(ステップ6)に続いて行われるステッ
プ7では、マスタIDの保持の他、対応する実メモリア
ドレスの保持が行われる。つまり、疑似メモリアドレス
と解釈されるアクセスアドレスであっても、デコーダ7
に入力されるまでのアクセスアドレスは実メモリアドレ
スであるので、このアドレスが保持部22に一時記憶さ
れて保持される。
【0034】続いて、動作モードがアトミック操作モー
ドに移行すると、タイマ21がタイムアウト時間を計測
し、タイムアウトになるとアトミック操作モードが強制
終了して通常モードに復帰する(ステップ21)。これ
により、不適当なメモリアクセス要求によってアトミッ
ク操作が長時間にわたり不必要に継続されることによっ
て起こりうるシステムのダウンが防止される。
【0035】続いて、ステップ9でのアクセス空間の判
断の結果、メモリアクセス要求が実メモリ空間でも擬似
メモリ空間でもない空間に対して行われた場合の処理
(ステップ10)及び疑似メモリ空間に対して行われた
場合の処理(ステップ15〜18)については、第一の
実施の形態と異なる点はないのでその説明は省略する。
これに対し、メモリアクセス要求が実メモリ空間に対し
てなされた場合、その時のアクセスアドレスとステップ
7で保持部22に一時記憶されたアクセスアドレスとの
比較処理がなされる(ステップ22)。つまり、その時
のアクセスアドレスとステップ7で保持部22に一時記
憶されたアクセスアドレスとの比較器23による比較結
果とデコーダ7より出力される実メモリ空間に対するメ
モリアクセス要求との論理積であるANDゲートAから
のアクセス要求信号1が応答制御部4に送信出力される
ことで、応答制御部4による同一非同一の判定がなされ
る(ステップ23)。ここで、2つのアクセスアドレス
が同一であるということは、アトミック操作モード中に
送信された実メモリアドレス空間に対するメモリアクセ
ス要求は、現在使用中の擬似メモリ空間に対するアクセ
スであるということになる。そこで、2つのアクセスア
ドレスが一致する場合にはリトライ応答(ステップ1
4)、不一致の場合にはメモリ制御(ステップ12)が
それぞれ行われる。これにより、アトミック操作開始ア
クセス要求のアクセスアドレスに対応する実メモリアド
レスのメモリアクセス要求以外のメモリアクセス要求が
許容され、これにより、効率よくメモリが使用されるこ
とになる。
【0036】本発明の第三の実施の形態を図6及び図7
に基づいて説明する。本実施の形態は、図6のブロック
図に示すように、システムバス3、応答制御部4、RA
M5、メモリ制御部6、及びデコーダ7を備え、これら
の各部の内容及び接続状態は第一の実施の形態と同様で
ある。構成としては、システムバスI/F3からRAM
5に送信されるデータのデータ線とメモリ制御部6との
間に保持部31が介在接続され、この保持部31に零以
外の数値が書き込まれる点で第一の実施の形態とは異な
る。また、本実施の形態の記憶装置1では、メモリ制御
部6が実行する機能として、擬似メモリ空間に対してリ
ードアクセス要求がなされた場合、アクセスアドレスに
対応する実メモリアドレスに対してリード操作し、続い
て、保持部31に一時記憶された零以外の数値からなる
書き込みデータ、例えば「−1」をもって同アドレスに
ライト操作を行う。
【0037】図7は、処理の流れを示すフローチャート
である。本実施の形態では、メモリアクセスの受け付け
後、ステップ1〜4については第一の実施の形態と変わ
る点はなく、RAM5に対するライト・アンド・セット
が実行される点に特色がある。つまり、ステップ1でメ
モリアクセス要求のアクセス空間が疑似空間であると判
定され、ステップ31でそのメモリアクセス要求がリー
ド・モディファイ・ライト・アクセス要求であると判定
された場合(アトミック操作識別手段)、そのアクセス
アドレスに対応する実メモリアドレスへの通常のリード
操作を実現させるメモリ制御が行われる(ステップ3
2)。そして、アクセスを要求したバスマスタに応答が
返されて返送手段の機能が実行され(ステップ33)、
続いて同アドレスへの特定の書き込みデータ、例えば
「−1」のライト操作を実現するメモリ制御が行われる
(ステップ34)。これに対し、ステップ31で、メモ
リアクセス要求が擬似メモリ空間に対するライトアクセ
ス要求であると判定されるとエラー処理がなされる(ス
テップ5)。このように、本実施の形態によれば、簡単
な処理によってRAM5に対するライト・アンド・セッ
トが実行される。
【0038】
【発明の効果】請求項1記載の発明は、バスを介して取
り込まれたバスマスタからのメモリアクセス要求が実メ
モリ空間に対するものか疑似メモリ空間に対するものか
を識別し、通常モード時、メモリアクセス要求が疑似メ
モリ空間に対するものと識別された場合にそのメモリア
クセス要求をアトミック操作開始アクセス要求と認識
し、アトミック操作開始アクセス要求を行ったバスマス
タの識別子を記憶保持し、アトミック操作モード時、メ
モリアクセス要求をするバスマスタの識別子が記憶保持
された識別子と一致する場合にそのメモリアクセス要求
をアトミック操作終了アクセス要求と認識し、そうでな
い場合にはメモリアクセス要求を受け付けずにアクセス
要求の再実行を要求するようにしたので、アトミック操
作モード中、アトミック操作開始アクセス要求をしたプ
ロセッサ以外のプロセッサやディバイスのメモリアクセ
ス要求を拒絶してアトミック操作を正しく行わせること
ができ、この場合、バスがロックされるわけではないの
で、他のプロセッサやプロセッサ以外のバスマスタのバ
ス使用を確保してスプリット型のバスの利点を十分に生
かすことができる。
【0039】請求項2記載の発明は、メモリアクセスを
要求するバスマスタがプロセッサかどうかを判定し、プ
ロセッサでないと判定した場合にはメモリアクセスを許
容するようにしたので、アトミック操作モード中でもプ
ロセッサ以外のバスマスタのメモリアクセスが可能とな
り、効率良くメモリを使用することができる。
【0040】請求項3記載の発明は、メモリアクセス要
求が疑似メモリ空間に対するものでなければ疑似メモリ
空間に記憶保持されたデータが書き換えられないことに
着目し、メモリアクセス要求が疑似メモリ空間に対する
場合にのみメモリアクセス要求を受け付けないようにし
たので、アトミック操作モード中でも実メモリ空間に対
するメモリアクセスが可能となり、効率良くメモリを使
用することができる。
【0041】請求項4記載の発明は、メモリアクセス要
求が疑似メモリ空間に対するものでなければ疑似メモリ
空間に記憶保持されたデータが書き換えられないことに
着目し、アトミック操作開始アクセス要求のアクセスア
ドレスに対応する実メモリアドレスを記憶保持し、メモ
リアクセス要求がアトミック操作開始アクセス要求のア
クセスアドレスに対応する実メモリアドレスに対する場
合にのみメモリアクセス要求を受け付けないようにした
ので、アトミック操作モード時、疑似メモリ空間に対す
るメモリアクセス要求となるようなメモリアクセス要求
以外のメモリアクセス要求を許容し、これにより、効率
よくメモリを使用することができる。
【0042】請求項5記載の発明は、アトミック操作開
始アクセス要求がなされてからアトミック操作終了アク
セス要求がなされるまでのタイムアウト時間をカウント
するタイマ手段と、タイムアウト時間経過後は強制的に
アトミック操作モードを終了させる強制終了手段とを備
えるので、不適当なメモリアクセス要求によってアトミ
ック操作が長時間にわたり不必要に継続されることによ
って起こりうるシステムのダウンを防止することができ
る。
【0043】請求項6記載の発明は、実メモリ空間と重
ならないアドレス空間に実メモリが重複してみえるよう
にする疑似メモリ空間を生成し、バスを介して取り込ま
れたメモリアクセス要求のアクセスアドレス空間を識別
し、疑似メモリ空間に対するメモリリードアクセス要求
をリード・モディファイ・ライト・アクセス要求として
識別し、リード・モディファイ・ライト・アクセス要求
として識別されたメモリリードアクセス要求のアクセス
アドレスに対応する実メモリアドレスを読み出し、零以
外の数値を実メモリアドレスに対して書き込むと共に、
メモリリードアクセス要求をしたバスマスタにリードデ
ータを返送するようにしたので、簡単な処理によってメ
モリに対するテスト・アンド・セットを実行することが
できる。
【図面の簡単な説明】
【図1】本発明の第一の実施の形態を示すブロック図で
ある。
【図2】メモリ空間を概念的に示す模式図である。
【図3】動作の流れを示すフローチャートである。
【図4】本発明の第二の実施の形態を示すブロック図で
ある。
【図5】動作の流れを示すフローチャートである。
【図6】本発明の第三の実施の形態を示すブロック図で
ある。
【図7】動作の流れを示すフローチャートである。
【符号の説明】
1 記憶装置 2 バス(システムバス) 7 デコード手段,識別手段 8 保持手段(保持部) 21 タイマ手段(タイマ)

Claims (6)

    【特許請求の範囲】
  1. 【請求項1】 マルチプロセッサシステムにスプリット
    型のバスを介して接続され、セマフォ/ロック変数を用
    いた同期操作に不可欠なアトミック操作が行われる記憶
    装置において、 実メモリ空間と重ならないアドレス空間に実メモリが重
    複してみえるようにする疑似メモリ空間を生成するデコ
    ード手段と、 バスを介して取り込まれたバスマスタからのメモリアク
    セス要求が実メモリ空間に対するものか疑似メモリ空間
    に対するものかを識別する識別手段と、 通常モード時、メモリアクセス要求が疑似メモリ空間に
    対するものと識別された場合にそのメモリアクセス要求
    をアトミック操作開始アクセス要求と認識し、アトミッ
    ク操作モードに動作モードを移行させる第1の認識手段
    と、 アトミック操作開始アクセス要求を行ったバスマスタの
    識別子を記憶保持する保持手段と、 アトミック操作モード時、メモリアクセス要求をするバ
    スマスタの識別子が保持手段に保持された識別子と一致
    する場合にそのメモリアクセス要求をアトミック操作終
    了アクセス要求と認識し、動作モードを通常モードに復
    帰させる第2の認識手段と、 アトミック操作モード時、メモリアクセス要求が第2の
    認識手段の認識条件に合致しない場合にメモリアクセス
    要求を受け付けず、アクセス要求の再実行を要求する禁
    止手段と、を備えることを特徴とする記憶装置。
  2. 【請求項2】 禁止手段は、メモリアクセスを要求する
    バスマスタがプロセッサかどうかを判定し、プロセッサ
    でないと判定した場合にはメモリアクセスを許容するこ
    とを特徴とする請求項1記載の記憶装置。
  3. 【請求項3】 禁止手段は、メモリアクセス要求が疑似
    メモリ空間に対する場合にのみメモリアクセス要求を受
    け付けないことを特徴とする請求項1記載の記憶装置。
  4. 【請求項4】 保持手段は、アトミック操作開始アクセ
    ス要求のアクセスアドレスに対応する実メモリアドレス
    を記憶保持し、禁止手段は、メモリアクセス要求がアト
    ミック操作開始アクセス要求のアクセスアドレスに対応
    する実メモリアドレスに対する場合にのみメモリアクセ
    ス要求を受け付けないことを特徴とする請求項1記載の
    記憶装置。
  5. 【請求項5】 アトミック操作開始アクセス要求がなさ
    れてからアトミック操作終了アクセス要求がなされるま
    でのタイムアウト時間をカウントするタイマ手段と、 タイムアウト時間経過後は強制的にアトミック操作モー
    ドを終了させる強制終了手段と、を備えることを特徴と
    する請求項1記載の記憶装置。
  6. 【請求項6】 マルチプロセッサシステムにスプリット
    型のバスを介して接続され、セマフォ/ロック変数を用
    いた同期操作に不可欠なアトミック操作が行われる記憶
    装置において、 実メモリ空間と重ならないアドレス空間に実メモリが重
    複してみえるようにする疑似メモリ空間を生成するデコ
    ード手段と、 バスを介して取り込まれたメモリアクセス要求のアクセ
    スアドレス空間を識別し、疑似メモリ空間に対するメモ
    リリードアクセス要求をリード・モディファイ・ライト
    ・アクセス要求として識別するアトミック操作識別手段
    と、 リード・モディファイ・ライト・アクセス要求として識
    別されたメモリリードアクセス要求のアクセスアドレス
    に対応する実メモリアドレスを読み出し、零以外の数値
    を実メモリアドレスに対して書き込むと共に、メモリリ
    ードアクセス要求をしたバスマスタにリードデータを返
    送する返送手段と、を備えることを特徴とする記憶装
    置。
JP8336638A 1996-12-17 1996-12-17 記憶装置 Pending JPH10177560A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP8336638A JPH10177560A (ja) 1996-12-17 1996-12-17 記憶装置
US08/992,097 US6052763A (en) 1996-12-17 1997-12-17 Multiprocessor system memory unit with split bus and method for controlling access to the memory unit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP8336638A JPH10177560A (ja) 1996-12-17 1996-12-17 記憶装置

Publications (1)

Publication Number Publication Date
JPH10177560A true JPH10177560A (ja) 1998-06-30

Family

ID=18301241

Family Applications (1)

Application Number Title Priority Date Filing Date
JP8336638A Pending JPH10177560A (ja) 1996-12-17 1996-12-17 記憶装置

Country Status (2)

Country Link
US (1) US6052763A (ja)
JP (1) JPH10177560A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7139856B2 (en) * 2002-01-03 2006-11-21 Intel Corporation Use of set-by-read and set-by-write registers as semaphores
JP2008117002A (ja) * 2006-10-31 2008-05-22 Matsushita Electric Works Ltd 共有メモリインターフェイス

Families Citing this family (44)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6785722B2 (en) * 1998-03-20 2004-08-31 Sun Microsystems, Inc. Apparatus, methods, and computer program products for transactional support of network management operations
JP2000148999A (ja) * 1998-11-13 2000-05-30 Minolta Co Ltd データ処理システム
US6341338B1 (en) * 1999-02-04 2002-01-22 Sun Microsystems, Inc. Protocol for coordinating the distribution of shared memory
US6795901B1 (en) * 1999-12-17 2004-09-21 Alliant Techsystems Inc. Shared memory interface with conventional access and synchronization support
US7035989B1 (en) 2000-02-16 2006-04-25 Sun Microsystems, Inc. Adaptive memory allocation
US6802057B1 (en) 2000-05-03 2004-10-05 Sun Microsystems, Inc. Automatic generation of fortran 90 interfaces to fortran 77 code
US6986130B1 (en) 2000-07-28 2006-01-10 Sun Microsystems, Inc. Methods and apparatus for compiling computer programs using partial function inlining
WO2002013014A2 (en) * 2000-08-04 2002-02-14 Marconi Communications, Inc. System and method for implementing a redundant data storage architecture
US6910107B1 (en) 2000-08-23 2005-06-21 Sun Microsystems, Inc. Method and apparatus for invalidation of data in computer systems
US7406681B1 (en) 2000-10-12 2008-07-29 Sun Microsystems, Inc. Automatic conversion of source code from 32-bit to 64-bit
US6957208B1 (en) 2000-10-31 2005-10-18 Sun Microsystems, Inc. Method, apparatus, and article of manufacture for performance analysis using semantic knowledge
US8051301B2 (en) * 2001-11-13 2011-11-01 Advanced Micro Devices, Inc. Memory management system and method providing linear address based memory access security
US6823433B1 (en) * 2001-11-13 2004-11-23 Advanced Micro Devices, Inc. Memory management system and method for providing physical address based memory access security
US7698522B1 (en) * 2002-01-11 2010-04-13 Global Foundries Method and apparatus for linear address based page level security scheme to determine current security context
US7174401B2 (en) * 2002-02-28 2007-02-06 Lsi Logic Corporation Look ahead split release for a data bus
US6715085B2 (en) * 2002-04-18 2004-03-30 International Business Machines Corporation Initializing, maintaining, updating and recovering secure operation within an integrated system employing a data access control function
US7089419B2 (en) 2002-04-18 2006-08-08 International Business Machines Corporation Control function with multiple security states for facilitating secure operation of an integrated system
US7266842B2 (en) * 2002-04-18 2007-09-04 International Business Machines Corporation Control function implementing selective transparent data authentication within an integrated system
US6851056B2 (en) * 2002-04-18 2005-02-01 International Business Machines Corporation Control function employing a requesting master id and a data address to qualify data access within an integrated system
US6948019B2 (en) * 2002-04-30 2005-09-20 Lsi Logic Corporation Apparatus for arbitrating non-queued split master devices on a data bus
GB2388929B (en) * 2002-05-23 2005-05-18 Advanced Risc Mach Ltd Handling of a multi-access instruction in a data processing apparatus
US7155588B1 (en) * 2002-08-12 2006-12-26 Cisco Technology, Inc. Memory fence with background lock release
US8176143B2 (en) * 2002-09-20 2012-05-08 Ricoh Company, Ltd. Web service providing apparatus
GB2396034B (en) * 2002-11-18 2006-03-08 Advanced Risc Mach Ltd Technique for accessing memory in a data processing apparatus
US7149862B2 (en) 2002-11-18 2006-12-12 Arm Limited Access control in a data processing apparatus
EP1455518A3 (en) * 2003-03-04 2006-03-15 Ricoh Company, Ltd. Image forming apparatus and image processing apparatus
US20050052688A1 (en) * 2003-08-12 2005-03-10 Teruyuki Maruyama Document edit method and image processing apparatus
US7149873B2 (en) * 2003-10-24 2006-12-12 Hewlett-Packard Development Company, L.P. Methods and apparatus for a dual address space operating system
CN100538691C (zh) * 2004-04-26 2009-09-09 皇家飞利浦电子股份有限公司 用于发出事务的集成电路、数据处理系统和方法
US7461268B2 (en) * 2004-07-15 2008-12-02 International Business Machines Corporation E-fuses for storing security version data
JP4587756B2 (ja) * 2004-09-21 2010-11-24 ルネサスエレクトロニクス株式会社 半導体集積回路装置
US7610463B2 (en) * 2004-10-22 2009-10-27 Qualcomm Incorporated Method and apparatus for performing an atomic semaphore operation
DE102004062211B4 (de) * 2004-12-23 2007-01-25 Texas Instruments Deutschland Gmbh CAN-Kommunikationsmodul
US7428619B2 (en) * 2005-01-18 2008-09-23 Sony Computer Entertainment Inc. Methods and apparatus for providing synchronization of shared data
US7406711B2 (en) * 2005-09-02 2008-07-29 Motorola, Inc. Method and apparatus for enforcing independence of processors on a single IC
US7421529B2 (en) * 2005-10-20 2008-09-02 Qualcomm Incorporated Method and apparatus to clear semaphore reservation for exclusive access to shared memory
US20080077749A1 (en) * 2006-09-22 2008-03-27 Daniel Scott Cohen Access control of memory space in microprocessor systems
US8412889B2 (en) * 2008-10-16 2013-04-02 Microsoft Corporation Low-level conditional synchronization support
US9218279B2 (en) 2013-03-15 2015-12-22 Western Digital Technologies, Inc. Atomic write command support in a solid state drive
US9170938B1 (en) * 2013-05-17 2015-10-27 Western Digital Technologies, Inc. Method and system for atomically writing scattered information in a solid state storage device
US9607682B1 (en) * 2016-03-28 2017-03-28 Amazon Technologies, Inc. Address decoding circuit
GB2551529B (en) * 2016-06-21 2018-09-12 Advanced Risc Mach Ltd Switching between private cache and shared memory to handle atomic operations
US10621086B2 (en) * 2017-10-30 2020-04-14 International Business Machines Corporation Dynamic resource visibility tracking to avoid atomic reference counting
US12019566B2 (en) * 2020-07-24 2024-06-25 Advanced Micro Devices, Inc. Arbitrating atomic memory operations

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5499356A (en) * 1989-12-29 1996-03-12 Cray Research, Inc. Method and apparatus for a multiprocessor resource lockout instruction
US5485594A (en) * 1992-07-17 1996-01-16 International Business Machines Corporation Apparatus and method using an atomic fetch and add for establishing temporary ownership of a common system resource in a multiprocessor data processing system
US5860126A (en) * 1996-12-17 1999-01-12 Intel Corporation Controlling shared memory access ordering in a multi-processing system using an acquire/release consistency model
US5889983A (en) * 1997-01-21 1999-03-30 Intel Corporation Compare and exchange operation in a processing system

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7139856B2 (en) * 2002-01-03 2006-11-21 Intel Corporation Use of set-by-read and set-by-write registers as semaphores
JP2008117002A (ja) * 2006-10-31 2008-05-22 Matsushita Electric Works Ltd 共有メモリインターフェイス

Also Published As

Publication number Publication date
US6052763A (en) 2000-04-18

Similar Documents

Publication Publication Date Title
JPH10177560A (ja) 記憶装置
JP3634932B2 (ja) データ完全性を維持するためのスピン・バッファおよび方法
JP4874165B2 (ja) マルチプロセッサシステム及びマルチプロセッサシステムにおけるアクセス権設定方法
US4872110A (en) Storage of input/output command timeout and acknowledge responses
US5142682A (en) Two-level priority arbiter generating a request to the second level before first-level arbitration is completed
CN115016997A (zh) 慢时钟域lockstep模块中寄存器的快速诊断系统及方法
JP2001167005A (ja) メモリ診断方法とメモリ診断回路および半導体記憶装置
JP3625340B2 (ja) セキュリティシステム
US7062588B2 (en) Data processing device accessing a memory in response to a request made by an external bus master
US5517625A (en) System bus control system for multiprocessor system
US6189061B1 (en) Multi-master bus system performing atomic transactions and method of operating same
JP2000003302A (ja) 共有メモリ排他アクセス制御方法
US6389519B1 (en) Method and apparatus for providing probe based bus locking and address locking
US6871102B2 (en) Apparatus and method for verifying memory coherency of duplication processor
US6484243B1 (en) Shared memory tracing apparatus
US5778196A (en) Method and device for identifying a bus memory region
JP2008511890A (ja) アトミック・オペレーションを用いて情報単位を変更する方法及び装置
US20040034748A1 (en) Memory device containing arbiter performing arbitration for bus access right
JPH0728748A (ja) バス制御機構及び計算機システム
JPH05225117A (ja) 主記憶装置の排他制御回路
KR20070050214A (ko) 버스 시스템에서 마스터들의 중재를 위한 시스템 및 방법
JP4748871B2 (ja) ワンチップマイクロコントローラシステム
JPH086905A (ja) マルチポートramのアクセス調停回路
CN114996180A (zh) 一种访问控制方法、系统、芯片、板卡和电子设备
JPS6010343B2 (ja) 情報処理系の制御方式