JPH04135267A - マルチプロセッサ装置 - Google Patents

マルチプロセッサ装置

Info

Publication number
JPH04135267A
JPH04135267A JP2203097A JP20309790A JPH04135267A JP H04135267 A JPH04135267 A JP H04135267A JP 2203097 A JP2203097 A JP 2203097A JP 20309790 A JP20309790 A JP 20309790A JP H04135267 A JPH04135267 A JP H04135267A
Authority
JP
Japan
Prior art keywords
data
processor
shared memory
error
parity
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
JP2203097A
Other languages
English (en)
Inventor
Hiroshi Nakagome
中込 宏
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 Electric Corp
Original Assignee
Mitsubishi Electric Corp
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 Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP2203097A priority Critical patent/JPH04135267A/ja
Publication of JPH04135267A publication Critical patent/JPH04135267A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Techniques For Improving Reliability Of Storages (AREA)
  • Multi Processors (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 [a業上の利用分野] この発明は、複数のプロセッサと各プロセッサによって
共通にアクセスされる共通メモリを使用してデータ処理
を行うマルチプロセッサ装置に関し、特にプロセッサに
よるデータ読み出しエラーをハードウェア的に検知する
装置に関するものである。
〔従来の技術] 第2図は従来のマルチプロセッサ装置の一例であり、エ
ラー検出コードとしてパリティ・ビットを有しており、
データとパリティ・ビットの“1゛の数が奇数であれば
データは正しいと肥識する構成となっている。図におい
て(1)はプロセッサ装置、(2)はプロセッサ装置(
1)が出力するアドレス信号、(3)はプロセッサ装置
(1)かライト/リードするデータ信号、(4)はプロ
セッサ(1)か出力するデータリート要求信号、(5)
はプロセッサ(1)が出力するデータライト要求信号、
(6)はプロセッサ(1)のデータリート要求信号(4
)、ライト要求信号(5)に対して実際にデータ転送を
許可するセレクト信号、(6) 、 (7)はアドレス
信号(2)を共有メモリ(17)へ送信するためのバッ
ファ、(8) 、 (10)は各々、データ信号(3)
を共有メモリ(17)へ送信、受信するためのバッファ
、(9) 、 (11)は各々共有メモリ(17)のエ
ラー検出用パリティ・ビットを共有メモリ(18)へ送
信、受信するためのバッファ、(12)はプロセッサ(
1)が共有メモリ(17)からデータをリードする時に
データと一緒にリードしたパリティ・ビットを有効にす
るための条件を作るゲート、(13)はプロセッサ(1
)が共有メモリ(17)からデータをリードする時はデ
ータの正当性をテストするパリティ・チエッカとして動
作し、プロセッサ(1)から共有メモリ(17)へデー
タをライトする時はデータに対して正しいパリティ・ビ
ットを生成するためのパリティ・ジェネレータとして動
作するパリティ・チエッカ/ジェネレータ、(14)は
パリティチェッカ/ジェネレータ(13)か出力するデ
ータ“1゛の個数か偶数であることを示すパリティ・ビ
ット信号、(15)はパリティ・チエッカ/ジェネレー
タ(13)でパリティ・チエツクした結果かエラーであ
った場合にエラーを保持するためのフリップフロップ、
(16)はプロセッサ(1)か出力するアドレス信号を
デコードして共有メモリ(17)に対するアクセスであ
ることを検出するためのデコーダ、(17)はプロセッ
サ(1)からリート/ライトされる共有メモリであり、
データを保持する。
(18)はプロセッサ(1)からり−ト/ライトされる
データに付随したパリティ・ビットを保持する共有メモ
リであり、データと同時にリート/ライトされる。(1
9)はプロセッサ(1)と共有メモリ(17) 、 (
18)  との間でデータとパリティ・ヒツトとをリー
ト/ライトする時に共有メモリ内のり−ト/ライトする
アドレスを指示するための共有メモリ・アドレス・ハス
、(20)はプロセッサ(1)と共有メモリ(ニア)と
の間てデータをリート/ライトする時にデータか流れる
共有メモリ・データバス、(21)はプロセッサ(1)
と共有メモリ(17)との間でデータをり−1・/ライ
トする時に共有メモリ(18)との間でパリティ・ヒツ
トを流すための共有メモリ・パリティ・ヒラトイ言分、
(22)はプロセッサ(1a)とプロセッサ(1b)か
共有メモリ(17) 、 (18)をアクセスする時に
上記プロセッサ(]、a) 、 (lb)のうちの片方
に共有メモリを使用させプロセッサ(1a)と(1b)
のデータか共有メモリ・ハス上で衝突しないことを保証
するための共有メモリバスコントロール回路であり、プ
ロセッサ(la) 、 (lb)の選択した方に対して
セレクト信号(6a) 、 (eb) を返す。(23
)はプロセッサ(la) 、 (Ib)のいずれか一方
が共有メモリ(17) 、 (18)  に対してデー
タ及びパリティ・ビットをライトする時に圧力する共有
メモリライト・イネーブル信号、(24)は選択された
フロセッサ(la) 、 (lb)が共有メモリに対す
るライト動作である時に、ライトバッファ(8) 、 
(9)の出力をイネーブルにしてデータを共有メモリデ
ータバス(20)に、そして共有メモリデータパリティ
ヒツト信号(21)を流すための制御信号である。
次に動作について説明する。プロセッサ(1)か共有メ
モリにデータをライトする動作をする場合、プロセッサ
(1)はアドレス信号(2)とデータ信号(3)をアク
ティブにした後ライト要求信号(5)を送出しセレクト
信号(6)を待つ。ライトするデータ信号(3)はパリ
ティ・チエッカ/ジェネレータ(13)でパリティ・ビ
ットかジェネレートされ、データ信号(3)とパリティ
・ビット信号(ユ4)とを含めた′】°°の数か奇数個
となるようにパリティ・ヒツト信号を作る(以下、” 
1 ”の数か奇数個となるパリティ・ビットを奇数パリ
ティと称する)。共有メモリパスコトン]・ロール回路
(22)はプロセッサ(1)か送出する前述のライト要
求信号(5)を受けて、共有メモリ(17) 、 (1
8)を使用しているプロセッサか無い時にセレクト信号
(6)を返す。上記セレクト信号(6)か有意の間アド
レス信号(2)はケート(7)を通して共有メモリアド
レスバス(19)へ退出され共有メモリ(17) 、 
(18)へのアドレスとなる。またライト要求中である
のでケート(8) 、 (9)か開いてデータ信号(3
)とパリティ・ビット信号(14)とが各々共有メモリ
データバス(20)、共有メモリデータパリティ・ビッ
ト信号(21)へ出力される。前述で示されたデータ信
号(3)とパリティ・ビット信号(14)は、共有メモ
リハスコントロール回路(22)か出力する共有メモリ
ライトイネーブル信号(23)によって前記共有メモリ
(17) 、 (18)へ書込まれる。プロセッサ(1
)はセレクト信号(6)が再びインアクティブになった
後、ライト要求信号(5)をインアクティブにして転送
が終了する。
次にプロセッサ(1)が共有メモリ(17)からデータ
をリートする場合について説明する。プロセッサ(1)
はアドレス信号(2)をアクティブにした後リート要求
信号(4)を送出しセレクト信号(6)を待つ。該リー
ド要求信号(4)を受けた共有メモリハスコントロール
回路(22)は共有メモリ(17)。
(18)を使用しているプロセッサが無い時にセレクト
信号(6)を返す。セレクト信号(6)の終縁てプロセ
ッサ(1)は共有メモリ(17)からバッファ(10)
を通して送られてきたリートデータ信号(3)をフロセ
ッサ(1)へ取り込む、又、共有メモリ(18)からバ
ッファ(11)を通して送られてきたパリティ・ヒツト
信号はり一トデータ信号(3)と共にパリティチェッカ
・ジェネレータ(13)でチエツクされ、奇数パリティ
で無い時(すなわち、データとパリティビットの”1”
の数が偶数個の時てあり、以下、この状態のパリティ・
ビット信号を偶数パリティと略称す)には信号(14)
出力されアクルッジ信号の終縁でフリップフロップ(1
5)に“1”がセットされる。フリップフロップ(15
)に“1”がセットされるとエラーを検出したというこ
とになりプロセッサ(1)へ報告される。
リード転送ではデータ信号(3)の方向が異る点を除き
ライト転送と同様であるのでアドレス信号の送出、及び
データの流れの詳細については省略した。
(発明が解決しようとする課題〕 従来のマルチプロセッサ装置は以上のように構成されて
いるので、プロセッサA (la)とプロセッサB (
lb)とか互いに他方のプロセッサかライトした共有メ
モリ(17)上のデータをリートし、該リードしたデー
タに処理を加え再び共有メモリ(ニア)ヘライトして一
方のプロセッサにリードさせるという動作を実行する際
に、各プロセッサとも互いに相手プロセッサとの動作の
同期をソフトウェア処理でとると共に、他方のプロセッ
サがデータ処理して共有メモリにライトする前に、その
データをリートしてしまわないように、各プロセッサと
もソフトウェア処理にてデータ管理をしなければならず
、その結果、全体的にデータ処理速度か遅くなるといっ
た問題点があった。
この発明は上記のような問題点を解消するためになされ
たもので、複数台のプロセッサが他のプロセッサとは独
立にデータ処理を実行できるとともに、他のプロセッサ
かデータを処理して共有メモリの所定の場所にライトす
る以前に当該場所のデータを、一方のプロセッサかリー
トしてしまった時にはハードウェア的にエラーを検出て
きるマルチプロセッサ装置を得ることを目的とする。
〔課題を解決するための手段) この発明に係るマルチプロセッサ装置は、複数のプロセ
ッサと、該複数のプロセッサが交互にアクセスする共通
メモリとを有するマルチプロセッサ装置において、上記
共通メモリへデータ書込み時にデータに付与するエラー
検出コード論理式を各プロセッサ毎に異ならせて出力す
るエラーコード発生手段と、一方のプロセッサがデータ
読み出し時に、データに付与されたエラー検出コード論
理式か自己に割り当てられたものと同一の時、プロセッ
サへ一定時間データ読み出しを制限するエラー信号を出
力するエラー検出手段とからなるパリティチェッカ/ジ
ェネレータを設けたものである。
(作用) この発明によれば、一方のプロセッサが共有メモリより
データを読み出した際、エラー検出手段か該データに付
与されていたエラー検出コード論理式か自己に割り当て
られた論理式と同一であると判定された時、他方のプロ
セッサか該データを読み出し処理して共有メモリに書込
む前にデータ読み出しを行ったものとして、エラー信号
を上記力のプロセッサに出力し、データの読み出しを定
時間制限して他方のプロセッサがデータ書込みを完了す
るのを待つことで、各プロセッサはデータ読み出し時に
ソフトウェア処理にてデータ読み出しエラーチエツクを
行う必要がなくなる。
(実施例) 以下、この発明の一実施例を図について説明する。
第1図において、(25)はパリティ・チエッカ/ジェ
ネレータ(13)が出力するデータが“1”の個数が奇
数であることを示すパリティ・ビット信号である。又、
(1)〜(24)は第1図と同様なので省略する。
次に動作について説明する。本例では、共有メモリの全
ての領域に対してアドレスの若い方から順番にまずプロ
セッサA (la)が有効データをライトし始める。そ
の後、プロセッサB (lb)は、プロセッサA (l
a)が共有メモリ(17)にライトしたデータをアドレ
スの若い方から順番にリートして処理を加えた後、再ひ
共有メモリ(17)上のリードした番地ヘライトし直す
という動作を実行するものとする。この時プロッサA 
(la)とプロセッサB (lb)との間では同期をと
るための動作は何も実行せず、互いに独立に動作をする
ものとする。
プロッサ(1)と共有メモリ(17)との間のデータの
ライト/ワード動作の概要については既に従来技術の実
施例で説明をしているので省略し、エラー検出コードを
リードとライトて異る論理式にした効果について説明を
加える。
プロセッサA (la)は共有メモリ(17)からデー
タをソートする時は偶数パリティ(14a)の時エラー
とし、共有メモリ(17)へデータをライトする時は偶
数パリティと成るようにパリティ・ビット(25a)を
ジェネレートしてゲート(9a)を通して共有メモリ(
18)ヘライトする。従って、プロセッサA fla)
は自分かライトした共有メモリ(17)の番地から(プ
ロセッサB (lb)か該共有メモリ(17)の番地へ
データをライトする以前に)データをリートするとパリ
ティ・チエッカ・ジェネレータ(13a)の偶数パリテ
ィ信号(14a)か出力されエラーF/F(15a)か
セットされてプロセッサA (la)へ報告される。
方、プロセッサB (lb)は共有メモリ(17)から
データをリードする時は奇数パリティ(25bj 0時
エラーとし、共有メモリ(17)へデータをライトする
時は奇数パリティとなるようにパリティ・ビット(14
b)をジェネレートしてケート(9b)を通して共有メ
モリ(18)ヘライトする。従って、プロッサB (l
b)についても、上述したプロセッサA (la)の場
合と同様に、プロセッサB (Ib)がライトした共有
メモリの番地を、プロセッサA (la)がライトする
よりも前に再びリートしようとするとパリティ・チエッ
カ/ジェネレータ(13b)の奇数パリティ信号(25
b)か出力され、エラーF/F (15b)かセットさ
れてプロセッサB (lb)へエラー報告される。
リセット後の初期状態において、プロセッサB(1b)
は共有メモリ(17) 、 (1s)の全領域に奇数パ
リティ(+4b)  となるように無効データをライト
する。動作か開始されると、まず、プロセッサA(1a
)か偶数パリティ(25a)  となるような有効デー
タを共有メモリ(17) 、(18)へ書き始めプロセ
ッサB (lb)は共有メモリ(17) 、 (18)
から既にプロッサA (la)かライトしたデータをリ
ートし、処理して再び共有メモリ(17) 、 (1g
)の同一番地へライトし直す、プロッサA (la)が
共有メモリ(17)、(18)へデータをライトする処
理の方かプロセッサB (lb)か共有メモリ(17)
 、 (18)からデータをワードする処理より先行し
ている場合はプロセッサA (la)、B flbjと
も正常に動作を続ける。もし、プロセッサA (la)
かある時点て共有メモリ(17)、(18) へデータ
をライトするまでの間に待ち時間が生し、プロセッサA
かデータを共有メモリ(17) 、 (]Uへライトす
る以前にプロセッサB (lb)か共有メモリ(17)
 、 (18)をリートした場合、プロセッサB (l
b)は初期状態でライトした奇数パリティデータをリー
トしてしまい、その結果、エラーF/F(15b)かセ
ットされてプロセッサB □b)に報をされる。
この場合、プロセッサB (lb)はリートしてエラー
になった共有メモリ(17) 、 (18)のメモリ番
地を、エラーかなく f、するまである間隔てリートし
糸売けることにより再ひプロセッサA (la)の共有
メモリF17) 、 (18)  に対するライト動作
かプロセッサB(ユb)のり−ト動作よりも先行するよ
うになり、その後、プロセッサA (la)、プロセッ
サB (lb)共に正常動作か続く。
次に、共有メモリ(17) 、 (18)をサイクリッ
クに使用して、上述したプロセッサBが処理して共有メ
モリヘライトしたデータを再びプロセッサA(1a)が
共有メモリ(17) 、 (18)の若い番地の方から
順番にリードしデータ処理した後、共有メモリ(17)
 、 (18)ヘライトする場合を述べる。
