説明

割込制御装置

【課題】ソフトウェアの品質を落とすことなく、不要な低消費電力モードへの移行を回避する割込制御装置を提供する。
【解決手段】割込みを制御する割込制御装置は、発生した割込みを受け付け、消費電力を低減する低消費電力モードへの移行の指示を表わす移行処理を実行する処理装置から前記移行に係る命令を受け付け、割込みの禁止を示す割込禁止状態、前記移行処理中に割込みの許可を示す移行中割込許可状態、及び前記移行中割込許可状態を除き割込みの許可を示す割込許可状態の何れかを管理し、前記移行中割込許可状態が管理されている場合に、割込みが受け付けられ、その後、前記移行に係る命令として、低消費電力モードへの移行を指示する移行命令が受け付けられたときに、前記移行命令を破棄することにより、低消費電力モードへの移行を抑止する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、機器組込みなどの用途において、消費電力を低減するための動作を制御する技術に関する。
【背景技術】
【0002】
マイクロコンピュータにおいて、消費電力を低減させるために、動作クロックの停止により、回路動作を停止させ、消費電力を抑える機能である低消費電力モードを有するものが多い。例えば、低消費電力モードを有する割込制御装置である。
この割込制御装置の動作概要について説明する。マイクロプロセッサがソフトウェアを実行することにより低消費電力モードへ移行すると判断した場合に、マイクロプロセッサはソフトウェアの実行により、先ず、割込みを禁止する旨の割込禁止命令を割込制御装置に対して発行する。割込制御装置は、割込禁止命令を受け取ると、外部装置からの割込みを禁止する。その後、ソフトウェアの実行により割込みを許可する旨の割込許可命令が発行されると、割込制御装置は、割込みを許可する。さらに、ソフトウェアの実行により低消費電力モードへ移行する旨の低消費電力モード移行命令が発行されると、割込制御装置は、外部装置に対するクロックを停止することにより低消費電力モードへの移行を完了する。その後、割込制御装置は、割込みを受け付けると、低消費電力モードから非低消費電力モードである通常モードへ復帰するとともに、受け付けた割込みの割込信号を発生させる。
【0003】
ここで、割込許可命令が発行されてから低消費電力モード移行命令が発行されるまでの間に、割込みが発生すると、割込制御装置は、割込許可であるため、発生した割込みを受け付け、その割込信号を発生させる。その後、低消費電力モード移行命令が発行されると、低消費電力モードへの移行が完了してしまい、不要な低消費電力モードへの移行がなされてしまう。
【0004】
そこで、このような不要な低消費電力モードへの移行を回避するために、ソフトウェアにてジャンプ命令を用いることにより、割込許可命令が発行されてから低消費電力モード移行命令が発行されるまでの間に、割込みを受け付けると低消費電力モードへの移行を抑止する処理が用いられている。
また、別の回避方法として、特許文献1において、予め割込みを受け付けた後に、低消費電力モード移行命令が発行された場合は、低消費電力モード移行命令をハードウェア的に読み飛ばす、つまり、低消費電力モード移行命令の次の命令に変更する割込処理ステップを有することにより、低消費電力モードへの移行を抑止する技術が開示されている。
【特許文献1】特開2000−284974号公報
【発明の開示】
【発明が解決しようとする課題】
【0005】
しかしながら、ソフトウェアにてジャンプ命令を用いた処理を行うと、ソフトウェアの品質低下につながることは技術者の間では知られているため、好ましい回避方法とは言えない。また、特許文献1に開示されている技術では、低消費電力モード移行命令をハードウェア的に読み飛ばすので、ソフトウェアのデータの一貫性がなくなってしまい、ソフトウェアの品質を落とすことになる。
【0006】
そこで、本発明は、上記課題に鑑み、ソフトウェアの品質を落とすことなく、不要な低消費電力モードへの移行を回避する割込制御装置、及び制御方法を提供することを目的とする。
【課題を解決するための手段】
【0007】
上記目的を達成するために、本発明は、割込みを制御する割込制御装置であって、発生した割込みを受け付ける割込受付手段と、消費電力を低減する低消費電力モードへの移行の指示を表わす移行処理を実行する処理装置から、前記移行に係る命令を受け付ける命令受付手段と、割込みの禁止を示す割込禁止状態、前記移行処理中に割込みの許可を示す移行中割込許可状態、及び前記移行中割込許可状態を除き割込みの許可を示す割込許可状態の何れかを管理する状態管理手段と、前記移行中割込許可状態が管理されている場合に、前記割込受付手段が割込みを受け付け、その後、前記命令受付手段が前記移行に係る命令として、低消費電力モードへの移行を指示する移行命令を受け付けたときに、前記移行命令を破棄することにより、低消費電力モードへの移行を抑止する移行制御手段とを備えることを特徴とする。
【発明の効果】
【0008】
上記に示す構成によると、割込制御装置は、移行中割込許可状態である場合に、割込みを受け付け、その後、移行命令を受け付けたときに、低消費電力モードへの移行を抑止するので、不要な低消費電力モードへの移行を回避することができる。また、割込制御装置は、低消費電力モードへ移行中に割込みを受け付けても、命令を発行するソフトウェアに対して何ら制御を行わないので、ソフトウェアの品質を落とすこともない。
【0009】
ここで、前記移行制御手段は、移行の可否を示す移行状態を管理しており、前記状態管理手段が管理している状態が前記移行中割込許可状態である場合に、前記割込受付手段が割込みを受け付けると、移行状態を移行しないことを示す移行禁止とし、移行状態が前記移行禁止である場合に、前記命令受付手段が前記移行命令を受け付けると、前記移行命令を破棄するとしてもよい。
【0010】
この構成によると、割込制御装置は、移行の可否を示す移行状態を管理するので、管理している移行状態に応じて、低消費電力モードへの移行を制御することができる。
また、本発明は、割込みを制御する割込制御装置であって、発生した割込みを受け付ける割込受付手段と、消費電力を低減する低消費電力モードへの移行の指示を表わす移行処理を実行する処理装置から、前記移行に係る命令を受け付ける命令受付手段と、前記移行処理の実行中において、割込みの許可を示す割込許可及び禁止を示す割込禁止の何れかの割込状態を管理する割込状態管理手段と、低消費電力モードへの移行中であるか否かを示す動作状態を管理する動作状態管理手段と、前記割込状態が割込禁止であり、且つ動作状態が低消費電力モードへ移行中であることを示す移行中状態である場合に、前記割込受付手段が割込みを受け付け、その後、前記命令受付手段が前記移行に係る命令として、低消費電力モードへの移行を指示する移行命令を受け付けたときに、低消費電力モードへの移行を抑止する移行制御手段とを備えることを特徴とする。
【0011】
この構成によると、割込制御装置は、割込禁止の状態であり、且つ移行中状態である場合に、割込みを受け付け、その後、移行命令を受け付けたときに、低消費電力モードへの移行を抑止するので、不要な低消費電力モードへの移行を回避することができる。また、割込制御装置は、低消費電力モードへ移行中に割込みを受け付けても、命令を発行するソフトウェアに対して何ら制御を行わないので、ソフトウェアの品質を落とすこともない。
【0012】
ここで、前記移行制御手段は、移行の可否を示す移行状態を管理しており、前記割込状態が割込禁止であり、且つ動作状態が低消費電力モードへ移行中であることを示す移行中状態である場合に、前記割込受付手段が前記割込みを受け付けると、移行状態を移行しないことを示す移行禁止とし、移行状態が前記移行禁止である場合に前記命令受付手段が前記移行命令を受け付けると、前記移行命令を破棄することにより、低消費電力モードへの移行を抑止し、前記割込状態管理手段は、前記命令受付手段が前記移行命令を受け付けた場合に、割込状態を割込禁止から割込許可へと変更するとしてもよい。
【0013】
この構成によると、割込制御装置は、移行の可否を示す移行状態を管理するので、管理している移行状態に応じて、低消費電力モードへの移行を制御することができる。
ここで、前記割込制御装置は、さらに、前記移行命令が受け付けられると、前記割込みの割込信号を発生する割込信号制御手段を備え、前記移行制御手段は、前記割込信号制御手段が前記割込信号を発生すると、移行状態を移行禁止から移行を許可する状態へと変更し、前記動作状態管理手段は、前記割込信号制御手段が前記割込信号を発生すると、動作状態を前記移行中状態から低消費電力モードの移行前であることを示す通常状態へと変更するとしてもよい。
【0014】
この構成によると、割込制御装置は、割込みの割込信号が発生されることにより、管理する各状態を低消費電力モードへの移行前の状態とすることができる。
ここで、前記割込制御装置は、さらに、電力モードが非低消費電力モードであることを示す通常モード命令を受け付け、前記動作状態管理手段は、前記通常モード命令が受け付けられると、動作状態を前記移行中状態から低消費電力モードの移行前であることを示す通常状態へと変更し、前記移行制御手段は、前記通常モード命令が受け付けられると、移行状態を移行禁止の状態から移行を許可する状態へと変更するとしてもよい。
【0015】
この構成によると、割込制御装置は、通常モード命令を受け付けることにより、管理する各状態を低消費電力モードへの移行前の状態とすることができる。
ここで、前記割込制御装置は、複数の外部装置に対して低消費電力モードへの移行の制御を行い、前記移行制御手段は、移行対象に係る管理情報を管理しており、前記割込状態が割込禁止であり、且つ動作状態が低消費電力モードへ移行中であることを示す移行中状態である場合に、前記割込受付手段が前記割込みを受け付けると、管理情報を前記複数の外部装置のうち1の主要な外部装置を除く残り1以上の外部装置のみに対して移行を行うことを示す一部移行とし、管理情報が前記一部移行の場合において前記命令受付手段が前記移行命令を受け付けたとき、前記残り1以上の外部装置のみクロックを停止させることにより、前記1の主要な外部装置に対する低消費電力モードへの移行を抑止し、前記割込状態管理手段は、前記命令受付手段が前記移行命令を受け付けた場合に、割込状態を割込禁止から割込許可へ変更するとしてもよい。
【0016】
この構成によると、割込制御装置は、複数の外部装置のうち1の主要な外部装置を除く残り1以上の外部装置のクロックを停止させるので、主要な外部装置のみに対して低消費電力モードへ移行することを抑止することができる。
ここで、前記割込制御装置は、さらに、前記命令受付手段が前記移行命令を受け付ける場合に、前記割込みの割込信号を発生する割込信号制御手段を備え、前記移行制御手段は、前記割込信号制御手段が前記割込信号を発生すると、管理状態を一部移行から前記全ての複数の外部装置に対して移行を行うことを示す完全移行へと変更し、前記他の外部装置のクロックの動作を開始させ、前記動作状態管理手段は、前記割込信号制御手段が前記割込信号を発生すると、動作状態を前記移行中状態から低消費電力モードの移行前であることを示す通常状態へと変更するとしてもよい。
【0017】
この構成によると、割込制御装置は、割込みの割込信号が発生されることにより、前記残り1以上の外部装置のクロックの動作を開始させるので、全ての外部装置のクロックの動作を開始させる場合よりも、低消費電力モードからの復帰に要する時間を短縮することができる。
【発明を実施するための最良の形態】
【0018】
1.第1の実施の形態
本発明に係る第1の実施の形態としての割込制御装置1について説明する。
1.1 構成
割込制御装置1は、図1に示すように、命令デコード部100、低消費電力モード命令検出部101、割込禁止/許可命令検出部102、割込信号制御部103、割込状態制御部104、低消費電力モード移行制御部105及び低消費電力モード制御部106から構成されている。
【0019】
なお、以降では、マイクロプロセッサがソフトウェアの実行により低消費電力モードに移行すると判断した場合における各構成要素について説明する。
マイクロプロセッサはソフトウェアの実行により、低消費電力モードに移行すると判断した場合に低消費電力モードへの移行処理を実行する。マイクロプロセッサは移行処理を実行することにより、割込みの処理を禁止する旨の割込禁止命令、割込みの処理を許可する割込許可命令、及び消費電力のモードを通常の消費電力モード(以下、通常モード)から低消費電力モードへと移行する旨の低消費電力モード移行命令を発行し、割込制御装置1へ通知する。
【0020】
(1)命令デコード部100
命令デコード部100は、マイクロプロセッサがソフトウェア(移行処理)の実行により発行する命令を受け取り、受け取った命令を解読し、解読結果を低消費電力モード命令検出部101及び割込禁止/許可命令検出部102へ通知する。
(2)低消費電力モード命令検出部101
低消費電力モード命令検出部101は、命令デコード部100から解読結果を受け取ると、受け取った解読結果が低消費電力モード移行命令であるか否かを判断する。
【0021】
低消費電力モード移行命令であると判断する場合には、低消費電力モード命令検出部101は、低消費電力モード移行命令を受け取った旨を割込状態制御部104及び低消費電力モード移行制御部105へ通知する。
受け取った解読結果が他の命令である場合には、低消費電力モード命令検出部101は、受け取った内容を破棄する。
【0022】
(3)割込禁止/許可命令検出部102
割込禁止/許可命令検出部102は、命令デコード部100から解読結果を受け取ると、受け取った解読結果が割込禁止命令または割込許可命令の何れかであるか否かを判断する。
割込禁止命令であると判断する場合には、割込禁止/許可命令検出部102は、割込禁止命令を受け取った旨を割込信号制御部103及び割込状態制御部104へ通知する。
【0023】
割込許可命令であると判断する場合には、割込禁止/許可命令検出部102は、割込許可命令を受け取った旨を割込信号制御部103及び割込状態制御部104へ通知する。
受け取った解読結果が他の命令である場合には、割込禁止/許可命令検出部102は、受け取った内容を破棄する。
(4)割込信号制御部103
割込信号制御部103は、割込禁止/許可命令検出部102から割込禁止命令の通知を受け取ると、割込みを禁止する。
【0024】
割込信号制御部103は、割込禁止/許可命令検出部102から割込許可命令の通知を受け取ると、割込みを許可する。
割込信号制御部103は、割込許可の状態において、割込み(例えば、外部割込み)を受け付けると、割込みを受け付けた旨を割込状態制御部104へ通知し、受け付けた割込みの割込信号を発生し、割込ハンドラに係る処理を起動する。このとき、外部の装置にて割り込みの処理を行う。
【0025】
割込信号制御部103は、割込禁止の状態において、割込みを受け付けると、受け付けた割込みを破棄する。
(5)割込状態制御部104
割込状態制御部104は、割込みに係る処理状態を3種類のモードにて管理(保持)する。3種類のモードとは、割込禁止モード、割込許可モード及び割込禁止期待モードである。割込禁止モードは、割込みが禁止されている状態を示す。割込禁止期待モードは、低消費電力モードへ移行中、つまり移行処理中に割込みが許可されている状態を示す。割込許可モードは、上記以外に割込みが許可されている状態を示す。
【0026】
割込状態制御部104は、割込禁止/許可命令検出部102から割込禁止命令の通知を受け取ると、割込みに係る処理状態を割込禁止モードとして管理する。
割込状態制御部104は、割込禁止/許可命令検出部102から割込許可命令の通知を受け取ると、割込みに係る処理状態を割込禁止期待モードとして管理する。
割込状態制御部104は、低消費電力モード命令検出部101から低消費電力モード移行命令の通知を受け取ると、割込みに係る処理状態を割込許可モードとして管理する。
【0027】
割込状態制御部104は、割込信号制御部103から割込みの通知を受け取ると、その時点でのモードが割込禁止期待モードであるか否かを判断する。
割込禁止期待モードであると判断する場合には、割込状態制御部104は、割込みが発生した旨を低消費電力モード移行制御部105へ通知する。
(6)低消費電力モード移行制御部105
低消費電力モード移行制御部105は、低消費電力モードへ移行するか否かを2種類のモードにて管理する。2種類のモードとは、低消費電力モードへの移行を許可する通常モードと、低消費電力モードへの移行を禁止する移行禁止モードとである。
【0028】
低消費電力モード移行制御部105の初期状態は、通常モードである。
低消費電力モード移行制御部105は、割込状態制御部104から割込みの通知を受け取ると、管理しているモードを通常モードから移行禁止モードへと変更する。
低消費電力モード移行制御部105は、低消費電力モード命令検出部101から低消費電力モード移行命令を受け取ると、その時点でのモードが通常モードであるか、移行禁止モードであるかを判断する。
【0029】
通常モードであると判断する場合には、低消費電力モード移行制御部105は、低消費電力モードへ移行する旨を低消費電力モード制御部106へ通知する。
移行禁止モードであると判断する場合には、低消費電力モード移行制御部105は、受け取った低消費電力モード移行命令を破棄し、状態を通常モードへと変更する。つまり、低消費電力モードへの移行は行わない。
【0030】
(7)低消費電力モード制御部106
低消費電力モード制御部106は、低消費電力モード移行制御部105から低消費電力モードへ移行の通知を受け取ると、低消費電力モードを発生させる。これにより、外部の主要装置(例えば、CPU)のクロックや周辺装置(例えば、シリアル、USB、SDカード)のクロックを停止させて、低消費電力モードとなる。
【0031】
1.2 動作
ここでは、割込制御装置1の動作について、図2及び図3にて示す流れ図を用いて説明する。
割込制御装置1は、消費電力のモードを通常モード、割込状態制御部104の管理状態を割込許可モード、低消費電力モード移行制御部105の管理状態を通常モードとする(ステップS5)。
【0032】
割込制御装置1は、条件判定により、命令の受け取りの有無、受け取った命令の種別、割込みの発生の有無を判断する(ステップS10)。
割込みが発生したと判断する場合には(ステップS10における「割込発生」)、割込制御装置1は、割込ハンドラ処理を行い(ステップS15)、ステップS5へ戻る。
割込許可命令を受け付けたと判断する場合、又は割込みが未発生、且つ命令を受け付けていないと判断する場合には(ステップS10における「割込許可命令、その他」)、割込制御装置1は、ステップS5へ戻る。
【0033】
割込禁止命令を受け付けたと判断する場合には(ステップS10における「割込禁止命令」)、割込制御装置1は、消費電力のモード及び低消費電力モード移行制御部105の管理状態の各モードはそのまま(つまり、ともに通常モード)とし、割込状態制御部104の管理状態を割込禁止モードに変更する(ステップS20)。
割込制御装置1は、条件判定により、命令の受け取りの有無、受け取った命令の種別、割込みの発生の有無を判断する(ステップS25)。
【0034】
割込禁止命令を受け付けたと判断する場合、又は割込みが未発生、且つ命令を受け付けていないと判断する場合には(ステップS25における「割込禁止命令、その他」)、割込制御装置1は、ステップS20へ戻る。
割込許可命令を受け付けたと判断する場合には(ステップS20における「割込許可命令」)、割込制御装置1は、消費電力のモード及び低消費電力モード移行制御部105の管理状態の各モードはそのまま(つまり、ともに通常モード)とし、割込状態制御部104の管理状態を割込禁止期待モードに変更する(ステップS30)。
【0035】
割込制御装置1は、条件判定により、命令の受け取りの有無、受け取った命令の種別、割込みの発生の有無を判断する(ステップS35)。
割込みが未発生、且つ命令を受け付けていないと判断する場合には(ステップS35における「その他」)、割込制御装置1は、ステップS30へ戻る。
割込許可命令を受け付けたと判断する場合には(ステップS35における「割込許可命令」)、割込制御装置1は、ステップS5へ戻る。
【0036】
割込禁止命令を受け付けたと判断する場合には(ステップS35における「割込禁止命令」)、割込制御装置1は、ステップS20へ戻る。
割込みが発生したと判断する場合には(ステップS35における「割込発生」)、割込制御装置1は、割込ハンドラ処理を行い(ステップS40)、消費電力のモード及び割込状態制御部104の管理状態はそのまま(つまり、通常モード及び割込禁止期待モード)とし、低消費電力モード移行制御部105の管理状態を移行禁止モードに変更する(ステップS45)。割込制御装置1は、条件判定により、命令の受け取りの有無、受け取った命令の種別、割込みの発生の有無を判断する(ステップS50)。割込許可命令を受け付けたと判断する場合には(ステップS50における「割込許可命令」)、割込制御装置1は、ステップS5へ戻る。割込禁止命令を受け付けたと判断する場合には(ステップS50における「割込禁止命令」)、割込制御装置1は、ステップS20へ戻る。割込みが発生したと判断する場合には(ステップS50における「割込発生」)、割込制御装置1は、ステップS40へ戻る。割込みが未発生、且つ命令を受け付けていないと判断する場合には(ステップS50における「その他」)、割込制御装置1は、ステップS45へ戻る。低消費電力モード移行命令を受け付けたと判断する場合には(ステップS50における「低消費電力モード移行命令」)、割込制御装置1は、消費電力のモードはそのまま(つまり、通常モード)とし、割込状態制御部104の管理状態を割込許可モード、低消費電力モード移行制御部105の管理状態を通常モードへとそれぞれ変更とする(ステップS55)。
【0037】
低消費電力モード移行命令を受け付けたと判断する場合には(ステップS35における「低消費電力モード移行命令」)、割込制御装置1は、低消費電力モード移行制御部105の管理状態はそのまま(つまり、通常モード)とし、消費電力のモードを低消費電力モード、割込状態制御部104の管理状態を割込許可モードへとそれぞれ変更する(ステップS60)。割込制御装置1は、条件判定により、命令の受け取りの有無、受け取った命令の種別、割込みの発生の有無を判断する(ステップS65)。割込許可命令を受け付けたと判断する場合、又は割込みが未発生、且つ命令を受け付けていないと判断する場合には(ステップS65における「割込許可命令、その他」)、割込制御装置1は、ステップS60へ戻る。割込みが発生したと判断する場合には(ステップS65における「割込発生」)、割込制御装置1は、割込ハンドラ処理を行い(ステップS70)、ステップS55へ移る。
【0038】
1.3 具体例
ここで、割込許可命令が発行されてから低消費電力モード移行命令が発行されるまでの間に、割込みが発生した場合における動作を、図4にて示すタイミングチャートにて説明する。
マイクロプロセッサがソフトウェア(移行処理)を実行することにより割込禁止命令が発行されると(t100)、命令デコード部100は、発行された割込禁止命令を低消費電力モード命令検出部101及び割込禁止/許可命令検出部102へ通知する。
【0039】
割込禁止/許可命令検出部102は、命令デコード部100から割込禁止命令を受け取ると、割込禁止/許可命令検出部102は、割込禁止命令を受け取った旨を割込信号制御部103及び割込状態制御部104へ通知する。割込信号制御部103は、割込禁止/許可命令検出部102から割込禁止命令の通知を受け取ると、割込みを禁止する。割込状態制御部104は、割込禁止/許可命令検出部102から割込禁止命令の通知を受け取ると、割込みに係る処理状態を割込許可モードから割込禁止モードと変更する(t105)。
【0040】
マイクロプロセッサがソフトウェア(移行処理)を実行することにより割込許可命令が発行されると(t110)、命令デコード部100は、発行された割込許可命令を低消費電力モード命令検出部101及び割込禁止/許可命令検出部102へ通知する。
割込禁止/許可命令検出部102は、命令デコード部100から割込許可命令を受け取ると、割込禁止/許可命令検出部102は、割込許可命令を受け取った旨を割込信号制御部103及び割込状態制御部104へ通知する。割込信号制御部103は、割込禁止/許可命令検出部102から割込許可命令の通知を受け取ると、割込みを許可する。割込状態制御部104は、割込禁止/許可命令検出部102から割込許可命令の通知を受け取ると、割込みに係る処理状態を割込禁止モードから割込禁止期待モードへと変更する(t115)。
【0041】
割込信号制御部103は、割込許可の状態において、割込みを受け付けると(t120)、割込みを受け付けた旨を割込状態制御部104へ通知し、受け付けた割込みの割込信号を発生する。
割込状態制御部104は、割込信号制御部103から割込みの通知を受け取ると、その時点でのモードが割込禁止期待モードであるか否かを判断する。割込禁止期待モードであると判断する場合には、割込状態制御部104は、割込みが発生した旨を低消費電力モード移行制御部105へ通知する。低消費電力モード移行制御部105は、割込状態制御部104から割込みの通知を受け取ると、管理しているモードを通常モードから移行禁止モードへと変更する(t125)。
【0042】
マイクロプロセッサがソフトウェア(移行処理)を実行することにより低消費電力モード移行命令が発行されると(t130)、命令デコード部100は、発行された低消費電力モード移行命令を低消費電力モード命令検出部101及び割込禁止/許可命令検出部102へ通知する。
割込状態制御部104は、低消費電力モード命令検出部101から低消費電力モード移行命令の通知を受け取ると、割込みに係る処理状態を割込禁止期待モードから割込許可モードへと変更する(t135)。
【0043】
低消費電力モード移行制御部105は、低消費電力モード命令検出部101から低消費電力モード移行命令を受け取ると、その時点でのモードが通常モードであるか、移行禁止モードであるかを判断する。この場合、低消費電力モード移行制御部105は、移行禁止モードであると判断し、受け取った低消費電力モード移行命令を破棄し、状態を移行禁止モードから通常モードへと変更する(t140)。
【0044】
1.4 変形例
なお、本発明を上記の第1の実施の形態に基づいて説明してきたが、本発明は、上記の実施の形態に限定されないのはもちろんである。以下の場合も本発明に含まれる。
(1)上記第1の実施の形態において、低消費電力モード移行制御部105は、通常モードと移行禁止モードとを用いて、低消費電力モードへ移行するか否か管理したが、これに限定されない。
【0045】
割込状態制御部104の状態管理により、低消費電力モードへ移行するか否か管理してもよい。
このとき、割込状態制御部104は、割込信号制御部103から割込みの通知を受け取ると、その通知を保持する。割込状態制御部104は、低消費電力モード命令検出部101から低消費電力モード移行命令の通知を受け取ると、割込みに係る処理状態を割込許可モードとして管理し、さらに、保持している割込みの通知を破棄する。
【0046】
低消費電力モード移行制御部105は、低消費電力モード命令検出部101から低消費電力モード移行命令を受け取ると、割込禁止期待の状態中に割込みが発生したか否かを判断する。つまり、割込状態制御部104にて管理されている状態が割込禁止期待の状態であり、且つ割込みの通知が保持されているか否かを判断する。低消費電力モード移行制御部105は、割込禁止期待の状態中に割込みが発生したと判断する場合には、受け取った低消費電力モード移行命令を破棄し、低消費電力モードへ移行する旨を低消費電力モード制御部106へ通知は行わない。低消費電力モード移行制御部105は、割込禁止期待の状態中に割込みが発生していないと判断する場合には、低消費電力モードへ移行する旨を低消費電力モード制御部106へ通知する。
【0047】
(2)上記実施の形態及び上記変形例をそれぞれ組み合わせるとしてもよい。
1.5 まとめ
上記第1の実施の形態にて示すように、割込制御装置1は、低消費電力モードへの移行処理において割込許可となってから低消費電力モード移行が完了するまでの間に、割込みを受け付けた場合、不要な低消費電力モードへの移行をなくすことにより、低消費電力モードからの復帰時間を削減できる。
【0048】
2.第2の実施の形態
本発明に係る第2の実施の形態としての割込制御装置2について説明する。
2.1 構成
割込制御装置2は、図5に示すように、命令デコード部200、低消費電力モード命令検出部201、割込禁止/許可命令検出部202、割込信号制御部203、状態管理部204、低消費電力モード移行制御部205及び低消費電力モード制御部206から構成されている。
【0049】
なお、以降では、マイクロプロセッサがソフトウェアの実行により低消費電力モードに移行すると判断した場合における各構成要素について説明する。
マイクロプロセッサがソフトウェアの実行により低消費電力モードに移行すると判断した場合に低消費電力モードへの移行処理を実行する。移行処理は、割込みの処理を禁止する旨の割込禁止命令、割込みの処理を許可する割込許可命令、及び消費電力のモードを通常の消費電力モード(以下、通常モード)から低消費電力モードへと移行する旨の低消費電力モード移行命令を発行し、割込制御装置2へ通知する。
【0050】
(1)命令デコード部200
命令デコード部200は、マイクロプロセッサがソフトウェア(移行処理)の実行により発行する命令を受け取り、受け取った命令を解読し、解読結果を低消費電力モード命令検出部201及び割込禁止/許可命令検出部202へ通知する。
(2)低消費電力モード命令検出部201
低消費電力モード命令検出部201は、命令デコード部200から解読結果を受け取ると、受け取った解読結果が低消費電力モード移行命令であるか否かを判断する。
【0051】
低消費電力モード移行命令であると判断する場合には、低消費電力モード命令検出部201は、低消費電力モード移行命令を受け取った旨を低消費電力モード移行制御部205へ通知する。
受け取った解読結果が他の命令である場合には、低消費電力モード命令検出部201は、受け取った内容を破棄する。
【0052】
(3)割込禁止/許可命令検出部202
割込禁止/許可命令検出部202は、命令デコード部200から解読結果を受け取ると、受け取った解読結果が割込禁止命令または割込許可命令の何れかであるか否かを判断する。
割込禁止命令であると判断する場合には、割込禁止/許可命令検出部202は、割込禁止命令を受け取った旨を割込信号制御部203へ通知する。
【0053】
割込許可命令であると判断する場合には、割込禁止/許可命令検出部202は、割込許可命令を受け取った旨を割込信号制御部203へ通知する。
受け取った解読結果が他の命令である場合には、割込禁止/許可命令検出部202は、受け取った内容を破棄する。
(4)割込信号制御部203
割込信号制御部203は、割込禁止/許可命令検出部202から割込禁止命令の通知を受け取ると、割込みを禁止とし、状態管理部204へ状態通知として、低消費電力モードへ遷移中であることを示す低消費電力モード遷移中状態を通知する。
【0054】
割込信号制御部203は、割込禁止/許可命令検出部202から割込許可命令の通知を受け取ると、割込みを許可する。
(割込禁止の場合)
割込信号制御部203は、割込禁止の状態において、割込み(例えば、外部割込み)を受け付けると、割込みを受け付けた旨を低消費電力モード移行制御部205へ通知し、受け付けた割込みを保持する。割込信号制御部203は、低消費電力モード移行制御部205から低消費電力モード移行命令の通知を受け取ると、割込許可とし、保持している割込みの割込信号を発生し、割込ハンドラに係る処理を起動する。割込信号制御部203は、割込みの割込信号を発生した旨を状態管理部204及び低消費電力モード移行制御部205へ通知する。このとき、外部の装置にて割り込みの処理を行う。
【0055】
割込信号制御部203は、割込みの破棄を指示する旨の破棄命令を低消費電力モード移行制御部205から受け取ると、保持している割込みを破棄する。
(割込許可の場合)
割込信号制御部203は、割込許可の状態において、割込みを受け付けると、受け付けた割込みの割込信号を発生し、割込ハンドラに係る処理を起動する。このとき、外部の装置にて割り込みの処理を行う。
【0056】
(5)状態管理部204
状態管理部204は、動作状態を管理(保持)し、管理している状態を低消費電力モード移行制御部205へ通知する。ここで、状態管理部204が管理する動作状態は、通常モードで動作していることを示す通常動作状態と、低消費電力モード遷移中、つまり移行処理中であることを示す低消費電力モード遷移中状態の何れかである。
【0057】
状態管理部204は、割込信号制御部203から低消費電力モード遷移中状態の通知を受け取ると、動作状態として低消費電力モード遷移中状態を管理し、管理している状態を低消費電力モード移行制御部205へ通知する。
状態管理部204は、割込信号制御部203から割込信号の発生の通知を受け取ると、動作状態として通常動作状態を管理し、管理している状態を低消費電力モード移行制御部205へ通知する。
【0058】
(6)低消費電力モード移行制御部205
低消費電力モード移行制御部205は、低消費電力モードへ移行するか否かを2種類のモードにて管理する。2種類のモードとは、低消費電力モードへの移行を許可する通常モードと、低消費電力モードへの移行を禁止する移行禁止モードとである。
低消費電力モード移行制御部205の初期状態は、通常モードである。
【0059】
低消費電力モード移行制御部205は、割込信号制御部203から割込みの通知を受け取ると、状態管理部204から通知されている状態が低消費電力モード遷移中状態であるか否かを判断する。低消費電力モード遷移中状態であると判断する場合には、低消費電力モード移行制御部205は、管理しているモードを通常モードから移行禁止モードへと変更する。低消費電力モード遷移中状態でないと判断する場合には、低消費電力モード移行制御部205は、破棄命令を割込信号制御部203へ通知のみを行い、管理しているモードの変更は行わない。
【0060】
低消費電力モード移行制御部205は、低消費電力モード命令検出部201から低消費電力モード移行命令を受け取ると、管理しているモードが通常モードであるか、移行禁止モードであるかを判断する。
移行禁止モードであると判断する場合には、低消費電力モード移行制御部205は、低消費電力モード移行命令を受け取った旨を割込信号制御部203へ通知し、受け取った低消費電力モード移行命令を破棄する。このとき、低消費電力モードへの移行は行われない。低消費電力モード移行制御部205は、割込信号制御部203から割込信号の発生の通知を受け取ると、管理しているモードを移行禁止モードから通常モードへと変更する。
【0061】
通常モードであると判断する場合には、低消費電力モード移行制御部205は、低消費電力モードへ移行する旨を低消費電力モード制御部206へ通知する。
(7)低消費電力モード制御部206
低消費電力モード制御部206は、低消費電力モード移行制御部205から低消費電力モードへ移行の通知を受け取ると、低消費電力モードを発生させる。これにより、外部の主要装置(例えば、CPU)のクロックや周辺装置(例えば、シリアル、USB、SDカード)のクロックを停止させて、低消費電力モードとなる。
【0062】
2.2 動作
ここでは、割込制御装置2の動作について、図6及び図7にて示す流れ図を用いて説明する。
割込制御装置2は、消費電力のモードを通常モード、割込信号制御部203の管理状態を割込許可モード、状態管理部204の管理状態を通常動作、低消費電力モード移行制御部205の管理状態を通常モードとする(ステップS200)。
【0063】
割込制御装置2は、条件判定により、命令の受け取りの有無、受け取った命令の種別、割込みの発生の有無を判断する(ステップS205)。
割込みが発生したと判断する場合には(ステップS205における「割込発生」)、割込制御装置2は、割込ハンドラ処理を行い(ステップS210)、ステップS200へ戻る。
【0064】
割込許可命令を受け付けたと判断する場合、又は割込みが未発生、且つ命令を受け付けていないと判断する場合には(ステップS205における「割込許可命令、その他」)、割込制御装置2は、ステップS200へ戻る。
割込禁止命令を受け付けたと判断する場合には(ステップS205における「割込禁止命令」)、割込制御装置2は、消費電力のモードを通常モード、状態管理部204の管理状態を通常動作、低消費電力モード移行制御部205の管理状態を通常モードのままとし、割込信号制御部203の管理状態を割込禁止モードに変更する(ステップS215)。
【0065】
割込制御装置2は、条件判定により、命令の受け取りの有無、受け取った命令の種別、割込みの発生の有無及び状態通知の種別を判断する(ステップS220)。
割込禁止命令を受け付けたと判断する場合、又は割込みが未発生、且つ命令を受け付けていないと判断する場合には(ステップS220における「割込禁止命令、その他」)、割込制御装置2は、ステップS215へ戻る。
【0066】
割込許可命令を受け付けたと判断する場合には(ステップS220における「割込許可命令」)、割込制御装置2は、ステップS200へ戻る。
状態通知が低消費電力モード遷移中状態であると判断する場合には(ステップS220における「状態通知(低消費電力モード遷移中)」)、割込制御装置2は、消費電力のモードを通常モード、割込信号制御部203の管理状態を割込禁止モード、低消費電力モード移行制御部205の管理状態を通常モードのままとし、状態管理部204の管理状態を低消費電力モード遷移中動作に変更する(ステップS225)。
【0067】
割込制御装置2は、条件判定により、命令の受け取りの有無、受け取った命令の種別、割込みの発生の有無を判断する(ステップS230)。
割込みが未発生、且つ命令を受け付けていないと判断する場合には(ステップS230における「その他」)、割込制御装置2は、ステップS225へ戻る。
割込許可命令を受け付けたと判断する場合には(ステップS230における「割込許可命令」)、割込制御装置2は、ステップS200へ戻る。
【0068】
割込禁止命令を受け付けたと判断する場合には(ステップS230における「割込禁止命令」)、割込制御装置2は、ステップS215へ戻る。
割込みが発生したと判断する場合には(ステップS230における「割込発生」)、割込制御装置2は、消費電力のモードを通常モード、割込信号制御部203の管理状態を割込禁止モード、状態管理部204の管理状態を低消費電力モード遷移中動作のままとし、低消費電力モード移行制御部205の管理状態を移行禁止モードに変更する(ステップS235)。割込制御装置2は、条件判定により、命令の受け取りの有無、受け取った命令の種別、割込みの発生の有無を判断する(ステップS240)。割込許可命令を受け付けたと判断する場合には(ステップS240における「割込許可命令」)、割込制御装置2は、ステップS200へ戻る。割込禁止命令を受け付けたと判断する場合には(ステップS240における「割込禁止命令」)、割込制御装置2は、ステップS215へ戻る。割込みが発生したと判断する場合、又は割込みが未発生、且つ命令を受け付けていないと判断する場合には(ステップS240における「割込発生、その他」)、割込制御装置2は、ステップS235へ戻る。低消費電力モード移行命令を受け付けたと判断する場合には(ステップS240における「低消費電力モード移行命令」)、割込制御装置2は、消費電力のモードを通常モード、状態管理部204の管理状態を低消費電力モード遷移中動作、低消費電力モード移行制御部205の管理状態を移行禁止モードのままとし、割込信号制御部203の管理状態を割込許可モードに変更し(ステップS245)、割込ハンドラ処理を行う(ステップS250)。割込制御装置2は、消費電力のモードを通常モード、割込信号制御部203の管理状態を割込許可モードのままとし、状態管理部204の管理状態を通常動作、低消費電力モード移行制御部205の管理状態を通常モードにそれぞれ変更し(ステップS255)、ステップS205へ戻る。
【0069】
低消費電力モード移行命令を受け付けたと判断する場合には(ステップS230における「低消費電力モード移行命令」)、割込制御装置2は、状態管理部204の管理状態を低消費電力モード遷移中動作、低消費電力モード移行制御部205の管理状態を通常モードのままとし、消費電力のモードを低消費電力モード、割込信号制御部203の管理状態を割込許可モードのそれぞれ変更する(ステップS260)。割込制御装置2は、条件判定により、命令の受け取りの有無、受け取った命令の種別、割込みの発生の有無を判断する(ステップS265)。割込許可命令を受け付けたと判断する場合、又は割込みが未発生、且つ命令を受け付けていないと判断する場合には(ステップS265における「割込許可命令、その他」)、割込制御装置2は、ステップS260へ戻る。割込みが発生したと判断する場合には(ステップS265における「割込発生」)、割込制御装置2は、割込ハンドラ処理を行い(ステップS270)、ステップS255へ移る。
【0070】
2.3 具体例
ここで、低消費電力モード遷移中状態であり、且つ低消費電力モード移行命令が発行されるまでに、割込みが発生した場合における動作を、図8にて示すタイミングチャートにて説明する。
マイクロプロセッサがソフトウェア(移行処理)を実行することにより割込禁止命令が発行されると(t300)、命令デコード部200は、発行された割込禁止命令を低消費電力モード命令検出部201及び割込禁止/許可命令検出部202へ通知する。
【0071】
割込禁止/許可命令検出部202は、命令デコード部200から割込禁止命令を受け取ると、割込禁止/許可命令検出部202は、割込禁止命令を受け取った旨を割込信号制御部203へ通知する。割込信号制御部203は、割込禁止/許可命令検出部202から割込禁止命令の通知を受け取ると、割込みを割込許可モードから割込禁止モードへと変更する(t305)。
【0072】
割込信号制御部203は状態管理部204へ状態通知として、低消費電力モード遷移中状態を通知する(t310)。
状態管理部204は、割込信号制御部203から低消費電力モード遷移中状態の通知を受け取ると、動作状態を通常動作状態から低消費電力モード遷移中状態へと変更する(t315)。状態管理部204は、管理している状態を低消費電力モード移行制御部205へ通知する。
【0073】
割込信号制御部203は、割込禁止の状態において、割込みを受け付けると(t320)、割込みを受け付けた旨を低消費電力モード移行制御部205へ通知し、受け付けた割込みを保持する。
低消費電力モード移行制御部205は、割込信号制御部203から割込みの通知を受け取ると、状態管理部204から通知されている状態が低消費電力モード遷移中状態であるか否かを判断する。この場合、低消費電力モード移行制御部205は、低消費電力モード遷移中状態であると判断し、管理しているモードを通常モードから移行禁止モードへと変更する(t325)。
【0074】
マイクロプロセッサがソフトウェア(移行処理)を実行することにより低消費電力モード移行命令が発行されると(t330)、命令デコード部200は、発行された低消費電力モード移行命令を低消費電力モード命令検出部201及び割込禁止/許可命令検出部202へ通知する。低消費電力モード命令検出部201は、低消費電力モード移行命令を受け取った旨を低消費電力モード移行制御部205へ通知する。低消費電力モード移行制御部205は、低消費電力モード命令検出部201から低消費電力モード移行命令を受け取ると、管理しているモードが通常モードであるか、移行禁止モードであるかを判断する。この場合、低消費電力モード移行制御部205は、移行禁止モードであると判断し、低消費電力モード移行命令を受け取った旨を割込信号制御部203へ通知し、受け取った低消費電力モード移行命令を破棄する。割込信号制御部203は、低消費電力モード移行制御部205から低消費電力モード移行命令の通知を受け取ると、割込禁止モードから割込許可モードへと変更し(t335)、保持している割込みの割込信号を発生する(t340)。
【0075】
割込信号制御部203は、割込みの割込信号を発生した旨を状態管理部204及び低消費電力モード移行制御部205へ通知する。状態管理部204は、割込信号制御部203から割込信号の発生の通知を受け取ると、動作状態を低消費電力モード遷移中状態から通常動作状態へと変更する(t345)。低消費電力モード移行制御部205は、割込信号制御部203から割込信号の発生の通知を受け取ると、管理しているモードを移行禁止モードから通常モードへと変更する(t350)。
【0076】
2.4 変形例
なお、本発明を上記の第2の実施の形態に基づいて説明してきたが、本発明は、上記の実施の形態に限定されないのはもちろんである。以下の場合も本発明に含まれる。
(1)上記第2の実施の形態において、低消費電力モード移行制御部205は、通常モードと移行禁止モードとを用いて、低消費電力モードへ移行するか否か管理したが、これに限定されない。
【0077】
状態管理部204が管理している状態及び割込みの受付の有無により、低消費電力モードへ移行するか否か管理してもよい。
このとき、低消費電力モード移行制御部205は、割込信号制御部203から割込みの通知を受け取ると、状態管理部204から通知されている状態が低消費電力モード遷移中状態であるか否かを判断する。低消費電力モード遷移中状態であると判断する場合には、低消費電力モード移行制御部205は、受け取った通知を保持する。低消費電力モード遷移中状態でないと判断する場合には、低消費電力モード移行制御部205は、受け取った通知を破棄する。
【0078】
低消費電力モード移行制御部205は、低消費電力モード命令検出部201から低消費電力モード移行命令を受け取ると、割込みの通知を保持しているか否かを判断する。保持していると判断する場合には、低消費電力モード移行制御部205は、低消費電力モード移行命令を受け取った旨を割込信号制御部203へ通知し、受け取った低消費電力モード移行命令を破棄する。このとき、低消費電力モードへの移行は行われない。低消費電力モード移行制御部205は、割込信号制御部203から割込信号の発生の通知を受け取ると、保持している通知を破棄する。
【0079】
保持していないと判断する場合には、低消費電力モード移行制御部205は、低消費電力モードへ移行する旨を低消費電力モード制御部206へ通知する。
(2)上記第2の実施の形態において、例えば、図8においてt330からt335の間に他の割込みが発生した場合には、割込みが許可されているため割込信号制御部203は、t315の時点で受け取った割込みの割込み信号が発生される前に割込み処理がなされるが、これに限定されない。
【0080】
t315の時点で受け取った割込み、つまり割込み禁止の状態で受け取った割込みを優先的に処理に、その後、t330からt335の間に発生した他の割込みの処理を行ってもよい。このとき、割込信号制御部203は、割込みを許可してから保持している割込みの割込信号を発生するまでの間に、他の割込みを受け取った場合には、受け取った他の割込みを先に保持している割込みの後続の割込みとして保持する。割込信号制御部203は、先に保持している割込みの割込信号を発生した後、後から保持した他の割込みの割込信号を発生することで、先に保持した割込みを優先的に処理することが実現できる。ここで、他の割込みを先に保持している割込みの後続の割込み処理として保持する動作の一例を示す。割込信号制御部203は、割込みを受け付けると、先に保持している割込みがあるか否かを判断する。保持している割込みがあると判断する場合には、受け取った割込みを先に保持している割込みの後続の割込みとして保持する。保持していないと判断する場合には、受け取った割込みの割込信号を発生させる。
【0081】
または、t330からt335の間に発生した他の割込みを破棄してもよい。このとき、割込信号制御部203は、割込みを許可してから保持している割込みの割込信号を発生するまでの間に、他の割込みを受け取った場合には、受け取った他の割込みを破棄する。
(3)上記実施の形態及び上記変形例をそれぞれ組み合わせるとしてもよい。
2.5 まとめ
上記第2の実施の形態にて示すように、割込制御装置2は、低消費電力モードへの移行処理において、割込信号制御部203にて状態通知が発行されることにより管理する状態を変更し、低消費電力モード遷移中状態である間に割込みを受け付けた場合、不要な低消費電力モードへの移行をなくすことにより、低消費電力モードからの復帰時間を削減できる。
【0082】
また、割込信号制御部203は、マイクロプロセッサがソフトウェア(移行処理)を実行することにより発行される低消費電力モード移行命令を、割込許可命令として利用していることがわかる。なぜなら、割込信号制御部203は、割込禁止の状態において、低消費電力モード移行制御部205から低消費電力モード移行命令の通知を受け取ると、割込許可とするからである。
【0083】
また、割込信号制御部203は、低消費電力モード遷移中に低消費電力モード移行命令を受け付けるまでは、受け付けた割込みの割込信号は発生させないよう制御することができる。
3.第3の実施の形態
本発明に係る第3の実施の形態としての割込制御装置3について説明する。
【0084】
3.1 構成
割込制御装置3は、図9に示すように、命令デコード部300、低消費電力モード命令検出部301、割込禁止/許可命令検出部302、割込信号制御部303、状態管理部304、低消費電力モード移行制御部305及び低消費電力モード制御部306から構成されている。
【0085】
なお、以降では、マイクロプロセッサがソフトウェアの実行により低消費電力モードに移行すると判断した場合における各構成要素について説明する。
マイクロプロセッサがソフトウェアの実行により、低消費電力モードに移行すると判断した場合に低消費電力モードへの移行処理を実行する。移行処理は、割込みの処理を禁止する旨の割込禁止命令、割込みの処理を許可する割込許可命令、及び消費電力のモードを通常の消費電力モード(以下、通常モード)から低消費電力モードへと移行する旨の低消費電力モード移行命令を発行し、割込制御装置3へ通知する。
【0086】
(1)命令デコード部300
命令デコード部300は、マイクロプロセッサがソフトウェア(移行処理)の実行により発行する命令を受け取り、受け取った命令を解読し、解読結果を低消費電力モード命令検出部301及び割込禁止/許可命令検出部302へ通知する。
(2)低消費電力モード命令検出部301
低消費電力モード命令検出部301は、命令デコード部300から解読結果を受け取ると、受け取った解読結果が低消費電力モード移行命令であるか否かを判断する。
【0087】
低消費電力モード移行命令であると判断する場合には、低消費電力モード命令検出部301は、低消費電力モード移行命令を受け取った旨を低消費電力モード移行制御部305へ通知する。
受け取った解読結果が他の命令である場合には、低消費電力モード命令検出部301は、受け取った内容を破棄する。
【0088】
(3)割込禁止/許可命令検出部302
割込禁止/許可命令検出部302は、命令デコード部300から解読結果を受け取ると、受け取った解読結果が割込禁止命令または割込許可命令の何れかであるか否かを判断する。
割込禁止命令であると判断する場合には、割込禁止/許可命令検出部302は、割込禁止命令を受け取った旨を割込信号制御部303へ通知する。
【0089】
割込許可命令であると判断する場合には、割込禁止/許可命令検出部302は、割込許可命令を受け取った旨を割込信号制御部303へ通知する。
受け取った解読結果が他の命令である場合には、割込禁止/許可命令検出部302は、受け取った内容を破棄する。
(4)割込信号制御部303
割込信号制御部303は、割込禁止/許可命令検出部302から割込禁止命令の通知を受け取ると、割込みを禁止とし、状態管理部304へ状態通知として、低消費電力モードへ遷移中であることを示す低消費電力モード遷移中状態を通知する。
【0090】
割込信号制御部303は、割込禁止/許可命令検出部302から割込許可命令の通知を受け取ると、割込みを許可する。
(割込禁止の場合)
割込信号制御部303は、割込禁止の状態において、割込み(例えば、外部割込み)を受け付けると、割込みを受け付けた旨を低消費電力モード移行制御部305へ通知し、受け付けた割込みを保持する。割込信号制御部303は、低消費電力モード移行制御部305から低消費電力モード移行命令の通知を受け取ると、割込許可とし、保持している割込みの割込信号を発生し、割込ハンドラに係る処理を起動する。割込信号制御部303は、割込みの割込信号を発生した旨を状態管理部304及び低消費電力モード移行制御部305へ通知する。このとき、外部の装置にて割り込みの処理を行う。
【0091】
割込信号制御部303は、割込みの破棄を指示する旨の破棄命令を低消費電力モード移行制御部305から受け取ると、保持している割込みを破棄する。
(割込許可の場合)
割込信号制御部303は、割込許可の状態において、割込みを受け付けると、受け付けた割込みの割込信号を発生し、割込ハンドラに係る処理を起動する。このとき、外部の装置にて割り込みの処理を行う。
【0092】
(5)状態管理部304
状態管理部304は、動作状態を管理(保持)し、管理している状態を低消費電力モード移行制御部305へ通知する。ここで、状態管理部304が管理する動作状態は、第2の実施の形態にて示す状態管理部204と同様に、通常動作状態と、低消費電力モード遷移中状態の何れかである。
【0093】
状態管理部304は、割込信号制御部303から低消費電力モード遷移中状態の通知を受け取ると、動作状態として低消費電力モード遷移中状態を管理し、管理している状態を低消費電力モード移行制御部305へ通知する。
状態管理部304は、割込信号制御部303から割込信号の発生の通知を受け取ると、動作状態として通常動作状態を管理し、管理している状態を低消費電力モード移行制御部305へ通知する。
【0094】
(6)低消費電力モード移行制御部305
低消費電力モード移行制御部305は、低消費電力モードへの移行を、完全移行モード及び一部移行モードの2種類のモードにて管理する。完全移行モードとは、通常モードから、外部の主要装置(例えば、CPU)及び周辺装置(例えば、シリアル、USB、SDカード)の全てのクロックを停止させて低消費電力モードとなることであり、一部移行モードとは、通常モードから、周辺装置(例えば、シリアル、USB、SDカード)のクロックを停止させて低消費電力モードとなることである。
【0095】
低消費電力モード移行制御部305の初期状態は、完全移行モードである。
低消費電力モード移行制御部305は、割込信号制御部303から割込みの通知を受け取ると、状態管理部304から通知されている状態が低消費電力モード遷移中状態であるか否かを判断する。低消費電力モード遷移中状態であると判断する場合には、低消費電力モード移行制御部305は、管理しているモードを完全移行モードから一部移行モードへと変更する。低消費電力モード遷移中状態でないと判断する場合には、低消費電力モード移行制御部305は、破棄命令を割込信号制御部303へ通知のみを行い、管理しているモードの変更は行わない。
【0096】
低消費電力モード移行制御部305は、低消費電力モード命令検出部301から低消費電力モード移行命令を受け取ると、管理しているモードが完全移行モードであるか、一部移行モードであるかを判断する。
一部移行モードであると判断する場合には、低消費電力モード移行制御部305は、周辺装置のクロックを停止させて低消費電力モードへ移行する旨(以下、「第1移行命令」という。)を低消費電力モード制御部306へ通知する。さらに、低消費電力モード移行制御部305は、低消費電力モード移行命令を受け取った旨を割込信号制御部303へ通知し、その後、割込信号制御部303から割込信号の発生の通知を受け取ると、管理しているモードを一部移行モードから完全移行モードへと変更する。さらに、低消費電力モード移行制御部305は、周辺装置のクロックの動作を開始する旨を低消費電力モード制御部306へ通知する。
【0097】
完全移行モードであると判断する場合には、低消費電力モード移行制御部305は、外部の主要装置及び周辺装置の全てのクロックを停止させて低消費電力モードへ移行する旨(以下、「第2移行命令」という。)を低消費電力モード制御部306へ通知する。
(7)低消費電力モード制御部306
低消費電力モード制御部306は、低消費電力モード移行制御部305から第1移行命令の通知を受け取ると、周辺装置のクロックを停止させることにより、低消費電力モードを発生させる。
【0098】
低消費電力モード制御部306は、低消費電力モード移行制御部305から第2移行命令の通知を受け取ると、主要装置及び周辺装置の全てのクロックを停止させることにより、低消費電力モードを発生させる。
低消費電力モード制御部306は、低消費電力モード移行制御部305から周辺装置のクロックの動作を開始する通知を受け取ると、周辺装置のクロックの動作を開始するように制御し、電力モードを低消費電力モードから通常モードへと変更する。
【0099】
3.2 動作
ここでは、割込制御装置3の動作について、図10及び図11にて示す流れ図を用いて説明する。
割込制御装置3は、消費電力のモードを通常モード、割込信号制御部303の管理状態を割込許可モード、状態管理部304の管理状態を通常動作、低消費電力モード移行制御部305の管理状態を完全移行モードとする(ステップS400)。
【0100】
割込制御装置3は、条件判定により、命令の受け取りの有無、受け取った命令の種別、割込みの発生の有無を判断する(ステップS405)。
割込みが発生したと判断する場合には(ステップS405における「割込発生」)、割込制御装置3は、割込ハンドラ処理を行い(ステップS410)、ステップS400へ戻る。
【0101】
割込許可命令を受け付けたと判断する場合、又は割込みが未発生、且つ命令を受け付けていないと判断する場合には(ステップS405における「割込許可命令、その他」)、割込制御装置3は、ステップS400へ戻る。
割込禁止命令を受け付けたと判断する場合には(ステップS405における「割込禁止命令」)、割込制御装置3は、消費電力のモードを通常モード、状態管理部304の管理状態を通常動作、低消費電力モード移行制御部305の管理状態を完全移行モードのままとし、割込信号制御部303の管理状態を割込禁止モードに変更する(ステップS415)。
【0102】
割込制御装置3は、条件判定により、命令の受け取りの有無、受け取った命令の種別、割込みの発生の有無及び状態通知の種別を判断する(ステップS420)。
割込禁止命令を受け付けたと判断する場合、又は割込みが未発生、且つ命令を受け付けていないと判断する場合には(ステップS420における「割込禁止命令、その他」)、割込制御装置3は、ステップS415へ戻る。
【0103】
割込許可命令を受け付けたと判断する場合には(ステップS420における「割込許可命令」)、割込制御装置3は、ステップS400へ戻る。
状態通知が低消費電力モード遷移中状態であると判断する場合には(ステップS420における「状態通知(低消費電力モード遷移中)」)、割込制御装置3は、消費電力のモードを通常モード、割込信号制御部303の管理状態を割込禁止モード、低消費電力モード移行制御部305の管理状態を完全移行モードのままとし、状態管理部304の管理状態を低消費電力モード遷移中動作に変更する(ステップS425)。
【0104】
割込制御装置3は、条件判定により、命令の受け取りの有無、受け取った命令の種別、割込みの発生の有無を判断する(ステップS430)。
割込みが未発生、且つ命令を受け付けていないと判断する場合には(ステップS430における「その他」)、割込制御装置3は、ステップS425へ戻る。
割込許可命令を受け付けたと判断する場合には(ステップS430における「割込許可命令」)、割込制御装置3は、ステップS400へ戻る。
【0105】
割込禁止命令を受け付けたと判断する場合には(ステップS430における「割込禁止命令」)、割込制御装置3は、ステップS415へ戻る。
割込みが発生したと判断する場合には(ステップS430における「割込発生」)、割込制御装置3は、消費電力のモードを通常モード、割込信号制御部303の管理状態を割込禁止モード、状態管理部304の管理状態を低消費電力モード遷移中動作のままとし、低消費電力モード移行制御部305の管理状態を一部移行モードに変更する(ステップS435)。割込制御装置3は、条件判定により、命令の受け取りの有無、受け取った命令の種別、割込みの発生の有無を判断する(ステップS440)。割込許可命令を受け付けたと判断する場合には(ステップS440における「割込許可命令」)、割込制御装置3は、ステップS400へ戻る。割込禁止命令を受け付けたと判断する場合には(ステップS440における「割込禁止命令」)、割込制御装置3は、ステップS415へ戻る。割込みが発生したと判断する場合、又は割込みが未発生、且つ命令を受け付けていないと判断する場合には(ステップS440における「割込発生、その他」)、割込制御装置3は、ステップS435へ戻る。低消費電力モード移行命令を受け付けたと判断する場合には(ステップS440における「低消費電力モード移行命令」)、割込制御装置3は、状態管理部304の管理状態を低消費電力モード遷移中動作、低消費電力モード移行制御部305の管理状態を一部移行モードのままとし、消費電力のモードを低消費電力モード(主要装置のみ動作)、割込信号制御部303の管理状態を割込許可モードにそれぞれ変更し(ステップS445)、割込ハンドラ処理を行う(ステップS450)。割込制御装置3は、割込信号制御部303の管理状態を割込許可モードのままとし、消費電力のモードを通常モード、状態管理部304の管理状態を通常動作、低消費電力モード移行制御部305の管理状態を完全移行モードにそれぞれ変更し(ステップS455)、ステップS405へ戻る。
【0106】
低消費電力モード移行命令を受け付けたと判断する場合には(ステップS430における「低消費電力モード移行命令」)、割込制御装置3は、状態管理部304の管理状態を低消費電力モード遷移中動作、低消費電力モード移行制御部305の管理状態を完全移行モードのままとし、消費電力のモードを低消費電力モード、割込信号制御部303の管理状態を割込許可モードにそれぞれ変更する(ステップS460)。割込制御装置3は、条件判定により、命令の受け取りの有無、受け取った命令の種別、割込みの発生の有無を判断する(ステップS465)。割込許可命令を受け付けたと判断する場合、又は割込みが未発生、且つ命令を受け付けていないと判断する場合には(ステップS465における「割込許可命令、その他」)、割込制御装置3は、ステップS460へ戻る。割込みが発生したと判断する場合には(ステップS465における「割込発生」)、割込制御装置3は、割込ハンドラ処理を行い(ステップS470)、ステップS455へ移る。
【0107】
3.3 具体例
ここで、低消費電力モード遷移中状態であり、且つ低消費電力モード移行命令が発行されるまでに、割込みが発生した場合における動作を、図12にて示すタイミングチャートにて説明する。
マイクロプロセッサがソフトウェア(移行処理)を実行することにより割込禁止命令が発行されると(t500)、命令デコード部300は、発行された割込禁止命令を低消費電力モード命令検出部301及び割込禁止/許可命令検出部302へ通知する。
【0108】
割込禁止/許可命令検出部302は、命令デコード部300から割込禁止命令を受け取ると、割込禁止/許可命令検出部302は、割込禁止命令を受け取った旨を割込信号制御部303へ通知する。割込信号制御部303は、割込禁止/許可命令検出部302から割込禁止命令の通知を受け取ると、割込みを割込許可モードから割込禁止モードへと変更する(t505)。
【0109】
割込信号制御部303は状態管理部304へ状態通知として、低消費電力モード遷移中状態を通知する(t510)。
状態管理部304は、割込信号制御部303から低消費電力モード遷移中状態の通知を受け取ると、動作状態を通常動作状態から低消費電力モード遷移中状態へと変更する(t515)。状態管理部304は、管理している状態を低消費電力モード移行制御部305へ通知する。
【0110】
割込信号制御部303は、割込禁止の状態において、割込みを受け付けると(t520)、割込みを受け付けた旨を低消費電力モード移行制御部305へ通知し、受け付けた割込みを保持する。
低消費電力モード移行制御部305は、割込信号制御部303から割込みの通知を受け取ると、状態管理部304から通知されている状態が低消費電力モード遷移中状態であるか否かを判断する。この場合、低消費電力モード移行制御部305は、低消費電力モード遷移中状態であると判断し、管理しているモードを完全移行モードから一部移行モードへと変更する(t525)。
【0111】
マイクロプロセッサがソフトウェア(移行処理)を実行することにより低消費電力モード移行命令が発行されると(t530)、命令デコード部300は、発行された低消費電力モード移行命令を低消費電力モード命令検出部301及び割込禁止/許可命令検出部302へ通知する。低消費電力モード命令検出部301は、低消費電力モード移行命令を受け取った旨を低消費電力モード移行制御部305へ通知する。低消費電力モード移行制御部305は、低消費電力モード命令検出部301から低消費電力モード移行命令を受け取ると、管理しているモードが完全移行モードであるか、一部移行モードであるかを判断する。この場合、低消費電力モード移行制御部305は、一部移行モードであると判断し、第1移行命令を低消費電力モード制御部306へ通知する。低消費電力モード制御部306は、低消費電力モード移行制御部305から第1移行命令の通知を受け取ると、消費電力のモードを通常モードから消費電力モード(主要装置のみクロック動作)へと変更する(t535)。このとき、低消費電力モード制御部306は、周辺装置のクロックを停止させることにより、低消費電力モード(主要装置のみクロック動作を行う。)を発生させる。
【0112】
さらに、低消費電力モード移行制御部305は、低消費電力モード移行命令を受け取った旨を割込信号制御部303へ通知する。割込信号制御部303は、低消費電力モード移行制御部305から低消費電力モード移行命令の通知を受け取ると、割込禁止モードから割込許可モードへと変更し(t540)、保持している割込みの割込信号を発生する(t545)。
【0113】
割込信号制御部303は、割込みの割込信号を発生した旨を状態管理部304及び低消費電力モード移行制御部305へ通知する。状態管理部304は、割込信号制御部303から割込信号の発生の通知を受け取ると、動作を低消費電力モード遷移中状態から通常動作状態へと変更する(t550)。低消費電力モード移行制御部305は、割込信号制御部303から割込信号の発生の通知を受け取ると、管理しているモードを一部移行モードから完全移行モードへと変更する(t555)。さらに、低消費電力モード移行制御部305は、周辺装置のクロックの動作を開始する旨を低消費電力モード制御部306へ通知する。低消費電力モード制御部306は、低消費電力モード移行制御部305から周辺装置のクロックの動作を開始する通知を受け取ると、周辺装置のクロックの動作を開始するように制御し、消費電力モードを低消費電力モードから通常モードへと変更する(t560)。
【0114】
3.4 変形例
なお、本発明を上記の第3の実施の形態に基づいて説明してきたが、本発明は、上記の実施の形態に限定されないのはもちろんである。以下の場合も本発明に含まれる。
(1)上記第3の実施の形態において、低消費電力モード移行制御部305は、通常モードと移行禁止モードとを用いて、低消費電力モードへ移行するか否か管理したが、これに限定されない。
【0115】
状態管理部304が管理している状態及び割込みの受付の有無により、低消費電力モードへ移行するか否か管理してもよい。
このとき、低消費電力モード移行制御部305は、割込信号制御部303から割込みの通知を受け取ると、状態管理部304から通知されている状態が低消費電力モード遷移中状態であるか否かを判断する。低消費電力モード遷移中状態であると判断する場合には、低消費電力モード移行制御部305は、受け取った通知を保持する。低消費電力モード遷移中状態でないと判断する場合には、低消費電力モード移行制御部305は、受け取った通知を破棄する。
【0116】
低消費電力モード移行制御部305は、低消費電力モード命令検出部301から低消費電力モード移行命令を受け取ると、割込みの通知を保持しているか否かを判断する。保持していると判断する場合には、低消費電力モード移行制御部305は、低消費電力モード移行命令を受け取った旨を割込信号制御部303へ通知し、受け取った低消費電力モード移行命令を破棄する。このとき、低消費電力モードへの移行は行われない。低消費電力モード移行制御部305は、割込信号制御部303から割込信号の発生の通知を受け取ると、保持している通知を破棄する。
【0117】
保持していないと判断する場合には、低消費電力モード移行制御部305は、低消費電力モードへ移行する旨を低消費電力モード制御部306へ通知する。
(2)上記第3の実施の形態において、例えば、図12において、t540からt545の間に他の割込みが発生した場合には、割込みが許可されているため割込信号制御部303は、t520の時点で受け取った割込みの割込み信号が発生される前に割込み処理がなされるが、これに限定されない。
【0118】
t520の時点で受け取った割込み、つまり割込み禁止の状態で受け取った割込みを優先的に処理に、その後、t540からt545の間に発生した他の割込みの処理を行ってもよい。このとき、割込信号制御部303は、割込みを許可してから保持している割込みの割込信号を発生するまでの間に、他の割込みを受け取った場合には、受け取った他の割込みを先に保持している割込みの後続の割込みとして保持する。割込信号制御部303は、先に保持している割込みの割込信号を発生した後、後から保持した他の割込みの割込信号を発生することで、先に保持した割込みを優先的に処理することが実現できる。ここで、他の割込みを先に保持している割込みの後続の割込み処理として保持する動作の一例を示す。割込信号制御部303は、割込みを受け付けると、先に保持している割込みがあるか否かを判断する。保持している割込みがあると判断する場合には、受け取った割込みを先に保持している割込みの後続の割込みとして保持する。保持していないと判断する場合には、受け取った割込みの割込信号を発生させる。
【0119】
または、t540からt545の間に発生した他の割込みを破棄してもよい。このとき、割込信号制御部303は、割込みを許可してから保持している割込みの割込信号を発生するまでの間に、他の割込みを受け取った場合には、受け取った他の割込みを破棄する。
(3)上記実施の形態及び上記変形例をそれぞれ組み合わせるとしてもよい。
3.5 まとめ
上記第3の実施の形態にて示すように、割込制御装置3は、低消費電力モードへの移行処理において、割込信号制御部303にて状態通知が発行されることにより管理する状態を変更し、低消費電力モード遷移中状態である間に割込みを受け付けた場合、低消費電力モードへの移行を、一部移行にすることにより、低消費電力モードからの復帰時間を削減できる。
【0120】
また、割込信号制御部303は、マイクロプロセッサがソフトウェア(移行処理)を実行することにより発行される低消費電力モード移行命令を、割込許可命令として利用していることがわかる。なぜなら、割込信号制御部303は、割込禁止の状態において、低消費電力モード移行制御部305から低消費電力モード移行命令の通知を受け取ると、割込許可とするからである。
【0121】
また、割込信号制御部303は、低消費電力モード遷移中に低消費電力モード移行命令を受け付けるまでは、受け付けた割込みの割込信号は発生させないよう制御することができる。
4.第4の実施の形態
本発明に係る第4の実施の形態としての割込制御装置4について説明する。
【0122】
4.1 構成
割込制御装置4は、図13に示すように、命令デコード部400、低消費電力モード命令検出部401、割込禁止/許可命令検出部402、割込信号制御部403、状態管理部404、低消費電力モード移行制御部405、低消費電力モード制御部406及び割込信号発生部407から構成されている。
【0123】
なお、以降では、マイクロプロセッサがソフトウェアの実行により低消費電力モードに移行すると判断した場合における各構成要素について説明する。
マイクロプロセッサがソフトウェアの実行により、低消費電力モードに移行すると判断した場合に低消費電力モードへの移行処理を実行する。移行処理は、割込みの処理を禁止する旨の割込禁止命令、割込みの処理を許可する割込許可命令、消費電力のモードを通常の消費電力モード(以下、通常モード)から低消費電力モードへと移行する旨の低消費電力モード移行命令、通常モードで動作していることを示す通常動作命令、及び低消費電力モード遷移中であることを示す低消費電力モード遷移中命令を発行し、割込制御装置4へ通知する。
【0124】
(1)命令デコード部400
命令デコード部400は、マイクロプロセッサがソフトウェア(移行処理)を実行することにより発行する命令を受け取り、受け取った命令を解読し、解読結果を低消費電力モード命令検出部401、割込禁止/許可命令検出部402及び状態管理部404へ通知する。
【0125】
(2)低消費電力モード命令検出部401
低消費電力モード命令検出部401は、命令デコード部400から解読結果を受け取ると、受け取った解読結果が低消費電力モード移行命令であるか否かを判断する。
低消費電力モード移行命令であると判断する場合には、低消費電力モード命令検出部401は、低消費電力モード移行命令を受け取った旨を低消費電力モード移行制御部405へ通知する。
【0126】
受け取った解読結果が他の命令である場合には、低消費電力モード命令検出部401は、受け取った内容を破棄する。
(3)割込禁止/許可命令検出部402
割込禁止/許可命令検出部402は、命令デコード部400から解読結果を受け取ると、受け取った解読結果が割込禁止命令または割込許可命令の何れかであるか否かを判断する。
【0127】
割込禁止命令であると判断する場合には、割込禁止/許可命令検出部402は、割込禁止命令を受け取った旨を割込信号発生部407へ通知する。
割込許可命令であると判断する場合には、割込禁止/許可命令検出部402は、割込許可命令を受け取った旨を割込信号発生部407へ通知する。
受け取った解読結果が他の命令である場合には、割込禁止/許可命令検出部402は、受け取った内容を破棄する。
【0128】
(4)割込信号発生部407
割込信号発生部407は、割込禁止/許可命令検出部402から割込禁止命令の通知を受け取ると、割込みを禁止とする。
割込信号発生部407は、割込禁止/許可命令検出部402から割込許可命令の通知を受け取ると、割込みを許可する。
【0129】
(割込禁止の場合)
割込信号発生部407は、割込禁止の状態において、割込み(例えば、外部割込み)を受け付けると、割込みを受け付けた旨を低消費電力モード移行制御部405へ通知し、受け付けた割込みを破棄する。割込信号発生部407は、低消費電力モード移行制御部405から低消費電力モード移行命令の通知を受け取ると、割込許可とする。
【0130】
(割込許可の場合)
割込信号発生部407は、割込許可の状態において、割込みを受け付けると、受け付けた割込みを割込信号制御部403へ通知する。
(5)割込信号制御部403
割込信号制御部403は、割込信号発生部407から割込みを受け付けると、受け付けた割込みの割込信号を発生し、割込ハンドラに係る処理を起動する。このとき、外部の装置にて割り込みの処理を行う。
【0131】
(6)状態管理部404
状態管理部404は、動作状態を管理(保持)し、管理している状態を低消費電力モード移行制御部405へ通知する。ここで、状態管理部404が管理する動作状態は、第2の実施の形態にて示す状態管理部204と同様に、通常動作状態と、低消費電力モード遷移中状態の何れかである。
【0132】
状態管理部404は、命令デコード部400から解読結果を受け取ると、受け取った解読結果が通常動作状態、または低消費電力モード遷移中状態の何れかであるか否かを判断する。
受け取った解読結果が低消費電力モード遷移中命令であると判断する場合には、状態管理部404は、動作状態として低消費電力モード遷移中状態を管理し、管理している状態を低消費電力モード移行制御部405へ通知する。
【0133】
受け取った解読結果が通常動作命令であると判断する場合には、状態管理部404は、動作状態として通常動作状態を管理し、管理している状態を低消費電力モード移行制御部405へ通知する。
受け取った解読結果が他の命令である場合には、状態管理部404は、受け取った内容を破棄する。
【0134】
(7)低消費電力モード移行制御部405
低消費電力モード移行制御部405は、低消費電力モードへ移行するか否かを2種類のモードにて管理する。2種類のモードとは、低消費電力モードへの移行を許可する通常モードと、低消費電力モードへの移行を禁止する移行禁止モードとである。
低消費電力モード移行制御部405の初期状態は、通常モードである。
【0135】
低消費電力モード移行制御部405は、割込信号発生部407から割込みの通知を受け取ると、状態管理部404から通知されている状態が低消費電力モード遷移中状態であるか否かを判断する。低消費電力モード遷移中状態であると判断する場合には、低消費電力モード移行制御部405は、管理しているモードを通常モードから移行禁止モードへと変更する。低消費電力モード遷移中状態でないと判断する場合には、低消費電力モード移行制御部405は、管理しているモードの変更は行わない。
【0136】
低消費電力モード移行制御部405は、低消費電力モード命令検出部401から低消費電力モード移行命令を受け取ると、管理しているモードが通常モードであるか、移行禁止モードであるかを判断する。
移行禁止モードであると判断する場合には、低消費電力モード移行制御部405は、低消費電力モード移行命令を受け取った旨を割込信号発生部407へ通知し、受け取った低消費電力モード移行命令を破棄する。このとき、低消費電力モードへの移行は行われない。
【0137】
通常モードであると判断する場合には、低消費電力モード移行制御部405は、低消費電力モードへ移行する旨を低消費電力モード制御部406へ通知する。
さらに、低消費電力モード移行制御部405は、状態管理部404から状態通知として通常動作状態を受け取ると、管理しているモードが通常モードであるか、移行禁止モードであるかの判断を行う。移行禁止モードであると判断する場合には、低消費電力モード移行制御部405は、管理しているモードを移行禁止モードから通常モードへと変更する。通常モードであると判断する場合には、低消費電力モード移行制御部405は、何も行わない。
【0138】
(8)低消費電力モード制御部406
低消費電力モード制御部406は、低消費電力モード移行制御部405から低消費電力モードへ移行の通知を受け取ると、低消費電力モードを発生させる。これにより、外部の主要装置(例えば、CPU)のクロックや周辺装置(例えば、シリアル、USB、SDカード)のクロックを停止させて、低消費電力モードとなる。
【0139】
4.2 動作
ここでは、割込制御装置4の動作について、図14及び図15にて示す流れ図を用いて説明する。
割込制御装置4は、消費電力のモードを通常モード、割込信号発生部407の管理状態を割込許可モード、状態管理部404の管理状態を通常動作、低消費電力モード移行制御部405の管理状態を通常モードとする(ステップS600)。
【0140】
割込制御装置4は、条件判定により、命令の受け取りの有無、受け取った命令の種別、割込みの発生の有無を判断する(ステップS605)。
割込みが発生したと判断する場合には(ステップS605における「割込発生」)、割込制御装置4は、割込ハンドラ処理を行い(ステップS610)、ステップS600へ戻る。
【0141】
割込許可命令を受け付けたと判断する場合、又は割込みが未発生、且つ命令を受け付けていないと判断する場合には(ステップS605における「割込許可命令、その他」)、割込制御装置4は、ステップS600へ戻る。
割込禁止命令を受け付けたと判断する場合には(ステップS605における「割込禁止命令」)、割込制御装置4は、消費電力のモードを通常モード、状態管理部404の管理状態を通常動作、低消費電力モード移行制御部405の管理状態を通常モードのままとし、割込信号発生部407の管理状態を割込禁止モードに変更する(ステップS615)。
【0142】
割込制御装置4は、条件判定により、命令の受け取りの有無、受け取った命令の種別及び割込みの発生の有無を判断する(ステップS620)。
割込禁止命令を受け付けたと判断する場合、又は割込みが未発生、且つ命令を受け付けていないと判断する場合には(ステップS620における「割込禁止命令、その他」)、割込制御装置4は、ステップS615へ戻る。
【0143】
割込許可命令を受け付けたと判断する場合には(ステップS620における「割込許可命令」)、割込制御装置4は、ステップS600へ戻る。
状態通知命令が低消費電力モード遷移中状態であると判断する場合には(ステップS620における「状態通知命令(低消費電力モード遷移中命令)」)、割込制御装置4は、消費電力のモードを通常モード、割込信号発生部407の管理状態を割込禁止モード、低消費電力モード移行制御部405の管理状態を通常モードのままとし、状態管理部404の管理状態を低消費電力モード遷移中動作に変更する(ステップS625)。
【0144】
割込制御装置4は、条件判定により、命令の受け取りの有無、受け取った命令の種別、割込みの発生の有無を判断する(ステップS630)。
割込みが未発生、且つ命令を受け付けていないと判断する場合には(ステップS630における「その他」)、割込制御装置4は、ステップS625へ戻る。
割込許可命令を受け付けたと判断する場合には(ステップS630における「割込許可命令」)、割込制御装置4は、ステップS600へ戻る。
【0145】
割込禁止命令を受け付けたと判断する場合には(ステップS630における「割込禁止命令」)、割込制御装置4は、ステップS615へ戻る。
割込みが発生したと判断する場合には(ステップS630における「割込発生」)、割込制御装置4は、消費電力のモードを通常モード、割込信号発生部407の管理状態を割込禁止モード、状態管理部404の管理状態を低消費電力モード遷移中動作のままとし、低消費電力モード移行制御部405の管理状態を移行禁止モードに変更とする(ステップS635)。割込制御装置4は、条件判定により、命令の受け取りの有無、受け取った命令の種別、割込みの発生の有無を判断する(ステップS640)。割込許可命令を受け付けたと判断する場合には(ステップS640における「割込許可命令」)、割込制御装置4は、ステップS600へ戻る。割込禁止命令を受け付けたと判断する場合には(ステップS640における「割込禁止命令」)、割込制御装置4は、ステップS615へ戻る。割込みが発生したと判断する場合、又は割込みが未発生、且つ命令を受け付けていないと判断する場合には(ステップS640における「割込発生、その他」)、割込制御装置4は、ステップS635へ戻る。低消費電力モード移行命令を受け付けたと判断する場合には(ステップS640における「低消費電力モード移行命令」)、割込制御装置4は、消費電力のモードを通常モード、状態管理部404の管理状態を低消費電力モード遷移中動作、低消費電力モード移行制御部405の管理状態を移行禁止モードのままとし、割込信号発生部407の管理状態を割込許可モードに変更する(ステップS645)。
【0146】
割込制御装置4は、条件判定により、命令の受け取りの有無、受け取った命令の種別、割込みの発生の有無を判断する(ステップS650)。割込許可命令を受け付けたと判断する場合には(ステップS650における「割込許可命令」)、割込制御装置4は、ステップS600へ戻る。割込禁止命令を受け付けたと判断する場合には(ステップS650における「割込禁止命令」)、割込制御装置4は、ステップS615へ戻る。割込みが未発生、且つ命令を受け付けていないと判断する場合には(ステップS650における「その他」)、割込制御装置4は、ステップS645へ戻る。割込みが発生したと判断する場合には(ステップS650における「割込発生」)、割込制御装置4は、割込ハンドラ処理を行い(ステップS655)、ステップS645へ戻る。状態通知命令が低消費電力モード遷移中状態であると判断する場合には(ステップS650における「状態通知命令(通常動作命令)」)、割込制御装置4は、消費電力のモードを通常モード、割込信号発生部407の管理状態を割込許可モードのままとし、状態管理部404の管理状態を通常動作、低消費電力モード移行制御部405の管理状態を通常モードにそれぞれ変更する(ステップS660)。
【0147】
低消費電力モード移行命令を受け付けたと判断する場合には(ステップS630における「低消費電力モード移行命令」)、割込制御装置4は、状態管理部404の管理状態を低消費電力モード遷移中動作、低消費電力モード移行制御部405の管理状態を通常モードのままとし、消費電力のモードを低消費電力モード、割込信号発生部407の管理状態を割込許可モードにそれぞれ変更する(ステップS665)。割込制御装置4は、条件判定により、命令の受け取りの有無、受け取った命令の種別及び割込みの発生の有無を判断する(ステップS670)。割込許可命令を受け付けたと判断する場合、又は割込みが未発生、且つ命令を受け付けていないと判断する場合には(ステップS670における「割込許可命令、その他」)、割込制御装置4は、ステップS665へ戻る。割込みが発生したと判断する場合には(ステップS670における「割込発生」)、割込制御装置4は、割込ハンドラ処理を行い(ステップS675)、ステップS660へ移る。
【0148】
4.3 具体例
ここで、低消費電力モード遷移中状態であり、且つ低消費電力モード移行命令が発行されるまでに、割込みが発生した場合における動作を、図16にて示すタイミングチャートにて説明する。
マイクロプロセッサがソフトウェア(移行処理)を実行することにより割込禁止命令が発行されると(t700)、命令デコード部400は、発行された割込禁止命令を低消費電力モード命令検出部401、割込禁止/許可命令検出部402及び状態管理部404へ通知する。
【0149】
割込禁止/許可命令検出部402は、命令デコード部400から割込禁止命令を受け取ると、割込禁止/許可命令検出部402は、割込禁止命令を受け取った旨を割込信号発生部407へ通知する。割込信号発生部407は、割込禁止/許可命令検出部402から割込禁止命令の通知を受け取ると、割込みを割込許可モードから割込禁止モードへと変更する(t705)。
【0150】
マイクロプロセッサがソフトウェア(移行処理)を実行することにより状態通知命令として低消費電力モード遷移中命令が発行されると(t710)、命令デコード部400は、発行された割込禁止命令を低消費電力モード命令検出部401、割込禁止/許可命令検出部402及び状態管理部404へ通知する。
状態管理部404は、動作状態を通常動作状態から低消費電力モード遷移中状態へと変更する(t715)。状態管理部404は、管理している状態を低消費電力モード移行制御部405へ通知する。
【0151】
割込信号発生部407は、割込禁止の状態において、割込みを受け付けると(t720)、割込みを受け付けた旨を低消費電力モード移行制御部405へ通知し、受け付けた割込みを破棄する。
低消費電力モード移行制御部405は、割込信号発生部407から割込みの通知を受け取ると、状態管理部404から通知されている状態が低消費電力モード遷移中状態であるか否かを判断する。この場合、低消費電力モード移行制御部405は、低消費電力モード遷移中状態であると判断し、管理しているモードを通常モードから移行禁止モードへと変更する(t725)。
【0152】
マイクロプロセッサがソフトウェア(移行処理)を実行することにより低消費電力モード移行命令が発行されると(t730)、命令デコード部400は、発行された低消費電力モード移行命令を低消費電力モード命令検出部401、割込禁止/許可命令検出部402及び状態管理部404へ通知する。低消費電力モード命令検出部401は、低消費電力モード移行命令を受け取った旨を低消費電力モード移行制御部405へ通知する。低消費電力モード移行制御部405は、低消費電力モード命令検出部401から低消費電力モード移行命令を受け取ると、管理しているモードが通常モードであるか、移行禁止モードであるかを判断する。この場合、低消費電力モード移行制御部405は、移行禁止モードであると判断し、低消費電力モード移行命令を受け取った旨を割込信号発生部407へ通知し、受け取った低消費電力モード移行命令を破棄する。割込信号発生部407は、低消費電力モード移行制御部405から低消費電力モード移行命令の通知を受け取ると、割込禁止モードから割込許可モードへと変更とする(t735)。
【0153】
マイクロプロセッサがソフトウェア(移行処理)を実行することにより状態通知命令として通常動作命令が発行されると(t740)、命令デコード部400は、発行された割込禁止命令を低消費電力モード命令検出部401、割込禁止/許可命令検出部402及び状態管理部404へ通知する。
状態管理部404は、動作状態を低消費電力モード遷移中状態から通常動作状態へと変更する(t745)。状態管理部404は、管理している状態を低消費電力モード移行制御部405へ通知する。
【0154】
低消費電力モード移行制御部405は、状態管理部404から状態通知として通常動作状態を受け取ると、管理しているモードが通常モードであるか、移行禁止モードであるかの判断を行う。この場合、低消費電力モード移行制御部405は、移行禁止モードであると判断する場合には、管理しているモードを移行禁止モードから通常モードへと変更する(t650)。
【0155】
4.4 変形例
なお、本発明を上記の第4の実施の形態に基づいて説明してきたが、本発明は、上記の実施の形態に限定されないのはもちろんである。以下の場合も本発明に含まれる。
(1)上記第4の実施の形態において、低消費電力モード移行制御部405は、通常モードと移行禁止モードとを用いて、低消費電力モードへ移行するか否か管理したが、これに限定されない。
【0156】
状態管理部404が管理している状態及び割込みの受付の有無により、低消費電力モードへ移行するか否か管理してもよい。
このとき、低消費電力モード移行制御部405は、割込信号発生部407から割込みの通知を受け取ると、状態管理部404から通知されている状態が低消費電力モード遷移中状態であるか否かを判断する。低消費電力モード遷移中状態であると判断する場合には、低消費電力モード移行制御部405は、受け取った通知を保持する。低消費電力モード遷移中状態でないと判断する場合には、低消費電力モード移行制御部405は、受け取った通知を破棄する。
【0157】
低消費電力モード移行制御部405は、低消費電力モード命令検出部401から低消費電力モード移行命令を受け取ると、割込みの通知を保持しているか否かを判断する。保持していると判断する場合には、低消費電力モード移行制御部405は、低消費電力モード移行命令を受け取った旨を割込信号発生部407へ通知し、受け取った低消費電力モード移行命令を破棄する。このとき、低消費電力モードへの移行は行われない。
【0158】
保持していないと判断する場合には、低消費電力モード移行制御部405は、低消費電力モードへ移行する旨を低消費電力モード制御部406へ通知する。
(2)上記実施の形態及び上記変形例をそれぞれ組み合わせるとしてもよい。
4.5 まとめ
上記第4の実施の形態にて示すように、割込制御装置4は、低消費電力モードへの移行処理において、状態通知が発行されることにより管理する状態を変更し、低消費電力モード遷移中状態である間に割込みを受け付けた場合、不要な低消費電力モードへの移行をなくすことにより、低消費電力モードからの復帰時間を削減できる。
【0159】
また、割込信号発生部407は、マイクロプロセッサがソフトウェア(移行処理)の実行により発行される低消費電力モード移行命令を、割込許可命令として利用していることがわかる。なぜなら、割込信号発生部407は、割込禁止の状態において、低消費電力モード移行制御部405から低消費電力モード移行命令の通知を受け取ると、割込許可とするからである。
【0160】
また、割込信号発生部407及び割込信号制御部403は、低消費電力モード遷移中に低消費電力モード移行命令を受け付けるまでは、受け付けた割込みの割込信号は発生させないので、割込みの処理時間を削減することができる。
5.まとめ
上記の各実施の形態にて示すように、マイクロプロセッサとソフトウェアとの協働による低消費電力モード移行処理中において割込みを受け付けた場合、不要な低消費電力モードへの移行をなくすことにより、低消費電力モードからの復帰時間を削減できる。
【0161】
本発明の割込制御装置は、低消費電力モードからの短時間での復帰が可能という特徴を有し、低消費電力モード機能を持つすべての割込制御装置で有効である。
本発明は、割込みを検出する割込信号制御部と、ウェイクアップ割込みの許可以降の区間を判定する割込禁止期待判定部と、上記区間に低消費電力モード命令が発生した場合、低消費電力モードに移行禁止する低消費電力モード移行禁止部を有することを特徴とする。
【0162】
また、本発明は、割込みを制御する割込信号制御部と、低消費電力モードへの移行命令を検出する低消費電力モード命令検出部と、通常状態か低消費電力モード移行中かの状態を管理する状態管理部と、状態が低消費電力モード遷移中で割込みが発生した場合、低消費電力モードへの移行命令を無効化するする低消費電力モード移行禁止部を有することを特徴とする。
【0163】
また、本発明は、割込みを制御する割込信号制御部と、低消費電力モードへの移行命令を検出する低消費電力モード命令検出部と、通常状態か低消費電力モード移行中かの状態を管理する状態管理部と、状態が低消費電力モード遷移中で割込みが発生した場合、低消費電力モード(クロック停止)命令を低消費電力モード(クロック動作)命令に変更させる低消費電力モード変更制御部を有することを特徴とする。
【0164】
また、本発明は、割込みを制御する割込信号制御部と、低消費電力モードへの移行命令を検出する低消費電力モード命令検出部と、通常状態か低消費電力モード移行中かの状態を管理する状態管理部と、状態が低消費電力モード遷移中で割込みが発生した場合、低消費電力モードへの移行命令を無効化する低消費電力モード移行禁止部と、低消費電力モード遷移中には割込み信号を発生させないようにする割込み発生部を有することを特徴とする。
【産業上の利用可能性】
【0165】
本発明は、低消費電力モード機能を持つ割込制御装置を製造及び販売する産業において、経営的、つまり反復的かつ継続的に利用されうる。
【図面の簡単な説明】
【0166】
【図1】割込制御装置1の構成を示すブロック図である。
【図2】割込制御装置1の動作を示すフローチャートである。図3へ続く。
【図3】割込制御装置1の動作を示すフローチャートである。図2から続く。
【図4】割込制御装置1の具体的な動作を示すタイミングチャートである。
【図5】割込制御装置2の構成を示すブロック図である。
【図6】割込制御装置2の動作を示すフローチャートである。図7へ続く。
【図7】割込制御装置2の動作を示すフローチャートである。図6から続く。
【図8】割込制御装置2の具体的な動作を示すタイミングチャートである。
【図9】割込制御装置3の構成を示すブロック図である。
【図10】割込制御装置3の動作を示すフローチャートである。図11へ続く。
【図11】割込制御装置3の動作を示すフローチャートである。図10から続く。
【図12】割込制御装置3の具体的な動作を示すタイミングチャートである。
【図13】割込制御装置4の構成を示すブロック図である。
【図14】割込制御装置4の動作を示すフローチャートである。図15へ続く。
【図15】割込制御装置4の動作を示すフローチャートである。図14から続く。
【図16】割込制御装置4の具体的な動作を示すタイミングチャートである。
【符号の説明】
【0167】
1 割込制御装置
100 命令デコード部
101 低消費電力モード命令検出部
102 割込禁止/許可命令検出部
103 割込信号制御部
104 割込状態制御部
105 低消費電力モード移行制御部
106 低消費電力モード制御部
2 割込制御装置
200 命令デコード部
201 低消費電力モード命令検出部
202 割込禁止/許可命令検出部
203 割込信号制御部
204 状態管理部
205 低消費電力モード移行制御部
206 低消費電力モード制御部
3 割込制御装置
300 命令デコード部
301 低消費電力モード命令検出部
302 割込禁止/許可命令検出部
303 割込信号制御部
304 状態管理部
305 低消費電力モード移行制御部
306 低消費電力モード制御部
4 割込制御装置
400 命令デコード部
401 低消費電力モード命令検出部
402 割込禁止/許可命令検出部
403 割込信号制御部
404 状態管理部
405 低消費電力モード移行制御部
406 低消費電力モード制御部
407 割込信号発生部

