第1のプロセッサと、前記第1のプロセッサに動作可能に結合される少なくとも第1のGPUと、前記第1のプロセッサに動作可能に接続される少なくとも第2のGPUと、を備えるコンピューティングシステムであって、前記少なくとも第1のGPUは第1の複数の単一命令多重データSIMD実行ユニットを備え、前記少なくとも第1のGPUは、現在の動作モードから所望の動作モードへの移行が望ましい旨の前記第1のプロセッサからの通知に応答して前記少なくとも第1のGPUに前記少なくとも第2のGPUのための状態情報を提供させるネイティブ機能コードモジュールを実行するように動作し、前記少なくとも第2のGPUは前記少なくとも第1のGPU上の前記複数のSIMD実行ユニットと同じプログラミングモデルを有する第2の複数の単一命令多重データSIMD実行ユニットを備え、前記少なくとも第2のGPUは、前記少なくとも第1のGPUと同じネイティブ機能コードモジュールを実行するように動作し且つ前記少なくとも第1のGPUによって提供される前記状態情報を取得すると共に前記同じネイティブ機能コードモジュールを介して前記状態情報を用いて処理を継続するように動作するコンピューティングシステム。前記少なくとも第2のGPUに関連付けられる前記ネイティブ機能コードモジュールは、画素レンダリング命令を前記少なくとも第2のGPU上の前記複数のSIMD実行ユニットにわたって均等に分散させることによって、前記少なくとも第2のGPUによりレンダリングされ得る画素の数を最適化するように動作する請求項1のコンピューティングシステム。前記少なくとも第1のGPUに関連付けられる前記ネイティブ機能コードモジュールは、画素レンダリング命令を前記少なくとも第1のGPU上の前記複数のSIMD実行ユニットにわたって均等に分散させることによって、前記少なくとも第1のGPUによりレンダリングされ得る画素の数を最適化するように動作する請求項1のコンピューティングシステム。前記少なくとも第2のGPUに関連付けられる前記ネイティブ機能コードモジュールは、前記少なくとも第2のGPU上の前記複数のSIMD実行ユニット上での実行のために、前記少なくとも第1のGPU上の前記複数のSIMD実行ユニット内の汎用レジスタセットから状態情報を取得する請求項1のコンピューティングシステム。前記少なくとも第1のGPUに関連付けられる前記ネイティブ機能コードモジュールは、前記少なくとも第1のGPU上の前記複数のSIMD実行ユニット上での実行のために、前記少なくとも第2のGPU上の前記複数のSIMD実行ユニット内の汎用レジスタセットから状態情報を取得する請求項1のコンピューティングシステム。前記ホストプロセッサは、前記コンピューティングシステムを現在の動作モードから所望の動作モードへ及びその逆に移行させる制御ドライバを実行するように動作する請求項1のコンピューティングシステム。前記制御ドライバはプロセッサ割り込みを有効にして前記現在の動作モードから前記所望の動作モードへの及びその逆の移行を開始する請求項6のコンピューティングシステム。前記コンピューティングシステムを現在の動作モードから所望の動作モードへ移行させることは、前記現在の動作モードに関連付けられるGPU上の前記複数のSIMD実行ユニット内の汎用レジスタセットから前記所望の動作モードに関連付けられるGPU上で実行中の前記ネイティブ機能コードモジュールによってアクセス可能なメモリ内のロケーションへ状態情報を転送することを備える請求項6のコンピューティングシステム。前記ホストプロセッサ及び前記少なくとも第1のGPUの両方は、同じチップパッケージ又は同じダイの少なくとも1つの上で具現化される請求項1のコンピューティングシステム。各SIMD実行ユニットは、状態情報を記憶するメモリ内のロケーションを指し示すように動作する命令ポインタと、メモリ内の前記ロケーションからリトリーブされる状態情報を実行するように動作する少なくとも1つのALUを備えるSIMDエンジンと、状態情報を記憶するように動作する少なくとも1つの汎用レジスタセットと、を備える請求項1のコンピューティングシステム。前記少なくとも第1又は第2のGPUのいずれか又は両方によって生成される画素を表示するように動作する少なくとも1つのディスプレイを更に備える請求項1のコンピューティングシステム。コンピューティングシステム内の多重プロセッサを用いてビデオ及び/又はグラフィクスデータを処理するための方法であって、現在の動作モードに関連付けられる第1のGPUによる画素のレンダリングを停止すると共に前記現在の動作モードに関連付けられる状態情報を第2のGPUによってアクセス可能なロケーション内に保存することと、所望の動作モードに関連付けられる少なくとも第2のGPUによる画素のレンダリングを当該保存された状態情報を用いて再開することと、を備える方法。画素レンダリング命令を特定の動作モードに関連付けられる複数の汎用実行ユニットにわたって均等に分散させることによって、前記特定の動作モードでレンダリングされ得る画素の数を最適化することを更に備える請求項12の方法。前記コンピューティングシステムが現在の動作モードから所望の動作モードへ移行されるべき旨を決定することを更に備える請求項12の方法。前記状態情報は、第1のGPUによる画素のレンダリングを停止することに応答して、前記現在の動作モードに関連付けられる汎用レジスタセット内に保存される請求項12の方法。前記保存された状態情報を前記現在の動作モードに関連付けられる前記汎用レジスタセットからメモリロケーションへコピーすることと、前記メモリロケーションから前記保存された状態情報を取得することと、を更に備える請求項15の方法。前記コンピューティングシステムが現在の動作モードから所望の動作モードへ移行されるべき旨の決定は、ユーザ入力、コンピューティングシステム電力消費要求、又はグラフィカル性能要求、の少なくとも1つに基づく請求項12の方法。前記現在の動作モードに関連付けられるGPUによる画素の前記レンダリングを停止することは、ホストプロセッサへの割り込みを有効にすることによって開始される請求項12の方法。少なくとも第1のGPU及び少なくとも第2のGPUを備える装置であって、前記少なくとも第1のGPUは第1の複数の汎用実行ユニットを備え、前記少なくとも第1のGPUは、前記少なくとも第1のGPUに前記少なくとも第2のGPUのための状態情報を提供させるネイティブ機能コードモジュールを実行するように動作し、前記少なくとも第2のGPUは前記少なくとも第1のGPU上の前記複数の汎用実行ユニットと同じプログラミングモデルを有する第2の複数の汎用実行ユニットを備え、前記少なくとも第2のGPUは、前記少なくとも第1のGPUと同じネイティブ機能コードモジュールを実行するように動作し且つ前記少なくとも第1のGPUによって提供される前記状態情報を取得すると共に前記同じネイティブ機能コードモジュールを介して前記状態情報を用いて処理を継続するように動作する装置。前記少なくとも第1のGPU及び前記少なくとも第2のGPUに動作可能に結合される第1のプロセッサを更に備え、前記第1のプロセッサは、保管された状態情報の、前記少なくとも第1のGPU又は前記少なくとも第2のGPUのいずれかの現在の動作モードに関連付けられる前記複数の汎用実行ユニット内の汎用レジスタから、所望の動作モードに関連付けられる前記少なくとも第1のGPU又は前記少なくとも第2のGPUのいずれか上で実行中の前記ネイティブ機能コードモジュールによってアクセス可能なメモリロケーションへのコピーを制御するように動作する請求項19の装置。実行可能な命令を備えるコンピュータ可読媒体であって、前記命令は実行されるときに1つ以上のプロセッサに、コンピューティングシステムが現在の動作モードから所望の動作モードへ移行されるべき旨を決定することと、前記現在の動作モードに関連付けられる第1のGPUによる画素のレンダリングを停止すると共に前記現在の動作モードに関連付けられる汎用レジスタセット内に状態情報を保存することと、当該保存された状態情報を前記現在の動作モードに関連付けられる前記汎用レジスタセットから前記所望の動作モードに関連付けられる少なくとも第2のGPUによってアクセス可能なメモリロケーションへコピーすることと、をさせるコンピュータ可読媒体。実行可能な命令を備えるコンピュータ可読媒体であって、前記命令は、集積回路製造システムによって実行されるときに、前記集積回路製造システムに少なくとも第1のGPU及び少なくとも第2のGPUを製造させ、前記少なくとも第1のGPUは、各々がネイティブ機能コードモジュールを実行するように動作する複数の単一命令多重データSIMD実行ユニットを備え、前記少なくとも第2のGPUは、前記少なくとも第1のGPU上の前記複数のSIMD実行ユニットと同じプログラミングモデルを有する複数の単一命令多重データSIMD実行ユニットを備え、前記少なくとも第2のGPUは、前記少なくとも第1のGPUと同じネイティブ機能コードモジュールを実行するように動作するコンピュータ可読媒体。現在の動作モードに関連付けられる画素のレンダリングを停止するように動作すると共に前記現在の動作モードに関連付けられる状態情報を第2のGPUによる使用のためにアクセス可能なロケーション内に保存するように動作するグラフィクス処理回路GPUを備える集積回路。前記GPUは、第2のGPUによって以前にレンダリングされようとしていた画素のレンダリングを、現在の動作モードから所望の動作モードへの移行に応答して前記第2のGPUによって保存された状態情報を用いて再開するように動作する請求項23の集積回路。しかし、コンピューティングシステム100において示されるのと同様の設計を採用する既存のコンピューティングシステムは、幾つかの欠点を抱えている。例えば、これらの設計は、コンピューティングシステム100が1つの動作モード例えば集積化動作モードから別の動作モード例えばディスクリート動作モードへと移行するときに状態情報の喪失を生じさせることがある。状態情報とは、例えばシェーダユニットによって用いられる任意の情報であって、各シェーダユニットがビデオ及び/又はグラフィクスデータストリームをどのように処理するのかを制御する情報のことをいう。例えば、画素シェーダによって用いられる状態情報は、画素シェーダプログラム、画素シェーダ定数、レンダリング対象情報、グラフィカル動作パラメータ等を含み得る。更に、状態情報は、GPUについての識別情報、例えばコンピューティングシステムのメモリ空間におけるGPUの物理アドレスやビデオ及び/又はグラフィクスデータを処理するために利用されているGPUのモデル、を含む。既存のコンピューティングシステム100が1つの動作モードから別の動作モードへと移行するとき、状態情報が破壊されることがある。従って、既存のコンピューティングシステム100は、多くの場合に、ビデオ及び/又はグラフィクス処理負担がGPU間で切り換わるときにアプリケーションを正確に動作させるために、この状態情報を再生成する特定のソフトウエアサポートを必要とする。状態情報のこの破壊及び再生成は、コンピューティングシステム処理資源を無用に占有してしまい、そして1つの動作モードから別の動作モードへの切り換えを遅らせてしまう。例えば、既存のコンピューティングシステム100が1つの動作モード例えば集積化モードから別の動作モード例えばディスクリートモードへと切り換わるためには、何秒かを要するであろう。動作モード間での切り換えにおけるこの遅延はまた、ディスプレイ画面116上での不所望なフラッシュを生じさせる可能性がある。既存のコンピューティングシステム100はまた、協力動作モードに構成される場合にグラフィクス処理を最適化することができない。例えば、これらのコンピューティングシステムにおいては、両GPU間で並列にグラフィクス及び/又はビデオ処理を行うために、しばしば、より強力なディスクリートGPU114の処理能力をより強力でない集積化GPU112の処理能力に制限する必要がある。これは最小公分母手法を表し、この場合ディスクリートGPU114の全処理能力は十分に活用されない。そこで、状態情報を喪失することなしに且つ長い切り換え時間を伴うことなしに、集積化動作モード、ディスクリート動作モード及び協力動作モードの間で切り換わることが可能な改良されたコンピューティングシステムに対する必要性が存在する。また、協力動作モードにおいてディスクリートGPUの処理能力を最大化することができるコンピューティングシステムに対する必要性がある。概して、開示される方法、システム及び装置は、第1のグラフィクス処理回路及び第2のグラフィクス処理回路の組み合わせを用いるビデオ及び/又はグラフィクスデータの処理であって第1及び第2のグラフィクス処理回路の間で処理を転送する間に状態情報を喪失することのない処理を提供する。処理されるべきビデオ及び/又はグラフィクスデータは、例えば、ホストプロセッサ等のプロセッサ上で実行中のアプリケーションによって供給され得る。1つの例においては、装置は複数の単一命令多重データSIMD実行ユニットを含む少なくとも1つのGPUを含む。GPUはネイティブ機能コードモジュールを実行するように動作する。装置はまた、第1のGPU上の複数のSIMD実行ユニットと同じプログラミングモデルを有する複数のSIMD実行ユニットを含む少なくとも第2のGPUを含む。更に、第1及び第2のGPUは同じネイティブ機能コードモジュールを実行するように動作する。ネイティブ機能コードモジュールは、現在の動作モードから所望の動作モードへの移行が望ましい例えば一方のGPUは停止され他方のGPUは開始される旨のホストプロセッサ等の第1のプロセッサからの通知に応答して、少なくとも第1のGPUに少なくとも第2のGPUのための状態情報を提供させる。第2のGPUは、第1のGPUによって提供される状態情報を取得すると共に同じネイティブ機能コードモジュールを介して状態情報を用いて第1のGPUが中止した処理を継続するように動作する。1つの例においては、開示されるGPUは、拡張された命令セットを用いるスカラープロセッサとは対照的に、単一命令多重データSIMDプロセッサの形態にあるベクタープロセッサである。開示されるGPUは、多重SIMDエンジンと、SIMDプロセッサのための状態情報を記憶するために用いられる汎用SIMDレジスタセットと、を含んでいてよい。当該技術分野において知られているように、同じ命令が異なるSIMDエンジン上で実行され得る。開示されるGPUは、当該技術分野において知られているように、Cをネイティブに実行するタイプであってよい。別の例においては、コンピューティングシステムは、少なくとも1つのGPU及び少なくとも第2のGPUに結合される1つ以上のホストCPU等のプロセッサを含む。この例においては、少なくとも1つのGPU及び少なくとも第2のGPUのいずれかによって作成される又はこれら両方によって同時に作成される画素を表示するように動作するディスプレイが存在する。別の例においては、少なくとも第2のGPUに関連付けられるネイティブ機能コードモジュールは、画素レンダリング命令を少なくとも第2のGPU上の複数のSIMD実行ユニットにわたって均等に分散させることによって、少なくとも第2のGPUによりレンダリングされ得る画素の数を最適化するように動作する。別の実施形態においては、少なくとも1つのGPUに関連付けられるネイティブ機能コードモジュールは、画素レンダリング命令を少なくとも1つのGPU上の複数の汎用実行ユニットにわたって均等に分散させることによって、少なくとも1つのGPUによりレンダリングされ得る画素の数を最適化するように動作する。1つの例においては、少なくとも第2のGPUに関連付けられるネイティブ機能コードモジュールは、少なくとも第2のGPU上の複数のSIMD実行ユニット上での実行のために、少なくとも1つのGPU上の複数のSIMD実行ユニット内の汎用レジスタセットから状態情報を取得する。別の例においては、少なくとも1つのGPUに関連付けられるネイティブ機能コードモジュールは、少なくとも1つのGPU上の複数のSIMD実行ユニット上での実行のために、少なくとも第2のGPU上の複数のSIMD実行ユニット内の汎用レジスタセットから状態情報を取得する。ここで、状態情報を取得することは、当該状態情報をリトリーブすること又は提供された当該状態情報を有することを備えていてよい。別の例においては、ホストプロセッサは、コンピューティングシステムを集積化動作モードからディスクリート動作モードへ及びその逆に移行させる制御ドライバを実行するように動作する。1つの例においては、制御ドライバは、プロセッサ割り込み例えばホストCPU割り込みを有効にして現在の動作モードから所望の動作モードへの及びその逆の移行を開始する。更に別の例においては、コンピューティングシステムを現在の動作モードから所望の動作モードへ移行させることは、現在の動作モードに関連付けられるGPU上の複数のSIMD実行ユニット内の汎用レジスタセットから所望の動作モードに関連付けられるGPU上で実行中のネイティブ機能コードモジュールによってアクセス可能なメモリ内のロケーションへ状態情報を転送することを含む。本開示はまた、コンピューティングシステム内の多重プロセッサを用いてビデオ及び/又はグラフィクスデータを処理するための方法を提供する。1つの例においては、方法は、現在の動作モードに関連付けられる第1のGPUによる画素のレンダリングを停止することと、現在の動作モードに関連付けられる状態情報を第2のGPUによってアクセス可能なロケーション内に保存することと、を含む。この例においては、方法は更に、所望の動作モードに関連付けられる少なくとも第2のGPUによる画素のレンダリングを当該保存された状態情報を用いて再開することを含む。1つの例においては、画素レンダリング命令を特定の動作モードに関連付けられる複数の汎用実行ユニットにわたって均等に分散させることによって、特定の動作モードでレンダリングされ得る画素の数が最適化される。別の例においては、方法は、コンピューティングシステムが現在の動作モードから所望の動作モードへ移行されるべき旨を決定することを更に含む。別の例においては、状態情報は、第1のGPUによる画素のレンダリングを停止することに応答して、現在の動作モードに関連付けられる汎用レジスタセット内に保存される。更に別の例においては、方法はまた、当該保存された状態情報を現在の動作モードに関連付けられる汎用レジスタセットからメモリロケーションへコピーすることと、続いてメモリロケーションから当該保存された状態情報を取得することと、を含む。別の例においては、コンピューティングシステムが現在の動作モードから所望の動作モードへ移行されるべき旨の決定は、ユーザ入力、コンピューティング電力消費要求、及び/又はグラフィカル性能要求に基づく。本開示はまた、実行されるときに1つ以上のプロセッサに本開示の方法を実施させる実行可能な命令を備えるコンピュータ可読媒体を提供する。1つの例においては、実行可能な命令を備えるコンピュータ可読媒体は、本開示の装置を製造するために集積回路製造システムによって実行されてよい。本開示はまた、現在の動作モードに関連付けられる画素のレンダリングを停止するように動作するグラフィクス処理回路GPUを含む集積回路を提供する。この例においては、GPUはまた、現在の動作モードに関連付けられる状態情報を第2のGPUによる使用のためにアクセス可能なロケーション内に保存するように動作する。1つの例においては、上述のGPUは、第2のGPUによって以前にレンダリングされようとしていた画素のレンダリングを、第2のGPUによって保存された状態情報を用い且つ現在の動作モードから所望の動作モードへの移行に応答して、再開するように動作する。数ある利点の中でも、開示される方法、システム及び装置は、状態情報を喪失することなしに且つ長い切り換え時間を伴うことなしに、集積化動作モード、ディスクリート動作モード及び協力動作モードの間での切り換えを提供する。開示される方法、システム及び装置はまた、動作モード切り換えの間におけるディスプレイ画面上での不所望なフラッシュの出現を軽減する。更に、開示される方法、システム及び装置は、協力動作モードにおけるディスクリートGPUの処理能力を最大化する。他の利点は当業者によって認識されるはずである。実施形態の以下の説明は実際上は単に例示的なものであり、開示、その応用又は使用を限定することは全く意図されていない。図2はコンピューティングシステム200の1つの例を示しており、限定はされないが、例えば、サーバコンピュータ、ワークステーション、デスクトップPC、ノートブックPC、パーソナルデジタルアシスタント、カメラ、携帯電話機又は任意の他の適切な画像ディスプレイシステムにおけるコンピューティングシステムが例示される。コンピューティングシステム200は1つ以上のプロセッサ202例えば限定はされないがマイクロプロセッサ、DSP又は中央処理ユニット等の共有に係る、専用の又は一連のプロセッサを含む。少なくとも1つのプロセッサ202例えばホストプロセッサ又はホストCPUは、典型的にはノースブリッジであるブリッジ回路204にシステムバス206を介して接続される。ホストプロセッサ202はまた、システムバス224を介してシステムメモリ222に接続される。システムメモリ222は、リードオンリメモリROM、ランダムアクセスメモリRAM、電気的に消去可能なプログラム可能リードオンリメモリEE-PROM又は任意の他の適切なデジタル記憶媒体、等の揮発性/不揮発性メモリ要素の任意の組み合わせであってよい。システムメモリ222は、状態情報228を記憶するように動作可能であり、またGPU210に関連付けられるフレームバッファ218を含む。フラームバッファ218は、ディスプレイ238画面上に表示されるべき全ての画素に対する色値を表すデータを記憶する全体システムメモリ222の割り当てられた量のメモリである。1つの実施形態においては、ホストプロセッサ202及びノースブリッジ204は、単一のパッケージ/ダイ226上に集積化され得る。ホストプロセッサ202例えばAMD_64又はX86ベースのプロセッサは、制御ドライバ208を含む種々のソフトウエアプログラムを実行するように動作する。制御ドライバ208は、ホストプロセッサ202と集積化グラフィクス処理ユニット210及びディスクリートグラフィクス処理ユニット212の両方との間をインタフェースする。後で更に詳細に論じられるように、制御ドライバ208は、例えばホストプロセッサ割り込みを有効にすることによって、1つの動作モードから別の動作モードへの移行の信号を送るように動作する。制御ドライバ208はまた、処理されるべきビデオ及び/又はグラフィクスデータを、ホストプロセッサ202上で実行中のアプリケーションから第1のGPU及び/又は第2のGPUへと更なる処理のために分散させる。例示のみを目的として集積化GPU及びディスクリートGPUの例が用いられることになるが、GPUは、スタンドアローンチップであってよく、他の機能と組み合わされてよく、又は必要に応じて任意の適切な形態にあってよい。図2は集積化GPU210及びディスクリートGPU212を示す。この例では、ノースブリッジ204は、ビデオ及び/又はグラフィクスデータ、例えばホストプロセッサ202上で実行中のアプリケーションから受信されるデータ、を処理するように構成される集積化グラフィクス処理ユニット210を含み、またディスプレイ238に接続される。ビデオ及び/又はグラフィクスデータを処理することは、例えばディスプレイ238画面上での表示のために画素をレンダリングすることを含み得る。当該分野で知られているように、ディスプレイ238は、一体型ディスプレイ又は外部ディスプレイ、例えば陰極線管CRT、液晶ディスプレイLCD、発光ダイオードLEDディスプレイ又は任意の他の適切なディスプレイ、を備えていてよい。いずれにしても、ディスプレイ238は、集積化GPU210、ディスクリートGPU212、又はこれらの両方によって生成される画素を表示するように動作する。更に当業者によって理解されるであろうように、GPUの用語は、ディスクリートの又は集積化された例えばホストプロセッサと同じ基板上に集積化された1つ以上のコアを有するグラフィクス処理ユニットを含み得る。GPU210は、ネイティブ機能コードモジュール214及び複数の汎用実行ユニット216を含む。ネイティブ機能コードモジュール214は、例えば、汎用実行ユニット216の少なくとも1つ例えばSIMD実行ユニットのaによってGPU210上で実行される記憶された実行可能命令データである。ネイティブ機能コードモジュール214は、実行ユニット300に、ビデオ及び/又はグラフィクスデータにシェーディング動作を実施するために利用可能なできるだけ多くの他の汎用実行ユニット216を動的に活用させる。ネイティブ機能コードモジュール214は、入ってくる作業負荷即ち例えばホストプロセッサ202上で実行中のアプリケーションからもたらされる処理されるべきビデオ及び/又はグラフィクスデータを解析すること、入ってくる作業負荷を処理するためにどの汎用実行ユニットが利用可能であるのかを解析すること、及び入ってくる作業負荷を利用可能な汎用実行ユニットの間で分散させること、によって、実行ユニット300が上述の機能を達成するようにする。例えば、全てに満たない汎用実行ユニット216が処理のために利用可能である場合、処理に利用可能な汎用実行ユニットにわたって均等に作業負荷が分散させられる。次いで、追加的な汎用実行ユニット216が利用可能になるにつれて例えばそれらが先に割り当てられた作業負荷の処理を終了したことを理由として、ネイティブ機能コードモジュール214を実行中の実行ユニット300は、GPU210によってレンダリングされ得る画素の数を最適化するように、より多くの一連の汎用実行ユニットに当該作業負荷を割り当てる。また、処理されるべきビデオ及び/又はグラフィクスデータは特に画素レンダリング命令を含んでいるので、ネイティブ機能コードモジュール214は、GPU210又は別のディスクリートGPU212上の複数の汎用実行ユニット216にわたって画素レンダリング命令を均等に分散させることによって、GPU210又は別の例ではディスクリートGPU212によりレンダリングされ得る画素の数を最適化させる。汎用実行ユニット216は、1つの実施形態においては、単一命令多重データSIMDプロセッサを有するプログラム可能実行ユニットである。これらの汎用実行ユニット216は、頂点及びテクスチャを操作する等のシェーディング機能を行うように動作する。更に、汎用実行ユニット216は、ネイティブ機能コードモジュール214を実行するように動作する。汎用実行ユニット216はまた、同様のレジスタ及びプログラミングモデル、例えばAMD64プログラミングモデルを共有する。従って汎用実行ユニット216は、例えばC等の同じ命令セット言語を使用可能である。しかし、当業者であれば、他の適切なプログラミングモデル及び/又は命令セット言語が同様に採用され得ることを認識するはずである。次に図3を参照すると、複数の汎用実行ユニット216の単一の汎用実行ユニット300が例示されている。例えば、図3は汎用実行ユニット1の詳細図を示している。汎用実行ユニット2~Nは汎用実行ユニット1と同じアーキテクチャを共有するので、汎用実行ユニット1の詳細図は汎用実行ユニット2~Nに同様に適用される。更に、複数の汎用実行ユニット216は、必要に応じた数の個々の汎用実行ユニット300から構成されてよい。しかし、1つの実施形態においては、GPU212上にあるよりも少ない個々の汎用実行ユニット300がGPU210上に存在するであろう。その場合にも、ディスクリートGPU212上の汎用実行ユニット216は、GPU210上の汎用実行ユニット216と同じレジスタ及びプログラミングモデル並びに命令セット言語を共有するであろうし、また同じネイティブ機能コードモジュール214を実行するように同様に動作する。各汎用実行ユニット300は、SIMDエンジン304と通信する命令ポインタ302を含む。各SIMDエンジン304は汎用レジスタセット308と通信する。各汎用レジスタセット308は、例えば状態情報228等のデータとアドレスとの両方を記憶するように動作する。例えば状態情報は、データ上の命令に追従する例えば汎用レジスタセット308内へ書き込まれるデータ値を備える。状態情報228は、例えば、汎用実行ユニット216によって用いられる任意の情報を参照してよく、これにより各汎用実行ユニット300がビデオ及び/又はグラフィクスデータストリームをどのように処理するのかが制御される。例えば、画素シェーディングを実行する汎用実行ユニット300によって用いられる状態情報は、画素シェーダプログラム、画素シェーダ定数、レンダリング目標情報、グラフィカル動作パラメータ等を含み得る。更に、状態情報228は、GPU例えばGPU210又はディスクリートGPU212についての識別情報、例えばコンピューティングシステムのメモリ空間におけるGPUの物理アドレスやビデオ及び/又はグラフィクスデータを処理するために利用されているGPUのモデル、を含む。各汎用実行ユニット300内のSIMDエンジン304は、例えばALU306等の複数の論理ユニットを含む。各ALU306は、それが受け取るビデオ及び/又はグラフィクスデータに対して種々の数学的動作を行うように動作する。命令ポインタ302は、ネイティブ機能コードモジュール214が状態情報228を取得することができ且つそれに従いビデオ及び/又はグラフィクス処理負担を複数の汎用実行ユニット216に割り当てることができるように、状態情報228例えばビデオ及び/又はグラフィクスデータに対して行われるべき命令が配置されるメモリ内のロケーションを識別するように動作する。図2を再び参照すると、ノースブリッジ204又は1つの実施形態においては集積化された単一パッケージ/ダイ226は、例えば専用バス234を介してサウスブリッジ232に結合される。ノースブリッジ204は更に、例えばPCIエクスプレスバス等の適切なバス236を介してディスクリートGPU212に結合される。ディスクリートGPU212は、GPU210上のネイティブ機能コードモジュール214と同じネイティブ機能コードモジュール214を含む。更に、ディスクリートGPU212は、GPU210上の汎用実行ユニット216と同じレジスタ及びプログラミングモデル例えばAMD64等並びに命令セット言語例えばCを共有する汎用実行ユニット216を含む。しかし、前述したように、1つの実施形態においては、GPU210上に見られるよりもはるかに多い個々の汎用実行ユニット300がディスクリートGPU212上にある。従ってこの実施形態においては、ネイティブ機能コードモジュール214は、ディスクリートGPU212上のはるかに多数の個々の汎用実行ユニット300に作業負荷を割り当てることができるので、ディスクリートGPU212は、GPU210よりもかなり高速に作業負担を処理することになる。ディスクリートGPU212は更に非システムメモリ230に接続される。非システムメモリ230は、システムメモリ222内に記憶された状態情報228等の状態情報228を記憶するように動作し、また上述したフレームバッファ218と同様に動作するフレームバッファ219を含む。非システムメモリ230は、例えば、リードオンリメモリROM、ランダムアクセスメモリRAM、電気的に消去可能なプログラム可能リードオンリメモリEE-PROM又は任意の他の適切なデジタル記憶媒体、等の揮発性/不揮発性メモリ要素の任意の組み合わせであってよい。図4は多重プロセッサを用いて状態情報を喪失することなしにビデオ及び/又はグラフィクスデータを処理するための方法の1つの例を示す。ステップ400では、コンピューティングシステム200が現在の動作モードから所望の動作モードへ移行すべき旨の決定がなされる。この決定は、例えば、動作モードの変更を要求するユーザ入力、コンピューティングシステム電力消費要求、グラフィカル性能要求、又は他の適切な因子に基づいていてよい。1つの例においては、ホストプロセッサ202は、制御ドライバ208の制御の下で決定をなす。しかし、この動作は任意の適切な要素によって行われてよい。現在の動作モード及び所望の動作モードは、例えば、集積化動作モード、ディスクリート動作モード又は協力動作モードを含んでいてよい。ステップ402では、現在の動作モードに関連付けられる第1のGPUによって達成されつつある画素のレンダリングが停止され、そして状態情報は現在の動作モードに関連付けられる汎用レジスタセット内に保存される。ここで、レンダリングは、例えばアプリケーションからの描画コマンドに基づくディスプレイのためにビデオを処理し又は画素を生成することを含み得る。状態情報228は、例えば、現在の動作モードに関連付けられる第1のGPU上の複数の汎用実行ユニット216内の汎用レジスタセット308内に保存されてよい。ステップ402の動作は、以下の例を通して更に説明され得る。現在の動作モードが集積化動作モードであった即ちグラフィクス処理はGPU210上でのみ達成されつつあった場合には、状態情報228は、GPU210上の汎用実行ユニット216の汎用レジスタセット308内に保存されたことになる。現在の動作モードがディスクリート動作モードであった場合には、状態情報228は、ディスクリートGPU212上の汎用実行ユニット216の汎用レジスタセット308内に保存されたことになる。また、現在の動作モードに関連付けられるGPUによる画素のレンダリングの停止は、制御ドライバ208がホストプロセッサ202への割り込みを有効にすることによって開始されてよい。このように、1つの動作モードから別の動作モードへのコンピューティングシステム200の移行を開始するために、制御ドライバ208が用いられ得る。ステップ404では、現在の動作モードに関連付けられる汎用レジスタセット内に保存された状態情報228がメモリロケーションへコピーされる。例えば集積化動作モードからディスクリート動作モードへ移行する場合、状態情報228は、GPU210上の汎用実行ユニット216の汎用レジスタセット308から非システムメモリ230へコピーされることになる。逆にディスクリート動作モードから集積化動作モードへ移行する場合、状態情報228は、GPU212上の汎用実行ユニット216の汎用レジスタセット308からシステムメモリ222へコピーされることになる。ホストプロセッサ202は、現在の動作モードに関連付けられる汎用レジスタセットからメモリへの状態情報228の転送例えばコピーを行うように動作する。このようにして状態情報228を転送することによって、図1に示されるコンピューティングシステム100等の従来のコンピューティングシステムには不可避的に伴っていた状態情報の破壊及び再作成の必要性が排除される。現在の動作モードに関連付けられる汎用レジスタセットは、同一のレジスタセット構成を共有するという意味において、所望の動作モードの汎用レジスタセットに対応する例えばレジスタは両GPUセットにおいて同一である。ステップ406では、保存された状態情報228がメモリロケーションから取得される。このことは、例えば、ネイティブ機能コードモジュール214がシステムメモリ222又は非システムメモリ230のいずれかから状態情報228を要求すること又は状態情報228を提供されることによって達成されてよい。例えば集積化動作モードからディスクリート動作モードへ移行する場合、ステップ406において、GPU212上で実行中のネイティブ機能コードモジュールは、状態情報228を非システムメモリから取得することになる非システムメモリには状態情報228がGPU210上の汎用実行ユニット216の汎用レジスタセット308から転送されていた。ステップ408では、所望の動作モードに関連付けられる少なくとも第2のGPUが画素のレンダリングを再開する。所望の動作モードに関連付けられる少なくとも第2のGPUは、先行する動作モードに関連付けられる第1のGPUが中止した画素のレンダリングを正確に受け継ぐことになる。ディスクリートGPU212及びGPU210の両方の汎用実行ユニット216が同じレジスタ及びプログラミングモデル並びに命令セット言語を共有し且つ同一のネイティブ機能コードモジュール214を実行するので、この本質的に継ぎ目のない移行が可能である。図5はコンピューティングシステム内で多重プロセッサを用いてビデオ及び/又はグラフィクスデータを処理するための方法の別の例を示している。この例においては、状態情報は汎用レジスタセット内には保存されない。ステップ500では、現在の動作モードに関連付けられる第1のGPUによる画素のレンダリングが中止され、また現在の動作モードに関連付けられる状態情報は第2のGPUによってアクセス可能なロケーションに保存される。この例では、状態情報はオンチップの又はオフチップの任意の適切なメモリ内に保存されてよく、任意の適切なメモリは、限定はされないが、専用のレジスタセット、システムメモリ、非システムメモリ、フレームバッファメモリ等を含む。ステップ502では、所望の動作モードに関連付けられる少なくとも第2のGPUが、保存された状態情報を用いることによって、画素のレンダリングが再開される。つまり、1つの例においては、GPU例えばGPU210は、現在の動作モードに関連付けられる画素のレンダリングを停止すると共に現在の動作モードに関連する状態情報228を第2のGPU例えばディスクリートGPU212による使用のためにアクセス可能なロケーション内に保存するように動作する。例えば、現在の動作モードから所望の動作モードへの移行に応答して、GPU例えばGPU210は、オフチップである別のGPU例えばGPU212によってアクセス可能なロケーション内に状態情報を保存するように動作する。この動作は、例えばGPU212の観点からも適用可能である。数ある利点の中でも、開示される方法、システム及び装置は、状態情報を喪失することなしに且つ長い切り換え時間を伴うことなしに、集積化動作モード、ディスクリート動作モード及び協力動作モードの間での切り換えを提供する。開示される方法、システム及び装置はまた、動作モード切り換えの間におけるディスプレイ画面上での不所望なフラッシュの出現を軽減する。更に、開示される方法、システム及び装置は、協力動作モードにおけるディスクリートGPUの処理能力を最大化する。他の利点は当業者によって認識されるはずである。また、限定はされないが例えばCDROM、RAM、他の形態のROM、ハードドライブ、分散型メモリ等のコンピュータ可読メモリに記憶される実行可能な命令に基づき集積回路を作り出す集積回路設計システム例えばワークステーションが知られている。命令は、限定はされないが例えばハードウエア記述子言語又は他の適切な言語等の任意の適切な言語によって表現されてよい。従って、ここに説明される回路はまた、そのようなシステムによって集積回路として製造されてよい。例えば、コンピュータ可読媒体に記憶される命令を用いて集積回路を作り出すことができ、命令は、実行されるときに、集積回路設計システムに集積回路を作り出すことをさせ、集積回路は、コンピューティングシステムが現在の動作モードから所望の動作モードへ移行するべきであることを決定し、現在の動作モードに関連付けられる第1のGPUによる画素のレンダリングを停止すると共に現在の動作モードに関連付けられる汎用レジスタセット内に状態情報を保存し、そして当該保存された状態情報を現在の動作モードに関連付けられる汎用レジスタセットから所望の動作モードに関連付けられる少なくとも第2のGPUによってアクセス可能なメモリロケーションへコピーするように動作する。ここに説明される他の動作を行う論理を有する集積回路もまた適切に製造され得る。上述の詳細な説明及びそこに説明される例は、例示及び説明を目的とし且つ限定によってではなく提示されてきた。従って、本開示は、上に開示され且つここに特許請求される基本的な原理の精神及び範囲内に含まれる任意の及び全ての修正、変形及び均等なものを網羅することが考慮される。