説明

処理実行方法、処理実行装置及びコンピュータプログラム

【課題】簡易な構成でより迅速に各処理を実行させることができる処理実行方法、処理実行装置及びコンピュータプログラムを提供する。
【解決手段】コンピュータ装置のCPUは、タスク実行に要する処理時間及びタスクに待ちが含まれる場合の待ち時間をタスクテーブルに記憶しておき、タスクを実行する際はタスクテーブルを参照し(S41)、実行中のタスクの待ち時間を読み出し(S42)、待ち時間以下の処理時間を要するタスクを抽出し(S43)、抽出したタスクの処理時間が待ち時間よりも短いと判断される場合(S45:YES)、選択したタスクを実行する(S46)。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、コンピュータ装置にて各種の処理を実行する処理実行方法に関し、特に、簡易な構成でより迅速に各処理を実行させることができる処理実行方法、処理実行装置及びコンピュータプログラムに関する。
【背景技術】
【0002】
コンピュータ技術の進歩によりコンピュータが複雑な処理を迅速に実行することが求められる近年では、1つのCPUで複数の処理を同時に実行することができるマルチタスクシステム、又は複数の処理を起動させておき各処理に対応するCPUの占有を切り替える等の割り込み処理等の処理方法が普及している。
【0003】
さらに、ハードウェアについてもマルチタスクシステムで動作するように最適化されたCPUが開発される等、ソフトウェア及びハードウェア両面で大量のデータを迅速に処理できるように高性能化に向けた開発が行なわれている。
【0004】
特許文献1には、割り込み処理の即応性を高めるために、次に実行させる処理の状態を実行可能状態に遷移させてから割り込みを実行することにより、切り替え制御に要する時間を短縮することができる処理の切り替え方法が開示されている。
【特許文献1】特開2001−323840号公報
【発明の開示】
【発明が解決しようとする課題】
【0005】
汎用に用いられるコンピュータ装置では、比較的安価に入手可能になった高性能のハードウェアを用いて処理を迅速化させている一方で、コンピュータによって制御されるものの用途が特化されて且つ小型化・軽量化が厳しく要求されるコンピュータ装置がある。このようなコンピュータ装置では、マルチタスクシステムに対応したCPU、かつ大量のデータを処理するための大容量のメモリ等、高性能で複雑な処理を伴なうハードウェアを使用せず、物理的にも手順についても最小で簡素な構成により処理が実行されることが求められる。
【0006】
特許文献1に開示されている技術では、切り替えによって中断される処理の情報を退避させる記憶領域(レジスタ)が必要になり、コンピュータ装置が記憶容量も最小に設計されることが求められている場合、これに反する。さらに、割り込み処理、レジスタへの情報の退避処理等、処理の切り替え自体に時間を要する。
【0007】
本発明は斯かる事情に鑑みてなされたものであり、複数の処理を起動させた上で切り替えをできる限り行なわず、一の処理に外部装置からの信号入力待ち等の待ちが含まれる場合、その待ち時間中に処理が完了する他の処理を実行する構成により、簡素な構成で効率的に各処理を実行させることができ、結果的に処理を迅速に実行させることができる処理実行方法、処理実行装置及びコンピュータプログラムを提供することを目的とする。
【0008】
本発明の他の目的は、各処理に要する処理時間及び待ち時間として実測に基づいた値を使用する構成により、簡素な構成で効率的に各処理を実行させることができる処理実行方法、処理実行装置及びコンピュータプログラムを提供することにある。
【0009】
本発明の他の目的は、各処理に要する処理時間及び待ち時間を実測する場合、複数回計測した値の平均値又は中間値を採用する構成により、簡素な構成で待ち時間に最適な処理時間を要する処理を実行し、効率的に各処理を実行させることができる処理実行方法を提供することにある。
【0010】
本発明の他の目的は、待ち時間以下の処理時間を要する処理を待ち時間中に実行するに際し、処理時間が短い処理を優先的に実行する構成により、簡素な構成でより効率的に各処理を実行させることができる処理実行方法を提供することにある。
【課題を解決するための手段】
【0011】
第1発明に係る処理実行方法は、コンピュータ装置にて複数の処理を実行する処理実行方法において、各処理夫々に要する処理時間、及び各処理に待ちが含まれる場合の待ち時間を各処理に対応付けて記憶しておき、待ちが含まれる一の処理を実行するに際し、前記一の処理に対応付けて記憶してある待ち時間を読み出し、読み出した待ち時間以下の処理時間を要する処理を抽出し、抽出した処理を前記待ちの間に実行することを特徴とする。
【0012】
第2発明に係る処理実行方法は、各処理に対応する試行処理を予め実行して夫々の処理時間及び待ち時間を計測し、計測した処理時間及び待ち時間を記憶することを特徴とする。
【0013】
第3発明に係る処理実行方法は、各処理を実行した場合に要した処理時間及び待ち時間を複数回計測し、該複数回計測した計測値に基づく平均値又は中間値を記憶することを特徴とする。
【0014】
第4発明に係る処理実行方法は、前記処理の抽出は、処理時間が短い順に抽出することを特徴とする。
【0015】
第5発明に係る処理実行装置は、複数の処理を実行する処理実行装置において、各処理夫々に要する処理時間、及び各処理に待ちが含まれる場合の待ち時間を各処理に対応付けて記憶する記憶手段と、待ちが含まれる一の処理を実行するに際し、前記一の処理に対応付けて記憶してある待ち時間を読み出す手段と、処理時間が対応付けて記憶してある処理から、読み出した待ち時間以下の処理時間を要する処理を抽出する手段と、抽出した処理を前記待ちの間に実行する手段とを備えることを特徴とする。
【0016】
第6発明に係る処理実行装置は、各処理に対応する試行処理を予め実行して夫々の処理時間及び待ち時間を計測する計測手段を備え、前記記憶手段は、計測した処理時間及び待ち時間を記憶するようにしてあることを特徴とする。
【0017】
第7発明に係るコンピュータプログラムは、コンピュータにて複数の処理を実行させるコンピュータプログラムにおいて、コンピュータに、待ちが含まれる一の処理を実行させるに際し、各処理に対応付けて記憶してある、各処理夫々に要する処理時間及び各処理に待ちが含まれる場合の待ち時間に基づいて前記一の処理の待ち時間以下の処理時間を要する処理を抽出するステップ、及び、抽出した処理を前記待ちの間に実施するステップを実行させることを特徴とする。
【0018】
第8発明に係るコンピュータプログラムは、コンピュータに、各処理に対応する試行処理を予め実行することにより夫々の処理時間及び待ち時間を計測するステップ、及び、計測した処理時間及び待ち時間を記憶するステップを実行させることを特徴とする。
【0019】
第1発明、第5発明及び第7発明では、コンピュータ装置で複数の処理の内、待ちが含まれる一の処理が実行されるに際し、当該一の処理以外の各処理夫々について記憶してある処理時間に基づき、処理時間が待ち時間以下である処理が抽出される。抽出された処理は一の処理の内部処理として実行されて待ち時間中に終了する。これにより処理の切り替えを要しない。さらに、処理の切り替えの際に中断された処理の情報をレジスタに退避させる必要もない。
【0020】
第2発明、第6発明及び第8発明では、第1発明、第5発明及び第7発明で記憶されてある各処理の処理時間及び待ち時間は、各処理に対応する試行処理が予め実行されることにより計測され、各処理を実行する際に計測された値が使用される。
【0021】
第3発明では、第1又は第2発明で参照される処理時間及び待ち時間は、各処理が実際に実行される際に複数回計測され、複数回計測された計測値に基づく平均値又は中間値が前記処理時間及び待ち時間として記憶される。なお、試行処理が予め実行されて計測された処理時間及び待ち時間が平均値又は中間値の算出に使用されてもよい。
【0022】
第4発明では、第1乃至第3発明で待ち時間以下の処理時間を要する処理を抽出されるに際し、処理時間が短い順に優先的に処理が抽出される。
【発明の効果】
【0023】
本発明による場合、一の処理の待ち時間中に完了する他の処理が一の処理の内部処理として実行されるので切り替えを要しない。これにより、処理を効率的に実行することができ、切り替え等でオーバーヘッドとなる時間を要しないことから、迅速に各処理を実行させることができる。したがって、コンピュータ装置が入力されるアナログ信号からAD変換器を介してAD変換値を取得する制御を行うために、実行される処理にAD変換待ちが含まれる場合、当該待ち時間を利用し効率的に複数の処理を実行することができる。待ち時間中に完了する処理を実行することにより、複数の処理を起動して切り替えを行なう処理を行なわずに効率的に処理を実行させることができる。これにより、必要最小限の処理を行なうように簡素な構成で特定の用途のために設計される安価なマイコンを実現することができる。
【0024】
本発明による場合、各処理に要する処理時間及び待ち時間として試行処理を実行することで計測した値が使用されるので、各処理を実測に基づき効率的に実行することができ、無駄な時間を要しないことから迅速に各処理を実行させることができる。
【0025】
本発明による場合、処理時間及び待ち時間として、実際に実行した際に計測した値の平均値又は中間値が採用されて記憶され、その後の処理に使用される。したがって、待ちを含む一の処理を実行するに際し、待ち時間に最適な処理時間を要する処理を抽出することができ、より効率的に迅速に各処理を実行させることができる。
【0026】
本発明による場合、処理時間が短い処理が優先的に実行されるので、効率的に処理を実行させることができる。
【発明を実施するための最良の形態】
【0027】
以下、本発明をその実施の形態を示す図面に基づいて具体的に説明する。なお、本実施の形態では、車輌に設置されて夫々各種制御を実行するECU(Electronic Control Unit)に備えられるCPUが、本発明の処理実行方法に基づいて処理を実行する場合を例に説明する。
【0028】
図1は、本発明の処理実行方法に基づいて動作するECUの構成例を示すブロック図である。ECU1は、センサ2及び制御対象のアクチュエータ3に接続されている。なお、本実施の形態におけるECU1は、車輌のヘッドライトのオン/オフ及びドアロックの開/閉等のボディ系を制御する。
【0029】
ECU1は、ECU1の動作を制御するマイコン10と、ECU1に接続しているアクチュエータ3の駆動を実現するポート制御回路14と、ECU1に接続しているセンサ2及びアクチュエータ3から入力されるアナログ信号をマイコン10で検知可能なデジタル信号へAD変換を行なうAD変換器15とを備えている。
【0030】
マイコン10には、後述する制御プログラム1Pに基づいて動作の制御を実行するCPU11と、制御プログラム1Pが記憶されている不揮発性のメモリであるROM12と、CPU11の処理で発生する各種情報を一時的に記憶するメモリであるRAM13とが含まれている。
【0031】
CPU11は、図示しないバッテリー、オルタネータ等の電力供給装置から電力の供給を受けて電源オン状態になった場合、ROM12から制御プログラム1PをRAM13に読み出し、各タスクに対応する関数をRAM13に展開し、各タスクを実行する場合はRAM13上のアドレスにアクセスして演算を行なう。
【0032】
ROM12は、EEPROM等書き換え可能な不揮発性メモリでもよい。マイコン10が製造される際にROM12に制御プログラム1Pが書き込まれ、上述のようにCPU11に読み出される。ROM12をEEPROMで構成する場合、制御プログラム1Pを後に更新することが可能である。
【0033】
ポート制御回路14は、アクチュエータ3等の外部装置とマイコン10との間の信号の送受信を仲介する回路である。マイコン10は、ポート制御回路14を介してアクチュエータ3の駆動、制御を行なう。
【0034】
AD変換器15は、センサ2から入力される信号及びアクチュエータ3の制御電圧のチェック等を行うために、アナログ信号に基づいてデジタル信号を出力する。AD変換器15はCPU11から入力される変換開始トリガを検知することにより、指定されたチャンネルに入力されているアナログ信号に基づくAD変換値を出力する。AD変換器15では、CPU11から変換開始トリガが入力されたことを検知してからAD変換値を出力するまでに所定時間を要する。
【0035】
上述のように構成されるECU1において、CPU11がROM12に記憶されている制御プログラム1Pに基づいて複数の処理を実行する手順について説明する。CPU11はECU1へ電力が供給され電源オン状態となった場合、ROM12から制御プログラム1PをRAM13に読み出して各タスクを実行する。CPU11は、各タスクを実行する前にまず各タスクに要する処理時間の計測処理を行なう。
【0036】
図2は、本実施の形態におけるECU1のCPU11が電源オン状態で実行する処理手順を示すフローチャートである。CPU11は、ROM12から制御プログラム1PをRAM13に読み出し(ステップS11)、各タスクに要する処理時間の計測処理を実行する(ステップS12)。ステップS12の処理時間の計測処理については後述にて詳細を説明する。次にCPU11は、各タスクを実際に実行し(ステップS13)、処理を終了する。
【0037】
図3は、本実施の形態におけるECU1のCPU11が各タスクに要する処理時間を計測する処理手順を示すフローチャートである。なお、図3のフローチャートに示す処理手順は、図2のフローチャートに示したステップS12の処理に対応する。
【0038】
CPU11は、RAM13に読み出されて展開されているプログラムに基づいて各タスクの内の一を生成する(ステップS21)。生成したタスクについて、タスク実行に要する処理時間の計測を開始し(ステップS22)、生成したタスクを起動する(ステップS23)。CPU11は、起動したタスクに待ちが含まれており、待ち状態になった場合はその待ち時間を計測する(ステップS24)。なお、生成したタスクに待ちが含まれていない場合は、ステップS24は実行されないか、又は待ち時間はゼロと計測される。
【0039】
CPU11は、タスクが終了したか否かを判断し(ステップS25)、タスクが終了していないと判断した場合(S25:NO)は処理をステップS25へ戻して終了したと判断するまで待機する。CPU11は、タスクが終了したと判断した場合(S25:YES)、処理時間の計測を終了し(ステップS26)、計測した処理時間及び待ち時間をRAM13に一時的に記憶する(ステップS27)。
【0040】
CPU11は、RAM13に展開されている全タスクについて処理時間及び待ちが含まれる場合の待ち時間を計測したか否かを判断する(ステップS28)。CPU11は、全タスクについて計測していないと判断した場合(S28:NO)、処理をステップS21へ戻して次の一のタスクを生成し(S21)、以降の処理を継続する。
【0041】
CPU11は、全タスクについて計測したと判断した場合(S28:YES)、RAM13に一時的に記憶してある各タスクの処理時間及び待ち時間を各タスクに対応付けて記憶することによりタスクテーブルを作成し(ステップS29)、処理時間の計測処理を終了する。
【0042】
なお、図3のフローチャートに示した処理手順の内のステップS23で起動したタスクはダミーのタスクであり、タスク内に含まれる制御対象のアクチュエータ3へは実際に負荷をかけることはせず、他の処理内容については実際に実行されるタスクと同様に構成されている。ダミーのタスク内の待ち状態では、実際にAD変換器15によるAD変換待ち等が実行される。
【0043】
図4は、本実施の形態におけるECU1のCPU11が処理時間及び待ち時間の計測を実行することにより作成されるタスクテーブルの内容例を示す説明図である。図4(a)は、待ちを含まないタスクを記憶したテーブルであり、図4(b)は、タスクが待ちを含む場合の待ち時間を記憶したテーブルである。
【0044】
図4(a)には、タスクの処理時間と、タスクを生成して起動する場合に読み出すアドレスと、タスクが既に実行済みであるか否かを示す実行済みフラグとが記憶されている。図4(a)の内容例では、Tbマイクロ秒の処理時間を要するタスクBとTcマイクロ秒の処理時間を要するタスクCとが記憶されており、タスクBもタスクCもまだ実行されていない(「0」:実行未済)ことが表わされている。待ちを含まないタスクのみをテーブルとして記憶するのは、後述するようにタスクを実行して待ち状態になった場合に、起動させることができるタスクを特定することができるようにするためである。待ち状態になった場合に更に待ちが含まれるタスクが実行されると、待ちの対象が同一のハードウェア資源を使用する場合など、待ち状態が終了しなくなる等の問題が発生することも考えられるので、起動させることができるタスクからは除外される。
【0045】
なお、ECU1のCPU11は、一部又は全部のタスクを所定の周期にしたがって実施する。CPU11は、周期が到来する都度、周期的に実行すべきタスクを少なくとも1回実行する。CPU11は、タスクテーブルに記憶されているタスクについて、周期内で1回実行した場合は実行済みフラグを「0」(:実行未済)から「1」(:実行済)へ更新し、周期の開始時点でタスクテーブルの実行済みフラグを全て「0」に更新する。これにより、一周期で各タスクを1回ずつ実行させることができる。
【0046】
さらに、図4(a)に示したような待ちを含まないタスクを記憶したテーブルでは、タスクのリストは処理時間が短い順にソートされていることが望ましい。他のタスクにおいて待ち状態になった際、効率的に他のタスクを実行するために処理時間の短い順にタスクを実行しようとする場合、処理時間の短い順にタスクがソートされていることにより、いずれのタスクの処理時間が一番短いかを判断する処理が不要になるからである。
【0047】
図4(b)には、タスクを識別するための情報(関数名等)と、待ち時間と、実行済みフラグとが記憶されている。図4(b)の内容例では、タスクAにはWTaマイクロ秒の待ち時間を要する待ちが含まれ、タスクDにはWTdマイクロ秒の待ち時間を要する待ちが含まれていることが表わされている。図4(b)の内容例に示すように計測の結果、待ち時間がゼロでないタスクをテーブルに記憶しておくことにより、タスクを起動して待ち状態になった際、CPU11はこのテーブルを読み出して他のタスクを実行する猶予時間を認識することができる。
【0048】
なお、一のタスクに複数の待ちが含まれる場合、夫々の待ち時間と、タスク中の待ち状態になることに対応するステップ名、ステップの展開先のアドレス等の識別情報とを記憶しておき、CPU11が当該ステップを実行する際に待ち時間を認識できることができるようにしておく構成でもよい。
【0049】
次に、図2のフローチャートに示したステップS13において実行される各タスクについて、ヘッドライトの断線検知のタスクを例に説明する。ヘッドライトの制御では、安全性の確保の問題から、ヘッドライト点灯スイッチを含む回路が断線しているか否かを判断し、断線していることが検知された場合はバックアップ回路を起動する。ヘッドライトの断線検知のタスクは一定周期で行われる。なお、当該断線検知のタスクは、ヘッドライト点灯スイッチを含む回路に流れている電流値を測定するためAD変換器15によるAD変換処理を行なうので、待ちを含む。この断線検知のタスクをタスクAと呼び、タスクAを実行する際のCPU11の制御について以下に説明する。
【0050】
図5は、本実施の形態におけるECU1のCPU11がタスクAを実際に実行する際の処理手順を示すフローチャートである。
【0051】
タスクAにおいてCPU11は、ライトスイッチの入力を判定し(ステップS31)、スイッチにより正常にヘッドライトを点灯できるか否かを判定する。またCPU11は、ライト駆動の可否を判定する(ステップS32)。次にCPU11は、ライトアクチュエータを駆動し(ステップS33)、ライトアクチュエータにおける断線検知用のAD変換を開始する(ステップS34)。
【0052】
本発明の場合CPU11は、AD変換処理には一定の待ち時間を要することからその待ち時間中に他のタスクを実行する。そこで、CPU11はAD変換が終了したか否かを判断し(ステップS35)、AD変換が終了していないと判断した場合(S35:NO)、AD変換待ち処理を実行し(ステップS36)、処理をステップS35へ戻してAD変換が終了したか否かを再度判断する(S35)。
【0053】
CPU11は、AD変換が終了したと判断した場合(S35:YES)、AD変換器15から入力されるAD変換値に基づいて断線しているか否かを判定し(ステップS37)、処理を終了する。
【0054】
図6は、本実施の形態におけるECU1のCPU11がタスクに待ちが含まれている場合、待ち時間中に他のタスクを実行する際の処理手順を示すフローチャートである。図6のフローチャートに示す処理手順は、図5のフローチャートに示した処理手順の内のステップS36の処理に対応する。
【0055】
CPU11は、実行中のタスク(ここではタスクA)についてタスクテーブルを参照し(ステップS41)、タスクAの待ち時間を読み出す(ステップS42)。CPU11は、読み出した待ち時間以下の処理時間を要するタスクをタスクテーブルから抽出し(ステップS43)、抽出したタスクの内から処理時間が短い順に選択する(ステップS44)。
【0056】
CPU11は、選択したタスクの処理時間がタスクAの待ち時間以下であるか否か(待ち時間≧処理時間)を判断し(ステップS45)、処理時間が待ち時間以下であると判断した場合(S45:YES)、選択したタスクを実行し(ステップS46)、ステップS44へ処理を戻して次に処理時間が短いタスクを選択する(S44)。なお、このときCPU11は、ステップS46で実行したタスクの実行済みフラグを「1」に更新し、タスクAの待ち時間を実時間に経過に応じて減少させる。
【0057】
CPU11は、選択したタスクの処理時間がタスクAの待ち時間よりも長いと判断した場合(S45:NO)、待ち時間中に完了させることができないので、CPU11はAD変換待ち処理を終了し、処理を図5のフローチャートに示したステップS35へ戻す。
【0058】
図6のフローチャートに示した処理手順では、実行中の待ち時間を読み出し(S42)、待ち時間以下の処理時間を要するタスクを全て抽出してから(S43)、タスクを選択し(S44)、処理時間が残りの待ち時間以下である場合に(S45:YES)タスクを実行した(S46)。しかしながら、本発明はこれに限らず、待ち時間を読み出して(S42)、実時間の経過を計測しつつ、待ち時間以下の処理時間を要するタスクのタスクテーブルの上位からの選択及びタスクの実行を繰り返す構成でもよい。
【0059】
図7は、本実施の形態におけるECU1のCPU11が、待ちが含まれているタスクの待ち時間中に実行する他のタスクの処理手順の例を示すフローチャートである。図7のフローチャートに示す処理手順は、図6のフローチャートに示した処理手順の内のステップS46に対応する。ECU1のCPU11は、図4(a)の説明図に示したようなタスクテーブルを参照し(S41)、タスクテーブルに基づいてタスクAの待ち時間WTaよりも処理時間が短いタスクBを選択し(S44)、ステップS46として以下の処理を行なう。なお、タスクBは、ドアロック信号によりドアロックモータを駆動するタスクである。
【0060】
CPU11は、ドアロックスイッチの入力を判定し(ステップS51)、ドアロック駆動の可否を判定し(ステップS52)、ドアロックアクチュエータを駆動し(ステップS53)、タスクBの処理を終了し、図6のフローチャートに示したステップS44へ処理を戻す。
【0061】
このような制御により、ECU1のCPU11は、AD変換待ち、外部装置からの入力信号待ち等、タスクに含まれる待ち時間中に他のタスクを内部処理として実行し、完了させることができる。これにより待ち時間を利用して効率的に各タスクを実行することができる。各タスクの切り替えを要しないので、切り替え処理自体の時間が不要であり、各タスクを迅速に無駄なく実行させることができる。
【0062】
また本発明による場合、ダミーではあるが、各タスクを実際に実行して処理時間及び待ち時間を計測するので、より実測に基づき効率的にタスクを組み合わせて実行することができる。
【0063】
なお、本実施の形態では、図2及び図3のフローチャートに示したように、各タスクに要する処理時間及びタスクに待ちが含まれる場合の待ち時間を計測する処理を行なった。しかしながら、本発明はこれに限らず、各タスクの処理時間及び待ち時間については事前に装置毎に設定してありROM12に記憶されている値を使用する構成でもよい。また、初回の処理時間及び待ち時間については事前に設定してある値を使用し、各処理を実際に実行しながら、処理に要する処理時間及び待ちに要する待ち時間を計測し、フィードバックする構成でもよい。また、本実施の形態のように初回は各処理を実行する前に処理時間及び待ち時間を計測し、その後各処理を実際に負荷をかけて実行しながら処理時間及び待ち時間を計測し、フィードバックする構成でもよい。
【0064】
なお、本実施の形態では車輌に配置されて所定の処理を実行するボディ系制御用のECU1のCPU11に実行させる制御プログラム1Pに本発明を適用した。勿論、本発明はこれに限らず、制御プログラム1Pに基づく処理を行なう各種コンピュータ装置に適用することが可能である。特に、本実施の形態で適用した車輌に簡素な構成で使用目的が特化されており、小型化・軽量化が厳しく求められているような装置で効果を奏する。
【図面の簡単な説明】
【0065】
【図1】本発明の処理実行方法に基づいて動作するECUの構成例を示すブロック図である。
【図2】本実施の形態におけるECUのCPUが電源オン状態で実行する処理手順を示すフローチャートである。
【図3】本実施の形態におけるECUのCPUが各タスクに要する処理時間を計測する処理手順を示すフローチャートである。
【図4】本実施の形態におけるECUのCPUが処理時間及び待ち時間の計測を実行することにより作成されるタスクテーブルの内容例を示す説明図である。
【図5】本実施の形態におけるECUのCPUがタスクAを実際に実行する際の処理手順を示すフローチャートである。
【図6】本実施の形態におけるECUのCPUがタスクに待ちが含まれている場合、待ち時間中に他のタスクを実行する際の処理手順を示すフローチャートである。
【図7】本実施の形態におけるECUのCPUが、待ちが含まれているタスクの待ち時間中に実行する他のタスクの処理手順の例を示すフローチャートである。
【符号の説明】
【0066】
1 ECU
10 マイコン
11 CPU
1P 制御プログラム

