【手続補正書】
【提出日】平成17年7月8日(2005.7.8)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
各々がスコアボードとデコーダとを有する第１プロセッサ及び第２プロセッサと、
前記第１プロセッサ及び前記第２プロセッサに接続される複数のメモリ装置と、
前記第１プロセッサ及び前記第２プロセッサに接続され、レジスタバッファである第１バッファと、
前記第１プロセッサ及び前記第２プロセッサに接続され、トレースバッファである第２バッファと、
前記第１プロセッサ及び前記第２プロセッサに接続される複数のメモリ命令バッファと、
からなる装置であって、
前記第１プロセッサ及び前記第２プロセッサは、マルチスレッドリソースを利用したシングルスレッドアプリケーションを実行し、
前記第１プロセッサは、予測ミスを回避するため前記第２プロセッサがシングルスレッドアプリケーションを実行する前に前記シングルスレッドアプリケーションを実行し、
前記シングルスレッドアプリケーションは、明示的なマルチスレッドに変換されない、
ことを特徴とする装置。
【請求項２】
請求項１記載の装置であって、
前記複数のメモリ装置は、複数のキャッシュ装置から構成されることを特徴とする装置。
【請求項３】
請求項１記載の装置であって、
前記第１プロセッサは、複数のゼロレベル（L0）データキャッシュ装置の少なくとも１つと複数のL0命令キャッシュ装置の少なくとも１つに接続され、前記第２プロセッサは、前記複数のL0データキャッシュ装置の少なくとも１つと前記複数のL0命令キャッシュ装置の少なくとも１つに接続されることを特徴とする装置。
【請求項４】
請求項３記載の装置であって、
前記複数のL0データキャッシュ装置の各々は、ストア命令データの正確なコピーを格納することを特徴とする装置。
【請求項５】
請求項１記載の装置であって、
前記複数のメモリ命令バッファは、少なくとも１つのストアフォワーディングバッファと少なくとも１つのロードオーダリングバッファを含むことを特徴とする装置。
【請求項６】
請求項５記載の装置であって、
前記少なくとも１つのストアフォワーディングバッファは、複数のエントリを有する構成を備え、
前記複数のエントリの各々は、タグ部、有効部、データ部、ストア命令ID部、及びスレッドID部を有する、
ことを特徴とする装置。
【請求項７】
請求項６記載の装置であって、
前記少なくとも１つのロードオーダリングバッファは、複数のエントリを有する構成を備え、
前記複数のエントリの各々は、タグ部、エントリ有効部、ロードID部、及びロードスレッドID部を有する、
ことを特徴とする装置。
【請求項８】
請求項１記載の装置であって、
前記トレースバッファは、循環的バッファであることを特徴とする装置。
【請求項９】
請求項１記載の装置であって、
前記レジスタバッファは、整数レジスタバッファと述語レジスタバッファから構成されることを特徴とする装置。
【請求項１０】
第１プロセッサによってシングルスレッドにおいて複数の命令を実行するステップと、
前記第１プロセッサにより指示されると、予測ミスを回避するため前記第１プロセッサの前に前記複数の命令を実行する第２プロセッサによって、前記シングルスレッドにおいて前記複数の命令を実行するステップと、
レジスタファイルバッファからロードされるか、あるいは前記第２プロセッサにより書き込まれる少なくとも１つのレジスタを追跡することを前記第２プロセッサにより実行するステップと、
前記第２プロセッサから、制御フロー情報を受信することにより分岐予測を回避する第１プロセッサに前記制御フロー情報を送信するステップと、
前記第２プロセッサから、トレースバッファである第１バッファからレジスタファイルに命令の一部の結果をコミットすることにより前記命令の一部を実行することを回避する第１プロセッサに結果を送信するステップと、
再生されるストア命令がロードバッファである第２バッファに一致するストア識別（ID）部分を有する場合、ストア有効ビットをクリアし、前記第１バッファのロードエントリに予測ミスビットを設定するステップと、
から構成される方法であって、
前記第１プロセッサ及び前記第２プロセッサは、マルチスレッドリソースを利用してシングルスレッドアプリケーションを実行し、
前記シングルスレッドは、明示的なマルチスレッドに変換されない、
ことを特徴とする方法。
【請求項１１】
請求項１０記載の方法であって、さらに、
前記第１プロセッサと前記第２プロセッサによる独立なアクセスのため、メモリ情報を異なるメモリ装置に複製するステップを有することを特徴とする方法。
【請求項１２】
請求項１０記載の方法であって、さらに、
再生されないストア命令がロードバッファのストアID部に一致する場合、ストア有効ビットを設定するステップを有することを特徴とする方法。
【請求項１３】
請求項１０記載の方法であって、さらに、
前記ロードが再生されないか、あるいは前記ロードがロードバッファのタグ部に一致しない場合、パイプラインをフラッシュし、前記トレースバッファのロードエントリに予測ミスビットを設定し、ロード命令を再スタートするステップを有し、
前記ロード命令は、ストア有効ビットが設定されていない間、前記ロードバッファのタグ部に一致することを特徴とする方法。
【請求項１４】
請求項１０記載の方法であって、さらに、
投機的スレッドの第１命令において再生モードを実行するステップを有することを特徴とする方法。
【請求項１５】
請求項１０記載の方法であって、さらに、
レジスタ改名を防ぐために、前記トレースバッファから名前を供給するステップと、
従属命令を含む次に再生される命令までのすべての命令を発行するステップと、
ノー・オペレーション（NOP）命令として再生されない命令を発行するステッと、
すべてのロード命令とストア命令をメモリに発行するステップと、
前記トレースバッファから前記レジスタファイルに再生されない命令をコミットするステップと、
を有することを特徴とする方法。
【請求項１６】
請求項１０記載の方法であって、さらに、
前記ロードエントリがリタイヤされる場合、ロードバッファのエントリの有効ビットをクリアするステップを有することを特徴とする方法。
【請求項１７】
マシーンによる実行時、前記マシーンに処理を実行させる命令を含むマシーン読み出し可能な媒体からなる装置であって、
前記処理は、
第１プロセッサからの第１スレッドを実行するステップと、
前記第１プロセッサにより指示されると、予測ミスを回避するため前記第１プロセッサの前に命令を実行する第２プロセッサからの前記第１スレッドを実行するステップと、
レジスタファイルバッファである第１バッファからロードされるか、あるいは前記第２プロセッサにより書き込まれる少なくとも１つのレジスタを追跡することを前記第２プロセッサによって実行するステップと、
再生されるストア命令が一致したストア識別（ID）部分を有する場合、ストア有効ビットをクリアし、トレースバッファである第２バッファのロードエントリの予測ミスビットを設定するステップと、
から構成され、
前記第１プロセッサ及び前記第２プロセッサは、マルチスレッドリソースを利用してシングルスレッドアプリケーションを実行し、
前記シングルスレッドは、明示的なマルチスレッドに変換されないことを特徴とする装置。
【請求項１８】
請求項１７記載の装置であって、
前記処理はさらに、制御フロー情報を受信することにより前記第１プロセッサが分岐予測を回避できるように、前記第２プロセッサから前記第１プロセッサに前記制御フロー情報を送信するステップを有することを特徴とする装置。
【請求項１９】
請求項１８記載の装置であって、さらに、
前記処理はさらに、前記第１プロセッサと前記第２プロセッサによる独立なアクセスのため、メモリ情報を異なるメモリ装置に複製するステップを有することを特徴とする装置。
【請求項２０】
請求項１８記載の装置であって、
前記処理はさらに、再生されないストア命令がストアID部に一致する場合、ストア有効ビットを設定するステップを有することを特徴とする装置。
【請求項２１】
請求項１８記載の装置であって、
前記処理はさらに、前記ロードが再生されないか、あるいは前記ロードがロードバッファのタグ部に一致しない場合、パイプラインをフラッシュし、前記第２バッファのロードエントリに予測ミスビットを設定し、ロード命令を再スタートするステップを有し、
前記ロード命令は、ストア有効ビットが設定されていない間、前記ロードバッファのタグ部に一致することを特徴とする装置。
【請求項２２】
請求項１８記載の装置であって、
前記処理はさらに、
投機的スレッドの第１命令において再生モードを実行するステップと、
前記第２バッファの一部が空状態に近づく場合、前記再生モードと前記投機的スレッドの実行を終了するステップと、
を有することを特徴とする装置。
【請求項２３】
請求項１８記載の装置であって、
前記処理はさらに、
レジスタ改名を防ぐために、前記第２バッファから名前を供給するステップと、
従属命令を含む次に再生される命令までのすべての命令を発行するステップと、
ノー・オペレーション（NOP）命令として再生されない命令を発行するステップと、
すべてのロード命令とストア命令をメモリに発行するステップと、
前記第２バッファから前記レジスタファイルに再生されない命令をコミットするステップと、
を有することを特徴とする装置。
【請求項２４】
請求項１８記載の装置であって、
前記処理はさらに、前記ロードエントリがリタイヤされる場合、ロードバッファのエントリの有効ビットをクリアするステップを有することを特徴とする装置。
【請求項２５】
各々がスコアボードとデコーダとを有する第１プロセッサ及び第２プロセッサと、
前記第１プロセッサ及び前記第２プロセッサに接続されるバスと、
前記バスに接続されるメインメモリと、
前記第１プロセッサ及び前記第２プロセッサに接続される複数のローカルメモリ装置と、
前記第１プロセッサ及び前記第２プロセッサに接続されるレジスタバッファである第１バッファと、
前記第１プロセッサ及び前記第２プロセッサに接続されるトレースバッファである第２バッファと、
前記第１プロセッサ及び前記第２プロセッサに接続される複数のメモリ命令バッファと、
から構成されるシステムであって、
前記第１プロセッサ及び前記第２プロセッサは、マルチスレッドリソースを利用したシングルスレッドアプリケーションを実行し、
前記第１プロセッサは、予測ミスを回避するため前記第２プロセッサがシングルスレッドアプリケーションを実行する前に前記シングルスレッドアプリケーションを実行し、
前記シングルスレッドは、明示的なマルチスレッドに変換されない、
ことを特徴とするシステム。
【請求項２６】
請求項２５記載のシステムであって、
前記複数のローカルメモリ装置は、複数のキャッシュ装置から構成されることを特徴とするシステム。
【請求項２７】
請求項２６記載のシステムであって、
前記第１プロセッサは、複数のゼロレベル（L0）データキャッシュ装置の少なくとも１つと複数のL0命令キャッシュ装置の少なくとも１つに接続され、前記第２プロセッサは、前記複数のL0データキャッシュ装置の少なくとも１つと前記複数のL0命令キャッシュ装置の少なくとも１つに接続されることを特徴とするシステム。
【請求項２８】
請求項２７記載のシステムであって、
前記複数のL0データキャッシュ装置の各々は、ストア命令データの正確なコピーを格納することを特徴とするシステム。
【請求項２９】
請求項２７記載のシステムであって、
前記第１プロセッサ及び前記第２プロセッサの各々は、第１レベル（L1）キャッシュ装置と第２レベル（L2）キャッシュ装置を共有することを特徴とするシステム。
【請求項３０】
請求項２５記載のシステムであって、
前記複数のメモリ命令バッファは、少なくとも１つのストアフォワーディングバッファと少なくとも１つのロードオーダリングバッファを含むことを特徴とするシステム。
【請求項３１】
請求項３０記載のシステムであって、
前記少なくとも１つのストアフォワーディングバッファは、複数のエントリを有する構成を備え、
前記複数のエントリの各々は、タグ部、有効部、データ部、ストア命令ID部、及びスレッドID部を有することを特徴とするシステム。