【手続補正書】
【提出日】平成18年1月12日(2006.1.12)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】特許請求の範囲
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】  レジスタリネーミングを行なうための装置であって、
レジスタリネームを命令に割当てる前に前記命令をスキャンして、アーキテクチャ上の第１のレジスタをソースレジスタとしアーキテクチャ上の第２のレジスタをデスティネーションレジスタとする転送命令を検出するように構成されたルックアヘッドユニットと、
前記ルックアヘッドユニットに結合されたリネームタグユニットとを含み、前記リネームタグユニットは、前記アーキテクチャ上の第１のレジスタに対応する第１のリネームタグおよび前記アーキテクチャ上の第２のレジスタに対応する第２のリネームタグを含む複数のリネームタグを格納するように構成され、前記第１のリネームタグは前記アーキテクチャ上の第１のレジスタに割当てられた第１のリネームレジスタを識別し、前記第２のリネームタグは前記アーキテクチャ上の第２のレジスタに割当てられた第２のリネームレジスタを識別し、
前記ルックアヘッドユニットは、前記転送を検出すると前記リネームタグユニットに信号で知らせるように構成され、前記リネームタグユニットは、前記信号に応答して前記第１のリネームレジスタを前記アーキテクチャ上の第２のレジスタに割当てるように構成される、レジスタリネーミングを行なうための装置。
【請求項２】  前記リネームタグユニットはさらに、前記転送命令に応答して第３のリネームレジスタを割当てるように構成され、第３のリネームタグは前記第３のリネームレジスタを識別し、前記第３のリネームレジスタは前記転送命令の実行時に前記転送命令によりデスティネーションレジスタとして用いられる、請求項１に記載の装置。
【請求項３】  前記リネームタグユニットはさらに、前記第３のリネームレジスタを前記アーキテクチャ上の第１のレジスタに割当てるように構成される、請求項２に記載の装置。
【請求項４】  前記リネームタグユニットは、前記転送命令のためのマッピングオペランドに続いて、前記第１のリネームレジスタを前記アーキテクチャ上の第２のレジスタに割当て前記第３のリネームレジスタを前記アーキテクチャ上の第１のレジスタに割当てるように構成され、これにより、前記転送命令は前記第１のリネームタグをソースオペランド識別子として受け前記第３のリネームタグをデスティネーション識別子として受ける、請求項３に記載の装置。
【請求項５】  前記第１のリネームレジスタ、前記第２のリネームレジスタおよび前記第３のリネームレジスタを含むリネームレジスタファイルをさらに含む、請求項２に記
載の装置。
【請求項６】  前記ルックアヘッドユニットは、前記第１のリネームレジスタ内の値がペンディングであれば前記転送命令に続く命令をストールするように構成される、請求項５に記載の装置。
【請求項７】  前記アーキテクチャ上の第２のレジスタに対応するルックアヘッド記憶部をさらに含み、前記装置は、前記第１のリネームレジスタが有効であれば前記ルックアヘッド記憶部を前記第１のリネームレジスタからの値で更新するように構成される、請求項５に記載の装置。
【請求項８】  前記装置は、前記値を用いて前記転送命令に続く前記命令のためのルックアヘッド値を発生するように構成される、請求項７に記載の装置。
【請求項９】  レジスタリネーミングを行なうための方法であって、
アーキテクチャ上の第１のレジスタをデスティネーションとする第１の命令のディスパッチに応答して第１のリネームレジスタを前記アーキテクチャ上の第１のレジスタに割当てるステップと、
アーキテクチャ上の第２のレジスタをデスティネーションとする第２の命令のディスパッチに応答して第２のリネームレジスタを前記アーキテクチャ上の第２のレジスタに割当てるステップと
前記アーキテクチャ上の第１のレジスタから前記アーキテクチャ上の第２のレジスタに値を転送するよう定められた転送命令を検出するステップと、
前記検出に応答して前記第１のリネームレジスタを前記アーキテクチャ上の第２のレジスタに割当てるステップとを含む、レジスタリネーミングを行なうための方法。
【請求項１０】  前記検出に応答して前記転送命令のデスティネーションとして第３のリネームレジスタを割当てるステップをさらに含む、請求項９に記載の方法。
【請求項１１】  前記検出に応答して前記第３のリネームレジスタを前記アーキテクチャ上の第１のレジスタに割当てるステップをさらに含む、請求項１０に記載の方法。
【請求項１２】  前記転送命令を実行のためにスケジューリングするステップをさらに含む、請求項１１に記載の方法。
【請求項１３】  前記スケジューリングに応答して前記第１のリネームレジスタを読出すステップをさらに含む、請求項１２に記載の方法。
【請求項１４】  前記転送命令を実行し、前記実行に応答して前記第３のリネームレジスタを更新するステップをさらに含む、請求項１３に記載の方法。
【請求項１５】  前記第１のリネームレジスタの前記アーキテクチャ上の第２のレジスタへの割当に応答して、前記第１のリネームレジスタを読出し前記アーキテクチャ上の第２のレジスタに対応する値を与えるステップをさらに含む、請求項９に記載の方法。
【請求項１６】  前記第１の命令の実行に応答して前記第１のリネームレジスタが更新されていない場合、前記転送命令に続く命令をストールするステップをさらに含む、請求項１５に記載の方法。
【請求項１７】  プロセッサであって、
前記プロセッサがフェッチした命令を受けるように結合されたリネーム／スケジュールユニットを含み、前記リネーム／スケジュールユニットは、前記命令の受取りに応答してレジスタリネーミングを行ない前記命令を実行のためにスケジュールするように構成され、前記プロセッサはさらに、
前記リネーム／スケジュールユニットに結合され複数のリネームレジスタを含むリネームレジスタファイルを含み、
前記リネーム／スケジュールユニットは、アーキテクチャ上のレジスタ各々と前記複数のリネームレジスタのうち少なくとも１つとの間のマッピングを保持するように構成され、前記リネーム／スケジュールユニットは、アーキテクチャ上の第１のレジスタをソースオペランドとしアーキテクチャ上の第２のレジスタをデスティネーションとする転送命令を検出すると、前記アーキテクチャ上の第１のレジスタに割当てられた前記複数のリネームレジスタのうち１つを前記アーキテクチャ上の第２のレジスタに再割当するように構成
される、プロセッサ。
【請求項１８】  前記リネーム／スケジュールユニットはさらに、前記複数のリネームレジスタのうち別の１つを前記転送命令の前記デスティネーションに割当てるように構成される、請求項１７に記載のプロセッサ。
【請求項１９】  前記リネーム／スケジュールユニットはさらに、前記マッピングを更新して前記複数のリネームレジスタのうちの別の１つを前記アーキテクチャ上の第１のレジスタ割当てるように構成される、請求項１８に記載のプロセッサ。
【請求項２０】  前記リネーム／スケジュールユニットはさらに、前記転送命令を実行のためにスケジュールするように構成される、請求項１８に記載のプロセッサ。
【請求項２１】  前記リネームレジスタファイルは、前記リネーム／スケジュールユニットによる前記転送命令のスケジュールに応答して前記複数のリネームレジスタのうち前記１つ内の値を与えるように構成される、請求項２０に記載のプロセッサ。
【請求項２２】  前記リネームレジスタファイルに結合された実行ユニットをさらに含み、前記実行ユニットは前記転送命令を実行するように構成され、前記実行ユニットは前記転送命令の実行時に前記値を前記リネームレジスタファイルに与えるように構成され、前記実行ユニットはさらに、前記複数のリネームレジスタのうち前記別の１つを前記デスティネーションとして識別するように構成され、これにより、前記複数のリネームレジスタのうち前記別の１つは前記値で更新される、請求項２１に記載のプロセッサ。