【特許請求の範囲】
【請求項1】
コンピュータ装置にて複数の処理を実行する処理実行方法において、
各処理夫々に要する処理時間、及び各処理に待ちが含まれる場合の待ち時間を各処理に対応付けて記憶しておき、
待ちが含まれる一の処理を実行するに際し、
前記一の処理に対応付けて記憶してある待ち時間を読み出し、
読み出した待ち時間以下の処理時間を要する処理を抽出し、
抽出した処理を前記待ちの間に実行する
ことを特徴とする処理実行方法。
【請求項2】
各処理に対応する試行処理を予め実行して夫々の処理時間及び待ち時間を計測し、
計測した処理時間及び待ち時間を記憶する
ことを特徴とする請求項1に記載の処理実行方法。
【請求項3】
各処理を実行した場合に要した処理時間及び待ち時間を複数回計測し、
該複数回計測した計測値に基づく平均値又は中間値を記憶する
ことを特徴とする請求項1又は2に記載の処理実行方法。
【請求項4】
前記処理の抽出は、処理時間が短い順に抽出する
ことを特徴とする請求項1乃至3のいずれかに記載の処理実行方法。
【請求項5】
複数の処理を実行する処理実行装置において、
各処理夫々に要する処理時間、及び各処理に待ちが含まれる場合の待ち時間を各処理に対応付けて記憶する記憶手段と、
待ちが含まれる一の処理を実行するに際し、
前記一の処理に対応付けて記憶してある待ち時間を読み出す手段と、
処理時間が対応付けて記憶してある処理から、読み出した待ち時間以下の処理時間を要する処理を抽出する手段と、
抽出した処理を前記待ちの間に実行する手段と
を備えることを特徴とする処理実行装置。
【請求項6】
各処理に対応する試行処理を予め実行して夫々の処理時間及び待ち時間を計測する計測手段を備え、
前記記憶手段は、計測した処理時間及び待ち時間を記憶するようにしてあること
を特徴とする請求項5に記載の処理実行装置。
【請求項7】
コンピュータにて複数の処理を実行させるコンピュータプログラムにおいて、
コンピュータに、
待ちが含まれる一の処理を実行させるに際し、
各処理に対応付けて記憶してある、各処理夫々に要する処理時間及び各処理に待ちが含まれる場合の待ち時間に基づいて前記一の処理の待ち時間以下の処理時間を要する処理を抽出するステップ、及び、
抽出した処理を前記待ちの間に実施するステップ
を実行させることを特徴とするコンピュータプログラム。
【請求項8】
コンピュータに、
各処理に対応する試行処理を予め実行することにより夫々の処理時間及び待ち時間を計測するステップ、及び、
計測した処理時間及び待ち時間を記憶するステップ
を実行させることを特徴とする請求項7に記載のコンピュータプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate


【公開番号】特開2008−293130(P2008−293130A)
【公開日】平成20年12月4日(2008.12.4)
【国際特許分類】
【出願番号】特願2007−135857(P2007−135857)
【出願日】平成19年5月22日(2007.5.22)
【出願人】(395011665)株式会社オートネットワーク技術研究所 (2,668)
【出願人】(000183406)住友電装株式会社 (6,135)
【出願人】(000002130)住友電気工業株式会社 (12,747)