(57)【要約】デバイスメモリと、ハードウェアエンティティと、サブ画像セル値キャッシュと、キャッシュ書込みオペレータとを含む装置が提供される。ハードウェアエンティティのうちの少なくともいくつかは、デバイスメモリへのアクセス及びデバイスメモリの使用を含む動作を実行する。ハードウェアエンティティは、プリミティブオブジェクトからの３Ｄ画像を表示するために処理する３Ｄグラフィック回路を含む。キャッシュは、デバイスメモリから分離されており、バッファされたサブ画像セル値を含むデータを保持するために提供される。キャッシュは、３Ｄグラフィック回路の画素処理部分が、デバイスメモリ内のサブ画像セル値に直接アクセスする代わりに、キャッシュ内のバッファされたサブ画像セル値にアクセスするように、３Ｄグラフィック回路に接続される。書込みオペレータは、バッファされたサブ画像セル値を、優先スキームの指示の下、デバイスメモリへ書き込む。優先スキームは、１つ又は複数のプリミティブオブジェクトを境界付ける境界セル値をキャッシュ内に保存する。
2010509688.tif 000002
【特許請求の範囲】
【請求項１】
デバイスメモリ及び前記デバイスメモリに接続されたハードウェアエンティティであって、前記ハードウェアエンティティのうちの少なくともいくつかは、前記デバイスメモリへのアクセスと前記デバイスメモリの使用とを含む動作を実行し、前記ハードウェアエンティティは、プリミティブオブジェクトからの３Ｄ画像を表示するために処理する３Ｄグラフィック回路を含むハードウェアエンティティと、
前記デバイスメモリから分離しており、バッファされたサブ画像セル値を含むデータを保持するサブ画像セル値キャッシュであって、前記３Ｄグラフィック回路の画素処理部分が、前記デバイスメモリ内の前記サブ画像セル値に直接アクセスするのではなく、前記サブ画像セル値キャッシュ内の前記バッファされたサブ画像セル値にアクセスするように、前記３Ｄグラフィック回路に接続されたサブ画像セル値キャッシュと、
少なくとも１つのプリミティブオブジェクトを境界付ける境界セル値を前記サブ画像セル値キャッシュ内に保存する優先スキームに従って、前記バッファされたサブ画像セル値を前記デバイスメモリへ書き込むキャッシュ書込みオペレータと
を備える装置。
【請求項２】
前記プリミティブオブジェクトは三角形を含む請求項１に記載の装置。
【請求項３】
前記３Ｄグラフィック回路は、３Ｄグラフィックパイプラインを含む３Ｄグラフィックチップを含む請求項２に記載の装置。
【請求項４】
前記サブ画像セル値は、画素の色値を含む請求項３に記載の装置。
【請求項５】
前記サブ画像セル値はデプス（Ｚ）値を含む請求項３に記載の装置。
【請求項６】
前記サブ画像セル値は、画素の色値を含む請求項１に記載の装置。
【請求項７】
前記サブ画像セル値はデプス（Ｚ）値を含む請求項１に記載の装置。
【請求項８】
前記サブ画像セルはグリッドセルを含む請求項１に記載の装置。
【請求項９】
前記バッファされたサブ画像セル値は、前記書込みオペレータによってユニットごとに前記デバイスメモリへ書き込まれ、各ユニットは、前記バッファされたサブ画像セル値の整数倍である請求項１に記載の装置。
【請求項１０】
前記デバイスメモリから前記サブ画像セル値キャッシュへデータが読み取られると、自由に上書きできるように、前記サブ画像セル値キャッシュ内のメモリ場所を指定する指定メカニズムを更に含む請求項１に記載の装置。
【請求項１１】
与えられた画素処理部分によるキャッシュミス読取りにおいて新たなデータが必要となると、最低使用頻度（ＬＲＵ）置換ポリシーに従って、前記デバイスメモリからセル値を読み取るＬＲＵ置換部分を含むキャッシュミス読取りオペレータを更に備える請求項１に記載の装置。
【請求項１２】
前記ＬＲＵ置換ポリシーは、境界セル値のデータの置換前に、非境界セル値のデータを置換させる請求項１１に記載の装置。
【請求項１３】
前記キャッシュ書込みオペレータは、キャッシュミスがあると、前記デバイスメモリからの読取りを待たずに、非境界セル値のダーティデータを前記デバイスメモリへ書き込み、要求されたキャッシュミス境界セル値のための前記サブ画像セル値キャッシュ内の利用可能な空間がないと、境界セル値のダーティデータを前記デバイスメモリへ書き込む書込みメカニズムを含む請求項１２に記載の装置。
【請求項１４】
複数のプリミティブオブジェクトを境界付ける前記境界セル値は、複数のプリミティブオブジェクト間の境界の範囲内のセル値を含む請求項１に記載の装置。
【請求項１５】
複数のプリミティブオブジェクトを境界付ける前記境界セル値は、境界を二分するユニットであって、各々が、前記バッファされたサブ画像セル値の整数倍を含むユニット内のセル値を含む請求項１に記載の装置。
【請求項１６】
組込みデバイスを含む請求項１に記載の装置。
【請求項１７】
半導体基板と、
前記半導体基板上のデバイスメモリ及び前記デバイスメモリに接続されたハードウェアエンティティであって、前記ハードウェアエンティティのうちの少なくともいくつかは、前記デバイスメモリへのアクセスと前記デバイスメモリの使用とを含む動作を実行し、前記ハードウェアエンティティは、プリミティブオブジェクトからの３Ｄ画像を表示するために処理する３Ｄグラフィック回路を含むハードウェアエンティティと、
前記デバイスメモリから分離しており、バッファされたサブ画像セル値を含むデータを保持する前記半導体基板上のサブ画像セル値キャッシュであって、前記３Ｄグラフィック回路の画素処理部分が、前記デバイスメモリ内の前記サブ画像セル値に直接アクセスするのではなく、前記サブ画像セル値キャッシュ内の前記バッファされたサブ画像セル値にアクセスするように、前記３Ｄグラフィック回路に接続されたサブ画像セル値キャッシュと、
少なくとも１つのプリミティブオブジェクトを境界付ける境界セル値を前記サブ画像セル値キャッシュ内に保存する優先スキームに従って、前記バッファされたサブ画像セル値を前記デバイスメモリへ書き込む、前記半導体基板上のキャッシュ書込みオペレータと
を備える集積回路。
【請求項１８】
前記プリミティブオブジェクトは三角形を含む請求項１７に記載の集積回路。
【請求項１９】
前記３Ｄグラフィック回路は、３Ｄグラフィックパイプラインを含む３Ｄグラフィックチップを含む請求項１８に記載の集積回路。
【請求項２０】
前記サブ画像セル値は、画素を含む請求項１７に記載の集積回路。
【請求項２１】
前記サブ画像セル値はデプス（Ｚ）値を含む請求項１７に記載の集積回路。
【請求項２２】
前記サブ画像はグリッドを含む請求項１７に記載の集積回路。
【請求項２３】
前記バッファされたサブ画像セル値は、前記書込みオペレータによってユニットごとに前記デバイスメモリへ書き込まれ、各ユニットは、前記バッファされたサブ画像セル値の整数倍である請求項１８に記載の集積回路。
【請求項２４】
前記デバイスメモリから前記サブ画像セル値キャッシュへデータが読み取られると、自由に上書きできるように、前記キャッシュ内のメモリ場所を指定する指定メカニズムを更に含む請求項１７に記載の集積回路。
【請求項２５】
与えられた画素処理部分によるキャッシュミス読取りにおいて新たなデータが必要となると、最低使用頻度（ＬＲＵ）置換ポリシーに従って、前記デバイスメモリからセル値を読み取るＬＲＵ置換部分を含むキャッシュミス読取りオペレータを更に備える請求項１７に記載の集積回路。
【請求項２６】
前記ＬＲＵ置換ポリシーは、境界セル値のデータの置換前に、非境界セル値のデータを置換させる請求項２５に記載の集積回路。
【請求項２７】
前記キャッシュ書込みオペレータは、キャッシュミスがあると、前記デバイスメモリからの読取りを待たずに、非境界セル値のダーティデータを前記デバイスメモリへ書き込み、要求されたキャッシュミス境界セル値のための前記サブ画像セル値キャッシュ内の利用可能な空間がないと、境界セル値のダーティデータを前記デバイスメモリへ書き込む書込みメカニズムを含む請求項２６に記載の集積回路。
【請求項２８】
３Ｄグラフィック回路の画素処理部分が、デバイスメモリ内のサブ画像セル値に直接アクセスする代わりに、前記デバイスメモリから分離したキャッシュ内のバッファされた前記サブ画像セル値にアクセスすることと、
少なくとも１つのプリミティブオブジェクトを境界付ける境界セル値を前記キャッシュ内に保存する優先スキームに従って、前記バッファされたサブ画像セル値を前記デバイスメモリへ書き込むことと
を備える方法。
【請求項２９】
前記プリミティブオブジェクトは三角形を含む請求項２８に記載の方法。
【請求項３０】
前記３Ｄグラフィック回路は、３Ｄグラフィックパイプラインを含む３Ｄグラフィックチップを含む請求項２９に記載の方法。
【請求項３１】
前記サブ画像セル値は画素を含む請求項２８に記載の集積回路。
【請求項３２】
前記サブ画像セル値はデプス（Ｚ）値を含む請求項２８に記載の方法。
【請求項３３】
前記サブ画像はグリッドを含む請求項２８に記載の方法。
【請求項３４】
前記バッファされたサブ画像セル値は、ユニットごとに前記デバイスメモリへ書き込まれ、各ユニットは、前記バッファされたサブ画像セル値の整数倍を含む請求項２９に記載の方法。
【請求項３５】
前記デバイスメモリから前記キャッシュへデータが読み取られると、自由に上書きできるように前記キャッシュ内のメモリ場所を指定することを更に備える請求項２８に記載の方法。
【請求項３６】
与えられた画素処理部分によるキャッシュミス読取りにおいて新たなデータが必要となると、最低使用頻度（ＬＲＵ）置換ポリシーに従って前記デバイスメモリからセル値を読み取ることを更に備える請求項２８に記載の方法。
【請求項３７】
前記ＬＲＵ置換ポリシーは、境界セル値のデータの置換前に、非境界セル値のデータを書換させる請求項３６に記載の方法。
【請求項３８】
キャッシュミスがあると、前記デバイスメモリからの読取りを待たずに、非境界セル値のダーティデータが前記デバイスメモリへ書き込まれ、要求されたキャッシュミス境界セル値のための前記キャッシュ内の利用可能な空間がないと、境界セル値のダーティデータが前記デバイスメモリへ書き込まれる請求項３７に記載の方法。
【請求項３９】
３Ｄグラフィック回路における画素処理のために、デバイスメモリ内のサブ画像セル値に直接アクセスする代わりに、前記デバイスメモリから分離されたキャッシュ内のバッファされた前記サブ画像セル値にアクセスする手段と、
少なくとも１つのプリミティブオブジェクトを境界付ける境界セル値を前記キャッシュ内に保存する優先スキームに従って、前記バッファされたサブ画像セル値を前記デバイスメモリへ書き込む手段と
を備える装置。
【請求項４０】
前記プリミティブオブジェクトは三角形を含む請求項３９に記載の装置。
【請求項４１】
前記３Ｄグラフィック回路は、３Ｄグラフィックパイプラインを含む３Ｄグラフィックチップを含む請求項４０に記載の装置。
【請求項４２】
前記サブ画像セル値は画素を含む請求項３９に記載の装置。
【請求項４３】
前記サブ画像セル値はデプス（Ｚ）値を含む請求項３９に記載の装置。
【請求項４４】
前記サブ画像はグリッドを含む請求項３９に記載の装置。
【請求項４５】
前記バッファされたサブ画像セル値は、ユニットごとに前記デバイスメモリへ書き込まれ、各ユニットは、前記バッファされたサブ画像セル値の整数倍を含む請求項４０に記載の装置。
【請求項４６】
前記デバイスメモリから前記キャッシュへデータが読み取られると、自由に上書きできるように、前記キャッシュ内のメモリ場所を指定する手段を更に含む請求項３９に記載の装置。
【請求項４７】
キャッシュミス読取りにおいて新たなデータが必要となると、最低使用頻度（ＬＲＵ）置換ポリシーに従って、前記デバイスメモリからセル値を読み取る手段を更に備える請求項３９に記載の装置。
【請求項４８】
前記ＬＲＵ置換ポリシーは、境界セル値のデータの置換前に、非境界セル値のデータを置換させる請求項４７に記載の装置。
【請求項４９】
キャッシュミスがあると、前記デバイスメモリからの読取りを待たずに、非境界セル値のダーティデータが前記デバイスメモリへ書き込まれ、要求されたキャッシュミス境界セル値のための前記キャッシュ内の利用可能な空間がないと、境界セル値のダーティデータが前記デバイスメモリへ書き込まれる請求項４８に記載の装置。
【請求項５０】
データによって符号化された機械読取可能媒体であって、前記データは機械に、
３Ｄグラフィック回路の画素処理部分が、デバイスメモリ内のサブ画像セル値に直接アクセスする代わりに、前記デバイスメモリから分離されたキャッシュ内のバッファされた前記サブ画像セル値にアクセスさせ、
少なくとも１つのプリミティブオブジェクトを境界付ける境界セル値を前記キャッシュ内に保存する優先スキームに従って、前記バッファされたサブ画像セル値を前記デバイスメモリへ書き込ませる
ように前記機械と相互作用している機械読取可能媒体。
【請求項５１】
前記プリミティブオブジェクトは三角形を含む請求項５０に記載の機械読取可能媒体。
【請求項５２】
前記３Ｄグラフィック回路は、３Ｄグラフィックパイプラインを含む３Ｄグラフィックチップを含む請求項５１に記載の機械読取可能媒体。
【請求項５３】
前記サブ画像セル値は画素を含む請求項５０に記載の機械読取可能媒体。
【請求項５４】
前記サブ画像セル値はデプス（Ｚ）値を含む請求項５０に記載の機械読取可能媒体。
【請求項５５】
前記サブ画像はグリッドを含む請求項５０に記載の機械読取可能媒体。
【請求項５６】
前記バッファされたサブ画像セル値は、ユニットごとに前記デバイスメモリへ書き込まれ、各ユニットは、前記バッファされたサブ画像セル値の整数倍を含む請求項５１に記載の機械読取可能媒体。
【請求項５７】
前記データは、前記デバイスメモリから前記キャッシュへデータが読み取られると、自由に上書きできるように、前記キャッシュ内のメモリ場所を指定する、機械と相互作用している請求項５０に記載の機械読取可能媒体。
【請求項５８】
前記データは、与えられた画素処理部分によるキャッシュミス読取りにおいて新たなデータが必要となると、最低使用頻度（ＬＲＵ）置換ポリシーに従って、前記デバイスメモリからセル値を読み取る、機械と相互作用している請求項５０に記載の機械読取可能媒体。
【請求項５９】
前記ＬＲＵ置換ポリシーは、境界セル値のデータの置換前に、非境界セル値のデータを置換させる請求項５８に記載の機械読取可能媒体。
【発明の詳細な説明】
【関連出願】
【０００１】
本願は、本願の譲受人に譲渡され、参照によってその全体が本願に明確に組み込まれた２００６年１１月９日出願の“PIXEL CACHE FOR 3D GRAPHICS CIRCUITRY”と題された米国特許仮出願第６０／８６５，０１１号に対する優先権を主張する。
【著作権通告】
【０００２】
本特許文書は、著作権保護に関する情報を含む。著作権所有者は、米国特許商標庁の書類又は記録に見られるような特許文書又は特許権の、第三者による複写品に対していかなる異議も申し立てないがあらゆる著作権を保有する。
【技術分野】
【０００３】
本開示は、３Ｄグラフィック機能を有する組込みシステムに関する。他の観点において、本開示は、３Ｄグラフィック機能のためのグラフィックパイプライン、モバイル電話、及び／又はメモリ構成に関する。
【背景技術】
【０００４】
組込みシステムは例えば、限られたメモリリソースしか有さない。与えられた組込みシステムは、メインメモリとシステムバスとを有することができ、そのどちらも、３Ｄグラフィックチップを含む異なるシステムハードウェアエンティティによって共有される。
【０００５】
組込みシステム３Ｄグラフィックチップは、メインメモリの帯域幅の大部分を、システムバスを介して必要としうる。メモリ帯域幅の要求はメモリアクセスボトルネックをもたらし、３Ｄグラフィックチップと、同じメインメモリ及びシステムバスを用いる他のハードウェアエンティティとの動作に悪影響を及ぼしうる。
【発明の概要】
【０００６】
デバイスメモリと、ハードウェアエンティティと、サブ画像セル値キャッシュと、キャッシュ書込みオペレータとを備える装置が提供される。ハードウェアエンティティのうちの少なくともいくつかは、デバイスメモリへのアクセス及びデバイスメモリの使用を含む動作を実行する。ハードウェアエンティティは、３Ｄグラフィック回路を含む。キャッシュは、デバイスメモリから分離されており、バッファされたサブ画像セル値を含むデータを保持するために提供される。キャッシュは、３Ｄグラフィック回路の画素処理部分が、デバイスメモリ内のサブ画像セル値に直接アクセスする代わりに、キャッシュ内のバッファされたサブ画像セル値にアクセスするように、３Ｄグラフィック回路に接続される。キャッシュ書込みオペレータは、バッファされたサブ画像セル値を、優先スキームに従って、デバイスメモリへ書き込む。優先スキームは、境界セル値をキャッシュ内に保存する。
【図面の簡単な説明】
【０００７】
【図１】図１は、画素キャッシュを有する組込みデバイスの実施形態のブロック図である。
【図２】図２は、１つの実施形態に従う画素キャッシュ処理のフローチャートである。
【図３】図３は、画素処理ステージのキャッシングアーキテクチャの例のブロック図である。
【発明を実施する形態】
【０００８】
本開示の実施形態は更に、参照によって、同様の参照番号が図面のいくつかの概観を通して同様の部分を表す図面に従う、発明を実施する形態において説明される。
【０００９】
以下の詳細な説明の理解を容易にするために、本明細書で用いられるある用語の定義が提供される。プリミティブは、例えば点、線、又は三角形であることができる。三角形は、扇形状、縦縞状、又は網状のグループにレンダされうる。オブジェクトは、１つ又は複数のプリミティブであることができる。画素は、色情報及びオプションである追加の情報（例えばデプス（depth））に加えて、スクリーン上の位置に関する情報を含む。色情報は例えば、ＲＧＢ三原色の形式であることができる。スクリーングリッドセルは、与えられた画素によって占領されうるスクリーンのエリアである。サブ画像セルは、画像の一部に対応するセルであり、レンダされたスクリーン上の位置に対応しうる。グリッドセルは、グリッド状に配列されたセルである。スクリーングリッド値は、スクリーングリッドセルに対応する値である。
【００１０】
図１は、組込みデバイス１０の例のブロック図である。示された実施形態において、図１は無線モバイル通信デバイスを備える。示された組込みデバイス１０は、システムバス２４と、デバイスメモリ（示されたシステムではメインメモリ２０）と、３Ｄグラフィック回路１２とを含む。デバイスメモリは、システムバス２４を介して、組込みデバイス１０の他の部分に接続され、それらにアクセスすることができる。システムバス２４に接続されるハードウェアエンティティ２６も提供される。ハードウェアエンティティ２６のうちの少なくともいくつかが、メインメモリ２０へのアクセス及びメインメモリ２０の使用を含む動作を実行する。ハードウェアエンティティ２６は例えば、プロセッサ、１つ又は複数のＡＳＩＣ（特定用途向け集積回路）、及び／又はその他のハードウェアを備えることができる。３Ｄグラフィック回路１２は、システムバス２４に接続される。３Ｄグラフィック回路１２は、より大きな集積システム（例えばシステム・オン・チップ（ＳｏＣ））のコアであることができる。あるいは３Ｄグラフィック回路１２は、例えば３Ｄグラフィック・アクセラレータ・チップのような３Ｄグラフィックチップを含むことができる。３Ｄグラフィック回路１２は、例えば画素データキャッシュ１４と、１つ又は複数の画素処理ステージ１６と、先行オブジェクト保存メカニズム１８とを含むことができるグラフィックパイプラインを含む。
【００１１】
画素データキャッシュ１４は、１つ又は複数のメモリ、バッファ、又はキャッシュの形式であることができ、３Ｄグラフィック回路１２の画素処理ステージ１６による画素ごとの処理において用いられるデータを保持する。示されたキャッシュ１４は、例えばメインメモリ２０内に提供された１つ又は複数の画素データバッファ２２からの画素情報のような画素関連データのローカル格納を提供する。１つ又は複数の画素データバッファ２２は、例えば１つ又は複数の色バッファ、Ｚバッファ、及び／又はステンシルバッファを備えることができる。これらのバッファは、与えられた３Ｄ画像のアドレス可能画素を別々に格納することができる。各画素は例えば、Ｘ（垂直位置）及びＹ（水平位置）のスクリーン位置インデクス整数値によってインデクスされうる。示されたシステムにおいて、画素データバッファ２２は、各画素のＲＧＢ値及びアルファ値を含む。示された実施形態において、各画素のデプス値（Ｚ）を含むＺバッファも提供される。
【００１２】
各画素処理ステージ１６に対応することができる１つ又は複数の画素データキャッシュ１４が提供されうる。各画素データキャッシュ１４は、メインメモリ２０から新たな画素データを読み取ることのできるキャッシュの利用可能部分と、メインメモリ２０からキャッシュへの画素データの読取りに利用できない保存部分とを含む。先行オブジェクト保存メカニズム１８は、画素処理ステージ１６のうちの与えられた１つによって既に処理された先行オブジェクトからの画素データを保存するために提供される。
【００１３】
３Ｄグラフィック回路１２は、例えばブレンディングステージ（図示せず）、テクスチャリングステージ（図示せず）、隠れ面消去（ＨＳＲ）ステージ（図示せず）、及びステンシルステージ（図示せず）のようないくつもの画素処理ステージを含むことができる。
【００１４】
示された画素データキャッシュ１４は、図２のフローチャートによって示されるような処理を実行することができる。各画素又は画素グループ３０のために、いくつもの動作が画素キャッシュによって実行される。これらの動作は、図２の動作３２に示すように、与えられた画素処理ステージによって要求されているデータがキャッシュ内にあるかを判定することを含む。データがキャッシュ内にある場合、処理は、データが処理される動作３６へ進む。データがキャッシュ内にない場合、処理は動作３２から動作３４へ進み、データが、メインメモリ２０内の画素データバッファ２２から画素キャッシュ１４内へ、システムバス２４を介して読み取られる。動作３６でデータが処理されると、データは、動作３８でメインメモリへ書き込まれることができる。処理されたデータは直ちに、あるいは後で適切な時に、メインメモリ２０に書き込まれることができる。示された実施形態において、次のオブジェクトが処理される場合に必要でなさそうないくつかの画素データは、他のデータ、すなわち、処理中である現在のオブジェクトと、１つ又は複数のその他のオブジェクトとを境界付ける境界画素データより早くメインメモリへ書き込まれるであろう。境界画素データの保存は、図２の動作４０によって示される。
【００１５】
画素データがいつ１つ又は複数のオブジェクトを境界付けるか知るために、例えば画素データは、少なくとも１つのオブジェクトを境界付ける境界画素値（例えば境界キャッシュユニット４８）と、非境界画素値（例えば内部キャッシュユニット４６）とを含む２つのグループに（例えばラスタ化ステージで）分類されうる。
【００１６】
境界画素値を保存すること、例えば示された実施形態ごとに１つ又は複数のオブジェクトを境界付けることによって、別のオブジェクト（例えば他のオブジェクト４４）の画素データが処理される時、境界画素値はすでにキャッシュ内にあり、現在の（ここでは以前の）オブジェクト４２の処理中、キャッシュ内に読み込まれる。
【００１７】
示された実施形態において、オブジェクトは三角形を含む。
【００１８】
画素値は、各々が１つ又は複数の画素を含むキャッシュユニットにグループ化されることができる。示された実施形態において、キャッシュユニットは、例えば図２に示す画素アレイ５０のような画素のセットである。キャッシュユニットは例えば、複数の画素値のブロック、タイル、又は線であることができる。
【００１９】
特定の実施形態は画素値の処理に関するが、開示された特徴への変形例は、例えばサブ画像セルに対応するサブ画像セル値の処理を含むことができる。
【００２０】
境界キャッシュユニット４８及び内部キャッシュユニット４６は、ラスタ化ステージ、すなわち、プリミティブ又はオブジェクト（この場合、三角形）が画素データに変換されるポイントで特徴付けられることができる。これは例えば、画素データが境界キャッシュユニット又は内部キャッシュユニットに対応するか否かを示すために、１つ又はいくつかのビットを各画素のデータに付加することによって行われうる。加えて、内部キャッシュユニットはより圧縮されやすいことに留意されたい。各画素の画素データは更に、画素データが圧縮されたか否かを示すビットを含むことができる。画素データは、例えば、色及びアルファ情報、又は単にデプス（Ｚ）値、あるいはこれらの情報の組合せを含むことができる。図２に示す処理による処理中のデータは、オブジェクト全体、又はオブジェクトの一部であることができる。
【００２１】
示された３Ｄグラフィック回路１２は、プリミティブオブジェクト（示された実施形態では三角形）の観点から定義された３Ｄ画像を表示するために、分解して処理するために提供される。示されたキャッシュ１４は、バッファされたサブ画像セル値（この実施形態では画素値）を含み、３Ｄグラフィック回路１２の画素処理部分（示された実施形態ではステージ１６）が、デバイスメモリ（メインメモリ２０）内の値に直接アクセスする代わりに、キャッシュ内のバッファされたセル値にアクセスするように、３Ｄグラフィック回路１２に接続される。キャッシュ書込みオペレータ（例えば、動作３８参照）は、バッファされたサブ画像セル値をデバイスメモリへ書き込むために提供される。例となる実施形態において、バッファされた値は、各ユニットが、バッファされたサブ画像セル値の整数倍を含むユニットごとにデバイスメモリへ書き込まれる。
【００２２】
キャッシュは更に、デバイスメモリからキャッシュへデータを読み取るキャッシュミス読取りオペレータ（例えば、動作３４参照）を含むことができる。この読取り動作を容易にするために、キャッシュ内のあるメモリ場所が、例えば画素データがダーティすなわち有効であるかを示すビットを用いて、書き換え自由であるように指定される。データがダーティである場合、データはデバイスメモリ内の対応する画素データに一致せず、上書きされる前にデバイスメモリへ書き込まれる必要がある。画素データがクリーンすなわち無効である場合、その画素データはデバイスメモリ内のデータに対応するので、読取り動作において上書きされることができる。
【００２３】
デバイスメモリへの書込みは、優先スキームに従って起こる。優先スキームは、（少なくとも、）複数のプリミティブオブジェクトを境界付ける値を、キャッシュセル内に保存する。複数のプリミティブオブジェクトを境界付けるこれらのセル値は、例えば、複数のプリミティブオブジェクト間の境界の範囲内である、及び／又は、各ユニットが、バッファされたサブ画像セル値の整数倍を含む、境界を二分するユニット内であることができる。
【００２４】
キャッシュミス読取りによって新たなデータが必要とあると、最低使用頻度（least recently used）（ＬＲＵ）置換ポリシーに従ってデバイスメモリからセル値を読み取らせるために、ＬＲＵ更新３５を動作３４の一部として提供することができる。これを用いて、１つの実施形態において、保存された境界セルデータは、非境界データ全てがキャッシュ内で置換されるまで、置換されないであろう。加えて、示された実施形態において、境界セル値のダーティデータの書き戻し前に、非境界セル値のダーティデータの書き戻しがある。例えば、キャッシュミスがあると、読取りを待たずに非境界セル値のダーティデータを書き戻すことがあるが、要求されたキャッシュミス境界セル値のためのキャッシュ内の空間が利用不可能であると、境界セル値のダーティデータが書き戻される。
【００２５】
図３は、与えられた画素処理ステージのキャッシングアーキテクチャ６０の例を示す。示されたアーキテクチャ６０は、例えば隠れ面消去ステージ、ブレンディングステージ、及び／又はステンシル動作ステージであることができる与えられた画素処理ステージ６２を含む。与えられた画素処理ステージ６２は、対応するバッファキャッシュ６４に接続される。従って、示された実施形態は、画素データ上で動作する又は画素データを処理する各画素処理ステージにそれぞれの対応するバッファキャッシュを含むことができる。対応するバッファキャッシュ６４は、境界ユニットのためのキャッシュ６６及び内部ユニットのためのバッファ６８に接続される。圧縮／復元ユニット７０は、バッファ６８とシステムバスとの間に提供され、デバイスメモリ（図３には示さず）に接続される。図３に示すように、境界ユニットはキャッシュ６６によってデバイスメモリから検索され、内部ユニットはバッファ６８によってデバイスメモリから検索される。内部ユニットが圧縮画素データを含む場合、これらのユニットは、バッファ６８に格納される前に、圧縮／復元ユニット７０によって復元される。このようなデータがデバイスメモリへ書き戻される前に、データは、圧縮／復元ユニット７０によって適宜、再度圧縮される。示された実施形態において、キャッシュ６６は固有キャッシュであり、バッファ６８は二重（又はマルチ）バッファである。キャッシュ６６のサイズは複数のキャッシュユニットとほぼ同じであり、バッファ６８のサイズは実質的にそれより小さく、例えば示された実施形態のいくつかのキャッシュユニットと同じである。
【００２６】
示された実施形態において、キャッシュ６６は、例えば境界キャッシュユニットを格納する目的で、ダイレクトマップキャッシュの動作より上位の動作を提供するセット結合キャッシュであることができる。
【００２７】
対応するバッファキャッシュ６４は、キャッシュ６６又はバッファ６８の何れかに書き込むライトスルーアプローチを用いて、キャッシュ６６及びバッファ６８の各々からのデータを受け取り、その後、図２に関して上述されたようにデバイスメモリへの書込み動作を実行する関連キャッシュである。
【００２８】
本明細書において図面に示された要素の各々によって実行される処理は、汎用コンピュータによって、及び／又は専用処理コンピュータによって実行することができる。このような処理は、単一プラットフォームによって、分散型処理プラットフォームによって、あるいは別々のプラットフォームによって実行することができる。加えて、このような処理は、専用ハードウェアの形式で、又は汎用コンピュータによって実行されるソフトウェアの形式で実現することができる。このような処理において処理される、あるいはこのような処理の結果として生成される任意のデータは、任意のタイプのメモリに格納することができる。一例として、このようなデータは、与えられたコンピュータシステム又はサブシステムの例えばＲＡＭのような一時メモリに格納することができる。加えて、またはその代わりに、このようなデータは、例えば磁気ディスク、書き換え型光ディスク等のような長期記憶デバイスに格納することもできる。本明細書における開示目的のために、機械読取可能媒体は、任意の形式のデータ記憶メカニズムを備えることができ、そのようなメモリと、そのような構成の回路表現及びそのようなデータの回路表現とを含む。処理は、任意の機械読取可能媒体において、及び／又は集積回路において実現することができる。
【００２９】
特許請求の範囲は、出願時に示されるように、また補正されうるように、本明細書に開示された教示及び実施形態の変形例、代替例、修正例、改善例、均等物、及び実質的な均等物を包括し、現在は予見されていない又は認められていない物事、及び例えば出願人／特許権所有者やその他の者から生じるであろう物事を含む。
【図１】
2010509688.tif 000003
【図２】
2010509688.tif 000004
【図３】
2010509688.tif 000005
【手続補正書】
【提出日】平成21年8月26日(2009.8.26)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
デバイスメモリ及び前記デバイスメモリに接続されたハードウェアエンティティであって、前記ハードウェアエンティティのうちの少なくともいくつかは、前記デバイスメモリへのアクセスと前記デバイスメモリの使用とを含む動作を実行し、前記ハードウェアエンティティは、プリミティブオブジェクトからの３Ｄ画像を表示するために処理する３Ｄグラフィック回路を含むハードウェアエンティティと、
前記デバイスメモリから分離しており、バッファされたサブ画像セル値を含むデータを保持するサブ画像セル値キャッシュであって、前記３Ｄグラフィック回路の画素処理部分が、前記デバイスメモリ内の前記サブ画像セル値に直接アクセスするのではなく、前記サブ画像セル値キャッシュ内の前記バッファされたサブ画像セル値にアクセスするように、前記３Ｄグラフィック回路に接続されたサブ画像セル値キャッシュと、
少なくとも１つのプリミティブオブジェクトを境界付ける境界セル値を前記サブ画像セル値キャッシュ内に保存する優先スキームに従って、前記バッファされたサブ画像セル値を前記デバイスメモリへ書き込むキャッシュ書込みオペレータと
を備える装置。
【請求項２】
前記プリミティブオブジェクトは三角形を含む請求項１に記載の装置。
【請求項３】
前記３Ｄグラフィック回路は、３Ｄグラフィックパイプラインを含む３Ｄグラフィックチップを含む請求項２に記載の装置。
【請求項４】
前記サブ画像セル値は、画素の色値を含む請求項３に記載の装置。
【請求項５】
前記サブ画像セル値はデプス（Ｚ）値を含む請求項３に記載の装置。
【請求項６】
前記サブ画像セル値は、画素の色値を含む請求項１に記載の装置。
【請求項７】
前記サブ画像セル値はデプス（Ｚ）値を含む請求項１に記載の装置。
【請求項８】
前記サブ画像セルはグリッドセルを含む請求項１に記載の装置。
【請求項９】
前記バッファされたサブ画像セル値は、前記書込みオペレータによってユニットごとに前記デバイスメモリへ書き込まれ、各ユニットは、前記バッファされたサブ画像セル値の整数倍である請求項１に記載の装置。
【請求項１０】
前記デバイスメモリから前記サブ画像セル値キャッシュへデータが読み取られると、自由に上書きできるように、前記サブ画像セル値キャッシュ内のメモリ場所を指定する指定メカニズムを更に含む請求項１に記載の装置。
【請求項１１】
与えられた画素処理部分によるキャッシュミス読取りにおいて新たなデータが必要となると、最低使用頻度（ＬＲＵ）置換ポリシーに従って、前記デバイスメモリからセル値を読み取るＬＲＵ置換部分を含むキャッシュミス読取りオペレータを更に備える請求項１に記載の装置。
【請求項１２】
前記ＬＲＵ置換ポリシーは、境界セル値のデータの置換前に、非境界セル値のデータを置換させる請求項１１に記載の装置。
【請求項１３】
前記キャッシュ書込みオペレータは、キャッシュミスがあると、前記デバイスメモリからの読取りを待たずに、非境界セル値のダーティデータを前記デバイスメモリへ書き込み、要求されたキャッシュミス境界セル値のための前記サブ画像セル値キャッシュ内の利用可能な空間がないと、境界セル値のダーティデータを前記デバイスメモリへ書き込む書込みメカニズムを含む請求項１２に記載の装置。
【請求項１４】
複数のプリミティブオブジェクトを境界付ける前記境界セル値は、複数のプリミティブオブジェクト間の境界の範囲内のセル値を含む請求項１に記載の装置。
【請求項１５】
複数のプリミティブオブジェクトを境界付ける前記境界セル値は、境界を二分するユニットであって、各々が、前記バッファされたサブ画像セル値の整数倍を含むユニット内のセル値を含む請求項１に記載の装置。
【請求項１６】
組込みデバイスを含む請求項１に記載の装置。
【請求項１７】
半導体基板と、
前記半導体基板上のデバイスメモリ及び前記デバイスメモリに接続されたハードウェアエンティティであって、前記ハードウェアエンティティのうちの少なくともいくつかは、前記デバイスメモリへのアクセスと前記デバイスメモリの使用とを含む動作を実行し、前記ハードウェアエンティティは、プリミティブオブジェクトからの３Ｄ画像を表示するために処理する３Ｄグラフィック回路を含むハードウェアエンティティと、
前記デバイスメモリから分離しており、バッファされたサブ画像セル値を含むデータを保持する前記半導体基板上のサブ画像セル値キャッシュであって、前記３Ｄグラフィック回路の画素処理部分が、前記デバイスメモリ内の前記サブ画像セル値に直接アクセスするのではなく、前記サブ画像セル値キャッシュ内の前記バッファされたサブ画像セル値にアクセスするように、前記３Ｄグラフィック回路に接続されたサブ画像セル値キャッシュと、
少なくとも１つのプリミティブオブジェクトを境界付ける境界セル値を前記サブ画像セル値キャッシュ内に保存する優先スキームに従って、前記バッファされたサブ画像セル値を前記デバイスメモリへ書き込む、前記半導体基板上のキャッシュ書込みオペレータと
を備える集積回路。
【請求項１８】
前記プリミティブオブジェクトは三角形を含む請求項１７に記載の集積回路。
【請求項１９】
前記３Ｄグラフィック回路は、３Ｄグラフィックパイプラインを含む３Ｄグラフィックチップを含む請求項１８に記載の集積回路。
【請求項２０】
前記サブ画像セル値は、画素を含む請求項１７に記載の集積回路。
【請求項２１】
前記サブ画像セル値はデプス（Ｚ）値を含む請求項１７に記載の集積回路。
【請求項２２】
前記サブ画像はグリッドを含む請求項１７に記載の集積回路。
【請求項２３】
前記バッファされたサブ画像セル値は、前記書込みオペレータによってユニットごとに前記デバイスメモリへ書き込まれ、各ユニットは、前記バッファされたサブ画像セル値の整数倍である請求項１８に記載の集積回路。
【請求項２４】
前記デバイスメモリから前記サブ画像セル値キャッシュへデータが読み取られると、自由に上書きできるように、前記キャッシュ内のメモリ場所を指定する指定メカニズムを更に含む請求項１７に記載の集積回路。
【請求項２５】
与えられた画素処理部分によるキャッシュミス読取りにおいて新たなデータが必要となると、最低使用頻度（ＬＲＵ）置換ポリシーに従って、前記デバイスメモリからセル値を読み取るＬＲＵ置換部分を含むキャッシュミス読取りオペレータを更に備える請求項１７に記載の集積回路。
【請求項２６】
前記ＬＲＵ置換ポリシーは、境界セル値のデータの置換前に、非境界セル値のデータを置換させる請求項２５に記載の集積回路。
【請求項２７】
前記キャッシュ書込みオペレータは、キャッシュミスがあると、前記デバイスメモリからの読取りを待たずに、非境界セル値のダーティデータを前記デバイスメモリへ書き込み、要求されたキャッシュミス境界セル値のための前記サブ画像セル値キャッシュ内の利用可能な空間がないと、境界セル値のダーティデータを前記デバイスメモリへ書き込む書込みメカニズムを含む請求項２６に記載の集積回路。
【請求項２８】
３Ｄグラフィック回路の画素処理部分が、デバイスメモリ内のサブ画像セル値に直接アクセスする代わりに、前記デバイスメモリから分離したキャッシュ内のバッファされた前記サブ画像セル値にアクセスすることと、
少なくとも１つのプリミティブオブジェクトを境界付ける境界セル値を前記キャッシュ内に保存する優先スキームに従って、前記バッファされたサブ画像セル値を前記デバイスメモリへ書き込むことと
を備える方法。
【請求項２９】
前記プリミティブオブジェクトは三角形を含む請求項２８に記載の方法。
【請求項３０】
前記３Ｄグラフィック回路は、３Ｄグラフィックパイプラインを含む３Ｄグラフィックチップを含む請求項２９に記載の方法。
【請求項３１】
前記サブ画像セル値は画素を含む請求項２８に記載の方法。
【請求項３２】
前記サブ画像セル値はデプス（Ｚ）値を含む請求項２８に記載の方法。
【請求項３３】
前記サブ画像はグリッドを含む請求項２８に記載の方法。
【請求項３４】
前記バッファされたサブ画像セル値は、ユニットごとに前記デバイスメモリへ書き込まれ、各ユニットは、前記バッファされたサブ画像セル値の整数倍を含む請求項２９に記載の方法。
【請求項３５】
前記デバイスメモリから前記キャッシュへデータが読み取られると、自由に上書きできるように前記キャッシュ内のメモリ場所を指定することを更に備える請求項２８に記載の方法。
【請求項３６】
与えられた画素処理部分によるキャッシュミス読取りにおいて新たなデータが必要となると、最低使用頻度（ＬＲＵ）置換ポリシーに従って前記デバイスメモリからセル値を読み取ることを更に備える請求項２８に記載の方法。
【請求項３７】
前記ＬＲＵ置換ポリシーは、境界セル値のデータの置換前に、非境界セル値のデータを書換させる請求項３６に記載の方法。
【請求項３８】
キャッシュミスがあると、前記デバイスメモリからの読取りを待たずに、非境界セル値のダーティデータが前記デバイスメモリへ書き込まれ、要求されたキャッシュミス境界セル値のための前記キャッシュ内の利用可能な空間がないと、境界セル値のダーティデータが前記デバイスメモリへ書き込まれる請求項３７に記載の方法。
【請求項３９】
３Ｄグラフィック回路における画素処理のために、デバイスメモリ内のサブ画像セル値に直接アクセスする代わりに、前記デバイスメモリから分離されたキャッシュ内のバッファされた前記サブ画像セル値にアクセスする手段と、
少なくとも１つのプリミティブオブジェクトを境界付ける境界セル値を前記キャッシュ内に保存する優先スキームに従って、前記バッファされたサブ画像セル値を前記デバイスメモリへ書き込む手段と
を備える装置。
【請求項４０】
前記プリミティブオブジェクトは三角形を含む請求項３９に記載の装置。
【請求項４１】
前記３Ｄグラフィック回路は、３Ｄグラフィックパイプラインを含む３Ｄグラフィックチップを含む請求項４０に記載の装置。
【請求項４２】
前記サブ画像セル値は画素を含む請求項３９に記載の装置。
【請求項４３】
前記サブ画像セル値はデプス（Ｚ）値を含む請求項３９に記載の装置。
【請求項４４】
前記サブ画像はグリッドを含む請求項３９に記載の装置。
【請求項４５】
前記バッファされたサブ画像セル値は、ユニットごとに前記デバイスメモリへ書き込まれ、各ユニットは、前記バッファされたサブ画像セル値の整数倍を含む請求項４０に記載の装置。
【請求項４６】
前記デバイスメモリから前記キャッシュへデータが読み取られると、自由に上書きできるように、前記キャッシュ内のメモリ場所を指定する手段を更に含む請求項３９に記載の装置。
【請求項４７】
キャッシュミス読取りにおいて新たなデータが必要となると、最低使用頻度（ＬＲＵ）置換ポリシーに従って、前記デバイスメモリからセル値を読み取る手段を更に備える請求項３９に記載の装置。
【請求項４８】
前記ＬＲＵ置換ポリシーは、境界セル値のデータの置換前に、非境界セル値のデータを置換させる請求項４７に記載の装置。
【請求項４９】
キャッシュミスがあると、前記デバイスメモリからの読取りを待たずに、非境界セル値のダーティデータが前記デバイスメモリへ書き込まれ、要求されたキャッシュミス境界セル値のための前記キャッシュ内の利用可能な空間がないと、境界セル値のダーティデータが前記デバイスメモリへ書き込まれる請求項４８に記載の装置。
【請求項５０】
データによって符号化された機械読取可能媒体であって、前記データは機械に、
３Ｄグラフィック回路の画素処理部分が、デバイスメモリ内のサブ画像セル値に直接アクセスする代わりに、前記デバイスメモリから分離されたキャッシュ内のバッファされた前記サブ画像セル値にアクセスさせ、
少なくとも１つのプリミティブオブジェクトを境界付ける境界セル値を前記キャッシュ内に保存する優先スキームに従って、前記バッファされたサブ画像セル値を前記デバイスメモリへ書き込ませる
ように前記機械と相互作用している機械読取可能媒体。
【請求項５１】
前記プリミティブオブジェクトは三角形を含む請求項５０に記載の機械読取可能媒体。
【請求項５２】
前記３Ｄグラフィック回路は、３Ｄグラフィックパイプラインを含む３Ｄグラフィックチップを含む請求項５１に記載の機械読取可能媒体。
【請求項５３】
前記サブ画像セル値は画素を含む請求項５０に記載の機械読取可能媒体。
【請求項５４】
前記サブ画像セル値はデプス（Ｚ）値を含む請求項５０に記載の機械読取可能媒体。
【請求項５５】
前記サブ画像はグリッドを含む請求項５０に記載の機械読取可能媒体。
【請求項５６】
前記バッファされたサブ画像セル値は、ユニットごとに前記デバイスメモリへ書き込まれ、各ユニットは、前記バッファされたサブ画像セル値の整数倍を含む請求項５１に記載の機械読取可能媒体。
【請求項５７】
前記データは、前記デバイスメモリから前記キャッシュへデータが読み取られると、自由に上書きできるように、前記キャッシュ内のメモリ場所を指定する、機械と相互作用している請求項５０に記載の機械読取可能媒体。
【請求項５８】
前記データは、与えられた画素処理部分によるキャッシュミス読取りにおいて新たなデータが必要となると、最低使用頻度（ＬＲＵ）置換ポリシーに従って、前記デバイスメモリからセル値を読み取る、機械と相互作用している請求項５０に記載の機械読取可能媒体。
【請求項５９】
前記ＬＲＵ置換ポリシーは、境界セル値のデータの置換前に、非境界セル値のデータを置換させる請求項５８に記載の機械読取可能媒体。
【国際調査報告】
2010509688.tif 000006
2010509688.tif 000007
2010509688.tif 000008