JP2007525768A - テクスチャ要求のためのレジスタベースのキューイング - Google Patents

テクスチャ要求のためのレジスタベースのキューイング Download PDF

Info

Publication number
JP2007525768A
JP2007525768A JP2007500853A JP2007500853A JP2007525768A JP 2007525768 A JP2007525768 A JP 2007525768A JP 2007500853 A JP2007500853 A JP 2007500853A JP 2007500853 A JP2007500853 A JP 2007500853A JP 2007525768 A JP2007525768 A JP 2007525768A
Authority
JP
Japan
Prior art keywords
texture
register
command
argument
unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2007500853A
Other languages
English (en)
Inventor
ジョン, エリック リンドホルム,
ジョン, アール. ニッコールス,
サイモン, エス. モイ,
ブレット, ダブリュー. クーン,
Original Assignee
エヌヴィディア コーポレイション
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by エヌヴィディア コーポレイション filed Critical エヌヴィディア コーポレイション
Publication of JP2007525768A publication Critical patent/JP2007525768A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/60Editing figures and text; Combining figures or text
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/36Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
    • G09G5/363Graphics controllers

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Image Generation (AREA)

Abstract

グラフィック処理ユニットは、大きなテクスチャ要求バッファを必要とせずに、テクスチャ要求の可変性をバランスさせるように非常に多数のテクスチャ要求をキューイングできる。専用のテクスチャ要求バッファは、比較的小さなテクスチャコマンド及びパラメータをキューイングする。更に、各々のキューイングされるテクスチャコマンドに対して、通常はテクスチャコマンドより相当に大きい、関連する1組のテクスチャ引数が、汎用レジスタに記憶される。テクスチャユニットは、テクスチャ要求バッファからテクスチャコマンドを検索し、次いで、適当な汎用レジスタから関連するテクスチャ引数をフェッチする。テクスチャユニットにより計算された最終的なテクスチャ値の行先として指定された汎用レジスタにテクスチャ引数が記憶される。テクスチャコマンドがキューイングされるときに最終的なテクスチャ値に対して行先レジスタを割り当てねばならないので、テクスチャ引数をこのレジスタに記憶することで、付加的なレジスタが消費されることはない。
【選択図】 図2

Description

