JP2007200106A - データ処理装置、制御方法、及びプログラム - Google Patents

データ処理装置、制御方法、及びプログラム Download PDF

Info

Publication number
JP2007200106A
JP2007200106A JP2006019169A JP2006019169A JP2007200106A JP 2007200106 A JP2007200106 A JP 2007200106A JP 2006019169 A JP2006019169 A JP 2006019169A JP 2006019169 A JP2006019169 A JP 2006019169A JP 2007200106 A JP2007200106 A JP 2007200106A
Authority
JP
Japan
Prior art keywords
task
switching
data
dynamic reconfiguration
reconfiguration circuit
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.)
Pending
Application number
JP2006019169A
Other languages
English (en)
Inventor
Tetsuo Hokuso
哲郎 北荘
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.)
Canon Inc
Original Assignee
Canon 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 Canon Inc filed Critical Canon Inc
Priority to JP2006019169A priority Critical patent/JP2007200106A/ja
Publication of JP2007200106A publication Critical patent/JP2007200106A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Logic Circuits (AREA)

Abstract

【課題】タスク処理を高速に行うことを可能とし、データ処理装置全体のスループットを向上させることを可能としたデータ処理装置を提供する。
【解決手段】データ処理装置は、タスク実行部100、タスク実行部101、バッファ102、バッファ103、セレクタ104、動的再構成回路105、タスク切り替え決定部106、タスク切り替え実行部107を備える。タスク切り替え決定部106は、動的再構成回路105のタスク切り替えに要する時間とバッファのデータ個数が一定値以上になるまでの時間とを比較する。動的再構成回路105のタスク切り替えに要する時間の方が短い場合は、動的再構成回路105のタスク切り替えを適用する。動的再構成回路105のタスク切り替えに要する時間の方が長い場合は、タスク切り替えに対してタスク復帰時間の短いタスク停止を適用する。
【選択図】図1

Description

