JPH04241050A - 計算機システムとその制御方法 - Google Patents

計算機システムとその制御方法

Info

Publication number
JPH04241050A
JPH04241050A JP3007521A JP752191A JPH04241050A JP H04241050 A JPH04241050 A JP H04241050A JP 3007521 A JP3007521 A JP 3007521A JP 752191 A JP752191 A JP 752191A JP H04241050 A JPH04241050 A JP H04241050A
Authority
JP
Japan
Prior art keywords
cache memory
data
computer system
memory
processor
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
JP3007521A
Other languages
English (en)
Inventor
Shinichiro Yamaguchi
伸一朗 山口
Nobuyasu Kanekawa
信康 金川
Masayuki Tanji
雅行 丹治
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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP3007521A priority Critical patent/JPH04241050A/ja
Priority to EP92300212A priority patent/EP0496506B1/en
Priority to CA002059143A priority patent/CA2059143C/en
Priority to DE69231452T priority patent/DE69231452T2/de
Publication of JPH04241050A publication Critical patent/JPH04241050A/ja
Priority to US08/434,288 priority patent/US5901281A/en
Priority to US09/188,903 priority patent/US6216236B1/en
Pending legal-status Critical Current

Links

Landscapes

  • Techniques For Improving Reliability Of Storages (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Detection And Correction Of Errors (AREA)

Abstract

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

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は計算機システムとその制
御方法に係り、特にマルチプロセッサ構成時の高効率か
つ高信頼なキャッシュメモリの運用が可能な計算機シス
テムとその制御方法に関するものである。
【0002】
【従来の技術】交通管制システム、金融システムなどの
社会の根幹を占める機能をコンピュータが担うようにな
ってきているが、これらの機能を担うコンピュータに障
害が発生し動作が停止すると、社会に大きな混乱を与え
ることから、コンピュータの信頼性が益々要求されてき
ている。
【0003】また一方でより高い処理性能のコンピュー
タへの要求に応えて、処理性能向上のためにマルチプロ
セッサ構成のコンピュータが広く用いられている。マル
チプロセッサ構成のコンピュータは図16に示すように
ベーシックプロセッシングユニット(Basic Pr
ocessing Unit 以下BPUという)20
0−1〜200−n,主記憶装置(Main Stor
age以下MSという)300,入出力ユニット(in
put/Output Unit 以下IOUという)
400、そしてBPU,MS,IOUを結ぶシステムバ
ス100から構成されている。それぞれのBPUは、マ
イクロプロセッシングユニット(Microproce
ssing Unit以下MPUという)201−1〜
201−n及びキャッシュメモリ220−1〜220−
nからなっている。
【0004】マルチプロセッサMPUにおいてキャッシ
ュメモリの使用は、実効メモリアクセス時間の高速化の
ほかに、キャッシュメモリヒットすることでBPUから
アクセスを出さない、つまりシステムバスの負荷を下げ
るという重要な効果がある。このためより高度なコピー
バック方式キャッシュメモリが最近用いられるようにな
った。コピーバック方式は、ライト時に主メモリを必ず
更新する従来のライトスルー方式と異なって、ライト時
もキャッシュメモリにしか書き込みを行わないので、よ
りバス負荷を少なく出来る。しかしコピーバック方式キ
ャッシュメモリでは、最新のデータがキャッシュメモリ
にしか存在しないことになるので、キャッシュメモリが
壊れたときのデータの信頼性を如何に保つかが問題とな
ってくる。これを解決する方法としてキャッシュメモリ
に誤り訂正符号を付加することが考えられる。しかし誤
り訂正符号は、その検査や生成に時間を要するため、キ
ャッシュメモリアクセス時間が伸びてしまうという欠点
がある。
【0005】またキャッシュメモリの制御面では、キャ
ッシュメモリのコヒーレンス問題の解決が大きな課題と
なっている。これは、複数のキャッシュメモリが同一の
データを保持しており、あるプロセッサがそのデータを
書き換えたときに、その更新情報を如何にして他のプロ
セッサに伝えるかという問題である。このための方式(
手順)は、キャッシュメモリコヒーレンスプロトコルと
呼ばれて、第1の文献「キャッシュメモリ  コヒーレ
ンス  プロトコル:エバルエーションユージング  
ア  マルチプロセッサ  シミュレーション  モデ
ル」“ジェームスアーキボルドとジャンーループ  ベ
ア:エーシーエム  トランザクション  コンピュー
タシステムズ、巻14.4号、1986年11月号(英
文)”Cache CoherenceProtoco
ls : Evaluation Using a M
ultiprocessor Simulation 
Model JAMESARCHIBALD and 
JEAN−LOUP BAER:ACM Transa
ctions Computer Systems、V
ol4, No 4,November 1986,p
p273ー298に述べられているようにいくつか提案
されている。これらのプロトコルはデータを更新したら
、その情報をバスに出力(ブロードキャスト)し、他の
キャッシュメモリは、此の出力を取り込んで(スヌーピ
ング)、自分のデータを更新あるいは消去(無効化)す
るのが原則となっている。これらのプロトコルの中で第
2の文献“「ア  ロウ  オーバヘッド  コヒーレ
ンス  ソリューション  フォー  マルチプロセッ
サズ  ウヰズプライベート  キャッシュメモリズ」
A Low Overhead Coherence 
Solution forMmulutiproces
sors with Private Cache M
emories”RUDOLPH, L and PA
TEL, J,In Proceedings of 
the 11th international Sy
mposium on ComputerArchit
ecture,1984,pp340ー347で提案さ
れている米国イリノイ大学の方式は、システムバスの負
荷を抑える効果が大きいといわれている。これらのプロ
トコルは、主に複数のプロセッサとメモリ間の関係に注
目して行われたものであり、それ以外のバス使用者(例
えば、IOU)からのアクセスまで考慮していない。
【0006】更に、最近のマイクロプロセッサは、集積
度の向上により、例えば米国モトローラ社のMC680
40マイクロプロセッサのように内部にキャッシュメモ
リを持つことが一般的になってきた。これらのプロセッ
サ内部キャッシュメモリは、年々容量が増加していると
は言うもののせいぜい4−16KBである。このため高
ヒット率を確保するためにセットアソシアティブ方式を
採っている。セットアソシアティブ方式は、キャッシュ
メモリ面を複数持つ方式であり、プロセッサのメモリア
クセスパタンに比較的合っているのでヒットしやすいと
言われている。これに対して、プロセッサの外部に設け
る外部キャッシュメモリは、実装上の問題からキャッシ
ュメモリ面が、1面のダイレクトマップ方式やせいぜい
2面のセットアソシアティブ方式を採るのが一般的であ
る。この時問題となるのは、内部キャッシュメモリと外
部キャッシュメモリのコヒーレンスである。例えば、内
部が4面で外部が1面の場合、内部キャッシュメモリに
だけあって外部キャッシュメモリに無いデータが存在す
る可能性がある。これは、前述のプロセッサ間のキャッ
シュメモリコヒーレンス制御と関係して問題を発生する
。つまりスヌーピングした結果、外部キャッシュメモリ
にデータがなければ、当該BPU内にはデータ無し(内
部キャッシュメモリが保持している場合でも)と判断さ
れてコヒーレンスが保てなくなるのである。
【0007】
【発明が解決しようとする課題】上記従来技術のうち第
一の文献では、主メモリのデータがECC(誤り訂正符
号)等の付加によって、1ビット誤りが許容されている
のに対して、キャッシュメモリ内データは、それが許容
されないため、計算機全体のデータ信頼性が低下してし
まうという問題点がある。
【0008】上記従来技術のうち第2の文献では、IO
UがDMA(ダイレクトメモリアクセス)リードした場
合、リードデータがキャッシュメモリに在ると、共有状
態(Shared)として、キャッシュメモリに残って
しまう。これは、周辺装置へ出力されてプロセッサが将
来に渡って使用しないデータが残ることになり、キャッ
シュメモリの使用効率を落してしまう問題点が在る。
【0009】上記従来技術のうち第3のマイクロプロセ
ッサでは、内部キャッシュメモリと外部キャッシュメモ
リの間でデータの不一致が生じて、プログラムが誤って
しまう問題点が在る。
【0010】本発明の目的は、コピーバック方式のキャ
ッシュメモリを用いてもデータの信頼性が低下しない計
算機システムとその制御方法を提供することにある。
【0011】本発明の別の目的は、不要データの保持を
避け、キャッシュメモリの使用効率をあげる計算機シス
テムとその制御方法を提供することにある。
【0012】本発明の別の目的は、内部キャッシュメモ
リと外部キャッシュメモリの間でデータの不一致が生じ
ない計算機システムとその制御方法を提供することにあ
る。
【0013】
【課題を解決するための手段】本発明は、上記目的を達
成するためにパリティチェックによって1ビット誤りが
検出可能な複数個のキャッシュメモリとこの中から1つ
のキャッシュメモリをプロセッサと接続する接続手段を
設け、通常はキャッシュメモリを同一動作させ内容を同
じに保つ。そしてパリティエラーが発生したときには、
接続手段によって誤ったキャッシュメモリを切り離して
、他の正常なキャッシュメモリをプロセッサに接続して
処理を続ける。そして一度正常なキャッシュメモリの内
容を主メモリに掃きだした後、全キャッシュメモリをリ
セットし、再度立ち上げる。
【0014】また本発明は、上記目的を達成するために
メモリをアクセスするときに、アドレスだけでなく、な
んの目的でアクセスするかを出力し、これを伝える信号
線をシステムバス上に設ける。そして、スヌープする側
は、DMAリードあるいはTAS(Test & Se
t)やCAS(Compare& Swap)命令のよ
うな不可分な命令の最初のリードのときには、共有状態
でなく無効化状態にする。
【0015】また本発明は、上記目的を達成するために
外部キャッシュメモリのエントリの状態を管理するビッ
トとして、該エントリが内部キャッシュメモリにも在る
か否かを示す存在ビットを設ける。そして、外部キャッ
シュメモリ制御回路は、存在ビットがオンしているとき
には、該エントリをメモリに掃きださないか、あるいは
掃きだすときには、内部キャッシュメモリのエントリを
無効化して、データのコヒーレンスを保つ。
【0016】
【作用】上記のようにパリティチェック機能だけを持つ
キャッシュメモリを複数個準備することで、キャッシュ
メモリアクセス時間を増加させること無く、1ビット誤
りを救済できる。
【0017】また不必要なデータをキャッシュメモリ内
に保持することが無くなるので、キャッシュメモリの使
用効率を高めることが出来る。
【0018】またキャッシュメモリが多階層になっても
、階層間のコヒーレンスを保証できるので、バスを介し
たプロセッサ間のコヒーレンス制御と合わせることによ
って、システム全体のコヒーレンスを保つことが出来る
【0019】
【実施例】以下本発明の実施例を図を用いながら説明す
る。
【0020】図2は、本発明が適用される計算機システ
ムの全体構成図である。プロセッサMPU及びキャッシ
ュメモリCache を含むベーシックプロセッシング
ユニットBPU200は、2重化されたシステムバス1
00,101を介して主記憶MS300、及び周辺装置
とのインターフェイス回路IOU400に接続される。 この構成は、メモリ共有型あるいは密結合型マルチプロ
セッサと呼ばれるもので、ここではBPU、MS、IO
Uの数を2つづつとしたが、一般にBPU,MS,IO
Uは、任意の個数を採ることが出来る。また第2図で、
BPU,IOU,MSは、それぞれ1ボード(配線基盤
)で構成されている。
【0021】図1は、BPU200の内部構成図である
。マイクロプロセッサMPU201,202,203の
それぞれからの32ビット巾のアドレスA,32ビット
巾のデータDは、内部バス8,9に接続される。ここで
各MPUはその内部に図示せぬキャッシュメモリ(請求
範囲ではこれを第1のキャシュメモリと称している)を
有し、例えば4セットアソシアティブ方式のものとされ
る。220は、MPUの外部に設けられるキャシュメモ
リ(請求範囲ではこれを第2のキャシュメモリと称して
いる)であり、以下のような仕様を持つ。
【0022】 容量              :  512キロバ
イトラインサイズ      :  32バイトライン
置き換え方式:  コピーパックライン多重化    
  :  2セットアソシアティブキャッシュメモリに
ついては、後で再度説明する。221は、220と同一
構成のキャッシュメモリであり、通常は、220がMP
U201とMPU202に内部バス8−1,9−1,8
−2、9−2を介して接続され、221がMPU203
と内部バス8−3,9−3を介して接続される。250
は、キャッシュメモリのパリテイエラーを検出するパリ
テイチェッカーである。270,271は、同一構成の
バスインターフェイスユニットであり、内部バス8,9
とシステムバス100,101を接続する。280は、
他のBPUのメモリアクセスを監視するスヌーバであり
、キャッシュメモリ220と同じ内容のタグを持つ。そ
してシステムバス100上のアドレスがヒットした場合
には、そのアドレスを内部バス8を介して、キャッシュ
メモリ220に伝えるとともに、監視結果をシステムバ
スのCST信号線に出力する(図5参照)。281は、
280と同じ構成を採る。10,11,12,13,1
4,15は、内部バス8,9に対するパリティ生成とチ
ェックを行うパリティ回路である。 230は、MPU201,202,203の出力データ
を比較照合して、動作不良のプロセッサを検出する比較
照合回路である。20,21,22,23,24,25
,26,27,29は、3ステートバッファである。
【0023】さてキャッシュメモリは、一般的にタグ(
ディレクトリ,アドレスアレイと呼ぶこともある)部と
データ部から成っている。図3と、図4は、キャッシュ
メモリ200の各ラインの構成を示したものである。 キャッシュメモリのデータ部は、図3に示すように32
バイト/ラインであり、バイト毎に奇数パリティPを有
する。パリテイチェッカ250は、このパリテイを用い
てエラー検出を行う。図4のタグ部のPAは、上記ライ
ンの主メモリ内アドレス上位12ビットである。STA
TUSは、当該ラインの状態を示すビットであり、00
が無効データの保持状態(INV)01が他のBPUの
キャッシュメモリに同じデータが存在せず、かつそのデ
ータがMS内のデータと一致している状態(EXU) 10が他のBPUのキャッシュメモリにも同じデータが
存在し、かつそのデータがMS内のデータと一致してい
る状態(SHU) 11が他のBPUのキャッシュメモリに同じデータが存
在せず、かつそのデータがMS内のデータと一致してい
ない状態(MOD)を示している。すなわち、MODは
自MPUによってキャッシュメモリへの書き込みが行わ
れた状態を示している。P0,P1は、PA,STAT
USの奇数パリティであるパリテイチェッカ250は、
このパリテイを用いてエラー検出を行う。
【0024】図1のシステムバス100、101には、
アドレスやデータや制御信号が含まれるが、これらは当
業者周知のことであり、本実施例では説明を省略するが
、このうちCSTは、バスマスタ以外のBPUのスヌー
パ280,281が、バスマスタのメモリアクセスを監
視(スヌープ)した結果を出力するための信号線である
。スヌーパ280、281は、以下のように動作してC
ST信号を生成する。 00  :当該アドレスのデータが存在しなかった01
  :当該アドレスが存在して、そのラインのステータ
スが、EXU01あるいはSHU10で合ったこと10
  :当該アドレスが存在して、そのラインのステータ
スが、MOD11 11  :エラー であったことを示す。
【0025】図6は、キャッシュメモリのラインステー
タス遷移図である。601,602,603,604は
、それぞれキャッシュメモリのラインのステータスを示
す。矢印付き実線は、自BPU内のMPUからのアクセ
スによって遷移する場合を示し、破線は、スヌ−パによ
って伝えられえる他のBPUのシステムバスアクセスに
よって遷移する場合を示している。線上に書かれたもの
は、/の左側が遷移条件を示し、/の右側が遷移すると
きに行なうシステムバスに対する動作を示している。 以下主な遷移を説明する。
【0026】EXU状態(602)でライトアクセスが
発生するとキャッシュだけを更新して、MOD状態(6
04)に遷移する(605)。SHU状態(603)で
ライトアクセスが発生するとキャッシュを更新するとと
もに、他のキャッシュに対してラインの無効化(Inv
alidate)要求を行なってMOD状態(604)
に遷移する(606)。何れの状態にあってもMPUか
らのリードアクセスがミスしたときには、メモリに対し
てライン単位のリードを行ない、他BPUからシステム
バスにCST=01が出力されればSHU状態(603
)に遷移し、CST=00ならばEXU状態(602)
に遷移する。図7にこのときのシステムバスのタイムチ
ャートを示す。
【0027】EXU状態(602)で他のキャッシュが
ライトアクセスによってキャッシュミスしてメモリに対
してライン単位のリード(本実施例では、32バイトの
リードアクセスとなる)を行なった場合、そのラインは
更新されることが判っているので、予めINV状態(6
01)に遷移する(608)。あるいは、他のキャッシ
ュがライン単位以下のアクセス(本実施例では1,2,
4バイトアクセス)を行なった場合、これらのアクセス
はTAS/CAS命令で使用され、その後メモリライト
を伴うことが多かったり、周辺装置がメモリアクセスを
行なうときに使用され、そのデータは以後MPUによっ
て使用される確立が非常に小さくなるので、予めINV
状態(601)に遷移する(608)。609,610
も同様の理由による遷移を行なう。これによってキャッ
シュメモリの効率を向上できる。MOD状態(604)
のとき他のキャッシュがキャッシュリードミスによって
ライン単位のリードを行なった場合、そのラインの最新
データは本キャッシュにあるので、システムバスにCS
T=10を出力して、該バスマスタに体してアクセスの
やりなおしを指示するとともに、最新のラインをメモリ
に書き戻す(Push)、そしてEXU状態(602)
に遷移する(611)。このときのシステムバス上のタ
イムチャートを図8に示す。他のキャッシュがライン単
位のリード801を行なうと、MOD状態(604)の
キャッシュがスヌープの結果としてCST=10を出力
する(804)。つぎにCST=10を出力したキャッ
シュが最新データをメモリに書き出す(802)。その
後前出のキャッシュが再度ライン単位のリード803を
行なう。EXU(602)あるいはSHU状態(603
)のとき、他のキャッシュがキャッシュリードミスによ
ってライン単位のリードを行なった場合、そのラインの
データは本キャッシュも保持しているので、システムバ
スにCST=01を出力して、SHU状態(603)に
遷移する(612,613)。
【0028】図9と10を用いてキャッシュメモリ22
0,221の機能を更に詳しく説明する。図9は、プロ
セッサからのライトアクセスに対する処理フローを示し
ている。キャッシュメモリにヒットしてかつ、他のキャ
ッシュメモリにデータが無い場合(901)、直ちにキ
ャッシュメモリに書き込みを行う。しかしキャッシュメ
モリにヒットして、他のキャッシュメモリにデータが有
った場合(902)、一旦マイクロプロセッサMPUに
対してアクセスをやり直すように応答し、BIU270
,271を介して他のキャッシュメモリの同一ラインを
無効化して、自分はEXU状態に遷移する。一方キャッ
シュメモリにヒットせずかつ、2セットのうちにINV
状態のラインが存在した場合(903)、メモリに対し
てライン単位のリード要求を行う。しかしキャッシュメ
モリにヒットせずかつ、2セットのうちにINV状態の
ラインが存在しなかった場合(904)、一旦マイクロ
プロセッサMPUに対してアクセスをやり直すように応
答し、Lビットがオフのラインのアドレスを出力してM
PU内の同一ラインを無効化するように指示する。そし
て自分は、当該ラインをINV状態にする。902,9
04の場合は、一度処理を終了し、68040の再度の
アクセスによって901,903の処理を行うようにな
る。
【0029】図10は、プロセッサからのリードアクセ
スに対する処理フローを示している。キャッシュメモリ
にヒットした場合(1001)、直ちにキャッシュメモ
リからデータを読みだしてプロセッサに応答する。一方
キャッシュメモリにヒットせずかつ、2セットのうちに
INV状態のラインが存在した場合(1002)、メモ
リに対してライン単位のリード要求を行った後、キャッ
シュメモリからデータを読みだしてプロセッサに応答す
る。しかしキャッシュメモリにヒットせずかつ、2セッ
トのうちにINV状態のラインが存在しなかった場合(
1003)、一旦MPUに対してアクセスをやり直すよ
うに応答し、Lビットがオフのラインのアドレスを出力
して68040内の同一ラインを無効化するように指示
する。そして自分は、当該ラインをINV状態にする。 1003の場合は、一度処理を終了し、MPUの再度の
アクセスによって1002の処理を行う。
【0030】次に図1に戻り、BPUボード内での動作
例を説明する。例えば、MPUからライトアクセスを行
う場合、MPUA201,MPUB202,MPUC2
03(以下まとめてMPUと呼ぶ)の出力信号(アドレ
ス,データ)には、パリティ生成/検査器10,11,
12,13,14,15によりまずパリティをつける。 MPU201,202,203の出力信号(アドレス,
データ,制御信号)は照合回路(CHKAB231,C
HKBC233,CHKCA232)で比較照合される
。尚、図中ではアドレス、データの信号線のみ描いてお
り、制御信号線は省略してある。
【0031】以上のようにして照合回路(CHKAB2
31,CHKBC232,CHKCA233)によりM
PU201,202,203およびパリティ生成/検査
器10,11,12,13,14,15の異常を検出す
ることができる。
【0032】またMPU201,202,203および
パリティ生成/検査器10,11,12,13,14,
15の単一故障による異常の場合には、表1のように照
合回路 (CHKAB231,CHKBC233,CH
KCA232) のうち2つの照合回路で不一致が発生
するという法則性から、1あるいは3つの照合回路で不
一致が発生した場合は照合回路自体の異常が検出できる
。従って、表2のようにして各MPUの正常/異常を判
定できる。
【0033】
【表1】
【0034】
【表2】
【0035】表2の判定をまとめると、MPUA201
,MPUB203が正常であるという事象Ag、Cgは
それぞれ次の論理式で表される。
【0036】 Ag=「AB・「CA+「AB・BC・CA+AB・B
C・「CA    …(1)  Cg=「BC・「CA
+AB・「BC・CA+AB・BC・「CA  …(2
)   ただし、   AB:MPUA201、MPU
B202の出力が不一致              
      であるという事象(CHKAB231で検
出)              BC:MPUB20
2、MPUC203の出力が不一致         
           であるという事象(CHKBC
233で検出)              CA:M
PUC203、MPUA201の出力が不一致    
                であるという事象(
CHKCA232で検出)             
   ・:論値積(AND)            
    +:論理和(OR)            
    「:否定(NOT)照合回路234、235で
は式(1),(2)によりMPUA201,MPUC2
03が正常か異常かの判定をし、異常であった場合には
内部バスへ出力する3ステートバッファ20,21,2
3,24、を高インピーダンス状態にし、内部バス間を
結ぶ3ステートバッファ29を通じて正常なMPUの出
力を他方のバスへ供給する。
【0037】例えば、MPUA201で異常が発生した
場合を考える。照合回路234では式(1)に基づく判
断によりMPUA201が異常であると判断し、MPU
A201から内部バスへ通じる3ステートバッファ20
,21を高高インピーダンス状態にし、内部バス間を結
ぶ3ステートバッファ29を通じて正常なMPUC20
3の出力をキャッシュメモリ220、BIU270nな
どに供給する。以上の動作はMPUC203で異常が発
生した場合でも同じである。
【0038】MPUA201,MPUB202,MPU
C203の出力信号のうちアドレス、データはパリティ
生成/検査器10,11,12,13,14,15でパ
リティをつけられ、アドレス,データ,制御信号はパリ
ティも含めてCHKAB231,CHKBC233,C
HKCA232で比較照合される。比較照合の結果はE
RRCHK234,235に入力されて、式(1),(
2)に基づいてMPUA201,MPUC203の正常
異常が判定される。
【0039】パリティ生成/検査器10,11,12,
13,14,15は、MPUA201,MPUB202
,MPUC203からのリード/ライト信号の多数決を
とり、ライトアクセス時にはパリティ生成、リードアク
セス時にはパリティ検査をする用に切り替えている。こ
のようにリード/ライト信号の多数決を採ることにより
、MPUA201,MPUB202,MPUC203の
うちいずれか1個で異常が発生してもパリティ生成/検
査器10,11,12,13,14,15は異常の影響
を受けずに正常に動作することができる。
【0040】なお、この内部バス間を結ぶ3ステートバ
ッファ29を通じて正常なMPUの出力を他方のバスへ
供給する動作は、通常の経路でのライトアクセスに比べ
、切り替えに時間がかかり、しかもバス間で迂回するた
めに時間がかかる。そのため、異常発生時にのみリトラ
イによりバスサイクルを延長すれば、正常時のバスサイ
クルの遅延を招かずに実施例を実現できる。MPUにバ
スサイクルを終了させたり、リトライをさせたりするた
めの信号線はMPUの種類によって名称が異なるが、多
くのMPUはでリトライ信号をMPUに入力することに
よりMPUが自動的に実行する。表3に代表的なMPU
の信号名を示す。なお、以下この明細書中では6804
0を例にとり、信号名としてTA#,TEA#(#は信
号線がactive lowであることを示す)を用い
る。
【0041】
【表3】
【0042】図11は正常時、図12は異常時の信号の
流れを模式的に表したものである。通常MPUからはデ
ータ信号に先立ってアドレス信号が出力される。図11
ではアドレス信号,データ信号共に正常であったために
照合回路234,パリテイチェック回路250で正常と
判定され、MPUA201,MPUB202,MPUC
203にはTA#が返され、キャッシュメモリではデー
タを格納しバスサイクルが終了する。
【0043】図12ではMPUA201−1が異常で、
アドレス信号、データ信号共に照合回路234により異
常と判定され、MPUA201,MPUB202,MP
UC203にはTA#とともにTEA#が返されリトラ
イ動作に入る。リトライ動作時には3ステートバッファ
20,21を高インピーダンス状態にして、MPUA2
01からの出力を停止し、3ステートバッファ29をつ
うじてMPUC203の出力信号をキャッシュ220に
供給する。リトライ動作時にはMPUA201,MPU
B202,MPUC203へTA#を返してリトライ動
作を終了する。次にキャッシュリードアクセスについて
説明する。
【0044】図13は正常時、図14はアドレス信号異
常時、図15はデータ信号異常時の信号の流れを模式的
に示したものである。
【0045】図13では異常が見られないのでMPUA
201,MPUB202,MPUC203にはTA#が
返され、MPUA201,MPUB202,MPUC2
03はキャッシュからのデータを格納してバスサイクル
を終了する。
【0046】図14では、MPUA201のアドレス信
号が他と一致せずに異常を判断され、MPUA201,
MPUB202,MPUC203にはTA#とともにT
EA#が返されリトライ動作に入る。リトライ動作時に
は3ステートバッファ21を高インピーダンス状態にし
て、MPUA201からの出力を停止し、3ステートバ
ッファ29をつうじてMPUC203のアドレス出力信
号をキャッシュ220に供給し、キャッシュ220は与
えられたアドレスに格納されているデータをMPUA2
01,MPUB202に供給する。リトライ動作時には
MPUA201,201,MPUB202,MPUC2
03へTA#を返してリトライ動作を終了する。
【0047】図15では、キャッシュメモリ220から
のデータに異常(パリティエラー)がありパリティ検査
器250、パリティ生成/検査器10,12でのパリテ
ィチェックにより異常が検出され、MPUA201,M
PUB202,MPUC203にはTA#とともにTE
A#が返されリトライ動作に入る。リトライ動作時には
キャッシュメモリ220−1の出力は高インピーダンス
状態となり、3ステートバッファ29を通じてキャッシ
ュメモリ221の出力をMPUA201,MPUB20
2−1に供給する。なおこの場合、念のために3ステー
トバッファ26を高インピーダンス状態とし、3ステー
トバッファ27を通じてキャッシュメモリ221の出力
をMPUB202に供給することによりキャッシュメモ
リ220からMPUB202へのデータ信号の経路の異
常により誤ったデータがMPUB202へ供給されるの
を防ぐことができる。本実施例では、各MPUに対して
2つのパリティチェック機能だけを持つ2つのキャッシ
ュメモリを準備してデータの信頼性を向上したが、3つ
以上のキャッシュメモリを準備することで更に信頼性を
向上させることが可能となる。
【0048】図1〜図15に示す本実施例により、BP
U200の内部でフォールトが発生しても、BPU20
0は正常動作を続けることが可能となる。そのためデー
タ処理の途中でフォールトが発生した場合には、(1)
切りの良い時点または、修理保守時期まで、当該BPU
での動作を継続させ、 (2)切りの良い時点または、修理保守時期に当該BP
Uで実行しいた処理を他の正常なBPUに引き継がせれ
ば良い。
【0049】そのために、フォールト発生時のチェック
ポイントリスタートに備えてのバックアップ動作が不要
となり、処理性能を向上させることができる。
【0050】本実施例では、スヌーピング用のタグとプ
ロセッサからのアクセスに使用するタグを共用する例を
示したが、当業者周知のこととしてタグの負荷を軽減す
る方法としてそれぞれに専用のタグを用いる事も可能で
ある。又プロセッサについては、モトローラ社のものだ
けでなくあらゆるタイプのプロセッサによって構成でき
ることは、自明である。
【0051】
【発明の効果】本発明によれば、以下の効果が得られる
【0052】(1)多階層のキャッシュメモリ構成を持
つデータ処理装置において、1次キャッシュメモリが2
次キャッシュメモリよりもセット数の少ないセットアソ
シアティブ方式を持ったとしても、1次と2次の間でデ
ータの不一致を招くことは無い。即ちデータのコヒーレ
ンスを保つことが可能となる。
【0053】(2)コピーバック方式のキャッシュを用
いても、アクセス時間を遅延させること無く、データの
信頼性を維持できる。
【0054】(3)キャッシュメモリに不要なデータを
保持する確率が低くなるので、キャッシュメモリを効率
良く使用できる。
【0055】これらの効果によって高速なマイクロプロ
セッサを複数個用いて、より高性能なデータ処理装置が
実現できる。
【図面の簡単な説明】
【図1】中央処理装置構成図。
【図2】データ処理装置の全体構成図。
【図3】キャッシュメモリ構成図。
【図4】キャッシュメモリライン構成図。
【図5】システムバス信号線抜粋。
【図6】キャッシュライン状態遷移図。
【図7】メモリアクセス時のバスサイクル例。
【図8】メモリアクセス時のバスサイクル例。
【図9】キャッシュデータのリードアクセス処理手順。
【図10】キャッシュデータのライトアクセス処理手順
【図11】正常時の信号の流れ。
【図12】異常時の信号の流れ。
【図13】正常時の信号の流れ。
【図14】アドレス信号異常時の信号の流れ。
【図15】データ信号異常時の信号の流れ。
【図16】マルチプロセッサのシステム構成図。
【符号の説明】
200…BPU、201,202,203…MPU。

