(57)【要約】【課題】簡易な構成でより迅速に各処理を実行させることができる処理実行方法、処理実行装置及びコンピュータプログラムを提供する。【解決手段】コンピュータ装置のＣＰＵは、タスク実行に要する処理時間及びタスクに待ちが含まれる場合の待ち時間をタスクテーブルに記憶しておき、タスクを実行する際はタスクテーブルを参照し（Ｓ４１）、実行中のタスクの待ち時間を読み出し（Ｓ４２）、待ち時間以下の処理時間を要するタスクを抽出し（Ｓ４３）、抽出したタスクの処理時間が待ち時間よりも短いと判断される場合（Ｓ４５：ＹＥＳ）、選択したタスクを実行する（Ｓ４６）。【選択図】図６
2008293130.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータ装置にて複数の処理を実行する処理実行方法において、
各処理夫々に要する処理時間、及び各処理に待ちが含まれる場合の待ち時間を各処理に対応付けて記憶しておき、
待ちが含まれる一の処理を実行するに際し、
前記一の処理に対応付けて記憶してある待ち時間を読み出し、
読み出した待ち時間以下の処理時間を要する処理を抽出し、
抽出した処理を前記待ちの間に実行する
ことを特徴とする処理実行方法。
【請求項２】
各処理に対応する試行処理を予め実行して夫々の処理時間及び待ち時間を計測し、
計測した処理時間及び待ち時間を記憶する
ことを特徴とする請求項１に記載の処理実行方法。
【請求項３】
各処理を実行した場合に要した処理時間及び待ち時間を複数回計測し、
該複数回計測した計測値に基づく平均値又は中間値を記憶する
ことを特徴とする請求項１又は２に記載の処理実行方法。
【請求項４】
前記処理の抽出は、処理時間が短い順に抽出する
ことを特徴とする請求項１乃至３のいずれかに記載の処理実行方法。
【請求項５】
複数の処理を実行する処理実行装置において、
各処理夫々に要する処理時間、及び各処理に待ちが含まれる場合の待ち時間を各処理に対応付けて記憶する記憶手段と、
待ちが含まれる一の処理を実行するに際し、
前記一の処理に対応付けて記憶してある待ち時間を読み出す手段と、
処理時間が対応付けて記憶してある処理から、読み出した待ち時間以下の処理時間を要する処理を抽出する手段と、
抽出した処理を前記待ちの間に実行する手段と
を備えることを特徴とする処理実行装置。
【請求項６】
各処理に対応する試行処理を予め実行して夫々の処理時間及び待ち時間を計測する計測手段を備え、
前記記憶手段は、計測した処理時間及び待ち時間を記憶するようにしてあること
を特徴とする請求項５に記載の処理実行装置。
【請求項７】
コンピュータにて複数の処理を実行させるコンピュータプログラムにおいて、
コンピュータに、
待ちが含まれる一の処理を実行させるに際し、
各処理に対応付けて記憶してある、各処理夫々に要する処理時間及び各処理に待ちが含まれる場合の待ち時間に基づいて前記一の処理の待ち時間以下の処理時間を要する処理を抽出するステップ、及び、
抽出した処理を前記待ちの間に実施するステップ
を実行させることを特徴とするコンピュータプログラム。
【請求項８】
コンピュータに、
各処理に対応する試行処理を予め実行することにより夫々の処理時間及び待ち時間を計測するステップ、及び、
計測した処理時間及び待ち時間を記憶するステップ
を実行させることを特徴とする請求項７に記載のコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータ装置にて各種の処理を実行する処理実行方法に関し、特に、簡易な構成でより迅速に各処理を実行させることができる処理実行方法、処理実行装置及びコンピュータプログラムに関する。
【背景技術】
【０００２】
コンピュータ技術の進歩によりコンピュータが複雑な処理を迅速に実行することが求められる近年では、１つのＣＰＵで複数の処理を同時に実行することができるマルチタスクシステム、又は複数の処理を起動させておき各処理に対応するＣＰＵの占有を切り替える等の割り込み処理等の処理方法が普及している。
【０００３】
さらに、ハードウェアについてもマルチタスクシステムで動作するように最適化されたＣＰＵが開発される等、ソフトウェア及びハードウェア両面で大量のデータを迅速に処理できるように高性能化に向けた開発が行なわれている。
【０００４】
特許文献１には、割り込み処理の即応性を高めるために、次に実行させる処理の状態を実行可能状態に遷移させてから割り込みを実行することにより、切り替え制御に要する時間を短縮することができる処理の切り替え方法が開示されている。
【特許文献１】特開２００１−３２３８４０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
汎用に用いられるコンピュータ装置では、比較的安価に入手可能になった高性能のハードウェアを用いて処理を迅速化させている一方で、コンピュータによって制御されるものの用途が特化されて且つ小型化・軽量化が厳しく要求されるコンピュータ装置がある。このようなコンピュータ装置では、マルチタスクシステムに対応したＣＰＵ、かつ大量のデータを処理するための大容量のメモリ等、高性能で複雑な処理を伴なうハードウェアを使用せず、物理的にも手順についても最小で簡素な構成により処理が実行されることが求められる。
【０００６】
特許文献１に開示されている技術では、切り替えによって中断される処理の情報を退避させる記憶領域（レジスタ）が必要になり、コンピュータ装置が記憶容量も最小に設計されることが求められている場合、これに反する。さらに、割り込み処理、レジスタへの情報の退避処理等、処理の切り替え自体に時間を要する。
【０００７】
本発明は斯かる事情に鑑みてなされたものであり、複数の処理を起動させた上で切り替えをできる限り行なわず、一の処理に外部装置からの信号入力待ち等の待ちが含まれる場合、その待ち時間中に処理が完了する他の処理を実行する構成により、簡素な構成で効率的に各処理を実行させることができ、結果的に処理を迅速に実行させることができる処理実行方法、処理実行装置及びコンピュータプログラムを提供することを目的とする。
【０００８】
本発明の他の目的は、各処理に要する処理時間及び待ち時間として実測に基づいた値を使用する構成により、簡素な構成で効率的に各処理を実行させることができる処理実行方法、処理実行装置及びコンピュータプログラムを提供することにある。
【０００９】
本発明の他の目的は、各処理に要する処理時間及び待ち時間を実測する場合、複数回計測した値の平均値又は中間値を採用する構成により、簡素な構成で待ち時間に最適な処理時間を要する処理を実行し、効率的に各処理を実行させることができる処理実行方法を提供することにある。
【００１０】
本発明の他の目的は、待ち時間以下の処理時間を要する処理を待ち時間中に実行するに際し、処理時間が短い処理を優先的に実行する構成により、簡素な構成でより効率的に各処理を実行させることができる処理実行方法を提供することにある。
【課題を解決するための手段】
【００１１】
第１発明に係る処理実行方法は、コンピュータ装置にて複数の処理を実行する処理実行方法において、各処理夫々に要する処理時間、及び各処理に待ちが含まれる場合の待ち時間を各処理に対応付けて記憶しておき、待ちが含まれる一の処理を実行するに際し、前記一の処理に対応付けて記憶してある待ち時間を読み出し、読み出した待ち時間以下の処理時間を要する処理を抽出し、抽出した処理を前記待ちの間に実行することを特徴とする。
【００１２】
第２発明に係る処理実行方法は、各処理に対応する試行処理を予め実行して夫々の処理時間及び待ち時間を計測し、計測した処理時間及び待ち時間を記憶することを特徴とする。
【００１３】
第３発明に係る処理実行方法は、各処理を実行した場合に要した処理時間及び待ち時間を複数回計測し、該複数回計測した計測値に基づく平均値又は中間値を記憶することを特徴とする。
【００１４】
第４発明に係る処理実行方法は、前記処理の抽出は、処理時間が短い順に抽出することを特徴とする。
【００１５】
第５発明に係る処理実行装置は、複数の処理を実行する処理実行装置において、各処理夫々に要する処理時間、及び各処理に待ちが含まれる場合の待ち時間を各処理に対応付けて記憶する記憶手段と、待ちが含まれる一の処理を実行するに際し、前記一の処理に対応付けて記憶してある待ち時間を読み出す手段と、処理時間が対応付けて記憶してある処理から、読み出した待ち時間以下の処理時間を要する処理を抽出する手段と、抽出した処理を前記待ちの間に実行する手段とを備えることを特徴とする。
【００１６】
第６発明に係る処理実行装置は、各処理に対応する試行処理を予め実行して夫々の処理時間及び待ち時間を計測する計測手段を備え、前記記憶手段は、計測した処理時間及び待ち時間を記憶するようにしてあることを特徴とする。
【００１７】
第７発明に係るコンピュータプログラムは、コンピュータにて複数の処理を実行させるコンピュータプログラムにおいて、コンピュータに、待ちが含まれる一の処理を実行させるに際し、各処理に対応付けて記憶してある、各処理夫々に要する処理時間及び各処理に待ちが含まれる場合の待ち時間に基づいて前記一の処理の待ち時間以下の処理時間を要する処理を抽出するステップ、及び、抽出した処理を前記待ちの間に実施するステップを実行させることを特徴とする。
【００１８】
第８発明に係るコンピュータプログラムは、コンピュータに、各処理に対応する試行処理を予め実行することにより夫々の処理時間及び待ち時間を計測するステップ、及び、計測した処理時間及び待ち時間を記憶するステップを実行させることを特徴とする。
【００１９】
第１発明、第５発明及び第７発明では、コンピュータ装置で複数の処理の内、待ちが含まれる一の処理が実行されるに際し、当該一の処理以外の各処理夫々について記憶してある処理時間に基づき、処理時間が待ち時間以下である処理が抽出される。抽出された処理は一の処理の内部処理として実行されて待ち時間中に終了する。これにより処理の切り替えを要しない。さらに、処理の切り替えの際に中断された処理の情報をレジスタに退避させる必要もない。
【００２０】
第２発明、第６発明及び第８発明では、第１発明、第５発明及び第７発明で記憶されてある各処理の処理時間及び待ち時間は、各処理に対応する試行処理が予め実行されることにより計測され、各処理を実行する際に計測された値が使用される。
【００２１】
第３発明では、第１又は第２発明で参照される処理時間及び待ち時間は、各処理が実際に実行される際に複数回計測され、複数回計測された計測値に基づく平均値又は中間値が前記処理時間及び待ち時間として記憶される。なお、試行処理が予め実行されて計測された処理時間及び待ち時間が平均値又は中間値の算出に使用されてもよい。
【００２２】
第４発明では、第１乃至第３発明で待ち時間以下の処理時間を要する処理を抽出されるに際し、処理時間が短い順に優先的に処理が抽出される。
【発明の効果】
【００２３】
本発明による場合、一の処理の待ち時間中に完了する他の処理が一の処理の内部処理として実行されるので切り替えを要しない。これにより、処理を効率的に実行することができ、切り替え等でオーバーヘッドとなる時間を要しないことから、迅速に各処理を実行させることができる。したがって、コンピュータ装置が入力されるアナログ信号からＡＤ変換器を介してＡＤ変換値を取得する制御を行うために、実行される処理にＡＤ変換待ちが含まれる場合、当該待ち時間を利用し効率的に複数の処理を実行することができる。待ち時間中に完了する処理を実行することにより、複数の処理を起動して切り替えを行なう処理を行なわずに効率的に処理を実行させることができる。これにより、必要最小限の処理を行なうように簡素な構成で特定の用途のために設計される安価なマイコンを実現することができる。
【００２４】
本発明による場合、各処理に要する処理時間及び待ち時間として試行処理を実行することで計測した値が使用されるので、各処理を実測に基づき効率的に実行することができ、無駄な時間を要しないことから迅速に各処理を実行させることができる。
【００２５】
本発明による場合、処理時間及び待ち時間として、実際に実行した際に計測した値の平均値又は中間値が採用されて記憶され、その後の処理に使用される。したがって、待ちを含む一の処理を実行するに際し、待ち時間に最適な処理時間を要する処理を抽出することができ、より効率的に迅速に各処理を実行させることができる。
【００２６】
本発明による場合、処理時間が短い処理が優先的に実行されるので、効率的に処理を実行させることができる。
【発明を実施するための最良の形態】
【００２７】
以下、本発明をその実施の形態を示す図面に基づいて具体的に説明する。なお、本実施の形態では、車輌に設置されて夫々各種制御を実行するＥＣＵ（Electronic Control Unit）に備えられるＣＰＵが、本発明の処理実行方法に基づいて処理を実行する場合を例に説明する。
【００２８】
図１は、本発明の処理実行方法に基づいて動作するＥＣＵの構成例を示すブロック図である。ＥＣＵ１は、センサ２及び制御対象のアクチュエータ３に接続されている。なお、本実施の形態におけるＥＣＵ１は、車輌のヘッドライトのオン／オフ及びドアロックの開／閉等のボディ系を制御する。
【００２９】
ＥＣＵ１は、ＥＣＵ１の動作を制御するマイコン１０と、ＥＣＵ１に接続しているアクチュエータ３の駆動を実現するポート制御回路１４と、ＥＣＵ１に接続しているセンサ２及びアクチュエータ３から入力されるアナログ信号をマイコン１０で検知可能なデジタル信号へＡＤ変換を行なうＡＤ変換器１５とを備えている。
【００３０】
マイコン１０には、後述する制御プログラム１Ｐに基づいて動作の制御を実行するＣＰＵ１１と、制御プログラム１Ｐが記憶されている不揮発性のメモリであるＲＯＭ１２と、ＣＰＵ１１の処理で発生する各種情報を一時的に記憶するメモリであるＲＡＭ１３とが含まれている。
【００３１】
ＣＰＵ１１は、図示しないバッテリー、オルタネータ等の電力供給装置から電力の供給を受けて電源オン状態になった場合、ＲＯＭ１２から制御プログラム１ＰをＲＡＭ１３に読み出し、各タスクに対応する関数をＲＡＭ１３に展開し、各タスクを実行する場合はＲＡＭ１３上のアドレスにアクセスして演算を行なう。
【００３２】
ＲＯＭ１２は、ＥＥＰＲＯＭ等書き換え可能な不揮発性メモリでもよい。マイコン１０が製造される際にＲＯＭ１２に制御プログラム１Ｐが書き込まれ、上述のようにＣＰＵ１１に読み出される。ＲＯＭ１２をＥＥＰＲＯＭで構成する場合、制御プログラム１Ｐを後に更新することが可能である。
【００３３】
ポート制御回路１４は、アクチュエータ３等の外部装置とマイコン１０との間の信号の送受信を仲介する回路である。マイコン１０は、ポート制御回路１４を介してアクチュエータ３の駆動、制御を行なう。
【００３４】
ＡＤ変換器１５は、センサ２から入力される信号及びアクチュエータ３の制御電圧のチェック等を行うために、アナログ信号に基づいてデジタル信号を出力する。ＡＤ変換器１５はＣＰＵ１１から入力される変換開始トリガを検知することにより、指定されたチャンネルに入力されているアナログ信号に基づくＡＤ変換値を出力する。ＡＤ変換器１５では、ＣＰＵ１１から変換開始トリガが入力されたことを検知してからＡＤ変換値を出力するまでに所定時間を要する。
【００３５】
上述のように構成されるＥＣＵ１において、ＣＰＵ１１がＲＯＭ１２に記憶されている制御プログラム１Ｐに基づいて複数の処理を実行する手順について説明する。ＣＰＵ１１はＥＣＵ１へ電力が供給され電源オン状態となった場合、ＲＯＭ１２から制御プログラム１ＰをＲＡＭ１３に読み出して各タスクを実行する。ＣＰＵ１１は、各タスクを実行する前にまず各タスクに要する処理時間の計測処理を行なう。
【００３６】
図２は、本実施の形態におけるＥＣＵ１のＣＰＵ１１が電源オン状態で実行する処理手順を示すフローチャートである。ＣＰＵ１１は、ＲＯＭ１２から制御プログラム１ＰをＲＡＭ１３に読み出し（ステップＳ１１）、各タスクに要する処理時間の計測処理を実行する（ステップＳ１２）。ステップＳ１２の処理時間の計測処理については後述にて詳細を説明する。次にＣＰＵ１１は、各タスクを実際に実行し（ステップＳ１３）、処理を終了する。
【００３７】
図３は、本実施の形態におけるＥＣＵ１のＣＰＵ１１が各タスクに要する処理時間を計測する処理手順を示すフローチャートである。なお、図３のフローチャートに示す処理手順は、図２のフローチャートに示したステップＳ１２の処理に対応する。
【００３８】
ＣＰＵ１１は、ＲＡＭ１３に読み出されて展開されているプログラムに基づいて各タスクの内の一を生成する（ステップＳ２１）。生成したタスクについて、タスク実行に要する処理時間の計測を開始し（ステップＳ２２）、生成したタスクを起動する（ステップＳ２３）。ＣＰＵ１１は、起動したタスクに待ちが含まれており、待ち状態になった場合はその待ち時間を計測する（ステップＳ２４）。なお、生成したタスクに待ちが含まれていない場合は、ステップＳ２４は実行されないか、又は待ち時間はゼロと計測される。
【００３９】
ＣＰＵ１１は、タスクが終了したか否かを判断し（ステップＳ２５）、タスクが終了していないと判断した場合（Ｓ２５：ＮＯ）は処理をステップＳ２５へ戻して終了したと判断するまで待機する。ＣＰＵ１１は、タスクが終了したと判断した場合（Ｓ２５：ＹＥＳ）、処理時間の計測を終了し（ステップＳ２６）、計測した処理時間及び待ち時間をＲＡＭ１３に一時的に記憶する（ステップＳ２７）。
【００４０】
ＣＰＵ１１は、ＲＡＭ１３に展開されている全タスクについて処理時間及び待ちが含まれる場合の待ち時間を計測したか否かを判断する（ステップＳ２８）。ＣＰＵ１１は、全タスクについて計測していないと判断した場合（Ｓ２８：ＮＯ）、処理をステップＳ２１へ戻して次の一のタスクを生成し（Ｓ２１）、以降の処理を継続する。
【００４１】
ＣＰＵ１１は、全タスクについて計測したと判断した場合（Ｓ２８：ＹＥＳ）、ＲＡＭ１３に一時的に記憶してある各タスクの処理時間及び待ち時間を各タスクに対応付けて記憶することによりタスクテーブルを作成し（ステップＳ２９）、処理時間の計測処理を終了する。
【００４２】
なお、図３のフローチャートに示した処理手順の内のステップＳ２３で起動したタスクはダミーのタスクであり、タスク内に含まれる制御対象のアクチュエータ３へは実際に負荷をかけることはせず、他の処理内容については実際に実行されるタスクと同様に構成されている。ダミーのタスク内の待ち状態では、実際にＡＤ変換器１５によるＡＤ変換待ち等が実行される。
【００４３】
図４は、本実施の形態におけるＥＣＵ１のＣＰＵ１１が処理時間及び待ち時間の計測を実行することにより作成されるタスクテーブルの内容例を示す説明図である。図４（ａ）は、待ちを含まないタスクを記憶したテーブルであり、図４（ｂ）は、タスクが待ちを含む場合の待ち時間を記憶したテーブルである。
【００４４】
図４（ａ）には、タスクの処理時間と、タスクを生成して起動する場合に読み出すアドレスと、タスクが既に実行済みであるか否かを示す実行済みフラグとが記憶されている。図４（ａ）の内容例では、Ｔｂマイクロ秒の処理時間を要するタスクＢとＴｃマイクロ秒の処理時間を要するタスクＣとが記憶されており、タスクＢもタスクＣもまだ実行されていない（「０」：実行未済）ことが表わされている。待ちを含まないタスクのみをテーブルとして記憶するのは、後述するようにタスクを実行して待ち状態になった場合に、起動させることができるタスクを特定することができるようにするためである。待ち状態になった場合に更に待ちが含まれるタスクが実行されると、待ちの対象が同一のハードウェア資源を使用する場合など、待ち状態が終了しなくなる等の問題が発生することも考えられるので、起動させることができるタスクからは除外される。
【００４５】
なお、ＥＣＵ１のＣＰＵ１１は、一部又は全部のタスクを所定の周期にしたがって実施する。ＣＰＵ１１は、周期が到来する都度、周期的に実行すべきタスクを少なくとも１回実行する。ＣＰＵ１１は、タスクテーブルに記憶されているタスクについて、周期内で１回実行した場合は実行済みフラグを「０」（：実行未済）から「１」（：実行済）へ更新し、周期の開始時点でタスクテーブルの実行済みフラグを全て「０」に更新する。これにより、一周期で各タスクを１回ずつ実行させることができる。
【００４６】
さらに、図４（ａ）に示したような待ちを含まないタスクを記憶したテーブルでは、タスクのリストは処理時間が短い順にソートされていることが望ましい。他のタスクにおいて待ち状態になった際、効率的に他のタスクを実行するために処理時間の短い順にタスクを実行しようとする場合、処理時間の短い順にタスクがソートされていることにより、いずれのタスクの処理時間が一番短いかを判断する処理が不要になるからである。
【００４７】
図４（ｂ）には、タスクを識別するための情報（関数名等）と、待ち時間と、実行済みフラグとが記憶されている。図４（ｂ）の内容例では、タスクＡにはＷＴａマイクロ秒の待ち時間を要する待ちが含まれ、タスクＤにはＷＴｄマイクロ秒の待ち時間を要する待ちが含まれていることが表わされている。図４（ｂ）の内容例に示すように計測の結果、待ち時間がゼロでないタスクをテーブルに記憶しておくことにより、タスクを起動して待ち状態になった際、ＣＰＵ１１はこのテーブルを読み出して他のタスクを実行する猶予時間を認識することができる。
【００４８】
なお、一のタスクに複数の待ちが含まれる場合、夫々の待ち時間と、タスク中の待ち状態になることに対応するステップ名、ステップの展開先のアドレス等の識別情報とを記憶しておき、ＣＰＵ１１が当該ステップを実行する際に待ち時間を認識できることができるようにしておく構成でもよい。
【００４９】
次に、図２のフローチャートに示したステップＳ１３において実行される各タスクについて、ヘッドライトの断線検知のタスクを例に説明する。ヘッドライトの制御では、安全性の確保の問題から、ヘッドライト点灯スイッチを含む回路が断線しているか否かを判断し、断線していることが検知された場合はバックアップ回路を起動する。ヘッドライトの断線検知のタスクは一定周期で行われる。なお、当該断線検知のタスクは、ヘッドライト点灯スイッチを含む回路に流れている電流値を測定するためＡＤ変換器１５によるＡＤ変換処理を行なうので、待ちを含む。この断線検知のタスクをタスクＡと呼び、タスクＡを実行する際のＣＰＵ１１の制御について以下に説明する。
【００５０】
図５は、本実施の形態におけるＥＣＵ１のＣＰＵ１１がタスクＡを実際に実行する際の処理手順を示すフローチャートである。
【００５１】
タスクＡにおいてＣＰＵ１１は、ライトスイッチの入力を判定し（ステップＳ３１）、スイッチにより正常にヘッドライトを点灯できるか否かを判定する。またＣＰＵ１１は、ライト駆動の可否を判定する（ステップＳ３２）。次にＣＰＵ１１は、ライトアクチュエータを駆動し（ステップＳ３３）、ライトアクチュエータにおける断線検知用のＡＤ変換を開始する（ステップＳ３４）。
【００５２】
本発明の場合ＣＰＵ１１は、ＡＤ変換処理には一定の待ち時間を要することからその待ち時間中に他のタスクを実行する。そこで、ＣＰＵ１１はＡＤ変換が終了したか否かを判断し（ステップＳ３５）、ＡＤ変換が終了していないと判断した場合（Ｓ３５：ＮＯ）、ＡＤ変換待ち処理を実行し（ステップＳ３６）、処理をステップＳ３５へ戻してＡＤ変換が終了したか否かを再度判断する（Ｓ３５）。
【００５３】
ＣＰＵ１１は、ＡＤ変換が終了したと判断した場合（Ｓ３５：ＹＥＳ）、ＡＤ変換器１５から入力されるＡＤ変換値に基づいて断線しているか否かを判定し（ステップＳ３７）、処理を終了する。
【００５４】
図６は、本実施の形態におけるＥＣＵ１のＣＰＵ１１がタスクに待ちが含まれている場合、待ち時間中に他のタスクを実行する際の処理手順を示すフローチャートである。図６のフローチャートに示す処理手順は、図５のフローチャートに示した処理手順の内のステップＳ３６の処理に対応する。
【００５５】
ＣＰＵ１１は、実行中のタスク（ここではタスクＡ）についてタスクテーブルを参照し（ステップＳ４１）、タスクＡの待ち時間を読み出す（ステップＳ４２）。ＣＰＵ１１は、読み出した待ち時間以下の処理時間を要するタスクをタスクテーブルから抽出し（ステップＳ４３）、抽出したタスクの内から処理時間が短い順に選択する（ステップＳ４４）。
【００５６】
ＣＰＵ１１は、選択したタスクの処理時間がタスクＡの待ち時間以下であるか否か（待ち時間≧処理時間）を判断し（ステップＳ４５）、処理時間が待ち時間以下であると判断した場合（Ｓ４５：ＹＥＳ）、選択したタスクを実行し（ステップＳ４６）、ステップＳ４４へ処理を戻して次に処理時間が短いタスクを選択する（Ｓ４４）。なお、このときＣＰＵ１１は、ステップＳ４６で実行したタスクの実行済みフラグを「１」に更新し、タスクＡの待ち時間を実時間に経過に応じて減少させる。
【００５７】
ＣＰＵ１１は、選択したタスクの処理時間がタスクＡの待ち時間よりも長いと判断した場合（Ｓ４５：ＮＯ）、待ち時間中に完了させることができないので、ＣＰＵ１１はＡＤ変換待ち処理を終了し、処理を図５のフローチャートに示したステップＳ３５へ戻す。
【００５８】
図６のフローチャートに示した処理手順では、実行中の待ち時間を読み出し（Ｓ４２）、待ち時間以下の処理時間を要するタスクを全て抽出してから（Ｓ４３）、タスクを選択し（Ｓ４４）、処理時間が残りの待ち時間以下である場合に（Ｓ４５：ＹＥＳ）タスクを実行した（Ｓ４６）。しかしながら、本発明はこれに限らず、待ち時間を読み出して（Ｓ４２）、実時間の経過を計測しつつ、待ち時間以下の処理時間を要するタスクのタスクテーブルの上位からの選択及びタスクの実行を繰り返す構成でもよい。
【００５９】
図７は、本実施の形態におけるＥＣＵ１のＣＰＵ１１が、待ちが含まれているタスクの待ち時間中に実行する他のタスクの処理手順の例を示すフローチャートである。図７のフローチャートに示す処理手順は、図６のフローチャートに示した処理手順の内のステップＳ４６に対応する。ＥＣＵ１のＣＰＵ１１は、図４（ａ）の説明図に示したようなタスクテーブルを参照し（Ｓ４１）、タスクテーブルに基づいてタスクＡの待ち時間ＷＴａよりも処理時間が短いタスクＢを選択し（Ｓ４４）、ステップＳ４６として以下の処理を行なう。なお、タスクＢは、ドアロック信号によりドアロックモータを駆動するタスクである。
【００６０】
ＣＰＵ１１は、ドアロックスイッチの入力を判定し（ステップＳ５１）、ドアロック駆動の可否を判定し（ステップＳ５２）、ドアロックアクチュエータを駆動し（ステップＳ５３）、タスクＢの処理を終了し、図６のフローチャートに示したステップＳ４４へ処理を戻す。
【００６１】
このような制御により、ＥＣＵ１のＣＰＵ１１は、ＡＤ変換待ち、外部装置からの入力信号待ち等、タスクに含まれる待ち時間中に他のタスクを内部処理として実行し、完了させることができる。これにより待ち時間を利用して効率的に各タスクを実行することができる。各タスクの切り替えを要しないので、切り替え処理自体の時間が不要であり、各タスクを迅速に無駄なく実行させることができる。
【００６２】
また本発明による場合、ダミーではあるが、各タスクを実際に実行して処理時間及び待ち時間を計測するので、より実測に基づき効率的にタスクを組み合わせて実行することができる。
【００６３】
なお、本実施の形態では、図２及び図３のフローチャートに示したように、各タスクに要する処理時間及びタスクに待ちが含まれる場合の待ち時間を計測する処理を行なった。しかしながら、本発明はこれに限らず、各タスクの処理時間及び待ち時間については事前に装置毎に設定してありＲＯＭ１２に記憶されている値を使用する構成でもよい。また、初回の処理時間及び待ち時間については事前に設定してある値を使用し、各処理を実際に実行しながら、処理に要する処理時間及び待ちに要する待ち時間を計測し、フィードバックする構成でもよい。また、本実施の形態のように初回は各処理を実行する前に処理時間及び待ち時間を計測し、その後各処理を実際に負荷をかけて実行しながら処理時間及び待ち時間を計測し、フィードバックする構成でもよい。
【００６４】
なお、本実施の形態では車輌に配置されて所定の処理を実行するボディ系制御用のＥＣＵ１のＣＰＵ１１に実行させる制御プログラム１Ｐに本発明を適用した。勿論、本発明はこれに限らず、制御プログラム１Ｐに基づく処理を行なう各種コンピュータ装置に適用することが可能である。特に、本実施の形態で適用した車輌に簡素な構成で使用目的が特化されており、小型化・軽量化が厳しく求められているような装置で効果を奏する。
【図面の簡単な説明】
【００６５】
【図１】本発明の処理実行方法に基づいて動作するＥＣＵの構成例を示すブロック図である。
【図２】本実施の形態におけるＥＣＵのＣＰＵが電源オン状態で実行する処理手順を示すフローチャートである。
【図３】本実施の形態におけるＥＣＵのＣＰＵが各タスクに要する処理時間を計測する処理手順を示すフローチャートである。
【図４】本実施の形態におけるＥＣＵのＣＰＵが処理時間及び待ち時間の計測を実行することにより作成されるタスクテーブルの内容例を示す説明図である。
【図５】本実施の形態におけるＥＣＵのＣＰＵがタスクＡを実際に実行する際の処理手順を示すフローチャートである。
【図６】本実施の形態におけるＥＣＵのＣＰＵがタスクに待ちが含まれている場合、待ち時間中に他のタスクを実行する際の処理手順を示すフローチャートである。
【図７】本実施の形態におけるＥＣＵのＣＰＵが、待ちが含まれているタスクの待ち時間中に実行する他のタスクの処理手順の例を示すフローチャートである。
【符号の説明】
【００６６】
１  ＥＣＵ
１０  マイコン
１１  ＣＰＵ
１Ｐ  制御プログラム
【図１】
2008293130.tif 000003
【図２】
2008293130.tif 000004
【図３】
2008293130.tif 000005
【図４】
2008293130.tif 000006
【図５】
2008293130.tif 000007
【図６】
2008293130.tif 000008
【図７】
2008293130.tif 000009