プロセッサと、メインメモリと、キャッシュメモリとを有する情報処理装置であって、前記メインメモリは、キャッシュミスのときにおいて、前記プロセッサからのメモリリクエストに応じたリプライデータを出力する際に、該リプライデータに訂正不能なエラーがあるか否かを検出すると共に、該検出の結果を示すエラー情報と、該検出が行われた場所である前記メインメモリを示す場所情報とを前記リプライデータに付加する第1の情報付加部を備え、前記キャッシュメモリは、キャッシュミスのときにおいて、前記プロセッサに出力されたリプライデータでブロックロードをする際に、該リプライデータに付加された各情報を記憶する付加情報記憶部と、キャッシュヒットのときにおいて、前記プロセッサからのメモリリクエストに応じたリプライデータを出力する際に、前記付加情報記憶部に記憶された、該リプライデータに対応する情報がエラーがあることを示す場合に、該リプライデータについて前記付加情報記憶部に記憶された各情報を前記リプライデータに付加する一方、前記付加情報記憶部に記憶された、該リプライデータに対応する情報がエラーが無いことを示す場合に、該リプライデータに訂正不能なエラーがあるか否かを検出すると共に、該検出の結果を示すエラー情報と、該検出が行われた場所である前記キャッシュメモリを示す場所情報とを前記リプライデータに付加する第2の情報付加部とを備えることを特徴とする情報処理装置。前記キャッシュメモリのデータ更新方式は、ライトバック方式であり、前記第2の情報付加部は、前記リプライデータに訂正不能なエラーがあるか否かを検出し、該検出の結果を示すエラー情報と、該検出が行われた場所である前記キャッシュメモリを示す場所情報とを前記リプライデータに付加する際に、さらに、該リプライデータに対応するブロックのステータス情報を付加することを特徴とする請求項1に記載の情報処理装置。前記キャッシュメモリは複数あり、これらの複数のキャッシュメモリは、レベルが互いに異なることを特徴とする請求項1または2に記載の情報処理装置。前記プロセッサからのメモリリクエストに応じて出力されたリプライデータを転送する経路上の少なくとも1箇所に第3の情報付加部が設けられており、該第3の情報付加部は、転送されるリプライデータに付加された情報がエラーがあることを示す場合に、該リプライデータとそれに付加された前記情報とをそのまま転送し、転送されるリプライデータに付加された情報がエラーが無いことを示す場合に、前記リプライデータに訂正不能なエラーがあるか否かを検出すると共に、該検出の結果を示すエラー情報と、該検出が行われた場所である前記箇所を示す場所情報とを前記リプライデータに付加することを特徴とする請求項1から3のいずれか1項に記載の情報処理装置。前記第3の情報付加部が設けられた箇所に対応する経路部分と切換え使用可能な冗長経路がさらに設けられており、前記プロセッサは、受信したリプライデータに付加された情報が、前記第3の情報付加部が設けられた箇所に前記エラーが検出されたことを示す場合に、前記冗長経路が使用されるように制御を行うことを特徴とする請求項4に記載の情報処理装置。プロセッサと、メインメモリと、キャッシュメモリとを有する情報処理装置におけるエラー訂正支援方法であって、キャッシュミスのときにおいて、前記プロセッサからのメモリリクエストに応じて前記メインメモリからリプライデータを出力する際に、該リプライデータに訂正不能なエラーがあるか否かを検出すると共に、該検出の結果を示すエラー情報と、該検出が行われた場所である前記メインメモリを示す場所情報とを前記リプライデータに付加し、キャッシュミスのときにおいて、前記キャッシュメモリが前記プロセッサに出力されたリプライデータでブロックロードをする際に、該リプライデータに付加された各情報を記憶しておき、キャッシュヒットのときにおいて、前記プロセッサからのメモリリクエストに応じて前記キャッシュメモリからリプライデータを出力する際に、ブロックロード時に記憶しておいた、該リプライデータに対応する情報がエラーがあることを示す場合に、ブロックロード時に記憶しておいた、該リプライデータに対応する各情報を前記リプライデータに付加する一方、ブロックロード時に記憶しておいた、該リプライデータに対応する情報がエラーが無いことを示す場合に、該リプライデータに訂正不能なエラーがあるか否かを検出すると共に、該検出の結果を示すエラー情報と、該検出が行われた場所である前記キャッシュメモリを示す場所情報とを前記リプライデータに付加することを特徴とするエラー訂正支援方法。前記キャッシュメモリのデータ更新方式はライトバック方式であり、前記プロセッサからのメモリリクエストに応じて前記キャッシュメモリから出力されるリプライデータに訂正不能なエラーがあるか否かを検出し、該検出の結果を示すエラー情報と、該検出が行われた場所である前記キャッシュメモリを示す場所情報とを前記リプライデータに付加する際に、さらに、該リプライデータに対応するブロックのステータス情報を付加することを特徴とする請求項6に記載のエラー訂正支援方法。しかしながら、特許文献1の手法は、エラーが生じたリプライデータがプロセッサにより使用されないものである場合に限定されており、エラーが生じたリプライデータがプロセッサにより使用されるものである場合に対処できない。また、特許文献2の手法は、2次キャッシュに存在するダーティデータをバックアップするバッファを設ける必要があり、回路規模が大きくなってしまうという問題がある。本発明は、上記事情を鑑みてなされたものであり、リプライデータに訂正不能なエラーが生じたことに起因するシステムの稼働率の低下問題を改善すると共に、回路規模の膨大化を回避する技術を提供する。本発明の1つの態様は、プロセッサと、メインメモリと、キャッシュメモリとを有する情報処理装置におけるエラー訂正支援方法である。このエラー訂正支援方法は、キャッシュミスのときにおいて、プロセッサからのメモリリクエストに応じてメインメモリからリプライデータを出力する際に、該リプライデータに訂正不能なエラーがあるか否かを検出すると共に、該検出の結果を示すエラー情報と、該検出が行われた場所であるメインメモリを示す場所情報とを前記リプライデータに付加する。また、キャッシュミスのときにおいて、キャッシュメモリがプロセッサに出力されたリプライデータでブロックロードをする際に、該リプライデータに付加された各情報を記憶しておく。キャッシュヒットのときにおいて、プロセッサからのメモリリクエストに応じてキャッシュメモリからリプライデータを出力する際に、ブロックロード時に記憶しておいた、該リプライデータに対応する情報がエラーがあることを示す場合に、ブロックロード時に記憶しておいた、該リプライデータに対応する各情報をリプライデータに付加する一方、ブロックロード時に記憶しておいた、該リプライデータに対応する情報がエラーが無いことを示す場合に、該リプライデータに訂正不能なエラーがあるか否かを検出すると共に、該検出の結果を示すエラー情報と、該検出が行われた場所であるキャッシュメモリを示す場所情報とをリプライデータに付加する。なお、上記態様のエラー訂正支援方法を実施する情報処理装置や、該情報処理装置を含むシステムや、該方法をコンピュータに実行せしめるプログラム、該プログラムを記録した記録媒体なども、本発明の態様としては有効である。本発明にかかる技術によれば、キャッシュメモリを備えるシステムにおいて、プロセッサからのメモリリクエストに応じて出力されたリプライデータに訂正不能なエラーが生じたことに起因するシステムの稼働率の低下問題を改善すると共に、回路規模の膨大化を回避することができる。以下、図面を参照して、本発明の実施の形態を説明する。説明の明確化のため、以下の記載及び図面は、適宜、省略、及び簡略化がなされている。また、様々な処理を行う機能ブロックとして図面に記載される各要素は、ハードウェア的には、CPU、メモリ、その他の回路で構成することができ、ソフトウェア的には、メモリにロードされたプログラムなどによって実現される。したがって、これらの機能ブロックがハードウェアのみ、ソフトウェアのみ、またはそれらの組合せによっていろいろな形で実現できることは当業者には理解されるところであり、いずれかに限定されるものではない。なお、各図面において、同一の要素には同一の符号が付されており、必要に応じて重複説明は省略されている。また、上述したプログラムは、様々なタイプの非一時的なコンピュータ可読媒体non-transitorycomputerreadablemediumを用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体tangiblestoragemediumを含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体例えばフレキシブルディスク、磁気テープ、ハードディスクドライブ、光磁気記録媒体例えば光磁気ディスク、CD-ROMReadOnlyMemoryCD-R、CD-R/W、半導体メモリ例えば、マスクROM、PROMProgrammableROM、EPROMErasablePROM、フラッシュROM、RAMRandomAccessMemoryを含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体transitorycomputerreadablemediumによってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。本発明の具体的な実施の形態を説明する前に、まず、本発明にかかる技術の原理を説明する。なお、以下の説明において、特別な説明が無い限り、エラーは、訂正不能なエラーを意味する。図1は、本発明にかかる技術の原理を説明するための情報処理装置100を示す。該情報処理装置100は、プロセッサ110と、キャッシュメモリユニット130と、メインメモリユニット160を有し、プロセッサ110は、第1のバス120を介してキャッシュメモリユニット130と接続されており、第2のバス150を介してメインメモリユニット160と接続されている。また、キャッシュメモリユニット130とメインメモリユニット160は、第2のバス150を介して接続されている。プロセッサ110は、ソフトウェア命令以下SW命令というを実行するSW命令実行部112と、回復処理部114と、メモリリクエスト制御部116を備える。キャッシュメモリユニット130は、キャッシュコントローラとして機能し、プロセッサ110からのメモリリクエスト以下RSTというを受け付けるRST受付部132と、キャッシュメモリ134と、付加情報記憶部136と、第2の情報付加部138と、RD出力部140を備える。なお、この例の情報処理装置100において、キャッシュメモリがキャッシュメモリ134のみであるため、キャッシュメモリ134は、1次キャッシュメモリL1キャッシュメモリとなる。メインメモリユニット160は、プロセッサ110からのメモリリクエストを受け付けるRST受付部162と、メインメモリ164と、第1の情報付加部166と、RD出力部168を備える。図2は、プロセッサ110がメモリリードに際しての動作の流れを示すフローチャートである。プロセッサ110において、SW命令実行部112は、SW命令を実行している中で、メモリデータをリードする必要があるときに、メモリリクエスト制御部116にリクエスト要求RSTRを出力する。これに伴って、SW命令実行部112は、SW命令の実行を一時中断する。メモリリクエスト制御部116は、SW命令実行部112からのリクエスト要求RSTRに応じて、キャッシュメモリ134へ発行するメモリリクエストRSTを第1のバス120に出力するS100。キャッシュヒットした場合S102:Yes、メモリリクエストRSTに応じてキャッシュメモリユニット130からリプライデータRD3が第1のバス120を介してプロセッサ110に転送され、プロセッサ110は、リプライデータ受信後の処理を行うS110。一方、ステップS102において、キャッシュミスした場合S102:No、メモリリクエスト制御部116は、メインメモリ164へ発行するメモリリクエストRSTを第2のバス150に出力するS104。このメモリリクエストRSTに応じてメインメモリユニット160からリプライデータRD1が第2のバス150を介してプロセッサ110に転送され、プロセッサ110は、リプライデータ受信後の処理を行うS110。なお、この場合、メインメモリユニット160からプロセッサ110へ転送されるリプライデータRD1は、キャッシュメモリユニット130にも転送され、キャッシュメモリユニット130は、このリプライデータRD1でブロックロードを行う。プロセッサ110によるステップS110のリプライデータ受信後処理の詳細、及びキャッシュメモリユニット130によるブロックロードの詳細は、後述する。図3は、キャッシュミスの場合図2のステップS102:Noに、メインメモリユニット160がプロセッサ110からメモリリクエストRSTを受信した際の動作の流れを示すフローチャートである。キャッシュミス時に、メインメモリユニット160のRST受付部162は、第2のバス150を介して、プロセッサ110のメモリリクエスト制御部116からのメモリリクエストRSTを受け付けるS150。RST受付部162は、このメモリリクエストRSTに含まれるリクエストアドレスADRをメインメモリ164とRD出力部168に出力し、メインメモリ164は、リクエストアドレスADRに該当するデータをリプライデータRD0としてRD出力部168と第1の情報付加部166に出力する。第1の情報付加部166は、リプライデータRD0に対して訂正不能なエラーの有無の検出を行うと共に、該検出の結果を示すエラー情報と、該検出が行われた場所ここではメインメモリユニット160を示す場所情報とを付加情報ADI0としてRD出力部168に出力するS154。RD出力部168は、RST受付部162からのリクエストアドレスADRと、メインメモリ164からのリプライデータRD0と、第1の情報付加部166からの付加情報ADI0とをリプライデータRD1として第2のバス150に出力するS156。すなわち、キャッシュミス時にメインメモリユニット160から出力されるリプライデータRD1には、メインメモリ164からの、リプライデータの本体となるリプライデータRD0と、第1の情報付加部166からの付加情報ADI0とが含まれている。前述したように、このリプライデータRD1は、第2のバス150を介してプロセッサ110とキャッシュメモリユニット130に転送される。図4は、キャッシュメモリユニット130がプロセッサ110からメモリリクエストRSTを受信した際の動作の流れを示すフローチャートである。キャッシュメモリユニット130のRST受付部132は、第1のバス120を介してプロセッサ110のメモリリクエスト制御部116からのメモリリクエストRSTを受け付けるS160と、該メモリリクエストRSTに含まれるリクエストアドレスADRをキャッシュメモリ134とRD出力部140に出力する。キャッシュメモリ134は、リクエストアドレスADRに該当するデータが無い場合すなわちキャッシュミスの場合S162:No、リプライデータの出力をせずに、後にメインメモリユニット160から出力されるリプライデータRD1でブロックロードを行うS180。図5を参照して、ステップS180におけるブロックロード処理リフィルを含むを説明する。図5に示すように、キャッシュメモリ134のキャッシュミス時に、キャッシュメモリ134の代わりにメインメモリユニット160から第2のバス150にリプライデータRD1が出力されると、キャッシュメモリユニット130におけるキャッシュメモリ134は、該リプライデータRD1の本体リプライデータRD0を該当するブロックに格納しS182、付加情報記憶部136は、リプライデータRD1に含まれる付加情報付加情報ADI0を、リプライデータRD0が格納されたブロックとを対応付けて格納するS184。すなわち、キャッシュメモリ134のキャッシュミス時に行われるブロックロードによりキャッシュメモリ134に格納されたデータについて、該データに対応する付加情報ADI0が付加情報記憶部136に記憶される。なお、プロセッサ110によりキャッシュメモリ134のデータ更新Purgingが行われた際に、データ更新がなされるブロックに対応する付加情報ADI0が格納されている場合に、付加情報記憶部136は、該付加情報ADI0をクリアする。図4に戻ってキャッシュヒットの場合について説明する。ステップS162において、キャッシュヒットした場合にS162:Yes、キャッシュメモリ134は、RST受付部132からのリクエストアドレスADRに該当するデータをリプライデータRD2としてRD出力部140と第2の情報付加部138に出力する。第2の情報付加部138は、キャッシュメモリ134が出力したリプライデータRD2に対して付加する情報付加情報ADI1をRD出力部140に供する。具体的には、第2の情報付加部138は、まず、キャッシュメモリ134が出力したリプライデータRD2について、付加情報記憶部136に付加情報ADI0が記憶されているか否かを確認するS164。リプライデータRD2に対応する付加情報ADI0が付加情報記憶部136に記憶されていればS164:Yes、第2の情報付加部138は、さらに、該付加情報ADI0に含まれるエラー情報がエラーがあるとエラーが無いのいずれを示しているかを確認するS166。確認の結果、付加情報ADI0に含まれるエラー情報がエラーがあるを示す場合に、第2の情報付加部138は、付加情報ADI0をそのまま付加情報ADI1としてRD出力部140に出力するS166:Yes。一方、リプライデータRD2に対応する付加情報ADI0が付加情報記憶部136に無い場合S164:Noと、リプライデータRD2に対応する付加情報ADI0に含まれるエラー情報がエラーが無いを示す場合S166:Noにおいて、第2の情報付加部138は、リプライデータRD2に対して訂正不能なエラーの有無の検出を行うと共に、該検出の結果を示すエラー情報と、該検出が行われた場所ここではキャッシュメモリユニット130を示す場所情報とを付加情報ADI1としてRD出力部140に出力するS170、S172。RD出力部140は、RST受付部132からのリクエストアドレスADRと、キャッシュメモリ134からのリプライデータRD2と、第2の情報付加部138からの付加情報ADI1とをリプライデータRD3として第1のバス120に出力するS178。すなわち、キャッシュヒット時にキャッシュメモリユニット130から出力されるリプライデータRD3には、キャッシュメモリ134からの、リプライデータの本体となるリプライデータRD2と、第2の情報付加部138からの付加情報ADI1が含まれている。この付加情報ADI1は、付加情報ADI0と同一である場合がある。ここで、付加情報ADI0と付加情報ADI1のフォーマットを説明する。図6と図7は、上位の1ビットがエラー情報を示し、下位の1ビットで場所情報を示す2ビットで構成される付加情報ADI0と付加情報ADI1の例を夫々示す。図6に示すように、付加情報ADI0は、上位のエラー情報ビットと下位の場所情報ビットを有し、下位ビットがメインメモリ164を示す0である。上位ビットが1であり、すなわち付加情報ADI0が10であることは、メインメモリ164においてエラーが検出されたを示し、上位ビットが0であり、すなわち付加情報ADI0が00であることは、メインメモリ164においてエラーが検出されていないを示す。また、図7に示すように、付加情報ADI1も、2ビットで構成され、00、10、01、11は、夫々、メインメモリ164においてエラーが検出されていない、メインメモリ164においてエラーが検出された、キャッシュメモリ134においてエラーが検出されていない、キャッシュメモリ134においてエラーが検出されたを示す。なお、プロセッサ110にとって、エラーがある場合の回復処理のために、エラーがある場合にどこでエラーが検出されたかがの情報が必要である一方、エラーが無い場合には、エラー検出がどこで行われたことを知る必要が無い。そのため、例えば、図8と図9のようなフォーマットの付加情報ADI0と付加情報ADI1を用いてもよい。図8と図9に示す例では、上位ビットによりエラーの有無を示し、下位ビットは、エラーがある場合すなわち上位ビットが1である場合においてのみ有効である。例えば、図8に示すように、00である付加情報ADI0は、エラーが無いことを示し、10である付加情報ADI0は、メインメモリ164においてエラーが検出されたを示す。同様に、図9に示すように、00である付加情報ADI1は、エラーが無いことを示し、10である付加情報ADI1は、メインメモリ164においてエラーが検出されたを示し、11である付加情報ADI1は、キャッシュメモリ134においてエラーが検出されたを示す。勿論、エラーがある場合における該エラーの検出場所が分かれば、付加情報ADI0とADI1のフォーマットは、上述した例に限ることがない。以上の説明から分かるように、キャッシュミスのときに、メインメモリユニット160からリプライデータRD1がプロセッサ110に転送され、キャッシュヒットのときに、キャッシュメモリユニット130からリプライデータRD3がプロセッサ110に転送される。リプライデータRD1には、該リプライデータRD1に含まれるリプライデータRD0がメインメモリユニット160においてエラーが検出された否かを示す付加情報ADI0が付加されている。リプライデータRD3には、該リプライデータRD3に含まれるリプライデータRD0におけるエラーの有無、及び、エラーがある場合には、該エラーがメインメモリユニット160とキャッシュメモリユニット130のいずれにおいて検出されたかを示す付加情報ADI1が付加されている。従って、プロセッサ110は、リプライデータRD1またはリプライデータRD3を受信した際に、該データに含まれる付加情報から、該データに含まれるデータ本体にエラーの有無を知ることができると共に、上記エラーがある場合には該エラーがどこで生じたかを知ることができるため、エラーが生じた場所に応じた回復処理を行うことができる。図10は、図2におけるステップS110の処理、つまり、プロセッサ110がリプライデータRD1またはRD3を受信した際の処理の例を示すフローチャートである。リプライデータキャッシュミス時におけるメインメモリユニット160からのリプライデータRD1、またはキャッシュヒット時におけるキャッシュメモリユニット130からのリプライデータRD3を受信すると、メモリリクエスト制御部116は、該リプライデータを回復処理部114に出力する。分かりやすいように、メモリリクエスト制御部116から回復処理部114に出力されるリプライデータをRD4で表記する。該リプライデータRD4は、リプライデータRD1とリプライデータRD3のいずれか一方である。回復処理部114は、メモリリクエスト制御部116からのリプライデータRD4に含まれる付加情報付加情報ADI0または付加情報ADI1を参照し、エラーの有無を確認するS112。リプライデータRD4に含まれる付加情報が、エラーが検出されていないことを示す場合にS112:No、回復処理部114は、メモリリクエスト制御部116にリプライデータRD4をそのまま返送するS114。メモリリクエスト制御部116は、回復処理部114から返送されたリプライデータRD4をSW命令実行部112に出力し、SW命令実行部112は、メモリリクエストRSTを出した際に中断していたSW命令処理を再開し、リプライデータRD4に含まれるデータ本体リプライデータRD0またはリプライデータRD2を用いた処理を実行するS116。なお、この場合、メモリリクエスト制御部116は、回復処理部114から返送されたリプライデータRD4から付加情報を取り除き、リプライデータRD4に含まれるリクエストアドレスADRと、データ本体リプライデータRD0またはリプライデータRD2とをSW命令実行部112に出力するようにしてもよい。一方、ステップS112において、リプライデータRD4に含まれる付加情報が、メインメモリユニット160とキャッシュメモリユニット130のいずれかにおいて訂正不能なエラーが検出されたことを示す場合にS112:Yes、回復処理部114は、SW命令実行部112に割込要求IRを出力し、中断していたSW命令処理に、ステップS122からの回復処理を割り込ませるS120、S122~。なお、SW命令実行部112は、回復処理部114からの命令を実行することにより回復処理を実現するが、説明が冗長にならないように、以下の説明において、SW命令実行部112が回復処理を行うように説明を進める。SW命令実行部112は、回復処理をするのに当たって、まず、リプライデータRD4に含まれる付加情報が、キャッシュメモリユニット130から出力される際にエラーが検出されたことを示すか否かを確認するS122。リプライデータRD4が、キャッシュヒット時にキャッシュメモリユニット130から出力されるリプライデータRD3であり、かつ、該リプライデータRD3に含まれるデータ本体リプライデータRD2がキャッシュメモリ134から出力される際に訂正不能なエラーが検出された場合においてのみ、ステップS122の確認結果がYesとなる。この場合、SW命令実行部112は、キャッシュメモリ134においてリプライデータRD2に対応するブロックを無効化するS124と共に、中断していたSW命令処理を再開するS116。この場合、キャッシュメモリ134の当該ブロックが無効にされたため、SW命令実行部112によりSW命令処理を再開すると、キャッシュミスとなり、プロセッサ110のメモリリクエスト制御部116からメインメモリ164に対してメモリリクエストRSTが発行される。そのため、キャッシュメモリ134に格納された、エラーのあるリプライデータRD2が使用されず、メインメモリ164から正しいデータを取り出すことが可能となる。一方、リプライデータRD4がキャッシュミス時にメインメモリユニット160から出力されるリプライデータRD1であり、かつ、該リプライデータRD1がメインメモリ164から出力される際にエラーが検出された場合、または、リプライデータRD4がキャッシュヒット時にキャッシュメモリ134から出力されるリプライデータRD2であり、かつ、該リプライデータRD2のブロックロード時にメインメモリユニット160においてエラーが検出された場合、ステップS122の確認結果がNoとなる。この場合、中断していたSW命令処理を再開してメインメモリ164にメモリリクエストRSTを出しても正しいデータを取り出すことができず、回復できない可能性が高い。そのため、この場合S122:Noにおいて、SW命令実行部112は、OSOperatingSystemに障害通知を行い、OSに回復処理を委ねるS126。こうすることにより、OSは、例えば、メインメモリ164の当該ページを無効化するなどにより、回復できる可能性がある。このように、本発明にかかる技術によれば、メモリリクエストRSTに応じてプロセッサに返送されたリプライデータには、エラーの有無を示すエラー情報と、エラーがある場合には該エラーがメインメモリとキャッシュメモリのいずれで検出されたかを示す場所情報が付加されているので、プロセッサは、エラーがある場合に場所情報に基づいて、エラーが生じた場所に応じた回復処理を行うことができる。その結果、システムの効率を図ることができる。また、付加情報のデータ量は、例えば図6~図9に示すように2ビットしかなく、キャッシュメモリにおいて付加情報を格納する記憶部の必要容量も小さいため、回路規模の膨大化を防ぐことができる。本願発明者は、さらに、鋭意研究模索し、キャッシュメモリのデータ更新方式がライトバックである場合に、キャッシュメモリにおいてエラーが検出された場合にリプライデータに付加する情報の中に、ブロックのステータス情報を含める技術を想到した。これに関連して、まず、キャッシュメモリのデータ更新Purgingの方式を説明する。キャッシュメモリのデータ更新について、ライトスルー方式とライトバック方式が知られている。ライトスルー方式のキャッシュメモリの場合、プロセッサが該キャッシュメモリに書き込みをしたデータが、該キャッシュメモリにストアされると共に、下位レベルのメモリメインメモリまたは下位レベルのキャッシュメモリにも書き戻される。ライトバック方式のキャッシュメモリの場合、プロセッサが該キャッシュメモリに書き込みをしたデータが、該キャッシュメモリにストアされるものの、条件が整わない限り、下位レベルのメモリに書き戻されない。なお、下位レベルへの書き戻しの条件は、システムによって種々ある。キャッシュメモリに格納されているデータが、下位レベルのメモリに書き戻されている場合、該データを格納するブロックのステータスはクリーンと呼ばれる。一方、キャッシュメモリに格納されているデータが、下位レベルのメモリに書き戻されていない場合、該データを格納するブロックのステータスはダーティと呼ばれる。図1に示す情報処理装置100におけるキャッシュメモリ134がライトスルー方式のキャッシュメモリである場合について、図10のフローチャートが示す処理を考える。この場合、キャッシュメモリ134に対してプロセッサ110が書き込みを行うと、書き込まれたデータがメインメモリ164にも書き戻される。そのため、キャッシュヒットした場合にキャッシュメモリ134から出力されたリプライデータRD2にエラーがあれば、メインメモリ164における、リプライデータRD2に対応するデータもエラーとなっているはずである。ところで、リプライデータRD2におけるエラーがキャッシュメモリ134の当該ブロックの物理的障害などによるものである場合には、キャッシュメモリ134におけるリプライデータRD2に訂正不能なエラーが検出されたとしても、メインメモリ164における、リプライデータRD2に対応するデータが正しい可能性もある。従って、リプライデータRD2がブロックロードによりキャッシュメモリ134に格納された後にプロセッサ110によりデータ更新Purgingがなされたものである場合においても、ステップS122の確認結果がYesになった際に、当該ブロックを無効にすることにより、メインメモリ164から正しいデータを取り出せる可能性がある。キャッシュメモリ134がライトバック方式のものである場合には、キャッシュメモリ134に対してプロセッサ110が書き込みを行うと、書き込まれたデータが必ずしもメインメモリ164にも書き戻されるとは限らないが、ステータスがダーティであるブロックからのリプライデータRD2にエラーが検出された場合図10におけるステップS120:Yes、SW命令実行部112が当該ブロックを無効にするために例えばインバリッド指示をすると、該ブロックのデータは下位レベルのメモリここではキャッシュメモリ134に書き戻されてしまう。そのため、SW命令処理を再開してキャッシュメモリ134に対してメモリリードを行っても、回復できる可能性がほぼ無い。本願発明者は、上述した考察に基づき、ライトバック方式のキャッシュメモリにおいてリプライデータのエラーが検出された場合に、該リプライデータの付加情報に、ダーティかクリーンかのステータス情報を加える技術を確立した。図1に示す情報処理装置100におけるキャッシュメモリ134がライトバック方式のものであるとして説明する。この場合においても、キャッシュメモリユニット130の第2の情報付加部138は、キャッシュヒット時にキャッシュメモリ134から出力されたリプライデータRD2について、付加情報記憶部136にそれに対応する付加情報ADI0が無い、または付加情報ADI0がエラーが無いを示す場合に、リプライデータRD2に対してエラー検出を行う。但し、エラーが検出された場合には、付加情報ADI1に、リプライデータRD2のブロックのステータスを示す情報を加える。図11と図12は、キャッシュメモリ134がライトバック方式のものである場合における、付加情報ADI0と付加情報ADI1の例を示す。図示のように、付加情報ADI0と付加情報ADI1は、エラー情報を示すビットと、場所情報を示すビットとに加え、さらに、ステータスを示す上位ビットを含む。該上位ビットは、エラー情報ビットと場所情報ビットが11である場合においてのみ有効である。例えば、図11に示すように、付加情報ADI0は、下位の2ビットが00である場合にはメインメモリ164においてエラーが検出されていないを示し、下位の2ビットが10である場合には、メインメモリ164においてエラーが検出されたを示す。付加情報ADI0の上位の1ビットは、無効ビットである。また、図12に示すように、付加情報ADI1は、下位の2ビットが00である場合にはメインメモリ164においてエラーが検出されていないを示し、下位の2ビットが10である場合には、メインメモリ164においてエラーが検出されたを示す。下位の2ビットが00または10である場合には、付加情報ADI1も、上位の1ビットが無効ビットである。また、付加情報ADI1は、下位の2ビットが01である場合にはキャッシュメモリ134においてエラーが検出されていないを示す。この場合において、付加情報ADI1の上位の1ビットが無効ビットである。下位の2ビットが11であり、すなわちキャッシュメモリ134においてエラーが検出された場合には、付加情報ADI1の上位の1ビットが有効ビットとなる。011である付加情報ADI1は、キャッシュメモリ134においてエラーが検出され、当該ブロックがクリーンであるを示し、111である付加情報ADI1は、キャッシュメモリ134においてエラーが検出され、当該ブロックがダーティであるを示す。図13と図14は、キャッシュメモリ134がライトバック方式のものである場合における、付加情報ADI0と付加情報ADI1の別の例を示す。図13と図14に示す例においても、付加情報ADI0と付加情報ADI1は、3ビットを有し、上位からの順で各ビットがステータス、エラー情報、場所情報を夫々示す。また、場所情報を示す下位ビットは、エラー情報を示すビットが1である場合においてのみ有効であり、ステータス情報を示す上位ビットは、下位の2ビットが11である場合においてのみ有効である。例えば、000である付加情報ADI0と付加情報ADI1は、エラーが無いことを示す。この場合、場所情報とステータスを示すビットが無効ビットである。また、010である付加情報ADI0と付加情報ADI1は、メインメモリ164においてエラーが検出されたを示す。この場合、ステータスを示すビットが無効ビットである。また、図14に示すように、011である付加情報ADI1は、キャッシュメモリ134においてエラーが検出され、当該ブロックがクリーンであるを示し、111である付加情報ADI1は、キャッシュメモリ134においてエラーが検出され、当該ブロックがダーティであるを示す。勿論、エラーがある場合における該エラーの検出場所が分かり、かつ、該エラーがキャッシュメモリにおいて検出された場合に当該ブロックのステータスが分かれば、付加情報ADI0とADI1は、図11~図14に示す例に限ることがない。プロセッサ110による、上述した付加情報ADI0と付加情報ADI1が含まれるリプライデータを受信した後の処理について、図15のフローチャートを参照して説明する。なお、この処理は、図2におけるステップS110の処理である。図15において、図10におけるステップと同様の処理については、同様のステップ番号を付与している。図15と図10を比較すると分かるように、図15は、ステップS122とステップS124との間にステップS130が追加されている。すなわち、リプライデータRD4が、キャッシュヒット時にキャッシュメモリユニット130から出力されるリプライデータRD3であり、かつ、該リプライデータRD3に含まれるデータ本体リプライデータRD2がキャッシュメモリ134から出力される際に訂正不能なエラーが検出された場合S122:Yes、SW命令実行部112は、リプライデータRD4に含まれる付加情報ここでは付加情報ADI1となるに基づいて、当該ブロックのステータスがダーティとクリーンのいずれかを確認するS130。該ブロックのステータスがダーティである場合S130:Yes、SW命令実行部112は、ステップS126の処理を行い、すなわち、OSに障害通知を行い、OSに回復処理を委ねる。一方、該ブロックのステータスがクリーンである場合にはS130:No、SW命令実行部112は、当該ブロックを無効化し、中断していたSW命令処理を再開するS124、S116。前述したように、キャッシュヒット時にキャッシュメモリ134からのリプライデータRD2からエラーが検出された場合、該データのブロックのステータスがダーティであると、該ブロックを無効にしてメインメモリ164に対してメモリリードをしても、正しいデータを得る可能性がほぼ無い。そのため、この場合において、直ちにOSに障害通知をし、OSによりメインメモリ164の当該ページを無効化するなどを行ったほうが、キャッシュメモリ134の当該ブロックを無効化してメインメモリ164に対してメモリリードを行う場合より、迅速な回復が可能である。その結果、システムの効率をより高めることができる。情報処理装置100において、リプライデータに対してエラー情報などを付加する情報付加部第2の情報付加部138、第1の情報付加部166は、キャッシュメモリユニット130とメインメモリユニット160にのみ設けられているが、これら以外に、リプライデータが転送する経路上の少なくとも1箇所にさらに情報付加部を設けてもよい。キャッシュメモリとメインメモリに対して設けられた情報付加部と区別するために、経路上に設けられた情報付加部を、第3の情報付加部という。第3の情報付加部は、転送されるリプライデータに付加された情報がエラーがあるを示す場合に、該リプライデータとそれに付加された情報とをそのまま転送する。一方、転送されるリプライデータに付加された情報がエラーが無いを示す場合に、第3の情報付加部は、リプライデータに訂正不能なエラーがあるか否かを検出すると共に、該検出の結果を示すエラー情報と、該検出が行われた場所である前記箇所を示す場所情報とをリプライデータに付加して転送する。こうすることにより、プロセッサ110が受信したリプライデータにあるエラーは、メインメモリ、キャッシュメモリ、転送経路例えばバスのいずれによるものかを判断することができ、より適切に回復処理を行うことができる。さらに、この場合、転送経路と切り換えて使用可能な転送経路を設け、片方の転送経路によるエラーが生じた場合に、他方の転送経路に切り換えるように回復処理を行うようにすれば、より効率的な回復が可能になる。これらのことに関連して、図16に示す情報処理装置200を用いて説明する。情報処理装置200に対して、図1に示す情報処理装置100と同様のものについては同様の符号を付与すると共に、詳細な説明を省略する。情報処理装置200は、プロセッサ210、キャッシュメモリユニット230、メインメモリユニット260を有し、プロセッサ210は、第1のバス120を介してキャッシュメモリユニット230と接続されており、第2のバス252または第2のバス254を介してメインメモリユニット260と接続されている。また、キャッシュメモリユニット230とメインメモリユニット260は、第2のバス252または第2のバス254を介して接続されている。プロセッサ210は、SW命令実行部112、メモリリクエスト制御部212、回復処理部214、第3の情報付加部216、切換部218を備える。キャッシュメモリユニット230は、RST受付部132、キャッシュメモリ134、付加情報記憶部136、第2の情報付加部138、RD出力部140、切換部232、第3の情報付加部234を備える。メインメモリユニット260は、RST受付部162、メインメモリ164、第1の情報付加部166、RD出力部168、切換部262を備える。情報処理装置200について、情報処理装置100と異なる点を重点的に説明する。第2のバス252と第2のバス254は、選択的に使用され、それらの切換えは、プロセッサ210からの後述する切換制御信号CTRにより制御される。ここで、第2のバス252が使用されていると仮定して説明を進める。メインメモリユニット260は、切換部262を備え、RD出力部168がリプライデータRD1を切換部262に出力する点を除き、図1に示す情報処理装置100におけるメインメモリユニット160と同様である。切換部262は、第2のバス252と第2のバス254の両方に接続されており、プロセッサ210から切換制御信号CTRを受信するまで、現在使用中のバスここでは第2のバス252からメモリリクエストRSTを取り込んでRST受付部162に出力すると共に、RD出力部168からのリプライデータRD1を第2のバス252に出力する。切換制御信号CTRを受信した場合、切換部262は、バスの切換えを行い、ここでは、使用するバスを第2のバス252から第2のバス254に切り換え、第2のバス254からメモリリクエストRSTを取り込んでRST受付部162に出力すると共に、RD出力部168からのリプライデータRD1を第2のバス254に出力する。キャッシュメモリユニット230は、切換部232と第3の情報付加部234を備え、メインメモリユニット260からのリプライデータRD1が切換部232を介してキャッシュメモリ134にブロックロードされ、付加情報記憶部136には第3の情報付加部234により付加した付加情報ADI2が出力される点を除き、図1に示す情報処理装置100におけるキャッシュメモリユニット130と同様である。切換部232は、第2のバス252と第2のバス254の両方に接続されており、プロセッサ210から切換制御信号CTRを受信するまで、現在使用中のバスここでは第2のバス252からリプライデータRD1を取り込んでキャッシュメモリ134と第3の情報付加部234に出力する。切換制御信号CTRを受信した場合、切換部232は、バスの切換えを行い、ここでは、使用するバスを第2のバス252から第2のバス254に切り換え、第2のバス254からリプライデータRD1を取り込んでキャッシュメモリ134と第3の情報付加部234に出力する。第3の情報付加部234は、切換部232からのリプライデータRD1に含まれる付加情報ADI0がエラーがあるを示す場合に、付加情報ADI0をそのまま付加情報ADI2として付加情報記憶部136に出力する。一方、リプライデータRD1に含まれる付加情報ADI0がエラーが無いを示す場合に、リプライデータRD1に含まれるデータ本体リプライデータRD0にエラーがあるか否かの検出を行い、検出の結果を示すエラー情報と、該検出が行われた場所を示す場所情報とを付加情報ADI2として付加情報記憶部136に出力する。なお、ここでの場所情報は、第2のバス252と第2のバス254のうちの使用中のバスを示すものとなる。第2の情報付加部138は、情報処理装置100のときに説明したように、キャッシュメモリ134が出力したリプライデータRD2に対応する付加情報ここでは付加情報ADI2が付加情報記憶部136に記憶されていない場合、または、付加情報記憶部136に記憶されているがエラーが無いを示す場合に、リプライデータRD2にエラーがあるか否かの検出を行うと共に、検出の結果を示すエラー情報と、該検出が行われた場所キャッシュメモリ134を示す場所情報とを付加情報ADI1としてRD出力部140に出力する。一方、付加情報記憶部136に記憶されている付加情報ADI2がエラーがあるを示す場合には、第2の情報付加部138は、付加情報ADI2をそのまま付加情報ADI1としてRD出力部140に出力する。すなわち、情報処理装置200において、第2の情報付加部138がRD出力部140に出力する付加情報ADI1は、付加情報ADI2と同様である場合がある。また、付加情報ADI2は、付加情報ADI0と同様である場合がある。プロセッサ210は、第3の情報付加部216と切換部218を備える点と、回復処理部214がSW命令実行部112に行わせる回復処理が、図1に示す情報処理装置100におけるプロセッサ110の回復処理部114がSW命令実行部112に行わせる回復処理とが異なる点と、メモリリクエスト制御部212が切換制御信号CTRを出力可能である点とを除き、プロセッサ110と同様である。プロセッサ210において、メモリリクエスト制御部212は、メインメモリ164へ出すメモリリクエストRSTを切換部218に出力する。切換部218は、第2のバス252と第2のバス254の両方に接続されており、メモリリクエスト制御部212から切換制御信号CTRを受信するまで、現在使用中のバスここでは第2のバス252にメモリリクエストRSTを出力すると共に、該バスからリプライデータRD1を取り込んで第3の情報付加部216に出力する。メモリリクエスト制御部212から切換制御信号CTRを受信した場合、切換部218は、バスの切換えを行い、ここでは、使用するバスを第2のバス252から第2のバス254に切り換え、第2のバス254にメモリリクエストRSTを出力すると共に、該バスからリプライデータRD1を取り込んで第3の情報付加部216に出力する。第3の情報付加部216は、キャッシュヒット時にキャッシュメモリユニット230からリプライデータRD3が入力され、キャッシュミス時に切換部218からリプライデータRD1が入力される。第3の情報付加部216は、入力されたリプライデータに含まれるデータ本体リプライデータRD0またはリプライデータRD2に対して付加情報ADI3を付加してメモリリクエスト制御部212に出力する。第3の情報付加部216からメモリリクエスト制御部212に出力されるデータを、リプライデータRD5と表記する。具体的には、第3の情報付加部216は、リプライデータRD3またはリプライデータRD1に含まれる付加情報ADI0またはADI1がエラーがあるを示す場合に、該付加情報をそのまま付加情報ADI3として付加する。一方、リプライデータRD3またはリプライデータRD1に含まれる付加情報がエラーが無いを示す場合に、該リプライデータに含まれるデータ本体リプライデータRD0またはリプライデータRD2にエラーがあるか否かの検出を行い、検出の結果を示すエラー情報と、該検出が行われた場所を示す場所情報とを付加情報ADI3として付加する。なお、ここで、エラーが検出された場合に、場所情報は、第2のバス252と第2のバス254のうちの使用中のバスと、第1のバス120とのいずれであるかを示す必要がある。そのため、エラーが検出された場合に、第3の情報付加部216は、切換部218からのリプライデータRD1に含まれるデータ本体に対しては、第2のバス252と第2のバス254のうちの使用中のバスを示す情報を場所情報として付加し、キャッシュメモリユニット230からのリプライデータRD3に含まれるデータ本体に対しては、第1のバス120を示す情報を場所情報として付加する。このように、情報処理装置200において、メモリリクエスト制御部212に返送されるリプライデータリプライデータRD5には、エラーがあるか否かを示すエラー情報と、エラーがある場合に該エラーがどこで検出されたかを示す場所情報とが含まれている。また、場所情報は、メインメモリ164、キャッシュメモリ134、第2のバス252と第2のバス254のうちの使用中のバス、第1のバス120のいずれか1つを示す。図17は、情報処理装置200において、リプライデータに含まれる付加情報付加情報ADI0、付加情報ADI1、付加情報ADI2、付加情報ADI3のフォーマットの一例を示す。なお、これは、キャッシュメモリ134のデータ更新方式がライトバックである場合の例であり、この例において、エラーがキャッシュメモリユニット230において検出された場合に、当該リプライデータに対応するブロックのステータス情報も付加情報に含まれる。図示のように、情報処理装置200において、付加情報は、4ビットを有し、上位の1ビットは、ステータスを示すビットであり、下位の3ビットは、エラー情報と場所情報を示すビットである。なお、上位の1ビットは、キャッシュメモリ134においてエラーが検出された場合付加情報の下位3ビットが011である場合においてのみ有効である。勿論、付加情報のフォーマットは、図17に示す例に限られることがない。付加情報0000は、エラーが無いことを示す。メインメモリユニット260から出力されるリプライデータRD1に含まれる付加情報ADI0は、0000と0001のいずれか一方であり、0001は、メインメモリ164からのリプライデータRD0にエラーが検出されたことを示す。第3の情報付加部234が出力する付加情報ADI2は、0000、0001、0010のいずれか一方である。0010は、第2のバス252と第2のバス254のうちの使用中のバスにおいてエラーが検出されたことを示す。付加情報ADI1は、0000、0001、0010、0011、1011のいずれか一方である。0011は、キャッシュメモリ134からのリプライデータRD2においてエラーが検出され、かつリプライデータRD2に対応するブロックのステータスがクリーンであることを示す。一方、1011は、キャッシュメモリ134からのリプライデータRD2においてエラーが検出され、かつリプライデータRD2に対応するブロックのステータスがダーティであることを示す。付加情報ADI3は、上述した付加情報ADI0、ADI1、ADI2のとりうる各値以外に、0100になる可能性がある。0100である付加情報ADI3は、第1のバス120においてエラーが検出されたことを示す。ここで、プロセッサ210における第3の情報付加部216が、キャッシュメモリユニット230またはメインメモリユニット260からのリプライデータRD1またはRD3を受信してメモリリクエスト制御部212にリプライデータRD5を出力した後の処理を説明する。この処理は、図15が示す、情報処理装置100のプロセッサ110がリプライデータを受信した際の処理ステップS110の処理に対応し、比較しやすいように、該処理を、図2におけるステップS110の処理として説明する。図17は、第3の情報付加部216がリプライデータRD3をメモリリクエスト制御部212に出力した後にプロセッサ210にて行われる処理の一例を示すフローチャートである。メモリリクエスト制御部212は、第3の情報付加部216からリプライデータRD5を受信すると、該リプライデータRD5を回復処理部214に出力する。回復処理部214は、メモリリクエスト制御部212からのリプライデータRD5に含まれる付加情報ADI3を参照して、エラーの有無を確認するS210。付加情報ADI3がエラーが無いを示す場合、すなわち付加情報ADI3が0000である場合S210:Noに、回復処理部214は、メモリリクエスト制御部212にリプライデータRD5をそのまま返送するS214。メモリリクエスト制御部212は、回復処理部214から返送されたリプライデータRD5をSW命令実行部112に出力し、SW命令実行部112は、メモリリクエストRSTを出力した際に中断していたSW命令処理を再開し、リプライデータRD5に含まれるデータ本体リプライデータRD0またはリプライデータRD2を用いて処理を実行するS216。一方、ステップ210において、リプライデータRD5に含まれる付加情報ADI3がエラーが有るを示す場合、すなわち付加情報ADI3が0000以外である場合S212:Yesに、回復処理部214は、SW命令実行部112に割込要求IRを出力し、中断していたSW命令処理に、ステップS222からの回復処理を割り込ませるS220、S222~。SW命令実行部112は、回復処理部214からの命令を実行することにより回復処理を行う。具体的には、SW命令実行部112は、まず、付加情報ADI3が第1のバス120においてエラーが検出されたを示す場合、すなわち付加情報ADI3が0100である場合S222:Yes、中断していたSW命令処理を再開するS216。これにより、プロセッサ210がメモリリードをリトライする。付加情報ADI3が第2のバス252と第2のバス254のうちの使用中のバスにおいてエラーが検出されたを示す場合、すなわち付加情報ADI3が0010である場合S222:No、S224:Yes、SW命令実行部112は、メモリリクエスト制御部212に切換制御信号CTRを発行させるS226。これにより、切換制御信号CTRがプロセッサ210における切換部218、キャッシュメモリユニット230における切換部232、メインメモリユニット260における切換部262に出力され、これらの切換部は、第2のバス252と第2のバス254のうちの使用中の一方のバスを他方に切り換える。そして、SW命令実行部112は、中断していたSW命令処理を再開し、メモリリードをリトライするS216。エラーの原因となるバスは、別のバスに切り替わったので、リトライしたメモリリードにより、メインメモリ164から正しいデータを取得することができる。付加情報ADI3がキャッシュメモリ134においてエラーが検出されたを示す場合、すなわち付加情報ADI3の下位3ビットが011である場合S222:No、S224:No、S230:Yesに、SW命令実行部112は、さらに付加情報ADI3の上位1ビットが示すステータス情報を確認するS234。ステータス情報がクリーンを示す場合、すなわち付加情報ADI3の上位1ビットが0である場合、SW命令実行部112は、当該ブロックを無効化すると共に、中断していたSW命令処理を再開するS234:No、S236、S216。一方、ステータス情報がダーティを示す場合、すなわち付加情報ADI3の上位1ビットが1である場合、SW命令実行部112は、OSに障害通知を行い、OSに回復処理を委ねるS234:Yes、S240。また、付加情報ADI3がメインメモリ164においてエラーが検出されたを示す場合、すなわち付加情報ADI3が0001である場合に、SW命令実行部112は、OSに障害通知を行い、OSに回復処理を委ねるS230:No、S240。このように、情報処理装置200は、メインメモリユニット160とキャッシュメモリユニット230に夫々設けられた第1の情報付加部166と第2の情報付加部138以外に、第2のバス252と第2のバス254上を転送されるリプライデータに対してエラーの検出と情報の付加を行う第3の情報付加部234と第3の情報付加部216を備える。そのため、メインメモリ164とキャッシュメモリ134の索引障害以外に、バスの障害も検出することができ、より適切な回復処理が可能になる。また、選択的に使用される第2のバス252と第2のバス254を設け、エラー情報に応じて切り換えるようにしているので、第2のバスの障害から迅速に回復することができる。なお、分かりやすいように、情報処理装置200に対して、メインメモリ164がリプライデータを出力するバス第2のバスを冗長に設けているが、キャッシュメモリ134がリプライデータを出力するバス第1のバス120に対しても代替可能な別のバスを設けるようにしてもよい。以上の説明を踏まえて、本発明の具体的な実施の形態を説明する。図19は、本発明の実施の形態にかかるマルチプロセッサシステム300を示す。マルチプロセッサシステム300は、複数図示の例では3つのプロセッサユニット302と、2次キャッシュメモリユニット350と、メインメモリユニット370を備える。各プロセッサユニット302は、1次キャッシュメモリユニット330が内蔵されており、バス340を介して2次キャッシュメモリユニット350と接続され、2次キャッシュメモリユニット350を介してメインメモリユニット370と接続されている。2次キャッシュメモリユニット350は、バス360を介してメインメモリユニット370と接続されている。1次キャッシュメモリユニット330に備えられるキャッシュメモリ図示しない1次キャッシュメモリのデータ更新方式は、ライトスルーである。2次キャッシュメモリユニット350に備えられるキャッシュメモリ図示しない2次キャッシュメモリは、データ更新方式がライトバックであり、キャッシュコヒーレンシのプロトコルとしてはラインインバリデート方式が用いられている。図20は、マルチプロセッサシステム300におけるプロセッサユニット302、及びマルチプロセッサシステム300の各機能ブロック間のデータの受渡しを詳細に示す図である。分かりやすいように、プロセッサユニット302について、1つのみを示すと共に、プロセッサユニット302から出すメモリリクエストについては省略する。図示のように、プロセッサユニット302は、プロセッサ310と1次キャッシュメモリユニット330を備え、プロセッサ310は、SW命令実行部312、回復処理部314、メモリリクエスト制御部316、第3の情報付加部320を有する。図21は、プロセッサ302がメモリリードに際しての動作の流れを示すフローチャートである。プロセッサユニット302のSW命令実行部312は、SW命令を実行している中で、メモリデータをリードする必要があるときに、メモリリクエスト制御部316にリクエスト要求RSTRを出力する。これに伴って、SW命令実行部312は、SW命令の実行を一時中断する。メモリリクエスト制御部316は、SW命令実行部312からのリクエスト要求RSTRに応じて、メモリリクエストを1次キャッシュメモリユニット330に出力するS300。キャッシュヒットした場合S302:Yes、メモリリクエストに応じて1次キャッシュメモリユニット330からリプライデータRD16がプロセッサ310に出力され、プロセッサ310は、リプライデータ受信後の処理を行うS310。一方、ステップS302において、1次キャッシュメモリでキャッシュミスした場合S302:No、メモリリクエスト制御部316は、2次キャッシュメモリへ発行するメモリリクエストをバス340に出力するS304。2次キャッシュメモリでキャッシュヒットした場合S306:Yes、メモリリクエストに応じて2次キャッシュメモリユニット350からリプライデータRD13がバス340を介してプロセッサ310に転送され、プロセッサ310は、リプライデータ受信後の処理を行うS310。なお、この場合、2次キャッシュメモリユニット350からプロセッサ310へ転送されるリプライデータRD13は、1次キャッシュメモリユニット330にも転送され、1次キャッシュメモリユニット330は、このリプライデータRD13ブロックロードを行う。一方、ステップS306において、2次キャッシュメモリでキャッシュミスした場合S306:No、メモリリクエスト制御部316は、メインメモリへ発行するメモリリクエストをバス360に出力するS308。このメモリリクエストに応じてメインメモリユニット370からリプライデータRD11がバス360を介してプロセッサ310に転送され、プロセッサ310は、リプライデータ受信後の処理を行うS310。なお、この場合、メインメモリユニット370からプロセッサ310へ転送されるリプライデータRD11は、2次キャッシュメモリユニット350にも転送され、2次キャッシュメモリユニット350は、このリプライデータRD11でブロックロードを行う。本実施の形態のマルチプロセッサシステム300において、メインメモリユニット370は、図1に示す情報処理装置100におけるメインメモリユニット160と同様に動作する。具体的には、メインメモリユニット370は、メモリリクエストに応じてプロセッサ310に転送するリプライデータの本体リプライデータRD10というを出力する際に、エラーの検出を行うと共に、検出の結果を示すエラー情報と、場所情報とからなる付加情報ADI11を付加する。2次キャッシュメモリユニット350は、キャッシュミス時に、リプライデータRD11でブロックロードする際に、リプライデータRD11に含まれるデータ本体リプライデータRD10を図示しない2次キャッシュメモリの該当するブロックに格納すると共に、リプライデータRD11に含まれる付加情報ADI10がエラーがあるとエラーが無いのいずれを示すかを確認する。付加情報ADI10がエラーがあるを示す場合に、2次キャッシュメモリユニット350は、該付加情報ADI10をそのまま記憶しておく。一方、付加情報付加情報ADI10がエラーが無いを示す場合に、2次キャッシュメモリユニット350は、該リプライデータRD10に対してエラーの有無の検出を行うと共に、検出の結果を示すエラー情報と場所情報とからなる付加情報を記憶しておく。この場合、記憶された付加情報は、バス360にてエラーが検出された否かを示すことになる。キャッシュヒット時に、2次キャッシュメモリユニット350は、図示しない2次キャッシュメモリからリプライデータリプライデータRD12というを出力する際に、該リプライデータRD12に対応する付加情報が記憶されており、かつ、該付加情報がメインメモリにおいてエラーが検出されたまたはバス360においてエラーが検出されたを示す場合に、記憶していた付加情報をそのまま付加情報ADI11として付加する。一方、付加情報が無い、または、付加情報がエラーが無いを示す場合には、2次キャッシュメモリユニット350は、リプライデータRD12に対してエラーの有無の検出を行うと共に、検出の結果を示すエラー情報と、場所情報と、当該ブロックのステータス情報とを付加情報ADI11として付加する。1次キャッシュメモリユニット330は、データ更新方式がライトスルーであるため、キャッシュヒット時にリプライデータ15を出力する際にエラーが検出された場合に、ステータス情報を付加しない点を除き、2次キャッシュメモリユニット350と同様である。1次キャッシュメモリのキャッシュミス時に2次キャッシュメモリユニット350からプロセッサ310に出力されたリプライデータRD13、または1次キャッシュメモリと2次キャッシュメモリが共にキャッシュミス時にメインメモリユニット370からプロセッサ310に出力されたリプライデータRD11は、まず、プロセッサ310の第3の情報付加部320に入力される。第3の情報付加部320は、入力されたリプライデータに含まれる付加情報がエラーがあるを示す場合に、該付加情報をそのまま付加情報ADI12としてデータ本体に付加してメモリリクエスト制御部316に出力する。なお、データ本体は、リプライデータRD10とリプライデータRD12のいずれか一方である。一方、入力されたリプライデータに含まれる付加情報がエラーが無いを示す場合に、第3の情報付加部320は、該リプライデータに含まれるデータ本体に対してエラーの有無の検出を行い、検出の結果を示すエラー情報と、場所情報とを付加情報ADI12としてデータ本体に付加してメモリリクエスト制御部316に出力する。この場合の付加情報ADI12は、バス340にてエラーが検出された否かまたは2次キャッシュメモリユニット350にてエラーが検出されたか否かを示すことになる。図3は、キャッシュミスの場合図2のステップS102:Noに、メインメモリユニット160がプロセッサ110からメモリリクエストRSTを受信した際の動作の流れを示すフローチャートである。ここで、本実施の形態のマルチプロセッサシステム300において使用される付加情報のフォーマットを説明する。付加情報ADI10、ADI11、ADI12、ADI13は、エラーが検出されたか否かと、エラーが検出された場合には、メインメモリ、2次キャッシュメモリ、1次キャッシュメモリ、バス360、バス340のいずれで検出されたかと、2次キャッシュメモリで検出された場合には、当該ブロックのステータスがダーティであるかクリーンであるかとを示す。図22は、それらのフォーマットの例を示す。図22に示す例では、付加情報は、5ビットを有し、上位の1ビット目がステータスを示すビットであり、上位の2ビット目がエラー情報を示すビットであり、下位の3ビットが場所情報を示すビットである。なお、上位の1ビットは、2次キャッシュメモリにおいてエラーが検出された場合付加情報の下位4ビットが1010である場合においてのみ有効である。勿論、付加情報のフォーマットは、図22に示す例に限られることがない。具体的には、付加情報00000は、エラーが無いことを示す。付加情報01000は、1次キャッシュメモリ索引でエラーが検出されたことを示す。付加情報01001は、バス340でエラーが検出されたことを示す。付加情報01010は、2次キャッシュメモリでエラーが検出され、当該ブロックのステータスがクリーンであることを示す。付加情報11010は、2次キャッシュメモリでエラーが検出され、当該ブロックのステータスがダーティであることを示す。付加情報01011は、バス360でエラーが検出されたことを示す。付加情報01100は、メインメモリでエラーが検出されたことを示す。プロセッサ310が受信するリプライデータには、データ本体以外に、上述したいずれかの付加情報が含まれており、プロセッサ310は、付加情報に基づいて、図21におけるステップS310のリプライデータ受信後処理を行う。これについて、図23のフローチャートを参照して説明する。メモリリクエスト制御部316は、第3の情報付加部320からリプライデータRD14、または1次キャッシュメモリユニット330からリプライデータRD16を受信すると、当該リプライデータを回復処理部314に出力する。回復処理部314は、メモリリクエスト制御部316からのリプライデータリプライデータRD17に含まれる付加情報付加情報ADI12または付加情報ADI13を参照して、エラーの有無を確認するS312。付加情報がエラーが無いを示す場合、すなわち付加情報が00000である場合S312:Noに、回復処理部314は、後述するリトライ回数nを0にリセットすると共に、メモリリクエスト制御部316にリプライデータRD17をそのまま返送するS314、S316。なお、回復処理部314には、図示しない、リトライ回数nを格納するレジスタが設けられている。メモリリクエスト制御部316は、回復処理部314から返送されたリプライデータRD17をSW命令実行部312に出力し、SW命令実行部312は、メモリリクエストを出力した際に中断していたSW命令処理を再開し、リプライデータRD17に含まれるデータ本体を用いて処理を実行するS318。一方、ステップ312において、リプライデータRD17に含まれる付加情報がエラーが有るを示す場合、すなわち付加情報の上位2ビット目が1である場合S312:Yesに、回復処理部314は、SW命令実行部312に割込要求IRを出力し、中断していたSW命令処理に、ステップS330からの回復処理を割り込ませるS320、S330~。回復処理に当たり、回復処理部314は、まず、リトライ回数nが所定の閾値に達したか否かを確認するS330。この閾値は、予め設定された1以上の整数である。本実施の形態において、プロセッサ310は、受信したリプライデータにエラーがあるときに、該エラーがソフトウェアエラーであることに備え、どこでエラーが生じたかを確認する前に、メモリリクエストを再発行してメモリリードをリトライする。リトライ回数nは、このリトライの回数の上限値である。図23に示すように、回復処理部314は、リトライ回数nが閾値より小さいときに、nを1つインクリメントしS330:No、S332、SW命令実行部312にSW命令処理を再開させるS334。これにより、SW命令実行部312からリクエスト要求RSTRが再度出力され、メモリリクエスト制御部316からメモリリクエストが再度発行される。リトライの回数がリトライ回数nに達してもリプライデータにエラーがある場合にS330:Yes、SW命令実行部312は、リプライデータRD17に含まれる付加情報を参照して、エラーがどこで検出されたかを確認する。付加情報がバス340でエラーが検出されたを示す場合すなわち付加情報が01001である場合S340:Yes、または、付加情報がバス360でエラーが検出されたを示す場合すなわち付加情報が01011である場合S340:No、S342:Yes、SW命令実行部312は、リトライをしても回復できる可能性が少ないので、SW命令実行部312は、OSに障害通知を行い、OSに回復処理を委ねるS370。これにより、OSによる回復処理が行われるS380。付加情報が1次キャッシュ索引でエラーが検出されたを示す場合すなわち付加情報が01000である場合S340:No、S342:No、S350:Yes、SW命令実行部312は、1次キャッシュメモリユニット330に備えられた1次キャッシュメモリの当該ブロックを無効化した上で、中断していたSW命令処理を再開するS352、S334。1次キャッシュメモリのデータ更新方式がライトスルーであるため、1次キャッシュメモリの当該ブロックを無効化するだけでキャッシュのコヒーレンシを維持できる。また、1次キャッシュメモリの当該ブロックを無効化してSW命令処理を再開することにより、1次キャッシュメモリでキャッシュミスとなり、2次キャッシュメモリユニット350に備えられる2次キャッシュメモリに対してメモリリクエストが出され、2次キャッシュメモリから正しいデータを取り出すことができる。リプライデータRD17に含まれる付加情報が2次キャッシュメモリ索引でエラーが検出され、当該ブロックのステータスがクリーンであるを示す場合すなわち付加情報が01010である場合S340:No、S342:No、S350:No、S360:Yes、S362:No、SW命令実行部312は、2次キャッシュメモリに対してインバリッド指示を発行して当該ブロックを無効化した上で、中断していたSW命令処理を再開するS364、S334。2次キャッシュメモリのデータ更新方式がライトバックであるため、当該ブロックのステータスがクリーンである場合には、該ブロックのデータと、下位レベルのメモリここではメインメモリとの対応するデータとが一致する。また、1次キャッシュメモリのデータ更新方式がライトスルーであるため、2次キャッシュメモリの当該ブロックを無効すると、1次キャッシュメモリの対応するブロックも無効化される。そのため、2次キャッシュメモリの当該ブロックを無効化してSW命令処理を再開すると、1次キャッシュメモリと2次キャッシュメモリのいずれもキャッシュミスとなるため、メインメモリにメモリリクエストが発行され、メインメモリから正しいデータを読み出すことが可能である。リプライデータRD17に含まれる付加情報が2次キャッシュメモリ索引でエラーが検出され、当該ブロックのステータスがダーティであるを示す場合すなわち付加情報が11010である場合S340:No、S342:No、S350:No、S360:Yes、S362:Yes、SW命令実行部312が2次キャッシュメモリにインバリッド指示を発行して当該ブロックを無効にすると、当該ブロックのデータは、2次キャッシュメモリから追い出されるが、メインメモリに書き戻されてしまう。この場合、エラーのあるデータはメインメモリに反映されてしまうため、SW命令処理を再開しても回復することができなくなってしまう。そのため、リプライデータRD17に含まれる付加情報が2次キャッシュメモリ索引でエラーが検出され、当該ブロックのステータスがダーティであるを示す場合S340:No、S342:No、S350:No、S360:Yes、S362:Yes、SW命令実行部312は、OSに障害通知を行い、OSに回復処理を委ねるS370、S380。この場合、OSに処理を委ねることで、ジョブのアボート処理やロールバック処理などにより、メインメモリの当該ページを無効化することができ、プロセッサユニット302をプロセッサチェック状態にせずに回復できる可能性がある。本実施の形態のマルチプロセッサシステム300は、情報処理装置100と情報処理装置200を用いて説明した技術を、2次キャッシュメモリを備えたマルチプロセッサシステムに適用したものであり、これらの技術による効果を得ることができる。以上、実施の形態をもとに本発明を説明した。実施の形態は例示であり、本発明の主旨から逸脱しない限り、上述実施の形態に対して、さまざまな変更、増減、組合せを加えてもよい。これらの変更、増減、組合せが加えられた変形例も本発明の範囲にあることは当業者に理解されるところである。例えば、マルチプロセッサシステム300において、リプライデータの転送経路バス340またはバス360に対して冗長経路を設け、該転送経路上にエラーが検出された場合に、リプライデータの転送経路を冗長経路に切り換えるようにしてもよい。また、本発明にかかる技術は、2次キャッシュメモリまでを備えたシステムに限らず、3次以上のキャッシュメモリを備えるシステムにも適用することができる。レベルの異なるキャッシュメモリの数が多いほど、本発明にかかる技術による効果をより大きく発揮することができる。また、リプライデータに含まれる付加情報に応じて行う回復処理も、上述した各回復処理の例に限られることがない。