(57)【特許請求の範囲】
【請求項１】
中央処理装置と、
第１メモリと、
前記中央処理装置と前記第１メモリとの間で前記第１メモリの内部保存領域のブロックを保存する第２メモリと、
前記第１メモリから前記第２メモリに保存される前記ブロックの数を指示するブロック数決定部と、
所定のマスキングビットに応答して、前記中央処理装置から発生したアドレスから前記マスキングビットに対応する一部ビットを除外したビットであるマスキングアドレスを発生させるマスキング回路と
を備え、
前記ブロック数は、インデックスがアクセスされる回数に基づき決定され、インデックスがアクセスされる回数が基準値を超えなければ第２(キャッシュ)メモリに一つのブロックが保存され、インデックスがアクセスされる回数が基準値を超えると第２(キャッシュ)メモリに多数個のブロックが保存され、
前記ブロック数決定部は、
前記マスキングアドレスと、前記第１メモリ上の領域を示すインデックスとを比較して、比較信号を発生させるインデックス比較器と、
前記マスキングアドレスと同じインデックスが存在する場合、前記比較信号に応答して該当インデックスの接近回数を変化させる接近回数保存部と
を備えることを特徴とするキャッシュメモリシステム。
【請求項２】
前記キャッシュメモリシステムは、前記アドレスが前記第２メモリに存在する場合、前記アドレスに対応するデータを前記中央処理装置に返還し、
前記アドレスが前記第２メモリに存在しない場合、前記第１メモリで前記アドレスを含み、前記ブロック数決定部から出力される制御信号に対応する数のブロックを読んで、前記第２メモリに保存し、前記アドレスに対応するデータを前記中央処理装置に返還することを特徴とする請求項１に記載のキャッシュメモリシステム。
【請求項３】
前記ブロック数決定部は、
複数個のエントリを備えるインデックステーブルを備え、
前記それぞれのエントリは、
前記インデックスを保存するインデックス保存部
を備えることを特徴とする請求項１に記載のキャッシュメモリシステム。
【請求項４】
前記ブロック数決定部は、
前記接近回数と基準回数とを比較して、前記制御信号を出力する制御信号出力器をさらに備えることを特徴とする請求項３に記載のキャッシュメモリシステム。
【請求項５】
前記キャッシュメモリシステムは、
前記制御信号に応答して、前記マスキングビットに対応する数の前記第１メモリのブロックを前記第２メモリに保存し、前記アドレスに該当するデータを前記中央処理装置に返還することを特徴とする請求項４に記載のキャッシュメモリシステム。
【請求項６】
前記キャッシュメモリシステムは、
前記接近回数が前記基準回数より大きい場合、前記マスキングビットに対応する数の前記第１メモリのブロックを前記第２メモリに保存し、前記接近回数が前記基準回数と等しいか小さな場合、一つのブロックを前記第１メモリから前記第２メモリに保存することを特徴とする請求項５に記載のキャッシュメモリシステム。
【請求項７】
前記第１メモリは、前記中央処理装置より動作速度の遅いメインメモリであり、前記第２メモリは、キャッシュメモリであることを特徴とする請求項１に記載のキャッシュメモリシステム。
【請求項８】
前記インデックステーブルは、
前記マスキングアドレスと同じ前記インデックスが前記エントリのあらゆるインデックス保存部に存在しない場合、前記マスキングアドレスをインデックスとする新たなエントリを前記インデックステーブルに追加することを特徴とする請求項３に記載のキャッシュメモリシステム。
【請求項９】
前記それぞれのエントリは、
前記各エントリが有効であるかどうかを示す有効ビット確認部をさらに備えることを特徴とする請求項３に記載のキャッシュメモリシステム。
【請求項１０】
前記第２メモリは、
第１キャッシュ及び第２キャッシュを備えることを特徴とする請求項４に記載のキャッシュメモリシステム。
【請求項１１】
前記アドレスが前記第１キャッシュに存在しない場合にのみ、前記中央処理装置から発生した前記アドレスを前記マスキング回路に伝送するキャッシュミス検査部をさらに備えることを特徴とする請求項１０に記載のキャッシュメモリシステム。
【請求項１２】
前記制御信号に応答して、前記マスキングビットに対応する数の前記第１メモリのブロックを前記第２キャッシュに保存し、前記アドレスに該当するデータを前記中央処理装置に返還することを特徴とする請求項１１に記載のキャッシュメモリシステム。
【請求項１３】
前記マスキング回路は、
前記アドレスが前記第１キャッシュに存在しない場合にのみ、前記第１キャッシュから発生した前記アドレスを前記マスキングビットに変換することを特徴とする請求項１０に記載のキャッシュメモリシステム。
【請求項１４】
前記制御信号に応答して、前記マスキングビットに対応する数の前記第１メモリのブロックを前記第２キャッシュに保存し、前記第１キャッシュから発生したアドレスに該当するデータを前記中央処理装置に返還することを特徴とする請求項１３に記載のキャッシュメモリシステム。
【請求項１５】
中央処理装置、第１メモリ、及び第２メモリを備えるキャッシュメモリシステムの動作方法において、
受信されたアドレスが前記第２メモリに存在するかを判断する段階と、
前記アドレスが前記第２メモリに存在しなければ、前記第２メモリに保存する前記第１メモリのブロック数を決定する段階と、
前記決定された数のブロックを前記第２メモリに保存し、前記アドレスに該当する前記第１メモリのデータを前記中央処理装置に出力する段階と
を含み、
前記決定されるブロック数は、インデックスがアクセスされる回数に基づき決定され、インデックスがアクセスされる回数が基準値を超えなければ第２メモリに一つのブロックが保存され、インデックスがアクセスされる回数が基準値を超えると、第２メモリに多数個のブロックが保存され、
前記ブロック数を決定する段階は、
所定のマスキングビットに応答して、前記アドレスから前記マスキングビットに該当する下位ビットを除外した上位ビットであるマスキングアドレスを発生させる段階と、
前記マスキングアドレスと前記第１メモリ上の領域を示すインデックスとを比較する段階と、
前記マスキングアドレスと前記インデックスとが同じ場合、前記インデックスの接近回数を変化させる段階と
を含むことを特徴とするキャッシュメモリシステムの動作方法。
【請求項１６】
前記ブロック数を決定する段階は、
前記マスキングアドレスと前記インデックスとが同じ場合、前記インデックスの接近回数を増加させる段階と、
前記マスキングアドレスと前記インデックスとが異なる場合、前記マスキングアドレスを新しいインデックスと認識する段階と
を含むことを特徴とする請求項１５に記載のキャッシュメモリシステムの動作方法。
【請求項１７】
前記接近回数を増加させる段階は、
前記接近回数と所定の基準回数とを比較する段階と、
前記接近回数が前記基準回数より大きい場合、前記マスキングビットに対応する数の前記第１メモリのブロックを前記第２メモリに保存する段階と、
前記接近回数が前記基準回数と等しいか大きくない場合、一つのブロックを前記第１メモリから前記第２メモリに保存する段階と
を含むことを特徴とする請求項１６に記載のキャッシュメモリシステムの動作方法。
【請求項１８】
前記マスキングアドレスを発生させる段階は、
前記第２メモリが容量の小さい第１キャッシュと容量の大きい第２キャッシュとを備える場合、
前記アドレスが前記第１キャッシュに存在しない場合にのみ、前記マスキングアドレスを発生させることを特徴とする請求項１６に記載のキャッシュメモリシステムの動作方法。
【請求項１９】
前記第１メモリは、前記中央処理装置より動作速度の遅いメインメモリであり、前記第２メモリは、キャッシュメモリであることを特徴とする請求項１５に記載のキャッシュメモリシステムの動作方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、キャッシュメモリシステム及び動作方法に係り、さらに具体的には、ブロック数を制御できるキャッシュメモリシステム及び動作方法に関する。
【背景技術】
【０００２】
一般的に、中央処理装置(ＣＰＵ）の処理速度上昇に比べてメモリの処理速度上昇は非常に遅い。これにより、中央処理装置とメモリとの間には、速度差が発生するが、これを解決するために大部分のシステムではキャッシュメモリ(ｃａｃｈｅ  ｍｅｍｏｒｙ)構造を採用している。
【０００３】
一般的に、中央処理装置は限定された時間内において、メインメモリの特定領域のみを集中的にアクセスするが、これを空間的局所性(ｓｐａｔｉａｌ  ｌｏｃａｌｉｔｙ)という。キャッシュメモリは、中央処理装置とメインメモリとの間に位置する速い速度のメモリであって、頻繁にアクセスされるメインメモリの一部領域のみを保存して、中央処理装置のメモリアクセス速度を早くする。一般的に、キャッシュメモリは、複数個のブロックから構成され、ブロック単位で読み出し及び書き込み動作を行う。図１は、従来のキャッシュメモリシステム１００を示すブロック図である。
【０００４】
図１を参照すれば、従来のキャッシュメモリシステム１００は、中央処理装置１１０、キャッシュメモリ１２０、及びメインメモリ１３０を備える。
【０００５】
中央処理装置１１０がメインメモリ１３０の特定アドレスＡＤＤを要請すれば、まずアドレスＡＤＤがキャッシュメモリ１２０に存在するかどうかが確認される。キャッシュメモリ１２０にアドレスＡＤＤが存在する場合、すなわち、ヒット(ｈｉｔ)する場合、キャッシュメモリ１２０は、受信されたアドレスＡＤＤに該当するデータＤＡＴＡを中央処理装置１１０に返還する。
【０００６】
キャッシュメモリ１２０にアドレスＡＤＤが存在しない場合、すなわちミス(ｍｉｓｓ)である場合、メインメモリ１３０のアドレスＡＤＤを含むブロックがキャッシュメモリ１２０に保存され、アドレスＡＤＤに該当するデータＤＡＴＡは、中央処理装置１１０に返還される。ここで、ブロックは、キャッシュメモリ１２０での読み出し及び書き込みの単位であって、一般的に３２バイトまたは６４バイトのサイズを有する。
【０００７】
ブロックのサイズが大きければ、局所性を高める側面で有利であるが、キャッシュメモリ１２０の容量が限定されているため、ブロックのサイズが大きいほど総ブロック数は減少する。これにより、キャッシュメモリ１２０に保存された内容を頻繁に変更する必要があって、キャッシュメモリ１２０の性能低下をもたらす。したがって、ほとんどのキャッシュメモリシステムでブロックのサイズは、固定されている。
【０００８】
また、図１に示すような従来のキャッシュメモリシステム１００において、キャッシュメモリ１２０に保存されるメインメモリ１３０の領域は、１つのブロックにすぎない。これにより、中央処理装置１１０が、ブロックサイズを超過する空間的局所性を有するデータを頻繁に必要とする場合、キャッシュメモリのヒット率(ｈｉｔ  ｒａｔｉｏｎ)が低下するという問題点がある。
【発明の開示】
【発明が解決しようとする課題】
【０００９】
本発明が達成しようとする技術的課題は、基準回数を超えてアクセスするメモリ領域に対応する複数個の隣接したブロックをキャッシュメモリに保存することができるキャッシュメモリシステムを提供するところにある。
【００１０】
本発明が達成しようとする他の技術的課題は、基準回数を超えてアクセスするメモリ領域に対応する複数個の隣接したブロックをキャッシュメモリに保存することができるキャッシュメモリシステムの動作方法を提供するところにある。
【課題を解決するための手段】
【００１１】
前記本発明の技術的課題を達成するための本発明の一実施形態によるキャッシュメモリシステムは、中央処理装置、第１メモリ、第２メモリ、及びブロック数決定部を備える。
【００１２】
第２メモリは、前記中央処理装置と前記第１メモリとの間で前記第１メモリの内部保存領域のブロックを保存する。ブロック数決定部は、前記第１メモリから前記第２メモリに保存される前記ブロックの数を指示する。
【００１３】
前記キャッシュメモリシステムは、前記中央処理装置から発生したアドレスが前記第２メモリに存在する場合、前記アドレスに対応するデータを前記中央処理装置に返還する。前記中央処理装置から発生したアドレスが前記第２メモリに存在しない場合、前記第１メモリで前記アドレスを含み、前記ブロック数決定部から出力される所定の制御信号に対応する数のブロックを読んで、前記第２メモリに保存し、前記アドレスに対応するデータを前記中央処理装置に返還する。
【００１４】
前記キャッシュメモリシステムは、所定のマスキングビットに応答して、前記アドレスから前記マスキングビットに対応する一部ビットを除外したビットであるマスキングアドレスを発生させるマスキング回路をさらに備える。
【００１５】
前記ブロック数決定部は、複数個のエントリを備えるインデックステーブルと、前記マスキングアドレスと、前記エントリに保存され前記第１メモリ上の領域を示すインデックスとを比較して、比較信号を発生させるインデックス比較器とを備える。
【００１６】
前記それぞれのエントリは、前記インデックスを保存するインデックス保存部と、前記マスキングアドレスと同じインデックスが存在する場合、前記比較信号に応答して該当インデックスの接近回数を変化させる接近回数保存部とを備える。
【００１７】
前記ブロック数決定部は、前記接近回数と基準回数とを比較して、前記制御信号を出力する制御信号出力器をさらに備える。前記キャッシュメモリシステムは、前記制御信号に応答して、前記マスキングビットに対応する数の前記第１メモリのブロックを前記第２メモリに保存し、前記アドレスに該当するデータを前記中央処理装置に返還する。
【００１８】
前記キャッシュメモリシステムは、前記接近回数が前記基準回数より大きい場合、前記マスキングビットに対応する数の前記第１メモリのブロックを前記第２メモリに保存し、前記接近回数が前記基準回数と等しいか大きくない場合、一つのブロックを前記第１メモリから前記第２メモリに保存する。
【００１９】
前記第１メモリは、前記中央処理装置より動作速度の遅いメインメモリであり、前記第２メモリは、キャッシュメモリである。前記インデックステーブルは、前記マスキングアドレスと同じ前記インデックスが前記エントリのあらゆるインデックス保存部に存在しない場合、前記マスキングアドレスをインデックスとする新たなエントリを前記インデックステーブルに追加する。
【００２０】
前記それぞれのエントリは、前記各エントリが有効であるかどうかを示す有効ビット確認部をさらに備える。前記第２メモリは、第１キャッシュ及び第２キャッシュを備える。前記アドレスが前記第１キャッシュに存在しない場合にのみ、前記中央処理装置から発生した前記アドレスを前記マスキング回路に伝送するキャッシュミス検査部をさらに備える。
【００２１】
前記制御信号に応答して、前記マスキングビットに対応する数の前記第１メモリのブロックを前記第２キャッシュに保存し、前記アドレスに該当するデータを前記中央処理装置に返還する。前記マスキング回路は、前記アドレスが前記第１キャッシュに存在しない場合にのみ、前記第１キャッシュから発生した前記アドレスを前記マスキングビットに変換する。
【００２２】
前記制御信号に応答して、前記マスキングビットに対応する数の前記第１メモリのブロックを前記第２キャッシュに保存し、前記第１キャッシュから発生したアドレスに該当するデータを前記中央処理装置に返還する。
【００２３】
前記他の技術的課題を達成するための本発明の実施形態によるキャッシュメモリシステムの動作方法は、中央処理装置、第１メモリ、及び第２メモリを備えるキャッシュメモリシステムの動作方法に関する。
【００２４】
キャッシュメモリシステムの動作方法は、受信されたアドレスが第２メモリに存在するかを判断する段階、前記アドレスが前記第２メモリに存在しなければ、前記第２メモリに保存する前記第１メモリのブロック数を決定する段階、及び前記決定された数のブロックを前記第２メモリに保存し、前記アドレスに該当する前記第１メモリのデータを前記中央処理装置に出力する段階を含む。
【発明の効果】
【００２５】
本発明によるキャッシュメモリシステム及びキャッシュメモリシステムの動作方法は、空間的局所性が広い領域にかけて存在するデータと隣接する多数のブロックをキャッシュメモリに保存することによって、キャッシュミス回数を減らしてメモリアクセスにかかる時間を短縮することができる。
【発明を実施するための最良の形態】
【００２６】
本発明、その動作上の利点、及び本発明の実施によって達成される目的を十分に理解するためには、本発明の望ましい実施形態を例示する添付図面及び添付図面に記載された内容を参照しなければならない。
【００２７】
以下、添付した図面を参照して本発明の望ましい実施形態を説明することによって、本発明を詳細に説明する。各図面に提示された同じ参照符号は、同じ部材を示す。
【００２８】
図２は、本発明の実施形態によるキャッシュメモリシステムを示すブロック図である。
【００２９】
図２を参照すれば、キャッシュメモリシステム２００は、中央処理装置(Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ)２１０、第１メモリ２３０、第２メモリ２２０、ブロック数決定部２６０を備える。第１メモリ２３０は、中央処理装置２１０より相対的に速度が遅く、このような速度差を克服するために中央処理装置２１０と第１メモリ２３０との間で第１メモリ２３０の一部領域を保存する第２メモリ２２０が存在する。
【００３０】
第１メモリ２３０は、メインメモリであり、第２メモリは、キャッシュメモリである。以下では、説明の便宜上、第１メモリ２３０をメインメモリ、第２メモリをキャッシュメモリと命名する。
【００３１】
本発明のキャッシュメモリシステム２００は、従来のキャッシュメモリシステム１００でブロックの数が固定される問題点を解決するために、ブロック数決定部２６０を備える。ブロック数決定部２６０は、メインメモリ２３０からキャッシュメモリ２２０に保存されるブロックＢＬＫの数を指示するために制御信号ＣＴＲＬを出力する。ここで、ブロックＢＬＫは、メインメモリ２３０内部の保存領域を示す。
【００３２】
本発明のキャッシュメモリシステム２００は、マスキング回路２５０をさらに備えうる。マスキング回路２５０は、マスキングビットＭＢＩＴを使用して、中央処理装置２１０から受信したアドレスＡＤＤをマスキングアドレスＭＡＤＤに変換する。さらに詳細に説明すれば、マスキングアドレスＭＡＤＤは、中央処理装置２１０から受信したアドレスＡＤＤのビットのうち、マスキングビットＭＢＩＴに対応するビットを除外したビットを含むことができる。例えば、中央処理装置２１０から受信したアドレスＡＤＤが３２ビットであり、マスキングビットＭＢＩＴが前記アドレスＡＤＤの下位８ビットに対応すると仮定すれば、マスキングアドレスＭＡＤＤは、前記アドレスＡＤＤの上位２４ビットにすることができる。また、マスキングアドレスＭＡＤＤは、前記アドレスＡＤＤの上位２４ビットとマスキングビットＭＢＩＴの８ビットとからなることができる。
【００３３】
ブロック数決定部２６０は、マスキングアドレスＭＡＤＤを使用してキャッシュメモリ２２０に保存するブロック数を決定する。
【００３４】
図３は、図２のブロック数決定部２６０を示すブロック図である。
【００３５】
図３を参照すれば、ブロック数決定部２６０は、インデックステーブル２６１、インデックス比較器２６７、及び制御信号出力器２６９を備える。インデックステーブル２６１は、マスキングアドレスＭＡＤＤから抽出したインデックスＩＤＸを保存し、接近回数ＣＮＴを出力する。
【００３６】
インデックスＩＤＸは、マスキングアドレスＭＡＤＤ自体であるか、またはマスキングビットＭＢＩＴによりマスキングされたビットを除外した残りにすることができる。インデックス比較器２６７は、マスキング回路２５０から受信されたマスキングアドレスＭＡＤＤとインデックスＩＤＸとを比較して比較信号ＣＭＰを出力する。
【００３７】
インデックステーブル２６１は、複数個のエントリＥＮＴを備えるが、それぞれのエントリＥＮＴは、インデックス保存部２６３と接近回数保存部２６４とを備える。インデックス保存部２６３は、インデックスＩＤＸを保存し、接近回数保存部２６４は、インデックス比較器２６５の比較信号ＣＭＰに応じて該当インデックスの接近回数を増加させる。
【００３８】
エントリＥＮＴは、有効ビット確認部２６５をさらに備えうる。有効ビット確認部２６５は、インデックステーブル２６１内の各エントリが有効であるかどうかを示すビットであって、初期には無効、例えば論理０に設定されており、インデックス保存部２６３にインデックスＩＤＸが保存されれば、有効、例えば論理１に設定される。
【００３９】
ブロック数決定部２６０は、制御信号出力器２６９をさらに備えうる。制御信号出力器２６９は、接近回数ＣＮＴと基準回数ＲＥＦとを比較して、メインメモリ２３０からキャッシュメモリ２２０に保存するブロック数を指示する制御信号ＣＴＲＬを出力する。
【００４０】
図２と図３とを参照して、本発明のキャッシュメモリシステム２００を詳細に説明する。
【００４１】
中央処理装置２１０がメインメモリ２３０の特定アドレスＡＤＤに保存されたデータＤＡＴＡを要請すれば、キャッシュメモリシステム２００は、まず、アドレスＡＤＤがキャッシュメモリ２２０に存在するか否かを確認する。キャッシュメモリ２２０にアドレスＡＤＤが存在する場合、すなわちヒットである場合、受信されたアドレスＡＤＤに該当するデータＤＡＴＡを中央処理装置２１０に返還する。
【００４２】
キャッシュメモリ２２０にアドレスＡＤＤが存在しない場合、すなわちミスである場合、メインメモリ２３０からアドレスＡＤＤを含むブロックＢＬＫを読んでキャッシュメモリ２２０に保存し、アドレスＡＤＤに該当するデータＤＡＴＡは、中央処理装置に返還される。
【００４３】
図１のような従来のキャッシュメモリシステム１００では、ブロックサイズを超過する空間的局所性を有するデータは、キャッシュミスと判断され、メインメモリ２３０に接近(ａｃｃｅｓｓ)することで、全体的な性能低下をもたらす。
【００４４】
このような問題を解決するために、本発明のキャッシュメモリシステム２００は、中央処理装置２１０が特定アドレスＡＤＤのデータを要請すれば、アドレスＡＤＤは、キャッシュメモリ２２０だけでなくマスキング回路２５０にも伝えられる。
【００４５】
マスキング回路２５０は、マスキングビットＭＢＩＴを使用してアドレスＡＤＤをマスキングアドレスＭＡＤＤに変換する。マスキングビットＭＢＩＴは、キャッシュメモリ２２０に保存するブロック数を決定するのに使われ、ユーザーによって変更可能である。例えば、アドレスＡＤＤが３２ビットであり、マスキングビットＭＢＩＴを８ビットに設定したとすれば、マスキングアドレスＭＡＤＤは、マスキングビットに対応する下位８ビットを除外した上位２４ビットとなる。マスキングビットが８ビットであれば、キャッシュメモリ２２０に保存される全体ブロックのサイズは、２５６バイト(＝２８バイト)である。この場合、ブロックサイズを６４バイトと仮定すれば、キャッシュメモリ２２０に保存されるブロック数は４個である。
【００４６】
ブロック数決定部２６０のインデックス比較器２６７は、受信されたマスキングアドレスＭＡＤＤと、各エントリＥＮＴ内のインデックス保存部２６３に保存されたインデックスＩＤＸとを比較する。ここで、インデックスＩＤＸは、メインメモリ２３０上の所定の領域を示す。
【００４７】
同じインデックスＩＤＸが存在する場合、該当エントリの接近回数保存部２６４は、該当インデックスの接近回数ＣＮＴを増加させる。もし、同じインデックスＩＤＸがインデックステーブル２６１のあらゆるエントリＥＮＴのインデックス保存部２６３に存在しない場合、有効ビット確認部２６５を検査して、無効(論理０)であるエントリのインデックス保存部２６３にマスキングアドレスＭＡＤＤを保存することによって、新たなエントリとして登録する。制御信号出力器２６９は、マスキングビットＭＢＩＴに相応する領域、例えば、４個のブロックに空間的局所性が拡張されるかを判断するために、インデックスＩＤＸへの接近回数ＣＮＴとユーザーが設定した基準回数ＲＥＦとを比較して制御信号ＣＴＲＬを出力する。
【００４８】
本発明のキャッシュメモリシステム２００は、制御信号ＣＴＲＬに応答して該当する数のブロックＢＬＫをメインメモリ２３０からキャッシュメモリ２２０に保存し、アドレスＡＤＤに該当するデータＤＡＴＡを中央処理装置２１０に返還する。
【００４９】
すなわち、接近回数ＣＮＴが基準回数ＲＥＦと等しいか小さな場合には、従来のキャッシュメモリシステム１００と同様に一つのブロックをメインメモリ２３０からキャッシュメモリ２２０に保存する。しかし、接近回数ＣＮＴが基準回数ＲＥＴより多い場合は、空間的局所性が拡張されると判断して、マスキングビットＭＢＩＴに相応する数のブロック、例えば、４個のブロックをメインメモリ２３０からキャッシュメモリ２２０に保存する。
【００５０】
したがって、本発明のキャッシュメモリシステム２００は、空間的局所性が広い場合、マスキングビットＭＢＩＴに対応する数のブロックをキャッシュメモリ２２０に保存する。これは、ブロックのサイズを拡張する結果となるので、キャッシュミスを減らしてメモリアクセス時間を短縮することができる。
【００５１】
図４は、本発明の他の実施形態によるキャッシュメモリシステムを示すブロック図である。
【００５２】
図４を参照すれば、キャッシュメモリシステム３００は、中央処理装置３１０、キャッシュメモリ３２０、メインメモリ３３０、マスキング回路３５０、及びブロック数決定部３６０を備える。
【００５３】
キャッシュメモリ３２０は、第１キャッシュ３２３と第２キャッシュ３２５とを備える。一般的に、第１キャッシュ３２３は、Ｌ１キャッシュといわれ、第２キャッシュ３２５は、Ｌ２キャッシュといわれる。第１キャッシュ３２３は、容量が小さく中央処理装置３１０と近接していてアクセス速度が速く、第２キャッシュ３２５は、保存容量が大きいが、第１キャッシュよりアクセス速度が遅い。
【００５４】
本発明のキャッシュメモリシステム３００は、制御信号ＣＴＲＬによる複数個のブロックを保存しなければならないので、小容量の第１キャッシュ３２３ではキャッシュ爆発(ｃａｃｈｅ  ｐｏｌｌｕｔｉｏｎ)現象が発生しうる。したがって、相対的に大容量の第２キャッシュ３２５にブロック数決定部３６０で決定された複数個のブロックを保存するために、キャッシュメモリシステム３００は、キャッシュミス検査部３４０を備える。
【００５５】
図２のキャッシュメモリシステム２００の動作と異なる部分を中心として、キャッシュメモリシステム３００の動作を説明する。キャッシュメモリシステム３００は、中央処理装置３１０が特定アドレスＡＤＤのデータを要請すれば、アドレスＡＤＤは、キャッシュメモリ３２０の第１キャッシュ３２３とキャッシュミス検査部３４０とに伝えられる。
【００５６】
アドレスＡＤＤが第１キャッシュ３２３に存在する場合、すなわち、ヒットである場合、従来のキャッシュメモリシステム１００のように、アドレスＡＤＤに該当するデータＤＡＴＡが中央処理装置３１０に返還される。
【００５７】
キャッシュミス検査部３４０は、アドレスＡＤＤが第１キャッシュ３２３に存在しない場合、すなわち、キャッシュミスが発生した場合にのみ、中央処理装置３１０から受信されたアドレスＡＤＤをマスキング回路３５０に伝送する。
【００５８】
マスキング回路３５０は、キャッシュミス検査部３４０から受信されたアドレスＡＤＤとマスキングビットＭＢＩＴとを使用して、アドレスＡＤＤをマスキングアドレスＭＡＤＤに変換する。ブロック数決定部３６０は、マスキングアドレスＭＡＤＤに応答して制御信号ＣＴＲＬをメインメモリ３３０に伝送する。
【００５９】
キャッシュメモリシステム３００は、制御信号ＣＴＲＬに応答して、該当する数のブロックＢＬＫをメインメモリ３３０から第２キャッシュ３２５に保存し、アドレスＡＤＤに該当するデータＤＡＴＡを中央処理装置３１０に返還する。図４において、第２キャッシュ３２５から第１キャッシュ３２３に伝送されるデータＤＡＴＡと、第１キャッシュ３２３から中央処理装置３１０に伝送されるデータＤＡＴＡとは、異なりうる。
【００６０】
図５は、本発明のさらに他の実施形態によるキャッシュメモリシステムを示すブロック図である。
【００６１】
図５を参照すれば、キャッシュメモリシステム５００は、中央処理装置５１０、キャッシュメモリ５２０、メインメモリ５３０、マスキング回路５５０、及びブロック数決定部５６０を備える。
【００６２】
図５のキャッシュメモリシステム５００は、図４のキャッシュメモリシステム３００と違って、キャッシュミス検査部３４０が存在しない。代わりに、図５のキャッシュメモリシステム５００におけるマスキング回路は、中央処理装置５１０から受信されたアドレスＡＤＤではない第１キャッシュ５２３から受信されたアドレスＡＤＤを使用する。
【００６３】
したがって、図３のキャッシュメモリシステム３００のように相対的に大容量の第２キャッシュ５２５にブロック数決定部５６０で決定された複数個のブロックを保存することができる。キャッシュメモリシステム５００は、次のように動作する。
【００６４】
キャッシュメモリシステム５００は、中央処理装置５１０が特定アドレスＡＤＤのデータを要請すれば、アドレスＡＤＤは、キャッシュメモリ５２０の第１キャッシュ５２３に伝えられる。
【００６５】
アドレスＡＤＤが第１キャッシュ５２３に存在する場合、すなわち、ヒットである場合、従来のキャッシュメモリシステム１００のように、アドレスＡＤＤに該当するデータを中央処理装置５１０に返還する。
【００６６】
アドレスＡＤＤが第１キャッシュ５２３に存在しない場合、すなわち、キャッシュミスが発生した場合にのみ、第１キャッシュ５２３を通過したアドレスＡＤＤがマスキング回路５５０に伝送される。マスキング回路５５０は、第１キャッシュ５２３から受信されたアドレスＡＤＤとマスキングビットＭＢＩＴとを使用して、アドレスＡＤＤをマスキングアドレスＭＡＤＤに変換する。
【００６７】
ブロック数決定部５６０は、マスキングアドレスＭＡＤＤに応答して制御信号ＣＴＲＬをメインメモリ５３０に伝送する。
【００６８】
キャッシュメモリシステム５００は、制御信号ＣＴＲＬに応答して、該当する数のブロックＢＬＫをメインメモリ５３０から第２キャッシュ５２５に保存し、アドレスに該当するデータＤＡＴＡを中央処理装置５１０に返還する。図５において、第２キャッシュ５２５から第１キャッシュ５２３に伝送されるデータＤＡＴＡと、第１キャッシュ５２３から中央処理装置５１０に伝送されるデータＤＡＴＡとは、異なりうる。
【００６９】
図６は、本発明の実施形態によるキャッシュメモリシステムの動作方法を説明する図面である。
【００７０】
キャッシュメモリシステムの動作方法６００は、中央処理装置、第１メモリ、及び第２メモリを備えるキャッシュメモリシステムの動作方法に関する。
【００７１】
図６を参照すれば、キャッシュメモリシステムの動作方法６００は、受信されたアドレスが第２メモリに存在するか否かを判断する６１０段階、前記アドレスが前記第２メモリに存在しなければ、前記第２メモリに保存する前記第１メモリのブロック数を決定する６２０段階、及び前記決定された数のブロックを前記第２メモリに保存し、前記アドレスに該当する前記第１メモリのデータを前記中央処理装置に出力する６３０段階を含む。
【００７２】
キャッシュメモリシステムの動作方法６００は、前記アドレスが前記第２メモリに存在すれば、第２メモリのデータを中央処理装置に出力する６４０段階をさらに含みうる。６１０ないし６４０段階から構成されるキャッシュメモリシステムの動作方法６００は、図２ないし図５に開示されたキャッシュメモリシステム２００、３００、５００の動作に対応し、図２ないし図５に開示されたキャッシュメモリシステム２００、３００、５００の動作は、前述した通りであるので、キャッシュメモリシステムの動作方法６００についての詳細な説明を省略する。
【００７３】
本発明は、図面に示された一実施形態を参考にして説明されたが、これは例示的なものに過ぎず、当業者ならば、これより多様な変形及び均等な他の実施形態が可能であるという点を理解できるであろう。したがって、本発明の真の技術的保護範囲は、特許請求の範囲の技術的思想によって決定されなければならない。
【産業上の利用可能性】
【００７４】
本発明は、メモリ関連の技術分野に好適に用いられる。
【図面の簡単な説明】
【００７５】
【図１】従来のキャッシュメモリシステムを示すブロック図である。
【図２】本発明の実施形態によるキャッシュメモリシステムを示すブロック図である。
【図３】図２のブロック数決定部を示すブロック図である。
【図４】本発明の他の実施形態によるキャッシュメモリシステムを示すブロック図である。
【図５】本発明のさらに他の実施形態によるキャッシュメモリシステムを示すブロック図である。
【図６】本発明の実施形態によるキャッシュメモリシステムの動作方法を説明する図面である。
【符号の説明】
【００７６】
１００、２００、３００、５００  キャッシュメモリシステム
１１０、２１０、３１０、５１０  中央処理装置
１２０、２２０、３２０、５２０  キャッシュメモリ
１３０、２３０、３３０、５３０  メインメモリ
２５０、３５０、５５０  マスキング回路
２６０、３６０、５６０  ブロック数決定部
２６１  インデックステーブル
２６３  インデックス保存部
２６４  接近回数保存部
２６５  有効ビット確認部
２６７  インデックス比較器
２６９  制御信号出力器
３２３、５２３  第１キャッシュ
３２５、５２５  第２キャッシュ
３４０  キャッシュミス検査部
【図１】
0005745200.tif 000002
【図２】
0005745200.tif 000003
【図３】
0005745200.tif 000004
【図４】
0005745200.tif 000005
【図５】
0005745200.tif 000006
【図６】
0005745200.tif 000007