(57)【要約】【課題】マルチスレッド機能を有するマイクロコンピュータの入出力装置の消費電力を低減することができるマイクロコンピュータの提供。【解決手段】マルチスレッド処理を行うマイクロコンピュータであって、マルチスレッド処理を行うデータ処理部と、上記データ処理部が処理すべきデータをマイクロコンピュータの外部から入力する複数の入力部と、上記データ処理部が処理した結果をマイクロコンピュータの外部へ出力する複数の出力部と、各上記入力部および各上記出力部のうちいずれの入力部および出力部が使用中であるのかを記憶する使用状況記憶部と、上記使用状況記憶部が記憶している上記入力部および上記出力部の使用状況に基づいて、各上記入力部および各上記出力部への電力供給を個別に制御する電力供給制御部とを備える。【選択図】図３
2010282475.tif 000002
【特許請求の範囲】
【請求項１】
マルチスレッド処理を行うマイクロコンピュータであって、
マルチスレッド処理を行うデータ処理部と、
前記データ処理部が処理すべきデータをマイクロコンピュータの外部から入力する複数の入力部と、
前記データ処理部が処理した結果をマイクロコンピュータの外部へ出力する複数の出力部と、
各前記入力部および各前記出力部のうちいずれの入力部および出力部が使用中であるのかを記憶する使用状況記憶部と、
前記使用状況記憶部が記憶している前記入力部および前記出力部の使用状況に基づいて、各前記入力部および各前記出力部への電力供給を個別に制御する電力供給制御部とを備えた、マイクロコンピュータ。
【請求項２】
前記電力供給制御部がいずれの前記入力部および前記出力部が使用中であるのかを認識できるように、前記使用状況記憶部は、実行中のスレッドの識別子を、当該スレッドの実行に伴って使用される前記入力部および前記出力部に対応付けて登録し、実行を終了したスレッドの識別子を削除することを特徴とする請求項１に記載のマイクロコンピュータ。
【請求項３】
前記電力供給制御部がいずれの前記入力部および前記出力部が使用中であるのかを認識できるように、前記使用状況記憶部は、実行中および不実行中のスレッドの識別子を、当該スレッドの実行に伴って使用される前記入力部および前記出力部に対応付けて登録し、実行中のスレッドの識別子に対してのみ、実行中であることを示すフラグを付与し、実行を終了したスレッドの識別子から前記フラグを除去することを特徴とする請求項１に記載のマイクロコンピュータ。
【請求項４】
前記電力供給制御部は、前記入力部に対応付けられて少なくとも１つの前記スレッドが登録されている場合、当該入力部への電力供給を行い、前記出力部に対応付けられて少なくとも１つの前記スレッドが登録されている場合、当該出力部への電力供給を行い、前記入力部に対応付けられていずれの前記スレッドも登録されていない場合、当該入力部への電力供給を停止し、前記出力部に対応付けられていずれの前記スレッドも登録されていない場合、当該出力部への電力供給を停止することを特徴とする請求項２に記載のマイクロコンピュータ。
【請求項５】
前記電力供給制御部は、前記入力部に対応付けられた少なくとも１つの前記スレッドに前記フラグが付与されている場合、当該入力部への電力供給を行い、前記出力部に対応付けられた少なくとも１つの前記スレッドに前記フラグが付与されている場合、当該出力部への電力供給を行い、前記入力部に対応付けられたいずれの前記スレッドにも前記フラグが付与されていない場合、当該入力部への電力供給を停止し、前記出力部に対応付けられたいずれの前記スレッドにも前記フラグが付与されていない場合、当該出力部への電力供給を停止することを特徴とする請求項３に記載のマイクロコンピュータ。
【請求項６】
前記入力部は、Ａ／Ｄコンバータ、入力ポート、ＵＡＲＴ(Universal Asynchronous Receiver/Transmitter)、およびタイマのいずれかであることを特徴とする請求項１乃至５いずれか１項に記載のマイクロコンピュータ。
【請求項７】
前記出力部は、Ｄ／Ａコンバータ、出力ポート、ＵＡＲＴ(Universal Asynchronous Receiver/Transmitter)、およびタイマのいずれかであることを特徴とする請求項１乃至５いずれか１項に記載のマイクロコンピュータ。
【請求項８】
前記使用状況記憶部が記憶している前記入力部および前記出力部の使用状況に基づいて、各前記入力部および各前記出力部の作動／停止を個別に制御する作動制御部をさらに備え、
前記電力供給制御部は、前記作動制御部が前記入力部を停止させた後に当該入力部への電力供給を停止し、前記作動制御部が前記出力部を停止させた後に当該出力部への電力供給を停止することを特徴とする請求項１に記載のマイクロコンピュータ。
【請求項９】
前記電力供給制御部がいずれの前記入力部および前記出力部が使用中であるのかを認識できるように、前記使用状況記憶部は、実行中のスレッドの識別子を、当該スレッドの実行に伴って使用される前記入力部および前記出力部に対応付けて登録し、実行を終了したスレッドの識別子を削除することを特徴とする請求項８に記載のマイクロコンピュータ。
【請求項１０】
前記電力供給制御部がいずれの前記入力部および前記出力部が使用中であるのかを認識できるように、前記使用状況記憶部は、実行中および不実行中のスレッドの識別子を、当該スレッドの実行に伴って使用される前記入力部および前記出力部に対応付けて登録し、実行中のスレッドの識別子に対してのみ、実行中であることを示すフラグを付与し、実行を終了したスレッドの識別子から前記フラグを除去することを特徴とする請求項８に記載のマイクロコンピュータ。
【請求項１１】
前記作動制御部は、前記入力部に対応付けられて少なくとも１つの前記スレッドが登録されている場合、当該入力部を作動させ、前記出力部に対応付けられて少なくとも１つの前記スレッドが登録されている場合、当該出力部を作動させ、前記入力部に対応付けられていずれの前記スレッドも登録されていない場合、当該入力部を停止させ、前記出力部に対応付けられていずれの前記スレッドも登録されていない場合、当該出力部を停止させることを特徴とする請求項９に記載のマイクロコンピュータ。
【請求項１２】
前記作動制御部は、前記入力部に対応付けられた少なくとも１つの前記スレッドに前記フラグが付与されている場合、当該入力部を作動させ、前記出力部に対応付けられた少なくとも１つの前記スレッドに前記フラグが付与されている場合、当該出力部を作動させ、前記入力部に対応付けられたいずれの前記スレッドにも前記フラグが付与されていない場合、当該入力部を停止させ、前記出力部に対応付けられたいずれの前記スレッドにも前記フラグが付与されていない場合、当該出力部を停止させることを特徴とする請求項１０に記載のマイクロコンピュータ。
【請求項１３】
前記使用状況記憶部および前記電力供給制御部は、デバイスドライバまたはＯＳ(Operating System)に含まれ、
各スレッドは、自己が前記入力部および前記出力部を使用しているかどうかを前記使用状況記憶部に通知し、
前記使用状況記憶部は、通知された使用状況に基づいて、各前記入力部および各前記出力部のうちいずれの入力部および出力部が使用中であるのかを記憶し、
前記電力供給制御部は、前記使用状況記憶部が記憶している前記入力部および前記出力部の使用状況に基づいて、各前記入力部および各前記出力部への電力供給を個別に制御することを特徴とする請求項１に記載のマイクロコンピュータ。
【請求項１４】
電力制御指示部をさらに備え、
各スレッドは、自己が前記入力部および前記出力部を使用しているかどうかを前記使用状況記憶部に通知し、
前記使用状況記憶部は、通知された使用状況に基づいて、各前記入力部および各前記出力部のうちいずれの入力部および出力部が使用中であるのかを記憶し、
前記電力制御指示部は、前記使用状況記憶部が記憶している前記入力部および前記出力部の使用状況に基づいて、各前記入力部および各前記出力部への電力供給を個別に制御する指示をいずれかのスレッドに対して行い、
指示を受けたスレッドは、前記電力供給制御部として、各前記入力部および各前記出力部への電力供給を個別に制御することを特徴とする請求項１に記載のマイクロコンピュータ。
【請求項１５】
前記電力制御指示部は、電力供給の制御を自己の他の処理に割り込んで行うよう前記スレッドに指示し、
前記スレッドは、割り込み処理の指示を受けると、電力供給の制御を自己の他の処理に割り込んで行うことを特徴とする請求項１４に記載のマイクロコンピュータ。
【請求項１６】
前記電力供給制御部は、前記使用状況記憶部が記憶している前記入力部および前記出力部の使用状況に基づいて、各前記入力部および各前記出力部への電力供給を個別に制御するスイッチを含むことを特徴とする請求項１に記載のマイクロコンピュータ。
【請求項１７】
車両に搭載されるＥＣＵ(Electronic Control Unit)に含まれることを特徴とする請求項１乃至１６いずれか１項に記載のマイクロコンピュータ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はマイクロコンピュータに関し、より詳しくは、マルチスレッド機能を有するマイクロコンピュータの入出力装置の消費電力を低減することができるマイクロコンピュータに関する。
【背景技術】
【０００２】
近年、車載システムの機能が高度化し、これに伴って車載システムを構成するＥＣＵ(Electronic Control Unit)の数が増加し続けている。車載システムの体積、消費電力、配線の数などを削減するために、複数のＥＣＵの機能を備えた統合ＥＣＵが開発されている。統合ＥＣＵには、複数のアプリケーションプログラムが互いに独立に動作し、かつ、各アプリケーションプログラム内で複数のスレッドが並列に動作するマルチスレッド機能を有するマイクロコンピュータが搭載されることがある。
【０００３】
マイクロコンピュータの消費電力を低減するために、マイクロコンピュータを構成する入出力装置(I/O)の消費電力を低減させることが考えられる。しかしながら、従来のマルチスレッド機能を有するマイクロコンピュータは、いずれの入出力装置が使用中であるかを認識していないため、入出力装置が作動していないときに当該入出力装置への電力供給を停止して消費電力を低減することができなかった。
【０００４】
特許文献１には、各ＣＰＵの稼動状態に応じて、各ＣＰＵに供給するクロックの周波数を低くするマルチプロセッサが開示されている。クロック周波数を低くすることにより、各ＣＰＵの消費電力を低減することができる。しかしながら、特許文献１には、入出力装置の消費電力を低減させる思想は開示されていない。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平８−６６８１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
本発明は、このような実情に鑑みてなされたもので、マルチスレッド機能を有するマイクロコンピュータの入出力装置の消費電力を低減することができるマイクロコンピュータの提供を目的とする。
【課題を解決するための手段】
【０００７】
第１の発明は、
マルチスレッド処理を行うマイクロコンピュータであって、
マルチスレッド処理を行うデータ処理部と、
上記データ処理部が処理すべきデータをマイクロコンピュータの外部から入力する複数の入力部と、
上記データ処理部が処理した結果をマイクロコンピュータの外部へ出力する複数の出力部と、
各上記入力部および各上記出力部のうちいずれの入力部および出力部が使用中であるのかを記憶する使用状況記憶部と、
上記使用状況記憶部が記憶している上記入力部および上記出力部の使用状況に基づいて、各上記入力部および各上記出力部への電力供給を個別に制御する電力供給制御部とを備えた、マイクロコンピュータである。
【０００８】
第１の発明によれば、いずれの入力部および出力部が使用中であるのかが記憶され、その記憶された情報に基づいて、各入力部および各出力部への電力供給が個別に制御される。従って、マルチスレッド機能を有するマイクロコンピュータにおいて、入力部を使用していない期間には当該入力部への電力供給を停止することができ、また、出力部を使用していない期間には当該出力部への電力供給を停止することができる。よって、第１の発明によれば、マイクロコンピュータにおける入力部および出力部の消費電力を低減することができる。
【０００９】
第２の発明は、第１の発明において、
上記電力供給制御部がいずれの上記入力部および上記出力部が使用中であるのかを認識できるように、上記使用状況記憶部は、実行中のスレッドの識別子を、当該スレッドの実行に伴って使用される上記入力部および上記出力部に対応付けて登録し、実行を終了したスレッドの識別子を削除することを特徴とする。
【００１０】
第２の発明によれば、使用状況記憶部は、実行中のスレッドの識別子を入力部および出力部に対応付けて登録する一方、実行を終了したスレッドの識別子を削除する。これにより、電力供給制御部は使用状況記憶部を参照して、いずれの入力部および出力部が使用中であるのかを認識することができる。
【００１１】
第３の発明は、第１の発明において、
上記電力供給制御部がいずれの上記入力部および上記出力部が使用中であるのかを認識できるように、上記使用状況記憶部は、実行中および不実行中のスレッドの識別子を、当該スレッドの実行に伴って使用される上記入力部および上記出力部に対応付けて登録し、実行中のスレッドの識別子に対してのみ、実行中であることを示すフラグを付与し、実行を終了したスレッドの識別子から上記フラグを除去することを特徴とすることを特徴とする。
【００１２】
第３の発明によれば、使用状況記憶部は、実行中および不実行中のスレッドの識別子を入力部および出力部に対応付けて登録し、実行中のスレッドの識別子に対してのみ、実行中であることを示すフラグを付与し、実行を終了したスレッドの識別子から上記フラグを除去する。これにより、電力供給制御部は、使用状況記憶部を参照して、いずれの入力部および出力部が使用中であるのかを認識することができる。
【００１３】
第４の発明は、第２の発明において、
上記電力供給制御部は、上記入力部に対応付けられて少なくとも１つの上記スレッドが登録されている場合、当該入力部への電力供給を行い、上記出力部に対応付けられて少なくとも１つの上記スレッドが登録されている場合、当該出力部への電力供給を行い、上記入力部に対応付けられていずれの上記スレッドも登録されていない場合、当該入力部への電力供給を停止し、上記出力部に対応付けられていずれの上記スレッドも登録されていない場合、当該出力部への電力供給を停止することを特徴とする。
【００１４】
第４の発明によれば、入力部がいずれのスレッドにも使用されていない場合、当該入力部への電力供給が停止され、出力部がいずれのスレッドにも使用されていない場合、当該出力部への電力供給が停止される。これにより、入力部および出力部の消費電力を低減することができる。
【００１５】
第５の発明は、第３の発明において、
上記電力供給制御部は、上記入力部に対応付けられた少なくととも１つの上記スレッドに上記フラグが付与されている場合、当該入力部への電力供給を行い、上記出力部に対応付けられた少なくとも１つの上記スレッドに上記フラグが付与されている場合、当該出力部への電力供給を行い、上記入力部に対応付けられたいずれの上記スレッドにも上記フラグが付与されていない場合、当該入力部への電力供給を停止し、上記出力部に対応付けられたいずれの上記スレッドにも上記フラグが付与されていない場合、当該出力部への電力供給を停止することを特徴とする。
【００１６】
第５の発明によれば、入力部がいずれのスレッドにも使用されていない場合、当該入力部への電力供給が停止され、出力部がいずれのスレッドにも使用されていない場合、当該出力部への電力供給が停止される。これにより、入力部および出力部の消費電力を低減することができる。
【００１７】
第６の発明は、第１乃至第５いずれかの発明において、
上記入力部は、Ａ／Ｄコンバータ、入力ポート、ＵＡＲＴ(Universal Asynchronous Receiver/Transmitter)、およびタイマのいずれかであることを特徴とする。
【００１８】
第６の発明によれば、種々の入力部の消費電力を低減することができる。
【００１９】
第７の発明は、第１乃至第５いずれかの発明において、
上記出力部は、Ｄ／Ａコンバータ、出力ポート、ＵＡＲＴ(Universal Asynchronous Receiver/Transmitter)、およびタイマのいずれかであることを特徴とする。
【００２０】
第７の発明によれば、種々の出力部の消費電力を低減することができる。
【００２１】
第８の発明は、第１の発明において、
上記使用状況記憶部が記憶している上記入力部および上記出力部の使用状況に基づいて、各上記入力部および各上記出力部の作動／停止を個別に制御する作動制御部をさらに備え、
上記電力供給制御部は、上記作動制御部が上記入力部を停止させた後に当該入力部への電力供給を停止し、上記作動制御部が上記出力部を停止させた後に当該出力部への電力供給を停止することを特徴とする。
【００２２】
第８の発明によれば、電力供給制御部は、作動制御部が入力部を停止させた後に当該入力部への電力供給を停止し、作動制御部が出力部を停止させた後に当該出力部への電力供給を停止する。よって、入力部が停止する前に当該入力部への電力供給が停止することがなく、また、出力部が停止する前に当該出力部への電力供給が停止することがない。従って、入力部および出力部の誤動作を防止することができる。
【００２３】
第９の発明は、第８の発明において、
上記電力供給制御部がいずれの上記入力部および上記出力部が使用中であるのかを認識できるように、上記使用状況記憶部は、実行中のスレッドの識別子を、当該スレッドの実行に伴って使用される上記入力部および上記出力部に対応付けて登録し、実行を終了したスレッドの識別子を削除することを特徴とする。
【００２４】
第９の発明によれば、使用状況記憶部は、実行中のスレッドの識別子を入力部および出力部に対応付けて登録する一方、実行を終了したスレッドの識別子を削除する。これにより、電力供給制御部は使用状況記憶部を参照して、いずれの入力部および出力部が使用中であるのかを認識することができる。
【００２５】
第１０の発明は、第８の発明において、
上記電力供給制御部がいずれの上記入力部および上記出力部が使用中であるのかを認識できるように、上記使用状況記憶部は、実行中および不実行中のスレッドの識別子を、当該スレッドの実行に伴って使用される上記入力部および上記出力部に対応付けて登録し、実行中のスレッドの識別子に対してのみ、実行中であることを示すフラグを付与し、実行を終了したスレッドの識別子から上記フラグを除去することを特徴とする。
【００２６】
第１０の発明によれば、入力部がいずれのスレッドにも使用されていない場合、当該入力部への電力供給が停止され、出力部がいずれのスレッドにも使用されていない場合、当該出力部への電力供給が停止される。これにより、入力部および出力部の消費電力を低減することができる。
【００２７】
第１１の発明は、第９の発明において、
上記作動制御部は、上記入力部に対応付けられて少なくとも１つの上記スレッドが登録されている場合、当該入力部を作動させ、上記出力部に対応付けられて少なくとも１つの上記スレッドが登録されている場合、当該出力部を作動させ、上記入力部に対応付けられていずれの上記スレッドも登録されていない場合、当該入力部を停止させ、上記出力部に対応付けられていずれの上記スレッドも登録されていない場合、当該出力部を停止させることを特徴とする。
【００２８】
第１１の発明によれば、入力部がいずれのスレッドにも使用されていない場合、当該入力部は停止させられ、出力部がいずれのスレッドにも使用されていない場合、当該出力部は停止させられる。これにより、入力部および出力部への電力供給が停止される前に、当該入力部および当該出力部を停止させることができる。
【００２９】
第１２の発明は、第１０の発明において、
上記作動制御部は、上記入力部に対応付けられた少なくとも１つの上記スレッドに上記フラグが付与されている場合、当該入力部を作動させ、上記出力部に対応付けられた少なくとも１つの上記スレッドに上記フラグが付与されている場合、当該出力部を作動させ、上記入力部に対応付けられたいずれの上記スレッドにも上記フラグが付与されていない場合、当該入力部を停止させ、上記出力部に対応付けられたいずれの上記スレッドにも上記フラグが付与されていない場合、当該出力部を停止させることを特徴とする。
【００３０】
第１２の発明によれば、入力部がいずれのスレッドにも使用されていない場合、当該入力部は停止させられ、出力部がいずれのスレッドにも使用されていない場合、当該出力部は停止させられる。これにより、入力部および出力部への電力供給が停止される前に、当該入力部および当該出力部を停止させることができる。
【００３１】
第１３の発明は、第１の発明において、
上記使用状況記憶部および上記電力供給制御部は、デバイスドライバまたはＯＳ(Operating System)に含まれ、
各スレッドは、自己が上記入力部および上記出力部を使用しているかどうかを上記使用状況記憶部に通知し、
上記使用状況記憶部は、通知された使用状況に基づいて、各上記入力部および各上記出力部のうちいずれの入力部および出力部が使用中であるのかを記憶し、
上記電力供給制御部は、上記使用状況記憶部が記憶している上記入力部および上記出力部の使用状況に基づいて、各上記入力部および各上記出力部への電力供給を個別に制御することを特徴とする。
【００３２】
第１３の発明によれば、使用状況記憶部および電力供給制御部は、デバイスドライバまたはＯＳ(Operating System)に含まれている。よって、使用状況記憶部は、いずれの入力部および出力部が使用中であるのかをソフトウェア的に記憶し、電力供給制御部は、各入力部および各出力部への電力供給をソフトウェア的に個別に制御することができる。
【００３３】
第１４の発明は、第１の発明において、
電力制御指示部をさらに備え、
各スレッドは、自己が上記入力部および上記出力部を使用しているかどうかを上記使用状況記憶部に通知し、
上記使用状況記憶部は、通知された使用状況に基づいて、各上記入力部および各上記出力部のうちいずれの入力部および出力部が使用中であるのかを記憶し、
上記電力制御指示部は、上記使用状況記憶部が記憶している上記入力部および上記出力部の使用状況に基づいて、各上記入力部および各上記出力部への電力供給を個別に制御する指示をいずれかのスレッドに対して行い、
指示を受けたスレッドは、上記電力供給制御部として、各上記入力部および各上記出力部への電力供給を個別に制御することを特徴とする。
【００３４】
第１４の発明によれば、入力部および出力部に対する電力供給の制御をスレッドがソフトウェア的に行うことができる。
【００３５】
第１５の発明は、第１４の発明において、
上記電力制御指示部は、電力供給の制御を自己の他の処理に割り込んで行うよう上記スレッドに指示し、
上記スレッドは、割り込み処理の指示を受けると、電力供給の制御を自己の他の処理に割り込んで行うことを特徴とする。
【００３６】
第１５の発明によれば、スレッドは、入力部および出力部に対する電力供給の制御を、自己の他の処理に割り込んで行うことができる。
【００３７】
第１６の発明は、第１の発明において、
上記電力供給制御部は、上記使用状況記憶部が記憶している上記入力部および上記出力部の使用状況に基づいて、各上記入力部および各上記出力部への電力供給を個別に制御するスイッチを含むことを特徴とする。
【００３８】
第１６の発明によれば、入力部および出力部に対する電力供給の制御を、スイッチの切替えによりハードウェア的に行うことができる。
【００３９】
第１７の発明は、第１乃至第１６いずれかの発明において、
車両に搭載されるＥＣＵ(Electronic Control Unit)に含まれることを特徴とする。
【００４０】
第１７の発明によれば、車載ＥＣＵ用のマイクロコンピュータを得ることができる。
【発明の効果】
【００４１】
本発明によれば、マルチスレッド機能を有するマイクロコンピュータの入出力装置（入出力インタフェース）の消費電力を低減することができる。
【図面の簡単な説明】
【００４２】
【図１】第１実施形態に係るマイクロコンピュータの構成を示すブロック図
【図２】図１に示されるマイクロコンピュータの機能的な構成を示すブロック図
【図３】図１に示されるマイクロコンピュータの動作を示す図
【図４】図１に示されるマイクロコンピュータの使用状況記憶部に格納される使用状況テーブルの一例を示す図
【図５】図１に示されるマイクロコンピュータの動作を示すフローチャート
【図６】第２実施形態に係るマイクロコンピュータの構成を示すブロック図
【図７】図６に示されるマイクロコンピュータの機能的な構成を示すブロック図
【図８】図６に示されるマイクロコンピュータの動作を示す図
【図９】図６に示されるマイクロコンピュータの使用状況記憶部に格納される使用状況テーブルの一例を示す図
【図１０】図６に示されるマイクロコンピュータの動作を示すフローチャート
【図１１】第３実施形態に係るマイクロコンピュータの構成を示すブロック図
【図１２】図１１に示されるマイクロコンピュータの機能的な構成を示すブロック図
【図１３】図１１に示されるマイクロコンピュータの動作を示す図
【図１４】図１１に示されるマイクロコンピュータの動作を示すフローチャート
【図１５】第４実施形態に係るマイクロコンピュータの構成を示すブロック図
【図１６】図１５に示されるマイクロコンピュータの機能的な構成を示すブロック図
【図１７】図１５に示されるマイクロコンピュータの電力供給制御部の構成を示す図
【発明を実施するための形態】
【００４３】
（第１実施形態）
以下、本発明の第１実施形態に係るマイクロコンピュータについて、図面を参照しつつ説明する。図１は、第１実施形態に係るマイクロコンピュータの構成を示すブロック図である。図２は、図１に示されるマイクロコンピュータの機能的な構成を示すブロック図である。図３は、図１に示されるマイクロコンピュータの動作を示す図である。図４は、図１に示されるマイクロコンピュータの使用状況記憶部に格納される使用状況テーブルの一例を示す図である。図５は、図１に示されるマイクロコンピュータの動作を示すフローチャートである。
【００４４】
第１実施形態に係るマイクロコンピュータ（以下、マイコンと称する）１は、マルチスレッド処理を行うマイクロコンピュータである。マイコン１は統合ＥＣＵ(Electronic Control Unit)を構成する。マイコン１は、例えば、車両に搭載される複数の車載機器（例えば、エンジン、ブレーキ、ドア、他のＥＣＵなど）を、ＣＡＮ(Controller Area Network)プロトコルを用いた車載ネットワーク通信によって統合的に制御することができる。マイコン１は、複数のアプリケーションプログラムをマルチタスク処理することができる。各アプリケーションプログラムは、複数のスレッド７から構成されている。
【００４５】
マイコン１は、ハードウェア的には、図１に示されるように、ＣＰＵ２８と、ＲＡＭ２９と、ＲＯＭ３０と、入出力インタフェース３１とを備えている。
【００４６】
マイコン１は、機能的には、図２に示されるように、データ処理部２と、複数の入力部３と、複数の出力部４と、使用状況記憶部５と、電力供給制御部６と、作動制御部８とを備えている。
【００４７】
データ処理部２は、各アプリケーションプログラムについてマルチスレッド処理を行う。
【００４８】
入力部３は、データ処理部２が処理すべきデータをマイコン１の外部から入力する。
入力部３の種類は特に限定されないが、例えば、Ａ／Ｄコンバータ、入力ポート、ＵＡＲＴ(Universal Asynchronous Receiver/Transmitter)、およびタイマのいずれかである。
【００４９】
出力部４は、データ処理部２が処理した結果をマイコン１の外部へ出力する。
出力部４の種類は特に限定されないが、例えば、Ｄ／Ａコンバータ、出力ポート、ＵＡＲＴ(Universal Asynchronous Receiver/Transmitter)、およびタイマのいずれかである。
【００５０】
使用状況記憶部５は、各入力部３および各出力部４のうちいずれの入力部３および出力部４が使用中であるのかを記憶する。
図３に示されるように、各スレッド７は、自己が入力部３および出力部４を使用しているかどうかを使用状況記憶部５に通知する。使用状況記憶部５は、通知された使用状況を使用状況テーブル９に格納する。使用状況記憶部５は、新たな使用状況が通知される毎に使用状況を更新する。
具体的には、使用状況記憶部５は、電力供給制御部６がいずれの入力部３および出力部４が使用中であるのかを認識できるように、実行中のスレッド７の識別子を、当該スレッド７の実行に伴って使用される入力部３および出力部４に対応付けて使用状況テーブル９（図４参照）に登録し、実行を終了したスレッドの識別子を使用状況テーブル９から削除する。
使用状況記憶部５は、図３に示されるように、デバイスドライバまたはＯＳ(Operating System)に含まれる。
【００５１】
作動制御部８は、図３に示されるように、使用状況記憶部５が記憶している入力部３および出力部４の使用状況に基づいて、各入力部３および各出力部４の作動／停止を個別に制御する。
具体的には、作動制御部８は、入力部３に対応付けられて少なくとも１つのスレッド７が登録されている場合、当該入力部３（図４に示される例では、例えばＡ／ＤコンバータＡ）を作動させ、出力部４に対応付けられて少なくとも１つのスレッド７が登録されている場合、当該出力部４を作動させる。また、作動制御部８は、入力部３に対応付けられていずれのスレッド７も登録されていない場合、当該入力部３（図４に示される例では、例えばＡ／ＤコンバータＣ）を停止させ、出力部４に対応付けられていずれのスレッド７も登録されていない場合、当該出力部４を停止させる。
【００５２】
電力供給制御部６は、図３に示されるように、使用状況記憶部５が記憶している入力部３および出力部４の使用状況に基づいて、各入力部３および各出力部４への電力供給を個別に制御する。
具体的には、電力供給制御部６は、使用状況テーブル９において入力部３に対応付けられて少なくとも１つのスレッド７が登録されている場合、当該入力部３（図４に示される例では、例えばＡ／ＤコンバータＡ）への電力供給を行い、出力部４に対応付けられて少なくとも１つのスレッド７が登録されている場合、当該出力部４への電力供給を行う。また、電力供給制御部６は、入力部３に対応付けられていずれのスレッド７も登録されていない場合、当該入力部３（図４に示される例では、例えばＡ／ＤコンバータＣ）への電力供給を停止し、出力部４に対応付けられていずれのスレッド７も登録されていない場合、当該出力部４への電力供給を停止する。
【００５３】
電力供給制御部６は、作動制御部８が入力部３を作動させる前に当該入力部３への電力供給を開始し、作動制御部８が出力部４を作動させる前に当該出力部４への電力供給を開始する。また、電力供給制御部６は、作動制御部８が入力部３を停止させた後に当該入力部３への電力供給を停止し、作動制御部８が出力部４を停止させた後に当該出力部４への電力供給を停止する。
電力供給制御部６は、デバイスドライバまたはＯＳ(Operating System)に含まれる。
【００５４】
次に、マイコン１の動作について、図５を参照しつつ説明する。
まず、各スレッド７は、自己が入力部３および出力部４を使用しているかどうかを使用状況記憶部５に通知する（ステップＳ１）。
【００５５】
次いで、使用状況記憶部５は、通知された使用状況の情報を使用状況テーブル９に格納する（ステップＳ２）。具体的には、使用状況記憶部５は、電力供給制御部６がいずれの入力部３および出力部４が使用中であるのかを認識できるように、実行中のスレッド７の識別子を、当該スレッド７の実行に伴って使用される入力部３および出力部４に対応付けて使用状況テーブル９に登録し、実行を終了したスレッド７の識別子を使用状況テーブル９から削除する。
【００５６】
次いで、作動制御部８は、使用状況記憶部５が記憶している入力部３および出力部４の使用状況に基づいて、各入力部３および各出力部４の作動／停止を個別に制御する（ステップＳ３）。具体的には、作動制御部８は、入力部３に対応付けられて少なくとも１つのスレッド７が登録されている場合、当該入力部３を作動させ、出力部４に対応付けられて少なくとも１つのスレッド７が登録されている場合、当該出力部４を作動させる。また、作動制御部８は、入力部３に対応付けられていずれのスレッド７も登録されていない場合、当該入力部３を停止させ、出力部４に対応付けられていずれのスレッド７も登録されていない場合、当該出力部４を停止させる。
【００５７】
また、電力供給制御部６は、使用状況記憶部５が記憶している入力部３および出力部４の使用状況に基づいて、各入力部３および各出力部４への電力供給を個別に制御する（ステップＳ４）。具体的には、電力供給制御部６は、入力部３に対応付けられて少なくとも１つのスレッド７が登録されている場合、当該入力部３への電力供給を行い、出力部４に対応付けられて少なくとも１つのスレッド７が登録されている場合、当該出力部４への電力供給を停止する。また、電力供給制御部６は、入力部３に対応付けられていずれのスレッド７も登録されていない場合、当該入力部３への電力供給を停止し、出力部４に対応付けられていずれのスレッド７も登録されていない場合、当該出力部４への電力供給を停止する。
【００５８】
ステップＳ４において、電力供給制御部６は、作動制御部８が入力部３を作動させる（ステップＳ３）前に当該入力部３への電力供給を開始し、作動制御部８が出力部４を作動させる（ステップＳ３）前に当該出力部４への電力供給を開始する。また、電力供給制御部６は、作動制御部８が入力部３を停止させた（ステップＳ３）後に当該入力部３への電力供給を停止し、作動制御部８が出力部４を停止させた（ステップＳ３）後に当該出力部４への電力供給を停止する。ステップＳ１〜Ｓ４の処理は、所定の周期で繰り返される。
以上が、マイコン１の動作である。
【００５９】
以上説明したように、マイコン１によれば、いずれの入力部３および出力部４が使用中であるのかがリアルタイムで記憶され、その記憶された情報に基づいて、各入力部３および各出力部４への電力供給が個別に制御される。従って、マルチスレッド機能を有するマイコン１において、入力部３を使用していない期間には当該入力部３への電力供給を停止することができ、また、出力部４を使用していない期間には当該出力部４への電力供給を停止することができる。よって、マイコン１によれば、マイコンにおける入出力インタフェース（入力部３および出力部４）の消費電力を低減することができる。
【００６０】
また、マイコン１によれば、使用状況記憶部５は、実行中のスレッド７の識別子を入力部３および出力部４に対応付けて使用状況テーブル９に登録する一方、実行を終了したスレッド７の識別子を使用状況テーブル９から削除する。これにより、電力供給制御部６は使用状況記憶部５の使用状況テーブル９を参照して、いずれの入力部３および出力部４が使用中であるのかを認識することができる。
【００６１】
また、マイコン１によれば、入力部３がいずれのスレッド７にも使用されていない場合、当該入力部３への電力供給が停止され、出力部４がいずれのスレッド７にも使用されていない場合、当該出力部４への電力供給が停止される。これにより、入力部３および出力部４の消費電力を低減することができる。
【００６２】
また、マイコン１によれば、入力部３がいずれのスレッド７にも使用されていない場合、当該入力部３は停止させられ、出力部４がいずれのスレッド７にも使用されていない場合、当該出力部４は停止させられる。これにより、入力部３および出力部４への電力供給が停止される前に、当該入力部３および当該出力部４を停止させることができる。
【００６３】
また、マイコン１によれば、電力供給制御部６は、作動制御部８が入力部３を停止させた後に当該入力部３への電力供給を停止し、作動制御部８が出力部４を停止させた後に当該出力部４への電力供給を停止する。よって、入力部３が停止する前に当該入力部３への電力供給が停止することがなく、また、出力部４が停止する前に当該出力部４への電力供給が停止することがない。従って、入力部３および出力部４の誤動作を防止することができる。
【００６４】
また、マイコン１によれば、使用状況記憶部５および電力供給制御部６は、デバイスドライバまたはＯＳ(Operating System)に含まれている。よって、使用状況記憶部５は、いずれの入力部３および出力部４が使用中であるのかをソフトウェア的に記憶し、電力供給制御部６は、各入力部３および各出力部４への電力供給をソフトウェア的に個別に制御することができる。
【００６５】
（第２実施形態）
以下、本発明の第２実施形態に係るマイクロコンピュータについて、図面を参照しつつ説明する。図６は、第２実施形態に係るマイクロコンピュータの構成を示すブロック図である。図７は、図６に示されるマイクロコンピュータの機能的な構成を示すブロック図である。図８は、図６に示されるマイクロコンピュータの動作を示す図である。図９は、図６に示されるマイクロコンピュータの使用状況記憶部に格納される使用状況テーブルの一例を示す図である。図１０は、図６に示されるマイクロコンピュータの動作を示すフローチャートである。
【００６６】
第２実施形態に係るマイクロコンピュータ（以下、マイコンと称する）１３は、ハードウェア的には、図６に示されるように、ＣＰＵ２８と、ＲＡＭ３２と、ＲＯＭ３３と、入出力インタフェース３１とを備えている。
【００６７】
マイコン１３は、機能的には、図７に示されるように、データ処理部２と、複数の入力部３と、複数の出力部４と、使用状況記憶部１０と、電力供給制御部１２と、作動制御部１５とを備えている。
【００６８】
マイコン１３が第１実施形態と異なる点は、使用状況記憶部５に代えて使用状況記憶部１０が設けられ、電力供給制御部６に代えて電力供給制御部１２が設けられ、作動制御部８に代えて作動制御部１５が設けられている点であり、その他の構成は第１実施形態と同様である。第１実施形態と同様の構成については、同一の参照符号を付してその説明を省略する。
【００６９】
図８、９に示されるように、使用状況記憶部１０は、電力供給制御部１２がいずれの入力部３および出力部４が使用中であるのかを認識できるように、実行中および不実行中のスレッド７の識別子を、当該スレッド７の実行に伴って使用される入力部３および出力部４に対応付けて使用状況テーブル１４に登録する。また、使用状況記憶部１０は、実行中のスレッド７の識別子に対してのみ、実行中であることを示すフラグ１１を付与し、実行を終了したスレッド７の識別子からフラグ１１を除去する。
【００７０】
作動制御部１５は、図９に示されるように、入力部３に対応付けられた少なくとも１つのスレッド７にフラグ１１が付与されている場合、当該入力部３（図９に示される例では、例えばＡ／ＤコンバータＡ）を作動させ、出力部４に対応付けられた少なくとも１つのスレッド７にフラグ１１が付与されている場合、当該出力部を作動させる。また、作動制御部１５は、入力部３に対応付けられたいずれのスレッド７にもフラグ１１が付与されていない場合、当該入力部３（図４に示される例では、例えばＡ／ＤコンバータＣ）を停止させ、出力部４に対応付けられたいずれのスレッド７にもフラグ１１が付与されていない場合、当該出力部４を停止させる。
【００７１】
電力供給制御部１２は、図９に示されるように、入力部３に対応付けられた少なくとも１つのスレッド７にフラグ１１が付与されている場合、当該入力部３（図９に示される例では、例えばＡ／ＤコンバータＡ）への電力供給を行い、出力部４に対応付けられた少なくとも１つのスレッド７にフラグ１１が付与されている場合、当該出力部４への電力供給を行う。また、電力供給制御部１２は、入力部３に対応付けられたいずれのスレッド７にもフラグ１１が付与されていない場合、当該入力部３（図９に示される例では、例えばＡ／ＤコンバータＣ）への電力供給を停止し、出力部４に対応付けられたいずれのスレッド７にもフラグ１１が付与されていない場合、当該出力部４への電力供給を停止する。
【００７２】
マイコン１３によれば、使用状況記憶部１０は、実行中および不実行中のスレッド７の識別子を入力部３および出力部４に対応付けて使用状況テーブル１４に登録し、実行中のスレッド７の識別子に対してのみ、実行中であることを示すフラグ１１を付与し、実行を終了したスレッド７の識別子からフラグ１１を除去する。これにより、電力供給制御部１２は、使用状況記憶部１０の使用状況テーブル１４を参照して、いずれの入力部３および出力部４が使用中であるのかを認識することができる。
【００７３】
次に、マイコン１３の動作について、図１０を参照しつつ説明する。
まず、各スレッド７は、自己が入力部３および出力部４を使用しているかどうかを使用状況記憶部１０に通知する（ステップＳ１）。
【００７４】
次いで、使用状況記憶部１０は、通知された使用状況の情報を使用状況テーブル１４に格納する（ステップＳ２）。具体的には、使用状況記憶部１０は、電力供給制御部１２がいずれの入力部３および出力部４が使用中であるのかを認識できるように、実行中および不実行中のスレッド７の識別子を、当該スレッド７の実行に伴って使用される入力部３および出力部４に対応付けて使用状況テーブル１４に登録する。また、使用状況記憶部１０は、実行中のスレッド７の識別子に対してのみ、実行中であることを示すフラグ１１を付与し、実行を終了したスレッド７の識別子からフラグ１１を除去する。
【００７５】
次いで、作動制御部１５は、使用状況記憶部１０が記憶している入力部３および出力部４の使用状況に基づいて、各入力部３および各出力部４の作動／停止を個別に制御する（ステップＳ３）。具体的には、作動制御部１５は、入力部３に対応付けられた少なくとも１つのスレッド７にフラグ１１が付与されている場合、当該入力部３を作動させ、出力部４に対応付けられた少なくとも１つのスレッド７にフラグ１１が付与されている場合、当該出力部を作動させる。また、作動制御部１５は、入力部３に対応付けられたいずれのスレッド７にもフラグ１１が付与されていない場合、当該入力部３を停止させ、出力部４に対応付けられたいずれのスレッド７にもフラグ１１が付与されていない場合、当該出力部４を停止させる。
【００７６】
また、電力供給制御部１２は、使用状況記憶部１０が記憶している入力部３および出力部４の使用状況に基づいて、各入力部３および各出力部４への電力供給を個別に制御する（ステップＳ４）。具体的には、電力供給制御部１２は、入力部３に対応付けられた少なくとも１つのスレッド７にフラグ１１が付与されている場合、当該入力部３への電力供給を行い、出力部４に対応付けられた少なくとも１つのスレッド７にフラグ１１が付与されている場合、当該出力部４への電力供給を行う。また、電力供給制御部１２は、入力部３に対応付けられたいずれのスレッド７にもフラグ１１が付与されていない場合、当該入力部３への電力供給を停止し、出力部４に対応付けられたいずれのスレッド７にもフラグ１１が付与されていない場合、当該出力部４への電力供給を停止する。
【００７７】
ステップＳ４において、電力供給制御部１２は、作動制御部１５が入力部３を作動させる（ステップＳ３）前に当該入力部３への電力供給を開始し、作動制御部１５が出力部４を作動させる（ステップＳ３）前に当該出力部４への電力供給を開始する。また、電力供給制御部１２は、作動制御部１５が入力部３を停止させた（ステップＳ３）後に当該入力部３への電力供給を停止し、作動制御部１５が出力部４を停止させた（ステップＳ３）後に当該出力部４への電力供給を停止する。ステップＳ１〜Ｓ４の処理は、所定の周期で繰り返される。
以上が、マイコン１３の動作である。
【００７８】
マイコン１３によれば、使用状況記憶部１０は、実行中および不実行中のスレッド７の識別子を入力部３および出力部４に対応付けて登録する。また、使用状況記憶部１０は、実行中のスレッド７の識別子に対してのみ、実行中であることを示すフラグ１１を付与し、実行を終了したスレッド７の識別子からフラグ１１を除去する。これにより、電力供給制御部１２は、使用状況記憶部１０を参照して、いずれの入力部３および出力部４が使用中であるのかを認識することができる。
【００７９】
また、マイコン１３によれば、入力部３がいずれのスレッド７にも使用されていない場合、当該入力部３は停止させられ、出力部４がいずれのスレッド７にも使用されていない場合、当該出力部４は停止させられる。これにより、入力部３および出力部４への電力供給が停止される前に、当該入力部３および当該出力部４を停止させることができる。
【００８０】
また、マイコン１３によれば、入力部３がいずれのスレッド７にも使用されていない場合、当該入力部３への電力供給が停止され、出力部４がいずれのスレッド７にも使用されていない場合、当該出力部４への電力供給が停止される。これにより、入力部３および出力部４の消費電力を低減することができる。
【００８１】
（第３実施形態）
以下、本発明の第３実施形態に係るマイクロコンピュータについて、図面を参照しつつ説明する。図１１は、第３実施形態に係るマイクロコンピュータの構成を示すブロック図である。図１２は、図１１に示されるマイクロコンピュータの機能的な構成を示すブロック図である。図１３は、図１１に示されるマイクロコンピュータの動作を示す図である。図１４は、図１１に示されるマイクロコンピュータの動作を示すフローチャートである。
【００８２】
第３実施形態に係るマイクロコンピュータ（以下、マイコンと称する）１６は、ハードウェア的には、図１１に示されるように、ＣＰＵ２８と、ＲＡＭ３４と、ＲＯＭ３５と、入出力インタフェース３１とを備えている。
【００８３】
マイコン１６は、機能的には、図１２に示されるように、データ処理部２と、複数の入力部３と、複数の出力部４と、使用状況記憶部１７と、電力供給制御部１８と、作動制御部２２と、作動制御指示部２１と、電力制御指示部１９とを備えている。
【００８４】
マイコン１６が第１実施形態と異なる点は、使用状況記憶部５に代えて使用状況記憶部１７が設けられ、電力供給制御部６に代えて電力供給制御部１８が設けられ、作動制御部８に代えて作動制御部２２が設けられ、さらに作動制御指示部２１および電力制御指示部１９が設けられている点であり、その他の構成は第１実施形態と同様である。第１実施形態と同様の構成については、同一の参照符号を付してその説明を省略する。
【００８５】
第３実施形態において、各スレッド７は、図１３に示されるように、自己が入力部３および出力部４を使用しているかどうかを使用状況記憶部１７に通知する。
【００８６】
使用状況記憶部１７は、通知された使用状況に基づいて、各入力部３および各出力部４のうちいずれの入力部３および出力部４が使用中であるのかを記憶する。上記第１実施形態の図３に示される例では、使用状況記憶部５はデバイスドライバまたはＯＳ(Operating System)に含まれていたが、第３実施形態では、使用状況記憶部１７はデバイスドライバまたはＯＳに含まれていてもよいし、或いは、デバイスドライバまたはＯＳの管理外のメモリに含まれていてもよい。
【００８７】
電力制御指示部１９は、使用状況記憶部１７が記憶している入力部３および出力部４の使用状況に基づいて、各入力部３および各出力部４への電力供給を個別に制御する指示をいずれかのスレッド７に対して行う。指示を出す対象となるスレッド７は、電力供給制御を行うための専用のスレッドであってもよいし、或いは、アプリケーションプログラムを構成する任意のスレッドであってもよい。
電力制御指示部１９は、スレッド７に対し、電力供給の制御を自己（スレッド７）の他の処理に割り込んで行うよう指示する。
【００８８】
スレッド７は、電力制御指示部１９から電力供給制御の指示を受けると、電力供給の制御を自己の他の処理に割り込んで行う。これにより、スレッド７は、電力供給制御部１８として、各入力部３および各出力部４への電力供給を個別に制御する。
【００８９】
作動制御指示部２１は、使用状況記憶部１７が記憶している入力部３および出力部４の使用状況に基づいて、各入力部３および各出力部４の作動／停止を個別に制御する指示をいずれかのスレッド７に対して行う。各入力部３および各出力部４の始動／停止のタイミングと、各入力部３および各出力部４への電力供給の開始／停止のタイミングは、第１実施形態と同様とすることができる。
【００９０】
次に、マイコン１６の動作について、図１４を参照しつつ説明する。
まず、各スレッド７は、自己が入力部３および出力部４を使用しているかどうかを使用状況記憶部１７に通知する（ステップＳ１）。
【００９１】
次いで、使用状況記憶部１７は、通知された使用状況の情報を使用状況テーブル２０に格納する（ステップＳ２）。具体的には、例えば、使用状況記憶部１７は、電力供給制御部１８がいずれの入力部３および出力部４が使用中であるのかを認識できるように、実行中のスレッド７の識別子を、当該スレッド７の実行に伴って使用される入力部３および出力部４に対応付けて使用状況テーブル２０に登録し、実行を終了したスレッド７の識別子を使用状況テーブル２０から削除する。
【００９２】
次いで、作動制御指示部２１は、使用状況記憶部５が記憶している入力部３および出力部４の使用状況に基づいて、各入力部３および各出力部４の作動／停止を個別に制御する指示をいずれかのスレッド７に出す（ステップＳ３）。具体的には、例えば、作動制御指示部２１は、入力部３に対応付けられて少なくとも１つのスレッド７が登録されている場合、当該入力部３を作動させ、出力部４に対応付けられて少なくとも１つのスレッド７が登録されている場合、当該出力部４を作動させる指示を出す。また、作動制御指示部２１は、入力部３に対応付けられていずれのスレッド７も登録されていない場合、当該入力部３を停止させ、出力部４に対応付けられていずれのスレッド７も登録されていない場合、当該出力部４を停止させる指示を出す。
【００９３】
次いで、作動制御部２２は、作動制御指示部２１から出された指示に基づいて、各入力部３および各出力部４の作動／停止を個別に制御する（ステップＳ４）。具体的には、作動制御部２２は、入力部３に対応付けられて少なくとも１つのスレッド７が登録されている場合、当該入力部３を作動させ、出力部４に対応付けられて少なくとも１つのスレッド７が登録されている場合、当該出力部４を作動させる。また、作動制御部２２は、入力部３に対応付けられていずれのスレッド７も登録されていない場合、当該入力部３を停止させ、出力部４に対応付けられていずれのスレッド７も登録されていない場合、当該出力部４を停止させる。
【００９４】
また、電力制御指示部１９は、使用状況記憶部５が記憶している入力部３および出力部４の使用状況に基づいて、各入力部３および各出力部４への電力供給を個別に制御する指示をいずれかのスレッド７に出す（ステップＳ５）。具体的には、例えば、電力制御指示部１９は、入力部３に対応付けられて少なくとも１つのスレッド７が登録されている場合、当該入力部３への電力供給を指示し、出力部４に対応付けられて少なくとも１つのスレッド７が登録されている場合、当該出力部４への電力供給を指示する。また、作動制御指示部２１は、入力部３に対応付けられていずれのスレッド７も登録されていない場合、当該入力部３への電力供給を停止させる指示を出し、出力部４に対応付けられていずれのスレッド７も登録されていない場合、当該出力部４への電力供給を停止させる指示を出す。
【００９５】
また、電力供給制御部１８は、電力制御指示部１９からの指示に基づいて、各入力部３および各出力部４への電力供給を自己の他の処理に割り込んで個別に制御する（ステップＳ６）。具体的には、例えば、電力制御指示部１９は、入力部３に対応付けられて少なくとも１つのスレッド７が登録されている場合、当該入力部３へ電力を供給し、出力部４に対応付けられて少なくとも１つのスレッド７が登録されている場合、当該出力部４へ電力を供給する。また、電力制御指示部１９は、入力部３に対応付けられていずれのスレッド７も登録されていない場合、当該入力部３への電力供給を停止し、出力部４に対応付けられていずれのスレッド７も登録されていない場合、当該出力部４への電力供給を停止する。
【００９６】
ステップＳ６において、電力供給制御部１８は、作動制御部２２が入力部３を作動させる（ステップＳ４）前に当該入力部３への電力供給を開始し、作動制御部８が出力部４を作動させる（ステップＳ４）前に当該出力部４への電力供給を開始する。また、電力供給制御部１８は、作動制御部２２が入力部３を停止させた（ステップＳ４）後に当該入力部３への電力供給を停止し、作動制御部２２が出力部４を停止させた（ステップＳ４）後に当該出力部４への電力供給を停止する。ステップＳ１〜Ｓ６の処理は、所定の周期で繰り返される。
以上が、マイコン１６の動作である。
【００９７】
マイコン１６によれば、入力部３および出力部４に対する電力供給の制御をスレッド７がソフトウェア的に行うことができる。また、マイコン１６によれば、スレッド７は、入力部３および出力部４に対する動作の制御および電力供給の制御を、自己の他の処理に割り込んで行うことができる。
【００９８】
（第４実施形態）
以下、本発明の第４実施形態に係るマイクロコンピュータについて、図面を参照しつつ説明する。図１５は、第４実施形態に係るマイクロコンピュータの構成を示すブロック図である。図１６は、図１５に示されるマイクロコンピュータの機能的な構成を示すブロック図である。図１７は、図１５に示されるマイクロコンピュータの電力供給制御部の構成を示す図である。
【００９９】
第４実施形態に係るマイクロコンピュータ（以下、マイコンと称する）２３は、ハードウェア的には、図１５に示されるように、ＣＰＵ２８と、ＲＡＭ３６と、ＲＯＭ３７と、入出力インタフェース３１とを備えている。
【０１００】
マイコン１６は、機能的には、図１６に示されるように、データ処理部２と、複数の入力部３と、複数の出力部４と、使用状況記憶部５と、電力供給制御部２５と、作動制御部８とを備えている。
【０１０１】
第４実施形態に係るマイクロコンピュータ（以下、マイコンと称する）２３が第１実施形態と異なる点は、電力供給制御部６に代えて電力供給制御部２５が設けられている点であり、その他の構成は第１実施形態と同様である。第１実施形態と同様の構成については、同一の参照符号を付してその説明を省略する。
【０１０２】
電力供給制御部２５は、図１７に示されるように、使用状況記憶部５が記憶している入力部３および出力部４の使用状況に基づいて、各入力部３および各出力部４への電力供給を個別に制御するスイッチ２４を含む。各スイッチ２４の入力側には、使用状況記憶部５からの信号線２６と、電力線から分岐した電力供給線２７が接続されている。各スイッチ２４の出力側には、入力部３または出力部４が接続されている。
【０１０３】
各スイッチ２４は、使用状況記憶部５が記憶している入力部３および出力部４の使用状況に基づいて、各入力部３および各出力部４への電力供給を制御する。具体的には、スイッチ２４は、入力部３に対応付けられて少なくとも１つのスレッド７が登録されている場合、当該入力部３への電力供給を行い、出力部４に対応付けられて少なくとも１つのスレッド７が登録されている場合、当該出力部４への電力供給を行う。また、スイッチ２４は、入力部３に対応付けられていずれのスレッドも登録されていない場合、当該入力部３への電力供給を停止し、出力部４に対応付けられていずれのスレッド７も登録されていない場合、当該出力部４への電力供給を停止する。
【０１０４】
マイコン２３によれば、入力部３および出力部４に対する電力供給の制御を、スイッチ２４の切替えによりハードウェア的に行うことができる。
【産業上の利用可能性】
【０１０５】
本発明は、マルチスレッド型のマイクロコンピュータを有する車載ＥＣＵ等に利用可能である。
【符号の説明】
【０１０６】
１，１３，１６，２３    マイコン
２    データ処理部
３    入力部
４    出力部
５，１０，１７    使用状況記憶部
６，１２，１８，２５    電力供給制御部
７    スレッド
８，１５，２２    作動制御部
９，１４，２０    使用状況テーブル
１１    フラグ
１９    電力制御指示部
２１    作動制御指示部
２４    スイッチ
２５    信号線
２６    電力線
【図１】
2010282475.tif 000003
【図２】
2010282475.tif 000004
【図３】
2010282475.tif 000005
【図４】
2010282475.tif 000006
【図５】
2010282475.tif 000007
【図６】
2010282475.tif 000008
【図７】
2010282475.tif 000009
【図８】
2010282475.tif 000010
【図９】
2010282475.tif 000011
【図１０】
2010282475.tif 000012
【図１１】
2010282475.tif 000013
【図１２】
2010282475.tif 000014
【図１３】
2010282475.tif 000015
【図１４】
2010282475.tif 000016
【図１５】
2010282475.tif 000017
【図１６】
2010282475.tif 000018
【図１７】
2010282475.tif 000019