本発明は、動的再構成回路を用いて少なくとも2つ以上のタスクを実行可能なデータ処理装置、制御方法、及びプログラムに関する。
従来、情報処理装置等の処理における実行の最小単位であるタスクとタスクとの間の通信には、両タスクのスループットの違いを緩和するためにバッファを使用する。タスク間通信にバッファを介することで、タスク間のデータにおける時間的な出力/入力速度の差を吸収することができる。これにより、両タスク間のデータ通信を高速に行うことが可能となる。
タスク間通信に伴うデータによってバッファがフル(満杯)になった場合には、バッファに対してそれ以上のデータの書き込みができない。このとき、ハードウエアでは一般にバッファ前段のモジュールの停止、ソフトウエアではタスクの内容を変更するという対応が固定的に取られる。他方、バッファがエンプティ(空)になった場合には、バッファからそれ以上のデータの読み出しができない。そのため、ハードウエアではバッファ後段のモジュールが停止され、ソフトウエアではタスクの内容が変更される。
上記のようにモジュールを停止させることの利点はモジュールの停止から復帰までの待ち時間がタスクの切り替えに比べて短いことであり、欠点は停止中のモジュールが有効に活用できないことである。一方、上記のようにモジュールのタスクの内容を切り替えることの利点は停止中のモジュールを有効に活用できることであり、欠点はモジュールのタスクの停止から復帰までの待ち時間がタスクの停止に比べて長いことである。
上記のタスク間通信等の情報処理に関しては各種の技術が提案されている(例えば、特許文献1、特許文献2参照)。
特開平06−004314号公報 特開2004−220093号公報
しかしながら、従来技術においては次のような問題がある。動的再構成回路(複数の演算器等を備え、回路内部の構成及び回路内部の接続を動的に変更可能な回路)と、他のタスクモジュールとがタスク間通信を行う場合、動的再構成回路はタスク切り替え/タスク停止のどちらも実現できる。そのため、バッファがフルまたはエンプティになったときに、タスク切り替え/タスク停止のいずれを適用させるかを判断しなければならないという問題がある。
更に、動的再構成回路では、タスク切り替えの際に実現する回路の情報をメモリから読み出す必要があるため、メモリのレイテンシ(遅延時間)に応じて一定の切り替え時間を要する。そのため、固定的なタスク切り替え/タスク停止の適用では、特に頻繁なタスク切り替えの際にオーバーヘッド時間(直接には関係ないが間接的に必要な時間)が増大し、処理性能が低下するという問題がある。
本発明の目的は、タスク処理を高速に行うことを可能とし、データ処理装置全体のスループットを向上させることを可能としたデータ処理装置、制御方法、及びプログラムを提供することにある。
上述の目的を達成するために、本発明のデータ処理装置は、タスクを実行する複数の実行手段と、複数の前記実行手段から出力されるデータをそれぞれ保持する複数の保持手段と、複数の前記保持手段の出力を選択する選択手段と、前記選択手段により選択された出力を入力とする動的再構成回路と、前記実行手段のデータ入出力タイミング、前記保持手段が保持するデータ数、及び前記動的再構成回路のタスク切り替えに要する時間に基づいて、前記動的再構成回路におけるタスク切り替えを判断する判断手段と、前記判断手段の判断結果に基づいて、前記動的再構成回路のタスクを切り替える切替手段と、を備えることを特徴とする。
上述の目的を達成するために、本発明のデータ処理装置は、動的再構成回路と、前記動的再構成回路から出力されるデータを入力とする選択手段と、前記選択手段から出力されるデータを保持する複数の保持手段と、複数の前記保持手段の出力をそれぞれ入力としタスクを実行する複数の実行手段と、前記実行手段のデータ入出力タイミング、前記保持手段が保持するデータ数、及び前記動的再構成回路のタスク切り替えに要する時間に基づいて、前記動的再構成回路におけるタスク切り替えを判断する判断手段と、前記判断手段の判断結果に基づいて、前記動的再構成回路のタスクを切り替える切替手段と、を備えることを特徴とする。
本発明によれば、実行手段のデータ入出力タイミング、保持手段のデータ数、動的再構成回路のタスク切り替えに要する時間に基づいて、動的再構成回路におけるタスク切り替えを判断するため、不必要なタスク切り替え回数を低減することが可能となる。これにより、タスク処理を高速に行うことが可能となり、データ処理装置全体のスループットを向上させることが可能となる。
以下、本実施の形態を図面を参照して説明する。
[第1の実施の形態]
図1は、本発明の第1の実施の形態に係るデータ処理装置の構成を示すブロック図である。
図1において、データ処理装置は、タスク実行部1・100、タスク実行部2・101、バッファ1・102、バッファ2・103、セレクタ104、動的再構成回路105、タスク切り替え決定部106、タスク切り替え実行部107を備えている。データ処理装置は、2つ以上のタスクを動的再構成回路105を用いて時分割で処理する機能を有する。
尚、以下の説明では、タスク実行部1・100、2・101、バッファ1・102、2・103を、符号の前の添え字1、2を省略し、タスク実行部100、101、バッファ102、103と略称表記する。また、入力データ1、2、タイミング情報1・120、2・121、データ数1・130、2・131についても、符号の前の添え字1、2を省略し略称表記する。
タスク実行部100、101は、それぞれ、入力データ1、入力データ2に対して予め決められたタスクを実行する。タスク実行部100、101は、それぞれ、タスクの実行に基づいたデータをバッファ102、103に出力する。また、タスク実行部100、101は、それぞれ、タイミング情報(データ入出力タイミングを示す情報)120、121をタスク切り替え決定部106に出力する。タスク実行部100、101の詳細については後述する。
バッファ102、103は、それぞれ、タスク実行部100、101から出力されたデータを入力とするFIFO(First In First Out)メモリである。バッファ102、103は、それぞれ、その時点で保持しているデータ数130、131をタスク切り替え決定部106に出力し、データをセレクタ104に出力する。
セレクタ104は、バッファ102、103から出力されたデータをタスク切り替え決定部106の選択情報132に従って選択し、動的再構成回路105に出力する。
動的再構成回路105は、回路内部の構成及び回路内部の接続を動的に変更可能な回路であり、セレクタ104で選択されたタスクのデータと、切り替え制御情報110と、停止制御情報112を入力とする。動的再構成回路105は、以下の各場合に応じた処理を行う。
即ち、切り替え制御情報110が有効である場合は、タスクを回路情報111を参照して切り替える。停止制御情報112が有効である場合は、タスクを停止させる。以上のいずれでもない場合は、セレクタ104から入力されたデータを処理する。動的再構成回路105に対する切り替え制御情報110と回路情報111は、タスク切り替え実行部107から入力され、停止制御情報112は、タスク切り替え決定部106から入力される。
タスク切り替え決定部106は、タスク実行部100、101から入力されるタイミング情報120、121と、バッファ102、103から入力されるデータ数130、131を基に、以下の処理を行う。タスク切り替え決定部106は、データ数130、131が0もしくは一定値以下になった場合に、動的再構成回路105で実行されているタスクを停止させるか切り替えるかの決定を行う。即ち、タスク切り替え決定部106は、後述するように、動的再構成回路105のタスク切り替えに要する時間と、バッファ102(103)のデータ数が一定値以上になるまでの時間とを比較し、比較結果に基づきタスク切り替え/タスク停止を決定する。
タスク切り替え決定部106は、タスクを停止させると決定した場合には、停止制御情報112を出力して動的再構成回路105を停止させる。また、タスク切り替え決定部106は、タスクを切り替えると決定した場合には、タスク切り替え実行部107にタスク切り替え制御情報141を出力することでタスク切り替え処理を実行させ、セレクタ104で選択するタスクを切り替える。タスク切り替え決定部106の詳細については後述する。
タスク切り替え実行部107は、タスク切り替え決定部106から入力されたタスク切り替え制御情報141に従い、切り替え制御情報110と回路情報111を動的再構成回路105に出力する。タスク切り替え制御情報141は、動的再構成回路105の回路を切り替えるか否かを示す情報と、どのタスクに切り替えるかを示す情報から構成される。タスク切り替え実行部107は、タスク切り替え制御情報141を参照してタスクを切り替えると判断した場合には、要求されているタスクに対応した回路情報111と切り替え制御情報110を動的再構成回路105に出力する。
上記制御により、動的再構成回路105に対するタスク切り替えが必要な時にのみ実行される。これにより、タスク切り替えのオーバーヘッド時間が軽減することでデータ処理装置全体のスループットを向上させることを可能としている。
図2は、データ処理装置のタスク実行部100の詳細構成を示す図である。
図2において、タスク実行部100は、ALU(Arithmetic and Logic Unit)150、データレジスタ151、ステートレジスタ152、データ出力タイミング決定部153を備えている。尚、タスク実行部101の詳細構成もタスク実行部100と同様であるため、図示及び説明は省略する。
データレジスタ151は、入力データを保持し、ALU150に出力する。ALU150は、データレジスタ151から出力されたデータに対し所定の演算を行う。演算結果はデータレジスタ151にフィードバックされる。ステートレジスタ152は、タスク実行部100で実行されるタスクのステートを保持する。
データ出力タイミング決定部153は、ステートレジスタ152から入力されたステート情報を基に、ALU150から次にデータを出力するまでのサイクル数をタイミング情報120(図1参照)として出力する。これにより、タスク切り替え決定部106では、実行中のバッファのデータ数が一定値以下になった場合に、当該バッファに次にデータが入力されるのはいつになるかを把握することが可能となる。その結果、タスク切り替え/タスク停止の決定(或いは予測)が可能となる。
次に、上記構成を有する本実施の形態のデータ処理装置の動作を、図3乃至図6を参照しながら説明する。
先ず、データ処理装置のタスク切り替え決定部106の動作を説明する。
図3は、データ処理装置のタスク切り替え決定部106のアルゴリズムを示すフローチャートである。
図3において、ここでは、動的再構成回路105で例えばタスク実行部100の後処理を実行している場合を例に挙げて説明する。先ず、タスク実行部100によるタスクの実行中において(ステップS300)、タスク切り替え決定部106は、実行中のタスクに関するバッファ102のデータ個数が一定値以下か否かを判断する(ステップS301)。実行中のタスクに関するバッファ102のデータ個数が一定値以下の場合は、ステップS302に進む。ステップS302では、タスク切り替え決定部106は、バッファ102のデータ個数が一定値以上になるまでの時間が、動的再構成回路105のタスク切り替えに要する時間より短いか否かを判断する。
即ち、タスク切り替え決定部106は、バッファ102のデータ個数が一定値以下になるとタスクの実行を続けることができなくなるため、タスクを切り替えるかタスクを停止するかの判断を行う。本実施の形態では、タイミング情報120(バッファ102のデータ個数が一定値以上になるまでの時間)と、動的再構成回路105のタスク切り替えに要する時間とを比較する。動的再構成回路105のタスク切り替えに要する時間の方が短いと判断した場合には、タスク切り替え決定部106は、セレクタ104を介し、動的再構成回路105をタスク実行部101の後処理を実行する回路に切り替える(ステップS304)。
一方、動的再構成回路105のタスク切り替えに要する時間の方が長いと判断した場合には、タスク切り替え決定部106は、動的再構成回路105の動作を停止させる(ステップS303)。その後、タスク切り替え決定部106は、実行中のタスクに関するバッファ102のデータ個数が一定値以上か否かを判断する(ステップS305)。即ち、バッファ102にデータが入力されるのを待つ。このようにして、タスクの切り替えかタスクの停止を行った後、タスクの処理を再開する。
次に、本実施の形態と従来技術とのデータ処理の比較を図4乃至図6に示す。
一般的に動的再構成回路の切り替えは回路情報を持つメモリからの回路情報読み出しが必要となるため、タスクの切り替えにはメモリのレイテンシに応じて数クロック〜数十クロックの時間を要する。一方、タスクの停止/復帰に要する時間は1クロックと考えてよい。
ここでは、タスク切り替えに要する時間をΔTc、バッファのデータ数が一定値以下になる時刻をT1、データ出力タイミングをΔT1、バッファのデータ数が再び一定値以上になる時刻をT1+ΔT1、初期タスクをA、第2タスクをBとする。以下では、本実施の形態と従来技術についてΔTc<ΔT1の場合とΔTc>ΔT1の場合に分けて比較を行う。
図4は、タスク切り替えに要する時間ΔTc < データ出力タイミングΔT1の場合にバッファのデータ数が一定値以下となった場合の従来技術と本発明(本実施の形態)の動作例を示す図である。
図4において、従来技術では、固定的にタスク切り替えを適用するため、時刻T1でタスクAのデータ数が一定値以下になった時点からタスクの切り替え(タスクA→タスクB)を開始する。これに対し、本実施の形態では、タスク切り替えに要する時間ΔTcとデータ出力タイミングΔT1を比較してタスク切り替え/タスク停止の適用を決定する。ΔTc<ΔT1の場合は、タスク切り替えを適用するため、従来技術と同様に時刻T1からタスクの切り替えを開始する。ΔTc<ΔT1の場合は、タスク切り替えの方がタスク停止よりも動的再構成回路105を効率的に使用できる。このため、結果的にいずれの例においても適切な判断がなされたことになる。
図5は、タスク切り替えに要する時間ΔTc > データ出力タイミングΔT1の場合にバッファのデータ数が一定値以下となった場合の従来技術の動作例を示す図である。
図5において、ΔTc>ΔT1の場合も、従来技術では、固定的にタスク切り替えを適用するため、時刻T1でタスクAのデータ数が一定値以下になった時点からタスクの切り替え(タスクA→タスクB)を開始する。しかしながら、ΔTc>ΔT1の場合は、タスク切り替えを行うとタスク停止を行った場合に比べてΔTc-ΔT1の時間分無駄に消費することになる。ΔTc>ΔT1のケースはバッファのデータ数が一定値付近で前後する場合に頻繁に起こりうると考えられ、速度性能の低下につながると考えられる。
図6は、タスク切り替えに要する時間ΔTc > データ出力タイミングΔT1の場合にバッファのデータ数が一定値以下となった場合の本発明(本実施の形態)の動作例を示す図である。
図6において、本実施の形態では、タスク切り替えに要する時間ΔTcとデータ出力タイミングΔT1を参照してタスク切り替え/タスク停止の適用を決定する。ΔTc>ΔT1の場合は、タスク停止を適用するため、ΔTc-ΔT1の時間分を無駄に消費することなく動的再構成回路105を効率的に使用することができる。このため、本実施の形態では、固定的にタスク切り替え/タスク停止を適用する従来技術と異なり、タスク切り替えに要する時間ΔTcとデータ出力タイミングΔT1の大小関係に応じ、常に適した動作(タスク切り替え/タスク停止)を適用することができる。これにより、データ処理装置における処理性能(速度性能)の低下を防止することが可能となる。
以上説明したように、本実施の形態によれば、以下の作用及び効果を奏する。バッファ102(103)がエンプティになり動的再構成回路105とのデータ送受信ができなくなった際に、タスク実行部100(101)のタイミング情報、バッファ102(103)の保持するデータ数、動的再構成回路105のタスク切り替えに要する時間を基に、以下の処理を行う。
即ち、動的再構成回路105のタスク切り替えに要する時間と、動的再構成回路105及びバッファ102(103)間のデータ送受信が可能になるまでの時間(バッファのデータ個数が一定値以上になるまでの時間)とを比較する。比較の結果、動的再構成回路105のタスク切り替えに要する時間の方が短い場合は、動的再構成回路105のタスク切り替えを適用する。他方、動的再構成回路105のタスク切り替えに要する時間の方が長い場合は、タスク切り替えに対してタスク復帰時間の短いタスク停止を適用する。
これにより、従来技術のようにバッファがフルまたはエンプティになったときにタスク切り替え/タスク停止のいずれを適用するか判断しなければならないという問題を解消することができる。また、従来技術のように固定的なタスク切り替え/タスク停止の適用で頻繁なタスク切り替えの際にオーバーヘッド時間が増大する不具合を解消することができる。この結果、不必要なタスク切り替え回数を低減し、タスク処理を高速に行うことが可能となり、データ処理装置全体のスループットを向上させることが可能となる。
[第2の実施の形態]
図7は、本発明の第2の実施の形態に係るデータ処理装置の構成を示すブロック図である。
図7において、データ処理装置は、タスク実行部1・200、タスク実行部2・201、バッファ1・202、バッファ2・203、セレクタ204、動的再構成回路205、タスク切り替え決定部206、タスク切り替え実行部207を備えている。データ処理装置は、2つ以上のタスクを動的再構成回路205を用いて時分割で処理する機能を有する。
尚、以下の説明では、タスク実行部1・200、2・201、バッファ1・202、2・203を、符号の前の添え字1、2を省略し、タスク実行部200、201、バッファ202、203と略称表記する。また、出力データ1、2、タイミング情報1・220、2・221、データ数1・230、2・231についても、符号の前の添え字1、2を省略し略称表記する。
本実施の形態は、上記第1の実施の形態に対して、動的再構成回路とタスク実行部の接続方向が主に異なる。即ち、上記第1の実施の形態では、動的再構成回路105の前段にタスク実行部100、101、バッファ102、103、セレクタ104を接続する構成としている。これに対し、本実施の形態では、動的再構成回路205の後段にセレクタ204、バッファ202、203、タスク実行部200、201を接続する構成としている。
上記の構成の相違により、本実施の形態は、上記第1の実施の形態に対して、タスク切り替え/タスク書き換えを決定する際の判断条件が異なる。即ち、上記第1の実施の形態では、バッファがエンプティになってからタスク切り替え/タスク書き換えの決定を行う。これに対し、本実施の形態では、バッファがフルになってからタスク切り替え/タスク書き換えの決定を行う。尚、タスク書き換えとは、動的再構成回路で回路を再構成する処理を指す。
本実施の形態は、タスク切り替え決定部206のみが上記第1の実施の形態と異なり、タスク切り替え決定部206を除く各部は上記第1の実施の形態と同一のものを使用することが可能である。タスク切り替え決定部206以外の各部の機能は上記第1の実施の形態と同様であり、説明は省略する。
次に、上記構成を有する本実施の形態のデータ処理装置の動作を、図8を参照しながら説明する。
図8は、データ処理装置のタスク切り替え決定部206のアルゴリズムを示すフローチャートである。
図8において、先ず、例えばタスク実行部200で初期状態からタスクを実行する(ステップS800)。タスク切り替え決定部206は、実行中のタスクに関するバッファ202のデータ個数が一定値以上か否かを判断する(ステップS801)。実行中のタスクに関するバッファ202のデータ個数が一定値以上の場合は、ステップS802に進む。ステップS802では、タスク切り替え決定部206は、バッファ202のデータ個数が一定値以下になるまでの時間が、動的再構成回路205のタスク切り替え時間より短いか否かを判断する。
即ち、タスク切り替え決定部206は、実行中タスクのバッファ202のデータ個数が一定値以上で、それ以上バッファ202にデータを入力できないと判断した場合には、タスク切り替え/タスク停止の決定を行う。本実施の形態では、バッファ202に再びデータが書き込めるようになるまでの時間(バッファ202のデータ個数が一定値以下になるまでの時間)と、動的再構成回路205の切り替えに要する時間とを比較する。動的再構成回路205の切り替えに要する時間の方が短いと判断した場合には、タスク切り替え決定部206は、セレクタ204を介し、タスクの切り替えを実行する(ステップS804)。
一方、バッファ202に再びデータが書き込めるようになるまでの時間の方が短いと判断した場合には、タスク切り替え決定部206は、タスクを停止する(ステップS803)。その後、タスク切り替え決定部206は、実行中のタスクに関するバッファ202のデータ個数が一定値以下か否かを判断する(ステップS305)。即ち、再びバッファ202にデータが入力されるのを待つ。以上のようにしてタスク切り替えまたはタスク停止のいずれかを適用した後、初期状態(ステップS800)に戻り、データ処理を続ける。
以上説明したように、本実施の形態によれば、以下の作用及び効果を奏する。バッファ202(203)がフルになり動的再構成回路205とのデータ送受信ができなくなった際に、タスク実行部200(201)のタイミング情報、バッファ202(203)の保持するデータ数、動的再構成回路205のタスク切り替えに要する時間を基に、以下の処理を行う。
即ち、動的再構成回路205のタスク切り替えに要する時間と、バッファ202(203)に再びデータが書き込めるようになるまでの時間(バッファのデータ個数が一定値以下になるまでの時間)とを比較する。比較の結果、動的再構成回路205のタスク切り替えに要する時間の方が短い場合は、動的再構成回路205のタスク切り替えを適用する。他方、動的再構成回路205のタスク切り替えに要する時間の方が長い場合は、タスク切り替えに対してタスク復帰時間の短いタスク停止を適用する。
これにより、従来技術のようにバッファがフルまたはエンプティになったときにタスク切り替え/タスク停止のいずれを適用するか判断しなければならないという問題を解消することができる。また、従来技術のように固定的なタスク切り替え/タスク停止の適用で頻繁なタスク切り替えの際にオーバーヘッド時間が増大する不具合を解消することができる。この結果、不必要なタスク切り替え回数を低減し、タスク処理を高速に行うことが可能となり、データ処理装置全体のスループットを向上させることが可能となる。
[他の実施の形態]
上記第1及び第2の実施の形態では、タスク実行部、バッファ、セレクタ、動的再構成回路を別々の構成とした場合を例に挙げたが、これに限定されるものではない。本発明は、タスク実行部、バッファ、及びセレクタの何れか1つ或いは何れか2つ或いは全部を1つの動的再構成回路で実現する構成にも適用することができる。
上記第1及び第2の実施の形態では、タスク切り替え決定部が、タスク実行部のタイミング情報、バッファが保持するデータ数、動的再構成回路のタスク切り替えに要する時間に基づき、動的再構成回路のタスク切り替えを判断したが、これに限定されるものではない。本発明は、タスク切り替え決定部が、タスク実行部のタイミング情報及び状態変数、バッファが保持するデータ数、動的再構成回路のタスク切り替えに要する時間に基づき、動的再構成回路のタスク切り替えを判断する制御にも適用することができる。状態変数は、タスク実行部が有するレジスタの状態を示す変数である。
また、本発明の目的は、前述した各実施の形態の機能を実現するソフトウエアのプログラムコードを記憶した記憶媒体を、システム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)が記憶媒体に格納されたプログラムコードを読み出し実行することによっても達成される。
この場合、記憶媒体から読み出されたプログラムコード自体が前述した各実施の形態の機能を実現することになり、そのプログラムコード及び該プログラムコードを記憶した記憶媒体は本発明を構成することになる。
また、プログラムコードを供給するための記憶媒体としては、例えば、フロッピー(登録商標)ディスク、ハードディスク、光磁気ディスク、光ディスク、磁気テープ、不揮発性のメモリカード、ROM等を用いることができる。または、プログラムコードをネットワークを介してダウンロードしてもよい。
また、コンピュータが読み出したプログラムコードを実行することにより、前述した各実施の形態の機能が実現されるだけではなく、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているOS(オペレーティングシステム)等が実際の処理の一部または全部を行い、その処理によって前述した各実施の形態の機能が実現される場合も含まれる。
更に、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、次のプログラムコードの指示に基づき、その拡張機能を拡張ボードや拡張ユニットに備わるCPU等が実際の処理の一部または全部を行い、その処理によって前述した各実施の形態の機能が実現される場合も含まれる。
本発明の第1の実施の形態に係るデータ処理装置の構成を示すブロック図である。 図1のデータ処理装置のタスク実行部の詳細構成を示す図である。 図1のデータ処理装置のタスク切り替え決定部のアルゴリズムを示すフローチャートである。 タスク切り替えに要する時間ΔTc < データ出力タイミングΔT1の場合にバッファのデータ数が一定値以下となった場合の従来技術と本発明(第1の実施の形態)の動作例を示す図である。 タスク切り替えに要する時間ΔTc > データ出力タイミングΔT1の場合にバッファのデータ数が一定値以下となった場合の従来技術の動作例を示す図である。 タスク切り替えに要する時間ΔTc > データ出力タイミングΔT1の場合にバッファのデータ数が一定値以下となった場合の本発明(第1の実施の形態)の動作例を示す図である。 本発明の第2の実施の形態に係るデータ処理装置の構成を示すブロック図である。 図7のデータ処理装置のタスク切り替え決定部のアルゴリズムを示すフローチャートである。
符号の説明
100、101、200、201 タスク実行部(実行手段)
102、103、202、203 バッファ(保持手段)
104、204 セレクタ(選択手段)
105、205 動的再構成回路
106、206 タスク切り替え決定部(判断手段)
107、205 タスク切り替え実行部(切替手段)
110、210 切り替え制御情報
111、211 回路情報
112、212 停止制御情報
120、121、220、221 タイミング情報
130、131、230、231 データ数
132、232 選択情報
141、241 タスク切り替え制御情報

