JP3335726B2 - マルチプロセッサシステムにおけるデータ保護装置 - Google Patents

マルチプロセッサシステムにおけるデータ保護装置

Info

Publication number
JP3335726B2
JP3335726B2 JP23830093A JP23830093A JP3335726B2 JP 3335726 B2 JP3335726 B2 JP 3335726B2 JP 23830093 A JP23830093 A JP 23830093A JP 23830093 A JP23830093 A JP 23830093A JP 3335726 B2 JP3335726 B2 JP 3335726B2
Authority
JP
Japan
Prior art keywords
access
processor
shared memory
address
signal
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.)
Expired - Fee Related
Application number
JP23830093A
Other languages
English (en)
Other versions
JPH0793259A (ja
Inventor
一人 永塚
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.)
Fuji Electric Co Ltd
Original Assignee
Fuji Electric 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 Fuji Electric Co Ltd filed Critical Fuji Electric Co Ltd
Priority to JP23830093A priority Critical patent/JP3335726B2/ja
Publication of JPH0793259A publication Critical patent/JPH0793259A/ja
Application granted granted Critical
Publication of JP3335726B2 publication Critical patent/JP3335726B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Multi Processors (AREA)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、マルチプロセッサシス
テムにおいて、共有メモリに対して1つのプロセッサが
共有メモリのリード・モディファイ・ライト処理を行う
場合に、共有メモリアクセスの処理対象となるデータを
保護しながら、複数のプロセッサからの共有メモリアク
セスが可能なマルチプロセッサシステムにおけるデータ
保護装置に関する。
【0002】
【従来の技術】従来のマルチプロセッサシステムとして
は、例えば図7に示す構成のものが提案されている。図
中、Sはシステムバスであって、このシステムバスSに
複数例えば4個のプロセッサP1 〜P4 とこれらのプロ
セッサP1 〜P4 からアクセスされる共有メモリMとが
接続されてマルチプロセッサシステムが構成され、各プ
ロセッサP1 〜P4 は調停回路TCにより、共有メモリ
アクセスが重ならないように調停されている。
【0003】プロセッサP1 〜P4 は中央処理装置CP
1 〜CPU4 と、この中央処理装置CPU1 〜CPU
4 とシステムバスSの間に介装されたバスインターフェ
イスBI1 〜BI4 とを備えており、中央処理装置CP
1 〜CPU4 は様々な演算処理等を行い、この演算過
程で必要に応じて共有メモリMをアクセスする。上記中
央装置装置CPU1 〜CPU4 が共有メモリMに対し
て、共有メモリMからのリードデータにインクリメント
・デクリメント等のモディファイ処理を行った結果を再
読み込みするリード・モディファイ・ライト処理を行う
とき、従来のマルチプロセッサシステムにおける処理中
の共有メモリのデータ保護方式では、中央装置装置CP
1 〜CPU4 が上記リード処理及びモディファイ処理
を行っている間、データ保護のために、制御信号たとえ
ばLOCK信号をバスインターフェイスBI1 〜BI4
を介してシステムバスSに出力する。
【0004】このLOCK信号がシステムバスに出力さ
れている間は、他のCPUが共有メモリアクセスをする
と、LOCK信号を受け取りアクセスを中断、実行待ち
状態となる。LOCK信号を出力しているCPUが、リ
ード・モディファイ処理を終了するとLOCK信号の出
力を解除するため、システムバスSが開放される。
【0005】そして各プロセッサはアクセスが重ならな
いようにバス調停回路から発信される調停信号を受信し
たときに共有メモリアクセスが可能となり、アクセスを
中断したプロセッサは再度調停信号を受信したときに共
有メモリアクセスが可能となる。次にこの従来例のマル
チプロセッサシステムの共有メモリアクセスを図8のタ
イムチャートにて説明する。今、プロセッサP1 の中央
処理装置CPU1 でのみ共有メモリMに対してリード・
モディファイ・ライト処理の要求があり、他のプロセッ
サでは共有メモリMをアクセスしないものとすると、図
中のサイクルT1にてCPU1 が共有メモリMにアクセ
スするときに、バス調停回路から図8(a)に示すよう
に、調停信号がプロセッサP1 に対して発信されると、
これを受信することにより、プロセッサP1 は図8
(b)、(c)に示すように、LOCK信号を出力して
共有メモリリードを行う。
【0006】次に図8のサイクルT2 では、プロセッサ
2 の中央処理装置CPU2 が共有メモリMに対してリ
ード・ライト処理の要求があり、アクセスを行うが、図
8(b)に示すように、CPU1 がLOCK信号が出力
しており、プロセッサP2 はこのLOCK信号を受信す
るため、図8(e)に示すように、共有メモリMに対す
るアクセスを中断して、調停回路TCから自己宛の調停
信号を受信するまで実行待ち状態となる。
【0007】一方、プロセッサP1 は上記サイクル
2 、T3 にて、図8(c)に示す共有メモリのモディ
ファイ処理を行う。サイクルT4 で図8(c)にて示す
ようにプロセッサP1 のモディファイ処理が終了する
と、共有メモリライトを行うため、図8(b)に示すよ
うに、LOCK信号の出力は解除される。次にサイクル
5 では図8(c)にて示すようにプロセッサP1 の共
有メモリアクセスが終了しているので、図8(a)の調
停回路TCからのバス調停信号が、プロセッサP2 宛に
送信され、実行待ち状態にあったプロセッサP2 は調停
信号を受け、図8(e)に示すように再びアクセスをす
る。
【0008】
【発明が解決しようとする課題】しかしながら、上記従
来のマルチプロセッサにおけるデータ保護方式あって
は、共通のシステムバスに結合している特定のプロセッ
サが共有メモリにアクセスし、リード・モディファイ・
ライト処理を終了するまでの間、共有メモリ全体につい
て共有メモリロックによるデータ保護を行っているた
め、共通バスに結合している他のプロセッサは共有メモ
リに対してアクセスが出来ず、特定のプロセッサのリー
ド・モディファイ処理が終了することを待ち、再び共有
メモリアクセスを試みる必要がある。したがって、特定
プロッセッサがリード・モディファイ・ライト処理を行
っているあいだ、他のプロセッサはシステムバスが開放
されるまで、たびたび共有メモリにアクセスを試みるこ
とになり、効率の良いバスアクセスが出来ないという未
解決の課題があった。
【0009】そこでこの発明は、上記従来例の問題点に
着目してなされたものであり、共通システムバスに結合
されている1つのプロセッサが共有メモリのデータをリ
ード・モディファイ・ライトしている間、システムバス
制御による共有メモリ全体のロックをせず、共有メモリ
アクセスの処理の対象となっているデータのみを保護す
ることで、システムバスに結合されている他のプロセッ
サは、保護データ以外のデータに関して、共有メモリア
クセスが可能となり、保護データ以外のデータのリード
・モディファイ・ライト処理を行うことができるデータ
保護装置を提供することを目的としている。
【0010】
【課題を解決するための手段】上記問題を解決するため
に、請求項1に関わるデータ保護装置は、複数のプロセ
ッサと共有メモリとをシステムバスで接続し、各プロセ
ッサが前記共有メモリに対してリード・モディファイ・
ライト処理を行うと共に、各プロセッサの前記共有メモ
リに対するアクセスをアクセス調停回路で調停するよう
にしたマルチプロセッサシステムにおいて、前記各プロ
セッサは、自己が前記リード・モディファイ・ライト処
理のリード処理を行うときは、そのときのメモリアドレ
スを保持するアドレス保持手段と、該当アドレス保持手
段の保持アドレスと前記リード処理の終了により開放さ
れた前記システムバスに他のプロセッサから出力されて
いるアドレスとが一致するか否かを検出するアドレス一
致検出手段と、該アドレス一致検出手段でアドレスの一
致を検出したときに、前記他のプロセッサにアクセス中
断信号を送出するアクセス中断指令手段と、前記共有メ
モリのアクセス開始時に他のプロセッサからアクセス中
断信号を受信したときに当該共有メモリのアクセスを中
断するアクセス中断手段とを備えていることを特徴とし
ている。
【0011】また請求項2に係わるマルチプロセッサシ
ステムにおけるデータ保護装置は、前記アクセス中断手
段において、共有メモリのアクセスを中断したときに、
そのときのアクセスアドレスを保持し、当該アクセスア
ドレスとシステムバスのアドレスとが一致する状態でア
クセス中断信号が解除されたときに、自動的に共有メモ
リのアクセスを再開するように構成されている。
【0012】
【作用】請求項1に係わるマルチプロセッサシステムに
おけるデータ保護装置は、シテムバスに接続された各プ
ロセッサごとにアドレス保持手段と、アドレス一致検出
手段と、アクセス中断指令手段と、アクセス中断手段と
を備え、1つのプロセッサが共有メモリにアクセスし、
リード・モディファイ・ライト処理を行っている間、そ
の処理対象となるアドレスデータの保護を行う。
【0013】すなわち、各プロセッサは自己が調停回路
から自己宛の調停信号を受けて前記リード・モディファ
イ・ライト処理のリード処理を行うときに、まずアドレ
ス情報を出力してアクセスし、かつ調停回路を介して送
信される他のプロセッサのアクセス中断信号が有るか否
かを監視する。そのとき、アクセス中断信号が無い場合
にはリード処理、続いてモディファイ処理を行った後、
ライト処理を行う。
【0014】また、自己が上記リード・モディファイ・
ライト処理のモディファイ処理を行なっている間に、他
のプロセッサが共有メモリアクセスのためシステムバス
にアドレス出力をすると、リード・モディファイ・ライ
ト処理中の上記プロセッサは、アドレス一致手段で保持
アドレスとシステムバスのアドレスとの一致を検出した
ときには、アクセス中断信号を他のプロセッサに送出し
て、他のプロセッサのアクセスを中断させてアクセスデ
ータを保護するが、アドレス一致手段で一致を検出しな
いときには他のプロセッサによる共有メモリのアクセス
を許容する。
【0015】また、請求項2に係わるマルチプロセッサ
システムにおけるデータ保護装置では、自己の行った共
有メモリのアクセスを他プロセッサの上記アクセス中断
信号により中断したときに、そのときのアクセスアドレ
スを保持する。そして上記プロセッサは、システムバス
に出力されているアドレスの監視を行い、当該アドレス
とシステムバスのアドレスが一致する状態でアクセス中
断信号が解除されたとき、即ちモディファイ処理からラ
イト処理に移行したときを検出して、自動的に共有メモ
リのアクセスを再開する。
【0016】
【実施例】以下、この発明の実施例を図面に基づいて説
明する。図1はこの発明の第1実施例を示すマルチプロ
セッサシステムのシステム構成図である。図中、Sはシ
ステムバスであって、このシステムバスSに複数例えば
4個のプロセッサP1 〜P4 とこれらのプロセッサP1
〜P4 からアクセスされる共有メモリMとが接続されて
マルチプロセッサシステムが構成され、プロセッサP1
〜P4 は共有メモリMをアクセスする際に調停回路TC
によって、アクセスが重ならないように調停されてい
る。
【0017】プロセッサP1 は中央処理装置CPU1
この中央処理装置CPU1 とシステムバスSとの間に介
装されたバスインターフェイスBI1 を備えており、中
央処理装置CPU1 で種々の演算処理を行い、この演算
過程で必要に応じて共有メモリMをアクセスする。この
中央処理装置CPU1 による共有メモリMのアクセス
は、まず、アクセスが単なるリード・ライト処理である
か共有メモリMからのリードデータにインクリメント・
デクリメント等のモディファイ処理を行った結果を再書
き込みするリード・モディファイ・ライト処理であるか
を判断する。
【0018】このアクセス判断結果が、リード処理又は
ライト処理であるときには、調停回路TCから自己宛の
調停信号を受信したときに、アドレスデータをバスイン
ターフェイスBI1 を介してシステムバスSを構成する
アドレスバスに送出し、この状態で後述するWAIT信
号を受信したか否かを判定し、WAIT信号を受信して
いないときに、直ちに所定のリード処理またはライト処
理を実行し、WAIT信号を受信したときにはアクセス
を中断する。
【0019】また、前記アクセス判断結果が、リード・
モディファイ・ライト処理であるときには、調停回路T
Cからの自己宛の調停信号を受信したときに、アドレス
データをバスインターフェイスBI1 を介してシステム
バスSのアドレスバスに送出した状態で後述するWAI
T信号を受信したか否かを判定し、WAIT信号を受信
しないときには、LOCK信号をバスインターフェイス
BI1 に送出してアクセスを開始し、リード・モディフ
ァイ処理を終了し、ライト処理を実行すると、LOCK
信号を解除して、WAIT信号を受信したときには、共
有メモリMのアクセスを中断する。
【0020】一方、バスインターフェイスBI1 は、中
央処理装置CPU1 が共有メモリMのリード・モディフ
ァイ・ライト処理のリード処理を行うときに、そのとき
のアドレス等のデータをシステムバスSに対して送受信
する送受信部TRA1 と中央処理装置CPU1 からのL
OCK信号によってアドレスデータを保持するレジスタ
部R1 と、このレジスタ部R1 に保持されているアドレ
スデータと送受信部TRA1 で受信したアドレスバスに
出力されているアドレスデータとの一致を検出する比較
部C1 とこの比較部C1 で一致を検出したときには、そ
の例えば論理値“1”の比較出力をアクセス中断信号の
WAIT信号として、他のプロセッサに送信すると共
に、他のプロセッサからのWAIT信号を受信する送受
信部TRB 1 とを備えている。
【0021】プロセッサP2 〜P4 も上記プロセッサP
1 と同様の構成を有し、それぞれのCPU2 〜CPU4
とバスインターフェイスBI2 〜BI4 とを備え、各バ
スインターフェイスには、レジスタ部R2 〜R4 、比較
部C2 〜C4 、送受信部TRA2 〜TRA4 、TRB2
〜TRB4 を有している。さらに、調停回路TCは、各
プロセッサP2 〜P4 から共有メモリアクセス要求があ
ったときに、複数のプロセッサのアクセスが競合してい
るか否かを判断し、競合していないときには、該当する
プロセッサに対して調停信号を送出するが、競合してい
るときには、予め設定された優先順位等に基づいて調停
を行い、1つのプロセッサにのみ調停信号を送出する。
【0022】次に、上記第1実施例の動作を各プロセッ
サPi (i=1、2、3、4)の中央処理装置CPUi
の処理手順の一例を示す図2のフローチャート及び図3
のタイムチャートにて説明する。中央処理装置CPUi
は、所定周期のタイマ割込処理として図2の処理を実行
し、まずステップS1で、共有メモリMに対するアクセ
ス要求があるか否かを判定し、アクセス要求がないとき
にはアクセス要求があるまで待機し、アクセス要求があ
ったときにはステップS2に移行する。
【0023】このステップS2では、アクセスがリード
・モディファイ・ライト処理であるか否かを判定し、リ
ード・モディファイ・ライト処理ではない単なるリード
処理またはライト処理であるときには、ステップS3に
移行して、調停回路TCに対して調停を要求し、次いで
ステップS4で調停信号を受信したか否かを判定し、調
停信号を受信していないときには、受信するまで待機
し、調停信号を受信したときには、ステップS5に移行
し、アドレスデータをバスインターフェイスBI i のレ
ジスタ部Ri 及び送受信部TRAi に送出してからステ
ップS6に移行する。
【0024】このステップS6では、所定時間以内にW
AIT信号を受信したか否かを判定し、WAIT信号を
受信しないときには、ステップS7に移行して、所定の
リード処理またはライト処理を実行してからタイマ割込
処理を終了して所定のメインプログラムに復帰し、WA
IT信号を受信したときにはそのままタイマ割込を終了
して所定のメインプログラムに復帰する。
【0025】一方、ステップS2の判定結果が、リード
・モディファイ・ライト処理であるときには、ステップ
S13に移行して、調停回路TCに対して調停を要求
し、次いでステップS14で調停信号を受信したか否か
を判定し、受信していないときには受信するまで待機
し、受信したときにはステップS15に移行して、アド
レスデータをバスインターフェイスBIi のレジスタ部
i 及び送受信TRAi に送出してからステップS16
に移行する。
【0026】このステップS16では、所定時間以内に
WAIT信号を受信したか否かを判定し、WAIT信号
を受信したときには、そのままタイマ割込処理を終了し
て所定のメインプログラムに復帰し、WAIT信号を受
信しないときには、ステップS17に移行して、LOC
K信号をバスインターフェイスBIi のレジスタ部R i
に送出して、アドレスデータを保持させてから、リード
・モディファイ・ライト処理のリード処理を実行し、こ
れが終了するとステップS18に移行する。
【0027】このステップS18では、モディファイ処
理を実行し、このモディファイ処理が終了するとステッ
プS19に移行して、共有メモリを再びアクセスし、ラ
イト処理を実行するために調停回路TCに対して調停を
要求し、次いでステップS20にて調停信号を受信した
か否かを判定し、調停信号を受信していないときにはそ
のまま待機し、調停信号を受信したときにステップS2
1に移行して、アドレスデータをバスインターフェイス
BIi に送出してライト処理を実行する。このライト処
理が終了すると、ステップS22に移行して、LOCK
信号を解除すると共に、レジスタ部Ri をクリアしてタ
イマ割込処理を終了して所定のメインプログラムに復帰
する。
【0028】この図2の処理において、ステップS6及
びステップS16の処理がアクセス中断手段に対応して
いる。したがって、今、プロセッサP1 の中央処理装置
CPU1 でのみ共有メモリMに対してリード・モディフ
ァイ・ライト処理の要求があり、他のプロセッサでは共
有メモリMをアクセスしないものとすると、この場合に
は図3の区間T1 で中央処理装置CPU1 が図2の処理
を実行したときに、ステップS1,S2を経てステップ
S13に移行して、調停回路TCに対して調停要求を送
出し、この調停回路TCから図3(a)に示すように、
プロセッサP1 に対して調停信号が送出されると、これ
を受信することにより、図3(d)に示すように、中央
処理装置CPU1 から共有メモリMに対するアドレスデ
ータがバスインターフェイスBI 1 に送出される。この
ときバスインターフェイスBI1 では、アドレスデータ
をレジスタ部R1 及び送受信部TRA1 に送り、送受信
部TRA1 によってシステムバスSのアドレスバスにア
ドレスデータ例えば「1000H」を送出する。
【0029】このとき、他のプロセッサP1 〜P4 が共
有メモリMをアクセスしていないので、アドレスデータ
をアドレスバスに送出した時点では図3(c)に示すよ
うに共有メモリリード処理を開始する。バスインターフ
ェイスBI1 のレジスタ部R 1 では、LOCK信号が供
給されることにより、中央処理装置CPU1 から送出さ
れているアドレスデータを保持して、これを比較部C1
に送出する。
【0030】一方、上記区間T1 では、調停回路TCに
よってプロセッサP1 についてのみ調停信号が送出され
ているので、他のプロセッサP1 〜P4 は共有メモリM
に対してアクセス要求があったとしても、調停回路TC
から自己宛の調停信号を受信するまで待機状態となる。
その後、中央処理装置CPU1 によりリード処理が終了
して、図3の区間T2に示すように、モディファイ処理
に移行すると、この間は中央処理装置CPU1によって
共有メモリMはアクセスされないので、アドレスバスは
開放されており、調停回路TCでは、共有メモリMに対
するアクセス要求がある他のプロセッサP3 に対して、
調停信号を送出する。
【0031】このプロセッサP3 では、その中央処理装
置CPU3 で、リード処理又は、ライト処理を行うため
に、図3(h)に示すように、前述した中央処理装置を
CPU1 のアドレスデータとは異なるアドレスデータ例
えば、「2000H」をアドレスバスに送出して共有メ
モリMをアクセスすると、モディファイ処理中であるプ
ロセッサP1 のバスインターフェイスBI1 の比較部C
1 では、プロセッサP 3 が出力しているアドレスバスの
アドレスデータ「2000H」とレジスタ部R 1 保持さ
れているアドレスデータ「1000H」とが相違するた
め、その比較出力は論理値“0”を維持し、図3(c)
に示すように、WAIT信号は送信されない。このた
め、プロセッサP3 では、アドレスデータを送出してか
ら所定時間内に、WAIT信号を受信していないため、
図3(i)に示すように、共有メモリMに対してリード
処理又はライト処理を実行することができる。
【0032】そして、プロセッサP3 によるアクセスが
終了して、図3の区間T3 となり、この状態でも中央処
理装置CPU1 では、図3(f)に示すように、モディ
ファイ処理を継続しているものとすると、アドレスバス
は開放されており、この状態でプロセッサP2 の中央処
理装置CPU2 から、現在モディファイ処理中の中央処
理装置CPU1 のアドレスデータと同一のアドレスデー
タすなわち「1000H」をアクセスする要求があった
ときには、アドレスバスが開放されていることから、調
停回路TCは図3(a)に示すように、区間T3 で中央
処理装置CPU 2 に対して調停信号を送出し、これに応
じて中央処理装置CPU2 で図3(j)に示すように、
アドレスデータ「1000H」をアドレスバスに送出す
る。このように、アドレスバスのアドレスデータが「1
000H」となると、モディファイ処理中のプロセッサ
1 におけるバスインターフェイスBI1 の比較部C1
の比較出力が論理値“0”から論理値“1”に反転し、
これが図3(c)に示すようにWAIT信号として送受
信部TRB1 を介して他の全てのプロセッサP2 〜P4
に送信される。このため、アクセスを開始した中央処理
装置CPU2 では、WAIT信号を受信することによ
り、図3(k)に示すように、アクセスを中断して待機
状態に移行する。
【0033】その後、中央処理装置CPU1 でのモディ
ファイ処理が終了して、この中央処理装置CPU1 がラ
イト処理を行うために調停信号を受信すると、図3
(e)に示すように、LOCK信号が解除されて、レジ
スタ部R1 のアドレスデータがクリアされるとともに、
図3(d)に示すように、再度「1000H」のアドレ
スデータをアドレスバスに送出して図3(f)に示すよ
うに共有メモリライト処理が実行される。
【0034】このように、上記第1実施例によると、あ
るプロセッサPi によってリード・モディファイ・ライ
ト処理を実行したときには、リード処理からモディファ
イ処理に移行した時点で、他のプロセッサの同一アドレ
スデータによる共有メモリMに対するアクセスを行った
場合には、WAIT信号を送出して、そのアクセスを中
断させることにより、リード・モディファイ・ライト処
理におけるデータの保護を確実に行うことができ、他の
プロセッサからは異なるアドレスデータによる共有メモ
リMのアクセスについてはそのアクセスを許容すること
ができるので、効率的なバスアクセスが可能となり、共
有メモリのリード・モディファイ・ライト処理のスルー
プットを向上させることができる。
【0035】次に、本発明の第2実施例を図4〜図6を
伴って説明する。この第2実施例は、あるプロセッサが
共有メモリをアクセスしたときに、他のプロセッサがリ
ード・モディファイ・ライト処理中であって、共有メモ
リのアクセスを中断したときに、共有メモリに対する再
アクセス処理を自動的に行うようにしたものである。
【0036】この第2実施例では、各プロセッサPi
バスインタフェイスBIi が、図4に示すように、第1
実施例における図1の構成に加えて、可動接点tC が比
較部Ci の出力側に接続された中央処理装置CPUi
ら出力されるLOCK信号によって切換動作される切換
スイッチSWi と、この切換スイッチSWi の常閉接点
NCが非反転入力側に、送受信部TRBi で受信するW
AIT信号が反転入力側に夫々入力されるアンドゲート
ANDi と、送受信部TRBi で受信するWAIT信号
がセット入力端子sに、上述したアンドゲートANDi
の出力信号がリセット入力端子rに夫々入力されると共
に、肯定出力端子Qの出力信号がWAIT信号として中
央処理装置CPUi に入力されるRS型フリップフロッ
プFFiと、送受信部TRBi で受信するWAIT信号
及び中央処理装置CPUi から出力されるLOCK信号
が入力されると共に、出力信号をレシスタ部Ri の格納
入力端子tM に出力するオアゲートORi とを設けたこ
とを除いては、前述した図1と同様の構成を有する。
【0037】また、中央処理装置CPUi では、図5に
示すように、前述した図2の処理におけるステップS1
及びS2の間に、バスインタフェースBIi からの前述
したWAIT信号が論理値“1”であるか否かを判定す
るステップS30が介挿され、WAIT信号が論理値
“0”であるときにステップS2に移行し、WAIT信
号が論理値“1”であるときには、そのままタイマ割込
処理を終了することを除いては前述した図2の処理と同
様の処理を行う。
【0038】この図5の処理において、ステップS6及
びステップS16の処理と前述したバスインタフェース
BIi の比較部Ci 、レジスタ部Ri 、切換スイッチS
i、アンドゲートANDi 、オアゲートORi 、フリ
ップフロップFFi とがアクセス中断手段に対応してい
る。次に、上記第2実施例の動作を図6のタイムチャー
トを伴って説明する。
【0039】今、各プロセッサP1 〜P4 で共有メモリ
Mをアクセスしていないものとすると、この状態では、
各プロセッサP1 〜P4 の中央処理装置CPU1 〜CP
4からアドレスデータが出力されていないと共に、L
OCK信号も論理値“0”を維持している。このため、
バスインタフェースBI1 〜BI4 のレジスタ部R1
4 がクリア状態であると共に、切換スイッチSW1
SW4 の可動接点tcが常閉接点tNC側に切換えられて
いる。この状態では、送受信部TRB1 〜TRB4 に入
力されるWAIT信号は論理値“0”を維持していると
共に、比較部C 1 〜C4 の出力信号も論理値“0”とな
っているので、アンドゲートAND1 〜AND4 の出力
信号も論理値“0”を維持しており、RS型フリップフ
ロップFF1 〜FF4 もリセット状態を維持して、肯定
出力端子Qから出力されるWAIT信号が論理値“0”
を維持している。
【0040】この状態で、例えば図6の区間T1 でプロ
セッサP1 の中央処理装置CPU1で共有メモリMに対
してリード・モディファイ・ライト処理の要求があり、
このプロセッサP1 に調停回路TCから図6(a)に示
すように、調停信号が入力されると、中央処理装置CP
1 から前述した第1実施例と同様に、「1000H」
のアドレスデータがレジスタ部R1 及び送受信部TRA
1 に送出される。このとき、他のプロセッサP2 〜P4
が共有メモリMのアクセス中ではないので、WAIT信
号が送受信部TRB1 に入力されることはなく、中央処
理装置CPU1はLOCK信号を論理値“1”としてレ
ジスタ部R1 でアドレスデータを保持させると共に、切
換スイッチSW1 の可動接点tC を常閉接点tNC側から
常開接点tNO側に切換えてから前述した第1実施例と同
様に、リード・モディファイ・ライト処理を実行する。
【0041】そして、中央処理装置CPU1 でのリード
処理が終了して、区間T2 でモディファイ処理に移行す
ると、このモディファイ処理時には共有メモリMのアク
セスは行っていないので、調停回路TCは他のプロセッ
サ例えばプロセッサP3 からアクセス要求がある場合に
は、このプロセッサP3 に対して調停信号を出力し、共
有メモリMに対するアクセスを許容する。このとき、プ
ロセッサP3 の中央処理装置CPU3 が共有メモリMの
リード・モディファイ・ライト処理を行っているプロセ
ッサP1 と同一アドレスをアクセスする場合には、図6
(b)でアドレスデータ「1000H」をシステムバス
Sに送出した時点で、プロセッサP1 におけるバスイン
タフェースBI1 の比較部C1 でシステムバスSのアド
レスデータとレジスタ部R1 に保持しているアドレスデ
ータとの一致を検出して、比較出力が論理値“1”とな
り、これがWAIT信号として切換スイッチSW1 の可
動接点tC 及び常開接点tNOを介して送受信部TRB1
に送出され、この送受信部TRB1 から各プロセッサP
2 〜P4 のバスインタフェースBI2 〜BI4 に入力さ
れる。
【0042】このため、共有メモリMのアクセスを開始
したプロセッサP3 では、送受信部TRB3 で論理値
“0”から論理値“1”を反転するWAIT信号を受信
するため、RS型フリップフロップFF3 がセット状態
となって、その肯定出力端子Qから論理値“1”のWA
IT信号が中央処理装置CPU3 に送信され、この中央
処理装置CPU3 がアクセス中断状態となると同時に、
レジスタ部R3 では、その格納入力端子tM にオアゲー
トOR3 を介して論理値“1”のWAIT信号が入力さ
れることにより、中央処理装置CPU3 から送出されて
いるアドレスデータを保持する。このため、比較部C3
では、自己がシステムバスSに送出しているアドレスデ
ータとレジスタ部R3 に格納したアドレスデータとが一
致するため、論理値“1”の出力信号が出力されるが、
この時点では切換スイッチSW3 はLOCK信号が論理
値“0”であることにより、可動接点tC が常閉接点t
NC側に切換えられているので、比較部C1 の出力信号が
アンドゲートAND3 の非反転入力側に供給される。こ
のアンドゲートAND3 の他方の反転入力側には、論理
値“1”のWAIT信号が入力されているため、アンド
ゲートAND3 の出力信号を論理値“0”を維持し、R
S型フリップフロップFF3 はセット状態を継続する。
【0043】区間T3 では、プロセッサP3 がフリップ
フロップFF3 がセット状態を維持し、アクセス中断状
態にあり、プロセッサP1 はモディファイ処理を継続し
ているので共有メモリMのアクセスを行っているプロセ
ッサが無いため、調停回路TCは他のプロセッサ例えば
2 からのアクセス要求がある場合には、このプロセッ
サP2 に対して調停信号を出力し、共有メモリMに対す
るアクセスを許容する。このとき、プロセッサP2 の中
央処理装置CPU2 が共有メモリMのリード・モディフ
ァイ・ライト処理のモディファイ処理を行っているプロ
セッサP1 と同一のアドレスすなわち、「1000H」
をアクセスする場合には、前記プロセッサP3 が同一ア
ドレスをアクセスしたときと同様に、プロセッサP1
おけるバスインタフェースBI1 の比較部C1 でシステ
ムバスSのアドレスデータとレジスタ部R1 に保持して
いるアドレスデータとの一致を検出して、比較出力が論
理値“1”となり、WAIT信号を送受信部TRB1
ら送出する。
【0044】このため共有メモリMに対するアクセスを
したプロセッサP2 は、前記プロセッサP3 と同様に、
プロセッサP2 におけるバスインタフェースBI2 の送
受信部TRB2 でWAIT信号を受信するため、RS型
フリップフロップFF2 がセット状態となって、中央処
理装置CPU2 がアクセス中断状態となると同時に、レ
ジスタ部R2 にアドレスデータが保持される。また比較
部C2 にて、自己がシステムバスSに出力しているアド
レスとレジスタ部R2 に格納しているアドレスの一致を
検出し、LOCK信号なしのアクセスであるため、この
比較部C2 での比較出力がアンドゲートAND2 に非反
転入力され、他方の反転入力側には、WAIT信号が入
力されているため、前記プロセッサP3 と同様RS型フ
リップフロップFF2 はセット状態を継続する。
【0045】その後、プロセッサP1 の中央処理装置C
PU1 でのモディファイ処理が終了すると、区間T4
移行してライト処理を行うために、調停回路TCに対し
て調停要求をし、図6(a)に示すように、調停信号を
受信すると、再び共有メモリMに対してアクセスを行
う。従って、図6(b)に示すように再度「1000
H」のアドレスデータをアドレスバスに送出し、このと
き他のプロセッサP2 〜P 4 が共有メモリMのアクセス
できないので、WAIT信号が送受信部TRB1 に入力
されることはないため、RS型フリップフロップFF1
はリセット状態を維持する。そして中央処理装置CPU
1 はライト処理を実行すると、図6(e)に示すように
LOCK信号を解除して、レジスタ部R1 に格納されて
いるアドレスデータをクリアする。これに応じて、切換
えスイッチSW1 の可動接点tC は常閉接点tNC側に切
り換わり、WAIT信号の発信が禁止される。
【0046】一方、プロセッサP1 のWAIT信号によ
りアクセスを中断されたプロセッサP3 、P2 はRS型
フリップフロップFF3 及びフリップフロップFF2
セット状態になっており、またレジスタ部R3 、レジス
タ部R2 には図6(j)及び(m)に示すようにアクセ
スを中断されたアドレスデータ「1000H」が格納さ
れている。
【0047】このため、区間T4 でプロセッサP2 、プ
ロセッサP3 の比較部C2 、比較部C3 が、システムバ
スSに出力されているプロセッサP1 のアドレスデータ
とレジスタ部R2 、レジスタ部R3 に格納されているア
ドレスデータの一致を検出し、論理値“1”の出力信号
が出力され、切換えスイッチSW2 、切換えスイッチS
3 は常閉接点tNC側に切換えられているので、論理値
“1”の出力信号がアンドゲートAND2 、アンドゲー
トAND3 の非反転入力側に供給される。そして、アン
ドゲートAND2 、アンドゲートAND3 の他方の反転
入力側に、送受信部TRB2 、送受信部TRB3 を通じ
て入力されるプロセッサP1 からのWAIT信号が、論
理値“1”から論理値“0”に反転するため、アンドゲ
ートAND2 、アンドゲートAND3 の出力信号は論理
値“0”から論理値“1”に反転し、これがRS型フリ
ップフロップFF2 、RS型フリップフロップFF3
リセット端子rに入力されるので、これらRS型フリッ
プフロップFF2 、RS型フリップフロップFF3 がリ
セット状態となって、肯定出力端子Qから出力されるW
AIT信号が論理値“1”から論理値“0”に反転する
ため、図6(i)及び(l)に示すようにWAIT状態
が解除される。
【0048】そして、区間T5 にてプロセッサP2 、プ
ロセッサP3 が調停回路TCに対して再アクセスのため
に、調停を要求し、要求が競合すると予め設定された優
先順位に基づいて調停を行い、図6(b)に示すように
プロセッサP3 に対して調停信号が出力される。したが
って、プロセッサP2 は調停信号を受信するまで待機状
態となる。プロセッサP3 は上記調停信号を受信し、共
有メモリMに対して再アクセスし、図6(m)に示すよ
うにシステムバスSに対してアドレスデータ「1000
H」を再度出力し、リードまたはライト処理を実行す
る。
【0049】その後、区間T6 ではプロセッサP3 の共
有メモリMに対する処理が終了しているため、システム
バスSが開放され、図6(b)に示すように調停回路T
CはプロセッサP2 に対して調停信号を送出するため、
プロセッサP2 は上記プロセッサP3 と同様に共有メモ
リMに対して、再アクセスを開始する。このように、上
記第2実施例によると、第1実施例のリード・モディフ
ァイ・ライト処理におけるデータの保護装置に加えて、
他のプロセッサにより共有メモリのアクセスを中断され
たプロセッサPi が、システムバス内のアドレスデータ
及びWAIT信号が送出されているか否かを監視し、W
AIT信号がなくなったときに、アクセス中断を解除
し、共有メモリに対する再アクセス処理を自動的に行う
ことで、無駄なアクセスを排除し、マルチプロセッサシ
ステムにおける各プロセッサ間の共有メモリのアクセス
を効率化することができる。
【0050】なお、上記第2実施例においては、アクセ
ス中断手段をバスインタフェースBIi のハードウェア
を含んで構成する場合について説明したが、これに限定
されているものではなく、例えばマイクロコンピュータ
を使用してソフトウェアによって処理するようにしても
よい。また、上記各実施例においては、アクセス中断信
号としてのWAIT信号を調停回路TCの信号線を利用
して他のプロセッサに送出する場合について説明した
が、これに限らず別途信号線を設けたり、システムバス
の一部を利用するようにしてもよい。
【0051】
【発明の効果】以上に説明したように、請求項1に係わ
るマルチプロセッサシスムのデータ保護装置によれば、
あるプロセッサPi がインクリメント・ディクリメント
等のリード・モディファイ・ライト処理を行うために共
有メモリアクセスしたとき、プロセッサのバスインター
フェイスに、そのメモリアドレスを保持し、保持したメ
モリアドレスと他のプロセッサがシステムバスに出力し
ているアドレスとを比較し、比較の結果アドレスが一致
しているときには他のプロセッサに対してアクセス中断
信号を送出するようにしたので、リード・モディファイ
・ライト処理の対象となるアドレスのデータを確実に保
護しながら、モディファイ処理中には、処理の対象とな
るメモリアドレスが重ならない限り、他のプロセッサの
共有メモリのアクセスを許容することができ、効率的な
バスアクセスが可能となるという効果が得られる。
【0052】また、請求項2に係わるマルチプロセッサ
システムのデータ保護装置によれば、あるプロセッサが
リード・モディファイ・ライト処理中のプロセッサPi
と同一のメモリアドレスをアクセスをしたため、アクセ
スを中断したときに、そのときのアクセスアドレスを保
持し、当該アクセスアドレスと他のプロセッサがシステ
ムバスに出力しているアドレスとが一致する状態で、ア
クセス中断信号が解除されたとき、即ちライト処理に移
行したとき、共有メモリのアクセスを自動的に再開する
ことができるため、無駄なアクセスを抑制してプロセッ
サの中央処理装置の負荷を軽減させることができるとい
う効果が得られる。
【図面の簡単な説明】
【図1】本発明の第1実施例を示すシステム構成図であ
る。
【図2】本発明の第1実施例における中央処理装置の処
理手順を示すフローチャートである。
【図3】本第1実施例の動作の説明に供するタイムチャ
ート図である。
【図4】本発明の第2実施例を示すブロック図である。
【図5】本発明の第2実施例の中央処理装置の処理手順
を示すフローチャートである。
【図6】本第2実施例の動作の説明に供するタイムチャ
ートである。
【図7】従来例を示すシステム構成図である。
【図8】従来例の動作の説明に供するタイムチャート図
である。
【符号の説明】
S システムバス M 共有メモリ TC 調停回路 P1 〜P4 プロセッサ CPU1 〜CPU4 中央処理装置 BI1 〜BI4 バスインタフェース R1 〜R4 レジスタ部 C1 〜C4 比較部 TRA1 〜TRA4 送受信部 TRB1 〜TRB4 送受信部 SW1 〜SW4 切換スイッチ AND1 〜AND4 アンドゲート OR1 〜OR4 オアゲート FF1 〜FF4 RS型フリップフロップ

