【誤訳訂正書】
【提出日】平成27年6月22日(2015.6.22)
【誤訳訂正１】
【訂正対象書類名】特許請求の範囲
【訂正対象項目名】全文
【訂正方法】変更
【訂正の内容】
【特許請求の範囲】
【請求項１】
データ処理装置であって、
データ処理動作を実施するための第１の処理回路と、
データ処理動作を実施するための第２の処理回路と、を備え、
前記データ処理装置によって実施される作業負荷が、前記第１の処理回路または前記第２の処理回路のいずれか上で実施することができるように、前記第１の処理回路と前記第２の処理回路が同一の命令セットアーキテクチャを有し、前記作業負荷は、少なくとも１つのアプリケーションと、前記少なくとも１つのアプリケーションを実行するための少なくとも１つのオペレーティングシステムとを含み、
前記第１の処理回路は、前記第１の処理回路の性能が前記第２の処理回路の性能とは異なるように、マイクロアーキテクチャ上で前記第２の処理回路とは異なり、
前記第１の処理回路および前記第２の処理回路は、任意の時点で、前記作業負荷が前記第１の処理回路および前記第２の処理回路のうちの１つによって実施されるように構成され、
前記データ処理装置はさらに、移転刺激信号に応答して、移転元処理回路から移転先処理回路へ前記作業負荷の実施を移転するようにハンドオーバー動作を実施するスイッチコントローラであって、前記移転元処理回路は、前記第１の処理回路および前記第２の処理回路のうちの一方であり、前記移転先処理回路は、前記第１の処理回路および前記第２の処理回路のうちのもう一方である、スイッチコントローラを備え、
前記スイッチコントローラは少なくとも、前記第１の処理回路および前記第２の処理回路から前記少なくとも１つのオペレーティングシステムを論理的に分離する仮想化ソフトウェアを備え、前記ハンドオーバー動作中に、
（ｉ）前記移転元処理回路に、前記ハンドオーバー動作が開始される時に前記第１の処理回路と前記第２の処理回路との間で共有される共有メモリからは利用可能ではない状態であり、かつ前記移転先処理回路が、前記移転元処理回路から前記作業負荷の実施を成功裏に引き継ぐために必要である、その最新アーキテクチャ状態情報を前記移転先処理回路に利用可能にさせ、かつ、
（ｉｉ）前記作業負荷の前記移転が前記少なくとも１つのオペレーティングシステムに透過的であるように、前記少なくとも１つのオペレーティングシステムから、既定のプロセッサ固有の構成情報をマスクするために前記仮想化ソフトウェアを用いる、データ処理装置。
【請求項２】
前記第１の処理回路および前記第２の処理回路に提供される電力を独立的に制御するための電力制御回路をさらに備え、
前記移転刺激信号の発生前に、前記移転先処理回路は、電力節約モードにあり、前記ハンドオーバー動作中に、前記電力制御回路は、前記移転先処理回路が前記作業負荷の実施を引き継ぐ前に、前記移転先処理回路に前記電力節約モードを終了させる、請求項１に記載のデータ処理装置。
【請求項３】
前記ハンドオーバー動作に続いて、前記電力制御回路は、前記移転元処理回路に前記電力節約モードに入らせる、請求項２に記載のデータ処理装置。
【請求項４】
前記移転動作中、前記スイッチコントローラは、最新アーキテクチャ状態情報を取得するために、前記移転先処理回路によって前記共有メモリを参照することなく、その最新アーキテクチャ状態情報を前記移転先処理回路に利用可能にさせるように、前記移転元処理回路に加速機構を採用させる、請求項１〜３のいずれかに記載のデータ処理装置。
【請求項５】
少なくとも前記移転元回路は、関連キャッシュを有し、
前記データ処理装置は、スヌープ制御回路をさらに備え、
前記加速機構は、前記移転元回路の関連キャッシュおよび前記スヌープ制御回路の使用を通じた、前記移転先処理回路への前記最新アーキテクチャ状態情報の移転を含む、請求項４に記載のデータ処理装置。
【請求項６】
前記加速機構は、保存および復元機構であり、前記移転元処理回路に、その最新アーキテクチャ状態情報をその関連キャッシュに記憶させ、前記移転先処理回路に復元動作を実施させ、前記復元動作により、前記スヌープ制御回路が、前記移転元処理回路の関連キャッシュから前記最新アーキテクチャ状態情報を呼び出し、その呼び出された最新アーキテクチャ状態情報を前記移転先処理回路に提供する、請求項５に記載のデータ処理装置。
【請求項７】
前記移転先処理回路は、前記スヌープ制御回路によって取得される前記移転されたアーキテクチャ状態情報が、前記移転先処理回路によって参照されるために記憶される、関連キャッシュを有する、請求項５または請求項６に記載のデータ処理装置。
【請求項８】
前記加速機構は、前記移転元処理回路が、その最新アーキテクチャ状態情報を前記移転先処理回路に提供する、前記移転元処理回路と前記移転先処理回路との間の専用バスを備える、請求項４〜７のいずれかに記載のデータ処理装置。
【請求項９】
前記移転刺激信号は、前記データ処理装置のエネルギー効率を向上させるように生成される、請求項１〜８のいずれかに記載のデータ処理装置。
【請求項１０】
前記アーキテクチャ状態情報は、プログラムカウンタ値を含む、前記移転元処理回路の特殊目的レジスタの１つ以上の、少なくとも最新値を含む、請求項１〜９のいずれかに記載のデータ処理装置。
【請求項１１】
前記アーキテクチャ状態情報は、前記移転元処理回路のアーキテクチャレジスタファイルの中に記憶された前記最新値をさらに含む、請求項１０に記載のデータ処理装置。
【請求項１２】
前記第１の処理回路および前記第２の処理回路のうちの少なくとも１つは、単一処理装置を備える、請求項１〜１１のいずれかに記載のデータ処理装置。
【請求項１３】
前記第１の処理回路および前記第２の処理回路のうちの少なくとも１つは、同一のマイクロアーキテクチャを備える一群の処理装置を備える、請求項１〜１２のいずれかに記載のデータ処理装置。
【請求項１４】
前記第１の処理回路および第２の処理回路は、
異なる実行パイプライン長、または
異なる実行リソース、
のうちの少なくとも１つを有することによって、マイクロアーキテクチャ上異なる、請求項１〜１３のいずれかに記載のデータ処理装置。
【請求項１５】
前記移転元処理回路は、前記移転先処理回路よりも高いスループットの性能であり、前記データ処理装置は、
前記移転元処理回路の熱出力を監視し、前記熱出力が既定レベルに到達すると、前記移転刺激信号をトリガするための温度監視回路をさらに備える、請求項１〜１４のいずれかに記載のデータ処理装置。
【請求項１６】
前記第１の処理回路および前記第２の処理回路は、単一集積回路内に存在する、請求項１〜１５のいずれかに記載のデータ処理装置。
【請求項１７】
データ処理装置であって、
データ処理動作を実施するための第１の処理手段と、
データ処理動作を実施するための第２の処理手段と、を備え、
前記データ処理装置によって実施される作業負荷が、前記第１の処理手段または前記第２の処理手段のいずれか上で実施することができるように、前記第１の処理手段と前記第２の処理手段が同一の命令セットアーキテクチャを有し、前記作業負荷は、少なくとも１つのアプリケーションと、前記少なくとも１つのアプリケーションを実行するための少なくとも１つのオペレーティングシステムとを含み、
前記第１の処理手段は、前記第１の処理手段の性能が前記第２の処理手段の性能とは異なるように、マイクロアーキテクチャ上で前記第２の処理手段とは異なり、
前記第１の処理手段および前記第２の処理手段は、前記作業負荷が、任意の時点で前記第１の処理手段および前記第２の処理手段のうちの１つによって実施されるように構成され、
前記データ処理装置はさらに、移転刺激信号に応答して、移転元処理手段から移転先処理手段へ前記作業負荷の実施を移転するようにハンドオーバー動作を実施する移転制御手段であって、前記移転元処理手段は、前記第１の処理手段および前記第２の処理手段のうちの一方であり、前記移転先処理手段は、前記第１の処理手段および前記第２の処理手段のうちのもう一方である、移転制御手段を備え、
前記移転制御手段は少なくとも、前記第１の処理手段および前記第２の処理手段から前記少なくとも１つのオペレーティングシステムを論理的に分離する仮想化ソフトウェアを備え、前記ハンドオーバー動作中に、
（ｉ）前記移転元処理手段に、前記ハンドオーバー動作が開始される時に前記第１の処理手段と前記第２の処理手段との間で共有される共有メモリ手段からは利用可能ではない状態であり、かつ前記移転先処理手段が、前記移転元処理手段から前記作業負荷の実施を成功裏に引き継ぐために必要である、その最新アーキテクチャ状態情報を前記移転先処理手段に利用可能にさせ、かつ、
（ｉｉ）前記作業負荷の前記移転が前記少なくとも１つのオペレーティングシステムに透過的であるように、前記少なくとも１つのオペレーティングシステムから、既定のプロセッサ固有の構成情報をマスクするために前記仮想化ソフトウェアを用いる、データ処理装置。
【請求項１８】
データ処理動作を実施するための第１の処理回路と、データ処理動作を実施するための第２の処理回路とを有するデータ処理装置を動作する方法であって、前記データ処理装置によって実施される作業負荷が、前記第１の処理回路または前記第２の処理回路のいずれか上で実施することができるように、前記第１の処理回路と前記第２の処理回路が同一の命令セットアーキテクチャを有し、前記作業負荷は、少なくとも１つのアプリケーションと、前記少なくとも１つのアプリケーションを実行するための少なくとも１つのオペレーティングシステムとを備え、前記第１の処理回路は、前記第１の処理回路の性能が前記第２の処理回路の性能とは異なるように、マイクロアーキテクチャ上で前記第２の処理回路とは異なり、前記方法は、
任意の時点で、前記第１の処理回路および前記第２の処理回路のうちの１つの上で前記作業負荷を実施するステップと、
移転刺激信号に応答して、移転元処理回路から移転先処理回路へ前記作業負荷の実施を移転するようにハンドオーバー動作を実施するステップであって、前記移転元処理回路は、前記第１の処理回路および前記第２の処理回路のうちの一方であり、前記移転先処理回路は、前記第１の処理回路および前記第２の処理回路のうちのもう一方である、ハンドオーバー動作を実施するステップであって、当該ハンドオーバー動作は、前記第１の処理回路および前記第２の処理回路から、前記少なくとも１つのオペレーティングシステムを論理的に分離する仮想化ソフトウェアを用いて行なわれる、ステップと、
前記ハンドオーバー動作中に、
（ｉ）前記移転元処理回路に、前記ハンドオーバー動作が開始される時に前記第１の処理回路と第２の処理回路との間で共有される共有メモリからは利用可能ではない状態であり、かつ前記移転先処理回路が、前記移転元処理回路から前記作業負荷の実施を成功裏に引き継ぐために必要である、その最新アーキテクチャ状態情報を前記移転先処理回路に利用可能にさせるステップと、
（ｉｉ）前記作業負荷の前記移転が前記少なくとも１つのオペレーティングシステムに透過的であるように、前記仮想化ソフトウェアを用いて前記少なくとも１つのオペレーティングシステムから、既定のプロセッサ固有の構成情報をマスクするステップと、を含む、方法。
【誤訳訂正２】
【訂正対象書類名】明細書
【訂正対象項目名】０００３
【訂正方法】変更
【訂正の内容】
【０００３】
したがって、そのような様々なタスクの実施のためにエネルギー効率の高いシステムを提供するために、マルチコアアーキテクチャを使用することが考えられた。複数のプロセッサコアを備えるシステムは、しばらくの間、スループットを高めるために異なるコアが異なるタスクを並行して動作することを可能にすることによって、性能を高めるために使用されたが、そのようなシステムがエネルギー効率を向上させるためにどのように使用できるかという分析は、比較的最近の進展である。
【誤訳訂正３】
【訂正対象書類名】明細書
【訂正対象項目名】００３０
【訂正方法】変更
【訂正の内容】
【００３０】
第１の処理回路および第２の処理回路をマイクロアーキテクチャ上異なるように配置することができる方式はいくつか存在する。一実施形態において、第１の処理回路および第２の処理回路は、異なる実行パイプライン長、または異なる実行リソースのうちの少なくとも１つを有することによって、マイクロアーキテクチャ上異なる。パイプライン長の違いは、典型的に、動作周波数の違いになり、すなわち、性能に影響を与える。同様に、実行リソースの違いは、スループット、したがって性能に影響を与える。例えば、より広範な実行リソースを有する処理回路は、任意の特定の時点でより多くの情報を処理することを可能にし、スループットを向上させる。加えて、または代替として、ある処理回路は、他の処理回路よりも多くの実行リソース、例えば、より多くの算術論理装置（ＡＬＵ）を有する場合があり、これもスループットを向上させる。異なる実行リソースの別の例として、エネルギー効率の高い処理回路は、簡単な順次パイプラインを備えて提供される場合があり、一方、より高性能の処理回路は、非順次のスーパースカラーパイプラインを備えて提供される場合がある。
【誤訳訂正４】
【訂正対象書類名】明細書
【訂正対象項目名】００３１
【訂正方法】変更
【訂正の内容】
【００３１】
例えば、ＧＨｚ周波数で実行する、高性能処理回路を使用する際に発生する可能性がある更なる問題は、そのようなプロセッサが、範囲内で動作するように設計された温度限界に到達する、さらに時々は超える時に発生する可能性がある。これらの問題に対処することを模索するために知られている技法は、熱出力を削減するために、処理回路を低出力状態に入れることが関わり、クロックスロットルおよび／または電圧低下を含む場合があり、処理回路を一定期間完全にオフにする可能性さえある。しかしながら、本発明の実施形態の技法を適合すると、熱限界を超えることを回避するために代替の手法を実装することが可能である。具体的には、一実施形態において、移転元処理回路は、移転先処理回路よりも性能が高く、データ処理装置は、移転元処理回路の熱出力を監視し、前記熱出力が既定のレベルに到達すると前記移転刺激をトリガするための温度監視回路をさらに備える。そのような技法によると、作業負荷全体を、より高い性能の処理回路からより低い性能の処理回路へ移行することができ、その後、より少ない熱が生成され、移転元処理回路を冷却することを可能にする。したがって、より低いスループットではあるが、継続してプログラム実行を行うことができる間に、２つの処理回路を含むパッケージを冷却することができる。
【誤訳訂正５】
【訂正対象書類名】明細書
【訂正対象項目名】００５０
【訂正方法】変更
【訂正の内容】
【００５０】
処理回路１０、５０の間のアーキテクチャ上の互換性は、２つの処理回路の間の作業負荷全体の移転を促進するが、一実施形態においては、処理回路１０、５０は、２つの処理回路に関連して、異なる性能特徴が存在し、したがってエネルギー消費特徴等、マイクロアーキテクチャ上では相互に異なる。前述のように、一実施形態において、処理回路１０は、高性能で、エネルギー消費が高い回路であり、一方、処理回路５０は、低性能で、エネルギー消費が低い処理回路である。２つの処理回路は、いくつかの点でマイクロアーキテクチャ上では相互に異なる可能性があるが、典型的には、異なる実行パイプライン長、および／または異なる実行リソースのうちの少なくとも１つを有する。パイプライン長の違いは、典型的に、動作周波数の違いになり、すなわち、性能に影響を与える。同様に、実行リソースの違いは、スループット、したがって性能に影響を与える。したがって、例として、処理回路１０は、スループットを向上するために、より広範な実行リソースおよび／またはより多くの実行リソースを有する場合がある。さらに、プロセッサコア１５、２０内のパイプラインは、非順次のスーパースカラー処理を実施するように配置される場合があり、一方、エネルギー効率が高い処理回路５０内のより単純なコア５５は、順次パイプラインとして配置される場合がある。マイクロアーキテクチャ上の違いの更なる検討は、図８Ａおよび８Ｂを参照して後述する。
【誤訳訂正６】
【訂正対象書類名】明細書
【訂正対象項目名】００５２
【訂正方法】変更
【訂正の内容】
【００５２】
移転刺激がいつ刺激される場合があるかの更なる例として、データ処理システムは、動作中にデータ処理システムの温度を監視するための１つ以上の温度センサ９０を含む場合がある。最新の高性能処理回路、例えば、ＧＨｚ周波数で実行する回路は、時として、範囲内で動作することが設計されていた温度限界に到達する、または超える場合があり得る。そのような温度センサ９０を使用することによって、そのような温度限界が到達した時を検出することができ、これらの条件下で、データ処理システムの全体冷却をもたらすために、よりエネルギー効率の高い処理回路への作業負荷の移転をトリガするように、移転刺激を生成することができる。したがって、処理回路１０が高性能処理回路であり、処理回路５０がより低いエネルギーを消費するより低性能処理回路である、図１の例を考えると、デバイスの温度限界に到達した時に処理回路１０から処理回路５０へ作業負荷を移行することによって、より低いスループットにも関わらず、依然として継続してプログラム実行を行うことを可能にしながら、デバイスのその後の冷却をもたらす。
【誤訳訂正７】
【訂正対象書類名】明細書
【訂正対象項目名】００８７
【訂正方法】変更
【訂正の内容】
【００８７】
低性能パイプライン８００および高性能パイプライン８５０は、いくつかの点でマイクロアーキテクチャ上異なる。マイクロアーキテクチャ上の違いは、
ａ）異なる段階を有するパイプライン。例えば、高性能パイプライン８５０は、低性能パイプライン８００には存在しない、名前変更段階８７５を有する。
ｂ）異なる能力を有するパイプライン段階。例えば、低性能パイプライン８００の発行段階８３０は、単一の命令発行だけが可能であるが、高性能パイプライン８５０のディスパッチ段階８８０は、並列に命令を発行することができる。並列発行は、パイプラインのスループットを向上させ、したがって性能が向上する。
ｃ）異なる長さを有するパイプライン段階。例えば、高性能パイプライン８５０の解読段階８７０は、３つの副段階を含む場合があるが、低性能パイプライン８００の解読段階８２０は、単一の副段階だけを含む場合がある。パイプライン段階が長くなればなるほど（副段階の数が大きくなればなるほど）、同時に実行できる命令の数が大きくなり、したがって、パイプラインが動作することができる動作周波数が大きくなり、より高レベルの性能をもたらす。
ｄ）実行パイプラインの異なる数（例えば、高性能パイプライン８５０は、低性能パイプライン８００よりも多い実行パイプラインを有する）。より多くの実行パイプラインを提供することによって、より多くの命令を並列に処理することができ、したがって性能が高まる。
ｅ）順次実行（パイプライン８００のように）または非順次実行（パイプライン８５０のように）を提供する。命令が非順次に実行できる場合、性能を最適化するために命令の実行を動的にスケジュールすることができるので、性能が向上する。例えば、低性能の順次パイプライン８００では、一連のＭＡＣ命令は、その後の命令が整数パイプライン８４０およびＳＩＭＤ／浮動小数点パイプライン８４４のうちの１つによって実行される可能性がある前に、ＭＡＣパイプライン８４２によって１つずつ実行されることが必要である。対照的に、高性能パイプライン８５０では、ＭＡＣ命令はＭＡＣパイプ８９４によって実行することができ、一方（名前変更によって解決することができない任意のハザードに左右されるが）異なる実行パイプライン８９０、８９２、８９６、８９８を使用するその後の命令は、ＭＡＣ命令と並列に実行することができる。すなわち、非順次命令は処理性能を向上させることができる。
【誤訳訂正８】
【訂正対象書類名】明細書
【訂正対象項目名】００９８
【訂正方法】変更
【訂正の内容】
【００９８】
１つの記載の実施形態において、切り替え機構は、データ処理システムが温度制限を超えないことを保証するために使用される。具体的には、温度制限に到達しそうな場合、作業負荷全体をよりエネルギー効率の高いプロセッサインスタンスに切り替えることができ、より低いスループットではあるが、継続してプログラム実行を行いながら、システム全体を冷却することを可能にする。