(57)【要約】【課題】タスクを実行するタイミングの制御を行う場合の消費電力を抑制する。【解決手段】タスク制御装置として、タスクを識別するためのデータと、そのタスクの次の起動までの時間を示す値とが対応付けられたタイマタスク管理データに基づいて、次に起動すべきタスクを開始するまでの時間に応じた値をティック設定値として出力し、割込みを受けると、前記次に起動すべきタスクを実行するタイマ制御部と、前記ティック設定値を受け取り、その後、この値に応じた時間が経過すると、前記タイマ制御部に対して前記割込みを行うタイマ信号発生部とを備える。【選択図】      図１
2004199393.tif 000002
【特許請求の範囲】
【請求項１】
タスクを識別するためのデータと、そのタスクの次の起動までの時間を示す値とが対応付けられたタイマタスク管理データに基づいて、次に起動すべきタスクを開始するまでの時間に応じた値をティック設定値として出力し、割込みを受けると、前記次に起動すべきタスクを実行するタイマ制御部と、
前記ティック設定値を受け取り、その後、この値に応じた時間が経過すると、前記タイマ制御部に対して前記割込みを行うタイマ信号発生部とを備える
タスク制御装置。
【請求項２】
請求項１に記載のタスク制御装置において、
前記タイマ制御部は、
前記タイマタスク管理データを格納するタイマタスク管理データ格納部と、
前記タイマタスク管理データに含まれる起動までの時間を示す値のうち、最も短い時間を示すものを選択して出力する最小値検索部と、
前記最小値検索部によって選択された値に応じた値を、前記ティック設定値として出力するティック設定部と、
前記割込みを受けると、前記タイマタスク管理データに含まれる起動までの時間を示す値のうち、最も短い時間を示すものに対応する、タスクを識別するためのデータを求めて出力するタイマタスク管理部と、
前記タイマタスク管理部が前記タスクを識別するためのデータを出力すると、これに対応するタスクを前記次に起動すべきタスクとして実行するタイマタスク実行部とを備えるものである
ことを特徴とするタスク制御装置。
【請求項３】
請求項１に記載のタスク制御装置において、
前記タイマ制御部は、
前記タイマタスク管理データを格納するタイマタスク管理データ格納部と、
前記タイマタスク管理データに含まれる起動までの時間を示す値のうち、最も短い時間を示すものと、これに対応する、タスクを識別するためのデータとを選択して出力する最小値検索部と、
前記最小値検索部によって選択された起動までの時間を示す値に応じた値を、前記ティック設定値として出力するティック設定部と、
前記割込みを受けると、前記最小値検索部が出力する、タスクを識別するためのデータに対応するタスクを前記次に起動すべきタスクとして実行するタイマタスク実行部とを備えるものである
ことを特徴とするタスク制御装置。
【請求項４】
請求項１に記載のタスク制御装置において、
前記タイマ信号発生部は、
前記ティック設定値を受け取り、その後、所定の周期を有する信号のパルス数をカウントし、カウントした回数が前記ティック設定値に等しくなると通知を行うティック計数部を備え、かつ、
前記ティック計数部が前記通知を行うと、前記割込みを行うものである
ことを特徴とするタスク制御装置。
【請求項５】
タスクを識別するためのデータと、そのタスクの次の起動までの時間を示す値とが対応付けられたタイマタスク管理データを格納するタイマタスク管理データ格納部と、
割込みを受けた回数をカウントし、そのカウント値を出力する割込み回数計数部と、
前記割込み回数計数部が前記カウント値を更新すると、前記タイマタスク管理データに含まれる起動までの時間を示す値のうち、最も短い時間を示すものに対応する、タスクを識別するためのデータを求めて出力するタイマタスク管理部と、
前記タイマタスク管理部が前記タスクを識別するためのデータを出力すると、これに対応するタスクを実行するタイマタスク実行部と、
クロックの周波数が変化した場合に、変化後のクロックの周波数に比例したクロック設定値を出力するクロック設定部と、
前記クロックのパルス数をカウントし、カウントした回数が前記クロック設定値に等しくなる毎に前記割込みを行うタイマ信号発生部とを備える
タスク制御装置。
【請求項６】
請求項５に記載のタスク制御装置において、
前記クロック設定部は、
前記クロック周波数と前記クロック設定値との対応関係を示すテーブルを検索して、前記変化後のクロックの周波数に応じた前記クロック設定値を求めるものである
ことを特徴とするタスク制御装置。
【請求項７】
タスクを識別するためのデータと、そのタスクの次の起動までの時間を示す値とが対応付けられたタイマタスク管理データに基づいて、次に起動すべきタスクを開始するまでの時間に応じた値をティック設定値として求めるタイマ制御ステップと、
前記ティック設定値を受け取り、その後、この値に応じた時間が経過すると、割込みを行うタイマ信号発生ステップと、
前記割込みを受けると、前記次に起動すべきタスクを実行する実行ステップとを備える
タスク制御方法。
【請求項８】
請求項７に記載のタスク制御方法において、
前記タイマ制御ステップは、
前記タイマタスク管理データに含まれる起動までの時間を示す値のうち、最も短い時間を示すものを選択する最小値検索ステップと、
前記最小値検索ステップにおいて選択された値に応じた値を、前記ティック設定値として求めるティック設定ステップとを備えるものであり、
前記実行ステップは、
前記割込みを受けると、前記タイマタスク管理データに含まれる起動までの時間を示す値のうち、最も短い時間を示すものに対応する、タスクを識別するためのデータを求めるタイマタスク管理ステップと、
前記タイマタスク管理ステップにおいて前記タスクを識別するためのデータが求められると、これに対応するタスクを前記次に起動すべきタスクとして実行するタイマタスク実行ステップとを備えるものである
ことを特徴とするタスク制御方法。
【請求項９】
請求項７に記載のタスク制御方法において、
前記タイマ制御ステップは、
前記タイマタスク管理データに含まれる起動までの時間を示す値のうち、最も短い時間を示すものと、これに対応する、タスクを識別するためのデータとを選択する最小値検索ステップと、
前記最小値検索ステップにおいて選択された起動までの時間を示す値に応じた値を、前記ティック設定値として求めるティック設定ステップとを備えるものであり、
前記実行ステップは、
前記割込みを受けると、前記最小値検索ステップによって選択された、タスクを識別するためのデータに対応するタスクを前記次に起動すべきタスクとして実行するタイマタスク実行ステップを備えるものである
ことを特徴とするタスク制御方法。
【請求項１０】
請求項７に記載のタスク制御方法において、
前記タイマ信号発生ステップは、
前記ティック設定値を受け取り、その後、所定の周期を有する信号のパルス数をカウントし、カウントした回数が前記ティック設定値に等しくなると通知を行うティック計数ステップを備え、かつ、
前記ティック計数ステップによる通知が生じると、前記割込みを行うものである
ことを特徴とするタスク制御方法。
【請求項１１】
割込みを受けた回数をカウントする割込み回数計数ステップと、
前記割込み回数計数ステップにおいてカウントが行われると、タスクを識別するためのデータと、そのタスクの次の起動までの時間を示す値とが対応付けられたタイマタスク管理データに含まれる起動までの時間を示す値のうち、最も短い時間を示すものに対応する、タスクを識別するためのデータを求めるタイマタスク管理ステップと、
前記タイマタスク管理ステップにおいて前記タスクを識別するためのデータが求められると、これに対応するタスクを実行するタイマタスク実行ステップと、
クロックの周波数が変化した場合に、変化後のクロックの周波数に比例したクロック設定値を求めるクロック設定ステップと、
前記クロックのパルス数をカウントし、カウントした回数が前記クロック設定値に等しくなる毎に前記割込みを行うタイマ信号発生ステップとを備える
タスク制御方法。
【請求項１２】
請求項１１に記載のタスク制御方法において、
前記クロック設定ステップは、
前記クロック周波数と前記クロック設定値との対応関係を示すテーブルを検索して、前記変化後のクロックの周波数に応じた前記クロック設定値を求めるものである
ことを特徴とするタスク制御方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、タスクを実行するタイミングを制御するタスク制御技術に関する。
【０００２】
【従来の技術】
図１０は、従来のタスク制御装置の構成の例を示すブロック図である。図１０のタスク制御装置は、タイマ信号発生部９１０と、タイマ制御部９３０と、タスク格納部６０とを備えている。タイマ信号発生部９１０は、クロック発生部９１２と、クロック計数部９１４と、割込み発生部９１８とを備えている。タイマ制御部９３０は、タイマタスク管理部９３２と、タイマタスク管理データ格納部９３４と、割込み回数計数部９４４と、タイマタスク実行部９５２とを備えている。
【０００３】
図１１は、図１０のタスク制御装置の動作の例を示すタイミング図である。図１０，図１１を参照して、図１０のタスク制御装置の動作について説明する。図１０において、クロック発生部９１２は、例えば周期が１０μｓのクロック（システムクロック）を生成して、クロック計数部９１４に出力する。
【０００４】
クロック計数部９１４は、クロック発生部９１２が出力するクロックのパルスを受ける毎に、そのカウント値のカウントダウンを行う。カウント値が“０”となると、クロック計数部９１４は、これをクロック設定値“１００”に初期化する。これとほぼ同時に、クロック計数部９１４は、タイマクロックとしてパルスを割込み発生部９１８に出力する。このような動作を繰り返すので、クロック計数部９１４は、クロック設定値とクロックの周期との積である１ｍｓを周期として有するタイマクロックを生成して、割込み発生部９１８に出力することになる。
【０００５】
割込み発生部９１８は、クロック計数部９１４からパルスを受け取ると、図示されていない他の部分から受けた割込み要求と調整の上、割込み回数計数部９４４に割込みを行う。すなわち、割込み発生部９１８は、割込み回数計数部９４４に対して１ｍｓ毎に割込みを行う。
【０００６】
図１０のタスク制御装置が起動される時において、割込み回数計数部９４４のカウント値は、予め設定された値（ここでは“０”とする）に初期化されている。割込み回数計数部９４４は、割込みの回数を数えてタイマタスク管理部９３２に出力する。
【０００７】
タイマタスク管理部９３２は、割込み回数計数部９４４が割込みの回数を更新する毎に、タイマタスク管理データ格納部９３４が保持するタイマタスク管理データを検索し、タイマタスク管理データに含まれる起動までの時間の最小値を選択する。タイマタスク管理部９３２は、その選択した値と、割込み回数計数部９４４が出力する割込みの回数との比較を行い、一致するか否かを判定する。
【０００８】
一致する場合には、タイマタスク管理部９３２は、選択した起動までの時間の最小値に対応するタイマタスク識別子を求め、これをタイマタスク実行部９５２に出力して、タイマタスクの起動を行う。タイマタスク実行部９５２は、求められたタイマタスク識別子が示す実行すべきタイマタスクを、タスク格納部６０から読み出して実行する。その後、タイマタスク管理部９３２は、タイマタスク管理データの更新を行う。
【０００９】
【特許文献１】
特開２００１−２５６０６７号公報
【００１０】
【発明が解決しようとする課題】
図１０のタスク制御装置では、一定の短い時間毎に割込みを発生させ、割込みが生じた回数に従ってタスクの実行を行っていた。割込みが生じる度に、起動処理を行うべきタスクが存在するか否かを確認する必要があるので、この確認のために電力を消費してしまうという問題があった。
【００１１】
また、処理速度が遅くてもよい場合には、クロックの周波数を低くして、クロックを用いる回路全体の消費電力を小さくする方法がある。ところが、クロックの周波数が変化すると、タスクを実行するタイミングが影響を受けてしまうという問題があった。
【００１２】
本発明は、タスクを実行するタイミングの制御を行う場合の消費電力を抑制することを目的とする。
【００１３】
【課題を解決するための手段】
前記課題を解決するため、請求項１の発明が講じた手段は、タスク制御装置として、タスクを識別するためのデータと、そのタスクの次の起動までの時間を示す値とが対応付けられたタイマタスク管理データに基づいて、次に起動すべきタスクを開始するまでの時間に応じた値をティック設定値として出力し、割込みを受けると、前記次に起動すべきタスクを実行するタイマ制御部と、前記ティック設定値を受け取り、その後、この値に応じた時間が経過すると、前記タイマ制御部に対して前記割込みを行うタイマ信号発生部とを備えるものである。
【００１４】
請求項１の発明によると、起動処理を行うべきタスクが存在するときに、割込みを行い、そのタスクを実行するようにすることができる。割込みが生じる毎に起動処理を行うべきタスクの有無を確認する必要がないので、この確認のために電力を消費してしまうことがない。
【００１５】
また、請求項２の発明では、請求項１に記載のタスク制御装置において、前記タイマ制御部は、前記タイマタスク管理データを格納するタイマタスク管理データ格納部と、前記タイマタスク管理データに含まれる起動までの時間を示す値のうち、最も短い時間を示すものを選択して出力する最小値検索部と、前記最小値検索部によって選択された値に応じた値を、前記ティック設定値として出力するティック設定部と、前記割込みを受けると、前記タイマタスク管理データに含まれる起動までの時間を示す値のうち、最も短い時間を示すものに対応する、タスクを識別するためのデータを求めて出力するタイマタスク管理部と、前記タイマタスク管理部が前記タスクを識別するためのデータを出力すると、これに対応するタスクを前記次に起動すべきタスクとして実行するタイマタスク実行部とを備えるものである。
【００１６】
請求項２の発明によると、タイマタスク管理データに基づいて、タスクのうち、次の起動までの時間が最も短いものを実行することができる。
【００１７】
また、請求項３の発明では、請求項１に記載のタスク制御装置において、前記タイマ制御部は、前記タイマタスク管理データを格納するタイマタスク管理データ格納部と、前記タイマタスク管理データに含まれる起動までの時間を示す値のうち、最も短い時間を示すものと、これに対応する、タスクを識別するためのデータとを選択して出力する最小値検索部と、前記最小値検索部によって選択された起動までの時間を示す値に応じた値を、前記ティック設定値として出力するティック設定部と、前記割込みを受けると、前記最小値検索部が出力する、タスクを識別するためのデータに対応するタスクを前記次に起動すべきタスクとして実行するタイマタスク実行部とを備えるものである。
【００１８】
請求項３の発明によると、１つのタスクの起動のために、タイマタスク管理データの検索を１回行うのみでよいので、タスク制御装置の消費電力を抑えることができる。また、タイマタスク実行部は、割込みが生じる前にタスクを識別するためのデータを受け取ることができるので、割込み発生後、直ちにタスクを実行することができる。
【００１９】
また、請求項４の発明では、請求項１に記載のタスク制御装置において、前記タイマ信号発生部は、前記ティック設定値を受け取り、その後、所定の周期を有する信号のパルス数をカウントし、カウントした回数が前記ティック設定値に等しくなると通知を行うティック計数部を備え、かつ、前記ティック計数部が前記通知を行うと、前記割込みを行うものである。
【００２０】
請求項４の発明によると、タイマ制御部が出力する値とクロックの周期との積に応じた時間が経過すると、割込みを行うようにすることができる。
【００２１】
また、請求項５の発明は、タスク制御装置として、タスクを識別するためのデータと、そのタスクの次の起動までの時間を示す値とが対応付けられたタイマタスク管理データを格納するタイマタスク管理データ格納部と、割込みを受けた回数をカウントし、そのカウント値を出力する割込み回数計数部と、前記割込み回数計数部が前記カウント値を更新すると、前記タイマタスク管理データに含まれる起動までの時間を示す値のうち、最も短い時間を示すものに対応する、タスクを識別するためのデータを求めて出力するタイマタスク管理部と、前記タイマタスク管理部が前記タスクを識別するためのデータを出力すると、これに対応するタスクを実行するタイマタスク実行部と、クロックの周波数が変化した場合に、変化後のクロックの周波数に比例したクロック設定値を出力するクロック設定部と、前記クロックのパルス数をカウントし、カウントした回数が前記クロック設定値に等しくなる毎に前記割込みを行うタイマ信号発生部とを備えるものである。
【００２２】
請求項５の発明によると、クロックの周波数が変化しても、割込みの頻度は変化しないので、タスクを実行するタイミングが変化しないようにすることができる。
【００２３】
また、請求項６の発明では、請求項５に記載のタスク制御装置において、前記クロック設定部は、前記クロック周波数と前記クロック設定値との対応関係を示すテーブルを検索して、前記変化後のクロックの周波数に応じた前記クロック設定値を求めるものである。
【００２４】
請求項６の発明によると、クロック設定値を求めるために演算を行う必要がない。
【００２５】
また、請求項７の発明は、タスク制御方法として、タスクを識別するためのデータと、そのタスクの次の起動までの時間を示す値とが対応付けられたタイマタスク管理データに基づいて、次に起動すべきタスクを開始するまでの時間に応じた値をティック設定値として求めるタイマ制御ステップと、前記ティック設定値を受け取り、その後、この値に応じた時間が経過すると、割込みを行うタイマ信号発生ステップと、前記割込みを受けると、前記次に起動すべきタスクを実行する実行ステップとを備えるものである。
【００２６】
また、請求項８の発明では、請求項７に記載のタスク制御方法において、前記タイマ制御ステップは、前記タイマタスク管理データに含まれる起動までの時間を示す値のうち、最も短い時間を示すものを選択する最小値検索ステップと、前記最小値検索ステップにおいて選択された値に応じた値を、前記ティック設定値として求めるティック設定ステップとを備えるものであり、前記実行ステップは、前記割込みを受けると、前記タイマタスク管理データに含まれる起動までの時間を示す値のうち、最も短い時間を示すものに対応する、タスクを識別するためのデータを求めるタイマタスク管理ステップと、前記タイマタスク管理ステップにおいて前記タスクを識別するためのデータが求められると、これに対応するタスクを前記次に起動すべきタスクとして実行するタイマタスク実行ステップとを備えるものである。
【００２７】
また、請求項９の発明では、請求項７に記載のタスク制御方法において、前記タイマ制御ステップは、前記タイマタスク管理データに含まれる起動までの時間を示す値のうち、最も短い時間を示すものと、これに対応する、タスクを識別するためのデータとを選択する最小値検索ステップと、前記最小値検索ステップにおいて選択された起動までの時間を示す値に応じた値を、前記ティック設定値として求めるティック設定ステップとを備えるものであり、前記実行ステップは、前記割込みを受けると、前記最小値検索ステップによって選択された、タスクを識別するためのデータに対応するタスクを前記次に起動すべきタスクとして実行するタイマタスク実行ステップを備えるものである。
【００２８】
また、請求項１０の発明では、請求項７に記載のタスク制御方法において、前記タイマ信号発生ステップは、前記ティック設定値を受け取り、その後、所定の周期を有する信号のパルス数をカウントし、カウントした回数が前記ティック設定値に等しくなると通知を行うティック計数ステップを備え、かつ、前記ティック計数ステップによる通知が生じると、前記割込みを行うものである。
【００２９】
また、請求項１１の発明は、タスク制御方法として、割込みを受けた回数をカウントする割込み回数計数ステップと、前記割込み回数計数ステップにおいてカウントが行われると、タスクを識別するためのデータと、そのタスクの次の起動までの時間を示す値とが対応付けられたタイマタスク管理データに含まれる起動までの時間を示す値のうち、最も短い時間を示すものに対応する、タスクを識別するためのデータを求めるタイマタスク管理ステップと、前記タイマタスク管理ステップにおいて前記タスクを識別するためのデータが求められると、これに対応するタスクを実行するタイマタスク実行ステップと、クロックの周波数が変化した場合に、変化後のクロックの周波数に比例したクロック設定値を求めるクロック設定ステップと、前記クロックのパルス数をカウントし、カウントした回数が前記クロック設定値に等しくなる毎に前記割込みを行うタイマ信号発生ステップとを備えるものである。
【００３０】
また、請求項１２の発明では、請求項１１に記載のタスク制御方法において、前記クロック設定ステップは、前記クロック周波数と前記クロック設定値との対応関係を示すテーブルを検索して、前記変化後のクロックの周波数に応じた前記クロック設定値を求めるものである。
【００３１】
【発明の実施の形態】
以下、本発明の実施の形態について、図面を参照しながら説明する。
【００３２】
（第１の実施形態）
図１は、本発明の第１の実施形態に係るタスク制御装置の構成の例を示すブロック図である。図１のタスク制御装置は、タイマ信号発生部１０と、タイマ制御部３０と、タスク格納部６０とを備えている。タイマ信号発生部１０は、クロック発生部１２と、クロック計数部１４と、ティック計数部１６と、割込み発生部１８とを備えている。タイマ制御部３０は、タイマタスク管理部３２と、タイマタスク管理データ格納部３４と、最小値検索部３６と、ティック設定部３８と、タイマタスク実行部５２とを備えている。タスク格納部６０は、タイマタスクＴＴ１，ＴＴ２，及びＴＴ３を格納している。タイマタスクとは、時間に応じて実行されるタスクを示している。
【００３３】
図２は、１つのタイマタスクに対応するタイマタスク管理データのデータ構造の例を示す説明図である。各タイマタスクに対応するタイマタスク管理データは、タイマタスク識別子ＡＴ、次管理データ指定子ＮＤ、実行間隔ＥＴ、及び起動までの時間ＲＴを含んでいる。タイマタスク識別子ＡＴは、タスクを識別するためのデータであって、例えば、そのタスクを行うプログラムが格納されたアドレスを示すポインタである。次管理データ指定子ＮＤは、他のタイマタスクに対応するタイマタスク管理データを参照するためのデータであって、例えばそのタイマタスク管理データを示すポインタである。実行間隔ＥＴは、そのタスクを実行すべき時間の間隔を示す値である。起動までの時間ＲＴは、そのタスクを次に起動するまでの時間を示す値である。
【００３４】
図３は、図１のタイマタスク管理データ格納部３４が格納するタイマタスク管理データの初期状態の例を示す説明図である。タイマタスク管理データ格納部３４は、タイマタスクＴＴ１，ＴＴ２，及びＴＴ３のそれぞれに対応するタイマタスク管理データＤ１，Ｄ２，及びＤ３を格納している。タイマタスク管理データＤ１〜Ｄ３は、リンクリストを構成している。タイマタスクＴＴ１，ＴＴ２，及びＴＴ３は、それぞれ３０ｍｓ毎、４０ｍｓ毎、及び７０ｍｓ毎に起動されるべきタスクであるとする。
【００３５】
タイマタスク管理データＤ１は、タイマタスク識別子ＡＴとしてポインタＡＴ１を、次管理データ指定子ＮＤとしてタイマタスク管理データＤ２を示すポインタを有している。また、タイマタスク管理データＤ１は、実行間隔ＥＴ及び起動までの時間ＲＴとして、値“３０”を有している。実行間隔ＥＴ及び起動までの時間ＲＴの値の単位は、ｍｓであるとする。
【００３６】
タイマタスク管理データＤ２は、タイマタスク識別子ＡＴとしてポインタＡＴ２を、次管理データ指定子ＮＤとしてタイマタスク管理データＤ３を示すポインタを有している。また、タイマタスク管理データＤ２は、実行間隔ＥＴ及び起動までの時間ＲＴとして、値“４０”を有している。
【００３７】
タイマタスク管理データＤ３は、タイマタスク識別子ＡＴとしてポインタＡＴ３を、次管理データ指定子ＮＤとして、次の管理データがないことを示す値を有している。また、タイマタスク管理データＤ３は、実行間隔ＥＴ及び起動までの時間ＲＴとして、値“７０”を有している。
【００３８】
図１において、クロック発生部１２は、クロック（システムクロック）を生成して、クロック計数部１４に出力する。クロック計数部１４は、予め設定されたクロック設定値とクロックの周期との積に相当する周期を有するタイマクロックを生成して、ティック計数部１６に出力する。
【００３９】
ティック設定部３８は、最小値検索部３６から受け取った値に基づいて、次に実行すべきタスクを開始するまでの時間に応じた値を、ティック設定値としてティック計数部１６に出力する。
【００４０】
ティック計数部１６は、タイマクロックのパルス数をカウントし、カウントした回数がティック設定値に等しくなると、割込み発生部１８に割込み要求を通知する。割込み発生部１８は、ティック計数部１６から割込み要求を受けると、図示されていない他の部分から受けた割込み要求と調整の上、タイマタスク管理部３２に割込みパルスを出力して割込みを行う。
【００４１】
タイマタスク管理データ格納部３４は、タイマタスクＴＴ１，ＴＴ２，及びＴＴ３に対応するタイマタスク管理データを格納している。
【００４２】
タイマタスク管理部３２は、割込み発生部１８から割込み信号を受けると、タイマタスク管理データ格納部３４が格納するタイマタスク管理データを検索して、起動までの時間ＲＴの最小値を最も短い時間を示すものとして選択し、これに対応するタイマタスク識別子ＡＴを求める。タイマタスク管理部３２は、求められたタイマタスク識別子ＡＴを、タスクを識別するためのデータとしてタイマタスク実行部５２に出力して、タイマタスクを起動させる。その後、タイマタスク管理部３２は、タイマタスク管理データの更新を行う。また、タイマタスク管理部３２は、最小値検索部３６にタイマタスク管理データの検索を行わせる。
【００４３】
タイマタスク実行部５２は、受け取ったタイマタスク識別子ＡＴに基づいて、次に実行すべきタスクをタスク格納部６０から読み出して実行する。最小値検索部３６は、タイマタスク管理部３２の指示に従って、タイマタスク管理データを検索し、起動までの時間ＲＴの最小値を、最も短い時間を示すものとして選択し、これをティック設定部３８に出力する。
【００４４】
図４は、図１のタスク制御装置の動作の例を示すタイミング図である。図１〜図４を参照して、図１のタスク制御装置の動作について具体的に説明する。以下では、図１のタスク制御装置が動作を開始後、クロック発生部１２がクロックの各パルスを出力する時刻を、順に時刻Ｔ０，Ｔ１，Ｔ２，…とする。例として、クロックの周期は１０μｓであるとする。
【００４５】
図１のタスク制御装置が起動される時において、クロック計数部１４のカウント値であるクロック計数値は、予め設定された値（ここでは“１”とする）に初期化されている。このとき、ティック計数部１６のカウント値であるティック計数値は、初期化されていないので不定である。
【００４６】
時刻Ｔ０において、クロック発生部１２が出力するクロックを受けると、クロック計数部１４は、クロック計数値のカウントダウンを行う。すなわち、クロック計数部１４は、クロック計数値を“１”だけ減じるので、その値は“０”となる。すると、クロック計数部１４は、クロック計数値を予め設定されたクロック設定値（ここでは“１００”とする）に直ちに初期化する。このとき、クロック計数部１４は、ティック計数部１６を経由して割込み発生部１８に割込み要求を通知する。この通知を受けると、割込み発生部１８は、タイマタスク管理部３２に対して割込みパルスを出力して、割込みを行う。
【００４７】
タイマタスク管理部３２は、割込みを受けると、最小値検索部３６にタイマタスク管理データを検索させる。最小値検索部３６は、起動までの時間ＲＴのうち、最も値が小さいもの（図３の場合、値“３０”）を求め、これをティック設定部３８に出力する。ティック設定部３８は、受け取った値に応じた値をティック設定値としてティック計数部１６に出力する。ここでは、ティック設定部３８は、受け取った値をそのまま出力するものとする。ティック計数部１６は、ティック計数値をティック設定値“３０”に設定する。
【００４８】
時刻Ｔ１において、クロック発生部１２が出力するクロックを受けて、クロック計数部１４はクロック計数値のカウントダウンを行い、クロック計数値は“９９”となる。このとき、クロック計数部１４からティック計数部１６及び割込み発生部１８への通知はない。その後同様の動作が行われ、時刻Ｔ０の０．９９ｍｓ後である時刻Ｔ９９において、クロック計数値は“１”になる。
【００４９】
クロック発生部１２が、時刻Ｔ０の後、１００回目のパルスを出力する時刻Ｔ１００（すなわち、時刻Ｔ０の１ｍｓ後）において、クロック計数値は“０”となる。すると、クロック計数部１４は、クロック計数値をクロック設定値“１００”に再度初期化する。これとほぼ同時に、クロック計数部１４は、パルスをタイマクロックとしてティック計数部１６に出力する。クロック計数部１４からパルスを受け取ると、ティック計数部１６は、ティック計数値のカウントダウンを行い、ティック計数値は“２９”となる。以降、時刻Ｔ０の２９．９９ｍｓ後である時刻Ｔ２９９９まで、同様な処理が繰り返される。このように、この例ではタイマクロックの周期は１ｍｓとなる。
【００５０】
時刻Ｔ３０００において、クロック計数部１４は、クロック計数値が“０”となると、クロック計数値をクロック設定値“１００”に再度初期化する。これとほぼ同時に、クロック計数部１４は、タイマクロックとして３０回目のパルスをティック計数部１６に出力する。クロック計数部１４からパルスを受け取ると、ティック計数部１６は、ティック計数値のカウントダウンを行い、ティック計数値は“０”となる。すると、ティック計数部１６は、割込み発生部１８に割込み要求を通知する。このとき、ティック計数部１６がカウントした回数は、ティック設定値“３０”に等しくなっており、時刻Ｔ０から３０ｍｓが経過している。この通知を受けると、割込み発生部１８は、タイマタスク管理部３２に対して割込みを行う。
【００５１】
タイマタスク管理部３２は、割込みを受けると、タイマタスク管理データ格納部３４が格納するタイマタスク管理データを検索して、起動までの時間ＲＴの値が最も小さいものを選択する。図３の場合は、タイマタスクＴＴ１についてのタイマタスク管理データＤ１が選択される。タイマタスク管理部３２は、タイマタスク管理データＤ１にタイマタスク識別子ＡＴとして記述されているポインタＡＴ１をタイマタスク実行部５２に通知して、タイマタスクＴＴ１を起動させる。タイマタスク実行部５２は、ポインタＡＴ１で示された実行すべきタイマタスクＴＴ１を、タスク格納部６０から読み出して実行する。
【００５２】
タイマタスクＴＴ１を起動させた後、タイマタスク管理部３２は、タイマタスク管理データの更新を行う。すなわち、タイマタスク管理部３２は、まず、タイマタスク管理データ格納部３４からタイマタスク管理データＤ１を削除する。次に、タイマタスク管理部３２は、タイマタスク管理データＤ２，Ｄ３に含まれる、起動までの時間ＲＴから、既に経過した３０ｍｓに相当する値“３０”を減じる。更に、タイマタスク管理部３２は、タイマタスク管理データＤ１の初期状態のものを、タイマタスク管理データＤ３の後ろに連結する。タイマタスク管理データＤ１，Ｄ２，Ｄ３が有する起動までの時間ＲＴは、それぞれ“３０”，“１０”，“４０”となる。
【００５３】
その後、タイマタスク管理部３２は、最小値検索部３６に検索を行うように指示をする。最小値検索部３６は、タイマタスク管理データを検索し、そのうち、起動までの時間ＲＴの値が最も小さいものを選択する。ここでは、最小値検索部３６は、タイマタスクＴＴ２についてのタイマタスク管理データＤ２が有する起動までの時間ＲＴの値“１０”を選択し、これをティック設定部３８に出力する。ティック設定部３８は、値“１０”をティック設定値としてティック計数部１６に出力する。以下、同様の動作が行われ、タイマタスクＴＴ１が起動されてから１０ｍｓ後に、タイマタスクＴＴ２が起動される。
【００５４】
図５（ａ）は、図１のタスク制御装置において各タスクが起動されるべきタイミングの例を示す説明図である。図１のタスク制御装置において起動後の最初の割込みが行われる時刻（図４の時刻Ｔ０）を時刻０とすると、タイマタスクＴＴ１は、時刻３０，６０，９０，１２０ｍｓ等において起動されるべきタスクである。また、タイマタスクＴＴ２は、時刻４０，８０，１２０，１６０ｍｓ等において起動されるべきタスクであり、タイマタスクＴＴ３は、時刻７０，１４０，２１０ｍｓ等において起動されるべきタスクである。
【００５５】
図５（ｂ）は、図１の割込み発生部１８が出力する割込みパルスを示すグラフである。図５（ｃ）は、図１のタイマタスク管理部３２がタスクを起動するタイミングの例を示す説明図である。図５（ｃ）においては、矢印の先端が、起動されるタイマタスク及び起動される時刻を示している。
【００５６】
このように、図１のタイマタスク制御装置は、一定の間隔で割込み処理を行うことはせず、タイマタスクを起動するタイミングにおいてのみ割込み処理を行う。このため、起動処理を行うべきタスクが存在するか否かを割込みが発生する度に確認する必要がなく、この確認のために電力を消費することがない。
【００５７】
図５（ａ）に示されているように、例えば、タイマタスクＴＴ１とタイマタスクＴＴ２とは、時刻１２０ｍｓにおいて同時に起動されるべきものである。このような場合、タイマタスクＴＴ１，ＴＴ２のそれぞれに対応するタイマタスク管理データＤ１，Ｄ２が有する、起動までの時間ＲＴの値は、時刻９０ｍｓから１２０ｍｓまでにおいては同一である。このとき、図１のタイマタスク制御装置は次のように動作する。
【００５８】
例えば、タイマタスク管理部３２は、割込みを受け取った後、起動までの時間ＲＴの値に基づいてタイマタスク管理データＤ２を選択し、これに対応するタイマタスクＴＴ２の起動処理をタイマタスクＴＴ１よりも先に行ったとする。
【００５９】
タイマタスク管理部３２は、タイマタスク管理データＤ２をタイマタスク管理データ格納部３４から削除した後、最小値検索部３６にタイマタスク管理データを検索するように通知する。このとき、最小値検索部３６は、起動までの時間ＲＴとして最も小さい値を持つタイマタスク管理データＤ１を選択する。この値は、直前に実行されたタイマタスクＴＴ２についての起動までの時間ＲＴの値と等しいことがわかるので、最小値検索部３６は、ティック設定部３８には起動までの時間を改めて出力することはせず、タイマタスク管理部３２に対して、タイマタスク管理データを検索するように通知する。
【００６０】
タイマタスク管理部３２は、再度タイマタスク管理データを検索して、起動までの時間ＲＴとして最も小さい値を持つタイマタスク管理データＤ１を選択し、これに含まれるタイマタスク識別子ＡＴ１をタイマタスク実行部５２に通知する。タイマタスク実行部５２は、タイマタスク識別子ＡＴ１に対応するタイマタスクＴＴ１の起動処理を行う。
【００６１】
タイマタスクＴＴ１を起動させた後、タイマタスク管理部３２は、タイマタスク管理データの更新を行う。すなわち、タイマタスク管理部３２は、タイマタスク管理データ格納部３４から、起動処理を行ったタイマタスクＴＴ１に対応するタイマタスク管理データＤ１を削除する。また、タイマタスク管理部３２は、タイマタスク管理データＤ３に含まれる、起動までの時間ＲＴから、前回の割込み後に経過した３０ｍｓに相当する値“３０”を減じる。更に、タイマタスク管理部３２は、タイマタスク管理データＤ１，Ｄ２の初期状態のものを、タイマタスク管理データＤ３の後ろに連結する。
【００６２】
本実施形態では、ティック設定部３８は、最小値検索部３６から受け取った値をそのままティック計数部１６に出力するものとして説明したが、受け取った値を変換してから出力するようにしてもよい。例えば、クロック計数部１４が出力するタイマクロックの周期が２ｍｓであり、タイマタスク管理データの起動までの時間ＲＴがｍｓ単位の値で記述されている場合は、ティック設定部３８は、最小値検索部３６から受け取った値をタイマクロックの周期で除した値を出力するようにすればよい。
【００６３】
（第２の実施形態）
図６は、本発明の第２の実施形態に係るタスク制御装置の構成の例を示すブロック図である。図６のタスク制御装置は、図１のタスク制御装置において、タイマ制御部３０に代えてタイマ制御部１３０を備えたものである。タイマ制御部１３０は、図１のタイマタスク管理部３２、最小値検索部３６、及びタイマタスク実行部５２のそれぞれに代えて、タイマタスク管理部１３２、最小値検索部１３６、及びタイマタスク実行部１５２を備えている。
【００６４】
その他の構成要素については、図１を参照して説明したものと同様であるので、同一の参照番号を付してその説明を省略する。タイマタスク管理データ格納部３４が格納するタイマタスク管理データは、図２、図３を参照して説明したものと同様であるとする。第１の実施形態と同様に、例として、クロックの周期は１０μｓ、クロック計数部１４に設定されるクロック設定値は“１００”であるとする。
【００６５】
タイマタスク管理部１３２は、割込み発生部１８から割込み信号を受けると、タイマタスク管理データの更新を行う他、最小値検索部１３６にタイマタスク管理データの検索を行わせる。
【００６６】
最小値検索部１３６は、タイマタスク管理部１３２の指示に従って、タイマタスク管理データを検索し、起動までの時間ＲＴの最小値を、最も短い時間を示すものとして選択し、これをティック設定部３８に出力する。
また、最小値検索部１３６は、選択された起動までの時間ＲＴの最小値に対応するタイマタスク識別子ＡＴを、タスクを識別するためのデータとして選択して、タイマタスク実行部１５２に出力する。
【００６７】
タイマタスク実行部１５２は、割込み発生部１８から割込み信号を受けると、受け取ったタイマタスク識別子ＡＴに基づいて、次に実行すべきタスクをタスク格納部６０から読み出して実行する。
【００６８】
図７は、図６のタスク制御装置の動作の例を示すタイミング図である。図６のタスク制御装置が起動される時において、クロック計数部１４のカウント値であるクロック計数値は、予め設定された初期値（ここでは“１”とする）に初期化されている。このとき、ティック計数部１６のカウント値であるティック計数値は、初期化されないので不定である。タイマタスク実行部１５２が格納するタイマタスク識別子ＡＴの値は、無効な値となっている。図６及び図７を参照して、図６のタスク制御装置の動作について具体的に説明する。以下では、図１のタスク制御装置の動作と異なる点について説明する。
【００６９】
時刻Ｔ０において、クロック発生部１２が出力するクロックを受けると、クロック計数部１４は、クロック計数値のカウントダウンを行い、その値は“０”となる。すると、クロック計数部１４は、クロック計数値を予め設定されたクロック設定値（ここでは“１００”とする）に直ちに初期化する。このとき、クロック計数部１４は、ティック計数部１６を経由して割込み発生部１８に割込み要求を通知する。この通知を受けると、割込み発生部１８は、タイマタスク管理部１３２及びタイマタスク実行部１５２に対して割込みパルスを出力して、割込みを行う。このとき、タイマタスク実行部１５２は、タイマタスク識別子ＡＴとして無効な値を保持しているので、割込みを受けても何も行わない。
【００７０】
タイマタスク管理部１３２は、割込みを受けると、最小値検索部１３６にタイマタスク管理データを検索させる。最小値検索部１３６は、起動までの時間ＲＴのうち、最も値が小さいもの（図３の場合、値“３０”）を選択し、これをティック設定部３８に出力する。また、最小値検索部１３６は、選択された起動までの時間ＲＴに対応する、タイマタスク管理データＤ１のタイマタスク識別子ＡＴ１を求め、タイマタスク実行部１５２に出力する。タイマタスク実行部１５２は、このタイマタスク識別子ＡＴ１をラッチする。
【００７１】
ティック設定部３８の動作、及び時刻Ｔ２９９９までの処理は、第１の実施形態で説明したものと同様なので省略する。
【００７２】
時刻Ｔ３０００において、ティック計数部１６から割込み要求を通知されると、割込み発生部１８は、タイマタスク管理部１３２に加えて、タイマタスク実行部１５２に対しても割込みを行う。タイマタスク管理部１３２は、割込みを受けると、タイマタスク管理データの更新を行う（タイマタスク管理データの検索は行わない）。この更新は、第１の実施形態の場合と同様である。
【００７３】
タイマタスク実行部１５２は、割込みを受けると、ラッチしているタイマタスク識別子ＡＴ１で示された実行すべきタイマタスクＴＴ１を、タスク格納部６０から読み出して実行する。
【００７４】
その後、タイマタスク管理部１３２は、最小値検索部１３６に検索を行うように指示をする。最小値検索部１３６は、タイマタスク管理データを検索し、そのうち、起動までの時間ＲＴの値が最も小さいものを選択する。ここでは、最小値検索部１３６は、タイマタスクＴＴ２についてのタイマタスク管理データＤ２が有する起動までの時間ＲＴの値“１０”を選択する。最小値検索部１３６は、この値をティック設定部３８に出力する他、タイマタスク管理データＤ２のタイマタスク識別子ＡＴ２をタイマタスク実行部１５２に出力することも行う。タイマタスク実行部１５２は、このタイマタスク識別子ＡＴ２をラッチする。
【００７５】
以下、同様の動作が行われ、タイマタスクＴＴ１が起動されてから１０ｍｓ後に、タイマタスクＴＴ２が起動される。
【００７６】
このように、図６のタイマタスク制御装置は、タイマタスク管理部がタイマタスク管理データの検索を行わないので、そのために消費される電力を削減することができる。また、タイマタスク実行部はタイマタスク識別子をラッチしているので、割込み発生部が割込み行うと、直ちにタイマタスクを実行することができる。
【００７７】
なお、第１の実施形態と同様に、ティック設定部３８は、最小値検索部３６から受け取った値を変換してから出力するようにしてもよい。
【００７８】
（第３の実施形態）
図８は、本発明の第３の実施形態に係るタスク制御装置の構成の例を示すブロック図である。図８のタスク制御装置は、タイマ信号発生部２１０と、タイマ制御部２３０と、タスク格納部６０とを備えている。タイマ信号発生部２１０は、クロック発生部２１２と、クロック計数部２１４と、割込み発生部２１８とを備えている。タイマ制御部２３０は、タイマタスク管理部２３２と、タイマタスク管理データ格納部３４と、割込み回数計数部４４と、クロック設定部４６と、タイマタスク実行部５２とを備えている。
【００７９】
タイマタスク管理データ格納部３４、タイマタスク実行部５２、及びタスク格納部６０は、図１を参照して説明したものと同様である。タイマタスク管理データ格納部３４が格納するタイマタスク管理データは、図２、図３を参照して説明したものと同様であるとする。
【００８０】
図８のタスク制御装置の動作について説明する。図８において、クロック発生部２１２は、クロックを生成して、クロック計数部２１４に出力する。クロック発生部２１２は、クロックの周波数を変化させることができるように構成されており、クロックの周波数に応じた値をクロック設定部４６に出力して、その周波数を通知する。ここでは例として、クロック発生部２１２は、周期が１０μｓであるクロックをクロック計数部２１４に出力しており、このクロックの周波数に比例した値をクロック設定部４６に出力しているとする。クロック設定部４６は、クロック発生部２１２から入力された値に応じて、クロック設定値ＣＣ１として例えば“１００”をクロック計数部２１に出力する。
【００８１】
クロック計数部２１４は、そのカウント値であるクロック計数値を、クロック設定部４６から入力されたクロック設定値ＣＣ１に初期化する点の他は、図１のクロック計数部１４と同様に動作する。すなわち、クロック計数部２１４は、クロック発生部２１２が出力するクロックのパルスを受ける毎に、クロック計数値のカウントダウンを行う。クロック計数値が“０”となると、クロック計数部２１４は、クロック計数値をクロック設定値ＣＣ１（“１００”）に初期化する。これとほぼ同時に、クロック計数部１４は、タイマクロックとしてパルスを割込み発生部２１８に出力する。このような動作を繰り返すので、クロック計数部２１４は、クロック設定値ＣＣ１とクロックの周期との積である１ｍｓを周期として有するタイマクロックを生成して、割込み発生部２１８に出力することになる。
【００８２】
割込み発生部２１８は、クロック計数部２１４からパルスを受け取ると、図示されていない他の部分から受けた割込み要求と調整の上、割込み回数計数部４４に割込みを行う。すなわち、割込み発生部２１８は、割込み回数計数部４４に対して１ｍｓ毎に割込みを行う。
【００８３】
図８のタスク制御装置が起動される時において、割込み回数計数部４４のカウント値は、予め設定された値（ここでは“０”とする）に初期化されている。割込み回数計数部４４は、割込みの回数を数えてタイマタスク管理部２３２に出力する。
【００８４】
タイマタスク管理部２３２は、割込み回数計数部４４が割込みの回数を更新する毎に、タイマタスク管理データ格納部３４が保持するタイマタスク管理データを検索し、起動までの時間ＲＴの最小値を、最も短い時間を示すものとして選択する。タイマタスク管理部２３２は、その選択した値と、割込み回数計数部４４が出力する割込みの回数との比較を行い、一致するか否かを判定する。
【００８５】
一致する場合には、タイマタスク管理部２３２は、選択した起動までの時間ＲＴの最小値に対応するタイマタスク識別子ＡＴを求め、これをタスクを識別するためのデータとしてタイマタスク実行部５２に出力して、タイマタスクを起動させる。その後、タイマタスク管理部２３２は、タイマタスク管理データの更新を第１の実施形態の場合と同様に行う。
【００８６】
ここで、クロックに基づいて動作するプロセッサ等の回路における消費電力を低減するために、クロック発生部２１２がクロックの周波数を変更した場合について説明する。
【００８７】
図９は、図８のクロック設定部４６における制御アルゴリズムを示すフローチャートである。ステップＳ１２において、クロック設定部４６は、クロック発生部２１２からの通知によってクロックの周波数を検出する。ステップＳ１４において、クロック設定部４６は、クロックの周波数が変化したか否かを判断する。周波数が変化した場合はステップＳ１６の処理を行い、周波数が変化しない場合はステップＳ１２に戻る。
【００８８】
ステップＳ１６において、クロック設定部４６は、周波数変化前のクロック周波数ＦＳ１、周波数変化後のクロック周波数ＦＳ２、及び現在のクロック設定値ＣＣ１に基づいて、新たなクロック設定値ＣＣ２を式（１）、すなわち、
ＣＣ２＝ＦＳ２／ＦＳ１×ＣＣ１  …（１）
によって求める。
【００８９】
ステップＳ１８において、クロック設定部４６は、ステップＳ１６で求められた新たなクロック設定値ＣＣ２をクロック計数部２１４に設定する。その後、ステップＳ１２に戻る。
【００９０】
クロック設定値は周波数変化後のクロック周波数に比例しているので、例えば、クロック周波数が２分の１になった場合には、クロック設定値は２分の１になる。このため、クロック設定値とクロックの周期との積は一定であり、クロック計数部２１４が出力するタイマクロックの周波数は変化しない。
【００９１】
このように、図８のタスク制御装置によると、クロック発生部２１２が出力するクロックの周波数が変更されても、クロック計数部２１４が出力するタイマクロックの周波数を一定に保つことができる。このため、クロックの周波数を低くしても、タスクを起動するタイミングに影響はない。このため、クロックの周波数を低くして、このクロックを用いる回路全体の消費電力を抑制することが容易にできる。
【００９２】
なお、クロック設定部は、周波数変化後のクロック周波数ＦＳ２と所定の値との積を新たなクロック設定値ＣＣ２として求めるようにしてもよい。
【００９３】
また、クロック設定部は、周波数変化前のクロック周波数ＦＳ１、周波数変化後のクロック周波数ＦＳ２、及び現在のクロック設定値ＣＣ１の組み合わせにクロック設定値を対応させたテーブル、又は周波数変化後のクロック周波数ＦＳ２にクロック設定値を対応させたテーブルを保持し、いずれかのテーブルを検索して、新たなクロック設定値ＣＣ２を求めるようにしてもよい。
【００９４】
また、クロック設定部は、クロック周波数に代えてクロックの周期に基づいて、新たなクロック設定値ＣＣ２を求めるようにしてもよい。
【００９５】
また、以上の実施形態において、タイマ制御部の一部又は全部を、ＣＰＵを用いてソフトウェアによって実現するようにしてもよい。
【００９６】
【発明の効果】
以上のように、本発明によると、タスクの起動処理を行う必要のある場合にのみ、割込みを発生させるようにするので、タスク制御装置の消費電力を抑制することができる。また、クロックの周波数を変更してもタスクの実行タイミングに影響を与えないようにすることができるので、クロックの周波数を低くして、クロックを用いる回路全体の消費電力を抑制することが容易にできる。
【図面の簡単な説明】
【図１】本発明の第１の実施形態に係るタスク制御装置の構成の例を示すブロック図である。
【図２】１つのタイマタスクに対応するタイマタスク管理データのデータ構造の例を示す説明図である。
【図３】図１のタイマタスク管理データ格納部が格納するタイマタスク管理データの初期状態の例を示す説明図である。
【図４】図１のタスク制御装置の動作の例を示すタイミング図である。
【図５】（ａ）は、図１のタスク制御装置において各タスクが起動されるべきタイミングの例を示す説明図である。
（ｂ）は、図１の割込み発生部が出力する割込みパルスを示すグラフである。
（ｃ）は、図１のタイマタスク管理部がタスクを起動するタイミングの例を示す説明図である。
【図６】本発明の第２の実施形態に係るタスク制御装置の構成の例を示すブロック図である。
【図７】図６のタスク制御装置の動作の例を示すタイミング図である。
【図８】本発明の第３の実施形態に係るタスク制御装置の構成の例を示すブロック図である。
【図９】図８のクロック設定部における制御アルゴリズムを示すフローチャートである。
【図１０】従来のタスク制御装置の構成の例を示すブロック図である。
【図１１】図１０のタスク制御装置の動作の例を示すタイミング図である。
【符号の説明】
１０，２１０  タイマ信号発生部
１２，２１２  クロック発生部
１４，２１４  クロック計数部
１６  ティック計数部
１８，２１８  割込み発生部
３０，１３０，２３０  タイマ制御部
３２，１３２，２３２  タイマタスク管理部
３４  タイマタスク管理データ格納部
３６，１３６  最小値検索部
３８  ティック設定部
４４  割込み回数計数部
４６  クロック設定部
５２，１５２  タイマタスク実行部
６０  タスク格納部
【図１】
2004199393.tif 000003
【図２】
2004199393.tif 000004
【図３】
2004199393.tif 000005
【図４】
2004199393.tif 000006
【図５】
2004199393.tif 000007
【図６】
2004199393.tif 000008
【図７】
2004199393.tif 000009
【図８】
2004199393.tif 000010
【図９】
2004199393.tif 000011
【図１０】
2004199393.tif 000012
【図１１】
2004199393.tif 000013