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