Claims (10)

  1. タスクを実行する複数の実行手段と、
    複数の前記実行手段から出力されるデータをそれぞれ保持する複数の保持手段と、
    複数の前記保持手段の出力を選択する選択手段と、
    前記選択手段により選択された出力を入力とする動的再構成回路と、
    前記実行手段のデータ入出力タイミング、前記保持手段が保持するデータ数、及び前記動的再構成回路のタスク切り替えに要する時間に基づいて、前記動的再構成回路におけるタスク切り替えを判断する判断手段と、
    前記判断手段の判断結果に基づいて、前記動的再構成回路のタスクを切り替える切替手段と、を備えることを特徴とするデータ処理装置。
  2. 動的再構成回路と、
    前記動的再構成回路から出力されるデータを入力とする選択手段と、
    前記選択手段から出力されるデータを保持する複数の保持手段と、
    複数の前記保持手段の出力をそれぞれ入力としタスクを実行する複数の実行手段と、
    前記実行手段のデータ入出力タイミング、前記保持手段が保持するデータ数、及び前記動的再構成回路のタスク切り替えに要する時間に基づいて、前記動的再構成回路におけるタスク切り替えを判断する判断手段と、
    前記判断手段の判断結果に基づいて、前記動的再構成回路のタスクを切り替える切替手段と、を備えることを特徴とするデータ処理装置。
  3. 前記切替手段は、前記判断手段により、前記動的再構成回路のタスク切り替えに要する時間が前記保持手段のデータ数が一定値以上になるまでの時間より短いと判断された場合は、前記動的再構成回路のタスクを切り替え、前記動的再構成回路のタスク切り替えに要する時間が前記保持手段のデータ数が一定値以上になるまでの時間より長いと判断された場合は、タスクを停止することを特徴とする請求項1記載のデータ処理装置。
  4. 前記切替手段は、前記判断手段により、前記動的再構成回路のタスク切り替えに要する時間が前記保持手段のデータ数が一定値以下になるまでの時間より短いと判断された場合は、前記動的再構成回路のタスクを切り替え、前記動的再構成回路のタスク切り替えに要する時間が前記保持手段のデータ数が一定値以下になるまでの時間より長いと判断された場合は、タスクを停止することを特徴とする請求項2記載のデータ処理装置。
  5. 前記判断手段がタスク切り替えを判断するための情報には、前記実行手段の内部構成の状態を示す状態変数を含むことを特徴とする請求項1又は2記載のデータ処理装置。
  6. 前記動的再構成回路は、内部の構成及び内部の接続を動的に変更可能な回路であることを特徴とする請求項1乃至4の何れかに記載のデータ処理装置。
  7. 前記実行手段、前記保持手段、前記選択手段の少なくとも何れかを前記動的再構成回路で実現することを特徴とする請求項1乃至6の何れかに記載のデータ処理装置。
  8. タスクを実行する複数の実行手段と、複数の前記実行手段から出力されるデータをそれぞれ保持する複数の保持手段と、複数の前記保持手段の出力を選択する選択手段と、前記選択手段により選択された出力を入力とする動的再構成回路とを備えるデータ処理装置の制御方法であって、
    前記実行手段のデータ入出力タイミング、前記保持手段が保持するデータ数、及び前記動的再構成回路のタスク切り替えに要する時間に基づいて、前記動的再構成回路におけるタスク切り替えを判断する判断ステップと、
    前記判断ステップの判断結果に基づいて、前記動的再構成回路のタスクを切り替える切替ステップと、を備えることを特徴とする制御方法。
  9. 動的再構成回路と、前記動的再構成回路から出力されるデータを入力とする選択手段と、前記選択手段から出力されるデータを保持する複数の保持手段と、複数の前記保持手段の出力をそれぞれ入力としタスクを実行する複数の実行手段とを備えるデータ処理装置の制御方法であって、
    前記実行手段のデータ入出力タイミング、前記保持手段が保持するデータ数、及び前記動的再構成回路のタスク切り替えに要する時間に基づいて、前記動的再構成回路におけるタスク切り替えを判断する判断ステップと、
    前記判断ステップの判断結果に基づいて、前記動的再構成回路のタスクを切り替える切替ステップと、を備えることを特徴とする制御方法。
  10. 前記請求項8又は9記載のデータ処理装置の制御方法の各ステップをコンピュータに実行させるプログラム。
