【手続補正書】
【提出日】平成15年7月23日(2003.7.23)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】特許請求の範囲
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ａ）複数のデータ・ラインを有するデータ・アレイ、および
ｂ）多数のデータ・ラインにわたるトレース・セグメントを含む複数の命令トレース・セグメントを前記データ・ラインに格納し、かつ単一の位置アドレスのアドレス・マッチングでトレース・セグメントにわたる多数のデータラインのそれぞれを発見するために、前記データ・アレイに結合された制御ロジック
を備える装置。
【請求項２】
前記制御ロジックが、１つまたは複数のブロック命令を有するトレース・セグメント・メンバで各トレース・セグメントを構成し各トレース・セグメント・メンバをデータ・ライン内に格納するように動作し、前記制御ロジックが、マルチライン・トレース・セグメントのデータ・ラインを論理的方法で順次関連付けるようにさらに動作する請求項１に記載の装置。
【請求項３】
最初に、前記マルチライン・トレース・セグメントの第１トレース・セグメント・メンバを格納するデータ・ラインを見つけ、前記第１トレース・セグメント・メンバを取り出し、次いで前記データ・ラインの論理的順次関連付けに基づき、残りのトレース・セグメント・メンバを格納する残りのデータ・ラインを連続して見つけ、前記残りのトレース・セグメント・メンバが占めるデータ・ラインが見つかるとそのメンバを取り出すこと、によりマルチライン・トレース・セグメントのトレース・セグメント・メンバを取り出すように、前記制御ロジックが動作する請求項１に記載の装置。
【請求項４】
前記トレース・セグメントの第１トレース・セグメント・メンバの前記発見を容易にするために、前記トレース・セグメントの第１トレース・セグメント・メンバを格納するデータ・ラインに関連付けられたアドレスを保持するように前記制御ロジックが動作する請求項３に記載の装置。
【請求項５】
少なくとも部分的内容アドレス・マッチング回路をさらに含む装置であって、
前記少なくとも部分的内容アドレス・マッチング回路にもまた結合されている制御ロジックが、トレース・セグメントの第１トレース・セグメント・メンバを格納するデータ・ラインを見つけるために、前記保持された関連付けられたアドレスとアクセス・アドレスを、少なくとも部分的内容アドレス・マッチングさせるように動作する請求項４に記載の装置。
【請求項６】
前記制御ロジックが、トレース・セグメントの第１トレース・セグメント・メンバを格納するデータ・ラインを見つけるために、保持された関連付けられたアドレスとアクセス・アドレスを部分的内容アドレス・マッチングさせるように動作し、
前記制御ロジックは、部分的に一致するデータ・ライン内に格納された前記第１トレース・セグメント・メンバが、探している実際に正しい第１トレース・セグメント・メンバであることを確認するようにさらに動作する請求項５に記載の装置。
【請求項７】
適用可能であれば、前記データ・ラインとその後続データ・ラインを論理的方法で順次関連付けるために、マルチライン・トレース・セグメントの各データ・ラインに対する少なくとも部分的制御情報を保持するように、前記制御ロジックが動作する請求項１に記載の装置。
【請求項８】
前記データ・ラインがＮウェイＳセットに編成され、
前記制御ロジックが次のウェイ・インデックスを保持するように動作して、前記マルチライン・トレース・セグメントの各データ・ラインが、最終データ・ラインを除き、直後の後続データ・ラインのウェイ・ロケーションを索引付けする請求項７に記載の装置。
【請求項９】
前記データ・ラインがＮウェイＳセットに編成され、
前記制御ロジックが、マルチライン・トレース・セグメントの連続するトレース・セグメント・メンバを連続するデータ・ラインに格納するように動作し、前記連続するデータ・ライン間の所定のセット関係を保持する請求項７に記載の装置。
【請求項１０】
前記データ・ラインがＮウェイＳセットに編成され、
前記制御ロジックが、次のセット・インデックスを保持するように動作して、前記マルチライン・トレース・セグメントの各データ・ラインが、最終データ・ラインを除き、直後の後続データ・ラインのセット・ロケーションを索引付けする請求項７に記載の装置。
【請求項１１】
前記制御ロジックが、少なくとも部分的制御情報を保持するように動作して、マルチライン・トレース・セグメントの各データ・ラインが、適用可能であれば、前記データ・ラインとその先行データ・ラインを論理的方法で順次関連付ける請求項１に記載の装置。
【請求項１２】
前記データ・ラインがＮウェイＳセットに編成され、
前記制御ロジックが前のウェイ・インデックスを保持するように動作して、マルチライン・トレース・セグメントの各データ・ラインが、第１データ・ラインを除き、直前の先行データ・ラインのウェイ・ロケーションを索引付けする請求項１１に記載の装置。
【請求項１３】
前記装置の性能を最適化するために、前記データ・ラインのすべてまたは選択されたデータ・ラインに関連付けられた１つまたは複数の制御情報を保持するように、前記制御ロジックがさらに動作する請求項１に記載の装置。
【請求項１４】
トレース・セグメントの最終トレース・セグメント・メンバを中に格納するデータ・ラインに対する次の命令ポインタを保持するように、前記制御ロジックがさらに動作する請求項１３に記載の装置。
【請求項１５】
トレース・セグメント・メンバを中に格納する各データ・ラインに対する次の命令ポインタを保持するように、前記制御ロジックがさらに動作する請求項１３に記載の装置。
【請求項１６】
トレース・セグメントの第１トレース・セグメント・メンバを中に格納する各データ・ラインに対する第１トレース・セグメント・メンバ・インジケータを保持するように、前記制御ロジックがさらに動作する請求項１３に記載の装置。
【請求項１７】
トレース・セグメントの最終トレース・セグメント・メンバを中に格納する各データ・ラインに対する最終トレース・セグメント・メンバ・インジケータを保持するように、前記制御ロジックがさらに動作する請求項１３に記載の装置。
【請求項１８】
トレース・セグメント・メンバを中に格納する各データ・ラインに対するｍｉｃｒｏ−ｏｐポインタを保持するように、前記制御ロジックがさらに動作する請求項１３に記載の装置。
【請求項１９】
適用可能であれば、データ・ラインに対する分岐ターゲット・アドレスを保持するように、前記制御ロジックがさらに動作する請求項１３に記載の装置。
【請求項２０】
複数のデータ・ライン終了条件にしたがって、１つのデータ・ラインにおいてトレース・セグメントの命令を格納することを終了し、他のデータ・ラインにおいて前記トレース・セグメントの命令を格納することを続けるように前記制御ロジックが動作する請求項１に記載の装置。
【請求項２１】
少なくともＭ個のｍｉｃｒｏ−ｏｐｓにデコードされる複雑なマクロ命令に出会うこと、という条件を前記データ・ライン終了条件が含み、ここでＭは所定の最大値以上である請求項２０に記載の装置。
【請求項２２】
条件付き分岐ｍｉｃｒｏ−ｏｐｓに対する１トレース・セグメント当たりの所定の最大限度に到達した後に、条件付き分岐ｍｉｃｒｏ−ｏｐに出会うこと、という条件を前記データ・ライン終了条件が含む請求項２０に記載の装置。
【請求項２３】
複数のトレース・セグメント終了条件にしたがって、現在のトレース・セグメントのメンバとして命令を格納することを終了し、新しいトレース・セグメントのメンバとして命令を格納することを続けるように、前記制御ロジックが動作する請求項１に記載の装置。
【請求項２４】
間接分岐マクロ命令に出会うこと、という条件を前記トレース・セグメント終了条件が含む請求項２３に記載の装置。
【請求項２５】
１トレース・セグメント当たりの命令に対する所定の最大限度に到達した後に命令に出会うこと、という条件を前記データ・ライン終了条件が含む請求項２３に記載の装置。
【請求項２６】
トレース・セグメント・メンバをデータ・ラインに格納する前に、予測された実行方向に沿ってそれらのトレース・セグメント・メンバを構築するための複数のバッファをさらに備える請求項１に記載の装置。
【請求項２７】
内容がデータ・アレイにより出力されているデータ・ライン、に関連付けられた分岐命令ポインタを抽出するための、データ・アレイに結合された即値エクストラクタをさらに備える請求項１に記載の装置。
【請求項２８】
複数の対応するデータ・ラインのタグ・エントリを有し、制御ロジックに結合された（ｃ）タグ・アレイをさらに備える装置であって、
前記制御ロジックが、前記トレース・セグメントのトレース・セグメント・メンバを格納し取り出すことを容易にするために、制御情報を前記タグ・エントリに格納するように動作する請求項１に記載の装置。
【請求項２９】
命令をキャッシュする方法であって、
ａ）第１の１つまたは複数の命令ブロックをトレース・セグメントの第１トレース・セグメント・メンバとして第１データ・ライン内に格納すること、
ｂ）前記第１データ・ラインの発見および第１トレース・セグメント・メンバの取り出しを容易にするため前記第１トレース・セグメント・メンバを含む第１データ・ラインに関連させてアドレス情報を格納すること、
ｃ）第２の１つまたは複数の命令を前記トレース・セグメントの第２トレース・セグメント・メンバとして第２データ・ライン内に格納すること、および
ｄ）前記第１トレース・セグメント・メンバの発見時に、前記第２データ・ラインの発見および前記第２トレース・セグメント・メンバの取り出しを容易にするために、前記第２データ・ラインに関して、前記第１データ・ラインに関連するアドレス情報以外の少なくとも部分的制御情報を格納すること
を含む方法。
【請求項３０】
ｅ）第３の１つまたは複数の命令を前記トレース・セグメントの第３トレース・セグメント・メンバとして第３データ・ライン内に格納すること、および
ｆ）前記第２トレース・セグメント・メンバの取り出し時に、前記第３データ・ラインの発見および前記第３トレース・セグメント・メンバの取り出しを容易にするために、前記第３データ・ラインに関して、前記第２データ・ラインに関連するアドレス情報以外の少なくとも部分的制御情報を格納すること、
をさらに含む請求項２９に記載の方法。
【請求項３１】
複数のデータ・ライン終了条件にしたがって、（ａ）、（ｂ）および（ｅ）のそれぞれが終了する請求項３０に記載の方法。
【請求項３２】
予測された実行方向に沿ってトレース・セグメント・メンバを構築するためのバッファ内に前記第１／第２／第３データ・ラインを構築することを、（ａ）、（ｂ）および（ｅ）のそれぞれが含む請求項３０に記載の方法。
【請求項３３】
命令をキャッシュする方法であって、
ａ）トレース・セグメントの第１トレース・セグメント・メンバに関連して保持されるロケーション・アドレスに対してアクセス・アドレスをアドレス・マッチングさせることにより、トレース・セグメントの第１トレース・セグメント・メンバを格納する第１データ・ラインを見つけること、
ｂ）前記第１トレース・セグメント・メンバ、および前記トレース・セグメントの第２トレース・セグメント・メンバを格納する第２データ・ラインに関するアドレス情報以外の第１の少なくとも部分的制御情報を取り出すことであって、前記少なくとも部分的制御情報が前記第１データ・ラインに関連して保持されていること、および
ｃ）アドレス・マッチングなしで前記第２データ・ラインを見つけること、および前記第２データ・ラインに関する、前記取り出されたアドレス情報以外の第１の少なくとも部分的制御情報に少なくとも部分的には頼って前記第２トレース・セグメント・メンバを取り出すこと
を含む方法。
【請求項３４】
（ｃ）が、前記トレース・セグメントの第３トレース・セグメント・メンバを格納する第３データ・ラインに関する第２の少なくとも部分的制御情報を取り出すことをさらに含み、前記第２の少なくとも部分的制御情報が、前記第２データ・ラインに関連して保持される方法であって、
（ｄ）前記第３データ・ラインを見つけること、および前記第３データ・ラインに関する前記取り出された第２の少なくとも部分的制御情報に少なくとも部分的には頼って前記第３トレース・セグメント・メンバを取り出すこと、をさらに含む請求項３３に記載の方法。
【請求項３５】
（ｂ）、（ｃ）および（ｄ）の１つまたは複数が、マイクロコード・シーケンサからマクロ命令のｍｉｃｒｏ−ｏｐｓを取り出すことをさらに含む請求項３４に記載の方法。
【請求項３６】
（ｃ）がデータ・アレイのデータ・ラインの１セットの１ウェイにアクセスすることを含み、ここで、前記セットの前記ウェイは、前記第２データ・ラインに関する前記取り出された第１の少なくとも部分的制御情報のウェイ・インデックスにより索引付けられ、前記セットは、前記第１および前記第２データ・ライン間の所定のセット関係により支配される請求項３３に記載の方法。
【請求項３７】
ステップ（ｃ）が、データ・アレイのデータ・ラインの１セットの１ウェイにアクセスすることを含み、ここで、前記ウェイおよび前記セットは、前記第２データ・ラインに関する前記取り出された第１の少なくとも部分的制御情報のウェイ・インデックスおよびセット・インデックスによりそれぞれ索引付けられる請求項３３に記載の方法。
【請求項３８】
（ａ）の前記アドレス・マッチングが、前記アクセス・アドレスの対応するアドレス・ビット・サブセットと、保持された前記ロケーション・アドレスで実行され、（ａ）は、一致するデータ・ラインが、探している前記第１トレース・セグメント・メンバを実際に含むかどうかを確認することをさらに含む請求項３３に記載の方法。
【請求項３９】
ａ）実行ユニット、
ｂ）前記実行ユニットに結合されたキャッシュ・メモリであって、複数のデータ・ラインを有するデータ・アレイ、および多数のデータ・ラインにわたるトレース・セグメントを含む複数の命令トレース・セグメントを前記データ・ラインに格納し、単一の位置アドレスのアドレス・マッチングでトレース・セグメントにわたる多数のデータ・ラインのそれぞれを発見する制御ロジックを含むキャッシュ・メモリ
を備える装置。
【請求項４０】
データ・ラインの対応する複数のタグ・エントリを持つタグ・アレイをさらに含む請求項３９に記載の装置。
【請求項４１】
ａ）複数のデータ・ラインを有するデータ・アレイを有するキャッシュ・メモリに接続されたプロセッサ、および多数のデータ・ラインにわたるトレース・セグメントを含む複数の命令トレース・セグメントを前記データ・ラインに格納し、かつ単一の位置アドレスのアドレス・マッチングでトレース・セグメントにわたる多数のデータ・ラインのそれぞれを発見する制御ロジック、ならびに
ｂ）前記プロセッサに結合された入力／出力コンポーネント、
を備えるコンピュータ・システム。
【請求項４２】
データ・ラインの対応する複数のタグ・エントリを持つタグ・アレイをさらに含む請求項４１に記載の装置。