Claims (10)

    【特許請求の範囲】
  1. 【請求項1】命令を実行するプロセッサと、該プロセッ
    サに接続されるnセットアソシアティブ方式(nは自然
    数)の第1のキャッシュメモリと、第1のキャッシュメ
    モリに接続されるmセットアソシアティブ方式(mはn
    より小さい自然数)の第2のキャッシュメモリを有する
    計算機システムの制御方法において、第2のキャッシュ
    メモリの各エントリーが削除されるとき、削除情報を第
    1のキャッシュメモリに通達することを特徴とする計算
    機システムの制御方法。
  2. 【請求項2】請求項1の計算機システムの制御方法にお
    いて、第2のキャッシュメモリでエントリのリプレース
    が生じたときには、選択したセットのエントリに対応す
    る第1のキャッシュメモリのエントリを無効化すること
    を特徴とする計算機システムの制御方法。
  3. 【請求項3】命令を実行するプロセッサと、該プロセッ
    サに接続されるnセットアソシアティブ方式(nは自然
    数)の第1のキャッシュメモリと、該第1のキャッシュ
    メモリに接続されるmセットアソシアティブ方式(mは
    nより小さい自然数)の第2のキャッシュメモリを有す
    る計算機システムの制御方法において、第1のキャッシ
    ュメモリに存在するエントリーを全て第2のキャッシュ
    メモリに存在させることを特徴とする計算機システムの
    制御方法。
  4. 【請求項4】命令を実行するプロセッサと、該プロセッ
    サに接続されるnセットアソシアティブ方式(nは自然
    数)の第1のキャッシュメモリと、該第1のキャッシュ
    メモリに接続されるmセットアソシアティブ方式(mは
    nより小さい自然数)の第2のキャッシュメモリを有す
    る計算機システムの制御方法において、第2のキャッシ
    ュメモリに存在するエントリーだけを第2のキャッシュ
    メモリに存在させることを特徴とする計算機システムの
    制御方法。
  5. 【請求項5】命令及びデータを格納するメモリと命令の
    実行を行う複数個のプロセッサを有する計算機システム
    において、各プロセッサは該プロセッサに接続され該メ
    モリの一部の内容を格納するコピーバック方式のキャッ
    シュメモリを有し、該キャッシュメモリは、ラインと呼
    ぶ複数バイトの単位でデータを管理し、各ラインは、そ
    の状態として無効データ保持する第1の状態、他プロセ
    ッサのキャッシュメモリに同じデータが存在せず、かつ
    そのデータがメモリのデータと一致している第2の状態
    、プロセッサのキャッシュメモリに同じデータが存在し
    、かつそのデータがメモリのデータと一致している第3
    の状態、プロセッサのキャッシュメモリに同じデータが
    存在せず、かつそのデータがメモリのデータと一致して
    いない第4の状態を有し、第2の状態では他のキャッシ
    ュメモリが該キャッシュメモリの接続されているプロセ
    ッサからのライトアクセスによってキャッシュメモリミ
    スし、メモリに対してライン単位のリードを行なった場
    合、あるいは他のキャッシュメモリがライン単位以下の
    アクセスを行った場合にそのラインを第1の状態に遷移
    することを特徴とする計算機システムの制御方法。
  6. 【請求項6】命令及びデータを格納するメモリと命令の
    実行を行うプロセッサを有する計算機システムにおいて
    、該メモリに接続され該メモリの一部の内容を格納する
    コピーバック方式の第1のキャッシュメモリと第1のキ
    ャッシュメモリと同一の機能を有する第2のキャッシュ
    メモリを複数個有し、第1のキャッシュメモリで障害が
    生じたときに第1のキャッシュメモリの代わりに第2の
    キャッシュメモリの一部を新たな第1のキャッシュメモ
    リとして使用することを特徴とする計算機システム。
  7. 【請求項7】請求項6の計算機システムにおいて、第1
    のキャッシュメモリと第2のキャッシュメモリは、障害
    検出の手段としてパリティチェックを用いることを特徴
    とする計算機システム。
  8. 【請求項8】請求項6の計算機システムにおいて、第1
    のキャッシュメモリと第2のキャッシュメモリは、内容
    一致のために1つのリセット信号を共有することを特徴
    とする計算機システム。
  9. 【請求項9】命令を実行するプロセッサと、該プロセッ
    サに接続されるnセットアソシアティブ方式(nは自然
    数)の第1のキャッシュメモリと、第1のキャッシュメ
    モリに接続されるmセットアソシアティブ方式(mはn
    より小さい自然数)の第2のキャッシュメモリを有し、
    第1のキャッシュメモリと第2のキャッシュメモリは、
    内容一致のために同一のクロックを使用することを特徴
    とする計算機システム。
  10. 【請求項10】請求項9記載の計算機システムにおいて
    、第1のキャッシュメモリはプロセッサと同一シリコン
    上に形成され、第2キャッシュメモリは該シリコン外に
    設けられることを特徴とする計算機システム。