JP2006019169A 2006-01-27 2006-01-27 データ処理装置、制御方法、及びプログラム Pending JP2007200106A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006019169A JP2007200106A (ja) 2006-01-27 2006-01-27 データ処理装置、制御方法、及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006019169A JP2007200106A (ja) 2006-01-27 2006-01-27 データ処理装置、制御方法、及びプログラム

Publications (1)

Publication Number Publication Date
JP2007200106A true JP2007200106A (ja) 2007-08-09

Family

ID=38454652

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006019169A Pending JP2007200106A (ja) 2006-01-27 2006-01-27 データ処理装置、制御方法、及びプログラム

Country Status (1)

Country Link
JP (1) JP2007200106A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019021046A (ja) * 2017-07-18 2019-02-07 富士通株式会社 情報処理装置、情報処理方法および情報処理プログラム
JP2022524745A (ja) * 2019-09-28 2022-05-10 テンセント・アメリカ・エルエルシー ステップ対応ワークフローのための方法及び装置
JP2022524746A (ja) * 2019-09-28 2022-05-10 テンセント・アメリカ・エルエルシー ワークフローを処理する方法及び装置

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019021046A (ja) * 2017-07-18 2019-02-07 富士通株式会社 情報処理装置、情報処理方法および情報処理プログラム
JP2022524745A (ja) * 2019-09-28 2022-05-10 テンセント・アメリカ・エルエルシー ステップ対応ワークフローのための方法及び装置
JP2022524746A (ja) * 2019-09-28 2022-05-10 テンセント・アメリカ・エルエルシー ワークフローを処理する方法及び装置
JP7176129B2 (ja) 2019-09-28 2022-11-21 テンセント・アメリカ・エルエルシー ステップ対応ワークフローのための方法及び装置
JP7233560B2 (ja) 2019-09-28 2023-03-06 テンセント・アメリカ・エルエルシー ワークフローを処理する方法及び装置