発明の背景
[0001]本発明は、コンピュータグラフィックの分野に係る。多くのコンピュータグラフィック映像は、所与の視点からの三次元シーンと光との相互作用を数学的にモデリングすることにより生成される。レンダリングと称されるこのプロセスは、所与の視点からのシーンの二次元映像を生成し、これは、実世界シーンの写真を撮影するのと同様である。
[0002]コンピュータグラフィック、特に、リアルタイムコンピュータグラフィックの需要が高まるにつれて、レンダリングプロセスを加速するグラフィック処理サブシステムを伴うコンピュータシステムが普及してきた。これらのコンピュータシステムでは、レンダリングプロセスが、コンピュータの汎用中央処理ユニット(CPU)とグラフィック処理サブシステムとの間で分割される。通常、CPUは、高レベルオペレーションを実行し、例えば、所与のシーンにおいて物体の位置、動き及び衝突を決定する。これらの高レベルオペレーションから、CPUは、希望のレンダリングされた映像(1つ又は複数)を定義する1組のレンダリングコマンド及びデータを生成する。例えば、レンダリングコマンド及びデータは、シーンの幾何学形状、照明、陰影、テクスチャ、動き、及び/又はシーンに対するカメラパラメータを定義することができる。グラフィック処理サブシステムは、1組のレンダリングコマンド及びデータから1つ以上のレンダリングされた映像を生成する。
[0003]典型的なグラフィック処理サブシステムは、1つ以上の実行ユニット及び1つ以上のテクスチャユニットを有するグラフィック処理ユニットを備えている。他のタスクの中でも、実行ユニットは、幾何学形状及び照明情報を処理する役割を果たす。テクスチャユニットは、メモリに記憶されたテクスチャマップからテクセルデータを検索することによりシーンの幾何学形状のテクスチャマッピングを実行する。テクセルデータは、実行ユニットにより生成されるピクセルデータと合成されて、レンダリングされる映像のピクセルのカラー値を決定する。
[0004]実行ユニット及びテクスチャユニットは、通常、性能を最大にするために乗り越えるべき異なる障害がある。実行ユニットは、通常、深く主として固定された処理パイプラインを有し、これは、典型的な実行ユニットに対するパイプラインストールを性能に関して非常に高価なものにする。パイプラインストールを減少するために、レンダリングアプリケーションは、しばしば、多数の独立した実行スレッドに分割されて、実行ユニットを最大限利用するようにしている。
[0005]これに対して、テクスチャユニットの主たる性能上のボトルネックは、テクセルデータを検索することからメモリ待ち時間が生じることである。このボトルネックは、実行ユニットが、時間とともにテクスチャコマンドを配布するのではなく、テクスチャコマンドのバッチを一緒に発行するという傾向により、悪化される。多数のスレッドが多数の実行ユニットにおいて実行される状態では、テクスチャコマンドの不規則なタイミングは、テクスチャユニットの性能を著しく低下させる。
[0006]テクスチャコマンドのバーストを平坦化するために、バッファ、例えば、先入れ先出しバッファ(FIFO)を使用して、テクスチャユニットへ送られるテクスチャコマンドをキューイングすることができる。しかしながら、テクスチャコマンドは、しばしば、大量の関連データを含む。例えば、典型的なテクスチャコマンド及びその関連データは、100ビットのデータを大幅に越えることがある。この幅のFIFOは、グラフィック処理ユニットにおいて大量の回路面積を消費し、他の特徴部に使用できる面積の量を減少させる。
[0007]それ故、グラフィック処理システムが、大きなFIFOを使用せずに、テクスチャコマンドを効率的にキューイングすることが要望される。更に、テクスチャキューイングメカニズムを、多数の実行ユニット共に使用するときに効率的にスケーリングすることも要望される。
発明の簡単な概要
[0008]本発明は、グラフィック処理ユニットが、大きなテクスチャ要求バッファを必要とせずに、テクスチャ要求の可変性をバランスさせるように非常に多数のテクスチャ要求をキューイングできるようにする。一実施形態において、専用のテクスチャ要求バッファは、比較的小さなテクスチャコマンド及びパラメータをキューイングする。更に、各々のキューイングされるテクスチャコマンドに対して、通常はテクスチャコマンドより相当に大きい、関連する1組のテクスチャ引数(アーギュメント)が、汎用レジスタに記憶される。テクスチャユニットは、テクスチャ要求バッファからテクスチャコマンドを検索し、次いで、適当な汎用レジスタから関連するテクスチャ引数をフェッチする。更に別の実施形態では、テクスチャユニットにより計算された最終的なテクスチャ値の行先として指定された汎用レジスタにテクスチャ引数が記憶される。テクスチャコマンドがキューイングされるときに最終的なテクスチャ値に対して行先レジスタを割り当てねばならないので、テクスチャ引数をこのレジスタに記憶することで、付加的なレジスタが消費されることはない。
[0009]一実施形態では、グラフィック処理サブシステムは、テクスチャ要求バッファ及びレジスタファイルを含む実行ユニットを備えている。レジスタファイルは、複数の汎用レジスタを含む。実行ユニットは、テクスチャ要求バッファへテクスチャコマンドを発行すると共に、レジスタファイルにテクスチャ引数を記憶する。テクスチャユニットは、テクスチャ要求バッファからテクスチャコマンドを読み取ると共に、レジスタファイルからテクスチャ引数を検索する。テクスチャユニットは、更に、テクスチャコマンドに応答してテクスチャマップの一部分を検索するようにも適応される。テクスチャユニットは、テクスチャマップのその一部分から最終的なテクスチャ値を計算し、そしてその最終的なテクスチャ値をレジスタファイルの行先レジスタに記憶する。
[0010]更に別の実施形態では、実行ユニットは、複数のレジスタのうちの行先レジスタにテクスチャ引数を記憶し、テクスチャユニットは、最終的なテクスチャ値を記憶する際にテクスチャ引数にオーバーライトする。別の実施形態では、実行ユニットは、行先レジスタとは個別のソースレジスタにテクスチャ引数を記憶する。
[0011]別の実施形態では、テクスチャコマンドは、テクスチャパラメータを含む。又、テクスチャコマンドは、テクスチャマッピング形式及び/又はテクスチャマップを指定してもよい。更に別の実施形態では、テクスチャユニットは、テクスチャパラメータから、テクスチャ引数を記憶するソースレジスタを決定する。テクスチャパラメータは、複数のレジスタのうちの行先レジスタが、複数のレジスタのうちのソースレジスタでもあることを指定する。
[0012]更に別の実施形態では、実行ユニットは、テクスチャコマンドの発行に応答してテクスチャ引数に変化が生じるのを防止するために行先レジスタをロックする。実行ユニットは、テクスチャユニットが行先レジスタに最終的なテクスチャ値を記憶するのに応答して行先レジスタをアンロックする。
[0013]付加的な実施形態では、第2の実行ユニットが、第2のテクスチャ要求バッファ及び第2のレジスタファイルを備えている。この第2のレジスタファイルは、複数の汎用レジスタを含む。第2の実行ユニットは、第2のテクスチャ要求バッファへ第2のテクスチャコマンドを発行すると共に、第2のレジスタファイルに第2のテクスチャ引数を記憶する。テクスチャユニットは、更に、第2のテクスチャ要求バッファから第2のテクスチャコマンドを読み取り、第2のレジスタファイルから第2のテクスチャ引数を検索し、第2のテクスチャコマンドに応答してテクスチャメモリから第2のテクスチャマップの一部分を検索し、そのテクスチャマップの一部分から第2の最終的なテクスチャ値を計算し、そして第2のレジスタファイルの複数のレジスタのうちの行先レジスタに第2の最終的なテクスチャ値を記憶する。
[0014]以下、添付図面を参照して、本発明を説明する。
発明の詳細な説明
[0015]図1は、本発明の実施形態を実施するのに適したパーソナルコンピュータ、ビデオゲームコンソール、パーソナルデジタルアシスタント、セルラー電話、又は他のデジタル装置のようなコンピュータシステム100のブロック図である。このコンピュータシステム100は、ソフトウェアアプリケーション、及び任意であるが、オペレーティングシステムを実行するための中央処理ユニット(CPU)105を備えている。一実施形態では、CPU105は、実際には、パラレルに動作する多数の個別の中央処理ユニットである。メモリ110は、CPU105により使用するためのアプリケーション及びデータを記憶する。記憶装置115は、アプリケーション及びデータのための不揮発性記憶装置をなすもので、固定ディスクドライブ、取り外し可能なディスクドライブ、フラッシュメモリ又は他のソリッドステートデバイス、及びCD−ROM、DVD−ROM又は他の光学的記憶装置を含んでもよい。ユーザ入力装置120は、1人以上のユーザからのユーザ入力をコンピュータシステム100へ通信するもので、キーボード、マウス、ジョイスティック、タッチスクリーン、及び/又はマイクロホンを含んでもよい。ネットワークインターフェイス125は、コンピュータシステム100が電子通信ネットワークを経て他のコンピュータシステムと通信するのを許すもので、ローカルエリアネットワーク、及びインターネットのようなワイドエリアネットワークを経て行われるワイヤード又はワイヤレス通信を含んでもよい。CPU105、メモリ110、データ記憶装置115、ユーザ入力装置120、及びネットワークインターフェイス125を含むコンピュータシステム100のコンポーネントは、1つ以上のデータバス160を経て接続される。データバスは、例えば、ISA、PCI、AGP、PCI、PCI−X(3GIOとしても知られている)、及びHyperTransportデータバスを含む。
[0016]グラフィックサブシステム130は、データバス160、及びコンピュータシステム100のコンポーネントに更に接続される。グラフィックサブシステム130は、グラフィック処理ユニット(GPU)135及びグラフィックメモリを備えている。グラフィックメモリは、出力映像の各ピクセルに対してピクセルデータを記憶するのに使用される表示メモリ140(例えば、フレームバッファ)を備えている。ピクセルデータは、CPU105から表示メモリ140へ直接供給することができる。或いは、CPU105が、希望の出力映像を定義するデータ及び/又はコマンドをGPU135に与え、GPU135が1つ以上の出力映像のピクセルデータを生成する。希望の出力映像を定義するデータ及び/又はコマンドは、付加的なメモリ145に記憶される。一実施形態では、GPU135は、シーンの幾何学形状、照明、陰影、テクスチャ、動き、及び/又はカメラパラメータを定義するレンダリングコマンド及びデータから、出力映像のためのピクセルデータを生成する。
[0017]別の実施形態では、表示メモリ140及び/又は付加的なメモリ145は、メモリ110の一部分であり、CPU105と共有される。或いは、表示メモリ140及び/又は付加的なメモリ145は、グラフィックサブシステム130を排他的に使用するために設けられる1つ以上の個別のメモリである。グラフィックサブシステム130は、表示メモリ218からディスプレイ装置150に表示される映像のためのピクセルデータを周期的に出力する。ディスプレイ装置150は、コンピュータシステム100からの信号に応答して視覚情報を表示できる任意の装置で、CRT、LCD、プラズマ及びOLEDディスプレイ、並びに他の光放射及び光変調技術を含む装置である。コンピュータシステム100は、ディスプレイ装置150にアナログ又はデジタル信号を与えることができる。
[0018]更に別の実施形態において、グラフィック処理サブシステム130は、GPU135と同様の1つ以上の付加的なGPU155を備えている。更に別の実施形態では、グラフィック処理サブシステム130は、グラフィックコプロセッサ165を備えている。このグラフィック処理コプロセッサ165及び付加的なGPU155は、GPU135とパラレルに動作する。付加的なGPU155は、GPU135と同様に、レンダリングコマンドから出力イメージのためのピクセルデータを生成する。付加的なGPU155は、GPU135に関連して動作して、出力映像の異なる部分に対してピクセルデータを同時に生成することもできるし、或いは異なる出力映像に対してピクセルデータを同時に生成することもできる。一実施形態では、グラフィックコプロセッサ165は、GPU135及び/又は付加的なGPU155に対して幾何学形状の変換、シェーダー計算及び裏面抜粋(culling)オペレーションのようなレンダリング関連タスクを遂行する。
[0019]付加的なGPU155は、GPU135と同じ集積回路、モジュール、チップパッケージ、又は回路板に配置されて、データバス160への接続をGPU135と共有することもできるし、或いはデータバス160に個別に接続された付加的な回路板に配置することもできる。また、付加的なGPU155は、表示メモリ140及び付加的なメモリ145と同様に、それら自身の表示メモリ及び付加的なメモリを有することもできるし、或いはメモリ140及び145をGPU135と共有することもできる。一実施形態では、グラフィックコプロセッサ165は、データバス160を制御するのに使用されるノースブリッジ(Northbridge)又はサウスブリッジ(Southbridge)チップのようなコンピュータシステムチップセット(図示せず)と一体化される。
[0020]図2は、本発明の実施形態によるグラフィック処理ユニットのテクスチャキューイングメカニズム200を示す。制御ユニットは、テクスチャユニット210のオペレーションをグラフィック処理ユニットの他の部分と整合させる。テクスチャユニット210は、幾何学的プリミティブの所与のポイントに対して、カラー又はアルファ値のようなテクスチャ値を決定する役割を果たす。一実施形態では、テクスチャユニット210は、制御ユニット205からテクスチャコマンドを受け取る。テクスチャコマンドは、適用されるべきテクスチャマッピングの形式、マップされるべきテクスチャ、及びテクスチャ処理に必要な他のパラメータを指定する。更に、テクスチャコマンドは、通常、幾何学的プリミティブの所与のポイントに対応するテクスチャ座標を指定する関連する1組のテクスチャ引数を要求する。
[0021]制御ユニット205からテクスチャコマンドを受け取ると、テクスチャユニット210は、テクスチャマッピングオペレーションを実行する。一実施形態では、テクスチャマッピングオペレーションは、使用すべき1つ以上のテクスチャミップマップレベルを選択するための詳細決定レベルを含む。サンプリング決定は、等方性又は非等方性テクスチャフィルタリングに使用されるべきテクスチャサンプリングフットプリント及びサンプル重みを計算する。テクスチャマッピングオペレーションは、選択されたミップマップレベル、テクスチャサンプリングフットプリント、及びテクスチャ座標から1つ以上のテクセルメモリアドレスを決定する。
[0022]テクスチャマッピングユニットは、テクスチャメモリ215からテクセルメモリアドレスにおけるテクスチャ値を検索する。テクスチャメモリ215は、グラフィック処理ユニットの内部に1つ以上のレベルのテクスチャキャッシュを含むと共に、グラフィック処理ユニットの外部にテクスチャを記憶するメモリを含むことができる。必要なテクスチャ値がテクスチャメモリ215から受け取られると、テクスチャユニット210は、サンプリング重み及びミップマップ重みに基づいてテクスチャ値を合成して、最終的なテクスチャ値を生成する。この最終的なテクスチャ値は、テクスチャユニット210から出力され、そしてグラフィック処理ユニットの他の部分により使用されて、出力映像の1つ以上のピクセルに対するカラー値を決定する。
[0023]テクスチャキューイングメカニズム200において、制御ユニット205は、コマンド225のようなテクスチャコマンドを要求バッファ220に書き込む。ある実施形態では、要求バッファ220は、FIFOである。テクスチャコマンド225は、適用されるべきテクスチャマッピングの形式、マップされるべきテクスチャ、及びテクスチャユニット210から出力されるべき最終的なテクスチャ値の行先を含むテクスチャパラメータを指定する。一実施形態では、テクスチャコマンドは、32ビット長さであり、従って、要求バッファ220は32ビット巾を必要とするだけである。
[0024]テクスチャコマンド225に含まれるテクスチャパラメータに加えて、テクスチャユニット210は、1組のテクスチャ引数も要求し、これは、テクスチャユニット210により使用されるべきテクスチャ座標を含む。通常、テクスチャ引数は、4つのテクスチャ座標値を含む。各テクスチャ座標値が32ビットのフローティングポイント数で表わされる場合には、テクスチャ引数は128ビットを必要とする。1組のテクスチャ引数がテクスチャコマンドと共に要求バッファ220に含まれるべき場合には、要求バッファ220の必要な巾が実質的に増加する。例えば、32ビットのテクスチャコマンドと、128ビットのテクスチャ引数を一緒に記憶する場合には、160ビット巾の要求バッファが必要になる。
[0025]テクスチャコマンド及びそれに関連したテクスチャ引数の両方を受け容れるに充分な大きさの要求バッファを形成するのではなく、本発明の実施形態では、実行ユニットにより使用される1組の汎用レジスタの1つにテクスチャ引数を記憶する。実行ユニットは、レジスタファイル230と称される1組の汎用レジスタを、非テクスチャ関係オペレーションを含むその全ての計算に対して汎用の一時的ワーキングエリアとして使用する。テクスチャ引数をレジスタファイル230に記憶することにより、要求バッファ220のサイズが著しく減少される。更に、以下に述べるように、本発明の一実施形態では、レジスタファイルにテクスチャ引数を記憶することは、本質的に自由である。
[0026]テクスチャコマンド225に対応するテクスチャ引数235は、レジスタファイル230に記憶される。テクスチャユニット210は、要求バッファ220からテクスチャコマンドを次々に検索して処理する。要求バッファ220からテクスチャコマンド225を検索すると、テクスチャユニット210は、レジスタファイル230内のレジスタからテクスチャ引数235も検索する。
[0027]テクスチャユニット210は、テクスチャコマンド225と共に含まれたテクスチャパラメータから、対応する1組のテクスチャ引数を探索する。テクスチャコマンド225は、最終的なテクスチャ値を記憶するためにレジスタファイル230内の行先レジスタを指定する。一実施形態では、テクスチャ引数235は、最終的なテクスチャ値を記憶するのに使用される同じレジスタに位置される。この実施形態では、テクスチャ行先レジスタにテクスチャ引数235を記憶することで、余計なレジスタを消費しない。最終的なテクスチャ値のために、行先レジスタをとっておかねばならないからである。更に、未処理のテクスチャコマンドの数が、レジスタファイルにおけるレジスタの数のみにより制限される。テクスチャマッピングオペレーションが完了すると、テクスチャユニット210は、最終的なテクスチャ値240をレジスタファイル230へ出力し、そしてテクスチャ引数235にオーバーライトする(245)。
[0028]更に別の実施形態では、テクスチャ引数235及び/又は最終的なテクスチャ値240が単一レジスタより大きい。この実施形態では、レジスタファイル230における1組の多数のレジスタを組み合せて使用して、テクスチャ引数235及び/又は最終的なテクスチャ値240を記憶する。更に別の実施形態では、最終的なテクスチャ値240の行先として指定されるレジスタファイル230の1組のレジスタがテクスチャ引数235を記憶するために使用され、これにより、テクスチャコマンド225により必要とされるレジスタの数を減少する。
[0029]ある実施形態では、テクスチャ引数235に最終的なテクスチャ値240をオーバーライトするので、テクスチャ引数235を保存する必要がある場合には、制御ユニット205は、テクスチャコマンドを発行する前に、レジスタファイル230における付加的なレジスタ(1つ又は複数)にテクスチャ引数をコピーすることができる。別の実施形態では、テクスチャコマンド225は、個別のソース及び行先レジスタを指定し、そしてテクスチャユニット210は、指定されたソースレジスタからテクスチャ引数235を検索して、最終的なテクスチャ値240をレジスタファイル230における行先レジスタに記憶する。
[0030]更に別の実施形態では、スコアボードメカニズムを使用して、テクスチャコマンド225に関連したレジスタファイル230内のレジスタをロックし、テクスチャオペレーションが完了するまで実行ユニットがレジスタの内容を変更するのを防止する。ロックされたレジスタには、実行ユニットにより書き込みすることができないが、テクスチャユニット210は、ロックされたレジスタに依然としてアクセスすることができる。
[0031]テクスチャ引数が行先レジスタに記憶される場合には、制御ユニット205は、テクスチャコマンド225が要求バッファ220に入れられたときに、行先レジスタをロックする。行先レジスタは、最終的なテクスチャ値が行先レジスタに書き込まれるまでロックされたままである。上述したように、テクスチャコマンドが発行されたときから行先レジスタがロックされるので、テクスチャ引数を行先レジスタに記憶することで、実行ユニットから余計なレジスタが奪われることはない。
[0032]個別のソース及び行先レジスタの場合には、テクスチャコマンド225が発行されたときに両レジスタが制御ユニット205によりロックされる。テクスチャユニットがソースレジスタからテクスチャ引数を検索した後に、ソースレジスタがアンロックされる。最終的なテクスチャ値が行先レジスタに記憶された後に、行先レジスタもアンロックすることができる。
[0033]一実施形態において、テクスチャユニット210は、パイプライン型であり、異なるテクスチャパイプライン段において異なるテクスチャコマンドを同時に処理することができる。各テクスチャコマンドの結果が正しいレジスタに確実に記憶されるようにするために、テクスチャユニット210の一実施形態は、タグメモリ又はバッファ250を備えている。バッファ250は、その各部分がテクスチャパイプラインの各段に対応する。バッファ250の各部分は、それに対応するテクスチャパイプライン段により処理されるデータに対する行先レジスタを指定する行先レジスタ位置の値を記憶する。データがあるパイプライン段から別の段へ進むにつれて、それに対応する行先レジスタ位置の値が、バッファ250の対応部分へ移動される。
[0034]図3は、本発明の実施形態による多数の実行ユニットを有するグラフィック処理ユニット300のテクスチャキューイングメカニズムを示す。グラフィック処理ユニットは、上述したテクスチャユニット210と機能的に同様の少なくとも1つのテクスチャユニット305を備えている。このテクスチャユニット305は、テクスチャメモリ310に接続され、これは、外部テクスチャメモリに加えて、1つ以上のレベルの内部テクスチャキャッシュを含むことができる。
[0035]テクスチャユニット305は、多数の独立した実行ユニットに接続される。この実施形態では、4つの実行ユニット315、320、325及び330がテクスチャユニット305に接続されるが、グラフィック処理ユニット300の別の実施形態では、いかなる数の実行ユニットがテクスチャユニットに接続されてもよい。各実行ユニットは、幾何学データ、照明の計算及びシェーダープログラムの処理を含む多数の異なるレンダリング関係タスクを実行することができる。
[0036]実行ユニット315のような典型的な実行ユニットは、レンダリング関係タスクを実行するための実行ユニットコア335を備えている。又、実行ユニット315は、頻繁にアクセスされるインストラクション及びデータを記憶するためのキャッシュメモリ340を含むこともできる。あまり頻繁にアクセスされないデータについては、レジスタファイル345は、その全ての計算のための汎用の一時的ワーキングエリアを実行ユニット315に与える。
[0037]ある実施形態ではFIFOである要求バッファ350は、実行ユニットコア335により発行されたテクスチャコマンドを、それらがテクスチャユニット305により実行される準備ができるまで記憶する。実施形態200の場合と同様に、テクスチャコマンドは、要求バッファ350に記憶されるテクスチャパラメータを含む。テクスチャコマンドに関連したテクスチャ引数、例えば、テクスチャ座標は、レジスタファイル345のレジスタに記憶される。
[0038]テクスチャユニット305は、マルチプレクサ370を経て実行ユニット315、320、325及び330の要求バッファ350、355、360及び365に各々接続される。マルチプレクサ370を使用すると、テクスチャユニットは、各実行ユニットの要求バッファから1つ以上の保留中のテクスチャコマンドを交互に検索する。一実施形態では、テクスチャ要求が実行ユニットから「ラウンドロビン」スケジュールで検索される。別の実施形態では、裁定ブロックユニットが、全体的な性能利益を最大にする順序で、実行ユニットから保留中のテクスチャ要求を選択する。
[0039]所与の実行ユニットの要求バッファからテクスチャコマンドを検索するのに関連して、テクスチャユニット305は、実行ユニットのレジスタファイルから対応する1組のテクスチャ引数も検索する。例えば、テクスチャユニット305は、実行ユニット315の要求バッファ350からテクスチャコマンドを、そしてレジスタファイル345のレジスタから対応するテクスチャ引数を検索する。実行ユニット315のレジスタファイル350とテクスチャユニット305との間の通信を容易にするために、グラフィック処理ユニット300の実施形態では、レジスタファイル350とデータバス380との間にデータバス接続385を備え、データバス380は、次いで、データバス接続390を経てテクスチャユニット305に接続される。実行ユニット320、325及び330も、同様のデータバス接続を含むが、明瞭化のために図3から省略されている。更に別の実施形態では、テクスチャユニットの出力375がデータバス380に接続され、実行ユニットのレジスタファイルに最終的なテクスチャ値を通信する。
[0040]各々のテクスチャコマンドが多数の独立した実行ユニットの1つから生成され、又、その各々が多数の独立したスレッドをもち得るので、グラフィック処理ユニット300の別の実施形態では、各テクスチャコマンドのテクスチャコマンドパラメータとしてスレッド状態情報が含まれる。スレッド状態情報は、例えば、スレッド形式及びスレッド識別を含む。スレッド状態情報は、テクスチャユニット305により使用されて、テクスチャコマンドにより参照されたテクスチャを識別すると共に、最終的なテクスチャ値の行先を決定する。
[0041]図4は、本発明の実施形態によるグラフィック処理ユニットのロード及び記憶コマンドキューイングメカニズム400を示す図である。ロード及び記憶コマンドは、データをロード又は記憶するために外部メモリにアクセスするようにグラフィック処理ユニットに命令する。ロード及び記憶コマンドキューイングメカニズム400は、テクスチャキューイングメカニズム200と同様に動作する。
[0042]制御ユニット400は、ロード/記憶ユニット410のオペレーションを、グラフィック処理ユニットの残り部分と整合させる。ロード/記憶ユニット410外部メモリからデータを検索するか又は外部メモリ415にデータを記憶する役割を果たす。一実施形態では、ロード/記憶ユニット410は、制御ユニット205からロード/記憶コマンドを受け取る。ロード/記憶コマンドは、実行されるべきオペレーションの形式(例えば、ロード又は記憶)、及びオペレーションに必要な他のパラメータ、例えば、メモリアドレスを指定する。更に、ロード/記憶コマンドは、通常、メモリに記憶されるべきデータ、又はメモリからロードされるべきデータの行先を必要とする。
[0043]ロード/記憶コマンドキューイングメカニズム400では、制御ユニット405が、ロード/記憶コマンド、例えば、コマンド425を要求バッファ420に書き込む。一実施形態では、要求バッファ420がFIFOである。ロード/記憶コマンド425は、ロード/記憶オペレーションに対するパラメータを指定する。一実施形態では、ロード/記憶コマンドは32ビット長さであり、従って、要求バッファ420は32ビット巾しか必要としない。
[0044]ロード/記憶コマンド425に含まれるパラメータに加えて、ロード/記憶ユニット410は、記憶コマンドの場合にはデータを、又はロードコマンドの場合には行先レジスタを要求する。ロード/記憶コマンド及びその関連データの両方を受け容れるに充分な大きさの要求バッファを生成するのではなく、本発明の実施形態では、レジスタファイル430のレジスタ435に記憶コマンドに対するデータが記憶される。レジスタファイル430にテクスチャ引数を記憶することにより、要求バッファ420のサイズが相当に減少される。同様に、レジスタ435は、ロードオペレーションにより検索されたデータに対する行先レジスタとして働く。
[0045]ロード/記憶ユニット410は、要求バッファ420からロード/記憶コマンドを順次に検索して処理する。要求バッファ420から記憶コマンド425を検索すると、ロード/記憶ユニット410は、レジスタファイル430内のレジスタ435からもデータを検索する(450)。ロードコマンドは、ロードされるデータを記憶するために、レジスタファイル430内のレジスタ435のようなレジスタを指定する。ロードオペレーションが完了すると、ロード/記憶ユニット410は、ロードされるデータ455をレジスタファイル430へ出力し、該データはレジスタ435へ書き込まれる。
[0046]更に別の実施形態では、スコアボードメカニズムを使用して、ロード/記憶コマンド425に関連したレジスタファイル430内のレジスタをロックし、ロード/記憶オペレーションが完了するまで実行ユニットがレジスタの内容を変更するのを防止する。ロックされたレジスタは、実行ユニットによって書き込むことはできないが、ロード/記憶ユニット410は、ロックされたレジスタに依然としてアクセスすることができる。記憶オペレーションについては、記憶コマンドが要求バッファ420に入れられたときに、制御ユニット405がレジスタ435をロックする。このレジスタは、ロード/記憶ユニットがレジスタ435からデータを検索するまでロックされたままとなる。ロードオペレーションについては、ロードされるデータの行先レジスタとして働くレジスタ435は、要求バッファ420にロードコマンドが入れられたときにロックされる。このレジスタは、ロード/記憶ユニットがロードオペレーションを完了するまでロックされたままであり、ロードされるデータ455はレジスタ435に記憶される。
[0047]一実施形態では、ロード/記憶ユニット410は、パイプライン型であり、異なるテクスチャパイプライン段において異なるロード/記憶コマンドを同時に処理することができる。各ロードコマンドの結果が正しいレジスタに確実に記憶されるようにするために、ロード/記憶ユニット410の一実施形態は、タグメモリ又はバッファ465を備えている。
[0048]本発明は、グラフィック処理ユニットが、大きなテクスチャ要求バッファを必要とせずに、テクスチャ要求の可変性をバランスさせるように非常に多数のテクスチャ要求をキューイングできるようにする。一実施形態では、テクスチャユニットにより計算された最終的なテクスチャ値の行先として指定された汎用レジスタにテクスチャ引数が記憶される。テクスチャコマンドがキューイングされるときに最終的なテクスチャ値に対して行先レジスタを割り当てねばならないので、このレジスタにテクスチャ引数を記憶しても、付加的なレジスタを消費することにはならない。以上、本発明の特定の実施形態及び実施例を説明したが、これらは単なる例示に過ぎず、本発明を何ら限定するものではない。従って、本発明の範囲は、特許請求の範囲のみにより決定される。
本発明の実施形態を具現化するのに適したコンピュータシステムを示す図である。 本発明の実施形態によるグラフィック処理ユニットのテクスチャキューイングメカニズムを示す図である。 本発明の実施形態による多数の実行ユニットを有するグラフィック処理ユニットのテクスチャキューイングメカニズムを示す図である。 本発明の実施形態によるグラフィック処理ユニットのロード及び記憶コマンドキューイングメカニズムを示す図である。
符号の説明
100・・・コンピュータシステム、105・・・中央処理ユニット(CPU)、110・・・メモリ、115・・・記憶装置、120・・・ユーザ入力、125・・・ネットワークインターフェイス、130・・・グラフィックサブシステム、135・・・グラフィック処理ユニット(GPU)、140・・・表示メモリ、145・・・付加的なメモリ、150・・・ディスプレイ、200・・・テクスチャキューイングメカニズム、205・・・制御ユニット、210・・・テクスチャユニット、215・・・テクスチャメモリ、220・・・要求バッファ、225・・・コマンド、230・・・レジスタファイル、235・・・テクスチャ引数、240・・・最終的なテクスチャ値、250・・・タグメモリ又はバッファ、300・・・グラフィック処理ユニット、305・・・テクスチャユニット、310・・・テクスチャメモリ、315、320、325、330・・・実行ユニット、335・・・実行ユニットコア、340・・・キャッシュメモリ、345・・・レジスタファイル、350・・・要求バッファ、380・・・データバス、385、390・・・データバス接続、400・・・ロード及び記憶コマンドキューイングメカニズム、405・・・制御ユニット、410・・・ロード/記憶ユニット、420・・・要求バッファ、425・・・コマンド、430・・・レジスタファイル、465・・・タグメモリ又はバッファ。

