説明

処理パイプラインの制御

【課題】処理パイプライン内の処理バブルの低減が可能なデータ処理装置を提供する。
【解決手段】グラフィクス処理ユニットは、第1パイプライン部分18と第2パイプライン部分20とを有するテクスチャパイプライン6を含む。第1パイプライン部分18内の主題命令は、その主題命令によりメモリからロードされる記述子データが、共有記述子キャッシュ内に貯えられるまで、第1パイプライン部分18内で再循環される。記述子が、共有キャッシュ内に保存されている場合、主題命令は、追加の処理操作が実行される第2パイプライン部分20に渡され、それらの追加の処理操作が完了するまで再循環される。記述子データは、その記述子データを利用するのに必要とされるテクスチャパイプライン6内の係属中の主題命令がなくなるまで、共有記述キャッシュ内に固定される。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、データ処理システム分野に関する。より具体的には、本発明は、処理パイプラインを含むデータ処理システム、及び、そのようなデータ処理システム内での処理パイプラインの制御に関する。
【背景技術】
【0002】
データ処理システム内で並列実行の度合いを増やすことにより、1サイクル当たりに実行される命令数を増加させるような処理パイプラインを組み込んでいる、データ処理システムを提供することが知られている。処理パイプライン内でパイプライン段階の数が増すことにより、並列に実行され得るプログラム命令の数が増す。しかしながら、数多くのパイプライン段階を有する処理パイプラインでは、失敗した命令を効率的に処理することが難しい。例えば、処理パイプラインに沿ったロード命令処理が、そのロードされたデータを予定時間内に受信し損なう場合、1つの取り組みは、それに対して、処理パイプラインを失速させることであり得る。これは、極めて効率が悪くなり得る。別の取り組みは、失敗したロード命令に依存する後の命令がない場合、ロード命令が、工程中の処理「バブル」として処理パイプラインに沿って進み、そのパイプラインを通り抜けて進んでいる他のプログラム命令に一致して其のロード命令を許可することであり、それにより、これらの他の処理命令の実行が妨げられない。この取り組みの問題点は、パイプライン内にバブルが存在することで、並列に実行されているプログラム命令の数が減り、それにより、1サイクル値当たりの総実行命令数が低減することである。
【発明の概要】
【課題を解決するための手段】
【0003】
一態様から見れば、本発明は、以下を含むデータ処理装置を提供する:
データを保存するように設定されたメモリと、
前記メモリからフェッチしたデータを保存するように設定されたキャッシュと、
複数のパイプライン段階を有し、且つ、前記処理パイプラインに沿って進むプログラム命令により指定されたデータ処理操作を実行するように設定された、処理パイプラインと
を含み、
前記処理パイプラインが、複数のパイプライン段階を有する第1パイプライン部分と、後続する複数のパイプライン段階を有する第2パイプライン部分とを含み、
前記第1パイプライン部分が、標的データを利用して、前記標的データが前記キャッシュ内にまだ保存されていない時に、前記メモリから前記標的データをフェッチし、前記標的データを前記キャッシュ内に保存することにより、主題命令に応答するように設定されたロード段階を含み、
前記第1パイプライン部分が、前記標的データが前記キャッシュ内に存在するかを判定し、
(i)前記標的データが前記キャッシュ内に存在しない場合、前記主題命令を、前記第1パイプライン部分を通り抜けるように再循環させ、
(ii)前記標的データが前記キャッシュ内に存在する場合、前記主題命令を前記第2パイプライン部分に通過させる
ように設定された、前記ロード段階に続く第1ゲート段階を含み、
前記第2パイプライン部分が、前記標的データを利用して追加の処理操作を実行することにより、前記主題命令に応答するように設定された追加の処理段階を含み、
前記第2パイプライン部分が、前記追加の処理操作が完了されているかを判定し、
(i)前記追加の処理操作が完了されていない場合、前記主題命令を、前記第2パイプライン部分を通り抜けるように再循環させ、
(ii)前記追加の処理操作が完了されている場合、前記処理パイプラインから前記主題命令を引き下げる
ように設定された、前記追加の処理段階に続く第2ゲート段階を含む。
【0004】
本発明は、第1パイプライン部分と第2パイプライン部分とを含む処理パイプラインを与える。第1パイプライン部分は、標的データをキャッシュメモリにロードし、次に、標的データがロードされていることを確認するのに用いられる。標的データがロードされていない場合、主題命令は、第1パイプライン部分内で再循環され(処理パイプライン段階に戻され)、第2パイプライン部分を通過しない。これにより、処理バブルが第2パイプライン部分を通過するのが妨げられ、主題命令が完了するように、より多くの時間を第1パイプライン部分に与える。第2パイプライン部分自体は、追加の処理操作を実行するのに用いられ、それらの追加の処理操作が完了されているか否かを判定し、確認する第2ゲート段階を含む。追加の処理操作が完了していない場合、主題命令は、第2パイプライン部分内で再循環され、追加の処理操作が完了するように、より多くの時間を与える。第2ゲート段階が、追加の処理操作が完了していると判定する場合、主題命令が、引き下げられ得る。そのように、処理パイプラインは、一方が第1パイプライン部分により形成され、他方が第2パイプライン部分により形成される、2つのループを含む。主題命令は、その主題命令のための標的データがキャッシュ内に保存されるまで、第1パイプライン部分内で再循環する。標的データが、収集され、キャッシュ内で利用可能になった後に、主題命令が、第2パイプライン部分に放出され、その第2パイプライン部分内では、必要であれば、第2パイプライン部分により実行される追加の処理操作が完了し、その主題命令が引き下げられるまで、その主題命令は、再循環され得る。
【0005】
本発明の好ましい実施形態では、標的データは、標的データを利用する全てのプログラム命令が、処理パイプラインから引き下げられるまで、キャッシュ内に固定され得る。このように、第1パイプライン部分を操作することにより、キャッシュ内に置かれている標的データは、もはや必要とされなくなるまで、そのキャッシュ内に保持されるので、効率は、向上し得る。これにより、第2パイプライン部分内での処理バブルの可能性が低減する。
【0006】
標的データが、様々な異なる形態を取り得ることが理解されるが、幾つかの実施形態では、標的データは、別の標的データの1つ以上の性質を指定する記述子データであり、その追加の処理操作は、キャッシュ内に保存された標的データに応じて、メモリから別の標的データをフェッチするのに用いられる。そのように、追加の処理操作は、標的データに応じてメモリからのデータのフェッチが間接的に指定される、処理操作であり、従って、重要なことは、第2パイプライン部分で別の標的データをフェッチする追加の処理操作を有利に実行しようとする前に、第1パイプライン部分の操作により、標的データがキャッシュメモリ内に保存されるべきであることである。
【0007】
第1ゲート回路及び第2ゲート回路は、関連するパイプライン部分内の第1段階又は中間段階のうちの1つであり得る、先行する段階に、主題命令を再循環させるのに用いられる。
【0008】
第2パイプライン部分は、第1パイプライン部分の直後に続くことができる。しかしながら、他の実施形態では、処理パイプラインは、第1パイプライン部分と第2パイプライン部分との間の1つ以上の中間段階を含む。
【0009】
本技術は、様々な異なる形態及び用途の処理パイプラインに適用され得ることが理解される。しかしながら、本技術は、処理パイプラインがグラフィクス処理ユニット内のテクスチャパイプラインであるような実施形態に十分に適している。そのようなテクスチャパイプラインは、通常、メモリからデータをロードする要求が高く、テクスチャパイプライン内の追加の処理操作は、以前にロードされたデータに依存する。この文脈内で、本技術は、主題命令が第1パイプライン部分に進むのを許可する前に、標的データがキャッシュ内に保存されるのを確保し、それにより、第1パイプライン部分の処理パイプライン下流内に生じる処理バブルの数が低減することにより、効率が向上する。
【0010】
追加的な標的データは、テクスチャデータであってもよく、標的データは、テクスチャデータの1つ以上のパラメータを指定する記述子データであってもよい。これらのパラメータは、例えば、特定の画素に利用されるべきテクスチャデータの保存アドレスを選定するのに利用され得る。
【0011】
標的データは、数多くの主題命令により再利用されてもよく、効率は、キャッシュ内に保存された標的データが共有される場合に、向上し得る。状態データは、パイプラインを通る際に各々の主題命令の中に格納され、その状態データには、共有標的データのキャッシュ内の保存位置を指定する値が含まれ得る。
【0012】
主題命令は、標的データを共有する一群の主題命令のうちの1つであってもよく、一群のプログラム命令内の各々の主題命令を識別する状態データと共に処理される(主題命令群は、4個一組として一緒に処理され得る4つの隣接する画素値に関連し得る)。
【0013】
全ての主題命令群が、共有標的データを利用するのを完了させるまで、主題命令群の標的データは、キャッシュ内に固定されることになる。
【0014】
一般に、処理パイプライン内の主題命令が、それらの主題命令の間に相互依存がないように異なるプログラム関連情報から取られる場合に、処理パイプラインの効率は、増加する。関連情報発送回路は、処理のために処理パイプラインに主題命令を発送するように設定され得る。関連情報引き下げ回路は、主題命令が完了した時に、主題命令を処理パイプラインから引き下げるように利用され得る。
【0015】
別の態様から見れば、本発明は、以下を含むデータ処理装置を提供する。
データを保存するためのメモリ手段と、
前記メモリからフェッチされたデータを保存するためのキャッシュ手段と、
前記処理パイプラインに沿って進むプログラム命令により指定されたデータ処理操作を実行するための処理パイプライン手段と、データ処理操作を実行する複数のパイプライン段階手段を有する処理パイプライン手段と
を含む、
前記処理パイプライン手段が、複数のパイプライン段階を有する第1パイプライン部分と、後続する複数のパイプライン段階を有する第2パイプライン部分とを含み、
前記第1パイプライン部分が、標的データを利用して、前記標的データが前記キャッシュ内にまだ保存されていない時に、前記メモリ手段から前記標的データをフェッチし、前記キャッシュ手段内に前記標的データを保存することにより、主題命令に応答するロード段階手段を含み、
前記第1パイプライン部分が、前記ロード段階手段に続いて、前記標的データが前記キャッシュ内に存在するかを判定し、
(i)前記標的データが前記キャッシュ手段内に存在しない場合、前記主題命令を、前記第1パイプライン部分を通り抜けるように再循環させ、
(ii)前記標的データが前記キャッシュ手段内に存在する場合、前記主題命令を前記第2パイプライン部分に通過させる
第1ゲート段階手段を含み、
前記第2パイプライン部分が、前記標的データを利用して追加の処理操作を実行することにより、前記主題命令に応答する追加の処理段階手段を含み、
前記第2パイプライン部分が、前記追加の処理段階手段に続いて、前記追加の処理操作が完了されているかを判定し、
(i)前記追加の処理操作が完了されていない場合、前記主題命令を、前記第2パイプライン部分を通り抜けるように再循環させ、
(ii)前記追加の処理操作が完了されている場合、前記処理パイプライン手段から前記主題命令を引き下げる
第2ゲート段階手段を含む。
【0016】
追加的な態様から見れば、本発明は、以下の工程を含む、データ処理方法を提供する:
メモリ内にデータを保存することと、
前記メモリからフェッチされたデータをキャッシュ内に保存することと、
複数のパイプライン段階を有する前記処理パイプラインに沿って進むプログラム命令により指定されたデータ処理操作を実行することと
を含み、
前記処理パイプライン手段が、複数のパイプライン段階を有する第1パイプライン部分と、後続する複数のパイプライン段階を有する第2パイプライン部分とを含み、更に、
前記第1パイプライン部分内でロード段階を利用して、前記標的データが前記キャッシュ内にまだ保存されていない時に、前記メモリから前記標的データをフェッチし、前記標的データを前記キャッシュ内に保存することにより、主題命令に応答することと、
前記第1パイプライン部分内で、前記ロード段階に続く第1ゲート段階を利用して、前記標的データが前記キャッシュ内に存在するかを判定し、
(i)前記標的データが前記キャッシュ内に存在しない場合、前記主題命令を、前記第1パイプライン部分を通り抜けるように再循環させ、
(ii)前記標的データが前記キャッシュ内に存在する場合、前記主題命令を前記第2パイプライン部分に通過させることと、
前記第2パイプライン部分内で追加の処理段階を利用して、前記標的データを利用して追加の処理操作を実行することにより、前記主題命令に応答することと、
前記第2パイプライン部分内で、前記追加の処理段階に続く第2ゲート段階を利用して、前記追加の処理操作が完了されているかを判定し、
(i)前記追加の処理操作が完了されていない場合、前記主題命令を、前記第2パイプライン部分を通り抜けるように再循環させ、
(ii)前記追加の処理操作が完了されている場合、前記処理パイプライン手段から前記主題命令を引き下げることと
を含む。
【0017】
上記のこと、並びに、本発明の他の目的、特徴及び利点は、付属の図面に関連して読まれる、説明のための実施形態の以下の詳細な記述から、明らかになる。
【図面の簡単な説明】
【0018】
【図1】複数の処理パイプラインを含む、グラフィクス処理ユニットを概略的に示す。
【図2】第1パイプライン部分と第2パイプライン部分とを含む、テクスチャパイプラインを概略的に示す。
【図3】記述子データと、テクスチャパイプラインにより処理されるテクスチャデータとの間の関連を概略的に示す。
【図4】共有される記述キャッシュと、記述子データを共有する一群のプログラム命令とを概略的に示す。
【図5】図2のテクスチャパイプラインの操作を概略的に示す流れ図である。
【発明を実施するための形態】
【0019】
図1は、メモリ4に結合されたグラフィクス処理ユニット2を概略的に示す。メモリ4は、グラフィクス処理の当業者に知られているような、グラフィクス処理に必要とされるプログラムデータ、テクスチャデータ、記述子データ及び他のデータを保存する。グラフィクス処理ユニット2は、テクスチャパイプラインを含む複数の処理パイプライン6、ロード保存パイプライン8、第1演算パイプライン10及び第2演算パイプライン12を含む。関連情報発送回路14は、適切な処理パイプライン6、8、10、12にプログラム命令を発送し、関連情報引き下げ回路16は、処理パイプライン6、8、10、12からプログラム命令を引き下げ、同様に、プログラム命令が完全に完了した際に、処理関連情報を引き下げる。図1のパイプライン配置は、処理パイプラインを含む処理装置の単なる例示であり、多くの他の異なる形態の処理装置、同様に、多くの他の異なる形態のグラフィクス処理ユニットが利用されてもよいことが理解される。
【0020】
図1のテクスチャパイプライン6は、第1パイプライン部分18と第2パイプライン部分20とを有するように示されている。第1パイプライン部分18は、メモリ4から記述子データをフェッチし、テクスチャパイプライン6の近くに結合される共有記述キャッシュ22内に、そのデータを保存することに責任がある。前述パイプライン20の第2部分は、記述キャッシュ22内に保存された記述子データに応じて、メモリ4からテクスチャデータをフェッチすることに携わる。テクスチャパイプライン6の他の部分は、選別及び画素操作等の追加の処理操作を実行し得る。
【0021】
図1では、メモリ4は、統合されたブロックとして示される。しかしながら、実地では、メモリ4は、複数レベルのキャッシュメモリ、主要メモリ、及び、ハードディスクドライブ等の非揮発性データ格納器で形成されるメモリ階層構造を含んでもよいことが理解される。
【0022】
図2は、概略的に、テクスチャパイプライン6を更に詳細に示す。特に、テクスチャパイプライン6は、第1パイプライン部分18と複数のパイプラインの中間段階24と第2パイプライン部分20とを含む。第1パイプライン部分18は、主題命令(例えば、画素テクスチャをロードしようとする命令)に応答し、取り出されるテクスチャデータのアドレスを確定するのに続けて利用される記述子データをフェッチする要求を、メモリ4に送出するロード段階26を含む。第1パイプライン部分18内の後段階は、メモリが、要求された記述子データを返したか否かを順次問い合わせるのに用いられ、データが返されている場合、キャッシュロード段階は、戻された記述子データを共有記述キャッシュ22にロードするのに用いられる。第1パイプライン部分18内の第1ゲート段階28は、主題命令が第1ゲート段階28に達する時に、記述子データ(標的データ)が、供給記述キャッシュ22にロードされているか否かを判定するのに用いられる。記述子データ(標的データ)が、共有記述キャッシュ22内にある場合、主題命令は、中間段階24に、次に、第2パイプライン部分20に渡される。記述子データが、共有記述キャッシュ22内にない場合、主題命令は、その命令を第1パイプライン部分18の頂部に戻すことにより再循環されるために、第1パイプライン部分を再び通過し、それにより、その記述子データがメモリ4から戻るように、より多くの時間が得られ得る。これにより、共有記述キャッシュ22内にあるその必要な記述子データをまだ有していない主題命令を、中間段階24と第2パイプライン部分20とを含むパイプラインの後続部分に渡すことが回避され、それにより、テクスチャパイプライン6のこれらの後続部分内に、望まれない処理バブルを導入することが回避される。
【0023】
主題命令は、第1ゲート段階28を通過した場合、画素値の変化率を定める導関数の生成、テクスチャマップレベルの選択、及び、メモリ4からロードされるテクスチャデータのアドレスの生成等の、追加の処理操作が実行される中間段階24に進む。次に、主題命令は、メモリ4からテクスチャデータをロードする等の追加の処理操作を実行する追加の処理段階を含む、第2パイプライン部分20に渡される。第2パイプライン部分20の末端の第2ゲート段階30は、その追加の処理段階により実行されるべき追加の処理操作が完了されているか否かを判定する。第1パイプライン部分18と同様に、追加の処理操作は、テクスチャデータが実際に返された時に完了され得る。追加の処理操作が完了していない場合、主題命令は、第2パイプライン部分20内に再循環され、テクスチャデータが戻るように、より多くの時間を与えることができる。テクスチャデータは、それが戻されている場合、取り戻されたテクスチャデータに選別操作を加えること、導出された色値をレジスタに書き込むこと等の、第2パイプライン部分に続く、テクスチャパイプライン6内の処理操作を施され得る。
【0024】
図3は、記述子データとテクスチャデータとの間の関連を概略的に示す。記述子データは、画像記述子32と表面記述子34と抽出記述子36とを含み得る。これらの記述子32、34、36は、メモリ4内に保存され、テクスチャパイプライン6により利用され、メモリ4からテクスチャデータ38のどの部分が読まれるか、その取り出されたテクスチャデータをどのように処理するのかを判定する。特に、主題命令のために取り出された画像記述子データは、現時点で用いられるそのテクスチャの縮尺として、複数のテクスチャ表記のうちのどれが利用されるべきかを指定するデータと、テクスチャデータの形式(例えば、RGB等)と、テクスチャデータの寸法と、関連するテクスチャデータの表面記述子へのポインタとを含み得る。表面記述子は、テクスチャデータの関連インスタンスの開始メモリアドレスへのポインタを含み、そのテクスチャデータの関連インスタンスは、そのテクスチャデータのインスタンスの行ピッチを示すピッチ値と共に用いられる。
【0025】
図3に示された、記述子データとテクスチャデータとの間の関連は、第1パイプライン部分18内のキャッシュ内に保存された標的データと、第2パイプライン部分20によりキャッシュ標的データに応じて取り戻された更なる標的データとの間の関連の1つの例示である。本技術は、この事例、又は、実際には、グラフィクス処理の分野に限定されない。
【0026】
図4は、複数のキャッシュ線を含む共有記述キャッシュ22を概略的に示し、キャッシュ線の各々は、記述子データの共有インスタンスを保存し、関連する指標値を有する。この事例では、共有記述キャッシュ22は、指標を付けられているが、他の実施形態では、保存されたタグ値を利用して、共有記述キャッシュ22から取り出すのを望まれている特定の記述子データを識別することも可能であり得る。その上、図4では、共有記述キャッシュ22の各々のキャッシュ線が、固定計数フィールド40を含むことが示され、そのフィールドは、テクスチャパイプライン6内の、処理要求を受けているどれ程の数の主題命令が、関連する記述子を利用しているか示す計数値を保存する。主題命令が記述子をロードしようとする度に、その記述子が既に貯えられているか否かにかかわらず、固定計数は、増分され、その記述子を利用するのを望む主題命令が、テクスチャパイプライン6内に存在することを示す。主題命令が、テクスチャパイプライン6から引き下げられ、その主題命令が参照する記述子の利用を完了する度に、それらの記述子に関連する固定計数値は、減分される。そのように、固定計数がゼロに達する時には、テクスチャパイプライン6内の全ての主題命令は、その記述子の利用を完了しており、共有記述子キャッシュ内で固定解除されることにより、他の記述子値に道をあけるようにキャッシュ線が交換され得る。
【0027】
その上、図4では、関連情報群の状態42が示される。主題命令の群は、一緒に処理され、それらの群が利用する記述子を共有し得る。この事例では、関連情報群の状態は、識別子TS0、TS1、TS2、TS3、TS4で各々の主題命令を識別し、並びに、この例示の実施形態では、その関連譲歩群内の主題命令により利用される記述子が配置される場所である、キャッシュ線を指し示す指標値を保存する。
【0028】
図5は、図2のテクスチャパイプラインの操作を概略的に示す流れ図である。工程44では、処理は、主題命令が第1パイプライン部分18内に受信されるまで待機する。次に、工程46は、その主題命令の記述子データが、供給記述子キャッシュ22内に既に存在しているか否かを判定する。記述子データが、既に存在している場合、処理は、工程48に進む。記述子データが、共有記述子キャッシュ22内にまだ存在してない場合、工程50は、メモリ4から共有記述子キャッシュ22への記述子のロードを初期化するのに用いられる。工程54は、第1ゲート段階28により実行され、主題命令により必要とされる全ての記述子データが、現時点で共有キャッシュ内に存在するか、又は、記述子データがまだ存在していないかを判定する。その記述子データが存在していない場合、主題命令は、再循環され、処理は、工程50に戻る。
【0029】
全ての記述子データが、共有記述子キャッシュ22内に存在していると判定される場合、処理は、主題命令が、可能であれば1つ以上の中間段階24を介して第2パイプライン部分20に渡される、工程48に進む。工程56は、保存されたテクスチャマップデータに関連して描写される画像の一部分の解像度として利用されるテクスチャマップレベルを確定する。テクスチャデータのこのロードは、共有記述子キャッシュ22内に保存される記述子データに応じて算出されるメモリ4内のアドレスからのロードである。工程60は、第2ゲート段階により実行され、追加の処理操作が完了しているか否かを判定する。追加の処理操作が、完了していない場合、処理は、工程56に戻る。追加の処理操作が完了している場合、処理は、算出された色画素値が工程64でレジスタに書き込まれる前に選別操作が実行される、工程62に進み、主題命令は、テクスチャパイプライン6により処理されている。
【0030】
テクスチャパイプライン6により実行される処理は、図4に関連して前に記載されたように、キャッシュ固定を組み込んでおり、固定値が、テクスチャパイプライン内の「仕掛り中」の主題命令の数を追跡するように増分又は減分することが理解される。
【0031】
本発明の説明上の実施形態は、本明細書で、付属の図面を参照しつつ詳細に記載されているが、本発明は、それらの正確な実施形態に限定されず、付属の請求項により定義されるような本発明の範囲及び趣旨から逸脱することなく、様々な変更及び修正が当業者により行われ得ると理解されるべきである。
【符号の説明】
【0032】
2 グラフィクス処理ユニット
4 メモリ
6、8、10、12 パイプライン
14、16 回路
18 第1パイプライン段階
20 第2パイプライン段階
22 共有記述キャッシュ
24 中間段階
28 第1ゲート段階
32、34、36 記述子
38 テクスチャデータ

