(57)【要約】【課題】完了前のデータと完了後のデータを１個の記憶部に記憶させることができる演算処理装置を提供することを課題とする。【解決手段】演算処理装置は、エラーチェック訂正情報生成部（４１６）と、エラーを検出した場合、エラーチェック訂正情報及びエラー訂正不能情報が付加されたデータを記憶するとともに、エラーを検出しなかった場合、エラーチェック訂正情報が付加されたデータを記憶する記憶部（４１７）と、演算部がエラーを検出した場合、記憶部が記憶する全てのデータを読み出すとともに読み出した全てのデータの各々に付加されているエラーチェック訂正情報に基づいて、読み出した各データのエラーをチェックし、訂正可能なエラーが検出された場合、エラーチェック訂正情報に基づいてエラーが検出されたデータを訂正する処理部（４２０）とを有する。【選択図】図４
2018147166.tif 000002
【特許請求の範囲】
【請求項１】
入力されたデータのエラーをエラーチェック情報に基づいてチェックする第１のエラーチェック部と、
前記第１のエラーチェック部がエラーを検出した場合、入力された前記データに対してエラーチェック訂正情報及びエラー訂正不能情報を付加して出力し、前記第１のエラーチェック部がエラーを検出しなかった場合、入力された前記データに対してエラーチェック訂正情報を付加して出力する第１のエラーチェック訂正情報生成部と、
前記第１のエラーチェック部がエラーを検出した場合、前記エラーチェック訂正情報及び前記エラー訂正不能情報が付加されたデータを記憶するとともに、前記第１のエラーチェック部がエラーを検出しなかった場合、前記エラーチェック訂正情報が付加されたデータを記憶する記憶部と、
前記記憶部が記憶する完了前のデータを完了した場合、完了後のデータを命令順に前記記憶部に記憶する命令制御部と、
前記記憶部が記憶するデータを読み出し、読み出した前記データに付加する前記エラーチェック訂正情報に基づいて、読み出した前記データのエラーをチェックし、エラーが検出されなかった場合、読み出した前記データに基づいて演算を行う演算部と、
前記演算部がエラーを検出した場合、前記記憶部が記憶する全てのデータを読み出すとともに読み出した全てのデータの各々に付加されているエラーチェック訂正情報に基づいて、読み出した各データのエラーをチェックし、訂正可能なエラーが検出された場合、前記エラーチェック訂正情報に基づいてエラーが検出されたデータを訂正する処理部とを有する演算処理装置。
【請求項２】
前記演算部が訂正可能でないエラーを検出した場合、前記エラーが検出されたデータに前記エラー訂正不能情報が付加されているかをチェックし、前記エラー訂正不能情報が付加されていない場合にはエラー情報を送信し、前記エラー訂正不能情報が付加されている場合にはエラー情報を送信しない請求項１に記載の演算処理装置。
【請求項３】
前記演算部は、前記処理部によるデータの訂正の後、前記記憶部が記憶するデータを読み出し、前記読み出したデータに付加されている前記エラーチェック訂正情報を基に前記読み出したデータのエラーをチェックし、エラーが検出されなかった場合には、前記読み出したデータを基に演算を行い、
前記処理部は、前記演算部がエラーを検出した回数をカウントし、前記演算部がエラーを検出した回数が閾値以上になった場合には、エラー情報を送信する請求項１又は２に記載の演算処理装置。
【請求項４】
さらに、前記エラーチェック情報が付加された前記データを記憶するデータキャッシュメモリ部を有し、
前記命令制御部は、命令に応じて、前記データキャッシュメモリ部に記憶されている前記データを、前記第１のエラーチェック部及び前記第１のエラーチェック訂正情報生成部を介して前記記憶部に完了前のデータとして書き込む請求項１乃至３のいずれか１項に記載の演算処理装置。
【請求項５】
さらに、前記記憶部の完了前のデータのアドレスと前記記憶部の完了後のデータのアドレスを記憶するテーブル部を有し、
前記命令制御部は、前記テーブル部を参照し、前記記憶部に記憶されている完了前のデータを完了後のデータとして前記記憶部に記憶させ、前記テーブル部を更新する請求項１乃至４のいずれか１項に記載の演算処理装置。
【請求項６】
前記命令制御部は、前記テーブル部を参照し、アドレスを含む演算命令を発行し、
前記演算部は、前記アドレスを含む演算命令を受信し、前記アドレスのデータを前記記憶部から読み出す請求項５に記載の演算処理装置。
【請求項７】
前記第１のエラーチェック訂正情報生成部は、前記データ及び前記エラーチェック情報を基に前記エラーチェック訂正情報を生成し、
さらに、前記演算部が前記記憶部から読み出した前記データ及び前記データに付加されている前記エラーチェック訂正情報に基づいて、前記エラーチェック情報を復元するエラーチェック情報復元部を有する請求項１乃至６のいずれか１項に記載の演算処理装置。
【請求項８】
前記演算部は、前記演算されたデータ及び前記データに対応するエラーチェック情報を出力し、
さらに、前記演算部が演算したデータのエラーをエラーチェック情報に基づいてチェックする第２のエラーチェック部と、
前記第２のエラーチェック部がエラーを検出した場合、前記演算部が演算したデータに対してエラーチェック訂正情報及びエラー訂正不能情報を付加して出力し、前記第２のエラーチェック部がエラーを検出しなかった場合、前記演算部が演算したデータに対してエラーチェック訂正情報を付加して出力する第２のエラーチェック訂正情報生成部とを有し、
前記記憶部は、前記第２のエラーチェック部がエラーを検出した場合、前記エラーチェック訂正情報及び前記エラー訂正不能情報が付加された前記データを記憶し、前記第２のエラーチェック部がエラーを検出しなかった場合、前記エラーチェック訂正情報が付加された前記データを記憶する請求項１乃至７のいずれか１項に記載の演算処理装置。
【請求項９】
前記エラー訂正不能情報は、前記エラーチェック訂正情報のビット操作により付加される請求項１乃至８のいずれか１項に記載の演算処理装置。
【請求項１０】
演算処理装置の制御方法において、
前記演算処理装置が有する第１のエラーチェック部が、入力されたデータのエラーをエラーチェック情報に基づいてチェックし、
前記演算処理装置が有する第１のエラーチェック訂正情報生成部が、前記第１のエラーチェック部がエラーを検出した場合、入力された前記データに対してエラーチェック訂正情報及びエラー訂正不能情報を付加して出力し、前記第１のエラーチェック部がエラーを検出しなかった場合、入力された前記データに対してエラーチェック訂正情報を付加して出力し、
前記演算処理装置が有する記憶部が、前記第１のエラーチェック部がエラーを検出した場合、前記エラーチェック訂正情報及び前記エラー訂正不能情報が付加されたデータを記憶するとともに、前記第１のエラーチェック部がエラーを検出しなかった場合、前記エラーチェック訂正情報が付加されたデータを記憶し、
前記演算処理装置が有する命令制御部が、前記記憶部が記憶する完了前のデータを完了した場合、完了後のデータを命令順に前記記憶部に記憶し、
前記演算処理装置が有する演算部が、前記記憶部が記憶するデータを読み出し、読み出した前記データに付加する前記エラーチェック訂正情報に基づいて、読み出した前記データのエラーをチェックし、エラーが検出されなかった場合、読み出した前記データに基づいて演算を行い、
前記演算処理装置が有する処理部が、前記演算部がエラーを検出した場合、前記記憶部が記憶する全てのデータを読み出すとともに読み出した全てのデータの各々に付加されているエラーチェック訂正情報に基づいて、読み出した各データのエラーをチェックし、訂正可能なエラーが検出された場合、前記エラーチェック訂正情報に基づいてエラーが検出されたデータを訂正する演算処理装置の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、演算処理装置及び演算処理装置の制御方法に関する。
【背景技術】
【０００２】
同一の管理情報が３箇所以上の複数領域に格納されたメモリを有するメモリシステムが知られている（特許文献１参照）。管理情報読み出し手段は、複数領域のそれぞれに格納された管理情報を読み出す。管理情報比較手段は、管理情報読み出し手段によって読み出された複数の管理情報を比較する。第１のエラー検出手段は、管理情報比較手段による比較動作において不一致判定が行われたときに、エラーの発生を検出する。
【０００３】
また、メモリエリアをＯＳ管理エリアとユーザーエリアとに分割し、各エリアのトランザクションを１対１にマッピングする通信制御装置が知られている（特許文献２参照）。ユーザーからは、ユーザーエリアのみアクセス可能とし、ＯＳからは両エリアともにアクセス可能とする。通信制御装置は、ユーザーがハントしたいユーザーエリア内のトランザクションを割り当て、ユーザーが解放したいトランザクションの異常検出をＯＳ管理エリアのマッピング情報に基づいて行う。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００２−１５７１６８号公報
【特許文献２】特開平９−１６４９９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
演算処理装置は、コミット前のデータを記憶するワークレジスタと、コミット後のデータを記憶する汎用レジスタを有する。しかし、演算処理装置は、ワークレジスタと汎用レジスタの両方を有することにより、面積及び消費電力が増大してしまう。
【０００６】
１つの側面では、本発明の目的は、完了前のデータと完了後のデータを１個の記憶部に記憶することにより、面積及び消費電力の増加を抑制させることができる演算処理装置及び演算処理装置の制御方法を提供することである。
【課題を解決するための手段】
【０００７】
演算処理装置は、入力されたデータのエラーをエラーチェック情報に基づいてチェックする第１のエラーチェック部と、前記第１のエラーチェック部がエラーを検出した場合、入力された前記データに対してエラーチェック訂正情報及びエラー訂正不能情報を付加して出力し、前記第１のエラーチェック部がエラーを検出しなかった場合、入力された前記データに対してエラーチェック訂正情報を付加して出力する第１のエラーチェック訂正情報生成部と、前記第１のエラーチェック部がエラーを検出した場合、前記エラーチェック訂正情報及び前記エラー訂正不能情報が付加されたデータを記憶するとともに、前記第１のエラーチェック部がエラーを検出しなかった場合、前記エラーチェック訂正情報が付加されたデータを記憶する記憶部と、前記記憶部が記憶する完了前のデータを完了した場合、完了後のデータを命令順に前記記憶部に記憶する命令制御部と、前記記憶部が記憶するデータを読み出し、読み出した前記データに付加する前記エラーチェック訂正情報に基づいて、読み出した前記データのエラーをチェックし、エラーが検出されなかった場合、読み出した前記データに基づいて演算を行う演算部と、前記演算部がエラーを検出した場合、前記記憶部が記憶する全てのデータを読み出すとともに読み出した全てのデータの各々に付加されているエラーチェック訂正情報に基づいて、読み出した各データのエラーをチェックし、訂正可能なエラーが検出された場合、前記エラーチェック訂正情報に基づいてエラーが検出されたデータを訂正する処理部とを有する。
【発明の効果】
【０００８】
１つの側面では、完了前のデータと完了後のデータを１個の記憶部に記憶させることにより、面積及び消費電力の増加を抑制できる。また、エラー訂正不能情報が付加されている場合には、不要なエラー情報の送信を防止することができる。
【図面の簡単な説明】
【０００９】
【図１】図１は、比較例による演算処理装置の構成例を示す図である。
【図２】図２（Ａ）は命令制御ユニットの制御方法を示すフローチャートであり、図２（Ｂ）は演算ユニットの制御方法を示すフローチャートである。
【図３】図３は、エラー処理回路の制御方法を示すフローチャートである。
【図４】図４は、本実施形態による演算処理装置の構成例を示す図である。
【図５】図５（Ａ）は図１のワークレジスタ（ＲＯＢ）、汎用レジスタ（ＧＰＲ）及びエラー処理回路を示す図であり、図５（Ｂ）は図４のレジスタ（ＰＧＰＲ）、命令制御ユニット及び定義テーブルを示す図である。
【図６】図６は、第１のエラーチェック訂正情報生成回路の処理を示す図である。
【図７】図７（Ａ）は命令制御ユニットの制御方法を示すフローチャートであり、図７（Ｂ）は演算ユニットの制御方法を示すフローチャートである。
【図８】図８は、エラー処理回路の制御方法を示すフローチャートである。
【図９】図９は、図４の演算処理装置の制御方法の具体例を示す図である。
【発明を実施するための形態】
【００１０】
（比較例）
図１は、比較例による演算処理装置１０１の構成例を示す図である。演算処理装置１０１は、メインメモリ１０２に接続され、命令制御ユニット１１１、演算ユニット１１２、命令キャッシュメモリ１１３、データキャッシュメモリ１１４、第１のエラーチェック訂正情報生成回路１１５、レジスタ群１２０、エラー処理回路１１８、第２のエラーチェック訂正情報生成回路１１９、パリティ復元回路１２１、及びパリティチェック回路１２２を有する。命令制御ユニット１１１は、ＩＵ（Instruction Unit）である。演算ユニット１１２は、ＥＵ（Execution Unit）である。レジスタ群１２０は、ワークレジスタ１１６及び汎用レジスタ１１７を有する。ワークレジスタ１１６は、ＲＯＢ（Re Order Buffer）である。汎用レジスタ１１７は、ＧＰＲ（General Purpose Register）である。
【００１１】
命令キャッシュメモリ１１３は、メインメモリ１０２に記憶されている命令のうちの一部の命令を記憶する。データキャッシュメモリ１１４は、メインメモリ１０２に記憶されているデータのうちの一部のデータ（パリティビットを含む）を記憶する。命令制御ユニット１１１は、命令キャッシュメモリ１１３に記憶されているロード命令を読み出し、そのロード命令を実行する。具体的には、命令制御ユニット１１１は、データキャッシュメモリ１１４に記憶されているデータを読み出し、その読み出したデータを第１のエラーチェック訂正情報生成回路１１５を介してワークレジスタ（ＲＯＢ）１１６に書き込む。第１のエラーチェック訂正情報生成回路１１５は、データキャッシュメモリ１１４から読み出されたデータを基にエラーチェック訂正情報（ＥＣＣ情報）を生成し、そのエラーチェック訂正情報が付加されたデータをワークレジスタ（ＲＯＢ）１１６に出力する。エラーチェック訂正情報は、データのエラーを検出し、その検出されたエラーを訂正するための情報である。
【００１２】
ワークレジスタ（ＲＯＢ）１１６は、そのエラーチェック訂正情報が付加されたデータを、コミット前（完了前）のデータとして記憶する。命令制御ユニット１１１は、アウトオブオーダー実行が可能である。また、例えば、命令制御ユニット１１１が誤って２重のロード命令を実行した場合には、データが破壊され、ワークレジスタ（ＲＯＢ）１１６に無効なエラーデータが書き込まれてしまう場合がある。そこで、命令制御ユニット１１１は、ワークレジスタ（ＲＯＢ）１１６内の有効なデータのみを命令順にコミット（完了）し、コミット後（完了後）のデータを汎用レジスタ（ＧＰＲ）１１７に書き込む。
【００１３】
図２（Ａ）、（Ｂ）及び図３は、図１の演算処理装置１０１の制御方法を示すフローチャートである。図２（Ａ）は、命令制御ユニット１１１の制御方法を示すフローチャートである。図２（Ｂ）は、演算ユニット１１２の制御方法を示すフローチャートである。図３は、エラー処理回路１１８の制御方法を示すフローチャートである。
【００１４】
まず、図２（Ａ）のステップＳ２０１では、命令制御ユニット１１１は、読み出しアドレス及び書き込みアドレスを含む演算命令を演算ユニット１１２に発行する。読み出しアドレスは、汎用レジスタ（ＧＰＲ）１１７のアドレスである。書き込みアドレスは、ワークレジスタ（ＲＯＢ）１１６のアドレスである。
【００１５】
次に、図２（Ｂ）のステップＳ２１１では、演算ユニット１１２は、読み出しアドレス及び書き込みアドレスを含む演算命令を受信する。次に、ステップＳ２１２では、演算ユニット１１２は、パリティ復元回路１２１を介して、その読み出しアドレスが示す汎用レジスタ（ＧＰＲ）１１７のアドレスからエラーチェック訂正情報が付加されたデータを読み出す。次に、ステップＳ２１３では、演算ユニット１１２は、そのエラーチェック訂正情報を基にデータのエラーをチェックし、エラーが検出されなかった場合にはステップＳ２１６に処理を進め、エラーが検出された場合にはステップＳ２１４に処理を進める。
【００１６】
ステップＳ２１６では、演算ユニット１１２は、読み出したデータを基に演算を行う。そして、演算ユニット１１２は、パリティチェック回路１２２及び第２のエラーチェック訂正情報生成回路１１９を介して、書き込みアドレスが示すワークレジスタ（ＲＯＢ）１１６のアドレスに、演算後のデータを書き込む。第２のエラーチェック訂正情報生成回路１１９は、演算ユニット１１２により演算されたデータを基にエラーチェック訂正情報を生成し、エラーチェック訂正情報が付加されたデータをワークレジスタ（ＲＯＢ）１１６に出力する。ワークレジスタ（ＲＯＢ）１１６は、エラーチェック訂正情報が付加されたデータをコミット前のデータとして記憶する。その後、命令制御ユニット１１１は、ワークレジスタ（ＲＯＢ）１１６内のコミット前のデータをコミットし、コミット後のデータを汎用レジスタ（ＧＰＲ）１１７に書き込む。これに対し、ステップＳ２１４では、演算ユニット１１２は、エラー情報を命令制御ユニット１１１に送信する。
【００１７】
図２（Ａ）のステップＳ２０２では、命令制御ユニット１１１は、一定時間内にエラー情報を受信したか否かを判定し、エラー情報を受信した場合にはステップＳ２０３に処理を進め、エラー情報を受信しなかった場合には処理を終了する。ステップＳ２０３では、命令制御ユニット１１１は、エラー処理回路１１８に対して、エラー処理の開始を指示し、処理を終了する。
【００１８】
エラー処理回路１１８は、命令制御ユニット１１１からエラー処理の開始の指示を受けると、図３の処理を開始する。ステップＳ３０１では、エラー処理回路１１８は、汎用レジスタ（ＧＰＲ）１１７内のすべてのデータを順次読み出す。次に、ステップＳ３０２では、エラー処理回路１１８は、その読み出したデータに付加されているエラーチェック訂正情報を基にその読み出したデータのエラーをチェックする。そして、エラー処理回路１１８は、エラーが検出された場合にはステップＳ３０３に処理を進め、エラーが検出されなかった場合にはステップＳ３０６に処理を進める。
【００１９】
ステップＳ３０３では、エラー処理回路１１８は、検出されたエラーが訂正可能なエラー及び訂正可能でないエラーのいずれであるのかを判定する。例えば、データが１ビットエラーである場合には、エラー処理回路１１８は、エラーの検出及び訂正が可能である。また、データが２ビットエラーである場合には、エラー処理回路１１８は、エラーの検出が可能であり、エラーの訂正が不能である。また、データが３ビット以上のエラーである場合には、エラー処理回路１１８は、エラーを検出できない場合がある。エラー処理回路１１８は、検出されたエラーが訂正可能なエラー（１ビットエラー）である場合にはステップＳ３０５に処理を進め、検出されたエラーが訂正可能でないエラー（２ビットエラー）である場合にはステップＳ３０４に処理を進める。
【００２０】
ステップＳ３０４では、エラー処理回路１１８は、システムエラーを命令制御ユニット１１１を介して上位装置に送信する。ステップＳ３０５では、エラー処理回路１１８は、エラーチェック訂正情報を基にデータを訂正し、ステップＳ３０６に処理を進める。ステップＳ３０６では、エラー処理回路１１８は、汎用レジスタ（ＧＰＲ）１１７内のすべてのデータを読み出したか否かを判定する。そして、エラー処理回路１１８は、すべてのデータを読み出していない場合には、ステップＳ３０１に戻り、汎用レジスタ（ＧＰＲ）１１７内の次のデータを読み出し、上記の処理を繰り返す。また、エラー処理回路１１８は、すべてのデータを読み出した場合には、処理を終了し、図２（Ｂ）のステップＳ２１５の処理に遷移する。
【００２１】
図２（Ｂ）のステップＳ２１５では、演算ユニット１１２は、図３のエラー処理回路１１８の処理が終了するまでの一定時間待機し、その後、ステップＳ２１２に処理を戻す。ステップＳ２１２では、演算ユニット１１２は、読み出しアドレスが示す汎用レジスタ（ＧＰＲ）１１７内のデータを読み出す。読み出されたデータは、ステップＳ３０５でエラー訂正されている。次に、ステップＳ２１３では、演算ユニット１１２は、読み出したデータに付加されているエラーチェック訂正情報を基にデータのエラーをチェックする。読み出されたデータがエラー訂正されているので、演算ユニット１１２は、エラーを検出せず、ステップＳ２１６で、読み出したデータを基に演算を行う。
【００２２】
ここで、図３において、エラー処理回路１１８が、図２（Ｂ）のステップＳ２１２で演算ユニット１１２が読み出したデータだけでなく、汎用レジスタ（ＧＰＲ）１１７内のすべてのデータについて上記の処理を行う理由を説明する。ステップＳ２１２で演算ユニット１１２が汎用レジスタ（ＧＰＲ）１１７から読み出したデータがエラーである場合には、そのエラーのデータを基に生成されたデータが汎用レジスタ（ＧＰＲ）１１７に記憶されている可能性がある。そのエラーのデータを基に生成されたデータは、エラーデータである可能性が高い。すなわち、演算ユニット１１２が汎用レジスタ（ＧＰＲ）１１７から読み出したデータがエラーである場合には、汎用レジスタ（ＧＰＲ）１１７内の他のデータもエラーである可能性がある。そのため、エラー処理回路１１８は、汎用レジスタ（ＧＰＲ）１１７内のすべてのデータに対して、図３の処理を行う。
【００２３】
なお、演算ユニット１１２は、汎用レジスタ（ＧＰＲ）１１７からデータを読み出す他に、処理の高速化のために、データキャッシュメモリ１１４又はワークレジスタ（ＲＯＢ）１１６からデータを読み出すことも可能である。
【００２４】
（実施形態）
図４は、本実施形態による演算処理装置４０１の構成例を示す図である。演算処理装置４０１は、メインメモリ４０２に接続され、命令制御ユニット４１１、演算ユニット４１２、命令キャッシュメモリ４１３、データキャッシュメモリ４１４、第１のパリティチェック回路４１５、第１のエラーチェック訂正情報生成回路４１６、レジスタ４１７、定義テーブル４１８、パリティ復元回路４１９、エラー処理回路４２０、第２のパリティチェック回路４２１、及び第２のエラーチェック訂正情報生成回路４２２を有する。命令制御ユニット４１１は、ＩＵ（Instruction Unit）である。演算ユニット４１２は、ＥＵ（Execution Unit）である。エラー処理回路４２０は、リトライカウンタ４２３を有する。レジスタ４１７は、ＰＧＰＲ（Physical GPR）の記憶部であり、図１のワークレジスタ（ＲＯＢ）１１６及び汎用レジスタ（ＧＰＲ）１１７を１個のレジスタにまとめたものである。これにより、演算処理装置４０１の面積及び消費電力を低減することができる。
【００２５】
図５（Ａ）は、図１のワークレジスタ（ＲＯＢ）１１６、汎用レジスタ（ＧＰＲ）１１７及びエラー処理回路１１８を示す図である。ワークレジスタ（ＲＯＢ）１１６は、上記のように、命令制御ユニット１１１のコミット前（完了前）のデータを記憶する。汎用レジスタ（ＧＰＲ）１１７は、命令制御ユニット１１１のコミット後（完了後）のデータを記憶する。エラー処理回路１１８は、図３に示したように、汎用レジスタ（ＧＰＲ）１１７内のコミット後のデータに対して処理を行う。
【００２６】
図５（Ｂ）は、図４のレジスタ（ＰＧＰＲ）４１７、命令制御ユニット４１１及び定義テーブル４１８を示す図である。レジスタ（ＰＧＰＲ）４１７は、図１のワークレジスタ（ＲＯＢ）１１６及び汎用レジスタ（ＧＰＲ）１１７を１個のレジスタにまとめたものであり、命令制御ユニット４１１のコミット前のデータと命令制御ユニット４１１のコミット後のデータを記憶する。定義テーブル４１８は、命令制御ユニット４１１の制御の下、レジスタ（ＰＧＰＲ）４１７のコミット前のデータのアドレスとレジスタ（ＰＧＰＲ）４１７のコミット後のデータのアドレスを記憶する。命令制御ユニット４１１は、定義テーブル４１８を参照し、レジスタ（ＰＧＰＲ）４１７に記憶されているコミット前のデータを命令順にコミット（完了）し、コミット後のデータとしてレジスタ（ＰＧＰＲ）４１７に記憶させ、定義テーブル４１８を更新する。
【００２７】
ここで、図４のエラー処理回路４２０が図３と同様の処理を行う場合を説明する。ステップＳ３０１では、エラー処理回路４２０は、レジスタ（ＰＧＰＲ）４１７内のすべてのデータを順次読み出す。すなわち、エラー処理回路４２０は、レジスタ（ＰＧＰＲ）４１７に記憶されているコミット前のデータとコミット後のデータの両方を読み出す。なお、エラー処理回路４２０は、定義テーブル４１８を参照できないので、コミット前のデータとコミット後のデータとを区別することができない。ここで、上記のように、コミット前のデータには、２重のロード命令等による無効なエラーデータが含まれている可能性がある。その場合、エラー処理回路４２０は、ステップＳ３０２及びＳ３０３を介して、ステップＳ３０４に進み、不要なシステムエラー情報を送信してしまう課題がある。なお、図５（Ａ）の場合には、エラー処理回路１１８は、レジスタ（ＧＰＲ）１１７内のコミット後のデータのみを読み出すので、そのような課題が発生しない。以下、その課題を解決するための実施形態を説明する。
【００２８】
図４において、命令キャッシュメモリ４１３は、メインメモリ４０２に記憶されている命令のうちの一部の命令を記憶する。データキャッシュメモリ４１４は、図６に示すように、メインメモリ４０２に記憶されているデータのうちの一部のデータ６０１及びパリティビット６０２を記憶する。８ビットのデータ６０１に対して、１ビットのパリティビット６０２が付加される。パリティビット６０２は、データ６０１のエラーをチェックするためのエラーチェック情報である。
【００２９】
命令制御ユニット４１１は、プログラムカウンタに従い、命令キャッシュメモリ４１３に記憶されているロード命令を読み出し、そのロード命令を実行する。具体的には、命令制御ユニット４１１は、データキャッシュメモリ４１４に記憶されているデータ６０１及びパリティビット６０２を読み出し、その読み出したデータ６０１及びパリティビット６０２を第１のパリティチェック回路４１５及び第１のエラーチェック訂正情報生成回路４１６を介してレジスタ（ＰＧＰＲ）４１７に書き込む。
【００３０】
第１のパリティチェック回路４１５は、第１のエラーチェック回路であり、データ６０１及びパリティビット６０２を入力し、パリティビット６０２を基にデータ６０１のエラーをチェックする。
【００３１】
第１のエラーチェック訂正情報生成回路４１６は、第１のパリティチェック回路４１５によりエラーが検出されなかった場合には、図６に示すように、データ６０１に対してエラーチェック訂正情報（ＥＣＣ情報）６０３を付加してレジスタ（ＰＧＰＲ）４１７に出力する。エラーチェック訂正情報６０３は、データ６０１のエラーを検出し、その検出されたエラーを訂正するための情報である。また、第１のエラーチェック訂正情報生成回路４１６は、第１のパリティチェック回路４１５によりエラーが検出された場合には、データ６０１に対してエラー訂正不能情報及びエラーチェック訂正情報６０３を付加してレジスタ（ＰＧＰＲ）４１７に出力する。
【００３２】
具体的には、第１のエラーチェック訂正情報生成回路４１６は、第１のパリティチェック回路４１５によりエラーが検出されなかった場合には、６４ビットのデータ６０１及び８ビットのパリティビット６０２を基に、例えば１３ビットのエラーチェック訂正情報６０３を生成する。エラーチェック訂正情報６０３は、パリティビット６０２の情報を含み、パリティビット６０２を復元可能である。そして、第１のエラーチェック訂正情報生成回路４１６は、６４ビットのデータ６０１及びエラーチェック訂正情報６０３をレジスタ（ＰＧＰＲ）４１７に出力する。
【００３３】
また、第１のエラーチェック訂正情報生成回路４１６は、第１のパリティチェック回路４１５によりエラーが検出された場合には、６４ビットのデータ６０１及び８ビットのパリティビット６０２を基に、例えば１３ビットのエラーチェック訂正情報６０３を生成し、エラーチェック訂正情報６０３のビット操作により、エラーチェック訂正情報６０３にエラー訂正不能情報を付加する。例えば、第１のエラーチェック訂正情報生成回路４１６は、エラーチェック訂正情報６０３の全ビット又は２ビットを反転することにより、エラーチェック訂正情報６０３にエラー訂正不能情報を付加する。エラーチェック訂正情報６０３の全ビット又は２ビットが反転したビットの組み合わせは、通常のエラー（例えばソフトエラー）では発生する確率が極めて低いために、エラーチェック訂正情報６０３のビットの組み合わせをチェックすることにより、エラー訂正不能情報が付加されているか否かを判断することができる。その後、第１のエラーチェック訂正情報生成回路４１６は、６４ビットのデータ６０１及びエラー訂正不能情報が付加された１３ビットのエラーチェック訂正情報６０３をレジスタ（ＰＧＰＲ）４１７に出力する。なお、第１のエラーチェック訂正情報生成回路４１６は、データ６０１とエラーチェック訂正情報６０３とエラー訂正不能情報をレジスタ（ＰＧＰＲ）４１７に出力してもよい。
【００３４】
レジスタ（ＰＧＰＲ）４１７は、第１のパリティチェック回路４１５によりエラーが検出されなかった場合には、エラーチェック訂正情報６０３が付加されたデータ６０１を記憶する。また、レジスタ（ＰＧＰＲ）４１７は、第１のパリティチェック回路４１５によりエラーが検出された場合には、エラー訂正不能情報及びエラーチェック訂正情報６０３が付加されたデータ６０１を記憶する。
【００３５】
命令制御ユニット４１１は、レジスタ（ＰＧＰＲ）４１７に記憶されているコミット前のデータを命令順にコミットし、レジスタ（ＰＧＰＲ）４１７に記憶されているコミット前のデータをコミット後のデータとしてレジスタ（ＰＧＰＲ）４１７に記憶させ、定義テーブル４１８を更新する。
【００３６】
レジスタ（ＰＧＰＲ）４１７は、エラーチェック訂正情報６０３が付加されたデータ６０１を、コミット前のデータとして記憶する。命令制御ユニット４１１は、アウトオブオーダー実行が可能である。また、例えば、命令制御ユニット４１１が誤って２重のロード命令を実行した場合には、データが破壊され、レジスタ（ＰＧＰＲ）４１７に無効なエラーデータがコミット前のデータとして書き込まれてしまう場合がある。そこで、命令制御ユニット４１１は、レジスタ（ＰＧＰＲ）４１７内の有効なコミット前のデータのみを命令順にコミットし、コミット後のデータとしてレジスタ（ＰＧＰＲ）４１７に記憶させる。
【００３７】
図７（Ａ）、（Ｂ）及び図８は、図４の演算処理装置４０１の制御方法を示すフローチャートである。図７（Ａ）は、命令制御ユニット４１１の制御方法を示すフローチャートである。図７（Ｂ）は、演算ユニット４１２の制御方法を示すフローチャートである。図８は、エラー処理回路４２０の制御方法を示すフローチャートである。
【００３８】
まず、図７（Ａ）のステップＳ７０１では、命令制御ユニット４１１は、定義テーブル４１８を参照し、演算命令を行うためのレジスタ（ＰＧＰＲ）４１７の読み出しアドレス及び書き込みアドレスを決定する。次に、ステップＳ７０２では、命令制御ユニット４１１は、読み出しアドレス及び書き込みアドレスを含む演算命令を演算ユニット４１２に発行する。読み出しアドレス及び書き込みアドレスは、レジスタ（ＰＧＰＲ）４１７のアドレスである。
【００３９】
次に、図７（Ｂ）のステップＳ７１１では、演算ユニット４１２は、読み出しアドレス及び書き込みアドレスを含む演算命令を受信する。次に、ステップＳ７１２では、演算ユニット４１２は、パリティ復元回路４１９を介して、その読み出しアドレスが示すレジスタ（ＰＧＰＲ）４１７のアドレスからエラーチェック訂正情報６０３が付加されたデータ６０１を読み出す。パリティ復元回路４１９は、エラーチェック情報復元回路であり、演算ユニット４１２がレジスタ（ＰＧＰＲ）４１７から読み出したデータ６０１及びデータ６０１に付加されているエラーチェック訂正情報６０３を入力し、パリティビット６０２を復元し、パリティビット６０２を演算ユニット４１２に出力する。
【００４０】
次に、ステップＳ７１３では、演算ユニット４１２は、データ６０１に付加されているエラーチェック訂正情報６０３を基にデータ６０１のエラーをチェックし、エラーが検出されなかった場合にはステップＳ７１６に処理を進め、エラーが検出された場合にはステップＳ７１４に処理を進める。
【００４１】
ステップＳ７１６では、演算ユニット４１２は、読み出したデータ６０１を基に演算を行う。そして、演算ユニット４１２は、第２のパリティチェック回路４２１及び第２のエラーチェック訂正情報生成回路４２２を介して、書き込みアドレスが示すレジスタ（ＰＧＰＲ）４１７のアドレスに、演算後のデータをコミット前のデータとして書き込み、定義テーブル４１８を更新する。
【００４２】
演算ユニット４１２は、演算後のデータ６０１に対して上記のパリティビット６０２を承継可能である場合には、演算後のデータ６０１に対して上記のパリティビット６０２を付加する。また、演算ユニット４１２は、演算後のデータ６０１に対して上記のパリティビット６０２を承継可能でない場合には、演算後のデータ６０１に対して新たなパリティビット６０２を付加する。
【００４３】
第２のパリティチェック回路４２１は、第２のエラーチェック回路であり、演算ユニット４１２により演算されたデータ６０１及びデータ６０１に対応するパリティビット６０２を入力し、パリティビット６０２を基にデータ６０１のエラーをチェックする。
【００４４】
第２のエラーチェック訂正情報生成回路４２２は、第２のパリティチェック回路４２１によりエラーが検出されなかった場合には、図６と同様に、データ６０１に対してエラーチェック訂正情報６０３を付加してレジスタ（ＰＧＰＲ）４１７に出力する。また、第２のエラーチェック訂正情報生成回路４２２は、第２のパリティチェック回路４２１によりエラーが検出された場合には、データ６０１に対してエラー訂正不能情報及びエラーチェック訂正情報６０３を付加してレジスタ（ＰＧＰＲ）４１７に出力する。
【００４５】
具体的には、第２のエラーチェック訂正情報生成回路４２２は、第２のパリティチェック回路４２１によりエラーが検出されなかった場合には、６４ビットのデータ６０１及び８ビットのパリティビット６０２を基に、例えば１３ビットのエラーチェック訂正情報６０３を生成する。そして、第２のエラーチェック訂正情報生成回路４２２は、６４ビットのデータ６０１及びエラーチェック訂正情報６０３をレジスタ（ＰＧＰＲ）４１７に出力する。
【００４６】
これに対し、第２のエラーチェック訂正情報生成回路４２２は、第２のパリティチェック回路４２１によりエラーが検出された場合には、６４ビットのデータ６０１及び８ビットのパリティビット６０２を基に、例えば１３ビットのエラーチェック訂正情報６０３を生成し、エラーチェック訂正情報６０３のビット操作により、エラーチェック訂正情報６０３にエラー訂正不能情報を付加する。例えば、第２のエラーチェック訂正情報生成回路４２２は、エラーチェック訂正情報６０３の全ビット又は２ビットを反転することにより、エラーチェック訂正情報６０３にエラー訂正不能情報を付加する。その後、第２のエラーチェック訂正情報生成回路４２２は、６４ビットのデータ６０１及びエラー訂正不能情報が付加された１３ビットのエラーチェック訂正情報６０３をレジスタ（ＰＧＰＲ）４１７に出力する。なお、第２のエラーチェック訂正情報生成回路４２２は、データ６０１とエラーチェック訂正情報６０３とエラー訂正不能情報をレジスタ（ＰＧＰＲ）４１７に出力してもよい。
【００４７】
レジスタ（ＰＧＰＲ）４１７は、第２のパリティチェック回路４２１によりエラーが検出されなかった場合には、エラーチェック訂正情報６０３が付加されたデータ６０１をコミット前のデータとして記憶する。また、レジスタ（ＰＧＰＲ）４１７は、第２のパリティチェック回路４２１によりエラーが検出された場合には、エラー訂正不能情報及びエラーチェック訂正情報６０３が付加されたデータ６０１をコミット前のデータとして記憶する。
【００４８】
その後、命令制御ユニット４１１は、レジスタ（ＰＧＰＲ）４１７内のコミット前のデータをコミットし、そのコミット前のデータをコミット後のデータとしてレジスタ（ＰＧＰＲ）４１７に記憶させ、定義テーブル４１８を更新する。これに対し、ステップＳ７１４では、演算ユニット４１２は、エラー情報を命令制御ユニット４１１に送信する。
【００４９】
図７（Ａ）のステップＳ７０３では、命令制御ユニット４１１は、一定時間内にエラー情報を受信したか否かを判定し、エラー情報を受信した場合にはステップＳ７０４に処理を進め、エラー情報を受信しなかった場合にはステップＳ７０５に処理を進める。ステップＳ７０４では、命令制御ユニット４１１は、エラー処理回路４２０に対して、エラー処理の開始を指示し、ステップＳ７０３に処理を戻す。
【００５０】
エラー処理回路４２０は、命令制御ユニット４１１からエラー処理の開始の指示を受けると、図８の処理を開始する。ステップＳ８０１では、エラー処理回路４２０は、レジスタ（ＰＧＰＲ）４１７内のすべてのデータ６０１を順次読み出す。次に、ステップＳ８０２では、エラー処理回路４２０は、その読み出したデータ６０１に付加されているエラーチェック訂正情報６０３を基にその読み出したデータ６０１のエラーをチェックする。そして、エラー処理回路４２０は、エラーが検出された場合にはステップＳ８０３に処理を進め、エラーが検出されなかった場合にはステップＳ８０８に処理を進める。
【００５１】
ステップＳ８０３では、エラー処理回路４２０は、検出されたエラーが訂正可能なエラー及び訂正可能でないエラーのいずれであるのかを判定する。例えば、データ６０１が１ビットエラーである場合には、エラー処理回路４２０は、エラーの検出及び訂正が可能である。また、データ６０１が２ビットエラーである場合には、エラー処理回路４２０は、エラーの検出が可能であり、エラーの訂正が不能である。また、データ６０１が３ビット以上のエラーである場合には、エラー処理回路４２０は、エラーを検出できない場合がある。エラー処理回路４２０は、検出されたエラーが訂正可能なエラー（１ビットエラー）である場合にはステップＳ８０４に処理を進め、検出されたエラーが訂正可能でないエラー（２ビットエラー）である場合にはステップＳ８０５に処理を進める。ステップＳ８０４では、エラー処理回路４２０は、エラーチェック訂正情報６０３を基にデータ６０１を訂正し、ステップＳ８０８に処理を進める。
【００５２】
ステップＳ８０５では、エラー処理回路４２０は、エラーが検出されたデータ６０１にエラー訂正不能情報が付加されているか否かをチェックする。具体的には、エラー処理回路４２０は、エラーが検出されたデータ６０１に付加されているエラーチェック訂正情報６０３にエラー訂正不能情報が付加されている場合には、エラーが検出されたデータ６０１にエラー訂正不能情報が付加されていると判定する。例えば、エラー処理回路４２０は、エラーチェック訂正情報６０３のビットの組み合わせが通常のエラーでは存在する可能子が極めて低い組み合わせである場合には、エラーが検出されたデータ６０１にエラー訂正不能情報が付加されていると判定する。エラー訂正不能情報は、上記のように、パリティチェック回路４１５又は４２１がエラーを検出した場合に付加される。そして、エラー処理回路４２０は、エラーが検出されたデータ６０１にエラー訂正情報が付加されていない場合にはステップＳ８０６に処理を進め、エラーが検出されたデータ６０１にエラー訂正情報が付加されている場合にはステップＳ８０７に処理を進める。
【００５３】
ステップＳ８０６では、エラー処理回路４２０は、システムエラー情報を命令制御ユニット４１１を介して上位装置に送信する。これに対し、ステップＳ８０７では、エラー処理回路４２０は、エラーが検出されたデータ６０１を無視し、システムエラー情報を送信せずに、ステップＳ８０８に処理を進める。誤った２重のロード命令によりデータ６０１が破壊された場合には、データ６０１にエラー訂正不能情報が付与され、コミット前のデータとしてレジスタ（ＰＧＰＲ）４１７に記憶される。このような無効データは、命令制御ユニット４１１によりコミットされない。エラー処理回路４２０は、エラー訂正不能情報が付加されている場合には、ステップＳ８０７において、システムエラー情報を送信しないので、不要なシステムエラー情報の送信を防止することができる。
【００５４】
ステップＳ８０８では、エラー処理回路４２０は、レジスタ（ＰＧＰＲ）４１７内のすべてのデータ６０１を読み出したか否かを判定する。そして、エラー処理回路４２０は、すべてのデータ６０１を読み出していない場合には、ステップＳ８０１に戻り、レジスタ（ＰＧＰＲ）４１７内の次のデータ６０１を読み出し、上記の処理を繰り返す。また、エラー処理回路４２０は、すべてのデータ６０１を読み出した場合には、ステップＳ８０９に処理を進める。
【００５５】
ここで、エラー処理回路４２０が、図７（Ｂ）のステップＳ７１２で演算ユニット４１２が読み出したデータだけでなく、レジスタ（ＰＧＰＲ）４１７内のすべてのデータについて上記の処理を行う理由を説明する。ステップＳ７１２で演算ユニット４１２がレジスタ（ＰＧＰＲ）４１７から読み出したデータがエラーである場合には、そのエラーのデータを基に生成されたデータがレジスタ（ＰＧＰＲ）４１７に記憶されている可能性がある。そのエラーのデータを基に生成されたデータは、エラーデータである可能性が高い。すなわち、演算ユニット４１２がレジスタ（ＰＧＰＲ）４１７から読み出したデータがエラーである場合には、レジスタ（ＰＧＰＲ）４１７内の他のデータもエラーである可能性がある。そのため、エラー処理回路４２０は、レジスタ（ＰＧＰＲ）４１７内のすべてのデータに対して、図８の処理を行う。
【００５６】
なお、演算ユニット４１２は、レジスタ（ＰＧＰＲ）４１７からデータを読み出す他に、処理の高速化のために、データキャッシュメモリ４１４からデータを読み出すことも可能である。
【００５７】
ステップＳ８０９では、エラー処理回路４２０は、リトライカウンタ４２３の値をインクリメントする。なお、リトライカウンタ４２３の値の初期値は０である。次に、ステップＳ８１０では、エラー処理回路４２０は、リトライカウンタ４２３の値が設定値（閾値）以上であるか否かを判定する。そして、エラー処理回路４２０は、リトライカウンタ４２３の値が設定値（閾値）以上である場合には、ステップＳ８１１に処理を進め、リトライカウンタ４２３の値が設定値（閾値）未満である場合には、処理を終了し、図７（Ｂ）のステップＳ７１５の処理に遷移する。ステップＳ８１１では、エラー処理回路４２０は、システムエラー情報を命令制御ユニット４１１を介して上位装置に送信する。
【００５８】
図７（Ｂ）のステップＳ７１５では、演算ユニット４１２は、図８のエラー処理回路２４０の処理が終了するまでの一定時間待機し、その後、ステップＳ７１２に処理を戻す。ステップＳ７１２では、演算ユニット４１２は、読み出しアドレスが示すレジスタ（ＰＧＰＲ）４１７内のデータ６０１を読み出す。読み出されたデータは、エラー訂正不能情報が付加されていない場合にはステップＳ８０４でエラー訂正されており、エラー訂正不能情報が付加されている場合にはエラー訂正されていない。次に、ステップＳ７１３では、演算ユニット４１２は、データ６０１に付加されているエラーチェック訂正情報６０３を基にデータ６０１のエラーをチェックする。
【００５９】
読み出されたデータがエラー訂正されている場合には、演算ユニット４１２は、エラーを検出せず、ステップＳ７１６で、読み出したデータ６０１を基に演算を行う。そして、演算ユニット４１２は、第２のパリティチェック回路４２１及び第２のエラーチェック訂正情報生成回路４２２を介して、書き込みアドレスが示すレジスタ（ＰＧＰＲ）４１７のアドレスに、演算後のデータをコミット前のデータとして書き込み、定義テーブル４１８を更新する。この場合、図７（Ａ）のステップＳ７０３では、命令制御ユニット４１１は、ステップＳ７０４におけるエラー処理の開始指示後の一定時間内又は演算再開後の最初の命令コミット後までにエラー受信が無いため、ステップＳ７０５に処理を進める。ステップＳ７０５では、命令制御ユニット４１１は、エラー処理回路４２０に対して、リトライカウンタ４２３のリセットを指示する。すると、エラー処理回路４２０は、リトライカウンタ４２３の値を０にリセットする。
【００６０】
これに対し、読み出されたデータがエラー訂正されていない場合には、演算ユニット４１２は、エラーを検出し、ステップＳ７１４で、エラー情報を命令制御ユニット４１１に送信する。これにより、エラー処理回路４２０は、上記の図８の処理を繰り返す。この場合、演算ユニット４１２がステップＳ７１２で読み出したデータ６０１にエラー訂正不能情報が付加されている場合には、エラー処理回路４２０は、ステップＳ８０９で、リトライカウンタ４２３の値をインクリメントする。この処理を繰り返すと、やがて、リトライカウンタ４２３の値が設定値（閾値）以上になり、エラー処理回路４２０は、ステップＳ８１１で、システムエラー情報を送信し、処理を終了する。以上のように、エラー処理回路４２０は、リトライカウンタ４２３の値が設定値以上になった場合には、システムエラー情報を送信し、処理を終了させることにより、無限ループ処理を防止することができる。
【００６１】
上記のリトライカウンタ４２３の値は、演算ユニット４１２がステップＳ７１３でエラーを検出した回数に対応する。すなわち、ステップＳ８０９〜Ｓ８１１では、エラー処理回路４２０は、演算ユニット４１２がエラーを検出した回数をカウントし、演算ユニット４１２がエラーを検出した回数が設定値（閾値）以上になった場合には、システムエラー情報を送信する。
【００６２】
図９は、図４の演算処理装置４０１の制御方法の具体例を示す図である。レジスタ（ＰＧＰＲ）４１７は、例えば、第１〜第８のエントリのデータを記憶している。ステップＳ７１２では、演算ユニット４１２は、レジスタ（ＰＧＰＲ）４１７から第４のエントリのデータ６０１を読み出す。ステップＳ７１３では、演算ユニット４１２は、第４のエントリのデータ６０１に付加されているエラーチェック訂正情報６０３を基にエラーチェックを行い、エラーを検出する。すると、ステップＳ８０１では、エラー処理回路４２０は、レジスタ（ＰＧＰＲ）４１７内のすべての第１〜第８のエントリのデータ６０１を順次読み出す。
【００６３】
エラー処理回路４２０は、第１及び第５のエントリのデータ６０１に対して、エラーが検出されないので、ステップＳ８０２からＳ８０８に進み、何もしない。また、エラー処理回路４２０は、第２及び第７のエントリのデータ６０１に対して、１ビットエラーが検出されるので、ステップＳ８０４で、エラー訂正する。また、エラー処理回路４２０は、第３及び第８のエントリのデータ６０１に対して、訂正可能でないエラーが検出され、かつエラー訂正不能情報が付加されているので、ステップＳ８０７で、無視する。また、エラー処理回路４２０は、第４及び第６のエントリのデータ６０１に対して、２ビットエラーが検出され、かつエラー訂正不能情報が付加されていないので、ステップＳ８０６で、システムエラー情報を送信する。
【００６４】
以上のように、本実施形態では、コミット前のデータとコミット後のデータを１個のレジスタ（ＰＧＰＲ）４１７に記憶させることができるので、演算処理装置４０１の面積及び消費電力を低減することができる。また、エラー処理回路４２０は、データ６０１にエラー訂正不能情報が付加されている場合には、不要なシステムエラー情報の送信を防止することができる。また、エラー処理回路４２０は、リトライカウンタ４２３の値が設定値以上である場合には、システムエラー情報を送信することにより、無限ループ処理を防止することができる。
【００６５】
なお、上記実施形態は、何れも本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。
【符号の説明】
【００６６】
４０１  演算処理装置
４０２  メインメモリ
４１１  命令制御ユニット
４１２  演算ユニット
４１３  命令キャッシュメモリ
４１４  データキャッシュメモリ
４１５  第１のパリティチェック回路
４１６  第１のエラーチェック訂正情報生成回路
４１７  レジスタ
４１８  定義テーブル
４１９  パリティ復元回路
４２０  エラー処理回路
４２１  第２のパリティチェック回路
４２２  第２のエラーチェック訂正情報生成回路
４２３  リトライカウンタ
【図１】
2018147166.tif 000003
【図２】
2018147166.tif 000004
【図３】
2018147166.tif 000005
【図４】
2018147166.tif 000006
【図５】
2018147166.tif 000007
【図６】
2018147166.tif 000008
【図７】
2018147166.tif 000009
【図８】
2018147166.tif 000010
【図９】
2018147166.tif 000011