Similar Documents

Publication Publication Date Title
KR100812346B1 (ko) 재구성 어레이에서의 인터럽트 처리 방법 및 장치
US7958333B2 (en) Processor with memory access stage adapted to fetch an instruction of a thread when no memory access operation is detected
US7600101B2 (en) Multithreaded hardware systems and methods
US8417918B2 (en) Reconfigurable processor with designated processing elements and reserved portion of register file for interrupt processing
JPH11282568A (ja) セルフタイムドシステムの電力消耗の低減装置及びその方法
US9043806B2 (en) Information processing device and task switching method
US20090172458A1 (en) Semiconductor integrated circuit device and clock control method
JP4569934B2 (ja) 情報処理装置、例外制御回路及び例外制御方法
US20070260857A1 (en) Electronic Circuit
CN114168202A (zh) 指令调度方法、指令调度装置、处理器及存储介质
US7447887B2 (en) Multithread processor
JP2007200106A (ja) データ処理装置、制御方法、及びプログラム
JP2008152409A (ja) 半導体集積回路
US7949860B2 (en) Multi thread processor having dynamic reconfiguration logic circuit
US6993674B2 (en) System LSI architecture and method for controlling the clock of a data processing system through the use of instructions
US7191313B2 (en) Microprocessor
US9015720B2 (en) Efficient state transition among multiple programs on multi-threaded processors by executing cache priming program
KR100502455B1 (ko) 프로그래머블 컨트롤러
KR19980058221A (ko) 파이프라인 정지회로를 구비한 프로세서
US5828861A (en) System and method for reducing the critical path in memory control unit and input/output control unit operations
US8694697B1 (en) Rescindable instruction dispatcher
JP3767529B2 (ja) マイクロプロセッサ
CN116414463B (zh) 指令调度方法、指令调度装置、处理器及存储介质
JP5414323B2 (ja) 半導体集積回路装置
JP2007207121A (ja) データ処理装置及びその制御方法

Legal Events

Date Code Title Description
RD05 Notification of revocation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7425

Effective date: 20070626