(57)【特許請求の範囲】
【請求項１】
ＣＰＵと、ＲＯＭと、ＲＡＭと、キャッシュメモリと、前記ＲＯＭに格納されている情報を前記ＲＡＭにコピーするための設定を格納するＲＯＭ／ＲＡＭコピーレジスタと、起動時に前記ＲＯＭ／ＲＡＭコピーレジスタを参照し、前記ＲＯＭに格納されている情報を前記ＲＡＭに格納する手段と、前記ＲＯＭおよびＲＡＭに格納されている情報をキャッシュするかどうかの設定を保持し、当該キャッシュするかどうかの設定に従って前記ＣＰＵが前記ＲＯＭ及び前記ＲＡＭに対してアクセスした情報を前記キャッシュメモリにキャッシュするための制御を行うキャッシュ制御ハードウェアとを具備することを特徴とするキャッシュ制御装置。
【請求項２】
前記情報を前記キャッシュメモリにキャッシュするかどうかの設定は前記ＣＰＵのメモリアドレス空間上のアドレス単位で設定されることを特徴とする請求項１記載のキャッシュ制御装置。
【請求項３】
前記情報を前記キャッシュメモリにキャッシュするかどうかの設定は、前記ＲＯＭ中に保持されていることを特徴とする請求項２記載のキャッシュ制御装置。
【請求項４】
キャッシュ制御ハードウェアにＲＯＭに対するキャッシュの設定を行うステップと、前記キャッシュの設定後に、前記ＲＯＭからＲＡＭへのコピーを行うための設定が格納されているＲＯＭ／ＲＡＭコピーレジスタを参照することによって、前記ＲＯＭに格納されている情報を前記ＲＡＭに格納するステップと、ＣＰＵが前記ＲＯＭ及び前記ＲＡＭから情報を読み出すステップと、前記読み出した情報をキャッシュメモリにキャッシュするかどうかを前記キャッシュ制御ハードウェアが判断するステップと、前記キャッシュ制御ハードウェアが、前記読み出した情報を前記キャッシュの設定に従ってキャッシュメモリにキャッシュするステップとを具備することを特徴とするキャッシュ制御方法。
【請求項５】
前記キャッシュメモリにキャッシュするかどうか判断するステップは、前記ＣＰＵのメモリアドレス空間上のアドレス単位で判断することを特徴とする請求項４記載のキャッシュ制御方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、メモリ管理システムに係わり、特に、キャッシュメモリへのキャッシュ制御に関する。
【０００２】
【従来の技術】
コンピュータシステムにおいて、中央処理装置（以下ＣＰＵ）が処理するデータや、プログラムなどを格納するメモリの役割は重要である。近年、メモリの種類が増えているが、基本的なメモリの種類として、ＲＯＭ（ｒｅａｄ  ｏｎｌｙｍｅｍｏｒｙ）と、ＲＡＭ（ｒａｎｄｏｍ  ａｃｃｅｓｓ  ｍｅｍｏｒｙ）が挙げられる。また、ＣＰＵからのデータアクセススピード向上のために、キャッシュメモリというメモリを設け、頻繁に使用するデータについてはキャッシュメモリにキャッシュするということが行われている。一般に、ＣＰＵのアクセススピードは、キャッシュメモリに対するものが一番速く、次にＲＡＭに対するもの、次にＲＯＭに対するものの順に遅くなる。
【０００３】
従来のキャッシュ技術の一つとして、ＲＯＭ／ＲＡＭコピー制御装置及びその方法が特開平６―１２３２２号公報に開示される。この発明では、拡張ＲＯＭを含むＲＯＭ領域に格納された各機能モジュールの任意ブロック単位でのＲＯＭ／ＲＡＭコピー機能、及び当該ブロックのキャッシュオン／オフ指定機能を実現して、拡張ＲＯＭ、内部ＲＯＭ等のＲＯＭ領域に格納された機能モジュールの任意のブロックをキャッシュ対象ブロックとしてアクセス制御できるようにしていた。すなわち、この発明では、拡張用コネクタに接続されるオプションボード上の少なくとも１つの拡張ＲＯＭの任意領域を一定サイズのブロック単位で選択してシステムの内部ＲＡＭへのコピー対象として指定し、この指定に伴ってキャッシュ機能のオン／オフを指定し、指定されたブロックコピー指定情報及びキャッシュ指定情報を記憶し、記憶したブロックコピー指定情報及びキャッシュ指定情報に従って上記拡張用コネクタに接続された拡張ＲＯＭの拡張情報を読出して上記内部ＲＡＭへ書込むと共に内部ＲＡＭの当該ブロック領域をキャッシュ機能のオン／オフ指定するようにしたものである。
【０００４】
このような構成では、拡張ＲＯＭ、内部ＲＯＭ等のＲＯＭ領域に格納された機能モジュールの任意のブロックをキャッシュ対象ブロックとしてアクセス制御することができる。しかし、この構成ではＣＰＵのＲＯＭに対するアクセスで読み出した情報は、システムの内部ＲＡＭへのコピーが行われない限り、キャッシュ対象として扱えず、キャッシュメモリにキャッシュすることはできなかった。
【０００５】
【発明が解決しようとする課題】
上記した従来技術にはＣＰＵのＲＯＭに対するアクセスで読み出した情報は、システムの内部ＲＡＭへのコピーが行われない限り、キャッシュ対象として扱えず、キャッシュメモリにキャッシュすることができないという問題があった。このようなことは特にＢＩＯＳ（Ｂａｓｉｃ  Ｉｎｐｕｔ  Ｏｕｔｐｕｔ  Ｓｙｓｔｅｍ）のＲＡＭ上へのコピーなどに影響を及ぼしている。すなわち、近年のＢＩＯＳのサイズ拡大により、ＩＢＭ―ＡＴ規格等で定められたＲＡＭ上のＢＩＯＳ領域にＢＩＯＳが収まらなくなるという事態が発生している。このような場合、収まりきらないＢＩＯＳについては、ＣＰＵが直接ＲＯＭにアクセスして読み出している。しかし、ＲＯＭへのアクセスは、ＲＡＭへのアクセスや、キャッシュメモリへのアクセスに比べて時間がかかる。その結果、ＣＰＵのＲＯＭに対するアクセスが頻繁に行われると、情報処理装置の処理速度の低下につながる。特に、システム動作中にＢＩＯＳ―ＲＯＭ中のＢＩＯＳが必要とされる状態になると、処理速度が低下し、結果として使い勝手の悪さにつながる。ＲＯＭへのアクセスをキャッシュすることができればこのような処理速度の低下をおさえることができるが、従来のコンピュータシステムでは、回路的な問題により、ＲＡＭへのアクセスをキャッシュすることはできても、ＲＯＭへのアクセスをキャッシュすることはできなかった。
そこで、本発明は上記の問題を解決するためになされたものであり、一度読み出したＲＯＭ中の情報に対するアクセススピードを向上することを目的とする。
【０００６】
【課題を解決するための手段】
この発明は、ＣＰＵと、ＲＯＭと、ＲＡＭと、キャッシュメモリと、前記ＲＯＭに格納されている情報を前記ＲＡＭにコピーするための設定を格納するＲＯＭ／ＲＡＭコピーレジスタと、起動時に前記ＲＯＭ／ＲＡＭコピーレジスタを参照し、前記ＲＯＭに格納されている情報を前記ＲＡＭに格納する手段と、前記ＲＯＭおよびＲＡＭに格納されている情報をキャッシュするかどうかの設定を保持し、当該キャッシュするかどうかの設定に従って前記ＣＰＵが前記ＲＯＭ及び前記ＲＡＭに対してアクセスした情報を前記キャッシュメモリにキャッシュするための制御を行うキャッシュ制御ハードウェアとを具備することを特徴とする。このような構成によれば、一度読み出したＲＯＭ中の情報に対するアクセススピードを向上することができる。
【０００７】
【発明の実施の形態】
以下、図面を参照してこの発明の一実施形態を説明する。図１は、本発明の一実施形態に係わるコンピュータシステム構成を示すブロック図である。
本システムはＣＰＵ１１、内部データバス１２、内部アドレスバス１３、システムコントローラ１４及びシステムバス１５を具備している。
【０００８】
ＣＰＵモジュール１０は、後述するＣＰＵ１１や、システムコントローラ１４、キャッシュ制御ハードウェア４１、キャッシュメモリ２３を含んでいる。ＣＰＵ１１は、６４ビットのマイクロプロセッサによって構成され、各種情報処理を行う。システムコントローラ１４は、内部データバス１２を介してのデータの書込み／読出し制御を行う。また、後述するＢＩＯＳ―ＲＯＭ２４からシステムＲＡＭ１８へのコピー（ＲＯＭ／ＲＡＭコピー）を行うための設定を格納するＲＯＭ／ＲＡＭコピーレジスタ２２を備えている。システムＲＡＭ１８は６４Ｍバイトの記憶容量を有し、ＣＰＵ１１による各種データ処理に必要なプログラムや、ＣＰＵ１１によって扱われる各種データを格納する。増設ＲＡＭ２１は、必要に応じてＲＡＭスロット１９、２０に挿入接続することでシステムＲＡＭ１８のメモリアドレス空間を拡張する。この増設ＲＡＭ１８の記憶容量としては、例えば８Ｍバイト、１６Ｍバイト、３２Ｍバイト、６４Ｍバイトのものがある。またシステムコントローラ１４は、システムバス１５に接続された各回路の入出力制御を行う。そしてこのシステムバス１５に、ＢＩＯＳ―ＲＯＭ２４、システムインテグレーション（ＳＩ）２５、キーボードコントローラ（ＫＢＣ）２６、表示コントローラ（ＤＩＳＰ―ＣＯＮＴ）２７、拡張スロット２８、リアルタイムクロックメモリ（ＲＴＣ）３０及びハードディスクコントローラ（ＨＤＣ）３１が接続される。
【０００９】
キャッシュメモリ２３は、キャッシュする情報を記憶しておくメモリで、ＳＲＡＭ（Ｓｔａｔｉｃ  ＲＡＭ）から構成される。このＳＲＡＭは、システムＲＡＭと比べ、アクセススピードが速いという特徴がある。
【００１０】
ＢＩＯＳ―ＲＯＭ２４は、初期化処理プログラムその他の固定プログラムが格納されるものであり、ここでは初期化処理プログラム内に後述するキャッシュ制御ハードウェアの設定のルーチンを含む。
【００１１】
システムインテグレーション２５は、ダイレクトメモリアクセス（ＤＭＡ）、プログラマブル割り込みコントローラ（ＰＩＣ）、プログラマブルインターバルタイマ（ＰＩＴ）、シリアル入出力コントローラ（ＳＩＯ）、フロッピーディスクコントローラ（ＦＤＣ）及び可変周波数発振器（ＶＦＯ）等から構成される。このシステムインテグレーション２５は、外部接続される増設用プリンタ／フロッピーディスク装置（ＰＲＴ／ＦＤＤ）、内部フロッピーディスク装置（ＩＮＴ．ＦＤＤ）、シリアルデータユニット（ＳＥＲＩＡＬ）、スピーカ及びモデムと接続されてそれらの入出力制御を行うと共に、入出力インタフェース（ＵＡＲＴ）３４を介してＲＳ２３２Ｃインタフェース（ＲＳ２３２Ｃ―ＩＦ）と接続され、データの送受信制御を行う。キーボードコントローラ２６は、マウス、内部キーボード（ＩＮＴ．ＫＢ）、外部キーボード（ＥＸＴ．ＫＢ）と接続され、それらの入力制御を行う。
【００１２】
表示コントローラ２７は、ＶＧＡ―ＢＩＯＳを格納したＶＧＡ―ＲＯＭを有し、ＶＲＡＭ３４を接続して表示制御動作を行うもので、表示データを直接ＣＲＴへ出力する他、Ｄ／Ａ変換回路（ＤＡＣ）３５を介してパレット３６へ出力する。パレット３６にて表示コントローラ２７からの制御信号に従って輝度／色差変換された表示データは、液晶ディスプレイ（ＬＣＤ）３７に送出され、表示出力される。上記パレット３６には、ＤＶＩサポート機器からのサポート信号が入力される。上記拡張スロット２８は、例えば拡張メモリボード、通信ボード等の各種拡張ユニットが接続されるものである。上記ＲＴＣ３０は、独自の動作用電池により電源バックアップされたＣＭＯＳメモリにより構成され、日付、時間情報の他に、システム制御情報等の常に保存しておく必要のある情報を記憶する。上記ハードディスクコントローラ３１は、システム内蔵のハードディスク装置（ＨＤＤ）３８の書込み／読み出し制御を行う。
【００１３】
なお、本システムは上記の他に、インジケータコントローラ３９及び電源回路４０を具備している。インジケータコントローラ３９は、システム各部の動作状態を示す例えば“電源／（処理）速度”、“ＨＤＤ”、“ＦＤＤ”等のインジケータそれぞれの点灯制御を行う。電源回路４０は、システム内外の各回路に動作電源を供給する。
【００１４】
４１はキャッシュ制御ハードウェアであり、ＲＡＭやＲＯＭにアクセスした情報をキャッシュするかどうかの設定を格納するキャッシュ設定レジスタ４２を具備し、この設定に従ってキャッシュバスを介してキャッシュを制御する。
【００１５】
次に、メモリアドレス空間を示す図２と、本願発明の概念図である図３、キャッシュの設定の例を示す図４を参照して、本願発明のキャッシュ制御について以下の通りに説明する。
【００１６】
図２はＣＰＵが扱うメモリアドレス空間のマッピングの一例である。ＯＳやアプリケーションプログラムを立ち上げるのに必要な共通のライブラリであるランタイム部やシステム立ち上げの際に行う初期化で必要になるＩＲＴ部の割り当てを示す。ＦＦＦ８００００ｈ〜ＦＦＦＦＦＦＦＦｈに割り当てられているＢＩＯＳ―ＲＯＭ２４のうち、ランタイム部、ＩＲＴ部、ＶＧＡ―ＢＩＯＳそれぞれを、Ｆ００００ｈ〜ＦＦＦＦＦｈ、１００Ａ００００ｈ〜１００Ｂ００００ｈ、Ｃ００００ｈ〜Ｆ００００ｈ番地にコピーして、再割り当てしている。しかし、ＢＩＯＳ―ＲＯＭ２４中の他の情報、すなわち、システム立ち上げ時等にメーカーのロゴマークを表示するためのロゴ表示部や、セットアップに用いるハードウェアのデータ及びＢＩＯＳのＩＲＴ部に収まりきらなかった一部のモジュールが含まれるセットアップ部、などはこれらの領域には収まらない。これらの領域に収まりきらなくなった分については、ＢＩＯＳ―ＲＯＭ２４から読み出した後にキャッシュする。この動作状態について図３を参照して以下の通り説明する。
【００１７】
図３は本発明の概念を説明するブロック図である。１１はＣＰＵ、２３はキャッシュメモリ、１８はシステムＲＡＭである。それぞれ本発明の実施形態の図１にて説明したものと同じ機能を果たす。５１はシステムＲＡＭ１８上でＢＩＯＳからのコピーを行う領域を示し、５２はシステムＲＡＭ１８上でＢＩＯＳからのコピーが行われない領域、つまりアプリケーションプログラム等に解放された領域を示す。５３はＢＩＯＳ―ＲＯＭ２４上でシステムＲＡＭ１８の領域５１上にコピーされる領域を示し、５４はＢＩＯＳ―ＲＯＭ２４上でシステムＲＡＭ１８にコピーされない領域を示す。従来はＢＩＯＳ―ＲＯＭ２４のサイズも小さく、領域５１上に収まっていた。この場合、ＣＰＵ１１がシステムＲＡＭ１８にアクセスして、同時にその情報をキャッシュメモリ２３にキャッシュしていた。再び同じ情報が必要になる場合、キャッシュメモリ２３にその情報が保持されていれば、高速なアクセスが可能になる。
【００１８】
しかし、ＢＩＯＳ―ＲＯＭ２４のサイズが大きくなり、システムＲＡＭ１８上の領域５１に収まらないＢＩＯＳ―ＲＯＭ５４が出てきた。システムＲＡＭ１８上の領域５１に収まらないＢＩＯＳ―ＲＯＭ５４に対しては、ＣＰＵ１１が直接ＢＩＯＳ―ＲＯＭ上の領域５４にアクセスして情報を読み出す。従来のキャッシュ設定はシステムＲＡＭ１８上にコピーされないＢＩＯＳ―ＲＯＭ２４上の情報まではサポートしていなかった。そのため、サポート外のＢＩＯＳ―ＲＯＭ２４上へのアクセスについてはキャッシュの設定をすること自体ができず、キャッシュを行うことができなかった。そのため、何度か同じ情報を参照しようとする場合、いちいちＢＩＯＳ―ＲＯＭ２４にアクセスする必要があった（矢印１）。しかし、本発明ではＢＩＯＳが保持したメモリアドレス空間上の全てのアドレスに対するキャッシュ設定をキャッシュ制御ハードウェア４１内のキャッシュ設定レジスタ４２に書き込んでおくことで、メモリアドレス空間上のすべてのアドレスについてキャッシュ設定を行うことが可能となっている。従って、ＢＩＯＳ―ＲＯＭ２４に対するアクセスもキャッシュすることが可能となった（矢印２）ので、同じ情報を参照しようという場合もキャッシュメモリ２３にアクセスすることで高速に読み出すことができる。
【００１９】
図４はキャッシュ制御ハードウェア４１のキャッシュ設定レジスタ４２における、ＣＰＵのメモリアドレスに対するキャッシュ設定の一例を示す図である。メモリアドレス毎にキャッシュについての設定（「ｕｎｃａｃｈｅ」、「ｗｒｉｔｅ  ｂａｃｋ」、「ｗｒｉｔｅ  ｔｈｒｏｕｇｈ」、「ｗｒｉｔｅ  ｐｒｏｔｅｃｔ」の４種類）を行うことが可能である。「ｕｎｃａｃｈｅ」は、キャッシュを行わないという設定である。「ｗｒｉｔｅ  ｂａｃｋ」は、キャッシュを行い、ＣＰＵ１１がキャッシュ上の情報を更新したときにすぐにはシステムＲＡＭ１８の対応する部分を更新せず、他のコントローラやプロセッサがそのシステムＲＡＭ１８の対応する部分を参照しようとしたときに、キャッシュ上の情報をシステムＲＡＭ１８に更新するという設定である。「ｗｒｉｔｅ  ｔｈｒｏｕｇｈ」もキャッシュを行い、ＣＰＵ１１がキャッシュ上の情報を更新したときに同時にシステムＲＡＭ１８の対応する部分にアクセスして内容を更新するという設定である。「ｗｒｉｔｅ  ｐｒｏｔｅｃｔ」設定は、ＣＰＵ１１が読み出し時にキャッシュを行うが、書き込み時にはキャッシュメモリ２３に対しては書き込みを行わず、システムＲＡＭ１８上に直接書き込みを行う。ただし、書き込み後一回目の読み出しは必ずシステムＲＡＭ１８から行い、二回目の読み出し以降はキャッシュメモリ２３から読み出しを行える、という設定である。ＣＰＵ１１はこれらの設定に基づいてキャッシュ操作を行う。なお、ＢＩＯＳ―ＲＯＭ２４がキャッシュ設定レジスタ４２にキャッシュの設定を書き込んだ後も、他のユーティリティプログラムが、ＢＩＯＳが使用する部分以外の部分についてキャッシュの設定を随時変更することが可能である。
【００２０】
電源投入時のシステム立ち上げを例に、ＢＩＯＳ―ＲＯＭ２４からシステムＲＡＭ１８へのコピーの動作やキャッシュ動作について図５のフローチャートを参照して説明する。ユーザが電源を投入すると、ＣＰＵ１１がＢＩＯＳ―ＲＯＭ２４中のＩＲＴ部をロードする（ＳＴ１）。ＣＰＵ１１によってロードされたＢＩＯＳのＩＲＴ部はキャッシュ制御ハードウェア４１のキャッシュ制御レジスタ４２に対し、キャッシュの設定についての情報を書込む（ＳＴ２）。このキャッシュの設定は、ＢＩＯＳのＩＲＴ部で予め設定されたメモリアドレス空間上の所定のアドレス単位で行われる。特定のメモリアドレス上にＣＰＵ１１がアクセスを行った場合に、そのアドレス上のデータをキャッシュするかどうかはこの設定により決められる。続いてＩＲＴ部に含まれるプログラムが、ＲＯＭ／ＲＡＭコピーレジスタ２２を参照して、ＢＩＯＳ―ＲＯＭ２４中のＢＩＯＳをシステムＲＡＭ１８にコピーする（ＳＴ３）。このステップの間、キャッシュ設定レジスタ４２の設定に基づいてキャッシュ制御ハードウェア４１はキャッシュ動作を行うことができる。ＳＴ３では、ロゴ表示部やセットアップ部はシステムＲＡＭ１８上にはコピーされない。ＣＰＵ１１は、直接ＢＩＯＳ―ＲＯＭ２４からロゴ表示部を読み出して、画面にロゴを表示することになる。この際、キャッシュ設定レジスタ４２の設定に基づいてキャッシュ制御ハードウェア４１はキャッシュ動作を行うことができる。その後、ＣＰＵ１１が読み出すモジュールが、システムＲＡＭ１８上に既にコピーされたもので、システムＲＡＭ１８上から読み出し可能なモジュールであるか、又はシステムＲＡＭ上にコピーされておらず、ＢＩＯＳ―ＲＯＭ２４から直接読み出すモジュールであるかによって、２つの場合に分けられる（ＳＴ４）。ＣＰＵ１１が読み出すモジュールが、システムＲＡＭ１８上に既にコピーされたもので、システムＲＡＭ１８上から読み出し可能なモジュールであれば、ＣＰＵ１１はシステムＲＡＭ１８上から読み出しを行う（ＳＴ４のＹｅｓからＳＴ５）。ＣＰＵ１１が読み出すモジュールがシステムＲＡＭ上にコピーされておらず、ＢＩＯＳ―ＲＯＭ２４から直接読み出すモジュールであれば、ＣＰＵ１１はそのモジュールをＢＩＯＳ―ＲＯＭ２４から読み出す（ＳＴ４のＮｏからＳＴ６）。いずれの場合も読み出しの際、キャッシュ制御ハードウェア４１は読み出したモジュールのアドレスに対応したキャッシュ設定レジスタ４２の設定を参照する（ＳＴ７）。ここでキャッシュの設定が、キャッシュが許可されているものであるかそうでないかにより、２つの場合に分かれる（ＳＴ８）。キャッシュが許可されているものであればキャッシュ制御ハードウェア４１は読み出したモジュールをキャッシュメモリ２３にキャッシュする（ＳＴ８のＹｅｓからＳＴ９）。その後システムは処理を続行する（ＳＴ１０）。キャッシュが許可されていない設定の場合、キャッシュ制御ハードウェア４１はキャッシュを行わず、そのままシステムは処理を続行する（ＳＴ８のＮｏからＳＴ１０）。
【００２１】
ここまで、システム立ち上げ時を例にキャッシュ制御動作についても説明したが、ＣＰＵ１１によるデータの読み出しが行われる場合一般に、キャッシュ制御動作がどのように行われるかを、図６を参照して以下の通り説明する。ＢＩＯＳ―ＲＯＭ２４に格納されたモジュールを読み出す場合、ＣＰＵ１１からのアドレス出力と共にデータの読み出し動作が始まる（ＳＴ１１）。キャッシュ制御ハードウェア４１はＣＰＵが読み出そうとするアドレス出力に基づきキャッシュ内に該当データが格納されているかどうかをまず判定する（ＳＴ１２）。ここでは、キャッシュ内に該当データが格納されている場合を「キャッシュヒット」と呼び、キャッシュ制御ハードウェア４１はＣＰＵ１１のタイミングでキャッシュメモリからデータの読み出しを行う（ＳＴ１２のＹｅｓからＳＴ１３）。キャッシュ内に該当データが格納されていない場合は、ＣＰＵ１１はシステムコントローラ１４を介してＢＩＯＳ―ＲＯＭ２４またはシステムＲＡＭ１８から読み出す（ＳＴ１２のＮｏからＳＴ１４）。キャッシュ制御ハードウェア４１は読み出し先のアドレスに応じ、キャッシュ設定レジスタ４２に従い、その読み出したデータをキャッシュするかどうか判定する（ＳＴ１５）。キャッシュ制御ハードウェア４１がキャッシュしない場合はそのまま進む（ＳＴ１５のＮｏからＳＴ１７）。キャッシュ制御ハードウェア４１がキャッシュする場合は、キャッシュメモリ２３にその情報をキャッシュする（ＳＴ１５のＹｅｓからＳＴ１６）。いずれの場合も読み出しが終了して、一連の流れは終わる（ＳＴ１７）。
【００２２】
ＢＩＯＳの読み出しのときなど、システムＲＡＭ１８上のＢＩＯＳ領域には大きさについて制限があるので、その領域を超えるＢＩＯＳについてはＣＰＵ１１が直接ＢＩＯＳ―ＲＯＭ２４に対してアクセスする。前述したように、アクセスしたＢＩＯＳをキャッシュメモリ２３にキャッシュするかどうかはキャッシュ制御ハードウェア４１が、キャッシュ設定レジスタ４２に格納された設定により判断する。アクセスしたＢＩＯＳのアドレス情報を読み取り、先に保持した設定により、このアドレスの情報をキャッシュするかどうかが判断される。
【００２３】
一度キャッシュされた情報は、別の情報が上書きされるなどして失われない限り、キャッシュメモリ２３上に保持されるので、ＣＰＵ１１が再び参照したい情報がキャッシュされていれば、速く読み出すことができる。
【００２４】
このようにすると、システムＲＡＭ１８上のＢＩＯＳ領域に収まりきらないＢＩＯＳも、一度ＢＩＯＳ―ＲＯＭ２４から読み出してキャッシュメモリ２３にキャッシュすれば、次回からはキャッシュメモリにアクセスすることで、速い読み込みが実現できる。また、システムＲＡＭ１８上のＢＩＯＳ領域の大きさについての制限を緩和したこととなり、ＢＩＯＳ設計の自由度を高めることができるという効果もある。
【００２５】
【発明の効果】
以上説明したように、この発明によれば、一度読み出したＲＯＭ中のデータに対するアクセススピードを向上することができる。
【図面の簡単な説明】
【図１】本発明の一実施形態に係わるコンピュータシステムのシステム構成を示すブロック図。
【図２】本発明の一実施形態に係わるメモリアドレス空間のマッピングの図。
【図３】本発明の概念を説明するブロック図。
【図４】本発明の一実施形態に係わるキャッシュ設定の一例を示す図。
【図５】本発明の一実施形態に係わるシステム立ち上げ時の動作を示すフローチャート図。
【図６】本発明の一実施形態に係わる読み出しやキャッシュ制御動作を示すフローチャート図。
【符号の説明】
１０…ＣＰＵモジュール１１…ＣＰＵ、１２…内部データバス、１３…内部アドレスバス、１４…システムコントローラ、１５…システムバス、１６…メモリアドレスバス、１７…制御信号ライン、１８…システムＲＡＭ、１９…ＲＡＭスロットＡ、２０…ＲＡＭスロットＢ、２１…増設ＲＡＭ、２２…ＲＯＭ／ＲＡＭコピーレジスタ、２３…キャッシュメモリ、２４…ＢＩＯＳ―ＲＯＭ、２５…システムインテグレーション、２６…キーボードコントローラ、２７…ディスプレイコントローラ、２８…拡張スロット、３０…ＲＴＣ、３１…ＨＤＣ、３２…拡張ＲＯＭ、３３…ＶＧＡ―ＲＯＭ、３４…ＶＲＡＭ、３５…ＤＡＣ、３６…パレット、３７…ＬＣＤ、３８…ＨＤＤ、３９…インジケータコントローラ、４０…電源回路、４１…キャッシュ制御ハードウェア、４２…キャッシュ設定レジスタ、５１…ＢＩＯＳ用領域、５２…非ＢＩＯＳ用領域、５３…ＲＡＭ上コピー可能なＢＩＯＳ、５４…ＲＡＭ上コピー不可能なＢＩＯＳ
【図１】
0004220022.tif 000002
【図２】
0004220022.tif 000003
【図３】
0004220022.tif 000004
【図４】
0004220022.tif 000005
【図５】
0004220022.tif 000006
【図６】
0004220022.tif 000007