この場合、問題になるのはプロセッサA (la)の動
作がプロセッサB (lb)の動作よりも速すぎた場合
である。プロセッサA (la)は共有メモリ(17)
(18)の全ての領域へ有効なデータを書き終り、該デ
ータをプロセッサB (lb)かリートして13里をし
、再びライトする作業を続行している途中て、該プロセ
ッサB (lb)の処理済みデータを再び共有メモリ(
17) 、 (18)の若いアドレスから順にリートし
処理後ライトする作業を始める。この時、プロセッサA
 (la)の処理かプロセッサB (lb)の処理にお
いついてしまい、プロセッサB (lb)か処理したデ
ータを共有メモリ(17) 、 (1a)ヘライトする
前にプロセッサA (la)か共有メモリ(17) 、
 (18)のデータをソートしようとすると、プロセッ
サA (la)が以前自分でライトした偶数パリティデ
ータを共有メモリ(17) 、 (18)からリートす
ることになるので、パリティチェッカ/ジェネレータ(
13a)か偶数パリティ(14a)を検出しに出力する
。その結果、フリップフロップ(15a)がセットされ
てエラーかプロセッサA (la)に報告される。
なお、上記実施例では、エラー検出コードとしてパリテ
ィ・ビットを挙げたか、ECCコード又は他のいかなる
エラー検出コードでも良い。
また、この例では、データ自身をソート、ライトする時
に発生するハードウェアエラー検出コードをデータリー
ト時におけるリート順序誤りエラー検出に併用したが、
上Z己エラーを別のコードとしても良い。例えばパリテ
ィエラーの検出は全てのフロセッサで同一に奇数パリテ
ィとし、その他に上述したようなデータリード手順の順
序誤りエラーを検出する目的のエラー検出器及びエラー
コード発生器を別途設けてもよい。
〔発明の効果〕
以上のように、この発明によれは、データを共有メモリ
に書込む際エラーコード発生手段より発生させ、書込み
データに付与するエラー検出コード論理式と、共有メモ
リより読み出したデータに付与されるエラー検出コード
論理式を異ならせ、データ読み出し時に、エラー検出手
段にて論理式かデータ書込み時の論理式と同一であると
判定されれば、エラー信号をプロセッサに出力し間隔を
おいてデータ読み出しを行わせ正常データ読み出しに復
旧させることで、プロセッサは他のプロセッサの動作を
ソフトウェア的に監視することが不必要となり、その分
ソフトウェア的負担が軽減しデータ処理速度か向上する
効果がある。
【図面の簡単な説明】
第1図ハこの発明の一実施例によるマルチプロセッサ装
置を示すブロック図、第2図は従来のマルチプロセッサ
装置を示すブロック図である。 図中、(la) 、 (lb)はプロセッサ、(3)は
データ信号、(4)はデータリート要求、(5)はデー
タライト要求、(8)はデータ送出用バッファ、(9)
はデータパリティ・ヒツト送出用バッファ、(1o)は
データ人力用バッファ、(11)はデータ・パリティビ
ット人力用バッファ、(]2)はパリティ・ビット人力
用ゲート、(13a+) 、 (13b1)は本実施例
におけるパリティ・チエッカジェネレータ、(14)は
奇数パリティ出力信号、(15)はパリティエラー検出
フリッフフロツブ、(16)はアドレスデコーダ、(1
7)はデータ保存用共有メモリ、(18)はパリティビ
ット保存用共有メモリ。 なお、図中、同一符号は同一、又は相当部分を示す。