【特許請求の範囲】
【請求項1】
データ処理装置であって、
データを保存するように設定されたメモリと、
前記メモリからフェッチされたデータを保存するように設定されたキャッシュと、
複数のパイプライン段階を有し、且つ、前記処理パイプラインに沿って進むプログラム命令により指定されたデータ処理操作を実行するように設定された、処理パイプラインと
を含み、
前記処理パイプラインが、複数のパイプライン段階を有する第1パイプライン部分と、後続する複数のパイプライン段階を有する第2パイプライン部分とを含み、
前記第1パイプライン部分が、標的データを利用して、前記標的データが前記キャッシュ内にまだ保存されていない時に、前記メモリから前記標的データをフェッチし、前記標的データを前記キャッシュ内に保存することにより、主題命令に応答するように設定されたロード段階を含み、
前記第1パイプライン部分が、前記標的データが前記キャッシュ内に存在するかを判定し、
(i)前記標的データが前記キャッシュ内に存在しない場合、前記主題命令を、前記第1パイプライン部分を通り抜けるように再循環させ、
(ii)前記標的データが前記キャッシュ内に存在する場合、前記主題命令を前記第2パイプライン部分に通過させる
ように設定された、前記ロード段階に続く第1ゲート段階を含み、
前記第2パイプライン部分が、前記標的データを利用して追加の処理操作を実行することにより、前記主題命令に応答するように設定された追加の処理段階を含み、
前記第2パイプライン部分が、前記追加の処理操作が完了されているかを判定し、
(i)前記追加の処理操作が完了されていない場合、前記主題命令を、前記第2パイプライン部分を通り抜けるように再循環させ、
(ii)前記追加の処理操作が完了されている場合、前記処理パイプラインから前記主題命令を引き下げる
ように設定された、前記追加の処理段階に続く第2ゲート段階を含む、データ処理装置。
【請求項2】
前記標的データを利用する全てのプログラム命令が、前記処理パイプラインから引き下げられるまで、前記標的データが前記キャッシュ内に固定される、請求項1に記載の装置。
【請求項3】
前記標的データが、別の標的データの1つ以上の性質を指定する記述子データであり、前記追加の処理操作が、前記キャッシュ内に保存された前記標的データに応じて、前記メモリから前記別の標的データをフェッチするのに用いられる、請求項1に記載の装置。
【請求項4】
前記第2パイプライン部分が、前記標的データを利用して、前記別の標的データの前記メモリ内に保存位置を定める、請求項3に記載の装置。
【請求項5】
前記第1ゲート段階が、前記第1パイプライン部分内の第1段階と前記第1パイプライン部分内の中間段階のうちの1つに前記主題命令を返すことにより、前記主題命令を再循環させる、請求項1に記載の装置。
【請求項6】
前記第2ゲート段階が、前記第2パイプライン部分内の第1段階と前記第2パイプライン部分内の中間段階のうちの1つに前記主題命令を返すことにより、前記主題命令を再循環させる、請求項1に記載の装置。
【請求項7】
処理パイプラインが、前記第1パイプライン部分と前記第2パイプライン部分との間の1つ以上の中間段階を含む、請求項1に記載の装置。
【請求項8】
前記処理パイプラインが、グラフィクス処理ユニット内のテクスチャパイプラインである、請求項1に記載の装置。
【請求項9】
前記別の標的データが、テクスチャデータであり、前記標的データが、前記テクスチャデータの1つ以上のパラメータを指定する記述子データである、請求項8に記載の装置。
【請求項10】
前記グラフィクス処理ユニットが、1つ以上の他の処理パイプラインを含む、請求項8に記載の装置。
【請求項11】
前記主題命令の状態データが前記処理パイプラインを通過する際に、前記処理パイプラインが、前記状態データを保存するように設定され、前記状態データが、前記標的データの前記キャッシュ内の保存位置を指定する値を含む、請求項1に記載の装置。
【請求項12】
前記主題命令が、標的データを共有する一群の主題命令のちの1つであり、前記状態データが、前記一群のプログラム命令内の各々の主題命令を識別する、請求項11に記載の装置。
【請求項13】
少なくとも、前記標的データを共有する前記一群の主題命令が、前記共有標的データの利用を完了するまで、前記標的データが、前記キャッシュ内に固定される、請求項11に記載の装置。
【請求項14】
前記主題命令が、プログラム関連情報の一部であり、前記処理パイプラインが、異なるプログラム関連情報にそれぞれ由来する、複数の主題命令を並列に処理するように設定される、請求項1に記載の装置。
【請求項15】
処理のために前記処理パイプラインに前記主題命令を発送するように設定された関連情報発送回路を含む、請求項13に記載の装置。
【請求項16】
データ処理装置であって、
データを保存するメモリ手段と、
前記メモリからフェッチされたデータを保存するキャッシュ手段と、
前記処理パイプラインに沿って進むプログラム命令により指定されたデータ処理操作を実行するための、データ処理操作を実行する複数のパイプライン段階手段を有する、処理パイプライン手段と
を含み、
前記処理パイプライン手段が、複数のパイプライン段階を有する第1パイプライン部分と、後続する複数のパイプライン段階を有する第2パイプライン部分とを含み、
前記第1パイプライン部分が、標的データを利用して、前記標的データが前記キャッシュ内にまだ保存されていない時に、前記メモリ手段から前記標的データをフェッチし、前記キャッシュ手段内に前記標的データを保存することにより、主題命令に応答するロード段階手段を含み、
前記第1パイプライン部分が、前記ロード段階手段に続いて、前記標的データが前記キャッシュ内に存在するかを判定し、
(i)前記標的データが前記キャッシュ手段内に存在しない場合、前記主題命令を、前記第1パイプライン部分を通り抜けるように再循環させ、
(ii)前記標的データが前記キャッシュ手段内に存在する場合、前記主題命令を前記第2パイプライン部分に通過させる
第1ゲート段階手段を含み、
前記第2パイプライン部分が、前記標的データを利用して追加の処理操作を実行することにより、前記主題命令に応答する追加の処理段階手段を含み、
前記第2パイプライン部分が、前記追加の処理段階手段に続いて、前記追加の処理操作が完了されているかを判定し、
(i)前記追加の処理操作が完了されていない場合、前記主題命令を、前記第2パイプライン部分を通り抜けるように再循環させ、
(ii)前記追加の処理操作が完了されている場合、前記処理パイプライン手段から前記主題命令を引き下げる
第2ゲート段階手段を含む、データ処理装置。
【請求項17】
以下の工程:
メモリ内にデータを保存することと、
前記メモリからフェッチされたデータをキャッシュ内に保存することと、
複数のパイプライン段階を有する前記処理パイプラインに沿って進むプログラム命令により指定されたデータ処理操作を実行することと
を含み、
前記処理パイプライン手段が、複数のパイプライン段階を有する第1パイプライン部分と、後続する複数のパイプライン段階を有する第2パイプライン部分とを含み、更に、
前記第1パイプライン部分内でロード段階を利用して、前記標的データが前記キャッシュ内にまだ保存されていない時に、前記メモリから前記標的データをフェッチし、前記標的データを前記キャッシュ内に保存することにより、主題命令に応答することと、
前記第1パイプライン部分内で、前記ロード段階に続く第1ゲート段階を利用して、前記標的データが前記キャッシュ内に存在するかを判定し、
(i)前記標的データが前記キャッシュ内に存在しない場合、前記主題命令を、前記第1パイプライン部分を通り抜けるように再循環させ、
(ii)前記標的データが前記キャッシュ内に存在する場合、前記主題命令を前記第2パイプライン部分に通過させることと、
前記第2パイプライン部分内で追加の処理段階を利用して、前記標的データを利用して追加の処理操作を実行することにより、前記主題命令に応答することと、
前記第2パイプライン部分内で、前記追加の処理段階に続く第2ゲート段階を利用して、前記追加の処理操作が完了されているかを判定し、
(i)前記追加の処理操作が完了されていない場合、前記主題命令を、前記第2パイプライン部分を通り抜けるように再循環させ、
(ii)前記追加の処理操作が完了されている場合、前記処理パイプライン手段から前記主題命令を引き下げることと
を含む、データ処理方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate


【公開番号】特開2013−16150(P2013−16150A)
【公開日】平成25年1月24日(2013.1.24)
【国際特許分類】
【外国語出願】
【出願番号】特願2012−94511(P2012−94511)
【出願日】平成24年4月18日(2012.4.18)
【出願人】(504394342)アーム・リミテッド (134)
【Fターム(参考)】