(57)【要約】  情報をキャッシュ・モジュールに与える装置及び方法である。本装置は、（ｉ）キャッシュ・モジュールに接続され、キャッシュ・モジュールから第１及び第２のデータ単位を検索する第１及び第２の要求を開始する少なくとも１つのプロセッサと、（ｉｉ）当該要求を受け取り、第１及び第２のデータ単位が必須のデータ単位であるかどうかを決定するよう適合された論理と、（ｉｉｉ）キャッシュ・モジュールに接続された制御器であって、単一のフェッチ・バースト中に検索可能なメモリ空間が第１及び第２の必須のデータ単位を備える場合当該単一のフェッチ・バーストを開始するよう適合され、且つ単一のフェッチ・バースト中に検索可能なメモリ空間が第１及び第２の必須のデータ単位を備えていない場合複数のフェッチ・バーストを開始するよう適合されている制御器とを含む。
2008515075.tif 000002
【特許請求の範囲】
【請求項１】
情報をキャッシュ・モジュールに与える方法であって、
複数の情報単位をキャッシュ・モジュールに対して検索する複数の要求を受け取るステップと、
フェッチ・バースト中に検索可能なメモリ空間と複数の情報単位の場所との関係を決定するステップと、
前記の決定に応答して、少なくとも１つのフェッチ・バーストを実行するステップと
を備える方法。
【請求項２】
複数の情報単位をキャッシュ・モジュールに対して検索する複数の要求を受け取る前記ステップの前に、複数のキャッシュ・ミスが生じたことを決定するステップがくる請求項１記載の方法。
【請求項３】
前記決定するステップが、複数の情報単位を検索するのに必要なフェッチ・バースト量を決定するステップを備える請求項１記載の方法。
【請求項４】
フェッチ・バースト中に検索可能なメモリ空間の少なくとも１つの特性が、前記メモリ空間の場所に応答する請求項１記載の方法。
【請求項５】
投機型フェッチ・オペレーションを実行するステップを更に備える請求項１記載の方法。
【請求項６】
少なくとも１つのフェッチ・バーストが、投機型フェッチ・オペレーションを備える請求項１記載の方法。
【請求項７】
異なる必須の情報単位と関連した投機的情報単位が、インターレースされる要領でフェッチされる請求項６記載の方法。
【請求項８】
異なる必須の情報単位と関連した投機的情報単位が、インターレースされる要領でフェッチされる請求項１記載の方法。
【請求項９】
情報をキャッシュ・モジュールに与える方法であって、
第１及び第２の必須のデータ単位の検索を要求する指示を受け取るステップと、
単一のフェッチ・バースト中に検索可能なメモリ空間が第１及び第２の必須のデータ単位を備える場合、単一のフェッチ・バーストを実行するステップと、
前記メモリ空間が第１及び第２の必須のデータ単位を備えていない場合、複数のフェッチ・バーストを実行するステップと
を備える方法。
【請求項１０】
指示を受け取る前記ステップの前に、複数のキャッシュ・ミスが生じることを決定するステップがくる請求項９記載の方法。
【請求項１１】
フェッチ・バースト中に検索可能なメモリ空間の少なくとも１つの特性が、前記メモリ空間の場所に応答する請求項１０記載の方法。
【請求項１２】
投機型フェッチ・オペレーションを実行するステップを更に備える請求項９記載の方法。
【請求項１３】
少なくとも１つのフェッチ・バーストが、投機型フェッチ・オペレーションを備える請求項９記載の方法。
【請求項１４】
異なる必須の情報単位と関連した投機的情報単位が、インターレースされる要領でフェッチされる請求項１３記載の方法。
【請求項１５】
異なる必須の情報単位と関連した投機的情報単位が、インターレースされる要領でフェッチされる請求項９記載の方法。
【請求項１６】
情報をキャッシュ・モジュールに与える装置であって、
第１及び第２の必須のデータ単位の検索を要求する指示を発生するよう適合された論理と、
前記のキャッシュ論理に結合された制御器であって、前記指示を受け取り、それに応答して、
単一のフェッチ・バースト中に検索可能なメモリ空間が前記第１及び第２の必須のデータ単位を備える場合、前記単一のフェッチ・バーストを開始し、
単一のフェッチ・バースト中に検索可能なメモリ空間が前記第１及び第２の必須のデータ単位を備えていない場合、複数のフェッチ・バーストを開始する
よう適合されている前記制御器と
を備える装置。
【請求項１７】
フェッチ・バースト中に検索可能なメモリ空間の少なくとも１つの特性が、前記メモリ空間の場所に応答する請求項１６記載の装置。
【請求項１８】
前記制御器が更に、投機型フェッチ・オペレーションを開始するよう適合されている請求項１６記載の装置。
【請求項１９】
少なくとも１つのフェッチ・バーストが、投機型フェッチ・オペレーションを備える請求項１６記載の装置。
【請求項２０】
前記制御器が、異なる必須の情報単位と関連した投機的情報単位がインターレースされる要領でフェッチされることを開始するよう適合されている請求項１６記載の装置。
【請求項２１】
前記制御器が、異なる必須型フェッチ・オペレーションと関連した投機型フェッチ・オペレーションをインターレースされる要領で開始するよう適合されている請求項１６記載の装置。
【請求項２２】
前記キャッシュ・モジュールを更に備える請求項１６記載の装置。
【請求項２３】
前記キャッシュ・モジュールが、前記キャッシュ論理に結合される請求項２２記載の装置。
【請求項２４】
情報をキャッシュ・モジュールに与える装置であって、
前記キャッシュ・モジュールに結合され、前記キャッシュ・モジュールから第１及び第２のデータ単位を検索する第１及び第２の要求を開始する少なくとも１つのプロセッサと、
前記要求を受け取り、前記第１及び第２のデータ単位が必須のデータ単位であるかどうかを決定するよう適合された論理と、
前記キャッシュ・モジュールに結合された制御器であって、単一のフェッチ・バースト中に検索可能なメモリ空間が前記第１及び第２の必須のデータ単位を備える場合前記単一のフェッチ・バーストを開始するよう適合され、且つ単一のフェッチ・バースト中に検索可能なメモリ空間が前記第１及び第２の必須のデータ単位を備えていない場合複数のフェッチ・バーストを開始するよう適合されている前記制御器と
を備える装置。
【請求項２５】
キャッシュ・モジュールを更に備える請求項２４記載の装置。
【請求項２６】
フェッチ・バースト中に検索可能なメモリ空間の少なくとも１つの特性が、前記メモリ空間の場所に応答する請求項２４記載の装置。
【請求項２７】
前記制御器が更に、投機型フェッチ・オペレーションを開始するよう適合されている請求項２４記載の装置。
【請求項２８】
少なくとも１つのフェッチ・バーストが、投機型フェッチ・オペレーションを備える請求項２４記載の装置。
【請求項２９】
前記制御器が、異なる必須の情報単位と関連した投機的情報単位がインターレースされる要領でフェッチされることを開始するよう適合されている請求項２４記載の装置。
【請求項３０】
前記制御器が、異なる必須型フェッチ・オペレーションと関連した投機型フェッチ・オペレーションをインターレースされる要領で開始するよう適合されている請求項２９記載の装置。
【請求項３１】
前記キャッシュ・モジュールが、前記キャッシュ論理に結合される請求項２２記載の装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報をキャッシュ・モジュールに与える装置及び方法に関し、特に、複数のデータ・バスに接続されたマルチポート・キャッシュ・モジュールに対してデータを検索する方法及び装置に関する。
【背景技術】
【０００２】
キャッシュ・モジュールは、データの高速検索を容易にする高速メモリである。典型的には、キャッシュ・モジュールは、比較的高価であり、そして特に外部メモリと比較して大きさが小さいことにより特徴付けられる。
【０００３】
最新のプロセッサベースのシステムの性能は、通常、キャッシュ・モジュール性能に依存し、そして特にキャッシュ・ヒットとキャッシュ・ミスとの関係に依存する。キャッシュ・ヒットは、キャッシュ・モジュール・メモリに存在するデータが要求されるとき起こる。キャッシュ・ミスは、要求されたデータがキャッシュ・モジュールに存在しないで、別の（通常外部の）メモリからフェッチされねばならないとき起こる。
【０００４】
様々なキャッシュ・モジュール及びプロセッサ・アーキテクチャ、並びにデータ検索スキームは、ますます増大する性能の要求を満たすよう長年にわたって開発されたきた。これらのアーキテクチャは、マルチポート・キャッシュ・モジュール、マルチレベル・キャッシュ・モジュール・アーキテクチャ、スーパー・スケーラ・タイプ・プロセッサ及び類似のものを含む。
【０００５】
以下の米国特許及び特許出願は、全て本明細書に援用されるが、これらは、キャッシュ・モジュール及びデータ・フェッチ方法の幾らかの現状技術水準の概要を与える。以下の以下の米国特許及び特許出願とは、発明の名称が「異なるプロセッサに関する別々のディレクトリ及びプリフェッチを用いて単一のキャッシュ制御をデュアル・チャネルの中へ仮想化する論理を有するバス・エクスパンダ（Ｂｕｓ  ｅｘｐａｎｄｅｒ  ｗｉｔｈ  ｌｏｇｉｃ  ｆｏｒ  ｖｉｒｔｕａｌｉｚｉｎｇ  ｓｉｎｇｌｅ  ｃａｃｈｅ  ｃｏｎｔｒｏｌ  ｉｎｔｏ  ｄｕａｌ  ｃｈａｎｎｅｌｓ  ｗｉｔｈ  ｓｅｐａｒａｔｅ  ｄｉｒｅｃｔｏｒｉｅｓ  ａｎｄ  ｐｒｅｆｅｔｃｈ  ｆｏｒ  ｄｉｆｆｅｒｅｎｔ  ｐｒｏｃｅｓｓｏｒｓ）」であるＪｏｈｎｓｏｎ他の米国特許Ｎｏ．４８５３８７４６、発明の名称が「固有のトランザクション衝突回避を有するパイプライン非ブロッキング・レベル２キャッシュ・システム（Ｐｉｐｅｌｉｎｅｓ  ｎｏｎ−ｂｌｏｃｋｉｎｇ  ｌｅｖｅｌ  ｔｗｏ  ｃａｃｈｅ  ｓｙｓｔｅｍ  ｗｉｔｈ  ｉｎｈｅｒｅｎｔ  ｔｒａｎｓａｃｔｉｏｎ  ｃｏｌｌｉｓｉｏｎ−ａｖｏｉｄａｎｃｅ）」であるＲｉｃｈａｒｄｓｏｎ他の米国特許出願Ｎｏ．２００２００６９３２６、発明の名称が「マルチウエイ・マルチポート・キャッシュを有する並列プロセッサ・システムにおける同一で同時のアクセスに関する検出回路（Ｄｅｔｅｃｔｉｏｎ  ｃｉｒｃｕｉｔ  ｆｏｒ  ｉｄｅｎｔｉｃａｌ  ａｎｄ  ｓｉｍｕｌｔａｎｅｏｕｓ  ａｃｃｅｓｓ  ｉｎ  ａ  ｐａｒａｌｌｅｌ  ｐｒｏｃｅｓｓｏｒ  ｓｙｓｔｅｍ  ｗｉｔｈ  ａ  ｍｕｌｔｉ−ｗａｙ  ｍｕｌｔｉ−ｐｏｒｔ  ｃａｃｈｅ）」であるＫａｗａｓａｋｉの米国特許Ｎｏ．５，７４２，７９０、発明の名称が「マルチポート化された非ブロッキング・キャッシュにおけるインライン・バンク競合検出及び解法（Ｉｎ−ｌｉｎｅ  ｂａｎｋ  ｃｏｎｆｌｉｃｔ  ｄｅｔｅｃｔｉｏｎ  ａｎｄ  ｒｅｓｏｌｕｔｉｏｎ  ｉｎ  ａ  ｍｕｌｔｉ−ｐｏｒｔｅｄ  ｎｏｎ−ｂｌｏｃｋｉｎｇ  ｃａｃｈｅ）」であるＨｅｔｈｅｒｉｎｇｔｏｎ他の米国特許Ｎｏ．６，０８１，８７３、及び発明の名称が「デュアルポート化されパイプライン化された２レベル・キャッシュ・システム（Ｄｕａｌ−ｐｏｒｔｅｄ，ｐｉｐｅｌｉｎｅｄ，ｔｗｏ  ｌｅｖｅｌ  ｃａｃｈｅ  ｓｙｓｔｅｍ）」である米国特許Ｎｏ．６，２７２，５９７である。
【発明の開示】
【発明が解決しようとする課題】
【０００６】
典型的には、データをキャッシュ・モジュールから要求するプロセッサは、それが要求されたデータを受け取るまで機能停止又は停止される。複数のキャッシュ・ミス事象が同時に生じるとき、要求するプロセッサは、複数のフェッチ・オペレーションと関連した待ち時間に起因して、延長された期間停止されることができる。
【０００７】
従って、複数のキャッシュ・ミス事象を効率的に処理することができるシステム及び方法を与える必要性が存在する。
【課題を解決するための手段】
【０００８】
本発明は、フェッチ・バーストを実行し、そしてフェッチ・バースト量、並びにフェッチ・バーストの大きさを決定することが可能である装置及び方法を提供する。
【０００９】
本発明は、キャッシュ・ミス事象を同時に起こすデータ単位の場所に応答してフェッチ・バースト量を決定する装置及び方法を提供する。
【００１０】
本発明は、キャッシュ・ミス事象を同時に起こした２つ又はそれより多いデータ単位が異なるアドレスを有するときでさえフェッチ・バースト量を低減することができる装置及び方法を提供する。
【００１１】
本発明は、キャッシュ・ミス事象を起こした第１及び第２のデータ単位が事前定義された大きさのメモリ空間に属する場合フェッチ・バースト量を低減することができる装置及び方法を提供する。メモリ空間の大きさは、１又はそれより多いフェッチ・バースト中にフェッチされることができるデータ量に等しくすることができる。
【００１２】
本発明は、情報をキャッシュ・モジュールに与える装置であって、（ｉ）前記キャッシュ・モジュールに結合され、前記キャッシュ・モジュールから第１及び第２のデータ単位を検索する第１及び第２の要求を開始する少なくとも１つのプロセッサと、（ｉｉ）前記要求を受け取り、前記第１及び第２のデータ単位が必須のデータ単位であるかどうかを決定するよう適合された論理と、（ｉｉｉ）前記キャッシュ・モジュールに結合された制御器であって、事前定義された大きさのメモリ空間が前記第１及び第２の必須のデータ単位を含む場合前記単一のフェッチ・バーストを開始するよう適合され、且つそのようなメモリ空間が前記第１及び第２の必須のデータ単位を含まない場合複数のフェッチ・バーストを開始するよう適合されている前記制御器とを含む前記装置を提供する。
【００１３】
事前定義された大きさのメモリ空間は、１又はそれより多いフェッチ・バースト中に検索可能なメモリ空間であることが都合良い。
【００１４】
本発明は、情報をキャッシュ・モジュールに与える方法であって、（ｉ）複数の情報単位をキャッシュ・モジュールに対して検索する複数の要求を受け取るステップと、（ｉｉ）フェッチ・バースト中に検索可能なメモリ空間と複数の情報単位の場所との関係を決定するステップと、（ｉｉｉ）前記の決定に応答して少なくとも１つのフェッチ・バーストを実行するステップとを含む前記方法を提供する。
【００１５】
本発明は、情報をキャッシュ・モジュールに与える方法であって、（ｉ）第１及び第２の必須のデータ単位の検索を要求する指示を受け取るステップと、（ｉｉ）事前定義された大きさのメモリ空間が第１及び第２の必須のデータ単位を備える場合単一のフェッチ・バーストを実行するステップと、（ｉｉｉ）その事前定義された大きさのメモリ空間が第１及び第２の必須のデータ単位を含まない場合、複数のフェッチ・バーストを実行するステップとを含む前記方法を提供する。
【００１６】
本発明は、情報をキャッシュ・モジュールに与える装置であって、（ｉ）第１及び第２の必須のデータ単位の検索を要求する指示を発生するよう適合された論理と、（ｉｉ）前記のキャッシュ論理に結合された制御器であって、前記指示を受け取り、それに応答して、事前定義された大きさのメモリ空間が前記第１及び第２の必須のデータ単位を含む場合前記単一のフェッチ・バーストを開始し、且つそのメモリ空間が前記第１及び第２の必須のデータ単位を含まない場合複数のフェッチ・バーストを開始するよう適合されている前記制御器とを含む前記装置を提供する。
【００１７】
本発明は、添付図面と関係した以下の詳細な説明からより完全に理解され、認められるであろう。
【発明を実施するための最良の形態】
【００１８】
以下の説明は、複数のデータ・フェッチ・オペレーション及びデータ・キャッシュ・モジュールに関連する。当業者は、開示されたシステム及び方法が命令検索、命令キャッシュ・モジュール、そしてデータ検索及び命令検索の組み合わせにさえ、更に命令及びデータの両方を格納するキャッシュ・モジュールに、必要に応じて変更を加えて、適用することができることを認めるであろう。
【００１９】
本装置及び方法は、キャッシュ・ミス事象を起こした第１及び第２のデータ単位の場所に応答してフェッチ・バースト量を決定する。両方が事前定義された大きさのメモリ空間内に配置されている場合、フェッチ・バースト量が、低減されることができる。事前定義された大きさは、単一のフェッチ・バースト中に検索されることができるデータ量に対応することが都合良い。これは、必ずしもそうであるわけではなく、そしてこの事前定義された大きさは、より大きくすることができる。例えば、この大きさは、キャッシュ・モジュール・ラインの大きさに対応させることができる。説明の便宜のため、この大きさは、単一のフェッチ・バースト中に検索されることができるデータ量に対応すると仮定し、そしてメモリ空間は、単一のフェッチ・バースト中に検索可能なメモリ空間と呼ばれる。
【００２０】
図１は、本発明の一実施形態に従った装置１００を示す。装置１００は、プロセッサ１１０、データ・チャネル１３０、メモリ管理ユニット（ＭＭＵ）３００、命令チャネル３４０、レベル１ＲＡＭメモリ３７０、並びにインターフェース・ユニット３８０を含む。装置１００は、高レベル・メモリ・モジュール５０のような追加のメモリ・モジュールにシステム・バス６０を介して接続される。
【００２１】
プロセッサ１１０及び命令チャネル３４０は、単一のプログラム・バス１２０に接続される。プロセッサ１１０は、第１のデータ・ポート１１６及び第２のデータ・ポート１１８を有する。第１のデータ・ポート１１６は、第１のデータ・バス（ＸＡ）１２２を介してデータ・チャネル１３０の第１のポート１３２、ＭＭＵ３００、レベル１ＲＡＭメモリ３７０に接続される。第２のデータ・ポート１１８は、第２のデータ・バス（ＸＢ）１２４を介してデータ・チャネル１３０の第２のポート１３４、ＭＭＵ３００及びレベル１ＲＡＭメモリ３７０に接続される。
【００２２】
データ・チャネル１３０は、データ・フェッチ・バス１２６を介してインターフェース３８０に接続され、当該インターフェース３８０は、次いで、高レベル・メモリ・モジュール５０に接続される。追加のメモリが、マルチレベル・キャッシュ・アーキテクチャの一部であることができるのに対し、データ・キャッシュ・モジュール２００が、第１レベル・キャッシュ・モジュールであり、そして追加のメモリが、レベル２キャッシュ・メモリであることに注目されたい。追加のメモリはまた、外部メモリの一部であることができ、この外部メモリはまた、メイン・メモリと呼ばれる。
【００２３】
ＭＭＵ３００は、プログラム及びデータ・ハードウエア保護を与え、そして仮想アドレスの物理アドレスへの高速変換を実行するよう適合されている。ＭＭＵ３００はまた、様々なキャッシュ及びバス制御信号を与えることが可能である。仮想アドレスは、プロセッサ１１０により発生されるアドレスであり、そしてプロセッサ１１０により実行されるコードにより見られるようにされている。物理アドレスを用いて、様々なメモリ・バンクにアクセスする。
【００２４】
データ・チャネル１３０は、データ・キャッシュ・モジュール２００、データ・フェッチ・ユニット（ＤＦＵ）１７０のような複数の支援ユニット、複数の追加のバッファ（図示せず）及びデータ制御ユニット（ＤＣＵ）１５０を含む。ＤＦＵ１７０は、データのフェッチ及びプリフェッチを担当する。データ・フェッチ・オペレーションは、必須型フェッチ・オペレーション（ｍａｎｄａｔｏｒｙ  ｆｅｔｃｈｉｎｇ  ｏｐｅｒａｔｉｏｎｓ）及び投機型フェッチ・オペレーション（ｓｐｅｃｕｌａｔｅｄ  ｆｅｔｃｈｉｎｇ  ｏｐｅｒａｔｉｏｎｓ）を含むことができる。必須型フェッチ・オペレーションは、キャッシュ・ミスを起こしたデータ単位を検索することを含む。投機型フェッチ（これはまたプリフェッチと呼ばれる。）・オペレーションは、キャッシュ・ミスを起こさなかったデータ単位を検索することを含む。通常、この後者のタイプのデータは、プリフェッチ後直ぐに用いられることを期待される。この期待は、通常、多くのデータ要求が性質上順次的であるという仮定に基づく。
【００２５】
各フェッチ・オペレーションが単一の基本データ単位（ＢＤＵ）をフェッチすることを含む。従って、必須型フェッチ・オペレーション中にフェッチされるＢＤＵは、必須ＢＤＵ（ｍａｎｄａｔｏｒｙ  ＢＤＵ）と呼ばれ、そして投機型フェッチ・オペレーション中にフェッチされるＢＤＵは、投機ＢＤＵ（ｓｐｅｃｕｌａｔｅｄ  ＢＤＵ）と呼ばれる。
【００２６】
ＤＣＵ１５０は、ＤＦＵ１７０及び追加のバッファにより発生された、フェッチ・データ・バス１２６に対するデータ・アクセス要求を調停することを担当する。典型的には、ＤＦＵ１７０から発信するデータ・フェッチ要求は、最高の優先順位を与えられる。
【００２７】
プロセッサ１１０は、バスＸＡ１２２及びＸＢ１２４を介して２つのデータ要求を同時に発行することが可能である。データ・チャネル１３０は、これらの要求を処理して、１又はそれより多いキャッシュ・ヒットが生じたかどうかを決定する。基本的には、データ・チャネル１３０は、２つのデータ要求がキャッシュ・ヒットをもたらしたことと、両方の要求がキャッシュ・ミスをもたらしたことと、１つの要求がキャッシュ・ヒットをもたらす一方、他方の要求がキャッシュ・ミスをもたらしたこととのいずれかであることを決定することができる。
【００２８】
本発明の一実施形態に従って、プロセッサ１１０は、それが受け取る全てのデータがそれが要求した全てのデータであるまで停止されるが、しかしこれは、必ずしもそうであるわけではない。例えば、本発明の別の実施形態に従って、プロセッサのほんの一部のみが、停止される。
【００２９】
停止するステップを開始し、終了する様々な方法がある。キャッシュ・ミスは、そのようなステップへの入ることをトリガすることができる。プロセッサ１１０は、ひとたびそれがキャッシュ・ミス指示をデータ・チャネル１３０から受け取ると、停止されるステップに入ると仮定する。プロセッサ１１０は、ひとたびそれが要求されたデータが使用可能である指示をデータ・チャネル１３０から受け取ると、停止ステップを出る。プロセッサ１１０とデータ・チャネル１３０間を接続するライン３０２は、プロセッサ１１０が停止ステップに入りそしてそのようなステップを出るようにする停止信号を搬送する。プロセッサ１１０が、データ要求のどれがキャッシュ・ミスを起こしたかのような追加の情報を受け取ることができることに注目されたい。
【００３０】
図２は、本発明の一実施形態に従ったデータ・キャッシュ・モジュール２００の概略図である。データ・キャッシュ・モジュール２００は、キャッシュ論理２１０のような論理、及びキャッシュ・メモリ・バンク２５０を含む。キャッシュ・メモリ・バンク２５０は、２５６個のライン２５０（０）−２５０（２５５）を含み、それぞれのラインは、１６個の１２８ビット長基本データ単位）を含む。これらの基本データ単位（ＢＤＵ）は、２５２（０，０）−２５２（２５５，１５）により表示される。キャッシュ・ヒット又はキャッシュ・ミスは、ＢＤＵベースで決定される。上記論理は、キャッシュ・モジュールの外側に配置されることができるが、これは必ずしもそうであるわけではないことに注目されたい。
【００３１】
図３は、本発明の一実施形態に従ったキャッシュ論理２１０の概略図である。キャッシュ論理２１０は、２つのデータ要求を同時に管理することが可能であり、そして２つの同一の部分２１２及び２１４を含み、各部分は、単一のキャッシュ・ヒット又はキャッシュ・ミスのいずれが生じたかを決定することが可能である。説明を簡単にするため、キャッシュ論理２１０の第１の部分２１２が、詳細に示されている。キャッシュ論理２１０は、ウエイ０−ウエイ７２２０（０）−２２０（７）で参照される８個のウエイを含む。各ウエイは、３２個のラインと関連したアドレス及びステータス情報を格納する。アドレス情報は、タグ・アドレスを含み、そしてステータス情報は、ＢＤＵ有効度及び更新情報を含む。説明を簡単にするため、ウエイ１２２０（０）のみが詳細に示され、一方他のウエイは、ボックス２２０（１）−２２０（７）により表される。
【００３２】
各ラインは、拡張されたタグ値、及びそのライン内の各ＢＤＵの有効度を表す１６個の有効度ビットと関連付けられる。ウエイ０ ２２０は、１６個の拡張されたタグ・アドレス２２０（０）−２２０（１５）、並びに１セットが１６個のＢＤＵ有効度フラグから成る１６セット２２０（０）−２２０（１５，１５）を格納する。
【００３３】
各ＢＤＵはまた、ＢＤＵがより高いレベル・メモリにおいて更新されること無しに変更されたかどうかを指示するダーティ・ビットと関連付けられることができる。
【００３４】
ひとたびプロセッサ１１０が３２ビット・アドレス４００を第１のデータ・バスＸＡ１２２を介して与えると、キャッシュ論理２１０の第１の部分２１２は、このアドレスを処理して、要求されたデータがキャッシュ・モジュールに格納された（キャッシュ・ヒット）かされない（キャッシュ・ミス）かを決定する。キャッシュ・ヒットが生じた場合、要求されたデータは、ＸＡ１２２又はＸＢ１２４からの適切なデータ・バスを介してプロセッサ１１０に送られる。さもなければ、ＤＦＵ１７０は、キャッシュ・ミスについて通知される。
【００３５】
３２ビット・アドレス４００は、アドレス４００の１２個の最上位ビットを含む１２ビット・タグ・アドレス４０２、４ビット・ライン・インデックス４０４、ＢＤＵオフセット４０５及び４ビット・バイト・オフセット４０８に仕切られる。４ビット・バイト・オフセット４０８は、キャッシュ・メモリ・バンク２５０からのデータ検索に用いられる。
【００３６】
ウエイ２２０（０）内に格納された１６個のタグ・アドレス２２０（０）−２２０（１５）のそれぞれは、タグ・アドレス４０２と並列に比較される。当業者は、そのような比較があらゆる方法で並列に行われることを認めるであろう。
【００３７】
その上、ＢＤＵオフセット４０５及び４ビット・ライン・インデックス４０４を用いて、要求されたＢＤＵに対応する有効度フラグを検索する。４ビット・ライン・インデックス４０４は、１セットのＢＤＵ有効度フラグを１６セットのウエイ０２２０（０）から選択するのに用いられ、一方４ビットＢＤＵオフセット４０５は、有効度フラグをその選択されたセットのＢＤＵ有効度フラグから選択するのに用いられる。
【００３８】
キャッシュ・ヒットは、格納されたタグ・アドレスのうちの１つとタグ・アドレスとの間にマッチ（一致）がある場合で、且つ選択されたＢＤＵが有効である場合生じる。
【００３９】
ＤＦＵ１７０はキャッシュ・ヒット及びキャッシュ・ミスの指示を受け取る。両方のデータ要求がキャッシュ・ヒットをもたらした場合、ＤＦＵ１７０は、必須のフェッチを実行するよう要求されない。データ要求のうちの唯１つの要求がキャッシュ・ミスをもたらした場合、ＤＦＵ１７０は、単一の必須のフェッチを実行するよう要求される。両方のデータ要求がキャッシュ・ミスをもたらした場合、ＤＦＵ１７０は、１又はそれより多い必須のフェッチを実行するよう要求される。
【００４０】
本発明の一実施形態に従って、ＤＦＵ１７０は、必須型フェッチ・オペレーションに影響を与え得るフェッチ特性を受け取る。このフェッチ特性は、フェッチ・プロセスに影響を与え得る事前定義された大きさのメモリ空間（例えば、１又はそれより多いフェッチ・バーストで検索されることができるデータ量、フェッチ・バーストの大きさ、及び類似のもの）を含む。
【００４１】
これらの特性は、その上でデータ転送が生じるバスの大きさ、外部メモリ・バンクの構成及び類似のものを表すことができる。例えば、ＤＲＡＭメモリは、典型的には、ＤＲＡＭ行に配列される。ＤＲＡＭ行全体のコンテンツは、単一のフェッチ・オペレーションによりフェッチされることができ、従って１ライン全体のコンテンツをフェッチすることは、有効であることができる。装置１００は、各バスがそれ自身のフェッチ特性を有する複数のバスを介して複数のメモリ・バンクに接続されることができることに注目されたい。
【００４２】
データ・フェッチ・バス１２６は、１フェッチ・オペレーションにつき単一のＢＤＵをフェッチすることを可能にする。典型的なフェッチ・バーストは、４つの連続したフェッチ・オペレーションを含み、従って４つのＢＤＵの合計は、単一のフェッチ・バースト中に検索されることができる。１フェッチ・バースト当たりのフェッチ・オペレーションの大きさは、４以外でも可能である。
【００４３】
典型的には、フェッチ・バーストを実行するよう適合されているメモリ・モジュールは、固定の大きさのデータ単位セットに仕切られている。或る一定のデータ単位を受け取る要求を含むフェッチ・バーストは、そのセットの検索になる。フェッチされたデータ単位のオーダは、特定の要求されたデータ・セットに依存する。
【００４４】
通常、単一のフェッチ・バーストは、たとえメモリ空間がラップアラウンド（循環）オペレーションを適用することにより与えられても、連続したメモリ空間を検索することができる。２つの必須のＢＤＵが単一の連続したメモリ空間内に含まれる場合、２つのフェッチ・バーストがより多くの時間を消費するので、２つのフェッチ・バーストではなく単一のフェッチ・バーストを実行することは非常に有益である。
【００４５】
これは、特に、フェッチ・バーストに割り込むことを可能にしないシステムで真である。この効率的なフェッチング・スキームは、特にプロセッサ１１０がそれが両方の必須のＢＤＵを受け取るまで停止されるので、プロセッサ停止期間を低減することができる。
【００４６】
ひとたび２つのキャッシュ・ミスが同時に生じると、ＤＦＵ１７０は、両方の必須のＢＤＵが単一のフェッチ・バースト中にフェッチされることができるかどうかを決定しなければならない。その答えが肯定である場合、そのようなフェッチ・バーストが開始される。ひとたびフェッチ・バーストが終わると、必須のＢＤＵがプロセッサ１１０に送られ、プロセッサ１１０は、停止状態を出ることができる。
【００４７】
本発明の一実施形態に従って、フェッチ・バーストは、或る一定のデータ単位セットに属する４つの隣接データ単位の４つのフェッチ・オペレーションを含む。換言すると、単一のフェッチ・バーストは、連続したメモリ空間を検索するのに利用することができる。従って、ＤＦＵ１７０は、両方の必須のＢＤＵが単一の連続したメモリ空間内に含まれるかどうかを決定しなければならない。
【００４８】
データ・キャッシュ・モジュール２００、及び特にキャッシュ論理２１０は、ＤＦＵ１７０のようなコントローラに接続されて、信号ＣＡＣＨＥ＿Ａ＿ＨＩＴ／ＭＩＳＳ２０１及びＣＡＣＨＥ＿Ｂ＿ＨＩＴ／ＭＩＳＳ２０３により２つのキャッシュ事象についての指示を与える。次いで、ＤＦＵ１７０は、どのフェッチ・オペレーションを実行すべきか及び類似のことを決定し得る。ＤＦＵ１７０の要求、並びに、ライトバック（書き戻し）・オペレーションを完了するためのＷＢＢ１８０のような様々な支援ユニットからの要求は、様々な要求間を調停するＤＦＵ１７０に送られる。様々な構成要素は、フェッチ要求及びフェッチ確認（ａｃｋｎｏｗｌｅｄｇｅｍｅｎｔ）信号を交換する。ＣＡＣＨＥ＿Ａ＿ＨＩＴ／ＭＩＳＳ２０１信号は、データを第１のデータ・バスＸＡ１２２を介して検索する要求と関連したキャッシュ・ミス事象の発生に応答して、アサートされる。この信号は、対応するキャッシュ・ヒット事象が発生したときニゲートされる。ＣＡＣＨＥ＿Ｂ＿ＨＩＴ／ＭＩＳＳ２０３信号は、データを第２のデータ・バスＸＢ１２４を介して検索する要求と関連したキャッシュ・ミス事象の発生に応答してアサートされる。この信号は、対応するキャッシュ・ヒット事象が発生したときニゲートされる。
【００４９】
データ・キャッシュ・モジュール２００はまた、第１のデータ・バスＸＡ１２２、第２のデータ・バスＸＢ１２４及び／又はデータ・フェッチ・バス１２６に接続されたバッファリング手段を含み得る。
【００５０】
図４は、本発明の一実施形態に従ったデータ検索の方法５００のフロー・チャートである。
【００５１】
方法５００は、第１のデータ要求及び第２のデータ要求を受け取るステップ５１０により開始する。第１のデータ要求は、第１のアドレスと関連した第１のデータ単位を受け取る要求である。第２のデータ要求は、第２のアドレスと関連した第２のデータ単位を受け取る要求である。図３に示される例を参照すると、プロセッサ１１０は、第１のデータ要求を第１のデータ・バスＸＡ１２２を介して発行し、そして第２のデータ要求を第２のデータ・バスＸＢ１２４を介して発行する。
【００５２】
ステップ５１０には、第１のデータ単位がデータ・キャッシュ・モジュール内に配置されているかどうかを決定し、そして第２のデータ単位が当該データ・キャッシュ・モジュール内に配置されているかどうかを決定するステップ５２０が続く。図３に示される例を参照すると、キャッシュ論理２１０は、第１のデータ単位がキャッシュ・メモリ・バンク２５０に格納されているかどうか、及び第２のデータ単位がキャッシュ・メモリ・バンク２５０に格納されているかどうかを決定する。
【００５３】
両方のデータ単位がデータ・キャッシュ・モジュール内に配置されている場合、ステップ５２０には、第１及び第２のデータ単位をデータ・キャッシュ・モジュールから与えるステップ５３０が続く。図３に示される例を参照すると、第１のデータ単位（これは通常ＢＤＵの一部である。）は、キャッシュ・メモリ・バンク２５０からデータ・チャネル１３０の第１のポート１３２を通じ、そして第１のデータ・バスＸＡ１２２を介してプロセッサ１１０の第１のデータ・ポート１１６に送られる。第２のデータ単位（これは通常ＢＤＵの一部である。）は、キャッシュ・メモリ・バンク２５０からデータ・チャネル１３０の第２のポート１３４を通じ、そして第２のデータ・バスＸＢ１２４を介してプロセッサ１１０の第２のデータ・ポート１１８に送られる。
【００５４】
第１のデータ単位がデータ・キャッシュ・モジュールに配置されていないで、そして第２のデータ単位がデータ・キャッシュ・モジュールに配置されている場合、ステップ５２０には、第２のデータ単位をデータ・キャッシュ・モジュールから検索し、そして必須型フェッチ・オペレーションを実行して第１のデータ単位を別のメモリから検索するステップ５４０が続く。図３に示される例を参照すると、データ・キャッシュ・モジュール２００が第２のデータ単位を第２のデータ・バスＸＢ１２４に与える一方、ＤＦＵ１７０は、第２のデータ単位を含む第２のＢＤＵの必須のフェッチを含むフェッチ・バーストを開始する。
【００５５】
第２のデータ単位がデータ・キャッシュ・モジュールに配置されていないで、そして第１のデータ単位がデータ・キャッシュ・モジュールに配置されている場合、ステップ５２０には、第１のデータ単位をデータ・キャッシュ・モジュールから検索し、そして必須型フェッチ・オペレーションを実行して第２のデータ単位を別のメモリから検索するステップ５４５が続く。図３に示される例を参照すると、データ・キャッシュ・モジュールが第１のデータ単位を第１のデータ・バスＸＡ１２２に与える一方、ＤＦＵ１７０は、第１のデータ単位を含む第１のＢＤＵの必須のフェッチを含むフェッチ・バーストを開始する。
【００５６】
第１及び第２の両方のデータ単位がデータ・キャッシュ・モジュール内に配置されていない場合、ステップ５２０には、少なくとも１つのフェッチ特性に応答して、且つ複数の情報単位と関連したアドレス情報に応答して、フェッチ・スキームを決定するステップ５５０が続く。少なくとも１つのフェッチ特性は、フェッチされるデータ単位の大きさ、フェッチされる単位の最適な大きさ、単一のフェッチ・バーストを形成することができるフェッチ・オペレーションの量、フェッチ・オペレーションの優先順位、フェッチ・バーストに割り込むことができるかどうかということ、及び類似のことを表すことができる。フェッチ・スキームは、等しい大きさのフェッチ・バースト又は異なる大きさのフェッチ・バーストを含むことができる。バースト量はまた、フェッチ特性に従って変わることができる。
【００５７】
フェッチ・スキームは、データ・フェッチ・オペレーションの量及び更に大きさと、各フェッチ・オペレーション中にフェッチされるべきＢＤＵと、フェッチ・バースト量と、類似のものを含み得る。単一のフェッチ・バースト中に第１及び第２の両方の必須のＢＤＵが検索されることができる場合、フェッチ・スキームがその単一のフェッチを含むことが都合よい。
【００５８】
本発明の一実施形態に従って、各フェッチ・バーストは、或る一定の連続したメモリ空間を検索することができ、従って、ステップ５５０は、両方の必須のＢＤＵが或る一定の連続したメモリ空間内に含まれるかどうかを検査するステップを含み得る。従って、たとえ第１のアドレスが第２のアドレスと異なっていても、フェッチ・オペレーションの量を低減することができ、そしてプロセッサ停止期間を減少させることができる。
【００５９】
本発明の一実施形態に従って、フェッチ・オペレーションの順序は、必須のＢＤＵの場所に応答する。例えば、単一のフェッチ・バースト中に検索可能なメモリ空間が４つのＢＤＵを含み、そして第２及び第３のＢＤＵが必須のＢＤＵである場合、フェッチ・バーストは、第２のＢＤＵをフェッチすることにより開始するであろう。プロセッサは、フェッチ・バーストが終わる前にこれらの必須のＢＤＵを受け取ることができる。
【００６０】
図１に示される例を参照すると、ＤＦＵ１７０は、フェッチ・オペレーション及び／又は第１及び第２のデータ単位を検索するよう要求されたフェッチ・バーストの量を決定する。第１及び第２の両方のデータ単位が単一のＢＤＵ内に含まれる場合、単一の必須型フェッチ・オペレーションが要求される。ＤＦＵ１７０がフェッチ・バースト・ベースで動作する場合、そのようなフェッチ・バーストは、投機型フェッチが続く必須のフェッチを含む。第１及び第２のデータ単位が単一のフェッチ・バースト中に検索されることができる単一のメモリ空間内に含まれる場合、フェッチ・バーストは、２つの必須のフェッチ及び２つの投機型フェッチを含む。
【００６１】
本発明の一実施形態に従って、フェッチ・スキームはまた、投機型フェッチを含む。２つのキャッシュ・ミス事象が発生した場合、投機型フェッチ・オペレーションは、インターレースされた要領で順序付けられることができる。
【００６２】
ステップ５５０には、情報フェッチ・スキームを適用するステップ５６０が続く。上記の適用の成果は、キャッシュ・モジュール又は要求するエンティティに対する第１及び第２のデータ単位の検索である。
【００６３】
本発明の一実施形態に従って、投機型フェッチ・オペレーションは、必須型フェッチ・オペレーションと、必須のＢＤＵを含むラインの状態（ステータス）とに応答する。この状態は、そのライン内で有効であるＢＤＵの量、及び非有効なＢＤＵの場所を含む。
【００６４】
投機型フェッチ・オペレーションは、必須のＢＤＵと同じラインに属する投機的ＢＤＵをフェッチすることに向けられている。投機型フェッチ・オペレーションは、ラインが充填されるまで、又は必須型フェッチ・オペレーションが要求されるまで繰り返される。
【００６５】
本発明者には、投機型フェッチ・オペレーションをインターリーブすることが極めて有効であることが分かった。このインターリーブすることは、両方のキャッシュ・ミス事象に実質的に同じ処置を与えることを促進する。換言すると、それは、或る一定の大きさの公平性をフェッチング・スキームに導入する。従って、両方のラインが充填される前に必須型フェッチ・オペレーションが要求される場合、両方のラインは、実質的に同じ量の投機的ＢＤＵを受け取るよう管理する。
【００６６】
本発明の一実施形態に従って、投機型フェッチ・オペレーションは、各ライン内の非有効なＢＤＵの量、或る一定のラインに割り当てられる優先順位、及び類似のことを含む追加のパラメータに応答する。
【００６７】
図５は、本発明の一実施形態に従った第１のライン２５２（１）及び第２のライン２５２（２）の概略的説明図である。ＢＤＵ２５２（１，１２１）−２５２（１，１５）が有効であり、そしてＢＤＵ２５２（１，０）−２５２（１，１１）が有効でない。ＢＤＵ２５２（２，１２）−２５２（２，１５）が有効であり、そしてＢＤＵ２５２（２，０）−２５２（２，１１）が有効でない。更に、第１のラインと関連したフェッチ・バースト・サイズは、４個のＢＤＵであり、一方第２のラインと関連したフェッチ・バースト・サイズは、２個のＢＤＵであると仮定する。更に、フェッチ・オペレーションは、プロセッサ１１０がＢＤＵ２５２（１，４）及びＢＤＵ２５２（２，８）を要求した後で開始し、そしてＢＤＵを異なるラインからフェッチすることが別々のフェッチ・バーストを要求すると仮定する。
【００６８】
表１及び表２は、フェッチ・バーストの様々な代替的例示シーケンスを示す。図５は、表１のフェッチ・バーストの例証を含む。フェッチ・バーストは、その図５において参照符号ＦＢ１−ＦＢ９で示されている。
【００６９】
【表１】
2008515075.tif 000003
【００７０】
【表２】
2008515075.tif 000004
図６は、本発明の一実施形態に従って情報をキャッシュ・モジュールに与える方法６００のフロー・チャートである。方法６００は、複数の情報単位をキャッシュ・モジュールに対して検索する複数の要求を受け取るステップ６１０により開始する。ステップ６１０には、フェッチ・バースト中に検索可能なメモリ空間と複数の情報単位の場所との間の関係を決定するステップ６２０が続く。ステップ６２０は、フェッチ・バースト中に検索可能なメモリ空間を複数の情報単位のそれぞれと関連付けるステップと、これらのメモリ空間間のオーバーラップを捜すステップとを含み得る。ひとたびオーバーラップが探し出されると、フェッチ・バーストの量を低減することができる。
【００７１】
例えば、２つの情報単位が同じＢＤＵ内にある場合、単一のフェッチ・オペレーションが、両方を検索することができる。２つの情報単位が異なるＢＤＵに配置されているが、しかしこれらの２つのＢＤＵが、フェッチ・バースト中に検索可能な単一のメモリ空間内に含まれる場合、それらは、単一のフェッチ・バースト中に検索される。ひとたび複数のキャッシュ・ミス事象が起こると、上記の要求が、通常、受け取られる。
【００７２】
本発明の一実施形態に従って、フェッチ・バースト中に検索可能なメモリ空間の少なくとも１つの特性は、上記メモリ空間の場所に応答する。例えば、そのようなメモリ空間の大きさは、それが属するメモリ・バンクに依存し得る。
【００７３】
ステップ６２０には、その決定に応答して少なくとも１つのフェッチ・バーストを実行するステップ６３０が続く。
【００７４】
通常、ステップ６３０は、必須型フェッチ・オペレーション、並びに投機型フェッチ・オペレーションを含む。表１及び表２に示されるように、異なる必須の情報単位と関連した投機的ＢＤＵは、インターレースされた要領でフェッチされる。
【００７５】
本明細書で説明したものの変形、変更及び他の実施形態が、特許請求の範囲に記載された発明の趣旨及び範囲から逸脱することなしに当業者により行われるであろう。従って、本発明は、前述の例示的説明により定義されるものではなく、代わって添付の特許請求の範囲の趣旨及び範囲により定義されるものである。
【図面の簡単な説明】
【００７６】
【図１】図１は、本発明の一実施形態に従った装置の概略図である。
【図２】図２は、本発明の一実施形態に従ったデータ・キャッシュ・モジュールの概略図である。
【図３】図３は、本発明の一実施形態に従ったキャッシュ論理の概略図である。
【図４】図４は、本発明の一実施形態に従ったデータ検索の方法のフロー・チャートである。
【図５】図５は、本発明の一実施形態に従った第１のライン及び第２のラインの概略的説明図である。
【図６】図６は、本発明の一実施形態に従って情報をキャッシュ・モジュールに与える方法のフロー・チャートである。
【図１】
2008515075.tif 000005
【図２】
2008515075.tif 000006
【図３】
2008515075.tif 000007
【図４】
2008515075.tif 000008
【図５】
2008515075.tif 000009
【図６】
2008515075.tif 000010
【手続補正書】
【提出日】平成19年6月1日(2007.6.1)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
情報をキャッシュ・モジュールに与える方法であって、
複数の情報単位をキャッシュ・モジュールに対して検索する複数の要求を受け取るステップと、
フェッチ・バースト中に検索可能なメモリ空間と複数の情報単位の場所との関係を決定するステップと、
前記の決定に応答して、少なくとも１つのフェッチ・バーストを実行するステップと
を備える方法。
【請求項２】
複数の情報単位をキャッシュ・モジュールに対して検索する複数の要求を受け取る前記ステップの前に、複数のキャッシュ・ミスが生じたことを決定するステップがくる請求項１記載の方法。
【請求項３】
前記決定するステップが、複数の情報単位を検索するのに必要なフェッチ・バースト量を決定するステップを備える請求項１記載の方法。
【請求項４】
フェッチ・バースト中に検索可能なメモリ空間の少なくとも１つの特性が、前記メモリ空間の場所に応答する請求項１記載の方法。
【請求項５】
投機型フェッチ・オペレーションを実行するステップを更に備える請求項１記載の方法。
【請求項６】
少なくとも１つのフェッチ・バーストが、投機型フェッチ・オペレーションを備える請求項１記載の方法。
【請求項７】
異なる必須の情報単位と関連した投機的情報単位が、インターレースされる要領でフェッチされる請求項６記載の方法。
【請求項８】
異なる必須の情報単位と関連した投機的情報単位が、インターレースされる要領でフェッチされる請求項１記載の方法。
【請求項９】
情報をキャッシュ・モジュールに与える方法であって、
第１及び第２の必須のデータ単位の検索を要求する指示を受け取るステップと、
単一のフェッチ・バースト中に検索可能なメモリ空間が第１及び第２の必須のデータ単位を備える場合、単一のフェッチ・バーストを実行するステップと、
前記メモリ空間が第１及び第２の必須のデータ単位を備えていない場合、複数のフェッチ・バーストを実行するステップと
を備える方法。
【請求項１０】
指示を受け取る前記ステップの前に、複数のキャッシュ・ミスが生じることを決定するステップがくる請求項９記載の方法。
【請求項１１】
フェッチ・バースト中に検索可能なメモリ空間の少なくとも１つの特性が、前記メモリ空間の場所に応答する請求項１０記載の方法。
【請求項１２】
投機型フェッチ・オペレーションを実行するステップを更に備える請求項９記載の方法。
【請求項１３】
少なくとも１つのフェッチ・バーストが、投機型フェッチ・オペレーションを備える請求項９記載の方法。
【請求項１４】
異なる必須の情報単位と関連した投機的情報単位が、インターレースされる要領でフェッチされる請求項１３記載の方法。
【請求項１５】
異なる必須の情報単位と関連した投機的情報単位が、インターレースされる要領でフェッチされる請求項９記載の方法。
【請求項１６】
情報をキャッシュ・モジュールに与える装置であって、
第１及び第２の必須のデータ単位の検索を要求する指示を発生するよう適合された論理と、
前記のキャッシュ論理に結合された制御器であって、前記指示を受け取り、それに応答して、
単一のフェッチ・バースト中に検索可能なメモリ空間が前記第１及び第２の必須のデータ単位を備える場合、前記単一のフェッチ・バーストを開始し、
単一のフェッチ・バースト中に検索可能なメモリ空間が前記第１及び第２の必須のデータ単位を備えていない場合、複数のフェッチ・バーストを開始する
よう適合されている前記制御器と
を備える装置。
【請求項１７】
フェッチ・バースト中に検索可能なメモリ空間の少なくとも１つの特性が、前記メモリ空間の場所に応答する請求項１６記載の装置。
【請求項１８】
前記制御器が更に、投機型フェッチ・オペレーションを開始するよう適合されている請求項１６記載の装置。
【請求項１９】
少なくとも１つのフェッチ・バーストが、投機型フェッチ・オペレーションを備える請求項１６記載の装置。
【請求項２０】
前記制御器が、異なる必須の情報単位と関連した投機的情報単位がインターレースされる要領でフェッチされることを開始するよう適合されている請求項１６記載の装置。
【請求項２１】
前記制御器が、異なる必須型フェッチ・オペレーションと関連した投機型フェッチ・オペレーションをインターレースされる要領で開始するよう適合されている請求項１６記載の装置。
【請求項２２】
前記キャッシュ・モジュールを更に備える請求項１６記載の装置。
【請求項２３】
前記キャッシュ・モジュールが、前記キャッシュ論理に結合される請求項２２記載の装置。
【請求項２４】
情報をキャッシュ・モジュールに与える装置であって、
前記キャッシュ・モジュールに結合され、前記キャッシュ・モジュールから第１及び第２のデータ単位を検索する第１及び第２の要求を開始する少なくとも１つのプロセッサと、
前記要求を受け取り、前記第１及び第２のデータ単位が必須のデータ単位であるかどうかを決定するよう適合された論理と、
前記キャッシュ・モジュールに結合された制御器であって、単一のフェッチ・バースト中に検索可能なメモリ空間が前記第１及び第２の必須のデータ単位を備える場合前記単一のフェッチ・バーストを開始するよう適合され、且つ単一のフェッチ・バースト中に検索可能なメモリ空間が前記第１及び第２の必須のデータ単位を備えていない場合複数のフェッチ・バーストを開始するよう適合されている前記制御器と
を備える装置。
【請求項２５】
キャッシュ・モジュールを更に備える請求項２４記載の装置。
【請求項２６】
フェッチ・バースト中に検索可能なメモリ空間の少なくとも１つの特性が、前記メモリ空間の場所に応答する請求項２４記載の装置。
【請求項２７】
前記制御器が更に、投機型フェッチ・オペレーションを開始するよう適合されている請求項２４記載の装置。
【請求項２８】
少なくとも１つのフェッチ・バーストが、投機型フェッチ・オペレーションを備える請求項２４記載の装置。
【請求項２９】
前記制御器が、異なる必須の情報単位と関連した投機的情報単位がインターレースされる要領でフェッチされることを開始するよう適合されている請求項２４記載の装置。
【請求項３０】
前記制御器が、異なる必須型フェッチ・オペレーションと関連した投機型フェッチ・オペレーションをインターレースされる要領で開始するよう適合されている請求項２９記載の装置。
【請求項３１】
前記キャッシュ・モジュールが、前記キャッシュ論理に結合される請求項２４記載の装置。
【国際調査報告】
2008515075.tif 000011