Claims (28)

  1. ピクセルをテクスチャ処理する方法であって、
    レジスタファイルの汎用レジスタにテクスチャ引数を記憶するステップと、
    前記テクスチャ引数に関連したテクスチャコマンドをテクスチャ要求バッファへ発行するステップと、
    前記テクスチャ要求バッファから前記テクスチャコマンドを検索するステップと、
    前記汎用レジスタから前記テクスチャ引数を検索するステップと、
    前記テクスチャコマンドを実行して、最終的なテクスチャ値を生成するステップと、
    前記最終的なテクスチャ値を前記レジスタファイルに記憶するステップと、
    を含む方法。
  2. 前記最終的なテクスチャ値を前記レジスタファイルの前記汎用レジスタに記憶し、これにより、前記テクスチャ引数にオーバーライトする、請求項1に記載の方法。
  3. 前記最終的なテクスチャ値を前記レジスタファイルの第2の汎用レジスタに記憶する、請求項1に記載の方法。
  4. 前記テクスチャコマンドはテクスチャパラメータを含む、請求項1に記載の方法。
  5. 前記テクスチャパラメータはテクスチャマッピング形式を指定する、請求項4に記載の方法。
  6. 前記テクスチャパラメータはテクスチャマップを指定する、請求項4に記載の方法。
  7. テクスチャ引数を検索する前記ステップは、前記テクスチャパラメータから前記汎用レジスタを識別することを含む、請求項4に記載の方法。
  8. 前記テクスチャパラメータは、前記最終的なテクスチャ値を記憶するための行先レジスタとして前記汎用レジスタを指定する、請求項7に記載の方法。
  9. 前記テクスチャパラメータは、前記テクスチャ引数を記憶する前記汎用レジスタと、前記最終的なテクスチャ値を記憶する第2の汎用レジスタとを指定する、請求項7に記載の方法。
  10. テクスチャコマンドの発行に応答して前記テクスチャ引数への変化を防止するために前記汎用レジスタをロックするステップと、
    前記最終的なテクスチャ値を記憶するのに続いて、前記汎用レジスタをアンロックするステップと、
    を更に含む請求項1に記載の方法。
  11. 前記レジスタファイル及び前記テクスチャ要求バッファは、第1実行ユニットに含まれており、
    前記方法は、
    テクスチャ引数を記憶し、テクスチャコマンドを発行し、テクスチャコマンドを検索し、テクスチャ引数を検索し、テクスチャコマンドを実行し、そして最終的なテクスチャ値を記憶するという前記ステップを、第2レジスタファイル及び第2テクスチャ要求バッファを含む第2実行ユニットに対して繰り返すステップ、
    を更に含む請求項1に記載の方法。
  12. 前記テクスチャ引数は1組のテクスチャ座標を含む、請求項1に記載の方法。
  13. テクスチャ要求バッファと複数の汎用レジスタを含むレジスタファイルとを有する実行ユニットであって、前記テクスチャ要求バッファへテクスチャコマンドを発行すると共に、前記レジスタファイルにテクスチャ引数を記憶する実行ユニットと、
    前記テクスチャ要求バッファから前記テクスチャコマンドを読み取ると共に、前記レジスタファイルから前記テクスチャ引数を検索するテクスチャユニットと、を備え、
    前記テクスチャユニットは、更に、前記テクスチャコマンドに応答してテクスチャマップの一部分を検索し、前記テクスチャマップの一部分から最終的なテクスチャ値を計算し、そしてその最終的なテクスチャ値を前記レジスタファイルの複数のレジスタの行先レジスタに記憶する、グラフィック処理サブシステム。
  14. 前記実行ユニットは、前記複数のレジスタの行先レジスタに前記テクスチャ引数を記憶し、前記テクスチャユニットは、前記最終的なテクスチャ値を記憶する際に前記テクスチャ引数にオーバーライトする、請求項13に記載のグラフィック処理サブシステム。
  15. 前記実行ユニットは、前記複数のレジスタのソースレジスタに前記テクスチャ引数を記憶し、前記ソースレジスタは、前記行先レジスタとは個別である、請求項13に記載のグラフィック処理サブシステム。
  16. 前記テクスチャコマンドはテクスチャパラメータを含む、請求項13に記載のグラフィック処理サブシステム。
  17. 前記テクスチャパラメータはテクスチャマッピング形式を指定する、請求項16に記載のグラフィック処理サブシステム。
  18. 前記テクスチャパラメータはテクスチャマップを指定する、請求項16に記載のグラフィック処理サブシステム。
  19. 前記テクスチャユニットは、更に、前記テクスチャ引数を記憶する前記複数のレジスタのソースレジスタを前記テクスチャパラメータから決定する、請求項16に記載のグラフィック処理サブシステム。
  20. 前記テクスチャパラメータは、前記複数のレジスタの行先レジスタが前記複数のレジスタのソースレジスタでもあることを指定する、請求項19に記載のグラフィック処理サブシステム。
  21. 前記テクスチャパラメータは、前記複数のレジスタのソースレジスタ及び行先レジスタを指定し、前記ソースレジスタは前記行先レジスタとは個別である、請求項19に記載のグラフィック処理サブシステム。
  22. 前記実行ユニットは、更に、テクスチャコマンドの発行に応答して前記テクスチャ引数への変化を防止するために前記行先レジスタをロックし、前記テクスチャユニットが前記行先レジスタに前記最終的なテクスチャ値を記憶するのに応答して前記行先レジスタをアンロックする、請求項13に記載のグラフィック処理サブシステム。
  23. 前記実行ユニットは、テクスチャコマンドの発行に応答して前記テクスチャ引数への変化を防止するために前記ソースレジスタをロックし、前記テクスチャユニットが前記レジスタファイルから前記テクスチャ引数を検索するのに応答して前記ソースレジスタをアンロックする、請求項15に記載のグラフィック処理サブシステム。
  24. 第2のテクスチャ要求バッファと複数の汎用レジスタを含む第2のレジスタファイルとを有する第2の実行ユニットであって、前記第2のテクスチャ要求バッファへ第2のテクスチャコマンドを発行すると共に、前記第2のレジスタファイルに第2のテクスチャ引数を記憶する第2の実行ユニットを更に備え、
    前記テクスチャユニットは、更に、前記第2のテクスチャ要求バッファから前記第2のテクスチャコマンドを読み取り、前記第2のレジスタファイルから前記第2のテクスチャ引数を検索し、前記第2のテクスチャコマンドに応答して前記テクスチャメモリから第2のテクスチャマップの一部分を検索し、前記テクスチャマップの一部分から第2の最終的なテクスチャ値を計算し、そしてその第2の最終的なテクスチャ値を前記第2のレジスタファイルの複数のレジスタのうちの行先レジスタに記憶する、請求項13に記載のグラフィック処理サブシステム。
  25. 前記第1実行ユニット及び第2実行ユニットを前記テクスチャユニットに交互に接続するマルチプレクサスイッチを更に備える、請求項24に記載のグラフィック処理サブシステム。
  26. 前記テクスチャユニットは、ラウンドロビンスケジュールに基づいて前記第1実行ユニット及び第2実行ユニットに接続される、請求項25に記載のグラフィック処理サブシステム。
  27. 前記テクスチャユニットは、前記グラフィック処理サブシステムの性能を最大にするためのプライオリティファンクションに基づいて、前記第1実行ユニット及び第2実行ユニットに接続される、請求項25に記載のグラフィック処理サブシステム。
  28. 前記テクスチャユニットに接続されて、テクスチャマップを記憶するテクスチャメモリを更に備える、請求項13に記載のグラフィック処理サブシステム。
