(57)【要約】【課題】クロック信号を制御することで低消費電力で動作する三次元グラフィック描画装置を提供する。【解決手段】クロック制御手段がジオメトリ処理手段及びレンダリング処理手段内の各処理手段からのビジー信号によりジオメトリ処理手段及びレンダリング処理手段内の各処理手段における１ポリゴンまたは１ピクセルの処理の終了を検知し、ジオメトリ処理手段及びレンダリング処理手段内の各処理手段にひとつずつクロック信号を供給して順次動作させることにより、複数の処理手段がクロック信号の重複入力による同時動作をなくす。【選択図】図１
2007233730.tif 000002
【特許請求の範囲】
【請求項１】
三次元データを入力してジオメトリ処理を行い頂点データを求めるジオメトリ処理手段と、異なる処理を行う複数の処理手段により構成され、前記ジオメトリ処理手段から出力された頂点データにレンダリング処理を行い画素データを生成するレンダリング処理手段と、前記ジオメトリ処理手段及び前記レンダリング処理手段内の各処理手段の動作をクロック信号によって制御するクロック制御手段を備える三次元グラフィック描画装置であって、
前記クロック制御手段は、前記ジオメトリ処理手段及び前記レンダリング処理手段内の各処理手段からのビジー信号により前記ジオメトリ処理手段及び前記レンダリング処理手段内の各処理手段における１ポリゴンまたは１ピクセルの処理の終了を検知し、前記ジオメトリ処理手段と前記レンダリング処理手段内の各処理手段とを１つずつ順次動作させるように各クロック信号を供給することを特徴とする三次元グラフィック描画装置。
【請求項２】
前記レンダリング処理手段は、ジオメトリ処理手段から出力された一つのポリゴン分の頂点データにセットアップ処理を行うセットアップ処理手段と、前記セットアップ処理手段から出力されたデータにラスタライズ処理を行いピクセルを生成するラスタライズ処理手段と、前記ラスタライズ処理手段から出力されたピクセルに対しテクスチャの貼り付け処理を行うテクスチャ処理手段と、前記テクスチャ処理手段から出力されたピクセルを既に描画されているピクセルとの前後関係の比較やブレンドの処理を行いフレームバッファへ書き込みを行うピクセル処理手段とを備え、
前記クロック制御手段は、前記各処理手段からのビジー信号により前記各処理手段における１ポリゴンまたは１ピクセルの処理の終了を検知し、前記ジオメトリ処理手段と前記セットアップ処理手段と前記ラスタライズ処理手段と前記テクスチャ処理手段と前記ピクセル処理手段とを順次動作させるように各クロック信号を供給することを特徴とする請求項１記載の三次元グラフィック描画装置。
【請求項３】
前記テクスチャ処理手段および前記ピクセル処理手段はそれぞれキャッシュを備え、
前記クロック制御手段は、前記テクスチャ処理手段または前記ピクセル処理手段においてキャッシュのミスヒットが発生すると、該処理手段へのクロック信号の供給を停止し、前記テクスチャ処理手段または前記ピクセル処理手段が外部メモリからデータの読出しが終了するまでの間、次に動作可能な処理手段へクロック信号を供給して動作させ、外部メモリからのデータの読出しが終了したらクロック信号の供給を停止していた処理手段へ再びクロック信号を供給して動作を再開させる事を特徴とする請求項２記載の三次元グラフィック描画装置。
【請求項４】
前記ジオメトリ処理手段と前記レンダリング処理手段内の各処理手段が共有して使用する演算手段を備え、
前記クロック制御手段は、前記演算手段に対して前記ジオメトリ処理手段と前記レンダリング処理手段内の各処理手段の何れの処理手段からのデータを演算するかを指示することを特徴とする請求項１から３何れかに記載の三次元グラフィック描画装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、動作時の消費電力を抑制する三次元グラフィック描画装置に関するものである。
【背景技術】
【０００２】
三次元グラフィック描画処理は大きくジオメトリ処理とレンダリング処理に大別することができる。ジオメトリ処理とレンダリング処理の各処理をパイプライン処理により高速化を図る技術が公知になっている。（例えば、非特許文献１）。
【０００３】
また、三次元グラフィック描画装置の消費電力を低減させるための方法として、描画処理が非実行状態の時にクロック信号の供給を停止することにより消費電力の低減を図る方法がある（例えば、特許文献１）。
また、三次元グラフィック描画装置の消費電力を低減させるための別の方法として、ジオメトリ処理部とレンダリング処理部へ交互にクロック信号を供給して交互に動作させることにより消費電力の低減を図る方法がある（例えば、特許文献２）。
【０００４】
【特許文献１】特開2000-285227号公報
【特許文献２】特開2003-271986号公報
【非特許文献１】Tomas Moller, Eric Haines共著「Real-Time Rendering」A K Peters, Ltd., 1999年,P7〜21
【発明の開示】
【発明が解決しようとする課題】
【０００５】
三次元グラフィック描画装置を携帯機器に搭載する場合には低消費電力であることが要求される。
従来の特許文献１による消費電力低減の方法は、三次元グラフィック描画装置が動作していない間は消費電力を低減することができるが、三次元グラフィック描画装置が動作しているときには、当該装置を構成する全ての処理部にクロック信号が供給されるため、動作中の消費電力を低減することはできないという課題があった。
【０００６】
特許文献２による消費電力低減の方法は、ジオメトリ処理部とレンダリング処理部を交互に動作させるため動作中消費電力を低減することができるが、キャッシュについては考慮されていなかった。例えば回路規模を削減するために内蔵メモリを使用せずに、レンダリング処理部内にテクスチャキャッシュやピクセルキャッシュを有する構成であった場合、キャッシュにミスヒットして外部メモリからデータを読み出す時にはデータの読出しが完了するまでの間は処理を行えないために待ち時間が発生し、無駄な電力を消費するという課題があった。
【０００７】
この発明は上記のような課題を解決するためになされたものであり、クロック信号を制御することにより低消費電力で効率良く動作する三次元グラフィック描画装置を得ることを目的とする。
【課題を解決するための手段】
【０００８】
この発明に係る三次元グラフィック描画装置は、
三次元データを入力してジオメトリ処理を行い頂点データを求めるジオメトリ処理手段と、異なる処理を行う複数の処理手段により構成され、前記ジオメトリ処理手段から出力された頂点データにレンダリング処理を行い画素データを生成するレンダリング処理手段と、前記ジオメトリ処理手段及び前記レンダリング処理手段内の各処理手段の動作をクロック信号によって制御するクロック制御手段を備え、
前記クロック制御手段は、前記ジオメトリ処理手段及び前記レンダリング処理手段内の各処理手段からのビジー信号により前記ジオメトリ処理手段及び前記レンダリング処理手段内の各処理手段における１ポリゴンまたは１ピクセルの処理の終了を検知し、前記ジオメトリ処理手段と前記レンダリング処理手段内の各処理手段とを１つずつ順次動作させるように各クロック信号を供給する構成にされる。
【発明の効果】
【０００９】
この発明によれば、クロック制御手段がジオメトリ処理手段及びレンダリング処理手段内の各処理手段からのビジー信号によりジオメトリ処理手段及びレンダリング処理手段内の各処理手段における１ポリゴンまたは１ピクセルの処理の終了を検知し、ジオメトリ処理手段及びレンダリング処理手段内の各処理手段をひとつずつ順次動作させることにより、複数の処理手段に同時にクロック信号が入力されることがなく、三次元グラフィック描画装置の処理動作中の消費電力が低減できるという効果がある。
【発明を実施するための最良の形態】
【００１０】
実施の形態１．
図１は、この発明の実施の形態１による三次元グラフィック描画装置の構成を示すブロック図である。
図において、１は三次元グラフィック描画装置、２は三次元グラフィック描画装置１が外部のホストＣＰＵ（ホストコンピュータ）１３とデータ送受信を行うときに使用するホストインタフェースである。
３はキャッシュと外部バスインタフェース９を介して外部メモリ１２から三次元データを読み出して、当該三次元データが示す三次元シーンを構成するポリゴンの各頂点に幾何学処理を施し、二次元の画面に描画するための頂点データを求めるジオメトリ処理部（ジオメトリ処理手段）である。
４はジオメトリ処理部３から出力された頂点データを入力し、この頂点データから画素データを生成するレンダリング処理部（レンダリング処理手段）であり、セットアップ処理部５、ラスタライズ処理部６、テクスチャ処理部７、ピクセル処理部８から構成される。
【００１１】
セットアップ処理部（セットアップ処理手段）５はジオメトリ処理部３から頂点データを入力し、この頂点データからラスタライズ処理に必要な増分値等のパラメータを求める。
ラスタライズ処理部（ラスタライズ処理手段）６はセットアップ処理部５で求められたパラメータに従って所定の補間を行い、ポリゴンを構成する画素データを順次生成する。
テクスチャ処理部（テクスチャ処理手段）７はラスタライズ処理部６によって生成された各画素データに対応させてテクスチャイメージの画素データを貼り付けるテクスチャマッピング処理等をおこなう。テクスチャイメージはキャッシュと外部バスインタフェース９を介して外部メモリ１２から読み込みを行う。
【００１２】
ピクセル処理部（ピクセル処理手段）８はテクスチャ処理部７から出力される画素データについて、奥行きを表すＺ値を大小比較するデプステストやアルファ値を比較するアルファテスト等を行って当該画素データをフレームバッファへ書き込むか否かを判定するピクセルテスト処理と、既にフレームバッファに書き込まれているカラー値とピクセルテスト処理でフレームバッファに書き込む判定を行った画素データのカラー値とをブレンディングするピクセルブレンディング処理とを行って、フレームバッファへ書き込む画素データを生成する。
なお、フレームバッファは外部メモリ上１２に存在し、ピクセル処理部８はキャッシュと外部バスインタフェース９を介してフレームバッファの読み書きを行う。
【００１３】
外部バスインタフェース９はジオメトリ処理部３、テクスチャ処理部７、ピクセル処理部８が夫々に設けられたキャッシュから外部メモリ１２へアクセスする際に使用する。
１０はジオメトリ処理部３、セットアップ処理部５、ラスタライズ処理部６、テクスチャ処理部７、ピクセル処理部８へ入力する各クロック信号を制御するクロック制御部（クロック制御手段）である。
１１は三次元グラフィック描画装置１、外部メモリ１２、ＣＰＵ１３等を接続するための外部バスである。
【００１４】
また、ＣＬＫ１はジオメトリ処理部３へ入力されるクロック信号、ＣＬＫ２はセットアップ処理部５へ入力されるクロック信号、ＣＬＫ３はラスタライズ処理部６へ入力されるクロック信号、ＣＬＫ５はテクスチャ処理部７へ入力されるクロック信号、ＣＬＫ６はピクセル処理部８へ入力されるクロック信号で、それぞれクロック制御部１０から出力される。
【００１５】
また、ＢＳＹ０はジオメトリ処理部３が１シーン分のポリゴンの処理を行っている最中であることを示すビジー信号で、ジオメトリ処理部３からクロック制御部１０へ出力される。
ＢＳＹ１はジオメトリ処理部３が１ポリゴンの処理を行っている最中であることを示すビジー信号で、ジオメトリ処理部３からクロック制御部１０へ出力される。
ＢＳＹ２はセットアップ処理部５が１ポリゴンの処理を行っている最中であることを示すビジー信号で、セットアップ処理部５からクロック制御部１０へ出力される。
ＢＳＹ３はラスタライズ処理部６が１ポリゴンの処理を行っている最中であることを示すビジー信号で、ラスタライズ処理部６からクロック制御部１０へ出力される。
ＢＳＹ４はラスタライズ処理部６が１ピクセルの処理を行っている最中であることを示すビジー信号で、ラスタライズ処理部６からクロック制御部１０へ出力される。
【００１６】
ＢＳＹ５はテクスチャ処理部７が１ピクセルの処理を行っている最中であることを示すビジー信号で、テクスチャ処理部７からクロック制御部１０へ出力される。
ＢＳＹ６はピクセル処理部８が１ピクセルの処理を行っている最中であることを示すビジー信号で、ピクセル処理部８からクロック制御部１０へ出力される。
【００１７】
また、ＭＩＳＳ５はテクスチャ処理部７においてキャッシュのミスヒットが発生して外部メモリ１２のデータを読み出している最中であることを示す信号で、外部バスインタフェース９からクロック制御部１０へ出力される。
ＭＩＳＳ６はピクセル処理部８においてキャッシュのミスヒットが発生して外部メモリ１２のデータを読み出している最中であることを示す信号で、バスインタフェース９からクロック制御部１０へ出力される。
【００１８】
次に動作について説明する。図２、図３および図４は、実施の形態１による三次元グラフィック描画装置の動作を示す説明図である。図１に示したクロック信号ＣＬＫ１，ＣＬＫ２，ＣＬＫ４，ＣＬＫ５，ＣＬＫ６，ビジー信号ＢＳＹ０，ＢＳＹ１，ＢＳＹ２，ＢＳＹ３，ＢＳＹ４、ＢＳＹ５，ＢＳＹ６，ミスヒット信号ＭＩＳＳ５，ＭＩＳＳ６のタイミングチャートを用いて、各部分の機能および動作を説明する。
【００１９】
三次元グラフィック描画装置１の初期状態は、クロック制御部１０がジオメトリ処理部３にクロック信号ＣＬＫ１を供給し、セットアップ処理部５へのクロック信号ＣＬＫ２とラスタライズ処理部６へのクロック信号ＣＬＫ４とテクスチャ処理部７へのクロック信号ＣＬＫ５とピクセル処理部８へのクロック信号ＣＬＫ６の供給を停止している状態である。
また、ジオメトリ処理部３、セットアップ処理部５、ラスタライズ処理部６、テクスチャ処理部７、ピクセル処理部８から夫々出力されるビジー信号ＢＳＹ０，ＢＳＹ１，ＢＳＹ２，ＢＳＹ３，ＢＳＹ４，ＢＳＹ５，ＢＳＹ６は全て“０”で、これらの処理部、また三次元グラフィック描画装置１が動作していないことを示している。
【００２０】
三次元グラフィック描画処理を開始する際には、ＣＰＵ１３等によって外部メモリ１２に三次元データが設定され、クロック制御部１０からクロック信号ＣＬＫ１の供給を開始させてジオメトリ処理部３を起動させる（図２のタイミングＴ２０）。
起動したジオメトリ処理部３は、“１”を示すビジー信号ＢＳＹ０，ＢＳＹ１をクロック制御部１０に出力する。また、外部バスインタフェース９を介して外部メモリ１２から１ポリゴン分のデータを読み出して、当該データの１ポリゴンのジオメトリ処理を行い、その処理結果の頂点データをセットアップ処理部５へ出力し、“０”を示すビジー信号ＢＳＹ１をクロック制御部１０へ出力する。
【００２１】
クロック制御部１０は、ジオメトリ処理部３から出力されたビジー信号ＢＳＹ１が“１”から“０”へ変化すると、ジオメトリ処理部３において１ポリゴンのデータ処理が終了したことを検知してジオメトリ処理部３へのクロック信号ＣＬＫ１の供給を停止し、セットアップ処理部５へクロック信号ＣＬＫ２の供給を開始してセットアップ処理部５を起動させる。ジオメトリ処理部３は、クロック信号ＣＬＫ１の供給が停止されるとビジー信号ＢＳＹ０を“１”に保持した状態のまま処理動作を停止する（図２のタイミングＴ２１）。
【００２２】
起動したセットアップ処理部５は、“１”を示すビジー信号ＢＳＹ２を出力してジオメトリ処理部３から出力されたポリゴンの頂点データのセットアップ処理を行い、処理結果のデータをラスタライズ処理部６へ出力してビジー信号ＢＳＹ２を“０”にする。
クロック制御部１０は、セットアップ処理部５から出力されたビジー信号ＢＳＹ２が“１”から“０”へ変化すると、セットアップ処理部５の動作終了を検知し、セットアップ処理部５へのクロック信号ＣＬＫ２の供給を停止し、ラスタライズ処理部６へクロック信号ＣＬＫ４を供給してラスタライズ処理部を起動させる（図２のタイミングＴ２２）。
【００２３】
起動したラスタライズ処理部６は、“１”を示すビジー信号ＢＳＹ３，ＢＳＹ４をクロック制御部１０へ出力し、セットアップ処理部５から出力されたポリゴンのデータに基づいてラスタライズ処理を開始する。ラスタライズ処理によりポリゴンを構成する１ピクセルの処理が終了すると、ラスタライズ処理部６はその処理結果のピクセルデータをテクスチャ処理部７へ出力し、“０”を示すビジー信号ＢＳＹ４をクロック制御部１０へ出力する。
【００２４】
クロック制御部１０は、ラスタライズ処理部６から出力されたビジー信号ＢＳＹ４が“１”から“０”へ変化すると、ラスタライズ処理部６において１ピクセルのデータ処理が終了したことを検知してラスタライズ処理部６へのクロック信号ＣＬＫ４の供給を停止し、テクスチャ処理部７へクロック信号ＣＬＫ５の供給を開始してテクスチャ処理部７を起動させる。ラスタライズ処理部６は、クロック信号ＣＬＫ４の供給が停止されるとビジー信号ＢＳＹ３を“１”に保持した状態のまま処理動作を停止する（図２に示すタイミングＴ２３）。
【００２５】
起動したテクスチャ処理部７は、“１”を示すビジー信号ＢＳＹ５をクロック制御部１０へ出力し、ラスタライズ処理部６から出力されたピクセルデータに基づいてテクスチャ処理を行う。参照するテクスチャデータがキャッシュ内に存在する場合には、そのテクスチャデータを使用してテクスチャ処理を行い、処理結果のピクセルデータをピクセル処理部８へ出力し、“０”を示すビジー信号ＢＳＹ５をクロック制御部１０へ出力する。
参照するテクスチャデータがキャッシュ内に存在しない場合、すなわちキャッシュでミスヒットが発生した場合の処理については後述する。
【００２６】
クロック制御部１０は、テクスチャ処理部７から出力されたビジー信号ＢＳＹ５が“１”から“０”へ変化すると、テクスチャ処理部７において１ピクセルのデータ処理が終了したことを検知してテクスチャ処理部７へのクロック信号ＣＬＫ５の供給を停止し、ピクセル処理部８へクロック信号ＣＬＫ６の供給を開始してピクセル処理部８を起動させる（図２のタイミングＴ２４）。
【００２７】
起動したピクセル処理部８は、“１”を示すビジー信号ＢＳＹ６をクロック制御部１０へ出力し、テクスチャ処理部７から出力されたピクセルデータに基づいてピクセル処理を行う。ピクセル処理においては、ピクセルの前後関係を比較するためのデプステストやカラー値のブレンディング処理等のために、既にフレームバッファに描画されているピクセルデータが必要となる。参照するピクセルデータがキャッシュ内に存在する場合には、そのピクセルデータを使用してピクセル処理を行い、処理結果のピクセルデータを外部バスインタフェース９を介して外部メモリ１２内にあるフレームバッファへ送って描画を行い、“０”を示すビジー信号ＢＳＹ６をクロック制御部１０へ出力する。
参照するピクセルデータがキャッシュ内に存在しない場合、すなわちキャッシュでミスヒットが発生した場合の処理については後述する。
以上の一連の処理により１ピクセルの処理が完了する。
【００２８】
クロック制御部１０は、ピクセル処理部８から出力されたビジー信号ＢＳＹ６が“１”から“０”へ変化すると、ピクセル処理部８において１ピクセルのデータ処理が終了したことを検知してテクスチャ処理部８へのクロック信号ＣＬＫ５の供給を停止する。
そして、ラスタライズ処理部６から出力されているビジー信号ＢＳＹ３が“１”であれば、ラスタライズ処理部６においてまだ処理すべきピクセルが残っていることを示しているので、ラスタライズ処理部６へのクロック信号ＣＬＫ４を供給し、ラスタライズ処理部６の動作を再開させる（図２のタイミングＴ２５）。
【００２９】
以降、ラスタライズ処理部６、テクスチャ処理部７、ピクセル処理部８において順次１ピクセルずつ処理を行う。ラスタライズ処理部６はポリゴンを構成する全てのピクセルの処理が終了したら“０”を示すビジー信号ＢＳＹ３をクロック制御部へ出力する（図２のタイミングＴ２６）。
【００３０】
クロック制御部１０は、ピクセル処理部８の動作が終了したときに、ラスタライズ処理部６から出力されているビジー信号ＢＳＹ３が“０”、かつジオメトリ処理部３から出力されているビジー信号ＢＳＹ０が“１”であれば、ジオメトリ処理部３においてまだ処理すべきポリゴンがあることを示しているので、ジオメトリ処理部３へクロック信号ＣＬＫ１を供給し、ジオメトリ処理部３の動作を再開させる（図２のタイミングＴ２７）。
【００３１】
以降、ジオメトリ処理部３、セットアップ処理部５、ラスタライズ処理部６、テクスチャ処理部７、ピクセル処理部８において順次１ポリゴンまたは１ピクセルずつ処理を行う。ジオメトリ処理部３は１シーンを構成する全てのポリゴンの処理が終了したら“０”を示すビジー信号ＢＳＹ３をクロック制御部へ出力する（図２のタイミングＴ２８）。
各処理部から出力されるすべてのビジー信号のＯＲをとったものが“０” （図２のタイミングＴ２９）になれば、１シーンの描画処理が終了したことを意味し、この後、適宜、外部メモリ１２内のフレームバッファに格納されている画素データが図示しない表示装置に読み出されて、三次元データに基づく画像表示が行われる。
【００３２】
次にキャッシュのミスヒットが起こった場合の動作について説明する。
テクスチャ処理部７において参照するテクスチャデータがテクスチャ処理部７のキャッシュ内に存在しない場合には外部メモリ１２から読み出す必要があるため、外部バスインタフェース９に対して必要なテクスチャデータの読出しを要求する。
外部バスインタフェース９はテクスチャ処理部７からデータ読出しの要求があると外部バス１１を介して外部メモリ１２からテクスチャデータの読出しを開始すると共に、テクスチャ処理部７がキャッシュでミスヒットしてデータの読出しを行っている最中であることを示すミスヒット信号ＭＩＳＳ５を“１”としてクロック制御部１０へ出力する。
【００３３】
クロック制御部１０は、ミスヒット信号ＭＩＳＳ５が“０”から“１”へ変化すると、テクスチャ処理部７でキャッシュのミスヒットが発生しデータ待ちのため処理が一時停止していることを検知し、テクスチャ処理部７へのクロック信号ＣＬＫ５の供給を停止する。そして、次に動作できる処理部を探し、その処理部へクロック信号を供給する。
この時に、ラスタライズ処理部６からのビジー信号ＢＳＹ３が“１”であれば、ラスタライズ処理部６にまだ処理すべきピクセルが残っていることを示しているので、クロック制御部１０はラスタライズ処理部６へクロック信号ＣＬＫ４を供給し、次のピクセルの処理を開始させる（図３のタイミングＴ３０、Ｔ３４）。
【００３４】
ラスタライズ処理部６は、外部バスインタフェース９がデータの読出しを行っている間に次のピクセルのラスタライズ処理を行う。ここで、例えば図３のタイミングＴ３５のように外部バスインタフェース９のテクスチャデータの読出しが終わらないうちにラスタライズ処理部６において次のピクセルのラスタライズ処理が終了した場合は、テクスチャ処理部７が次のデータを受け取れないのでラスタライズ処理部６はデータを出力することができず、テクスチャ処理部７の動作の終了を待つこととなる。
【００３５】
外部バスインタフェース９は、テクスチャ処理部７からの要求によるテクスチャデータの読出しが終了すると、読み出したデータをテクスチャ処理部７へ出力すると共にミスヒット信号ＭＩＳＳ５を“０”としてクロック制御部へ出力する。
クロック制御部１０は、ミスヒット信号ＭＩＳＳ５が“１”から“０”へ変化すると、テクスチャ処理部７が必要とするテクスチャデータの読出しが終了したことを検知し、テクスチャ処理部７へのクロック信号ＣＬＫ５を供給し、動作を再開させる。また、同時にそれまでクロックを供給していたラスタライズ処理部６へのクロック信号ＣＬＫ４の供給を停止し、動作を停止させる（図３のタイミング３１、３６）。
【００３６】
動作を再開したテクスチャ処理部７は、外部バスインタフェース９より読み出したテクスチャデータを使用してテクスチャ処理を行い、処理結果のピクセルデータをピクセル処理部８へ出力し、“０”を示すビジー信号ＢＳＹ５をクロック制御部１０へ出力する（図３のタイミング３２、３７）。すると、クロック制御部１０がテクスチャ処理部７へのクロック信号ＣＬＫ５の供給を停止し、ピクセル処理部８へのクロック信号ＣＬＫ６を供給してピクセル処理部を起動させる。この処理は、前述したテクスチャ処理部７においてキャッシュのミスヒットが起こらなかった場合と同様である。
【００３７】
その後、ピクセル処理部８の処理が終了すると、ビジー信号ＢＳＹ３が“１”であり、ラスタライズ処理部６が処理の途中であることを表しているので、クロック制御部１０はラスタライズ処理部６へのクロック信号ＣＬＫ４を供給する（図３のタイミングＴ３３，Ｔ３８）。
ラスタライズ処理部６は次のピクセルの処理が途中で停止していた場合には残りの処理を行う。次のピクセルの処理が既に終了している場合にはすぐに処理結果をテクスチャ処理部へ出力する（図３のタイミングＴ３８）。
そして、再びテクスチャ処理部７が起動され、入力されたピクセルに対してテクスチャ処理を行う。
【００３８】
クロック制御部１０は、ミスヒット信号ＭＩＳＳ５が“０”から“１”へ変化したときに、ビジー信号ＢＳＹ３が“０”で、ＢＳＹ０が“１”であれば、ジオメトリ処理部３が次に動作できると判断し、ジオメトリ処理部３へのクロック信号ＣＬＫ１を供給し、次のポリゴンのジオメトリ処理を開始させる（図４のタイミングＴ４０，Ｔ４２）。
ジオメトリ処理部３は、外部バスインタフェース９がテクスチャデータの読出しを行っている間に次のポリゴンのジオメトリ処理を行う。ここで、例えば図４のタイミングＴ４３のように外部バスインタフェース９のテクスチャデータの読出しが終わらないうちにジオメトリ処理部３において次のポリゴンのジオメトリ処理が終了した場合には、セットアップ処理部５を起動し、次のポリゴンのセットアップ処理を開始させる。
【００３９】
そして、クロック制御部１０は、ミスヒット信号ＭＩＳＳ５が“１”から“０”へ変化すると、テクスチャ処理部７へのクロック信号ＣＬＫ５を供給し動作を再開させ、また、同時にそれまでクロックを供給していた処理部へのクロックの供給を停止する（図４のタイミング４１，４４）。
その後、キャッシュのミスヒットが起こらなかった場合と同様に処理を行い、ピクセル処理部８の処理が終了すると、クロック制御部１０は次の処理部へクロック信号を供給する。ビジー信号ＢＳＹ２が“１”であれば、セットアップ処理部５が処理の途中であることを表しているのでセットアップ処理部５へのクロック信号ＣＬＫ２を供給し、ビジー信号ＢＳＹ２が“０”かつＢＳＹ０が“１”であれば、ジオメトリ処理部３へのクロック信号ＣＬＫ１を供給し、次のポリゴンの処理を開始させる（図４のタイミングＴ４１，Ｔ４５）。
【００４０】
以上のようにテクスチャ処理部７においてキャッシュのミスヒットが発生すると、クロック制御部１０は、ジオメトリ処理部３、セットアップ処理部５、ラスタライズ処理部６の中から次に動作できる処理部を探し、外部バスインタフェース９がテクスチャデータの読出しを行っている間に次の処理を行わせるように各クロック信号の制御を行う。
【００４１】
同様に、ピクセルキャッシュ８においてキャッシュのミスヒットが発生すると、クロック制御部１０は、ジオメトリ処理部３、セットアップ処理部５、ラスタライズ処理部６、テクスチャ処理部７の中から次に動作できる処理部を判断し、外部バスインタフェース９がピクセルデータの読出しを行っている間に次の処理を行わせるように各クロック信号の制御を行う。
ピクセル処理部８は参照するピクセルデータがキャッシュ内に存在しない場合には外部バスインタフェース９に対して必要なピクセルデータの読出しを要求する。
【００４２】
外部バスインタフェース９はピクセル処理部８からピクセルデータ読出しの要求があると外部バス１１を介して外部メモリ１２からピクセルデータの読出しを開始すると共に、ピクセル処理部８がキャッシュでミスヒットしてピクセルデータの読出しを行っている最中であることを示すミスヒット信号ＭＩＳＳ６を“１”としてクロック制御部１０へ出力する。
クロック制御部１０は、ミスヒット信号ＭＩＳＳ６が“０”から“１”へ変化すると、ピクセル処理部８でキャッシュのミスヒットが発生しピクセルデータ待ちのため処理が一時停止していることを検知し、ピクセル処理部８へのクロック信号ＣＬＫ５の供給を停止する。そして、次に動作できる処理部を判断し、その処理部へクロック信号を供給する。
【００４３】
外部バスインタフェース９は、ピクセル処理部８からの要求によるピクセルデータの読出しが終了すると、読み出したピクセルデータをピクセル処理部８へ出力すると共にミスヒット信号ＭＩＳＳ６を“０”としてクロック制御部１０へ出力する。
クロック制御部１０は、ミスヒット信号ＭＩＳＳ６が“１”から“０”へ変化すると、ピクセル処理部８が必要とするピクセルデータの読出しが終了したことを検知し、ピクセル処理部８へのクロック信号ＣＬＫ６を供給し、動作を再開させる。また、同時にそれまでクロックを供給していた他の処理部へのクロックの供給を停止し、動作を停止させる。
【００４４】
動作を再開したピクセル処理部８は、外部バスインタフェース９より読み出したピクセルデータを使用してピクセル処理を行い、処理結果のピクセルデータを外部バスインタフェース９を介して外部メモリ１２内にあるフレームバッファへ送信して描画を行い、“０”を示すビジー信号ＢＳＹ６をクロック制御部１０へ出力する。
クロック制御部１０は、ピクセル処理部８から出力されたビジー信号ＢＳＹ６が“１”から“０”へ変化すると、ピクセル処理部８の動作終了を検知し、ピクセル処理部８へのクロック信号ＣＬＫ６の供給を停止し、次に動作させる処理部に対してクロック信号を供給する。
【００４５】
クロック制御部１０は、ピクセル処理部８でキャッシュがミスヒットした場合およびピクセル処理部８の動作が終了したときには、各処理部から出力されるビジー信号により、次に動作させる処理部を決定する。
・ ビジー信号ＢＳＹ５が“１”であればテクスチャ処理部７へのクロック信号ＣＬＫ    ５を供給し、テクスチャ処理部７を動作させる。
・ ビジー信号ＢＳＹ５が“０”かつＢＳＹ３“１”であればラスタライズ処理部６へ    のクロック信号ＣＬＫ３を供給し、ラスタライズ処理部６を動作させる。
・ ビジー信号ＢＳＹ５，ＢＳＹ３が“０”かつＢＳＹ２が“１”であればセットアッ    プ処理部５へのクロック信号ＣＬＫ２を供給し、セットアップ処理部５を動作させる。
・ ビジー信号ＢＳＹ５，ＢＳＹ３，ＢＳＹ２が“０”かつＢＳＹ０が“１”であれば    ジオメトリ処理部３へのクロック信号ＣＬＫ１を供給し、ジオメトリ処理部３を動作    させる。
前記説明のジオメトリ処理、セットアップ処理、ラスタライズ処理、テクスチャ処理及びピクセル処理を順次繰り返して処理を続け、各処理部から出力されるすべてのビジー信号のＯＲをとったものが“０”であれば１シーンの描画処理が終了する。
【００４６】
以上のように、この実施の形態１によれば、ジオメトリ処理部３、セットアップ処理部５、ラスタライズ処理部６、テクスチャ処理部７及びピクセル処理部８をひとつずつ順次動作させることにより、複数の処理部に同時にクロック信号が入力されることがなく、三次元グラフィック描画装置１の処理動作中の消費電力が低減できるという効果がある。さらに、テクスチャ処理部７、ピクセル処理部８においてキャッシュのミスヒットが発生した場合に、外部メモリ１２のデータを読み出している間に別の動作できる処理部を動作させることにより、三次元グラフィック描画装置１を効率よく動作させることができ、無駄な消費電力を削減することができるという効果がある。
【００４７】
実施の形態２．
図５は、この発明の実施の形態２による三次元グラフィック描画装置の構成を示すブロック図である。図１に示した三次元グラフィック描画装置１と同一あるいは相当する部分に同じ符号を付し、その説明を省略する。
図において、１４はジオメトリ処理部３、セットアップ処理部５、ラスタライズ処理部６、テクスチャ処理部７及びピクセル処理部８が共通して使用する演算部であり、乗算器や加減算器等の演算器により構成される。
ジオメトリ処理部３、セットアップ処理部５、ラスタライズ処理部６、テクスチャ処理部７及びピクセル処理部８の各処理部は、処理を行う際に演算部１４に対して乗算や加減算などの演算の種類および演算の対象となるデータを出力する。演算部１４は各処理ブロックに対し、演算結果を出力する。
また、ＳＥＬはクロック制御部１０が演算部１４に対してどの処理部がからのデータを処理すべきかを指示する信号である。
【００４８】
次に動作について説明する。図６は、実施の形態２による三次元グラフィック描画装置の動作を示すタイミングチャートである。図６に示すように、クロック制御部１０は演算部１４に対してどの処理部からのデータを処理すべきかを指示する信号ＳＥＬを出力する。図６では“１”はジオメトリ処理部３、“２”はセットアップ処理部５、“４”はラスタライズ処理部６、“５”はテクスチャ処理部７、“６”はピクセル処理部８からのデータをそれぞれ処理すべきであることを示している。演算部１４はこのＳＥＬ信号により各処理部からのデータを選択し、演算を行い演算結果を各処理部へ出力する。
前記以外の動作は実施の形態１と同様であるので、その説明を省略する。
【００４９】
以上のように、この実施の形態２によれば、ジオメトリ処理部３、セットアップ処理部５、ラスタライズ処理部６、テクスチャ処理部７及びピクセル処理部８をひとつずつ順次動作させることにより、複数の処理部に同時にクロック信号が入力されることがなく、三次元グラフィック描画装置１の処理動作中の消費電力が低減できるという効果がある。また、テクスチャ処理部７、ピクセル処理部８においてキャッシュのミスヒットが発生した場合に、外部メモリ１２のデータを読み出している間に別の動作できる処理部を動作させることにより、三次元グラフィック描画装置１を効率よく動作させることができ、無駄な消費電力を削減することができるという効果がある。さらに、各処理部が共通して使用する共有化の演算器を設けることにより、同時に複数の処理部が演算処理を実行するという誤動作を防止でき、なおかつ回路規模を削減することができるという効果がある。
【産業上の利用可能性】
【００５０】
この発明による三次元グラフィック描画装置は、描画装置における複数の処理ブロックを夫々のクロック信号を制御することにより順番に動作させることで、低消費電力化が図れ、低消費電力化が要求される携帯電話機等の携帯機器用の３Ｄグラフィクスコアに適用されると特に効果がある。
【図面の簡単な説明】
【００５１】
【図１】この発明の実施の形態１による三次元グラフィック描画装置の構成を示すブロック図である。
【図２】実施の形態１による三次元グラフィック描画装置の描画処理動作の説明図である。
【図３】テクスチャ処理部におけるキャッシュのミスヒットが起こった場合のラスタライズ処理部等の動作説明図である。
【図４】テクスチャ処理部におけるキャッシュのミスヒットが起こった場合のジオメトリ処理部等の動作説明図である。
【図５】この発明の実施の形態２による三次元グラフィック描画装置の構成を示すブロック図である。
【図６】実施の形態２による三次元グラフィック描画装置の動作説明図である。
【符号の説明】
【００５２】
１；三次元グラフィック描画装置、２；ホストインタフェース、３；ジオメトリ処理部（ジオメトリ処理手段）、４；レンダリング処理部（レンダリング処理手段）、５；セットアップ処理部（セットアップ処理手段）、６；ラスタライズ処理部（ラスタライズ処理手段）、７；テクスチャ処理部（テクスチャ処理手段）、８；ピクセル処理部（ピクセル処理手段）、９；外部バスインタフェース、１０；クロック制御部（クロック制御手段）、１１；外部バス、１２；外部メモリ、１３；ＣＰＵ、１４；演算部。
【図１】
2007233730.tif 000003
【図２】
2007233730.tif 000004
【図３】
2007233730.tif 000005
【図４】
2007233730.tif 000006
【図５】
2007233730.tif 000007
【図６】
2007233730.tif 000008