【特許請求の範囲】
【請求項1】
割込みを制御する割込制御装置であって、
発生した割込みを受け付ける割込受付手段と、
消費電力を低減する低消費電力モードへの移行の指示を表わす移行処理を実行する処理装置から、前記移行に係る命令を受け付ける命令受付手段と、
割込みの禁止を示す割込禁止状態、前記移行処理中に割込みの許可を示す移行中割込許可状態、及び前記移行中割込許可状態を除き割込みの許可を示す割込許可状態の何れかを管理する状態管理手段と、
前記移行中割込許可状態が管理されている場合に、前記割込受付手段が割込みを受け付け、その後、前記命令受付手段が前記移行に係る命令として、低消費電力モードへの移行を指示する移行命令を受け付けたときに、前記移行命令を破棄することにより、低消費電力モードへの移行を抑止する移行制御手段と
を備えることを特徴とする割込制御装置。
【請求項2】
前記移行制御手段は、
移行の可否を示す移行状態を管理しており、
前記状態管理手段が管理している状態が前記移行中割込許可状態である場合に、前記割込受付手段が割込みを受け付けると、移行状態を移行しないことを示す移行禁止とし、移行状態が前記移行禁止である場合に、前記命令受付手段が前記移行命令を受け付けると、前記移行命令を破棄する
ことを特徴とする請求項1に記載の割込制御装置。
【請求項3】
割込みを制御する割込制御装置であって、
発生した割込みを受け付ける割込受付手段と、
消費電力を低減する低消費電力モードへの移行の指示を表わす移行処理を実行する処理装置から、前記移行に係る命令を受け付ける命令受付手段と、
前記移行処理の実行中において、割込みの許可を示す割込許可及び禁止を示す割込禁止の何れかの割込状態を管理する割込状態管理手段と、
低消費電力モードへの移行中であるか否かを示す動作状態を管理する動作状態管理手段と、
前記割込状態が割込禁止であり、且つ動作状態が低消費電力モードへ移行中であることを示す移行中状態である場合に、前記割込受付手段が割込みを受け付け、その後、前記命令受付手段が前記移行に係る命令として、低消費電力モードへの移行を指示する移行命令を受け付けたときに、低消費電力モードへの移行を抑止する移行制御手段と
を備えることを特徴とする割込制御装置。
【請求項4】
前記移行制御手段は、
移行の可否を示す移行状態を管理しており、前記割込状態が割込禁止であり、且つ動作状態が低消費電力モードへ移行中であることを示す移行中状態である場合に、前記割込受付手段が前記割込みを受け付けると、移行状態を移行しないことを示す移行禁止とし、移行状態が前記移行禁止である場合に前記命令受付手段が前記移行命令を受け付けると、前記移行命令を破棄することにより、低消費電力モードへの移行を抑止し、
前記割込状態管理手段は、
前記命令受付手段が前記移行命令を受け付けた場合に、割込状態を割込禁止から割込許可へと変更する
ことを特徴とする請求項3に記載の割込制御装置。
【請求項5】
前記割込制御装置は、さらに、
前記移行命令が受け付けられると、前記割込みの割込信号を発生する割込信号制御手段を備え、
前記移行制御手段は、
前記割込信号制御手段が前記割込信号を発生すると、移行状態を移行禁止から移行を許可する状態へと変更し、
前記動作状態管理手段は、
前記割込信号制御手段が前記割込信号を発生すると、動作状態を前記移行中状態から低消費電力モードの移行前であることを示す通常状態へと変更する
ことを特徴とする請求項4に記載の割込制御装置。
【請求項6】
前記割込制御装置は、さらに、
電力モードが非低消費電力モードであることを示す通常モード命令を受け付け、
前記動作状態管理手段は、
前記通常モード命令が受け付けられると、動作状態を前記移行中状態から低消費電力モードの移行前であることを示す通常状態へと変更し、
前記移行制御手段は、
前記通常モード命令が受け付けられると、移行状態を移行禁止の状態から移行を許可する状態へと変更する
ことを特徴とする請求項4に記載の割込制御装置。
【請求項7】
前記割込制御装置は、
複数の外部装置に対して低消費電力モードへの移行の制御を行い、
前記移行制御手段は、
移行対象に係る管理情報を管理しており、前記割込状態が割込禁止であり、且つ動作状態が低消費電力モードへ移行中であることを示す移行中状態である場合に、前記割込受付手段が前記割込みを受け付けると、管理情報を前記複数の外部装置のうち1の主要な外部装置を除く残り1以上の外部装置のみに対して移行を行うことを示す一部移行とし、管理情報が前記一部移行の場合において前記命令受付手段が前記移行命令を受け付けたとき、前記残り1以上の外部装置のみクロックを停止させることにより、前記1の主要な外部装置に対する低消費電力モードへの移行を抑止し、
前記割込状態管理手段は、
前記命令受付手段が前記移行命令を受け付けた場合に、割込状態を割込禁止から割込許可へ変更する
ことを特徴とする請求項3に記載の割込制御装置。
【請求項8】
前記割込制御装置は、さらに、
前記命令受付手段が前記移行命令を受け付ける場合に、前記割込みの割込信号を発生する割込信号制御手段を備え、
前記移行制御手段は、
前記割込信号制御手段が前記割込信号を発生すると、管理状態を一部移行から前記全ての複数の外部装置に対して移行を行うことを示す完全移行へと変更し、前記他の外部装置のクロックの動作を開始させ、
前記動作状態管理手段は、
前記割込信号制御手段が前記割込信号を発生すると、動作状態を前記移行中状態から低消費電力モードの移行前であることを示す通常状態へと変更する
ことを特徴とする請求項7に記載の割込制御装置。
【請求項9】
割込みを制御する割込制御装置に用いられる制御方法であって、
発生した割込みを受け付ける割込受付ステップと、
消費電力を低減する低消費電力モードへの移行の指示を表わす移行処理を実行する処理装置から、前記移行に係る命令を受け付ける命令受付ステップと、
割込みの禁止を示す割込禁止状態、前記移行処理中に割込みの許可を示す移行中割込許可状態、及び前記移行中割込許可状態を除き割込みの許可を示す割込許可状態の何れかを管理する状態管理ステップと、
前記移行中割込許可状態が管理されている場合に、前記割込受付ステップが割込みを受け付け、その後、前記命令受付ステップが前記移行に係る命令として、低消費電力モードへの移行を指示する移行命令を受け付けたときに、前記移行命令を破棄することにより、低消費電力モードへの移行を抑止する移行制御ステップと
を含むことを特徴とする制御方法。
【請求項10】
割込みを制御する割込制御装置に用いられる制御方法であって、
発生した割込みを受け付ける割込受付ステップと、
消費電力を低減する低消費電力モードへの移行の指示を表わす移行処理を実行する処理装置から、前記移行に係る命令を受け付ける命令受付ステップと、
前記移行処理の実行中において、割込みの許可を示す割込許可及び禁止を示す割込禁止の何れかの割込状態を管理する割込状態管理ステップと、
低消費電力モードへの移行中であるか否かを示す動作状態を管理する動作状態管理ステップと、
前記割込状態が割込禁止であり、且つ動作状態が低消費電力モードへ移行中であることを示す移行中状態である場合に、前記割込受付ステップが割込みを受け付け、その後、前記命令受付ステップが前記移行に係る命令として、低消費電力モードへの移行を指示する移行命令を受け付けたときに、低消費電力モードへの移行を抑止する移行制御ステップと
を含むことを特徴とする制御方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate


【公開番号】特開2007−156926(P2007−156926A)
【公開日】平成19年6月21日(2007.6.21)
【国際特許分類】
【出願番号】特願2005−352618(P2005−352618)
【出願日】平成17年12月6日(2005.12.6)
【出願人】(000005821)松下電器産業株式会社 (73,050)
【Fターム(参考)】