JP3007521A 1991-01-25 1991-01-25 計算機システムとその制御方法 Pending JPH04241050A (ja)

Priority Applications (6)

Application Number Priority Date Filing Date Title
JP3007521A JPH04241050A (ja) 1991-01-25 1991-01-25 計算機システムとその制御方法
EP92300212A EP0496506B1 (en) 1991-01-25 1992-01-10 Fault tolerant computer system incorporating processing units which have at least three processors
CA002059143A CA2059143C (en) 1991-01-25 1992-01-10 Processing unit for a computer and a computer system incorporating such a processing unit
DE69231452T DE69231452T2 (de) 1991-01-25 1992-01-10 Fehlertolerantes Rechnersystem mit Verarbeitungseinheiten die je mindestens drei Rechnereinheiten haben
US08/434,288 US5901281A (en) 1991-01-25 1995-05-03 Processing unit for a computer and a computer system incorporating such a processing unit
US09/188,903 US6216236B1 (en) 1991-01-25 1998-11-10 Processing unit for a computer and a computer system incorporating such a processing unit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP3007521A JPH04241050A (ja) 1991-01-25 1991-01-25 計算機システムとその制御方法

Publications (1)

Publication Number Publication Date
JPH04241050A true JPH04241050A (ja) 1992-08-28

