(57)【要約】      （修正有）【課題】異常が発生してシステムダウン等したコンピュータシステムがリセットされる場合に、キャッシュメモリ及びメインメモリのデータをダンプすることが可能な演算処理装置を提供する。【解決手段】演算処理装置４（ＭＰＵ）は、データが格納されるデータ領域部と、データ領域部に格納されるデータのメインメモリ上のアドレス、データ領域部に格納されるデータの有効又は無効を示すデータ及びデータ領域部に格納されるデータが更新されているか否かを示すデータが格納されるタグ領域部と、を含むキャッシュメモリ４３と、メインメモリのリフレッシュを制御するメモリコントローラ４２とを備える。第１のリセット要求信号の入力に応じて、少なくともタグ領域部及びメモリコントローラを除き、当該演算処理装置をリセットする。【選択図】図１
2017084128.tif 000002
【特許請求の範囲】
【請求項１】
演算処理装置であって、
データが格納されるデータ領域部と、前記データ領域部に格納されるデータのメインメモリ上のアドレス、前記データ領域部に格納されるデータの有効又は無効を示すデータ、及び前記データ領域部に格納されるデータが更新されているか否かを示すデータが格納されるタグ領域部と、を含むキャッシュメモリと、
前記メインメモリのリフレッシュを制御するメモリコントローラと、
を備え、
第１のリセット要求信号の入力に応じて、少なくとも前記タグ領域部及び前記メモリコントローラを除き、当該演算処理装置をリセットする、
ことを特徴とする演算処理装置。
【請求項２】
前記キャッシュメモリの前記データ領域部に格納されている有効且つ更新されているデータを前記メインメモリに書き戻し、当該書き戻しが終了した後に、前記タグ領域部をリセットする書き戻し部を更に備え、
前記第１のリセット要求信号の入力に応じて、前記タグ領域部、前記メモリコントローラ、及び前記書き戻し部以外の当該演算処理装置をリセットすると共に、前記書き戻し部が前記書き戻しを行った後に前記タグ領域部をリセットする、
ことを特徴とする請求項１記載の演算処理装置。
【請求項３】
当該演算処理装置の再起動時に、前記キャッシュメモリの前記データ領域部及び前記メインメモリの一方又は両方のデータを読み出して不揮発性記憶媒体に記憶する、
ことを特徴とする請求項１又は２記載の演算処理装置。
【請求項４】
第２のリセット要求信号の入力に応じて、当該演算処理装置をリセットする、
ことを特徴とする請求項１又は２記載の演算処理装置。
【請求項５】
前記第１のリセット要求信号の入力に応じてフラグをセットし、前記第２のリセット要求信号の入力に応じて前記フラグをリセットするフラグ設定部を更に備え、
前記第１のリセット要求信号の入力に応じて、前記タグ領域部、前記メモリコントローラ、及び前記フラグ設定部以外の当該演算処理装置をリセットし、又は、前記タグ領域部、前記メモリコントローラ、前記書き戻し部、及び前記フラグ設定部以外の当該演算処理装置をリセットすると共に前記書き戻し部が前記書き戻しを行った後に前記タグ領域部をリセットし、
当該演算処理装置の再起動時に、前記フラグがセットされていた場合には、前記キャッシュメモリの前記データ領域部及び前記メインメモリの一方又は両方のデータを不揮発性記憶媒体に記憶する、
ことを特徴とする請求項４記載の演算処理装置。
【請求項６】
データが格納されるデータ領域部と、前記データ領域部に格納されるデータのメインメモリ上のアドレス、前記データ領域部に格納されるデータの有効又は無効を示すデータ、及び前記データ領域部に格納されるデータが更新されているか否かを示すデータが格納されるタグ領域部と、を含むキャッシュメモリと、前記メインメモリのリフレッシュを制御するメモリコントローラとを備えた演算処理装置のリセット方法であって、
第１のリセット要求信号の入力に応じて、少なくとも前記タグ領域部及び前記メモリコントローラを除き、前記演算処理装置をリセットする、
ことを特徴とするリセット方法。
【請求項７】
前記演算処理装置は、前記キャッシュメモリの前記データ領域部に格納されている有効且つ更新されているデータを前記メインメモリに書き戻し、当該書き戻しが終了した後に、前記タグ領域部をリセットする書き戻し部を更に備え、
前記第１のリセット要求信号の入力に応じて、前記タグ領域部、前記メモリコントローラ、及び前記書き戻し部以外の当該演算処理装置をリセットすると共に、前記書き戻し部が前記書き戻しを行った後に前記タグ領域部をリセットする、
ことを特徴とする請求項６記載のリセット方法。
【請求項８】
前記演算処理装置の再起動時に、前記キャッシュメモリの前記データ領域部及び前記メインメモリの一方又は両方のデータを不揮発性記憶媒体に記憶する、
ことを特徴とする請求項６又は７記載のリセット方法。
【請求項９】
第２のリセット要求信号の入力に応じて、前記演算処理装置をリセットする、
ことを特徴とする請求項６又は７記載のリセット方法。
【請求項１０】
前記演算処理装置は、前記第１のリセット要求信号の入力に応じてフラグをセットし、前記第２のリセット要求信号の入力に応じて前記フラグをリセットするフラグ設定部を更に備え、
前記第１のリセット要求信号の入力に応じて、前記タグ領域部、前記メモリコントローラ、及び前記フラグ設定部以外の前記演算処理装置をリセットし、又は、前記タグ領域部、前記メモリコントローラ、前記書き戻し部、及び前記フラグ設定部以外の前記演算処理装置をリセットすると共に前記書き戻し部が前記書き戻しを行った後に前記タグ領域部をリセットし、
前記演算処理装置の再起動時に、前記フラグがセットされていた場合には、前記キャッシュメモリの前記データ領域部及び前記メインメモリの一方又は両方のデータを不揮発性記憶媒体に記憶する、
ことを特徴とする請求項９記載のリセット方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、マイクロプロセッサ等の演算処理装置及びそのリセット方法に関する。
【背景技術】
【０００２】
従来、コンピュータシステムの運用では、システムに異常が発生してシステムダウン等した場合に、システムのログデータや各種テーブルデータが解析され、異常原因の調査、特定が行われている。
【０００３】
そのため、稼働中のコンピュータシステムでは、ログデータが所定のタイミング（例えば定期的）に採取され、例えば下記（１）、（２）、又は（３）の方法によって不揮発性記憶媒体にファイル出力（例えばログファイルやダンプファイルとして出力）されている。
（１）ログデータの採取の都度、採取されたログデータを不揮発性記憶媒体にファイル出力する。
（２）採取されたログデータを、常時はメインメモリに格納し、異常発生時のユーザのログ退避操作（例えばログ退避スイッチのオン操作）に応じて、メインメモリから不揮発性記憶媒体にファイル出力する。
（３）採取されたログデータを、常時はメインメモリに格納し、異常発生時のユーザのリセット操作（例えばリセットスイッチのオン操作）に応じてシステムがリセットされ再起動された時に、メインメモリから不揮発性記憶媒体にファイル出力する。
【０００４】
また、各種テーブルデータもログファイルと同様に採取され、例えば上記（２）又は（３）の方法と同様にファイル出力（例えばログファイルやダンプファイルとして出力）されている。
【０００５】
なお、コンピュータシステムに関する技術として、コンピューティングシステムにおいて電力障害によるメモリのデータの損失を防止する技術が知られている（例えば特許文献１参照）。また、ＲＡＩＤ制御装置がリセットする場合等に、キャッシュメモリのコンテンツが依然として有効であれば、メモリ制御装置がキャッシュメモリのコンテンツを無効にしないような方法で、キャッシュメモリを選択的にリセットする技術が知られている（例えば特許文献２参照）。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特表２００８−５２２３２２号公報
【特許文献２】特表２００９−５０３７２３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
上記（１）、（２）、及び（３）の方法には、次のような課題がある。
上記（１）の方法では、ログデータの採取の度に不揮発性記憶媒体へのファイル出力が行われる分、コンピュータシステムの性能が低下する。
【０００８】
上記（２）の方法では、ユーザのログ退避操作を受け付けることができないほどの異常が発生すると、ログデータを不揮発性記憶媒体にファイル出力することができない。
【０００９】
上記（３）の方法では、メインメモリがＤＲＡＭである場合には、コンピュータシステムがリセットされると、ＤＲＡＭのリフレッシュが停止することから、再起動後のＤＲＡＭから不揮発性記憶媒体にファイル出力されたログデータを保証することができない。また、コンピュータシステムがリセットされると、キャッシュメモリに格納されているデータが無効にされることから、そのデータをメインメモリへ書き戻すことができず、不揮発性記憶媒体へファイル出力することができない。なお、キャッシュメモリからメインメモリへ書き戻されるデータは、コンピュータシステム上の最新データと言うこともできる。
【００１０】
上記（３）の方法に係る課題に対する解決策としては、ＤＲＡＭの代わりにリフレッシュが不要なＳＲＡＭを採用し、更に、キャッシュメモリを無効又はライトスルーモードに設定することでキャッシュメモリを使用しない又は実質的に使用しない、という解決策がある。しかしながら、この解決策では、ＤＲＡＭよりも高価なＳＲＡＭを採用することによるコストアップや、キャッシュメモリを使用しない又は実質的に使用しない分、コンピュータシステムの性能が低下する、という新たな課題が生じる。
【００１１】
本発明は、上記実情に鑑み、異常が発生してシステムダウン等したコンピュータシステムがリセットされる場合に、キャッシュメモリ及びメインメモリのデータをダンプすることができる、演算処理装置及びそのリセット方法を提供することを目的とする。
【課題を解決するための手段】
【００１２】
装置の一観点によれば、演算処理装置であって、データが格納されるデータ領域部と、前記データ領域部に格納されるデータのメインメモリ上のアドレス、前記データ領域部に格納されるデータの有効又は無効を示すデータ、及び前記データ領域部に格納されるデータが更新されているか否かを示すデータが格納されるタグ領域部と、を含むキャッシュメモリと、前記メインメモリのリフレッシュを制御するメモリコントローラと、を備え、第１のリセット要求信号の入力に応じて、少なくとも前記タグ領域部及び前記メモリコントローラを除き、当該演算処理装置をリセットする、演算処理装置を提供する。
【００１３】
方法の一観点によれば、データが格納されるデータ領域部と、前記データ領域部に格納されるデータのメインメモリ上のアドレス、前記データ領域部に格納されるデータの有効又は無効を示すデータ、及び前記データ領域部に格納されるデータが更新されているか否かを示すデータが格納されるタグ領域部と、を含むキャッシュメモリと、前記メインメモリのリフレッシュを制御するメモリコントローラとを備えた演算処理装置のリセット方法であって、第１のリセット要求信号の入力に応じて、少なくとも前記タグ領域部及び前記メモリコントローラを除き、前記演算処理装置をリセットする、リセット方法を提供する。
【発明の効果】
【００１４】
開示の装置及び方法は、異常が発生してシステムダウン等したコンピュータシステムがリセットされる場合に、キャッシュメモリ及びメインメモリのデータをダンプすることができる、という効果を奏する。
【図面の簡単な説明】
【００１５】
【図１】第１の実施形態に係る演算処理装置を含むコンピュータシステムの構成例を示す図である。
【図２】第１の実施形態に係る、キャッシュメモリの構成例を示す図である。
【図３】第１の実施形態に係る、ダンプリセット動作の一例を示すフローチャートである。
【図４】第１の実施形態に係る、再起動動作の一例を示すフローチャートである。
【図５】第２の実施形態に係る演算処理装置を含むコンピュータシステムの構成例を示す図である。
【図６】第２の実施形態に係る、ダンプリセット動作の一例を示すフローチャートである。
【発明を実施するための形態】
【００１６】
以下、図面を参照しながら本発明の実施の形態を説明する。
＜第１の実施形態＞
図１は、第１の実施形態に係る演算処理装置を含むコンピュータシステムの構成例を示す図である。
【００１７】
図１に示したように、本実施形態に係るコンピュータシステム１は、電圧検出回路２、ダンプスイッチ３、ＭＰＵ（microprocessor unit）４、メインメモリ５、及び不揮発性記憶媒体６を含む。
【００１８】
電圧検出回路２は、いわゆるパワーオンリセット回路であり、コンピュータシステム１に供給される電源電圧を検出し、ＭＰＵ４へ出力するリセット信号を制御する。例えば、電圧検出回路２は、電源電圧が所定電圧未満であることを検出した場合にＬ（Ｌｏｗ）レベルのリセット信号を出力し、電源電圧が所定電圧以上であることを検出した場合にＨ（Ｈｉｇｈ）レベルのリセット信号を出力する。なお、この場合のＬレベルのリセット信号は、コンピュータシステム１に通常のリセット動作を行わせるリセット要求信号でもあり、また、ＭＰＵ４に通常のリセット動作を行わせるリセット要求信号でもある。リセット信号は、ＭＰＵ４へ入力され、ＭＰＵ４内部の後述する、ダンプリセットフラグ設定部４１、ＤＲＡＭ（dynamic random access memory）コントローラ４２、キャッシュメモリ４３、及びその他回路４４へそれぞれ入力される。
【００１９】
ダンプスイッチ３は、例えば、ユーザのボタン押下操作に応じてオン又はオフし、Ｌレベル又はＨレベルのダンプリセット信号をＭＰＵ４へ出力する。本実施形態では、ダンプスイッチ３がオンするとＬレベルのダンプリセット信号を出力し、ダンプスイッチ３がオフするとＨレベルのダンプリセット信号を出力するものとする。なお、この場合のＬレベルのダンプリセット信号は、コンピュータシステム１に通常のリセット動作とは異なるダンプリセット動作を行わせるリセット要求信号でもあり、また、ＭＰＵ４にダンプリセット動作を行わせるリセット要求信号でもある。ダンプリセット信号は、ＭＰＵ４へ入力され、ＭＰＵ４内部の後述する、ダンプリセットフラグ設定部４１、キャッシュメモリ４３、及びその他回路４４へそれぞれ入力される。
【００２０】
ＭＰＵ４は、演算処理装置の一例であって、コンピュータシステム１の全体動作を制御する。ＭＰＵ４は、ダンプリセットフラグ設定部４１、ＤＲＡＭコントローラ４２、キャッシュメモリ４３、及びその他回路４４を含む。
【００２１】
ダンプリセットフラグ設定部４１は、Ｌレベルのダンプリセット信号の入力に応じて、内部に格納されるダンプリセットフラグをセットする（例えば１にする）。また、ダンプリセットフラグ設定部４１は、Ｌレベルのリセット信号の入力に応じて、初期化（リセット）し、これによりダンプリセットフラグがリセットする（例えば０になる）。
【００２２】
ＤＲＡＭコントローラ４２は、メモリコントローラの一例であって、メインメモリ５からのデータの読み出し、メインメモリ５へのデータの書き込み、及びメインメモリ５のリフレッシュ等を制御する。例えば、メインメモリ５のリフレッシュの制御では、リフレッシュのための制御信号がメインメモリ５へ出力される。また、ＤＲＡＭコントローラ４２は、Ｌレベルのリセット信号の入力に応じて、初期化（リセット）する。なお、ＤＲＡＭコントローラ４２が初期化すると、メインメモリ５へのリフレッシュのための制御信号の出力が停止し、メインメモリ５のリフレッシュが停止する。
【００２３】
キャッシュメモリ４３は、詳しくは図２を用いて後述するように、データ領域部とタグ領域部とを含み、Ｌレベルのリセット信号の入力に応じて初期化（リセット）され、Ｌレベルのダンプリセット信号の入力に応じてタグ領域部以外が初期化（リセット）される。
【００２４】
その他回路４４は、ダンプリセットフラグ設定部４１、ＤＲＡＭコントローラ４２、及びキャッシュメモリ４３を除く、ＭＰＵ４内部のその他の回路である。その他回路４４は、Ｌレベルのリセット信号の入力、又は、Ｌレベルのダンプリセット信号の入力に応じて、初期化（リセット）する。
【００２５】
メインメモリ５は、ＤＲＡＭである。
不揮発性記憶媒体６は、例えばフラッシュメモリ等である。
【００２６】
図２は、キャッシュメモリ４３の構成例を示す図である。
図２に示したように、キャッシュメモリ４３は、データ領域部４３１、タグ領域部４３２、比較回路部４３３、データ選択部４３４、及びキャッシュコントローラ４３５を含む。
【００２７】
データ領域部４３１は、キャッシュライン毎に、データ領域４３１ａを有する。各データ領域４３１ａは、メインメモリ５から読み出されたデータ、又は、そのデータがその他回路４４に含まれる図示しない演算処理回路等により更新された後のデータが格納される。なお、各データ領域４３１ａのメモリサイズは、例えば、１６〜６４バイトである。
【００２８】
タグ領域部４３２は、キャッシュライン毎に、フラグ領域４３２ａ及びタグ領域４３２ｂを有する。各フラグ領域４３２ａは、対応するデータ領域４３１ａが有効であるか無効であるかを示すフラグや、対応するデータ領域４３１ａのデータが更新されているか否かを示すフラグ等のデータが格納される。なお、対応するデータ領域４３１ａが有効であるか無効であるかを示すフラグは、対応するデータ領域４３１ａに格納されているデータが有効であるか無効であるかを示すフラグでもある。各タグ領域４３２ｂは、対応するデータ領域４３１ａに格納されているデータの、メインメモリ５上のアドレスが格納される。
【００２９】
比較回路部４３３は、キャッシュライン毎に、比較回路４３３ａを有する。各比較回路４３３ａは、メインメモリ５のデータに対するアクセス要求が行われたときに、そのアクセス対象アドレスと、対応するタグ領域４３２ｂに格納されているアドレスとを比較し、その比較結果をデータ選択部４３４へ出力する。
【００３０】
データ選択部４３４は、各比較回路部４３３ａからの比較結果から、タグ領域４３２ｂに格納されているアドレスがアクセス対象アドレスに一致し、且つ、そのタグ領域４３２ｂに対応するフラグ領域４３２ａに、対応するデータ領域４３１ａが有効であることを示すフラグが格納されている場合（キャッシュがヒットした場合）には、そのデータ領域４３１ａに格納されているデータを、例えばアクセス要求元へ出力する等の処理を行う。
【００３１】
キャッシュコントローラ４３５は、キャッシュメモリ４３の全体動作を制御する。例えば、キャッシュメモリ４３の各部のシーケンス制御を行う。また、例えば、キャッシュがヒットしなかった場合に、無効なデータ領域４３１ａを検索し、検索された無効なデータ領域４３１ａに、メインメモリ５から読み出されたデータを格納する等の制御を行う。なお、無効なデータ領域４３１ａを検索した結果、それが見つからなかった場合には、あらかじめ決められたアルゴリズムで、データ領域４３１ａのうちの１ラインが選択され、そのデータ領域４３１ａのデータがメインメモリ５に書き戻されて、無効なデータ領域４３１ａが作成される。このような書き戻しは、その他回路４４に含まれる図示しないキャッシュリフィル制御部の制御の下に行われる。その後、生成された無効なデータ領域４３１ａに、メインメモリ５から読み出されたデータが格納される。
【００３２】
また、キャッシュメモリ４３では、入力されたリセット信号が、タグ領域部４３２とキャッシュコントローラ４３５へ入力され、入力されたダンプリセット信号が、キャッシュコントローラ４３５へ入力される。タグ領域部４３２は、Ｌレベルのリセット信号の入力に応じて、初期化（リセット）する。また、キャッシュコントローラ４３５は、Ｌレベルのリセット信号の入力、又は、Ｌレベルのダンプリセット信号の入力に応じて、初期化（リセット）する。なお、タグ領域部４３２が初期化されると、各フラグ領域４３２ａ及び各タグ領域４３２ｂが初期化（リセット）されることから、そのときの各データ領域４３１ａに格納されているデータをメインメモリ５へ書き戻すことができなくなる。
【００３３】
このような構成を有するコンピュータシステム１では、例えば、システムに異常が発生してシステムダウン等した場合に、コンピュータシステム１に通常のリセット動作ではなくダンプリセット動作を行わせることによって、運用プログラムが使用するメモリ領域（キャッシュメモリ４３のデータ領域部４３１及びメインメモリ５）のデータを再起動時にダンプすることができる。なお、運用プログラムは、コンピュータシステム１の運用中にＭＰＵ４により実行されるプログラムである。
【００３４】
ダンプリセット動作は、ユーザのボタン操作によりダンプスイッチ３がオンされることによって開始される。
【００３５】
図３は、そのダンプリセット動作の一例を示すフローチャートである。
なお、このフローチャートは、ハードウェアによる動作を示すものでもある。
【００３６】
図３に示したように、ダンプリセット動作が開始してＬレベルのダンプリセット信号がダンプスイッチ３からＭＰＵ４へ入力されると、ダンプリセットフラグ設定部４１によりダンプリセットフラグがセットされると共に、ダンプリセットフラグ設定部４１、キャッシュメモリ４３のタグ領域部４３２、及びＤＲＡＭコントローラ４２を除くＭＰＵ４の各部が初期化（リセット）されて（Ｓ１１）、ダンプリセット動作が完了する。
【００３７】
なお、図示はしないが、通常のリセット動作は、ユーザの操作によりコンピュータシステム１の電源が投入される（又は、投入し直される）ことによって開始される。この場合は、コンピュータシステム１に供給される電源電圧が上昇する過程でＬレベルのリセット信号が電圧検出回路２からＭＰＵ４へ入力されると、ＭＰＵ４の各部が初期化（リセット）されて、通常のリセット動作が完了する。なお、この場合は、ダンプリセットフラグ設定部４１において、ダンプリセットフラグがリセットされる。
【００３８】
このようにしてダンプリセット動作（又は通常のリセット動作）が完了すると、ＭＰＵ４では、図示しないブートＲＯＭに記憶されているブートプログラムの実行が開始され、再起動動作が開始される。
【００３９】
図４は、その再起動動作の一例を示すフローチャートである。
なお、このフローチャートは、ブートプログラム（ソフトウェア）による動作を示すものでもある。
【００４０】
図４に示したように、再起動動作が開始されると、まず、メインメモリ５における、ブートＲＯＭ専用のメモリ領域の初期化、ブートＲＯＭ（ブートプログラム）が使用するＩ／Ｏ（Input/Output）の初期化、及びキャッシュメモリ４３の有効化、といったブートＲＯＭに係る初期化処理が行われる（Ｓ２１）。
【００４１】
続いて、ダンプリセットフラグ設定部４１に格納されているダンプリセットフラグがセットされているか否かが判定される（Ｓ２２）。
【００４２】
ここで、その判定結果がＹｅｓの場合（すなわち、ダンプリセット動作後の再起動動作である場合）は、運用プログラムが使用するメモリ領域のデータが読み出されて、不揮発性記憶媒体６に退避（記憶）される（Ｓ２３）。なお、その読み出しにおいては、キャッシュヒットした場合のデータについてはキャッシュメモリ４３のデータ領域部４３１から読み出され、キャッシュミスした場合のデータについてはメインメモリ５から読み出されることになる。
【００４３】
一方、Ｓ２２の判定結果がＮｏの場合（すなわち、通常のリセット動作後の再起動動作である場合）、又は、Ｓ２３の後は、全メモリ領域の初期化や図示しないハードディスク等からのＯＳ（Operating System）のローディング等といった通常の初期化処理が行われて（Ｓ２４）、コンピュータシステム１が起動する（再起動動作が完了する）。
【００４４】
以上のように、第１の実施形態によれば、コンピュータシステム１に異常が発生してシステムダウン等した場合に、ダンプリセット動作を行わせることによって、通常のリセット動作ではリセットされてしまうキャッシュメモリ４３のタグ領域部４３２及びＤＲＡＭコントローラ４２をリセットさせないようにすることができ、ダンプリセット動作後の再起動時に、運用プログラムが使用するメモリ領域のデータをダンプすることができる。
【００４５】
＜第２の実施形態＞
第２の実施形態は、第１の実施形態に係るＭＰＵ４のその他回路４４に含まれる図示しないキャッシュリフィル制御部がＬレベルのダンプリセット信号の入力に応じて後述の書き戻し処理を行うようにした点が、第１の実施形態に対して異なり、その他は第１の実施形態と同様である。そこで、第２の実施形態の説明では、その異なる点を中心に説明を行うこととし、第１の実施形態に係る構成要素と同一の構成要素については同一の符号を付して説明する。
【００４６】
図５は、第２の実施形態に係る演算処理装置を含むコンピュータシステムの構成例を示す図である。
【００４７】
図５において、キャッシュリフィル制御部４５は、キャッシュメモリ４３のデータ領域部４３１に格納されている有効且つ更新されているデータをメインメモリ５に書き戻し、その後、キャッシュメモリ４３のタグ領域部４３２をリセットするという処理（以下、「書き戻し処理」という）等を制御する。この書き戻し処理の制御では、キャッシュメモリ４３のタグ領域部４３２からのアドレスの読み出しや、ＤＲＡＭコントローラ４２へのメモリアクセス信号の出力等が行われる。
【００４８】
また、キャッシュリフィル制御部４５は、Ｌレベルのリセット信号の入力に応じて、初期化（リセット）され、Ｌレベルのダンプリセット信号の入力に応じて、上述の書き戻し処理を行う。
【００４９】
図５において、その他の構成は、図１に示した構成と同様であるので説明を省略する。
【００５０】
図６は、第２の実施形態に係るダンプリセット動作の一例を示すフローチャートである。
なお、このフローチャートは、ハードウェアによる動作を示すものでもある。
【００５１】
図６に示したように、第２の実施形態では、ダンプリセット動作が開始されてＬレベルのダンプリセット信号がダンプスイッチ３からＭＰＵ４へ入力されると、ダンプリセットフラグ設定部４１によりダンプリセットフラグがセットされると共に、ダンプリセットフラグ設定部４１、キャッシュメモリ４３のタグ領域部４３２、ＤＲＡＭコントローラ４２、及びキャッシュリフィル制御部４５を除くＭＰＵ４の各部が初期化（リセット）される（Ｓ３１）。また、キャッシュリフィル制御部４５に対して、書き戻し処理の制御を行わせる指示が為される（Ｓ３２）。なお、この指示は、キャッシュリフィル制御部４５へ入力されるＬレベルのダンプリセット信号が兼ねる。すなわち、キャッシュリフィル制御部４５へのＬレベルのダンプリセット信号の入力に応じて、その指示が行われる。
【００５２】
Ｓ３２の後、キャッシュリフィル制御部４５の制御による書き戻し処理（Ｓ３３乃至Ｓ３９）が行われる。
【００５３】
より詳しくは、まず、処理対象とするキャッシュラインのライン番号が０にされる（ライン番号＝０）（Ｓ３３）。
【００５４】
続いて、処理対象とするライン番号のキャッシュラインが有効であるか否かが判定される（Ｓ３４）。なお、この判定では、処理対象とするライン番号のキャッシュラインのフラグ領域４３２ａに、対応するデータ領域４３１ａが有効であることを示すフラグ、及び、対応するデータ領域４３１ａのデータが更新されていることを示すフラグが格納されている場合に、判定結果がＹｅｓとされ、そうでない場合にはＮｏとされる。
【００５５】
Ｓ３４の判定結果がＹｅｓの場合、処理対象とするライン番号のキャッシュラインのタグ領域４３２ｂに格納されているアドレスが読み出され（Ｓ３５）、処理対象とするライン番号のキャッシュラインのデータ領域４３１ａに格納されているデータが、メインメモリ５の、Ｓ３５で読み出されたアドレスのメモリ領域に、書き戻される（Ｓ３６）。
【００５６】
一方、Ｓ３４の判定結果がＮｏの場合、又は、Ｓ３６の後は、処理対象とするライン番号に１が加算される（ライン番号＝ライン番号＋１）（Ｓ３７）。
【００５７】
続いて、処理対象とするライン番号が最大ライン番号であるか否かが判定され（Ｓ３８）、その判定結果がＮｏの場合には、処理がＳ３４へ戻る。
【００５８】
一方、Ｓ３８の判定結果がＹｅｓの場合には、キャッシュメモリ４３のタグ領域部４３２がリセットされる（Ｓ３９）。
【００５９】
このようにして書き戻し処理が完了すると、ダンプリセット動作が完了する。
なお、通常のリセット動作は、第１の実施形態と同様であるので説明を省略する。
【００６０】
また、このようにしてダンプリセット動作（又は通常のリセット動作）が完了すると、ＭＰＵ４では、第１の実施形態と同様に、図示しないブートＲＯＭに記憶されているブートプログラムの実行が開始され、再起動動作が開始する。このときの再起動動作は、図４に示した再起動動作と同様であるので説明を省略する。但し、第２の実施形態では、図６のＳ３９でキャッシュメモリ４３のタグ領域部４３２がリセットされていることから、図４のＳ２３では、運用プログラムが使用するメモリ領域のデータが、メインメモリ５のみから読み出されることになる。
【００６１】
以上のように、第２の実施形態によれば、ダンプリセット動作を行わせることによって、通常のリセット動作ではリセットされてしまうキャッシュメモリ４３のタグ領域部４３２及びＤＲＡＭコントローラ４２をリセットさせないようにすると共に、キャッシュメモリ４３のデータ領域部４３１に格納されている有効且つ更新されているデータをメインメモリ５に書き戻した後にキャッシュメモリ４３のタグ領域部４３２をリセットさせるようにすることができ、ダンプリセット動作後の再起動時に、運用プログラムが使用するメモリ領域のデータをダンプすることができる。
【００６２】
以上、本発明の実施の形態を説明したが、本発明は、上述した実施の形態に限定されることなく、本発明の要旨を逸脱しない範囲内で種々の改良・変更が可能である。
【符号の説明】
【００６３】
１          コンピュータシステム
２          電圧検出回路
３          ダンプスイッチ
４          ＭＰＵ
５          メインメモリ
６          不揮発性記憶媒体
４１        ダンプリセットフラグ設定部
４２        ＤＲＡＭコントローラ
４３        キャッシュメモリ
４４        その他回路
４５        キャッシュリフィル制御部
４３１      データ領域部
４３１ａ    データ領域
４３２      タグ領域部
４３２ａ    フラグ領域
４３２ｂ    タグ領域
４３３      比較回路部
４３３ａ    比較回路
４３４      データ選択部
４３５      キャッシュコントローラ
【図１】
2017084128.tif 000003
【図２】
2017084128.tif 000004
【図３】
2017084128.tif 000005
【図４】
2017084128.tif 000006
【図５】
2017084128.tif 000007
【図６】
2017084128.tif 000008