説明

複数のシェーダエンジンを伴う処理ユニット

【解決手段】
プロセッサは第1のシェーダエンジン及び第2のシェーダエンジンを含む。第1のシェーダエンジンは、ディスプレイデバイス上で表示されるべき画素の第1のサブセットのための画素シェーダを処理するように構成される。第2のシェーダエンジンは、ディスプレイデバイス上で表示されるべき画素の第2のサブセットのための画素シェーダを処理するように構成される。第1及び第2のシェーダエンジンの両方はまた、一般計算シェーダ及び非画素グラフィクスシェーダを処理するようにも構成される。プロセッサはまた、第1及び第2のシェーダに結合されると共にこれらの間に置かれるレベル1(L1)データキャッシュを含んでいてもよい。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は概してコンピュータシステムにおいて行われるコンピューティング動作に向けられている。より特定的には、本発明はコンピュータシステムにおいてコンピューティング動作を行う処理ユニットに向けられている。
【背景技術】
【0002】
グラフィクス処理ユニット(GPU)は、グラフィクス処理タスクを行うことに適合させられている複雑な集積回路である。GPUは、例えば、ビデオゲームアプリケーション等のエンドユーザアプリケーションによって要求されるグラフィクス処理タスクを実行することができる。GPUは、ディスクリートな(即ち別個の)デバイス及び/又はパッケージであることがあり、あるいは別のプロセッサ(例えばCPU)と同じデバイス及び/又パッケージ内に含まれていることがある。例えばGPUは、経路付けデバイス又は例えばノースブリッジ等のブリッジデバイス内にしばしば集積化される。そのような例においては、エンドユーザアプリケーションとGPUの間には何層ものソフトウエアが存在する。エンドユーザアプリケーションは、アプリケーションプログラミングインタフェース(API)と通信する。APIは、GPUに依存するフォーマットでよりはむしろ標準的なフォーマットでエンドユーザアプリケーションがグラフィクスデータ及びコマンドを出力することを可能にする。ワシントン、レドモンドのマイクロソフト社(Microsoft Corporation of Redmond, Washington)によって開発されたダイレクトX(DirectX)(登録商標)及びクロノスグループ(Khronos Group)によって推奨されているオープンGL(OpenGL)(登録商標)を含めて様々な種類のAPIが商業的に利用可能である。APIはドライバと通信する。ドライバは、APIから受信した標準コードを、GPUによって理解されるネイティブフォーマットの命令にトランスレートする。ドライバは典型的にはGPUの製造業者によって書かれる。GPUは次いでドライバからの命令を実行する。
【0003】
GPUによって行われるグラフィクス処理タスクは、典型的には、行列操作及びベクトル操作等の複雑な数学的計算を伴う。これらの計算を効率的に行うために、GPUはシェーダエンジン(shader engine)と称される処理要素のアレイを典型的には含む。処理要素のアレイは、単一命令多重データ(SIMD)デバイスへと組織化されている。シェーダエンジンは、シェーダプログラムと称される命令のシーケンスを実行する。シェーダプログラムを実行するために必要なデータは、シェーダエンジンの異なる処理要素へ並列で分配される。異なる処理要素は次いで、データの異なる断片に同じ操作を行うであろう。このようにしてGPUは、グラフィクス処理タスクに必要な複雑な数学的計算を典型的な中央処理ユニット(CPU)よりも速く行うことができる。
【0004】
従来、GPUは、単一のグラフィクス処理タスクを完了するのに必要な異なるシェーダプログラムを実行するために、異なるシェーダエンジンを含んでいたかもしれない。例えば単一のグラフィクス処理は、少なくとも2つの異なるシェーダプログラムの実行を必要とすることがあり、1つは三角形の頂点を操作する頂点シェーダであり、もう1つはディスプレイデバイス(例えばコンピュータスクリーン)上に表示されることになる画素を決定する画素シェーダである。計算のこれら2セットを行うために、典型的なGPUは2つの異なるシェーダエンジン、即ち(i)頂点シェーダを行う第1のシェーダエンジンと(ii)画素シェーダを行う第2のシェーダエンジンとを含んでいたかもしれない。
【0005】
近年では、GPUは1つの統合化シェーダエンジンを含むように設計されてきている。統合化シェーダエンジンは、幾つかの異なる種類のシェーダプログラムを行うことが可能な処理要素のアレイを含んでいる。統合化シェーダエンジンは、例えば、頂点シェーダ、幾何シェーダ及び画素シェーダを実行し、各シェーダは、パイプライン内の異なるシェーダエンジンに進行するよりもむしろ、統合化シェーダの処理要素のアレイを通って再循環する。典型的なグラフィクス処理タスク(例えば頂点シェーダ、幾何シェーダ、画素シェーダ等)に加えて、統合化シェーダエンジンは、つい最近では一般計算動作(例えば数学的アルゴリズム、物理的シミュレーション等)を行うためにも用いられてきている。
【発明の概要】
【発明が解決しようとする課題】
【0006】
競争力を保つために、GPUの計算能力は、消費者の要望についていくために継続的に増大すべきであり、またエンドユーザアプリケーション及びAPIの要求に応じて進歩している。GPUの計算能力を増大させる1つの方法は、シェーダエンジンのアレイにおける処理要素の数を増やすことである。しかし、増大した数の処理要素にワークロード及びデータを供給するためには、処理要素に入力している入力/出力バスは、現在利用可能なGPUの能力をまさに維持するために対応して増えるであろう。
【0007】
GPUの計算能力を増大させるための見込みのある解決法は、シェーダエンジンに含まれているSIMDの幅を増大させることである。しかし、この解決法はSIMDダイバージェンス(divergence)を伴う問題を有していそうである。SIMDダイバージェンスは、SIMDデバイス上で実行中の異なるスレッドがシェーダプログラムの分岐命令における異なる方向をとる場合に生じる。例えばシェーダプログラムは、表1に示されるような分岐命令を有していることがある。SIMDダイバージェンスは、例えば、SIMDデバイス上で実行中の第1のスレッドが分岐命令の「ゼン(then)」部(即ち動作1(operation 1))にエンターし且つそのSIMDデバイス上で実行中の第2のスレッドがその分岐命令の「エルス(else)」部(即ち動作2(operation 2))にエンターする場合に、生じる。このシナリオでは、第2のスレッド(「エルス」部にエンターした)は、第1のスレッド(「イフ(if)」状態に入った)を待つ必要があるであろう。SIMDダイバージェンスに付随するこの待ちは、実行するための追加的な時間の負担をシェーダプログラムにかける。SIMDダイバージェンスの可能性に起因して、SIMDの幅を単純に増大させることは、GPUの計算能力を増大させるための有望な選択肢ではないかもしれない。
【表1】

