(57)【要約】      （修正有）【課題】ポリゴン情報が、マトリクス構成の情報の領域又はタイルブロックの形式で整理、格納、及び転送される、グラフィックスアプリケーションのための処理および実行コンピュータシステムを提供する。【解決手段】テクセル情報のポリゴンバイトは、キャッシュヒット効率の向上のために、グラフィックスサブシステム内に、例示的な８×８マトリクスの行及び列のフォーマットで整理され、ホストストレージがグラフィックスキャッシュを再び満たすためにアクセスされた場合に、ホストストレージ装置のリニアアドレススキームヘ変換、又はリニアアドレススキームから変換される。メモリタイルのポリゴン情報を含むバイトは、完全な１タイル分の情報が、通常のマルチラインアクセスのアービトレーション及び他の典型的なアクセス遅延を最小限に抑えるために、１回のバースト方式ホストメモリアクセスで転送されるように構成される。【選択図】図１
2008276798.tif 000002
【特許請求の範囲】
【請求項１】
テクスチャ情報を記憶する方法であって、
ホストメモリにおけるテクスチャマップを複数のタイルセグメントに分割するステップであって、該テクスチャマップは、テクスチャ画像の複数のピクセル各々がもつテクスチャ情報を格納しており、前記複数のタイルセグメントの各々は、前記テクスチャ画像の一部における複数のピクセルによって構成される複数のライン及び複数の列を有している、該ステップと、
前記複数のタイルセグメントのうち要求されたピクセルを含むタイルセグメントにおけるテクスチャ情報を、グラフィックユニットのローカルキャッシュにキャッシングするステップと、
を含み、
前記キャッシングするステップでは、要求されたピクセルのテクスチャ情報が前記ローカルキャッシュに存在しない場合に、該要求されたピクセルを含むタイルセグメントの開始アドレスが、変換回路から出力され、該要求されたピクセルを含む該タイルセグメントのテクスチャ情報が、前記ホストメモリから前記ローカルキャッシュに、前記開始アドレスのみに基づいてホストメモリ制御器によって転送される、
方法。
【請求項２】
前記複数のラインの個数は、前記複数の列の個数に等しい、請求項１に記載の方法。
【請求項３】
前記複数のラインの個数及び前記複数の列の個数が、整数「８」の倍数に等しい、請求項２に記載の方法。
【請求項４】
主バス、表示装置、ホストメモリ、及び、ホストメモリ制御器を備えた情報処理システムと、グラフィックスサブシステムと、変換回路と、を含むコンピュータベースのグラフィックスステーションであって、該グラフィックスサブシステムは、該主バスおよび該表示装置に接続されたグラフィックスプロセッサを備え、該グラフィックスサブシステムは、該グラフィックスプロセッサに接続されたグラフィックスメモリをさらに備え、該グラフィックスサブシステムは、
前記ホストメモリにおけるテクスチャマップを複数のタイルセグメントに分割するステップであって、該テクスチャマップは、テクスチャ画像の複数のピクセル各々がもつテクスチャ情報を格納しており、前記複数のタイルセグメントの各々は、前記テクスチャ画像の一部における複数のピクセルによって構成される複数のライン及び複数の列を有している、該ステップと、
前記複数のタイルセグメントのうち要求されたピクセルを含むタイルセグメントにおけるテクスチャ情報を、前記グラフィックスメモリにキャッシングするステップと、
を達成するように選択的に動作可能であり、
前記キャッシングするステップでは、要求されたピクセルのテクスチャ情報が前記ローカルキャッシュに存在しない場合に、該要求されたピクセルを含むタイルセグメントの開始アドレスが、変換回路から出力され、該要求されたピクセルを含む該タイルセグメントのテクスチャ情報が、前記ホストメモリから前記ローカルキャッシュに、前記開始アドレスのみに基づいてホストメモリ制御器によって転送される、
コンピュータベースのグラフィックスステーション。
【請求項５】
前記複数のラインの個数は、前記複数の列の個数に等しい、請求項４に記載の方法。
【請求項６】
前記複数のラインの個数及び前記複数の列の個数が、整数「８」の倍数に等しい、請求項５に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、概してコンピュータグラフィックスに関し、特に、バースト方式データ転送のための最適化メモリマッピングを備えた多次元グラフィックスシステムのための信号処理方法に関する。
【背景技術】
【０００２】
あらゆる種類のシステム環境に対するコンピュータグラフィックスの使用および適用は、ますます高速な情報処理および検索装置の利用可能度とともに、より広い範囲に増大し続けている。このような装置の動作速度は、優先順位の高い設計目標である。このことは、グラフィックスシステムに関して特に当てはまり、３Ｄグラフィックスシステムに関しては、より当てはまる。このようなグラフィックスシステムは、莫大な量のデータの多量な処理を必要とし、データフロー速度は、新しい製品またはシステムを提供する、あるいは新しい使用に適用するためのグラフィックスシステムを設計する際に非常に重要である。
【０００３】
あらゆるデータおよび情報処理システム、特にコンピュータグラフィックスシステムにおいては、メモリまたは記憶装置の場所のデータにアクセスし、その情報を処理し、後続のアクセス、処理および／または表示のために処理された情報を別の場所に送る際に多くの時間が費やされる。新しいプロセッサの速度が増すにつれて、メモリのデータにアクセスして取り出すためのアクセス時間が、システムの速度および総体的な性能の点からますますネックとなっている。
【０００４】
グラフィックスシステムは、現代のソフトウェアアプリケーションによって必要とされるより多量のグラフィックデータを処理するために、より短い時間でより多くの精巧な機能を行うことが可能でなければならない。フルカラー、シェーディング、および透明ブレンディング（transparency blending）情報を含むテクスチャマップを用いて３次元のオブジェクトを描画するためのソフトウェア方法およびハードウェア実現の向上に対する継続的な必要性が存在する。ラスタ表示システムの開発により、グラフィックスシステムの総体的なコストが劇的に下がり、グラフィックスシステムの能力は高まった。ラスタ表示システムにおいては、１組の水平および直交走査線（各々が画素行を構成する）が、画面領域全体を表す画素アレイまたは画素グリッドを形成する。画面は、好適には、ちらつきを可能な限り低減するために比較的高速度で全画素グリッドを走査することが可能な、陰極線管（CRT）、または液晶表示装置（LCD）等である。
【０００５】
画素データは、好適には、ダイナミックランダムアクセスメモリ（DRAM）を備えたフレームバッファに格納され、ここでは、各画素が、所望の解像度、色、明度、および他の変数に応じて１つ以上のビットによって表される。典型的な表示システムは、複数の色および種々の画面解像度（例えば、これらに限定されることはないが、６４０×４８０、８００×６００、１０２４×７６８、１２８０×１０２４、またはソフトウェアドライバおよび使用されるハードウェアに応じた他の組み合わせ）を用いて画面を描画することができる。ビデオ制御器は、フレームバッファの画素データを走査および変換し、それによって、画面上に情報を表示するための画面システムが必要とする信号が制御される。ビデオ制御器は、表示画面上を上から下および左から右へと各画素を逐次的に走査する。CRTを用いたカラーグラフィックスシステムでは、３つの別個のビーム（すなわち、三原色のそれぞれに対して１つのビーム）が制御され、各ビームの強度は、それぞれの色に対応する画素値によって決定される。類似のシステムがLCD装置に使用される。各画素値は、例えば２４ビット（すなわち、赤、緑、および青の三原色のそれぞれに対して１つの８ビットバイト）を構成し得、バイト値は、表示されるそれぞれの色の強度を決定する。
【０００６】
メモリのテクスチャマップは、グラフィックス装置内の、ローカルで、比較的高速なRDRAMメモリ内に格納され得るか、もしくはそのようなマップはシステムまたはホストメモリに格納され得る。より大きなホストメモリの一部として格納される場合には、ホストテクスチャマップからデータにアクセスする際の遅延が生じる。なぜなら、メモリのタイプ自体の速度およびホストメモリの構成およびアクセス処理の性質のためである。
【０００７】
コンピュータグラフィックスアプリケーションに特定していえば、表示画像の色の透明度などの画像テクスチャ情報は、テクスチャマップに格納される。テクスチャマップは、水平方向に「Ｕ」個の「テクセル」（texel）および垂直方向に「Ｖ」本のラインのテクセルから成る２次元テクセルアレイである。ポリゴンがレンダリングされる際に、テクセルは「テクスチャマップ」からフェッチされ、ライティングおよびブレンディングのために処理され、その後、このようなテクセルは、ポリゴンの「画素」となる。画像が表示画面上に生成される際に、フレームバッファに格納された各ラインのデータが逐次的にアクセスされ、表示装置に転送され、それによって、表示上で対応する逐次的ラインの画素を埋める。フレームバッファは、グラフィックスシステムの描画エンジン部分によって更新され、これは、次に、グラフィックスシステムのテクスチャエンジン部分によって更新される。テクスチャエンジンは、通常システムまたはホストメモリに格納されるテクスチャマップにアクセスする。このようなアクセスごと、およびホストメモリからのテクスチャ情報の転送は、それに関連する遅延時間を持つ。これは、格納およびプロセスへのアクセス処理の固有の依存性による。例えば、ホストメモリに格納されたテクスチャマップへのアクセスごとに、処理待ち時間と、バスアクセスおよびホストメモリアクセスアービトレーション(arbitration)による遅延とが存在する。さらに、グラフィックスシステムにおいては、必要とされる次のテクセルの情報は、メモリの次のリニアラインの情報ではなく、最後に転送されたテクセルとは異なる方向にある次のテクセルであることが頻繁にある。ホストメモリにおける情報のリニアストレージの性質から、ホストメモリに格納されたリニア方式で変位された次のテクセルの情報ではないテクセルの情報が、グラフィックスエンジンによって必要とされる場合にはいつでも、ホストメモリへの新しいアクセスが、要求されたテクセルを見つけるために必要とされる。
【発明の開示】
【発明が解決しようとする課題】
【０００８】
多くのメモリシステムは、比較的長いアクセス時間を持つが、PCIバス構成を含むシステムは、最初のアクセスが行われた後にバースト逐次アクセスを行うことができることによって、ある程度補償できる。しかし、従来のテクスチャマップストレージおよび情報の転送では、ホストメモリのバーストアクセス機能を利用することが今まで不可能であった。したがって、グラフィックスおよび他のアプリケーションにおいて典型的に必要とされるアクセス数を減少させ、全体的なシステム速度を速めるのに効率的なテクスチャマップストレージおよびテクセルデータ転送の新しい方法に対する必要性が存在する。また、処理されるデータ増分の数を最適化し、情報の転送効率を最大限にする（すなわち、ホストメモリへのアクセスごとに提供される有用なデータの割合を最大限にする）のに有効な改良された方法および装置に対する必要性がある。
【課題を解決するための手段】
【０００９】
テクスチャマップをメモリタイルセグメントに最適に分割するための方法およびシステムが提供され、そこでは、各セグメントが、１つのテクスチャ画像の複数の垂直表示されるラインの所定の水平部分を覆うブロックまたはタイルセクションを表現可能なデータを含む１つのブロックまたはタイルの情報に関連する。ブロックまたはタイルセクションは、グラフィックスユニットでキャッシュされ、タイル構成により、リニアまたは１ラインずつの構成と比べて、テクスチャマップから現在フェッチされている要求されたデータについてのローカルキャッシュに対するより高いヒットレートが生じる。要求されたアドレスが、ローカルグラフィックスキャッシュに含まれない場合には、ホストメモリがアクセスされ、要求されたタイルセグメントの情報が、ホストメモリからバースト方式で転送され、キャッシュストレージおよびグラフィックスユニットによる使用のために、タイルフォーマットで再組立てされる。
【発明を実施するための最良の形態】
【００１０】
本発明のより深い理解は、以下の好適な実施形態の詳細な説明を以下の図面に関連して考慮した場合に得られる。
【００１１】
図１を参照して、上記の様々な方法が、典型的なコンピュータシステムまたはワークステーション１０１内で実施され得る。本発明と共に使用され得るワークステーションの典型的なハードウェア構成が図示され、従来のマイクロプロセッサ等のシステム中央処理装置（CPU）１０３と、システムまたはホストバス１０４を通して相互接続される多数の他の装置とを含んでいる。システムメモリ制御器１０８が、ホストバス１０４とPCIバス１０５との間に接続されている。システムメモリ制御器１０８が、システムRAM１０９に接続されている。PCIバス１０５が、システムROM１０７およびユーザインタフェースアダプタ１１５にも接続されている。ユーザインタフェースアダプタ１１５は、キーボード１１１およびマウス装置１１３等の様々なユーザ入力装置に接続されるように構成されている。タッチスクリーン装置（図示せず）等の他のユーザインタフェース装置もまた、ユーザインタフェースアダプタ１１５を介してPCIバス１０５に接続され得る。グラフィックス装置１１７は、PCIバス１０５および表示装置１１９にも接続される。PCIバス１０５は、他のワークステーションまたはネットワーク等へさらに接続するための拡張部１２１を備え得る。内部で本発明が実施されるワークステーションまたはコンピュータシステム１０１は、大部分は一般的に当該分野において公知であり、当業者に一般的に公知である電子装置および回路からなるので、図１に示されたもの以外の回路の詳細は、本発明の基礎概念を理解および認識するため、および本発明の教示を不明瞭にしない、または本発明の教示からそれないために、上記のように必要と考えられるものを越える範囲で説明されることはない。
【００１２】
図２では、PCIバス１０５がグラフィックス装置またはサブシステム１１７に接続されて示されている。グラフィックス装置１１７は、例えば、フレームバッファユニット２０３からの情報またはデータ、システムまたはホストメモリ１０９への情報またはデータ、およびシステムまたはホストメモリ１０９からの情報またはデータを処理、送信、および受信するように構成されたグラフィックスプロセッサ２０１を備え得る。フレームバッファユニット２０３は、グラフィックスプロセッサ２０１にアクセスされるフレーム表示情報を持ち、グラフィックプロセッサ２０１は、次に表示装置１１９に接続される。表示装置１１９は、グラフィックスプロセッサ２０１の動作によって処理される際に、フレームバッファ２０３内に格納された情報のグラフィックス表示を提供するように動作可能である。本実施例は、システムCPU１０３と分離したグラフィックスプロセッサ２０１を示しているが、本発明は、別個のグラフィックスプロセッサを備えることに限定されることはなく、むしろ、本明細書中に教示される方法論が、単一のシステムCPU、他のより大きなシステムチップ、または集積回路の内部または一部として実施されるシステムも包含することが理解される。
【００１３】
図３には、タイル３０３、３０５、および３０７を含むタイルマトリクスを備えたテクスチャマップ（ＴＭ）３０１が示される。テクスチャマップ３０１は、ポリゴン３１１等のある特定のポリゴンに適用されるデジタルテクスチャ情報を含むメモリの領域を画成する。上記のように、テクスチャ情報は、透明度および色などのポリゴンの様々な特徴を表す情報を含む。グラフィックスシステムにおいては、様々なポリゴンの形状を生成するための、別個のポリゴンレンダリングエンジンも存在する。テクスチャメモリスペースは、「ＵＶスペース」と呼ばれる。その理由は、このスペースが「Ｕ」および「Ｖ」の座標で画成されるからである。テクスチャマップでは、テクセル３０２等の「テクセル」は、テクスチャマップにおける最小のアドレス可能点を画成する。例えば、図３では、テクスチャマップ３０１のテクセル３０２は、表示画面１１８上で画素３０４としてフェッチされ、レンダリングされる。ポリゴン３０９に関するテクスチャまたは「ＵＶ」スペースのテクスチャ情報は、グラフィックス回路機構３０５によって「Ｘ−Ｙ」スペースのポリゴン情報を用いて処理され、それによって、表示画面１１８上で３−Ｄカラーポリゴン３１１の表示が生じる。１テクセルまたは１画素ごとのビット数は変化し、特定のアプリケーション、スクリーン解像度、およびテクスチャ解像度に依存する。
【００１４】
図４では、テクスチャマップの個々のタイルセグメント例４０１が示される。図示されるように、タイル４０１は、８本のラインから成り、各ラインは、本実施例では、８テクセルの情報を含む。本発明に従って実施される場合のメモリのタイルの具体的な構成は、図示されるような８×８のマトリクスに必ずしも限定されない。本発明の利点は、たった２本のラインを持つタイルを用いても達成され得る。この場合には、本実施例における６４バイトの全領域に対して、各ラインが３２バイトである。本実施例に関しては慣例が選択されたが、合計のメモリ領域は、１タイルにつき６４バイトに相当する必要はない。タイルが図示されるような８×８のマトリクスに構成された場合にシステム速度が最大に増加することがわかっている。その理由は、本実施例では、グラフィックスキャッシュが、対応するマトリクスを持ち、タイルの構成が「長楕円」ではなく「正方形」に近い形状の場合に、高速ローカルメモリ（すなわち、ホストシステムメモリではなくグラフィックスシステムメモリ）からテクセルを取出す際の、ローカルグラフィックスキャッシュ「ヒット」の確率が増加するからである。これは、テクスチャマッピングにおいては、次にフェッチされるテクセルが、フェッチされたばかりのテクセルからどのような方向にも位置する可能性があり、その結果、正方形構成等のように、キャッシュがあらゆる方向における「バックアップ」バイトを用いて構成される場合には、次のフェッチがグラフィックスキャッシュに格納され、比較的低速のシステムまたはホストメモリの情報にアクセスする、およびその情報を取り出すためにシステムバスにアクセスする必要がないことが多いからである。
【００１５】
図５は、開示された方法論の実行例における基本機能ユニットのブロック図を示す。グラフィックスアプリケーションでは、ポイントが画面上に描画され、ポリゴンが表示のためにアセンブルされるときに、テクスチャエンジンが指定されたアドレスに対する要求を生成する。例えば、テクセルアドレス生成器５０１は、テクスチャキャッシュ制御器５０５内に含まれるキャッシュタイルヒット検出論理回路５０３に送られるテクセルアドレス要求を生成する。検出論理により、要求されたテクセルがローカルグラフィックステクスチャキャッシュ５０７にすでに格納されたか否かが決定される。本実施例におけるテクスチャキャッシュ５０７は、１６「ウェイ（way）」（１ウェイが６４バイトを含む）から構成される１Ｋバイトキャッシュである。従って、メモリの各タイルが６４バイトを含み、キャッシュ５０７は、１６タイルのメモリを保持できる。要求されたテクセルアドレスがテクスチャキャッシュ５０７にある場合には、テクセル出力５０９が、さらなる処理のために要求しているグラフィックス回路機構へと提供される。
【００１６】
要求されたテクセルアドレスがローカルグラフィックスキャッシュ内にあると決定される限りは、この処理が続き、情報処理が最適な速度で継続する。しかし、キャッシュタイルヒット検出論理５０３によって、要求されたテクセルアドレスが、グラフィックス装置２０１の内部に位置するテクスチャキャッシュ５０７に存在しないことが決定されると、要求されたアドレスを含む別の情報ブロックを取り出し、転送するためにシステムまたはホストメモリ１０９へアクセスするための要求が成されなければならない。ブロック５１１は、ＵＶリニアアドレスを、ホストメモリにおけるタイルのリニア「開始」アドレスへと変換する。要求されたテクセルを囲む６４バイトのブロックの一部として、要求されたテクセルは、ホストメモリ１０９からグラフィックステクスチャキャッシュ５０７へとバースト転送される。上記のように、このキャッシュストレージの方法により、ホストメモリからの６４バイト転送が、テクスチャマップの１本のラインの一部に対応するバイトのみを有する場合と比べて、次に要求されるテクセルに対するキャッシュ「ヒット」の確率がきわめて高くなる。「方形化（squared-off）」フォーマットまたはブロックバースト転送の場合には、要求されたアドレスおよび周囲のテクセルブロックが、ホストメモリ１０９のテクスチャマップからテクスチャキャッシュ５０７に転送される。要求された情報（５１５）は、ホストメモリ１０９からテクスチャキャッシュ５０７に与えられ、テクスチャキャッシュは、グラフィックス回路機構２０１によってさらに処理するために、要求されたテクセルアウト情報５０９を提供し得る。テクスチャキャッシュ５０７は、１ウェイが６４バイトの１６ウェイとして構成されているが、ストレージおよびアクセスの方法は、テクスチャマップからの逐次的一連のテクセルに対応するバイトを格納する代わりに、それぞれのキャッシュウェイでの本実施例においては、グラフィックスアプリケーションによって要求され得る次のテクセルを提供することを見越して処理されている、ある特定のテクセルを囲むバイトをキャッシュするために、各キャッシュウェイは、少なくとも２本のライン（図４では８本のライン）の「デプス」を有する１タイルまたは１ブロック分のバイトを含むものである。
【００１７】
図６には、グラフィックスシステムのバイトおよびタイルと、ホストメモリのリニアアドレス指定方式との間の変換の方法論が、より詳細に示されている。グラフィックスシステムにおいては、本実施例のテクスチャマップ３０１は、図６に「タイル０」から「タイル６３」と指定される６４のタイルで構成される。タイルは、「Ｕ」スペースにわたって「Ｃ」個のタイルのメモリと、「Ｖ」軸を下方向に「Ｂ」行のタイルとが配置されており、「Ａ」個のタイルを備えたメモリ領域を規定している。「Ａ」、「Ｂ」、および「Ｃ」の定数は、具体的なアプリケーションに応じて異なる値を有し得る。開示されている実施形態においては、１行のタイル数「Ｃ」は８であり、タイルの行数「Ｂ」もまた８であり、従って、メモリ領域「Ａ」は６４個のタイルである。
【００１８】
同様に、「タイル０」は、１ラインが「Ｆ」バイトの「Ｅ」本のラインへと広がり、「Ｄ」バイトの合計のバイトスペースを構成する。本実施例では、タイルが８×８のマトリクスで構成されているので、「Ｅ」および「Ｆ」のディメンションは共に「８」であり、１タイル毎の総バイトスペース「Ｄ」は「６４」である。上記のように、必須ではないが、グラフィックスシステム動作におけるＴＭキャッシュヒットの確率が最大となるので、正方形の８×８のタイル構成が好ましい。図示されるように、｛Ｕ０Ｖ０｝、｛Ｕ１Ｖ０｝、および｛Ｕ２Ｖ０｝等の個々のバイトが格納され、ホストメモリの逐次的リニア位置にある増加していくアドレスから取り出されるように、ホストメモリ１０９はリニア的にアドレスを行う。
【００１９】
図７には、ＵＶ−リニア変換ブロック５１１がより詳細に示されている。本実施例では、第１のバレルシフタ７００が、１０ビットの「Ｖ」アドレスと１タイル毎のライン数のＬｏｇ２を表す信号とを含む入力を受け取る。第２のバレルシフタ７０１が、１０ビットの「Ｕ」アドレスと１タイル毎のバイト数のＬｏｇ２を表す信号とを含む入力を受け取る。加算器７０２はまた、１タイル毎のバイト数のＬｏｇ２を表す入力と、Ｕスペース毎のタイル数のＬｏｇ２を表す第２の入力とを受け取り、次に第３のバレルシフタ７０３に与えられる出力を提供する。第３のバレルシフタ７０３は次に、第１のバレルシフタ７００の出力から別の入力「Ｖ＿ＴＩＬＥ」を受け取り、出力「ＳＣＡＬＥＤ＿ＶＴＩＬＥ」をＯＲゲート７０４の入力の１つに提供する。第２のバレルシフタ７０１は、１２ビット拡張との組み合わせでスケーリングされる出力「Ｕ＿ＴＩＬＥ」を提供し、それによって、次にＯＲゲート７０４の第２の入力に与えられる「ＳＣＡＬＥＤ＿ＵＴＩＬＥ」信号が提供される。ＯＲゲート７０４により、グラフィックスサブシステムが要求するテクセルを含むタイルのリニア「開始」アドレスを表す出力信号が提供される。
【００２０】
ＵＶ−リニア回路５１１は、ＵＶテクセルアドレスを、そのテクセルを含むリニアタイル開始アドレスへと変換するために用いられ、ホストメモリ制御器が、所望のタイルをグラフィックス装置キャッシュメモリへとフェッチすることを可能にする。これは、ＵＶテクセルが属するタイルを第１に計算する、すなわち、本実施例においては、タイルのサイズに応じた低位アドレスビットをシフトオフすることによって達成される。８×８のタイル構成を用いた例示の実施例においては、バレルシフタ７００および７０１は、３つの最下位のＵおよびＶアドレスビットをシフトオフし、それによって、要求されたテクセルが属するＵＶタイルアドレスが得られるように実行される。Ｕタイルアドレスは次にスケーリングされ、それによってリニアオフセットに対するＵタイルの寄与(contribution)が成される。スケーリングの係数は、アプリケーションで実施された１タイル毎のバイト数である。１タイルにつき６４バイトの本実施例においては、スケーリングの係数は「６４」である。回路は、アドレスを左へ６回シフトすることによってスケーリングを達成する。各Ｕタイルアドレスビットの重みに「６」が加算される場合には、実際のハードウェアは必要ない。
【００２１】
上記のＵタイルアドレス処理と並行して、Ｖタイルアドレスもまたスケーリングされ、それによって、リニアオフセットに対するＶタイルの寄与が成される。Ｖタイルのスケーリング係数は、Ｕスペースの総タイル数に１タイルのバイト数を掛けたものであると決められる。本実施例では、「Ｕスペース」の総タイル数は「８」であり、「１タイル毎のバイト数」は「６４」であり、その結果、スケーリング係数は「５１２」（８×６４）である。実施されている回路機構では、このスケーリングは、最初に加算器７０２によって、「Ｕスペースの総タイル数」のＬｏｇ２および「１タイルのバイト数」のＬｏｇ２の加算を行うことによって達成される。この加算により、「Ｖ」タイルアドレスをシフト係数によって左にシフトするためのバレルシフタ７０３に与えられるシフト係数が生じる。これにより、シフト係数による「Ｖ」タイルアドレスビットの重みの増加が生じる。「Ｕ」タイル寄与および「Ｖ」タイル寄与の両方に対するリニアオフセットは、「ＯＲ」回路７０４によって共に論理的に「ＯＲされ」、それによって最終的なリニアアドレスが形成される。従って、リニアアドレスは、「Ｖ＿ｔｉｌｅ＿ｓｈｉｆｔｅｄ」または「Ｕ＿ｔｉｌｅ＿ｓｈｉｆｔｅｄ」に等しい。
【００２２】
ホストメモリ１０９から情報を取り出すための検索時間を最小限に押さえるために、システムＰＣＩ「バースト」方式の利用がなされ、この方式では、たった１つのアドレスが、１つのアドレス要求で指定され、システムメモリ制御器チップ１０８は、別のアクセス要求の必要性、および別の要求に関連する待ち時間および他の遅延時間なしに、指定のアドレスに従ったバイトアドレスのグループを自動的に転送する。バースト方式の使用を可能にするために、変換器回路５１１が、グラフィックスシステムとホストメモリとの間に設けられ、それによって、ホストメモリのリニアアドレス指定方式を変更することなく、グラフィックスシステムにおけるタイルメモリ構成の整合性が保証される。変換方法論により、逐次的な６４バイトの情報の各バーストが、グラフィックスシステム内での使用のために、１行につき８バイトの８行のメモリタイル構成フォーマットへと適切に配置される。また、タイル構成フォーマットで生成されたアドレス要求は、ホストメモリ中の正確に対応するアドレスを指定するように変換されなければならない。図６に示されるように、１番目のライン（ＸＸＶ０）からの８バイトが、ホストメモリ中に逐次的に格納されるが、９番目のバイトＵ０Ｖ１は、タイル０の２番目のラインから取られなければならないなどである。同様に、テクスチャマップの９番目のタイル（タイル８）は、タイルの２番目の行から取られ、後に続く行毎に以下同様である。従って、開示された方法および装置によって、グラフィックスシステムは、２つの異なるソースからのシステム速度の増加を同時に利用することが可能となる。グラフィックスシステムは、より高速な総体的速度で動作する。その理由は、（１）タイルキャッシュ方法論により、より高いグラフィックスキャッシュ「ヒット」レートが生じ、その結果、比較的低速なホストメモリからのより少ないアクセス要求が生じるから、および（２）タイルフォーマットからリニアフォーマットへの変換方法により、ホストメモリアクセスが必要な状況においてホストメモリから情報を転送する際に非常に高速なバースト方式の使用が可能となるからである。
【００２３】
本明細書中に開示される方法論のフローチャートが図８に示される。テクセルアドレス要求８０１がアドレス生成器５０１によって成され、それによって、要求されたアドレスがグラフィックスまたはテクスチャキャッシュ８０３に含まれる場合に、システムの検出（５０３）が生じる。要求されたアドレスがグラフィックスキャッシュ８０３に存在しない場合（８０５）には、ＵＶアドレスが変換回路５１１によって、リニア同値へと変換される（８０７）。処理のこの時点では、全テクスチャマップが格納されているホストメモリ１０９へのバースト転送要求がなされる（８０９）。次に、グラフィックス装置２０１のテクスチャキャッシュ５０７が埋められ（８１１）、要求されたテクセルアドレスが、さらなる処理のために提供される（８１３）。要求されたテクセルアドレスが、検出ステップ（８０５）でテクスチャキャッシュにあると検出されると、この処理は要求されたテクセルアドレスを即時に提供する（８１３）効果を持ち、別のテクセルアドレス要求が成される（８０１）まで、この処理は終了する（８１５）。
【００２４】
本発明の方法および装置を、本明細書中に開示されるような好適な実施形態に関連して説明した。本発明の実施形態を、特定の変形と共に本明細書中に詳細に示し、説明したが、本発明の教示を具体化した多くの他の異なる実施形態が当業者によって容易に構成され得る。従って、本発明は本明細書に記載された具体的な形態に限定されるものではなく、逆に、本発明の精神および範囲に無理なく包含され得る場合に、そのような代替、改変、および同等物を含むことを意図する。
【図面の簡単な説明】
【００２５】
【図１】図１は、グラフィックスシステムを備えたコンピュータシステムのブロック図である。
【図２】図２は、図１に示されるグラフィックス装置のブロック図である。
【図３】図３は、対応するグラフィックスポリゴンを生成するためのテクスチャマップ例を示す図である。
【図４】図４は、タイルメモリセグメント構成例を示す図である。
【図５】図５は、グラフィックス処理回路機構の一部を示すブロック図である。
【図６】図６は、テクスチャマップストレージのためのタイル技術、フォーマット、および構成の図である。
【図７】図７は、図５に示される「ＵＶ」−リニア変換回路の簡略模式図である。
【図８】図８は、グラフィックス処理およびテクセル取り出しのタイリング方法を示すフローチャートである。
【符号の説明】
【００２６】
１０１…ワークステーション、１０３…中央処理装置（CPU）、１０４…ホストバス、１０５…ＰＣＩバス、１０８…システムメモリ制御器、１０９…ホストメモリ、１１７…グラフィックス装置、２０１…グラフィックスプロセッサ、２０３…フレームバッファユニット。
【図１】
2008276798.tif 000003
【図２】
2008276798.tif 000004
【図３】
2008276798.tif 000005
【図４】
2008276798.tif 000006
【図５】
2008276798.tif 000007
【図６】
2008276798.tif 000008
【図７】
2008276798.tif 000009
【図８】
2008276798.tif 000010