JP2005010995A - マルチプロセッサシステム及びそのライトバックの障害処理方法 - Google Patents

マルチプロセッサシステム及びそのライトバックの障害処理方法 Download PDF

Info

Publication number
JP2005010995A
JP2005010995A JP2003173300A JP2003173300A JP2005010995A JP 2005010995 A JP2005010995 A JP 2005010995A JP 2003173300 A JP2003173300 A JP 2003173300A JP 2003173300 A JP2003173300 A JP 2003173300A JP 2005010995 A JP2005010995 A JP 2005010995A
Authority
JP
Japan
Prior art keywords
processor
write
state
cache
processors
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.)
Withdrawn
Application number
JP2003173300A
Other languages
English (en)
Inventor
Kenichi Sasaki
賢一 佐々木
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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP2003173300A priority Critical patent/JP2005010995A/ja
Publication of JP2005010995A publication Critical patent/JP2005010995A/ja
Withdrawn legal-status Critical Current

Links

Images

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Debugging And Monitoring (AREA)
  • Multi Processors (AREA)

Abstract

【課題】ライトバック方式キャッシュメモリを搭載したプロセッサをバス接続したマルチプロセッサシステムにおいて、プロセッサのアーキテクチャを変更することなく、ライトバック時に障害が発生した際、ライトバックを発行したプロセッサを特定して障害処理を行う。
【解決手段】ライトバック方式キャッシュメモリを有する複数のプロセッサ3,4,5と、複数のプロセッサ3,4,5において発生するライトバックの障害処理を行うシステムコントローラ1とがシステムバス6に接続されたマルチプロセッサシステムにおいて、システムコントローラ1は、各プロセッサ3,4,5について、システムバス6へ発行されたメモリ読み出し命令に対応するキャッシュラインの状態を保持するキャッシュライン状態保持回路9,10,11を有している。
【選択図】 図1

Description

