(57)【要約】      （修正有）【課題】  第２のＣＰＵが暴走している場合でも、第１のＣＰＵで電源をオフにすることができるようにした情報処理端末及びその制御方法を提供する。【解決手段】  第１のＣＰＵと、第２のＣＰＵとを有する情報処理端末であって、前記第１のＣＰＵは、電源をオフにするべきトリガーの発生を検出した場合に、前記第２のＣＰＵに電源オフ要求を送信し、前記第２のＣＰＵは、前記電源オフ要求を受信した場合に、前記第１のＣＰＵにアクノーレッジを送信する。前記第１のＣＰＵは、前記電源オフ要求を送信しても前記第２のＣＰＵから、前記アクノーレッジを受信しなかった場合には、電源のオフを実行させる電源オフ実行要求を、電源オフ制御部に送信する。【選択図】  図１
2006053656.tif 000002
【特許請求の範囲】
【請求項１】
第１のＣＰＵと、第２のＣＰＵとを有する情報処理端末であって、
前記第１のＣＰＵは、
電源をオフにするべきトリガーが発生したかどうかを検出する、検出手段と、
前記検出手段が電源をオフにするべきトリガーの発生を検出した場合に、前記第２のＣＰＵに電源オフ要求を送信する、第１の送信手段と、
を備え、
前記第２のＣＰＵは、
前記第１のＣＰＵから前記電源オフ要求を受信する、第１の受信手段と、
前記第１の受信手段が前記電源オフ要求を受信した場合に、前記第１のＣＰＵにアクノーレッジを送信する、第２の送信手段と、
を備え、
前記第１のＣＰＵは、
前記第２のＣＰＵから、前記アクノーレッジを受信する、第２の受信手段と、
前記第１の送信手段が前記電源オフ要求を送信しても、前記第２の受信手段が前記アクノーレッジを受信しなかった場合には、電源のオフを実行させる電源オフ実行要求を、電源オフ制御部に送信する、第３の送信手段と、
をさらに備える、ことを特徴とする情報処理端末。
【請求項２】
前記電源オフ実行要求を受信した前記電源オフ制御部では、当該情報処理端末の電源をオフにする、ことを特徴とする請求項１に記載の情報処理端末。
【請求項３】
前記第２のＣＰＵは、
前記第１の受信手段が、前記電源オフ要求を受信した場合には、電源をオフにするのに必要なシャットダウン処理を実行する、シャットダウン実行手段と、
前記シャットダウン実行手段が前記シャットダウン処理をした後に、前記電源オフ実行要求を前記電源オフ制御部に送信する、第４の送信手段と、
をさらに備えることを特徴とする請求項１又は請求項２に記載の情報処理端末。
【請求項４】
前記検出手段は、温度の異常を検出した場合に、電源をオフにするべきトリガーが発生したと判断する、ことを特徴とする請求項１乃至請求項３のいずれかに記載の情報処理端末。
【請求項５】
前記検出手段は、ユーザが電源スイッチを操作して、この電源スイッチをオフにした場合に、電源をオフにするべきトリガーが発生したと判断する、ことを特徴とする請求項１乃至請求項４のいずれかに記載の情報処理端末。
【請求項６】
前記検出手段は、前記第１のＣＰＵの暴走を検出した場合に、電源をオフにするべきトリガーが発生したと判断する、ことを特徴とする請求項１乃至請求項５のいずれかに記載の情報処理端末。
【請求項７】
前記検出手段は、前記第２のＣＰＵの暴走を検出した場合に、電源をオフにするべきトリガーが発生したと判断する、ことを特徴とする請求項１乃至請求項６のいずれかに記載の情報処理端末。
【請求項８】
第１のＣＰＵと、第２のＣＰＵとを有する情報処理端末の制御方法であって、
電源をオフにするべきトリガーの発生を検出した場合に、前記第１のＣＰＵから前記第２のＣＰＵに電源オフ要求を送信するステップと、
前記第２のＣＰＵで、前記第１のＣＰＵから送信された前記電源オフ要求を受信するステップと、
前記第２のＣＰＵで、前記第１のＣＰＵから送信された前記電源オフ要求を受信した場合に、前記第２のＣＰＵから前記第１のＣＰＵにアクノーレッジを送信するステップと、
前記第１のＣＰＵで、前記前記第２のＣＰＵから送信された前記アクノーレッジを受信するステップと、
前記第１のＣＰＵから前記第２のＣＰＵに前記電源オフ要求を送信しても、前記第１のＣＰＵが前記アクノーレッジを受信を受信しなかった場合には、当該情報処理端末の電源をオフにするステップと、
を備えることを特徴とする情報処理端末の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理端末及びその制御方法に関し、特に、第１のＣＰＵと第２のＣＰＵとを有する情報処理端末及びその制御方法に関する。
【背景技術】
【０００２】
マルチメディア処理を行う情報処理端末は、メインＣＰＵ（Central Processing Unit）とサブＣＰＵからなる複数ＣＰＵにより構成されている場合がある。この場合、例えば、メインＣＰＵは、主に動画再生、静止画再生、及び、音声再生などのマルチメディア処理を実行し、サブＣＰＵは、主に、キースキャン、及び、ジャックの挿抜検出などのリアルタイム性が要求される処理を実行する。このような複数ＣＰＵにより情報処理端末が構成されている場合、電源オフが要求されたときには、確実に情報処理端末の電源をオフにすることが求められている。例えば、ユーザのスイッチ操作、又は、本体や電池の温度異常若しくはサブＣＰＵの暴走などの異常時には、電源を確実にオフにすることが求められている。
【０００３】
しかし、メインＣＰＵはマルチメディアを扱うことから、高負荷で動作することが多く、暴走する可能性が少なくない。また、サブＣＰＵの方も暴走する可能性があり、どちらか一方のＣＰＵだけが電源オフの処理を行うとすると、そのＣＰＵが暴走した場合、電源オフの要求があったときに、正常に電源オフにならない可能性がある。異常時に電源がオフにならない場合、情報処理端末が異常な状態にあることをユーザが認識することなく、使用し続ける可能性がある。
【０００４】
特開平７−８４６０１号公報（以下、引用文献１という）に開示されている情報処理端末では、メインＣＰＵとサブＣＰＵとの間で通信を行い、サブＣＰＵが異常であるかどうかの検出を行い、異常であった場合には、ホストＣＰＵが外部へ連絡するとともに、サブＣＰＵにリセットをかける。しかし、これは情報処理端末の異常時に外部に対して連絡するだけであり、強制的に電源をオフにして、情報処理端末の安全を保つものではない。
【特許文献１】特開平７−８４６０１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
そこで本発明は、前記課題に鑑みてなされたものであり、第２のＣＰＵが暴走している場合でも、第１のＣＰＵで電源をオフにすることができるようにした情報処理端末及びその制御方法を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記課題を解決するため、本発明に係る情報処理端末は、
第１のＣＰＵと、第２のＣＰＵとを有する情報処理端末であって、
前記第１のＣＰＵは、
電源をオフにするべきトリガーが発生したかどうかを検出する、検出手段と、
前記検出手段が電源をオフにするべきトリガーの発生を検出した場合に、前記第２のＣＰＵに電源オフ要求を送信する、第１の送信手段と、
を備え、
前記第２のＣＰＵは、
前記第１のＣＰＵから前記電源オフ要求を受信する、第１の受信手段と、
前記第１の受信手段が前記電源オフ要求を受信した場合に、前記第１のＣＰＵにアクノーレッジを送信する、第２の送信手段と、
を備え、
前記第１のＣＰＵは、
前記第２のＣＰＵから、前記アクノーレッジを受信する、第２の受信手段と、
前記第１の送信手段が前記電源オフ要求を送信しても、前記第２の受信手段が前記アクノーレッジを受信しなかった場合には、電源のオフを実行させる電源オフ実行要求を、電源オフ制御部に送信する、第３の送信手段と、
をさらに備える、ことを特徴とする。
【０００７】
この場合、さらに、前記電源オフ実行要求を受信した前記電源オフ制御部では、当該情報処理端末の電源をオフにするようにしてもよい。
【０００８】
また、前記第２のＣＰＵは、
前記第１の受信手段が、前記電源オフ要求を受信した場合には、電源をオフにするのに必要なシャットダウン処理を実行する、シャットダウン実行手段と、
前記シャットダウン実行手段が前記シャットダウン処理をした後に、前記電源オフ実行要求を前記電源オフ制御部に送信する、第４の送信手段と、
をさらに備えるようにしてもよい。
【０００９】
また、前記検出手段は、温度の異常を検出した場合に、電源をオフにするべきトリガーが発生したと判断するようにしてもよい。
【００１０】
また、前記検出手段は、ユーザが電源スイッチを操作して、この電源スイッチをオフにした場合に、電源をオフにするべきトリガーが発生したと判断するようにしてもよい。
【００１１】
また、前記検出手段は、前記第１のＣＰＵの暴走を検出した場合に、電源をオフにするべきトリガーが発生したと判断するようにしてもよい。
【００１２】
また、前記検出手段は、前記第２のＣＰＵの暴走を検出した場合に、電源をオフにするべきトリガーが発生したと判断するようにしてもよい。
【００１３】
なお、本発明は、上述したように情報処理端末を制御する制御方法の発明であるととらえることもできる。
【発明を実施するための最良の形態】
【００１４】
図１は、本実施形態に係る情報処理端末の内部構成を説明するブロック図である。この図１に示すように、本実施形態に係る情報処理端末は、メインＣＰＵ１０とサブＣＰＵ２０とを備えている。本実施形態においては、メインＣＰＵ１０は、主に動画再生、静止画再生、及び、音声再生などのマルチメディア処理を実行する。サブＣＰＵ２０は、主に、キースキャン、及び、ジャックの挿抜検出などのリアルタイム性が要求される処理を実行する。
【００１５】
メインＣＰＵ１０は、内部バス３０を介して、ＲＡＭ（Random Access Memory）３２と、ＲＯＭ（Read Only Memory）３４と、ハードディスク３６と、外部記憶装置装着部３８とに接続されている。外部記憶装置装着部３８には、例えば、メモリカードなどの外部記憶装置が適宜、装着される。
【００１６】
サブＣＰＵ２０には、本体温度検出部４０からの検出信号と、電池温度検出部４２からの検出信号と、電源スイッチ４４からの制御信号とが入力されている。本体温度検出部４０と電池温度検出部４２は、それぞれ、例えば、サーミスタにより構成されている。本体温度検出部４０は、この情報処理端末本体の温度を検出し、その検出結果を、アナログの検出信号として、サブＣＰＵ２０に送信する。サブＣＰＵ２０では、このアナログの検出信号を、アナログデジタルコンバータでデジタル信号に変換して、本体温度のデジタル温度データを取得する。同様に、電池温度検出部４２は、この情報処理端末本体に設けられている電池５２の温度を検出し、その検出結果を、アナログの検出信号として、サブＣＰＵ２０に送信する。サブＣＰＵ２０では、このアナログの検出信号を、アナログデジタルコンバータでデジタル信号に変換して、電池温度のデジタル温度データを取得する。
【００１７】
電源スイッチ４４は、この情報処理端末に設けられている、ユーザが操作するためのスイッチである。ユーザは、この情報処理端末の電源のオン／オフ操作をする場合には、この電源スイッチ４４を切り替える。
【００１８】
サブＣＰＵ２０の内部には、ＲＯＭ２２が設けられている。本実施形態においては、このＲＯＭ２２に、本体の温度異常であると判断する設定温度、及び、電池の温度異常であると判断する設定温度が格納されている。すなわち、本体温度検出部４０で検出された温度が、ＲＯＭ２２に格納されている設定範囲（例えば、５℃〜４５℃）を超えた場合には、本体の温度異常であると判断し、後述するサブＣＰＵ電源オフ処理を起動する。同様に、電池温度検出部４２で検出された温度が、ＲＯＭ２２に格納されている設定範囲（例えば、５℃〜５５℃）を超えた場合には、電池５２の温度異常であると判断し、後述するサブＣＰＵ電源オフ処理を起動する。
【００１９】
電源オフ制御部５０は、電池５２から、この情報処理端末の各部に電源を供給するか、それとも遮断するかを、切り替える制御部である。この電源オフ制御部５０がオンになると、この情報処理端末の各部に電源が供給されるが、電源オフ制御部５０がオフになると、すべての電源が遮断され、この情報処理端末自体がオフになる。
【００２０】
本実施形態では、この電源オフ制御部５０は、例えば、ＦＥＴなどのスイッチにより構成されており、このＦＥＴのゲートに制御信号を印加することにより、オン／オフが切り替わるように構成されている。すなわち、メインＣＰＵ１０又はサブＣＰＵ２０から、電源オフ実行要求を受信した場合には、ＦＥＴをオンにして、電源ラインをグランドに落とすことにより、電源をオフにする。
【００２１】
図２は、本実施形態に係るサブＣＰＵ電源オフ処理の内容を説明するフローチャートを示す図である。このサブＣＰＵ電源オフ処理は、サブＣＰＵ２０で実行される処理である。また、このサブＣＰＵ電源オフ処理は、次に何れかの条件に合致した場合に、起動される処理である。
【００２２】
（１）ユーザが電源スイッチ４４をオフにして、これをサブＣＰＵ２０が検出した場合。
【００２３】
（２）本体温度検出部４０で検出された本体の温度が、ＲＯＭ２２に格納されている設定温度を超えて、高くなったり、低くなったりした場合。
【００２４】
（３）電池温度検出部４２で検出された電池５２の温度が、ＲＯＭ２２に格納されている設定温度を超えて、高くなったり、低くなったりした場合。
【００２５】
（４）メインＣＰＵ１０が暴走して、サブＣＰＵ２０が、メインＣＰＵ１０からのメインＣＰＵ暴走通知を受信した場合。すなわち、本実施形態においては、メインＣＰＵ１０は、ウォッチドッグタイマを有しており、自らの暴走を検出できる機能を有している。
【００２６】
図２に示すように、このサブＣＰＵ電源オフ処理が起動されると、まず、サブＣＰＵ２０は、メインＣＰＵ１０に、電源オフ要求を送信する（ステップＳ１０）。そして、本実施形態では、２秒間ほど待つ（ステップＳ１２）。
【００２７】
そして、サブＣＰＵ２０は、メインＣＰＵ１０から電源オフ要求に対するアクノーレッジを受信したかどうかを判断する（ステップＳ１４）。このアクノーレッジを受信した場合（ステップＳ１４：Ｙｅｓ）には、メインＣＰＵ１０で正常な電源オフのための処理が行われるので、このサブＣＰＵ電源オフ処理を終了する。
【００２８】
一方、メインＣＰＵ１０からアクノーレッジを受信していない場合（ステップＳ１４：Ｎｏ）には、メインＣＰＵ１０への電源オフ要求の送信（ステップＳ１０）を、例えば５回リトライしたかどうかを判断する（ステップＳ１６）。５回リトライしていない場合（ステップＳ１６：Ｎｏ）には、上述したステップＳ１０からを繰り返す。
【００２９】
一方、電源オフ要求の送信を５回リトライした場合（ステップＳ１６：Ｙｅｓ）には、メインＣＰＵ１０が何らかの理由で暴走していると推定できるので、サブＣＰＵ２０は、電源オフ実行要求を、電源オフ制御部５０に送信する（ステップＳ１８）。そして、このサブＣＰＵ電源オフ処理を終了する。この電源オフ実行要求を受信した電源オフ制御部５０は、この情報処理端末の各部への電源供給を停止する。
【００３０】
図３は、本実施形態に係るメインＣＰＵ電源オフ処理の内容を説明するフローチャートを示す図である。このメインＣＰＵ電源オフ処理は、メインＣＰＵ１０で実行される処理である。また、このメインＣＰＵ電源オフ処理は、定常的に実行されている処理である。
【００３１】
この図３に示すように、まず、メインＣＰＵ１０は、サブＣＰＵ２０から電源オフ要求を受信したかどうかを判断する（ステップＳ５０）。電源オフ要求を受信していない場合（ステップＳ５０：Ｎｏ）には、このステップＳ５０の処理を繰り返す。
【００３２】
一方、電源オフ要求を受信した場合（ステップＳ５０：Ｙｅｓ）には、メインＣＰＵ１０は、電源オフ要求を受信した旨のアクノーレッジを、サブＣＰＵ２０に送信する（ステップＳ５２）。続いて、メインＣＰＵ１０は、通常のシャットダウン処理を行う（ステップＳ５４）。通常のシャットダウン処理は、この情報処理端末を正常な状態で電源オフにできるようにするための処理である。例えば、ハードディスク３６にアクセスしている場合には、そのアクセスを終了させ、処理中のデータがある場合には、そのデータをハードディスク３６に格納する。
【００３３】
次に、メインＣＰＵ１０は、電源オフ実行要求を、電源オフ制御部５０に送信する（ステップＳ５６）。そして、このメインＣＰＵ電源オフ処理を終了する。この電源オフ実行要求を受信した電源オフ制御部５０は、この情報処理端末の各部への電源供給を停止する。
【００３４】
次に、サブＣＰＵ２０が暴走した場合の処理について説明する。サブＣＰＵ２０自体も、当然、暴走する可能性がある。サブＣＰＵ２０が暴走した場合、そのままでは、サブＣＰＵ２０は処理を行うことができないため、本実施形態では、サブＣＰＵ２０のリセットをして、サブＣＰＵ２０だけを立ち上げ直すこととしている。
【００３５】
図４は、サブＣＰＵ２０で実行されているサブＣＰＵ暴走検出処理の内容を説明するフローチャートを示す図である。本実施形態においては、このサブＣＰＵ暴走検出処理は、サブＣＰＵ２０内に組み込まれたハードウェアで、定常的に実行されている処理である。
【００３６】
まず、サブＣＰＵ２０は、サブＣＰＵ２０自身が暴走しているかどうかを判断する（ステップＳ６０）。本実施形態では、サブＣＰＵ２０は、ウォッチドッグタイマの処理を実行しており、このウォッチドッグタイマのカウンタがカウントされなくなった場合に、サブＣＰＵ２０が暴走したと判断する。ここで、ウォッチドッグタイマは、サブＣＰＵ２０で実行されるソフトウェア処理であり、カウンタを所定の間隔でカウントアップする処理を実行させ、暴走している場合はこのカウンタがカウントアップされなくなることから、暴走していることを検出できるというものである。
【００３７】
サブＣＰＵ２０が暴走していない場合（ステップＳ６０：Ｎｏ）には、このステップＳ６０の処理を繰り返して待機する。一方、サブＣＰＵ２０が暴走している場合（ステップＳ６０：Ｙｅｓ）には、サブＣＰＵ２０は、メインＣＰＵ１０に電源オフ要求を送信する（ステップＳ６２）。そして、サブＣＰＵ２０のリセットを実行する（ステップＳ６４）。このリセットにより、暴走しているサブＣＰＵ２０は正常な状態に戻って立ち上がる。そして、上述した図２のステップＳ１４の処理からサブＣＰＵ電源オフ処理を開始する。
【００３８】
以上のように、本実施形態に係る情報処理端末においては、メインＣＰＵ１０及びサブＣＰＵ２０のどちらからでも、電源オフ制御部５０に電源オフ実行要求を送信して、電源をオフにできるようにた。このため、メインＣＰＵ１０が暴走していても、サブＣＰＵ２０で情報処理端末の電源をオフにすることができる。
【００３９】
さらに、サブＣＰＵ２０はウォッチドッグタイマを有しており、自分自身が暴走していることを自ら検出し、電源オフ要求をメインＣＰＵ１０に送信する。このため、サブＣＰＵ２０が暴走した場合でも、情報処理端末の電源オフを正常に行うことができる。また、メインＣＰＵ１０にもウォッチドッグタイマが設けられているので、メインＣＰＵ１０が自分自身の暴走を検出し、サブＣＰＵ２０に通知して、サブＣＰＵ２０で電源オフの処理をすることができる。
【００４０】
なお、本発明は上記実施形態に限定されず種々に変形可能である。例えば、上述した実施形態では、メインＣＰＵ１０にもウォッチドッグタイマが設けられていることとしたが、メインＣＰＵ１０側のウォッチドッグタイマは省くことも可能である。
【００４１】
また、上述したサブＣＰＵ電源オフ処理とメインＣＰＵ電源オフ処理は、ソフトウェアにより実現されることとしたが、ハードウェアにより実現するようにしてもよい。
【図面の簡単な説明】
【００４２】
【図１】本実施形態に係る情報処理端末の内部構成の一例を示す図。
【図２】本実施形態に係るサブＣＰＵ電源オフ処理の内容を説明するフローチャートを示す図。
【図３】本実施形態に係るメインＣＰＵ電源オフ処理の内容を説明するフローチャートを示す図。
【図４】本実施形態に係るサブＣＰＵ暴走検出処理の内容を説明するフローチャートを示す図。
【符号の説明】
【００４３】
１０  メインＣＰＵ
２０  サブＣＰＵ
２２  ＲＯＭ
３０  内部バス
３２  ＲＡＭ
３４  ＲＯＭ
３６  ハードディスク
３８  外部記憶装置装着部
４０  本体温度検出部
４２  電池温度検出部
４４  電源スイッチ
５０  電源オフ制御部
５２  電池
【図１】
2006053656.tif 000003
【図２】
2006053656.tif 000004
【図３】
2006053656.tif 000005
【図４】
2006053656.tif 000006