Claims (2)

    (57)【特許請求の範囲】
  1. 【請求項1】複数のプロセッサと共有メモリとをシステ
    ムバスで接続し、各プロセッサが前記共有メモリに対し
    てリード・モディファイ・ライト処理を行うと共に、各
    プロセッサの前記共有メモリに対するアクセスをアクセ
    ス調停回路で調停するようにしたマルチプロセッサシス
    テムにおいて、前記各プロセッサは、自己が前記リード
    ・モディファイ・ライト処理のリード処理を行うとき
    は、そのときのメモリアドレスを保持するアドレス保持
    手段と、該当アドレス保持手段の保持アドレスと前記リ
    ード処理の終了により開放された前記システムバスに他
    のプロセッサから出力されているアドレスとが一致する
    か否かを検出するアドレス一致検出手段と、該アドレス
    一致検出手段でアドレスの一致を検出したときに、前記
    他のプロセッサにアクセス中断信号を送出するアクセス
    中断指令手段と、前記共有メモリのアクセス開始時に他
    のプロセッサからアクセス中断信号を受信したときに当
    該共有メモリのアクセスを中断するアクセス中断手段と
    を備えていることを特徴とするマルチプロセッサシステ
    ムにおけるデータ保護装置。
  2. 【請求項2】前記アクセス中断手段は、共有メモリのア
    クセスを中断したときに、そのときのアクセスアドレス
    を保持し、当該アクセスアドレスとシステムバスのアド
    レスとが一致する状態で、アクセス中断信号が解除され
    たときに共有メモリのアクセスを再開するように構成さ
    れている請求項1記載のマルチプロセッサシステムにお
    けるデータ保護装置。
