(57)【特許請求の範囲】
【請求項１】
非グラフィクス関連のタスクのためのメモリアクセス要求を、中央処理ユニット（ＣＰＵ）のためのキャッシュとして用いるために設定されているビデオランダムアクセスメモリ（ＶＲＡＭ）を有するグラフィクス処理ユニット（ＧＰＵ）に備えられたＶＲＡＭキャッシュドライバによって、前記ＣＰＵから受け取ることと、
前記ＧＰＵのビデオドライバから受け取った信号に基づいて前記ＧＰＵが初期化されることを、前記ＶＲＡＭキャッシュドライバによって決定することと、
前記ビデオドライバによって、前記ＶＲＡＭキャッシュドライバから割り当てメッセージを受け取ることに対応して、前記ＶＲＡＭ内のメモリを前記ＣＰＵのためのキャッシュとして用いるために割り当てることと、
前記ビデオドライバによって、前記ＶＲＡＭキャッシュドライバから割り当て解除メッセージを受け取ることに対応して、前記ＶＲＡＭ内のメモリを前記ＣＰＵのためのキャッシュとして用いるために割り当てることを解除することと、
前記ＶＲＡＭを用いて前記メモリアクセス要求の非グラフィクス関連のタスクを前記ＣＰＵによって処理することとを備えたグラフィクス処理方法。
【請求項２】
前記ＧＰＵメモリをＧＰＵメモリ、第１レベルキャッシュ、及び第２レベルキャッシュの１つ以上として構成することを更に備えた請求項１の方法。
【請求項３】
キャッシュエントリサイズを構成することを更に備えた請求項１の方法。
【請求項４】
中央処理ユニット（ＣＰＵ）と、
前記ＣＰＵに結合されるシステムメモリと、
ビデオランダムアクセスメモリ（ＶＲＡＭ）と、前記ＶＲＡＭ及び前記システムメモリに結合され前記ＣＰＵに代わって非グラフィクス関連動作に対するメモリとして構成可能なＶＲＡＭキャッシュモジュールとを備えている少なくとも１つのグラフィクス処理ユニット（ＧＰＵ）と、
前記ＶＲＡＭキャッシュモジュールに結合されたビデオドライバとを備え、
前記ビデオドライバが、前記ＣＰＵが前記ＶＲＡＭを用いることによって処理する非グラフィクス関連タスクのためにメモリアクセス要求を前記ＣＰＵから受け取り、
前記ＶＲＡＭキャッシュモジュールが、前記ビデオドライバから受け取った信号に基づいて前記ＧＰＵが初期化されることを決定するように構成されており、
前記ビデオドライバが、前記ＶＲＡＭキャッシュドライバから割り当てメッセージを受け取ることに対応して、前記ＶＲＡＭ内のメモリを前記ＣＰＵのためのキャッシュとして用いるために割り当てるように構成されており、
前記ビデオドライバがさらに、前記ＶＲＡＭキャッシュドライバから割り当て解除メッセージを受け取ることに対応して、前記ＶＲＡＭ内のメモリを前記ＣＰＵのためのキャッシュとして用いるために割り当てることを解除するように構成されている、システム。
【請求項５】
前記ＶＲＡＭキャッシュモジュールは、初期化ブロック、ＰｎＰ（プラグアンドプレイ）ブロック、処理ブロック、及びキャッシュ管理ブロックを備えている請求項４のシステム。
【請求項６】
回路の製造を可能にする命令が記憶されたコンピュータ可読媒体であって、
前記回路は、
中央処理ユニット（ＣＰＵ）と、
前記ＣＰＵに結合されるシステムメモリと、
ビデオランダムアクセスメモリ（ＶＲＡＭ）と、前記ＶＲＡＭ及び前記システムメモリに結合され前記ＣＰＵに代わって非グラフィクス関連動作に対するメモリとして構成可能なＶＲＡＭキャッシュモジュールとを備えている少なくとも１つのグラフィクス処理ユニット（ＧＰＵ）と、
前記ＶＲＡＭキャッシュモジュールに結合されたビデオドライバとを備えており、
前記ビデオドライバが、前記ＣＰＵが前記ＶＲＡＭを用いることによって処理する非グラフィクス関連タスクのためにメモリアクセス要求を前記ＣＰＵから受け取り、
前記ＶＲＡＭキャッシュモジュールが、前記ビデオドライバから受け取った信号に基づいて前記ＧＰＵが初期化されることを決定するように構成されており、
前記ビデオドライバが、前記ＶＲＡＭキャッシュドライバから割り当てメッセージを受け取ることに対応して、前記ＶＲＡＭ内のメモリを前記ＣＰＵのためのキャッシュとして用いるために割り当てるように構成されており、
前記ビデオドライバがさらに、前記ＶＲＡＭキャッシュドライバから割り当て解除メッセージを受け取ることに対応して、前記ＶＲＡＭ内のメモリを前記ＣＰＵのためのキャッシュとして用いるために割り当てることを解除するように構成されている、コンピュータ可読媒体。
【請求項７】
前記命令はハードウエア記述言語命令を備えている請求項６のコンピュータ可読媒体。
【請求項８】
処理システムにおいて実行されるときにメモリ管理方法が実行されるようにする命令が記憶されたコンピュータ可読媒体であって、
前記方法は、
非グラフィクス関連のタスクのためのメモリアクセス要求を、中央処理ユニット（ＣＰＵ）のためのキャッシュとして用いるために設定されているビデオランダムアクセスメモリ（ＶＲＡＭ）を有するグラフィクス処理ユニット（ＧＰＵ）に備えられたＶＲＡＭキャッシュドライバによって、前記ＣＰＵから受け取ることと、
前記ＧＰＵのビデオドライバから受け取った信号に基づいて前記ＧＰＵが初期化されることを、前記ＶＲＡＭキャッシュドライバによって決定することと、
前記ビデオドライバによって、前記ＶＲＡＭキャッシュドライバから割り当てメッセージを受け取ることに対応して、前記ＶＲＡＭ内のメモリを前記ＣＰＵのためのキャッシュとして用いるために割り当てることと、
前記ビデオドライバによって、前記ＶＲＡＭキャッシュドライバから割り当て解除メッセージを受け取ることに対応して、前記ＶＲＡＭ内のメモリを前記ＣＰＵのためのキャッシュとして用いるために割り当てることを解除することと、
前記ＶＲＡＭを用いて前記メモリアクセス要求の非グラフィクス関連のタスクを前記ＣＰＵによって処理することとを備えているコンピュータ可読媒体。
【請求項９】
前記方法は、前記ＧＰＵメモリをＧＰＵメモリ、第１レベルキャッシュ、及び第２レベルキャッシュの１つ以上として構成することを更に備えている請求項８のコンピュータ可読媒体。
【請求項１０】
前記方法はキャッシュエントリサイズを構成することを更に備えている請求項８のコンピュータ可読媒体。
【請求項１１】
前記ビデオドライバが、前記割り当てることを解除することの一部として、前記ＣＰＵに現在割り当てられているＶＲＡＭメモリアクセスの転送を求める要求を前記ＶＲＡＭキャッシュドライバに送り、
前記ＶＲＡＭキャッシュドライバからの前記割り当て解除メッセージが前記要求に対応している、請求項４のシステム。
【請求項１２】
前記割り当てることを解除することが、前記ビデオドライバが前記ＣＰＵに現在割り当てられているＶＲＡＭメモリアクセスの転送を求める要求を前記ＶＲＡＭキャッシュドライバに送ることを更に備え、
前記ＶＲＡＭキャッシュドライバからの前記割り当て解除メッセージが前記リクエストに対応している、請求項１の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
ここに開示される実施形態は、計算システム内でのメモリ管理の分野におけるものである。
【背景技術】
【０００２】
パーソナルコンピュータ及びより強力なワークステーションを含む最新のコンピュータは、何らかのグラフィクス処理能力を有している。この能力は、多くの場合、中央処理ユニット（ＣＰＵ）に加えて１つ以上の特殊目的プロセッサによって提供される。グラフィクス処理は、比較的大量のデータを必要とするタスクである。従って、ＧＰＵは典型的にはそれら自身のグラフィクスメモリ（ビデオメモリ又はビデオランダムアクセスメモリ（ＶＲＡＭ）とも称される）を有している。全てのコンピュータシステムは、それらが所与の時間内に処理することができるデータの量において制限される。性能の制限要因の１つは、メモリの利用可能性である。特に、キャッシュメモリの利用可能性がシステム性能に影響を及ぼす。
【０００３】
図１は従来のコンピュータシステム１００の種々の要素のブロック図である。システム１００は、ＣＰＵ上で実行するオペレーティングシステム（ＯＳ）１０４を含む。ＯＳ１０４はディスク１０６を含むメモリへのアクセスを有している。キャッシュに割り当てられているメモリ１０６の量は、ＧＰＵ１０２上で利用可能なグラフィクスメモリ１０８の量と比較して絶対的に少ない。また、グラフィクス直接メモリアクセス（ＤＭＡ）は、ディスク１０６へのアクセスよりも概ね２０〜１００倍速い。一方、ＯＳ１０４は、たとえＧＰＵ１０２がグラフィクス処理を実行中でないとしても、ＧＰＵメモリ１０８への直接アクセスを有していない。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
現在のところ、ＧＰＵ及びＧＰＵメモリを有するシステムがグラフィクス処理を実行中でない場合、ＧＰＵメモリは本質的には使用されない（非グラフィクス作業の間、ＶＲＡＭの概ね９０％が使用されない）。システム性能を高めるためにＣＰＵがＧＰＵのメモリ資源にアクセスすることができるシステムを提供することが望ましいであろう。
【図面の簡単な説明】
【０００５】
【図１】図１はグラフィクス処理ユニット（ＧＰＵ）を含む従来のシステムの図である。
【図２】図２は実施形態に従うシステムの種々のコンポーネントのブロック図である。
【図３】図３は実施形態に従うシステムメモリとＧＰＵの間でのデータフローを示すブロック図である。
【図４】図４は実施形態に従うビデオドライバのビデオ記憶スタックとＶＲＡＭキャッシュモジュールのＶＲＡＭキャッシュドライバとの間での通信を示すブロック図である。
【０００６】
図面は、特許請求の範囲に記載された発明を開示する目的で種々の実施形態の側面を表すが、限定することは決して意図されていない。
【発明を実施するための形態】
【０００７】
グラフィクスメモリ（ビデオメモリ又はビデオランダムアクセスメモリ（ＶＲＡＭ）とも称される）を非グラフィクス関連タスクに対して使用するための方法及び装置の実施形態がここに開示される。実施形態においては、グラフィクス処理ユニット（ＧＰＵ）は、中央処理ユニット（ＣＰＵ）のために資源化される追加的なキャッシュを提供し且つ管理するために、ハードウエア及びソフトウエアを伴うＶＲＡＭキャッシュモジュールを含む。実施形態においては、ＶＲＡＭキャッシュモジュールは、ＣＰＵと共にレジスタ動作をし(registers)、ＣＰＵからの読み出し要求を受け入れ、そしてＶＲＡＭキャッシュを用いてその要求をサービスするＶＲＡＭキャッシュドライバを含む。種々の実施形態においては、ＶＲＡＭキャッシュは、ＧＰＵキャッシュのみであるとして構成可能であり、あるいは代替的には、第１レベルキャッシュ、第２レベルキャッシュ等であるとして構成可能である。
【０００８】
図２は実施形態に従うシステム２００の種々のコンポーネントのブロック図である。システム２００はＯＳ２０２及びボリュームマネージャ２０６を含む。システム２００は更に、ディスクドライバ２０８及びハードディスクドライブ（ＨＤＤ、又はシステムメモリ、又は物理的記憶デバイス）２１０を含む。システム２００は、１つ以上のＧＰＵによって提供されるグラフィクス処理能力を含む。１つ以上のＧＰＵの要素は、ビデオドライバ２１４及びＶＲＡＭ（又はビデオメモリ）２１２を含む。ボリュームマネージャ２０６とディスクドライバ２０８の間には、ＶＲＡＭキャッシュモジュール２０４が介在している。実施形態においては、ＶＲＡＭキャッシュモジュール２０４は、システム２００の記憶スタック(storage stack)内のブート時間アッパフィルタドライバ(boot time upper filter driver)であるＶＲＡＭキャッシュドライバを含む。ＶＲＡＭキャッシュモジュール２０４は、ＨＤＤ２１０への書き込み／読み出し要求を処理し、そして任意の高レベルファイルシステム関連の情報については認識していない。
【０００９】
実施形態においては、ＶＲＡＭキャッシュドライバは４つの論理ブロック（図示せず）に分割されており、即ち、ＰｎＰ（プラグアンドプレイ(Plug’n’Play)）、電力、等を含む初期化ブロックと、ＩＲＰ（Ｉ／Ｏ要求パケット）キューイング(queuing)及び処理ブロックと、キャッシュヒット／ミス、最も長い間使われていない(least recently used)（ＬＲＵ）リスト、等に対処するキャッシュ管理ブロックと、ＧＰＵプログラミングブロックとである。
【００１０】
種々のキャッシュアルゴリズムが使用可能である。１つのキャッシュアルゴリズム例に従うと、１つのキャッシュエントリのサイズは、支持メモリ構造のルックアップ時間(lookup time)及びサイズを最小化するのに十分大きく選択される。例えば、キャッシュエントリは実施形態では１６Ｋ〜２５６Ｋの範囲内である。キャッシュエントリのサイズを選択することにおける他の考慮は、ＯＳの特殊性に関与する。例えば、ウインドウズ（登録商標）入力／出力（Ｉ／Ｏ）統計を考慮に入れることができる。表１はウインドウズＸＰ（登録商標）読み出し要求に対するＩ／Ｏ統計を示しており、ここで、Ｘ軸はＩ／Ｏサイズ、そしてＹ軸は要求の数である。
【００１１】
【表１】
0005706833.tif 000002
【００１２】
要求の多くは前述の選択されたキャッシュエントリサイズ例よりも小さく、要求されるより多くを読み出すことが必然的に伴う。しかし、ディスクＩＯ視点からは、費やされる時間の多くはＨＤＤシーク時間であるから、４Ｋを読み出すことは１２８Ｋを読み出すことと同じ時間を必要とする。それ故、そのようなスキームは本質的に「読み出し有利(read ahead)」であり、時間に関してほぼゼロのコストを伴う。そのような動作に対しては、より大きなバッファを提供するために、追加的な非ページ化メモリ(non-paged memory)を割り当てる必要があるかもしれない。１つの退去(eviction)アルゴリズム例は、各キャッシュヒットで更新される１つのＬＲＵリストに基いている。
【００１３】
実施形態においては、ＶＲＡＭキャッシュドライバは、任意の他のドライバコンポーネントよりも先にビデオサブシステムからロードされる。ＶＲＡＭキャッシュドライバは、いつ全ての必要なビデオコンポーネントがロードされ且つＧＰＵが初期化されるかを通知される。ＶＲＡＭキャッシュドライバは、例えば最後の初期化ルーチンとして呼び出され得る。
【００１４】
ＶＲＡＭキャッシュドライバに提供される（又はＶＲＡＭキャッシュドライバによって割り当てられる）メモリは、ＶＲＡＭキャッシュドライバに適切に通知することによって元に戻され得る。１つの実施形態によると、例えば特定のオペレーティングシステムに対して、ＶＲＡＭキャッシュはメモリを幾つかの塊(chunks)で割り当て、ＣＭＭ（カスタマイズ可能メモリ管理）がローカルメモリに対する要求を満たしていない場合（例えば３Ｄアプリケーションが起動している最中の場合）には、ＶＲＡＭキャッシュドライバが呼び出されて１つ以上のメモリ塊を自由にする。
【００１５】
図３は実施形態に従うシステムメモリ３０４とＧＰＵ３０２の間でのデータフローを示すブロック図である。システムメモリ３０４は、データバッファ３２０と一時的バッファ３２１を含む。ＧＰＵ３０２はＤＭＡエンジン３２２とＶＲＡＭ３１２を含む。矢印３０３及び３０５は「読み出し、キャッシュミス」のフローを示す。矢印３０９は「読み出し、キャッシュヒット」である場合のフローを示す。矢印３０１及び３０７は「書き込み、キャッシュ更新」のフローを示す。これらのフローのためのデータ速度例は、同図の下部に凡例として示されている。他の速度も可能である。
【００１６】
図４はビデオドライバ２１４のビデオ記憶スタックとＶＲＡＭキャッシュモジュール２０４のＶＲＡＭキャッシュドライバ４０４との間での通信を示すブロック図である。ビデオ記憶スタックは、ビデオサブシステムがスリーピング中であってよい場合の機能である。
【００１７】
ビデオドライバ２１４は、ＧＰＵが準備完了であることを表示するようにＶＲＡＭキャッシュドライバ４０４へメッセージを送り（パラメータも送る）、また電力状態の表示を送る。ＶＲＡＭキャッシュドライバ４０４は、メモリを割り当てまたメモリを自由にするようにビデオドライバ２１４へメッセージを送る。３Ｄ動作に対するメモリからのものであるとビデオドライバ２１４がＶＲＡＭキャッシュドライバ４０４へメッセージを送ると、ＶＲＡＭキャッシュドライバ４０４はメモリを自由にするためのメッセージで応答する。ＶＲＡＭキャッシュドライバ４０４は転送要求をビデオドライバ２１４へ送り、そしてビデオドライバ２１４は転送完了メッセージをＶＲＡＭキャッシュドライバ４０４へ送る。ＶＲＡＭキャッシュドライバ４０４は、要求転送がいつ完了したかを、例えばそのＤＰＣ（遅延手続呼び出し(Delayed Procedure Call)ルーチンを呼び出すことによって通知されるべきである。
【００１８】
ここに説明される任意の回路は、製造プロセスの制御又は関連する回路を製造するために次いで用いられるであろうマスクワークを通して実装され得る。そのような製造プロセス制御及びマスクワーク生成は、当業者にとって既知であり、また、例えばＶｅｒｉｌｏｇ、ＶＨＤＬ又は他のハードウエア記述言語での命令を含むコンピュータ可読媒体上のコンピュータ命令の記憶を含む。
【００１９】
ここに説明される実施形態は、非グラフィクス関連のタスクのためのメモリアクセス要求を第１のビデオドライバが中央処理ユニット（ＣＰＵ）から受け入れることと、グラフィクス処理ユニット（ＧＰＵ）メモリ資源を用いて前記メモリアクセス要求を処理することとを備えたグラフィクス処理方法を含む。
【００２０】
実施形態においては、前記メモリアクセス要求を処理することは、ＧＰＵメモリ資源を前記ＣＰＵのためのキャッシュとして用いることを備えている。
【００２１】
実施形態は、前記ＧＰＵメモリをＧＰＵメモリ、第１レベルキャッシュ、及び第２レベルキャッシュの１つ以上として構成することを更に備えている。
【００２２】
実施形態においては、前記ＧＰＵメモリはビデオランダムアクセスメモリ（ＶＲＡＭ）を備えている。
【００２３】
実施形態においては、前記第１のビデオドライバはＶＲＡＭを管理するように構成可能なＶＲＡＭキャッシュドライバを備えている。
【００２４】
実施形態は、ＶＲＡＭをどのように構成するかを決定するために前記ＶＲＡＭキャッシュドライバが第２のビデオドライバと通信することを更に備えている。
【００２５】
ＶＲＡＭを構成することを更に備えた実施形態は、ＣＰＵキャッシュに対してＶＲＡＭを割り当てること及び割り当てを解除することを備えている。
【００２６】
実施形態は、キャッシュエントリサイズを構成することを更に備えている。
【００２７】
ここに説明される実施形態は、グラフィクス処理サブシステムを含むシステムであって、中央処理ユニット（ＣＰＵ）と、前記ＣＰＵに結合されるシステムメモリと、少なくとも１つのグラフィクス処理ユニット（ＧＰＵ）とを備え、前記少なくとも１つのＧＰＵは、ビデオランダムアクセスメモリ（ＶＲＡＭ）と、前記ＶＲＡＭ及び前記システムメモリに結合され前記ＣＰＵに代わって非グラフィクス関連動作に対するメモリとしてＶＲＡＭを構成するように構成可能なビデオランダムアクセスメモリ（ＶＲＡＭ）キャッシュモジュールとを備えているシステムを更に含む。
【００２８】
実施形態においては、前記ＧＰＵは前記ＶＲＡＭキャッシュモジュールに結合されるビデオドライバを更に備えており、前記ビデオドライバは追加的なキャッシュメモリに対するＣＰＵ要求に関して前記ＶＲＡＭキャッシュモジュールと通信するように構成可能である。
【００２９】
実施形態においては、前記ＶＲＡＭキャッシュモジュールは、初期化ブロック、ＰｎＰ（プラグアンドプレイ）ブロック、処理ブロック、及びキャッシュ管理ブロックを備えている。
【００３０】
ここに説明される実施形態は、回路の製造を可能にする命令が記憶されたコンピュータ可読媒体であって、前記回路は、中央処理ユニット（ＣＰＵ）と、前記ＣＰＵに結合されるシステムメモリと、少なくとも１つのグラフィクス処理ユニット（ＧＰＵ）とを備えており、前記少なくとも１つのＧＰＵは、ビデオランダムアクセスメモリ（ＶＲＡＭ）と、前記ＶＲＡＭ及び前記システムメモリに結合され前記ＣＰＵに代わって非グラフィクス関連動作に対するメモリとしてＶＲＡＭを構成するように構成可能なビデオランダムアクセスメモリ（ＶＲＡＭ）キャッシュモジュールとを備えているコンピュータ可読媒体を更に含む。
【００３１】
実施形態においては、前記命令はハードウエア記述言語命令を備えている。
【００３２】
ここに説明される実施形態は、処理システムにおいて実行されるときにメモリ管理方法が実行されるようにする命令が記憶されたコンピュータ可読媒体であって、前記方法は、非グラフィクス関連のタスクのためのメモリアクセス要求を第１のビデオドライバが中央処理ユニット（ＣＰＵ）から受け入れることと、グラフィクス処理ユニット（ＧＰＵ）メモリ資源を用いて前記メモリアクセス要求を処理することとを備えているコンピュータ可読媒体を更に含む。
【００３３】
実施形態においては、前記方法は、前記ＧＰＵメモリをＧＰＵメモリ、第１レベルキャッシュ、及び第２レベルキャッシュの１つ以上として構成することを更に備えている。
【００３４】
実施形態においては、前記ＧＰＵメモリはビデオランダムアクセスメモリ（ＶＲＡＭ）を備えている。
【００３５】
実施形態においては、前記第１のビデオドライバはＶＲＡＭを管理するように構成可能なＶＲＡＭキャッシュドライバを備えている。
【００３６】
実施形態においては、前記方法は、ＶＲＡＭをどのように構成するかを決定するために前記ＶＲＡＭキャッシュドライバが第２のビデオドライバと通信することを更に備えている。
【００３７】
実施形態においては、ＶＲＡＭを構成することは、ＣＰＵキャッシュに対してＶＲＡＭを割り当てること及び割り当てを解除することを備えている。
【００３８】
実施形態においては、前記方法はキャッシュエントリサイズを構成することを更に備えている。
【００３９】
上述の実施形態の側面は、任意の種類の回路内にプログラムされる機能性として実装されてよく、そのような回路は、限定はされないが、プログラム可能論理デバイス（ＰＬＤ）、例えばフィールドプログラム可能ゲートアレイ（ＦＰＧＡ）、プログラム可能アレイ論理（ＰＡＬ）デバイス、電気的にプログラム可能な論理デバイス及びメモリデバイス、並びに標準的なセルベースのデバイスの他に、特定用途向け集積回路（ＡＳＩＣ）及び完全に特別注文の集積回路を含む。実施形態の側面を実装するための幾つかの他の可能性は、メモリを伴うマイクロコントローラ（例えば電気的に消去可能なプログラム可能リードオンリメモリ（ＥＥＰＲＰＭ）、フラッシュメモリ等）、組み込み型マイクロプロセッサ、ファームウエア、ソフトウエア、等を含む。また、実施形態の側面は、ソフトウエアベースの回路エミュレーション、個別論理（シーケンシャル及び組み合わせの）、特別注文デバイス、ファジー（ニューラル）論理、量子デバイス、及び上述のデバイス種類の任意の混成を有するマイクロプロセッサ内で具現化され得る。言うまでもなく、基本となるデバイス技術は、種々のコンポーネント種類、例えば相補型金属酸化物半導体（ＣＭＯＳ）のような金属酸化物半導体電界効果トランジスタ（ＭＯＳＦＥＴ）、エミッタ結合論理（ＥＣＬ）のようなバイポーラ技術、ポリマー技術（例えば、シリコン共役ポリマー（silicon-conjugated polymer）及び金属共役ポリマー金属（metal-conjugated polymer-metal）の構造）、アナログ及びデジタル混合、等において提供され得る。
【００４０】
明細書及び特許請求の範囲において使用される「プロセッサ」の用語は、プロセッサコア、又はプロセッサの一部分を含む。また、１つ以上のＧＰＵ及び１つ以上のＣＰＵは、通常ここでは別々に参照されるが、実施形態においては、ＧＰＵ及びＣＰＵの両方が単一の集積回路パッケージ内に又は単一のモノリシックダイ上に含まれる。従って、単一のデバイスが特許請求の範囲に記載された方法をそのような実施形態において実行する。
【００４１】
明細書及び特許請求の範囲を通して、「備える(comprise)」、「備えている(comprising)」等の語は、文脈が明らかに別のものを必要としていない限り、排他的又は網羅的な意味とは対照的な包括的な意味、即ち、「限定されないが、〜を含んでいる(including, but not limited to)」の意味で解釈されるべきである。単数又は複数を使用する語はまた、複数又は単数をそれぞれ含む。また、「ここに」、「以下に」、「上記の、上述の」、「以下の」という語及び同様の意味の語がこの出願で用いられる場合、それらの語は、この出願のいずれか特定の部分ではなくこの出願を全体として参照している。「又は、若しくは、あるいは(or)」の語が、２つ又はそれより多い項目のリストを参照して用いられている場合、当該語は、当該語の以下の解釈、即ちリスト内の任意の項目、リスト内の全ての項目、及びリスト内の項目の任意の組み合わせの全てを網羅する。
【００４２】
方法及びシステムの例示された実施形態の上記説明は、網羅的であることを意図されておらず、あるいは開示される厳密な形態に本発明を限定することを意図されていない。方法及びシステムの具体的な実施形態、及び方法及びシステムのための例が例示を目的としてここに説明されるが、関連分野を含む当業者が認識するであろうように、種々の均等な修正が本発明の範囲内で可能である。ここに提供される開示の教示は、上述のようなグラフィック処理又はビデオ処理を含むシステムに対してのみだけでなく、他のシステムにも適用することができる。説明されている種々の動作は、極めて広範な種類のアーキテクチャにおいて実行することができ、また説明したのとは異なるように分散させられてよい。また、多くの構成がここに説明されるが、いずれも限定的又は排他的であることは意図されていない。
【００４３】
ここに提供される開示の教示は、上述のようなグラフィック処理又はビデオ処理を含むシステムに対してのみだけでなく、他のシステムにも適用することができる。説明されている種々の動作は、極めて広範な種類のアーキテクチャにおいて実行することができ、また説明したのとは異なるように分散させられてよい。また、多くの構成がここに説明されるが、いずれも限定的又は排他的であることは意図されていない。
【００４４】
他の実施形態においては、ここに説明されるハードウエア及びソフトウエア能力の幾つか又は全ては、プリンタ、カメラ、テレビジョン、デジタル多用途ディスク（ＤＶＤ）プレーヤ、ＤＶＲ若しくはＰＶＲ、ハンドヘルドデバイス、携帯電話、又は幾つかの他のデバイス内にあってよい。上述の種々の実施形態の要素及び作用は、更なる実施形態を提供するために組み合わされ得る。これらの及び他の変更は、上述の詳細な説明を考慮して方法及びシステムに対してなされ得る。
【００４５】
一般に、以下の特許請求の範囲では、使用される用語は、明細書及び特許請求の範囲に開示される特定の実施形態に方法及びシステムを限定するように解釈されるべきではない一方で、特許請求の範囲の下で動作するあらゆる処理システム及び方法を含むように解釈されるべきである。従って、方法及びシステムは開示によって限定されるものではなく、その代わり、方法及びシステムの範囲はもっぱら特許請求の範囲によって決定されることになる。
【００４６】
方法及びシステムの特定の側面が特定の請求項の形態で以下に提供されるが、発明者らは、方法及びシステムの種々の側面を任意の数の請求項の形態で検討している。例えば、方法及びシステムの１つの側面のみがコンピュータ可読媒体において具現化されるものとして記載されているかもしれないが、他の側面も同様にコンピュータ可読媒体において具現化され得る。そのようなコンピュータ可読媒体は、コンピュータデバイス（例えばパーソナルコンピュータ、パーソナルデジタルアシスタント、ＰＶＲ、モバイルデバイス等）によって実行されることになる命令、又は実行されたときにデバイス（ＧＰＵ、ＡＳＩＣ等）を作り出すように設計されている命令（例えばＶｅｒｉｌｏｇ又はハードウエア記述言語）若しくは動作させられたときに上述の側面を実行するソフトウエアアプリケーションであってよい命令を記憶していてよい。特許請求の範囲に記載された発明は、ＧＤＳＩＩデータ（又はその均等なもの）を生成するために作成され、記憶され、合成され、そして使用されるコンピュータコード（例えばＨＤＬ、Ｖｅｒｉｌｏｇ等）において具現化されてよい。このデータに基いて次いでＡＳＩＣを製造することができる。
【００４７】
従って、本発明者らは、本出願の出願後に追加的な請求項を加えて方法及びシステムの他の側面に対するそのような追加的な請求項の形態を追求する権利を留保する。
【図１】
0005706833.tif 000003
【図２】
0005706833.tif 000004
【図３】
0005706833.tif 000005
【図４】
0005706833.tif 000006