Claims (1)

    【特許請求の範囲】
  1. 複数のプロセッサと、該複数のプロセッサが交互にアク
    セスする共通メモリとを有するマルチプロセッサ装置に
    おいて、上記共通メモリへデータ書込み時にデータに付
    与するエラー検出コード論理式を各プロセッサ毎に異な
    らせて出力するエラーコード発生手段と、一方のプロセ
    ッサがデータ読み出し時に、データに付与されたエラー
    検出コード論理式が自己に割り当てられたものと同一の
    時、プロセッサへ一定時間データ読み出しを制限するエ
    ラー信号を出力するエラー検出手段とからなるパリテイ
    チェッカ/ジェネレータを備えたことを特徴とするマル
    チプロセッサ装置。
JP2203097A 1990-07-31 1990-07-31 マルチプロセッサ装置 Pending JPH04135267A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2203097A JPH04135267A (ja) 1990-07-31 1990-07-31 マルチプロセッサ装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2203097A JPH04135267A (ja) 1990-07-31 1990-07-31 マルチプロセッサ装置

Publications (1)

Publication Number Publication Date
JPH04135267A true JPH04135267A (ja) 1992-05-08

Family

ID=16468331

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2203097A Pending JPH04135267A (ja) 1990-07-31 1990-07-31 マルチプロセッサ装置

