(57)【要約】【課題】プロセッサの電力消費量低減を実現するにあたり、プログラム正常作動の検証作業を軽減でき、かつ、動作周波数変更の遅延の抑制を図る。【解決手段】マイクロコンピュータ１０が備えるプロセッサ１１は、各々が異なるプログラムＰＡ、ＰＢ、ＰＣを実行処理する複数の仮想プロセッサ１１Ａ、１１Ｂ、１１Ｃを有するように機能する。そして、仮想プロセッサ１１Ａ、１１Ｂ、１１Ｃの各々には、プロセッサ１１の処理能力を複数に時分割してなるスロットＳ１〜Ｓ５、Ｓ６〜Ｓ１５、Ｓ１６〜Ｓ１８が割り付けられており、これらスロットＳ１〜Ｓ１８の動作状態を変更するスロット状態変更手段を備える。【選択図】図３
2014135025.tif 000002
【特許請求の範囲】
【請求項１】
各々が異なるプログラム（ＰＡ、ＰＢ、ＰＣ）を実行処理する複数の仮想プロセッサ（１１Ａ、１１Ｂ、１１Ｃ）を有するように機能するプロセッサ（１１）を備え、
前記仮想プロセッサの各々には、前記プロセッサの処理能力を複数に時分割してなるスロット（Ｓ１〜Ｓ５、Ｓ６〜Ｓ１５、Ｓ１６〜Ｓ１８）が割り付けられており、
前記スロットの動作状態を変更するスロット状態変更手段（Ｓ１１０、Ｓ２１０）を備えることを特徴とするマイクロコンピュータ。
【請求項２】
複数の前記仮想プロセッサのうち、処理能力の変更禁止が要求されるものを変更禁止仮想プロセッサ（１１Ａ）として設定し、
前記変更禁止仮想プロセッサに割り付けられた前記スロット（Ｓ１〜Ｓ５）の動作状態は、前記スロット状態変更手段による変更が禁止されていることを特徴とする請求項１に記載のマイクロコンピュータ。
【請求項３】
前記スロット状態変更手段（Ｓ２１０）は、前記仮想プロセッサの使用率に応じて、該仮想プロセッサに割り付けられた前記スロットの動作状態を変更することを特徴とする請求項１または２に記載のマイクロコンピュータ。
【請求項４】
前記複数の仮想プロセッサのうち、処理の常時実行が要求されるものを常動仮想プロセッサ（１１Ｂ）として設定し、
前記常動仮想プロセッサに割り付けられた前記スロット（Ｓ６〜Ｓ１５）の全てが同時に動作停止することのないよう、前記スロット状態変更手段による変更は制限されていることを特徴とする請求項１〜３のいずれか１つに記載のマイクロコンピュータ。
【請求項５】
前記仮想プロセッサの各々の処理能力の組合せを予め複数設定しておき、
前記スロット状態変更手段は、複数の前記組合せの中から選択した組合せに係る処理能力になるよう、前記スロットの動作状態を変更することを特徴とする請求項１〜４のいずれか１つに記載のマイクロコンピュータ。
【請求項６】
前記スロットの前記仮想プロセッサへの割付け先が固定されていることを特徴とする請求項１〜５のいずれか１つに記載のマイクロコンピュータ。
【請求項７】
前記スロット状態変更手段が前記変更を実施する期間中には、前記仮想プロセッサによる前記プログラムの実行を禁止することを特徴とする請求項１〜６のいずれか１つに記載のマイクロコンピュータ。
【請求項８】
前記スロット状態変更手段に対する前記変更の要求を、前記プロセッサ（１１）が実施することを特徴とする請求項１〜７のいずれか１つに記載のマイクロコンピュータ。
【請求項９】
前記スロット状態変更手段は、外部の変更要求手段（２０）からの変更要求信号に基づき前記変更を実施することを特徴とする請求項１〜７のいずれか１つに記載のマイクロコンピュータ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラムを実行処理するプロセッサを備えたマイクロコンピュータに関する。
【背景技術】
【０００２】
この種のマイクロコンピュータ（マイコン）は、プロセッサ（ＣＰＵ）の動作周波数が高いほど処理能力が高くなるものの、その背反として電力消費量が多くなる。すると、マイコンに電力供給する電源ＩＣには、大きな最大出力が要求されるようになり、高性能の電源ＩＣが必要になってくる。また、マイコンの処理能力が高くなると、プロセッサや電源ＩＣの発熱量も増大し、冷却手段に要求される冷却能力が高くなる。
【０００３】
これらの問題に対し、特許文献１には、プロセッサの動作周波数を変更可能に構成し、プロセッサの処理負荷が低い場合には、動作周波数を低下させて電力消費量の低減を図る旨が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００１−５１７４６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上述の如く動作周波数を変更すると、変更する動作周波数の値毎に、プロセッサによるプログラムの実行処理が正常に為されることを検証しなければならない。特に、複数のプログラムを１つのプロセッサで実行処理する場合には、動作周波数毎、かつ、プログラム毎に前記検証を実施しなければならず、検証作業が膨大になる。
【０００６】
また、動作周波数の変更には時間がかかる。そのため、例えばプログラムの実行処理速度を高速に切り替える要求があった場合であっても、直ぐには切り替えることができず、遅延が生じる。
【０００７】
本発明は、上記問題を鑑みてなされたもので、その目的は、プロセッサの電力消費量低減を実現するにあたり、プログラム正常作動の検証作業を軽減でき、かつ、動作周波数変更の遅延の抑制を図ったマイクロコンピュータを提供することにある。
【課題を解決するための手段】
【０００８】
開示されたひとつの発明は上記目的を達成するために以下の技術的手段を採用する。なお、特許請求の範囲に記載した括弧内の符号は、ひとつの態様として後述する実施形態に記載の具体的手段との対応関係を示すものであって、開示された発明の技術的範囲を限定するものではない。
【０００９】
開示された発明のひとつは、各々が異なるプログラム（ＰＡ、ＰＢ、ＰＣ）を実行処理する複数の仮想プロセッサ（１１Ａ、１１Ｂ、１１Ｃ）を有するように機能するプロセッサ（１１）を備え、前記仮想プロセッサの各々には、前記プロセッサの処理能力を複数に時分割してなるスロット（Ｓ１〜Ｓ５、Ｓ６〜Ｓ１５、Ｓ１６〜Ｓ１８）が割り付けられており、前記スロットの動作状態を変更するスロット状態変更手段（Ｓ１１０、Ｓ２１０）を備えることを特徴とする。
【００１０】
本発明によれば、プログラム毎に仮想プロセッサが割当てられ、それらの仮想プロセッサ毎に処理能力（スロットの動作状態）を変更できる。よって、演算処理負荷が小さい状態にある仮想プロセッサに対して処理能力を低下させる等、プログラム毎（仮想プロセッサ毎）に処理能力を変更できるので、プロセッサの電力消費量を低減できる。
【００１１】
また、本発明によれば、先述した特許文献１記載のマイコンに比べて、プログラムと処理能力との組合せ数を少なくできるので、プログラム正常作動の検証作業を軽減できる。
【００１２】
さらに、本発明によれば、プロセッサのレジスタ値を変えることにより、スロットの動作状態を変更することができるので、先述した特許文献１記載のマイコンに比べて、仮想プロセッサ毎の処理能力（スロットの動作状態）を迅速に変更できる。
【図面の簡単な説明】
【００１３】
【図１】本発明の第１実施形態に係るマイクロコンピュータが、電子制御装置に搭載された状態を示すブロック図。
【図２】第１実施形態において、各仮想プロセッサのスロットを通常動作させているパターンＡの状態を示す模式図。
【図３】第１実施形態において、各仮想プロセッサのスロットを電流抑制動作させているパターンＢの状態を示す模式図。
【図４】第１実施形態において、各仮想プロセッサのスロットを電流抑制動作させているパターンＣの状態を示す模式図。
【図５】第１実施形態において、スロット状態を変更する処理手順を示すフローチャート。
【図６】本発明の第２実施形態において、スロット状態を変更する処理手順を示すフローチャート。
【発明を実施するための形態】
【００１４】
以下、本発明の複数の実施形態を図面に基づいて説明する。なお、各実施形態の説明において明示している構成の組み合わせばかりではなく、特に組み合わせに支障が生じなければ、明示していなくても複数の実施形態の構成同士を部分的に組み合せることができる。
【００１５】
（第１実施形態）
図１に示す本実施形態のマイクロコンピュータ（マイコン１０）は、車両に搭載された電子制御装置（ＥＣＵ１）に備えられたものである。ＥＣＵ１は、各種のセンサ２の検出値や運転者による入力値等に基づき、車載機器３、４、５、６の作動を制御する。例えば、ＥＣＵ１は、エンジンの回転速度およびエンジン負荷に関するセンサ２の検出値に基づき、エンジン３の作動を制御する。詳細には、エンジンの燃焼に用いる燃料を噴射する燃料噴射弁、燃焼室へ取り込まれる空気の量（吸気量）を制御するスロットルバルブ、および点火装置等を、センサ２の検出値に応じて制御することで、燃料噴射量、燃料噴射時期、吸気量、および点火時期を制御する。
【００１６】
ＥＣＵ１は、車室内温度や外気温度に係るセンサ検出値、および設定温度に係る入力値に基づき、空調装置（エアコン４）の作動を制御して、車室内の空調状態を制御する。ＥＣＵ１は、音量や選曲に関する入力値に基づき、オーディオ機器５の作動を制御する。なお、これらの車載機器３、４、５は、マイコン１０から出力される指令信号により直接制御されているが、ＥＣＵ１に備えられたスイッチ素子や電磁リレー等のスイッチ手段４０をマイコン１０が制御し、スイッチ手段４０から出力されるオンオフ信号で車載機器６を制御してもよい。
【００１７】
車両に搭載されたバッテリ７は、エンジン３の駆動力で発電した電力により充電され、約１２Ｖの電力をＥＣＵ１に供給する。ＥＣＵ１は、バッテリ７からの供給電力の電圧を所望の電圧に調整する変圧回路（電源ＩＣ２０）を備える。電源ＩＣ２０は、１２Ｖより低圧の複数種類の電圧（例えば５Ｖ、３．３Ｖ、１．２Ｖ）を生成する。生成された複数種類の電圧はマイコン１０に供給される。また、マイコン１０の他に、ＥＣＵ１の外部に配置された車載機器６にも、スイッチ手段４０を介して電源ＩＣ２０から電力供給される。
【００１８】
ＥＣＵ１は、マイコン１０および車載機器６へ供給される電力の電流値を検出する電流モニタ３０を備える。電源ＩＣ２０は、電流モニタ３０の検出値に基づき、電力供給不足にならないように５Ｖ、３．３Ｖ、１．２Ｖの電圧を生成する。例えば漏電等の不具合に起因して、要求される電力量が過剰に多い場合には、電源ＩＣ２０は、マイコン１０に対して消費電力が少ない状態で作動するように要求（変更要求）する。
【００１９】
マイコン１０は、中央演算処理装置（ＣＰＵ）として機能するプロセッサ１１と、不揮発性メモリとして機能するＲＯＭ１２と、揮発性メモリとして機能するＲＡＭ１３と、入出力回路１４と、を備える。入出力回路１４は、センサ２等からマイコン１０に入力されたセンサ検出値や入力値の信号に対し、Ａ／Ｄ変換等の入力処理を行うとともに、ＣＰＵ１１にて演算された指令信号に対し、車載機器３、４、５へ出力する信号に変換する出力処理を行う。プロセッサ１１は、ＲＯＭ１２に記憶されたプログラムにしたがって、ＲＡＭ１３の記憶領域を用いながら演算処理する。
【００２０】
図２に示すように、複数の仮想プロセッサ１１Ａ、１１Ｂ、１１Ｃが１つのプロセッサ１１により実現されている。仮想プロセッサ１１Ａ、１１Ｂ、１１Ｃは、各々が異なるプログラムＰＡ、ＰＢ、ＰＣを実行処理する。図２の例では、マイコン１０は１つのプロセッサ１１を備えているが、複数のプロセッサ１１を備えていてもよい。いずれにしても、１つの実在するプロセッサ１１が複数の仮想プロセッサとして機能する。
【００２１】
図２の例では、第１の仮想プロセッサ１１Ａ（第１ＣＰＵ）は、ＲＯＭ１２に記憶されたプログラムのうちエンジン制御プログラムＰＡを実行する。これにより、先述したようにエンジン３の作動を制御する。第２の仮想プロセッサ１１Ｂ（第２ＣＰＵ）は、ＲＯＭ１２に記憶されたプログラムのうちエアコン制御プログラムＰＢを実行する。これにより、先述したようにエアコン４の作動を制御する。第３の仮想プロセッサ１１Ｃ（第３ＣＰＵ）は、ＲＯＭ１２に記憶されたプログラムのうちオーディオ制御プログラムＰＣを実行する。これにより、先述したようにオーディオ機器５の作動を制御する。
【００２２】
図２に示すように、プロセッサ１１の処理能力を示す動作周波数は１８０Ｍｈｚである。この動作周波数を複数に時分割してなるスロットＳ１〜Ｓ５、Ｓ６〜Ｓ１５、Ｓ１６〜Ｓ１８が、仮想プロセッサ１１Ａ、１１Ｂ、１１Ｃの各々に割り付けられている。このように時分割することで、マルチスレッドをハードウェアで構成することを実現させている。なお、「スロット」とは、仮想プロセッサの構成要素であり、マイコン１０をどのように時分割するかを定める設定コンテキストのことである。仮想プロセッサはスロット指定に従い、コンテキストをスイッチングする。
【００２３】
図２の例では、動作周波数１８０Ｍｈｚを１８個のスロットＳ１〜Ｓ１８に分割しており、分割したスロットをいずれの仮想プロセッサ１１Ａ、１１Ｂ、１１Ｃに割付けるかの割付け先は固定されている。すなわち、第１の仮想プロセッサ１１Ａには５個、第２の仮想プロセッサ１１Ｂには１０個、第３の仮想プロセッサ１１Ｃには３個のスロットが割り付けられている。したがって、第１の仮想プロセッサ１１Ａの処理能力（見かけ上の動作周波数）は５０Ｍｈｚ、第２の仮想プロセッサ１１Ｂの処理能力は１００Ｍｈｚ、第３の仮想プロセッサ１１Ｃの処理能力は３０Ｍｈｚである。
【００２４】
マイコン１０は、割付けられたスロットＳ１〜Ｓ１８の動作状態を変更する機能を有する。詳細には、電源ＩＣ２０からマイコン１０へ送信される前記変更要求の信号に基づき、スロットＳ１〜Ｓ１８の各々に対してオンオフをマイコン１０が制御する。スロットＳ１〜Ｓ１８のオンオフは、プロセッサ１１のレジスタを書き換えることで制御される。
【００２５】
図２、図３、図４のうち斜線を付したスロットはオン状態であることを示し、斜線が付されていないスロットはオフ状態であることを示す。つまり、図２のオンオフパターン（パターンＡ）では、全てのスロットＳ１〜Ｓ１８をオンにしており、各仮想プロセッサ１１Ａ、１１Ｂ、１１Ｃは最大処理能力５０Ｍｈｚ、１００Ｍｈｚ、３０Ｍｈｚで作動する。
【００２６】
これに対し、図３のオンオフパターン（パターンＢ）では、一部のスロットＳ１３〜Ｓ１５、Ｓ１７、Ｓ１８をオフにした状態を示す。具体的には、第２の仮想プロセッサ１１Ｂに割り付けられたスロットＳ１３〜Ｓ１５と、第３の仮想プロセッサ１１Ｃに割り付けられたスロットＳ１７、Ｓ１８をオフにする。これにより、第２の仮想プロセッサ１１Ｂは７０Ｍｈｚで作動し、第３の仮想プロセッサ１１Ｃは１０Ｍｈｚで作動する。これにより、実在のプロセッサ１１は、見かけ上１３０Ｍｈｚの処理能力で作動することとなり、最大処理能力１８０Ｍｈで作動する場合に比べて消費電力が少なくなる。
【００２７】
また、図４のオンオフパターン（パターンＣ）では、第２の仮想プロセッサ１１Ｂに割り付けられたスロットＳ７〜Ｓ１５と、第３の仮想プロセッサ１１Ｃに割り付けられた全てのスロットＳ１６〜Ｓ１８をオフにする。これにより、第２の仮想プロセッサ１１Ｂは７０Ｍｈｚで作動し、第３の仮想プロセッサ１１Ｃは１０Ｍｈｚで作動する。これにより、実在のプロセッサ１１は、見かけ上６０Ｍｈｚの処理能力で作動することとなり、パターンＢの場合に比べてさらに消費電力が少なくなる。
【００２８】
このように、電源ＩＣ２０からの変更要求に応じて、スロットＳ１〜Ｓ１８のオンオフ設定を変更するが、第１の仮想プロセッサ１１Ａについては処理能力の変更が禁止されており、割り付けられているスロットＳ１〜Ｓ５の全てが常にオンに設定されている。つまり、第１の仮想プロセッサ１１Ａが「変更禁止仮想プロセッサ」に相当する。エンジン制御プログラムＰＡ等、車両の走行状態に関するプログラムを実行する仮想プロセッサ１１Ａを「変更禁止仮想プロセッサ」とすることが望ましい。
【００２９】
また、第２の仮想プロセッサ１１Ｂについては、省電力の要求が大きい場合であっても、図４に示すごとく、最低１つのスロットＳ６はオン状態にして、第２の仮想プロセッサ１１Ｂが停止することの内容に制限している。換言すれば、割り付けられたスロットＳ６〜Ｓ１５の全てが同時に動作停止することのないよう、オンオフ設定が制限されている。つまり、第２の仮想プロセッサ１１Ｂが「常動仮想プロセッサ」に相当する。本実施形態では、エンジン制御プログラムＰＡを実行する仮想プロセッサ１１Ａを「変更禁止仮想プロセッサ」としている。
【００３０】
なお、第３の仮想プロセッサ１１Ｃについては、図４に示す如く、割り付けられたスロットＳ１６〜Ｓ１８の全てを同時にオフさせて動作停止させることを許可している。
【００３１】
図５は、マイコン１０がスロット状態を変更する処理を実行する手順を示すフローチャートであり、所定周期（例えばプロセッサ１１の演算周期）で繰り返し実行される。これによれば、先ずステップＳ１００（スロット状態変更手段）において、マイコン１０の外部（電源ＩＣ２０）から変更要求があるか否かを判定する。変更要求があれば（Ｓ１００：ＹＥＳ）、続くステップＳ１１０において、その変更要求に応じてスロットＳ１〜Ｓ１８のオンオフ状態を変更する。
【００３２】
具体的には、仮想プロセッサ１１Ａ、１１Ｂ、１１Ｃの各々の処理能力の組合せ、つまり図２〜図４に例示するパターンＡ、Ｂ、Ｃを予め複数設定しておき、変更要求に応じたパターンを選択し、そのパターンになるようにスロット状態を変更する。
【００３３】
以上により、本実施形態によれば、プログラムＰＡ、ＰＢ、ＰＣ毎に仮想プロセッサ１１Ａ、１１Ｂ、１１Ｃが割当てられ、それらの仮想プロセッサ毎に処理能力（スロットの動作状態）を変更できる。よって、例えばエアコン４およびオーディオ機器５を停止させている場合には、第２および第３の仮想プロセッサ１１Ｂ、１１Ｃの演算処理負荷が小さい状態にあるので、このような場合にはパターンＢ、Ｃの如くスロットを変更することで、エアコン４およびオーディオ機器５の作動を制御する仮想プロセッサ１１Ｂ、１１Ｃの処理能力を低下させる。それでいて、エンジンは駆動中であるため、エンジン３の作動を制御する仮想プロセッサ１１Ａについては処理能力を低下させない。このように、本実施形態によれば、プログラム毎（仮想プロセッサ毎）に処理能力を変更できるので、プロセッサ１１の電力消費量を低減できる。
【００３４】
要するに、本実施形態によれば、マイコン１０の消費電流自体をマイコン１０が制御、抑制できるようになる。一方、本実施形態に反して、例えば電源ＩＣ２０が電流モニタ３０に基づき強制的にマイコン１０への電力供給量を低減させて省電力化を図ろうとすると、例えばマイコン１０以外への電力供給先（車載機器６）にて漏電等の故障が発生した場合、車載機器６への電力供給量増大に伴いマイコン１０が電力不足に陥ることが懸念される。これに対し、本実施形態によれば、先述したようにマイコン１０の消費電流自体をマイコン１０が制御、抑制するので、前記懸念を解消できる。
【００３５】
さらに、本実施形態によれば、プログラムＰＡ、ＰＢ、ＰＣと処理能力との組合せ数を少なくできる。つまり、図２〜図４に示す３パターンで変更する場合には、エンジン制御プログラムＰＡについては、５０Ｍｈｚの実行処理が正常に為されることを検証するだけでよい。また、エアコン制御プログラムＰＢについては１００Ｍｈｚ、７０Ｍｈｚ、１０Ｍｈｚの３種類について検証すればよく、オーディオ制御プログラムＰＣについては３０Ｍｈｚ、１０Ｍｈｚの２種類について検証すればよい。よって、全てのプログラムＰＡ、ＰＢ、ＰＣに対して１８０Ｍｈｚ、１３０Ｍｈｚ、６０Ｍｈｚの３種類を検証する場合に比べて、プログラムＰＡ、ＰＢ、ＰＣが正常に作動するかの検証作業を軽減できる。
【００３６】
さらに、本実施形態によれば、プロセッサ１１のレジスタ値を変えることにより、スロットのオンオフ状態を変更するので、仮想プロセッサ毎の処理能力（スロットの動作状態）を迅速に変更できる。例えば、マイコンクロックにて数１０〜数１００サイクルにて変更を完了することができる。
【００３７】
また、以下に列挙する特徴を備えた本実施形態によれば、各々の特徴により以下に説明する作用効果が発揮される。
【００３８】
＜特徴１＞
複数の前記仮想プロセッサのうち、処理能力の変更禁止が要求されるものを変更禁止仮想プロセッサ１１Ａとして設定し、変更禁止仮想プロセッサ１１Ａに割り付けられたスロットＳ１〜Ｓ５の動作状態は、スロット状態変更手段Ｓ１１０による変更が禁止されていることを特徴とする。
【００３９】
これによれば、例えば、エンジン制御に関するプログラムＰＡ等、安全に関するプログラムについては、変更禁止仮想プロセッサとして設定すれば、処理能力の低下や処理能力が変化することによるプログラムの演算処理の誤作動発生の可能性を低下でき、安全性の向上を図ることができる。
【００４０】
＜特徴２＞
複数の仮想プロセッサのうち、処理の常時実行が要求されるものを常動仮想プロセッサ１１Ｂとして設定し、常動仮想プロセッサ１１Ｂに割り付けられたスロットＳ６〜Ｓ１５の全てが同時に動作停止することのないよう、スロット状態変更手段Ｓ１１０による変更は制限されていることを特徴とする。
【００４１】
これによれば、例えばエアコン４を停止させていることに伴い図４のパターンＣの如く常動仮想プロセッサ１１Ｂの処理能力を最小限にしている状況下において、エアコン４を起動させるべくユーザが起動スイッチをオン操作した場合に、そのオン信号を検知してエアコン４を起動させることを容易に実現できるようになる。
【００４２】
＜特徴３＞
仮想プロセッサ１１Ａ、１１Ｂ、１１Ｃの各々の処理能力の組合せ（パターンＡ、Ｂ、Ｃ）を、予め複数設定しておき、スロット状態変更手段Ｓ１１０は、複数の組合せの中から選択した組合せに係る処理能力になるよう、スロットＳ１〜Ｓ１８の動作状態を変更することを特徴とする。これによれば、スロットの動作状態を変更する処理の負荷を軽減でき、変更に要する時間も短くできる。
【００４３】
＜特徴４＞
スロットＳ１〜Ｓ１８の仮想プロセッサ１１Ａ、１１Ｂ、１１Ｃへの割付け先が固定されていることを特徴とする。ここで、この特徴に反して割付け先を変更可能にした構成であっても本発明は実施可能である。例えば、図３に示す未使用のスロットＳ１３を、使用率の高い他の仮想プロセッサに割付けを変更して、未使用スロットＳ１３を利用するようにしてもよい。しかし、このように割付けを変更する場合、その変更処理が複雑になる。この点を鑑みた上記特徴によれば、割付け先が固定されているので、スロット状態変更手段Ｓ１１０による処理を簡素にでき、処理負荷を軽減できる。
【００４４】
＜特徴５＞
マイコン１０が備えるスロット状態変更手段Ｓ１１０は、外部の変更要求手段（電源ＩＣ２０）からの変更要求信号に基づき、スロットＳ１〜Ｓ１８の動作状態の変更を実施することを特徴とする。ここで、この特徴に反して、マイコン１０自身が変更の要否を判定する構成であっても本発明は実施可能である。しかし、マイコン１０への電力供給不足に陥ってからでは、動作不安定な状態のマイコン１０が前記変更の要否判定をすることになり、その判定の信頼性が低い。この点を鑑みた上記特徴によれば、前記変更の要否判定の信頼性を向上できる。
【００４５】
（第２実施形態）
本実施形態では、仮想プロセッサ１１Ａ、１１Ｂ、１１Ｃの使用率に応じて、該仮想プロセッサ１１Ａ、１１Ｂ、１１Ｃに割り付けられたスロットＳ１〜Ｓ５、Ｓ６〜Ｓ１５、Ｓ１６〜Ｓ１８の動作状態を変更する。なお、上記第１実施形態では、電流モニタ３０の検出値に基づき、電力供給不足にならないようにスロット設定を変更しているが、使用率に応じて動作状態を変更する本実施形態によれば、電流モニタ３０の検出値を用いることなく前記変更を実施してもよいし、前記検出値および前記使用率に基づき前記変更を実施してもよい。
【００４６】
図６は、本実施形態において、マイコン１０がスロット状態を変更する処理を実行する手順を示すフローチャートであり、所定周期（例えばプロセッサ１１の演算周期）で繰り返し実行される。先ず、図６のステップＳ２００において、仮想プロセッサ１１Ａ、１１Ｂ、１１Ｃの使用率を予測する。例えば、外気温度に基づき空調が不要と予測して、エアコン制御プログラムＰＢを実行する第２の仮想プロセッサ１１Ｂの使用率は低いと予測する。
【００４７】
続くステップＳ２１０（スロット状態変更手段）では、ステップＳ２００で予測した仮想プロセッサ１１Ａ、１１Ｂ、１１Ｃの各使用率に基づき、現状の電源ＩＣ２０による電圧生成のままで、マイコン１０が電力供給不足に陥るか否かを判定する。電力供給不足に陥ると判定された場合（Ｓ２１０：ＹＥＳ）、次のステップＳ２２０において、予測した使用率に応じてスロット状態を変更する。
【００４８】
ステップＳ２２０の変更処理が終了したと判定されれば（Ｓ２３０：ＮＯ）、図６の処理を終了するが、変更処理を実施中であれば（Ｓ２３０：ＹＥＳ）、続くステップＳ２４０において、各制御プログラムの実行を禁止する。例えば、第２の仮想プロセッサ１１Ｂのスロット設定を変更している最中には、第２の仮想プロセッサ１１Ｃによるオーディオ制御プログラムＰＣの実行を禁止する。
【００４９】
以上の如く本実施形態では、スロット状態変更手段Ｓ２１０は、仮想プロセッサ１１Ａ、１１Ｂ、１１Ｃの使用率に応じて、該仮想プロセッサに割り付けられたスロットＳ１〜Ｓ１８の動作状態を変更することを特徴とする。そのため、使用率の低い仮想プロセッサにおいて利用されていないスロットを、他の仮想プロセッサにて有効に利用するようにできる。
【００５０】
また、スロット状態変更手段Ｓ２１０が処理能力の変更を実施する期間中（Ｓ２３０：ＹＥＳ）には、仮想プロセッサによるプログラムの実行を禁止する（Ｓ２４０）ことを特徴とする。これによれば、スロット設定値変更期間といった、仮想プロセッサが不安定な期間にプログラムを実行することによる制御の誤作動を、確実に回避できる。
【００５１】
（第３実施形態）
上記第１実施形態では、図１に示すようにマイコン１０の外部に設けられた回路（電源ＩＣ２０）により、スロット設定値変更の要求が為されている。これに対し、本実施形態では、前記変更の要求を、マイコン１０のプロセッサ１１が実施することを特徴とする。
【００５２】
例えば、エンジン３をフェールセール運転させたい等、電力不足以外の他の要因のうちマイコン１０が把握している要因に基づき、マイコン１０の消費電力を変更させたい場合がある。この点を鑑みた本実施形態によれば、前記変更の要求をマイコン１０が実施するので、他の要因に基づきスロット設定値変更を実施することを容易に実現できる。
【００５３】
（他の実施形態）
本発明は上記実施形態の記載内容に限定されず、以下のように変更して実施してもよい。また、各実施形態の特徴的構成をそれぞれ任意に組み合わせるようにしてもよい。
【００５４】
・図２〜図４に示す例では、分割したスロットＳ１〜Ｓ１８をいずれの仮想プロセッサ１１Ａ、１１Ｂ、１１Ｃに割付けるかの割付け先は固定されているが、スロットＳ１〜Ｓ１８の仮想プロセッサ１１Ａ、１１Ｂ、１１Ｃへの割付け先は固定されていなくても良い。
【００５５】
・図２〜図４に示す例では、３つの組合せ（パターンＡ、Ｂ、Ｃ）の中から変更要求に適したパターンを選択して、選択したパターンのスロット設定値となるよう、一括して設定変更しているが、各々のスロット設定値についてオンオフのいずれにしたら良いかを判断して設定変更するようにしてもよい。
【符号の説明】
【００５６】
１０…マイクロコンピュータ（マイコン）、１１…プロセッサ、１１Ａ…第１の仮想プロセッサ（変更禁止仮想プロセッサ）、１１Ｂ…第２の仮想プロセッサ（常動仮想プロセッサ）、１１Ｃ…第３の仮想プロセッサ、Ｓ１〜Ｓ５、Ｓ６〜Ｓ１５、Ｓ１６〜Ｓ１８…スロット、Ｓ１１０、Ｓ２１０…スロット状態変更手段、ＰＡ…エンジン制御プログラム、ＰＢ…エアコン制御プログラム、ＰＣ…オーディオ制御プログラム。
【図１】
2014135025.tif 000003
【図２】
2014135025.tif 000004
【図３】
2014135025.tif 000005
【図４】
2014135025.tif 000006
【図５】
2014135025.tif 000007
【図６】
2014135025.tif 000008