【手続補正書】
【提出日】平成17年9月13日(2005.9.13)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】特許請求の範囲
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】  プロセッサであって、
命令のラインに対応する複数のオペランド指示子を受取るよう結合されるライン内依存性チェックユニットを含み、前記ライン内依存性チェックユニットは、前記複数のオペランド指示子を比較することによって、前記命令のライン中の命令の間の依存性を判定するよう構成され、前記プロセッサはさらに、
前記複数のオペランド指示子により指定される１以上のオペランドを受けるよう結合されるルックアヘッド計算ユニットを含み、前記ルックアヘッド計算ユニットは、もし、前記命令のライン内の第１の命令に対応するルックアヘッド結果を発生するために前記第１の命令により使用される各オペランドが前記１以上のオペランド中にあれば、前記ルックアヘッド結果を計算するよう構成され、前記プロセッサはさらに、
前記ルックアヘッド計算ユニットおよび前記ライン内依存性チェックユニットと結合されるオペランドまとめユニットを含み、前記オペランドまとめユニットは、前記ルックアヘッド結果を前記命令ライン中の第２の命令のオペランドとして（ｉ）前記ルックアヘッド計算ユニットからの前記ルックアヘッド結果が有効であるとの表示に応答して、および（ii）前記ライン内依存性チェックユニットからの前記第２の命令は前記第１の命令に依存するとの表示に応答して、提供するよう構成され、前記プロセッサはさらに、
前記オペランドまとめユニットと結合される１以上の命令ウィンドウを含み、前記１以上の命令ウィンドウは対応するオペランドが与えられるまで命令を記憶しその後実行のため前記命令を選択するよう構成され、
前記オペランドまとめユニットは、もし前記ルックアヘッド結果が有効であれば、前記ルックアヘッド結果により提示される前記第１の命令の少なくとも第１の命令演算の実行を禁止するよう前記１以上の命令ウィンドウに信号を送るよう構成される、プロセッサ。
【請求項２】  前記ルックアヘッド計算ユニットは、前記命令がレジスタオペランドのみ持つ移動命令であれば、前記ルックアヘッド結果を計算するよう構成され、前記移動命令は、前記１以上の命令ウィンドウから禁止された前記第１の命令演算を含む、請求項１に記載のプロセッサ。
【請求項３】  前記ルックアヘッド計算ユニットは、もし前記命令がレジスタソースオペランドのみ持つ加算系命令であれば、前記ルックアヘッド結果を計算するよう構成される、請求項１に記載のプロセッサ。
【請求項４】  前記加算系命令は、フラグ結果を生成するための次の実行のために前
記１以上の命令ウィンドウに与えられ、前記第１の命令演算は前記加算系演算を含む、請求項３に記載のプロセッサ。
【請求項５】  前記ルックアヘッド計算ユニットは、もし前記第１の命令がメモリオペランドを含み、前記１以上のオペランドが前記第１の命令に対応する１以上のアドレスオペランドを含むならば、ルックアヘッドアドレスを計算するよう構成され、前記第１の命令演算は前記アドレス発生を含む、請求項３に記載のプロセッサ。
【請求項６】  前記ルックアヘッド計算ユニットと結合されるロード／ストアユニットをさらに含み、前記ロード／ストアユニットは、前記ルックアヘッド計算ユニットからの前記ルックアヘッドアドレスが有効であるとの表示に応答して、前記メモリオペランドのアドレスとして前記ルックアヘッドアドレスを受取るよう構成され、前記オペランドまとめユニットは、前記命令のラインの前記１以上の命令ウィンドウへの提供に際し、前記第１の命令に対応するアドレス発生を不能化するよう構成される、請求項３に記載のプロセッサ。
【請求項７】  前記１以上の命令ウィンドウと結合されるアドレス発生ユニットをさらに含み、前記アドレス発生ユニットは、もし前記ルックアヘッドアドレスが無効であれば、前記アドレスを発生するよう構成される、請求項６に記載のプロセッサ。
【請求項８】  前記１以上の命令ウィンドウと結合される機能ユニットをさらに含み、前記機能ユニットは、前記１以上の命令ウィンドウにより前記機能ユニットへ与えられる命令を実行するよう構成される、請求項１に記載のプロセッサ。
【請求項９】  前記機能ユニットは、もし前記ルックアヘッド結果が有効であれば、前記ルックアヘッド結果により提示される前記第１の命令の前記部分を実行しない、請求項８に記載のプロセッサ。
【請求項１０】  前記ルックアヘッド計算ユニットと結合されるフューチャファイルをさらに含み、前記フューチャファイルは、前記複数のオペランド指示子に応答して前記ルックアヘッド計算ユニットに前記１以上のオペランドを与えるよう構成される、請求項９に記載のプロセッサ。
【請求項１１】 前記フューチャファイルは前記ルックアヘッド結果を受取るよう結合され、前記ルックアヘッド結果に応答して前記ルックアヘッド結果に対応して行先オペランドを更新するよう結合される、請求項１０に記載のプロセッサ。
【請求項１２】  前記フューチャファイルは前記機能ユニットと結合され、前記フューチャファイルは、前記機能ユニットから与えられる実行結果に対応して前記行先オペランドを更新するよう構成される、請求項１１に記載のプロセッサ。
【請求項１３】  前記オペランドまとめユニットは、もし前記第１の命令が比較命令であり、前記第２の命令が条件付き分岐命令であり、前記第２の命令が前記第１の命令に続いていれば、前記第２の命令のオペランドとして前記第１の命令に対応するオペランドを与えるよう構成される、請求項１に記載のプロセッサ。
【請求項１４】  前記オペランドまとめユニットはさらに、前記１以上の命令ウィンドウの前記比較命令の受取りを禁止するよう構成される、請求項１３に記載のプロセッサ。
【請求項１５】  プロセッサであって、
命令のラインに対応する複数のオペランドを受取るよう結合されるオペランドまとめユニットを含み、前記オペランドまとめユニットは、前記命令のライン中の第１の命令に対応する前記複数のオペランドのうち１以上のオペランドを、前記命令のライン中の第２の命令のオペランドとして、もし（ｉ）前記第１の命令が比較命令であれば、（ii）前記第２の命令が条件付き分岐命令であれば、および（iii）前記第２の命令が前記第１の命令に続いていれば、与えるよう構成され、前記プロセッサはさらに、
前記オペランドまとめユニットと結合される１以上の命令ウィンドウを含み、前記１以上の命令ウィンドウは、対応するオペランドが与えられるまで命令を記憶しその後実行のために前記命令を選択するよう構成され、
前記オペランドまとめユニットは、もし（ｉ）前記第１の命令が比較命令であれば、（
ii）前記第２の命令が条件付き分岐命令であれば、および（iii）前記第２の命令が前記第１の命令に続いていれば、前記第１の命令の受取りを禁止するよう前記１以上の命令ウィンドウに信号を送るよう構成される、プロセッサ。
【請求項１６】  プロセッサ内の命令のラインを実行するための方法であって、
複数のオペランド指示子を検出するため、前記命令のラインをデコードするステップと、
ライン内依存性を検出するため、前記命令のライン中の各命令の行先オペランド指示子を、前記命令のライン中の各次の命令のソースオペランド指示子と比較するステップと、
前記ソースオペランド指示子により指定されるソースオペランドを取込むため投機的オペランドソースの読出を行なうステップと、
前記ソースオペランドが前記投機的オペランドソースにおいて利用可能であれば、前記ライン中の第１の命令に対するルックアヘッド結果を計算するステップとを含み、前記計算するステップは、ルックアヘッド計算ユニットで行なわれ、前記方法はさらに、
もし前記ルックアヘッド結果が成功裡に計算されたならば、前記ルックアヘッド結果を生成する前記第１の命令の少なくとも第１の命令演算の実行を禁止するよう、前記第１の命令を受取るよう構成された命令ウィンドウに、信号を送るステップと、
もし前記比較が前記第２の命令の前記第１の命令に対する依存性を示せば、前記命令のライン中の第２の命令に前記ルックアヘッド結果を与えるステップとを含み、前記与えるステップは、前記第２の命令を前記命令ウィンドウ内に記憶するよりも前に行なわれ、前記与えるステップは、オペランドまとめユニットによって行なわれる、プロセッサ内の命令のラインを実行するための方法。
【請求項１７】  実行のために、前記命令ウィンドウから前記第２の命令を選択するステップをさらに含む、請求項１６に記載のプロセッサ内の命令のラインを実行するための方法。
【請求項１８】  前記計算するステップは、もし、前記命令がレジスタオペランドのみを有する加算系命令であり、前記レジストオペランド各々が前記読出の際に前記投機的オペランド記憶装置内で利用可能であれば、成功である、請求項１６に記載のプロセッサ内の命令のラインを実行するための方法。
【請求項１９】  もし前記第１の命令がメモリオペランドを含み、前記第１の命令に対応するアドレスオペランドが前記読出に際して前記投機的オペランドソースにおいて利用可能であれば、ルックアヘッドアドレスを計算するステップをさらに含む、請求項１８に記載のプロセッサ内の命令のラインを実行するための方法。
【請求項２０】  コンピュータシステムであって、
命令のラインを複数の発行位置に整列させるよう構成される整列ユニットと、
投機的オペランドを記憶するよう構成される投機的オペランドソースと、
命令に対してオペランドが与えられるまでそれらの命令を記憶するよう構成される命令ウィンドウと、
前記投機的オペランドソース、前記命令ウィンドウおよび前記整列ユニットと結合されるルックアヘッド／まとめユニットとを含むプロセッサを含み、前記ルックアヘッド／まとめユニットは、前記整列ユニットから受取られる前記命令のラインに応答して前記投機的オペランドソースからオペランドを読出すよう構成され、前記ルックアヘッド／まとめユニットは、前記オペランドに応答して前記命令のライン中の第１の命令に対応するルックアヘッド結果を発生するよう構成され、前記ルックアヘッド／まとめユニットはさらに、前記投機的オペランドソースを前記ルックアヘッド結果で更新するよう構成され、前記ルックアヘッド／まとめユニットは、前記第１の命令に依存する、前記命令のライン中の第２の命令に前記ルックアヘッド結果をフォワードするよう構成され、前記ルックアヘッド／まとめユニットは、前記ルックアヘッド結果を生成する前記第１の命令の少なくとも第１の命令演算の実行を禁止するよう前記命令ウィンドウに信号を送るよう構成され、前記コンピュータシステムはさらに、
前記プロセッサと結合される入力／出力（Ｉ／Ｏ）装置を含み、前記Ｉ／Ｏ装置は、前
記コンピュータシステムと、前記Ｉ／Ｏ装置が結合される他のコンピュータシステムとの間で通信するよう構成される、コンピュータシステム。
【請求項２１】  第２のプロセッサをさらに含むコンピュータシステムであって、前記第２のプロセッサは、
命令のラインを複数の発行位置に整列させるよう構成される整列ユニットと、
投機的オペランドを記憶するよう構成される投機的オペランドソースと、
命令に対してオペランドが与えられるまでこれらの命令を記憶するよう構成される命令ウィンドウと、
前記投機的オペランドソース、前記命令ウィンドウおよび前記整列ユニットと結合されるルックアヘッド／まとめユニットとを含み、前記ルックアヘッド／まとめユニットは、前記整列ユニットから受取られる前記命令のラインに応答して前記投機的オペランドソースからオペランドを読出すよう構成され、前記ルックアヘッド／まとめユニットは、前記オペランドに応答して前記命令のライン中の第１の命令に対応するルックアヘッド結果を発生するよう構成され、前記ルックアヘッド／まとめユニットはさらに、前記投機的オペランドソースを前記ルックアヘッド結果で更新するよう構成され、前記ルックアヘッド／まとめユニットは、前記命令ライン中の、前記第１の命令に依存する第２の命令に前記ルックアヘッド結果をフォワードするよう構成され、前記ルックアヘッド／まとめユニットは、前記ルックアヘッド結果を生成する前記第１の命令の少なくとも第１の命令演算の実行を禁止するよう、前記命令ウィンドウに信号を送るよう構成される、請求項２０に記載のコンピュータシステム。