JP2006318177A - 情報処理装置およびタスク実行方法 - Google Patents

情報処理装置およびタスク実行方法 Download PDF

Info

Publication number
JP2006318177A
JP2006318177A JP2005139665A JP2005139665A JP2006318177A JP 2006318177 A JP2006318177 A JP 2006318177A JP 2005139665 A JP2005139665 A JP 2005139665A JP 2005139665 A JP2005139665 A JP 2005139665A JP 2006318177 A JP2006318177 A JP 2006318177A
Authority
JP
Japan
Prior art keywords
interrupt
task
sub
control device
information
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.)
Granted
Application number
JP2005139665A
Other languages
English (en)
Other versions
JP4318664B2 (ja
Inventor
Katsuyuki Otsuka
活志 大塚
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 JP2005139665A priority Critical patent/JP4318664B2/ja
Priority to EP06732629.8A priority patent/EP1880285B1/en
Priority to PCT/JP2006/309880 priority patent/WO2006121201A1/en
Priority to US11/431,966 priority patent/US7644214B2/en
Publication of JP2006318177A publication Critical patent/JP2006318177A/ja
Application granted granted Critical
Publication of JP4318664B2 publication Critical patent/JP4318664B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/4812Task transfer initiation or dispatching by interrupt, e.g. masked

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Image Processing (AREA)
  • Multi Processors (AREA)

Abstract

【課題】 マルチプロセッサシステムにおいて効率的にイベントドリブンな割込処理を実行する。
【解決手段】 主制御装置112は、装置を統括的に制御するための処理としてメインプロセスを実行する。副制御装置116は、メインプロセスの実行中に主制御装置112により割り当てられたタスクをサブプロセスとして実行する。イベント検出部162は、メインプロセスの実行中において優先的に実行されるべき割込タスクの実行契機となるイベントの発生を検出する。割込通知部164は、検出されたイベントに応じた割込タスクを示す割込情報を副制御装置116に対して通知する。割込情報を通知された副制御装置116は、その割込情報にて指示された割込タスクをサブプロセスとして実行する。
【選択図】 図2

Description

本発明は、マルチプロセッサによる情報処理技術、特に、マルチプロセッサシステムにおいて割込処理を実行するための技術、に関する。
近年のコンピュータゲームやデジタル放送などの分野に利用されるコンピュータグラフィックス技術や画像処理技術の著しい進歩に伴い、コンピュータ、ゲーム機器、テレビなどの情報処理装置はより高精細の画像データをより高速に処理する能力を求められている。これらの情報処理装置において高性能な演算処理を実現するためには、複数のプロセッサを備えた情報処理装置において、それぞれのプロセッサにタスクを割り当ることにより、複数のタスクを並列処理する方法が有効である。複数のプロセッサが協働して複数のタスクを実行するためには、各プロセッサの状態に応じて効率的にタスクを割り当てる必要がある。
タスクの中には、あるイベントが発生したときには他のタスクに優先して実行されるべきタスクもある。以下、このようなイベント発生を契機として他のタスクに優先して実行されるタスクのことを「割込タスク」とよぶ。また、割込タスクを実行するための処理のことを特に「割込処理」とよぶ。
イベントが発生してからいずれかのプロセッサがその割込タスクを実行開始するまでのオーバーヘッドが大きくなると、割込処理のリアルタイム性が損なわれてしまう。
本発明は、このような課題に鑑みてなされたものであり、その主たる目的は、マルチプロセサシステムにおける割込処理を好適に実行するための技術、を提供することにある。
本発明のある態様は情報処理装置である。
この装置は、制御ユニットと割込ユニットを備える。
制御ユニットは、装置を統括的に制御するための処理としてメインプロセスを実行する主制御装置と、メインプロセスの実行中に主制御装置により割り当てられたタスクをサブプロセスとして実行する副制御装置とを含む。
割込ユニットは、メインプロセスの実行中において優先的に実行されるべき割込タスクの実行契機となるイベントの発生を検出し、その検出されたイベントに応じた割込タスクを示す割込情報を制御ユニットに通知する。このとき、割込ユニットは副制御装置に対して割込情報を通知し、割込情報を通知された副制御装置は、その割込情報にて指示された割込タスクをサブプロセスとして実行する。
ここでいう「タスク」とは、ある目的を達成するためにプログラムされたアプリケーションまたはそれに含まれる情報処理の内容をいい、アプリケーションと対応してもよいし、入出力制御やユーザが指定したコマンドなどアプリケーションよりも小さい単位と対応してもよく、何らかの処理または機能の単位に対応すればよい。
なお、本発明を方法、装置、システム、記録媒体、コンピュータプログラムにより表現したものもまた、本発明の態様として有効である。
本発明によれば、マルチプロセサシステムにおける割込処理を好適に実行できる。
図1は、情報処理装置の機能ブロック図である。
情報処理装置100は、統括制御部110、画像処理部120およびメインメモリ140を含む。情報処理装置100は表示装置150と接続されている。表示装置150は、統括制御部110および画像処理部120の処理の結果得られた画像、映像を出力する。
図1などにおいて、様々な処理を行う機能ブロックとして記載される各要素は、ハードウェア的には、CPU、メモリ、その他のLSIで構成することができ、ソフトウェア的には、メモリにロードされた予約管理機能のあるプログラムなどによって実現される。したがって、これらの機能ブロックがハードウェアのみ、ソフトウェアのみ、またはそれらの組合せによっていろいろな形で実現できることは当業者には理解されるところであり、いずれかに限定されるものではない。
また、この情報処理装置100では、情報処理装置100を効率よく使用するための機能、環境を提供し、装置全体を統括的に制御するオペレーティングシステム(以下、単に「OS」とよぶ)が実行される。OS上で複数のアプリケーションソフトウェアが実行される。
統括制御部110は、1つの主制御装置112と複数の副制御装置116を含む。副制御装置116および主制御装置112はバス118により相互通信可能である。主制御装置112は、各アプリケーションにおける基本処理単位としてのタスクを各副制御装置116に割り当てる。あるいは、主制御装置112自身がタスクを実行してもよい。副制御装置116がそれぞれ割り当てられたタスクを実行することにより、複数のタスクが並列処理される。
以下、タスクの割り当て処理を含む主制御装置112により実行される処理のことを「メインプロセス」、副制御装置116により実行される処理のことを「サブプロセス」とよぶ。主制御装置112は、ユーザインタフェースに関する処理のように比較的優先度が高い情報処理装置100全体を統括する処理を実行する。これに対して、副制御装置116は、比較的優先度が低いバックグラウンドで実行される計算のようにメインプロセスの下請け的な処理を実行する。
主制御装置112や副制御装置116に含まれる図示しないDMAC(Direct Memory Access Controller)は、メインメモリ140やグラフィックスメモリ128との間のデータ転送、データ退避などを主制御装置112または副制御装置116からの命令によって制御する。
メインメモリ140は、主に統括制御部110によって使用される記憶領域である。メインメモリ140には、タスクの実行状態に関連するデータが格納される。たとえば、統括制御部110によりコンピュータグラフィックスに関するタスクが処理されて得られたモデリングデータなどが一時的に格納される。また、このメインメモリ140には、画像処理部120により生成されたデータが退避される場合もある。
画像処理部120は、画像処理を専用に実行するユニットであり、たとえば、レンダリング処理を実行する。画像処理部120は、統括制御部110からの指示により画像処理を実行する。画像処理部120は、統括制御部110により処理されるそれぞれのタスクに関連する画像処理を行い、生成した画像、映像を表示装置150に出力する。画像処理部120は、複数の画像処理を時分割して並列的に実行してもよい。
画像処理部120は、グラフィックスメモリ128、演算ユニット130、ディスプレイコントローラ126、制御ブロック124および画像処理側DMAC122を含む。これらのユニット同士も、バス118で接続されており、各ユニット間で相互通信可能である。
グラフィックスメモリ128は、画像処理部120により使用、管理されるグラフィックスデータを記憶するためのメモリ領域である。グラフィックスメモリ128には、画像フレームデータが格納されるフレームバッファやZバッファに加えて、画像フレームデータを描画する際に参照される基本データである頂点データ、テクスチャデータ、カラールックアップテーブルなどのデータに対応する領域が用意されている。
制御ブロック124は、画像処理部120全体を制御するブロックである。制御ブロック124は、演算ユニット130、グラフィックスメモリ128、ディスプレイコントローラ126を統括的に制御し、各ブロック間のデータ転送の同期管理やタイマー管理等を行う。
画像処理側DMAC122は、統括制御部110やメインメモリ140とグラフィックスメモリ128の間のデータ転送、データ退避などを制御ブロック124からの命令によって制御する。
ディスプレイコントローラ126は、水平および垂直同期信号を生成し、表示装置150の表示タイミングにしたがって、グラフィックスメモリ128に格納されるフレームバッファから画像フレームデータのピクセルデータをライン状に順次読み込んでいく。さらにディスプレイコントローラ126は、ライン状に読み込まれたピクセルデータを、RGBのカラー値からなるデジタルデータから表示装置150に対応したフォーマットに変換して出力する。
演算ユニット130は、制御ブロック124からの命令にしたがって、グラフィックに関する様々な演算処理を行う。その処理の一例としては、3次元モデリングデータをもとに座標変換、陰面消去、シェーディングを行って画像フレームデータを作成し、フレームバッファに書き込む一連のレンダリング処理などが挙げられる。
演算ユニット130は、特に3次元グラフィックスに関する処理を高速に行うために、ラスタライザ132、シェーダユニット134、テクスチャユニット136などの機能ブロックを含む。
ラスタライザ132は、描画する基本物体(以下、「プリミティブ」とよぶ)の頂点データを統括制御部110から受け取り、3次元空間上のプリミティブを投影変換により描画平面上の図形に変換するビュー変換を行う。さらに、描画平面上の図形を、描画平面の水平方向に沿ってスキャンしながら、一列ごとに量子化されたピクセルに変換するラスタ処理を行う。このラスタライザ132によってプリミティブがピクセル展開されて、各ピクセル毎にピクセル情報を算出する。このピクセル情報には、RGBカラー値、透明度を表すα値、視点からの奥行きを表すZ値が含まれる。
ラスタライザ132は、スキャンラインに沿って所定の大きさのピクセル領域を生成し、シェーダユニット134、テクスチャユニット136へと出力する。ラスタライザ132から出力されるピクセル領域は、一度キューにスタックされ、シェーダユニット134はスタックされたピクセル領域を順に処理していく。
シェーダユニット134は、ラスタライザ132により算出されたピクセル情報をもとにシェーディング処理を行い、テクスチャユニット136により得られたテクセル情報をもとに、テクスチャマッピング後のピクセル色を決定し、グラフィックスメモリ128内のフレームバッファにシェーディング処理後の画像フレームデータを書き込む。さらにシェーダユニット134はフレームバッファに書き込まれた画像フレームデータに対してフォギング、アルファブレンディング等の処理を行い最終的な描画色を決定してフレームバッファの画像フレームデータを更新する。
テクスチャユニット136は、シェーダユニット134からテクスチャデータを指定するパラメータを受け取り、要求されたテクスチャデータをグラフィックスメモリ128内のテクスチャバッファを読み出し、所定の処理を行った後にシェーダユニット134に対して出力する。
画像処理部120はプリミティブの頂点データなど画像生成のために必要な基本情報や画像生成の開始指示を統括制御部110から与えられると、統括制御部110とは独立して画像処理を実行する。指示された画像処理が終了すると、画像処理部120はその旨をイベントとして統括制御部110に通知する。統括制御部110は、画像処理部120からイベント通知されると、そのイベントに対応したイベントハンドラにより割込タスクを実行する。画像処理部120が所定の画像を生成したことを条件として実行されるべき割込タスクの場合、統括制御部110は画像生成終了を示すイベントの通知を契機としてその割込タスクを実行することになる。
たとえば、統括制御部110のある副制御装置116が表示装置150における所定のウィンドウにあわせて画像処理部120に画像生成を指示し、別の副制御装置116が表示装置150における別のウィンドウにあわせて画像生成を指示したとする。このとき、画像処理部120は複数のスレッドによってそれぞれの画像を生成するための処理を並列的に実行する。
統括制御部110が2つのウィンドウの重なり部分の画像をクリッピングしたい場合には、統括制御部110はそれら2つの画像生成が完了した旨をイベント通知されたときに割込タスクとしてクリッピング処理を実行することになる。統括制御部110は画像処理部120に画像処理を実行指示した後は、別のタスクを実行し、イベント通知されたときには、イベントハンドラによって割込タスクを優先的に実行する。このように、統括制御部110と画像処理部120は、非同期的に協調動作する。
また、副制御装置116は、タスクの実行時に生成されたデータを画像処理部120に転送し、画像処理部120はその転送されたデータに基づいてタスクの実行を副制御装置116から引き継いでもよい。たとえば、画像処理部120は、副制御装置116による座標計算結果に基づいてグラフィックス表示を実行してもよい。これにより、座標計算、テクスチャの貼り付け、シェーディングといったグラフィックスに関する計算を、副制御装置116と画像処理部120により分担して実行できる。すなわち、このようなタスクの実行形態の場合、副制御装置116と画像処理部120の協働により、副制御装置116に割り当てられたタスクが実行されることになる。
図2は、画像処理部と統括制御部における割込処理に関連する機能ブロック図である。
画像処理部120において発生した各種イベントは、制御ブロック124の割込コントローラ160により統括制御部110に通知される。このとき、統括制御部110の主制御装置112または副制御装置116が、その通知されたイベントに対応して割込タスクを実行する。
1.第1割込処理方式:
一般的な割込処理の方法として考えられる処理過程は以下の通りである(以下、「第1割込処理方式」とよぶ)。まず、割込コントローラ160のイベント検出部162がイベント発生を検出する。このとき、割込通知部164は、イベントが発生した旨を主制御装置112のイベント記憶部174にイベント情報として通知する。イベント情報はパケット通信により通知される。イベント情報は、イベント発生のタイミングを知らせるための情報であり、イベントに対応して割込タスクを特定する情報を含まない。かわりに、割込通知部164は、そのイベントに対応する割込タスクを特定するための情報(以下、「割込情報」とよぶ)を割込情報送信記憶部166に記録する。割込情報は、イベントの種類やイベントに応じて実行すべき割込タスクの種類、割込タスクが基づくべき変数を含む。
主制御装置112は、通知されたイベント情報をイベント記憶部174に記録する。イベント記憶部174は、複数個のイベントを記憶することができる。主制御装置112の主実行部172で実行されるイベントハンドラが、イベント記憶部174からイベント情報をFIFO(First-In First-Out)方式で取り出す。主制御装置112の主実行部172は、制御ブロック124の割込情報送信記憶部166から割込情報を読み出すことにより、実行すべき割込タスクを特定する。
通常、副制御装置116には固定的にタスクが割り当てられる。このような副制御装置116は、たとえば、プロセス起動時から予約された状態にあり、所定の座標計算など定常的に実行すべきタスクを処理する。一方、主制御装置112の主実行部172は、予約されていない各副制御装置116の中から割込タスクを実行可能な状態にある副制御装置116を選択し、割込タスクの実行を指示する場合もある。なお、主制御装置112の主実行部172はみずから割込タスクを実行してもよい。主制御装置112からタスクを割り当てられる副制御装置116において実行されるスレッドは、通常は、待機状態となっている。このような予約されていない副制御装置116において実行されるスレッドは、主制御装置112からのタスク割り当て指示によって待機状態から実行状態に移行する。このとき、副制御装置116はタスク実行のための情報も主制御装置112から渡される。副制御装置116は、割り当てられたタスクの実行を完了したときには、再び待機状態に移行し、また、移行した旨を主制御装置112に通知する。これにより、主制御装置112は複数の副制御装置116のうち、どの副制御装置116が待機状態にあるか、すなわち、タスクを即時に実行可能な状態にあるかを知ることができる。
割込タスクの実行指示時において主制御装置112は割込情報を副制御装置116に渡す。副制御装置116の副実行部182は、割込情報により指示された割込タスクを実行する。
第1割込処理方式の場合、事実上、すべての割込処理に主制御装置112が介在することになる。割込タスクは他のタスクよりも優先的に実行されるべきタスクであるため、主制御装置112は、イベント情報を検出したときには、最優先にて上記したような割り当て処理を実行する必要がある。したがって、イベントの発生が短期間に集中すると、主制御装置112の処理負荷が過負荷となってしまい、メインプロセスの処理が滞ってしまう可能性がある。
割込通知部164から送信されたイベント情報は、イベント記憶部174にスタックされていく。もし、割込通知部164がイベント情報を通知したときに、主制御装置112の処理が滞ってイベント記憶部174がオーバーフローすると、割込通知部164にはイベント情報を再送する必要が生じる。その場合、割込処理のリアルタイム性が特に損なわれる。
2.第2割込処理方式:
これに対して、本実施例においては、主制御装置112による割込タスクの割り当て処理を介さずに、副制御装置116が割込タスクを実行する方法を示す。このときの割込処理の過程は以下の通りである(以下、「第2割込処理方式」とよぶ)。
イベント検出部162がイベントを検出すると、割込通知部164はイベント情報ではなく割込情報を副制御装置116の割込情報受信記憶部184に書き込む。この書き込みはイベント情報を送信したときのようなパケット通信ではなく、割込情報受信記憶部184へのダイレクトな書き込み処理であることが好ましい。
割込情報の書き込み時において、割込通知部164は、複数の副制御装置116のうち、スレッドが待機状態にある副制御装置116の中から割込タスクを実行すべき副制御装置116を選択する。第2割込処理方式において、副制御装置116のスレッドがタスクの実行を完了して待機状態に移行したときには、副制御装置116は画像処理部120にその旨を通知する。割込通知部164は、この通知によって、スレッドが待機状態にあって割込タスクを即時実行可能な副制御装置116を把握できる。副制御装置116の副実行部182で実行されているイベントハンドラが割込情報受信記憶部184から割込情報を読み出して、指定された割込タスクが実行される。
第2割込処理方式によれば、割込通知部164は、割込タスクを実行させたい副制御装置116に対して主制御装置112を介さず直接割込情報を通知できる。そのため、割込処理におけるオーバーヘッドを、総じて第1割込方式よりも削減することができる。
なお、主制御装置112は、副制御装置116に対して固定的にタスクを割り当ててもよい。また、副制御装置116は、画像処理部120と協働してサブプロセスとしてのタスクを実行してもよい。この場合、まず、主制御装置112は副制御装置116にタスクを割り当て、次に、副制御装置116はタスク実行に必要なデータをメインメモリ140から読み出す。副制御装置116はメインメモリ140から読み出したデータを副制御装置116に内蔵されるローカルメモリに格納する。たとえば、副制御装置116は、タスクとして座標計算を実行するときには、座標情報を示すテーブルデータをメインメモリ140から読み出してローカルメモリに格納する。
副制御装置116は、このローカルメモリに格納したデータに基づいて、主制御装置112から割り当てられていたタスクを実行する。副制御装置116は、そのタスクの実行結果としてのデータをローカルメモリに格納するとともに、内蔵のDMACにてその実行結果としてのデータを、画像処理部120のグラフィックスメモリ128に転送する。画像処理部120は、グラフィックスメモリ128から読み出したデータに基づいて、更に処理を実行する。たとえば、副制御装置116から転送された座標計算の結果データに基づいて、描画処理を実行する。制御ブロック124は、その実行結果を割込情報として、データ送信元の副制御装置116に通知する。このようにして、副制御装置116に割り当てられたタスクが副制御装置116と画像処理部120により協働して実行されてもよい。
この場合には、サブプロセスとしてのタスク実行時において主制御装置112を介在させないDMA転送により副制御装置116から画像処理部120にデータを転送できるため、副制御装置116と画像処理部120はより緊密に連係してサブプロセスとしてのタスクを実行できる。特に、処理負荷の大きな3次元グラフィックス処理を副制御装置116と画像処理部120が連係して行う場合などに有効である。
次に、第1割込処理方式と第2割込処理方式のそれぞれによる割込処理の処理過程をシーケンス図を用いて説明する。
図3は、第1割込処理方式における割込処理の過程を示すフローチャートである。
まず、イベント検出部162が、イベントを検出することにより割込処理が開始される(S10)。割込通知部164は、イベントが検出された旨をイベント情報としてパケット通信により主制御装置112に通知する(S12)。
割込情報送信記憶部166は、検出されたイベントに対応した割込情報を一時的に記憶する(S14)。主制御装置112のイベント記憶部174は、S12において通知されたイベント情報を記憶する。このイベント情報は、FIFO方式にて主実行部172により読み出される(S18)。主実行部172は、イベント情報を読み出すと、割込情報送信記憶部166からの割込情報の読み出しを要求する(S20)。主実行部172は、割込情報送信記憶部166から割込情報を読み出す(S22)。
主実行部172は、割込情報が指示する割込タスクを実行すべき副制御装置116を選択する(S24)。主制御装置112は、S24にて選択した副制御装置116に対して、S22にて読み出した割込情報を渡して割込タスクの実行を指示する(S26)。実行指示された副制御装置116は、割込情報にて指示された割込タスクを実行する(S28)。なお、割込タスクの実行が完了したときには、副制御装置116はその旨を主制御装置112に通知する。この通知により、主制御装置112は、どの副制御装置116が待機状態にあるか、実行状態にあるかを管理する。
図4は、第2割込処理方式における割込処理の過程を示すフローチャートである。
まず、イベント検出部162がイベントの発生を検出すると(S30)、割込通知部164は、複数の副制御装置116のうち、割込タスクを実行可能な状態にある副制御装置116を選択する(S32)。
割込通知部164は、選択した副制御装置116の割込情報受信記憶部184に割込情報を書き込む(S34)。このとき、割込通知部164は、アプリケーションを識別するためのジョブIDや副制御装置116を識別するための装置IDを含めて割込情報を書き込む。このため、割込情報を書き込まれた副制御装置116は、書き込まれたジョブIDや装置IDを参照して、正常に割込情報が通知されているか判定することもできる。
副制御装置116は、書き込まれた割込情報を読み出し(S36)、その割込情報によって指示された割込タスクを実行する(S38)。
第1割込処理方式の場合、割込コントローラ160はイベントをすべて主制御装置112に送信するので、割込コントローラ160側の処理を単純にできるというメリットはある。その反面、すべての割込処理は主制御装置112を介して実行されるため、主制御装置112の処理が割込処理におけるボトルネックとなる可能性がある。
これに対して、第2割込処理方式の場合には、画像処理部120の割込コントローラ160が統括制御部110の副制御装置116の状態を管理する必要があるが、割込処理におけるオーバーヘッドを第1割込処理方式よりも削減できるというメリットがある。
通常、主制御装置112には、画像処理部120の他にも、図示しないI/Oブリッジを介して周辺機器から様々なイベントが通知される。より好適な態様としては、各イベントは基本的に第1割込方式にて処理され、予め定義されたイベント群に属するイベントについては第2割込方式にて処理されることが望ましい。このイベント群は、主制御装置112ではなく副制御装置116により実行されるイベントであって、リアルタイム性をより求められるイベントや特に多く発生しやすいイベントが属するグループとして、アプリケーションソフトウェアのプログラマが定義してもよい。
第1割込方式と第2割込方式を併用することにより、開発コストを抑制しつつも、割込処理、ひいては、情報処理装置100の処理におけるオーバーヘッドを削減することができる。
以上、本発明を実施例をもとに説明した。この実施例はあくまで例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
なお、請求項に記載の割込ユニットは、本実施例においては主として割込コントローラ160により実現されるが、広くは、画像処理部120の機能の一部として実現されるといえる。これら請求項に記載の各構成要件が果たすべき機能は、本実施例において示された各機能ブロックの単体もしくはそれらの連係によって実現されることも当業者には理解されるところである。
情報処理装置の機能ブロック図である。 画像処理部と統括制御部における割込処理に関連する機能ブロック図である。 第1割込処理方式における割込処理の過程を示すフローチャートである。 第2割込処理方式における割込処理の過程を示すフローチャートである。
符号の説明
100 情報処理装置、 110 統括制御部、 112 主制御装置、 116 副制御装置、 118 バス、 120 画像処理部、 122 画像処理側DMAC、 124 制御ブロック、 126 ディスプレイコントローラ、 128 グラフィックスメモリ、 130 演算ユニット、 140 メインメモリ、 150 表示装置、 160 割込コントローラ、 162 イベント検出部、 164 割込通知部、 166 割込情報送信記憶部、 172 主実行部、 174 イベント記憶部、 182 副実行部、 184 割込情報受信記憶部。

Claims (9)

  1. 装置を統括的に制御するための処理としてメインプロセスを実行する主制御装置と、
    前記メインプロセスの実行中に前記主制御装置により割り当てられたタスクをサブプロセスとして実行する副制御装置と、
    を含む制御ユニットと、
    前記メインプロセスの実行中において優先的に実行されるべき割込タスクの実行契機となるイベントの発生を検出するイベント検出部と、
    前記検出されたイベントに応じた割込タスクを示す割込情報を前記制御ユニットに通知する割込通知部と、
    を含む割込ユニットと、
    を備え、
    前記割込通知部は、前記制御ユニットにおける前記副制御装置に対して前記割込情報を通知し、
    前記割込情報を通知された副制御装置は、その割込情報にて指示された割込タスクをサブプロセスとして実行することを特徴とする情報処理装置。
  2. 前記制御ユニットは、前記副制御装置を複数個含み、
    前記割込通知部は、それら複数の副制御装置のうち割込タスクを実行可能な状態にある副制御装置に対して前記割込情報を通知することを特徴とする請求項1に記載の情報処理装置。
  3. 前記副制御装置は、割込情報を一時的に保持するための割込情報受信記憶部を含み、
    前記割込通知部は、通知先となる副制御装置の割込情報受信記憶部に前記割込情報を記録することにより前記副制御装置に対して割込情報を通知し、
    前記副制御装置は、前記割込情報受信記憶部に記録された割込情報を読み出して、その割込情報により指示された割込タスクをサブプロセスとして実行することを特徴とする請求項1または2に記載の情報処理装置。
  4. 前記イベントは所定のイベント群に属するイベントであって、
    前記割込通知部は、割込情報を一時的に保持するための割込情報送信記憶部を含み、
    前記割込通知部は、前記所定のイベント群に属さないイベントが検出されたときには、そのイベントが発生したことを前記制御ユニットにおける前記主制御装置に通知するとともに、前記検出されたイベントに応じた割込タスクを示す割込情報を前記割込情報送信記憶部に記録し、
    前記主制御装置は、前記イベントの発生を通知されたときに前記割込通知部の前記割込情報送信記憶部から前記記録された割込情報を読み出して、その割込情報により指示された割込タスクを前記副制御装置に割り当てることを特徴とする請求項1から3のいずれかに記載の情報処理装置。
  5. 前記制御ユニットから指示されたタスクを実行するための補助ユニットを更に備え、
    前記副制御装置は、割り当てられたタスクの実行より生成されたデータを前記補助ユニットに転送し、前記補助ユニットは、前記転送されたデータに基づいて前記副制御装置により実行されたタスクの続きとしてのタスクを実行することにより、前記副制御装置と前記補助ユニットが協働してサブプロセスとしてのタスクを実行することを特徴とする請求項1から4のいずれかに記載の情報処理装置。
  6. 前記副制御装置は、DMA(Direct Memory Access)転送により前記生成されたデータを前記補助ユニットに対して転送することを特徴とする請求項5に記載の情報処理装置。
  7. 装置を統括的に制御するための処理としてメインプロセスを実行する主制御装置と前記メインプロセスの実行中に前記主制御装置により割り当てられたタスクをサブプロセスとして実行する副制御装置を備える情報処理装置におけるタスクの実行方法であって、
    前記メインプロセスの実行中において優先的に実行されるべき割込タスクの実行契機となるイベントの発生を検出するステップと、
    前記検出されたイベントに応じた割込タスクを示す割込情報を前記副制御装置に通知するステップと、
    前記割込情報を通知された副制御装置に、その割込情報にて指示された割込タスクをサブプロセスとして実行させるステップと、
    を備えることを特徴とするタスク実行方法。
  8. 装置を統括的に制御するための処理としてメインプロセスを実行する主制御装置と前記メインプロセスの実行中に前記主制御装置により割り当てられたタスクをサブプロセスとして実行する副制御装置を備える情報処理装置においてタスクを実行させるためのコンピュータプログラムであって、
    前記メインプロセスの実行中において優先的に実行されるべき割込タスクの実行契機となるイベントの発生を検出する機能と、
    前記検出されたイベントに応じた割込タスクを示す割込情報を前記副制御装置に通知する機能と、
    前記割込情報を通知された副制御装置に、その割込情報にて指示された割込タスクをサブプロセスとして実行させる機能と、
    をコンピュータに発揮させることを特徴とするタスク実行プログラム。
  9. コンピュータにて読み取り可能な記録媒体であって、
    装置を統括的に制御するための処理としてメインプロセスを実行する主制御装置と前記メインプロセスの実行中に前記主制御装置により割り当てられたタスクをサブプロセスとして実行する副制御装置を備える情報処理装置においてタスクを実行させるためのコンピュータプログラムであって、
    前記メインプロセスの実行中において優先的に実行されるべき割込タスクの実行契機となるイベントの発生を検出する機能と、
    前記検出されたイベントに応じた割込タスクを示す割込情報を前記副制御装置に通知する機能と、
    前記割込情報を通知された副制御装置に、その割込情報にて指示された割込タスクをサブプロセスとして実行させる機能と、
    をコンピュータに発揮させることを特徴とするタスク実行プログラムを格納した記録媒体。
JP2005139665A 2005-05-12 2005-05-12 情報処理装置およびタスク実行方法 Expired - Fee Related JP4318664B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2005139665A JP4318664B2 (ja) 2005-05-12 2005-05-12 情報処理装置およびタスク実行方法
EP06732629.8A EP1880285B1 (en) 2005-05-12 2006-05-11 Information processing apparatus and task execution method
PCT/JP2006/309880 WO2006121201A1 (en) 2005-05-12 2006-05-11 Information processing apparatus and task execution method
US11/431,966 US7644214B2 (en) 2005-05-12 2006-05-11 Information processing apparatus and task execution method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005139665A JP4318664B2 (ja) 2005-05-12 2005-05-12 情報処理装置およびタスク実行方法

Publications (2)

Publication Number Publication Date
JP2006318177A true JP2006318177A (ja) 2006-11-24
JP4318664B2 JP4318664B2 (ja) 2009-08-26

Family

ID=36615657

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005139665A Expired - Fee Related JP4318664B2 (ja) 2005-05-12 2005-05-12 情報処理装置およびタスク実行方法

Country Status (4)

Country Link
US (1) US7644214B2 (ja)
EP (1) EP1880285B1 (ja)
JP (1) JP4318664B2 (ja)
WO (1) WO2006121201A1 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8024504B2 (en) * 2008-06-26 2011-09-20 Microsoft Corporation Processor interrupt determination
US20090327556A1 (en) * 2008-06-27 2009-12-31 Microsoft Corporation Processor Interrupt Selection
US8578080B2 (en) * 2011-07-01 2013-11-05 Intel Corporation Secure handling of interrupted events utilizing a virtual interrupt definition table
CN105453044B (zh) * 2013-09-19 2020-06-12 英特尔公司 用于分布式处理任务部分指配的技术
JP6673202B2 (ja) * 2014-06-19 2020-03-25 日本電気株式会社 演算装置、演算装置の制御方法、及び、演算装置の制御プログラム

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5179702A (en) * 1989-12-29 1993-01-12 Supercomputer Systems Limited Partnership System and method for controlling a highly parallel multiprocessor using an anarchy based scheduler for parallel execution thread scheduling
JPH03210654A (ja) 1990-01-16 1991-09-13 Mitsubishi Electric Corp 分散制御処理装置
JPH03257634A (ja) 1990-03-08 1991-11-18 Mitsubishi Electric Corp プログラム並列実行方法とその装置
JP2855298B2 (ja) * 1990-12-21 1999-02-10 インテル・コーポレーション 割込み要求の仲裁方法およびマルチプロセッサシステム
US5613128A (en) * 1990-12-21 1997-03-18 Intel Corporation Programmable multi-processor interrupt controller system with a processor integrated local interrupt controller
JPH05128078A (ja) 1991-11-06 1993-05-25 Fujitsu Ltd 並列処理装置
US5812811A (en) * 1995-02-03 1998-09-22 International Business Machines Corporation Executing speculative parallel instructions threads with forking and inter-thread communication
US5671365A (en) * 1995-10-20 1997-09-23 Symbios Logic Inc. I/O system for reducing main processor overhead in initiating I/O requests and servicing I/O completion events
US6032245A (en) 1997-08-18 2000-02-29 International Business Machines Corporation Method and system for interrupt handling in a multi-processor computer system executing speculative instruction threads
JPH11265297A (ja) 1998-03-17 1999-09-28 Mitsubishi Electric Corp 分散シミュレータシステム
US6356969B1 (en) 1999-08-13 2002-03-12 Lsi Logic Corporation Methods and apparatus for using interrupt score boarding with intelligent peripheral device

Also Published As

Publication number Publication date
US20060265535A1 (en) 2006-11-23
JP4318664B2 (ja) 2009-08-26
WO2006121201A1 (en) 2006-11-16
EP1880285B1 (en) 2015-07-15
EP1880285A1 (en) 2008-01-23
US7644214B2 (en) 2010-01-05

Similar Documents

Publication Publication Date Title
JP4372043B2 (ja) コマンド実行制御装置、コマンド実行指示装置およびコマンド実行制御方法
JP4416694B2 (ja) データ転送調停装置およびデータ転送調停方法
JP4443474B2 (ja) コマンド転送制御装置およびコマンド転送制御方法
US7760205B2 (en) Information processing apparatus for efficient image processing
US7612781B2 (en) Memory control method of graphic processor unit
US20130257882A1 (en) Image processing device, image processing method, and recording medium on which an image processing program is recorded
JP4318664B2 (ja) 情報処理装置およびタスク実行方法
EP1647887A2 (en) Apparatus for efficient image processing
JP4011082B2 (ja) 情報処理装置、グラフィックプロセッサ、制御用プロセッサおよび情報処理方法
JP4046716B2 (ja) 情報処理装置およびデータ伝送方法
JP4409561B2 (ja) イベント通知方法および情報処理装置ならびにプロセッサ
JP2001111912A (ja) 割り込み処理方法及びプロセッサ装置

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080930

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20081111

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090217

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090407

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: 20090526

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: 20090526

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

Free format text: PAYMENT UNTIL: 20120605

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4318664

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: 20120605

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20130605

Year of fee payment: 4

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

LAPS Cancellation because of no payment of annual fees