(57)【要約】      （修正有）【課題】２つの処理部を備えた印刷装置において、一方の処理部が起動したときに印刷装置に対して実行する各種の初期設定処理に要する時間を短縮し、印刷装置の起動を高速化する。【解決手段】メインＣＰＵ１１を備えたメインコントローラー１０とサブＣＰＵ２１を備えたサブコントローラー２０とを備えたプリンター１００であって、サブＣＰＵ２１は、メインＣＰＵ１１に対する電源供給が開始されてからメインＣＰＵ１１が起動する（安定動作可能な状態になる）までの間に、少なくともメインＣＰＵ１１が起動後に行うプリンター１００の初期設定処理の一部を実行しつつその実行状況をレジスター２２に記憶し、メインＣＰＵ１１は、起動後に、レジスター２２を参照しつつ未実行の初期設定処理を実行する。【選択図】図１
2011178069.tif 000002
【特許請求の範囲】
【請求項１】
第１処理部と第２処理部とを備えた印刷装置であって、
上記第２処理部は、上記第１処理部に対する電源供給が開始されてから上記第１処理部が起動するまでの間に、少なくとも上記第１処理部が起動後に行う上記印刷装置の初期設定処理の一部を実行しつつその実行状況を第１記憶部に記憶し、
上記第１処理部は、起動後に、上記第１記憶部を参照しつつ未実行の上記初期設定処理を実行することを特徴とする印刷装置。
【請求項２】
第１処理部と第２処理部とを備えた印刷装置であって、
上記第２処理部は、上記第１処理部に対する電源供給が開始されると、上記第１処理部が起動時に行う上記印刷装置の初期設定処理を実行しつつその実行状況を第１記憶部に記憶し、
上記第１処理部は、該第１処理部に対する電源供給が開始されて起動後に、上記印刷装置の初期設定処理を実行しつつその実行状況を上記第１記憶部に記憶し、
上記第２処理部と上記第１処理部は、上記初期設定処理を実行するにあたり、上記第１記憶部を参照して他方の処理部が実行していない初期設定処理を実行することを特徴とする印刷装置。
【請求項３】
上記初期設定処理の中で上記第１処理部の備える演算処理装置を初期化する処理を、上記第１処理部が実行する請求項１又は請求項２に記載の印刷装置。
【請求項４】
上記第１処理部と上記第２処理部は、上記第１処理部にて実行されるプログラムを記憶している第２記憶部と上記第１処理部が上記プログラムを実行するときにワークエリアとして利用する第３記憶部との初期化処理が実行された後で、上記第２記憶部と上記第３記憶部のスキャン処理を実行する請求項１〜請求項３の何れか１項に記載の印刷装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は印刷装置に関し、特に第１処理部と第２処理部とを備えた印刷装置に関する。
【背景技術】
【０００２】
近年、環境負荷への関心が高まっており、消費電力が一定の基準を満たさないと販売を禁止する法律が国や地域(例えば、ＥＵ（European Union）)で整備されつつある。同時に、低消費電力についての関心や認識が消費者の間でも高くなっている。このように、環境負荷低減を目指した低消費電力のプリンターが求められる一方で、オフィス業務の効率化を含めた作業時間の削減やトータルコスト削減の要望も高まっており、プリンターの高速化も要求されている。
【０００３】
このような省電力化と高速化の両立を図る技術として、特許文献１には、節電モードへ移行する前に揮発性メモリーのプログラム情報を退避させ、通常モードへ復帰する時にプログラム情報を揮発性メモリーに書き戻す画像形成装置について開示されている。特許文献１にかかる技術によれば、節電モードから通常モードへ復旧してから印刷動作に移行するまでに掛かる時間が短縮されるため、プリンターが高速化される。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１０−６００７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１の技術は、節電モードに移行する前の環境を再現するのみであり、節電モードから復帰するときに必要となる各種の初期化処理の高速化について考慮した技術ではなかった。ここで、従来採用されてきた節電モードの各種形態について説明する。
【０００６】
従来のプリンターでは、節電モードを実現するにあたってＣＰＵの低消費電力モードを使用したり、メインＣＰＵの電源を落としてサブＣＰＵでプリンターの制御を行ったりしていた。しかしながら、前者の場合、ＣＰＵの低消費電力モードは、低消費電力のＣＰＵを使用する場合に比べて消費電力があまり低下しなかった。また、後者の場合、低消費電力モードで特定の処理（ホストインターフェース処理など）を制限している場合があり、この特定の処理を行っているときは低消費電力モードに移行できないという問題があった。
【０００７】
また、後者の場合、データを受信したときに、このサブＣＰＵがメインＣＰＵを再起動させてメインＣＰＵにデータ処理を実行させたり、簡単な処理の場合にはメインＣＰＵを起動させずにサブＣＰＵで処理したりすることになる。ただし、節電モードから通常モードに移行してメインＣＰＵが処理を開始できるようになるまでの時間が長くかかってしまい応答が遅れると、これが原因で、ネットワーク経由でプリンターに接続しているホストでタイムアウトエラーが発生したり、ネットワーク上のシステムプロトコル上でエラーになったりすることがある。むろん、ユーザーの待ち時間も長くなってしまう。
【０００８】
なお、以上の問題の対策として、サブＣＰＵの処理性能を上げて節電モード時に処理できることを増やすことも考えられるが、デバイスコストの上昇や消費電力の上昇といった問題が発生するし、サブＣＰＵで行う処理の種類を増やすとメインＣＰＵで行う処理との重複が発生する。その結果、ソフトウェアの開発費が２重になったり、プログラムを保存するＲＡＭの容量アップによってコストやボード上の実装面積が増加したりすることになる。
【０００９】
本発明は、上記課題に鑑みてなされたものであり、第１処理部と第２処理部とを備えた印刷装置において、停止していた第１処理部が起動したときに印刷装置に対して実行する各種の初期設定処理を短縮し、印刷装置の起動を高速化することを目的とする。
【課題を解決するための手段】
【００１０】
上記課題を解決するために、本発明の印刷装置は、第１処理部と第２処理部とを備えた印刷装置において、上記第２処理部は、上記第１処理部に対する電源供給が開始されてから上記第１処理部が起動するまでの間に、少なくとも上記第１処理部が起動後に行う上記印刷装置の初期設定処理の一部を実行しつつその実行状況を第１記憶部に記憶し、上記第１処理部は、起動後に、上記第１記憶部を参照しつつ未実行の上記初期設定処理を実行する構成としてある。ここで、起動とは、処理部の動作が安定して所定のプログラムを実行可能な状態になることをいう。この間、第１処理部は、初期設定処理を実行することができない。
ここで、印刷装置の電源が投入されると、第１処理部と第２処理部は、（Ａ）同時に電源が入る場合と、（Ｂ）一方に電源が入った後に電源の入った方が他方の電源を入れる場合とがある。前者の場合、（Ａ１）第１処理部と第２処理部とが同時に起動を開始するパターンと、（Ａ２）第２処理部についてはリセットがかかっていて第１処理部が起動した後に第１処理部が第２処理部のリセットを解除するパターンと、（Ａ３）第１処理部についてはリセットがかかっていて第２処理部が起動した後に第２処理部が第１処理部のリセットを解除するパターン、がある。後者の場合は、（Ｂ１）第１処理部に電源が入った後に第１処理部が第２処理部の電源を入れる場合と、（Ｂ２）第２処理部に電源が入った後に第２処理部が第１処理部の電源を入れる場合と、がある。また、停止していた第１処理部への電源供給が開始される状況として、（Ｃ）第１処理部が停止しつつ第２処理部が起動している節電モードから復帰する場合もある。
これらのパターンの中で（Ａ３）、（Ｂ２）、（Ｃ）では、第２処理部は、少なくとも第１処理部の起動よりも先に起動しており、場合によっては、第１処理部が停止している間も動作しており、第１処理部への電源供給が開始された時点から各種処理を実行可能な状態になっている。また、（Ａ１）でも、第２処理部は第１処理部の起動よりも先に起動することがある。このように第２処理部が少なくとも第１処理部の起動よりも先に起動していれば、第２処理部は第１処理部の電源供給が開始されてから第１処理部が起動するまでの間に、処理を実行可能な状態にある。以上のように構成することにより、第１処理部が実行する初期化処理の少なくとも一部が、第１処理部が起動した時点で完了もしくは実行中であり、第１処理部は第１記憶部を参照してその実行状況を確認し、未完了もしくは未実行の処理についてのみ実行することになる。よって、第１処理部への電源供給が開始されてから、第１処理部の行うべき初期設定処理が完了するまでの時間が短縮され、印刷装置の起動が高速化することになる。
【００１１】
また、本発明の他の態様として、第１処理部と第２処理部とを備えた印刷装置であって、上記第２処理部は、上記第１処理部に対する電源供給が開始されると、上記第１処理部が起動時に行う上記印刷装置の初期設定処理を実行しつつその実行状況を第１記憶部に記憶し、上記第１処理部は、該第１処理部に対する電源供給が開始されて起動後に、上記印刷装置の初期設定処理を実行しつつその実行状況を上記第１記憶部に記憶し、上記第２処理部と上記第１処理部は、上記初期設定処理を実行するにあたり、上記第１記憶部を参照して他方の処理部が実行していない初期設定処理を実行する構成としてもよい。この態様においても、上述した態様と同様に第１処理部が起動するまでに第２処理部が、初期設定処理の少なくとも一部を実行するが、本態様では、第１処理部の起動後も、第１処理部の初期設定処理に並行して第２処理部が初期設定処理を実行する。よって、さらに初期設定処理に要する時間が短縮され、印刷装置の起動を高速化することができる。
【００１２】
また、本発明の選択的な一態様として、上記初期設定処理の中で上記第１処理部の備える演算処理装置を初期化する処理を、上記第１処理部が実行する構成としてもよい。処理部そのものの初期設定処理は、他の処理主体では実行できないことが一般的であるため、第１処理部自体の初期化については、第１処理部が実行するようにあらかじめ設定しておくことにより、初期設定処理の分担を最適化することができる。
【００１３】
また、本発明の選択的な一態様として、上記第１処理部と上記第２処理部は、上記第１処理部の実行するプログラムを記憶する第２記憶部と上記第１処理部が上記プログラムを実行するときにワークエリアとして利用する第３記憶部とを初期化する処理が実行された後に、上記第２記憶部と上記第３記憶部のスキャン処理を実行する構成としてもよい。初期設定処理には、処理の順番が決まっているものがあり、このように各記憶部の初期化とスキャンとでは、初期化を先に実行する必要があるためである。このように処理の順番をあらかじめ設定しておくことにより、処理の重複実行を防止し、適切な順番で処理が実行されるため、結果として初期設定処理を高速化することができる。
【００１４】
なお、上述した印刷装置は、他の機器に組み込まれた状態で実施されたり他の方法とともに実施されたりする等の各種の態様を含む。
【図面の簡単な説明】
【００１５】
【図１】プリンターの構成を示すブロック図である。
【図２】初期設定処理の説明図である。
【図３】初期設定処理の種類を説明する図である。
【図４】メモリーチェック／スキャンの状況をパネル表示する場合の初期設定処理の順番である。
【図５】初期設定処理を管理するレジスターを説明する図である。
【図６】実施例にかかる復帰処理の流れを示すフローチャートである。
【図７】変形例１にかかる復帰処理の流れを示すフローチャートである。
【図８】変形例２にかかる復帰処理の流れを示すフローチャートである。
【図９】変形例２にかかるレジスターの構成を説明する図である。
【図１０】変形例３にかかる復帰処理の流れを示すフローチャートである。
【図１１】変形例３にかかるレジスターの構成を説明する図である。
【図１２】ＲＯＭに記憶されたデータの構造を説明する図である。
【図１３】変形例４にかかる初期設定処理の選択単位を説明する図である。
【発明を実施するための形態】
【００１６】
以下、下記の順序に従って本発明の実施形態を説明する。
（１）本実施例の構成：
（２）節電モードからの復帰処理：
（３）各種変形例：
（４）まとめ：
【００１７】
（１）本実施例の構成： 
以下、図面を参照しつつ本発明の一実施例を説明する。なお、本実施例では、プリンターを例にとって説明を行うが、むろん、プリンター機能とスキャナー機能とコピー機能とを備えたいわゆる複合機やコピー機であってもよい。なお本実施例や後述の各種変形例においては、メインコントローラーもしくはメインＣＰＵが第１処理部を構成し、サブコントローラーもしくはサブＣＰＵが第２処理部を構成する。また、メインＣＰＵが第１処理部における演算処理装置を構成する。
【００１８】
図１は、本実施例にかかるプリンター１００の概略構成を示すブロック図である。同図に示すように、プリンター１００は、プリンター１００の全体を制御してプリンター１００に印刷装置としての機能を実現させるメインコントローラー１０と、各種インターフェースの入出力を制御したり、後述の節電モードにおいてメインコントローラー１０の代わりにプリンター１００を制御したりするサブコントローラー２０と、プリンター１００の各部へ電源電圧を供給する電源ユニット４０と、印刷データに基づいて印刷用紙等の印刷媒体に画像を形成する印刷エンジン３０とを備えている。各部１０，２０，４０は互いに通信可能に接続されており、各部１０，２０は、電源ユニット４０を制御して任意の構成に対する電源供給のオンオフを切り替えられるようになっている。
【００１９】
メインコントローラー１０は、メインＣＰＵ１１と、メモリーＡＳＩＣ１３と、ＲＡＭ１２とを備えている。本実施例では、メインＣＰＵ１１はメモリーＡＳＩＣ１３に内蔵され、ＲＡＭ１２はメモリーＡＳＩＣ１３に接続されておりメインＣＰＵ１１と通信可能になっている。メインＣＰＵ１１は、サブコントローラー２０に接続されているＲＯＭ２３から取得したプログラムデータをＲＡＭ１２に適宜コピーし、ＲＡＭ１２をワークエリアとして利用しつつＲＡＭ１２にコピーされたプログラムにしたがって処理を行う。むろん、ワークエリアのサイズやプログラムの種類しだいでは、ＲＡＭ１２にコピーせずにＲＯＭ２３に記憶されたプログラムを直接実行しても構わない。このＲＯＭ２３が本実施例において第２記憶部を構成し、ＲＡＭ１２が本実施例において第３記憶部を構成する。
【００２０】
サブコントローラー２０は、サブＣＰＵ２１と、レジスター２２と、ＲＯＭ２３と、Ｉ／Ｏ ＡＳＩＣ２７と、ホストＩ／Ｆ２４と、パネル２５とを備えている。本実施例では、サブＣＰＵ２１とレジスター２２はＩ／Ｏ ＡＳＩＣ２７に内蔵されており、ＲＯＭ２３はＩ／Ｏ ＡＳＩＣ２７に接続されておりサブＣＰＵ２１やメインＣＰＵ１１と通信可能になっている。サブＣＰＵ２１は、ＲＯＭ２３から取得したプログラムデータを不図示のＲＡＭに適宜コピーし、該ＲＡＭをワークエリアとして利用しつつ該ＲＡＭにコピーされたプログラムにしたがって処理を行う。むろん、ワークエリアのサイズやプログラムの種類しだいでは、ＲＡＭにコピーせずにＲＯＭ２３に記憶されたプログラムを直接実行しても構わない。レジスター２２にはＩ／Ｏ ＡＳＩＣ２７やサブコントローラー２０の処理に関する各種の設定値が記憶されており、メインコントローラー１０やサブコントローラー２０はレジスター２２の設定値を必要に応じて適宜参照しながら処理を実行する。なお、本実施例においては、レジスター２２が第１記憶部を構成する。
【００２１】
Ｉ／Ｏ ＡＳＩＣ２７には、印刷エンジン３０が接続されている。印刷エンジン３０は、印刷機構とこの印刷機構を制御する機構制御部とを備えている。機構制御部は、メインコントローラー１０から入力される印刷コマンドと画像データに基づいて印刷機構を制御することにより、メインコントローラー１０から出力される画像データおよび制御コマンドにもとづいて印刷用紙上に文字や画像などのイメージを印刷する。例えば、プリンター１００が電子写真方式の場合は、レーザービームで感光ドラムを適切なタイミングで照射しつつ走査することにより、画像データの各ドットに対応するトナーを感光ドラムに付着させ、付着されたトナーを印刷用紙に付着させる。
【００２２】
また、Ｉ／Ｏ ＡＳＩＣ２７には、ホストＩ／Ｆ２４が接続されている。ホストＩ／Ｆ２４は、例えば、ＵＳＢ Ｉ／ＦやＬＡＮ Ｉ／Ｆ等であり、これらのＩ／Ｆを介して接続されたパーソナルコンピューター等の外部機器から画像データと印刷コマンドを含む、いわゆる印刷ジョブの入力を受付ける。受付けた画像データと印刷コマンドは、不図示の画像メモリーに記録される。そして、メインＣＰＵ１１が、画像メモリーに記録された画像データに対して所定の画像処理を行い、画像処理された画像データおよび印刷コマンドを印刷エンジン３０に出力する。
【００２３】
パネル２５は、スイッチなどを備えた操作部や液晶ディスプレイなどで構成された表示部を備えている。メインコントローラー１０やサブコントローラー２０は、パネル２５の操作部に行われた各種の操作入力をパネル受付けたり、パネル２５の表示部に各種の表示を行わせたりすることができる。なお、パネル２５としてタッチパネル方式のディスプレイを採用すれば、表示部と操作部を一体に構成することもできる。ユーザーは、パネル２５に対して所定の操作を行うことにより、プリンター１００を節電モードへ移行させたり、節電モードから通常モードへ復帰させたりすることができる。
【００２４】
ここで、メインＣＰＵ１１とサブＣＰＵ２１の性能や役割を比較する。メインＣＰＵ１１は、上述の印刷コマンドの言語解釈や印刷コマンドにしたがって行う画像処理の制御をなどの高負荷な処理を行う。一方、サブＣＰＵ２１は、節電モード中のホストインターフェース処理やユーザーインターフェース処理を実施し、必要に応じてメインＣＰＵ１１を再起動させるなどの、メインＣＰＵ１１に比べて低負荷な処理を行う。そのため、サブＣＰＵ２１はメインＣＰＵ１１に比べて動作周波数が低く、処理速度も遅いが、低消費電力になっている。
【００２５】
本実施例におけるプリンター１００は、これら２つのＣＰＵを適宜使い分けることにより、少なくとも通常モードと節電モードの２つのモードで選択的に動作できるようになっている。通常モードは、プリンター１００の各部に電源電圧が供給されて全体が動作するモードであり、節電モードは、プリンター１００は通常モードよりも少ない消費電力で動作するモードである。
【００２６】
本実施例における通常モードでは、サブＣＰＵ２１を除くすべてのデバイスに電源を供給されており、ホストコンピュータ等から印刷ジョブが入力されると即座に印刷処理を開始することができるようになっている。一方、本実施例における節電モードでは、印刷エンジン等に含まれるメカ部分について電源を切ったり節電モードに設定したりし、さらにコントローラ部分についても省電力となるように制御する。より具体的には、本実施例では、メインＣＰＵ１１、メモリーＡＳＩＣ１３、ＲＡＭ１２、印刷エンジン３０への電源供給を停止する。そのため、ホストコンピュータ等から印刷ジョブが入力されたときは、印刷処理を開始するまでに、各部への電源供給を開始して各部が起動するまでのタイムラグが発生する。
【００２７】
通常モードから節電モードへは、ユーザーの設定した移行時間の間に印刷がなかった場合やパネル２５に所定の操作が行われたときに移行する。このとき、メインＣＰＵ１１は、ＲＡＭ１２に記憶されているプリンターの状態を示す各種の設定情報を、サブコントローラー２０のＳＲＡＭ２６にバックアップする。そして、上述した各部への電源供給を停止し、プリンター１００の制御をサブコントローラー２０のサブＣＰＵ２１に移行する。すると、サブＣＰＵ２１はスイッチ回路５０を制御して、メインＣＰＵ１１、メモリーＡＳＩＣ１３、ＲＡＭ１２、印刷エンジン３０への電源供給を停止させる。
【００２８】
サブＣＰＵ２１は、節電モードで所定の復帰のトリガーを検知すると、節電モードから通常モードへの復帰処理を実行するとともに、節電モードで電源を切っていた各部に対する電源供給を開始させる。この復帰のトリガーは、例えば、ネットワーク上のシステムがプリンターに対して行う各種要求のうちサブＣＰＵ２１が処理するには重い処理を必要とするものや、印刷要求（例えば、印刷ジョブの入力）等である。なお、節電モードからの復帰による再起動では、通常の電源投入からの起動時に行うＰＯＳＴ（Power On Self Test）処理と呼ばれるシステムのチェックを省略して、起動時間を短縮することが一般的である。メインＣＰＵ１１は、電源供給が再開されると、各部の初期設定処理を開始する。この初期設定処理の種類については、後述する。
【００２９】
また、メインＣＰＵ１１は、節電モードから通常モードへ復帰するに際して、節電モードへ移行する際にＳＲＡＭ２６にバックアップしていた各種の設定情報を、ＳＲＡＭ２６から取得してＲＡＭ１２に書き戻したり、節電モード中に変更された設定情報やその他の情報をＲＡＭ１２にコピーしたりする。節電モード中に変更された設定情報やその他の情報は、サブＣＰＵ２１によって、ＳＲＡＭ２６等に記憶されたり、ＳＲＡＭ２６にバックアップした各種の設定情報に反映されていたりする。
【００３０】
また、プリンターでは、通常、プログラムデータはＲＯＭ２３に記憶されており、電源が投入されたときに実行される初期設定処理や節電モードから復帰するときに実行される初期設定処理を行う際は、メインＣＰＵ１１はこのＲＯＭ２３上のプログラムを直接に実行する。初期設定が完了した後の処理は、ＲＯＭ２３上のプログラムをそのままＲＡＭ１２にコピーして実行したり、ＲＯＭ２３上の圧縮データを展開したプログラムをＲＡＭ１２上にコピーして実行したりすることになる。
【００３１】
図２は、プリンター１００が節電モードから通常モードに復帰するときの、各ＣＰＵの状態を説明する図である。同図に示すように、節電モードでは、メインＣＰＵ１１への電源供給が停止されて動作しておらず、サブＣＰＵ２１は動作している。その他、メインＣＰＵ１１のワークエリアとして利用されているＲＡＭ１２、各種メモリーに対する入出力インターフェースとして機能するメモリーＡＳＩＣ、印刷エンジン等に対する電源供給も節電モードにおいては停止されており、これらも動作を停止している。
【００３２】
ここで、サブＣＰＵ２１へ上述した復帰トリガーが入力されると、サブＣＰＵ２１はメインＣＰＵ１１、メモリーＡＳＩＣ、印刷エンジン等への電源供給を再開させる。ただし、電源供給が再開されても、実際にメインＣＰＵ１１が動作可能になるまでには時間がかかる場合がある。その理由は、メインＣＰＵ１１への電源供給が安定するまでの待機時間や、ＣＰＵ内部のＰＬＬ同期が完了するまで待機時間等である。この電源が安定するまでの待機時間は、プリンター１００へ供給される電源事情、温度や湿度などの自然環境、デバイスの構成などの各種周辺環境に依存して変動する。したがって、後述のように、従来はメインＣＰＵ１１が行っていた初期設定処理をサブＣＰＵ２１が行うにあたり、サブＣＰＵ２１に実行させる処理とメインＣＰＵ１１に実行させる処理とが最適な配分になるようにあらかじめ割り振っておくことが難しい。また、ＰＬＬ同期の完了までの時間は、デバイスによって異なるが、約１００ｍｓ以上かかるものもある。以下、本明細書では、メインＣＰＵ１１がプログラムの演算処理を実行可能になった状態を「起動した」と呼び、起動するまでの時間を「起動時間」と呼ぶことにする。
【００３３】
この起動時間に、サブＣＰＵ２１は後述の初期設定処理を実行し、その実行状況をメインＣＰＵ１１が確認できるようにしておく。具体的には、例えば、メインＣＰＵ１１が起動したときにサブＣＰＵ２１が実行した処理をメインＣＰＵ１１に通知したり、レジスターのような記憶媒体に実行状況を記録しておくことにより、実行状況をメインＣＰＵ１１から確認できるようになる。なお、以下に説明する実施例や変形例では、Ｉ／Ｏ ＡＳＩＣ２７のレジスター２２に実行状況を記憶する場合を例にとって説明してある。
【００３４】
また、図２では、メインＣＰＵ１１が起動するとサブＣＰＵ２１は初期設定処理を終了する。その理由は、処理の高速なメインＣＰＵ１１が起動した後は、サブＣＰＵ２１に処理を行わせなくても、メインＣＰＵ１１だけで十分な速度で処理を実行できるためである。むろん、メインＣＰＵ１１の起動後もサブＣＰＵ２１が初期設定処理を実行した方がよい場合もあり、後述の変形例のように、メインＣＰＵ１１の初期設定処理と並行してサブＣＰＵ２１も他の初期設定処理を実行してもよい。例えば、メインＣＰＵ１１とサブＣＰＵ２１の処理速度にあまり差が無い場合や、初期設定処理の量が多い場合、処理時間がデバイスからの応答待ち時間に依存する処理が初期設定処理に含まれる場合等では、メインＣＰＵ１１とサブＣＰＵ２１が並行して処理すると処理時間を短縮できる場合がある。
【００３５】
処理が終了すると、プリンター１００は通常モードに移行し、メインＣＰＵ１１が印刷処理等の各種処理を、プリンター１００全体を制御しつつ実行することになる。なお、サブＣＰＵ２１は、通常モードでは停止される。
【００３６】
節電モードから復帰してプリンターとして印刷動作できるようにするためには、ＡＳＩＣや他デバイスのレジスターに所定の手順でアクセスして必要な設定を行わなければならない。この処理の中には時間待ちが発生したり、処理全体として時間のかかる処理もある。また、揮発性メモリーであるＲＡＭ１２を使用するためにはＲＡＭ１２の初期化を行う必要がある。以下、図４を参照して、初期設定処理の種類や、手順について説明する。
【００３７】
図３は、初期設定処理の種類を説明する図である。同図に示すように、プリンター１００が省電力から復帰する際には、概略、メインＣＰＵ初期化Ｐ１、ＲＯＭ初期化Ｐ２、ＲＯＭチェックＰ３、ＲＯＭスキャンＰ４、ＲＡＭ初期化Ｐ５、ＲＡＭチェックＰ６、ＲＯＭ２３からＲＡＭ１２へのデータコピーＰ７、メモリーＡＳＩＣ初期化Ｐ８、パネル初期化Ｐ９、ホストＩ／Ｆデバイス初期化Ｐ１０、エンジンＩ／Ｆデバイス初期化Ｐ１１、ストレージデバイス初期化Ｐ１２、の初期設定処理を実行する。これらの初期設定処理が完了すると、プリンター１００は、メインＣＰＵ１１の制御に従って印刷処理等の各種処理を実行できるようになる。
【００３８】
Ｐ１〜Ｐ１２は、処理主体の制限の観点から、メインＣＰＵ１１が実行する処理と、メインＣＰＵ１１とサブＣＰＵ２１のいずれで実行してもよい処理と、に大別される。本実施例では、メインＣＰＵ１１が実行する処理はメインＣＰＵ１１の初期化Ｐ１であり、その他のＰ２〜Ｐ１２はメインＣＰＵ１１とサブＣＰＵ２１のいずれかで実行してもよい処理である。メインＣＰＵ１１の初期化Ｐ１は、メインＣＰＵ１１の外部からは実行できないためである。
【００３９】
また、Ｐ２〜Ｐ１２は、処理の順番の制限の観点から、Ｇ１〜Ｇ７に大別される。Ｇ１はＲＡＭ１２へのデータ読み書きを開始する前に必要な処理であり、Ｇ２はＲＯＭ２３のデータを読み出す前に必要な処理であり、Ｇ３はＲＯＭ２３からＲＡＭ１２へメインＣＰＵ１１が実行するためのプログラムデータをコピーする処理であり、Ｇ４はパネル表示を行う前に必要な処理であり、Ｇ５はホストＩ／Ｆに関する処理であり、Ｇ６は印刷エンジンに関する処理であり、Ｇ７はストレージデバイスに関する処理である。また、Ｇ１〜Ｇ３は、メインＣＰＵ１１が制御に利用するメモリーに関する処理Ｇ８としてまとめることができる。
【００４０】
Ｇ１は、ＲＡＭ初期化Ｐ５とＲＡＭチェックＰ６を含んでおり、Ｐ５，Ｐ６の順に実行しなければならない。Ｇ２は、ＲＯＭ初期化Ｐ２とＲＯＭチェックＰ３とＲＯＭスキャンＰ４とを含んでおり、Ｐ２，Ｐ３，Ｐ４の順に実行しなければならない。Ｇ４は、メモリーＡＳＩＣ初期化Ｐ８とパネル初期化Ｐ９を含んでおり、Ｐ８，Ｐ９の順に実行しなければならない。また、Ｇ８においては、Ｇ１，Ｇ２の処理が実行されてから、Ｇ３の処理が実行されなければならない。
【００４１】
以上のようにＧ１，Ｇ２，Ｇ４，Ｇ８の中では処理の順番が決まっているが、これらの順番が各グループ内で守られるのであれば、他の処理を間に挟む形で実行することができる。すなわち、Ｐ２〜Ｐ１２は、以上の処理の順番に関する制限を除いて順不同に実行可能であり、また処理の順番さえ守られれば、例えば、ある処理をメインＣＰＵ１１で実行しつつ他の処理をサブＣＰＵ２１で実行するなどのように並列実行も可能である。そのような処理の一例として、パネルにＲＯＭ２３やＲＡＭ１２のチェック状況やスキャン状況を表示する場合の処理順について、図４を参照して説明する。
【００４２】
図４は、メモリーチェック／スキャンの状況をパネルに表示する場合の処理順を示す図である。同図では、Ｐ２，Ｐ５，Ｐ８，Ｐ９，Ｐ３，Ｐ６，Ｐ４，Ｐ７の順で処理を実行している。この順で処理を実行すると、まずパネル表示には関わらないがチェックやスキャンの前に実行する必要のあるＲＯＭ初期化Ｐ２やＲＡＭ初期化Ｐ５が実行される。そして、パネル表示を可能にするためにメモリーＡＳＩＣ初期化Ｐ８とパネル初期化Ｐ９を実行し、その後、パネルにチェックやスキャンの状況を表示しつつＲＯＭチェックＰ３とＲＡＭチェックＰ６とＲＯＭスキャンＰ４を実行している。なお、同図に示すように、Ｐ２とＰ５、Ｐ３とＰ６、Ｐ６とＰ４はそれぞれ順番を入れ替えて実行したり並列実行したりすることができるが、図３に示したように×で示した処理順は入れ替えできないし、並列実行することもできない。
【００４３】
以上説明したように、初期設定処理には処理主体を問わずに実行可能な処理がある。そこで、本実施例では、メインＣＰＵ１１が初期設定処理を開始するまでの時間にサブＣＰＵ２１が初期設定処理の一部を代替実行して、初期設定処理の処理時間を短縮してある。このように代替実行する際に、サブＣＰＵ２１とメインＣＰＵ１１とで処理の重複実行も防止するために、本実施例にかかるプリンター１００は、初期設定処理の実行状況をレジスター２２で管理している。
【００４４】
図５は、初期設定処理管理用のレジスター２２について説明する図である。同図では、各初期設定処理は処理ＩＤで示してあり、レジスター２２には、各処理ＩＤに対応させて開始フラグ用のレジスターと完了フラグ用のレジスターとが用意されている。これら開始フラグや完了フラグは、節電モードからの復帰処理が開始されるまでのいずれかのタイミングで「オフ」にリセットされており、初期設定処理が開始されると開始フラグが「オン」に変更されて当該初期設定処理が開始されたことを示し、初期設定処理が終了すると完了フラグが「オフ」に変更されて当該初期設定処理が完了していることを示すことになる。
【００４５】
また、各処理には、処理を特定するための処理ＩＤが付与されている。メインＣＰＵ１１とサブＣＰＵ２１は、処理ＩＤと各処理の実行状況を管理するためのレジスターのアドレスとの対応関係を保持している。メインＣＰＵ１１とサブＣＰＵ２１は、この対応関係とレジスター値とを参照することにより、各処理について開始と完了と未実行を把握することができる。
【００４６】
また、各初期設定処理には、図５に示すように、他の処理に対する依存関係が設定されている。この依存関係は処理の開始条件に相当するものであり、図３や図４に示した各処理の処理順に基づいて設定される。例えば、図３や図４に示す、ＲＯＭチェックＰ３は、ＲＯＭ初期化Ｐ２が先に完了していれば開始できるが、そうでなければ開始できない。そこで、ＲＯＭチェックＰ３については、ＲＯＭチェックＰ３よりも処理の順番が一つ前になっているＲＯＭ初期化Ｐ２が完了していることを開始条件とすることができる。
【００４７】
同様に、パネル初期化Ｐ９については、メモリーＡＳＩＣ初期化Ｐ８が完了していることを開始条件とすることができる。むろん、ホストＩ／Ｆデバイス初期化Ｐ１０のように順番に処理する必要のない処理や、順番のある処理の中で最初に実行されるＲＯＭ初期化Ｐ２等については、依存関係を設定する必要はない。以上のような処理の開始条件は、例えば復帰処理のプログラム上に設定しておいたり、所定の依存関係を示すテーブルを用意して適宜参照したりすることにより、適用することができる。
【００４８】
以上のように、各ＣＰＵはレジスターを参照することにより初期設定処理の実行状況や進捗状況を確認できるし、サブＣＰＵ２１からメインＣＰＵ１１との間で初期設定処理の分担や引継が容易に行える。図５の場合は、Ｐ２，Ｐ５，Ｐ８，Ｐ９，Ｐ４・・・の順に配列してあり、各ＣＰＵは、配列された順にレジスターを参照していくことにより、初期設定処理の実行状況や進捗状況を把握することができるし、次に実行すべき処理を特定することができる。なお、簡略的には、依存関係などは規定せずに、図３，４の処理順に合わせて各処理のレジスターを所定の順番に配列しておいて、配列された順番に処理を実行するようにしてもよい。
【００４９】
（２）節電モードからの復帰処理： 
図６は、節電モードからの復帰処理の流れを示すフローチャートである。同図に示した処理は、上述のように、サブＣＰＵ２１においては節電モードにおいて復帰トリガーを検知したときに開始され（Ｓ２００）、メインＣＰＵ１１においてはサブＣＰＵ２１によってメインＣＰＵ１１等への電源供給を再開されたとき（Ｓ２０５）に開始される。サブＣＰＵ２１は、スイッチ回路５０を切替制御することにより、節電モード中に停止していたメインコントローラー１０や印刷エンジン３０に対する電源供給を再開させる。すると、メインＣＰＵ１１は、起動処理を開始する（Ｓ１００）。メインＣＰＵ１１の起動処理は、メインＣＰＵ１１内で電源が安定し、ＰＬＬ同期が安定すると完了する（Ｓ１０５）。
【００５０】
サブＣＰＵ２１は、メインＣＰＵ１１がステップＳ１００，Ｓ１０５の起動処理を行っている間に、初期設定処理を実行する。まず、サブＣＰＵ２１は、初期設定処理管理用のレジスター２２を参照し（Ｓ２１０）、開始フラグが「オフ」の初期設定処理を一つ選択する（Ｓ２１５）。そして、選択した初期設定処理の依存関係を取得し、選択した初期設定処理の依存する処理が完了しているか否かを判断する（Ｓ２１６）。むろん、依存関係の無い処理であればこのステップＳ２１６はスキップしてもよい。
【００５１】
サブＣＰＵ２１は、依存関係のある処理の完了フラグを確認し、完了フラグが「オン」の場合は、選択した初期設定処理よりも処理順の早い処理はすべて完了しているものと判断して（Ｓ２１６：Ｙｅｓ）選択した初期設定処理の開始フラグを「オン」に変更する（Ｓ２１７）。一方、完了フラグが「オフ」の場合は選択した初期設定処理よりも処理順の早い処理が完了していないものと判断して（Ｓ２１６：Ｎｏ）ステップＳ２１５〜Ｓ２１７の処理を繰り返す。ただし、このように、ステップＳ２１５の処理を繰り返す場合は、例えば、直前に選択した処理は再選択できないようにしたり、１回選択した処理については所定時間が経過するまで再選択できないようにしたりすることが望ましい。
【００５２】
選択した初期設定処理の開始フラグを「オン」に変更すると、サブＣＰＵ２１は、選択した初期設定処理を実行する（Ｓ２２０）。そして、処理が完了すると、完了した処理の完了フラグを「オン」に変更する（Ｓ２２５）。そして、レジスター２２を参照し、全ての初期設定処理が実行済みであるかを判断する（Ｓ２３０）。サブＣＰＵ２１は、全ての初期設定処理について「開始フラグ」が「オン」になっていれば、初期設定処理が全て実行されたものと判断して復帰処理を終了する（Ｓ２３０：Ｙｅｓ）。一方、開始フラグが「オフ」の初期設定処理がある場合は、未実行の初期設定処理が残っているものと判断してステップＳ２１０〜Ｓ２３０の処理を繰り返す（Ｓ２３０：Ｎｏ）。
【００５３】
一方、メインＣＰＵ１１は、ステップＳ１００，Ｓ１０５の起動処理を終了して動作可能な状態になると、初期設定処理を開始する。まず、メインＣＰＵ１１は、レジスター２２を参照し（Ｓ１１０）、開始フラグが「オフ」の初期設定処理を１つ選択する（Ｓ１１５）。そして、選択した初期設定処理の依存関係を取得し、選択した初期設定処理の依存する処理が完了しているか否かを判断する（Ｓ１１６）。この判断処理は、サブＣＰＵのステップＳ２１６と同様である。
【００５４】
メインＣＰＵ１１は、依存関係のある処理の完了フラグが「オン」の場合は、選択した初期設定処理よりも処理順の早い処理はすべて完了しているものと判断して（Ｓ１１６：Ｙｅｓ）選択した初期設定処理の開始フラグを「オン」に変更する（Ｓ１１７）。一方、完了フラグが「オフ」の場合は選択した初期設定処理よりも処理順の早い処理が完了していないものと判断して（Ｓ１１６：Ｎｏ）ステップＳ１１５〜Ｓ１１６の処理を繰り返す。このように、ステップＳ１１５の処理を繰り返す場合は、ステップＳ２１５と同様に、再選択に制限を設けることが望ましい。
【００５５】
選択した初期設定処理の開始フラグを「オン」に変更すると、メインＣＰＵ１１は、選択した初期設定処理を実行する（Ｓ１２０）。そして、処理が完了すると、完了した処理の完了フラグを「オン」に変更する（Ｓ１２５）。そして、レジスター２２を参照し、全ての初期設定処理が実行済みであるかを判断する（Ｓ１３０）。メインＣＰＵ１１は、全ての初期設定処理について「開始フラグ」が「オン」になっていれば、初期設定処理が全て実行されたものと判断して復帰処理を終了する（Ｓ１３０：Ｙｅｓ）。一方、開始フラグが「オフ」の初期設定処理がある場合は、未実行の初期設定処理が残っているものと判断してステップＳ１１０〜Ｓ１３０の処理を繰り返す（Ｓ１３０：Ｎｏ）。
【００５６】
以上のように、初期設定処理の実行状況をレジスター２２で管理することにより、メインＣＰＵ１１とサブＣＰＵ２１が並行して初期設定処理を分担実行できるし、重複実行することもないため、通常モードに移行するまでの時間を短縮することができる。
【００５７】
（３）各種変形例： 
以上説明した実施例は、以下のように変更することも可能である。
（３−１）変形例１：
図７は、変形例１にかかる復帰処理の流れを示すフローチャートである。同図に示す処理では、メインＣＰＵ１１の起動前にサブＣＰＵ２１が初期設定処理を実行する点は上述した実施例と同様であるが、メインＣＰＵ１１の起動後はメインＣＰＵ１１だけで初期設定処理を実行する。メインＣＰＵ１１はサブＣＰＵ２１よりも処理速度が十分に高速であれば、メインＣＰＵ１１だけで初期設定処理を実行しても十分な速度が得られるためである。なお、図７に示すステップＳ３００，Ｓ３０５，Ｓ３１０〜Ｓ３３０，Ｓ４００〜Ｓ４２５の処理は、それぞれ図５に示すステップＳ１００，Ｓ１０５，Ｓ１１０，Ｓ１１５，Ｓ１２０〜Ｓ１３０，Ｓ２００，Ｓ２１５，Ｓ２２０〜Ｓ２２５の処理と同様であるため、以下では、詳しい説明を省略する。
【００５８】
メインＣＰＵ１１は、電源が投入されて動作が安定すると（Ｓ３０５）、動作が安定したことサブＣＰＵ２１に通知する（Ｓ３０７）。サブＣＰＵ２１は、この通知の入力を監視しており、１つの初期設定処理が終了するたびに（Ｓ４３０：Ｎｏ）メインＣＰＵ１１の動作が安定したか否かを判定するようにしてある（Ｓ４３５）。サブＣＰＵ２１は、ステップＳ４１０〜Ｓ４３０を実行している間にメインＣＰＵ１１から上記通知が入力されると、メインＣＰＵ１１の動作が安定したと判断して処理を終了し（Ｓ４３５：Ｙｅｓ）、上記通知が入力されなかった場合は、メインＣＰＵ１１の動作がまだ安定していないと判断して、次の初期設定処理を実行する（Ｓ４３５：Ｎｏ）。
【００５９】
なお、本変形例１では、基本的にはメインＣＰＵ１１とサブＣＰＵ２１が並列に処理を行わないため、上述した実施例において重複実行を防止するために設けてあった開始フラグは、必要なくなる。このように完了フラグのみで実行状況を管理する場合は、ステップＳ３１５，Ｓ４１５において、完了フラグが「オン」であるか否かに基づいて初期設定処理の未実行を判断する。むろん、ステップＳ１１７，Ｓ２１７のように、処理を実行する前に開始フラグを「オン」にするステップもなくなる。また、依存関係についても、メインＣＰＵ１１とサブＣＰＵ２１が並列に処理を行わないため、あらかじめ適切な順番で実行されるように初期設定処理の順番を最適化しておけば、プログラムやテーブルに依存関係を保持しておく必要もない。
【００６０】
以上のように、メインＣＰＵ１１が動作できない期間にサブＣＰＵ２１が初期設定処理を行い、その後、高速なメインＣＰＵ１１の起動後はメインＣＰＵ１１のみで初期設定処理を行うことにより、トータルで復帰処理に要する時間を短縮できる。また、開始フラグが必要ないため、レジスターサイズを縮小してコストダウンできる。また、依存関係を保持するデータが不要なため、プログラムサイズを縮小できる。
【００６１】
なお、上述した変形例１では、サブＣＰＵ２１はステップＳ４３５の判断を１つの初期設定処理を完了してから行うようにしてあるが、むろん、復帰処理とは別のルーチンで所定時間おきにステップＳ４３５に相当する処理を実行するようにしてもよい。このように構成すると、初期設定処理の途中でサブＣＰＵの復帰処理が終了する可能性があるが、上述のように本変形例１では初期設定処理の未実行を完了フラグに基づいて判断している。したがって、未完了の初期設定処理についても未実行とみなして、メインＣＰＵ１１で実行されるため特に問題は生じない。
【００６２】
（３−２）変形例２：
図８は、変形例２にかかる復帰処理の流れを示すフローチャートであり、図９は、変形例２にかかるレジスターの構成を説明する図である。本変形例２では、あらかじめ初期設定処理の処理順を示す処理配列を最適化しておき、一方のＣＰＵは処理配列の先頭から順に処理し、他方のＣＰＵは処理配列の末尾から順に処理する。
【００６３】
例えば、図９に示す例では、処理配列の末尾付近には、順不同に実行可能な初期設定処理を配置し、処理配列の先頭付近には、処理の順番が決まっている初期設定処理を先頭から順に配列してある。このようにすれば、メインＣＰＵ１１の動作が安定するまでの時間と、メインＣＰＵ１１とサブＣＰＵ２１の処理能力とに鑑みて、メインＣＰＵ１１のほうが多くの初期設定処理を実行すると予想される場合に好適である。
【００６４】
また、例えば図９とは逆に、処理配列の末尾付近には、処理の順番が決まっている初期設定処理を末尾から順に配列し、処理配列の先頭付近には、順不同に実行可能な初期設定処理を配置しておいてもよい。このようにすれば、メインＣＰＵ１１の動作が安定するまでの時間と、メインＣＰＵ１１とサブＣＰＵ２１の処理能力とに鑑みて、サブＣＰＵ２１のほうが多くの初期設定処理を実行すると予想される場合に好適である。なお、図８に示した復帰処理では、配列の先頭付近に処理の順番の決まっている処理を順に配列した場合の処理を例にとって示してある。
【００６５】
以上のように構成されたレジスターを参照しつつ実行される図８の復帰処理において、ステップＳ５００〜Ｓ５１０，Ｓ５２０〜Ｓ５３０，Ｓ６００〜Ｓ６１０，Ｓ６２０〜Ｓ６３５は、それぞれ図７のステップＳ３００〜Ｓ３１０，Ｓ３２０〜Ｓ３３０，Ｓ４００〜Ｓ４１０，Ｓ４２０〜Ｓ４３５と同様の処理であるため、説明を省略する。
【００６６】
ステップＳ５１５において、メインＣＰＵ１１は、レジスター２２を参照して未実行の初期設定処理を特定し、その中から処理配列の先頭に最も近いものを１つ選択してステップＳ３２０に進む。また、ステップＳ６１５において、サブＣＰＵ２１は、レジスター２２を参照して未実行の初期設定処理を特定し、その中から処理配列の末尾に最も近いものを１つ選択してステップＳ６２０に進む。
【００６７】
また、レジスター２２によって管理するフラグや依存関係についても、上述した変形例１と同様に、完了フラグだけにしてもよいし、開始フラグと完了フラグと依存関係で管理してもよい。以上の変形例２は、例えば、メインＣＰＵ１１の起動時間でサブＣＰＵ２１がどの程度の処理を実行できるかをあらかじめ大まかに予測できる場合に、レジスターの配列を最適化しておくことによって、ＣＰＵがレジスターを確認する処理が少なくなる点で好適である。
【００６８】
（３−３）変形例３：
図１０は、変形例３にかかる復帰処理の流れを示すフローチャートであり、図１１は、変形例３にかかるレジスターの構成を説明する図である。図１１に示すように、本変形例３においては、メインＣＰＵ１１の実行する処理と、サブＣＰＵ２１の実行する処理とをあらかじめ分けて管理してある。このようにすることで、レジスターの数を減らすことができるし、予め処理の順番を最適化しておくことにより依存関係を管理する必要もなくなる。
【００６９】
なお、図９に示す復帰処理におけるＳ７００〜Ｓ７３０，Ｓ８００〜Ｓ８３０は、ステップＳ１１６，Ｓ１１７，Ｓ２１６，Ｓ２１７を除いて、それぞれ図５のステップＳ１００〜Ｓ１３０，Ｓ２００〜Ｓ２３０とほぼ同様の処理であるので、詳細な説明は省略する。なお、メインＣＰＵ１１は、ステップＳ７１５でメインＣＰＵ用の処理リストから初期設定処理を１つ選択すると、依存関係の判断や開始フラグの変更を行うことなくステップＳ７２０で選択した初期設定処理を実行し、サブＣＰＵ２１は、ステップＳ８１５でサブＣＰＵ用の処理リストから初期設定処理を１つ選択すると、依存関係の判断や開始フラグの変更を行うことなくステップＳ８２０で選択した初期設定処理を実行する。また、ステップＳ７３やステップＳ８３０では、自身の処理リストの処理が全て終了したか否かを判断することになる。
【００７０】
また、例えば、本変形例３に、変形例１のようにメインＣＰＵ１１が動作の安定を通知する構成を採用し、さらに変形例２のように順番に処理する必要があるか否かに応じて処理の順番配列の先頭付近と末尾付近とに分ける構成を、メインＣＰＵ１１の実行する処理として割り当てられた処理に適用してもよい。このように構成することにより、予め決められた所定の処理はサブＣＰＵ２１で実行し、さらに、メインＣＰＵ１１の起動が遅れているときは、メインＣＰＵ１１に割り振られた処理を、処理配列の末尾側から追加実行することもできる。よって、メインＣＰＵ１１の起動時間に変動が大きい場合にも、初期設定処理に要する時間を可能な限り短縮できる。
【００７１】
（３−４）変形例４：
図１２は、ＲＯＭ２３に記憶されているデータ構造を説明する図であり、図１３は、本変形例４にかかる初期設定処理の選択単位を説明する図である。図１２に示すように、ＲＯＭ２３に記憶されているデータは、複数のデータブロックＤ１〜Ｄ４に分かれており、各データブロックにはヘッダーが設けられている。ヘッダーにはデータブロックに含まれるデータに関する各種の情報が含まれており、例えば、コピー要否、圧縮の有無、圧縮形式、コピー条件、コピー先、等の情報が含まれている。これらのデータは、プログラムデータやプログラムの実行中に参照されるデータである。
【００７２】
コピー要否は、ＲＡＭ１２へコピーすべきデータであるか、ＲＯＭ２３から直接に読みだしながら利用されるデータであるかを示す。圧縮の有無は、データが圧縮されているか否かを示し、圧縮形式は、データ圧縮されている場合にその圧縮形式を示す。コピー条件は、転送先であるＲＡＭ１２のサイズが所定のサイズ以上であるか否か等の所定の条件を満たす場合に、ＲＡＭ１２へコピーして利用し、所定の条件を満たさない場合はＲＯＭ２３から直接読み出しながら利用するデータであることを示す。コピー先は、データをＲＡＭ１２にコピーする際のアドレスを指定する。
【００７３】
以上のように、ＲＯＭ２３のデータは、データブロック単位でＲＡＭ１２への転送を管理できるため、図３においてＲＯＭ２３からＲＡＭ１２へのデータコピーＰ７としてまとめて１単位の初期設定処理としてあった処理を、図１３（ａ）に示すように、データブロック単位の初期設定処理として管理することができる。このように、各初期設定処理の処理単位を細分化することにより、メインＣＰＵ１１とサブＣＰＵ２１とで並行して初期設定処理を実行する際の分担を各ＣＰＵの処理に能力に合わせて均等化しやすくなる。また、図１３（ｂ）に示すように、細分化された処理単位ごとに完了フラグを管理できるようになるため、サブＣＰＵ２１が処理途中で終了されても、その後、メインＣＰＵ１１が未完了の処理の全体を実行しても、処理時間のロスはそれほど大きくならない。
【００７４】
（３−５）変形例５：
以上説明した実施例や変形例１〜４では、節電モードからの復帰処理の初期設定処理の短縮を例にとって説明していたが、本発明は、通常の電源投入の直後に実行される初期設定処理に適用してもむろん構わない
【００７５】
（４）まとめ： 
以上説明した実施形態によれば、メインＣＰＵ１１を備えたメインコントローラー１０とサブＣＰＵ２１を備えたサブコントローラー２０とを備えたプリンター１００であって、サブＣＰＵ２１は、メインＣＰＵ１１に対する電源供給が開始されてからメインＣＰＵ１１が起動する（安定動作可能な状態になる）までの間に、少なくともメインＣＰＵ１１が起動後に行うプリンター１００の初期設定処理の一部を実行しつつその実行状況をレジスター２２に記憶し、メインＣＰＵ１１は、起動後に、レジスター２２を参照しつつ未実行の初期設定処理を実行する。このように構成することにより、２つの処理部を備えたプリンター１００において、一方の処理部が起動したときにプリンター１００に対して実行する各種の初期設定処理に要する時間を短縮し、印刷装置の起動を高速化することができる。
【００７６】
なお、本発明は上述した実施形態や変形例に限られず、上述した実施形態および変形例の中で開示した各構成を相互に置換したり組み合わせを変更したりした構成、公知技術並びに上述した実施形態および変形例の中で開示した各構成を相互に置換したり組み合わせを変更したりした構成、等も含まれる。
【符号の説明】
【００７７】
１００…プリンター、１０…メインコントローラー、１１…メインＣＰＵ、１２…ＲＡＭ、１３…メモリーＡＳＩＣ、２０…サブコントローラー、２１…サブＣＰＵ、２２…レジスター、２３…ＲＯＭ、２４…ホストＩ／Ｆ、２５…パネル、２６…ＳＲＡＭ、２７…Ｉ／Ｏ ＡＳＩＣ、３０…印刷エンジン、４０…電源ユニット、５０…スイッチ回路、Ｄ１〜Ｄ４…データブロック、Ｐ１〜Ｐ１２…初期設定処理、Ｇ１〜Ｇ７…処理グループ
【図１】
2011178069.tif 000003
【図２】
2011178069.tif 000004
【図３】
2011178069.tif 000005
【図４】
2011178069.tif 000006
【図５】
2011178069.tif 000007
【図６】
2011178069.tif 000008
【図７】
2011178069.tif 000009
【図８】
2011178069.tif 000010
【図９】
2011178069.tif 000011
【図１０】
2011178069.tif 000012
【図１１】
2011178069.tif 000013
【図１２】
2011178069.tif 000014
【図１３】
2011178069.tif 000015