【手続補正書】
【提出日】平成18年7月6日(2006.7.6)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
操作に割り当てられたエントリを含むスケジューラであって、前記エントリは非推測タグと推測タグとを含み、前記非推測タグおよび推測タグの両方は前記操作の第１オペランドに関連づけられ、推測タグによって指定されたデータ値が利用可能になるのに応答して、前記操作を発行するように構成されているスケジューラと、
前記スケジューラに結合され、前記推測タグによって指定されたデータ値を用いて前記操作を実行するように構成された実行コアとを備え、
前記スケジューラは前記非推測タグが結果バスに現れたならば前記操作を再発行するように構成される、マイクロプロセッサ。
【請求項２】
レジスタマップおよび推測レジスタマップを含むディスパッチユニットをさらに備え、前記レジスタマップは前記第１オペランドの論理レジスタ識別子の受信に応答して非推測タグを出力し、前記推測レジスタマップは前記第１オペランドの論理レジスタ識別子の受信に応答して前記推測タグを出力する、請求項１記載のマイクロプロセッサ。
【請求項３】
前記推測レジスタマップは、ロード操作の推測結果が前記推測タグによって指定されるデータ値にリンクされているとの表示に応答して、前記推測タグを前記第１論理レジスタ識別子に関連づけるように構成され、前記ロード操作の結果は前記第１論理レジスタ識別子によって指定される、請求項２記載のマイクロプロセッサ。
【請求項４】
前記推測レジスタマップは、ロード操作の推測結果が前記推測タグによって指定されるデータ値に正しくリンクされていないとの表示に応答して、前記推測タグと前記第１論理レジスタ識別子との関連づけを解除するように構成される、請求項３記載のマイクロプロセッサ。
【請求項５】
前記推測レジスタマップは、第２の操作が前記第１論理レジスタ識別子によって指定されるデータ値を変更するとの表示に応答して、前記推測タグと前記第１論理レジスタ識別子との関連づけを解除するように構成される、請求項２記載のマイクロプロセッサ。
【請求項６】
前記ディスパッチユニットは、前記ロード操作の推測結果が前記推測タグによって指定されるデータ値にリンクされているとの表示を生成するように構成されたメモリファイルを含む、請求項３記載のマイクロプロセッサ。
【請求項７】
前記推測レジスタマップは、前記第１論理レジスタ識別子によって指定される目的オペランドおよびソースオペランドを持つ条件ＭＯＶＥ操作に応答して、前記推測タグを前記第１論理レジスタ識別子に関連づけるように構成され、前記ソースオペランドの現在値は前記推測タグによって指定される、請求項２記載のマイクロプロセッサ。
【請求項８】
第１命令に含まれる操作にデータ依存性を検出するのに応答して、前記推測タグと前記非推測タグとをスケジューラに供給するように構成されたディスパッチユニットをさらに備え、前記操作の最初はロード操作であり、前記ロード操作の目的オペランドは前記非推測タグによって指定され、前記ディスパッチユニットは前記ロード操作の推測結果と前記推測タグによって指定されたデータ値との間のリンクを検出するようにさらに構成され、前記操作は前記第１命令中に含まれる前記操作に含まれ、前記ロード操作に依存する、請求項１記載のマイクロプロセッサ。
【請求項９】
前記スケジューラは、他の発行されていない操作のどれもそれらの利用可能な非推測オペランドのすべてを持っていないことを条件に、前記推測タグによって指定されるデータ値が利用可能になるのに応答して、前記操作を発行するように構成されている、請求項１記載のマイクロプロセッサ。
【請求項１０】
操作の第１ソースオペランドに対して非推測オペランドタグを提供するように構成された非推測レジスタマップと、
前記操作の前記第１ソースオペランドに対して推測オペランドタグを提供するように構成された推測レジスタマップと、
前記推測レジスタマップに結合されたスケジューラとを備え、
前記スケジューラは前記操作に割り当てられたエントリを含み、前記エントリは前記推測オペランドタグと前記オペランドに対する前記非推測オペランドタグとを含み、前記スケジューラは前記推測オペランドタグを用いた実行のために前記操作を発行するように構成されている、マイクロプロセッサ。
【請求項１１】
前記第１ソースオペランドは第１論理レジスタ識別子によって特定され、前記推測オペランドタグは第１物理レジスタを特定し、前記非推測オペランドタグは第２物理レジスタを特定する、請求項１０記載のマイクロプロセッサ。
【請求項１２】
前記スケジューラに結合され、前記推測オペランドタグによって特定されたデータ値を用いて前記操作を実行するように構成された実行コアをさらに備える、請求項１０記載のマイクロプロセッサ。
【請求項１３】
前記スケジューラは、結果バスにあらわれる前記非推測オペランドタグに応答して、前記操作を再発行するように構成される、請求項１０記載のマイクロプロセッサ。
【請求項１４】
ロード操作の推測結果と前記推測オペランドタグで特定されたデータ値の間のリンクを検出するように構成されたメモリファイルをさらに備え、前記ロード操作の結果は第１論理レジスタ識別子によって特定され、前記推測レジスタマップは、前記メモリファイルが前記リンクを検出するのに応答して、前記第１論理識別子と前記推測オペランドタグとを関連づけるように構成されている、請求項１０記載のマイクロプロセッサ。
【請求項１５】
前記推測レジスタマップは、前記ロード操作の前記推測結果が前記推測オペランドタグによって特定された前記データ値に誤ってリンクされたとの表示に応答して、前記推測オペランドタグと前記第１論理レジスタ識別子の関連づけを解消するように構成されている、請求項１４記載のマイクロプロセッサ。
【請求項１６】
前記実行コアは、前記ロード操作のためのアドレス計算を実行するのに応答して、前記表示を生成するように構成されている、請求項１５記載のマイクロプロセッサ。
【請求項１７】
前記推測レジスタマップは、前記第１論理レジスタ識別子によって特定される目的オペランドおよびソースオペランドを有する条件付きＭＯＶＥ操作に応答して、前記推測オペランドタグと前記第１論理レジスタ識別子とを関連づけるように構成され、前記ソースオペランドの現在値は前記推測オペランドタグによって特定される、請求項１０記載のマイクロプロセッサ。
【請求項１８】
前記推測レジスタマップは、第２操作が前記第１論理レジスタ識別子によって特定されたデータ値を変更するとの表示に応答して、前記推測オペランドタグと前記第１論理レジスタ識別子の関連づけを解消するように構成されている、請求項１０記載のマイクロプロセッサ。
【請求項１９】
操作の第１ソースオペランドを非推測オペランドタグにマッピングするステップと、
前記操作の前記第１ソースオペランドを推測オペランドタグに投機的にマッピングするステップと、
前記非推測オペランドタグと前記推測オペランドタグとを前記操作に割り当てられたスケジューラエントリに記憶するステップと、
前記推測オペランドタグによって特定された第１データ値の利用可能性に応答して、前記第１操作を発行するステップと、
前記非推測オペランドタグによって特定された第２データ値を使用する代わりに、前記推測オペランドタグによって特定された前記第１データ値を使用して前記第１操作を実行するステップとを含む、方法。
【請求項２０】
前記第１ソースオペランドは第１論理レジスタ識別子によって特定され、前記推測オペランドタグは第１物理レジスタを特定し、前記非推測オペランドタグは第２物理レジスタを特定する、請求項１９記載の方法。
【請求項２１】
前記非推測オペランドタグが結果バスにあらわれるのに応答して、前記操作を再発行するステップをさらに含む、請求項１９記載の方法。
【請求項２２】
ロード操作の推測結果と前記推測オペランドタグによって特定された結果値との間のリンクを削除するステップと、前記リンクの削除に応答して、前記ロード操作の結果として生成される前記第１ソースオペランドと前記推測オペランドタグとを関連づけるステップとをさらに含む、請求項１９記載の方法。
【請求項２３】
前記ロード操作の前記推測結果が前記推測オペランドタグによって特定された前記データ値に誤ってリンクされたとの表示に応答して、前記推測オペランドタグと前記第１ソースオペランドの関連づけを解消するステップをさらに含む、請求項２２記載の方法。
【請求項２４】
前記ロード操作のためのアドレス計算を実行するのに応答して、前記表示を生成するステップをさらに含む、請求項２３記載の方法。
【請求項２５】
目的オペランドおよびソースオペランドを有する条件付きＭＯＶＥ操作に応答して、前記推測タグと前記第１ソースオペランドとを関連づけるステップをさらに含み、前記条件付きＭＯＶＥのソースオペランドの現在値は前記推測オペランドタグによって特定され、前記第１ソースオペランドは前記条件付きＭＯＶＥ操作の目的オペランドである、請求項１９記載の方法。
【請求項２６】
第２操作が前記第１ソースオペランドを変更するとの表示に応答して、前記推測オペランドタグと前記第１ソースオペランドの関連づけを解消するステップをさらに含む、請求項１９記載の方法。
【請求項２７】
推測オペランドタグによって指定される第１データ値が利用可能になるのに応答して、操作を発行するステップと、
非推測オペランドタグによって指定される第２データ値を用いる代わりに、前記第１データ値を用いて、前記操作を実行するステップと、
結果バス上で非推測オペランドタグをブロードキャストするステップと、
前記ブロードキャストに応答して、前記操作を再発行するステップと、
前記再発行に応答して、前記非推測オペランドタグによって指定される前記第２データ値を用いて前記操作を実行するステップとを含む方法。
【請求項２８】
ロード操作の推測結果が前記推測タグによって特定されたデータ値にリンクしているとの表示に応答して、前記推測タグと前記操作の第１ソースオペランドとを関連づけるステップをさらに含み、前記ロード操作の結果は前記第１ソースオペランドである、請求項２７記載の方法。
【請求項２９】
前記ロード操作の前記推測結果が前記推測タグによって特定された前記データ値に誤ってリンクされたとの表示に応答して、前記推測タグと前記第１ソースオペランドの関連づけを解消するステップをさらに含む、請求項２８記載の方法。
【請求項３０】
第２操作が前記第１ソースオペランドを変更するとの表示に応答して、前記推測タグと前記第１ソースオペランドの関連づけを解消するステップをさらに含む、請求項２８記載の方法。
【請求項３１】
目的オペランドおよびソースオペランドを有する条件付きＭＯＶＥ操作に応答して、前記推測タグと前記第１ソースオペランドとを関連づけるステップをさらに含み、前記条件付きＭＯＶＥのソースオペランドの現在値は前記推測オペランドタグによって特定され、前記第１ソースオペランドは前記条件付きＭＯＶＥ操作の目的オペランドである、請求項２７記載の方法。
【請求項３２】
第１命令に含まれる複数の操作間にデータ依存性があるかどうかを検出するステップであって、前記複数の操作には前記操作およびロード操作を含み、前記ロード操作の目的オペランドは前記非推測オペランドタグによって特定され、前記操作は前記ロード操作に依存するステップと、
前記ロード操作の推測結果と前記推測オペランドタグによって特定されるデータ値とのリンクを検出するステップとをさらに含む、請求項２７記載の方法。
【請求項３３】
システムメモリに結合されたマイクロプロセッサにおいて、
操作に割り当てられたエントリを含むスケジューラであって、前記エントリは非推測タグと推測タグとを含み、前記非推測タグおよび推測タグの両方は前記操作の第１オペランドに関連づけられ、推測タグによって指定されたデータ値が利用可能になるのに応答して、前記操作を発行するように構成されているスケジューラと、
前記スケジューラに結合され、前記推測タグによって指定されたデータ値を用いて前記操作を実行するように構成された実行コアとを備え、
前記スケジューラは前記非推測タグが結果バスに現れたならば前記操作を再発行するように構成される、マイクロプロセッサ。