Country Status (1)

Country Link
JP (1) JPH04135267A (ja)

Similar Documents

Publication Publication Date Title
EP0384620B1 (en) High performance memory system
US4884271A (en) Error checking and correcting for read-modified-write operations
JPH10177800A (ja) エラー訂正ダイナミック・メモリ及びそのエラー訂正方法
JPS61195441A (ja) 自動更新する単純化キヤツシユ
EP0425550A4 (en) Memory control unit
JPH0581143A (ja) メモリアレイのアドレスと中味とをチエツクする装置及び方法
US5319768A (en) Control circuit for resetting a snoop valid bit in a dual port cache tag memory
JP3461006B2 (ja) ランダムアクセスメモリにデータを記憶するために非原子レベルパリティ保護を実行する方法および装置
US5886930A (en) Bit interleaving in a memory which uses multi-bit DRAMs
US6594732B1 (en) Computer system with memory system in which cache memory is kept clean
EP0251686A2 (en) Method and apparatus for sharing information between a plurality of processing units
JPH04135267A (ja) マルチプロセッサ装置
AU602952B2 (en) Cache memory control system
JPS6129024B2 (ja)
JP2853555B2 (ja) 記憶制御装置
JP2600376B2 (ja) メモリ制御装置
US5428632A (en) Control circuit for dual port memory
JP2646807B2 (ja) マルチポートメモリ
JPH0756640B2 (ja) 記憶装置
JPH05108493A (ja) メモリ制御方式
JPS63126047A (ja) メモリ制御方式
JPH0341538A (ja) 主記憶装置
SU1256034A1 (ru) Устройство дл сопр жени двух ЭВМ с общей пам тью
JPH04233052A (ja) 二重化メモリ装置
JPH03126182A (ja) データサイジング回路