(57)【要約】【課題】  処理を簡素化して、起動時間や休止状態からの復帰時間を充分に短縮できる装置や方法を提供する。【解決手段】  この装置は、この装置を制御するための圧縮された制御プログラムを記憶する第１記憶手段と、圧縮された制御プログラムを伸張する伸張手段と、伸張された制御プログラムが書き込まれる第２記憶手段と、第２記憶手段に書き込まれた制御プログラムを実行する実行手段と、制御プログラムが第２記憶手段に書き込まれたことに応答して、制御プログラムの実行を開始させるための信号を実行手段へ供給する信号供給手段とを含む。【選択図】  図１
2013222233.tif 000002
【特許請求の範囲】
【請求項１】
電子装置であって、
前記電子装置を制御するための圧縮された制御プログラムを記憶する第１記憶手段と、
前記圧縮された制御プログラムを伸張する伸張手段と、
伸張された前記制御プログラムが書き込まれる第２記憶手段と、
前記第２記憶手段に書き込まれた前記制御プログラムを実行する実行手段と、
前記制御プログラムが前記第２記憶手段に書き込まれたことに応答して、前記制御プログラムの実行を開始させるための信号を前記実行手段へ供給する信号供給手段とを含む、電子装置。
【請求項２】
前記第１記憶手段からの前記圧縮された制御プログラムの読み出し、前記第２記憶手段への前記制御プログラムの書き込みを行う処理手段と、前記処理手段に対して前記読み出しおよび前記書き込みを指示する情報を設定する設定手段とを含み、前記処理手段は、設定された前記情報に従って処理を行う、請求項１に記載の電子装置。
【請求項３】
前記電子装置へ電源が投入され、または前記電子装置が休止状態から復帰したことに応答して、前記処理手段を初期化する初期化手段を含み、前記設定手段は、初期化された前記処理手段および前記伸張手段に対して前記圧縮された制御プログラムを読み出し、伸張し、前記第２記憶手段に書き込むように指示する情報を設定する、請求項２に記載の電子装置。
【請求項４】
前記電子装置は、複数の前記伸張手段を備え、前記処理手段は、前記圧縮された制御プログラムを複数に分割して前記複数の伸張手段の各々へ送出し、各前記伸張手段が複数に分割された前記圧縮された制御プログラムの各々を伸張する、請求項１〜３のいずれか１項に記載の電子装置。
【請求項５】
前記第１記憶手段は、圧縮されたデータも記憶しており、前記伸張手段は、前記第１記憶手段から読み出された前記圧縮されたデータを、前記第２記憶手段を介することなく直接受け入れて伸張する、請求項１〜４のいずれか１項に記載の電子装置。
【請求項６】
電子装置へ電源が投入された際、または前記電子装置が休止状態から復帰した際に、前記電子装置により実行される起動制御方法であって、
第１記憶手段から前記電子装置を制御するための圧縮された制御プログラムを読み出すステップと、
伸張手段により前記圧縮された制御プログラムを伸張するステップと、
伸張された前記制御プログラムを第２記憶手段に書き込むステップと、
前記制御プログラムが前記第２記憶手段に書き込まれたことに応答して、前記制御プログラムの実行を開始させるための信号を実行手段へ供給するステップと、
前記信号を受けて前記実行手段が前記第２記憶手段に書き込まれた前記制御プログラムを実行するステップとを含む、起動制御方法。
【請求項７】
前記電子装置へ電源が投入され、または前記電子装置が休止状態から復帰したことに応答して、前記第１記憶手段からの前記圧縮された制御プログラムの読み出し、前記第２記憶手段への前記制御プログラムの書き込みを行う処理手段を初期化するステップと、初期化された前記処理手段に対して前記圧縮された制御プログラムを読み出し、前記伸張手段へ送出して伸張させ、前記第２記憶手段に書き込むように指示する情報を設定するステップとを含み、前記設定するステップの後、前記処理手段により前記読み出すステップが実行される、請求項６に記載の起動制御方法。
【請求項８】
請求項６または７のいずれかに記載の起動制御方法を実行するためのコンピュータ可読なプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、起動時間あるいは休止状態からの復帰時間を短縮することができる電子装置、その起動制御方法およびその方法を実行するためのコンピュータ可読なプログラムに関する。
【背景技術】
【０００２】
ＰＣやＭＦＰ(Multi Function Peripheral)等の電子装置は、種々のプログラムを記憶するためのＨＤＤ(Hard Disk Drive)、プログラムが読み出されるメモリ、読み出されたプログラムを実行するＣＰＵを含んで構成される。電子装置は、電源が投入されると、装置を制御するためのＯＳ(Operating System)をＨＤＤからメモリに読み出し、それを実行することによってＯＳを起動する。
【０００３】
電子装置は、ＯＳの起動により、ブートストラップという概念で次第に大きなカーネルプログラムを呼び出していく。ブートストラップは、電源投入から操作可能な状態になるまでに自動的に行われる一連の処理である。カーネルプログラムは、ＯＳの基本機能を実装したソフトウェアである。
【０００４】
カーネルプログラムは、カーネルイメージとしてＨＤＤに記憶されていて、カーネルイメージは、読み出し時間を高速化するべく圧縮されている。このため、呼び出されたカーネルイメージは、ＣＰＵが伸張処理を行った後、メモリ上に読み出される。ここで、圧縮とは、データを加工あるいは変換してその容量を削減することをいい、伸張とは、その圧縮されたデータを元の形式に戻すことをいう。この伸張は、展開とも呼ばれる。
【０００５】
電子装置には、高速で装置が使用できる状態へ復帰する高速復帰や、使用電力を削減することを目的として、電源が切断された時点において、メモリ、レジスタ等の内容をＨＤＤに保存し、電源を再投入する際、その電源が切断された時点における状態に復帰させるハイバネーション機能を備えるものがある。
【０００６】
このハイバネーション機能でも、ＨＤＤにその内容を保存する際、圧縮して保存することから、復帰時においても、ＣＰＵによる伸張処理が必要となる。従来、ＣＰＵがこれらの伸張処理を行っているため、ＣＰＵが行うべき他の処理、例えばデバイスの初期化等が遅れてしまい、高速起動や高速復帰の妨げとなっていた。
【０００７】
そこで、電源ＯＮ時等の立ち上がり時間を短縮することができる装置や方法が提案されている（例えば、特許文献１参照）。この装置や方法では、電源がＯＮにされているときに、揮発性メモリ上のメインプログラムおよび実行手段がそのメインプログラムを実行することによって生成されたワークデータを、電源がＯＦＦにされる際に、転送手段によって圧縮手段に転送する。
【０００８】
圧縮手段は、メインプログラムおよびワークデータを圧縮し、圧縮データ用不揮発性メモリに保管する。その後、電源がＯＮにされると、転送手段によって圧縮データ用不揮発性メモリの圧縮メインプログラムおよび圧縮ワークデータを伸張手段に転送して伸張し、揮発性メモリに展開する。
【０００９】
なお、電源がＯＮにされたとき、少なくとも実行手段がブートプログラム用不揮発性メモリからブートプログラムを読み出すまでの期間においては、実行手段とブートプログラム用不揮発性メモリを接続する第１バスと、圧縮データ用不揮発性メモリ、揮発性メモリ、転送手段、圧縮手段および伸張手段を接続する第２バスとが切り離される。実行手段によるブートプログラムの読み出しが完了したとき、第１バスと第２バスとが接続される。
【００１０】
このため、圧縮メインプログラムおよび圧縮ワークデータの展開処理を、ＣＰＵによる第１バスを利用したブートプログラムによるブート処理と並行して、ＣＰＵが一切介在することなく、ハードウェア処理によって第２バスを利用して実行することができる。このように、展開処理をブート処理と並行して行うことにより、立ち上がり時間の短縮を実現している。
【発明の概要】
【発明が解決しようとする課題】
【００１１】
特許文献１に記載の装置や方法は、ＣＰＵが、ブートＲＯＭからブートプログラムを読み出して実行し、ＮＡＮＤメモリに保存されたステータスを確認することにより、ＮＡＮＤメモリに圧縮保存データが保存されているかを判断し、保存されている場合はＮＡＮＤメモリから、保存されていない場合はＲＯＭから圧縮メインプログラムを読み出す処理を行うため、処理が複雑で、立ち上がり時間を充分に短縮できているとは言えない。
【００１２】
また、ブートプログラムを格納するブートＲＯＭと、圧縮メインプログラムおよび圧縮ワークデータ（圧縮保存データ）が保存されるＮＡＮＤメモリと、ＮＡＮＤメモリに圧縮保存データがないときに使用される圧縮メインプログラムを格納するＲＯＭという３つの不揮発性メモリを必要とする。不揮発性メモリは、高価であり、装置コストがかかるという問題もある。
【００１３】
そこで、処理を簡素化して、起動時間や休止状態からの復帰時間を充分に短縮できる装置やその起動制御方法の提供が望まれていた。また、安価で提供できることも望まれていた。
【課題を解決するための手段】
【００１４】
本発明は、上記課題に鑑みなされたものであり、電子装置であって、その電子装置を制御するための圧縮された制御プログラムを記憶する第１記憶手段と、圧縮された制御プログラムを伸張する伸張手段と、伸張された制御プログラムが書き込まれる第２記憶手段と、第２記憶手段に書き込まれた制御プログラムを実行する実行手段と、制御プログラムが第２記憶手段に書き込まれたことに応答して、制御プログラムの実行を開始させるための信号を実行手段へ供給する信号供給手段とを含む、電子装置が提供される。
【図面の簡単な説明】
【００１５】
【図１】本実施形態の電子装置のハードウェア構成図。
【図２】電子装置が行う起動制御処理の流れを示したシーケンス図。
【図３】電子装置が行う起動制御処理におけるデータの流れを示した図。
【図４】図３に示す起動制御処理の流れを示したフローチャート。
【図５】電子装置が行う印刷処理におけるデータの流れを示した図。
【図６】図５に示す印刷処理の流れを示したフローチャート。
【発明を実施するための形態】
【００１６】
図１は、本実施形態の電子装置のハードウェア構成図である。電子装置としては、ＰＣ、ワークステーション、タブレット端末、ＭＦＰ等を挙げることができるが、ＭＦＰに搭載されるＡＳＩＣ(Application Specific Integrated Circuit)であってもよい。図１には、電子装置としてのＡＳＩＣを備えるＭＦＰが示されている。
【００１７】
図１に示すＭＦＰは、ハードウェアとして、プロッタ１０と、ＨＤＤ１１と、ＡＳＩＣ１２とを含んで構成されている。プロッタ１０は、例えば、電子写真方式の印刷装置で、ＣＭＹＫの４色の画像データに基づきトナー画像を用紙上に形成し、定着させて出力する。
【００１８】
プロッタ１０は、上記のカラー印刷装置に限られるものではなく、モノクロ印刷装置であってもよい。また、プロッタ１０は、インク滴を用紙に塗布して画像を形成するインクジェット型のプロッタであってもよい。
【００１９】
ＨＤＤ１１は、第１記憶手段として参照され、ＭＦＰを制御するためのＯＳ(Operating System)を記憶し、その他のプログラム、パラメータ、フォントデータ、画像データ等も記憶する。ＨＤＤ１１は、読み出し時間の高速化等のため、カーネルイメージや画像データ等を圧縮して、圧縮されたプログラム（圧縮プログラム）および圧縮されたデータ（圧縮データ）として記憶する。カーネルイメージは、カーネルプログラムを格納しているファイルであって、制御プログラムである。
【００２０】
ここでは、ＨＤＤ１１としているが、不揮発性のフラッシュメモリを採用することもでき、このフラッシュメモリとしては、ＵＳＢ(Universal Serial Bus)メモリ、ＳＳＤ(Solid State Drive)、メモリカード等を挙げることができる。ＯＳとしては、Ｗｉｎｄｏｗｓ（登録商標）、Ｌｉｎｕｘ（登録商標）、Ｕｎｉｘ（登録商標）等を挙げることができる。
【００２１】
ＡＳＩＣ１２は、ＣＰＵ２０と、メモリ２１と、ＣＲＧ(Clock and Reset Generator)２２と、デコーダ２３と、ＨＤＣ(Hard Disk Controller)２４と、コピー機能、スキャナ機能、通信機能等の各種機能を実現するモジュール２５と、ＨＤＣイニシャライザ２６と、ＭＥＭＣ(Memory Controller)イニシャライザ２７と、ＰＤＭ(Program Decoder Master)２８と、ＩＲＣ(Interrupt Controller)２９と、ＭＥＭＣ３０と、ＮｏＣ(Network on Chip)３１とを含んで構成されている。なお、ＨＤＤ１１に代えて、ＵＳＢメモリを採用する場合は、ＨＤＣ２４に代えて、ＵＳＢコントローラが用いられ、メモリカードを採用する場合は、メモリコントローラが用いられる。
【００２２】
ＣＰＵ２０は、実行手段として参照され、ＭＦＰに実装されるＯＳを実行する。ＣＰＵ２０は、ＯＳ以外のＨＤＤ１１に記憶されたその他のプログラムも読み出して実行する。このＣＰＵ２０は、ＭＦＰ内への給電が開始された直後は電圧が安定しないため、ＣＲＧ２２からリセットシーケンスを受けて、動作を開始しないように制御される。電圧が安定した後、ＣＰＵ２０は、ＣＲＧ２２からクロック信号を受けて動作を開始する。
【００２３】
なお、ＣＰＵ２０は、ＭＦＰへ電源が投入され、ＭＥＭＣ３０の初期化、ＨＤＣ２４の初期化、ＨＤＤ１１に記憶された、圧縮された制御プログラム（圧縮制御プログラム）の伸張処理が行われ、メモリ２１上に制御プログラムが書き込まれた時点で、リセット信号、そしてクロック信号が供給される。このため、ＣＰＵ２０は、動作を開始するための信号であるクロック信号が供給されるとすぐに、メモリ２１上の制御プログラムを実行し、メモリ２１上のその他のプログラムを逐次実行していくことができる。
【００２４】
メモリ２１は、第２記憶手段として参照され、ＣＰＵ２０により参照されるプログラムやデータを記憶する。このメモリ２１は、電源投入時には何も記憶されておらず、圧縮制御プログラムが伸張された後に書き込まれる。ＣＰＵ２０の動作開始後は、その他のプログラムやデータがこのメモリ２１上に読み出され、実行および処理される。メモリ２１としては、揮発性メモリであり、ＲＡＭやＤＲＡＭ等を用いることができる。
【００２５】
ＣＲＧ２２は、信号供給手段として参照され、ＡＳＩＣ１２に供給されるクロック信号およびリセット信号を基に、ＣＰＵ２０へクロック信号およびリセット信号を供給する。このＣＲＧ２２は、ＩＲＣ２９から割り込み信号を受けることにより、ＣＰＵ２０へ起動時のタイミングに合わせたクロック信号およびリセット信号を生成して供給する。なお、リセット信号は、一定のリセットシーケンスとしてＣＰＵ２０へ与えることにより、ＣＰＵ２０をリセット後確実にその動作を開始させることができる。
【００２６】
デコーダ２３は、伸張手段として参照され、受信回路４０と、読み出し用ＤＭＡＣ(Direct Memory Access Controller)４１と、書き込み用ＤＭＡＣ４２と、デコードユニット４３とを含んで構成される。デコーダ２３は、設定された情報に基づき、伸張処理を実行する。
【００２７】
受信回路４０は、ＨＤＣ２４等から出力された圧縮プログラムや圧縮データを受け取り、デコードユニット４３へ渡す。この受信回路４０は、アクセスするＡＳＩＣ１２からメモリライトと同様の手段で、直接デコードユニット４３へデータの書き込みを行うことができるものとされる。
【００２８】
読み出し用ＤＭＡＣ４１は、ＣＰＵ２０の動作開始後、読み出し要求を送ってメモリ２１に書き込まれた圧縮データを、ＭＥＭＣ３０を介して読み出し、デコードユニット４３へ渡す。書き込み用ＤＭＡＣ４２は、デコードユニット４３により伸張されたプログラムを、書き込み要求を送ってＭＥＭＣ３０を介してメモリ２１に書き込む。デコードユニット４３は、圧縮プログラムおよび圧縮データを受け取り、伸張処理を実行する。
【００２９】
例えば、プログラムが実行ファイルであるＥＸＥファイルであって、圧縮してＺＩＰ形式やＬＺＨ形式等でＨＤＤ１１に記憶されているとする。受信回路４０は、ＨＤＣ２４からＺＩＰ形式あるいはＬＺＨ形式で圧縮されたＥＸＥプログラムを受け取り、デコードユニット４３へ渡す。デコードユニット４３は、伸張処理において、圧縮されたＥＸＥファイルを、伸張アルゴリズムを適用して元のＥＸＥファイルへ戻す。
【００３０】
圧縮プログラムや圧縮データは伸張することができなければならないことから、可逆圧縮されたものでなければならない。プログラムやデータの圧縮および伸張は、圧縮アルゴリズムや伸張アルゴリズムを適用して行うことができるが、プログラムやデータを圧縮し、それを伸張することができるものであれば、これまでに知られたいかなるアルゴリズムでも採用することができる。
【００３１】
デコーダ２３は、書き込み要求をＭＥＭＣ３０へ送ってメモリ２１への書き込みを行うが、書き込み用ＤＭＡＣ４２が伸張したプログラムを送出した段階で、ＩＲＣ２９へ割り込みを送出する。
【００３２】
ＨＤＣ２４は、処理手段として参照され、シリアルＡＴＡインタフェース等により接続されたＨＤＤ１１を制御し、ＨＤＤ１１から読み出したプログラムやデータをメモリ２１や連動先のモジュール２５へ送出する。また、ＨＤＣ２４は、メモリ２１から読み込まれたデータをＨＤＤ１１へ書き込む。
【００３３】
ＨＤＣ２４は、コマンドＤＭＡＣ４５と、データＤＭＡＣ４６とを備える。コマンドＤＭＡＣ４５は、設定された情報を基に、ＨＤＤ１１へのアクセスを行う。データＤＭＡＣ４６は、設定された情報を基に、ＨＤＤ１１から読み出されたデータをメモリ２１に書き込み、また、ＨＤＤ１１に書き込むためにメモリ２１からデータを読み込む。
【００３４】
モジュール２５は、各種機能を有し、これらの中には使用する前に初期化処理を行う必要があるものが存在する。各種機能としては、上記のコピー機能、スキャナ機能、通信機能等が挙げられる。ＨＤＣイニシャライザ２６は、初期化手段の１つとして参照され、ＨＤＣ２４の初期化を行い、ＨＤＤ１１が利用可能な状態になるよう設定を行う。ＨＤＣイニシャライザ２６は、この設定が完了すると、ＩＲＣ２９へ割り込みを送出する。
【００３５】
ＭＥＭＣイニシャライザ２７も初期化手段の１つとして参照される。ＭＥＭＣイニシャライザ２７は、ＭＥＭＣ３０の初期化を行い、メモリ２１が利用可能な状態になるよう設定を行う。ＭＥＭＣイニシャライザ２７は、この設定が完了すると、ＩＲＣ２９へ割り込みを送出する。
【００３６】
ＰＤＭ２８は、設定手段として参照され、ＨＤＣイニシャライザ２６、ＭＥＭＣイニシャライザ２７によるＨＤＣ２４、ＭＥＭＣ３０の初期化終了後に動作を開始する。このＰＤＭ２８は、ＨＤＤ１１に記憶された圧縮プログラムを、デコーダ２３を介して伸張処理を行い、メモリ２１上に書き込むように指示する情報の設定を、ＨＤＣ２４、デコーダ２３に対して行う。このため、ＨＤＣ２４、デコーダ２３は、この設定された情報に従って処理を行う。
【００３７】
ＩＲＣ２９は、割り込みコントローラであり、ＣＰＵ２０に対し、ＨＤＣイニシャライザ２６、ＭＥＭＣイニシャライザ２７、ＰＤＭ２８から受け取った割り込み通知を行う。このため、図示していないが、ＩＲＣ２９は、これらのＨＤＣイニシャライザ２６、ＭＥＭＣイニシャライザ２７、ＰＤＭ２８に接続される。また、ＩＲＣ２９は、割り込み通知をＣＰＵ２０のみならず、ＣＲＧ２２やＰＤＭ２８へも提供することができる。ＰＤＭ２８に向けて送出した割り込み通知は、ＨＤＣイニシャライザ２６、ＭＥＭＣイニシャライザ２７による動作が完了した時点で、割り込みをアサートする。ここで、アサートとは、アクティブな状態、もしくは有効な状態にすることをいう。ＩＲＣ２９は、ＣＲＧ２２へも割り込み通知を行うが、この割り込み通知は、ＰＤＭ２８による動作が完了した後に割り込みをアサートする。
【００３８】
ＭＥＭＣ３０は、ＣＰＵ２０、読み出し用ＤＭＡＣ４１、書き込み用ＤＭＡＣ４２、データＤＭＡＣ４６といったマスタからのデータの読み出しあるいは書き込み要求に応答して、そのデータの読み出し、あるいは書き込みを行う。マスタとは、制御する側の機器である。このＭＥＭＣ３０は、電源投入後、初期化処理が必要である。
【００３９】
ＮｏＣ３１は、ＡＳＩＣ１２内部のデータのアービトレーションを行う。アービトレーションは、２以上のモジュールが同時に１つのバスを使用しようとしたときに、どのモジュールに使用権を与えるかを調停する機能である。バスと接続してマスタ動作を行うモジュールは、バスマスタと呼ばれる。バスマスタの１つがＮｏＣ３１により使用権を与えられると、その使用権が与えられたバスマスタが、バスを占有してデータの読み書き等を行うことができる。
【００４０】
このＭＦＰは、ＣＰＵ２０がＨＤＤ１１に記憶されている圧縮プログラムの１つである圧縮制御プログラムを伸張し、メモリ２１に書き込むのではなく、デコーダ２３を用いて圧縮制御プログラムを伸張し、メモリ２１に書き込む。このため、ＣＰＵ２０は、ＲＯＭに記憶されたブートプログラムを実行する必要がなく、ＨＤＣ２４やＭＥＭＣ３０の初期化が終了し、圧縮制御プログラムが伸張され、メモリ２１に書き込まれた時点から動作を開始することができる。
【００４１】
図１に示した構成は一例であるので、これ以外の構成であってもよく、例えばＨＤＣ２４からデコーダ２３へのパスはメモリ２１を介した連動動作であってもよい。また、ＭＦＰの動作を開始した後に起動するＰＤＭ２８やＣＲＧ２２は、ＩＲＣ２９からの割り込みによって起動がかかっている構成とされているが、レジスタアクセスによる起動であってもよい。ＣＰＵ２０は、ＣＰＵ２０への信号の立ち上がりや立ち下がりが起きたときに割り込みを発生するエッジ割り込みを待つ設定になっていてもよい。
【００４２】
ＨＤＣイニシャライザ２６、ＭＥＭＣイニシャライザ２７、ＰＤＭ２８は、ハードウェアロジック、マイクロプロセッサとＲＯＭの構成等が考えられるが、実装に関してはＮｏＣ３１に対してマスタ動作を行うものであればいかなるものであってもよい。また、ＨＤＣ２４とＭＥＭＣ３０との間といった各手段の間のデータのやりとりを、ＮｏＣ３１を使用して行うように構成しているが、バスアービタ等を使用してデータのやりとりを行うことも可能である。
【００４３】
デコーダ２３の圧縮形式は、プログラムと画像データの両者が有意な圧縮効率をもつ限り、可逆圧縮方式であれば、上記に例示したＺＩＰ形式やＬＺＨ形式等どのような形式でもよい。
【００４４】
モジュール２５の初期化動作は、例えば、シリアルインタフェースであるＰＣｌｅのリンクアップ（接続）動作等が想定されるが、これに限られるものではない。また、初期化処理を行う必要があるモジュール２５としては、初期設定が必要なデバイスであればいかなるものであってもよい。モジュール２５は、ＡＳＩＣ１２の内部に存在する必要はなく、ＡＳＩＣ１２に存在するインタフェースに接続された外部モジュールであってもよい。
【００４５】
デコーダ２３としては、ＭＦＰのプロッタ動作や、スキャナ動作時に利用される伸張器や圧縮伸張器が考えられるが、プログラム伸張専用のモジュールであってもよい。
【００４６】
図２は、ＭＦＰへ電源が投入された時にＡＳＩＣ１２が行う動作シーケンス図である。ＭＦＰへ電源が投入されると、ＡＳＩＣ１２のＨＤＣイニシャライザ２６およびＭＥＭＣイニシャライザ２７といった初期化手段の動作が開始される。ＨＤＣイニシャライザ２６は、ＨＤＣ２４を初期化し、ＭＥＭＣイニシャライザ２７は、ＭＥＭＣ３０を初期化する。これらの初期化では、ＨＤＤ１１およびメモリ２１を使用可能な状態になるように設定を行う。
【００４７】
これらの初期化が終了すると、ＨＤＣイニシャライザ２６およびＭＥＭＣイニシャライザ２７は、ＩＲＣ２９に割り込み通知を行う。ＩＲＣ２９は、この通知を受け、ＰＤＭ２８へこの通知を送る。ＰＤＭ２８は、この通知により活性化され、動作を開始する。
【００４８】
ＰＤＭ２８は、ＨＤＤ１１に記憶された圧縮制御プログラムをＨＤＣ２４によって読み取り、デコーダ２３へ送出させるために、それを指示する情報をＨＤＣ２４に設定し、ＨＤＣ２４を起動させる。また、ＰＤＭ２８は、デコーダ２３に対し、圧縮制御プログラムを受け取り、圧縮制御プログラムを伸張し、制御プログラムをメモリ２１へ書き込むために、それを指示する情報をデコーダ２３に設定し、デコーダ２３を起動させる。
【００４９】
ＨＤＣ２４は、ＰＤＭ２８により起動されると、設定された情報に従い、ＨＤＤ１１に記憶されている圧縮制御プログラムを読み出し、デコーダ２３へ送出する。ＨＤＣ２４は、その送出が完了すると、ＩＲＣ２９に対して割り込み通知を行う。デコーダ２３は、設定された情報に従い、ＨＤＣ２４によって送出された圧縮制御プログラムを受け取り、伸張処理を行い、制御プログラムを、ＭＥＭＣ３０を介してメモリ２１へ書き込む。デコーダ２３は、ＭＥＭＣ３０に書き込み要求とともに制御プログラムを送出した段階で、ＩＲＣ２９に対して割り込み通知を行う。
【００５０】
ＩＲＣ２９は、ＨＤＣ２４およびデコーダ２３から割り込み通知を受け、ＣＲＧ２２に対して割り込み通知を行う。ＣＲＧ２２は、この通知を受けて活性化し、ＣＰＵ２０に対して初期リセットシーケンスを与え、クロック信号の供給を開始する。ＣＰＵ２０は、このクロック信号の供給を受けて動作を開始し、メモリ２１に伸張されたプログラムを逐一実行する。その１つとして、初期化が必要とされるモジュール２５の初期化を行う。これにより、ＲＯＭを持たなくても、ＯＳを起動させることができ、電源投入から利用可能になるまでの時間を大幅に短縮することができる。
【００５１】
図３は、ＡＳＩＣ１２が行う起動制御処理におけるデータの流れを示した図である。ＭＦＰで印刷処理を実行する場合、プロッタ１０の等時性を確保するためにＨＤＤ１１に記憶されている圧縮データをメモリ２１に一時的に書き込み、メモリ２１をバッファとして用いているが、圧縮制御プログラムを伸張する場合は、等時性を保証する必要がないことから、圧縮制御プログラムを直接デコーダ２３へ送出する。
【００５２】
したがって、ＨＤＣ２４には、圧縮制御プログラムを読み出し、直接デコーダ２３を送出するように指示する情報が設定され、ＨＤＣ２４は、設定された情報に従って、ＨＤＤ１１から圧縮制御プログラムを読み出し、その圧縮制御プログラムをデコーダ２３へ送出する。
【００５３】
デコーダ２３には、圧縮制御プログラムを受け取り、伸張し、メモリ２１へ書き込むように指示する情報が設定される。デコーダ２３は、この設定された情報に従って、受信回路４０がその圧縮制御プログラムを受け取り、デコードユニット４３へ渡す。デコードユニット４３は、圧縮制御プログラムを伸張し、制御プログラムを書き込み用ＤＭＡＣ４２へ渡す。
【００５４】
書き込み用ＤＭＡＣ４２は、制御プログラムをメモリ２１へ書き込むために、ＭＥＭＣ３０へ制御プログラムとともに書き込み要求を送る。ＭＥＭＣ３０は、その書き込み要求を受け、制御プログラムをメモリ２１へ書き込む。デコーダ２３は、ＭＥＭＣ３０へ制御プログラムを送出すると、ＩＲＣ２９へ割り込み通知を送る。
【００５５】
図４は、ＡＳＩＣが行う起動制御処理の流れを示したフローチャートである。電源が投入されたとき、または休止状態から復帰したとき、ステップ４００から開始し、まず、ステップ４１０で、ＨＤＣイニシャライザ２６およびＭＥＭＣイニシャライザ２７が動作を開始し、ＨＤＣ２４およびＭＥＭＣ３０の初期化を行う。次に、ステップ４２０で、ＰＤＭ２８がＨＤＣ２４およびデコーダ２３に設定を行い、ＨＤＣ２４およびデコーダ２３を起動させる。
【００５６】
ステップ４３０で、ＨＤＣ２４が設定された情報に従って圧縮制御プログラムを読み出し、デコーダ２３へ送出する。ＨＤＣ２４は、その送出が完了すると、ＩＲＣ２９へ割り込み通知を行う。ステップ４４０で、デコーダ２３が圧縮制御プログラムを伸張し、制御プログラムを書き込み要求とともにＭＥＭＣ３０へ送る。ステップ４５０で、ＭＥＭＣ３０が書き込み要求を受け取ると、制御プログラムをメモリ２１へ書き込む。デコーダ２３は、制御プログラムを送出すると、ＩＲＣ２９へ割り込み通知を行う。
【００５７】
ステップ４６０では、ＩＲＣ２９がＣＲＧ２２に割り込み通知を行い、ＣＲＧ２２がＣＰＵ２０に対し、リセットシーケンスを与え、クロック信号の供給を開始する。ステップ４７０で、ＣＰＵ２０がクロック信号の供給を受けて動作を開始し、メモリ２１に書き込まれた制御プログラムを実行し、ステップ４８０で起動制御処理を終了する。
【００５８】
ＡＳＩＣ１２は、１つのデコーダ２３ではなく、複数のデコーダを備えることができ、ＨＤＣ２４が圧縮制御プログラムを分割して各デコーダへ送出することができる。これにより、ＨＤＣ２４が制御プログラムを分割して各デコーダへ送出し、各デコーダで同時に伸張してメモリ２１へ書き込むことができるので、起動時間や復帰時間をさらに短縮することが可能となる。
【００５９】
図５は、ＡＳＩＣ１２が行う印刷処理におけるデータの流れを示した図である。ＡＳＩＣ１２は、ＨＤＤ１１に記憶された圧縮された画像データ（圧縮画像データ）をＨＤＣ２４によって読み出し、ＭＥＭＣ３０を使用してメモリ２１に書き込む。このため、メモリ２１には、圧縮画像データが記憶される。プロッタ１０が印刷出力を行うことができるようになるまで、画像データは圧縮された状態でメモリ２１に保持される。ここでは、メモリ２１は、トグルで用い、印刷処理においては、圧縮画像データを一時的に保存するためのバッファとしての働きを持たせている。
【００６０】
プロッタ１０による印刷出力を行うことができるようになると、読み出し用ＤＭＡＣ４１がＭＥＭＣ３０へ読み出し要求を送り、メモリ２１上の圧縮画像データが、ＭＥＭＣ３０によって読み出される。ＭＥＭＣ３０は、読み出した圧縮画像データを読み出し用ＤＭＡＣ４１へ送る。読み出し用ＤＭＡＣ４１は、読み取った圧縮画像データをデコードユニット４３へ渡す。デコードユニット４３は、圧縮画像データを伸張し、圧縮前の元の状態に戻された画像データをプロッタ１０へ出力する。プロッタ１０は、その画像データに基づき印刷処理を実行し、紙に印刷して出力する。
【００６１】
図６は、ＡＳＩＣ１２が行う印刷処理の流れを示したフローチャートである。この印刷処理は、ＣＰＵ２０が動作を開始した後の処理である。ＣＰＵ２０が印刷要求を受け付けることにより、ステップ６００からこの印刷処理を開始する。ステップ６１０では、ＣＰＵ２０が印刷要求から読み出すべき圧縮画像データを特定し、その圧縮画像データを読み出し、それをメモリ２１へ送出するように指示する情報をＨＤＣ２４に設定し、メモリ２１からデコーダ２３へ圧縮画像データを読み出すように指示する情報をデコーダ２３に設定する。
【００６２】
ステップ６２０では、ＨＤＣ２４が、設定された情報に従って、指定された圧縮画像データをＨＤＤ１１から読み出し、メモリ２１へ送出する。ここでは圧縮画像データを送出しているが、複数に分割して送出してもよい。一般に画像データはその容量が大きいことから、複数に分割して送出するほうがメモリ２１へ高速に送出できる点で好ましい。ステップ６３０では、ＭＥＭＣ３０が、圧縮画像データをメモリ２１へ書き込み、メモリ２１に一時的に保持させる。
【００６３】
ステップ６４０では、設定された情報に従って、デコーダ２３の読み出し用ＤＭＡＣ４１が圧縮画像データの読み出し要求をＭＥＭＣ３０へ送り、ステップ６５０で、ＭＥＭＣ３０が、メモリ２１上に記憶された圧縮画像データを読み出して読み出し用ＤＭＡＣ４１へ送る。
【００６４】
ステップ６６０では、読み出し用ＤＭＡＣ４１がデコードユニット４３へ圧縮画像データを渡し、デコードユニット４３がそれを伸張してプロッタ１０へ出力する。プロッタ１０へ出力し終えたところで、ステップ６７０へ進み、この印刷処理を終了する。
【００６５】
ＣＰＵ２０は、ＨＤＣ２４に対し、圧縮画像データを指定した数に分割して送出するように指示する情報を設定し、ＨＤＣ２４は、その指定された数に分割してメモリ２１へ送出することができる。これに対応してＡＳＩＣ１２は、その分割された数に対応した複数のデコーダを備えることができ、複数に分割された圧縮データを同時に伸張処理することができる。
【００６６】
ここではメモリ２１に一時的に圧縮画像データを保持させ、デコーダ２３がメモリ２１から読み出して伸張し、プロッタ１０に出力する構成としているが、メモリ２１を介することなく、ＨＤＣ２４から直接デコーダ２３へ送り、伸張処理してプロッタ１０へ出力する機能を備えていてもよい。プロッタ１０がすぐに出力可能である場合、メモリ２１を介して処理を行う必要がなく、直接伸張処理を行うほうが、処理時間を短縮できるからである。
【００６７】
これまで本発明を、電子装置およびその起動制御方法を上述した実施の形態をもって説明してきたが、本発明は上述した実施の形態に限定されるものではなく、他の実施の形態、追加、変更、削除など、当業者が想到することができる範囲内で変更することができ、いずれの態様においても本発明の作用・効果を奏する限り、本発明の範囲に含まれるものである。したがって、本発明は、上記の装置および方法のみならず、その方法を実行するためのコンピュータ可読なプログラムや、そのプログラムが記録された記録媒体も提供することができるものである。
【符号の説明】
【００６８】
１０…プロッタ、１１…ＨＤＤ、１２…ＡＳＩＣ、２０…ＣＰＵ、２１…メモリ、２２…ＣＲＧ、２３…デコーダ、２４…ＨＤＣ、２５…モジュール、２６…ＨＤＣイニシャライザ、２７…ＭＥＭＣイニシャライザ、２８…ＰＤＭ、２９…ＩＲＣ、３０…ＭＥＭＣ、３１…ＮｏＣ、４０…受信回路、４１…読み出し用ＤＭＡＣ、４２…書き込み用ＤＭＡＣ、４３…デコードユニット、４５…コマンドＤＭＡＣ、４６…データＤＭＡＣ
【先行技術文献】
【特許文献】
【００６９】
【特許文献１】特開２０１１−１２３８０２号公報
【図１】
2013222233.tif 000003
【図２】
2013222233.tif 000004
【図３】
2013222233.tif 000005
【図４】
2013222233.tif 000006
【図５】
2013222233.tif 000007
【図６】
2013222233.tif 000008