【0008】
GPUの計算能力を増大させるための別の見込みのある解決法は、シェーダエンジンのアレイ内の処理要素(例えばSIMD)のスタック(stack)を増大させることである。しかし、この解決法は幾つかの理由で問題である。先ず、処理要素のスタックを増大させることは細長いチップを結果としてもたらし得るし、場合によっては製造上の問題を生じさせる。加えて、処理要素のスタックを増大させることは、スタックにワークロードを供給することに伴う入力待ち時間の増大、及びスタックからの結果を経路付けることに伴う出力待ち時間の増大を生じさせる。更に、スタックにデータ(例えば状態データ)を供給するための待ち時間の増大があるかもしれない。このように、処理要素のスタックの深さを単純に大きくすることは、GPUの計算能力を増大させるための有望な選択肢ではないかもしれない。
【0009】
上述に鑑み、増大した計算能力を伴うGPU及びそのアプリケーションが必要とされている。
【課題を解決するための手段】
【0010】
本発明は、増大した計算能力を伴うプロセッサ及びそのアプリケーションを提供することによって上述の必要性を満たす。プロセッサの単一のシェーダエンジンの幅又は深さを増大させることよりもむしろ、本発明の実施形態は、複数のシェーダエンジンを伴うプロセッサを提供する。
【0011】
例えば、本発明の実施形態によると、プロセッサは第1のシェーダエンジン及び第2のシェーダエンジンを含む。第1のシェーダエンジンは、ディスプレイデバイス上で表示されるべき画素の第1のサブセットのための画素シェーダを処理するように構成される。第2のシェーダエンジンは、ディスプレイデバイス上で表示されるべき画素の第2のサブセットのための画素シェーダを処理するように構成される。第1及び第2のシェーダエンジンの両方はまた、一般計算シェーダ及び非画素グラフィクスシェーダを処理するようにも構成される。プロセッサはまた、第1及び第2のシェーダエンジンに結合されると共にこれらの間に置かれるレベル1(L1)データキャッシュを含んでいてもよい。
【0012】
別の実施形態では、プロセッサはソフトウエアにおいて定義される。この実施形態では、コンピュータプログラム製品は、コンピューティングデバイス上で実行される場合にプロセッサを定義する命令が入っているコンピュータ可読記憶媒体を含む。
【0013】
更なる実施形態では、プロセッサはコンピューティングシステム内に含まれる。この実施形態では、コンピューティングシステムは、メモリと、第1の処理ユニットと、第2の処理ユニットと、メモリ、第1の処理ユニット及び第2の処理ユニットに結合されるバスと、を含む。例示的なコンピューティングシステムは、限定はされないが、スーパーコンピュータ、デスクトップコンピュータ、ラップトップコンピュータ、ビデオゲームデバイス、埋め込みデバイス、携帯デバイス(例えば携帯電話、スマートフォン、MP3プレイヤ、カメラ等)、又はプロセッサを含み若しくはプロセッサを含むように構成される何らかの他のデバイスを含んでいてよい。
【0014】
更なる実施形態は、プロセッサにおいてシェーダを処理するための方法を提供する。この方法によると、第1のシェーダエンジンが、ディスプレイデバイス上で表示されるべき画素の第1のサブセットのための画素シェーダを処理し、そして第2のシェーダエンジンが、ディスプレイデバイス上で表示されるべき画素の第2のサブセットのための画素シェーダを処理する。第1及び第2のシェーダエンジンの両方はまた、一般計算シェーダ及び非画素グラフィクスシェーダをも処理する。
【0015】
本発明の更なる特徴及び利点の他、本発明の種々の実施形態の構成及び動作は、添付の図面を参照して以下に詳細に説明される。尚、本発明はここに説明される特定の実施形態に限定されない。そのような実施形態は例示の目的のみのためにここに提示されている。追加的な実施形態はここに含まれる教示に基き関連分野を含めた当業者にとって明らかであろう。
【図面の簡単な説明】
【0016】
ここに組み込まれ且つ出願書類の一部をなす添付の図面は本発明を示し、そして明細書と共に、本発明の原理を説明すること及び関連分野を含めた当業者が本発明を作りそして使用するのを可能にすることに更に役立つ。
【0017】
【図1】図1は本発明の実施形態に従う例示的なコンピューティングシステムのブロック図である。
【0018】
【図2】図2は本発明の実施形態に従い複数の分割スクリーン統合化シェーダエンジンを伴う例示的なGPUのブロック図である。
【0019】
【図3】図3は図2のGPU内に含まれる例示的な入力論理のブロック図である。
【0020】
【図4A】図4Aは図2のGPUの例示的な分割スクリーン統合化シェーダエンジンのブロック図(その1)である。
【図4B】図4Bは図2のGPUの例示的な分割スクリーン統合化シェーダエンジンのブロック図(その2)である。
【0021】
【図5】図5は図2のGPUのシェーダエンジンによって共有される例示的なレベル1(L1)データキャッシュのブロック図である。
【0022】
【図6】図6は図2のGPU内に含まれる例示的なオフチップメモリアクセス論理のブロック図である。
【0023】
本発明の特徴及び利益は、図面と共に以下に記述される詳細な説明からより明らかになり、図面において同様の参照符号は全体を通して対応する要素を識別する。図面において、同様の参照数字は一般的に同一の、機能的に類似の、及び/又は構造的に類似の要素を示す。ある要素が最初に現れる図面は対応する参照番号の一番左の単一又は複数の桁によって示される。
【発明を実施するための形態】
【0024】
I.概説
本発明の本実施形態は、複数のシェーダエンジンを伴う処理ユニット及びそのアプリケーションに向けられている。以下の詳細な説明において、「1つの実施形態」、「ある実施形態」、「例示的実施形態」等に対する言及は、説明される実施形態が特定の特徴、構造又は特性を含んでいてよいが、全ての実施形態が必ずしも当該特定の特徴、構造又は特性を含む必要がなくてよいことを示している。また、そのような表現は必ずしも同じ実施形態を参照しているとは限らない。更に、特定の特徴、構造又は特性がある実施形態に関連して説明されている場合には、明示的に説明されていようとなかろうと、他の実施形態に関連して当該特定の特徴、構造又は特性を具現化することは当業者の知識の範囲内にあることと言える。
【0025】
ある実施形態によると、プロセッサの計算能力は、複数のシェーダエンジンをプロセッサに設けることによって増大させられる。複数のシェーダエンジンを伴うプロセッサを設計することは、単一のシェーダエンジンの幅及び/又は深さを単純に増大させるよりもむしろ、多数のSIMDにわたる更なる拡張性(scalability)を促進する。ある実施形態においては、複数のシェーダエンジンは、共通のキャッシュシステムへのアクセスを共有して、シェーダエンジンにデータを供給することに付随する待ち時間を低減する。この実施形態においては、複数のシェーダエンジン、及びキャッシュシステムは、実質的にスクエアなフロアプラン(substantially square floor plan)をプロセッサに提供するように構成されてよい。例えばキャッシュシステム(又は少なくともその部分)は、キャッシュシステムに一方の側からアクセスしている半分のシェーダエンジン及びキャッシュシステムに他方の側からアクセスしている他の半分のシェーダエンジンについて中央のロケーション内に置かれてよい。プロセッサのシェーダエンジンは、非画素シェーダ及び画素シェーダを異なるように取り扱う。
【0026】
非画素シェーダに対しては、プロセッサの各シェーダエンジンは統合化されている。つまり、各シェーダエンジンは一般計算シェーダ(例えば数学的アルゴリズム、物理的シミュレーション等)及び非画素グラフィクスシェーダ(例えば頂点シェーダ、幾何シェーダ、テセレーションシェーダ(tessellation shaders)等)を処理するように構成される。ある実施形態においては、非画素シェーダは総当り制(round-robin fashion)で複数のシェーダへ送られる。
【0027】
画素シェーダに対しては、プロセッサの各シェーダエンジンは、ディスプレイデバイスによって表示されるべき画素の特定のサブセットを処理するように構成される。ディスプレイデバイスの画素は、シェーダエンジンの数に対応する数のサブセットへと区分化される。例えばプロセッサが2つのシェーダエンジンを含む実施形態においては、ディスプレイデバイスの画素は画素の第1及び第2のサブセットへと区分化される(例えば第1のサブセットを備えるチェッカー盤パターンの偶数の画素及び第2のサブセットを備えるチェッカー盤パターンの奇数の画素を伴うチェッカー盤)。この実施形態においては、プロセッサの第1のシェーダエンジンは第1のサブセットの画素を処理するように構成され、そしてプロセッサの第2のシェーダエンジンは第2のサブセットの画素を処理するように構成される。プロセッサは3つ以上(例えば4つ、8つ、等)のシェーダエンジンを含んでいてもよい。この場合、ディスプレイデバイスの画素は3つ以上(例えば4つ、8つ、等)のサブセットへと区分化され、画素の各サブセットはプロセッサの特定のシェーダエンジンによって処理される。
【0028】
本発明の実施形態に従う例示的なプロセッサの更なる詳細が以下に説明される。しかし、これらの詳細を提供するのに先立ちそのようなプロセッサが実装されるであろう例示的なシステムを説明することは有用である。
【0029】
II.例示的なシステム
図1は本発明の実施形態に従う例示的なコンピューティングシステム100のブロック図である。コンピューティングシステム100は、CPU102、GPU110を含み、そして随意的にコプロセッサ112を含んでいてよい。加えてコンピューティングシステム100は、CPU102、GPU110及びコプロセッサ112によってアクセスされてよいシステムメモリ104を含む。実施形態においては、コンピューティングシステム100は、スーパーコンピュータ、デスクトップコンピュータ、ラップトップコンピュータ、ビデオゲームデバイス、埋め込みデバイス、携帯デバイス(例えば携帯電話、スマートフォン、MP3プレイヤ、カメラ、GPSデバイス等)、又はGPUを含み若しくはGPUを含むように構成される何らかの他のデバイスを備えていてよい。図1には具体的に示されていないが、コンピューティングシステム100は、コンピューティングシステム100のコンテンツ(例えばグラフィクス、ビデオ等)を表示するためのディスプレイデバイス(例えば陰極線管、液晶ディスプレイ、プラズマディスプレイ等)を含んでいてもよい。
【0030】
GPU110及びコプロセッサ112は、CPU102及びシステムメモリとバス114を介して通信する。バス114は、周辺要素インタフェース(peripheral component interface)(PCI)バス、アクセラレーテッドグラフィクスポート(accelerated graphics port)(AGP)バス、PCIエクスプレス(PCI Express)(PCIE)バス、又は現在用いられ若しくは将来開発される別の種類のバスを含めてコンピュータシステムにおいて用いられる任意の種類のバスであってよい。
【0031】
GPU110及びコプロセッサ112は、特定の特別の機能を、CPU102がソフトウエアにおいてそれらを行い得るであろうよりも通常は高速に行うことによって、CPU102を支援する。例えばGPU110は、データ並列コンピューティングタスク、例えばグラフィクス処理タスク(例えば頂点シェーダ、幾何シェーダ、画素シェーダ等を含む)及び一般計算タスク(例えば数学的アルゴリズム、物理的シミュレーション等を含む)を処理してよい。後で更に詳細に説明されるように、GPU110は本発明の実施形態に従って複数のシェーダエンジンを含む。複数のシェーダエンジンは、単一のシェーダエンジンGPUと比較して増大された計算能力をGPU110に提供する。コプロセッサ112は、限定はされないが、浮動小数点コプロセッサ、GPU、ネットワーキングコプロセッサ、並びに関連する分野を含めて当業者に明らかであろうような他の種類のコプロセッサ及びプロセッサを含んでいてよい。
【0032】
システムメモリ104に加えて、コンピューティングシステム100はローカルメモリ106及びローカルメモリ108を更に含む。ローカルメモリ106はGPU110に結合されており、またバス114に結合されていてもよい。ローカルメモリ108はコプロセッサ112に結合されており、またバス114に結合されていてもよい。ローカルメモリ106及び108は、特定のデータ(例えば頻繁に用いられるデータ)への、そのデータがシステムメモリ104内に記憶されていたとした場合に可能であろうよりも高速なアクセスを提供するために、それぞれGPU110及びコプロセッサ112に利用可能である。
【0033】
ある実施形態においては、GPU110及びコプロセッサ112は、CPU102と並列に命令をデコードし、そしてそれらを対象としている命令のみを実行する。別の実施形態においては、GPU110及びコプロセッサ112を対象としている命令をCPU102がそれぞれのコマンドバッファへ送る。
【0034】
III.例示的なプロセッサ
図2は本発明の実施形態に従い複数のシェーダエンジンを有する例示的なプロセッサのブロック図である。例示のみを目的とし且つ限定を目的とせずに、例示的なプロセッサがGPUに関して以下に説明される。しかし、関連分野を含めた当業者であれば、本発明の実施形態は複数のシェーダエンジンを含む他の種類のプロセッサ、例えばビデオ処理ユニット、中央処理ユニット、コプロセッサ等にも適用され得ることを理解するであろう。これら他の種類のプロセッサは本発明の精神及び範囲内で検討される。
【0035】
図2の実施形態において示されるように、GPU110は2つのシェーダエンジン、即ち第1のシェーダエンジン210A及び第2のシェーダエンジン210Bを含む。シェーダエンジン210は非画素シェーダに関して統合化されており、即ち、各シェーダエンジン210は、非画素グラフィクスシェーダ(例えば頂点シェーダ、幾何シェーダ、テセレーションシェーダ等)及び一般計算シェーダ(例えば数学的アルゴリズム、物理的シミュレーション等)を実行するように構成されていることを意味している。各非画素シェーダは、パイプライン内の異なるシェーダエンジンに進行するよりもむしろ、シェーダエンジン210の処理要素のアレイを通って単純に再循環する。
【0036】
非画素シェーダとは異なり、シェーダエンジン210は画素シェーダに関して統合化されていない。画素シェーダに対しては、各シェーダエンジン210は、ディスプレイ上に表示されるべき画素のサブセットに対してシェーダプログラムを実行するように構成される。例えば、第1のシェーダエンジン210Aは、ディスプレイ上に表示されるべき画素の第1のサブセット(例えば半分)に対してシェーダプログラムを実行し、そして第2のシェーダエンジン210Bは、ディスプレイ上に表示されるべき画素の第2のサブセット(例えば残りの半分)に対してシェーダプログラムを実行する。
【0037】
図2は2つのシェーダエンジンのみを伴うGPUを図示しているが、これは例示的な目的なだけであり且つ限定の目的ではないことが理解されるべきである。ある実施形態においては、GPU110は3つ以上(例えば4つ、8つ、等)のシェーダエンジンを含んでいてよい。そのような実施形態においては、シェーダエンジンの半分はデータパス(例えばデータキャッシュ206)の一方の側に位置し、またシェーダエンジンの残りの半分はデータパス(例えばデータキャッシュ206)の他方の側に位置する。シェーダエンジンの半分はデータパスの一方の側に位置し、またシェーダエンジンの残りの半分はデータパスの他方の側に位置するので、GPU110は実質的にスクエアなフロアープランを有するように構成され得る。
【0038】
シェーダエンジン210に加えて、図2は、GPU110が更に入力論理204、キャッシュシステム((レベル1(L1))データキャッシュ206、(レベル2(L2))データキャッシュ216を含む)及び出力論理(経路付け論理212A〜B、クロスバー214及びオフチップのメモリアクセス論理218A〜Bを含む)を含んでいることを示している。以下これらの要素の各々を更に詳細に説明する。
【0039】
A.入力論理204
入力論理204はグラフィクス処理タスク及び一般計算タスクに前処理を行い、そしてこれらのタスクをシェーダエンジン210へ発行する。図3は入力204の実施形態を示している。図3の実施形態に示されるように、入力論理204は、コマンドプロセッサ302、頂点解析器310、プリミティブアセンブラ(primitive assembler)312、第1の走査変換器314A、第2の走査変換器314B、第1の入力制御ブロック316A及び第2の入力制御ブロック316Bを含む。
【0040】
コマンドプロセッサ302は、グラフィクス処理タスク及び一般計算タスクをCPUから受信する。コマンドプロセッサ302は次いで、これらのタスクを頂点解析器310へ渡す。
【0041】
頂点解析器310は、グラフィクス処理タスク及び/又は一般計算タスクに関連する全てのシェーダプログラムを識別する。頂点解析器310は、利用可能になるはずの入力データ及び出力データに基づいて各シェーダプログラムがシェーダエンジン210においていつ着手され得るのかをスケジューリングする。例えば、特定のグラフィクス処理タスクは第1のシェーダプログラム及び第2のシェーダプログラムの実行を必要とするであろうし、ここで第2のシェーダプログラムは第1のシェーダプログラムによって生成されるデータに依存する。この例に従うと、頂点解析器310は、第1及び第2のシェーダプログラムを識別すると共に第1のシェーダプログラムが第2のシェーダプログラムよりも先に実行されるようにスケジューリングし、その結果、第2のシェーダプログラムのためのデータは、第2のシェーダプログラムが着手されるときに利用可能になるはずである。
【0042】
着手のためにシェーダプログラムをスケジューリングすることに加えて、頂点解析器310はまた、頂点バッファへのポインタを生成し、そして接続性データ(connectivity data)を含む。ポインタは頂点バッファから頂点を読み出すために用いられる。頂点が既に処理されてしまっており且つ頂点バッファ内に記憶されている場合、頂点解析器310はその頂点を頂点バッファから読み出してよく、その結果、頂点は1回だけ処理される。接続性データは、複数の頂点が互いにどのように適合してプリミティブ(例えば三角形)を作成するのかを指定し、その結果、プリミティブは適切にラスタライズされ(rasterized)得る。
【0043】
頂点解析器310はプリミティブアセンブラ312及び入力制御ブロック316に結合されている。頂点解析器310からの幾つかのシェーダプログラムはプリミティブアセンブラ312へ送られ、また他は第1の入力制御ブロック316A又は第2の入力制御ブロック316Bのいずれかへ送られる。特に、画素シェーダはプリミティブアセンブラ312に送られる一方で、一般計算シェーダ及び非画素グラフィクスシェーダは入力制御ブロック316へ渡される。
【0044】
プリミティブアセンブラ312は、プリミティブをそれらが走査変換器314へ送られるのに先立ち前処理(例えば変形、クリップ等)する。図3の実施形態に示されるように、プリミティブアセンブラは、プリミティブを頂点解析器310又は経路付け論理212から受信してよい。
【0045】
走査変換器314はプリミティブを横断して(traverse)異なるシェーダエンジン210によって処理されるべき画素を決定する。ある実施形態においては、第1の走査変換器314Aは、画素の第1のサブセット(例えばチェッカー盤パターンの偶数の画素)を第1のシェーダエンジン210Aによる後続の処理のために第1の入力制御ブロック316Aへと送り、また第2の走査変換器314Bは、画素の第2のサブセット(例えばチェッカー盤パターンの奇数の画素)を第2のシェーダエンジン210Bによる後続の処理のために第2の入力制御ブロック316Bへと送る。
【0046】
走査変換器314から画素を受信することに加えて、入力制御ブロック316はまた、前述したように頂点解析器310から非画素シェーダを受信する。ある実施形態においては、頂点解析器310は、非画素シェーダ(例えば一般計算シェーダ及び非画素グラフィクスシェーダ)を総当り制で入力制御ブロック316に渡す。例えば頂点解析器310は、第1の非画素シェーダ、第2の非画素シェーダ、第3の非画素シェーダ、第4の非画素シェーダ、等を備えている非画素シェーダのストリームをシーケンシャルにスケジューリングしてよい。非画素シェーダの総当り分配に従い、頂点解析器310は、第1の非画素シェーダを第1の入力制御ブロック316Aへ、第2の非画素シェーダを第2の入力制御ブロック316Bへ、第3の非画素シェーダを第1の入力制御ブロック316Aへ、第4の非画素シェーダを第2の入力制御ブロック316Bへ、等のように送る。
【0047】
入力制御ブロック316は、シェーダエンジン210内のどこに特定のワークロードを送るのかを決定する。既に簡単に述べられ且つ以下に更に詳細に説明されるように、各シェーダエンジン210は複数の処理要素(例えばSIMD)を含む。入力制御ブロック316は、新たなワークロードを処理するためにどの処理要素(例えばSIMD)が利用可能であるのかを識別し、そして新たなワークロードを利用可能な処理要素(例えばSIMD)へ送る。特に、第1の入力制御ブロック316Aはワークロードを第1のシェーダエンジン210Aの処理要素(例えばSIMD)へ送り、また第2の入力制御ブロック316Bはワークロードを第2のシェーダエンジン210Bの処理要素(例えばSIMD)へ送る。
【0048】
B.シェーダエンジン210
図4A及び4Bはそれぞれ第1のシェーダエンジン210A及び第2のシェーダエンジン210Bの例示的な詳細を示している。図4A及び4Bの実施形態に示されるように、シェーダエンジン210は、これら2つのシェーダエンジンの間の中心軸に関して互いの鏡像として構成される。このようにして、シェーダエンジン210は、以下に更に詳細に説明されるように単一のキャッシュシステムへの共通のアクセスを共有することができる。
【0049】
図4A及び4Bを参照すると、各シェーダエンジン210は、複数のSIMD406、複数のローカルデータシェア(LDS)404及びシーケンサ402を含む。SIMD406は、各シェーダエンジン210のデータ並列処理要素である。ある実施形態においては、各シェーダエンジンは10行のSIMD406を含み、各行は4要素の算術論理ユニット(arithmetic-logic units)(ALU)の4つのグループを備えている。各LDS404は1行のSIMD406によって用いられるデータを記憶する。シーケンサ402は、シェーダエンジン210内の異なるSIMD406によってどのワークロードが処理されているのかの経過を追って、複数のスレッドが並列に実行されることを可能にする。ある実施形態においては、例えば、各シェーダエンジン210内でどの時点においても30,000スレッドが実行され得る。これらのスレッドを実行するためにSIMD406が必要とするデータは、キャッシュシステムからリトリーブされて(retrieved)よい。
【0050】
C.キャッシュシステム
再び図2を参照すると、キャッシュシステムは、L1データキャッシュ206、L2データキャッシュ216及びオフチップメモリアクセス論理218を含む。シェーダプログラムを実行するためにシェーダエンジン210がデータを必要とすると、先ずL1データキャッシュ206に対して要求が作成される。L1データキャッシュ206内でキャッシュヒットがある(即ち要求されたデータがL1データキャッシュ206内にある)場合には、そのデータをどちらのシェーダエンジンが必要としたのかに応じて、データは第1のシェーダエンジン210A又は第2のシェーダエンジン210Bのいずれかに転送される。L1データキャッシュ206内でキャッシュミスがある(即ち要求されたデータがL1データキャッシュ206内に無い)場合には、L1データキャッシュ206は当該要求をL2データキャッシュ216へ転送する。L2データキャッシュ216はL1データキャッシュ206よりも大きなキャッシュメモリユニットではあるが、より大きなそのサイズに起因して、要求されたデータがL2データキャッシュ216内に含まれているかどうかを決定するために、典型的にはより長い時間がかかる。L2データキャッシュ216内でキャッシュヒットがある場合には、要求されたデータは、L1データキャッシュ206内に記憶され、そしてそのデータを要求したシェーダエンジン210へと転送される。L2データキャッシュ216内でキャッシュミスがある場合には、要求されたデータは、オフチップメモリアクセス論理218を介してオフチップメモリからリトリーブされる必要がある。
【0051】
図5はL1データキャッシュ206の実施形態を示している。図5の実施形態に示されるように、L1データキャッシュ206は、各シェーダエンジン210の複数のSIMD406に対応する複数の行の論理ブロックを含む。L1データキャッシュ206の論理ブロックの各行は、第1のテクスチャアドレスユニット502A、第1のテクスチャデータユニット504A、テクスチャ・キャッシュ/L1対510、第2のテクスチャデータユニット504B及び第2のテクスチャアドレスユニット502Bを含む。
【0052】
テクスチャアドレスユニット502は、シーケンサ402からの状態データに基づいてテクスチャアドレスを生成する。このようにして適切なテクスチャデータが後続の処理のためにローカルメモリ内へとロードされ得る。第1のテクスチャアドレスユニット502Aは第1のシェーダエンジン210Aのためのテクスチャアドレスを生成し、また第2のテクスチャアドレスユニット502Bは第2のシェーダエンジン210Bのためのテクスチャアドレスを生成する。
【0053】
テクスチャデータユニット504は、データをフィルタリングすると共にデータをシェーダエンジン210へ戻す。第1のテクスチャデータユニット504Aは第1のシェーダエンジン210Aに結合され、また第2のテクスチャデータユニット504Bは第2のシェーダエンジン210Bに結合される。
【0054】
テクスチャ・キャッシュ/L1対510は、データのレベル1キャッシングを行う。前述したように、テクスチャ・キャッシュ/L1対510内でミスがある場合、L2データキャッシュ216に対して要求が作成される。テクスチャ・キャッシュ/L1対510は、第1のシェーダエンジン210A及び第2のシェーダエンジン210Bの両方からのデータ要求をサービスする。このようにして、シェーダエンジン210のためにデータをリトリーブすることに付随する待ち時間が低減され得る。
【0055】
D.出力論理
シェーダプログラムを実行した後、シェーダエンジン210は結果を出力論理に渡す。図2を参照すると、出力論理は、経路付け論理212、クロスバー214及びオフチップメモリアクセス論理218を含む。図2に示されるように、第1のシェーダエンジン210Aは結果を第1の経路付け論理212Aに渡し、また第2のシェーダエンジン210Bは結果を第2の経路付け論理212Bに渡す。
【0056】
各経路付け論理212はエクスポートバッファを含む。シェーダエンジン210のSIMD406をビジーに保つために、ワークロードはシェーダエンジン210にラスタライズ順(rasterization order)ではなく発行されてよい。しかし、画素がディスプレイデバイス上で適切に表示されることを確実にするために、シェーダエンジン210からの結果は、最終的にはラスタライズ順に組み合わせ戻されるべきである。各経路付け論理212内にエクスポートバッファを含ませることによって、シェーダエンジン210がラスタライズ順ではなく結果をエクスポートすることができる。
【0057】
各経路付け論理212はまた、シェーダエンジン210の結果を適切に経路付けるための論理を含む。図2に示されるように、経路付け論理212は、シェーダエンジン210からの結果を、(i)入力論理204、この場合、結果は続いて第1のシェーダエンジン210A又は第2のシェーダエンジン210Bのいずれかによって処理されることになる、(ii)第1のオフチップメモリアクセス論理218A、この場合、結果は続いて第1の複数のオフチップメモリチャネルの1つに書き込まれることになる、又は(iii)第2のオフチップメモリアクセス論理218B、この場合、結果は続いて第2の複数のオフチップメモリチャネルの1つに書き込まれることになる、のどこかのロケーションに経路付けてよい。第1の経路付け論理212Aは、結果を第1のオフチップメモリアクセス論理218Aに直接渡してもよいが、クロスバー214を用いて結果を第2のオフチップメモリアクセス論理218Bに渡す。同様に、第2の経路付け論理212Bは、結果を第2のオフチップメモリアクセス論理218Bに直接渡してもよいが、クロスバー214を用いて結果を第1のオフチップメモリアクセス論理218Aに渡す。ある実施形態においては、クロスバー214は32個の画素クロスバーを備えており、ここでは各画素は128ビットを備えている。
【0058】
図6はオフチップメモリアクセス論理218の例示的な詳細を示している。図6の実施形態に示されるように、オフチップメモリアクセス論理218は、複数の書き込み結合(write-combining)キャッシュ602A〜D、複数の深さバッファ604A〜D、複数の色バッファ606A〜D、第1のメモリインタフェース608A及び第2のメモリインタフェース608Bを含む。書き込み結合キャッシュ602は、オフチップメモリへ書き込まれるべきデータを結合して、オフチップメモリへの効率的なアクセスを可能にする。深さバッファはz試験に対して生じる。色バッファ606は色混合に対して生じる。各メモリインタフェース608はデュアルチャネルメモリ制御器を備えている。オフチップメモリアクセス論理218は2つのデュアルチャネルメモリ制御器を含むので、各オフチップメモリアクセス論理218は4つの異なるオフチップメモリチャネルへのアクセスを提供する。
【0059】
IV.例示的な動作
動作においてGPU110は、グラフィクス処理タスク及び一般計算タスクをCPU102から受信する。GPU110の入力論理204は、非画素シェーダの実行に付随するワークロードを上述のような交互の様態(例えば総当り制)で第1のシェーダエンジン210A又は第2のシェーダエンジン210Bのいずれかに送る。画素シェーダに対しては、入力論理204は、画素の第1のサブセット(例えばチェッカー盤パターンの偶数の画素)を第1のシェーダエンジン210Aへ送り、また画素の第2のサブセット(例えばチェッカー盤パターンの奇数の画素)を第2のシェーダエンジン210Bへ送る。
【0060】
実行のためのワークロードが発行された後、シェーダエンジン210は、これらのワークロードを実行するために必要なデータをリトリーブする。前述したように、データはキャッシュシステム(L1データキャッシュ206、L2データキャッシュ216及びオフチップメモリアクセス論理218を備えている)からリトリーブされる。
【0061】
シェーダエンジン210からの結果は次いで、経路付け論理212によって適切なロケーションへ経路付けられる。重要なことに、クロスバー214は、両方のシェーダエンジン210からの結果が第1のオフチップメモリアクセス論理218A又は第2のオフチップメモリアクセス論理218Bのいずれかを介して任意のオフチップメモリチャネルへ書き込まれることを可能にする。
【0062】
V.例示的なソフトウエア実装
GPU110のハードウエア実装に加えて、そのようなGPUはまた、例えばソフトウエア(例えばコンピュータ可読プログラムコード)を記憶するように構成されるコンピュータ可読媒体内に配置されるソフトウエアにおいて具現化されてもよい。プログラムコードは、(i)ここに開示されるシステムの機能及び技術(例えばGPU110内でグラフィクス処理タスク及び一般計算タスクを実行すること)、(ii)ここに開示されるシステムの製造及び技術(例えばGPU110の製造)又は(iii)ここに開示されるシステムの機能及び製造並びに技術の組み合わせ、の実施形態を含めて本発明の実施形態の実施可能性を生じさせる。
【0063】
例えばこのことは、一般的なプログラミング言語(例えばC又はC++)、ベリログ(Verilog)HDL、VHDL、アルテラ(Altera)HDL(AHDL)等を含むハードウエア記述言語(hardware description languages)(HDL)、あるいは他の利用可能なプログラミング及び/又は回路図等(schematic)キャプチャツール(capture tools)(例えば回路キャプチャツール)の使用を通して達成され得る。プログラムコードは、半導体、磁気ディスク、光学ディスク(例えばCD−ROM、DVD−ROM)を含む任意の既知のコンピュータ可読媒体内に配置され得る。従って、コードは、インターネット及びそれと同等のもの(the Internet and internets)を含む通信ネットワークを介して伝送され得る。上述したシステム及び技術によって達成される機能及び/又は提供される構造は、プログラムコードにおいて具現化されるコア(例えばGPUコア)内で表現することができ、また集積回路の生産の一部としてハードウエアに変換されてよいことが理解される。
【0064】
VI.結論
概要及び要約の欄ではなく詳細な説明の欄が特許請求の範囲を解釈するために用いられることを意図されていることが理解されるべきである。概要及び要約の欄は、発明者によって検討されているような本発明の1つ以上であるが全てではない例示的な実施形態を記述することができ、従って、本発明及び添付の特許請求の範囲を限定することを意図されるものでは決してない。