【0001】
【発明の属する技術分野】
本発明は、ライトバック方式キャッシュメモリを搭載したプロセッサをバス接続したマルチプロセッサシステム及びそのライトバックの障害処理方法に関するものである。
【0002】
【従来の技術】
従来、ライトバック方式キャッシュメモリを搭載したプロセッサをバス接続したマルチプロセッサシステムでは、図4に示すように各プロセッサ41,42,43においてキャッシュラインを書き換えた状態で保持していることを示すダーティヒット信号45をワイヤードオア接続していたため、ライトバック時に障害が発生したプロセッサを特定することができなかった。すなわち、1つのプロセッサがダーティ状態で保持しているキャッシュラインが、メモリ読み出し命令をシステムバス44に発行したプロセッサとシステムコントローラ46へ自動的に転送されるインプリシットライトバックで障害が発生した場合、システムをシャットダウンしていた。
【0003】
システムの可用性を向上させるためには、ライトバック時に障害が発生した際、ライトバックを発行したプロセッサを特定する必要がある。障害が発生したプロセッサを特定するための簡単な方法としては、インプリシットライトバック命令にプロセッサ番号を含める方法や、障害検出用にプロセッサからダーティヒット信号を別に出力する方法が考えられる。
【0004】
例えば、個々のプロセッサの内部に障害のレベルを判定する障害処理ユニットを設け、ライトバック方式のL2キャッシュを制御するL2キャッシュ制御ユニットやバスインターフェースユニット等が健全でスヌープ処理が続行可能な場合には、障害のプロセッサ内部ではプロセッサリセットに関係なくスヌープ処理を継続させ、特定のプロセッサの障害にてL2キャッシュ間のコヒーレンシが損なわれることによるシステムダウンを回避するものがある(たとえば特許文献1参照)。
【特許文献1】
特開2000−181889号公報
【0005】
【発明が解決しようとする課題】
しかしながら上述のインプリシットライトバック命令にプロセッサ番号を含める方法や、障害検出用にプロセッサからダーティヒット信号を別に出力する方法では、プロセッサのアーキテクチャの変更が必要となる。アーキテクチャの変更は、従来プロセッサとの互換性を保つ上で問題となり、対応するために新たな開発が必要となる。
【0006】
本発明は、ライトバック方式キャッシュメモリを搭載したプロセッサをバス接続したマルチプロセッサシステムにおいて、プロセッサのアーキテクチャを変更することなく、ライトバック時に障害が発生した際、ライトバックを発行したプロセッサを特定して障害処理を行うマルチプロセッサシステム及びそのライトバックの障害処理方法を提供することを目的とする。
【0007】
【課題を解決するための手段】
本発明のマルチプロセッサシステムは、ライトバック方式キャッシュメモリを有する複数のプロセッサ(図1の3,4,5)と、複数のプロセッサ(図1の3,4,5)において発生するライトバックの障害処理を行うシステムコントローラ(図1の1)とがシステムバス(図1の6)に接続されたマルチプロセッサシステムにおいて、システムコントローラ(図1の1)は、各プロセッサ(図1の3,4,5)について、システムバス(図1の6)へ発行されたメモリ読み出し命令に対応するキャッシュラインの状態を保持するキャッシュライン状態保持回路(図1の9,10,11)を有している。
【0008】
例えば第1プロセッサ(図1の3)が、あるメモリアドレスのデータを書き換える際、メモリ読み出し命令(以下、ロード命令という)をシステムバス(図1の6)へ発行する。ロード命令がシステムバス(図1の6)に発行されると、システムバス(図1の6)に接続された全プロセッサがプロセッサのキャッシュライン状態確認(以下、スヌープという)を行う。例えば、第2プロセッサ(図1の4)が、キャッシュラインを書き換えた状態(以下、ダーティ状態という)で保持しているとすると、第2プロセッサ(図1の4)は、キャッシュラインをダーティ状態で保持していることを示す信号(以下、ダーティーヒット信号という)を出力する。そのとき、第2プロセッサキャッシュ状態保持回路(図1の10)へ第2プロセッサのキャッシュライン状態を保持する。その後、第2プロセッサがダーティ状態で保持しているキャッシュラインが、第1プロセッサ(図1の3)とシステムコントローラ(図1の1)へ自動的に転送される(以下、インプリシットライトバックという)。第2プロセッサ(図1の4)から転送されたインプリシットライトバックで障害(例えば、ECCの2ビットエラー)が発生した場合、障害検出回路(図1の7)で障害を検出し、第2プロセッサ停止回路(図1の13)により第2プロセッサを停止する。
【0009】
【発明の実施の形態】
次に図面を参照して本発明の実施例について説明する。図1は本発明のマルチプロセッサシステムの一実施例の構成を示すブロック図である。
【0010】
図1を参照すると、マルチプロセッサシステムは、第1プロセッサ3、第2プロセッサ4、第3プロセッサ5は、それぞれライトバック方式キャッシュメモリを内蔵し、システムバス6を介してシステムコントローラ1に接続される。
【0011】
第1プロセッサ3、第2プロセッサ4、第3プロセッサ5は、それぞれダーティヒット信号制御回路2に接続され、ダーティヒット信号制御回路2は、プロセッサから出力されたダーティヒット信号のOR論理を取って、別のプロセッサへ出力する。例えば、第1プロセッサ3がダーティヒット信号を出力した場合、第2プロセッサ4、第3プロセッサ5へ出力する。
【0012】
第1プロセッサキャッシュ状態保持回路9は、第1プロセッサ3のダーティヒット信号の状態をスヌープ時に保持する。第2プロセッサキャッシュ状態保持回路10、第3プロセッサキャッシュ状態保持回路11も同様に、第2プロセッサ4、第3プロセッサ5のダーティヒット信号の状態をスヌープ時に保持する。
【0013】
障害検出回路7は、インプリシットライトバックのデータをチェックし、障害が発生していた場合、第1プロセッサ停止回路12、第2プロセッサ停止回路13、第3プロセッサ停止回路14へ障害発生を通知する。障害が発生していない場合は、メモリ8へデータを書き込む。
【0014】
第1プロセッサ停止回路12は、第1プロセッサキャッシュ状態保持回路9の保持情報と障害検出回路7の通知内容から、第1プロセッサ3の停止信号を生成し、第1プロセッサ3を制御する。第2プロセッサ停止回路13、第3プロセッサ停止回路14も同様に、第2プロセッサ4、第3プロセッサ5を制御する。
【0015】
ダーティヒット信号制御回路2は、入力バッファ21、24、27、出力バッファ23、26、29、レジスタ22、25、28、OR回路20により構成され、第1プロセッサ3から出力されたダーティヒット信号を、それぞれ対応した入力バッファ21から入力し、レジスタ22で1クロック受け、レジスタ22の出力信号をOR回路20へ入力する。第2プロセッサ4は、入力バッファ24、レジスタ25を使用し、第3プロセッサ5は、入力バッファ27、レジスタ28を使用する。OR回路20は出力バッファ23、26、29へ接続され、出力バッファ23は第1プロセッサ3へ、出力プロセッサ26は第2プロセッサ4へ、出力プロセッサ29は第3プロセッサ5へ接続される。
【0016】
次に、図1の動作について、説明する。
【0017】
ライトバック方式キャッシュメモリを搭載したプロセッサをバス接続したマルチプロセッサシステムでは、ロード命令がシステムバス6に発行されると、数クロック後に、システムバスに接続された全てのプロセッサがスヌープを行う。なお、ロード命令がシステムバス6に発行されてからスヌープが行われるまでの時間は、プロセッサに内蔵されたキャッシュメモリのアクセス速度に依存する。
【0018】
スヌープの際、ロード命令で指定されたアドレスのメモリ領域をダーティ状態でキャッシュメモリにキャッシュしているプロセッサは、ダーティヒット信号を出力する。それ以外のプロセッサは、スヌープ時にダーティヒット信号の状態により、システムバス6に接続されているプロセッサのいずれかがダーティ状態でキャッシュメモリにキャッシュされていることを知ることができる。
【0019】
システムバス6に接続されたプロセッサのどれかがスヌープ時にダーティヒット信号を出力した場合、ダーティ状態でキャッシュメモリにキャッシュしていたプロセッサによりインプリシットライトバックが発行され、ロード命令を発行したプロセッサと、システムコントローラ1が、インプリシットライトバックのデータを受け取る。
【0020】
ここでは、第1プロセッサ3がロード命令を発行し、第2プロセッサ4が第1プロセッサ3が必要とするメモリ領域をダーティ状態でキャッシュメモリにキャッシュしているものとして説明する。
【0021】
図2は、図1の動作を示すタイミングチャートである。図2を参照すると、T0〜T1において、第1プロセッサ3がロード命令をシステムバス6に発行する。
【0022】
システムバス6にロード命令が発行されると、システムバスに接続された全てのプロセッサは、T2〜T4でスヌープを行う。第2プロセッサ4がキャッシュメモリにダーティ状態でキャッシュしているため、第2プロセッサ4はT2〜T4において、ダーティヒット信号を出力する。出力されたダーティヒット信号は、ダーティヒット信号制御回路2に入力され、入力バッファ24を通って、T3のタイミングで第2プロセッサキャッシュ状態保持回路10に保持されると同時に、レジスタ25に入力される。レジスタ25の出力信号は、OR回路20で論理ORされ、出力バッファ23、出力バッファ29を通って、第1プロセッサ3と第3プロセッサ5へ出力される。
【0023】
T5〜T7において、システムバス6に第2プロセッサ4がインプリシットライトバックを発行し、ライトバックデータは第1プロセッサ3とシステムコントローラ1が受け取る。システムコントローラ1は、障害検出回路7で受け取ったデータをチェックし、障害が発生していなければメモリ8へ書き込む。
【0024】
T6のタイミングで障害が発生している場合、メモリ8へのデータの書き込みは行わず、第1プロセッサ停止回路12、第2プロセッサ停止回路13、第3プロセッサ停止回路14へ障害発生を通知する。第2プロセッサ停止回路13は、第2プロセッサキャッシュ状態保持回路10の出力信号と、障害検出回路7の通知により停止信号を出力し、第2プロセッサ4を停止する。
【0025】
以上説明したように本発明によればインプリシットライトバックを発行したプロセッサを特定することで、障害発生箇所の検出精度を向上し、システムの可用性を向上させることができる。
【0026】
なお、図1では、プロセッサはシステムバス6に3個接続されている例を示しているが、システムバス6に接続されるプロセッサ数が増加した場合、ダーティヒット信号制御回路2内の入力バッファ、出力バッファ、レジスタおよび、プロセッサ状態保持回路、プロセッサ停止回路をプロセッサ数に応じて増加させることで、4個以上のプロセッサに対応可能である。
【0027】
また、プロセッサが同時に複数個の命令を処理できる場合、ロード命令が複数個連続してシステムバス6に発行される。その場合、スヌープがシステムバス6で複数回連続して行われる。そうした動作の場合、上述の構成では、スヌープの結果を1回分しか保持できないと、スヌープとライトバックの整合が取れなくなる。このような課題に対応するため、第1プロセッサキャッシュ状態保持回路9、第2プロセッサキャッシュ状態保持回路10、第3プロセッサキャッシュ状態保持回路11をそれぞれFIFO構造とすることが好ましい。
また、図3に示すように、プロセッサ停止回路とプロセッサの間に障害状態保持回路30を設けてもよい。本実施例においては、障害状態保持回路30は、不揮発性メモリなど電源を切断しても状態が保持可能なもので構成され、プロセッサ停止回路の出力信号の状態を保持する。このように、プロセッサの障害状態を外部の障害状態保持回路30に記憶し、その出力信号によりプロセッサを停止することで、システムの再起動時に障害が発生したプロセッサを切り離して起動することが可能となる。この実施例により、障害の発生したプロセッサが再びシステムに組み込まれることが無くなり、システムの信頼性が向上する。
【0028】
【発明の効果】
以上説明したように、本発明によれば、インプリシットライトバックを発行したプロセッサを特定することで、障害発生箇所の検出精度を向上し、システムの可用性を向上させることができる。
【図面の簡単な説明】
【図1】本発明のマルチプロセッサシステムの一実施例の構成を示すブロック図である。
【図2】図1の動作を示すタイミングチャートである。
【図3】本発明の他の実施例の構成を示すブロック図である。
【図4】従来のマルチプロセッサシステムの構成を示すブロック図である。
【符号の説明】
1,46 システムコントローラ
2 ダーティヒット信号制御回路
3,4,5,41,42,43 プロセッサ
6,44 システムバス
7,47 障害検出回路
8,48 メモリ
9,10,11 プロセッサキャッシュ状態保持回路
12,13,14 プロセッサ停止回路
20 OR回路
21,24,27 入力バッファ
22,25,28 バッファ
23,26,29 出力バッファ
30 障害状態保持回路
45 ダーティヒット信号

