JPH06250916A - 共有メモリの排他制御方法 - Google Patents

共有メモリの排他制御方法

Info

Publication number
JPH06250916A
JPH06250916A JP5038000A JP3800093A JPH06250916A JP H06250916 A JPH06250916 A JP H06250916A JP 5038000 A JP5038000 A JP 5038000A JP 3800093 A JP3800093 A JP 3800093A JP H06250916 A JPH06250916 A JP H06250916A
Authority
JP
Japan
Prior art keywords
shared memory
processing
access
signal
bus
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
JP5038000A
Other languages
English (en)
Inventor
Takasato Sasaki
崇諭 佐々木
Akira Kabemoto
章 河部本
Hirohide Sugawara
博英 菅原
Hajime Takahashi
肇 高橋
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP5038000A priority Critical patent/JPH06250916A/ja
Priority to US08/200,964 priority patent/US5634037A/en
Publication of JPH06250916A publication Critical patent/JPH06250916A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/52Program synchronisation; Mutual exclusion, e.g. by means of semaphores

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System (AREA)
  • Multi Processors (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

(57)【要約】 【目的】 共有メモリ・モジュールに排他アクセスを実
行する際、共有メモリ・モジュールから処理モジュール
へのステータス転送が失敗する確率を低減させ、共有メ
モリへの排他書き込みの信頼性を向上させること。 【構成】 処理モジュール1−1ないし1−mが、他の
処理モジュールのアクセスを禁止した上で共有メモリ・
モジュール2−1,…,2−nにアクセスする排他アク
セスを実行すると、共有メモリ・モジュール2−1ない
し2−nは処理結果をアクセス元の処理モジュールに通
知する。ここで、システム・バス3の間欠障害などによ
り、アクセス元の処理モジュールへの処理結果の通知に
失敗すると、共有メモリ・モジュール2−1ないし2−
nは、他の処理モジュールからのアクセスを禁止した状
態のまま、処理結果の通知を再試行する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、少なくともメイン・メ
モリ、中央処理ユニット、システム・バスへの接続ユニ
ットを備えた複数の処理モジュールと、少なくとも共有
メモリ・ユニットおよびシステム・バスへの接続ユニッ
トを備えた複数の共有メモリ・モジュールとを備えた計
算機システムに関し、特に本発明は、上記処理モジュー
ルが共有メモリ・モジュールを排他的にアクセスする際
の共有メモリの排他制御方法に関するものである。
【0002】
【従来の技術】図11は上記したシステムの構成を示す
図であり、同図において、81−0ないし81−xは、
複数の処理モジュールがアクセスする共有メモリ・モジ
ュールであり、81aは共有メモリ・ユニット、81b
−0ないし81b−nはバス・コントローラである。8
2−0ないし82−nはシステム・バスを制御するバス
・ハンドラー、83−0ないし83−nはシステム・バ
ス、84−0ないし84−yは処理モジュールであり、
84a−0ないし84a−nはバス・コントローラ、8
4bはメイン・メモリ、84cは中央処理ユニットであ
る。
【0003】上記のようなシステムにおける、システム
・バスの制御方式の一つとして、スプリット方式が知ら
れている。この制御方式は一回のアクセスが、起動転送
と応答転送に分離して行われ、起動転送の終了時から応
答転送開始時迄はバスは開放され、他の処理モジュール
によるバスの使用が許される。また、上記方式において
は、バスの間欠障害により、応答転送が失敗した場合に
は、アクセスそのものを失敗として、一旦、他の処理モ
ジュールにバスを開放したのち、再度アクセスするのが
一般的であった。
【0004】
【発明が解決しようとする課題】ところで、上記システ
ムにおいて、処理モジュールから共有メモリ・モジュー
ルに対して排他アクセスが行われた場合、要求元の処理
モジュールに対して処理結果を通知し、アクセスが失敗
したときには速やかに対処する必要がある。特に、共有
メモリへの書き込みが失敗した場合には、共有メモリの
データが破壊されている可能性があり、影響は大きい。
【0005】しかしながら、上記のように、他の処理モ
ジュールにバスを開放したのち、再度アクセスする方式
では、バスが開放された時点で他の処理モジュールがア
クセスする可能性があり、書き込みの失敗が広範囲に影
響するという問題点があった。本発明は上記問題点を解
決するためになされたものであって、応答転送失敗時、
所定回数、処理結果の通知動作を再試行し、再試行中は
他の処理モジュールからのアクセスを禁止状態とするこ
とにより、バスの間欠障害により応答転送が失敗する確
率を低減させ、共有メモリへの排他書き込みの信頼性を
向上させた共有メモリの排他制御方法を提供することを
目的とする。
【0006】
【課題を解決するための手段】図1は本発明の原理ブロ
ック図である。同図において、1−1ないし1−mは処
理モジュールであり、処理モジュール1−1ないし1−
mは、メイン・メモリ1aと、中央処理ユニット1b
と、システム・バス3への接続ユニット1cを備えてい
る。2−1ないし2−nは共有メモリ・モジュールであ
り、共有メモリ・モジュール2−1ないし2−nは共有
メモリ2aとシステム・バス3への接続ユニット2bを
備えている。
【0007】上記課題を解決するため、本発明の請求項
1の発明は、図1に示す、少なくともメイン・メモリ1
aと、中央処理ユニット1bと、システム・バス3への
接続ユニット1cとを具備する複数の処理モジュール1
−1,…,1−mと、少なくとも共有メモリ・ユニット
2aと、上記システム・バス3への接続ユニット2bと
を具備する共有メモリ・モジュール2−1,…,2−n
とを備えた計算機システムにおける共有メモリの排他制
御方法において、処理モジュール1−1,…,1−mが
他の処理モジュールのアクセスを禁止した上で共有メモ
リ・モジュール2−1,…,2−nにアクセスする排他
アクセスを実行する際、共有メモリ・モジュール2−
1,…,2−nがアクセス元の処理モジュール1−1,
…,1−mへの処理結果の通知に失敗した場合に、共有
メモリ・モジュール2−1,…,2−nの接続ユニット
2bが、他の処理モジュールからのアクセスを禁止した
状態で、上記処理モジュールへの処理結果の通知を再試
行するようにしたものである。
【0008】本発明の請求項2の発明においては、請求
項1の発明において、排他アクセス実行時における、処
理結果の通知の再試行の発生を、アクセス元の処理モジ
ュールに通知できるようにしたものである。
【0009】
【作用】図1において、処理モジュール1−1ないし1
−mが、他の処理モジュールのアクセスを禁止した上で
共有メモリ・モジュール2−1,…,2−nにアクセス
する排他アクセスを実行すると、共有メモリ・モジュー
ル2−1ないし2−nは処理結果をアクセス元の処理モ
ジュールに通知する。
【0010】ここで、システム・バス3の間欠障害など
により、アクセス元の処理モジュールへの処理結果の通
知に失敗すると、共有メモリ・モジュール2−1ないし
2−nは、他の処理モジュールからのアクセスを禁止し
た状態のまま、処理結果の通知を再試行する。本発明の
請求項1の発明は、上記のように、アクセス元の処理モ
ジュールへの処理結果の通知に失敗した場合、共有メモ
リ・モジュール2−1ないし2−nが、他の処理モジュ
ールからのアクセスを禁止した状態のまま、処理結果の
通知を再試行するので、システム・バスの間欠障害など
により、処理結果の通知が失敗する確率を減少させるこ
とができ、共有メモリへの排他書き込みの信頼性を向上
させることができる。
【0011】本発明の請求項2の発明においては、請求
項1の発明において、排他アクセス実行時における処理
結果の通知の再試行の発生を、アクセス元の処理モジュ
ールに通知できるようにしたので、処理モジュール1−
1ないし1−mは再試行の発生を監視することができ、
システム・バス3のハードウェアの障害等により定常的
にステータス転送の再試行が行われシステム・バスの使
用効率が低下することを避けることができる。
【0012】
【実施例】図2は本実施例の共有メモリ・モジュールの
構成を示すブロック図であり、同図において、21は共
有メモリ・ユニット、22はバス・コントローラ、22
aはメモリの入出力を制御するメモリ制御部、22bは
コマンド、アドレス、データ等を格納する内部バッフ
ァ、22cはバス制御部、22dは処理結果の通知動作
の再試行の実行状態を記憶し処理モジュールへ再試行の
状態を送出するSSMエクスクルーシブ・ストア・ログ
(以下、SESLGと略記する)、23はシステム・バ
スである。
【0013】図3は図2に示したバス制御部の構成を示
すブロック図であり、同図において、22aはメモリ制
御部、23はシステム・バス、221aは同期化回路、
221bは内部バッファに設けられたLOC命令用のバ
ッフアの状態を保持し、ステータス転送が失敗したとき
に再転送を行う内部バッファ制御部である。内部バッフ
ァ制御部221bには、メモリ制御部22aから同期化
回路221aを介して、処理完了通知LOC CMP が入力
され、また、後述するレシーバ・コントローラ221c
から、LOC命令の格納完了の通知SET LOC BF、お
よび、読み込み信号READが入力され、後述するトランス
ミッター221dから、ステータス転送の完了通知SET
LOC CMP 、および、ステータス転送の再試行の指示
SET LOC RWT が入力され、さらに、図示しないイン
ターバル・タイマから、再試行間隔に達したことを示す
信号RCNT FULLが入力される。
【0014】また、内部バッファ制御部221bは、メ
モリ制御部22aに同期化回路221aを介して、内蔵
RAMに格納されたコマンドの処理要求LOC REQ を出
力し、また、レシーバ・コントローラ221cにLOC
命令を待機中である(バッフアに空きがある)ことを示
す信号LOC EMP を出力し、さらに、トランスミッター
221dに、LOC命令のリードを示す信号LOC REA
D、および、処理モジュールに対するステータス転送を
要求する信号LOC SND を出力する。
【0015】221cは後述するトックス・バス221
eがシステム・バス23より取り込んだデータを受け取
り、データの受信処理を行うレシーブ・コントローラで
ある。レシーブ・コントローラ221cには、上記した
ように、内部バッファ制御部221bから、LOC EMP
信号が入力され、また、後述するトックス・バス221
eから、システム・バス上のデータが自ユニット宛であ
ることを示す信号BGRS FF、および、システム・バスのL
OC信号をフリップフロップで同期化した信号、すなわ
ち、システム・バス上のコマンドが排他制御命令である
ことを示す信号LOC FFが入力される。
【0016】また、レシーブ・コントローラ221cは
トックス・バス221eにRLN (コマンドの受信状態を
応答する信号)に応答する信号RLNX LOADを出力する。
221dは送信回路全体の制御を行い、バッファの状態
がステータス転送状態に遷移することにより動作を開始
するトランスミッターである。トランスミッター221
dには、上記したように内部バッファ制御部221bか
ら、LOC READ信号、および、LOC SND 信号が入力さ
れ、また、トックス・バス221eから、バス使用権が
BRQH(システム・バスの使用権の要求信号)の出力後、
一定時間内にあたえられなかったことを示す信号MISBG
、LOC命令であることを示す信号LOC 、RLN 信号に
パリティエラーを検出したことを示す信号RNLPE 、およ
び、RLN 信号にデータの異常を検出したことを示す信号
RNLPERが入力され、さらに、後述するRAMコントロー
ラ221fから、トランスミッター221dが使用する
データの内蔵RAM221gにおけるアドレスを示す信
号DPNTが入力される。
【0017】また、トランスミッター221dは、上記
したように内部バッファ制御部221bに、SET LOC
CMP 信号、および、SET LOC RWT 信号を出力し、
また、トックス・バス221eに、バス・ハンドラへの
バス・リクエストの出力要求SET BRQH、送信データ用
バッファへセットするデータの選択信号SEL SDB DAT
A、タグ・バス(アドレス、データ、コマンドの識別信
号を送出するバス)に出力するデータSTB LOAD、およ
び、RLNバッファへのロードを許可する信号LOAD RL
NRを出力し、さらに、RAMコントローラ221fに、
アドレス信号DPNTの歩進指示INCR DPNTを出力する。
【0018】221eはシステム・バス上のデータを取
り込み、トランスミッター221dから受け取ったデー
タをシステム・バス上に出力するバッフアとして機能す
るとともに、システム・バス上のRLN 信号と、BGRM信号
を監視し、ステータス転送時の異常を検出するトックス
・バスである。トックス・バス221eには、上記した
ように、レシーバ・コントローラ221cから、RLN 信
号に応答する信号RLNX LOADが入力され、また、システ
ム・バス23から、システム・バスの使用権が与えられ
たことを示す信号BGRM、バス・スレーブに選択されたこ
とを示す信号BGRS、および、LOC 信号が入力され、内蔵
RAM221gから、内蔵RAM221gからの読み出
しデータRAMDO が入力され、さらに、トランスミッター
221dから、SET BRQH、SEL SDB DATA、STB
LOAD、および、LOAD RLNR信号が入力される。
【0019】また、トックス・バス221eは、システ
ム・バス23にシステム・バスの使用権の要求信号BRQH
を出力し、また、トランスミッター221dに、MISBG
、LOC 、RNLPE 、および、RNLPER信号を出力し、レシ
ーバ・コントローラ221cに、BGRS FF、および、LO
C FF信号を出力し、さらに、内蔵RAM221gに、
内蔵RAM221gへの書き込みデータSDBRを出力す
る。また、SDB 、STB 、および、RLN 信号をシステム・
バス23と送受する。
【0020】221fはトランスミッター221dから
の指示で、トックス・バス221eがシステム・バスか
ら取り込んだデータを内蔵RAM221gに格納するR
AMコントローラである。RAMコントローラ221f
には、トランスミッター221dから、INCR DPNT信号
が入力され、また、RAMコントローラ221fは、ト
ランスミッター221dに、DPNT信号を出力し、さら
に、内蔵RAM221gに、アドレス信号RAMA、ライト
・イネーブルWE、および、リード・イネーブルREを出力
する。
【0021】221gは内蔵RAMであり、内蔵RAM
221gには、メモリ制御部22aおよびRAMコント
ローラ221fから、アドレス信号RAMA、WE、RE、およ
び、SDBR信号が入力され、また、内蔵RAM221gは
トックス・バス221eに、RAMDO を出力する。図4は
本実施例における内部バッファ制御部221bの遷移状
態を示す状態遷移図であり、同図を参照しながら本実施
例の動作を説明する。
【0022】内部バッファに設けられたLOC命令用の
バッファは電源投入時、リセットされ(図4の(1) :パ
ワー・オン・リセット)、内部バッファ制御部221b
は最初、LOC命令用のバッファが空いていることを示
すEMP状態
〔0000〕となっている。ここで、シス
テム・バスよりコマンドが入力され、レシーバ・コント
ローラ221cが、排他制御命令であることを示す信号
LOC FFを受信すると、内部バッフアに空きがある場合
に(内部バッファ制御部221bより LOC EMP を受信
している状態)、コマンドを受け付け、コマンド、アド
レス、データを内蔵RAM221gに格納し、内部バッ
ファ制御部221bにコマンド、アドレス、データの格
納完了通知SET LOC BFを出力する。
【0023】内部バッファ制御部221bが、レシーバ
・コントローラ221cから内蔵RAM221gへのコ
マンド、アドレス、データの格納完了通知SET LOC
BFを受け取ると(図4の(2) )、内部バッファ制御部2
21bの状態はLOC命令用バッファにコマンドが格納
されたことを示すBF状態〔1001〕に遷移する。こ
れにより、内部バッファ制御部221bは同期化回路2
21aを介してメモリ制御部22aに対して、内蔵RA
M221gに格納されたコマンドの処理を要求し、待機
する。
【0024】メモリ制御部22aが内蔵RAM221g
に格納されたコマンドの処理を完了し、同期化回路22
1aを介して処理完了を示す信号 LOC CMP を出力する
と(図4の(3) )、内部バッファ制御部221bは、L
OC命令用バッファのコマンド処理を完了し、ステータ
スが内蔵RAM221gに格納されていることを示すS
ND1〔0010〕状態に遷移する。これにより、内部
バッファ制御部221bはトランスミッター221dに
対して、処理モジュールに対するステータス転送を要求
する信号 LOC SND を出力する。
【0025】トランスミッター221dはステータス転
送を要求する信号 LOC SND を受けると、レシーバ・コ
ントローラ221cが動作中でなければ、内蔵RAM2
21gからステータスを読み出し、トックス・バス22
1eに渡す。ここで、ステータス転送が正常に行われる
と、トランスミッター221dは内部バッファ制御部2
21bにステータス転送の完了通知 SET LOC CMP を
出力する。
【0026】内部バッファ制御部221bがステータス
転送の完了通知 SET LOC CMP を受け取ると(図4の
(4) )、内部バッファ221bの状態は、ステータス転
送状態を示すCMP状態〔0011〕を経て、無条件で
EMP状態
〔0000〕に戻り、次の要求があるまで待
機する。また、トックス・バス221eは、システム・
バス上のRLN 信号と、BGRM信号を監視しており、ステー
タス転送時の異常を検出する。
【0027】トックス・バス221eがステータス転送
時に異常を検出すると、MISBG (バス使用権がバス・リ
クエストBRQHの出力後、一定時間内に与えられない
ことを示す信号)、RNLPE (RLN 信号のパリティ・エラ
ーを検出したことを示す信号)、あるいは、RLNER (RL
N 信号にデータの異常を検出したことを示す信号)をト
ランスミッター221dに出力し、トランスミッター2
21dは内部バッファ制御部221bにステータス転送
の再試行を指示する信号 SET LOC RWT を出力すると
ともに、異常発生時の情報を内蔵RAM221gに格納
する。
【0028】内部バッファ制御部221bがステータス
転送の再試行を指示する信号SET LOC RWT を受信する
と(図4の(5) )、内部バッファ制御部221bの状態
はRWT1状態〔0100〕に遷移し、図示しないイン
ターバル・タイマから入力される指示RCNT FULLがある
まで待機する。インターバル・タイマからの指示RCNT
FULLが内部バッファ制御部221bに入力されると(図
4の(6) )、内部バッファ制御部221bの状態はSN
D2状態〔0101〕に遷移し、ステータス転送の再試
行を行う。
【0029】そして、内部バッファ制御部221bがト
ランスミッター221dからステータス転送の完了通知
SET LOC CMP を受け取ると(図4の(8) )、内部バ
ッファ221bの状態は、前記したように、ステータス
転送状態を示すCMP状態〔0011〕を経て、無条件
で、EMP状態
〔0000〕に戻り、次の要求があるま
で待機する。
【0030】ここで、ステータス転送の再試行時に異常
が検出され、再び、トランスミッター221dが内部バ
ッファ制御部221bに、ステータス転送の再試行を指
示する信号 SET LOC RWT を出力すると(図4の(7)
)、内部バッファ制御部221bの状態はRWT2状
態〔0110〕に遷移し、図示しないインターバル・タ
イマから入力される指示RCNT FULLがあるまで待機す
る。
【0031】インターバル・タイマからの指示RCNT FU
LLが内部バッファ制御部221bに入力されると(図4
の(9) )、内部バッファ制御部221bの状態はSND
3状態〔0111〕に遷移し、ステータス転送の再試行
を行う。そして、内部バッファ制御部221bがトラン
スミッター221dからステータス転送の完了通知 SET
LOC CMP を受け取るか、または、ステータス転送の
再試行SET LOC RWT を指示されると(図4の(1
0))、内部バッファ221bの状態は、前記したよう
に、ステータス転送状態を示すCMP状態〔0011〕
を経て、無条件でEMP状態
〔0000〕に戻り、次の
要求があるまで待機する。
【0032】一方、図2に示すSESLG22dは、ス
テータス転送の再試行状態を記録しており、送信元の処
理モジュールから読み出し信号がくると、ステータスの
再試行状態を送信元の処理モジュールに送る。図5は上
記SESLGの回路構成を示す図であり、同図におい
て、41はステータス転送の再試行状態を記録する際
に、送信元の処理モジュールから送られる送信元のID
信号(SID )をデコードするデコーダ、41−0ないし
41−15はデコーダ41の出力とステータス転送の再
試行を指示する信号 SET LOC RWT の論理積を求める
アンドゲート、42−0ないし42−15はステータス
転送の再試行状態を記録するフリップフロップ、43は
マルチ・プレクサ、44はゲート、45はラッチ、46
はメモリ側の制御部である。
【0033】また、47は再試行状態を読み出す際に処
理モジュールから送られるID信号SESLG SID をデコ
ードするデコーダ、48−0ないし48−15は、デコ
ーダ47の出力と、再試行状態を読み出す際に出力を発
生するアンドゲート49bとの論理積を求め、その出力
によりフリップフロップ42−0ないし42−15をリ
セットするアンドゲート、49aはフリップフロップ4
2−0ないし42−15から再試行の状態を読みだす際
に入力される読み出し信号READ SESLG の否定と、その
遅延信号READ SESLG DLY の論理和を求めるオアゲー
ト、49bは上記読み出し信号READ SESLG の否定とそ
の遅延信号READ SESLG DLY の論理積を求めるアンド
ゲートである。
【0034】同図において、デコーダ41は発信元の処
理モジュールのID信号をデコードし、アンドゲート4
1−0ないし41−15の内、発信元の処理モジュール
に対応したアンドゲートが開く。ここで、ステータス転
送の再試行を指示する信号 SET LOC RWT が入力され
ると、上記アンドゲートを介して、フリップフロップ4
2−0ないし42−15の内、発信元に対応したフリッ
プフロップがセットされ、ステータス転送の再試行が記
憶される。
【0035】ついで、再試行状態を読み出すため、要求
元の処理モジュールのID信号 SESLG SID がデコーダ
47に入力されると、デコーダ47は上記ID信号をデ
コードし、アンドゲート48−0ないし48−15の
内、該当するアンドゲートが開くとともに、マルチプレ
クサ43を切り替え、マルチプレクサ43はデコード結
果に対応したフリップフロップの出力を選択する。
【0036】ここで、読み出し信号READ SESLG がオア
ゲート49aに入力され、続いて、上記読み出し信号RE
AD SESLG より若干遅延した遅延信号READ SESLG DL
Y が入力されると、オアゲート49aは読み出し信号RE
AD SESLG が入力されてから、遅延信号READ SESLG
DLY が入力されるまでの期間出力を発生する。オアゲー
ト49aが出力を発生すると、ゲート44が開き、フリ
ップフロップ42−0ないし42−15に記憶されたス
テータスの再試行状態はマルチプレクサ43、ゲート4
4を介してラッチ45に与えられ記憶される。
【0037】ラッチ45に記憶された再試行状態はメモ
リ側の制御回路46を介して、要求元の処理モジュール
に送信される。一方、遅延信号READ SESLG DLY が入
力されると、アンドゲート49bは、読み出し信号READ
SESLG がオフになるまでの期間、出力を発生する。ア
ンドゲート49bの出力は、アンドゲート48−0ない
し48−15の内、デコーダ47の出力により開状態と
なっているアンドゲートを介してフリップフロップ42
−0ないし42−15に与えられ、再試行状態が読み出
されたフリップフロップをリセットする。
【0038】以上のように、ステータス転送の再試行状
態はSESLGに記憶され、処理モジュールは、ソフト
ウェアにより定期的にSESLGの記憶内容を読み出し
てステータスの再試行の状態を監視することができるの
で、システム・バス部のハードウェアの障害等により定
常的にステータス転送の再試行が行われ、システム・バ
スの使用効率が低下することを避けることができる。
【0039】図6ないし図8は本実施例の処理を示すフ
ローチャートであり、図6のステップS1で、メモリ制
御部22aに対して内部バッファ制御部221bがバッ
フアに格納されたコマンド、アドレス、データの処理要
求を行うと、ステップS2において、バッファの処理が
完了したか否かを判別し、ステップS3において、トラ
ンスミッター221dに対してステータスの転送要求を
行う。
【0040】ついで、ステップS4において、ステータ
ス転送が終了したか否かを判別し、終了していなけれ
ば、ステップS3に戻る。ステータスの転送が終了する
と、ステップS5において、正常終了したか否かを判別
し、正常終了していれば、終了する。ステップS5にお
いて、正常終了していないと判別された場合には、図7
のステップS6に行き、インターバル・タイマの値を進
め、ステップS7において、インターバル・タイマ値が
再試行間隔に達したか否かを判別し、インターバル・タ
イマ値が再試行間隔に達したと判断された場合には、ス
テップS8に行き、トランスミッター221dに対して
ステータスの転送要求を行う。
【0041】ステップS9において、ステータス転送が
終了したか否かを判別し、終了していなければ、ステッ
プS8に戻る。ステータスの転送が終了すると、ステッ
プS10において、正常終了したか否かを判別し、正常
終了していれば、終了する。また、ステップS10にお
いて、正常終了していないと判別された場合には、図8
のステップS11に行き、インターバル・タイマの値を
進め、ステップS12において、インターバル・タイマ
値が再試行間隔に達したか否かを判別し、インターバル
・タイマ値が再試行間隔に達したしたと判断された場合
には、ステップS13に行き、トランスミッター221
dに対してステータスの転送要求を行う。
【0042】そして、ステップS14において、ステー
タスの転送が正常に行われるか、あるいは、ステータス
転送の再試行が要求され、ステータス転送動作が終了す
ると、処理を終了する。図9は従来のシステムにおける
遷移状態を示す図であり、また、図10は従来のシステ
ムにおけるフローチャートである。
【0043】従来においては、図9に示すように、内部
バッファ制御部221bの状態は、EMP状態〔000
0〕から、コマンド、アドレス、データの格納完了通知
SET LOC BFを受け取って(図9の(2) )、BF状態
〔1001〕に遷移し、さらに、処理完了を示す信号 L
OC CMP を受け取って(図9の(3) )、SND1〔00
10〕状態に遷移し処理モジュールに対するステータス
転送を要求する。
【0044】そして、内部バッファ制御部221bがス
テータス転送の完了通知 SET LOC CMP を受け取った場
合、または、ステータス転送に失敗した場合であって
も、内部バッファ221bの状態は、ステータス転送状
態を示すCMP状態〔0011〕を経て、無条件でEM
P状態
〔0000〕に戻り、次の要求があるまで待機す
る。
【0045】また、図10のフローチャートにおいて、
ステップT1において、メモリ制御部22aに対してバ
ッファの処理要求を行い、ステップT2において、バッ
ファの処理が完了したか否かを判別し、処理が完了して
いない場合には、ステップT1に戻る。また、処理が完
了した場合には、ステップT3において、トランスミッ
ター221dに対してステータスの転送要求を行い、ス
テップT4において、ステータスの転送動作が終了する
と処理を終了する。
【0046】上記のように、従来においては、間欠障害
などにより、ステータスの転送が失敗した場合でも、内
部バッファ制御部221bは初期状態であるEMP状態
に遷移し、他の処理モジュールからのアクセスを受け付
けていたため、前記したように、共有メモリへの書き込
みが失敗した場合には、その影響が大きかった。本実施
例においては、ステータスの転送失敗時、2回だけステ
ータスの転送を再試行し、また、再試行中は他の処理モ
ジュールからのアクセスを禁止状態としているので、バ
スの間欠障害によるステータス転送が失敗する確率を減
少させることができ、共有メモリへの排他書き込みの信
頼性を向上させることができる。
【0047】なお、上記実施例においては、ステータス
転送失敗時の再試行回数を2回としているが、本発明に
おける再試行回数は上記回数に限定されるものではな
く、その他の回数とすることもできる。
【0048】
【発明の効果】以上説明したことから明らかなように、
本発明においては、処理モジュールが他の処理モジュー
ルのアクセスを禁止した上で共有メモリ・モジュールに
アクセスする排他アクセスを実行する際、共有メモリ・
モジュールがアクセス元の処理モジュールへの処理結果
の通知に失敗した場合に、共有メモリ・モジュールの接
続ユニットが、他の処理モジュールからのアクセスを禁
止した状態で、上記処理モジュールへの処理結果の通知
を再試行するようにしたので、システム・バスの間欠障
害などに起因する処理結果の通知が失敗する確率を減少
させることができ、共有メモリの排他書き込みの信頼性
を向上させることができる。
【図面の簡単な説明】
【図1】本発明の原理ブロック図である。
【図2】本実施例の共有メモリ・モジュールの構成を示
すブロック図である。
【図3】本実施例のバス制御部の構成を示すブロック図
である。
【図4】本実施例における内部バッファ制御部の状態遷
移図である。
【図5】SSバス・エラー・ステータス・ログの回路構
成を示す図である。
【図6】本実施例の処理を示すフローチャートである。
【図7】本実施例の処理を示すフローチャート(続き)
である。
【図8】本実施例の処理を示すフローチャート(続き)
である。
【図9】従来のシステムにおける状態遷移図である。
【図10】従来のシステムにおけるフローチャートであ
る。
【図11】本発明の前提となる計算機システムの構成を
示す図である。
【符号の説明】
1−1,…,1−m 処理モジュール 1a メイン・メモリ 1b 中央処理ユニット 3,23 システム・バス 1c,2b 接続ユニット 2−1,…,2−n 共有メモリ・モジ
ュール 2a 共有メモリ 21 共有メモリ・ユニ
ット 22 バス・コントロー
ラ 22a メモリ制御部 22b 内部バッファ 22c バス制御部 22d SSバス・エラー
・ステータス・ログ 221a 同期化回路 221b 内部バッファ制御
部 221c レシーブ・コント
ローラ 221d トランスミッター 221e トックス・バス 221f RAMコントロー
ラ 221g 内蔵RAM 41,47 デコーダ 41−1,…,41−15 アンドゲート 42−1,…,42−15 フリップフロップ 43 マルチ・プレクサ 44 ゲート 45 ラッチ 46 メモリ制御部 48−1,…,48−15,49b アンドゲート 49a オアゲート
───────────────────────────────────────────────────── フロントページの続き (72)発明者 高橋 肇 神奈川県川崎市中原区上小田中1015番地 富士通株式会社内

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】 少なくともメイン・メモリ(1a)と、中央
    処理ユニット(1b)と、システム・バス(3) への接続ユニ
    ット(1c)とを具備する複数の処理モジュール(1-1, …,
    1-m)と、 少なくとも共有メモリ・ユニット(2a)と、上記システム
    ・バス(3) への接続ユニット(2b)とを具備する共有メモ
    リ・モジュール(2-1, …,2-n) とを備えた計算機システ
    ムにおける共有メモリの排他制御方法において、 処理モジュール(1-1, …,1-m)が他の処理モジュールの
    アクセスを禁止した上で共有メモリ・モジュール(2-1,
    …,2-n) にアクセスする排他アクセスを実行する際、 共有メモリ・モジュール(2-1, …,2-n) がアクセス元の
    処理モジュール(1-1,…,1-m)への処理結果の通知に失
    敗した場合に、共有メモリ・モジュール(2-1,…,2-n)
    の接続ユニット(2b)が、他の処理モジュールからのアク
    セスを禁止した状態で、上記処理モジュールへの処理結
    果の通知を再試行することを特徴とする共有メモリの排
    他制御方法。
  2. 【請求項2】 排他アクセス実行時における、処理結果
    の通知の再試行の発生を、アクセス元の処理モジュール
    に通知できるようにしたことを特徴とする請求項1の共
    有メモリの排他制御方法。
JP5038000A 1993-02-26 1993-02-26 共有メモリの排他制御方法 Pending JPH06250916A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP5038000A JPH06250916A (ja) 1993-02-26 1993-02-26 共有メモリの排他制御方法
US08/200,964 US5634037A (en) 1993-02-26 1994-02-24 Multiprocessor system having a shared memory with exclusive access for a requesting processor which is maintained until normal completion of a process and for retrying the process when not normally completed

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP5038000A JPH06250916A (ja) 1993-02-26 1993-02-26 共有メモリの排他制御方法

Publications (1)

Publication Number Publication Date
JPH06250916A true JPH06250916A (ja) 1994-09-09

Family

ID=12513313

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5038000A Pending JPH06250916A (ja) 1993-02-26 1993-02-26 共有メモリの排他制御方法

Country Status (2)

Country Link
US (1) US5634037A (ja)
JP (1) JPH06250916A (ja)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5964863A (en) * 1996-04-15 1999-10-12 Motorola, Inc. Method and apparatus for providing pipe fullness information external to a data processing system
KR100240572B1 (ko) * 1996-12-05 2000-01-15 윤종용 프로그램 메모리를 공유하는 멀티 프로세서 시스템
US5928334A (en) * 1997-03-28 1999-07-27 International Business Machines Corporation Hardware verification tool for multiprocessors
US6141715A (en) * 1997-04-03 2000-10-31 Micron Technology, Inc. Method and system for avoiding live lock conditions on a computer bus by insuring that the first retired bus master is the first to resubmit its retried transaction
JP2000047994A (ja) * 1998-07-27 2000-02-18 Fujitsu Ltd 情報処理装置
JP2000195144A (ja) * 1998-12-25 2000-07-14 Sony Corp 記録媒体駆動装置および方法、情報記録再生システムおよび方法、並びに提供媒体
US6516403B1 (en) * 1999-04-28 2003-02-04 Nec Corporation System for synchronizing use of critical sections by multiple processors using the corresponding flag bits in the communication registers and access control register
US6594785B1 (en) * 2000-04-28 2003-07-15 Unisys Corporation System and method for fault handling and recovery in a multi-processing system having hardware resources shared between multiple partitions
US6820149B2 (en) * 2002-01-11 2004-11-16 International Business Machines Corporation Method, system, and program for testing a bus interface
US6968416B2 (en) * 2002-02-15 2005-11-22 International Business Machines Corporation Method, system, and program for processing transaction requests during a pendency of a delayed read request in a system including a bus, a target device and devices capable of accessing the target device over the bus
US7502075B1 (en) * 2004-09-03 2009-03-10 Texas Instruments Incorporated Video processing subsystem architecture
US7428619B2 (en) * 2005-01-18 2008-09-23 Sony Computer Entertainment Inc. Methods and apparatus for providing synchronization of shared data
TWI277877B (en) * 2005-03-08 2007-04-01 Via Tech Inc Method and related apparatus for monitoring system bus
US7502957B2 (en) * 2005-09-09 2009-03-10 International Business Machines Corporation Method and system to execute recovery in non-homogeneous multi processor environments
US7996585B2 (en) * 2005-09-09 2011-08-09 International Business Machines Corporation Method and system for state tracking and recovery in multiprocessing computing systems
US7457985B2 (en) * 2005-09-09 2008-11-25 International Business Machines Corporation Method to detect errors in computer systems by using state tracking
US20070083867A1 (en) * 2005-09-09 2007-04-12 International Business Machines Corporation Method and system to recover from control block hangs in a heterogenous multiprocessor environment
WO2020072508A1 (en) 2018-10-01 2020-04-09 Brainworks Foundry, Inc. Fully automated non-contact remote biometric and health sensing systems, architectures, and methods
US11556390B2 (en) 2018-10-02 2023-01-17 Brainworks Foundry, Inc. Efficient high bandwidth shared memory architectures for parallel machine learning and AI processing of large data sets and streams

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4187538A (en) * 1977-06-13 1980-02-05 Honeywell Inc. Read request selection system for redundant storage
JPS588018B2 (ja) * 1978-09-14 1983-02-14 日本電気株式会社 多重プロセッサシステム
US4706190A (en) * 1983-09-22 1987-11-10 Digital Equipment Corporation Retry mechanism for releasing control of a communications path in digital computer system
US5341510A (en) * 1987-05-01 1994-08-23 Digital Equipment Corporation Commander node method and apparatus for assuring adequate access to system resources in a multiprocessor
AU614044B2 (en) * 1988-03-25 1991-08-15 Nec Corporation Information processing system capable of quickly detecting an extended buffer memory regardless of a state of a main memory device
US5274809A (en) * 1988-05-26 1993-12-28 Hitachi, Ltd. Task execution control method for a multiprocessor system with enhanced post/wait procedure
US5127098A (en) * 1989-04-12 1992-06-30 Sun Microsystems, Inc. Method and apparatus for the context switching of devices
JP2830116B2 (ja) * 1989-07-27 1998-12-02 日本電気株式会社 マルチプロセッサシステムにおけるロック制御機構
JP3222125B2 (ja) * 1990-01-29 2001-10-22 株式会社日立製作所 システム間データベース共用方式
US5293600A (en) * 1990-04-06 1994-03-08 International Business Machines Corporation Counter and flux bit locking for very fast shared serialization of shared data objects
AU633724B2 (en) * 1990-06-29 1993-02-04 Digital Equipment Corporation Interlock queueing
JPH0468461A (ja) * 1990-07-10 1992-03-04 Canon Inc 資源管理方式
US5430860A (en) * 1991-09-17 1995-07-04 International Business Machines Inc. Mechanism for efficiently releasing memory lock, after allowing completion of current atomic sequence
US5317749A (en) * 1992-09-25 1994-05-31 International Business Machines Corporation Method and apparatus for controlling access by a plurality of processors to a shared resource

Also Published As

Publication number Publication date
US5634037A (en) 1997-05-27

Similar Documents

Publication Publication Date Title
JPH06250916A (ja) 共有メモリの排他制御方法
US5740376A (en) Signaling protocol for a peripheral component interconnect
EP0063334B1 (en) Data processing apparatus for a multiprocessor system
KR970001919B1 (ko) 다수의 버스간의 정보 전송 시스템 및 방법
JPH10293744A (ja) Pciバス・システム
JPH06161950A (ja) 複式バス・アーキテクチャを有する計算システムに使用するデータ伝送の管理方法。
JP3027843B2 (ja) バススヌ−プ方法
US20040139267A1 (en) Accessing a primary bus messaging unit from a secondary bus through a pci bridge
JPH07104826B2 (ja) 転送制御装置
JP3195489B2 (ja) 外部記憶制御装置およびバス切り替え制御方法
JP2606098B2 (ja) スタンバイ機能を持つフロッピィディスクコントローラ
US6658510B1 (en) Software method to retry access to peripherals that can cause bus timeouts during momentary busy periods
US20020089940A1 (en) Duplexing apparatus and method in large scale system
US6857052B2 (en) Multi-processor system including a mode switching controller
JP3111052B2 (ja) 複数のプロセッサに接続されたバスにデータを供給する方法およびシステム
JP2504515B2 (ja) テスト・チャネル命令の実行制御方式
AU617514B2 (en) Multiple processor/cache memory system and data transaction control therefor
EP3907614B1 (en) Semiconductor device
KR100238175B1 (ko) 버스 제어논리장치
JPH09212452A (ja) バス制御装置
JPH1139266A (ja) マルチプロセッサ装置
KR100380328B1 (ko) 교환기 시스템의 보드 탈장시 다운 방지장치
JP3219422B2 (ja) キャッシュメモリ制御方式
JPS6228866A (ja) 主記憶アクセス方式
KR970004888B1 (ko) 전전자 교환기의 이중화된 에스 시 에스 아이 어뎁터 동시 제어방법

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20021203