JP2007500853A 2004-02-27 2005-02-09 テクスチャ要求のためのレジスタベースのキューイング Pending JP2007525768A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/789,735 US7027062B2 (en) 2004-02-27 2004-02-27 Register based queuing for texture requests
PCT/US2005/003999 WO2005093665A1 (en) 2004-02-27 2005-02-09 Register based queuing for texture requests

Publications (1)

Publication Number Publication Date
JP2007525768A true JP2007525768A (ja) 2007-09-06

Family

ID=34887356

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007500853A Pending JP2007525768A (ja) 2004-02-27 2005-02-09 テクスチャ要求のためのレジスタベースのキューイング

Country Status (6)

Country Link
US (3) US7027062B2 (ja)
EP (1) EP1725989B1 (ja)
JP (1) JP2007525768A (ja)
CN (2) CN102750664B (ja)
TW (1) TWI370996B (ja)
WO (1) WO2005093665A1 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010244529A (ja) * 2009-04-08 2010-10-28 Nvidia Corp デッドロックを起こさないパイプライン処理のためのシステム及び方法
JP2013016150A (ja) * 2011-05-25 2013-01-24 Arm Ltd 処理パイプラインの制御
JP2014182831A (ja) * 2013-03-15 2014-09-29 Intel Corp フィルタ・タップを廃棄するテクスチャ・アドレス・モード