Claims (2)

  1. ライトバック方式キャッシュメモリを有する複数のプロセッサと、前記複数のプロセッサにおいて発生するライトバックの障害処理を行うシステムコントローラとがシステムバスに接続されたマルチプロセッサシステムにおいて、前記システムコントローラは、各プロセッサについて、前記システムバスへ発行されたメモリ読み出し命令に対応するキャッシュラインの状態を保持するキャッシュライン状態保持回路を有することを特徴とするマルチプロセッサシステム。
  2. ライトバック方式キャッシュメモリを有する複数のプロセッサと、システムコントローラとがシステムバスに接続されたマルチプロセッサシステムのライトバックの障害処理方法において、前記システムバスに接続される全てのプロセッサが前記システムバスへ発行されたメモリ読み出し命令に対応するキャッシュラインの状態確認を行う第1のステップと、前記キャッシュラインをダーティ状態で保持していたプロセッサが、前記システムコントローラに前記キャッシュラインの状態がダーティ状態であることを保持させる第2のステップと、前記キャッシュラインをダーティ状態で保持していたプロセッサが、前記キャッシュラインを前記メモリ読み出し命令を発行したプロセッサと前記システムコントローラとへ転送する第3のステップと、前記システムコントローラが、前記第3のステップで障害が発生したことを検出すると各プロセッサについて保持するキャッシュ状態を確認し前記キャッシュラインをダーティ状態で保持していたプロセッサを停止する第4のステップとを有することを特徴とするマルチプロセッサシステムのライトバックの障害処理方法。
