【手続補正書】
【提出日】平成27年6月12日(2015.6.12)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
グラフィックス処理ユニット（ＧＰＵ）を用いて、グラフィックスアプリケーションの命令を実行するために確保された、前記ＧＰＵのシェーダプロセッサのシェーダコアの第１のセットの指示を受信することと、
前記ＧＰＵを用いて、非グラフィックスアプリケーションの命令を実行するために確保された、同じＧＰＵの同じシェーダプロセッサのシェーダコアの第２の異なるセットの指示を受信することと、
前記ＧＰＵを用いて、前記グラフィックスアプリケーションの前記命令を受信することと、
前記ＧＰＵを用いて、前記非グラフィックスアプリケーションの前記命令を受信することと、
前記ＧＰＵの第１の作業負荷分配ユニットを用いて、シェーダコアの前記第１のセットのうちのどのシェーダコアが前記グラフィックスアプリケーションの前記命令のうちのどの命令を実行するかを判断することと、
前記ＧＰＵの第２の異なる作業負荷分配ユニットを用いて、シェーダコアの前記第２のセットのうちのどのシェーダコアが前記非グラフィックスアプリケーションの前記命令のうちのどの命令を実行するかを判断することと、
前記ＧＰＵを用いて、シェーダコアの前記第１のセットのうちのどのシェーダコアが前記グラフィックスアプリケーションの前記命令のうちのどの命令を実行するかの前記判断に基づいて、他のシェーダコアではなく、シェーダコアの前記第１のセットで前記グラフィックスアプリケーションの前記命令のすべてを実行することと、
前記グラフィックスアプリケーションの前記命令を実行するのと実質的に同時に、前記ＧＰＵを用いて、前記非グラフィックスアプリケーションの前記実行と前記グラフィックスアプリケーションの前記実行とをインターリーブすることなく、シェーダコアの前記第２のセットのうちのどのシェーダコアが前記非グラフィックスアプリケーションの前記命令のうちのどの命令を実行するかの前記判断に基づいて、他のシェーダコアではなく、シェーダコアの前記第２のセットで前記非グラフィックスアプリケーションの前記命令のすべてを実行することと
を備える方法。
【請求項２】
シェーダコアの前記第１のセットの前記指示を受信することが、前記ＧＰＵの第１のコマンドプロセッサを用いて、シェーダコアの前記第１のセットの前記指示を受信することを備え、シェーダコアの前記第２のセットの前記指示を受信することが、前記ＧＰＵの第２の異なるコマンドプロセッサを用いて、シェーダコアの前記第２のセットの前記指示を受信することを備える、請求項１に記載の方法。
【請求項３】
シェーダコアの前記第１のセットの前記指示を受信することが、前記ＧＰＵのコマンドプロセッサを用いて、シェーダコアの前記第１のセットの前記指示を受信することを備え、シェーダコアの前記第２のセットの前記指示を受信することが、同じコマンドプロセッサを用いて、シェーダコアの前記第２のセットの前記指示を受信することを備える、請求項１に記載の方法。
【請求項４】
前記非グラフィックスアプリケーションの命令を受信することが、前記グラフィックスアプリケーションの命令を受信するのと同時に前記非グラフィックスアプリケーションの前記命令を受信することを備える、請求項１に記載の方法。
【請求項５】
前記グラフィックスアプリケーションの前記命令の前記実行の結果を前記ＧＰＵ内のメモリキャッシュに記憶することを、前記非グラフィックスアプリケーションの前記命令の前記実行の結果を前記ＧＰＵ内の前記メモリキャッシュに記憶することよりも優先させること
をさらに備える、請求項１に記載の方法。
【請求項６】
シェーダコアの前記第１のセットの前記指示を受信することが、前記ＧＰＵの第１のコマンドプロセッサを用いて、シェーダコアの前記第１のセットの前記指示を受信することを備え、シェーダコアの前記第２のセットの前記指示を受信することが、前記ＧＰＵの第２の異なるコマンドプロセッサを用いて、シェーダコアの前記第２のセットの前記指示を受信することを備え、前記方法は、
前記非グラフィックスアプリケーションの命令がないとき、前記第２のコマンドプロセッサの電源を切断するための指示を受信することと、
前記指示を受信したことに応答して前記第２のコマンドプロセッサの電源を切断することと
をさらに備える、請求項１に記載の方法。
【請求項７】
シェーダコアの前記第１のセットのシェーダコアの数がシェーダコアの前記第２のセットのシェーダコアの数とは異なる、請求項１に記載の方法。
【請求項８】
プロセッサ上のドライバを用いて、グラフィックス処理ユニット（ＧＰＵ）のシェーダプロセッサのシェーダコアのうちのいくつのシェーダコアおよびどのシェーダコアがグラフィックスアプリケーションのために確保されるかを判断することと、前記グラフィックスアプリケーションのために確保された前記判断されたシェーダコアは、シェーダコアの第１のセットを備え、前記グラフィックスアプリケーションのすべての命令は、シェーダコアの前記第１のセット上で実行されるべきである、
前記プロセッサ上の前記ドライバを用いて、同じＧＰＵの同じシェーダプロセッサの前記シェーダコアのうちのいくつのシェーダコアおよびどのシェーダコアが非グラフィックスアプリケーションのために確保されるかを判断することと、前記非グラフィックスアプリケーションのために確保された前記判断されたシェーダコアは、シェーダコアの第２の異なるセットを備え、前記非グラフィックスアプリケーションのすべての命令は、シェーダコアの前記第２のセットによって実行されるべきである、
前記ＧＰＵが、前記非グラフィックスアプリケーションと前記グラフィックスアプリケーションの前記実行をインターリーブすることなく、実質的に同時に前記グラフィックスアプリケーションの命令と前記非グラフィックスアプリケーションの命令とを実行することを可能にするために、シェーダコアの前記第１のセットの指示とシェーダコアの前記第２のセットの指示とを前記ＧＰＵに送信することと
を備える方法。
【請求項９】
より多くのシェーダコアが前記グラフィックスアプリケーションを実行するために利用可能であるように、シェーダコアの前記第１のセットがシェーダコアの前記第２のセットよりも多くのシェーダコアを含むと判断すること
をさらに備える、請求項８に記載の方法。
【請求項１０】
シェーダコアの前記第１のセットを判断することが、前記グラフィックスアプリケーションのキューイングされた命令の数に基づいてシェーダコアの前記第１のセットを判断することを備える、請求項８に記載の方法。
【請求項１１】
シェーダコアの前記第２のセットを判断することが、前記非グラフィックスアプリケーションのキューイングされた命令の数に基づいてシェーダコアの前記第２のセットを判断することを備える、請求項８に記載の方法。
【請求項１２】
送信することが、
シェーダコアの前記第１のセットの前記指示を前記ＧＰＵ内の第１のコマンドプロセッサに送信することと、
シェーダコアの前記第２のセットの前記指示を前記ＧＰＵ内の第２の異なるプロセッサに送信することと
を備える、請求項８に記載の方法。
【請求項１３】
送信することが、
シェーダコアの前記第１のセットの前記指示を前記ＧＰＵ内のコマンドプロセッサに送信することと、
シェーダコアの前記第２のセットの前記指示を前記ＧＰＵ内の同じコマンドプロセッサに送信することと
を備える、請求項８に記載の方法。
【請求項１４】
複数のシェーダコアを含むシェーダプロセッサと、
グラフィックスアプリケーションの命令を実行するために確保された前記シェーダプロセッサの前記シェーダコアの第１のセットの指示を受信し、前記グラフィックスアプリケーションの前記命令を受信するように構成された第１のコマンドプロセッサと、
非グラフィックスアプリケーションの命令を実行するために確保された同じシェーダプロセッサの前記シェーダコアの第２の異なるセットの指示を受信し、前記非グラフィックスアプリケーションの前記命令を受信するように構成された第２のコマンドプロセッサと、
前記シェーダコアの前記第１のセットのうちのどのシェーダコアが前記グラフィックスアプリケーションの前記命令のうちのどの命令を実行するかを判断するように構成された第１の作業負荷分配ユニットと、
前記シェーダコアの前記第２のセットのうちのどのシェーダコアが前記非グラフィックスアプリケーションの前記命令のうちのどの命令を実行するかを判断するように構成された第２の異なる作業負荷分配ユニットと、
を備え、
他のシェーダコアではなく、前記シェーダコアの前記第１のセットが、シェーダコアの前記第１のセットのうちのどのシェーダコアが前記グラフィックスアプリケーションの前記命令のうちのどの命令を実行するかの前記第１の作業負荷分配ユニットの前記判断に基づいて、前記グラフィックスアプリケーションの前記命令のすべてを実行するように構成され、
他のシェーダコアではなく、前記シェーダコアの前記第２のセットが、前記グラフィックスアプリケーションの前記命令の前記実行と実質的に同時に、前記非グラフィックスアプリケーションの前記実行と前記グラフィックスアプリケーションの前記実行とをインターリーブすることなく、シェーダコアの前記第２のセットのうちのどのシェーダコアが前記非グラフィックスアプリケーションの前記命令のうちのどの命令を実行するかの前記第２の作業負荷分配ユニットの前記判断に基づいて、前記非グラフィックスアプリケーションの前記命令のすべてを実行するように構成された、
グラフィックス処理ユニット（ＧＰＵ）。
【請求項１５】
前記第１のコマンドプロセッサが前記第２のコマンドプロセッサとは異なる、請求項１４に記載のＧＰＵ。
【請求項１６】
前記第１のコマンドプロセッサが前記第２のコマンドプロセッサと同じである、請求項１４に記載のＧＰＵ。
【請求項１７】
前記第１のコマンドプロセッサは、前記第２のコマンドプロセッサが前記非グラフィックスアプリケーションの前記命令を受信するのと同時に前記グラフィックスアプリケーションの前記命令を受信するように構成された、請求項１４に記載のＧＰＵ。
【請求項１８】
メモリキャッシュ
をさらに備え、
前記第１のコマンドプロセッサおよび前記第２のコマンドプロセッサのうちの少なくとも１つが、前記メモリキャッシュへの前記グラフィックスアプリケーションの前記命令の前記実行の結果の記憶を、前記メモリキャッシュへの前記非グラフィックスアプリケーションの前記命令の前記実行の結果の記憶よりも優先させるように構成された、請求項１４に記載のＧＰＵ。
【請求項１９】
前記ＧＰＵは、前記非グラフィックスアプリケーションの命令がないとき、前記第２のコマンドプロセッサの電源を切断するための指示を受信し、電源を切断するための前記指示の前記受信に応答して前記第２のコマンドプロセッサの電源を切断するように構成された、請求項１４に記載のＧＰＵ。
【請求項２０】
前記シェーダコアの前記第１のセットのシェーダコアの数が前記シェーダコアの前記第２のセットのシェーダコアの数とは異なる、請求項１４に記載のＧＰＵ。
【請求項２１】
グラフィックス処理ユニット（ＧＰＵ）のシェーダプロセッサのシェーダコアのうちのいくつのシェーダコアおよびどのシェーダコアがグラフィックスアプリケーションのために確保されるかを判断することと、前記グラフィックスアプリケーションのために確保された前記判断されたシェーダコアは、シェーダコアの第１のセットを備え、前記グラフィックスアプリケーションのすべての命令は、前記シェーダコアの前記第１のセット上で実行されるべきである、
同じＧＰＵの同じシェーダプロセッサの前記シェーダコアのうちのいくつのシェーダコアおよびどのシェーダコアが非グラフィックスアプリケーションのために確保されるかを判断することと、前記非グラフィックスアプリケーションのために確保された前記判断されたシェーダコアは、シェーダコアの第２の異なるセットを備え、前記非グラフィックスアプリケーションのすべての命令は、シェーダコアの前記第２のセットによって実行されるべきである、
前記ＧＰＵが、前記非グラフィックスアプリケーションと前記グラフィックスアプリケーションの前記実行をインターリーブすることなく、実質的に同時に前記グラフィックスアプリケーションの命令と前記非グラフィックスアプリケーションの命令とを実行することを可能にするために、シェーダコアの前記第１のセットの指示とシェーダコアの前記第２のセットの指示とを前記ＧＰＵに送信することと
を行うように構成されたプロセッサ。
【請求項２２】
前記プロセッサが、前記判断と前記ＧＰＵへの前記送信とを行うドライバを実行する、請求項２１に記載のプロセッサ。
【請求項２３】
前記プロセッサは、より多くのシェーダコアが前記グラフィックスアプリケーションを実行するために利用可能であるように、シェーダコアの前記第１のセットがシェーダコアの前記第２のセットよりも多くのシェーダコアを含むと判断するように構成された、請求項２１に記載のプロセッサ。
【請求項２４】
前記プロセッサが、前記グラフィックスアプリケーションのキューイングされた命令の数に基づいてシェーダコアの前記第１のセットを判断するように構成された、請求項２１に記載のプロセッサ。
【請求項２５】
前記プロセッサが、前記非グラフィックスアプリケーションのキューイングされた命令の数に基づいてシェーダコアの前記第２のセットを判断するように構成された、請求項２１に記載のプロセッサ。
【請求項２６】
前記プロセッサが、
前記シェーダコアの前記第１のセットの前記指示を前記ＧＰＵの第１のコマンドプロセッサに送信することと、
前記シェーダコアの前記第２のセットの前記指示を前記ＧＰＵの第２の異なるコマンドプロセッサに送信することと
を行うように構成された、請求項２１に記載のプロセッサ。
【請求項２７】
前記プロセッサが、
前記シェーダコアの前記第１のセットの前記指示を前記ＧＰＵのコマンドプロセッサに送信することと、
前記シェーダコアの前記第２のセットの前記指示を前記ＧＰＵの同じコマンドプロセッサに送信することと
を行うように構成された、請求項２１に記載のプロセッサ。
【請求項２８】
グラフィックス処理ユニット（ＧＰＵ）であって、
グラフィックスアプリケーションの命令を実行するために確保された、前記ＧＰＵのシェーダプロセッサのシェーダコアの第１のセットの指示を受信するための第１の手段と、
非グラフィックスアプリケーションの命令を実行するために確保された、同じＧＰＵの同じシェーダプロセッサのシェーダコアの第２の異なるセットの指示を受信するための第２の手段と、
前記グラフィックスアプリケーションの前記命令を受信するための第３の手段と、
前記非グラフィックスアプリケーションの前記命令を受信するための第４の手段と、
シェーダコアの前記第１のセットのうちのどのシェーダコアが前記グラフィックスアプリケーションの前記命令のうちのどの命令を実行するかを判断するための手段と、
シェーダコアの前記第２のセットのうちのどのシェーダコアが前記非グラフィックスアプリケーションの前記命令のうちのどの命令を実行するかを判断するための手段と、
シェーダコアの前記第１のセットのうちのどのシェーダコアが前記グラフィックスアプリケーションの前記命令のうちのどの命令を実行するかの前記判断に基づいて、他のシェーダコアではなく、シェーダコアの前記第１のセットで前記グラフィックスアプリケーションの前記命令のすべてを実行するための手段と、
前記グラフィックスアプリケーションの前記命令を実行するのと同時に、前記非グラフィックスアプリケーションの前記実行と前記グラフィックスアプリケーションの前記実行とをインターリーブすることなく、シェーダコアの前記第２のセットのうちのどのシェーダコアが前記非グラフィックスアプリケーションの前記命令のうちのどの命令を実行するかの前記判断に基づいて、他のシェーダコアではなく、シェーダコアの前記第２のセットで前記非グラフィックスアプリケーションの前記命令のすべてを実行するための手段と
を備えるＧＰＵ。
【請求項２９】
受信するための前記第１の手段および受信するための前記第２の手段が、受信するための異なる手段を備える、請求項２８に記載のＧＰＵ。
【請求項３０】
グラフィックス処理ユニット（ＧＰＵ）に、
前記ＧＰＵを用いて、グラフィックスアプリケーションの命令を実行するために確保された、前記ＧＰＵのシェーダプロセッサのシェーダコアの第１のセットの指示を受信することと、
前記ＧＰＵを用いて、非グラフィックスアプリケーションの命令を実行するために確保された、同じＧＰＵの同じシェーダプロセッサのシェーダコアの第２の異なるセットの指示を受信することと、
前記ＧＰＵを用いて、前記グラフィックスアプリケーションの前記命令を受信することと、
前記ＧＰＵを用いて、前記非グラフィックスアプリケーションの前記命令を受信することと、
前記ＧＰＵの第１の作業負荷分配ユニットを用いて、シェーダコアの前記第１のセットのうちのどのシェーダコアが前記グラフィックスアプリケーションの前記命令のうちのどの命令を実行するかを判断することと、
前記ＧＰＵの第２の異なる作業負荷分配ユニットを用いて、シェーダコアの前記第２のセットのうちのどのシェーダコアが前記非グラフィックスアプリケーションの前記命令のうちのどの命令を実行するかを判断することと、
前記ＧＰＵを用いて、シェーダコアの前記第１のセットのうちのどのシェーダコアが前記グラフィックスアプリケーションの前記命令のうちのどの命令を実行するかの前記判断に基づいて、他のシェーダコアではなく、シェーダコアの前記第１のセットで前記グラフィックスアプリケーションの前記命令のすべてを実行することと、
前記グラフィックスアプリケーションの前記命令を実行するのと同時に、前記ＧＰＵを用いて、前記非グラフィックスアプリケーションの前記実行と前記グラフィックスアプリケーションの前記実行とをインターリーブすることなく、シェーダコアの前記第２のセットのうちのどのシェーダコアが前記非グラフィックスアプリケーションの前記命令のうちのどの命令を実行するかの前記判断に基づいて、他のシェーダコアではなく、シェーダコアの前記第２のセットで前記非グラフィックスアプリケーションの前記命令のすべてを実行することと
を行わせる命令を備える、非一時的コンピュータ可読記憶媒体。
【請求項３１】
シェーダコアの前記第１のセットの前記指示を受信するための前記命令が、第１のコマンドプロセッサを用いてシェーダコアの前記第１のセットの前記指示を受信するための命令を備え、シェーダコアの前記第２のセットの前記指示を受信するための前記命令が、第２の異なるコマンドプロセッサを用いてシェーダコアの前記第２のセットの前記指示を受信するための命令を備える、請求項３０に記載の非一時的コンピュータ可読記憶媒体。
【請求項３２】
グラフィックス処理ユニット（ＧＰＵ）のシェーダプロセッサのシェーダコアのうちのいくつのシェーダコアおよびどのシェーダコアがグラフィックスアプリケーションのために確保されるかを判断するための手段と、前記グラフィックスアプリケーションのために確保された前記判断されたシェーダコアは、シェーダコアの第１のセットを備え、前記グラフィックスアプリケーションのすべての命令は、シェーダコアの前記第１のセット上で実行されるべきである、
同じＧＰＵの同じシェーダプロセッサの前記シェーダコアのうちのいくつのシェーダコアおよびどのシェーダコアが非グラフィックスアプリケーションのために確保されるかを判断するための手段と、前記非グラフィックスアプリケーションのために確保された前記判断されたシェーダコアは、シェーダコアの第２の異なるセットを備え、前記非グラフィックスアプリケーションのすべての命令は、シェーダコアの前記第２のセットによって実行されるべきである、
前記ＧＰＵが、前記非グラフィックスアプリケーションと前記グラフィックスアプリケーションの前記実行をインターリーブすることなく、実質的に同時に前記グラフィックスアプリケーションの命令と前記非グラフィックスアプリケーションの命令とを実行することを可能にするために、シェーダコアの前記第１のセットの指示とシェーダコアの前記第２のセットの指示とを前記ＧＰＵに送信するための手段と
を備えるプロセッサ。
【請求項３３】
１つまたは複数のプロセッサに、
前記１つまたは複数のプロセッサ上のドライバを用いて、グラフィックス処理ユニット（ＧＰＵ）のシェーダプロセッサのシェーダコアのうちのいくつのシェーダコアおよびどのシェーダコアがグラフィックスアプリケーションのために確保されるかを判断することと、前記グラフィックスアプリケーションのために確保された前記判断されたシェーダコアは、シェーダコアの第１のセットを備え、前記グラフィックスアプリケーションのすべての命令は、シェーダコアの前記第１のセット上で実行されるべきである、
前記１つまたは複数のプロセッサ上の前記ドライバを用いて、同じＧＰＵの同じシェーダプロセッサの前記シェーダコアのうちのいくつのシェーダコアおよびどのシェーダコアが非グラフィックスアプリケーションのために確保されるかを判断することと、前記非グラフィックスアプリケーションのために確保された前記判断されたシェーダコアは、シェーダコアの第２の異なるセットを備え、前記非グラフィックスアプリケーションのすべての命令は、シェーダコアの前記第２のセットによって実行されるべきである、
前記ＧＰＵが、前記非グラフィックスアプリケーションと前記グラフィックスアプリケーションの前記実行をインターリーブすることなく、実質的に同時に前記グラフィックスアプリケーションの命令と前記非グラフィックスアプリケーションの命令とを実行することを可能にするために、シェーダコアの前記第１のセットの指示とシェーダコアの前記第２のセットの指示とを前記ＧＰＵに送信することと
を行わせる命令を備える、非一時的コンピュータ可読記憶媒体。
【請求項３４】
プロセッサと、
グラフィックス処理ユニット（ＧＰＵ）と
を備え、
前記プロセッサが、
シェーダコアの第１のセット上で実行されるべきグラフィックスアプリケーションのために確保された、前記ＧＰＵのシェーダプロセッサの前記シェーダコアの前記第１のセットを判断することと、
シェーダコアの第２の異なるセットによって実行されるべき非グラフィックスアプリケーションのために確保された、同じＧＰＵの同じシェーダプロセッサのシェーダコアの前記第２のセットを判断することと、
前記ＧＰＵが、互いに干渉せずに実質的に同時に前記グラフィックスアプリケーションの命令と前記非グラフィックスアプリケーションの命令とを実行することを可能にするために、シェーダコアの前記第１のセットの指示とシェーダコアの前記第２のセットの指示とを前記ＧＰＵに送信することと
を行うように構成され、
前記ＧＰＵが、
シェーダコアの前記第１のセットとシェーダコアの前記第２のセットとを含む複数のシェーダコアを含む前記シェーダプロセッサと、
前記グラフィックスアプリケーションの命令を実行するために確保された前記シェーダコアの前記第１のセットの前記指示を受信し、前記グラフィックスアプリケーションの前記命令を受信するように構成された第１のコマンドプロセッサと、
前記非グラフィックスアプリケーションの命令を実行するために確保された前記シェーダコアの前記第２の異なるセットの前記指示を受信し、前記非グラフィックスアプリケーションの前記命令を受信するように構成された第２のコマンドプロセッサと
前記シェーダコアの前記第１のセットのうちのどのシェーダコアが前記グラフィックスアプリケーションの前記命令のうちのどの命令を実行するかを判断するように構成された第１の作業負荷分配ユニットと、
前記シェーダコアの前記第２のセットのうちのどのシェーダコアが前記非グラフィックスアプリケーションの前記命令のうちのどの命令を実行するかを判断するように構成された第２の異なる作業負荷分配ユニットと、
を備え、
他のシェーダコアではなく、前記シェーダコアの前記第１のセットが、シェーダコアの前記第１のセットのうちのどのシェーダコアが前記グラフィックスアプリケーションの前記命令のうちのどの命令を実行するかの前記第１の作業負荷分配ユニットの前記判断に基づいて、前記グラフィックスアプリケーションの前記命令のすべてを実行するように構成され、
他のシェーダコアではなく、前記シェーダコアの前記第２のセットが、前記グラフィックスアプリケーションの前記命令の前記実行と実質的に同時に、前記非グラフィックスアプリケーションの前記実行と前記グラフィックスアプリケーションの前記実行とをインターリーブすることなく、シェーダコアの前記第２のセットのうちのどのシェーダコアが前記非グラフィックスアプリケーションの前記命令のうちのどの命令を実行するかの前記第２の作業負荷分配ユニットの前記判断に基づいて、前記非グラフィックスアプリケーションの前記命令のすべてを実行するように構成された、装置。