(57)【特許請求の範囲】
【請求項１】
キャッシュを有し、キャッシュＴＡＧにエラーチェック機構を持つ情報処理装置において、エラーチェックビットを付加したキャッシュＴＡＧのデータであるＴＲＵＥ−ＴＡＧと、極性を反転させたデータであるＳＨＡＤＯＷ−ＴＡＧとを同一のＴＡＧ−ＲＡＭ内の別アドレスに格納することを特徴とするキャッシュＴＡＧ制御方法。
【請求項２】
ＴＡＧ索引時に、前記ＴＲＵＥ−ＴＡＧと前記ＳＨＡＤＯＷ−ＴＡＧとを順次索引してエラーチェックを行い、前記ＴＲＵＥ−ＴＡＧがエラーでなければ前記ＴＲＵＥ−ＴＡＧを使用してＨＩＴ判定を行い、前記ＴＲＵＥ−ＴＡＧがエラーで前記ＳＨＡＤＯＷ−ＴＡＧがエラーでない場合には、前記ＳＨＡＤＯＷ−ＴＡＧを使用してＨＩＴ判定を行う請求項１に記載のキャッシュＴＡＧ制御方法。
【請求項３】
キャッシュを有し、キャッシュＴＡＧにエラーチェック機構を持つ情報処理装置において、エラーチェックビットを付加したキャッシュＴＡＧのデータであるＴＲＵＥ−ＴＡＧと、極性を反転させたデータであるＳＨＡＤＯＷ−ＴＡＧとを別のＴＡＧ−ＲＡＭ内の同一アドレスに格納することを特徴とするキャッシュＴＡＧ制御方法。
【請求項４】
ＴＡＧ索引時に、前記ＴＲＵＥ−ＴＡＧと前記ＳＨＡＤＯＷ−ＴＡＧとを同時に索引してエラーチェックを行い、エラーがない方のＴＡＧをＨＩＴ判定を行う請求項３に記載のキャッシュＴＡＧ制御方法。
【請求項５】
キャッシュを有し、キャッシュＴＡＧにエラーチェック機構を持つ情報処理装置において、
キャッシュＴＡＧ−ＲＡＭと、
このキャッシュＴＡＧ−ＲＡＭからリードしたデータによりＨＩＴ判定を行うＨＩＴ判定手段と、
前記キャッシュＴＡＧ−ＲＡＭの別アドレスに、エラーチェックビットを付加したキャッシュＴＡＧのデータであるＴＲＵＥ−ＴＡＧと、極性を反転させたデータであるＳＨＡＤＯＷ−ＴＡＧとを格納する格納手段と、
を具備することを特徴とする情報処理装置。
【請求項６】
前記エラーチェック機構は、ＴＡＧ索引時に、前記ＴＲＵＥ−ＴＡＧと前記ＳＨＡＤＯＷ−ＴＡＧとを順次索引してエラーチェックを行い、前記ＨＩＴ判定手段は、前記エラーチェックの結果、前記ＴＲＵＥ−ＴＡＧがエラーでなければ前記ＴＲＵＥ−ＴＡＧを使用してＨＩＴ判定を行い、前記ＴＲＵＥ−ＴＡＧがエラーで前記ＳＨＡＤＯＷ−ＴＡＧがエラーでない場合には、前記ＳＨＡＤＯＷ−ＴＡＧを使用してＨＩＴ判定を行う請求項５に記載の情報処理装置。
【請求項７】
キャッシュを有し、キャッシュＴＡＧにエラーチェック機構を持つ情報処理装置において、
２つのキャッシュＴＡＧ−ＲＡＭと、
このキャッシュＴＡＧ−ＲＡＭからリードしたデータによりＨＩＴ判定を行うＨＩＴ判定手段と、
前記２つのキャッシュＴＡＧ−ＲＡＭに、エラーチェックビットを付加したキャッシュＴＡＧのデータであるＴＲＵＥ−ＴＡＧと、極性を反転させたデータであるＳＨＡＤＯＷ−ＴＡＧとを同一アドレスに格納する格納手段と、
を具備することを特徴とする情報処理装置。
【請求項８】
前記エラーチェック機構は、ＴＡＧ索引時に、前記ＴＲＵＥ−ＴＡＧと前記ＳＨＡＤＯＷ−ＴＡＧとを同時に索引してエラーチェックを行い、前記ＨＩＴ判定手段は、エラーがない方のＴＡＧを使用してＨＩＴ判定を行う請求項７に記載の情報処理装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本願発明は、キャッシュを有する情報処理装置、及び、情報処理装置におけるキャッシュＴＡＧ制御方法に関する。
【０００２】
【従来の技術】
近年、コンピュータシステムの信頼性を向上させる要求が高まっている。また、この要求に伴い、キャッシュＴＡＧ（本明細書では「タグ」を「ＴＡＧ」と表記する。）においても信頼性の向上が要求されている。
従来のキャッシュＴＡＧ制御方法においては、パリティチェックなどのチェック機構が設けられていた。しかしながら、ＴＡＧを訂正する機構をもつものはなかった。
【０００３】
【発明が解決しようとする課題】
したがって、キャッシュＴＡＧにもＥＣＣ（error checking and correction ）のようなエラー検出及び訂正機構を設けたいが、高速性が要求されるキャッシュＴＡＧにおいてＥＣＣのチェックを行うと、サイクルタイムを短縮できなくなり、システムの性能が劣化するという問題があった。また、実際、キャッシュデータよりデータの幅の少ないＴＡＧデータにＥＣＣを付加するとなると、シンドロームコード生成回路、エラー検出及び訂正など、付加回路のハードウェア量が多くなり、信頼性は高くなるものの、コストは上昇してしまうという問題があった。
【０００４】
なお、メモリなどの信頼性向上のためにデータの２重化を行い、１ビット固定故障の対策として、片側のデータを反転して保持しておく手法は従来よりあったが、これを、ＴＡＧデータに応用する手段はなかった。
本発明は、キャッシュを有し、キャッシュＴＡＧにエラーチェック機構を持つ情報処理装置において、ＴＡＧデータに対し、回路量の少ないエラー検出方法を用い、ＳＨＡＤＯＷ−ＴＡＧにより２重化し、エラーの訂正を可能としながら、システムの高速性を損なうことのないキャッシュＴＡＧ制御方法と、その制御方法を実現する情報処理装置を提供することを目的とする。
【０００５】
【課題を解決するための手段】
本発明は上記目的を達成するためになされたものである。
本発明は、キャッシュを有し、キャッシュＴＡＧにエラーチェック機構を持つ情報処理装置に適用される。
図１及び図２を用いて、本発明のキャッシュＴＡＧ制御方法の原理を説明する。図１は、本発明の情報処理装置におけるキャッシュＴＡＧ−ＲＡＭを示し、図２は、キャッシュＴＡＧ制御方法のフローを示す。
【０００６】
図１に示すように、１つのキャッシュＴＡＧ−ＲＡＭ１（ＲＡＭ：ランダムアクセスメモリ）の別のアドレスａ及び１ａに、パリティなどのエラーチェックコードを付加したキャッシュＴＡＧのデータであるＴＲＵＥ−ＴＡＧ（＃０〜）と、インバータ４により極性を反転させたデータであるＳＨＡＤＯＷ−ＴＡＧ（＃０〜）とを格納する。なお、本明細書では、「トゥルータグ」を「ＴＲＵＥ−ＴＡＧ」と、「シャドウタグ」を「ＳＨＡＤＯＷ−ＴＡＧ」と表記する。
【０００７】
キャッシュＴＡＧ−ＲＡＭ１からリードされたデータは、パリティチェック回路などのエラーチェック回路５によりエラーの有無の判定がされ、エラーのないデータに基づいてＨＩＴ判定がされる。
図２のフローを用いて、図１の動作を説明する。
ＴＡＧ索引のときに、ＴＲＵＥ−ＴＡＧとＳＨＡＤＯＷ−ＴＡＧとを順次索引（データリード）する。最初にＴＲＵＥ−ＴＡＧ＃０を索引し（ステップＳ１１）、エラーチェック回路５によりエラーチェックを行う（ステップＳ１２）。ここで、ＴＲＵＥ−ＴＡＧ＃０にエラーがなければ、ＴＲＵＥ−ＴＡＧ＃０を使用してＨＩＴ判定を行う（ステップＳ１３）（本明細書では「ヒット」を「ＨＩＴ」と表記する。）。その後、ＴＲＵＥ−ＴＡＧ＃０を直接、及びインバータ４を介してキャッシュＴＡＧ−ＲＡＭ１に入力し、格納されているＴＲＵＥ−ＴＡＧ＃０とＳＨＡＤＯＷ−ＴＡＧ＃０を更新する（ステップＳ１４）。
【０００８】
一方、ステップＳ１２でＴＲＵＥ−ＴＡＧ＃０がエラーであれば、ＳＨＡＤＯＷ−ＴＡＧ＃０を索引し（ステップＳ１５）、エラーチェックを行う（ステップＳ１６）。ここでＳＨＡＤＯＷ−ＴＡＧ＃０がエラーでない場合には、ＳＨＡＤＯＷ−ＴＡＧ＃０のデータを使用してＨＩＴ判定を行う（ステップＳ１７）。その後は、ステップＳ１４で、エラーのないＳＨＡＤＯＷ−ＴＡＧ＃０を使用して、ＴＲＵＥ−ＴＡＧ＃０とＳＨＡＤＯＷ−ＴＡＧ＃０を更新する（ステップＳ１４）。
【０００９】
さらに、ステップＳ１６で、ＳＨＡＤＯＷ−ＴＡＧにエラーがないと判定された場合には、エラーが検出されたアドレスのＴＲＵＥ−ＴＡＧ、ＳＨＡＤＯＷ−ＴＡＧの更新を抑止し、エラーがあったＴＲＵＥ−ＴＡＧ＃０と、エラーがないＳＨＡＤＯＷ−ＴＡＧ＃０とを、チェックビットを含めて比較することにより、エラービットを特定する（ステップＳ１８）。
【００１０】
この場合、ソフトウエアを使用して、エラー検出用ビットも含めて参照可能にすることにより、両ＴＡＧを比較し、エラービットの特定を行うことができる。また、ＴＲＵＥ−ＴＡＧを保持するレジスタを設け、ＴＲＵＥ−ＴＡＧ、ＳＨＡＤＯＷ−ＴＡＧをハードウェアで比較することにより相違のあるビットを特定して、ソフトウエアから読み出し可能なレジスタに記録することによりエラービットの特定を行うこともできる。
【００１１】
次に、ステップＳ１６でエラーがあると判定された場合には、ＴＲＵＥ−ＴＡＧ＃０とＳＨＡＤＯＷ−ＴＡＧ＃０の両方にエラーがあったのであるから、システムダウンを行う。
図３は、図１に示したキャッシュＴＡＧ−ＲＡＭの別の態様を示す。
図３の態様においては、２つのキャッシュＴＡＧ−ＲＡＭ２，３の同一アドレスａ、ａに、ＴＲＵＥ−ＴＡＧとＳＨＡＤＯＷ−ＴＡＧとを格納する。
【００１２】
ＴＡＧ索引のときには、ＴＲＵＥ−ＴＡＧ及びＳＨＡＤＯＷ−ＴＡＧを同時に索引し、エラーチェック回路５によりエラーチェックを行う。そして、エラーがない方のデータを使用してＨＩＴ判定を行う。
【００１３】
【発明の実施の形態】
本発明の実施形態について図を用いて説明する。
図４は、キャッシュＴＡＧ制御方法を実現する回路構成を示す。図５〜８は、キャッシュＴＡＧ制御方法を説明するタイミングチャートである。
最初に、図４の回路構成について説明をする。
【００１４】
図４に示す回路においては、キャッシュＴＡＧ−ＲＡＭとして、上述の図１に示した１つのキャッシュＴＡＧ−ＲＡＭ１が使用される。なお、これに代えて、上述の図３に示した２つのキャッシュＴＡＧ−ＲＡＭ３，４に置き換えることは容易である。
キャッシュＴＡＧ−ＲＡＭ１のアドレス０，１，……にＴＲＵＥ−ＴＡＧ（Ｄ０，Ｄ１，……）が格納され、アドレス０Ｓ，１Ｓ，……に、ＴＲＵＥ−ＴＡＧのデータの極性を反転したＳＨＡＤＯＷ−ＴＡＧ（Ｄ０Ｓ，Ｄ１Ｓ，……）が格納される。
【００１５】
ＴＡＧの索引時に、ＴＡＧ索引アドレス生成回路１１により、ＴＲＵＥ−ＴＡＧのアドレスと、ＳＨＡＤＯＷ−ＴＡＧのアドレスが生成され、ＴＲＵＥ−ＴＡＧとＳＨＡＤＯＷ−ＴＡＧが順にリードされる。
リードされたＴＲＵＥ−ＴＡＧとＳＨＡＤＯＷ−ＴＡＧは、パリティチェック回路１２によりパリティチェックが行われる。本例では、データのエラーには、回路量が少ない１ビットエラーを検出するパリティチェックが使用される。このとき、ＳＨＡＤＯＷ−ＴＡＧは、インバータ１５により極性が反転されて、ＴＲＵＥ−ＴＡＧと同一極性に戻る。
【００１６】
パリティチェック回路１２によるチェックの結果は、ＴＡＧ−ＨＩＴ判定回路１３と、エラービット判定回路１６と、ＴＡＧ更新データ生成回路１８に入力される。
エラービット判定回路１６は、パリティチェック回路１２がＴＲＵＥ−ＴＡＧ又はＳＨＡＤＯＷ−ＴＡＧのパリティエラーを検出したとき、ＴＲＵＥ−ＴＡＧとＳＨＡＤＯＷ−ＴＡＧとを対比することにより、エラーが生じたビットを特定する。この判定には、ソフトウエアにより、パリティビットをも含めて、ＴＲＵＥ−ＴＡＧとＳＨＡＤＯＷ−ＴＡＧとを比較し、エラーが生じた方のＴＡＧにおける不一致ビットをエラービットと特定することができる。あるいは、ＴＲＵＥ−ＴＡＧを保持するレジスタを設けることにより、ハードウェアにてＴＲＵＥ−ＴＡＧとＳＨＡＤＯＷ−ＴＡＧとの比較を行うこともできる。
【００１７】
キャッシュＴＡＧ−ＲＡＭ１から読み出されたＴＲＵＥ−ＴＡＧとＳＨＡＤＯＷ−ＴＡＧは、更に、マルチプレクサ１４に入力される。タイミング生成回路１７は、マルチプレクサ選択信号を生成し、ＴＲＵＥ−ＴＡＧでのＨＩＴ判定タイミングとＳＨＡＤＯＷ−ＴＡＧでのＨＩＴ判定タイミングで、マルチプレクサ１４を切り換える。
【００１８】
マルチプレクサ１４により選択されたＴＲＵＥ−ＴＡＧ又はＳＨＡＤＯＷ−ＴＡＧは、ＴＡＧ−ＨＩＴ判定回路１３に入力される。ＴＡＧ−ＨＩＴ判定回路１３は、順次入力されるＴＲＵＥ−ＴＡＧ又はＳＨＡＤＯＷ−ＴＡＧと、ＴＡＧ索引アドレス生成回路１１からのＴＡＧ索引アドレスと、パリティチェック回路１２のチェック結果に基づいて、ＨＩＴ判定を行う。
【００１９】
マルチプレクサ１４により選択されたＴＲＵＥ−ＴＡＧ又はＳＨＡＤＯＷ−ＴＡＧは、更に、ＴＡＧ更新データ生成回路１８に入力される。ＴＡＧ更新データ生成回路１８は、ＴＲＵＥ−ＴＡＧ又はＳＨＡＤＯＷ−ＴＡＧと、ＴＡＧ索引アドレス生成回路１１からのＴＡＧ索引アドレスと、パリティチェック回路１２のチェック結果とに基づいて、更新データを生成し、マルチプレクサ１９に出力する。更新データは、ＴＲＵＥ−ＴＡＧ又は、ＴＲＵＥ−ＴＡＧと同一極性になっているＳＨＡＤＯＷ−ＴＡＧとなる。
【００２０】
ＴＡＧ更新アドレス生成回路２０は、キャッシュＴＡＧ−ＲＡＭ１のライトアドレスを生成し、マルチプレクサ１９を順次選択する。ＴＲＵＥ−ＴＡＧのアドレスが選択されたときは、マルチプレクサ１９は更新データを直接選択し、ＳＨＡＤＯＷ−ＴＡＧのアドレスが選択されたときは、インバータ２１により極性が判定された更新データを選択する。これにより、キャッシュＴＡＧ−ＲＡＭ１においては、データ索引でリードアウトされたデータが、エラーチェックの結果、エラーがないと判定されたデータにより更新される。
【００２１】
図５〜８は、図４に示した回路構成の動作を示すタイミングチャートである。
図５は、ＴＲＵＥ−ＴＡＧとＳＨＡＤＯＷ−ＴＡＧが共にパリティエラーがない場合のタイミングチャートである。
ＴＡＧ索引時、ＴＡＧ索引アドレス生成回路１１が、１のタイミングでＴＲＵＥ−ＴＡＧのアドレス０を生成し、２のタイミングでＳＨＡＤＯＷ−ＴＡＧのアドレス０Ｓを生成する。２のタイミングで、ＴＲＵＥ−ＴＡＧのデータＤ０がキャッシュＴＡＧ−ＲＡＭ１からリードされる。３のタイミングで、ＳＨＡＤＯＷ−ＴＡＧのデータＤ０ＳがキャッシュＴＡＧ−ＲＡＭ１からリードされ、インバータ１５でその極性が反転される。これにより、ＳＨＡＤＯＷ−ＴＡＧはＴＲＵＥ−ＴＡＧと同一の極性に戻る。
【００２２】
ＴＲＵＥ−ＴＡＧとＳＨＡＤＯＷ−ＴＡＧは、パリティチェック回路１２によりパリティチェックされる。本例では、ここではエラーは検出されない。
タイミング生成回路１７は、２のタイミングでＴＲＵＥ−ＴＡＧを選択し、３のタイミングで、ＳＨＡＤＯＷ−ＴＡＧを選択するようにマルチプレクサ１４を切り換える。マルチプレクサ１４が選択したデータはＴＡＧ−ＨＩＴ判定回路１３に入力される。
【００２３】
ＴＡＧ−ＨＩＴ判定回路１３は、本例では、２のタイミングでパリティエラーなしと判定されたＴＲＵＥ−ＴＡＧ（Ｄ０）を用いてＨＩＴ判定を行う。
ＴＡＧ更新時には、ＴＡＧ更新データ生成回路１８が、エラーのないＴＲＵＥ−ＴＡＧ（Ｄ０）のデータを更新データとして、マルチプレクサ１９に出力する。マルチプレクサ１９には、更新データＤ０と、インバータ２１により極性が反転された更新データＤ０Ｓが入力される。
【００２４】
ＴＡＧ更新アドレス生成回路２０は、７のタイミングでアドレス０を生成し、マルチプレクサ１９を、極性が反転しないデータ側に切り換え、８のタイミングでアドレス０Ｓを生成し、マルチプレクサ１９を、極性が反転したデータ側に切り換える。これにより、７のタイミングでアドレス０にデータＤ０による更新データがライトされ、８のタイミングでアドレス０ＳにデータＤ０の極性反転された更新データがライトされる。したがって、ＴＡＧ索引時にリードされたデータが、エラーのないデータにより更新される。
【００２５】
図６は、ＴＲＵＥ−ＴＡＧにパリティエラーがなく、ＳＨＡＤＯＷ−ＴＡＧにパリティエラーがある場合のタイミングチャートである。
１〜３のタイミングで、図５と同様のＴＡＧ索引が行われる。ＴＲＵＥ−ＴＡＧ（Ｄ０）からはパリティエラーが検出されないので、ＴＡＧ−ＨＩＴ判定回路１３は、ＴＲＵＥ−ＴＡＧ（Ｄ０）を用いてＨＩＴ判定を行う。
【００２６】
ＴＡＧ更新時も、図と同様に、７，８のタイミングで、ＴＲＵＥ−ＴＡＧのデータ（Ｄ０）のみを使用して、ＴＲＵＥ−ＴＡＧ及びＳＨＡＤＯＷ−ＴＡＧの更新が行われる。したがって、ここでＳＨＡＤＯＷ−ＴＡＧ（Ｄ０Ｓ）のパリティエラーが訂正されることとなる。
図７は、ＴＲＵＥ−ＴＡＧにパリティエラーがあり、ＳＨＡＤＯＷ−ＴＡＧにパリティエラーがない場合のタイミングチャートである。
【００２７】
１〜３のタイミングで、図５と同様のＴＡＧ索引が行われる。２のタイミングでＴＲＵＥ−ＴＡＧ（Ｄ０）にパリティエラーが検出され、３のタイミングでＳＨＡＤＯＷ−ＴＡＧ（Ｄ０Ｓ）にパリティエラーが検出されないため、ＴＡＧ−ＨＩＴ判定回路１３は、ＳＨＡＤＯＷ−ＴＡＧを用いてＨＩＴ判定に使用する。ＴＡＧ更新時は、７，８のタイミングで、ＳＨＡＤＯＷ−ＴＡＧのデータ（Ｄ０Ｓ）のみを使用して、ＴＲＵＥ−ＴＡＧ及びＳＨＡＤＯＷ−ＴＡＧの更新が行われる。したがって、ここでＴＲＵＥ−ＴＡＧ（Ｄ０）のパリティエラーが訂正されることとなる。
【００２８】
図８は、ＴＲＵＥ−ＴＡＧとＳＨＡＤＯＷ−ＴＡＧの両方にパリティエラーが検出された場合のタイミングチャートである。
１〜３のタイミングで、図５と同様のＴＡＧ索引が行われる。２のタイミングでＴＲＵＥ−ＴＡＧ（Ｄ０）にパリティエラーが検出され、３のタイミングでＳＨＡＤＯＷ−ＴＡＧ（Ｄ０Ｓ）にパリティエラーが検出される。このため、どちらのデータもＴＡＧ−ＨＩＴ判定回路１３のＨＩＴ判定に使用できず、訂正不可能のアンコレクタブルエラーとなるので、システムダウンさせ、ＴＡＧの更新も行わない。
【００２９】
既述の図４の回路構成の説明において、図１の１つのキャッシュＴＡＧ−ＲＡＭ１の代わりに図３の２つのキャッシュＴＡＧ−ラム２，３が使用可能であることを説明した。この場合の動作について図９のタイミングチャートを用いて説明する。
図９は、ＴＲＵＥ−ＴＡＧにパリティエラーがなく、ＳＨＡＤＯＷ−ＴＡＧにパリティエラーがある場合のタイミングチャートであり、上述の図６の場合に相当する。
【００３０】
ＴＡＧ索引時、１のタイミングで、ＴＲＵＥ−ＴＡＧとＳＨＡＤＯＷ−ＴＡＧのアドレス０及び０Ｓを同時に生成する。２のタイミングで、該当アドレスのＴＲＵＥ−ＴＡＧ（Ｄ０）とＳＨＡＤＯＷ−ＴＡＧ（Ｄ０Ｓ）が同時にリードされる。このとき、上述の図４〜８の例と同様に、ＳＨＡＤＯＷ−ＴＡＧ（Ｄ０Ｓ）は、インバータの使用により、ＴＲＵＥ−ＴＡＧと同一の極性に戻される。
【００３１】
ＴＲＵＥ−ＴＡＧとＳＨＡＤＯＷ−ＴＡＧは、それぞれ別のパリティチェック回路１２により同時にパリティチェックされる。図９の例では、ＳＨＡＤＯＷ−ＴＡＧ（Ｄ０Ｓ）にパリティエラーが検出されるので、ＴＡＧ−ＨＩＴ判定回路１３は、エラーのないＴＲＵＥ−ＴＡＧ（Ｄ０）を用いてＨＩＴ判定を行う。
ＴＡＧ更新時には、７のタイミングでアドレス０，０Ｓが生成され、同じタイミングで、各アドレス０，０Ｓに、データＤ０に基づく更新データがライトされ、エラーのないＴＲＵＥ−ＴＡＧ及びＳＨＡＤＯＷ−ＴＡＧに更新される。
【００３２】
次に、タイミングチャートを用いて、従来例と本発明とを対比する。
図１０の従来の方法では、基本的に、ＴＡＧの索引を１回行って、それがＨＩＴした場合に、１ライン分のデータ（Ａ０，Ａ１，Ａ２，Ａ３）をキャッシュから取り出すので、４又は８サイクル程度、キャッシュＴＡＧがアクセスされない時間がある。
【００３３】
図１１の本発明の方法では、２重化したＴＡＧ（ＳＨＡＤＯＷ−ＴＡＧ）を、従来ＴＡＧメモリがアクセスされていない２のタイミングで索引して、ＴＡＧのエラーに備えている。したがって、エラーがない場合には従来技術と全く同じタイミングで動作ができ、信頼性を向上させることによるロスが皆無である。ちなみに、ＴＡＧのライトに関しては、従来からキャッシュアクセスのない時を見計らって順次行っているので、これもＴＡＧを２重化したことにより性能劣化は起きない。
【００３４】
なお、本発明は、以下の付記１〜４に示す構成もその範囲に含む。
（付記１）エラー検出時、エラーの検出されたアドレスのＴＲＵＥ−ＴＡＧ及びＳＨＡＤＯＷ−ＴＡＧの更新を抑止し、ソフトウエアからエラー検出用ビットも含めて参照可能にすることにより、両ＴＡＧを比較し、エラービットの特定を行う請求項２又は４に記載のキャッシュＴＡＧ制御方法。
【００３５】
（付記２）ＴＲＵＥ−ＴＡＧを保持するレジスタを設け、エラー検出時、ＴＲＵＥ−ＴＡＧ及びＳＨＡＤＯＷ−ＴＡＧをハードウェアで比較し、相違のあるビットを特定してソフトウエアから読み出し可能なレジスタに記録することによりエラービットの特定を行う請求項２又は４に記載のキャッシュＴＡＧ制御方法。（付記３）ＴＡＧ更新時に、エラーがない方のＴＡＧを更新データとして使用する請求項２又は４に記載のキャッシュＴＡＧ制御方法。
【００３６】
（付記４）ＴＡＧデータ更新手段を有し、このＴＡＧデータ更新手段は、ＴＡＧ更新時に、エラーがない方のＴＡＧを更新データとして使用する請求項６又は８に記載の情報処理装置。
【００３７】
【発明の効果】
以上説明したように、本発明によれば、キャッシュを有し、キャッシュＴＡＧにエラーチェック機構を持つ情報処理装置において、ＴＡＧデータに対し、回路量の少ないエラー検出方法を用い、ＳＨＡＤＯＷ−ＴＡＧにより２重化し、エラーの訂正を可能としながら、システムの高速性を損なうことのないキャッシュＴＡＧ制御方法を得ることができる。
【図面の簡単な説明】
【図１】本発明の原理を示す図。
【図２】本発明の原理動作を示すフローチャート。
【図３】図１のキャッシュＴＡＧ−ＲＡＭの別の態様を示す図。
【図４】本発明のキャッシュＴＡＧ制御方法を実現する回路の構成図。
【図５】図４の回路の第１の動作を示すタイミングチャート。
【図６】図４の回路の第２の動作を示すタイミングチャート。
【図７】図４の回路の第３の動作を示すタイミングチャート。
【図８】図４の回路の第４の動作を示すタイミングチャート。
【図９】本発明の別の態様における動作を示すタイミングチャート。
【図１０】本発明と比較するための従来例の動作を示すタイミングチャート。
【図１１】従来例と比較するための本発明の動作を示すタイミングチャート。
【符号の説明】
１，２，３…キャッシュＴＡＧ−ＲＡＭ
４…インバータ
５…エラーチェック回路
１１…ＴＡＧ索引アドレス生成回路
１２…パリティチェック回路
１３…ＴＡＧ−ＨＩＴ判定回路
１４…マルチプレクサ
１５…インバータ
１６…エラービット判定回路
１７…タイミング生成回路
１８…ＴＡＧ更新データ生成回路
１９…マルチプレクサ
２０…ＴＡＧ更新アドレス生成回路
２１…インバータ
【図１】
0003922844.tif 000002
【図２】
0003922844.tif 000003
【図３】
0003922844.tif 000004
【図４】
0003922844.tif 000005
【図５】
0003922844.tif 000006
【図６】
0003922844.tif 000007
【図７】
0003922844.tif 000008
【図８】
0003922844.tif 000009
【図９】
0003922844.tif 000010
【図１０】
0003922844.tif 000011
【図１１】
0003922844.tif 000012