(57)【要約】【課題】  プロセッサ上で実行されるソフトウェアと特定の処理に専用のハードウェアとが共同してタスクを実行するデータ処理装置のタスク切替えの処理効率をより高める。【解決手段】  複数のタスクをタスクの優先順位にしたがって順次実行するＣＰＵ１０１及びＣＰＵ１０１の指示によって電子データを処理するＨＷアクセラレータ１０３でデータ処理装置を構成し、ＨＷアクセラレータ１０３が、実行される処理の進捗状況を示すＨＷステータスをステータスレジスタ１０７に記録し、ＣＰＵ１０１が、記録されたＨＷステータスを認識してタスクを切替えながら順次タスクを実行する。【選択図】  図１
2007102399.tif 000002
【特許請求の範囲】
【請求項１】
複数のタスクを、当該タスクの優先順位にしたがって順次実行する制御手段と、
前記制御手段の指示によって電子データを処理するデータ処理実行手段と、を備えるデータ処理装置であって、
前記データ処理実行手段は、
実行される電子データの処理の進捗状況を示す進捗情報を記録する進捗情報記録手段を備え、
前記制御手段は、
前記進捗情報記録手段によって記録された進捗情報を認識する進捗状況認識手段を備え、
前記進捗状況認識手段によって認識された進捗情報を含む情報に基づいてタスクを切替え、順次実行することを特徴とするデータ処理装置。
【請求項２】
前記制御手段は、タスクの実行順序を設定する実行順序設定手段を備え、
前記実行順序設定手段は、前記進捗状況認識手段によって認識された進捗状況によって前記実行順序設定手段によって設定された実行順序を変更することを特徴とする請求項１に記載のデータ処理装置。
【請求項３】
前記進捗情報記録手段が前記データ処理実行手段内のレジスタに進捗情報を記録すると共に、前記進捗状況認識手段は、前記進捗情報記録手段に割り当てられたメモリマップ上の対応するアドレスを参照して進捗情報を認識することを特徴とする請求項１または２に記載のデータ処理装置。
【請求項４】
前記進捗情報記録手段は、前記データ処理実行手段におけるデータ処理のうち残りのデータ処理にかかるサイクル数を進捗情報として記録することを特徴とする請求項１から３のいずれか１項に記載のデータ処理装置。
【請求項５】
前記進捗情報記録手段は、前記データ処理実行手段におけるデータ処理の残りが所定のデータ処理量であるしきい値以下であるか否かを判定し、しきい値以下であった場合、データ処理の残りがしきい値以下であることを示すフラグを進捗情報として記録することを特徴とする請求項１から３のいずれか１項に記載のデータ処理装置。
【請求項６】
前記しきい値を記録すると共に、記録されたしきい値を変更することが可能なしきい値記録手段を備えることを特徴とする請求項５に記載のデータ処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電子データを汎用的に処理するデータ処理装置に係り、特にハードウェアとプロセッサ上で動作するソフトウェアとが共同してデータを処理するデータ処理装置に関する。
【背景技術】
【０００２】
現在、特定の処理を実行するハードウェア装置をプロセッサ等の制御装置によって制御する構成のデータ処理装置が広く使用されている。このようなデータ処理装置では、１つのプロセッサが複数のタスクを優先順位にしたがって実行し、この過程でタスクのうち比較的負荷が大きい処理をハードウェアに依頼する。
ハードウェアに処理を依頼した場合、このプロセッサは、この処理に係るタスクを中断して次に実行すべきタスクを実行する。ハードウェアは、依頼された処理の実行が終了すると、処理の終了をプロセッサに通知する。このとき、プロセッサは、実行中であった処理がハードウェアに依頼した処理よりも優先度が低い場合、実行中であった処理を中断する。そして、ハードウェアに依頼して処理が終了したタスクを必要に応じて引き続き実行する。
【０００３】
以上のプロセッサ及びハードウェアの動作において、ハードウェアからプロセッサに対して行われる処理終了の通知は、一般的に割込みが用いられる。従来のデータ処理装置の多くは、プロセッサに対する割込みをトリガとしてタスクを切替えている。このような従来技術としては、例えば、特許文献１が挙げられる。
【特許文献１】特開平７−２７１３４４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１に記載された発明は、プロセッサがタスクを割込みのみをトリガとして切替えるため、実行中のタスクを中断するための処理を割込みがなされてから開始することになる。なお、タスクを中断するための処理とは、中断直前の処理内容を処理再開に備えて保存しておく処理をいうものとする。
また、特許文献１に記載された発明は、割込みがなされない限りタスクを順次実行するため、プロセッサに依頼した優先順位のよりタスクの処理が終了する直前であっても、優先順位のより低いタスクの実行が開始される。このような場合、特許文献１に記載された発明では、優先順位のより低いタスクの実行開始のために優先順位がより高いタスクの実行開始が遅れる可能性が生じる。
【０００５】
このような特許文献１は、タスク切替によるオーバーヘッドが大きく、タスク切替の処理効率をより高めることが望まれている。
本発明は、上記した点に鑑みてなされたものであり、プロセッサ上で実行されるソフトウェアと特定の処理に専用のハードウェアとが共同してタスクを実行するデータ処理装置のタスク切替の処理効率をより高めることを目的とする。
【課題を解決するための手段】
【０００６】
以上の課題を解決するため、本発明のデータ処理装置は、複数のタスクを、当該タスクの優先順位にしたがって順次実行する制御手段と、前記制御手段の指示によって電子データを処理するデータ処理実行手段と、を備えるデータ処理装置であって、前記データ処理実行手段は、実行される電子データの処理の進捗状況を示す進捗情報を記録する進捗情報記録手段を備え、前記制御手段は、前記進捗情報記録手段によって記録された進捗情報を認識する進捗状況認識手段を備え、前記進捗状況認識手段によって認識された進捗情報を含む情報に基づいてタスクを切替え、順次実行することを特徴とする。
【０００７】
このような発明によれば、複数のタスクを優先順位にしたがって順次実行し、この過程でデータ処理実行手段にタスクの一部の処理を実行させることができる。また、データ処理実行手段によって実行される電子データの処理の進捗状況を示す進捗情報を記録し、制御手段に進捗情報を認識させることができるので、本実施形態のデータ処理装置は、制御手段がデータ処理実行手段の処理の進捗状況を把握し、状況に応じてタスクを切替えることができる。
【０００８】
このような本発明は、プロセッサ上で実行されるソフトウェアと特定の処理に専用のハードウェアとが共同してタスクを実行するデータ処理装置のタスク切替の処理効率をより高めることができる。
また、本発明のデータ処理装置は、前記制御手段が、タスクの実行順序を設定する実行順序設定手段を備え、前記実行順序設定手段は、前記進捗状況認識手段によって認識された進捗状況によって前記実行順序設定手段によって設定された実行順序を変更することを特徴とする。
【０００９】
このような発明によれば、制御手段がタスクの実行順序を設定し、設定された実行順書を進捗状況認識手段によって認識された進捗状況によって変更することができる。
このような発明によれば、いったん設定されたタスクの実行順序をデータ処理装置における処理の進捗状況に応じて変更することが可能になり、処理の進捗状況に柔軟に対応してより処理効率の高い順序を設定することができる。
【００１０】
また、本発明のデータ処理装置は、前記進捗情報記録手段が前記データ処理実行手段内のレジスタに進捗情報を記録すると共に、前記進捗状況認識手段は、前記進捗情報記録手段に割り当てられたメモリマップ上の対応するアドレスを参照して進捗情報を認識することを特徴とする。
このような発明によれば、レジスタに進捗情報を記録し、記録された進捗情報を、レジスタに予め割り当てられたアドレスを参照することによって認識することができる。このため、進捗情報参照にかかる手順や時間を軽減し、変化する進捗情報をリアルタイムで参照しやすくすることができる。
【００１１】
また、本発明のデータ処理装置は、前記進捗情報記録手段が、前記データ処理実行手段におけるデータ処理のうち残りのデータ処理にかかるサイクル数を進捗情報として記録することを特徴とする。
このような発明によれば、データ処理実行手段におけるデータ処理にかかる残り時間によってデータ処理の進捗状況を把握することができる。このため、設定された実行順序にしたがってタスクを実行するべきか、データ処理実行手段の処理を待ってタスクの実行を再開すべきかの判断を容易にすることができる。
【００１２】
また、本発明のデータ処理装置は、前記進捗情報記録手段が、前記データ処理実行手段におけるデータ処理の残りが所定のデータ処理量であるしきい値以下であるか否かを判定し、しきい値以下であった場合、データ処理の残りがしきい値以下であることを示すフラグを進捗情報として記録することを特徴とする。
このような発明によれば、データ処理の残り量に基づいて判断する処理を省き、設定された実行順序にしたがってタスクを実行するべきか、データ処理実行手段の処理を待ってタスクの実行を再開すべきかの判断をいっそう容易にすることができる。
【００１３】
また、本発明のデータ処理装置は、前記しきい値を記録すると共に、記録されたしきい値を変更することが可能なしきい値記録手段を備えることを特徴とする。
このような発明によれば、設定された実行順序にしたがってタスクを実行するべきか、データ処理実行手段の処理を待ってタスクの実行を再開すべきかを判断する基準をユーザのニーズやデータ処理の内容等に応じて変更することが可能になる。
【発明を実施するための最良の形態】
【００１４】
以下、図を参照して本発明に係るデータ処理装置の一実施の形態を説明する。
図１は、本実施形態のデータ処理装置の構成を説明するための図である。本実施形態のデータ処理装置は、複数のタスクを、このタスクの優先順位にしたがって順次実行するＣＰＵ（Central Processing Unit）１０１と、ＣＰＵ１０１の指示によって電子データ（以降単にデータ）を処理するハードウェア（ＨＷ）アクセラレータ１０３と、を備えるデータ処理装置である。図１中に示したメモリ１０２は、データ処理装置のタスクの実行に使用される命令や命令の実行に使用されるテーブルやデータ等を保存するための構成である。
【００１５】
ＣＰＵ１０１、メモリ１０２、ＨＷアクセラレータ１０３は、互いにバスによって接続されている。また、本実施形態は、図１に示したように、ＨＷアクセラレータ１０３を一つ備えるものに限定されるものではなく、複数のＨＷアクセラレータ１０３を備えるものであってもよい。このような場合、ＣＰＵ１０１は、１つで複数のＨＷアクセラレータ１０３を制御するものであってもよいし、複数あってもよい。
【００１６】
ＣＰＵ１０１は、複数のタスクを適正に順次実行するため、タスク管理テーブル１０８を備えている。タスク管理テーブル１０８の一例を、図２に示す。
図２に示したタスク管理テーブル１０８は、タスクＡ、タスクＢ、タスクＣを含むタスクを管理するためのタスク管理テーブルである。タスク管理テーブル１０８は、各タスクのタスク名と、各タスクの進行状況を示すプログラムカウンタ（ＰＣ）、タスク実行時のプロセッサの状態や条件等を記録するプロセッサステートレジスタ（ＰＳＲ）、スタックの位置を示すスタックポインタ（ＳＰ）、タスクの状態を示すスティト（Ｓｔａｔｅ）、優先順位（ｐｒｉｏｒｉｔｙ）、実行中のタスクの処理内容（ｒｅｇｉｓｔｅｒ  ｆｉｌｅ）、ＨＷアクセラレータが複数ある場合の使用されているＨＷアクセラレータ、または唯一のＨＷアクセラレータの使用、不使用（ＨＷ）を管理する。
【００１７】
ＣＰＵ１０１は、このようなタスク管理テーブル１０８を用い、複数のタスクの実行順序を設定する。ＣＰＵ１０１とタスク管理テーブル１０８とは、本実施形態の実行順序設定手段として機能する。本実施形態でいう実行順序は、実行可能なタスクのタスク名をより早期に実行されるものから一列に列記して表される。また、この列を、以降レディキューとも記すものとする。
【００１８】
一方、ＨＷアクセラレータ１０３は、タスクの実行にあたって比較的負荷の大きいデータの処理をするためのハードウェアである。このため、データ処理に使用される演算部１０６、ＣＰＵ１０１の指示にしたがって演算部１０６を制御する制御部１０４を備えている。
制御部１０４は、カウンタあるいはステートマシンから成る。本実施形態のカウンタは、処理のサイクルをカウントする。ステートマシンは、処理のパラメータや設定等によって演算部１０６での処理を制御する。制御部１０４によれば、現在演算部１０６が実行している処理のサイクル数や状態を示すことができる。
【００１９】
また、ＨＷアクセラレータ１０３は、ステータス信号生成部１０５及びステータスレジスタ１０７を備えている。ステータス信号生成部１０５は、ＨＷアクセラレータ１０３によって得られる処理の残りサイクル数を示すステータス信号を生成する。ステータス信号は、ＨＷステータス（ｐｒｏｇｒｅｓｓ＿ｖａｌ）として残りのサイクル数を含む情報をステータスレジスタ１０７に書き込む信号である。図１に示した例では、ＨＷアクセラレータ１０３によって実行されている処理の残りのサイクル数が３０であることを示している。
【００２０】
このような制御部１０４、ステータス信号生成部１０５、ステータスレジスタ１０７は、実行される電子データの処理の進捗状況を示すＨＷステータス（進捗情報）を記録する進捗情報記録手段として機能する。
ＣＰＵ１０１は、ステータスレジスタ１０７に書き込まれたＨＷステータスを認識し、認識されたＨＷステータスを含む情報に基づいてタスクを切替え、順次実行する。本実施形態のデータ処理装置は、ＨＷステータスによってタスク管理テーブル１０８で設定された実行順序を変更することによってタスク切替えを実行する。なお、実行順序を変更する具体的な動作については後述する。また、本実施形態でいうＨＷステータスを含む情報とは、ＨＷステータス及び各タスクの優先順位の情報である。
【００２１】
以上述べた構成において、ＣＰＵ１０１は、ＨＷアクセラレータ１０３をキックしてタスクに含まれる一の処理（ＨＷ依頼処理）の実行を指示する。ＨＷアクセラレータ１０３は、指示されたＨＷ依頼処理を実行する。この際、本実施形態では、制御部１０４がＨＷ依頼処理の内容に基づいて処理の開始から終了までに必要なサイクル数を算出する。ステータス信号生成部１０５は、設定されたサイクル数をステータス信号によってステータスレジスタ１０７に書き込む。また、ＣＰＵ１０１は、ＨＷアクセラレータ１０３は、書き込まれたサイクル数を演算部１０６の処理の進捗に応じて更新する。
【００２２】
また、ＣＰＵ１０１は、ステータスレジスタ１０７に記録されたＨＷステータスを認識することができる（矢線Ａで示す）。本実施形態では、ステータスレジスタ１０７にＨＷステータスを書き込み、ＣＰＵ１０１がメモリマップに割り当てられているステータスレジスタ１０７を参照することによってＨＷステータスの認識を可能にしている。
図３は、ＣＰＵ１０１によって参照されるメモリマップの一例を示した図である。本実施形態では、メモリマップのうちＨＷステータスが書き込まれるアドレスの範囲を予め設定しておく。そして、ＣＰＵ１０１が、タスクを終了するごとにメモリマップの設定された範囲のアドレスに書き込まれたデータを参照することによって処理の残りサイクル数を認識する。
【００２３】
このような構成により、ＣＰＵ１０１は、比較的簡易にＨＷステータスを参照し、ＨＷアクセラレータ１０３によって実行されている処理の状況を随時判定することができる。
一方、ＨＷアクセラレータ１０３は、矢線Ｂで示すアクセスラインを有し、指示された処理の完了をＣＰＵ１０１に割込みとして通知することが可能である。
次に、以上述べた本実施形態のデータ処理装置の動作を説明する。この説明では、データ処理装置がタスクＡ、タスクＢ、タスクＣの３つのタスクを実行するものとする。タスクＡ、タスクＢ、タスクＣの優先順位は、タスクＡ＞タスクＢ＞タスクＣである。
【００２４】
図４は、本実施形態のデータ処理装置の動作を説明するための図であって、実線は本実施形態のデータ処理装置の動作を、破線は比較のため記した従来技術の動作を示している。図４において、タスクＡ、タスクＢ、タスクＣの文字の下に記した縦方向の矢線は、各タスクが実行されているタイミングを示している。また、ＯＳの文字の下に記した縦方向の矢線は、ＣＰＵ１０１においてＯＳが動作しているタイミングを、ＩＮＴの文字の下に記した縦方向の矢線は、割込み及び割込みにかかる処理のタイミング示している。また、横方向の矢線は、各処理の遷移を示すものである。
【００２５】
なお、図４に示した縦方向の矢線の実線と破線とのずれは、両者を識別して認識しやすくするためのものであって、特に記載する箇所以外に両者に実質的な相違はない。
以下、本実施形態のデータ処理装置の動作と、従来の構成の動作とを対比して説明する。
【００２６】
（本実施形態のデータ処理装置）
本実施形態のデータ処理装置は、先ず、ＣＰＵ１０１が、最も優先順位の高いタスクＡの実行を開始する。タスクＡの実行中、ＣＰＵ１０１は、ＨＷ依頼処理の実行をＨＷアクセラレータ１０３に指示する（Ｓ４０１）。このため、ＣＰＵ１０１においては、実行されているタスクがＯＳ（Operating System）に切替えられてディスパッチャが起動する。
【００２７】
図５は、上記したタスクＡの実行中にＨＷ依頼処理をするタスクプログラムを示した図である。ＨＷ依頼処理は、タスクＡの実行中にＣＰＵ１０１がＨＷアクセラレータ１０３をコールする。そして、ＨＷ依頼処理に必要なパラメータを渡して処理の実行を指示するものである。
ＣＰＵ１０１は、図２に示したタスク管理テーブルを参照し、ＨＷアクセラレータ１０３の使用状況を確認する（Ｓ４０２）。そして、ＨＷアクセラレータ１０３が使用可能な状態であった場合、ＣＰＵ１０１上で動作するＯＳは、ＨＷアクセラレータ１０３にＨＷ依頼処理の実行を指示する（Ｓ４０３）。タスクＡは、ＨＷ依頼処理の完了まで実行できない状態になる。このため、ＣＰＵ１０１は、タスクＡをレディキューから外す（Ｓ４０４）。
【００２８】
タスクＡが実行できなくなったことにより、ＣＰＵ１０１では、次のタスクを実行するためにディスパッチャが起動する（Ｓ４０５）。ここで、本実施形態のデータ処理装置は、ＯＳがステータスレジスタ１０７に書き込まれているＨＷステータスを確認する（Ｓ４０６）。
本実施形態のＨＷステータスは、ＨＷ依頼処理に必要な残りのサイクル数で表されている。ＣＰＵ１０１は、ＨＷステータスを確認した結果、ＨＷステータスが所定の数以上のサイクル数を示している場合、レディキューにおける次のタスクＢを実行する（Ｓ４０７）。
【００２９】
ＣＰＵ１０１においてタスクＢの実行が終了すると、ディスパッチャが起動し（Ｓ４０８）、ＣＰＵ１０１上でＯＳが動作する。ＯＳは、ステータスレジスタ１０７に書き込まれているＨＷステータスを確認する（Ｓ４０９）。確認の結果、ＨＷステータスが示すサイクル数が所定の数に満たない場合、タスクＡが所定の時間以下の時間内に終了する。
ＨＷステータスが示すサイクル数が所定の数に満たない場合、ＣＰＵ１０１は、レディキューにおいてタスクＢの次に実行すべきタスクＣの優先度とタスクＡの優先度とを比較する。タスクＡの優先度は、タスクＣの優先度よりも高い。このため、ＣＰＵ１０１は、レディキューので設定された実行順序を変更し、タスクＣを実行することなくタスクＡをレディキューの先頭に追加する（Ｓ４１０）。
【００３０】
ＨＷ依頼処理が終了すると、ＨＷアクセラレータ１０３は、割込みによってＣＰＵ１０１に処理の終了を通知する（Ｓ４１１）。本実施形態のデータ処理装置では、割込みがあったときタスクがすでにレディキューに追加されていて、しかもＣＰＵ１０１が他のタスクを実行していない。このため、速やかに割込みに伴う処理をしてタスクＡの実行を開始することができる。
割込みに伴う処理が終了すると、ＣＰＵ１０１上でＯＳが動作してディスパッチャが起動する（Ｓ４１２）。次に、ＣＰＵ１０１は、レディキューにおいて先頭にあるタスクＡを実行する（Ｓ４１３：図中に実行開始のタイミングをｔ１として記す）。
【００３１】
（従来の構成）
従来のデータ処理装置は、タスクＡの処理の一部の実行をＨＷアクセラレータ１０３に依頼したことによってタスクＡをレディキューから外した後にディスパッチャを起動する。そして、ＨＷアクセラレータ１０３の処理状況によらず、レディキューにそってタスクＢ、タスクＣを順次実行する。
【００３２】
ＨＷアクセラレータ１０３は、ＨＷ依頼処理を終了すると、割込みによってＣＰＵ１０１に処理の終了を通知する。このとき、ＣＰＵ１０１は、タスクＣの実行中であって、タスクＣよりも優先度が高いタスクＡ実行することを決定する。このため、タスクＡをレディキューの先頭に追加してディスパッチャを起動する。ディスパッチャにより、ＣＰＵ１０１は、タスクＣに替えてタスクＡを実行する（図中に実行開始のタイミングをｔ２として記す）。
【００３３】
このように、本実施形態のデータ処理装置は、タスクが終了した時点でＨＷアクセラレータ１０３におけるＨＷ依頼処理の残りサイクル数を確認する点で従来の構成と相違する。また、ＨＷ依頼処理を含むタスクＡの優先度がタスクＣよりも高いことから、タスクＣを実行することなくタスクＡをレディキューに追加する。
このような処理によれば、本実施形態のデータ処理装置は、タスクの実行順序を変更し、ＨＷアクセラレータ１０３による割込みに先んじてタスクＡをレディキューに追加しておくことができる。また、割込みがなされた後にも、タスクＣの実行を中断するためタスクＣの処理中のデータをレジスタファイルに退避させる等の処理をすることなく、速やかにタスクＡの実行の準備をすることができる。
【００３４】
このため、本実施形態は、処理の一部の実行をＨＷアクセラレータ１０３に依頼したことによって中断されたタスクＡの実行を、従来の構成よりも図中に示す差分ｄ（タイミングｔ１とタイミングｔ２との差分）の時間だけ早く開始することができる。
なお、本実施形態のデータ処理装置は、以上述べた構成に限定されるものではない。すなわち、以上述べた実施形態では、ＨＷアクセラレータ１０３によって実行されている処理の残りサイクル数を進捗情報として書き込んでいる。しかしながら、進捗情報は、残りサイクル数に限定されるものでなく、例えば、残りサイクル数に基づいてフラグ等を立てるものであってもよい。
【００３５】
図６は、フラグを進捗情報としてＨＷステータスに使用したデータ処理装置の例を説明するための図であって、図６中に示した構成のうち、図１に示した構成と同一のものには同一の符号を付し、説明を一部省くものとする。
図示したデータ処理装置は、処理の残りサイクル数が記録されるステータスレジスタ１０７に代えて、フラグを立てる際のしきい値となるサイクル数（しきい値サイクル数：ｐｒｅ＿ｄｏｎｅ＿ｃｆｇ）が設定されるパラメータレジスタ６０８、残り処理数がしきい値サイクル数以下になった場合に立てられるフラグが書き込まれるステータスレジスタ６０７を備えている。
【００３６】
図６に示したデータ処理装置は、制御部１０４が、現在実行中のＨＷ依頼処理のサイクル数をカウントすると共に残りサイクル数を算出する。さらに、制御部１０４は、算出された残りサイクル数をパラメータレジスタ６０８に書き込まれたしきい値サイクル数と比較する。そして、残りサイクル数がしきい値サイクル数以下になった場合ステータス信号生成部１０５に指示してステータスレジスタ６０７に「１」のフラグ（ｐｒｅ＿ｄｏｎｅ＿ｆｌａｇ）を書き込ませる。
【００３７】
ＣＰＵ１０１は、タスクが終了するとステータスレジスタ６０７を参照し、「１」のフラグが立ったことによってＨＷアクセラレータ１０３におけるＨＷ依頼処理の終了が近いことを検出する。そして、ＨＷ依頼処理を含むタスクと、レディキューに設定されたタスクとの優先順位に応じてタスクの実行順序を変更する。
また、図６に示したデータ処理装置にあっても、ＣＰＵ１０１は、メモリマップを参照することによってしきい値サイクル数やフラグといったＨＷステータスを認識する。
【００３８】
図７は、ＣＰＵ１０１によって参照されるメモリマップの一例である。本実施形態では、メモリマップのうちＨＷステータスが書き込まれるアドレスの範囲を予め設定しておく。そして、ＣＰＵ１０１が、タスクが終了するごとにメモリマップの設定された範囲のアドレスに書き込まれたデータを参照することによって処理の残りサイクル数を認識する。
また、本実施形態のデータ処理装置は、しきい値サイクル数を任意に設定可能に構成することも可能である。このような構成は、例えば、ユーザの要望やデータ処理装置が扱うデータの種別、ＨＷアクセラレータの処理内容に応じてデータ処理装置が含まれる機器の出荷時に所望の設定値をパラメータレジスタ６０８に書き込むことによって実現できる。
【００３９】
また、予め所定のしきい値を複数設定しておき、タスクのパラメータ等に応じてＣＰＵ１０１が設定を変更するものであってもよい。
なお、以上の構成では、しきい値サイクルの値を書き替え可能なパラメータレジスタ６０８がしきい値記録手段となる。
【図面の簡単な説明】
【００４０】
【図１】本発明の一実施形態のデータ処理装置の構成を説明するための図である。
【図２】図１に示したタスク管理テーブルの一例を示した図である。
【図３】図１に示したＣＰＵによって参照されるメモリマップの一例を示した図である。
【図４】本発明の一実施形態のデータ処理装置の動作を説明するための図である。
【図５】図４に示したタスクＡの実行中にＨＷ依頼処理をするタスクプログラムを示した図である。
【図６】本発明の一実施形態のデータ処理装置の他の構成を説明するための図である。
【図７】図６に示したＣＰＵによって参照されるメモリマップの一例を示した図である。
【符号の説明】
【００４１】
１０１  ＣＰＵ、１０２  メモリ、１０３  ＨＷアクセラレータ、１０４  制御部
１０５  ステータス信号生成部、１０６  演算部、１０７  ステータスレジスタ、１０８  タスク管理テーブル、６０７  ステータスレジスタ、６０８  パラメータレジスタ
【図１】
2007102399.tif 000003
【図２】
2007102399.tif 000004
【図３】
2007102399.tif 000005
【図４】
2007102399.tif 000006
【図５】
2007102399.tif 000007
【図６】
2007102399.tif 000008
【図７】
2007102399.tif 000009