【特許請求の範囲】
【請求項1】
ディスプレイデバイス上で表示されるべき画素の第1のサブセットのための画素シェーダを処理するように構成される第1のシェーダエンジンと、
前記ディスプレイデバイス上で表示されるべき画素の第2のサブセットのための画素シェーダを処理するように構成される第2のシェーダエンジンと、を備え、
前記第1及び第2のシェーダエンジンは一般計算シェーダ及び非画素グラフィクスシェーダを処理するように各々更に構成されるプロセッサ。
【請求項2】
前記第1及び第2のシェーダエンジンに結合されると共に前記第1及び第2のシェーダエンジンの間に置かれるレベル1(L1)データキャッシュを更に備える請求項1のプロセッサ。
【請求項3】
前記第1のシェーダエンジン、前記第2のシェーダエンジン及び前記L1データキャッシュは実質的にスクエアなフロアプランを前記プロセッサに提供するように配置される請求項2のプロセッサ。
【請求項4】
前記第L1データキャッシュはレベル2(L2)データキャッシュに結合される請求項2のプロセッサ。
【請求項5】
前記ディスプレイデバイス上で表示されるべき画素の第3のサブセットのための画素シェーダを処理するように構成される第3のシェーダエンジンと、
前記ディスプレイデバイス上で表示されるべき画素の第4のサブセットのための画素シェーダを処理するように構成される第4のシェーダエンジンと、を更に備え、
前記L1データキャッシュは前記第3及び第4のシェーダエンジンに結合されると共に前記第3及び第4のシェーダエンジンの間に置かれ、
前記第3及び第4のシェーダエンジンは一般計算シェーダ及び非画素グラフィクスシェーダを処理するように各々更に構成される請求項2のプロセッサ。
【請求項6】
前記第1及び第2のシェーダエンジンへ発行されるべきワークロードを準備するように構成される入力論理を更に備える請求項1のプロセッサ。
【請求項7】
前記入力論理は、
前記ワークロードを走査すると共に前記第1のシェーダエンジンによって処理されるべき画素の前記第1のサブセットを識別するように構成される第1の走査変換器と、
前記ワークロードを走査すると共に前記第2のシェーダエンジンによって処理されるべき画素の前記第2のサブセットを識別するように構成される第2の走査変換器と、を備える請求項6のプロセッサ。
【請求項8】
前記第1のシェーダエンジン及び第1の複数のオフチップメモリチャネルに結合されて前記第1のシェーダエンジンからの結果データが前記第1の複数のオフチップメモリチャネルのどれかに供給されることを可能にする第1の出力論理と、
前記第2のシェーダエンジン及び第2の複数のオフチップメモリチャネルに結合されて前記第2のシェーダエンジンからの結果データが前記第2の複数のオフチップメモリチャネルのどれかに供給されることを可能にする第2の出力論理と、を更に備える請求項1のプロセッサ。
【請求項9】
クロスバーを更に備え、前記クロスバーは、
(i)前記第1のシェーダエンジンからの第1のデータパスを前記第2の複数のオフチップメモリチャネルに供給し、且つ
(ii)前記第2のシェーダエンジンからの第2のデータパスを前記第1の複数のオフチップメモリチャネルに供給する請求項8のプロセッサ。
【請求項10】
コンピューティングデバイス上で実行されるときにプロセッサを定義する命令が入っているコンピュータ可読記憶媒体を備えるコンピュータプログラム製品であって、前記プロセッサは、
ディスプレイデバイス上で表示されるべき画素の第1のサブセットのための画素シェーダを処理するように構成される第1のシェーダエンジンと、
前記ディスプレイデバイス上で表示されるべき画素の第2のサブセットのための画素シェーダを処理するように構成される第2のシェーダエンジンと、を備え、
前記第1及び第2のシェーダエンジンは一般計算シェーダ及び非画素グラフィクスシェーダを処理するように各々更に構成されるコンピュータプログラム製品。
【請求項11】
前記プロセッサは、
前記第1及び第2のシェーダエンジンに結合されると共に前記第1及び第2のシェーダエンジンの間に置かれるレベル1(L1)データキャッシュを更に備える請求項10のコンピュータプログラム製品。
【請求項12】
前記第1のシェーダエンジン、前記第2のシェーダエンジン及び前記L1データキャッシュは実質的にスクエアなフロアプランを前記プロセッサに提供するように配置される請求項11のコンピュータプログラム製品。
【請求項13】
前記第L1データキャッシュはレベル2(L2)データキャッシュに結合される請求項11のコンピュータプログラム製品。
【請求項14】
前記プロセッサは、
前記ディスプレイデバイス上で表示されるべき画素の第3のサブセットのための画素シェーダを処理するように構成される第3のシェーダエンジンと、
前記ディスプレイデバイス上で表示されるべき画素の第4のサブセットのための画素シェーダを処理するように構成される第4のシェーダエンジンと、を更に備え、
前記L1データキャッシュは前記第3及び第4のシェーダエンジンに結合されると共に前記第3及び第4のシェーダの間に置かれ、
前記第3及び第4のシェーダエンジンは一般計算シェーダ及び非画素グラフィクスシェーダを処理するように各々更に構成される請求項11のコンピュータプログラム製品。
【請求項15】
前記プロセッサは、
前記第1及び第2のシェーダエンジンへ発行されるべきワークロードを準備するように構成される入力論理を更に備える請求項10のコンピュータプログラム製品。
【請求項16】
前記入力論理は、
前記ワークロードを走査すると共に前記第1のシェーダエンジンによって処理されるべき画素の前記第1のサブセットを識別するように構成される第1の走査変換器と、
前記ワークロードを走査すると共に前記第2のシェーダエンジンによって処理されるべき画素の前記第2のサブセットを識別するように構成される第2の走査変換器と、を備える請求項15のコンピュータプログラム製品。
【請求項17】
前記プロセッサは、
前記第1のシェーダエンジン及び第1の複数のオフチップメモリチャネルに結合されて前記第1のシェーダエンジンからの結果データが前記第1の複数のオフチップメモリチャネルのどれかに供給されることを可能にする第1の出力論理と、
前記第2のシェーダエンジン及び第2の複数のオフチップメモリチャネルに結合されて前記第2のシェーダエンジンからの結果データが前記第2の複数のオフチップメモリチャネルのどれかに供給されることを可能にする第2の出力論理と、を更に備える請求項10のコンピュータプログラム製品。
【請求項18】
前記プロセッサはクロスバーを更に備え、前記クロスバーは、
(i)前記第1のシェーダエンジンからの第1のデータパスを前記第2の複数のオフチップメモリチャネルに供給し、且つ
(ii)前記第2のシェーダエンジンからの第2のデータパスを前記第1の複数のオフチップメモリチャネルに供給する請求項17のコンピュータプログラム製品。
【請求項19】
処理ユニットにおいてシェーダを処理するための方法であって、
ディスプレイデバイス上で表示されるべき画素の第1のサブセットのための画素シェーダを第1のシェーダエンジンにおいて処理することと、
前記ディスプレイデバイス上で表示されるべき画素の第2のサブセットのための画素シェーダを第2のシェーダエンジンにおいて処理することと、
一般計算シェーダ及び非画素グラフィクスシェーダを前記第1及び第2のシェーダの両方において処理することと、を備える方法。
【請求項20】
前記第1のシェーダエンジンによって処理されるべき画素の前記第1のサブセットを、第1の走査変換器を用いて識別することと、
前記第2のシェーダエンジンによって処理されるべき画素の前記第2のサブセットを、第2の走査変換器を用いて識別することと、を更に備える請求項19の方法。
【請求項21】
前記ディスプレイデバイス上で表示されるべき画素の第3のサブセットのための画素シェーダを第3のシェーダエンジンにおいて処理することと、
前記ディスプレイデバイス上で表示されるべき画素の第4のサブセットのための画素シェーダを第4のシェーダエンジンにおいて処理することと、を更に備える請求項19の方法。
【請求項22】
メモリと、
第1の処理ユニットと、
第2の処理ユニットと、
前記メモリ、前記第1の処理ユニット及び前記第2の処理ユニットに結合されるバスと、を備えるシステムであって、前記第2の処理ユニットは、
ディスプレイデバイス上で表示されるべき画素の第1のサブセットのための画素シェーダを処理するように構成される第1のシェーダエンジンと、
前記ディスプレイデバイス上で表示されるべき画素の第2のサブセットのための画素シェーダを処理するように構成される第2のシェーダエンジンと、を備え、
前記第1及び第2のシェーダエンジンは一般計算シェーダ及び非画素グラフィクスシェーダを処理するように各々更に構成されるシステム。
【請求項23】
前記第2の処理ユニットは、
前記第1及び第2のシェーダエンジンに結合されると共に前記第1及び第2のシェーダエンジンの間に置かれるレベル1(L1)データキャッシュを更に備える請求項22のシステム。
【請求項24】
前記第1のシェーダエンジン、前記第2のシェーダエンジン及び前記L1データキャッシュは実質的にスクエアなフロアプランを前記第2の処理ユニットに提供するように配置される請求項23のシステム。
【請求項25】
前記第L1データキャッシュはレベル2(L2)データキャッシュに結合される請求項23のシステム。
【請求項26】
前記第2の処理ユニットは、
前記ディスプレイデバイス上で表示されるべき画素の第3のサブセットのための画素シェーダを処理するように構成される第3のシェーダエンジンと、
前記ディスプレイデバイス上で表示されるべき画素の第4のサブセットのための画素シェーダを処理するように構成される第4のシェーダエンジンと、を更に備え、
前記L1データキャッシュは前記第3及び第4のシェーダエンジンに結合されると共に前記第3及び第4のシェーダエンジンの間に置かれ、
前記第3及び第4のシェーダエンジンは一般計算シェーダ及び非画素グラフィクスシェーダを処理するように各々更に構成される請求項23のシステム。
【請求項27】
前記第2の処理ユニットは、
前記第1及び第2のシェーダエンジンへ発行されるべきワークロードを準備するように構成される入力論理を更に備える請求項22のシステム。
【請求項28】
前記入力論理は、
前記ワークロードを走査すると共に前記第1のシェーダエンジンによって処理されるべき画素の前記第1のサブセットを識別するように構成される第1の走査変換器と、
前記ワークロードを走査すると共に前記第2のシェーダエンジンによって処理されるべき画素の前記第2のサブセットを識別するように構成される第2の走査変換器と、を備える請求項27のシステム。
【請求項29】
前記第2の処理ユニットは、
前記第1のシェーダエンジン及び第1の複数のオフチップメモリチャネルに結合されて前記第1のシェーダエンジンからの結果データが前記第1の複数のオフチップメモリチャネルのどれかに供給されることを可能にする第1の出力論理と、
前記第2のシェーダエンジン及び第2の複数のオフチップメモリチャネルに結合されて前記第2のシェーダエンジンからの結果データが前記第2の複数のオフチップメモリチャネルのどれかに供給されることを可能にする第2の出力論理と、を更に備える請求項22のシステム。
【請求項30】
前記第2の処理ユニットはクロスバーを更に備え、前記クロスバーは、
(i)前記第1のシェーダエンジンからの第1のデータパスを前記第2の複数のオフチップメモリチャネルに供給し、且つ
(ii)前記第2のシェーダエンジンからの第2のデータパスを前記第1の複数のオフチップメモリチャネルに供給する請求項29のシステム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4A】
image rotate

【図4B】
image rotate

【図5】
image rotate

【図6】
image rotate


【公表番号】特表2013−504129(P2013−504129A)
【公表日】平成25年2月4日(2013.2.4)
【国際特許分類】
【出願番号】特願2012−528078(P2012−528078)
【出願日】平成22年9月3日(2010.9.3)
【国際出願番号】PCT/US2010/047779
【国際公開番号】WO2011/028981
【国際公開日】平成23年3月10日(2011.3.10)
【出願人】(591016172)アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド (439)
【氏名又は名称原語表記】ADVANCED MICRO DEVICES INCORPORATED
【Fターム(参考)】