(57)【要約】【課題】起動開始の高速化を図る。【解決手段】電源投入により起動するプロセッサ（４）の動作が動作監視部（６）で監視される。制御部（暖気制御部８）は、前記動作監視部（６）の監視結果を受け、前記プロセッサ（４）の起動時、前記プロセッサ（４）に動作異常があれば前記プロセッサ（４）に暖気処理を実行させ、前記プロセッサ（４）に動作異常がなければオペレーティングシステムを起動する。これにより、起動開始の高速化を図っている。【選択図】図１
2014102607.tif 000002
【特許請求の範囲】
【請求項１】
電源投入により起動するプロセッサと、
前記プロセッサの動作を監視する動作監視部と、
前記プロセッサの起動時、前記動作監視部の監視結果を受け、前記プロセッサに動作異常があれば前記プロセッサに暖気処理を実行させ、前記プロセッサに動作異常がなければオペレーティングシステムを起動する制御部と、
を備えることを特徴とする電子装置。
【請求項２】
前記制御部は、前記プロセッサに前記動作異常があれば、前記プロセッサに備えられた複数のＣＰＵコアによるマルチコアループ動作、前記プロセッサに接続されたメモリに対するビット反転ループ書込み動作、前記プロセッサに接続されたＨＤＤに対するシーク繰返し動作のいずれかまたは２以上を行うことを特徴とする請求項１に記載の電子装置。
【請求項３】
電子装置に搭載されたコンピュータに実行させる制御プログラムであって、
電源投入により起動するプロセッサの動作を監視し、
前記プロセッサの起動時、前記プロセッサに動作異常があれば前記プロセッサに暖気処理を実行させ、前記プロセッサに動作異常がなければオペレーティングシステムを起動する処理をコンピュータに実行させるための制御プログラム。
【請求項４】
電源投入により起動するプロセッサの動作を監視し、
前記プロセッサの起動時、前記プロセッサに動作異常があれば前記プロセッサに暖気処理を実行させ、前記プロセッサに動作異常がなければオペレーティングシステムを起動する
ことを特徴とする電子装置の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、パーソナルコンピュータなどの電子装置、その制御プログラムおよび制御方法に関する。
【背景技術】
【０００２】
パーソナルコンピュータなどの電子装置では種々の半導体部品や機構部品が使用されており、想定された動作環境で動作するように部品選定や回路設計が行われている。このため、想定外の高温環境下や低温環境下では、正常な動作が得られない場合がある。高温環境や低温環境では、半導体部品の特性変化、コンデンサのインピーダンス変化、機構部品の可動部の硬化、結露による回路インピーダンスの変化などを来たすおそれがある。ＣＰＵやチップセットなど集積度の高い半導体部品では、単純なＴＴＬロジック素子と比較すると、特性変化による影響を強く受けるおそれがある。駅の構内や街頭など、無人でスケジュール運転をしている電子装置では、冬季など、想定外の温度低下で起動に失敗する場合がある。このような低温下での起動失敗を回避するには、装置内または装置近傍にヒータを設置し、暖気を図るなどの対策が施される。
【０００３】
無人運転を行う電子装置に関し、装置内の温度監視、自動投入の時刻、動作の再試行などの制御を行うことが知られている（たとえば、特許文献１）。
【０００４】
コンピュータの起動に関し、温度が動作保証範囲に入ることの確認や、自己診断などを行い、異常であれば、繰り返し起動を行うことが知られている（たとえば、特許文献２）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平１−４８１１８号公報
【特許文献２】特開２００５−３２１９４９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ところで、ＰＣなどの電子装置には、動作保証温度が設定されている。この動作保証温度は、電子装置の動作を保証する温度範囲である。このような動作保証温度が設定されている電子装置では、この動作保証温度と、実際には動作が可能な温度との間に温度マージンがあったとしても、装置の内部温度が動作保証温度に到達しなければ動作を開始することができない。つまり、電子装置の温度を動作保証温度まで上昇させる必要があり、動作保証温度に到達するまでの間、待機しなければならない。このため、起動開始に時間を要し、起動開始が遅延するという課題がある。
【０００７】
そこで、本開示の構成は上記課題に鑑み、起動開始の高速化を図ることを目的とする。
【課題を解決するための手段】
【０００８】
上記目的を達成するため、本開示の構成では、電源投入により起動するプロセッサの動作が動作監視部で監視される。制御部は、前記プロセッサの起動時、前記動作監視部の監視結果を受け、前記プロセッサに動作異常があれば前記プロセッサに暖気処理を実行させ、前記プロセッサに動作異常がなければオペレーティングシステムを起動する。
【発明の効果】
【０００９】
本開示の構成によれば、起動時、プロセッサの動作異常が監視され、動作異常がなければ、オペレーティングシステムの起動が開始されるので、プロセッサの起動開始が迅速化される。
【００１０】
そして、本発明の他の目的、特徴および利点は、添付図面および各実施の形態を参照することにより、一層明確になるであろう。
【図面の簡単な説明】
【００１１】
【図１】第１の実施の形態に係るＰＣを示す図である。
【図２】起動時の処理手順を示すフローチャートである。
【図３】暖気処理の処理手順を示すフローチャートである。
【図４】第２の実施の形態に係るＰＣを示す図である。
【図５】動作監視部の一例を示す図である。
【図６】ＡＮＤ回路の入出力動作を示す図である。
【図７】動作監視部の動作を示すタイミングチャートである。
【図８】起動時の処理手順を示すフローチャートである。
【図９】プロセッサのマルチコアループ動作を示すフローチャートである。
【図１０】メモリのビット反転ループ書込み動作を示すフローチャートである。
【図１１】ＨＤＤのスピンドル起動、シーク繰り返し動作を示すフローチャートである。
【図１２】第３の実施の形態に係る起動時の処理手順を示すフローチャートである。
【図１３】第４の実施の形態に係る電源の再投入制御部のリセット動作を示す図である。
【発明を実施するための形態】
【００１２】
〔第１の実施の形態〕
【００１３】
図１は、第１の実施の形態に係るＰＣを示している。図１に示す構成は一例であり、係る構成に本発明が限定されるものではない。
【００１４】
ＰＣ（パーソナルコンピュータ）２−１は、本開示の電子装置の一例である。このＰＣ２−１はプロセッサ４、動作監視部６および暖気制御部８を備えている。
【００１５】
プロセッサ４はたとえば、ＣＰＵ（Central Processing Unit ：中央演算処理装置）で構成されている。図示しないＲＯＭ（Read-Only Memory）に格納されたＯＳ（Operating System）、ファームウェアプログラム、起動プログラムなどの各種のプログラムを実行する。起動プログラムはたとえば、ＢＩＯＳ（Basic Input／Output System ）など、既述のプロセッサ４を起動するためのソフトウェアプログラムであり、たとえば、電源を入れてプロセッサ４を動かし始めるための基本ソフトウェアである。ＢＩＯＳは、電源投入時に実行され、メモリなどの周辺装置を診断し、設定の初期化などを実行するプログラムである。
【００１６】
動作監視部６は、プロセッサ４にＰＣＩ（Peripheral Component Interconnect ）バス１０を介して接続されている。ＰＣＩバス１０は、データの授受を行うバスである。この動作監視部６はＰＣＩバス１０を通じてプロセッサ４の動作を監視し、プロセッサ４の動作エラーを検出する。検出された動作エラーは暖気制御部８に通知される。
【００１７】
暖気制御部８は、動作監視部６の動作エラー検知を受け、暖気動作に移行する。暖気動作では、電源の切断およびその再投入を実行し、プロセッサ４に暖気動作を行わせる。
【００１８】
この電源の切断および再投入の繰り返しの結果、プロセッサ４が正常動作に移行すれば、プロセッサ４がＯＳを実行する。
【００１９】
プロセッサ４に接続されたＢＩＯＳ−ＲＯＭ１２にはＢＩＯＳが格納されている。このＢＩＯＳは、プロセッサ４に接続される図示しない各種周辺装置を制御するプログラムであって、基本入出力システムである。このＢＩＯＳは既述の通り、電源投入時に実行され、メモリなどの周辺装置を診断し、設定の初期化を実行する。このＢＩＯＳ処理においても、周辺機器の暖気動作が行われる。
【００２０】
＜起動時の動作＞
【００２１】
図２は、ＰＣ２−１の起動時の処理手順を示している。この処理手順は、本開示の電子装置の制御プログラムおよび制御方法の一例である。
【００２２】
この処理手順ではたとえば、電源スイッチの投入により起動を行う（Ｓ１０１）。この起動を契機に、動作監視部６は動作監視を開始し、プロセッサ４の動作状態を監視する（Ｓ１０２）。
【００２３】
この動作監視では、プロセッサ４に動作エラーが生じたか否かを判定する（Ｓ１０３）。この動作エラーはたとえば、プロセッサ４のＰＣＩバス１０に生じる信号状態を監視すればよい。
【００２４】
動作エラーであれば（Ｓ１０３のＹＥＳ）、暖気処理を実行する（Ｓ１０４）。この暖気処理の後、Ｓ１０３に戻り、再び動作異常があるか否かを判定する（Ｓ１０３）。動作異常があれば（Ｓ１０３のＹＥＳ）、動作異常が解消するまで、プロセッサ４の暖気動作が継続的に行われる。
【００２５】
そして、動作異常がなければ（Ｓ１０３のＮＯ）、オペレーティングシステム（ＯＳ）を起動する（Ｓ１０５）。これにより、動作異常がなければ、ＯＳ起動に移行できるので、起動開始が迅速化される。
【００２６】
＜暖気処理＞
【００２７】
図３は、ＰＣ２−１の暖気処理の処理手順を示している。この処理手順は、本開示の電子装置の制御プログラムおよび制御方法の一例である。この処理手順は、起動時の処理手順のＳ１０４（図２）のサブルーチンである。
【００２８】
動作異常があれば（Ｓ１０３のＹＥＳ）、電源を切断（電源＝ＯＦＦ）する（Ｓ１０４１０４）。この電源ＯＦＦの後、電源を再投入し（Ｓ１０４２）、Ｓ１０４（図２）に戻る。つまり、電源の投入（Ｓ１０４１）および再投入（Ｓ１０４２）は、動作異常が解除されるまで自動継続とする。これにより、暖気処理が継続的に行われる。
【００２９】
＜第１の実施の形態の効果＞
【００３０】
(a) 電源の投入時、プロセッサ４の動作状態が監視され、動作エラーが解除されるまで電源の切断および再投入が自動的に継続されるので、プロセッサ４が暖気状態となる。斯かる構成では、冬季など、低温状態でのプロセッサ４の動作異常を回避でき、暖気によって迅速にプロセッサ４の正常動作を確保できる。
【００３１】
(b) このような暖気動作を行えば、無人下でスケジュール動作を行わせるＰＣ２−１が動作異常を継続してしまうとい不都合を回避できる。
【００３２】
(c) ＰＣ２−１の暖気動作に平行し、ＢＩＯＳで実行される周辺装置の初期化により、周辺装置の暖気を実行すれば、ＰＣ２−１を正常動作に移行させることができる。
【００３３】
(d) 動作保証温度が設定されていても、動作保証温度に到達する前に起動開始を行えるので、起動開始の高速化が図られる。
【００３４】
〔第２の実施の形態〕
【００３５】
図４は、第２の実施の形態に係るＰＣ２−２を示している。このＰＣ２−２は、本開示の電子装置の一例である。図４において、図１と同一部分には同一符号を付している。
【００３６】
このＰＣ２−２のプロセッサ４にはメモリ１４が接続されているとともに、チップセット（Chipset ）１６を介してＢＩＯＳ−ＲＯＭ１２およびＨＤＤ（Hard Disk Drive ）１８が接続されている。
【００３７】
プロセッサ４は、データの授受、演算などの処理を実行するコンピュータの中枢部分である。このプロセッサ４は、単一または複数のＣＰＵコアで構成され、この実施の形態では、一例として、ＣＰＵコア４−１、４−２で構成している。メモリ１４は、プロセッサ４に直結されるＲＡＭ（Random-Access Memory）の一例であり、プロセッサ４が実行するデータ処理のワークエリアを構成する。
【００３８】
チップセット１６は、プロセッサ４とメモリ１４や他の周辺装置などとの間でデータの受渡しを管理するＬＳＩ（Large Scale Integration circuit ）であり、たとえば、ノースブリッジおよびサウスブリッジの二つのチップで構成される。メモリ１４はノースブリッジ側に接続され、ＨＤＤ１８はサウスブリッジ側に接続される。このＨＤＤ１８はスピンドルモータ２０を備えている。
【００３９】
ＢＩＯＳ−ＲＯＭ１２にはＢＩＯＳが格納されている。このＢＩＯＳは、電源投入時に実行され、メモリ１４などの周辺装置を診断し、設定の初期化を実行する。
【００４０】
ＨＤＤ１８は、ハードディスク装置またはハードディスクであり、ＲＯＭ（Read-Only Memory）の一例である。このＨＤＤ１８は記録媒体の一例である。このＨＤＤ１８にはＯＳやファームウェアプログラムなどの各種のプログラムが格納される。この実施の形態では、本開示の電子装置の制御方法をプロセッサ４の処理で実現するための制御プログラムがＨＤＤ１８に格納されている。
【００４１】
チップセット１６にはＰＣＩバス１０を介して既述の動作監視部６が接続されている。この動作監視部６は、チップセット１６のサウスブリッジ側に接続されたハードウェア回路であって、プロセッサ４の動作をプロセッサ４の動作波形により監視する。つまり、動作監視部６はたとえば、低温環境でのプロセッサ４の動作を監視するハードウェア回路である。この動作監視部６には電源再投入制御部２２が接続され、この電源再投入制御部２２には電源ユニット２４が接続されている。電源ユニット２４は電源再投入制御部２２を介して動作監視部６やプロセッサ４などの機能部に給電する電源部の一例である。
【００４２】
電源再投入制御部２２は、既述の暖気制御部８の一例である。この電源再投入制御部２２では、動作監視部６がプロセッサ４の異常を検出した際に、電源ユニット２４からの給電により電源の再投入を繰り返し行う。電源ユニット２４はたとえば、商用交流電源（ＡＣ）２６の入力に基づき、安定化直流出力を発生し、この安定化直流出力を電源再投入制御部２２に供給する。
【００４３】
ＰＣＩバス１０には、表示手段の一例として表示部２８を備えてもよい。この表示部２８は、プロセッサ４に制御され、電源の再投入回数などの表示情報を画像によって視覚的に表示してもよい。その表示情報を視認可能とすることができる。また、情報表示の他の例として、音声出力を画像表示に併用してもよい。
【００４４】
斯かる構成では、プロセッサ４の信号波形が異常であるか正常であるかを検出し、電源切断および再投入（リブート）の繰り返しによりプロセッサ４の暖気を行い、プロセッサ４を正常な動作状態に移行させることができる。
【００４５】
＜動作監視部６＞
【００４６】
図５は、動作監視部６の一例を示している。この動作監視部６には、ダウンカウンタ６０、フラグレジスタ６２、６４が備えられている。
【００４７】
ダウンカウンタ６０は、ウォッチドッグタイマー（Watchdog Timer) のダウンカウンタである。ウォッチドッグタイマーは、ダウンカウンタ６０のプロセッサ４（図４）で設定されるカウント値（カウンタ初期値）をソフトウェア（ファームウェア）により定期的に更新し、そのカウント値（タイマー値）がゼロにならないように制御する。プロセッサに異常があれば、ファームウェアによるカウント値が更新されないため、その値がゼロになる。これにより、プロセッサの異常を検出することができる。この実施の形態ではソフトウェア（ファームウェア）によるカウント値の定期更新の必要はなく、カウント値をバス信号により自動更新させている。これにより、プロセッサ４が動作している間、カウント値はゼロにならないように自動的に制御される。異常が発生した場合にはバス信号の変化がなくなるので、カウント値がゼロとなる。これにより、異常検出が行われる。
【００４８】
このダウンカウンタ６０のクロック入力には、図示しないクロック生成回路からクロック信号（ＣＬＯＣＫ）が入力されている。このダウンカウンタ６０のセット入力（ＳＥＴ）には、第１のＡＮＤ回路６６が接続されている。このＡＮＤ回路６６にはプロセッサ４から出力されるリセット信号（ＰＣＩ−ＲＥＳＥＴ）およびフレーム信号（ＰＣＩ−ＦＲＡＭＥ）が入力されている。つまり、ダウンカウンタ６０はＡＮＤ回路６６によるＰＣＩ−ＲＥＳＥＴおよびＰＣＩ−ＦＲＡＭＥの論理積出力によりリセットされる。
【００４９】
このダウンカウンタ６０にはプロセッサ４からカウンタ初期値７０が入力され、カウンタ初期値７０が設定される。このカウンタ初期値７０が更新されず、このカウンタ初期値７０がゼロになった場合には、ダウンカウンタ６０から異常検出出力信号（ＺＥＲＯ）＝Ｈが出力される。
【００５０】
フラグレジスタ６２にはＢＩＯＳの実行時、プロセッサ４からＰＯＳＴ終了フラグ信号が書き込まれる。つまり、フラグレジスタ６２は、ＰＯＳＴ終了フラグを保持する記憶主手段の一例である。
【００５１】
ダウンカウンタ６０の異常検出出力信号およびフラグレジスタ６２の出力は第２のＡＮＤ回路６８に加えられている。これら異常検出出力信号Ｈおよびフラグレジスタ６２の出力Ｌの論理積により、ＡＮＤ回路６８にはエラー検出を表すエラー検出信号７２が得られる。このエラー検出信号７２は、電源の切断および再投入指示に用いられる。
【００５２】
ＡＮＤ回路６８の出力はフラグレジスタ６４に入力され、フラグレジスタ６４に書き込まれる。このフラグレジスタ６４は、プロセッサ４の動作異常を表す動作異常検出フラグを保持する。このフラグレジスタ６４は、ＯＮ時にはプロセッサ４に対する電源の切断および再投入指示を受け、ＢＩＯＳの実行時にプロセッサ４のアクセス（ＯＳリードおよびフラグクリア）７４を行う。また、このフラグレジスタ６４は、ＯＦＦ時にはＯＮ時の電源の切断および再投入の電源動作に代え、常時電源動作となる。
【００５３】
このように動作監視部６では、ソフトウェア（ファームウェア）によるカウント値の定期更新を必要としていない。バス信号により自動的にダウンカウンタ６０のカウント値が更新されている。つまり、プロセッサ４が正常に動作している場合には、ダウンカウンタ６０のカウント値がゼロにならないように自動的に制御される。プロセッサ４に異常が発生した場合には、バス信号に変化がなくなるので、ダウンカウンタ６０のカウント値がゼロなり、これが異常状態を表す。
【００５４】
＜動作監視部６のＡＮＤ回路６６の論理動作＞
【００５５】
ＡＮＤ回路６６では、図６に示す論理動作が得られる。−ＰＣＩ−ＲＥＳＥＴ＝Ｌ、−ＰＣＩ−ＦＲＡＭＥ＝Ｌであれば、ＡＮＤ回路６６の出力＝Ｌとなる。−ＰＣＩ−ＲＥＳＥＴ＝Ｌ、−ＰＣＩ−ＦＲＡＭＥ＝Ｈであれば、ＡＮＤ回路６６の出力＝Ｌとなる。−ＰＣＩ−ＲＥＳＥＴ＝Ｈ、−ＰＣＩ−ＦＲＡＭＥ＝Ｌであれば、ＡＮＤ回路６６の出力＝Ｌとなる。そして、−ＰＣＩ−ＲＥＳＥＴ＝Ｈ、−ＰＣＩ−ＦＲＡＭＥ＝Ｈであれば、ＡＮＤ回路６６の出力＝Ｈとなる。
【００５６】
＜動作監視部６の動作＞
【００５７】
図７は、動作監視部６の入出力および各部の動作を示している。図７において、ＡはＣＬＯＣＫ信号、Ｂは−ＰＣＩ−ＲＥＳＥＴ信号、Ｃは−ＰＣＩ−ＦＲＡＭＥ信号、Ｄはダウンカウンタのカウンタ値、ＥはＺＥＲＯ出力を示している。Ｆはエラー検出信号、Ｇは電源の制御状態を示している。
【００５８】
電源が投入されると、図示しないクロック信号生成回路が動作する。これにより、クロック信号生成回路から図７のＡに示すＣＬＯＣＫ信号が生成される。このＣＬＯＣＫ信号がダウンカウンタ６０に加えられ、ダウンカウンタ６０にカウントされる。
【００５９】
−ＰＣＩ−ＲＥＳＥＴ信号は、図７のＢに示すように、Ｌでリセット状態、Ｈでリセット解除状態を表している。図７のＣに示す−ＰＣＩ−ＦＲＡＭＥ信号のＨ状態からＬ状態に移行した際にＰＣＩバスのアクセスが実行される。
【００６０】
図７のＤはカウンタ値の推移を示し、マックスはカウンタ初期値を示している。カウント値「２」、「１」、「０」はカウント値の低減状態を示している。カウント値が「０」に移行すると、ＺＥＲＯ出力に「０」を表すＨ出力が生じる。
【００６１】
このＺＥＲＯ＝Ｈと、フラグレジスタ６２からＰＯＳＴ終了フラグ＝Ｌの双方がＡＮＤ回路６８に加えられる。これにより、ＡＮＤ回路６８には図７のＦに示すように、エラー検出を表すエラー検出信号＝Ｈが得られる。このエラー検出信号が電源切断、再投入指示としてフラグレジスタ６４に加えられる。
【００６２】
この結果、図７のＧに示すように、Ｈ出力状態で異常検出が行われ、Ｈ出力からＬ出力の遷移により電源切断、Ｌ出力の継続による電源ＯＦＦ状態の後、該Ｌ出力からＨ出力の遷移により電源再投入が行われる。時点ｔ１で電源ＯＦＦ、時点ｔ２で電源再投入が実行され、Ｔは継続した電源ＯＦＦ状態を示している。この場合、動作異常が継続していれば、電源ＯＮおよび電源ＯＦＦが繰り返し実行される。
【００６３】
＜起動時の処理手順＞
【００６４】
図８は、ＰＣ２−２の起動時の処理手順を示している。この処理手順では、起動時（つまり電源＝ＯＮ）、動作監視部６でエラー検出があれば、暖気処理を実行し、ＰＣ２−２を暖気する。つまり、エラーフラグが立っていれば、ＢＩＯＳの制御として、ＢＩＯＳによるデバイスの発熱処理を実行する。
【００６５】
この処理手順では、電源ＯＦＦの状態から電源＝ＯＮにし（Ｓ２０１）、動作監視部６でプロセッサ４の動作を監視する（Ｓ２０２）。この動作監視により、動作エラーか否かを判定する。そして、電源＝ＯＮに基づくＢＩＯＳの実行により、ハードウェアの初期化を実行する（Ｓ２０３）。
【００６６】
動作監視処理としてエラーフラグの確認を行う（Ｓ２０４）。エラーフラグ＝ＯＮであれば、暖気処理を実行する（Ｓ２０５）。
【００６７】
この暖気処理（Ｓ２０５）では、ＢＩＯＳの実行によるデバイス発熱処理を実行する。この暖気処理ではたとえば、暖気を加速するＢＩＯＳの制御として、デバイス発熱処理が含まれる。このデバイス発熱処理には、プロセッサ４であればたとえば、マルチコアループ動作、メモリ１４であればたとえば、ビット反転ループ書込み動作、ＨＤＤ１８であればたとえば、スピンドルを起動およびシーク（Seek）の繰り返しの実行などが含まれる。
【００６８】
エラーフラグ＝ＯＦＦであれば、正常動作であるから、Ｓ２０５をスキップしてＢＩＯＳの実行により、ＯＳ（Operating System）を読み込む（Ｓ２０６）。ＢＩＯＳの実行により、エラーフラグ・クリアを実行し、プロセッサ４によりフラグレジスタ６２にＰＯＳＴ終了フラグの書き込みを実行する（Ｓ２０７）。ＢＩＯＳの実行により、ＯＳを起動する（Ｓ２０８）。
【００６９】
このＯＳ起動の後、Windows （登録商標）などのＯＳを起動し（Ｓ２０９）、この処理を終了する。
【００７０】
この実施の形態の暖気処理（Ｓ２０５）では、プロセッサ４のマルチコアループ動作、メモリ１４のビット反転ループ書込み動作、ＨＤＤ１８のスピンドル起動およびシーク（Seek）の繰り返しを実行している。これらの動作のいずれかまたは２以上を選択的に実行する構成としてもよい。
【００７１】
＜暖気を加速するＢＩＯＳの制御＝ＢＩＯＳ温度上昇プログラム＞
【００７２】
(1) プロセッサ４のマルチコアループ動作
【００７３】
通常のＢＩＯＳプログラムでは、プロセッサ４が単一のＣＰＵコアで構成されている場合、そのＣＰＵコアを使用して処理を行っている。たとえば、プロセッサ４が２つのＣＰＵコア４−１、４−２で構成されている場合には、このマルチコアループ動作により、全てのＣＰＵコア４−１、４−２を動作させてプロセッサ４の暖気を加速させる。このようなプロセッサ４では、単純な加算演算のループ処理をキャッシュメモリを使用し、長時間（たとえば、３０〔秒〕程度）の動作により、ＣＰＵコア４−１、４−２の発熱量を増加させ、暖気を加速することができる。このようなマルチコアループ動作は、該処理プログラム（図９）を組み込んで実行する。
【００７４】
図９は、２つのＣＰＵコア４−１、４−２間のマルチコアループ動作の処理手順を示している。
【００７５】
この処理手順では、処理の開始とともにマルチコアＣＰＵの初期化を行う（Ｓ２２１）。この初期化の処理では、各ＣＰＵコア４−１、４−２用のプログラムをメモリ１４に展開し、各ＣＰＵコア４−１、４−２をスタートさせる（Ｓ２２１）。
【００７６】
各ＣＰＵコア４−１、４−２について、開始時刻を記録する（Ｓ２２２−１、Ｓ２２２−２）。この開始時刻の記録の後、ＣＰＵコア４−１に対し、一例として初期化処理（ＣＸ＝０ｘＦＦＦＦ、Ｌ１：ＣＸ＝ＣＸ−１、ＪＮＺ  Ｌ１）を実行する（Ｓ２２３−１）。同時に、ＣＰＵコア４−２に対し、一例として初期化処理（ＣＸ＝０ｘＦＦＦＦ、Ｌ２：ＣＸ＝ＣＸ−１、ＪＮＺ  Ｌ１）を実行する（Ｓ２２３−２）。
【００７７】
各初期化処理の経過時間を監視し、各経過時間が予定時間以上であるかを判定する（Ｓ２２４−１、Ｓ２２４−２）。各経過時間が予定時間未満であれば（Ｓ２２４−１のＮＯ、Ｓ２２４−２のＮＯ）、初期化動作を繰り返し、継続する。
【００７８】
各初期化処理の経過時間が予定時間以上に到達すれば（Ｓ２２４−１のＹＥＳ、Ｓ２２４−２のＹＥＳ）、初期化動作を完了し、マルチコアループ動作からＳ２０５（図８）にリターンする。
【００７９】
(2) メモリ１４のビット反転ループ書込み動作
【００８０】
通常のＢＩＯＳプログラムはメモリをゼロクリアするだけの処理を行っている。これに対し、メモリ１４のビット反転ループ書込み動作では、メモリ１４に書き込まれるメモリデータを「０」から「１」に反転し、「１」から「０」に反転させる処理を繰り返すことにより、暖気を加速させる。
【００８１】
メモリ１４に用いられるＤＲＡＭ（Dynamic Random-Access Memory）では、メモリ素子の内部構造がキャパシタに電荷を蓄積してデータを記憶する構成である。このため、「０」と「１」との反転動作により電流が流れ、この電流によって発熱する。この記憶動作を繰り返すことにより、メモリ１４の発熱を増加させることができる。
【００８２】
図１０は、メモリ１４のビット反転ループ書込みの処理手順を示している。
【００８３】
この処理手順では、開始時刻を記録する（Ｓ２３１）。この開始時刻の記録の後、メモリ１４のビット反転書込み処理を実行する（Ｓ２３２）。
【００８４】
このビット反転書込み処理は、以下の通りである。
「ＤＸ＝０ｘＦＦＦＦＦＦＦＦ
Ｌ１：
ＡＸ＝ＭａｘＡｄｄｒｅｓｓ
（ＡＸ）＝ＤＸ
ＡＸ＝ＡＸ−４
ＪＮＺ  Ｌ１
ＤＸ＝０ｘ００００００００
Ｌ２：
ＡＸ＝ＭａｘＡｄｄｒｅｓｓ
（ＡＸ）＝ＤＸ
ＡＸ＝ＡＸ−４
ＪＮＺ  Ｌ２」
【００８５】
開始時刻の記録から経過時間を監視する（Ｓ２３３）。経過時間が予定時間未満であれば（Ｓ２３３のＮＯ）、Ｓ２３２を繰り返し実行する。これにより、ビット反転書込み処理が繰り返され、ビット反転ループ処理が実行される。
【００８６】
経過時間が予定時間に到達すれば（Ｓ２３３のＹＥＳ）、ビット反転書込みを完了し、このビット反転ループ処理からＳ２０５（図８）にリターンする。
【００８７】
(3) ＨＤＤ１８のスピンドル起動・シーク繰返し動作
【００８８】
通常のＢＩＯＳプログラムはＯＳ（オペレーティングシステム）を読み出すまでＨＤＤ１８の動作を行わない。これに対し、ＨＤＤ１８のスピンドル起動・シーク繰返し動作では、スピンドルモータ２０を起動し、ＨＤＤ１８のヘッドを繰返しシークさせる。これにより、ＨＤＤ１８の消費電流が増加し、この消費電流でＨＤＤ１８の発熱を増加させることができる。
【００８９】
図１１は、ＨＤＤ１８のスピンドル起動・シーク繰返し動作の処理手順を示している。
【００９０】
この処理手順では、開始時刻を記録する（Ｓ２４１）。この開始時刻の記録の後、スピンドル起動・シーク繰返し処理を実行する（Ｓ２４２）。
【００９１】
この処理では、ＨＤＤ１８の最大ブロック数の読み出し、ＨＤＤキャッシュの無効化、ＨＤＤスピンドルの起動、読み取りブロック＝０にし、ＨＤＤ１８の読み出し、読み取りブロック＝最大ブロックにし、ＨＤＤ１８の読み出しを行う。
【００９２】
開始時刻の記録から経過時間を監視する（Ｓ２４３）。経過時間が予定時間未満であれば（Ｓ２４３のＮＯ）、Ｓ２４２を繰り返し実行する。これにより、シーク繰返し処理が実行される。
【００９３】
経過時間が予定時間に到達すれば（Ｓ２４３のＹＥＳ）、シーク繰り返し処理を完了し、このスピンドル起動・シーク繰返し動作からＳ２０５（図８）にリターンする。
【００９４】
＜第２の実施の形態の効果＞
【００９５】
(a) 既述の暖気動作では、電源ＯＦＦから電源の投入を行い、ＢＩＯＳ初期化処理を経てＢＩＯＳ温度上昇プログラムを実行し、ＯＳの起動を行う。このような一連の動作手順において、プロセッサ４の動作監視に基づき、電源の切断指示および再投入指示により、暖気処理が実行される。
【００９６】
(b) 従来では回路設計により動作マージンを確保し、部品選定により低温環境での動作を確保している。このような回路設計や部品選定に対し、上記実施の形態では、起動時、暖気動作を先行させて正常動作への遷移を可能にしている。低温下におけるＰＣ２−２の動作開始を迅速化できる。
【００９７】
〔第３の実施の形態〕
【００９８】
図１２は、第３の実施の形態に係る起動時の処理手順を示している。この処理手順では、第１の実施の形態の処理手順（図２および図３）に電源の再投入回数による制限動作が付加されている。
【００９９】
この処理手順では、電源の再投入（Ｓ３０１）の後、プロセッサ４の動作監視を行う（Ｓ３０２）。プロセッサ４に動作エラーがあれば（Ｓ３０３のＹＥＳ）、電源＝ＯＦＦとし（Ｓ３０４）、所定時間の経過を経て（Ｓ３０５）、電源の再投入を行う（Ｓ３０６）。
【０１００】
そして、電源の再投入回数を監視する（Ｓ３０７）。この場合、電源の再投入の回数に上限値として所定回数を設定する。電源の再投入の後、電源の再投入の回数が所定回数以上に到達していない場合には（Ｓ３０７のＮＯ）、Ｓ３０２に戻り、Ｓ３０３ないしＳ３０７の処理を実行する。これにより、暖気処理が実行される。
【０１０１】
電源の再投入の回数が所定回数以上に到達すれば（Ｓ３０７のＹＥＳ）、動作異常と判定し（Ｓ３０８）、暖気動作を完了させ、この処理を終了する。これにより、電源の切断、再投入動作が無制限に行われることを防止できる。
【０１０２】
動作監視の結果、動作エラーがなければ（Ｓ３０３のＮＯ）、ＯＳの起動を行う（Ｓ３０９）。これにより、起動開始の迅速化が図られることは既述の通りである。
【０１０３】
〔第４の実施の形態〕
【０１０４】
図１３は、第４の実施の形態に係るＰＣ２−３を示している。図１３において、図４と同一部分に同一符号を付している。
【０１０５】
動作監視部６では、低温状態などの要因によりプロセッサ４に異常動作が生じている場合に、電源再投入制御部２２を動作させ、異常動作から復旧できるように暖気制御を行う。動作監視部６はプロセッサ４のバスアクセスを常時監視する。一定時間内（たとえば、１秒間）にプロセッサ４のバスアクセスが全く無い場合に異常状態と判定する。
【０１０６】
この実施の形態において、電源再投入制御部２２に異常を表す信号を送出する。ＰＣ２−３のＢＩＯＳ処理には、暖気処理（図９、図１０、図１１）が追加されている。具体的には、プログラム内容がプロセッサ４、メモリ、グラフィックス、ディスクなどに対して繰返しアクセス（たとえば、３０〔秒〕程度）することにより、ＰＣ２−３内部のデバイスの温度を急激に上昇させることができる。
【０１０７】
このような処理を行えば、低温状態でプロセッサ４つまり、ＢＩＯＳ処理内部で異常が発生しても、動作監視部６により異常を検出でき、その検出結果により、電源の切断および再投入を実行する。つまり、ＢＩＯＳ処理による暖気処理により、ＰＣ２−３の温度を急激に上昇させることができる。この動作の繰り返しにより、ＰＣ２−３が動作可能な状態に遷移し、ＯＳ起動に至る。
【０１０８】
斯かる動作は、正常動作に移行するまで繰り返し実行され、接続されているデバイスが故障している場合にも、低温時と同様に電源の切断および再投入が繰り返される。このような不都合を防止するには、電源の切断および再投入の最大回数を予め設定し、その動作回数を監視すればよい（図１２）。つまり、電源の切断および再投入の回数が最大回数に達すれば、最大回数へ到達した場合には、最大回数以上の電源の切断および再投入動作を停止させれば、過剰な電源の切断および再投入による異常動作の継続を防止できる。
【０１０９】
第４の実施の形態では、図１３に示すように、メインボード８０に対し、電源ユニット２４から発せられる電源レディ信号８２がリセット信号の一部を構成する。そこで、ＡＮＤ回路８４が備えられている。このＡＮＤ回路８４には、電源レディ信号８２と温度センサ８６の検出信号とが加えられている。ＡＮＤ回路８４では、電源レディ信号８２と温度センサ８６の検出信号との論理積が取られ、この論理積により、リセット信号８８が生成される。温度センサ８６は、ＰＣ２−３の動作温度を検出し、所定温度たとえば、１０〔℃〕以上でＨ出力を生じる。電源再投入制御部２２は、ＡＮＤ回路８４からリセット信号８８が入力され、このリセット信号８８によりリセットされる。
【０１１０】
そこで、低温状態たとえば、５〔℃〕下で電源が投入された場合には、温度が１０〔℃〕以上に到達したとき、温度センサ８６からＨ出力が得られる。つまり、温度センサ８６からの検出信号が温度上昇に応じるので、リセット期間がその温度上昇に依存して長くなる。たとえば、検出温度５〔℃〕で電源が投入された場合に、装置リセットが電源投入からしばらくの間継続した出力状態となる。このため、ＰＣ２−３が起動されない。つまり、起動開始が遅延することになる。
【０１１１】
これに対し、電源ユニット２４からメインボード８０に対し、ＤＣ電源９０が供給される。この状態が維持されれば、電源ユニット２４およびメインボード８０などの各構成部品が暖気され、ＰＣ２−３の温度が上昇することになる。これにより、温度センサ８６の検出温度が上昇する。そして、その検出温度が１０〔℃〕以上に到達すれば、温度センサ８６の検出信号がＨ出力となる。この結果、電源再投入制御部２２から電源ユニット２４に一時的に切断指示が出力され、電源の再投入によりＰＣ２−３が動作を開始する。つまり、起動開始を高速化できる。
【０１１２】
通常、電源が投入されると、電源ユニット２４からリセット信号８８が出力される。このリセット信号８８の後、所定時間としてたとえば、１〔秒〕以下で、リセットが解除され、プロセッサ４などが動作を開始する。
【０１１３】
低温環境で電源投入された場合には、リセット信号８８を出力し、ＰＣ２−３の内部の温度が動作可能温度まで上昇するまでリセット信号８８を継続して出力する。ＰＣ２−３の内部に温度センサ８６を設置し、この温度センサ８６の出力をリセットの解除制御に用いる。リセット解除では、電源を切断し、再投入して動作を開始させればよい。
【０１１４】
そして、低温環境で電源投入された場合には、筐体内部の温度上昇を目的に、ＢＩＯＳなどの初期化プログラムにてＰＣ２−３を含む装置内部の各デバイス（プロセッサ４、メモリ１４、グラフィックス、ディスクなど）に対してアクセスを繰り返し、温度上昇を加速させる。このとき、低温による誤動作により、プロセッサ４が動作を停止した場合、停止していることを検出してＰＣ２−３の電源を一旦切断して再投入する。ＢＩＯＳの初期化診断処理および温度上昇プログラムでプロセッサ４の停止など、異常が発生せず、正常にＢＩＯＳの処理が完了した場合には、ＯＳの起動を開始する。温度センサ８６の検出温度が既定範囲に上昇すれば、既述のように、電源を切断し、再投入した後、ＯＳ起動などの通常動作を開始させる。
【０１１５】
〔他の実施の形態〕
【０１１６】
上記実施の形態では、起動プログラムなどを実行するプロセッサ４を含む電子機器としてＰＣ２−１、２−２、２−３を例示したが、これらに限定されない。プロセッサ４を含む電子機器としてたとえば、電子ゲーム機、自動車、テレビ受像機、電光掲示板などであってもよい。
【０１１７】
以上説明したように、本開示の構成の最も好ましい実施の形態等について説明した。本発明は、上記記載に限定されるものではない。特許請求の範囲に記載され、または発明を実施するための形態に開示された発明の要旨に基づき、当業者において様々な変形や変更が可能である。斯かる変形や変更が、本発明の範囲に含まれることは言うまでもない。
【符号の説明】
【０１１８】
２−１、２−２、２−３  ＰＣ
４  プロセッサ
４−１、４−２  ＣＰＵコア
６  動作監視部
８  暖気制御部
１０  ＰＣＩバス
１２  ＢＩＯＳ−ＲＯＭ
１４  メモリ
１６  チップセット
１８  ＨＤＤ
２０  スピンドルモータ
２２  電源再投入制御部
２４  電源ユニット
２６  商用交流電源
２８  表示部
６０  ダウンカウンタ
６２、６４  フラグレジスタ
６６  第１のＡＮＤ回路
６８  第２のＡＮＤ回路
７０  カウンタ初期値
７２  エラー検出信号
７４  アクセス
８０  メインボード
８２  電源レディ信号
８４  ＡＮＤ回路
８６  温度センサ
８８  リセット信号
９０  ＤＣ電源
【図１】
2014102607.tif 000003
【図２】
2014102607.tif 000004
【図３】
2014102607.tif 000005
【図４】
2014102607.tif 000006
【図５】
2014102607.tif 000007
【図６】
2014102607.tif 000008
【図７】
2014102607.tif 000009
【図８】
2014102607.tif 000010
【図９】
2014102607.tif 000011
【図１０】
2014102607.tif 000012
【図１１】
2014102607.tif 000013
【図１２】
2014102607.tif 000014
【図１３】
2014102607.tif 000015