(57)【要約】【課題】  複数の処理装置の間で送受されるコマンドの発行タイミングを効率的に制御する。【解決手段】  実行コマンド保持部２２２は、外部のコマンド送信主体から受信された実行コマンドを所定個数を上限として保持する。実行コマンド発行部２３０は、保持されている実行コマンドを取り出してコマンド実行主体に発行する。調整コマンド保持部２２４は、コマンド送信主体から実行コマンドの発行順序を調整するために送信された調整コマンドを保持する。実行コマンド保持部２２２が実行コマンドを保持するための記憶領域と、調整コマンド保持部２２４が調整コマンドを保持するための記憶領域は別々に確保される記憶領域である。実行コマンド発行部２３０は、調整コマンドが保持されているときには、調整コマンドの受信前に受信された実行コマンドの発行が終了したことを条件として調整コマンドの受信後に受信された実行コマンドを発行する。【選択図】  図３
2006318176.tif 000002
【特許請求の範囲】
【請求項１】
外部のコマンド送信主体から実行コマンドを受信する実行コマンド受信部と、
前記受信された実行コマンドを所定個数を上限として保持する実行コマンド保持部と、
前記保持されている実行コマンドの間で定められた発行順序にしたがって、前記保持されている実行コマンドを取り出してコマンド実行主体に発行する実行コマンド発行部と、
前記コマンド送信主体から前記実行コマンドの発行順序を調整するために送信された調整コマンドを受信する調整コマンド受信部と、
前記受信された調整コマンドを保持する調整コマンド保持部と、を備え、
前記実行コマンド保持部が実行コマンドを保持するための記憶領域と、前記調整コマンド保持部が調整コマンドを保持するための記憶領域は別々に確保される記憶領域であって、
前記実行コマンド発行部は、前記調整コマンドが保持されているときには、発行順序調整処理として、前記調整コマンドの受信前に受信された実行コマンドの発行が終了したことを条件として前記調整コマンドの受信後に受信された実行コマンドを発行することを特徴とするコマンド実行制御装置。
【請求項２】
前記実行コマンド保持部は、実行コマンドの受信順序にしたがって実行コマンドを保持し、
前記実行コマンド発行部は、前記受信順序と必ずしも同じではない発行順序にしたがって、前記実行コマンドを発行することを特徴とする請求項１に記載のコマンド実行制御装置。
【請求項３】
前記実行コマンド保持部と前記調整コマンド保持部はそれぞれ別個のメモリとして設けられたことを特徴とする請求項１または２に記載のコマンド実行制御装置。
【請求項４】
前記実行コマンド保持部と前記調整コマンド保持部の一対は複数個設けられ、
調整コマンドには、それら複数の調整コマンド保持部のいずれかを指定するための保持先指定情報が含まれ、
前記調整コマンド受信部は、調整コマンド中の保持先指定情報を参照して、その調整コマンドを保持すべき調整コマンド保持部を選択し、
前記実行コマンド発行部は、調整コマンドが保持されているときには、その調整コマンドを保持する調整コマンド保持部に対して一対として設けられた実行コマンド保持部について前記発行順序調整処理を実行することを特徴とする請求項１から３のいずれかに記載のコマンド実行制御装置。
【請求項５】
前記実行コマンド保持部と前記調整コマンド保持部の一対は複数個設けられ、
前記調整コマンド受信部は、調整コマンドに含まれる送信先アドレスに応じて、その調整コマンドを保持すべき調整コマンド保持部を選択し、
前記実行コマンド発行部は、調整コマンドが保持されているときには、その調整コマンドを保持する調整コマンド保持部に対して一対として設けられた実行コマンド保持部について前記発行順序調整処理を実行することを特徴とする請求項１から３のいずれかに記載のコマンド実行制御装置。
【請求項６】
複数のコマンド送信主体に対し、コマンド送信主体ごとに前記実行コマンド保持部と前記調整コマンド保持部が一対としてそれぞれ設けられ、
前記実行コマンド受信部は、受信した実行コマンドを送信元のコマンド送信主体に対応づけられた実行コマンド保持部に保持させ、
前記調整コマンド受信部は、受信した調整コマンドを送信元のコマンド送信主体に対応づけられた調整コマンド保持部に保持させ、
前記実行コマンド発行部は、前記調整コマンドが保持されているときには、その調整コマンドを保持する調整コマンド保持部に対して一対として設けられた実行コマンド保持部について前記発行順序調整処理を実行することを特徴とする請求項１から３のいずれかに記載のコマンド実行制御装置。
【請求項７】
前記実行コマンドの発行先となるコマンド実行主体とともにワンチップの電子デバイスに含まれて形成されたことを特徴とする請求項１から６のいずれかに記載のコマンド実行制御装置。
【請求項８】
前記コマンド送信主体とは物理的に異なる電子デバイスとして形成されたことを特徴とする請求項１から７のいずれかに記載のコマンド実行制御装置。
【請求項９】
請求項１から８のいずれかに記載のコマンド実行制御装置が複数個接続された前記コマンド送信主体として、
それら複数のコマンド実行制御装置に対して実行コマンドを送信する実行コマンド送信部と、
前記複数のコマンド実行制御装置のうち、前記発行順序調整処理の実行を要求すべきコマンド実行制御装置に対して前記調整コマンドを送信する調整コマンド送信部と、
を備えることを特徴とするコマンド実行指示装置。
【請求項１０】
請求項４に記載のコマンド実行制御装置が接続された前記コマンド送信主体として、
前記コマンド実行制御装置に対して実行コマンドを送信する実行コマンド送信部と、
前記コマンド実行制御装置が備える複数の調整コマンド保持部のうち、いずれかを保持先として指定するための保持先指定情報を含む調整コマンドを送信する調整コマンド送信部と、
を備えることを特徴とするコマンド実行指示装置。
【請求項１１】
外部のコマンド送信主体から受信した実行コマンドを保持するためのメモリである受信メモリに対して、レジスタメモリを併設し、
前記レジスタメモリに対して所定のデータが書き込まれたときには、前記受信メモリからその書き込み以後に受信された実行コマンドの発行を停止せしめることを特徴とするコマンド実行制御装置。
【請求項１２】
複数の受信メモリに対して、それぞれレジスタメモリを併設し、
前記レジスタメモリに対して前記所定のデータが書き込まれたときには、前記レジスタメモリが併設される受信メモリからその書き込み以後に受信された実行コマンドの発行を停止せしめることを特徴とする請求項１１に記載のコマンド実行制御装置。
【請求項１３】
前記レジスタメモリに前記所定のデータが書き込まれたときであっても、前記所定のデータが書き込まれていない他のレジスタメモリに併設される受信メモリからの実行コマンドの発行は停止せしめないことを特徴とする請求項１２に記載のコマンド実行制御装置。
【請求項１４】
請求項１１から１３のいずれかに記載のコマンド実行制御装置が複数個接続された前記コマンド送信主体として、
前記複数のコマンド実行制御装置のうち、実行コマンドの発行を停止させるべきコマンド実行制御装置の前記レジスタメモリに対してのみ前記所定のデータを書き込むことを特徴とするコマンド実行指示装置。
【請求項１５】
外部のコマンド送信主体から実行コマンドを受信するステップと、
受信された実行コマンドを所定個数を上限として保持するステップと、
前記保持されている実行コマンドの間で定められた発行順序にしたがって、前記保持されている実行コマンドを取り出してコマンド実行主体に発行するステップと、
前記コマンド送信主体から前記実行コマンドの発行順序を調整するために送信された調整コマンドを受信するステップと、
実行コマンドが保持されるための記憶領域とは別個に設けれれた記憶領域にて前記受信された調整コマンドを保持するステップと、を備え、
前記調整コマンドが保持されているときには、発行順序調整処理として、前記調整コマンドの受信前に受信された実行コマンドの発行が終了することを条件として、前記調整コマンドの受信後に受信された実行コマンドを発行することを特徴とするコマンド実行制御方法。
【請求項１６】
請求項１５に記載の方法において、実行コマンドの受信順序と必ずしも同じではない発行順序にしたがって、前記実行コマンドを発行することを特徴とするコマンド実行制御方法。
【請求項１７】
外部のコマンド送信主体から受信した実行コマンドを保持するためのメモリである受信メモリに対して、レジスタメモリが併設された装置において、
前記レジスタメモリに所定のデータが書き込まれたときには、前記受信メモリからその書き込み以後に受信された実行コマンドの発行を停止せしめることを特徴とするコマンド実行制御方法。
【請求項１８】
請求項１７に記載の方法において、複数の受信メモリにそれぞれ併設されたレジスタメモリに対して前記所定のデータが書き込まれたときには、そのレジスタメモリが併設される受信メモリからその書き込み以後に受信された実行コマンドの発行を停止せしめることを特徴とするコマンド実行制御方法。
【請求項１９】
請求項１８に記載の方法において、前記レジスタメモリに前記所定のデータが書き込まれたときであっても、前記所定のデータが書き込まれていない他のレジスタメモリが併設される受信メモリからの実行コマンドの発行は停止せしめないことを特徴とするコマンド実行制御方法。
【請求項２０】
外部のコマンド送信主体から実行コマンドを受信する機能と、
受信された実行コマンドを所定個数を上限として保持する機能と、
前記保持されている実行コマンドの間で定められた発行順序にしたがって、前記保持されている実行コマンドを取り出してコマンド実行主体に発行する機能と、
前記コマンド送信主体から前記実行コマンドの発行順序を調整するために送信された調整コマンドを受信する機能と、
実行コマンドが保持されるための記憶領域とは別個に設けれれた記憶領域にて前記受信された調整コマンドを保持する機能と、
前記調整コマンドが保持されているときには、発行順序調整処理として、前記調整コマンドの受信前に受信された実行コマンドの発行が終了することを条件として前記調整コマンドの受信後に受信された実行コマンドを発行する機能と、
をコンピュータに発揮させることを特徴とするコマンド実行制御プログラム。
【請求項２１】
外部のコマンド送信主体から受信した実行コマンドを保持するためのメモリである受信メモリに対して、レジスタメモリが併設された装置において、
前記レジスタメモリに所定のデータが書き込まれたときには、前記受信メモリからその書き込み以後に受信された実行コマンドの発行を停止せしめる機能をコンピュータに発揮させることを特徴とするコマンド実行制御プログラム。
【請求項２２】
コンピュータにて読み取り可能な記録媒体であって、
外部のコマンド送信主体から実行コマンドを受信する機能と、
前記保持されている実行コマンドの間で定められた発行順序にしたがって、前記保持されている実行コマンドを取り出してコマンド実行主体に発行する機能と、
前記コマンド送信主体から前記実行コマンドの発行順序を調整するために送信された調整コマンドを受信する機能と、
実行コマンドが保持されるための記憶領域とは別個に設けれれた記憶領域にて前記受信された調整コマンドを保持する機能と、
前記調整コマンドが保持されているときには、発行順序調整処理として、前記調整コマンドの受信前に受信された実行コマンドの発行が終了することを条件として前記調整コマンドの受信後に受信された実行コマンドを発行する機能と、
をコンピュータに発揮させることを特徴とするコマンド実行制御プログラム
を格納した記録媒体。
【請求項２３】
外部のコマンド送信主体から受信した実行コマンドを保持するためのメモリである受信メモリに対して、レジスタメモリが併設された装置において、
前記レジスタメモリに所定のデータが書き込まれたときには、前記受信メモリからその書き込み以後に受信された実行コマンドの発行を停止せしめる機能をコンピュータに発揮させることを特徴とするコマンド実行制御プログラム
を格納したコンピュータにて読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コマンドの実行を制御するための技術、特に、外部から受信したコマンドの発行順序を制御するための技術、に関する。
【背景技術】
【０００２】
近年のコンピュータゲームやデジタル放送などの分野に利用されるコンピュータグラフィックス技術や画像処理技術の著しい進歩に伴い、コンピュータ、ゲーム機器、テレビなどの情報処理装置はより高精細の画像データをより高速に処理する能力を求められている。そのためには、演算処理自体の高速化が必要であることは勿論であるが、複数の処理装置間でタスクを好適に分散することも同様に重要である。
【０００３】
このとき、複数の処理装置間では、互いにタスクの実行を指示するための制御命令（以下、単に「コマンド」とよぶ）が送受され、これにより各処理装置は連係動作する。たとえば、ある処理装置Ａは、別の処理装置Ｂに対してさまざまなコマンドを送信する。処理装置Ｂは、受信したコマンドを自己の待ち行列にキューイングする。処理装置Ｂは、待ち行列のコマンドを実行しやすいものから順に実行する。このような、いわゆるコマンドキューイング（Command Queuing）とアウトオブオーダー実行(Out of Order Execution)は、処理装置Ａと処理装置Ｂを非同期的に動作させ、複数の処理装置による全体としての処理効率を高める上で有効な手法として広く採用されている。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
上記したようなコマンドキューイングおよびアウトオブオーダー実行によれば、処理装置Ａは、処理装置Ｂに対して一旦コマンドを送信すれば、事実上、処理装置Ｂの処理状況を関知する必要がない。しかし、コマンドの中には、処理装置Ｂのコマンド処理状況に応じて実行されるべきコマンドもある。たとえば、処理装置Ａが処理装置Ｂに対して、所定の演算を指示するための演算指示コマンドを送信し、その演算結果の読み出しを指示するための読み出しコマンドを続けて送信する場合、読み出しコマンドは演算指示コマンドの実行が完了してから実行される必要がある。
【０００５】
処理装置Ｂが、待ち行列に入っているコマンドをアウトオブオーダー実行するときに、それらのコマンドの内容に鑑みて実行順序を調整するとすれば、処理装置Ｂの負担が大きくなる。一方、処理装置Ａが処理装置Ｂのコマンド処理状況に応じて、読み出しコマンドの送信タイミングを制御するとすれば、処理装置Ａの負担が大きくなる。いずれの方式においても、処理装置Ａと処理装置Ｂが互いの事情を多かれ少なかれ関知する必要が生じるため、このような状況は、複数の処理装置における全体としての処理効率を悪化させる原因となる。
【０００６】
本発明は、このような課題に鑑みてなされたものであり、その主たる目的は、複数の処理装置の間で送受されるコマンドを効率的に制御するための技術、を提供することにある。
【課題を解決するための手段】
【０００７】
本発明のある態様は、コマンド実行制御装置である。
この装置は、外部のコマンド送信主体から実行コマンドを受信し、所定個数を上限として保持する。保持された実行コマンドは、実行コマンドの間で定められた発行順序にしたがって取り出され、コマンド実行主体に発行される。
この装置は、コマンド送信主体から実行コマンドの発行順序を調整するために送信された調整コマンドも受信する。実行コマンドを保持するための記憶領域と、調整コマンドを保持するための記憶領域は別々に確保される記憶領域であって、調整コマンドが保持されているときには、調整コマンドの受信前に受信された実行コマンドの発行が終了したことを条件として調整コマンドの受信後に受信された実行コマンドが発行される。
【０００８】
このような態様において、コマンド実行制御装置は調整コマンドが保持されているか否かにより、実行コマンドの発行順序について調整コマンドの受信タイミングに応じた調整を行うべきか否かを判定する。
【０００９】
本発明の別の態様は、コマンド実行指示装置である。
この装置は、複数のコマンド実行制御装置に対して実行コマンドを送信する。コマンド実行制御装置における実行コマンドの発行順序を調整させるときには、これら複数のコマンド実行制御装置のうち、その対象となるコマンド実行制御装置に対して調整コマンドを送信する。
【００１０】
本発明のある態様は、コマンド実行制御装置である。
この装置は、外部のコマンド送信主体から受信した実行コマンドを保持するためのメモリである受信メモリに対してレジスタメモリを併設し、レジスタメモリに対して所定のデータが書き込まれたときには、受信メモリからその書き込み以後に受信された実行コマンドの発行を停止せしめる。
【００１１】
このような態様において、コマンド実行制御装置はレジスタメモリに書き込みがなされているか否かにより、実行コマンドの発行を停止するか否か判定する。
【００１２】
本発明の別の態様は、コマンド実行指示装置である。
この装置は、複数のコマンド実行制御装置に接続され、これら複数のコマンド実行制御装置のうち実行コマンドの発行を停止させるべきコマンド実行制御装置のレジスタメモリに対してのみ所定のデータを書き込む。
【００１３】
なお、本発明を方法、装置、システム、記録媒体、コンピュータプログラムにより表現したものもまた、本発明の態様として有効である。
【発明の効果】
【００１４】
本発明によれば、複数の処理装置の間で送受されるコマンドを効率的に制御する上で効果がある。
【発明を実施するための最良の形態】
【００１５】
図１は、情報処理装置の機能ブロック図である。
情報処理装置１００は、統括制御部１１０、画像処理部１２０およびメインメモリ１４０を含む。情報処理装置１００は表示装置１５０と接続されている。表示装置１５０は、統括制御部１１０および画像処理部１２０の処理の結果得られた画像、映像を出力する。情報処理装置１００は、外部機器を制御するためのさまざまなＩ／Ｏデバイス１６０ともバス１１８を介して接続されている。情報処理装置１００と接続されるＩ／Ｏデバイス１６０は、複数個、また、複数種類であってよい。統括制御部１１０や画像処理部１２０はそれぞれワンチップの電子デバイスとして形成されており、お互いは物理的に分離されている。情報処理装置１００は、これらの電子デバイスをさらに包含する電子デバイスとして形成されてもよい。
【００１６】
図１などにおいて、さまざまな処理を行う機能ブロックとして記載される各要素は、ハードウェア的には、ＣＰＵ（Central Processing Unit）、メモリ、その他のＬＳＩ（Large Scale Integration）で構成することができ、ソフトウェア的には、メモリにロードされた予約管理機能のあるプログラムなどによって実現される。したがって、これらの機能ブロックがハードウェアのみ、ソフトウェアのみ、またはそれらの組合せによっていろいろな形で実現できることは当業者には理解されるところであり、いずれかに限定されるものではない。
また、この情報処理装置１００では、情報処理装置１００を効率よく使用するための機能、環境を提供し、装置全体を統括的に制御するオペレーティングシステム（以下、単に「ＯＳ（Operating System）」とよぶ）が実行される。ＯＳ上で複数のアプリケーションソフトウェアが実行される。
【００１７】
統括制御部１１０は、１つの主制御装置１１２と複数の副制御装置１１６を含む。副制御装置１１６および主制御装置１１２はバス１１８により相互通信可能である。主制御装置１１２は、各アプリケーションにおける基本処理単位としてのタスクを各副制御装置１１６に割り当てる。あるいは、主制御装置１１２自身がタスクを実行してもよい。副制御装置１１６がそれぞれ割り当てられたタスクを実行することにより、複数のタスクが並列処理される。
以下、タスクの割り当て処理を含む主制御装置１１２により実行される処理のことを「メインプロセス」、副制御装置１１６により実行される処理のことを「サブプロセス」とよぶ。主制御装置１１２は、ユーザインタフェースに関する処理のように比較的優先度が高い情報処理装置１００全体を統括する処理を実行する。これに対して、副制御装置１１６は、比較的優先度が低いバックグラウンドで実行される計算のようにメインプロセスの下請け的な処理を実行する。
【００１８】
主制御装置１１２や副制御装置１１６に含まれる図示しないＤＭＡＣ（Direct Memory Access Controller）は、メインメモリ１４０や画像処理部１２０に内蔵されるグラフィックスメモリ１２８との間のデータ転送、データ退避などを主制御装置１１２または副制御装置１１６からの命令によって制御する。
【００１９】
メインメモリ１４０は、主に統括制御部１１０によって使用される記憶領域である。メインメモリ１４０には、タスクの実行状態に関連するデータが格納される。たとえば、統括制御部１１０によりコンピュータグラフィックスに関する座標計算が実行されて得られた座標データなどが一時的に格納される。また、このメインメモリ１４０には、画像処理部１２０により生成されたデータが退避される場合もある。
【００２０】
画像処理部１２０は、画像処理を専用に実行するユニットであり、たとえば、レンダリング処理を実行する。画像処理部１２０は、統括制御部１１０からの指示により画像処理を実行する。画像処理部１２０は、統括制御部１１０により処理されるそれぞれのタスクに関連する画像処理を行い、生成した画像、映像を表示装置１５０に出力する。画像処理部１２０は、複数の画像処理を時分割して並列的に実行してもよい。
【００２１】
画像処理部１２０は、グラフィックスメモリ１２８、演算ユニット１３０、ディスプレイコントローラ１２６、制御ブロック１２４、画像処理側ＤＭＡＣ１２２およびコマンド実行制御装置２００を含む。これらのユニット同士も、バス１１８で接続されており、各ユニット間で相互通信可能である。
【００２２】
グラフィックスメモリ１２８は、画像処理部１２０により使用、管理されるグラフィックスデータを記憶するためのメモリ領域である。グラフィックスメモリ１２８には、画像フレームデータが格納されるフレームバッファやＺバッファに加えて、画像フレームデータを描画する際に参照される基本データである頂点データ、テクスチャデータ、カラールックアップテーブルなどのデータに対応する領域が用意されている。
【００２３】
制御ブロック１２４は、画像処理部１２０全体を制御するブロックである。制御ブロック１２４は、演算ユニット１３０、グラフィックスメモリ１２８、ディスプレイコントローラ１２６を統括的に制御し、各ブロック間のデータ転送の同期管理やタイマー管理等を行う。
【００２４】
画像処理側ＤＭＡＣ１２２は、統括制御部１１０やメインメモリ１４０とグラフィックスメモリ１２８の間のデータ転送、データ退避などを制御ブロック１２４からの命令によって制御する。
【００２５】
ディスプレイコントローラ１２６は、水平および垂直同期信号を生成し、表示装置１５０の表示タイミングにしたがって、グラフィックスメモリ１２８に格納されるフレームバッファから画像フレームデータのピクセルデータをライン状に順次読み込んでいく。さらにディスプレイコントローラ１２６は、ライン状に読み込まれたピクセルデータを、ＲＧＢ（Red-Green-Blue）のカラー値からなるデジタルデータから表示装置１５０に対応したフォーマットに変換して出力する。
【００２６】
演算ユニット１３０は、制御ブロック１２４からの命令にしたがって、グラフィックスに関するさまざまな演算処理を行う。その処理の一例としては、３次元モデリングデータをもとに座標変換、陰面消去、シェーディングを行って画像フレームデータを作成し、フレームバッファに書き込む一連のレンダリング処理などが挙げられる。
演算ユニット１３０は、特に３次元グラフィックスに関する処理を高速に行うために、ラスタライザ１３２、シェーダユニット１３４、テクスチャユニット１３６などの機能ブロックを含む。
【００２７】
ラスタライザ１３２は、描画する基本物体（以下、「プリミティブ」とよぶ）の頂点データを統括制御部１１０から受け取り、３次元空間上のプリミティブを投影変換により描画平面上の図形に変換するビュー変換を行う。さらに、描画平面上の図形を、描画平面の水平方向に沿ってスキャンしながら、一列ごとに量子化されたピクセルに変換するラスタ処理を行う。このラスタライザ１３２によってプリミティブがピクセル展開されて、各ピクセルごとにピクセル情報を算出する。このピクセル情報には、ＲＧＢカラー値、透明度を表すα値、視点からの奥行きを表すＺ値が含まれる。
【００２８】
ラスタライザ１３２は、スキャンラインに沿って所定の大きさのピクセル領域を生成し、シェーダユニット１３４、テクスチャユニット１３６へと出力する。ラスタライザ１３２から出力されるピクセル領域は、一度キューにスタックされ、シェーダユニット１３４はスタックされたピクセル領域を順に処理していく。
【００２９】
シェーダユニット１３４は、ラスタライザ１３２により算出されたピクセル情報をもとにシェーディング処理を行い、テクスチャユニット１３６により得られたテクセル情報をもとに、テクスチャマッピング後のピクセル色を決定し、グラフィックスメモリ１２８内のフレームバッファにシェーディング処理後の画像フレームデータを書き込む。さらにシェーダユニット１３４はフレームバッファに書き込まれた画像フレームデータに対してフォギング、アルファブレンディング等の処理を行い最終的な描画色を決定してフレームバッファの画像フレームデータを更新する。
【００３０】
テクスチャユニット１３６は、シェーダユニット１３４からテクスチャデータを指定するパラメータを受け取り、要求されたテクスチャデータをグラフィックスメモリ１２８内のテクスチャバッファを読み出し、所定の処理を行った後にシェーダユニット１３４に対して出力する。
【００３１】
画像処理部１２０はプリミティブの頂点データなど画像生成のために必要な基本情報や画像生成の開始指示を統括制御部１１０から与えられると、統括制御部１１０とは独立して画像処理を実行する。画像処理部１２０により生成されたデータはグラフィックスメモリ１２８やメインメモリ１４０に転送される。
【００３２】
画像処理部１２０に含まれるコマンド実行制御装置２００は、統括制御部１１０から画像処理部１２０に対して送信されたコマンドの発行タイミングを制御する。以下、コマンドのうち、コマンドの処理主体に対してタスク実行を指示するための制御命令のことを「実行コマンド」とよび、コマンド実行制御装置２００に実行コマンドの発行順序を調整させるための補助的な制御命令のことを「調整コマンド」とよぶ。また、以降は、実行コマンドと調整コマンドを総称するときには「制御コマンド」とよぶ。調整コマンドと調整コマンドともなって実行コマンドの発行順序を調整するための発行順序調整処理については、図４に関連して詳述する。
【００３３】
コマンド実行制御装置２００は、統括制御部１１０の主制御装置１１２や副制御装置１１６のみならず、Ｉ／Ｏデバイス１６０のようなその他のデバイスから送信される制御コマンドも受信する。すなわち、画像処理部１２０のコマンド実行制御装置２００は外部のコマンド送信主体から画像処理部１２０に対して送信された制御コマンドをまとめて受信する。コマンド実行制御装置２００は、実行コマンドを受信するとその実行コマンドの処理主体である制御ブロック１２４やディスプレイコントローラ１２６などの各種ユニットに対して発行する。画像処理部１２０に含まれる各ユニットは、コマンド実行制御装置２００から発行された実行コマンドによって指示された各種のタスクを実行する。
【００３４】
なお、コマンド実行制御装置２００は、画像処理部１２０のみならず、Ｉ／Ｏデバイス１６０にも搭載される。Ｉ／Ｏデバイス１６０に搭載されるコマンド実行制御装置２００は、統括制御部１１０や画像処理部１２０、すなわち、情報処理装置１００のような外部のコマンド送信主体から制御コマンドを受信し、Ｉ／Ｏデバイス１６０内における各種ユニットに対して実行コマンドを発行する。
コマンド実行制御装置２００の詳細については、次の図２および図３に関連して詳述する。
【００３５】
図２は、一般的なコマンド実行制御装置の機能ブロック図である。
ここでは、画像処理部１２０に搭載されるコマンド実行制御装置２００について、実行コマンド送信主体が統括制御部１１０であるとして説明する。コマンド実行制御装置２００は、制御コマンド受信部２１０、制御コマンド保持部２２０および実行コマンド発行部２３０を含む。
【００３６】
制御コマンド受信部２１０は、外部のコマンド送信主体から実行コマンドを受信する。制御コマンド保持部２２０は、受信された実行コマンドを待ち行列として確保された記憶領域に保持する。実行コマンド発行部２３０は、制御コマンド保持部２２０から実行コマンドを取り出して、コマンドの処理主体である各ユニットに発行する。受信処理と発行処理は別プロセスとして実行されるため、受信処理と発行処理は互いに同期する必要がない。すなわち、実行コマンドが受信されると制御コマンド保持部２２０に保持されていくが、実行コマンド発行部２３０は保持されている実行コマンドの中から実行しやすい順序で実行コマンドを発行する。そのため、受信状況や発行状況に応じて制御コマンド保持部２２０に保持されている実行コマンドの数は増減する。制御コマンド保持部２２０は、制御コマンド受信部２１０と実行コマンド発行部２３０による非同期動作を実現する上でバッファとしての役割を果たしている。
【００３７】
制御コマンド保持部２２０は受信順に実行コマンドを保持するが、実行コマンドは実行しやすい順に発行される。そのため、実行コマンドの受信順序と発行順序とは必ずしも一致しない。ここで、実行しやすい順序で実行コマンドの発行する状況としては、たとえば、演算ユニット１３０に対する複数個の実行コマンドが受信された後に、制御ブロック１２４に対する実行コマンドが受信された場合がある。このようなときには、演算ユニット１３０がすべての実行コマンドの処理を完了するのと待ってから、制御ブロック１２４に実行コマンドを発行するよりも、演算ユニット１３０が実行コマンドを処理している最中に制御ブロック１２４に実行コマンドを発行してしまった方が全体としての処理が効率的となる。このようにコマンド実行制御装置２００は、必要であれば実行コマンドがアウトオブオーダー実行されるように発行順序を制御する。
【００３８】
すでにみたように、コマンド送信主体である統括制御部１１０とコマンド実行制御装置２００は、コマンドの送受に関して非同期動作する。しかし、実行コマンドの中には、制御コマンド保持部２２０に保持されているすべての実行コマンドの発行が完了してから発行されるよう保証すべきコマンド（以下、「同期型実行コマンド」とよぶ）もある。たとえば、演算の実行を指示するための実行コマンドを発行した後に、その演算結果を取得するための実行コマンドを発行する場合である。
【００３９】
一般的には、統括制御部１１０がいわゆるダミーリード命令として実行コマンド（以下、「ダミーリードコマンド」とよぶ）を送信し、ダミーリードコマンドが実行されたことを確認してから、同期型実行コマンドを送信する方法（以下、「第１方式」とよぶ）がある。このとき、統括制御部１１０は、ダミーリードコマンドの送信から実行確認までの期間待たされることになってしまう。
【００４０】
もうひとつの方法として、統括制御部１１０がいわゆるフラッシュ命令として実行コマンド（以下、「フラッシュコマンド」とよぶ）を送信する方法（以下、「第２方式」とよぶ）がある。フラッシュコマンドも、実行コマンドの一種であるため制御コマンド保持部２２０に保持されることになる。実行コマンド発行部２３０は制御コマンド保持部２２０にフラッシュコマンドがあれば、フラッシュコマンドの受信後に受信されていた実行コマンドがフラッシュコマンドの受信前に受信されていた実行コマンドよりも先に発行されないように注意する必要がある。
【００４１】
動作周波数の高速化やパイプライン段数の増加によるレイテンシのカバーのために、制御コマンド保持部２２０における待ち行列のサイズは増加しつつある。第１方式は、待ち行列が長くなるほどコマンド実行制御装置２００による発行順序調整処理についての負荷を増加させやすい。現在でも、このような発行順序調整処理のためにＣＰＵの動作周波数として１万サイクル以上が消費されることもある。
【００４２】
さらに、第２方式における従来のコマンド送信主体は、接続されるすべてのコマンド受信主体にフラッシュコマンドをブロードキャストしている。しかし、このような送信方法は、すべてのコマンド受信主体においてフラッシュコマンドに関する処理を強制することになり、全体としての処理効率を悪化させやすい。
【００４３】
図３は、本実施例におけるコマンド実行制御装置の機能ブロック図である。
ここでも、画像処理部１２０に搭載されるコマンド実行制御装置２００について説明する。コマンド実行制御装置２００は、制御コマンド受信部２１０、制御コマンド保持部２２０および実行コマンド発行部２３０を含む。
【００４４】
制御コマンド受信部２１０は、実行コマンド受信部２１２と調整コマンド受信部２１４を含む。実行コマンド受信部２１２は、統括制御部１１０の主制御装置１１２や副制御装置１１６から実行コマンドを受信する。調整コマンド受信部２１４は、統括制御部１１０の主制御装置１１２や副制御装置１１６から調整コマンドを受信する。なお、その他のＩ／Ｏデバイス１６０から制御コマンドが受信されてもよい。
【００４５】
制御コマンド保持部２２０は単一であってもよいが、本実施例としては、制御コマンド保持部２２０はコマンド送信主体に応じて複数個設けられる場合について説明する。たとえば、画像処理部１２０のコマンド実行制御装置２００が、１つの主制御装置１１２と８つの副制御装置１１６からコマンドを受信する場合、制御コマンド保持部２２０はそれぞれのコマンド送信主体に対して計９個設けられることになる。
【００４６】
制御コマンド保持部２２０は、実行コマンド保持部２２２と調整コマンド保持部２２４を含む。実行コマンド保持部２２２は、複数個の実行コマンドを保持する。調整コマンド保持部２２４は調整コマンドを保持する。実行コマンド保持部２２２が実行コマンドを保持するための記憶領域と調整コマンド保持部２２４が調整コマンドを保持するための記憶領域は、物理的に別個のメモリにおいて確保されてもよい。あるいは、物理的に同一のメモリにおいて、別々の記憶領域として確保されてもよい。本実施例においては、調整コマンド保持部２２４における調整コマンドの記憶領域は、実行コマンド保持部２２２における実行コマンドの記憶領域を提供するためのメモリに併設される物理的に別個のレジスタメモリにて提供される。
【００４７】
実行コマンド受信部２１２は、実行コマンドを受信すると、その送信元のコマンド送信主体に対応づけられた制御コマンド保持部２２０を特定する。そして、特定した制御コマンド保持部２２０の実行コマンド保持部２２２に実行コマンドを保持させる。
調整コマンド受信部２１４は、調整コマンドを受信するとその送信元のコマンド送信主体に対応づけられた制御コマンド保持部２２０を特定する。そして、特定した制御コマンド保持部２２０の調整コマンド保持部２２４に調整コマンドを保持させる。
【００４８】
実行コマンド発行部２３０は、各制御コマンド保持部２２０における実行コマンド保持部２２２から実行コマンドを、処理主体となるユニットに対して発行する。実行コマンド発行部２３０は、実行コマンドを取り出すべき制御コマンド保持部２２０を巡回選択する。そして、各実行コマンド保持部２２２から適宜実行コマンドを取り出して各ユニットに発行する。
【００４９】
各実行コマンド保持部２２２が保持可能な実行コマンドの数（以下、「最大保持コマンド数」とよぶ）は、コマンド送信主体に応じてそれぞれ異なってもよい。たとえば、画像処理部１２０に対して多くの実行コマンドを発行するコマンド送信主体に対応した制御コマンド保持部２２０は、他の制御コマンド保持部２２０よりも最大保持コマンド数を大きく設定されてもよい。あるいは、実行コマンドの受信状況に応じて、動的に各実行コマンド保持部２２２の最大保持コマンド数を変更する制御部があってもよい。
【００５０】
このような態様によれば、各実行コマンド保持部２２２における最大保持コマンド数を好適に設定することにより、コマンド実行制御装置２００全体としての記憶容量を効率的に配分できる。また、コマンド送信主体に対応して複数の制御コマンド保持部２２０を設ければ、特定のコマンド送信主体が大量に実行コマンドを送信して実行コマンド保持部２２２がオーバーフローしても、他のコマンド送信主体はその影響を受けずに実行コマンドを発行することができる。
【００５１】
コマンド送信主体に応じて複数の制御コマンド保持部２２０を設けることは、コマンド送信主体側にもメリットがある。たとえば、第１のコマンド送信主体が多くの実行コマンドを送信している状況下において、第２のコマンド送信主体が実行コマンドを送信したとする。このようなときであっても、実行コマンド発行部２３０は複数の制御コマンド保持部２２０を平等に選択する。そのため、第２のコマンド送信主体が第１のコマンド送信主体による送信状況によって過度に実行コマンドの発行を待たされにくくなる。すなわち、各コマンド送信主体について実行コマンドの発行待ち時間を平準化しやすくなる。
【００５２】
なお、制御コマンド保持部２２０は、必ずしもコマンド送信主体に応じて設けられる必要はない。たとえば、制御コマンド保持部２２０は、画像処理部１２０におけるコマンド実行主体に応じて設けられてもよい。調整コマンドのデータパケットは、複数の調整コマンド保持部２２４のいずれかを指定するための保持先指定領域を含んでもよい。コマンド送信主体である主制御装置１１２や副制御装置１１６は、調整コマンドをコマンド実行制御装置２００に送信するに際しては、この保持先指定領域に調整コマンド保持部２２４を特定するためのＩＤを書き込んで調整コマンドを送信する。調整コマンド受信部２１４は、受信した調整コマンドの保持先指定領域に示されるＩＤを参照して、いずれかの調整コマンド保持部２２４に調整コマンドを転送する。無論、調整コマンドに限らず、実行コマンドにおいても、このような保持先指定領域が含まれてもよい。この場合、実行コマンド受信部２１２は、受信した実行コマンドの保持先指定領域に示されるＩＤを参照して、いずれかの実行コマンド保持部２２２に実行コマンドを転送する。
なお、保持先指定領域は、調整コマンドにおける命令のオペランドが指定される領域であってもよい。
【００５３】
保持先指定領域には、コマンド実行主体を特定するためのＩＤが書き込まれてもよい。この場合、実行コマンド受信部２１２や調整コマンド受信部２１４は、そのＩＤによって指定されたコマンド実行主体に対応する制御コマンド保持部２２０を制御コマンドの転送先として選択する。
主制御装置１１２などのコマンド送信主体は、コマンド実行主体を特定するためのＩＤを書き込んだ調整コマンドを複数のコマンド実行制御装置２００に対してブロードキャストしてもよい。この場合、ＩＤによって指定されるべき制御コマンド保持部２２０を含まないコマンド実行制御装置２００は、受信した調整コマンドを破棄する。一方、指定される制御コマンド保持部２２０を含むコマンド実行制御装置２００は、その制御コマンド保持部２２０に対して調整コマンドを転送する。このような態様によれば、調整コマンドをブロードキャストしたとしても、無関係のコマンド実行制御装置２００に過度の処理負荷がかかるのを抑制できる。
【００５４】
実行コマンドと調整コマンドは、同じフォーマットのパケットデータとして送受されてもよい。たとえば、制御コマンドのパケットデータうち所定のビットがオンとなっていれば実行コマンド、オフであれば調整コマンドであるとしてもよい。制御コマンド受信部２１０は、このビットのオンオフを検出することにより、受信した制御コマンドが実行コマンドであるか調整コマンドであるかを判定してもよい。そして、制御コマンドにおける保持先指定領域を参照して、いずれかの制御コマンド保持部２２０を選択するとしてもよい。
【００５５】
更に別例を示す。制御コマンドは、ライト命令のディスティネーションアドレスとして送信先アドレスを含む。制御コマンド受信部２１０は、この送信先アドレスに応じて、制御コマンド保持部２２０を選択してもよい。たとえば、制御コマンド受信部２１０は、送信先アドレスに応じていずれかの制御コマンド保持部２２０を対応づけた選択テーブルを保持してもよい。そして、制御コマンド受信部２１０の実行コマンド受信部２１２や調整コマンド受信部２１４は、この選択テーブルを参照して、制御コマンドにおける送信先アドレスに応じた制御コマンド保持部２２０を転送先として選択してもよい。
次に、調整コマンド保持部２２４に保持される調整コマンドによって、実行コマンドの発行順序を調整する本実施例における発行順序調整処理の原理を説明する。
【００５６】
図４は、本実施例における発行順序調整処理の仕組みを説明するための模式図である。
図４（ａ）〜図４（ｅ）は、制御コマンド受信部２１０が実行コマンドと調整コマンドを受信しつつ、実行コマンド発行部２３０が実行コマンドを発行するときの時間的な流れとして例示している。
【００５７】
図４（ａ）は、本実施例における発行順序調整処理において、第１の状態を示す模式図である。第１の状態において、実行コマンド保持部２２２は実行コマンドＡ、Ｂ、Ｃ、Ｄを保持している。調整コマンド保持部２２４は調整コマンドを保持していない。実行コマンド保持部２２２の各記憶領域にはフラグが設けられている。同図において、各領域の上部に記載されている「１」または「０」とあるのがこのフラグである。フラグが「１」である領域に格納された実行コマンドは発行可能であることを示す。フラグが「０」である領域に格納された実行コマンドは発行不可能であることを示す。第１の状態においては、実行コマンド保持部２２２のすべての領域についてフラグは「１」となっている。そのため、実行コマンド発行部２３０は、実行コマンドＡ、Ｂ、Ｃ、Ｄの中から実行しやすい順にいずれかの実行コマンドを発行する。
ここでは、実行コマンドＢが発行されたとする。
【００５８】
図４（ｂ）は、本実施例における発行順序調整処理において、第２の状態を示す模式図である。第２の状態は、第１の状態から実行コマンドＢが発行された後の状態である。実行コマンド保持部２２２は、実行コマンドＡ、Ｃ、Ｄを保持している。
ここで、調整コマンドを受信され、調整コマンド保持部２２４に調整コマンドが保持されたとする。
【００５９】
図４（ｃ）は、本実施例における発行順序調整処理において、第３の状態を示す模式図である。第３の状態は、第２の状態から調整コマンドが保持された後の状態である。このとき、実行コマンド保持部２２２のうち、実行コマンドＡ、Ｃ、Ｄが保持されている領域のフラグは「１」のままであるが、それ以外の領域のフラグは「０」となる。
ここで、実行コマンドＥが受信されたとする。
【００６０】
図４（ｄ）は、本実施例における発行順序調整処理において、第４の状態を示す模式図である。第４の状態は、第３の状態から実行コマンドＥが受信された後の状態である。調整コマンドが受信される前に受信された実行コマンドＡ、Ｃ、Ｄが格納される領域のフラグは「１」である。調整コマンドの受信後に受信された実行コマンドＥが格納される領域のフラグは「０」となっている。そのため、実行コマンドＡ、Ｃ、Ｄは発行可能であるが、実行コマンドＥは発行を許可されていない。
ここで、実行コマンドＢが発行されるとともに、新たに実行コマンドＦが受信されたとする。
【００６１】
図４（ｅ）は、本実施例における発行順序調整処理において、第５の状態を示す模式図である。第５の状態は、第４の状態から実行コマンドＡが発行されるとともに実行コマンドＦが新たに保持された状態である。調整コマンドが受信される前に受信された実行コマンドＣ、Ｄが格納される領域のフラグは「１」である。調整コマンドの受信後に受信された実行コマンドＥ、Ｆが格納される領域のフラグは「０」となっている。そのため、実行コマンドＣ、Ｄは発行可能であるが、実行コマンドＥ、Ｆは発行を許可されていない。実行コマンドＣ、Ｄの発行が完了するまでは、実行コマンドＥ、Ｆは発行を許可されない。  
【００６２】
コマンド実行制御装置２００においては、複数のコマンド送信主体に対応して複数の制御コマンド保持部２２０が設けられている。各制御コマンド保持部２２０にはそれぞれ実行コマンド保持部２２２と調整コマンド保持部２２４が一対として設けられている。実行コマンド発行部２３０は、ある調整コマンド保持部２２４において調整コマンドが保持されているときには、その調整コマンド保持部２２４とペアの実行コマンド保持部２２２について発行順序調整処理を実行する。しかし、それ以外の実行コマンド保持部２２２については発行順序調整処理を実行しない。そのため、コマンド送信主体ごとの発行順序調整処理が可能である。
【００６３】
図５は、実行コマンドの発行処理過程を示すフローチャートである。
ここでは、ある特定の制御コマンド保持部２２０について、実行コマンド発行部２３０が実行コマンドを発行するときの処理過程を示している。同フローチャートにて示す処理は、繰り返し実行されるループ処理である。
【００６４】
まず、実行コマンド発行部２３０は、実行コマンドが保持されているか判定する（Ｓ１０）。実行コマンドが保持されていなければ（Ｓ１０のＮ）、実行コマンド発行部２３０は、別の制御コマンド保持部２２０に処理対象を変更する。実行コマンドが保持されていれば（Ｓ１０のＹ）、実行コマンド発行部２３０は調整コマンドが保持されているか判定する（Ｓ１２）。調整コマンドが保持されていなければ（Ｓ１２のＮ）、実行コマンド発行部２３０は実行コマンド保持部２２２に保持されているすべての実行コマンドのうち、いずれかの実行コマンドを選択して発行する（Ｓ２０）。
【００６５】
一方、調整コマンドが保持されていれば（Ｓ１２のＹ）、実行コマンド発行部２３０は調整コマンドが受信される前に受信されている実行コマンドが保持されているか判定する（Ｓ１４）。存在すれば（Ｓ１４のＹ）、実行コマンド発行部２３０はそれらの実行コマンドの中から、いずれかの実行コマンドを選択して発行する（Ｓ１６）。存在しなければ（Ｓ１４のＮ）、実行コマンド発行部２３０は調整コマンドを調整コマンド保持部２２４から消去する（Ｓ１８）。調整コマンドが消去されると、実行コマンド保持部２２２における各領域のフラグはすべて「１」にセットされる。すなわち、実行コマンド保持部２２２に保持されているすべての実行コマンドが発行可能となる。
【００６６】
本実施例において、画像処理部１２０に対してコマンド送信主体にあたる統括制御部１１０の主制御装置１１２や副制御装置１１６は、実行コマンドを送信する機能とともに調整コマンドを送信する機能を備える。これらの装置は、複数のコマンド受信主体に対するコマンド送信主体となるが、実行コマンドを処理主体となるべきコマンド受信主体に対してだけ、実行コマンドを送信する。同様に、これらの装置は、発行順序調整処理を実行させるべきコマンド実行制御装置２００に対してだけ、調整コマンドを送信すればよい。
【００６７】
このような調整コマンドの送信方法によれば、第２方式による従来のようなフラッシュコマンドのブロードキャストに比べ、発行順序調整処理の対象となっていないコマンド受信主体の処理が他のコマンド受信主体に対する調整コマンドの影響を受けなくて済む。
【００６８】
以上、本実施例によれば、コマンド実行制御装置２００は、実行コマンドと調整コマンドを別々に確保された記憶領域にて保持する。そのため、コマンド実行制御装置２００の実行コマンド発行部２３０は、調整コマンド保持部２２４だけをウォッチしておけば、発行順序調整処理を実行すべきか判断できる。そのため、従来の第２方式のような実行コマンド保持部２２２の最大保持コマンド数が大きくなることに伴う処理効率の悪化を抑制できる。また、第２方式に比べて発行順序調整処理のロジックが簡易となる。
また、コマンド送信主体は、同期型実行コマンドの発行時においても、第１方式のようにコマンド実行制御装置２００と同期を取る必要がない。
なお、本実施例においては、実行コマンドや調整コマンドはコマンド送信主体とコマンド受信主体の間で送受されるものとして示したが、コマンド送信主体は、実行コマンドや調整コマンドをコマンド実行制御装置２００の実行コマンド保持部２２２や調整コマンド保持部２２４に書き込み処理してもよい。
【００６９】
以上、本発明を実施例をもとに説明した。この実施例はあくまで例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
【００７０】
なお、請求項に記載のレジスタメモリに対して書き込まれる所定のデータは、本実施例においては調整コマンドが対応する。これら請求項に記載の各構成要件が果たすべき機能は、本実施例において示された各機能ブロックの単体もしくはそれらの連係によって実現されることも当業者には理解されるところである。
【００７１】
さらに付言すれば、図４（ａ）〜（ｅ）に関連して説明した内容は、本実施例における発行順序調整処理の原理の説明であり、その具体的な実現方法はそのほかにもさまざまな方法が考えられる。たとえば、調整コマンドの受信前に受信された実行コマンドを第１グループとして登録し、調整コマンドの受信後に受信された実行コマンドを第２グループとして登録することにより管理してもよい。この場合、実行コマンド発行部２３０は、第１グループに属する実行コマンドの発行が完了したことを条件として、第２グループに属する実行コマンドの発行を開始してもよい。
【００７２】
あるいは、実行コマンド保持部２２２は、第１記憶領域と第２記憶領域という別個の記憶領域にて実行コマンドを保持してもよい。第１記憶領域は第２記憶領域よりも優先される領域である。すなわち、調整コマンドの受信前に受信された実行コマンドは第１記憶領域にて保持され、調整コマンドの受信後に受信された実行コマンドは第２記憶領域にて保持される。実行コマンドは、通常は第１記憶領域に保持されるが、調整コマンドを受信したときには、以後に受信した実行コマンドは第２記憶領域に保持される。
【００７３】
実行コマンド発行部２３０は、第１記憶領域に保持される実行コマンドの発行が完了したことを条件として、第２記憶領域に保持される実行コマンドの発行を開始する。第１記憶領域に保持される実行コマンドがなくなると、第２記憶領域が第１記憶領域に優先する領域として変更される。以後受信される実行コマンドは第２記憶領域に保持されるが、再び調整コマンドが受信された後に受信された実行コマンドは第１記憶領域に保持される。実行コマンド発行部２３０は、今度は、第２記憶領域に保持される実行コマンドの発行が完了したことを条件として、第１記憶領域に保持される実行コマンドの発行を開始する。このように、コマンド実行制御装置２００の制御コマンド保持部２２０は、実行コマンドの発行優先順位づけがなされた第１記憶領域と第２記憶領域を備え、調整コマンドが受信されるごとに、それらの発行優先順位を変更してもよい。
このような態様によれば、事実上２つの待ち行列における発行優先順位を入れ替えることにより、発行順序調整処理を好適に実行できる。
【図面の簡単な説明】
【００７４】
【図１】情報処理装置の機能ブロック図である。
【図２】一般的なコマンド実行制御装置の機能ブロック図である。
【図３】本実施例におけるコマンド実行制御装置の機能ブロック図である。
【図４】本実施例における発行順序調整処理の仕組みを説明するための模式図である。図４（ａ）は、本実施例における発行順序調整処理において、第１の状態を示す模式図である。図４（ｂ）は、本実施例における発行順序調整処理において、第２の状態を示す模式図である。図４（ｃ）は、本実施例における発行順序調整処理において、第３の状態を示す模式図である。図４（ｄ）は、本実施例における発行順序調整処理において、第４の状態を示す模式図である。図４（ｅ）は、本実施例における発行順序調整処理において、第５の状態を示す模式図である。
【図５】実行コマンドの発行処理過程を示すフローチャートである。
【符号の説明】
【００７５】
１００  情報処理装置、  １１０  統括制御部、  １１２  主制御装置、  １１６  副制御装置、  １１８  バス、  １２０  画像処理部、  １２２  画像処理側ＤＭＡＣ、  １２４  制御ブロック、  １２６  ディスプレイコントローラ、  １２８  グラフィックスメモリ、  １３０  演算ユニット、  １３２  ラスタライザ、  １３４  シェーダユニット、  １３６  テクスチャユニット、  １４０  メインメモリ、  １５０  表示装置、  １６０  Ｉ／Ｏデバイス、  ２００  コマンド実行制御装置、  ２１０  制御コマンド受信部、  ２１２  実行コマンド受信部、  ２１４  調整コマンド受信部、  ２２０  制御コマンド保持部、  ２２２  実行コマンド保持部、  ２２４  調整コマンド保持部、  ２３０  実行コマンド発行部。
【図１】
2006318176.tif 000003
【図２】
2006318176.tif 000004
【図３】
2006318176.tif 000005
【図４】
2006318176.tif 000006
【図５】
2006318176.tif 000007