コンピュータのメモリを参照する方法およびコンピュータ
【課題】新しいアーキテクチャのコンピュータにおいて、新しいバイナリと同じアドレス空間を共有して、古いバイナリをいかなる修正を伴わずに実行する。
【解決手段】第1のコンピュータ命令ストリームをプロファイルし、前記第1のコンピュータ命令ストリームのプロファイルを分析し、前記第1のコンピュータ命令ストリームの周波数実行セクションのみを第2のコンピュータ命令ストリームへ変換し、前記第1のコンピュータ命令ストリームにおけるそれぞれの命令に対応するビットを含むビットベクトルを保存し、前記第1のコンピュータ命令ストリームの実行を監視し、前記第1のコンピュータ命令ストリームから前記第2のコンピュータ命令ストリームへ前記実行を移動し、前記周波数実行セクションの実行が完了した時に、前記第1のコンピュータ命令ストリームの実行に復帰する。
【解決手段】第1のコンピュータ命令ストリームをプロファイルし、前記第1のコンピュータ命令ストリームのプロファイルを分析し、前記第1のコンピュータ命令ストリームの周波数実行セクションのみを第2のコンピュータ命令ストリームへ変換し、前記第1のコンピュータ命令ストリームにおけるそれぞれの命令に対応するビットを含むビットベクトルを保存し、前記第1のコンピュータ命令ストリームの実行を監視し、前記第1のコンピュータ命令ストリームから前記第2のコンピュータ命令ストリームへ前記実行を移動し、前記周波数実行セクションの実行が完了した時に、前記第1のコンピュータ命令ストリームの実行に復帰する。
Notice: Undefined index: DEJ in /mnt/www/gzt_disp.php on line 298
【特許請求の範囲】
【請求項1】
第1のコンピュータ命令ストリームをプロファイルする工程であって、前記第1のコンピュータ命令ストリームのプロファイルを生成するために、前記第1のコンピュータ命令ストリームの実行フローの詳細を記録することを含むプロファイル工程と、
周波数実行セクションを区別するために、前記第1のコンピュータ命令ストリームのプロファイルを分析する工程と、
前記第1のコンピュータ命令ストリームの周波数実行セクションのみを第2のコンピュータ命令ストリームへ変換する工程と、
前記第1のコンピュータ命令ストリームにおけるそれぞれの命令に対応するビットを含むビットベクトルを保存する工程であって、前記各ビットが、対応する命令のための前記周波数実行セクションのエントリーポイントがあるかどうかを示すものである工程と、
前記第1のコンピュータ命令ストリームの実行が前記周波数実行セクションに到達した時を判断するために、前記第1のコンピュータ命令ストリームの実行を監視する工程と、
前記周波数実行セクションのみを実行するために、前記第1のコンピュータ命令ストリームから前記第2のコンピュータ命令ストリームへ前記実行を移動する工程と、
前記周波数実行セクションの実行が完了した時に、前記第1のコンピュータ命令ストリームの実行に復帰する工程とを含む、
第1のコンピュータ命令ストリームから第2のコンピュータ命令ストリームへ実行を移動する方法。
【請求項2】
前記分析する工程は、前記第1のコンピュータ命令ストリームに中の複数の周波数実行セクションを区別し、
前記監視する工程は、実行がそれぞれの前記周波数実行セクションに到達した時を判断するために、前記第1のコンピュータ命令ストリームの実行を監視することを含み、
前記移動する工程は、前記それぞれの周波数実行セクションのみを実行するために、前記第1のコンピュータ命令ストリームから前記第2のコンピュータ命令ストリームへ実行を移動させることを含み、
前記それぞれの周波数実行セクションの実行が完了した時に、前記第1のコンピュータ命令ストリームの実行に復帰する
請求項1記載の方法。
【請求項3】
テーブルに、前記周波数実行セクションのエントリーポイントのアドレスを保存する工程をさらに含み、
前記監視する工程は、前記命令のアドレスが、前記周波数実行セクションのエントリーポイントのアドレスに一致したかどうかを判断するために、前記第1のコンピュータ命令ストリームのそれぞれの命令において、前記テーブルを照会することを含み、
前記移動する工程は、前記命令のアドレスが、前記周波数実行セクションのエントリーポイントのアドレスに一致した場合に実行される工程である
請求項1記載の方法。
【請求項4】
前記監視する工程は、命令に対応するビットがセットされたかどうかを判断するために、前記第1のコンピュータ命令ストリームの中のそれぞれの命令においてビットベクトルを照会することを含み、
前記移動する工程は、前記ビットがセットされた場合に実行される
請求項1記載の方法。
【請求項5】
前記監視する工程は、実行が前記周波数実行セクションに到達した時を判断するために、統計を利用すること含む
請求項1記載の方法。
【請求項6】
前記第1のコンピュータ命令ストリームは、第1の命令セットアーキテクチャにおいて実行されるものであり、
前記第2のコンピュータ命令ストリームは、第2の命令セットアーキテクチャにおいて実行されるもので、前記第2の命令セットアーキテクチャは、前記第1の命令セットアーキテクチャとは相違する
請求項1記載の方法。
【請求項7】
第1のコンピュータ命令ストリームをプロファイルする工程であって、前記第1のコンピュータ命令ストリームのプロファイルを生成するために、前記第1のコンピュータ命令ストリームの実行フローの詳細を記録することを含むプロファイル工程と、
周波数実行セクションを区別するために、前記第1のコンピュータ命令ストリームのプロファイルを分析する工程と、
前記第1のコンピュータ命令ストリームの周波数実行セクションのみを、第2のコンピュータ命令ストリームへ変換する工程と、
前記周波数実行セクションのエントリーポイントのアドレスと前記第1のコンピュータ命令ストリームにおける命令の対応するアドレスとをマッピングしたものを含むマッピングテーブルを保存する工程と、
前記第1のコンピュータ命令ストリームのそれぞれのページのためのビットであって、それぞれのビットは、前記周波数実行セクションのマッピングが、対応するページにあるかどうかを示すものであるビットを含むビットベクトルを保存する工程と、
前記第1のコンピュータ命令ストリームの実行が前記周波数実行セクションに到達した時を判断するために、前記第1のコンピュータ命令ストリームの実行を監視する工程と、
前記周波数実行セクションのみを実行するために、前記第1のコンピュータ命令ストリームから前記第2のコンピュータ命令ストリームへ前記実行を移動する工程と、
前記周波数実行セクションの実行が完了した時に、前記第1のコンピュータ命令ストリームの実行に復帰する工程とを含む、
第1のコンピュータ命令ストリームから第2のコンピュータ命令ストリームへ実行を移動する方法。
【請求項8】
第1のコンピュータ命令ストリームをプロファイルするよう構成されたプロファイル装置であって、前記第1のコンピュータ命令ストリームのプロファイルを生成するために、前記第1のコンピュータ命令ストリームの実行フローの詳細を記録するように構成されているプロファイル装置と、
周波数実行セクションを区別するために、前記第1のコンピュータ命令ストリームのプロファイルを分析し、
前記第1のコンピュータ命令ストリームにおけるそれぞれの命令に対応するビットを含むビットベクトルを保存し、
前記対応する命令のための前記周波数実行セクションのエントリーポイントがある場合にビットベクトルに対しビットをセットする
ように構成された分析装置と、
前記第1のコンピュータ命令ストリームの周波数実行セクションのみを第2のコンピュータ命令ストリームへ変換するように構成された変換装置と、
前記第1のコンピュータ命令ストリームの実行が前記周波数実行セクションに到達した時を判断するために、前記第1のコンピュータ命令ストリームの実行を監視し、
前記周波数実行セクションのみを実行するために、前記第1のコンピュータ命令ストリームから前記第2のコンピュータ命令ストリームへ前記実行を移動するように構成された監視装置とを含む、
第1のコンピュータ命令ストリームから第2のコンピュータ命令ストリームへ実行を移動するように構成されたコンピュータ。
【請求項9】
前記分析装置は、前記第1のコンピュータ命令ストリームの中の複数の周波数実行セクションを区別するようにさらに構成され、
前記監視装置は、
実行がそれぞれの前記周波数実行セクションに到達した時を判断するために、前記第1のコンピュータ命令ストリームの実行を監視し、かつ
前記それぞれの周波数実行セクションのみを実行するために、前記第1のコンピュータ命令ストリームから前記第2のコンピュータ命令ストリームへ実行を移動させるようにさらに構成された
請求項8記載のコンピュータ。
【請求項10】
前記第1のコンピュータ命令ストリームは、第1の命令セットアーキテクチャにおいて実行されるものであり、
前記第2のコンピュータ命令ストリームは、第2の命令セットアーキテクチャにおいて実行されるもので、前記第2の命令セットアーキテクチャは、前記第1の命令セットアーキテクチャとは相違する
請求項8記載のコンピュータ。
【請求項11】
第1のコンピュータ命令ストリームをプロファイルするよう構成されたプロファイル装置であって、前記第1のコンピュータ命令ストリームのプロファイルを生成するために、前記第1のコンピュータ命令ストリームの実行フローの詳細を記録するように構成されているプロファイル装置と、
周波数実行セクションを区別するために、前記第1のコンピュータ命令ストリームのプロファイルを分析し、
前記周波数実行セクションのエントリーポイントのアドレスと、前記第1のコンピュータ命令ストリームにおける命令の対応するアドレスとをマッピングしたものを含むマッピングテーブルを保存し、
前記第1のコンピュータ命令ストリームのそれぞれのページのためのビットであって、それぞれのビットは、前記周波数実行セクションのマッピングが、対応するページにあるかどうかを示すものであるビットを含むビットベクトルを保存するように構成された分析装置と、
前記第1のコンピュータ命令ストリームの周波数実行セクションのみを第2のコンピュータ命令ストリームへ変換するように構成された変換装置と、
前記第1のコンピュータ命令ストリームの実行が前記周波数実行セクションに到達した時を判断するために、前記第1のコンピュータ命令ストリームの実行を監視し、
前記周波数実行セクションのみを実行するために、前記第1のコンピュータ命令ストリームから前記第2のコンピュータ命令ストリームへ前記実行を移動するように構成された監視装置とを含む、
第1のコンピュータ命令ストリームから第2のコンピュータ命令ストリームへ実行を移動するように構成されたコンピュータ。
【請求項1】
第1のコンピュータ命令ストリームをプロファイルする工程であって、前記第1のコンピュータ命令ストリームのプロファイルを生成するために、前記第1のコンピュータ命令ストリームの実行フローの詳細を記録することを含むプロファイル工程と、
周波数実行セクションを区別するために、前記第1のコンピュータ命令ストリームのプロファイルを分析する工程と、
前記第1のコンピュータ命令ストリームの周波数実行セクションのみを第2のコンピュータ命令ストリームへ変換する工程と、
前記第1のコンピュータ命令ストリームにおけるそれぞれの命令に対応するビットを含むビットベクトルを保存する工程であって、前記各ビットが、対応する命令のための前記周波数実行セクションのエントリーポイントがあるかどうかを示すものである工程と、
前記第1のコンピュータ命令ストリームの実行が前記周波数実行セクションに到達した時を判断するために、前記第1のコンピュータ命令ストリームの実行を監視する工程と、
前記周波数実行セクションのみを実行するために、前記第1のコンピュータ命令ストリームから前記第2のコンピュータ命令ストリームへ前記実行を移動する工程と、
前記周波数実行セクションの実行が完了した時に、前記第1のコンピュータ命令ストリームの実行に復帰する工程とを含む、
第1のコンピュータ命令ストリームから第2のコンピュータ命令ストリームへ実行を移動する方法。
【請求項2】
前記分析する工程は、前記第1のコンピュータ命令ストリームに中の複数の周波数実行セクションを区別し、
前記監視する工程は、実行がそれぞれの前記周波数実行セクションに到達した時を判断するために、前記第1のコンピュータ命令ストリームの実行を監視することを含み、
前記移動する工程は、前記それぞれの周波数実行セクションのみを実行するために、前記第1のコンピュータ命令ストリームから前記第2のコンピュータ命令ストリームへ実行を移動させることを含み、
前記それぞれの周波数実行セクションの実行が完了した時に、前記第1のコンピュータ命令ストリームの実行に復帰する
請求項1記載の方法。
【請求項3】
テーブルに、前記周波数実行セクションのエントリーポイントのアドレスを保存する工程をさらに含み、
前記監視する工程は、前記命令のアドレスが、前記周波数実行セクションのエントリーポイントのアドレスに一致したかどうかを判断するために、前記第1のコンピュータ命令ストリームのそれぞれの命令において、前記テーブルを照会することを含み、
前記移動する工程は、前記命令のアドレスが、前記周波数実行セクションのエントリーポイントのアドレスに一致した場合に実行される工程である
請求項1記載の方法。
【請求項4】
前記監視する工程は、命令に対応するビットがセットされたかどうかを判断するために、前記第1のコンピュータ命令ストリームの中のそれぞれの命令においてビットベクトルを照会することを含み、
前記移動する工程は、前記ビットがセットされた場合に実行される
請求項1記載の方法。
【請求項5】
前記監視する工程は、実行が前記周波数実行セクションに到達した時を判断するために、統計を利用すること含む
請求項1記載の方法。
【請求項6】
前記第1のコンピュータ命令ストリームは、第1の命令セットアーキテクチャにおいて実行されるものであり、
前記第2のコンピュータ命令ストリームは、第2の命令セットアーキテクチャにおいて実行されるもので、前記第2の命令セットアーキテクチャは、前記第1の命令セットアーキテクチャとは相違する
請求項1記載の方法。
【請求項7】
第1のコンピュータ命令ストリームをプロファイルする工程であって、前記第1のコンピュータ命令ストリームのプロファイルを生成するために、前記第1のコンピュータ命令ストリームの実行フローの詳細を記録することを含むプロファイル工程と、
周波数実行セクションを区別するために、前記第1のコンピュータ命令ストリームのプロファイルを分析する工程と、
前記第1のコンピュータ命令ストリームの周波数実行セクションのみを、第2のコンピュータ命令ストリームへ変換する工程と、
前記周波数実行セクションのエントリーポイントのアドレスと前記第1のコンピュータ命令ストリームにおける命令の対応するアドレスとをマッピングしたものを含むマッピングテーブルを保存する工程と、
前記第1のコンピュータ命令ストリームのそれぞれのページのためのビットであって、それぞれのビットは、前記周波数実行セクションのマッピングが、対応するページにあるかどうかを示すものであるビットを含むビットベクトルを保存する工程と、
前記第1のコンピュータ命令ストリームの実行が前記周波数実行セクションに到達した時を判断するために、前記第1のコンピュータ命令ストリームの実行を監視する工程と、
前記周波数実行セクションのみを実行するために、前記第1のコンピュータ命令ストリームから前記第2のコンピュータ命令ストリームへ前記実行を移動する工程と、
前記周波数実行セクションの実行が完了した時に、前記第1のコンピュータ命令ストリームの実行に復帰する工程とを含む、
第1のコンピュータ命令ストリームから第2のコンピュータ命令ストリームへ実行を移動する方法。
【請求項8】
第1のコンピュータ命令ストリームをプロファイルするよう構成されたプロファイル装置であって、前記第1のコンピュータ命令ストリームのプロファイルを生成するために、前記第1のコンピュータ命令ストリームの実行フローの詳細を記録するように構成されているプロファイル装置と、
周波数実行セクションを区別するために、前記第1のコンピュータ命令ストリームのプロファイルを分析し、
前記第1のコンピュータ命令ストリームにおけるそれぞれの命令に対応するビットを含むビットベクトルを保存し、
前記対応する命令のための前記周波数実行セクションのエントリーポイントがある場合にビットベクトルに対しビットをセットする
ように構成された分析装置と、
前記第1のコンピュータ命令ストリームの周波数実行セクションのみを第2のコンピュータ命令ストリームへ変換するように構成された変換装置と、
前記第1のコンピュータ命令ストリームの実行が前記周波数実行セクションに到達した時を判断するために、前記第1のコンピュータ命令ストリームの実行を監視し、
前記周波数実行セクションのみを実行するために、前記第1のコンピュータ命令ストリームから前記第2のコンピュータ命令ストリームへ前記実行を移動するように構成された監視装置とを含む、
第1のコンピュータ命令ストリームから第2のコンピュータ命令ストリームへ実行を移動するように構成されたコンピュータ。
【請求項9】
前記分析装置は、前記第1のコンピュータ命令ストリームの中の複数の周波数実行セクションを区別するようにさらに構成され、
前記監視装置は、
実行がそれぞれの前記周波数実行セクションに到達した時を判断するために、前記第1のコンピュータ命令ストリームの実行を監視し、かつ
前記それぞれの周波数実行セクションのみを実行するために、前記第1のコンピュータ命令ストリームから前記第2のコンピュータ命令ストリームへ実行を移動させるようにさらに構成された
請求項8記載のコンピュータ。
【請求項10】
前記第1のコンピュータ命令ストリームは、第1の命令セットアーキテクチャにおいて実行されるものであり、
前記第2のコンピュータ命令ストリームは、第2の命令セットアーキテクチャにおいて実行されるもので、前記第2の命令セットアーキテクチャは、前記第1の命令セットアーキテクチャとは相違する
請求項8記載のコンピュータ。
【請求項11】
第1のコンピュータ命令ストリームをプロファイルするよう構成されたプロファイル装置であって、前記第1のコンピュータ命令ストリームのプロファイルを生成するために、前記第1のコンピュータ命令ストリームの実行フローの詳細を記録するように構成されているプロファイル装置と、
周波数実行セクションを区別するために、前記第1のコンピュータ命令ストリームのプロファイルを分析し、
前記周波数実行セクションのエントリーポイントのアドレスと、前記第1のコンピュータ命令ストリームにおける命令の対応するアドレスとをマッピングしたものを含むマッピングテーブルを保存し、
前記第1のコンピュータ命令ストリームのそれぞれのページのためのビットであって、それぞれのビットは、前記周波数実行セクションのマッピングが、対応するページにあるかどうかを示すものであるビットを含むビットベクトルを保存するように構成された分析装置と、
前記第1のコンピュータ命令ストリームの周波数実行セクションのみを第2のコンピュータ命令ストリームへ変換するように構成された変換装置と、
前記第1のコンピュータ命令ストリームの実行が前記周波数実行セクションに到達した時を判断するために、前記第1のコンピュータ命令ストリームの実行を監視し、
前記周波数実行セクションのみを実行するために、前記第1のコンピュータ命令ストリームから前記第2のコンピュータ命令ストリームへ前記実行を移動するように構成された監視装置とを含む、
第1のコンピュータ命令ストリームから第2のコンピュータ命令ストリームへ実行を移動するように構成されたコンピュータ。
【図1a】
【図1b】
【図1c】
【図1d】
【図1e】
【図2a】
【図2b】
【図2c】
【図3a】
【図3b】
【図3c】
【図3d】
【図3e】
【図3f】
【図3g】
【図3h】
【図3i】
【図3j】
【図3k】
【図3l】
【図3m】
【図3n】
【図3o】
【図4a】
【図4b】
【図4c】
【図4d】
【図4e】
【図4f】
【図4g】
【図4h】
【図4i】
【図5a】
【図5b】
【図6a】
【図6b】
【図6c】
【図7a】
【図7b】
【図7c】
【図7d】
【図7e】
【図7f】
【図7g】
【図7h】
【図7i】
【図7j】
【図8a】
【図8b】
【図8c】
【図9a】
【図9b】
【図9c】
【図9d】
【図9e】
【図9f】
【図9g】
【図9h】
【図9i】
【図9j】
【図9k】
【図1b】
【図1c】
【図1d】
【図1e】
【図2a】
【図2b】
【図2c】
【図3a】
【図3b】
【図3c】
【図3d】
【図3e】
【図3f】
【図3g】
【図3h】
【図3i】
【図3j】
【図3k】
【図3l】
【図3m】
【図3n】
【図3o】
【図4a】
【図4b】
【図4c】
【図4d】
【図4e】
【図4f】
【図4g】
【図4h】
【図4i】
【図5a】
【図5b】
【図6a】
【図6b】
【図6c】
【図7a】
【図7b】
【図7c】
【図7d】
【図7e】
【図7f】
【図7g】
【図7h】
【図7i】
【図7j】
【図8a】
【図8b】
【図8c】
【図9a】
【図9b】
【図9c】
【図9d】
【図9e】
【図9f】
【図9g】
【図9h】
【図9i】
【図9j】
【図9k】
【公開番号】特開2012−108938(P2012−108938A)
【公開日】平成24年6月7日(2012.6.7)
【国際特許分類】
【出願番号】特願2012−21896(P2012−21896)
【出願日】平成24年2月3日(2012.2.3)
【分割の表示】特願2010−211102(P2010−211102)の分割
【原出願日】平成12年1月28日(2000.1.28)
【出願人】(508301087)エーティーアイ・テクノロジーズ・ユーエルシー (68)
【氏名又は名称原語表記】ATI TECHNOLOGIES ULC
【住所又は居所原語表記】One Commerce Valley Drive East, Markham, Ontario, L3T 7X6 Canada
【Fターム(参考)】
【公開日】平成24年6月7日(2012.6.7)
【国際特許分類】
【出願日】平成24年2月3日(2012.2.3)
【分割の表示】特願2010−211102(P2010−211102)の分割
【原出願日】平成12年1月28日(2000.1.28)
【出願人】(508301087)エーティーアイ・テクノロジーズ・ユーエルシー (68)
【氏名又は名称原語表記】ATI TECHNOLOGIES ULC
【住所又は居所原語表記】One Commerce Valley Drive East, Markham, Ontario, L3T 7X6 Canada
【Fターム(参考)】
[ Back to top ]