(57)【要約】【課題】インストラクションキャッシュメモリを備え、複数のプログラムが実行されるマイクロコンピュータにおいて、各プログラムの実行時間が大きくならないようにする。【解決手段】（ａ）において、マイコンのＣＰＵがアイドル処理を実行している時間帯（０〜０．５ｍｓｅｃ）に、高優先度処理をダミー実行させる。すると、（ｂ）のように、インストラクションキャッシュメモリ内には、高優先度処理のプログラムが配置される。その後、正規のタイミング（（ａ）における０．５ｍｓｅｃ）で高優先度処理が実行される場合には、インストラクションキャッシュメモリ（（ｂ）参照）には既に高優先度処理のプログラムが配置されているため、ヒット率は高くなり（（ｃ）参照）、高優先度処理の実行時間は短縮される。【選択図】図３
2007200277.tif 000002
【特許請求の範囲】
【請求項１】
複数のプログラムが記憶されるプログラムメモリと、
前記プログラムメモリより読み出されたプログラムが更新記憶されるインストラクションキャッシュメモリと、
ＣＰＵと、
を備えたマイクロコンピュータにおいて、
前記複数のプログラムのうち少なくとも１つの特定のプログラムについて、前記ＣＰＵが該特定のプログラムを読み出して実行する正規のタイミングよりも前のタイミングで、前記ＣＰＵに該特定のプログラムを実行させるダミー実行制御手段を備えていることを特徴とするマイクロコンピュータ。
【請求項２】
請求項１に記載のマイクロコンピュータにおいて、
前記複数のプログラムは制御対象を制御するためのものであり、
前記ＣＰＵは、前記複数のプログラムを実行することで、前記制御対象を制御するようになっており、
前記ダミー実行制御手段は、前記ＣＰＵが前記制御対象を制御しない時間帯に、該ＣＰＵに前記特定のプログラムを実行させることを特徴とするマイクロコンピュータ。
【請求項３】
請求項１又は請求項２に記載のマイクロコンピュータにおいて、
前記ＣＰＵが前記正規のタイミングでプログラムを実行することにより演算した演算結果を記憶する真値記憶部と、
前記ダミー実行制御手段が前記正規のタイミングよりも前のタイミングで前記ＣＰＵにプログラムを実行させることにより前記ＣＰＵが演算した演算結果を、前記真値記憶部以外の特定の記憶部に転送する記憶制御手段と、
を備えていることを特徴とするマイクロコンピュータ。
【請求項４】
請求項３に記載のマイクロコンピュータにおいて、
前記記憶制御手段は、データの転送先を指定するパラメータを有していることを特徴とするマイクロコンピュータ。
【請求項５】
請求項３又は請求項４に記載のマイクロコンピュータにおいて、
前記特定の記憶部は、ＲＯＭであることを特徴とするマイクロコンピュータ。
【請求項６】
請求項１ないし請求項５の何れか１項に記載のマイクロコンピュータにおいて、
前記プログラムメモリはＲＯＭであることを特徴とするマイクロコンピュータ。
【請求項７】
請求項１ないし請求項５の何れか１項に記載のマイクロコンピュータにおいて、
前記プログラムメモリはＲＡＭであることを特徴とするマイクロコンピュータ。
【請求項８】
請求項１ないし請求項７の何れか１項に記載のマイクロコンピュータにおいて、
当該マイクロコンピュータは、車両に搭載されるものであり、
前記プログラムメモリには、前記車両を制御するためのプログラム（以下、車両制御用プログラムという）として、前記車両のエンジンを制御するためのエンジン制御用プログラムが記憶されており、
前記ダミー実行制御手段は、前記エンジン制御用プログラムを、該エンジン制御用プログラムについての前記正規のタイミングよりも前のタイミングで、前記ＣＰＵに実行させるようになっていることを特徴とするマイクロコンピュータ。
【請求項９】
請求項１ないし請求項７の何れか１項に記載のマイクロコンピュータにおいて、
当該マイクロコンピュータは、車両に搭載されるものであり、
前記プログラムメモリには、前記車両を制御するためのプログラム（以下、車両制御用プログラムという）として、前記車両の変速機を制御するための変速機制御用プログラムが記憶されており、
前記ダミー実行制御手段は、前記変速機制御用プログラムを、該変速機制御用プログラムについての前記正規のタイミングよりも前のタイミングで、前記ＣＰＵに実行させるようになっていることを特徴とするマイクロコンピュータ。
【請求項１０】
請求項８又は請求項９に記載のマイクロコンピュータにおいて、
オペレーティングシステムを備えているとともに、前記車両制御用プログラムは、前記オペレーティングシステムによって実行が管理されるアプリケーションプログラムであり、さらに、前記車両制御用プログラムが実行される前には、その車両制御用プログラムを実行する準備を行うための処理のプログラム（以下、準備プログラムという）が実行されるようになっており、
前記準備プログラムは、前記プログラムメモリに記憶されており、
前記ダミー実行制御手段は、前記準備プログラムを、該準備プログラムについての前記正規のタイミングよりも前のタイミングで、前記ＣＰＵに実行させるようになっていることを特徴とするマイクロコンピュータ。
【請求項１１】
請求項８に記載のマイクロコンピュータにおいて、
前記エンジン制御用プログラムは複数あり、
前記ダミー実行制御手段は、前記エンジンの回転数の高低を判定するとともに、前記複数のエンジン制御用プログラムのうち、正規のタイミングよりも前のタイミングで前記ＣＰＵに実行させるプログラムを、前記判定結果に基づき変更するようになっていることを特徴とするマイクロコンピュータ。
【請求項１２】
請求項９に記載のマイクロコンピュータにおいて、
前記変速機は、変速段を切り換えることで変速を実現するものであるとともに、前記変速機制御用プログラムは複数あり、
前記ダミー実行制御手段は、前記複数の変速機制御用プログラムのうち、正規のタイミングよりも前のタイミングで前記ＣＰＵに実行させるプログラムを、前記変速段の切換中／非切換中に応じて変更するようになっていることを特徴とするマイクロコンピュータ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、インストラクションキャッシュメモリを備えたマイクロコンピュータに関する。
【背景技術】
【０００２】
従来より、プログラムを記憶するプログラムメモリとＣＰＵとを備えたマイクロコンピュータにおいては、処理速度の向上を目的として、高速に読み書きが可能なメモリとして、例えばインストラクションキャッシュメモリがプログラムメモリとは別に設けられている。このようなマイクロコンピュータでは、ＣＰＵによりプログラムメモリから読み出されたプログラムは、インストラクションキャッシュメモリに更新記憶される。そして、ＣＰＵが所定のプログラムを実行する場合、そのプログラムがインストラクションキャッシュメモリに記憶されていれば、ＣＰＵは、そのプログラムをインストラクションキャッシュメモリから読み出すことができる。一方、プログラムがインストラクションキャッシュメモリに記憶されていない場合には、ＣＰＵは、プログラムメモリからプログラムを読み出さなければならなくなる。そして、プログラムメモリへのアクセスに要する時間は、インストラクションキャッシュメモリへのアクセスに要する時間と比較して大きい。つまり、プログラムがインストラクションキャッシュメモリに記憶されており、ＣＰＵがそのインストラクションキャッシュメモリからプログラムを読み出すことのできる確率（ヒット率）が向上すれば、処理速度は向上することとなる。
【０００３】
このため、例えば所定の時間内に確実に実行されるべき優先度の高い処理のプログラム（以下、高優先度処理プログラムと言う）は、インストラクションキャッシュメモリに常時記憶されていることが好ましい。上述のように、処理速度が向上するため、プログラムの実行時間（実行開始から終了までの時間）の短縮が望めるからである。そこで、高優先度処理プログラムを予めインストラクションキャッシュメモリに固定配置することが考えられている（例えば、特許文献１，２参照）。
【０００４】
ここで、高優先度処理プログラムが予めインストラクションキャッシュメモリに固定配置されるマイクロコンピュータの一例について、図７及び図８を用いて説明する。
図７は、上記一例としてのマイクロコンピュータ（以下、マイコンと言う）１００の構成図であり、マイコン１００は、各種プログラムを実行するＣＰＵ１０と、ＣＰＵ１０が実行するプログラムが予め格納されるＲＯＭ２０と、ＣＰＵ１０による演算結果等を一時記憶するＲＡＭ３０と、図示しない外部の機器と接続されるインタフェース５５と、それらを相互に接続するための内部バス５０とを備えている。
【０００５】
この例では、ＣＰＵ１０は、４つの処理を実行するようになっている。つまり、優先度が最も高い高優先度処理、次いで優先度の高い中優先度処理、最も優先度の低い低優先度処理、及びアイドル処理である。そして、ＲＯＭ２０には、それらの処理が実行されるためのプログラムが記憶されている。まず、ＲＯＭ２０の格納領域２２には、高優先度処理が実行されるための高優先度処理プログラムが記憶され、格納領域２４には、中優先度処理が実行されるための中優先度処理プログラムが記憶され、格納領域２６には、低優先度処理が実行されるための低優先度処理プログラムが記憶され、そして、格納領域２８には、アイドル処理が実行されるためのアイドル処理プログラムが記憶されている。
【０００６】
ＣＰＵ１０は、具体的に、上記のプログラムを読み出すとともにそのプログラムに従い各種演算を実行するＣＰＵコア１２と、内部バス５０に接続され、ＣＰＵコア１２によりＲＯＭ２０から読み出されたプログラムが更新記憶されるインストラクションキャッシュメモリ１４と、内部バス５０に接続され、ＣＰＵコア１２による演算結果等が一時的に記憶されるデータキャッシュメモリ１６と、を有している。
【０００７】
ＣＰＵコア１２は、所定のプログラムを実行する場合、まずインストラクションキャッシュメモリ１４にアクセスしてそのプログラムを取得しようとする。そして、インストラクションキャッシュメモリ１４にそのプログラムが存在すれば、そのインストラクションキャッシュメモリ１４からプログラムを読み出し、インストラクションキャッシュメモリ１４にプログラムが存在しない場合には、ＲＯＭ２０にアクセスしてプログラムを読み出す。尚、ＣＰＵコア１２による演算結果等は、前述したデータキャッシュメモリ１６に記憶されるとともに、さらにＲＡＭ３０が備える格納領域（ここでは、格納領域３２〜３８）に一時的に記憶される。
【０００８】
次に、図８（ａ）は、上記各処理の実行タイミングを表すタイミングチャートである。また、図８（ｂ）は、インストラクションキャッシュメモリ１４の占有状態を表す図であり、図８（ｃ）は、ＣＰＵコア１２がインストラクションキャッシュメモリ１４からプログラムを読み出すことのできる確率（ヒット率）を表す図である。
【０００９】
この例では、高優先度処理プログラムは全て、予めインストラクションキャッシュメモリ１４に固定配置されており、図８（ｂ）に示すように、インストラクションキャッシュメモリ１４の容量の５０％が、その高優先度処理プログラムで占有されている。そして、残りの５０％は、プログラムが書き換え可能に開放されている。
【００１０】
図８（ａ）に示すように、まず、０．５ｍｓｅｃのタイミングで、高優先度処理（ここでは１回目とする）が実行される。そして、高優先度処理は、以降は６ｍｓｅｃ毎に実行されるように設定されている。そして、１回目の高優先度処理が終了した後に（１．０ｍｓｅｃのタイミング）、１回目の中優先度処理が実行され、中優先度処理は、以降は１２ｍｓｅｃ毎に実行されるように設定されている。さらに、１回目の中優先度処理が終了した後に（３．５ｍｓｅｃのタイミング）、１回目の低優先度処理が実行され、低優先度処理は、以降は１６ｍｓｅｃ毎に実行されるように設定されている。アイドル処理は、高優先度処理、中優先度処理或いは低優先度処理の何れも実行されない時間帯に実行される。
【００１１】
そして、この例において、高優先度処理の実行に際しては、高優先度処理プログラムがインストラクションキャッシュメモリ１４に固定配置されているため、ヒット率は１００％となって処理速度が向上する。そして、高優先度処理は、１．０ｍｓｅｃでその処理が終了している。つまり、高優先度処理プログラムの実行時間は０．５ｍｓｅｃである。一方、中優先度処理或いは低優先度処理の実行に際しては、インストラクションキャッシュメモリ１４の半分の領域を使用することとなり、この例では、ヒット率は最大で５０％までしか向上していない。そして、中優先度処理については、実行時間として２．５ｍｓｅｃを要しており、低優先度処理については、実行時間として４．０ｍｓｅｃを要している。
【特許文献１】特開平４−２３９９４４号公報
【特許文献２】特開平９−３４７９２号公報
【発明の開示】
【発明が解決しようとする課題】
【００１２】
このように、上述したマイコン１００では、高優先度処理の実行時間を短縮できる反面、その高優先度処理以外の中優先度処理及び低優先度処理については、インストラクションキャッシュメモリ１４の一部だけしか利用できないため、実行時間は逆に大きくなってしまうことが考えられる。
【００１３】
一方、例えば高優先度処理プログラムをインストラクションキャッシュメモリ１４に固定配置しない場合には、そのインストラクションキャッシュメモリ１４の全ての領域が開放されるため、中優先度処理や低優先度処理の実行時間が大きくなってしまうことがない。しかしながら、高優先度処理については、その高優先度処理プログラムがインストラクションキャッシュメモリ１４に固定配置される場合と比較して、実行時間は大きくなってしまう。高優先度処理は、所定の時間内で確実に実行されることが要求されるものであり、実行時間が大きくなってしまうことは好ましくない。
【００１４】
本発明は、こうした問題に鑑みなされたもので、複数のプログラムが実行されるマイクロコンピュータにおいて、各プログラムの実行時間が大きくなることがないマイクロコンピュータを提供することを目的とする。
【課題を解決するための手段】
【００１５】
かかる問題を解決するためになされた請求項１に記載のマイクロコンピュータは、複数のプログラムが記憶されるプログラムメモリと、プログラムメモリより読み出されたプログラムが更新記憶されるインストラクションキャッシュメモリと、ＣＰＵと、ダミー実行制御手段と、を備えている。
【００１６】
そして、ダミー実行制御手段は、複数のプログラムのうち少なくとも１つのプログラムについて、ＣＰＵがそのプログラムを読み出して実行する正規のタイミングよりも前のタイミングで、ＣＰＵにそのプログラムを実行させるようになっている。
【００１７】
この場合、正規のタイミングよりも前のタイミングで実行されたプログラムは、その実行の際にインストラクションキャッシュメモリに更新記憶される。そして、正規のタイミングにおいては、ＣＰＵは、プログラムをインストラクションキャッシュメモリから読み出すことができるようになる。よって、正規のタイミングにおけるプログラムの実行時間を短縮させることができる。
【００１８】
また、本マイクロコンピュータにおいては、インストラクションキャッシュメモリの全領域が書き換え可能に開放される。よって、例えばプログラムの実行に際し、そのプログラムによって複数パターンのループ処理が実行されるような場合に、そのループ処理のためのプログラムをより多くインストラクションキャッシュメモリに記憶しておくことができる。つまり、ヒット率の低下を防ぎ、プログラムの実行時間が大きくなってしまうことを防止することができる。また、例えばプログラムが一旦実行され、続けてそのプログラムが実行されるような場合でも、上記の如く、そのプログラムを構成するプログラムがより多く記憶されていることとなるため、ヒット率が低下するということがなく、プログラムの実行時間が大きくなってしまうことがない。
【００１９】
そして、正規のタイミングよりも前のタイミングでＣＰＵにより実行される対象のプログラムは、一つであってもよいし、複数であってもよい。さらに、全てのプログラムであってもよいことは勿論である。
【００２０】
また、請求項２に記載のマイクロコンピュータは、請求項１に記載のマイクロコンピュータにおいて、複数のプログラムは制御対象を制御するためのものであり、ＣＰＵは、その複数のプログラムを実行することで、制御対象を制御するようになっている。
【００２１】
そして、ダミー実行制御手段は、ＣＰＵが制御対象を制御しない時間帯に、そのＣＰＵにプログラムを実行させるようになっている。ここで、ＣＰＵが制御対象を制御しない時間帯としては、ＣＰＵがプログラムを実行しない時間帯が考えられる。また、プログラムを実行していたとしても、制御対象の制御とは関係ないプログラム（例えば指令待ちのためのプログラム）等を実行している時間帯が考えられる。
【００２２】
そして、このような時間帯にダミー実行制御手段がＣＰＵにプログラムを実行させることで、ＣＰＵの負荷を特に増大させることなく、上述したような効果を得ることができるのである。
【００２３】
ところで、この種のマイクロコンピュータにおいては、正規のタイミングとは異なるタイミングで演算された演算結果が別の処理で使用された場合に、適切にその処理が実行されなかったり、期待の結果が得られなかったりするおそれがある。
【００２４】
このような点に鑑み、請求項３に記載のマイクロコンピュータでは、請求項１又は請求項２に記載のマイクロコンピュータにおいて、ＣＰＵが正規のタイミングでプログラムを実行することにより演算した演算結果を記憶する真値記憶部と、ダミー実行制御手段が正規のタイミングよりも前のタイミングでＣＰＵにプログラムを実行させることによりそのＣＰＵが演算した演算結果を真値記憶部以外の特定の記憶部に記憶させる記憶制御手段と、を備えていることを特徴としている。
【００２５】
つまり、この請求項３のマイクロコンピュータによれば、ＣＰＵが正規のタイミングでプログラムを実行することにより演算した演算結果は、正規の記憶部としての真値記憶部に記憶されるが、ＣＰＵが正規のタイミングよりも前のタイミングでプログラムを実行することにより演算した演算結果（以下、ダミー演算結果と言う）は、真値記憶部に記憶されない。そして、真値記憶部に記憶された演算結果のみが別の処理に使用されるようにすれば、ダミー演算結果が誤って使用されてしまうということを防止することができる。
【００２６】
また、演算結果の記憶先（転送先）は、パラメータにより決定されることが考えられる。そして、請求項４に記載のマイクロコンピュータでは、記憶制御手段は、演算結果の転送先を指定するパラメータを有しており、そのパラメータに従って、演算結果を転送する。
【００２７】
ここで、特定の記憶部としては、請求項５に記載のように、ＲＯＭとすることが考えられる。
この場合、記憶制御手段がダミー演算結果をＲＯＭに書き込もうとしても、ＲＯＭへの書き込みはそもそもできないため、その書き込みは無視されることとなる。よって、ダミー演算結果が別の処理で使用されることをより確実に防止できるようになる。また、ダミー演算結果を記憶させるための記憶領域を仮想的に設定すればよく、現実に設けるということをしなくてもよいため、メモリ資源を節約することができる。
【００２８】
一方、請求項１ないし請求項５の何れか１項に記載のマイクロコンピュータにおいて、プログラムメモリは、請求項６に記載のようにＲＯＭであってもよいし、また、請求項７に記載のようにＲＡＭであってもよい。
【００２９】
また、請求項１〜７のマイクロコンピュータは、請求項８に示すように、具体的に、車両に搭載されるものとすることができる。この請求項８のマイクロコンピュータでは、プログラムメモリには、車両を制御するためのプログラム（以下、車両制御用プログラムという）として、車両のエンジンを制御するためのエンジン制御用プログラムが記憶されている。そして、ダミー実行制御手段は、エンジン制御用プログラムを、そのエンジン制御用プログラムについての正規のタイミングよりも前のタイミングで、ＣＰＵに実行させるようになっている。
【００３０】
このような請求項８のマイクロコンピュータによれば、エンジン制御用プログラムを、そのエンジン制御用プログラムを実行する正規のタイミングにおいて、インストラクションキャッシュメモリから読み出すことができるようになる。このため、正規のタイミングにおけるエンジン制御用プログラムの実行時間を短縮することができる。
【００３１】
ところで、エンジン制御としては、例えば、燃料噴射制御や、点火制御等がある。そして、請求項８のマイクロコンピュータによれば、エンジン制御用プログラムの実行時間を短縮することで、燃料噴射や点火が所望のタイミングよりも遅れてしまうことを防止することができる。
【００３２】
一方、請求項１〜７のマイクロコンピュータは、請求項９に示すように、車両の変速機を制御するものであってもよい。
請求項９のマイクロコンピュータは、車両に搭載されるものであり、プログラムメモリには、車両制御用プログラムとして、車両の変速機を制御するための変速機制御用プログラムが記憶されている。
【００３３】
そして、ダミー実行制御手段は、変速機制御用プログラムを、その変速機制御用プログラムについての正規のタイミングよりも前のタイミングで、ＣＰＵに実行させるようになっている。
【００３４】
このような請求項９のマイクロコンピュータによれば、変速機制御用プログラムを、その変速機制御用プログラムを実行する正規のタイミングにおいて、インストラクションキャッシュメモリから読み出すことができるようになる。このため、正規のタイミングにおける変速機制御用プログラムの実行時間を短縮することができる。
【００３５】
ところで、変速機の制御では、例えば入力軸，出力軸の回転数を算出するとともに、出力軸の回転数を所望の回転数にするフィードバック制御が行われる場合がある。この場合、請求項９のマイクロコンピュータによれば、変速機制御用プログラムの実行時間を短縮して、そのフィードバック制御の精度を向上させることができる。
【００３６】
次に、請求項１０のマイクロコンピュータは、請求項８、９のマイクロコンピュータにおいて、オペレーティングシステム（例えばリアルタイムオペレーティングシステムがある）を備えている。そして、車両制御用プログラムは、そのオペレーティングシステムによって実行が管理されるアプリケーションプログラムである。さらに、車両制御用プログラムが実行される前には、その車両制御用プログラムを実行する準備を行うための処理のプログラム（以下、準備プログラムという）が実行されるようになっている。尚、準備プログラムは、プログラムメモリに記憶されている。
【００３７】
そして、ダミー実行制御手段は、準備プログラムを、その準備プログラムについての正規のタイミングよりも前のタイミングで、ＣＰＵに実行させるようになっている。
このような請求項１０のマイクロコンピュータによれば、準備プログラムを、その準備プログラムを実行する正規のタイミングにおいて、インストラクションキャッシュメモリから読み出せるようになる。このため、準備プログラムの実行時間を短縮することができる。よって、速やかに車両制御用プログラムの実行に移行することができ、車両制御用プログラムの実行終了までの時間を短縮することができる。
【００３８】
ここで、請求項８のマイクロコンピュータでは、例えばエンジンの回転数が高くなるにつれ、エンジン制御用プログラムをより短周期で実行する必要があり、エンジン制御用プログラムが実行されていない時間帯（以下、アイドル時間帯という）が少なくなってしまう。このような場合、請求項１１のように構成すればよい。
【００３９】
請求項１１のマイクロコンピュータは、請求項８のマイクロコンピュータにおいて、エンジン制御用プログラムは複数あり、ダミー実行制御手段は、エンジンの回転数の高低を判定するとともに、複数のエンジン制御用プログラムのうち、正規のタイミングよりも前のタイミングでＣＰＵに実行させるプログラムを、判定結果に基づき変更するようになっている。
【００４０】
このような請求項１１のマイクロコンピュータでは、例えば、エンジンが高回転領域の場合は、より優先度の高いエンジン制御用プログラムを、正規のタイミングよりも前のタイミングで実行させるようにすることができる。そして、エンジンが中回転領域、或いは低回転領域へと移行するにしたがって、正規のタイミングよりも前のタイミングで実行させるエンジン制御用プログラムの種類を増やすようにすることができる。このように構成すれば、アイドル時間帯に余裕がある場合には、より多くのエンジン制御用プログラムをインストラクションキャッシュメモリに予め格納させておくことができる。一方、アイドル時間帯に余裕がない場合でも、より優先度の高いエンジン制御用プログラムをインストラクションキャッシュメモリに予め格納しておくようにすることができ有利である。
【００４１】
また、ここで、前述の変速機は、変速段を切り換えることで変速を実現するものであるが、変速段の切り換えのためには、切り換えのための制御が実行しなければならない。そこで、請求項９のマイクロコンピュータにおいては、請求項１２のように構成することが好ましい。
【００４２】
請求項１２のマイクロコンピュータでは、ダミー実行制御手段は、複数の変速機制御用プログラムのうち、正規のタイミングよりも前のタイミングで前記ＣＰＵに実行させるプログラムを、変速段の切換中／非切換中に応じて変更するようになっている。
【００４３】
このような請求項１２のマイクロコンピュータによれば、変速段の切り換え中には、特に、変速段の切り換え制御のための変速機制御用プログラムを、予めインストラクションキャッシュメモリに格納しておくようにすることができる。これによれば、変速中に、変速段の切り換え制御がより高速に実行されるようになり、有利である。一方、非変速中は、変速段の切り換え制御のための変速機制御用プログラムを予めインストラクションキャッシュメモリに格納させておかなくてもよく、これによれば、効率的で好ましい。
【発明を実施するための最良の形態】
【００４４】
以下に、本発明の実施形態を図面に基づき説明する。
［第１実施形態］
図１は、本発明が適用されたマイクロコンピュータ（以下、マイコンと言う）２の構成を表す構成図である。尚、マイコン２は、車両に搭載され、その車両のエンジンを制御する電子制御装置（以下、ＥＣＵと言う）１に備えられるものである。
【００４５】
本実施形態のマイコン２は、前述した図７のマイコン１００において、Ａ／Ｄコンバータ４０がさらに備えられたものである。Ａ／Ｄコンバータ４０は内部バス５０に接続されるとともに、そのＡ／Ｄコンバータ４０には、エンジンの冷却水温を検出するための水温センサ３、アクセル開度を検出するためのアクセルペダルセンサ４、及びスロットル開度を検出するためのスロットルセンサ５からの各信号が入力される。そして、Ａ／Ｄコンバータ４０は、ＣＰＵ１０からの指令に基づき、上記各センサから入力される信号に対してＡ／Ｄ変換を行う。
【００４６】
また、マイコン２において、ＲＯＭ２０には格納領域２９が設けられているが、この格納領域２９については後述する。
そして、ＣＰＵ１０（実際には、ＣＰＵコア１２）は、図７のＣＰＵ１０と同様に、優先度の異なる４つの処理（図５参照）を実行する。つまり、高優先度処理、中優先度処理、低優先度処理、及びアイドル処理である。
【００４７】
図５（ａ）の高優先度処理は、６ｍｓｅｃ毎に実行されるものであり、開始タイミングになると、Ｓ２００において以下のような処理が実行される。
まず、水温センサ３、アクセルペダルセンサ４、及びスロットルセンサ５からの信号に対してのＡ／Ｄ変換をＡ／Ｄコンバータ４０に実行させるとともに、そのＡ／Ｄ変換により得られた値（以下、Ａ／Ｄ変換値と言う）を、ＲＡＭ３０の格納領域３２に記憶させる。そしてさらに、アクセルペダルセンサ４及びスロットルセンサ５からの信号についてのＡ／Ｄ変換値に基づき、そのスロットルセンサ５が備えられている図示しない電子スロットルの異常判断処理を行う。具体的には、例えば、アクセルペダルの開度に対する電子スロットルの開度の差を算出し、その差が許容範囲内にないとすれば、電子スロットルに異常が生じていると判断する。この電子スロットルの開度或いはアクセルペダルの開度は、車両の運転状態を表す重要な情報であるため、上記のような高優先度処理は、決められたタイミングでかつ中断されることなく実行される必要がある。
【００４８】
そして、図５（ｂ）の中優先度処理は、１２ｍｓｅｃ毎に実行され、開始タイミングになると、Ｓ３００の処理が実行される。Ｓ３００では、格納領域３２に記憶された水温センサ３からの信号についてのＡ／Ｄ変換値に基づき、エンジンの冷却水温が算出され、その算出された冷却水温を表すデータがＲＡＭ３０の格納領域３４に記憶される。
【００４９】
また、図５（ｃ）の低優先度処理は、１６ｍｓｅｃ毎に実行され、開始タイミングになると、Ｓ４００の処理が実行される。Ｓ４００では、格納領域３４に記憶された冷却水温を表すデータに基づき水温センサ３の故障判定が行われるとともに、その判定結果がＲＡＭ３０の格納領域３６に記憶される。故障判定について、例えば、冷却水温を検出する機構が水温センサ３とは別に設けられている場合、その機構により得られた冷却水温と水温センサ３からの信号に基づき算出された冷却水温とを比較し、両者が大きく異なる場合には、例えば水温センサ３の故障と判定することが考えられる。水温センサ３の故障と判定された場合には、その旨がさらに図示しない不揮発性のメモリ（例えばＥＥＰＲＯＭ等）に記憶される。
【００５０】
またさらに、図５（ｄ）のアイドル処理は、特に制御等をしない処理であり、上記の高優先度処理、中優先度処理或いは低優先度処理が実行されない時間帯に実行されるものである。ＣＰＵコア１２は、Ｓ５００のアイドル処理実行中はいわゆる待機状態ということになる。尚、図１において、ＲＡＭ３０の格納領域３８には、後述するダミーＡ／Ｄ変換値が記憶されるようになっている。
【００５１】
ところで、ＣＰＵコア１２は、上記のような高優先度処理、中優先度処理、低優先度処理、及びアイドル処理を実行する際には、その各処理のプログラムを読み込む。この場合、まずインストラクションキャッシュメモリ１４にアクセスして、そのインストラクションキャッシュメモリ１４からの読み込みを試みる。そして、インストラクションキャッシュメモリ１４に読み込みたいプログラムが存在すれば、そのインストラクションキャッシュメモリ１４からプログラムを読み込む。一方、インストラクションキャッシュメモリ１４に読み込みたいプログラムが存在しない場合には、ＲＯＭ２０にアクセスしてそのＲＯＭ２０からプログラムを読み込むこととなる。ＲＯＭ２０からプログラムを読み込んだ場合には、その読み込んだプログラムは、インストラクションキャッシュメモリ１４に更新記憶される。そして、ＣＰＵコア１２はインストラクションキャッシュメモリ１４に対してはＲＯＭ２０と比較して高速にアクセスできるため、ＣＰＵコア１２が上記各処理を実行する際にプログラムをインストラクションキャッシュメモリ１４から読み込むことができれば、処理時間の短縮が望める。
【００５２】
ここで、ＲＯＭ２０の格納領域２２〜２８に記憶されている各プログラムがどのようにインストラクションキャッシュメモリ１４に記憶されるかについて、図２を用いて説明する。
【００５３】
図２は、ＲＯＭ２０及びインストラクションキャッシュメモリ１４の構成図である。本実施形態において、インストラクションキャッシュメモリ１４は、アドレス０ｘ０００〜０ｘＦＦＦが割り当てられたブロック（プログラムを格納する領域）から構成されている。また、インストラクションキャッシュメモリ１４の記憶容量は４Ｋｂｙｔｅ（キロバイト）である。尚、図２において、アドレスは、１６進数で表している。
【００５４】
また、前述のように、ＲＯＭ２０の格納領域２２には高優先度処理プログラムが記憶されているが、この高優先度プログラムは、ＲＯＭ２０において、アドレス０ｘ００００〜０ｘ０７ＦＦのブロックに記憶されている。尚、高優先度処理プログラムのデータ量は２Ｋｂｙｔｅである。また、中優先度処理プログラムは、データ量が４Ｋｂｙｔｅであり、アドレス０ｘ０８００〜０ｘ１７ＦＦのブロック（格納領域２４）に記憶されている。低優先度処理プログラムは、データ量が８Ｋｂｙｔｅであり、アドレス０ｘ１８００〜０ｘ３７ＦＦのブロック（格納領域２６）に記憶されている。そして、アイドル処理プログラムは、データ量が２Ｋｂｙｔｅであり、アドレス０ｘ３８００〜０ｘ４ＦＦＦのブロック（格納領域２８）に記憶されている。
【００５５】
ＣＰＵコア１２は、一定のデータ量（例えば３２ｂｙｔｅ）ずつ、ＲＯＭ２０からプログラムを読み込み、その読み込んだプログラムをインストラクションキャッシュメモリ１４に更新記憶させる。この場合に、インストラクションキャッシュメモリ１４のブロックのアドレスと、ＲＯＭ２０のブロックのアドレスとが対応づけられて、ＲＯＭ２０から読み出されたプログラムは順次インストラクションキャッシュメモリ１４に更新記憶される。
【００５６】
具体的には、アドレスの下位１２ビット（１６進数表示の下３桁）について対応付けがなされる。例えば、ＲＯＭ２０においてアドレス０ｘ００００〜０ｘ０７ＦＦのブロックに記憶されている高優先度処理プログラムは、インストラクションキャッシュメモリ１４のアドレス０ｘ０００〜０ｘ７ＦＦのブロックに記憶される。また、ＲＯＭ２０においてアドレス０ｘ０８００〜０ｘ１７ＦＦのブロックに記憶されている中優先度処理プログラムは、そのＲＯＭ２０におけるアドレス０ｘ０８００〜０ｘ０ＦＦＦのブロックの部分についてはインストラクションキャッシュメモリ１４のアドレス０ｘ８００〜０ｘＦＦＦのブロックに記憶され、ＲＯＭ２０におけるアドレス０ｘ１０００〜０ｘ１７ＦＦのブロックの部分についてはインストラクションキャッシュメモリ１４のアドレス０ｘ０００〜０ｘ７ＦＦのブロックに記憶されるようになっている。
【００５７】
低優先度処理プログラム及びアイドル処理プログラムについても同様である。つまり、低優先度処理プログラムについて、ＲＯＭ２０におけるアドレス０ｘ１８００〜０ｘ１ＦＦＦ及び０ｘ２８００〜０ｘ２ＦＦＦのブロックの部分についてはインストラクションキャッシュメモリ１４のアドレス０ｘ８００〜０ｘＦＦＦのブロックに記憶され、ＲＯＭ２０におけるアドレス０ｘ２０００〜０ｘ２７ＦＦ及び０ｘ３０００〜０ｘ３７ＦＦのブロックの部分についてはインストラクションキャッシュメモリ１４のアドレス０ｘ０００〜０ｘ７ＦＦのブロックに記憶される。また、ＲＯＭ２０のアドレス０ｘ３８００〜０ｘ４ＦＦＦのブロックに記憶されているアイドル処理プログラムは、インストラクションキャッシュメモリ１４のアドレス０ｘ８００〜０ｘＦＦＦのブロックに記憶される。
【００５８】
そして特に、本実施形態のマイコン２では、高優先度処理が実行される正規のタイミングよりも前のタイミングで高優先度処理がダミー実行され、高優先度処理プログラムが上記の正規のタイミングにおいては予めインストラクションキャッシュメモリ１４に配置されるようになっている。以下、具体的に説明する。
【００５９】
まず、図３（ａ）は、上記各処理の実行タイミングを表すタイミングチャートである。また、図３（ｂ）は、インストラクションキャッシュメモリ１４の占有状態を表す図であり、図３（ｃ）は、ＣＰＵコア１２がインストラクションキャッシュメモリ１４からプログラムを読み出すことのできる確率（ヒット率）を模式的に表した図である。
【００６０】
図３（ａ）に示すように、この例では、０ｍｓｅｃのタイミングでは、アイドル処理が実行されている。そして特に、本実施形態のマイコン２では、このアイドル処理の実行中に、正規のタイミングにおける高優先度処理（開始時刻が０．５ｍｓｅｃである１回目の高優先度処理）とは別に、高優先度処理がダミー実行される。尚、以下の説明において、このダミー実行される高優先度処理をダミー高優先度処理と記載する。
【００６１】
ダミー高優先度処理の具体的な内容は、正規の高優先度処理と同じである。尚、例えば、正規の高優先度処理では前述したような電子スロットルの異常判断を行うが、ダミー高優先度処理ではそのような異常判断の処理を行わないこととしてもよい。このようにすれば、ＣＰＵコア１２の負荷を抑えることができる。
【００６２】
そして、ダミー高優先度処理が実行された場合、インストラクションキャッシュメモリ１４には高優先度処理プログラムが記憶される。この場合に、図３（ｂ）に示すように、インストラクションキャッシュメモリ１４の５０％はアイドル処理プログラムで占有され、残りの５０％は高優先度処理プログラムで占有されることとなる。前述したように、インストラクションキャッシュメモリ１４の記憶容量が４Ｋｂｙｔｅであるのに対し、高優先度処理プログラム及びアイドル処理プログラムのデータ量がともに２Ｋｂｙｔｅだからである。
【００６３】
そして、０．５ｍｓｅｃのタイミングでは、正規の高優先度処理（１回目）が実行される。尚、高優先度処理の１回目の開始タイミングは予め設定されており、２回目以降については、前述のように６ｍｓｅｃ毎に実行される。１回目の高優先度処理において、高優先度処理プログラムは全てインストラクションキャッシュメモリ１４に記憶されているため、１回目の高優先度処理の実行に際してのヒット率は１００％となる。そして、この例では、この１回目の高優先度処理は１．０ｍｓｅｃで終了する。つまり、高優先度処理プログラムの実行時間（実行開始から実行終了までの時間）は０．５ｍｓｅｃである。
【００６４】
次に、１回目の中優先度処理は、１回目の高優先度処理が終了すると開始され、２回目以降については、前述のように１２ｍｓｅｃ毎に実行される。１回目の中優先度処理の実行に際しては、インストラクションキャッシュメモリ１４には中優先度処理プログラムは配置されていないため、最初はヒット率は小さい。そして、ＣＰＵコア１２がＲＯＭ２０から中優先度処理プログラムを読み込むとともにその中優先度処理プログラムがインストラクションキャッシュメモリ１４に配置されるにつれヒット率は徐々に向上する。
【００６５】
ここで、前述のように、中優先度処理プログラムのデータ量は４Ｋｂｙｔｅであり、中優先度処理プログラムの全てはインストラクションキャッシュメモリ１４に配置されることが可能である。そして、この例では、中優先度処理は、２．５ｍｓｅｃで終了する。中優先度処理プログラムの実行時間は１．５ｍｓｅｃである。
【００６６】
さらに、１回目の低優先度処理は、１回目の中優先度処理が終了すると開始され、２回目以降については、前述のように１６ｍｓｅｃ毎に実行される。１回目の低優先度処理の実行に際しては、中優先度処理と同様最初はヒット率は小さいが、ＣＰＵコア１２がＲＯＭ２０から低優先度処理プログラムを読み込むとともにその低優先度処理プログラムがインストラクションキャッシュメモリ１４に配置されるにつれヒット率は徐々に向上する。
【００６７】
ここで、インストラクションキャッシュメモリ１４の記憶容量４Ｋｂｙｔｅに対し低優先度処理プログラムのデータ量は８Ｋｂｙｔｅであり、低優先度処理プログラムの全てをインストラクションキャッシュメモリ１４に配置することはできないが、例えば低優先度処理プログラムのうち、使用頻度の高いプログラムがより多くインストラクションキャッシュメモリ１４に配置されることが考えられる。この場合、ヒット率の向上が期待される。そして、この例では、低優先度処理は、４．５ｍｓｅｃで終了する。低優先度処理プログラムの実行時間は２．０ｍｓｅｃである。
【００６８】
１回目の低優先度処理終了後は、高優先度処理、中優先度処理或いは低優先度処理の実行タイミングとなるまで、アイドル処理が実行される。そして、前述のように、再びこのアイドル処理の実行中にダミー高優先度処理が実行されることとなる。
【００６９】
次に、図３に示すような作用がどのように実現されるかについて、図４のフローチャートを用いて説明する。
図４に示す管理処理は、オペレーティングシステム（以下、ＯＳと言う）上で実行される処理である。ＯＳのプログラムは、ＲＯＭ２０の図示しない格納領域に記憶されており、マイコン２が立ち上げられると、ＣＰＵコア１２によりそのＯＳのプログラムが読み込まれて実行される。言い換えると、ＯＳが起動される。そして、ＯＳが起動されると、管理処理が開始される。
【００７０】
また、前述した高優先度処理プログラム、中優先度処理プログラム、低優先度処理プログラム及びアイドル処理プログラムは、アプリケーションプログラムであり、ＯＳにより、優先度に従って各プログラムの実行管理がされる。
【００７１】
この管理処理では、まず、Ｓ１１０にて、現在実行中の処理の他に実行すべき処理があるか否かが判定される。具体的に、例えば、中優先度処理の実行中に高優先度処理の実行タイミングが重なった場合には、高優先度処理が実行されるべきと判定され（Ｓ１１０：ＹＥＳ）、中優先度処理の実行途中であっても高優先度処理が実行される（Ｓ１２０）。同様に、例えば、低優先度処理の実行中に、中優先度処理或いは高優先度処理の実行タイミングが重なった場合には（Ｓ１１０：ＹＥＳ）、低優先度処理の実行途中であっても中優先度処理或いは高優先度処理が実行される（Ｓ１２０）。アイドル処理の実行中に高優先度処理、中優先度処理或いは低優先度処理の実行タイミングとなった場合には（Ｓ１１０：ＹＥＳ）、その高優先度処理、中優先度処理、或いは低優先度処理が実行される（Ｓ１２０）。
【００７２】
また、Ｓ１１０にて他に実行されるべき処理がないと判定された場合には（Ｓ１１０：ＮＯ）、次にＳ１３０へ移行し、ダミー高優先度処理が実行される。
ここで、Ｓ１１０において否定判定される態様としては、例えばアイドル処理が実行されており、実行されるべき処理として高優先度処理、中優先度処理或いは低優先度処理の何れも該当しないと判定される場合がある（図３のアイドル処理の実行時間帯）。また、例えば中優先度処理或いは低優先度処理を実行している場合でも、制御のためのプログラムを特に実行しておらず指令待ちの状態であるような場合にも、否定判定されるようにすることができる。
【００７３】
そして、Ｓ１３０から移行したＳ１１０にて、高優先度処理が実行されるべきと判定されれば（Ｓ１１０：ＹＥＳ）、高優先度処理の実行（Ｓ１２０）に際しては、実行時間が短縮される。インストラクションキャッシュメモリ１４には、Ｓ１３０のダミー高優先度処理により予め高優先度処理プログラムが記憶されているからである。
【００７４】
一方、Ｓ１３０から移行したＳ１１０にて、例えば中優先度処理或いは低優先度処理が実行されるべきと判定され、その中優先度処理或いは低優先度処理が実行されても、再びＳ１１０に戻った際に否定判定されれば、ダミー高優先度処理が実行されることとなり、その後正規の高優先度処理が実行されることとなった場合に実行時間の短縮が期待される。
【００７５】
以上のように、本実施形態のマイコン２においては、高優先度処理が実行される正規のタイミングよりも前のタイミングで、ダミー高優先度処理が実行される。すると、そのダミー高優先度処理の実行の際に、高優先度処理プログラムがインストラクションキャッシュメモリ１４に記憶される。そして、正規のタイミングにおいては、ＣＰＵコア１２は、高優先度処理プログラムをインストラクションキャッシュメモリ１４から読み出すことができるようになるのである。このため、正規のタイミングにおける高優先度処理の実行時間を短縮させることができる。
【００７６】
また、インストラクションキャッシュメモリ１４は、その全領域が書き換え可能に開放されているため、中優先度処理或いは低優先度処理について、その実行時間が大きくなってしまうことがない。インストラクションキャッシュメモリ１４に記憶させることができるプログラムのデータ量が大きくなるためである。そして例えば、中優先度処理プログラム或いは低優先度処理プログラムの実行に際して複数パターンのループ処理が実行される場合に、そのループ処理のためのプログラムをより多くインストラクションキャッシュメモリに記憶しておくことができるため、ヒット率の向上が望める。また、例えば中優先度或いは低優先度処理の実行途中に高優先度処理の割り込みがあった場合でも、その後中優先度処理或いは低優先度処理の実行再開に際しては、中優先度処理プログラム或いは低優先度処理プログラムがインストラクションキャッシュメモリ１４に記憶されている確率が高くなると言える。
【００７７】
ところで、前述のように、正規のタイミングの高優先度処理によるＡ／Ｄ変換値は、格納領域３２に記憶される。そして、本実施形態において、正規のタイミング以外のタイミングにおけるダミー高優先度処理によるＡ／Ｄ変換値は、格納領域３８に格納されるようになっている。この種のマイコンにおいては、正規のタイミング以外のタイミングにおけるＡ／Ｄ変換値（以下、ダミーＡ／Ｄ変換値と言う）が他の処理（例えば中優先度処理）で使用された場合、適切にその処理が実行されなかったり、期待の結果が得られなかったりするおそれがある。そのため、ダミーＡ／Ｄ変換値が使用されないようにする必要がある。そして、本実施形態において、格納領域３８に記憶されるデータは使用されないようになっている。
【００７８】
図６に、高優先度処理プログラムのうち、Ａ／Ｄ変換値を定義（正規或いはダミーの何れかを定義）する部分のプログラムの一例を示す。尚、ここでは、Ａ／Ｄ変換値として、水温センサ３からの信号に対してのＡ／Ｄ変換値について説明するものとする。
【００７９】
正規のタイミングにおける高優先度処理においては、（Ａ）及び（ａ）に示すプログラムが、ＲＯＭ２０（或いはインストラクションキャッシュメモリ１４）より読み込まれる。この場合、高優先度処理にて算出されるＡ／Ｄ変換値は、（ａ）において中かっこの上段に記述されているように、「水温Ａ／Ｄ変換値」として扱われる（つまりは、正規のＡ／Ｄ変換値として扱われる）こととなる。これにより、正規の格納領域としての格納領域３２、そのＡ／Ｄ変換値が記憶されることとなる。
【００８０】
一方、正規のタイミング以外のタイミングにおけるダミー高優先度処理においては、（Ｂ）及び（ｂ）に示すプログラムが、ＲＯＭ２０（或いはインストラクションキャッシュメモリ１４）より読み込まれる。この場合、ダミー高優先度処理にて算出されるＡ／Ｄ変換値は、（ｂ）において中かっこの上段に記述されているように、「ダミー水温Ａ／Ｄ変換値」として扱われることとなる。これにより、ダミー高優先度処理により算出されるＡ／Ｄ変換値は、ダミー水温Ａ／Ｄ変換値として、格納領域３８に記憶されることとなる。尚、（Ａ），（ａ）或いは（Ｂ），（ｂ）の何れが読み込まれるかは、読み込みのタイミングにより（言い換えると、正規の高優先度処理か或いはダミー高優先度処理かにより）決定される。
【００８１】
また、図６のプログラムにおいては、中優先度処理にて算出される冷却水温のデータ、及び低優先度処理にて算出される故障判定のデータについても記述がされている。そのため、中優先度処理についてダミー中優先度処理が実行され、低優先度処理についてダミー低優先度処理が実行されるようにしたとしても、上記のように、正規のデータは正規の格納領域（格納領域３４，３６）に記憶され、ダミーのデータは、例えば格納領域３８に記憶されるようにすることができる。
【００８２】
またここで、例えばダミー高優先度処理におけるダミーＡ／Ｄ変換値の格納領域は、ＲＯＭ２０に設定することも可能である。図１において、ＲＯＭ２０における格納領域２９は、ダミーＡ／Ｄ変換値用の格納領域である。この場合に、格納領域２９がダミーＡ／Ｄ変換値用の格納領域であることを表すプログラムをＲＯＭ２０に記憶させておき、ＣＰＵコア１２によりそのプログラムが読み込まれるようにしておけばよい。そして、ダミーＡ／Ｄ変換値が格納領域２９に転送される場合、ＲＯＭ２０にはそもそもデータを書き込むことができないため、ダミーＡ／Ｄ変換値の書き込みは無視される。
【００８３】
よって、ダミーＡ／Ｄ変換値が他の処理で使用されることは生じ得ないため、処理が適切に実行されなかったり、期待の結果が得られなかったりするという問題が生じることがない。また、格納領域２９は、実際には記憶容量を有しない仮想的な領域としておけばよいため、メモリ資源を節約することができる。
【００８４】
尚、本実施形態において、図４のＳ１３０の処理がダミー実行制御手段に相当し、格納領域３２が真値記憶部に相当し、ＣＰＵコア１２が図６のプログラムに従い動作してＡ／Ｄ変換値を格納領域３２或いは格納領域３８の何れかに記憶させる処理が、記憶制御手段に相当している。
［第２実施形態］
次に、本発明のマイクロコンピュータを用いた実施形態について説明する。
【００８５】
図９は、第２実施形態としてのエンジン制御システムを表す構成図である。このエンジン制御システムでは、例えば４気筒４サイクルエンジンを制御対象としており、エンジン制御用のエンジンＥＣＵ１が、各気筒に設けられたインジェクタ１０３及びイグナイタ１０４を駆動してエンジンを制御する。尚、図９では、１つの気筒のみ示している。また、エンジンＥＣＵ１の構成は、基本的に図１のＥＣＵ１と同じであり、以下、同じ構成については同じ符号を用いて説明する。
【００８６】
４サイクルエンジンの駆動行程は、吸気、圧縮、燃焼、排気の各行程からなる。
まず吸気行程では、シリンダ１０１内のピストン１０２が下降して、燃料と空気との混合気がシリンダ１０１内に供給される。具体的に、燃料タンク１０６内の燃料が、ポンプ１０７を介してインジェクタ１０３に供給されると共に、エンジンＥＣＵ１が、インジェクタ１０３を開弁するための噴射信号（例えば、アクティブレベルがハイレベル）を出力すると、その噴射信号がアクティブレベルの間、インジェクタ１０３が開弁して燃料が噴射される。また、電子スロットル１０５のスロットルバルブが開くことにより、空気が供給される。尚、スロットルバルブの開度は、例えば運転手のアクセル操作量に基づき制御されるようになっている。
【００８７】
一方、混合気がシリンダ１０１内に供給された後、ピストン１０２が上昇して、シリンダ１０１内の混合気が圧縮される（圧縮行程）。そして、混合気が圧縮された状態において、所定のタイミングで、エンジンＥＣＵ１がイグナイタ１０４を駆動するための点火信号を出力すると、イグナイタ１０４が点火プラグに高電圧を印加し、混合気が点火されてその混合気が燃焼（爆発）する（燃焼行程）。これにより、ピストン１０２が駆動する。
【００８８】
その後、ピストン１０２が上昇することにより、燃焼後の燃焼ガスが排気される（排気行程）。
図１０は、エンジン制御の一例を表すタイムチャートである。
【００８９】
図１０において、１段目のＮＥ３０°信号は、周知のクランクセンサ（図示せず）から、クランクシャフトが例えば１０°回転する毎に出力されるパルスに基づいてエンジンＥＣＵ１において生成されるものであり、クランクシャフトが３０°回転する期間を１周期としたパルス信号である。尚、このＮＥ３０°信号の立ち上がりタイミング、或いは立ち下がりタイミングにて、各種処理が開始されるようになっている。また、パルス間隔は、例えばＲＡＭ３０に記憶される。
【００９０】
また、２段目のＴＤＣは、エンジンＥＣＵ１において生成され、ピストン１０２の位置が最上の位置（上死点）となる毎に、ロー→ハイ→ローと変化する信号である。
また、エンジンＥＣＵ１には、クランクカウンタ（図示せず）が設けられている。クランクカウンタは、３段目に示すように、クランクシャフトが２回転（０°〜７２０°）する間に、０から２３までカウントアップする。つまり、クランクシャフトが３０°回転する毎に、１ずつカウントアップする。このため、クランクカウンタの値を参照することにより、クランクシャフトの回転角度（０°〜７２０°の間で、３０°の倍数値）が分かるようになっている。
【００９１】
４段目は、第１（＃１）気筒〜第４（＃４）気筒における各行程（吸入、圧縮、燃焼、排気）の流れの一例を表したものである。
そして、５〜７段目は、４つの気筒のうち、特に、第１気筒における燃料噴射制御及び点火制御の例を表したものである。尚、燃料噴射タイミング及び燃料噴射期間、或いは点火タイミング及び点火期間は可変であり、種々の条件に応じて制御される。
【００９２】
次に、エンジンＥＣＵ１のＣＰＵ１０が実行する処理について説明する。ＣＰＵ１０は、高優先度処理、中優先度処理、低優先度処理、アイドル処理を実行する。
図１１に、高，中，低優先度処理の各フローチャートを示す。このうち、高優先度処理は、クランクシャフトが３０°回転する毎、具体的に、ＮＥ３０°信号の立ち下がりタイミングで毎回実行される。一方、中，低優先度処理は、それぞれ、エンジンの回転数等に応じて所定のタイミングで実行される。尚、アイドル処理は、図５（ｄ）と同じである。
【００９３】
図１１に示すように、ＣＰＵ１０は、高優先度処理では、Ｓ６００にて、後述する（図１２）ＮＥ３０°信号割り込み処理を実行する。また、中優先度処理では、Ｓ６５０にて、水温センサ３からの信号に基づき、エンジンの冷却水温を算出する処理を実行する。また、低優先度処理では、Ｓ６７０にて、水温センサ３の異常（故障）の有無を判定する処理を実行する。
【００９４】
次に、図１２を用いて、ＮＥ３０°信号割り込み処理の内容について説明する。尚、中，低優先度処理については、ここでは詳しい説明を省略する。
ＮＥ３０°信号割り込み処理では、まず、Ｓ６１０にて、ＮＥ３０°信号のパルス間隔（例えば、直前のパルス間隔）を算出することにより、エンジン回転数を算出する。そして、その算出したエンジン回転数のデータをＲＡＭ３０の所定の格納領域に更新記憶させる。
【００９５】
次に、Ｓ６２０へ進み、クランクカウンタ（図１０の３段目参照）のカウント値を読み出す。そして、その読み出したカウント値をＲＡＭ３０の所定の格納領域に更新記憶させる。
【００９６】
次に、Ｓ６３０へ進み、クランクシャフトが３０°回転する毎に実行すべき３０°毎イベント処理を実行する。そして、その後、当該処理を終了する。
ここで、３０°毎イベント処理として、図１２に示すように、例えば噴射処理や点火処理を実行する。
【００９７】
噴射処理では、まず、Ｓ７１０にて、例えばエンジン回転数や冷却水温等の種々のデータに基づき、噴射すべき燃料噴射量を算出する。
次に、Ｓ７２０へ進み、同じくエンジン回転数や冷却水温、或いはＳ７１０で算出した燃料噴射量等の種々のデータに基づき、燃料噴射タイミング（クランクシャフトの回転角度）を算出する。
【００９８】
そして、Ｓ７３０において、噴射信号を生成するための処理を実行する。具体的に、噴射信号を出力するためのタイマに対して、Ｓ７２０で算出した燃料噴射タイミング（時刻）と、Ｓ７１０で算出した燃料噴射量に相当する燃料噴射時間（期間）とをセットする。すると、そのタイマにセットされた燃料噴射タイミングから、燃料噴射時間だけ、噴射信号がハイレベルになり、燃料噴射が実行される。
【００９９】
また、点火処理では、まず、Ｓ７５０にて、例えばエンジン回転数や冷却水温等の種々のデータに基づき、点火期間（点火プラグの通電期間）を算出する。
次に、Ｓ７６０へ進み、同じくエンジン回転数や冷却水温、或いはＳ７５０で算出した点火期間等の種々のデータに基づき、点火タイミング（クランクシャフトの回転角度）を算出する。
【０１００】
そして、Ｓ７７０において、点火信号を生成するための処理を実行する。具体的に、点火信号を出力するためのタイマに対して、Ｓ７６０で算出した点火タイミング（時刻）と、Ｓ７５０で算出した点火期間とをセットする。すると、そのタイマにセットされた点火タイミングから、点火期間だけ、点火信号がハイレベルになり、点火が実行される。
【０１０１】
また、ＣＰＵ１０は、図１３の管理処理を実行する。尚、図１３の管理処理は、図４の管理処理と比較して、Ｓ１３０の処理に代えてＳ１５０のダミー処理を実行する点が異なっている。この点について説明すると、Ｓ１５０のダミー処理では、高優先度処理（ＮＥ３０°信号割り込み処理）と共に、中優先度処理の一部（前半部分）もダミー実行するようになっている。一方、他の処理は図４と同じである。例えば、ダミー処理（Ｓ１５０）の実行中に、他に実行すべき処理があれば（Ｓ１１０：ＹＥＳ）、その実行すべき処理を実行する（Ｓ１２０）。
【０１０２】
ここで、図１４を用いて、Ｓ１５０のダミー処理で実行される処理について、正規の処理と比較しつつ説明する。
図１４において、上段の処理は、正規のタイミングで実行される高優先度処理（ＮＥ３０°信号割り込み処理）である。この正規のＮＥ３０°信号割り込み処理では、エンジン制御構造体を引数パラメータとして、（Ｃ）で示すエンジン制御構造体を、ＲＯＭ２０或いはインストラクションキャッシュメモリ１４から読み込む。このエンジン制御構造体は、ＮＥ３０°信号割り込み処理のプログラムの一部をなすものであり、予めＲＯＭ２０に記憶されている。
【０１０３】
エンジン制御構造体には、例えばエンジン回転数、クランクカウンタ、噴射時期、点火時期といったメンバ（要素データ）が含まれており、ＣＰＵ１０は、前述の噴射処理や点火処理で、その要素データの読み出し／書き込みを行うようになっている。
【０１０４】
一方、図１４において、下段の処理は、図１３のＳ１５０で実行されるダミー処理の一例である。
このダミー処理では、Ｓ１７０にて、ＮＥ３０°信号割り込み処理をダミー実行する。具体的に、ダミー構造体を引数パラメータとして、（Ｄ）で示すダミー構造体を、ＲＯＭ２０或いはインストラクションキャッシュメモリ１４から読み込む。尚、このダミー構造体も、予めＲＯＭ２０に記憶されている。その他は、前述した正規の処理の場合と同じであり、ここでは説明を省略する。
【０１０５】
ところで、ダミー構造体に含まれるデータは正規のデータではなく、正しいとは限らないが、ダミー構造体に対しては、ダミー実行の場合にのみアクセスされ、正規の処理においては、アクセスされない。このため、ダミー実行により算出されたデータが、正規のエンジン制御に使用されることはない。
【０１０６】
次に、Ｓ１８０にて、中優先度処理をダミー実行する。この場合も、ダミー構造体を引数パラメータとして、（Ｄ）のダミー構造体に対して、読み込み／書き込みを行う。ここで、このＳ１８０の処理では、特に、中優先度処理を構成するプログラムの容量が半々となるように、中優先度処理を前半部分と後半部分とに分け、前半部分をダミー実行するようになっている。
【０１０７】
次に、本第２実施形態の作用について、図１５及び図１６を用いて説明する。尚、ここでは、エンジン回転数が一定であるものとする。そして、ＮＥ３０°信号の１周期は３．０ｍｓｅｃとなっている。つまり、高優先度処理（ＮＥ３０°信号割り込み処理）は、３．０ｍｓｅｃ毎に実行されるようになっている。
【０１０８】
一方、図１５の例では、中優先度処理は４．０ｍｓｅｃ毎に実行され、低優先度処理は８．０ｍｓｅｃ毎に実行されるようになっている。また、中優先度処理プログラムの容量は４ＫＢであり、低優先度処理プログラムの容量は８ＫＢであり、インストラクションキャッシュメモリ１４の容量は４ＫＢである。
【０１０９】
図１５において、まず、０ｍｓｅｃのタイミングでは、アイドル処理が実行されている。
一方、ＮＥ３０°信号割り込み処理（高優先度処理）は、前述のように、ＮＥ３０°信号の立ち下がり毎に実行され、この例では、２．５ｍｓｅｃのタイミングで１回目が実行される。
【０１１０】
また、中優先度処理は、４．０ｍｓｅｃのタイミングで１回目が実行され、低優先度処理は、６．０ｍｓｅｃのタイミングで１回目が実行される。
尚、中優先度処理或いは低優先度処理の実行中に、より優先度の高い処理の実行タイミングとなった場合には、現在実行中の処理が中断され、その優先度の高い処理が実行される（図１３のＳ１１０：ＹＥＳ、Ｓ１２０）。例えば、８．０ｍｓｅｃにおける２回目の中優先度処理の実行中に、高優先度処理の実行タイミング（８．５ｍｓｅｃ）となっており、この場合は、中優先度処理が中断されて高優先度処理が実行される。そして、その高優先度処理が終了した後、中断されていた中優先度処理が再開される。１４．０ｍｓｅｃにおける低優先度処理についても同様である。
【０１１１】
ここで、アイドル処理の実行中には、図１４のダミー処理が実行される。つまり、ＮＥ３０°信号割り込み処理と、中優先度処理の前半部分とがダミー実行される。尚、以下、中優先度処理のプログラムについて、前半部分のプログラムを中優先度処理プログラムＡと記載し、後半部分のプログラムを中優先度処理プログラムＢと記載する。
【０１１２】
そして、例えば、０〜２．５ｍｓｅｃでダミー処理が実行されると、インストラクションキャッシュメモリ１４の５０％は、高優先度処理プログラムで占有され、残りの５０％は、中優先度処理プログラムＡで占有される。
【０１１３】
この場合、２．５ｍｓｅｃのタイミングにおける正規の高優先度処理では、ＣＰＵ１０は、インストラクションキャッシュメモリ１４から高優先度処理プログラムを読み出せるようになる（キャッシュヒット）。
【０１１４】
また、３．０〜４．０ｍｓｅｃのアイドル処理後、４．０ｍｓｅｃのタイミングにおける正規の中優先度処理では、ＣＰＵ１０は、インストラクションキャッシュメモリ１４から、中優先度処理プログラムＡを読み出すことができる。一方、中優先度処理プログラムＢについては、インストラクションキャッシュメモリ１４に格納されておらず、ＲＯＭ２０から読み出す必要があるが（キャッシュミス）、インストラクションキャッシュメモリ１４が全て開放されているため、中優先度処理プログラムＢもインストラクションキャッシュメモリ１４に格納される。このため、その後徐々にヒット率が向上する。そして、この中優先度処理の実行後は、インストラクションキャッシュメモリ１４は、中優先度処理プログラムＡ，Ｂで占有される。
【０１１５】
一方、その中優先度処理が５．０ｍｓｅｃで終了した後、５．５ｍｓｅｃの高優先度処理が実行されるまでのアイドル処理中に、ダミー処理が実行される。このため、高優先度処理プログラムが、再びインストラクションキャッシュメモリ１４に格納されることとなる。尚、この５．０〜５．５のアイドル処理中に実行されるダミー処理では、Ｓ１７０の処理を実行した際に、次の高優先度処理のタイミングとなってしまい、Ｓ１８０の処理が実行されていない。そして、高優先度処理プログラムは、中優先度処理プログラムＡ，Ｂのうち、実行タイミングの古い中優先度処理プログラムＡと置き換わって更新記憶される。
【０１１６】
次に、６．０ｍｓｅｃの低優先度処理では、低優先度処理プログラムはインストラクションキャッシュメモリ１４に格納されておらず、ＣＰＵ１０は、ＲＯＭ２０から、低優先度処理プログラムを読み出すこととなる（キャッシュミス）。しかし、インストラクションキャッシュメモリ１４は全て開放されているため、徐々にヒット率は向上する。
【０１１７】
尚、他のタイミングにおける処理も同様であるため、説明を省略する。
ここで、図１６に、キャッシュミス時とキャッシュヒット時との処理時間の違いを示す。尚、ここでは、高優先度処理（ＮＥ３０°信号割り込み処理）について説明する。
【０１１８】
図１６に示すように、キャッシュミス時には、パルス間隔の算出（図１２のＳ６１０）に、６０μｓの時間を要し、クランクカウンタのカウント値の算出（図１２のＳ６２０）に、４０μｓの時間を要している。そして、３０°毎イベント処理（図１２のＳ６３０）へ移行している。
【０１１９】
一方、キャッシュヒット時には、パルス間隔の算出は３０μｓで終了し、クランクカウンタのカウント値の算出は、２０μｓで終了している。
このように、キャッシュヒット時は、キャッシュミス時と比較して、Ｓ６１０の処理とＳ６２０の処理とをあわせて、５０μｓ早く終了する。このため、噴射処理及び点火処理に速やかに移行することができる。よって、燃料噴射或いは点火が、所望のタイミングよりも遅れて実行されてしまうことを防止することができる。
【０１２０】
以上のように、アイドル処理の実行中に、図１４に示すダミー処理を実行することにより、インストラクションキャッシュメモリ１４には、高優先度処理プログラム、或いは中優先度処理プログラムＡが格納されるようになる。そして、インストラクションキャッシュメモリ１４に格納されているプログラムについては、ＣＰＵ１０は、ＲＯＭ２０にアクセスしなくてもそのインストラクションキャッシュメモリ１４にアクセスして取得できる。このため、ダミー処理で実行したプログラムがインストラクションキャッシュメモリ１４に格納された状態で、そのプログラムを正規のタイミングで実行する際には、その正規のタイミングにおける処理時間を短縮させることができる。また、高優先度処理プログラムや中優先度処理プログラムＡ以外のプログラムはダミー実行されないが、正規の実行タイミングにおいて、インストラクションキャッシュメモリ１４の領域を全て使用できるため、実行時間が大きくなってしまうことを防止することができる。
【０１２１】
尚、本第２実施形態において、図１３のＳ１５０の処理がダミー実行制御手段に相当している。
〈変形例〉
次に、第２実施形態の変形例について説明する。
【０１２２】
この変形例においては、エンジンの回転数に応じて、ダミー処理の内容を変更するようにしている。
図１７に示すように、エンジンの回転数に応じて、アイドル処理が実行されるアイドル時間帯が変化する。つまりこの変形例では、アイドル時間帯の変化に応じて、ダミー処理の内容を変更するようにしているとも言える。
【０１２３】
図１７について具体的に説明する。
上段に示すように、例えばアイドリング時など、エンジンの回転数が低回転（例えば１０００ｒｐｍ）の状態では、ＮＥ３０°信号の１周期は長くなる。このため、高優先度処理の実行タイミングの間隔も長くなる。尚、図１７では、中優先度処理や低優先度処理については示していないが、中優先度処理や低優先度処理の実行タイミングの間隔も長くなる。この場合、個々のアイドル処理の時間が長くなる。
【０１２４】
一方、中段に示すように、エンジンの回転数が中回転（例えば３０００ｒｐｍ）の状態では、ＮＥ３０°信号の１周期は、低回転の場合と比較して短くなる。このため、高優先度処理の実行タイミングの間隔も、低回転の場合と比較して短くなり、個々のアイドル処理の時間も短くなる。
【０１２５】
さらに、下段に示すように、エンジンの回転数が高回転（例えば６０００ｒｐｍ）の状態では、ＮＥ３０°信号の１周期がさらに短くなり、高優先度処理の実行タイミングの間隔も短くなって、個々のアイドル処理の時間がさらに短くなる。
【０１２６】
そして、個々のアイドル処理の時間が短くなるにしたがって、各アイドル処理中に実行可能な処理が制限されることになる。
そこで、図１８に示すように、ＣＰＵ１０は、エンジン回転数に応じて、つまり、アイドル処理の時間の長さに応じて、Ｓ１５０のダミー処理の内容を変更する。尚、本変形例では、インストラクションキャッシュメモリ１４には、高，中，低優先度処理の各プログラムを同時に格納しておくことができることを前提とする。
【０１２７】
図１８に示すように、ＣＰＵ１０は、低回転領域におけるダミー処理では、Ｓ１７０で高優先度処理をダミー実行し、Ｓ１８０で中優先度処理をダミー実行し、Ｓ１９０で低優先度処理をダミー実行して、処理を終了する。
【０１２８】
また、中回転領域におけるダミー処理では、Ｓ１７０で高優先度処理をダミー実行し、Ｓ１８０で中優先度処理をダミー実行して、処理を終了する。
そして、高回転領域におけるダミー処理では、Ｓ１７０で高優先度処理をダミー実行して、処理を終了する。
【０１２９】
これによれば、エンジンの回転数が高回転となって、ダミー処理の時間が制限されるとしても、より優先度の高い高優先度処理についてはダミー実行して、正規のタイミングにおける高優先度処理の処理時間を短縮させることができる。一方、ダミー処理の時間に余裕があれば、さらに、中優先度処理や低優先度処理をダミー実行するようにし、正規のタイミングにおける高，中，低優先度処理の各処理時間を短縮させることができる。
【０１３０】
このように、本変形例によれば、効率的に処理時間を短縮させるようにすることができる。
尚、例えば、低回転領域におけるダミー処理のＳ１９０で、低優先度処理の前半部分のみをダミー実行するようにしてもよいし、中回転領域におけるダミー処理のＳ１８０で、中優先度処理の前半部分のみをダミー実行するようにしてもよいし、高回転領域におけるダミー処理のＳ１７０で、高優先度処理の前半部分のみをダミー実行するようにしてもよい。
［第３実施形態］
次に、本発明のマイクロコンピュータを用いた第３実施形態について説明する。
【０１３１】
図１９は、第３実施形態としてのオートマチックトランスミッション制御システムを表す構成図である。尚、オートマチックトランスミッションは、エンジンとディファレンシャルの間に設けられる変速機である。
【０１３２】
図１９（ａ）に示すように、オートマチックトランスミッション制御システムは、オイルの流れを利用して、エンジンからの動力を変速機の軸に伝えるトルクコンバータ１１１と、そのトルクコンバータ１１１により伝達される回転を出力軸に伝達するためのギアのギア比を変換するギヤトレーン１１２と、ギヤトレーン１１２を駆動するバルブボデー１１３とを中心に構成される。
【０１３３】
ギヤトレーン１１２は、複数のギア，クラッチ，ブレーキ等を備えており、このクラッチ，ブレーキの駆動により、ギアによる動力の伝達が制御され、前進／後進が切り替えられたり、オーバードライブ（最低変速比ギア）が切り替えられたりする。
【０１３４】
バルブボデー１１３は、オイルの通り道である油圧回路を開いたり閉じたりして、ギヤトレーン１１２のクラッチ１１４（図１９（ｂ）参照），ブレーキ（図示せず）等を駆動するための油圧を制御するためのものである。例えば図１９（ｂ）に示すように、バルブボデー１１３は、トランスミッションＥＣＵ１からの指示により駆動して、油圧回路を開いたり閉じたりするためのリニアソレノイド１１５を備えている。このリニアソレノイド１１５の駆動（プランジャ１１６の駆動）により高速かつ精密に油圧を制御して、高速かつ滑らかな変速を実現するようにしている。尚、以下、トランスミッションＥＣＵ１について、ＥＣＵ１と同じ構成については、同じ符号を用いて説明する。
【０１３５】
次に、図２０は、オートマチックトランスミッション制御を表すタイムチャートである。尚、以下、トルクコンバータ１１１とギヤトレーン１１２との間の軸を入力軸と記載し、ギヤトレーン１１２とディファレンシャルとの間の軸を出力軸と記載する。
【０１３６】
図２０は、電子スロットル（例えば、図９参照）のスロットルバルブの開度（図２０の５段目参照）を全開にして加速し、１速→２速→３速→４速と変速（４段目参照）していく例を表している。
【０１３７】
まず、１速の状態で、入力軸回転数（２段目）は、エンジンの回転数の上昇に伴って、徐々に増加する。また、出力軸回転数（１段目）も徐々に増加する。尚、出力軸回転数の上昇度合いは、ギア比に基づいたものとなる。
【０１３８】
そして、入力軸回転数（つまり、エンジン回転数）がレブミット回転数（上限の回転数）に近づくと、自動的にバルブボデー１１３を制御し、ギヤトレーン１１２におけるギア比を変えて２速にする（変速する）。この場合、出力軸回転数は滑らかに上昇し、一方、入力軸回転数は所定の回転数まで低下する。以降も同様である。
【０１３９】
一方、３段目は、リニアソレノイド１１５を駆動するためにそのリニアソレノイド１１５に供給する電流（ソレノイド電流）の変化を表したものである。尚、リニアソレノイド１１５におけるプランジャ１１６の突出量は、リニアソレノイド１１５に供給する電流値により調整することができる。
【０１４０】
次に、図２１は、オートマチックトランスミッション制御システムのトランスミッションＥＣＵ１におけるＣＰＵ１０が実行する処理を表す説明図である。本第３実施形態では、ＣＰＵ１０は、高，中，低優先度処理、及びアイドル処理を実行するが、このうち、高優先度処理として、図２１に示すように、３種類の高優先度処理を実行する。（ａ）の第１の高優先度処理と、（ｂ）の第２の高優先度処理と、（ｃ）の変速時高優先度処理とである。尚、中，低優先度処理としては、図１１（ｂ），（ｃ）の処理を実行し、アイドル処理としては、図５（ｄ）の処理を実行する。
【０１４１】
ところで、本オートマチックトランスミッション制御システムでは、出力軸の回転を検出して、出力軸が一定角度回転する毎にパルスを出力する出力軸回転センサと、入力軸の回転を検出して、入力軸が一定角度回転する毎にパルスを出力する入力軸回転センサとが設けられている。
【０１４２】
そして、第１の高優先度処理は、出力軸回転センサから出力されるパルス信号（以下、出力軸回転信号と記載する）の立ち上がりタイミング及び立ち上がりタイミングで開始され、第２の高優先度処理は、入力軸回転センサから出力されるパルス信号（以下、入力軸回転信号と記載する）の立ち上がりタイミング及び立ち上がりタイミングで開始される。また、変速時高優先度処理は、変速の際（図２０のｔ１，ｔ２，ｔ３）に、第１，第２の高優先度処理が実行されていない間、繰り返し実行される処理である。
【０１４３】
そして、第１の高優先度処理では、Ｓ８００で、後述する出力軸回転信号割り込み処理を実行し、第２の高優先度処理では、Ｓ８２０で、後述する入力軸回転信号割り込み処理を実行する。また、変速時高優先度処理では、Ｓ８５０で、後述する変速時クラッチ油圧制御を実行する。
【０１４４】
図２２は、出力軸回転信号割り込み処理、入力軸回転信号割り込み処理、及び変速時クラッチ油圧制御の内容を表す図である。
出力軸回転信号割り込み処理では、Ｓ８１０で、出力軸回転信号のパルス間隔（例えば、直前のパルス間隔）を算出するとともに、出力軸の回転数を算出する。また、その算出した出力軸回転数を、ＲＡＭ３０の所定の格納領域に記憶させる。そしてその後、当該処理を終了する。
【０１４５】
入力軸回転信号割り込み処理では、Ｓ８３０で、入力軸回転信号のパルス間隔（例えば、直前のパルス間隔）を算出するとともに、入力軸の回転数を算出する。また、その算出した入力軸回転数を、ＲＡＭ３０の所定の格納領域に記憶させる。そしてその後、当該処理を終了する。
【０１４６】
次に、変速時クラッチ油圧制御は、出力軸の回転数を、理想回転数にするためのフィードバック制御（以下、Ｆ／Ｂ制御と記載する）である。以下、内容を説明する。
まず、出力軸の理想回転数を設定する（Ｓ８６０）。この理想回転数は、例えばエンジンの回転数や運転状態等、種々の条件に基づき算出される。
【０１４７】
次に、現在の出力軸回転数（前述のＳ８１０でＲＡＭ３０に記憶された出力軸回転数）をＳ８６０で設定した理想回転数にするための目標回転数を設定する（Ｓ８７０）。
続いて、出力軸回転数が、Ｓ８７０で設定した目標回転数となるように、クラッチを駆動するための油圧制御を行う（Ｓ８８０）。具体的に、リニアソレノイド１１５（図１９参照）を駆動させる。
【０１４８】
次に、理想回転数と、現在の出力軸回転数（ＲＡＭ３０に記憶された出力軸回転数）の差分を算出する（Ｓ８９０）。尚、ＲＡＭ３０の出力軸回転数は、リアルタイムに更新されている。そして、算出された差分は、目標回転数を算出する際に加味される。
【０１４９】
変速時には、このような変速時クラッチ油圧制御を実行し、出力軸回転数を滑らかに増減させる。つまり、変速ショックの発生を抑制する。
このような第１，第２，変速時高優先度処理は、図１３の管理処理により管理される。つまり、本第３実施形態のＣＰＵ１０は、図１３の管理処理により、高，中，低優先度処理、及びアイドル処理の実行を管理する。
【０１５０】
次に、図２３に、管理処理（図１３）のＳ１５０のダミー処理で実行される処理の一例を示す。以下、ダミー処理について、正規の処理と比較しつつ説明する。
図２３において、Ｓ８００の正規のタイミングの出力軸回転信号割り込み処理では、トランスミッション制御構造体を引数パラメータとして、（Ｅ）で示すトランスミッション制御構造体を、ＲＯＭ２０或いはインストラクションキャッシュメモリ１４から読み込む。このトランスミッション制御構造体は、出力軸回転信号割り込み処理及び入力軸回転信号割り込み処理のそれぞれのプログラムの一部をなすものである。
【０１５１】
トランスミッション制御構造体には、例えば出力軸回転数、入力軸回転数、及びリニアソレノイド電流といったメンバ（要素データ）が含まれており、ＣＰＵ１０は、出力軸回転信号割り込み処理で、その要素データの読み出し／書き込みを行うようになっている。尚、入力軸回転信号割り込み処理においても同様であり、ここでは説明を省略する。
【０１５２】
一方、ダミー処理では、Ｓ１７２で、入力軸回転信号割り込み処理をダミー実行する。具体的に、ダミー構造体を引数パラメータとして、（Ｆ）で示すダミー構造体を、ＲＯＭ２０或いはインストラクションキャッシュメモリ１４から読み込む。そして、Ｓ８２０と同じ入力軸回転信号割り込み処理を実行するが、ここでは、ダミー構造体に対して、要素データの読み出し／書き込みを行うようになっている。また、Ｓ１８２で、出力軸回転信号割り込み処理をダミー実行する。ここでは、Ｓ８００と同じ出力軸回転信号割り込み処理を実行するとともに、前述のように、ダミー構造体に対して要素データの読み込み／書き込みを行う。また、ダミー構造体に対しては、ダミー実行の場合にのみアクセスされ、正規の処理においてはアクセスされないようになっている。
【０１５３】
次に、本第３実施形態の作用について、図２４及び図２５を用いて説明する。尚、ここでは、エンジン回転数が一定であり、出力軸回転数及び入力軸回転数も一定であるものとする。また、この例では、出力軸回転信号の１周期は７．０ｍｓｅｃであるとともに、その１周期において、ハイの期間とローの期間はそれぞれ３．５ｍｓｅｃである。また、入力軸回転信号の１周期は５．０ｍｓｅｃであり、その１周期において、ハイの期間とローの期間はそれぞれ２．５ｍｓｅｃである。
【０１５４】
また、アイドル処理中に実行するダミー処理で、出力軸回転信号割り込み処理（第１の高優先度処理）と、入力軸回転信号割り込み処理（第２の高優先度処理）とに加え、中優先度処理の前半部分をダミー処理する。さらに、第１の高優先度処理と第２の高優先度処理とでは、後者のほうが優先度が高く、ダミー処理では、第２の高優先度処理→第１の高優先度処理→中優先度処理の順でダミー実行する。
【０１５５】
図２４において、まず、０ｍｓｅｃのタイミングでは、アイドル処理が実行されている。
一方、出力軸回転信号割り込み処理（第１の高優先度処理）は、前述のように、出力軸回転信号の立ち上がり及び立ち下がり毎に実行され、この例では、１回目は、２．０ｍｓｅｃのタイミングで実行されている。
【０１５６】
また、入力軸回転信号割り込み処理（第２の高優先度処理）は、前述のように、入力軸回転信号の立ち上がり及び立ち下がり毎に実行され、この例では、１回目は、２．５ｍｓｅｃのタイミングで実行されている。
【０１５７】
また、中優先度処理は、４．０ｍｓｅｃのタイミングで１回目が実行されるとともに、その後、基本的に、８．０ｍｓｅｃ毎に実行され、低優先度処理は、６．０ｍｓｅｃのタイミングで１回目が実行されるとともに、その後、基本的に、１６．０ｍｓｅｃ毎に実行される。
【０１５８】
そして、アイドル処理の実行中には、前述のようにダミー処理を実行し、ダミー処理が全て実行されると、インストラクションキャッシュメモリ１４の２５％は、出力軸回転信号割り込み処理のプログラム（以下、第１の高優先度処理プログラムと記載する）で占有され、他の２５％は入力軸回転信号割り込み処理のプログラム（以下、第２の高優先度処理プログラムと記載する）で占有され、残りの５０％は、中優先度処理プログラムＡで占有される。
【０１５９】
０〜２．０ｍｓｅｃのアイドル処理では、ダミー処理が全て実行され、２．０ｍｓｅｃのタイミングにおける正規の第１の高優先度処理では、ＣＰＵ１０は、インストラクションキャッシュメモリ１４から第１の高優先度処理プログラムを読み出せるようになる（キャッシュヒット）。２．５ｍｓｅｃにおける第２の高優先度処理についても同様である。
【０１６０】
また、３．０〜４．０ｍｓｅｃのアイドル処理後、４．０ｍｓｅｃのタイミングにおける正規の中優先度処理では、ＣＰＵ１０は、インストラクションキャッシュメモリ１４から、中優先度処理プログラムＡを読み出すことができる（キャッシュヒット）。一方、この場合、中優先度処理プログラムＢについては、インストラクションキャッシュメモリ１４に格納されておらず、ＲＯＭ２０から読み出す必要があるが（キャッシュミス）、インストラクションキャッシュメモリ１４が全て開放されているため、中優先度処理プログラムＢもインストラクションキャッシュメモリ１４に格納されることとなり、その後徐々にヒット率が向上する。尚、この中優先度処理の実行後は、インストラクションキャッシュメモリ１４は、中優先度処理プログラムＡ，Ｂで占有される。
【０１６１】
その中優先度処理が５．０ｍｓｅｃで終了した後、５．０ｍｓｅｃの高優先度処理及び５．５ｍｓｅｃの高優先度処理では、ＲＯＭ２０からプログラムを読み出すこととなる。また、６．０ｍｓｅｃの低優先度処理でも、同様に、ＲＯＭ２０からプログラムを読み出す。
【０１６２】
一方、その６．０ｍｓｅｃの低優先度処理終了後、アイドル処理が実行されるとともに、そのアイドル処理中に、ダミー処理で、第２の高優先度処理がダミー実行される。そして、そのダミー処理により、第２の高優先度処理プログラムが、インストラクションキャッシュメモリ１４に格納される。このため、７．５ｍｓｅｃのタイミングにおける第２の高優先度処理では、インストラクションキャッシュメモリ１４から第２の高優先度処理プログラムを読み出せるようになる（キャッシュヒット）。
【０１６３】
また、８．０〜９．０ｍｓｅｃのアイドル処理中に、第２の高優先度処理及び第１の高優先度処理がダミー実行され、第２，第１高優先度処理プログラムが、インストラクションキャッシュメモリ１４に格納される。このため、９．０ｍｓｅｃにおける第１の高優先度処理では、インストラクションキャッシュメモリ１４から第１の高優先度処理プログラムを読み出せるようになる（キャッシュヒット）。
【０１６４】
ところで、前述のように、複数の処理の実行期間が重複した場合には、より優先度の高い処理が優先して実行される（図１３のＳ１１０：ＹＥＳ、Ｓ１２０）。例えば、１２．５ｍｓｅｃのタイミングでは、第１の高優先度処理と第２の高優先度処理の実行タイミングとなっているが、ここでは、第２の高優先度処理が先に実行される。そして、第２の高優先度処理が終了した後、第１の高優先度処理が実行される。
【０１６５】
次に、図２５は、キャッシュミス時とキャッシュヒット時との処理時間の違いを表すタイムチャートである。この例では、０，２４０μｓで出力軸回転信号割り込み処理が実行され（割り込み発生）、１２０μｓで入力軸回転信号割り込み処理が実行され（割り込み発生）、また、３０μｓで変速が開始されるものとして説明する。
【０１６６】
まず、０μｓのタイミングで実行される出力軸回転信号割り込み処理は、キャッシュミス時は５０μｓで終了し（実行時間は５０μｓ）、キャッシュヒット時は２５μｓで終了する（実行時間は２５μｓ）。そして、変速が開始された際（変速発生）に実行される変速時クラッチ油圧制御（図２２参照）は、キャッシュミスの場合は、出力軸回転信号割り込み処理が終了した５０μｓに開始される。一方、キャッシュヒットの場合は、変速発生の前に出力軸回転信号割り込み処理が終了しており、変速発生とともに開始される。
【０１６７】
そして、１２０μｓで割り込みが発生すると、変速時クラッチ油圧制御が一旦中断され、入力軸回転信号割り込み処理が実行される。そして、この入力軸回転信号割り込み処理は、キャッシュミスの場合は１７０μｓで終了し（実行時間は５０μｓ）、キャッシュヒットの場合は１４５μｓで終了する（実行時間は２５μｓ）。このため、変速時クラッチ油圧制御は、キャッシュミスの場合は１７０μｓで開始され、キャッシュヒットの場合は１４５μｓに開始される。以降も同様であり、説明を省略する。
【０１６８】
このように、キャッシュヒット時のほうが出力軸回転信号割り込み処理及び入力軸回転信号割り込み処理が高速に実行され、変速時クラッチ油圧制御がより早いタイミングで実行されるようになるとともに、実行期間を長くすることができる。このため、出力軸回転数を、より高速かつ確実に、理想出力軸回転数にすることができる。よって、変速ショックのない、滑らかな変速を実現できるようになる。
【０１６９】
尚、変速時クラッチ油圧制御のプログラムをダミー実行するようにすれば、変速時クラッチ油圧制御がより高速に実行されるようになるという効果を得ることができる。
〈変形例〉
次に、本第３実施形態の変形例について、図２６を用いて説明する。この変形例では、変速制御時／非変速時に応じて、ダミー処理の内容を変更する。尚、変速制御時とは、変速が開始されてから終了するまでの時間（図２０のｔ１，ｔ２，ｔ３）である。また、本変形例では、インストラクションキャッシュメモリ１４には、高，中，低優先度処理の各プログラムを同時に格納しておくことができることを前提とする。
【０１７０】
図２６の上段に、オートマチックトランスミッショ制御の一例を表すタイムチャートを示す。尚、このタイムチャートにおいて、トランスミッション制御としては、前述の出力軸回転信号割り込み処理や入力軸回転信号割り込み処理が実行される。
【０１７１】
そして、変速が開始されてから終了するまでの時間以外（非変速時）は、例えばトランスミッション制御が実行され、変速が開始されてから終了するまでの間（変速制御時）は、トランスミッション制御に加え、ソレノイド電流制御（前述の変速時クラッチ油圧制御）が実行される。
【０１７２】
このため、非変速時は、変速制御時と比較して、個々のアイドル処理の時間が長くなる。そこで、図２６下段に示すように、ＣＰＵ１０は、非変速時のダミー処理では、Ｓ１７２で出力軸回転信号割り込み処理をダミー実行し、Ｓ１８２で入力軸回転信号割り込み処理をダミー実行し、Ｓ１９２で中優先度処理をダミー実行する。
【０１７３】
一方、変速制御時のダミー処理では、Ｓ１７２で出力軸回転信号割り込み処理をダミー実行し、Ｓ１８２で入力軸信号割り込み処理をダミー実行する。
これによれば、アイドル処理の時間が短くなり、ダミー処理の時間が制限されるとしても、より優先度の高い第１，第２高優先度処理についてはダミー実行して、正規のタイミングにおける処理時間を短縮させることができる。一方、ダミー処理の時間に余裕があれば、さらに、中優先度処理をダミー実行するようにし、正規のタイミングにおける第１，第２高優先度処理，中優先度処理の各処理時間を短縮させることができる。
【０１７４】
このように、本変形例によれば、効率的に処理時間を短縮させるようにすることができる。
尚、例えば、非変速時のダミー処理のＳ１９２で、中優先度処理の前半部分のみをダミー実行するようにしてもよいし、変速制御時のダミー処理のＳ１８２で、入力軸回転信号割り込み処理の前半部分のみをダミー実行するようにしてもよい。また、Ｓ１７２とＳ１８２とを入れ替えてもよい。また、低優先度処理をダミー実行するようにしてもよい。
［第４実施形態］
次に、本発明のマイクロコンピュータを用いた第４実施形態について説明する。
【０１７５】
本第４実施形態では、リアルタイムオペレーティングシステム（以下、ＲＴＯＳと記載する）を用いて、前述したようなエンジン制御やオートマチックトランスミッション制御を行う。このＲＴＯＳは、アプリケーションプログラムの実行管理を行うものである。
【０１７６】
そして、このＲＴＯＳでは、アプリケーションプログラムを実行する前に、そのアプリケーションプログラムを実行するための前処理が実行される。そうすると、その前処理が高速に実行されるようになれば、アプリケーションプログラムが実行されるまでの時間が短縮され、ひいてはシステム全体の処理時間を短縮させることができる。
【０１７７】
このため、本第４実施形態では、前処理のプログラムを、ダミー処理により、インストラクションキャッシュメモリ１４に予め格納させておく。これにより、正規のタイミングの前処理の実行時間の短縮を図るようにしている。
【０１７８】
図２７に、ＲＴＯＳで実行される前処理の内容を示す。尚、図２７には、アプリケーションプログラムを実行した後に実行される後処理の内容も示している。また、ここでは、図９〜図１８に示したようなエンジン制御システムにＲＴＯＳが用いられた場合について説明する。
【０１７９】
図２７において、ＮＥ３０°信号が立ち下がり、高優先度処理（ＮＥ３０°信号割り込み処理）の実行タイミングとなったとする（割り込み発生）。この場合、ＲＴＯＳ下では、前処理が実行された後、ＮＥ３０°信号割り込み処理が実行され、さらに、後処理が実行される。
【０１８０】
前処理では、まず、Ｓ９１０で、コンテキストの退避処理を実行する。このコンテキスト退避処理は、マイコン２の所定のレジスタに記憶されているデータを、ＲＡＭ３０等の所定の格納領域（スタックメモリ）に記憶（退避）させる処理である。例えば、図２７右上に示すように、汎用レジスタ（Ｒ０，Ｒ１，Ｒ２，Ｒ３…）、プログラムカウンタ（ＰＣ）、スタックポインタ（ＳＰ）、ステータスレジスタ（ＳＲ）のデータをそれぞれ、スタックメモリに記憶（退避）させる。
【０１８１】
次に、Ｓ９２０へ進み、割り込み禁止処理を実行する。具体的に、現在実行しようとしている処理（ＮＥ３０°信号割り込み処理）以外の処理についての割り込み要求の入力を禁止する。
【０１８２】
そして、Ｓ９３０へ進み、現在実行中のタスクを「待ち状態」にする。具体的に、そのタスクが実行状態であるか待ち状態であるかを表す状態変数を、待ち状態を表すデータに書き換える。
【０１８３】
そして、このＳ９１０〜Ｓ９３０までが、前処理に相当する。
前処理が終了すると、ＮＥ３０°信号割り込み処理を実行し、ＮＥ３０°信号割り込み処理の後、後処理に移行する。
【０１８４】
後処理では、まず、Ｓ９５０で、コンテキスト復帰処理を実行する。具体的に、Ｓ９１０でスタックメモリに記憶（退避）させたデータを読み出して、各レジスタに記憶させる。例えば、前述の汎用レジスタ、プログラムカウンタ、スタックポインタ、ステータスレジスタのデータを、それぞれ、そのスタックメモリから読み出したデータに書き換える。
【０１８５】
次に、Ｓ９６０で、割り込み許可処理を実行する。具体的に、割り込み要求の入力の禁止を解除する。
そして、Ｓ９７０では、Ｓ９３０で「待ち状態」にしたタスクを「実行状態」にする。つまり、待ち状態となっていたタスクを実行する。そしてその後、処理を終了する。
【０１８６】
尚、中優先度処理を実行する場合、その中優先度処理に応じた前処理及び後処理が実行され、低優先度処理を実行する場合、その低優先度処理に応じた前処理及び後処理が実行される。
【０１８７】
そして、本第４実施形態では、図１３の管理処理を実行する。
また、図２８に、管理処理（図１３）のＳ１５０で実行されるダミー処理の一例を示す。このダミー処理の内容について、正規の処理（ＮＥ３０°信号割り込み処理）と比較しつつ説明する。
【０１８８】
正規の処理では、まず、「スタック」及び「コントロールブック」を引数パラメータとして、前述の前処理を実行する。この場合、（Ｇ）で示すコントロールブロックを読み出す。尚、コントロールブロックは、ＲＴＯＳについての種々の情報を格納しているものである。例えば、現在存在するタスクのタスク状態（現在実行タスク状態）、割り込み要求があったタスクのＩＤ（現在実行割り込みＩＤ）等の情報が格納されている。そして、それらの情報の読み出し／書き込みを行う。
【０１８９】
また、「スタック」を引数パラメータとすることにより、正規のスタックメモリにアクセスするようになる。
そして、前処理の後、ＮＥ３０°信号割り込み処理を実行し、さらに後処理を実行して、当該処理を終了する。
【０１９０】
一方、ダミー処理では、まず、「ダミースタック」及び「ダミーコントロールブック」を引数パラメータとして、前述の前処理をダミー実行する。この場合、（Ｈ）で示すダミーコントロールブロックを読み出す。尚、このダミーコントロールブロックは、ダミーブロックと同じく、ＲＴＯＳについての種々の情報を格納しているものである。そして、このダミーコントロールブロックに対して、情報の読み出し／書き込みを行う。尚、このダミーコントロールブロックは、正規の処理では、参照されないようになっている。
【０１９１】
また、「ダミースタック」を引数パラメータとすることにより、正規のスタックメモリとは異なるダミースタックメモリにアクセスするようになる。
次に、同様に、「ダミースタック」及び「ダミーコントロールブック」を引数パラメータとして、中優先度処理についての前処理をダミー実行する。そしてその後、当該処理を終了する。
【０１９２】
次に、本第４実施形態の作用について、図２９及び図３０を用いて説明する。尚、ここでは、エンジン回転数が一定であるものとする。また、ＮＥ３０°信号の１周期は３．０ｍｓｅｃである。一方、中優先度処理及び低優先度処理は記載を省略する。また、この例では、ダミー処理で、高優先度処理（ＮＥ３０°信号割り込み処理）の前処理と中優先度処理の前処理とに加え、他の異なる２つの前処理を実行するようになっている。
【０１９３】
図２９において、まず、０ｍｓｅｃのタイミングでは、アイドル処理が実行されている。
一方、１．２５ｍｓｅｃでＮＥ３０°信号が立ち下がって高優先度処理が開始されることとなるが、その前に、前述の前処理が実行される。この場合において、０〜１．２５ｍｓｅｃのアイドル処理中に、高優先度処理の前処理がダミー実行され、インストラクションキャッシュメモリ１４には、高優先度処理の前処理のプログラムが格納されている。このため、１．２５ｍｓｅｃの正規の前処理においては、インストラクションキャッシュメモリ１４からプログラムを読み出せるようになる（キャッシュヒット）。
【０１９４】
この場合、前処理が高速で実行され、速やかに高優先度処理（ＮＥ３０°信号割り込み処理）に移行する（１．５ｍｓｅｃ）。
高優先度処理が終了すると、インストラクションキャッシュメモリ１４の５０％は、高優先度処理プログラムで占有されることとなるが、その後、アイドル処理中に、再びダミー処理が実行され、インストラクションキャッシュメモリ１４は、４種類の前処理のプログラムで占有されることとなる。
【０１９５】
また、例えば、４．０ｍｓｅｃに、中優先度処理の実行タイミングとなっている。そして、まず、中優先度処理の前処理が実行されるが、この中優先度処理の前処理のプログラムが、２．０〜４．０ｍｓｅｃまでのアイドル処理中のダミー処理により、インストラクションキャッシュメモリ１４に格納されているため、４．０ｍｓｅｃの前処理では、インストラクションキャッシュメモリ１４からプログラムを読み出すことができる（キャッシュヒット）。尚、４．２５ｍｓｅｃで、高優先度処理の実行タイミングとなっており、この場合、中優先度処理が一旦中断され、高優先度処理が開始される。
【０１９６】
この場合も、高優先度処理の前処理のプログラムが、インストラクションキャッシュメモリ１４に格納されているため、インストラクションキャッシュメモリ１４からプログラムを読み出すことができるようになる（キャッシュヒット）。尚、高優先度処理が終了した５．０ｍｓｅｃで、中優先度処理が再開される。
【０１９７】
次に、図３０に、キャッシュミス時とキャッシュヒット時とでの高優先度処理の前処理の処理時間の違いを示す。図３０に示すように、キャッシュミス時は６５μｓを要し、キャッシュヒット時は４５μｓを要している。つまり、キャッシュヒット時のほうが、２０μｓ早く高優先度処理に移行できる。
【０１９８】
このように、アイドル処理中のダミー処理で、高，中低優先度処理の前に実行される各前処理のプログラムが、インストラクションキャッシュメモリ１４に格納されるようになるため、その前処理の処理速度が向上する。このため、システム全体の処理速度を向上させることができる。
【０１９９】
以上、本発明の一実施形態について説明したが、本発明は、上記実施形態に限定されるものではなく、本発明の技術範囲内にて種々の形態をとることができる。
例えば、上記実施形態では、ＥＣＵ１に備えられるマイコン２について説明したが、インストラクションキャッシュメモリを有しているマイコンであれば、どのようなマイコンでも本発明を適用することができる。
【０２００】
また、インストラクションキャッシュメモリとしては、ＣＰＵの外部に設けられる外部キャッシュメモリであってもよい。
また、上記第１実施形態では、ＯＳにより各プログラムの実行管理がなされるが、ＯＳがない場合には、以下のようにすれば良い。まず、高優先度処理、中優先度処理、低優先度処理について、優先度の高い処理ほど、優先度の高い割り込みで実行されるようにする。そして、繰り返し実行されるメインの処理において、制御対象の制御を特にしなくなるアイドル処理の状態の時（例えばアイドル処理開始時）に、ダミー高優先度処理が起動されるようにプログラムを構成すればよい。このようにすれば、上述した図４の管理処理が実行される場合と同じ作用、同じ効果が得られる。
【０２０１】
また、本実施形態では、ＲＯＭ２０にプログラムが記憶されているが、ＲＡＭ３０にプログラムが記憶されていても良い。
【図面の簡単な説明】
【０２０２】
【図１】実施形態のマイコンの構成を表す構成図である。
【図２】インストラクションキャッシュメモリ及びＲＡＭの構成を説明する説明図である。
【図３】実施形態の作用及び効果を表すタイムチャートである。
【図４】マイコンのＣＰＵが実行する管理処理を表すフローチャートである。
【図５】マイコンのＣＰＵが実行する処理を表すフローチャートである。
【図６】高優先度処理プログラムの一部を表す説明図である。
【図７】マイコンの構成を表す構成図である。
【図８】従来技術の問題を説明するタイムチャートである。
【図９】第２実施形態のエンジン制御システムの構成図である。
【図１０】エンジン制御を説明する説明図である。
【図１１】第２実施形態マイコンのＣＰＵが実行する高優先度処理を表すフローチャートである。
【図１２】第２実施形態マイコンのＣＰＵが実行する高優先度処理の内容を表すフローチャートである。
【図１３】第２実施形態のマイコンのＣＰＵが実行する管理処理を表すフローチャートである。
【図１４】第２実施形態のマイコンのＣＰＵが実行する高優先度処理及びダミー処理を説明する説明図である。
【図１５】第２実施形態の作用及び効果を表すタイムチャートである。
【図１６】第２実施形態の作用及び効果を表す説明図である。
【図１７】エンジン制御を表すタイムチャートである。
【図１８】変形例のマイコンのＣＰＵが実行するダミー処理を表すフローチャートである。
【図１９】第３実施形態のオートマチックトランスミッション制御システムの構成図である。
【図２０】オートマチックトランスミッション制御を説明する説明図である。
【図２１】第３実施形態のマイコンのＣＰＵが実行する高優先度処理を表すフローチャートである。
【図２２】第３実施形態のマイコンのＣＰＵが実行する高優先度処理の内容を表す説明図である。
【図２３】第３実施形態のマイコンのＣＰＵが実行する高優先度処理及びダミー処理を説明する説明図である。
【図２４】第３実施形態の作用及び効果を表すタイムチャートである。
【図２５】第３実施形態の作用及び効果を表す説明図である。
【図２６】オートマチックトランスミッション制御を表すタイムチャート及び変形例のマイコンのＣＰＵが実行するダミー処理を表すフローチャートである。
【図２７】第４実施形態のマイコンが備えるリアルタイムＯＳによる制御を説明する説明図である。
【図２８】第４実施形態のマイコンのＣＰＵ実行する高優先度処理及びダミー処理を説明する説明図である。
【図２９】第３実施形態の作用及び効果を表すタイムチャートである。
【図３０】第３実施形態の作用及び効果を表す説明図である。
【符号の説明】
【０２０３】
１…ＥＣＵ、２…マイクロコンピュータ、３…水温センサ、４…アクセルペダルセンサ、５…スロットルセンサ、１２…ＣＰＵコア、１４…インストラクションキャッシュメモリ、１６…データキャッシュメモリ、２０…ＲＯＭ、２２〜２９，３０…ＲＡＭ、３２〜３８…格納領域、４０…Ａ／Ｄコンバータ、５０…内部バス、５５…インタフェース、１０１…シリンダ、１０２…ピストン、１０３…インジェクタ、１０４…イグナイタ、１０５…電子スロットル、１０６…燃料タンク、１０７…ポンプ、１１１…トルクコンバータ、１１２…ギヤトレーン、１１３…バルブボデー、１１４…クラッチ、１１５…リニアソレノイド、１１６…プランジャ。
【図１】
2007200277.tif 000003
【図２】
2007200277.tif 000004
【図３】
2007200277.tif 000005
【図４】
2007200277.tif 000006
【図５】
2007200277.tif 000007
【図６】
2007200277.tif 000008
【図７】
2007200277.tif 000009
【図８】
2007200277.tif 000010
【図９】
2007200277.tif 000011
【図１０】
2007200277.tif 000012
【図１１】
2007200277.tif 000013
【図１２】
2007200277.tif 000014
【図１３】
2007200277.tif 000015
【図１４】
2007200277.tif 000016
【図１５】
2007200277.tif 000017
【図１６】
2007200277.tif 000018
【図１７】
2007200277.tif 000019
【図１８】
2007200277.tif 000020
【図１９】
2007200277.tif 000021
【図２０】
2007200277.tif 000022
【図２１】
2007200277.tif 000023
【図２２】
2007200277.tif 000024
【図２３】
2007200277.tif 000025
【図２４】
2007200277.tif 000026
【図２５】
2007200277.tif 000027
【図２６】
2007200277.tif 000028
【図２７】
2007200277.tif 000029
【図２８】
2007200277.tif 000030
【図２９】
2007200277.tif 000031
【図３０】
2007200277.tif 000032