JP2003173300A 2003-06-18 2003-06-18 マルチプロセッサシステム及びそのライトバックの障害処理方法 Withdrawn JP2005010995A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003173300A JP2005010995A (ja) 2003-06-18 2003-06-18 マルチプロセッサシステム及びそのライトバックの障害処理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003173300A JP2005010995A (ja) 2003-06-18 2003-06-18 マルチプロセッサシステム及びそのライトバックの障害処理方法

Publications (1)

Publication Number Publication Date
JP2005010995A true JP2005010995A (ja) 2005-01-13

Family

ID=34097160

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003173300A Withdrawn JP2005010995A (ja) 2003-06-18 2003-06-18 マルチプロセッサシステム及びそのライトバックの障害処理方法

Country Status (1)

Country Link
JP (1) JP2005010995A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009042992A (ja) * 2007-08-08 2009-02-26 Renesas Technology Corp バス制御装置
JP2014197402A (ja) * 2014-05-26 2014-10-16 富士通株式会社 情報処理装置、制御方法および制御プログラム
CN116472512A (zh) * 2020-11-11 2023-07-21 超威半导体公司 片上系统(soc)的增强的耐久性

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009042992A (ja) * 2007-08-08 2009-02-26 Renesas Technology Corp バス制御装置
JP2014197402A (ja) * 2014-05-26 2014-10-16 富士通株式会社 情報処理装置、制御方法および制御プログラム
CN116472512A (zh) * 2020-11-11 2023-07-21 超威半导体公司 片上系统(soc)的增强的耐久性
JP7385083B2 (ja) 2020-11-11 2023-11-21 アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド システムオンチップ(soc)のための強化された耐久性

