【誤訳訂正書】
【提出日】平成23年1月7日(2011.1.7)
【誤訳訂正１】
【訂正対象書類名】特許請求の範囲
【訂正対象項目名】全文
【訂正方法】変更
【訂正の内容】
【特許請求の範囲】
【請求項１】
マイクロプロセッサであって、
オペレーションを発行するように構成されたスケジューラと、
前記スケジューラによって発行されたメモリオペレーションを受信するように結合され、前記メモリオペレーションを実行するように構成された読み出し／書き込みユニットとを含み、
前記読み出し／書き込みユニットは、前記読み出し／書き込みユニットに発行された複数のメモリオペレーションを識別する情報を記憶するように構成され、前記読み出し／書き込みユニットは、前記複数のメモリオペレーションの１つに関して前記マイクロプロセッサ内で行われた予測に基づいてのデータ推測が誤っていたことが検出されたことに応答して、前記スケジューラに対して、前記読み出し／書き込みユニット内の複数のメモリオペレーションの少なくとも１つを再発行しなければならないことを示すリプレイ指示を与えるように構成され、
前記スケジューラは、前記読み出し／書き込みユニットからの前記指示に応答して、前記複数のメモリオペレーションのうち前記少なくとも１つを再発行するよう構成される、
マイクロプロセッサ。
【請求項２】
前記読み出し／書き込みユニットは、前記複数のメモリオペレーションの１つのアドレスと合致するアドレスを有する複数のメモリオペレーションの各々を識別することによって、前記リプレイの指示を生成するように構成される、
請求項１記載のマイクロプロセッサ。
【請求項３】
前記読み出し／書き込みユニットは、複数のメモリオペレーションの１つのアドレスの推測値、又は前記複数メモリオペレーションの前記１つの前記アドレスの前記推測値とは異なる値であって前記推測値より最近に生成された新たな値の何れかと合致するアドレスを有する前記複数のオペレーションの各々を識別することによって、前記リプレイ指示を生成するように構成される、
請求項１記載のマイクロプロセッサ。
【請求項４】
前記読み出し／書き込みユニットは、読み出しオペレーションであってかつ前記複数のメモリオペレーションの前記１つのアドレスと合致するアドレスを有する前記複数のメモリオペレーションの各々を識別することによって、前記リプレイ指示を生成するよう構成される、
請求項１記載のマイクロプロセッサ。
【請求項５】
前記読み出し／書き込みユニットは、前記複数のメモリオペレーションに含まれる読み出しオペレーションのうちいずれの読み出しオペレーションが書き込みオペレーションのデータを転送したかを追跡するように構成され、書き込みオペレーションのアドレスが誤って推測されたものとして検出された場合、前記読み出し／書き込みユニットは、前記書き込みオペレーションからデータを転送した前記読み出しオペレーションのより最近のオペレーションのいずれをも識別することによって、前記リプレイ指示を生成するよう構成される、
請求項１記載のマイクロプロセッサ。
【請求項６】
前記読み出し／書き込みユニットは、前記複数のメモリオペレーションの前記一つが発生する前に前記複数のメモリオペレーションのそれぞれを識別することによって、前記リプレイ指示を生成するよう構成される、
請求項１記載のマイクロプロセッサ。
【請求項７】
前記読み出し／書き込みユニットは、データ推測が誤っていたことが検出された、前記複数のメモリオペレーションの前記一つを識別することで前記リプレイ指示を生成するよう構成される、
請求項１記載のマイクロプロセッサ。
【請求項８】
前記読み出し／書き込みユニットは、前記複数のメモリオペレーションの前記一つのアドレスの推測値を、前記複数のメモリオペレーションの前記一つのアドレスの前記推測値とは異なる値であって前記推測値より最近に生成された新しい値と比較することで、前記データ推測の誤りを検出するよう構成される、
請求項１記載のマイクロプロセッサ。
【請求項９】
前記読み出し／書き込みユニットは、読み出しオペレーションの推測結果と、前記読み出しオペレーションの非推測結果と、を比較することで、前記データ推測の誤りを検出するよう構成される、
請求項１記載のマイクロプロセッサ。
【請求項１０】
コンピュータシステムであって、
メモリと、
前記メモリに結合されたプロセッサとを含み、
前記プロセッサは、メモリオペレーションを発行するよう構成されたスケジューラと、前記スケジューラによって発行されたメモリオペレーションを受信するよう結合されて前記メモリオペレーションを実行するよう構成された読み出し／書き込みユニットと、を含み、
前記読み出し／書き込みユニットは、当該読み出し／書き込みユニットに発行された複数のメモリオペレーションを識別する情報を記憶するよう構成され、前記複数のメモリオペレーションの１つに関して前記プロセッサ内で行われたデータ推測が誤っていたことが検出されたことに応答して、当該読み出し／書き込みユニット内の前記複数のメモリオペレーションの少なくとも１つが再発行されなければならないこと示すリプレイ指示を前記スケジューラに与えるよう構成され、
前記スケジューラは、前記読み出し／書き込みユニットからの前記指示に応答して、前記複数のメモリオペレーションの少なくとも一つを再発行するように構成され、前記スケジューラは前記読み出し／書き込みユニットから分離されている、
コンピュータシステム。
【請求項１１】
スケジューラが読み出し／書き込みユニットにオペレーションを発行して当該オペレーションを実行させ、
前記読み出し／書き込みユニットが、前記オペレーションに実行されたデータ推測が誤っていることを検出し、
前記読み出し／書き込みユニットは前記スケジューラから分離しており、前記検出に応答して、前記読み出し／書き込みユニットが、現在前記読み出し／書き込みユニットに発行されている少なくとも１つのオペレーションを識別するリプレイ指示を生成し、
前記生成に応じて、前記スケジューラが、前記読み出し／書き込みユニットに前記少なくとも一つのオペレーションを再発行する、
方法。
【請求項１２】
前記生成では、前記読み出し／書き込みユニットが、前記データ推測が誤っていたオペレーションよりもより最近の前記読み出し／書き込みユニット内の全ての未済のオペレーションを識別して、識別された当該オペレーションをリプレイする、１つあるいはそれ以上のリプレイ指示を生成する、
請求項１１記載の方法。
【請求項１３】
前記生成では、前記読み出し／書き込みユニットが、前記データ推測が誤っていた前記オペレーションのアドレスと合致するアドレスを有する前記読み出し／書き込みユニット内の未済のオペレーションを識別して、識別された当該オペレーションをリプレイする、１つあるいはそれ以上のリプレイ指示を生成する、
請求項１１記載の方法。
【請求項１４】
前記生成では、前記読み出し／書き込みユニットが、前記データ推測が誤っていたオペレーションのアドレスの推測値と合致するアドレスを有する前記読み出し／書き込みユニット内の未済のオペレーションを識別して、識別された当該オペレーションをリプレイする、１つあるいはそれ以上のリプレイ指示を生成する、
請求項１１記載の方法。
【請求項１５】
前記読み出し／書き込みユニット内の未済の読み出しオペレーションのどのオペレーションが比較的古い読み出しオペレーションからデータを転送したかを追跡し、
前記比較的古い読み出しオペレーションのアドレスに対して行われたデータ推測が前記指示によって誤っているとして識別された場合、前記生成では、前記読み出し／書き込みユニットが、前記比較的古い読み出しオペレーションからデータを転送した読み出しオペレーションを識別して、識別された当該オペレーションをリプレイする、１つ以上のリプレイ指示を生成する、
請求項１１記載の方法。
【請求項１６】
前記生成では、前記読み出し／書き込みユニットが、前記データ推測が誤っていたオペレーションを識別して、識別された当該オペレーションをリプレイするリプレイ指示を生成する、
請求項１１記載の方法。
【請求項１７】
前記検出では、前記読み出し／書き込みユニットが、前記オペレーションのアドレスの推測値を前記オペレーションのアドレスの前記推測値とは異なる値であって前記推測値より最近に生成された新しい値と比較する、
請求項１１記載の方法。
【請求項１８】
前記検出では、前記オペレーションの推測結果を前記オペレーションの非推測結果と比較する、
請求項１１記載の方法。
【誤訳訂正２】
【訂正対象書類名】明細書
【訂正対象項目名】００３５
【訂正方法】変更
【訂正の内容】
【００３５】
データ推測の実行をサポートするマイクロプロセッサでは、１つ又はそれ以上のオペレーションがデータ推測の誤りに起因して再実行されることが求められる。マイクロプロセッサ１００は、オペレーションの再実行を可能とする様々なリプレイ機構を含むことができる。例えば、オペレーションのデータ投機的オペランドの１つが誤っているという指示に応答して、スケジューラ１１８がオペレーションをファンクショナルユニット１２６Ｃに対して再発行するよう構成可能である。同様に、推測が誤っていると判明したオペレーションのデータ推測に応答して、読み出し／書き込みユニットにおいて未済のオペレーションのうちどれをリプレイしなければならないかを検出するリプレイ機構も読み出し／書き込みユニット１２６Ｃは含む。読み出し／書き込みユニット１２６Ｃは、未済のオペレーションをリプレイしなければならないかに関する信号をスケジューラに送信し、後にスケジューラが読み出し／書き込みユニット１２６Ｃにこれらのオペレーションを再発行させる。
【誤訳訂正３】
【訂正対象書類名】明細書
【訂正対象項目名】００３７
【訂正方法】変更
【訂正の内容】
【００３７】
読み出し／書き込みユニットに発行されているが（例えば、スケジューラ１１８によって）、まだ実行を完了してないオペレーションに関するオペレーションストレージ３０７も、読み出し／書き込みユニット１２６Ｃに含まれる。データ推測が実行された読み出し／書き込みユニットに発行されたオペレーションは、そのオペレーションがデータ推測検証ロジック３０５によって検証されるまでリタイヤすることができない。オペレーションストレージ３０７は、読み出し／書き込みユニット１２６Ｃ内の全ての未済のオペレーションのトラッキング、即ち追跡が可能である。オペレーションストレージ３０７は、未処理の読み出し即ちロード及び書き込み即ちストアのそれぞれについてエントリ３１０を含むことができる。
【誤訳訂正４】
【訂正対象書類名】明細書
【訂正対象項目名】００４１
【訂正方法】変更
【訂正の内容】
【００４１】
誤って推測されたオペレーションを再実行することが（例えば、誤った依存予測、又は誤ったアドレス予測に起因して）求められれば、データ推測検証ロジック３０５は、オペレーションのリプレイの実行を行うことができる。誤って推測された結果に対する正しい結果が既に入手可能であれば（例えば、誤った結果が、誤ったデータ又は誤った依存予測に起因すれば）、マイクロプロセッサの他の部分における依存オペレーションが正しい値を用いて再実行可能であるように、データ推測検証ユニットが、読み出し／書き込みユニット１２６Ｃに、誤って推測されたオペレーションの正しい結果を、マイクロプロセッサの他のコンポーネントにブロードキャストさせる。ある種の実施形態では、データ推測検証ロジック３０５がそのようなオペレーションをリプレイすることを生じさせない。読み出し／書き込みユニット１２６Ｃは、たとえこのオペレーションのリプレイを生じさせるとしても、未済のオペレーションの実行を完了可能であることに注目されたい。
【誤訳訂正５】
【訂正対象書類名】明細書
【訂正対象項目名】００４３
【訂正方法】変更
【訂正の内容】
【００４３】
一実施形態では、データ推測検証ロジック３０５は、読み出し／書き込みユニット内の、誤って推測されたオペレーションよりも最近のものである未済のオペレーションの全てをリプレイさせることによって、依存オペレーションをリプレイすることができる。ある種の実施形態では、コンパレータロジック３０３がオペレーションストレージ３０７内の比較的早期のオペレーションをリプレイするために識別し得る。コンパレータロジック３０３は、値を比較し、及び／又は一致する値を検出するための様々な手段（例えば、コンパレータ、内容アドレス宛先指定可能メモリ等）の全て含む。
【誤訳訂正６】
【訂正対象書類名】明細書
【訂正対象項目名】００４５
【訂正方法】変更
【訂正の内容】
【００４５】
幾つかの実施形態では、読み出し／書き込みユニット１２６Ｃは、未済の読み出しのアドレスと比較的古い書き込みのアドレスとを比較することによって書き込みからロードフォワーディングを実装し得る。読み出しのアドレスが比較的古い記録のアドレスと合致すれば、読み出し／書き込みユニット１２６Ｃが、読み出しオペレーションの結果として比較的古い書き込みオペレーションによって記憶されたデータを出力し得る。書き込みオペレーションからデータを転送する度に、転送された読み出しオペレーションと関連付けられたエントリ、フォワーディングトラッキングバッファ３０９における書き込みオペレーションを識別するタグを、読み出し／書き込みユニット１２６Ｃが記憶することができる。これらの実施形態の幾つかでは、コンパレータロジック３０３は、フォワーディングトラッキングバッファ３０９によって与えられた情報を使用可能であり、オペレーションに関する誤ったデータ推測を検出するデータ推測検証ロジック３０６に応じて再実行するためのオペレーションを検証する。例えば、書き込みオペレーションのためのアドレス予測が誤っていると決定されれば、コンパレータロジック３０３が書き込みオペレーションのためのアドレスの新たな値とオペレーションストレージ３０７におけるより最近の読み出しオペレーションの各々のアドレスを比較するよう構成することができる。いずれのマッチングオペレーションも、誤って投機的推測された書き込みアドレスに起因するのではなく、誤って投機予測された書き込みからデータを転送した筈である。従って、読み出し／書き込みユニット１２６Ｃは、これらのマッチングオペレーションの再実行を生じさせることができる。加えて、誤って投機された書き込みオペレーションのタグは、より最近の読み出しに関するフォワーディングトラッキングバッファ３０９に記憶されたタグと比較され得る。誤って投機された書き込みオペレーションがより最近の読み出しのために記憶されたタグと合致すれば、より最近の読み出しが、書き込みの誤って投機されたアドレスに基づきデータを誤って転送したことを示し、読み出し／書き込みユニット１２６Ｃがより最近の読み出しを再実行させる。
【誤訳訂正７】
【訂正対象書類名】明細書
【訂正対象項目名】００４６
【訂正方法】変更
【訂正の内容】
【００４６】
図３に誤ったデータの推測の検出に応じて読み出し／書き込みユニット内の未済のオペレーションをリプレイする方法の一実施形態が示される。５０１において、オペレーションに関するデータ推測が誤っているという指示が検出される。例えば、読み出し／書き込みユニットがアドレス生成ユニット（幾つかの実施形態では、読み出し／書き込みユニットの一部であり得る）からオペレーションに関するアドレスの新たな値を受信し得る。新たなアドレス値は、オペレーション又は他のオペレーションの投機的な結果を生成するよう読み出し／書き込みユニットによって使用された投機的なアドレス値とは異なっており、そのアドレスに対して実行された投機的なデータ推測が誤っていることを示す。他の実施例では、読み出し／書き込みユニットが読み出しの投機的な結果（例、読み出し結果がより早い時期の書き込みのソースに等しいであろうと予測することによって生成された）とデータキャッシュにアクセスすることによって得られた読み出しの実際の結果と比較することによって、依存予測が誤っていることを検出可能である。
【誤訳訂正８】
【訂正対象書類名】明細書
【訂正対象項目名】００４７
【訂正方法】変更
【訂正の内容】
【００４７】
図３Ａに示す実施形態では、５０３で示したようにオペレーションに関するデータ推測が誤っていると検出されたことに応答して、読み出し／書き込みユニットが読み出し／書き込みユニット内のより最近の未済のオペレーションの全てを再実行させる。読み出し／書き込みユニットは、リプレイされる各オペレーションのタグをスケジューラに供給することによって、より最近のオペレーションを再実行させる。読み出し／書き込みユニットによって供給されたタグに応答して、スケジューラが、スケジューラにおけるオペレーションのステート[例えば、“発行された(issued)”から“未発行の（non-issued）”、又は“再発行が求められる(need to be reissued)”まで]を更新し得る。そのようなリプレイ機構によれば、より最近のオペレーションがマイクロプロセッサのプロセッシングパイプラインからフラッシュさえることなく、命令キャッシュ１０６からリフェッチされてリプレイできるようになる。
【誤訳訂正９】
【訂正対象書類名】明細書
【訂正対象項目名】００４８
【訂正方法】変更
【訂正の内容】
【００４８】
図３Ｂには、読み出し／書き込みユニット内の未済のオペレーションを再実行する方法の他の実施形態が示される。５０５において、書き込みのアドレスのデータ推測が誤っていることの指示が検出される。より最近の未済の読み出し又書き込みが、５０７で決定されたように、誤って投機された書き込みのアドレスの推測値又は新たな値と合致するアドレスを有する場合、マッチングオペレーションを再実行することができる。より最近のオペレーションのアドレスの何れも書き込みオペレーションのアドレスの投機的値及び新たな値と合致しなければ、より最近のオペレーションは５０９で示したようにリプレイされ得ない。
【誤訳訂正１０】
【訂正対象書類名】明細書
【訂正対象項目名】００４９
【訂正方法】変更
【訂正の内容】
【００４９】
図３Ｃに、読み出し／書き込みユニット内の未済のオペレーションを再実行する方法の更なる他の実施形態が示される。５１５において、書き込みオペレーションのアドレスに関するデータ推測が誤っていることの指示が検出される。最近の読み出しのアドレスの全てが書き込みオペレーションのアドレスの新たな値と合致すれば、合致するより最近の読み出しはリプレイすることができる。５２１で決定したように、より最近の読み出しが、（例えば、より最近の読み出しがデータを転送した書き込みオペレーションのタグと誤って投機された書き込みのタグとを比較することによって決定された）誤って投機された書き込みのデータを転送した場合、合致する、より最近の読み出しをリプレイすることができる。
【誤訳訂正１１】
【訂正対象書類名】図面
【訂正対象項目名】図３Ａ
【訂正方法】変更
【訂正の内容】
【図３Ａ】
2007503661.tif 000001
【誤訳訂正１２】
【訂正対象書類名】図面
【訂正対象項目名】図３Ｂ
【訂正方法】変更
【訂正の内容】
【図３Ｂ】
2007503661.tif 000002