JP23830093A 1993-09-24 1993-09-24 マルチプロセッサシステムにおけるデータ保護装置 Expired - Fee Related JP3335726B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP23830093A JP3335726B2 (ja) 1993-09-24 1993-09-24 マルチプロセッサシステムにおけるデータ保護装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP23830093A JP3335726B2 (ja) 1993-09-24 1993-09-24 マルチプロセッサシステムにおけるデータ保護装置

Publications (2)

Publication Number Publication Date
JPH0793259A JPH0793259A (ja) 1995-04-07
JP3335726B2 true JP3335726B2 (ja) 2002-10-21

Family

ID=17028154

Family Applications (1)

Application Number Title Priority Date Filing Date
JP23830093A Expired - Fee Related JP3335726B2 (ja) 1993-09-24 1993-09-24 マルチプロセッサシステムにおけるデータ保護装置

Country Status (1)

Country Link
JP (1) JP3335726B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1997014103A1 (fr) * 1995-10-13 1997-04-17 Hitachi, Ltd. Systeme multiprocesseur
US6535942B1 (en) * 2000-02-09 2003-03-18 Telefonaktiebolaget L M Ericsson (Publ) Method for reducing processor interrupt load

Also Published As

Publication number Publication date
JPH0793259A (ja) 1995-04-07

