JP4190476B2 - グラフィックプロセッサ、制御用プロセッサおよび情報処理装置 - Google Patents

グラフィックプロセッサ、制御用プロセッサおよび情報処理装置 Download PDF

Info

Publication number
JP4190476B2
JP4190476B2 JP2004276238A JP2004276238A JP4190476B2 JP 4190476 B2 JP4190476 B2 JP 4190476B2 JP 2004276238 A JP2004276238 A JP 2004276238A JP 2004276238 A JP2004276238 A JP 2004276238A JP 4190476 B2 JP4190476 B2 JP 4190476B2
Authority
JP
Japan
Prior art keywords
task
processor
graphic
data
image processing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2004276238A
Other languages
English (en)
Other versions
JP2006092219A (ja
Inventor
祥徳 鷲津
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Interactive Entertainment Inc
Original Assignee
Sony Computer Entertainment Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Computer Entertainment Inc filed Critical Sony Computer Entertainment Inc
Priority to JP2004276238A priority Critical patent/JP4190476B2/ja
Priority to US11/189,029 priority patent/US7760205B2/en
Priority to EP05017429A priority patent/EP1647888A3/en
Priority to CNB2005100991698A priority patent/CN100351867C/zh
Publication of JP2006092219A publication Critical patent/JP2006092219A/ja
Application granted granted Critical
Publication of JP4190476B2 publication Critical patent/JP4190476B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/005General purpose rendering architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/461Saving or restoring of program or task context
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/544Buffers; Shared memory; Pipes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/509Offload

Description

本発明は、情報処理技術に関し、特に画像処理を含む情報処理技術に関する。
近年のコンピュータグラフィックス技術の発達に伴い、大型計算機や、パーソナルコンピュータ、ゲーム機器などの情報処理装置から出力される画像データは、ますます複雑化、高度化している。そこで、このような情報処理装置は、通常の演算処理を行うメインプロセッサとは別に、画像処理専用のグラフィックプロセッサを搭載し、メインプロセッサを画像処理から解放して、システムのオーバーヘッドの解消を図っている。
これらの情報処理装置において高性能な演算処理を実現するためには、メインプロセッサをマルチプロセッサで構成することが有効である。マルチプロセッサは、複数のアプリケーションに対応したタスクを時分割して実行順序を決定し、それらのタスクを複数のプロセッサに割り当て、並列処理を行う。一方、グラフィックプロセッサはメインプロセッサが処理する複数のタスクに対応した画像処理を、メインプロセッサの高速演算に対応させて行う必要がある。
ところが画像データが複雑化、高度化するにつれ、グラフィックプロセッサにおける画像処理速度が情報処理装置の処理速度を律速するようになってきた。マルチプロセッサであるメインプロセッサが複数あるタスクのうち一のタスクに要する画像処理演算をグラフィックプロセッサに行わせるためには、グラフィックプロセッサが処理中の画像処理演算を終了するまで待たなければならず、ゲームなどユーザの操作によって出力される映像がリアルタイムで変化するタスクの場合には、動画の停止やコマ落ちなどの画質低下の原因となってしまう。
本発明はこのような課題に鑑みてなされたものであり、その目的は画像処理演算を含む情報処理を効率的に行う技術の提供にある。
本発明のある態様は情報処理装置に関する。この情報処理装置は、装置全体を統括的に制御するメインプロセッサと、画像処理演算を行うグラフィックプロセッサとを備え、メインプロセッサは、第1のタスクに関連するデータをグラフィックプロセッサに送信する際、グラフィックプロセッサが第1のタスクと異なる第2のタスクに対応した処理を実行していたときは、少なくともグラフィックプロセッサが第2のタスクに対応した処理の実行を終了させるまで、第1のタスクに関連するデータを退避させる処理を行うことを特徴とする。
「タスク」とは、ある目的を達成するためにプログラムされたアプリケーションまたはそれに含まれる情報処理の内容をいい、アプリケーションと対応してもよいし、入出力制御やユーザが指定したコマンドなどアプリケーションよりも小さい単位と対応してもよく、何らかの処理または機能の単位に対応すればよい。また「タスクに関連するデータ」とは、グラフィックプロセッサにより描画される画像フレームデータ、画像フレームデータを作成する際に参照する基本データのいずれか、または双方を含んでよい。
第1のタスクに関連するデータは、例えばメインプロセッサがアクセス可能なメインメモリなどへ退避させてよい。
退避された第1のタスクに関連するデータは、グラフィックプロセッサが少なくとも第2のタスクに対応した処理の実行を終了させた後、メインプロセッサまたはグラフィックプロセッサなどに設けられたDMA(Direct Memory Access)コントローラを、メインプロセッサまたはグラフィックプロセッサが起動させることによってグラフィックプロセッサへ転送してもよい。
メインプロセッサは、汎用的に使用可能な複数の処理ユニットを備え、複数の処理ユニットのうちのひとつを、タスクに関連するデータのグラフィックプロセッサへの送信のための専用インタフェイス回路に設定して利用してもよい。
なお、以上の構成要素の任意の組合せ、本発明の表現を方法、装置、システム、コンピュータプログラムなどの間で変換したものもまた、本発明の態様として有効である。
本発明によれば、画像処理を含む情報処理を効率よく行うことができる。
第一の実施の形態
図1は、本発明の第1の実施の形態に係る情報処理装置1000の構成を示すブロック図である。情報処理装置1000は、グラフィックプロセッサ100とメインプロセッサ200、メインメモリ50を含む。情報処理装置1000は、表示装置500と接続されており、メインプロセッサ200およびグラフィックプロセッサ100の処理の結果得られた画像、映像を出力する。図1などにおいて、様々な処理を行う機能ブロックとして記載される各要素は、ハードウェア的には、CPU、メモリ、その他のLSIで構成することができ、ソフトウェア的には、メモリにロードされた予約管理機能のあるプログラムなどによって実現される。したがって、これらの機能ブロックがハードウェアのみ、ソフトウェアのみ、またはそれらの組合せによっていろいろな形で実現できることは当業者には理解されるところであり、いずれかに限定されるものではない。
この情報処理装置1000では、情報処理装置1000を効率よく使用するための機能、環境を提供し、装置全体を統括的に制御するオペレーティングシステム(以下、OSと略す)が実行される。そのOS上で複数のアプリケーションソフトウェア(以下、単にアプリケーションという)が実行される。
メインプロセッサ200は、複数のサブプロセッサ30と管理プロセッサ32と制御側DMA(Direct Memory Access)コントローラ34とを含む。サブプロセッサ30、管理プロセッサ32および制御側DMAコントローラ34はバス40により相互間の通信が可能である。管理プロセッサ32は、複数のアプリケーションに対応するタスクを時分割し、タイムスライスごとに各アプリケーションに対応するタスクを、サブプロセッサ30に割り当てて実行させることにより、並列処理を行っている。
制御側DMAコントローラ34は、メインメモリ50やグラフィックプロセッサ100との間のデータ転送、データ退避などをサブプロセッサ30または管理プロセッサ32からの命令によって制御する。
本実施の形態において、メインプロセッサ200と、グラフィックプロセッサ100は協調的に演算処理を行う。グラフィックプロセッサ100は、メインプロセッサ200により処理されるそれぞれのタスクに関連する画像処理を行い、生成した画像、映像を表示装置500に出力し、または図示しない記憶装置に記憶する。メインプロセッサ200とグラフィックプロセッサ100との協調動作については後に詳述する。
メインメモリ50は、主にメインプロセッサ200によって使用される記憶領域である。このメインメモリ50は、複数のアプリケーションに対応するタスクに関連するデータが格納される。例えば、メインプロセッサ200によりコンピュータグラフィックスに関するタスクを処理して得られたモデリングデータなどが一時的に格納される。
また、このメインメモリ50には、後述するようにグラフィックプロセッサ100による演算処理の結果得られたデータが退避して格納される場合もある。
グラフィックプロセッサ100は、画像に関する処理を専用に実行するブロックであり、レンダリング処理などを行うユニットである。グラフィックプロセッサ100は、グラフィックメモリ10、演算ユニット12、ディスプレイコントローラ18、制御ブロック20、画像処理側DMAコントローラ22を含む。これらのブロック同士は、バス40で接続されており、各ブロック間でデータ信号の送受が行われる。
グラフィックメモリ10は、グラフィックプロセッサ100により使用、管理されるグラフィックに関するデータ専用のメモリ領域であって、画像フレームデータが格納されるフレームバッファやZバッファなどに加えて、画像フレームデータを描画する際に参照される基本データである頂点データ、テクスチャデータ、カラールックアップテーブルなどがそれぞれのデータに対応する領域を含んでいる。
演算ユニット12は、メインプロセッサ200からの命令に従って、グラフィックに関する様々な演算処理を行う。その処理の一例としては、3次元モデリングデータをもとに座標変換、陰面消去、シェーディングを行って画像フレームデータを作成し、フレームバッファに書込む一連のレンダリング処理などが挙げられる。演算ユニット12は、特に3次元グラフィックスに関する処理を高速に行うために、ラスタライザ12a、シェーダユニット12b、テクスチャユニット12cなどの機能ブロックを含んでいる。
ラスタライザ12aは、描画するプリミティブの頂点データを受け取り、3次元空間上のプリミティブを投影変換により描画平面上の図形に変換するビュー変換を行う。さらに、描画平面上の図形を、描画平面の水平方向に沿ってスキャンしながら、一列ごとに量子化されたピクセルに変換するラスター処理を行う。このラスタライザ12aによってプリミティブがピクセル展開されて、各ピクセル毎にピクセル情報を算出する。このピクセル情報には、RGBカラー値、透明度を表すα値、視点からの奥行きを表すZ値が含まれる。
ラスタライザ12aは、スキャンラインに沿って所定の大きさのピクセル領域を生成し、シェーダユニット12b、テクスチャユニット12cへと出力する。ラスタライザ12aから出力されるピクセル領域は、一度キューにスタックされ、シェーダユニット12bはスタックされたピクセル領域を順に処理していく。
シェーダユニット12bは、ラスタライザ12aにより算出されたピクセル情報をもとにシェーディング処理を行い、テクスチャユニット12cにより得られたテクセル情報をもとに、テクスチャマッピング後のピクセル色を決定し、グラフィックメモリ10内のフレームバッファにシェーディング処理後の画像フレームデータを書込む。さらにシェーダユニット12bはフレームバッファに書き込まれた画像フレームデータに対してフォギング、アルファブレンディング等の処理を行い最終的な描画色を決定してフレームバッファの画像フレームデータを更新する。
テクスチャユニット12cは、シェーダユニット12bからテクスチャデータを指定するパラメータを受け取り、要求されたテクスチャデータをグラフィックメモリ10内のテクスチャバッファを読出し、所定の処理を行った後にシェーダユニット12bに対して出力する。
制御ブロック20は、このグラフィックプロセッサ100全体を制御するブロックであり、演算ユニット12、グラフィックメモリ10、ディスプレイコントローラ18を統括的に制御し、各ブロック間のデータ転送の同期管理、割り込み処理、タイマー管理等を行う。
ディスプレイコントローラ18は、水平および垂直同期信号を生成し、表示装置500の表示タイミングに従って、グラフィックメモリ10に格納されるフレームバッファから画像フレームデータのピクセルデータをライン状に順次読み込んでいく。さらにディスプレイコントローラ18は、ライン状に読み込まれたピクセルデータを、RGBのカラー値からなるデジタルデータから表示装置500に対応したフォーマットに変換して出力する。
画像処理側DMAコントローラ22は、メインプロセッサ200やメインメモリ50とグラフィックメモリ10の間のデータ転送、データ退避などを制御ブロック20からの命令によって制御する。
つぎに、以上のように構成された情報処理装置1000の動作について、本実施の形態の特徴であるメインプロセッサ200とグラフィックプロセッサ100との協調動作を中心に説明する。
図2は本実施の形態に係るメインプロセッサ200における管理プロセッサ32および、グラフィックプロセッサ100における制御ブロック20の構成を示すブロック図である。管理プロセッサ32は、時分割されたタスクの実行順序を決定し、各タスクをサブプロセッサ30に適切に割り当てるサブプロセッサ管理部60と、グラフィックプロセッサ100との信号の送受信を行う制御側通信部62と、タスクの切換えに係る処理を制御する制御側タスク切換え部64とを含む。制御ブロック20は、グラフィックメモリ10に格納されたデータをタスクごとに管理するメモリ制御部70と、メインプロセッサ200と信号の送受信を行う画像処理側通信部72と、メインプロセッサ200のタスク切換えに対応してタスクの切換え処理を制御する画像処理側タスク切換え部74とを含む。
図3は図2で示した管理プロセッサ32および制御ブロック20によって、グラフィッ
クプロセッサ100がメインプロセッサ200のタスク切換えに対して協調的にタスクの
切換えを行う手順を示すタイミングチャートである。メインプロセッサ200は、ユーザ
によるコマンド入力など外部からの信号や、内部におけるスケジューリングなどに従い、
管理プロセッサ32のタスク切換えを行う。ここで、サブプロセッサ30のうちの一部は
それまで行っていたタスクの処理を続行していてもよい。
管理プロセッサ32の制御側タスク切換え部64はまず、ステップS2において制御側通信部62により画像処理側通信部72を経由して画像処理側タスク切換え部74に対し、切換え後のタスク(以後、「第一のタスク」とよぶ)に関する情報を含むタスク切換え要求の信号を送信する。この信号は、管理プロセッサ32内部のスケジューリングなどに基づき、例えば実際のタスク切換えより所定時間前の時点で送信してもよい。画像処理側タスク切換え部74は、制御側タスク切換え部64からのタスク切換え要求に従い、それまで演算ユニット12などで行っていたタスク(以後、「第二のタスク」とよぶ)の停止制御を行うとともに、ステップS4においてメモリ制御部70に対して第一のタスクに関する情報を送信する。ステップS6においてメモリ制御部70は、必要に応じて第二のタスクに関連した画像フレームデータ、テクセル情報などの画像関連データを、グラフィックメモリ10から読出し、ステップS8においてメインメモリ50へ退避させる。その後メモリ制御部70は、ステップS10において、メインメモリ50に以前のタイムスライスで退避しておいた画像関連データから第一のタスクに関連するデータを検索し、検出された場合はメインメモリ50より読出し、ステップS12においてグラフィックメモリ10へ復帰させる。第一のタスクに関連するデータの復帰が完了したら、画像処理側タスク切換え部74は、ステップS14において、画像処理側通信部72より制御側通信部62を経由して制御側タスク切換え部64に対し、タスク切換えの準備が整った旨の受入れ許可信号を送信する。制御側タスク切換え部64は受入れ許可信号を確認後、管理プロセッサ32のタスクを第一のタスクへ切換える。一方、画像処理側タスク切換え部74は、グラフィックメモリ10に復帰した第一のタスクに関連するデータを参照しながら、演算ユニット12に第一のタスクに対応した画像処理演算を行わせるなど、グラフィックプロセッサ100側のタスク切換えを行う。
ここで制御側通信部62と画像処理側通信部72が送受信を行うタスク切換え要求信号や受入れ許可信号は、割り込み信号であってよく、制御側通信部62が発信するタスク切換え要求信号には第一のタスクに関する情報が含まれていなくてもよい。この場合、ステップS2以後、ステップS10より前に、画像処理側タスク切換え部74は制御側タスク切換え部64に対し問い合わせを行い、第一のタスクに関する情報を取得してもよい。また、第二のタスクに関連したデータを退避する先は、メインメモリ50に限らず、グラフィックプロセッサ100の内部におけるグラフィックメモリ10以外のメモリや、グラフィックプロセッサ100がアクセス可能な外部メモリでもよい。
また画像処理側タスク切換え部74はステップS2において、第一のタスクに関する情報として、第一のタスクにおいて発生する画像処理に関するデータの構造と、サイズ割り当てなどを取得してもよい。その情報に基づきメモリ制御部70は、ステップS8で第二のタスクに関連するデータをメインメモリ50に退避させた後、グラフィックメモリ10のアドレスマップを第一のタスクに対応したデータ構造となるように更新してもよい。これによりグラフィックプロセッサ100は、メインプロセッサ200において処理されている第一のタスク以外のタスクにより生じた画像処理依頼の受付を不可とすることができる。この動作および作用については、後に詳述する。
図3のステップS2において、制御側タスク切換え部64が画像処理側タスク切換え部74に対してタスク切換え要求の信号を送信した後、グラフィックプロセッサ100の制御ブロック20は、画像処理側通信部72が使用するアドレスにフラグを立てるなど、それ以後のメインプロセッサ200からの画像処理依頼を受付不可とする処理を行ってもよい。これにより、サブプロセッサ30は管理プロセッサ32に問い合わせることなく、グラフィックプロセッサ100においてタスクの切換えにかかる処理が行われていることを検知できるとともに、グラフィックプロセッサ100においてタスクの切換えに使用するリソースを確保することができる。
このとき、図3のステップS4からステップS12までの処理に変わり、次に述べる処理を行ってもよい。ステップS2においてタスク切換え要求の信号を受信したとき、グラフィックプロセッサ100内には、すでにメインプロセッサ200より依頼されていた、第二のタスクに関する未処理の画像処理タスクがいくつか格納されている。画像処理側タスク切換え部74は、これら未処理の画像処理タスクを格納しているアドレスマップにおいて、タスク切換え要求の信号を受信する直前に受付けた画像処理タスクを格納しているアドレスにフラグを立てるなど、何らかの書込みを行い、タスク切換え前の第二のタスクに関する最終画像処理タスクであることがわかるようにしておく。その後、未処理の画像処理タスクを演算ユニット12などにより順次処理していき、フラグを立てるなどして差別化したタスク切換え前の最後画像処理タスクを完了した時点で、図3のステップS12と同様、画像処理側タスク切換え部74より制御側タスク切換え部64に対し、タスク切換えの準備が整った旨の受入れ許可信号を送信する。それによって上述と同様に、メインプロセッサ200はタスクの切換えを行い、グラフィックプロセッサ100は切換え後のタスクに対応した画像処理を行う。
上述の形態では、グラフィックプロセッサ100において未処理の画像処理タスクが完了するまで、メインプロセッサ200でのタスク切換えを待つことになるが、ステップS2におけるタスク切換え要求の信号を送信してから所定の時間を経ても当該タスクが終了しない場合は、図3のステップS4からの処理を行い、未処理の画像処理タスクに関するデータをメインメモリ50へ退避するようにするなどの、タイムアウト機能を設けてもよい。これにより、タスク切換えに要する時間の許容範囲内で、メインプロセッサ200が依頼済みの第二のタスクに関する未処理の画像処理を最大限実行しておくことができる。また実行中のアプリケーションなどに依存して未処理の画像処理数が変動しても、タスク切換えに要する時間が変動することがなくなる。さらにタスク切換えに要する時間が比較的長く許容できるようなアプリケーションでは、その時間を設定して利用することで、効率のよい画像処理が可能となる。
以上述べたような処理によりグラフィックプロセッサ100は、メインプロセッサ200のタスクの切換えに対応した画像処理へ、タスクの切換えを行うことができる。ここで管理プロセッサ32はサブプロセッサ30に対し、分割されたタスクの割り当てを行い、演算処理を並列で行うように制御する。従って、各サブプロセッサ30において画像処理の必要が発生した場合には、描画に必要なデータ(以降、単に「描画データ」とよぶ)が各サブプロセッサ30からグラフィックメモリ10へ転送され、その描画データを演算ユニット12が参照することにより、画像生成処理がなされる。
ところでメインプロセッサ200は、複数のサブプロセッサ30を含んでいるため、そ
の中には管理プロセッサ32の処理するタスクと異なるタスクを処理している場合がある
。図4Aはこのときの状態を模式的に表している。この図において、複数のサブプロセッ
サ30aは管理プロセッサ32と同一のタスクAを処理しているが、あるサブプロセッサ
30bは、それとは異なるタスクBを処理している。一方グラフィックプロセッサ100
は上述した協調動作により、管理プロセッサ32と同一のタスクAに対応した画像処理A
'を行っている。この状態において、サブプロセッサ30aに生じたタスクAに関する画
像処理A'は、グラフィックプロセッサ100にて受付けられ、その描画データaはグラ
フィックプロセッサ100へ転送される(矢印80)。一方、サブプロセッサ30bにタ
スクBに関する画像処理B'を行う必要が発生した場合は、サブプロセッサ30は画像処
理B'の描画データbをメインメモリ50に退避させる(矢印82)。
ここで各サブプロセッサ30aおよび30bは、グラフィックプロセッサ100がどのタスクに対応した画像処理を行っているかをあらかじめ認識していなくてもよい。例えば前述のとおり、タスクの切換えを行った際に、グラフィックメモリ10のアドレスマップをタスクAに関する描画データaに対応したものに更新することにより、サブプロセッサ30bが描画データbをグラフィックメモリ10に転送しようとしても、転送を不可能とすることができる。このときサブプロセッサ30bはグラフィックメモリ10へ転送できなかった描画データbをメインメモリ50へ転送する。
メインメモリ50へ転送された描画データbは、図4Bに示すように、次に管理プロセッサ32がタスクBへ切り替わり、グラフィックプロセッサ100がタスクBに対応した画像処理B'を受入れ可能となった時点で、グラフィックメモリ10に転送される(矢印84)。このとき、管理プロセッサ32にメインメモリ50へのデータbの退避を管理させ、管理プロセッサ32がタスクBへ切り替わった際に、制御側タスク切換え部64が退避された描画データbを読出し、グラフィックメモリ10に転送するようにしてもよい。または管理プロセッサ32が制御側DMAコントローラ34を起動させ、メインメモリ50からグラフィックメモリ10へのデータ転送を行うようにしてもよい。制御側DMAコントローラ34を利用することにより、管理プロセッサ32はサブプロセッサ30の管理やタスクの割り振りなどに関する処理を妨げられることなく、タスクBへの切換えに即時対応して描画データbの転送処理を行うことができる。
以上述べたように本実施の形態によれば、グラフィックプロセッサ100はメインプロセッサ200のタスク切換えに対応して、自らのタスクを切換える。従って、情報処理装置が複数のアプリケーションを実行しているときでも、グラフィックプロセッサ100は一のタイムスライス内では唯一のアプリケーションに対してのみ動作すればよいため、グラフィックプロセッサ100を構成するリソースを全て該唯一のアプリケーションに対する画像処理のために使用できる。これにより、効率のよい画像処理を行うことができるとともに、動的割り当ての可能なアドレスが増加し、サイズの大きい画像データの処理が可能となる。
また、グラフィックプロセッサ100の構成を複雑化することなく、高速動作するメインプロセッサ200の処理に対応した処理を行うことができ、ユーザなどにより急なタスク切換え要求がなされたときにも、グラフィックプロセッサ100による処理中のタスクの完了を待つことなく、当該タスクに対応した画像処理をおこなうことができ、動画の停止やコマ落ちなどが発生しにくくなる。複数のアプリケーションにおいて同時に画像処理の必要が発生した場合でも、少なくとも管理プロセッサ32が処理を行っているタスクを優先させることで、スケジューリングにのっとった画像処理を行うことが可能となる。
さらに、管理プロセッサ32が処理しているタスク以外のタスクに関する描画データをメインメモリ50に一旦格納することにより、サブプロセッサ30への負荷も軽減される。
第二の実施の形態
第一の実施の形態では、メインプロセッサ200の管理プロセッサ32がタスクの切換えを行う際、図3のステップS2において、制御側タスク切換え部64が画像処理側タスク切換え部74に対し、タスク切換え要求信号を送信したが、本実施の形態では当該ステップに代わりメインプロセッサ200とグラフィックプロセッサ100との共有レジスタを利用したステップとする。情報処理装置1000の構成は図1および図2と同様である。ここでは第一の実施の形態における図2の機能および図3の手順と異なる点を説明する。
図5に本実施の形態における、メインプロセッサ200に設けられた管理プロセッサ32と、グラフィックプロセッサ100に設けられた制御ブロック20と、それらが共にアクセス可能な共有レジスタ80の構成を示すブロック図を示す。第一の実施の形態に加え、管理プロセッサ32の制御側タスク切換え部64はこの共有レジスタ80に書込みを行う機能をさらに有する。また制御ブロック20の画像処理側タスク切換え部74はこの共有レジスタ80を読込み、タスクの切換え要求を検知する機能をさらに有する。
まず制御側タスク切換え部64は、タスクの切換えを行うために共有レジスタ80に対し、切換え後の第一のタスクに関する情報などを書込む。第一の実施の形態と同様、第一のタスクにおいて発生する画像処理に関するデータの構造と、サイズ割り当てなどを書き込んでもよい。画像処理側タスク切換え部74は、例えば所定の時間間隔で共有レジスタ80内の情報を読込むようにして、制御側タスク切換え部64からの書込みを監視する。共有レジスタ80に書込みフラグを設定し、それを利用して書込みを検出してもよい。画像処理側タスク切換え部74は、共有レジスタ80に書込みがなされていることを検出したら、グラフィックプロセッサ100においてそれまで行われていたタスクの停止処理を行い、以降、図2のステップS4からステップS14までの処理と同様の処理を行い、メインプロセッサ200およびグラフィックプロセッサ100のタスク切換えを完了させる。
ここで制御側タスク切換え部64が共有レジスタ80に書込む情報は、第一のタスクに関する情報を含まなくてもよく、画像処理側タスク切換え部74によって共有レジスタ80の書込みが検出された後、画像処理側タスク切換え部74が制御側タスク切換え部64に問い合わせを行い、第一のタスクに関する情報を取得してもよい。
以上述べた本実施の形態によれば、タスクの切換え要求の発行に際し、割り込み信号を利用することなく、安定的な手順で第一の実施の形態と同様の効果を得ることができる。
第三の実施の形態
第一の実施の形態では、メインプロセッサ200からグラフィックプロセッサ100への描画データの転送は、その画像処理を必要とするタスクを処理している個々のサブプロセッサ30または、メインメモリ50に退避されたデータを管理している管理プロセッサ32によって行われた。
本実施の形態では、図6に示すようにサブプロセッサ30がタスクを処理している間に発生した画像処理の描画データの転送を、一のサブプロセッサ30が制御する。同図では当該サブプロセッサ30を、特に転送制御プロセッサと呼び、他のサブプロセッサ30と区別するために異なる符合31を付記している。グラフィックプロセッサ100に転送すべき描画データは、サブプロセッサ30から一旦転送制御プロセッサ31に転送され(例えば矢印86)、転送制御プロセッサ31によって適宜転送処理される(例えば矢印88)。グラフィックプロセッサ100、メインプロセッサ200、メインメモリ50などの構成は図1および図2と同様であり、ここでは第一の実施の形態と異なる点を中心に説明する。
図7は転送制御プロセッサ31が行うデータ転送の手順を示すフローチャートである。まず、タスクCを処理するサブプロセッサ30は、画像処理の必要が生じた際、転送制御プロセッサ31に対し当該画像処理の描画データを転送する。ステップS20にて描画データの転送を受付けた転送制御プロセッサ31は、ステップS22において、転送元のサブプロセッサ30が処理しているタスクCと、管理プロセッサ32が処理しているタスクとを比較し、それらのタスクが同一であるかを確認する。同一であった場合(S12のYes)、転送制御プロセッサ31はステップS24において、サブプロセッサ30より転送された描画データをグラフィックメモリ10に転送する。
依頼したサブプロセッサ30が処理しているタスクCが、管理プロセッサ32が処理しているタスクと異なる場合(S22のNo)、転送制御プロセッサ31はステップS26において、サブプロセッサ30より転送された描画データを、メインメモリ50へ転送する。その後、メインプロセッサ200がタスクCへの切換えを行った際、転送制御プロセッサ31はメインメモリ50に退避しておいた描画データをグラフィックメモリ10へ転送する。このとき転送制御プロセッサ31内部などに設けられた図示しないDMAコントローラを起動させ、データの転送を行うようにしてもよい。これにより、転送制御プロセッサ31はさらに別のサブプロセッサ30からの転送依頼に対する処理などを妨げられることなく、タスクCへの切換えに即時対応して転送処理を行うことができる。また、メインメモリ50内にはあらかじめ、転送制御プロセッサ31からの描画データを格納する領域を確保しておいてもよい。
図7のステップS22において、サブプロセッサ30が処理しているタスクCと管理プロセッサ32が処理しているタスクとの比較は、第一の実施の形態で述べたように、一度グラフィックプロセッサ100への描画データの転送を試み、受付不可となれば、それらのタスクが同一でない、と判断してもよい。
以上の手順により、グラフィックプロセッサ100はタスクCに対応した画像処理を、転送制御プロセッサ31によりグラフィックメモリ10へ転送された描画データを参照しつつ行うことができる。
管理プロセッサ32のタスクCへの切換えは、管理プロセッサ32が発信する切換え信号を転送制御プロセッサ31が受信するようにして検知してもよいし、転送制御プロセッサ31が所定の時間間隔などで管理プロセッサ32のタスクを監視するようにしてもよい。
以上述べたように本実施の形態によれば、サブプロセッサ30のうち一つをグラフィックプロセッサ100へのデータ転送専用のプロセッサとしているため、導入コストを抑制しつつ、第一の実施の形態で述べたのと同様の効果を得ることができる。また、グラフィックプロセッサ100への描画データ転送中においても、本来の転送元であるサブプロセッサ30は転送処理以外の演算処理を続行することができ、システム性能が向上する。
第四の実施の形態
第一から第三の実施の形態では、メインプロセッサ200がデータ転送の主体となっていたが、本実施の形態ではグラフィックプロセッサ100が主体となりデータ転送を行う。従って、グラフィックプロセッサ100にとって好適なタイミングでの描画データ転送が実現される。グラフィックプロセッサ100、メインプロセッサ200、メインメモリ50などの構成は図1および図2と同様であり、メインプロセッサ200とグラフィックプロセッサ100が行う協調的なタスクの切換えは、第一の実施の形態において図3を参照した説明、または第二の実施の形態での説明と同様の手順で行ってよい。
図8は本実施の形態において、画像処理に必要なデータをメインプロセッサ200からグラフィックプロセッサ100へ転送する手順を示すタイムチャートである。ここでは例えば、メインプロセッサ200の管理プロセッサ32がタスクAの処理を実行中に、同じくタスクAの処理を実行しているあるサブプロセッサ30aに画像処理の必要が発生した場合を示している。このとき、グラフィックプロセッサ100はメインプロセッサ200との協調動作により、管理プロセッサ32が処理しているタスクAに対応した画像処理A’を実行している。まずステップS30において、当該サブプロセッサ30aはグラフィックプロセッサ100における制御ブロック20の画像処理側タスク切換え部74に対し、描画データaを転送する旨の信号を送信する。この信号には、当該サブプロセッサ30a内の描画データアドレス、転送サイズ、転送方向などを含む。ステップS32において画像処理側タスク切換え部74は画像処理側DMAコントローラ22に、受信した転送情報を含むデータ転送コマンドを出力する。ステップS34において、画像処理側DMAコントローラ22は、入力された転送情報に基づきサブプロセッサ30から描画データaを読出し、ステップS36において読出した描画データaをグラフィックメモリ10へ出力する。
ここで例えば、第一の実施の形態で参照した図4Aと同様に、サブプロセッサ30bが、管理プロセッサ32が処理しているタスクAと異なるタスクBを処理していて、画像処理B'の必要が生じた場合は、図8のステップS30の処理を当該サブプロセッサ30bが行っても、タスクAに対応した画像処理A'を行っているグラフィックプロセッサ100はそれを受付けないようにする。このときサブプロセッサ30bは、第一の実施の形態で行った処理と同様、描画データbをメインメモリ50に退避させる。
その後、第一の実施の形態で参照した図4Bと同様に、次に管理プロセッサ32がタスクBへ切り替わり、グラフィックプロセッサ100が画像処理B'を受入れ可能となった時点で、管理プロセッサ32は、メインメモリ50に退避された描画データbのメインメモリ50内でのデータアドレス、転送サイズなどの情報を、グラフィックプロセッサ100における画像処理側タスク切換え部74に対して送信する。画像処理側タスク切換え部74は画像処理側DMAコントローラ22に、受信した転送情報を含むデータ転送コマンドを出力し、画像処理側DMAコントローラ22は、入力された情報に基づきメインメモリ50から描画データbを読出し、グラフィックメモリ10へ出力する。
以上述べたように本実施の形態によれば、グラフィックプロセッサ100は、内部に設けられた画像処理側DMAコントローラ22を利用して、画像処理に必要なデータをグラフィックプロセッサ100に好適なタイミングでメインプロセッサ200より取得することができる。これにより、データ転送処理に係るグラフィックプロセッサ100およびメインプロセッサ200の負荷を軽減し、転送要求など最低限の処理を除いて、それらのプロセッサの演算処理と並行して転送処理を行うことができる。従って、タスクの切換えに係るオーバーヘッドを抑制しつつ、第一の実施の形態と同様の効果を得ることができる。
第五の実施の形態
本実施の形態では第三の実施の形態と同様、画像処理に必要なデータの転送を一のサブプロセッサ30が制御し、かつ第四の実施の形態と同様、グラフィックプロセッサ100内の画像処理側DMAコントローラ22によって転送処理を行う。グラフィックプロセッサ100、メインプロセッサ200、メインメモリ50などの構成は図1および図2と同様であり、メインプロセッサ200とグラフィックプロセッサ100が行う協調的なタスクの切換えは、第一の実施の形態において図3を参照した説明、または第二の実施の形態での説明と同様の手順で行ってよい。
第三の実施の形態と同様、データ転送の制御を行うサブプロセッサ30を転送制御プロセッサとよび符号を31とする。あるサブプロセッサ30に画像処理の必要が生じた際、当該サブプロセッサ30は転送制御プロセッサ31に当該画像処理に必要な描画データcを転送する。転送制御プロセッサ31は当該サブプロセッサ30が処理しているタスクCが、管理プロセッサ32が処理しているタスクと同一であるか確認し、同一であれば、グラフィックプロセッサ100における制御ブロック20の画像処理側タスク切換え部74に対し、転送制御プロセッサ31内の、描画データcが格納されたアドレス、転送サイズ、転送方向などの情報を送信する。画像処理側タスク切換え部74は画像処理側DMAコントローラ22に対し、受信した転送情報を含むデータ転送コマンドを出力し、画像処理側DMAコントローラ22は、入力された転送情報に基づき転送制御プロセッサ31から描画データcを読出し、グラフィックメモリ10へ出力する。
サブプロセッサ30が処理しているタスクCが、管理プロセッサ32が処理しているタスクと異なる場合は、転送制御プロセッサ31は描画データcをメインメモリ50へ転送する。メインメモリ50内にはあらかじめ、転送制御プロセッサ31からの描画データを格納する領域を確保しておいてもよい。その後、管理プロセッサ32がタスクCへ処理の切換えを行い、グラフィックプロセッサ100が画像処理C'を受入れ可能となった時点で、転送制御プロセッサ31はメインメモリ50に退避された画像処理C'に関する描画データcのメインメモリ50内でのデータアドレス、転送サイズなどの情報を、グラフィックプロセッサ100における画像処理側タスク切換え部74に対して送信する。画像処理側タスク切換え部74は画像処理側DMAコントローラ22に、受信した転送情報を含むデータ転送コマンドを出力し、画像処理側DMAコントローラ22は、入力された情報に基づきメインメモリ50から描画データcを読出し、グラフィックメモリ10へ出力する。
以上述べたように本実施の形態によれば、サブプロセッサ30のうち一つをグラフィックプロセッサ100へのデータ転送専用のプロセッサとし、転送処理はグラフィックプロセッサ100内の画像処理側DMAコントローラ22により行う。これにより、データ転送の要求やデータ転送処理などを転送制御プロセッサ31および画像処理側DMAコントローラ22へ集約させ、データ転送処理に係るグラフィックプロセッサ100およびメインプロセッサ200の負荷を軽減することができる。従って、タスクの切換えに係るオーバーヘッドを効果的に抑制しつつ、第一の実施の形態と同様の効果を得ることができる。
以上、本発明を実施の形態をもとに説明した。上記実施の形態は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
本実施の形態に係る情報処理装置1000においては、グラフィックプロセッサ100とメインプロセッサ200とは一のLSIチップとして一体集積化されていてもよく、または別のチップとされていてもよい。実施の形態において示した各ブロックは、集積度についてまで限定するものではなく、いずれの構成要素の組み合わせが集積化され、あるいは別チップとして構成されていてもよい。
また、グラフィックプロセッサ100とメインプロセッサ200との協調動作に関して、例えば処理対象となる複数のアプリケーションに対して、タスク切換えのスケジューリングがあらかじめ決定でき、処理途中で変動のないことが明確な場合などは、メインプロセッサ200およびグラフィックプロセッサ100の双方において当初決定された一のスケジューリングに基づきそれぞれタスクを切換えることにより、協調動作を行ってもよい。
さらに本実施の形態ではメインプロセッサ200をマルチプロセッサとして記述したが、本発明は実行途中で何らかの処理の切換えを伴うアプリケーションを実行するシングルプロセッサにも適用できる。また、グラフィックプロセッサ100をマルチプロセッサとして構成し、個々のプロセッサに対して、本発明を適用し、メインプロセッサ200との協調動作をさせるようにしてもよい。
本発明の第一の実施の形態に係る情報処理装置の構成を示すブロック図である。 本発明の第一の実施の形態に係るメインプロセッサにおける管理プロセッサおよび、グラフィックプロセッサにおける制御ブロックの構成を示すブロック図である。 本発明の第一の実施の形態において、グラフィックプロセッサがメインプロセッサのタスク切換えに対して強調的にタスクの切換えを行う手順を示すタイミングチャートである。 本発明の第一の実施の形態において、サブプロセッサと管理プロセッサおよびグラフィックプロセッサが処理しているタスクの状況例を模式的に示した図である。 本発明の第一の実施の形態において、サブプロセッサと管理プロセッサおよびグラフィックプロセッサが処理しているタスクの状況例を模式的に示した図である。 本発明の第二の実施の形態に係るメインプロセッサにおける管理プロセッサ、グラフィックプロセッサにおける制御ブロックおよび、共有プロセッサの構成を示すブロック図である。 本発明の第三の実施の形態において、サブプロセッサと転送制御プロセッサとの関係を模式的に示した図である。 本発明の第三の実施の形態において、転送制御プロセッサが行うデータ転送の手順を示すフローチャートである。 本発明の第四の実施の形態において、画像処理に必要なデータをメインプロセッサからグラフィックプロセッサへ転送する手順を示すタイムチャートである。
符号の説明
10 グラフィックメモリ、 10a フレームバッファ、 10b Zバッファ、 10c テクスチャバッファ、 10d カラールックアップテーブル、 12 演算ユニット、 12a ラスタライザ、 12b シェーダユニット、 12c テクスチャユニット、 18 ディスプレイコントローラ、 20 制御ブロック、 22 画像処理側DMAコントローラ、 30 サブプロセッサ、 31 転送制御プロセッサ、 32 管理プロセッサ、 34 制御側DMAコントローラ、 40 バス、 50 メインメモリ、 60 サブプロセッサ管理部、 62 制御側通信部、 64 制御側タスク切換え部、 70 メモリ制御部、 72 画像処理側通信部、 74 画像処理側タスク切換え部、 100 グラフィックプロセッサ、 200 メインプロセッサ、 500 表示装置、 1000 情報処理装置。

Claims (9)

  1. 装置全体を統括的に制御し、複数のタスクを切り替えて処理するメインプロセッサと、メインプロセッサが処理中のタスクに対応する画像処理演算を、前記メインプロセッサが送信した、当該タスクに関連するデータを用いて行うグラフィックプロセッサとを備え、前記メインプロセッサは、第1のタスクに関連するデータを前記グラフィックプロセッサに送信する際、前記グラフィックプロセッサが前記第1のタスクと異なる第2のタスクに対応した処理を実行していたときは、前記第1のタスクに関連するデータの送信先を前記グラフィックプロセッサからメモリへ変更し、少なくとも前記グラフィックプロセッサが前記第2のタスクに対応した処理の実行を終了させるまで、前記第1のタスクに関連するデータを退避する処理を行うことを特徴とする情報処理装置。
  2. 前記メインプロセッサはDMA(Direct Memory Access)コントローラをさらに備え、少なくとも前記第2のタスクに対応した処理の実行を終了した前記グラフィックプロセッサへ前記第1のタスクに関連するデータを送信するために、前記DMAコントローラを起動することを特徴とする、請求項に記載の情報処理装置。
  3. 前記グラフィックプロセッサはDMA(Direct Memory Access)コントローラを備え、少なくとも前記第2のタスクに対応した処理の実行を終了した後、前記メインプロセッサから前記第1のタスクに関連するデータを取得するために、前記DMAコントローラを起動することを特徴とする、請求項1または2に記載の情報処理装置。
  4. 前記メインプロセッサは、汎用的に使用可能な複数の処理ユニットを備え、前記複数の処理ユニットのうちのひとつを、前記第1のタスクに関連するデータの前記グラフィックプロセッサへの送信のための専用インタフェイス回路に設定して利用することを特徴とする請求項1からのいずれかに記載の情報処理装置。
  5. 汎用的に使用可能な複数の処理ユニットを備え、前記複数の処理ユニットのうちのひとつを、連携するグラフィックプロセッサとのデータ受け渡しのための専用インタフェイス回路に設定して利用し、グラフィックプロセッサへ転送するデータは一旦、前記インタフェイス回路に転送され、前記インタフェイス回路は、グラフィックプロセッサが実行する画像処理に応じて当該データの送信先をグラフィックプロセッサからメモリへ変更することを特徴とする制御用プロセッサ。
  6. 前記専用インタフェイス回路に設定された処理ユニットは、前記制御用プロセッサが第1のタスクに関連するデータを前記グラフィックプロセッサに送信する際、前記グラフィックプロセッサが前記第1のタスクと異なる第2のタスクに対応した処理を実行していたときは、少なくとも前記グラフィックプロセッサが前記第2のタスクに対応した処理の実行を終了させるまで、前記第1のタスクに関連するデータを退避することを特徴とする請求項に記載の制御用プロセッサ。
  7. 前記制御用プロセッサはDMA(Direct Memory Access)コントローラをさらに備え、少なくとも前記第2のタスクに対応した処理の実行を終了した前記グラフィックプロセッサへ前記第1のタスクに関連するデータを送信するために、前記DMAコントローラを起動することを特徴とする、請求項に記載の制御用プロセッサ。
  8. 連携する制御用プロセッサが処理中のタスクに対応する画像処理を、前記制御用プロセッサが送信した、当該タスクに関連するデータを用いて行うグラフィックプロセッサであって、
    前記制御用プロセッサが第1のタスクに関連するデータを送信する際、前記制御用プロセッサより、前記第1のタスクに関連するデータの保存情報を取得する保存情報取得部と、
    前記制御用プロセッサが第1のタスクに関連するデータを送信する際、前記グラフィックプロセッサにおいて前記第1のタスクに対応した画像処理を実行していたら、前記保存情報に基づき、前記第1のタスクに関連するデータを前記制御用プロセッサから取得し、前記第1のタスクと異なる第2のタスクに対応した画像処理を実行していたら、前記第1のタスクに対応した画像処理の実行が可能となった後に、前記保存情報に基づき、メモリに退避された前記第1のタスクに関連するデータを取得するデータ取得部と、を備えることを特徴とするグラフィックプロセッサ。
  9. 第1のタスクに関連するデータを連携するグラフィックプロセッサに送信する際、前記グラフィックプロセッサが前記第1のタスクと異なる第2のタスクに対応した処理を実行していたとき前記第1のタスクに関連するデータの送信先を前記グラフィックプロセッサからメモリへ変更して前記第1のタスクに関連するデータを退避するデータ退避部と、
    前記グラフィックプロセッサにおいて前記第1のタスクに対応した処理の実行が可能となった際に、前記グラフィックプロセッサへ前記第1のタスクに関連するデータを送信するデータ送信部と、
    を備えることを特徴とする制御用プロセッサ。
JP2004276238A 2004-09-22 2004-09-22 グラフィックプロセッサ、制御用プロセッサおよび情報処理装置 Active JP4190476B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2004276238A JP4190476B2 (ja) 2004-09-22 2004-09-22 グラフィックプロセッサ、制御用プロセッサおよび情報処理装置
US11/189,029 US7760205B2 (en) 2004-09-22 2005-07-25 Information processing apparatus for efficient image processing
EP05017429A EP1647888A3 (en) 2004-09-22 2005-08-10 Apparatus for efficient image processing
CNB2005100991698A CN100351867C (zh) 2004-09-22 2005-09-09 高效地进行图像处理的信息处理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004276238A JP4190476B2 (ja) 2004-09-22 2004-09-22 グラフィックプロセッサ、制御用プロセッサおよび情報処理装置

Publications (2)

Publication Number Publication Date
JP2006092219A JP2006092219A (ja) 2006-04-06
JP4190476B2 true JP4190476B2 (ja) 2008-12-03

Family

ID=35745594

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004276238A Active JP4190476B2 (ja) 2004-09-22 2004-09-22 グラフィックプロセッサ、制御用プロセッサおよび情報処理装置

Country Status (4)

Country Link
US (1) US7760205B2 (ja)
EP (1) EP1647888A3 (ja)
JP (1) JP4190476B2 (ja)
CN (1) CN100351867C (ja)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8269782B2 (en) * 2006-11-10 2012-09-18 Sony Computer Entertainment Inc. Graphics processing apparatus
KR101467558B1 (ko) * 2007-07-26 2014-12-01 엘지전자 주식회사 그래픽데이터 처리 장치 및 방법
JP2009129000A (ja) * 2007-11-20 2009-06-11 Seiko Epson Corp タスクディスパッチャプログラム及びタスクディスパッチャシステム
US8380904B2 (en) * 2010-03-09 2013-02-19 Qualcomm Incorporated Interconnect coupled to master device via at least two different bidirectional connections
US9043806B2 (en) * 2010-04-30 2015-05-26 Nec Corporation Information processing device and task switching method
US9170820B2 (en) * 2011-12-15 2015-10-27 Advanced Micro Devices, Inc. Syscall mechanism for processor to processor calls
JP6040818B2 (ja) * 2013-03-21 2016-12-07 富士通株式会社 情報処理装置、連携方法、及び連携プログラム
JP6280237B2 (ja) * 2014-11-17 2018-02-14 株式会社日立製作所 計算機システム及びデータ処理方法
CN107766021B (zh) * 2017-09-27 2020-12-25 芯启源(上海)半导体科技有限公司 图像处理方法、设备、显示系统及存储介质
JP6852762B2 (ja) * 2019-08-06 2021-03-31 コニカミノルタ株式会社 画像形成装置および画像形成装置で実行される調停プログラム

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2050658C (en) * 1990-09-14 1997-01-28 John M. Peaslee Dual hardware channels and hardware context switching in a graphics rendering processor
US5349680A (en) * 1990-11-07 1994-09-20 Kabushiki Kaisha Toshiba Information processing apparatus for executing application programs under control of a system program
US5299309A (en) * 1992-01-02 1994-03-29 Industrial Technology Research Institute Fast graphics control system capable of simultaneously storing and executing graphics commands
US6075546A (en) * 1997-11-10 2000-06-13 Silicon Grahphics, Inc. Packetized command interface to graphics processor
JP3878307B2 (ja) 1997-12-19 2007-02-07 松下電器産業株式会社 プログラマブルなデータ処理装置
JP3224782B2 (ja) 1998-08-03 2001-11-05 インターナショナル・ビジネス・マシーンズ・コーポレーション 処理分担動的変更方法及びコンピュータ
US6636224B1 (en) 1999-08-31 2003-10-21 Microsoft Corporation Method, system, and computer program product for overlapping graphics data collection and transmission using a single processor
US6473086B1 (en) * 1999-12-09 2002-10-29 Ati International Srl Method and apparatus for graphics processing using parallel graphics processors
US6614438B1 (en) 2000-05-30 2003-09-02 Koninlijke Philips Electronics N.V. Data-processing arrangement for processing different types of data
US6731288B2 (en) 2002-03-01 2004-05-04 3Dlabs Inc., Ltd. Graphics engine with isochronous context switching
US7743376B2 (en) * 2004-09-13 2010-06-22 Broadcom Corporation Method and apparatus for managing tasks in a multiprocessor system

Also Published As

Publication number Publication date
US20060061578A1 (en) 2006-03-23
US7760205B2 (en) 2010-07-20
EP1647888A3 (en) 2006-08-02
CN100351867C (zh) 2007-11-28
CN1753026A (zh) 2006-03-29
JP2006092219A (ja) 2006-04-06
EP1647888A2 (en) 2006-04-19

Similar Documents

Publication Publication Date Title
EP1880277B1 (en) Command execution controlling apparatus, command execution instructing apparatus and command execution controlling method
US7760205B2 (en) Information processing apparatus for efficient image processing
JP4416694B2 (ja) データ転送調停装置およびデータ転送調停方法
JP2007528062A (ja) Pciエクスプレスを用いたグラフィックデバイスのクラスタリング
EP2495665B1 (en) Command transfer controlling apparatus and command transfer controlling method
US7612781B2 (en) Memory control method of graphic processor unit
JP4425177B2 (ja) グラフィックプロセッサ、情報処理装置
JP4836491B2 (ja) 情報処理装置、システム、方法およびプロセッサ
EP1647887A2 (en) Apparatus for efficient image processing
JP4318664B2 (ja) 情報処理装置およびタスク実行方法
JP4011082B2 (ja) 情報処理装置、グラフィックプロセッサ、制御用プロセッサおよび情報処理方法
US7880742B2 (en) Information processing device, data transmission method, and electronic apparatus
JP4409561B2 (ja) イベント通知方法および情報処理装置ならびにプロセッサ
JP2003195847A (ja) グラフィック処理装置

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080624

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080825

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20080916

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080916

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110926

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4190476

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120926

Year of fee payment: 4

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130926

Year of fee payment: 5

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250