Similar Documents

Publication Publication Date Title
JP3272664B2 (ja) プロセッサインターフェイス回路
KR100286962B1 (ko) 캐쉬 제어기
US6959367B2 (en) System having read-modify-write unit
JP2006510117A (ja) 高信頼性プロセッサ用オンダイ機構
JP6005392B2 (ja) ルーティングのための方法及び装置
US5987585A (en) One-chip microprocessor with error detection on the chip
JP4434534B2 (ja) プロセッサ・システム
JPH0277846A (ja) マイクロプロセッサ
JP3092566B2 (ja) パイプライン方式のバスを用いたメモリ制御方式
JP2004046455A (ja) 情報処理装置
US20200319889A1 (en) Speculative instruction wakeup to tolerate draining delay of memory ordering violation check buffers
JP2005010995A (ja) マルチプロセッサシステム及びそのライトバックの障害処理方法
JPH1011348A (ja) Dramの制御装置およびそのdram
EP0550976B1 (en) Memory accessing device using address pipeline
JP2001034533A (ja) キャッシュコヒーレンシ制御装置、2次キャッシュメモリ、中央処理装置、マルチプロセッサシステム、プロセッサノード、キャッシュコヒーレンシ制御方法
JP3862777B2 (ja) 二重化データ一致化方法および二重化制御装置
US20020169930A1 (en) Memory access control system, method thereof and host bridge
US7765383B2 (en) Data processing unit and data processing apparatus using data processing unit
JP2006260393A (ja) Cpuシステム
JP2780555B2 (ja) キャッシュ・メモリ内蔵型マイクロプロセッサ
JP3341738B2 (ja) メモリのエラー検出方式
JP2005070993A (ja) 転送モード異常検出機能を有する装置並びにストレージ制御装置および同装置用インターフェイスモジュール
JP3630523B2 (ja) バス転送処理システム
JP2000222239A (ja) 2次キャッシュメモリ,2次キャッシュメモリの診断方法および情報処理装置
JP2005327086A (ja) 半導体集積回路装置

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20060905