Similar Documents

Publication Publication Date Title
US5379381A (en) System using separate transfer circuits for performing different transfer operations respectively and scanning I/O devices status upon absence of both operations
US4914570A (en) Process distribution and sharing system for multiple processor computer system
CA1254663A (en) Multiprocessor system architecture
US5448732A (en) Multiprocessor system and process synchronization method therefor
EP0166272B1 (en) Processor bus access
EP0142820B1 (en) Method of controlling multiprocessing system and hardware arrangement for accomplishing the method
US5442755A (en) Multi-processor system with lock address register in each processor for storing lock address sent to bus by another processor
US4949241A (en) Microcomputer system including a master processor and a slave processor synchronized by three control lines
JPH10134008A (ja) 半導体装置およびコンピュータシステム
US20060059489A1 (en) Parallel processing system, interconnection network, node and network control method, and program therefor
EP0431326A2 (en) Inter-processor interrupts in an n-element multi-processor
JP3335726B2 (ja) マルチプロセッサシステムにおけるデータ保護装置
KR0163230B1 (ko) 데이타 프로세싱 시스템 및 입/출력 동작성능 개선방법
JP2001101014A (ja) 浮動割込みを保留できる情報処理装置および割込み条件変更命令実行方法
JPS6029141B2 (ja) 結合装置
JPH10111857A (ja) マルチプロセッサ
JPH07234850A (ja) マルチプロセッサの装置と方法
JPS59229662A (ja) 共有メモリ制御回路
JPS63286949A (ja) バス制御方式
JPH054710B2 (ja)
KR100238175B1 (ko) 버스 제어논리장치
JPH05324568A (ja) プロセッサ間通信方式
JPH059815B2 (ja)
JP2504515B2 (ja) テスト・チャネル命令の実行制御方式
JP3029445B2 (ja) 起動受付装置及び方法

Legal Events

Date Code Title Description
R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20070802

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080802

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080802

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090802

Year of fee payment: 7

LAPS Cancellation because of no payment of annual fees