Families Citing this family (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7812844B2 (en) 2004-01-28 2010-10-12 Lucid Information Technology, Ltd. PC-based computing system employing a silicon chip having a routing unit and a control unit for parallelizing multiple GPU-driven pipeline cores according to the object division mode of parallel operation during the running of a graphics application
JP2007512613A (ja) * 2003-11-19 2007-05-17 ルシッド インフォメーション テクノロジー リミテッド Pcバス上の多重3−dグラフィックパイプラインのための方法およびシステム
US20080094403A1 (en) * 2003-11-19 2008-04-24 Reuven Bakalash Computing system capable of parallelizing the operation graphics processing units (GPUs) supported on a CPU/GPU fusion-architecture chip and one or more external graphics cards, employing a software-implemented multi-mode parallel graphics rendering subsystem
US20070291040A1 (en) * 2005-01-25 2007-12-20 Reuven Bakalash Multi-mode parallel graphics rendering system supporting dynamic profiling of graphics-based applications and automatic control of parallel modes of operation
US8085273B2 (en) 2003-11-19 2011-12-27 Lucid Information Technology, Ltd Multi-mode parallel graphics rendering system employing real-time automatic scene profiling and mode control
US8497865B2 (en) 2006-12-31 2013-07-30 Lucid Information Technology, Ltd. Parallel graphics system employing multiple graphics processing pipelines with multiple graphics processing units (GPUS) and supporting an object division mode of parallel graphics processing using programmable pixel or vertex processing resources provided with the GPUS
US7961194B2 (en) 2003-11-19 2011-06-14 Lucid Information Technology, Ltd. Method of controlling in real time the switching of modes of parallel operation of a multi-mode parallel graphics processing subsystem embodied within a host computing system
US20080088631A1 (en) * 2003-11-19 2008-04-17 Reuven Bakalash Multi-mode parallel graphics rendering and display system supporting real-time detection of scene profile indices programmed within pre-profiled scenes of the graphics-based application
US20090027383A1 (en) 2003-11-19 2009-01-29 Lucid Information Technology, Ltd. Computing system parallelizing the operation of multiple graphics processing pipelines (GPPLs) and supporting depth-less based image recomposition
US7027062B2 (en) * 2004-02-27 2006-04-11 Nvidia Corporation Register based queuing for texture requests
US7339590B1 (en) * 2004-09-02 2008-03-04 Nvidia Corporation Vertex processing unit supporting vertex texture mapping
US7609272B1 (en) * 2004-12-13 2009-10-27 Nvidia Corporation Partial texture loads
US20090096798A1 (en) * 2005-01-25 2009-04-16 Reuven Bakalash Graphics Processing and Display System Employing Multiple Graphics Cores on a Silicon Chip of Monolithic Construction
US8766995B2 (en) * 2006-04-26 2014-07-01 Qualcomm Incorporated Graphics system with configurable caches
US20070268289A1 (en) * 2006-05-16 2007-11-22 Chun Yu Graphics system with dynamic reposition of depth engine
US8884972B2 (en) * 2006-05-25 2014-11-11 Qualcomm Incorporated Graphics processor with arithmetic and elementary function units
US8869147B2 (en) * 2006-05-31 2014-10-21 Qualcomm Incorporated Multi-threaded processor with deferred thread output control
US8644643B2 (en) 2006-06-14 2014-02-04 Qualcomm Incorporated Convolution filtering in a graphics processor
US8766996B2 (en) * 2006-06-21 2014-07-01 Qualcomm Incorporated Unified virtual addressed register file
US8154554B1 (en) * 2006-07-28 2012-04-10 Nvidia Corporation Unified assembly instruction set for graphics processing
US8174534B2 (en) * 2007-12-06 2012-05-08 Via Technologies, Inc. Shader processing systems and methods
US8217953B2 (en) 2008-04-25 2012-07-10 International Business Machines Corporation Anisotropic texture filtering with texture data prefetching
US9582919B2 (en) * 2009-10-09 2017-02-28 Microsoft Technology Licensing, Llc Automatic run-time identification of textures
US8872823B2 (en) * 2009-10-09 2014-10-28 Microsoft Corporation Automatic real-time shader modification for texture fetch instrumentation
CN102520916B (zh) * 2011-11-28 2015-02-11 深圳中微电科技有限公司 在mvp处理器中消除纹理延迟和寄存器管理的方法
US9911175B2 (en) 2015-09-03 2018-03-06 Qualcomm Incorporated Modification of graphical command tokens
CN106328083B (zh) 2016-10-10 2017-11-10 深圳市华星光电技术有限公司 一种液晶显示器及其补偿数据存储方法
CN108509241B (zh) * 2018-03-15 2021-06-04 Oppo广东移动通信有限公司 一种图像的全屏显示方法、全屏显示装置及移动终端
CN109615685B (zh) * 2018-11-14 2023-04-28 西安翔腾微电子科技有限公司 基于uml面向gpu纹理贴图的硬件视图模型的纹理执行装置及方法
CN111420900B (zh) * 2020-03-25 2022-10-25 无锡信捷电气股份有限公司 一种分选机踢除方法
CN115033289B (zh) * 2022-08-12 2022-11-22 南京砺算科技有限公司 图形处理器及其伪指令处理方法、编译方法及装置、介质
CN116048531B (zh) * 2023-03-30 2023-08-08 南京砺算科技有限公司 指令编译方法及图形处理装置、存储介质、终端设备

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04315275A (ja) * 1990-11-15 1992-11-06 Motorola Inc コンピュータグラフィックにおける飽和演算をデータプロセッサによって行う方法
JPH08235366A (ja) * 1994-12-02 1996-09-13 Sony Computer Entateinmento:Kk 画像情報生成装置及び方法、並びに画像情報処理装置及び方法
JPH10507288A (ja) * 1994-10-06 1998-07-14 ザ、ダウ、ケミカル、カンパニー 拡張ハーバード型アーキテクチャ・メモリシステム
JP2000011204A (ja) * 1998-06-22 2000-01-14 Sega Enterp Ltd 画像処理方法及び画像処理プログラムを記録した記録媒体
JP2000123190A (ja) * 1998-10-14 2000-04-28 Hitachi Ltd 3次元描画方法および装置

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6414648A (en) * 1987-07-08 1989-01-18 Mitsubishi Electric Corp Arithmetic processor
US5305446A (en) * 1990-09-28 1994-04-19 Texas Instruments Incorporated Processing devices with improved addressing capabilities, systems and methods
US5301295A (en) * 1991-05-22 1994-04-05 Analog Devices, Inc. Data processor apparatus and method with selective caching of instructions
US5898882A (en) * 1993-01-08 1999-04-27 International Business Machines Corporation Method and system for enhanced instruction dispatch in a superscalar processor system utilizing independently accessed intermediate storage
US5706466A (en) * 1995-01-13 1998-01-06 Vlsi Technology, Inc. Von Neumann system with harvard processor and instruction buffer
US5793386A (en) * 1996-06-28 1998-08-11 S3 Incorporated Register set reordering for a graphics processor based upon the type of primitive to be rendered
US6483516B1 (en) * 1998-10-09 2002-11-19 National Semiconductor Corporation Hierarchical texture cache
WO2001016714A1 (en) * 1999-09-01 2001-03-08 Intel Corporation Fast write instruction for micro engine used in multithreaded parallel processor architecture
US6728856B2 (en) * 2001-06-01 2004-04-27 Microchip Technology Incorporated Modified Harvard architecture processor having program memory space mapped to data memory space
US20030187911A1 (en) * 2002-04-01 2003-10-02 Michael Abd-El-Malek Method and apparatus to facilitate recovering a thread from a checkpoint
US7079147B2 (en) * 2003-05-14 2006-07-18 Lsi Logic Corporation System and method for cooperative operation of a processor and coprocessor
US7027062B2 (en) 2004-02-27 2006-04-11 Nvidia Corporation Register based queuing for texture requests
US7339590B1 (en) * 2004-09-02 2008-03-04 Nvidia Corporation Vertex processing unit supporting vertex texture mapping

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04315275A (ja) * 1990-11-15 1992-11-06 Motorola Inc コンピュータグラフィックにおける飽和演算をデータプロセッサによって行う方法
JPH10507288A (ja) * 1994-10-06 1998-07-14 ザ、ダウ、ケミカル、カンパニー 拡張ハーバード型アーキテクチャ・メモリシステム
JPH08235366A (ja) * 1994-12-02 1996-09-13 Sony Computer Entateinmento:Kk 画像情報生成装置及び方法、並びに画像情報処理装置及び方法
JP2000011204A (ja) * 1998-06-22 2000-01-14 Sega Enterp Ltd 画像処理方法及び画像処理プログラムを記録した記録媒体
JP2000123190A (ja) * 1998-10-14 2000-04-28 Hitachi Ltd 3次元描画方法および装置

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010244529A (ja) * 2009-04-08 2010-10-28 Nvidia Corp デッドロックを起こさないパイプライン処理のためのシステム及び方法
JP2013016150A (ja) * 2011-05-25 2013-01-24 Arm Ltd 処理パイプラインの制御
US9927882B2 (en) 2011-05-25 2018-03-27 Arm Limited Processing pipeline control
JP2014182831A (ja) * 2013-03-15 2014-09-29 Intel Corp フィルタ・タップを廃棄するテクスチャ・アドレス・モード

Also Published As

Publication number Publication date
EP1725989A1 (en) 2006-11-29
CN1938730A (zh) 2007-03-28
US7027062B2 (en) 2006-04-11
EP1725989B1 (en) 2014-04-16
US20050190195A1 (en) 2005-09-01
US20060119607A1 (en) 2006-06-08
CN102750664A (zh) 2012-10-24
WO2005093665A1 (en) 2005-10-06
CN102750664B (zh) 2016-01-20
US7864185B1 (en) 2011-01-04
CN1938730B (zh) 2012-05-30
US7456835B2 (en) 2008-11-25
TW200535731A (en) 2005-11-01
TWI370996B (en) 2012-08-21

Similar Documents

Publication Publication Date Title
US7456835B2 (en) Register based queuing for texture requests
US6972769B1 (en) Vertex texture cache returning hits out of order
US9978171B2 (en) Control of a sample mask from a fragment shader program
US6812929B2 (en) System and method for prefetching data from a frame buffer
US7218291B2 (en) Increased scalability in the fragment shading pipeline
US6731292B2 (en) System and method for controlling a number of outstanding data transactions within an integrated circuit
US10055883B2 (en) Frustum tests for sub-pixel shadows
US6836272B2 (en) Frame buffer addressing scheme
JP2005514711A (ja) ゾーン・レンダリングのための効率的なグラフィックス状態管理
US7898549B1 (en) Faster clears for three-dimensional modeling applications
US7388581B1 (en) Asynchronous conditional graphics rendering
US7339590B1 (en) Vertex processing unit supporting vertex texture mapping
US20190172213A1 (en) Tile-based low-resolution depth storage
EP1255227A1 (en) Vertices index processor
US6812928B2 (en) Performance texture mapping by combining requests for image data
US10417813B2 (en) System and method for generating temporally stable hashed values
US7027064B2 (en) Active block write-back from SRAM cache to DRAM
US7310103B2 (en) Pipelined 2D viewport clip circuit
US20050195200A1 (en) Embedded system with 3D graphics core and local pixel buffer
US7145570B2 (en) Magnified texture-mapped pixel performance in a single-pixel pipeline
US7525551B1 (en) Anisotropic texture prefiltering
US6885375B2 (en) Stalling pipelines in large designs
JP2004133956A (ja) 描画装置及び描画方法
JP2005078357A (ja) 画像処理装置およびその方法

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20091117

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20100217

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20100224

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100315

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20100427