Family

ID=11668081

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3007521A Pending JPH04241050A (ja) 1991-01-25 1991-01-25 計算機システムとその制御方法

Country Status (1)

Country Link
JP (1) JPH04241050A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0916473A (ja) * 1995-06-28 1997-01-17 Kofu Nippon Denki Kk キャッシュ索引の障害訂正装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0916473A (ja) * 1995-06-28 1997-01-17 Kofu Nippon Denki Kk キャッシュ索引の障害訂正装置

Similar Documents

Publication Publication Date Title
JP2916420B2 (ja) チェックポイント処理加速装置およびデータ処理方法
US6467048B1 (en) Apparatus, method and system for using cache memory as fail-over memory
US7987407B2 (en) Handling of hard errors in a cache of a data processing apparatus
US5113514A (en) System bus for multiprocessor computer system
US6505305B1 (en) Fail-over of multiple memory blocks in multiple memory modules in computer system
US6148416A (en) Memory update history storing apparatus and method for restoring contents of memory
US20160378344A1 (en) Processor and platform assisted nvdimm solution using standard dram and consolidated storage
US8190951B2 (en) Handling of errors in a data processing apparatus having a cache storage and a replicated address storage
US20130170334A1 (en) Information processing apparatus, computer-readable recording medium, and control method
US20130174224A1 (en) Information processing apparatus and unauthorized access prevention method
US7240277B2 (en) Memory error detection reporting
US7783843B2 (en) Bus interface adapted to coalesce snoop responses
JP2003162447A (ja) エラー回復
JPH09511088A (ja) マルチプロセッサ・システムのための高可用性のエラー自己回復共用キャッシュ
JP3693555B2 (ja) アドレスエラーから回復するためのシステムおよび方法
US20120311248A1 (en) Cache line lock for providing dynamic sparing
JP5021978B2 (ja) マルチプロセッサシステム及びその動作方法
Doettling et al. S/390 Parallel Enterprise Server Generation 3: A balanced system and cache structure
US10241906B1 (en) Memory subsystem to augment physical memory of a computing system
JPH04241050A (ja) 計算機システムとその制御方法
US11176042B2 (en) Method and apparatus for architectural cache transaction logging
JP3083786B2 (ja) メモリ更新履歴保存装置およびメモリ更新履歴保存方法
JP5163061B2 (ja) マルチプロセッサシステム、マイクロプロセッサ、及びマイクロプロセッサの障害処理方法
Shen et al. State assignment for general fsm networks
JP2968484B2 (ja) マルチプロセッサ計算機及びマルチプロセッサ計算機における障害復旧方法