JP2011232791A - 情報処理装置、及び情報処理方法 - Google Patents

情報処理装置、及び情報処理方法 Download PDF

Info

Publication number
JP2011232791A
JP2011232791A JP2010099616A JP2010099616A JP2011232791A JP 2011232791 A JP2011232791 A JP 2011232791A JP 2010099616 A JP2010099616 A JP 2010099616A JP 2010099616 A JP2010099616 A JP 2010099616A JP 2011232791 A JP2011232791 A JP 2011232791A
Authority
JP
Japan
Prior art keywords
initialization
information processing
processing apparatus
cpu
program
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2010099616A
Other languages
English (en)
Inventor
Yoshitomo Mizoguchi
喜智 溝口
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Seiko Epson Corp
Original Assignee
Seiko Epson Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Seiko Epson Corp filed Critical Seiko Epson Corp
Priority to JP2010099616A priority Critical patent/JP2011232791A/ja
Publication of JP2011232791A publication Critical patent/JP2011232791A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Accessory Devices And Overall Control Thereof (AREA)
  • Stored Programmes (AREA)
  • Facsimiles In General (AREA)

Abstract

【課題】複数のCPUを備える情報処理装置において、その起動処理にかかる時間を短くする。
【解決手段】情報処理装置は、デバイス毎に初期化プログラムを有する。情報処理装置のマスターCPU及びスレーブCPUはそれぞれ、共通に実行対象である初期化プログラム群の中から、未実行の初期化プログラムを動的に選択して実行する。全ての初期化プログラムが実行済みとなった場合、各CPUは、自身のOSプログラムを起動し、情報処理装置をアイドル状態に移行する。
【選択図】図4

Description

本発明は、複数のCPUを用いた情報処理技術に関する。
プリンター、コピー機、複合機等の情報処理装置には、その印刷処理等のデータ処理を高速化するために複数のCPUを設けたものがある。
例えば、特許文献1には、2つのCPUにそれぞれ異なるデータ処理を予め固定的に割り当てておくことにより段階的に進むデータ処理を並列化する印刷装置、が記載されている。
特開2000−198240号公報
ところで、情報処理装置の電源オン時の起動処理(起動シーケンス)においては、例えばネットワークインターフェイス(I/F)、印刷エンジン、スキャナーエンジン等の各種のデバイスやユニットの初期化処理が実行される。この起動処理において、各種初期化処理を複数のCPUにそれぞれ予め固定的に割り当てておけば、並列化により起動処理全体の時間を短縮することができる。
しかしながら、各種デバイスやユニットの初期化処理は、その平均的な時間で毎回完了するとは限らない。例えば、印刷エンジンやスキャナーエンジン等は、何らかの機構の問題によりエラー状態のまま電源オフされた場合、次の電源オン時の初期化処理において、そのエラーの復帰処理が行われる。エラー復帰処理では、例えば、キャリッジ位置の調整、印刷ヘッド位置の調整、キャリブレーション等が行われる。画像形成媒体の初期充填、印刷ヘッドのクリーニング処理等が行われる場合もある。このエラー復帰処理を含む初期化処理は通常の初期化処理よりも時間がかかる。
上述のように、ある初期化処理の時間がより長くなると、その初期化処理の後にCPUが予定している他の初期化処理が開始されるまでの時間が長くなってしまう。即ち、当該CPUに割り当てられた全ての初期化処理が終了するまでの時間が長くなってしまう。その結果、情報処理装置全体の起動処理の時間が長くかかってしまう。
そこで、本発明は、複数のCPUを備える情報処理装置において、その起動処理にかかる時間を短くすることを目的とする。
上記の課題を解決するための本発明の一態様は、複数のCPU、及び複数のデバイス備え、前記デバイスの初期化処理を含む起動処理を実行する情報処理装置であって、前記デバイスの初期化を行うための前記デバイス毎の初期化プログラムと、前記初期化プログラム毎の実行状態を含む管理情報と、を予め格納した第1記憶手段と、前記初期化プログラムと前記管理情報とを、前記CPUにより実行可能に格納する第2記憶手段と、を有し、前記CPUそれぞれについて、前記第2記憶手段に格納された管理情報を参照して、未実行の初期化プログラムを特定する特定手段と、前記特定された初期化プログラムに対応する実行状態を実行済みに設定する設定手段と、前記第2記憶手段に格納された前記特定された初期化プログラムを実行する実行手段と、を有する、ことを特徴とする。
ここで、上記の情報処理装置であって、前記CPUそれぞれについて、前記初期化プログラム毎の実行状態が全て実行済みに設定されている場合に、OSを起動するOS起動手段を有する、ことを特徴としていてもよい。
また、上記の情報処理装置であって、前記複数のCPUは、マスターCPUとスレーブCPUに分類され、前記情報処理装置は、前記スレーブCPUについて、前記スレーブCPUのOSの起動が完了した場合に、前記マスターCPUに通知を行うOS起動通知手段を有し、前記マスターCPUのOS起動手段は、前記通知を受け付けた場合にOSを起動する、ことを特徴としていてもよい。
また、上記の情報処理装置であって、前記マスターCPUについて、前記通知を受け付けた場合に、前記第2記憶手段に格納されている前記初期化プログラムと前記管理情報とを削除する削除手段を有する、ことを特徴としていてもよい。
また、上記のいずれかの情報処理装置であって、前記初期化プログラムは、OSに依存しないプログラムである、ことを特徴としていてもよい。
また、上記のいずれかの情報処理装置であって、前記特定手段は、ステップ数が多い初期化プログラムから優先的に特定する、ことを特徴としていてもよい。
また、上記のいずれかの情報処理装置であって、前記デバイス毎の初期化プログラムの個数は、前記CPUの個数よりも多い、ことを特徴としていてもよい。
また、上記のいずれかの情報処理装置であって、前記複数のCPUは、それぞれ異なるOSで動作する、ことを特徴としていてもよい。
また、上記のいずれかの情報処理装置であって、前記デバイスは、プリンター、スキャナー、ファクシミリ、ネットワークインターフェイスの少なくとも二つ以上である、ことを特徴としていてもよい。
上記の課題を解決するための本発明の他の態様は、複数のCPU、及び複数のデバイス備え、前記デバイスの初期化処理を含む起動処理を実行する情報処理装置における情報処理方法であって、前記デバイスの初期化を行うための前記デバイス毎の初期化プログラムと、前記初期化プログラム毎の実行状態を含む管理情報と、を第1記憶手段に予め格納し、前記初期化プログラムと前記管理情報とを、前記CPUにより実行可能に第2記憶手段に格納し、前記CPUそれぞれについて、前記第2記憶手段に格納された管理情報を参照して、未実行の初期化プログラムを特定する特定ステップと、前記特定された初期化プログラムに対応する実行状態を実行済みに設定する設定ステップと、前記第2記憶手段に格納された前記特定された初期化プログラムを実行する実行ステップと、を含む、ことを特徴とする。
本発明の一実施形態の一例である印刷装置1のハードウェアの概略構成を示す図。 各CPUによる印刷装置1の起動処理の一例を示すフロー図。 初期化管理テーブル100の構成例を示す図。 複数CPUによる印刷装置1の起動処理(エラーが発生した場合)の一例を示すシーケンス図。 従来の複数CPUによる印刷装置の起動処理の一例を示すシーケンス図。 従来の複数CPUによる印刷装置の起動処理(エラーが発生した場合)の一例を示すシーケンス図。
以下、本発明の一実施形態について図面を参照しながら説明する。
本実施形態では、情報処理装置として印刷装置1を例に挙げて説明する。もちろん、情報処理装置は、印刷装置に限られず、デバイスやユニットごとに初期化処理が必要な装置であれば、他の種の装置であってもよい。
図1は、本発明の一実施形態の一例である印刷装置1のハードウェアの概略構成を示す図である。
印刷装置1は、制御ユニット10と、スキャナーユニット20と、プリンターユニット30と、ファクシミリユニット40と、操作パネル50とを有する。
制御ユニット10は、印刷装置1を統合的に制御し、印刷装置1の各種機能(例えば、印刷機能、スキャン機能、コピー機能、ファクシミリ機能等)を実現するユニットである。制御ユニット10は、マスターCPU11と、スレーブCPU12と、ネットワークインターフェイス(I/F)13と、ROM14と、RAM15と、制御I/F16とを有する。なお、「マスター」と「スレーブ」は、2つのCPUを区別し易いように便宜上付けた名称であり、これに限れられるものではない。例えば、「マスター」は「メイン」と、「スレーブ」は「サブ」と置き換えてもよい。
マスターCPU11及びスレーブCPU12はそれぞれ、異なる所定のOSプログラムに従って各種デバイスやユニットを制御し、印刷装置1の各種機能を実現する。例えば、印刷装置1の起動処理後のアイドル状態において、マスターCPU11は、スキャナーユニット20及びプリンターユニット30を制御し、スレーブCPU12は、ファクシミリユニット40、ネットワークI/F13及び操作パネル50を制御する。
なお、本実施形態では、アイドル状態における各種機能の処理や制御は主要な事項ではないため、説明を省略する。
また、マスターCPU11及びスレーブCPU12はそれぞれ、所定の起動プログラムに従って各種デバイスやユニットの初期化処理を行う。即ち、印刷装置1の電源オン時の起動処理(起動シーケンス)を実現する。
詳細は後述するが、印刷装置1に電源が投入されると、マスターCPU11及びスレーブCPU12はそれぞれ、所定の起動プログラムをROM14から読み出してRAM15に展開し、実行する。この起動プログラムにより、マスターCPU11及びスレーブCPU12はそれぞれ、各種デバイスやユニット毎に用意された初期化プログラムを実行する。
ここで、マスターCPU11及びスレーブCPU12がそれぞれどの初期化プログラムを実行するかは固定的に割り当てられていない。マスターCPU11及びスレーブCPU12はそれぞれ、共通に実行対象である初期化プログラム群の中から、未実行の初期化プログラムを動的に選択して実行する。なお、初期化プログラムの数は、CPUの数よりも多いことを前提とする。全ての初期化プログラムが実行済みとなった場合、マスターCPU11及びスレーブCPU12はそれぞれ、自身のOSプログラムをROM14から読み出してRAM15に展開し、実行し、印刷装置1をアイドル状態に移行させる。
なお、本実施形態では、説明を分かり易くするため、初期化処理の対象は、ネットワークI/F13、スキャナーユニット20、プリンターユニット30、及びファクシミリユニット40であるものとする。もちろん、他のデバイスやユニットの初期化処理が含まれていてもよい。
ネットワークI/F13は、LAN等のネットワークに接続され、当該ネットワーク上の装置、例えば、プリンタードライバーがインストールされたPC等と通信する。ネットワークI/F13は、コネクタ、ネットワークコントローラーを含み、例えば、Eternet(登録商標)に対応したNIC(Network Interface Card)である。
ROM14は、印刷装置1の制御に必要な各種プログラムを予め格納する不揮発性のメモリーであり、例えば、フラッシュROMである。本実施形態では、ROM14は、印刷装置1の起動処理を行うための起動プログラム、起動処理中に各種デバイスやユニットの初期化処理を行うための初期化プログラム、各CPU(マスターCPU11及びスレーブCPU12)により実行されるOSプログラムを格納している。もちろん、必要に応じて他のプログラムを格納していてもよい。
OSプログラムは、マスターCPU11及びスレーブCPU12それぞれについて存在する。起動プログラムは、マスターCPU11及びスレーブCPU12で共通に一つ存在する。初期化プログラムは、各種デバイスやユニット(ネットワークI/F13、スキャナーユニット20、プリンターユニット30、及びファクシミリユニット40)それぞれについて存在する。また、初期化プログラムは、OSプログラムの起動前に各CPUにより実行可能な、OSに依存しないプログラムである。もちろん、各種プログラムの数や処理分担は、上記に限られず、例えば、起動プログラムはCPU毎に存在していてもよい。
RAM15は、データやプログラムを一時的に格納する揮発性メモリーであり、例えば、DDR−SDRAM(Double Data Rate SDRAM)である。RAM15には、例えば、マスターCPU11及びスレーブCPU12により実行・使用される起動プログラム(後述する初期化管理テーブル100を含む。)、初期化プログラム、OSプログラム等が格納される。
制御I/F16は、各種ユニット(スキャナーユニット20、プリンターユニット30、ファクシミリユニット、操作パネル50)と、制御ユニット10との間の通信を制御するインターフェイス回路である。
スキャナーユニット20は、原稿を読み取ってスキャン画像データを形成するユニットである。スキャナーユニット20は、いわゆるスキャナーであり、例えば、イメージセンサー、光源、キャリッジ、A/D変換器、画像処理回路等を有する。
プリンターユニット30は、印刷対象のデータ(例えば、スキャン画像データ、PCから送られた印刷データ等)に基づいて印刷媒体へ印刷を行うユニットである。プリンターユニット30は、例えば、インクジェット方式のシリアルプリンターである。もちろん、印刷方式はこれに限られず、例えば、レーザー方式のページプリンターであってもよい。
ファクシミリユニット40は、送受信対象の画像データを電話回線を介して相手先のファクシミリ装置と送受信するユニットである。ファクシミリユニット40は、いわゆるファクシミリであり、例えば、スキャナーユニット20により読み取られた画像データを加工して、電話回線を介して送信する。また、例えば、電話回線を介して受信した画像データを、プリンターユニット30に送り、印刷を実行させる。
操作パネル50は、ユーザーと印刷装置1との間の入出力インターフェイスとして、印刷装置1の筐体に設けられているユニットである。操作パネル50は、例えば、液晶ディスプレイ(Liquid Crystal Display)や有機ELディスプレイ(Electro-Luminescence Display)などのディスプレイと、タッチパネルと、ハードスイッチ等を有する。
上記の印刷装置1の構成は、本願発明の特徴を説明するにあたって主要構成を説明したのであって、上記の構成に限られない。また、一般的な印刷装置が備える構成を排除するものではない。
次に、上述の印刷装置1において実行される起動処理について説明する。
図2は、各CPUによる印刷装置1の起動処理の一例を示すフロー図である。本フローは、印刷装置1の電源がオンにされた後、マスターCPU11及びスレーブCPU12がそれぞれ上述の起動プログラムをROM14から読み出してRAM15に展開して、実行することにより開始される。なお、マスターCPU11とスレーブCPU12のいずれもが実行する処理については、単にCPUを主体として記載する。
S100では、CPUは、自身がマスターであるか否かを判定する。具体的には、CPUは、自身がマスターであるか否かを、例えば、予め決められたアドレスに格納された値をROM14から読み出すことにより判定する。自身がマスターである場合(S100:YES)、処理をS110に進める。自身がマスターでない場合(S100:NO)、処理をS130に進める。
S110では、マスターCPU11は、初期化準備を実行する。具体的には、マスターCPU11は、起動プログラムに従って、起動処理を制御するための初期化管理テーブル100を、各CPUにより共通使用可能なRAM15上の領域に生成する。
初期化管理テーブル100は、例えば、図3に示すように構成することができる。本図に示すように、初期化管理テーブル100は、初期化管理テーブル100へのCPUのアクセスを排他制御するためのアクセスフラグ110(0:アクセスなし、1:アクセス中)を有する。また、各デバイス及びユニット(プリンターユニット30:プリンター機能、スキャナーユニット20:スキャナー機能、ネットワークI/F13:ネットワーク機能、ファクシミリユニット40:ファクシミリ機能)毎に、初期化の実行状態を示す実行フラグ120・130・140・150(0:未実行、1:実行済)と、初期化プログラムのアドレス121・131・141・151とを有する。
もちろん、初期化管理テーブル100の構成は上記に限られない。また、起動処理は、テーブル以外のデータにより制御されるようにしてもよい。
マスターCPU11は、アクセスフラグ110を初期値0に設定する。また、実行フラグ120・130・140・150を初期値0に設定する。また、マスターCPU11は、各種デバイスやユニットの初期化プログラムをROM14から読み出し、各CPUにより共通使用可能なRAM15上の領域に格納する。そして、各初期化プログラムのアドレスを、初期化プログラムのアドレス121・131・141・151として設定する。
図2に戻って、マスターCPU11は、上述のように初期化管理テーブル100をRAM15内に生成して、処理をS120に進める。
S120では、マスターCPU11は、初期化準備(S110)が終了したことを示す初期化準備通知を、スレーブCPU12に送る。そして、処理をS140に進める。
S130では、スレーブCPU12は、起動プログラムにより、初期化準備通知をマスターCPU11から受信したか否かを監視する。初期化準備通知を受信した場合(S130:YES)、処理をS140に進める。初期化準備通知を受信していない間、監視を継続する。
S140では、CPUは、アクセスフラグが0であるか否かを判定する。具体的には、CPUは、RAM15内の初期化管理テーブル100のアクセスフラグ110を参照する。アクセスフラグが0(アクセスなし)である場合(S140:YES)、処理をS150に進める。アクセスフラグが1(アクセス中)である場合(S140:NO)、判定を継続する。
S150では、CPUは、アクセスフラグを1(アクセス中)に設定する。そして、処理をS160に進める。
S160では、CPUは、全ての実行フラグが1であるか否かを判定する。具体的には、CPUは、RAM15内の初期化管理テーブル100の、全ての機能の実行フラグ120・130・140・150を参照する。そして、全ての実行フラグが1(実行済)である場合(S160:YES)、処理をS210に進める。全ての実行フラグが1でない場合(S160:NO)、処理をS170に進める。
S170では、CPUは、初期化処理を未実行の機能の実行フラグに1を設定する。具体的には、CPUは、S160で参照した実行フラグ120・130・140・150のうち、0(未実行)の実行フラグを一つ選択し、1(実行済)を設定する。実行フラグの選択の優先順位は、例えば、初期化管理テーブル100において並べられている順序であってもよいし、ランダムであってもよい。それから、CPUは、選択した実行フラグに対応する機能の、初期化プログラムのアドレス(121、131、141又は151)を読み出してRAM15に格納しておく。そして、CPUは、処理をS180に進める。
S180では、CPUは、アクセスフラグ110(アクセスなし)を設定する。そして、処理をS190に進める。
S190では、CPUは初期化プログラムを実行する。具体的には、CPUは、S170で初期化管理テーブル100から読み出した初期化プログラムのアドレス(121、131、141又は151)に格納されている初期化プログラムを実行する。これにより、スキャナーユニット20、プリンターユニット30、ファクシミリユニット40、ネットワークI/F13のいずれかの初期化処理が開始される。そして、CPUは、処理をS200に進める。
S200では、CPUは、S190で開始した初期化処理の実行が完了したか否かを監視する。初期化処理を完了した場合(S200:YES)、処理をS140に戻す。初期化処理を完了していない場合(S200:NO)、監視を継続する。
S210では、CPUは、アクセスフラグを0(アクセスなし)に設定する。そして、処理をS220に進める。
S220では、CPUは、自身がマスターであるか否かを判定する。自身がマスターである場合(S220:YES)、処理をS250に進める。自身がマスターでない場合(S220:NO)、処理をS230に進める。なお、起動プログラムによるスレーブCPU12の処理は、S220で終了する。
S230では、スレーブCPU12は、OSを起動する。具体的には、スレーブCPU12は、ROM14から予め指定された自身のOSプログラムを読み出してRAM15に展開し、実行する。これにより、ファクシミリユニット40、ネットワークI/F13及び操作パネル50は、アイドル状態となることができる。そして、スレーブCPU12は、処理をS240に進める。
S240では、スレーブCPU12は、OS起動(S230)が終了したことを示すOS起動通知を、マスターCPU11に送る。そして、本フローを終了する。なお、S240の処理は起動プログラムが実行するようにしてもよい。なお、本フロー終了後、マスターCPU11の制御により、印刷装置1はアイドル状態に移行する。
S250では、マスターCPU11は、他の全てのCPU(本実施形態ではスレーブCPU12)からOS起動通知を受信したか否かを監視する。OS起動通知を全て受信した場合(S250:YES)、処理をS260に進める。OS起動通知を全て受信していない間、監視を継続する。なお、起動プログラムによるマスターCPU11の処理は、S250で終了する。
S260では、マスターCPU11は、初期化管理テーブル100を破棄する。具体的には、マスターCPU11は、S110でRAM15に展開した初期化管理テーブル100を消去する。S110でRAM15に展開した初期化プログラムも消去してもよい。また、マスターCPU11は、マスターCPU11及びスレーブCPU12によりRAM15に展開された起動プログラムを消去する。そして、処理をS270に進める。
S270では、マスターCPU11は、OSを起動する。具体的には、マスターCPU11は、ROM14から予め指定された自身のOSプログラムを読み出してRAM15に展開し、実行する。このとき、S260の処理により空いたRAM15の領域を使用する。これにより、スキャナーユニット20及びプリンターユニット30は、アイドル状態となることができる。そして、マスターCPU11は、本フローを終了する。なお、S270の処理は起動プログラムが実行するようにしてもよい。なお、本フロー終了後、マスターCPU11の制御により、印刷装置1はアイドル状態に移行する。
図4は、複数CPUによる印刷装置1の起動処理(エラーが発生した場合)の一例を示すシーケンス図である。本シーケンスは、プリンター機能の初期化処理(S13)に、エラー復帰処理が含まれている場合を示している。エラー復帰処理としては、例えば、ノズルのクリーニング、インクの初期充填、印刷ヘッド位置の調整、キャリブレーション等がある。
印刷装置1の電源がオンされると、マスターCPU11により、初期化準備(S10:図2のS110に対応)、初期化準備通知(S11:図2のS120に対応)、初期化対象の特定(S12:図2のS170に対応)、プリンター機能の初期化(エラー復帰処理を含む。)(S13:図2のS190〜S200に対応)、初期化対象の特定(S14:図2のS160に対応)、OS起動通知待ち(S15:図2のS250に対応)、OS起動(S16:図2のS270に対応)、が実行され、印刷装置1はアイドル状態に移行する。
一方で、印刷装置1の電源がオンされると、スレーブCPU12により、初期化準備通知待ち(S20:図2のS130に対応)、初期化対象の特定(S21:図2のS170に対応)、スキャナー機能の初期化(S22:図2のS190〜S200に対応)、初期化対象の特定(S23:図2のS170に対応)、ネットワーク機能の初期化(S24:図2のS190〜S200に対応)、初期化対象の特定(S25:図2のS170に対応)、ファクシミリ機能の初期化(S26:図2のS190〜S200に対応)、初期化対象の特定(S27:図2のS160に対応)、OS起動(S28:図2のS230に対応)、OS起動通知(S29:図2のS240に対応)が実行され、印刷装置1はアイドル状態に移行する。
ここで、マスターCPU11によるプリンター機能の初期化(S13)が平均的な初期化処理時間よりも長くなった結果、スレーブCPU12により他の機能の初期化(S22、S24、S26)が全て実行されている。マスターCPU11は、プリンター機能の初期化(S13)の後に、更にスキャナー機能の初期化を実行する必要がない。
即ち、本実施形態によれば、あるCPUで実行されるいずれかの機能の初期化処理が長引いた場合であっても、当該CPUが実行予定の他の機能の初期化処理は、他のCPUが空けば当該他のCPUにより実行される。その結果、起動処理全体の処理時間を短縮することができる。
本実施形態の特徴を明確にするため、図5及び図6を参照する。図5は、従来の複数CPUによる印刷装置の起動処理の一例を示すシーケンス図である。図6は、従来の複数CPUによる印刷装置の起動処理(エラーが発生した場合)の一例を示すシーケンス図である。
図5及び図6の例では、複数のCPUにはそれぞれ、固定的に所定の機能の初期化処理が割り当てられている。マスターCPUには、プリンター機能及びスキャナー機能の初期化が割り当てられ、スレーブCPUには、ネットワーク機能の初期化及びファクシミリ機能の初期化が割り当てられている。また、各初期化プログラムは、OSプログラムに依存したプログラムにより記述されている。従って、OS起動後に各初期化プログラムが実行されている。
図5に示すように、印刷装置の電源がオンされると、マスターCPUにより、初期化準備(S60)、初期化準備通知(S61)、OS起動(S62)、プリンター機能の初期化(S63)、スキャナー機能の初期化(S64)、初期化完了の通知待ち(S65)、が実行され、印刷装置はアイドル状態に移行する。
一方、印刷装置の電源がオンされると、スレーブCPUにより、初期化準備通知待ち(S70)、OS起動(S71)、ネットワーク機能の初期化(S72)、ファクシミリ機能の初期化(S73)、初期化完了の通知(S74)、が実行され、印刷装置はアイドル状態に移行する。
図6の各処理の内容も図5と同様である。ただし、図6の例では、プリンター機能の初期化にエラー復帰処理が含まれている。
ここで、図6において、マスターCPUによるプリンター機能の初期化(S63)が平均的な初期化処理時間よりも長くなった結果、スレーブCPUによる所定の機能の初期化(S72、S73)の実行後からアイドル状態に移行するまで空き時間が発生している。マスターCPUは、プリンター機能の初期化(S63)の後に、更にスキャナー機能の初期化処理(S64)を実行する必要がある。
即ち、従来の起動処理によれば、あるCPUで実行される所定の機能の初期化処理が長引いた場合、当該CPUが実行する他の所定機能の初期化処理は、他のCPUにより実行されない。その結果、起動処理全体の処理時間が長くなってしまう。
以上の図2、図4、図5、及び図6の各処理単位は、CPUの処理を理解容易にするために、主な処理内容に応じて分割したものである。処理単位の分割の仕方や名称によって、本願発明が制限されることはない。CPUの処理は、処理内容に応じて、さらに多くの処理単位に分割することもできる。また、1つの処理単位がさらに多くの処理を含むように分割することもできる。
以上、本発明の一実施形態について説明した。本実施形態によれば、複数のCPUを備える情報処理装置において、その起動処理にかかる時間を短くすることができる。
すなわち、本実施形態によれば、複数のCPUそれぞれにより、任意の未実行の初期化対象が選択されて実行される。このような構成により、ある初期化処理が長引いた場合でも、起動処理全体の処理時間を短縮することができる。また、初期化すべき機能が増減した場合であっても、初期化処理の割り当て等を考慮する必要がない。
また、本実施形態によれば、各初期化処理プログラムがOSに依存しないプログラムにより記述されている。このような構成により、初期化処理を複数のCPUに動的に割り当てることが可能となる。
また、本実施形態によれば、起動処理の完了時に、当該起動処理で使用されたテーブルやプログラムがRAMから消去され、OSの領域として使用される。このような構成により、メモリー資源を有効に使用することができる。
なお、上記の本発明の実施形態は、本発明の要旨と範囲を例示することを意図し、限定するものではない。多くの代替物、修正および変形例が当業者にとって明らかである。
例えば、CPUの数は、2つに限られず、3つ以上であってもよい。この場合も、いずれかのCPUがマスターとなり、他のCPUがスレーブとなる。そして、各CPUが未実行の初期化処理を任意に選択して実行する。
また、例えば、他の機能と比較して初期化処理が大幅に長くなる可能性がある機能の初期化処理が、できる限り優先的に選択されるようにしてもよい。具体的には、例えば、上述の実施形態のように、プリンターやスキャナー等の機械的構造を持つユニットの初期化処理を、初期化管理テーブル100の上位に設定するようにする。また、例えば、初期化プログラムのステップ数が多い順に、初期化管理テーブル100の上位に設定するようにしてもよい。このような構成によれば、起動処理時間を短くできるケースをより多くすることができる。
また、例えば、初期化プログラムは、デバイスやユニット毎でなく、予め定めた分割方法で分割されていてもよい。この場合、例えば、一つの初期化プログラムにより、複数のデバイスやユニットを初期化されるようにしたり、複数の初期化プログラムにより、一つのデバイスやユニットが初期化されたりするようにすることができる。
なお、本発明は、印刷装置だけでなく、複数のCPUを有する情報処理装置に適用できる。
1:印刷装置、10:制御ユニット、20:スキャナーユニット、30:プリンターユニット、40:ファクシミリユニット、50:操作パネル、11:CPU(マスター)、12:CPU(スレーブ)、13:ネットワークI/F、14:ROM、15:RAM、16:制御I/F、100:初期化管理テーブル、110:アクセスフラグ、120・130・140・150:実行フラグ、121・131・141・151:初期化プログラムのアドレス

Claims (10)

  1. 複数のCPU、及び複数のデバイス備え、前記デバイスの初期化処理を含む起動処理を実行する情報処理装置であって、
    前記デバイスの初期化を行うための前記デバイス毎の初期化プログラムと、前記初期化プログラム毎の実行状態を含む管理情報と、を予め格納した第1記憶手段と、
    前記初期化プログラムと前記管理情報とを、前記CPUにより実行可能に格納する第2記憶手段と、を有し、
    前記CPUそれぞれについて、
    前記第2記憶手段に格納された管理情報を参照して、未実行の初期化プログラムを特定する特定手段と、
    前記特定された初期化プログラムに対応する実行状態を実行済みに設定する設定手段と、
    前記第2記憶手段に格納された前記特定された初期化プログラムを実行する実行手段と、を有する、
    ことを特徴とする情報処理装置。
  2. 請求項1に記載の情報処理装置であって、
    前記CPUそれぞれについて、
    前記初期化プログラム毎の実行状態が全て実行済みに設定されている場合に、OSを起動するOS起動手段を有する、
    ことを特徴とする情報処理装置。
  3. 請求項2に記載の情報処理装置であって、
    前記複数のCPUは、マスターCPUとスレーブCPUに分類され、
    前記情報処理装置は、
    前記スレーブCPUについて、
    前記スレーブCPUのOSの起動が完了した場合に、前記マスターCPUに通知を行うOS起動通知手段を有し、
    前記マスターCPUのOS起動手段は、前記通知を受け付けた場合にOSを起動する、
    ことを特徴とする情報処理装置。
  4. 請求項3に記載の情報処理装置であって、
    前記マスターCPUについて、
    前記通知を受け付けた場合に、前記第2記憶手段に格納されている前記初期化プログラムと前記管理情報とを削除する削除手段を有する、
    ことを特徴とする情報処理装置。
  5. 請求項1〜4いずれか一項に記載の情報処理装置であって、
    前記初期化プログラムは、OSに依存しないプログラムである、
    ことを特徴とする情報処理装置。
  6. 請求項1〜5いずれか一項に記載の情報処理装置であって、
    前記特定手段は、ステップ数が多い初期化プログラムから優先的に特定する、
    ことを特徴とする情報処理装置。
  7. 請求子1〜6いずれか一項に記載の情報処理装置であって、
    前記デバイス毎の初期化プログラムの個数は、前記CPUの個数よりも多い、
    ことを特徴とする情報処理装置。
  8. 請求子1〜7いずれか一項に記載の情報処理装置であって、
    前記複数のCPUは、それぞれ異なるOSで動作する、
    ことを特徴とする情報処理装置。
  9. 請求項1〜8いずれか一項に記載の情報処理装置であって、
    前記デバイスは、プリンター、スキャナー、ファクシミリ、ネットワークインターフェイスの少なくとも二つ以上である、
    ことを特徴とする情報処理装置。
  10. 複数のCPU、及び複数のデバイス備え、前記デバイスの初期化処理を含む起動処理を実行する情報処理装置における情報処理方法であって、
    前記デバイスの初期化を行うための前記デバイス毎の初期化プログラムと、前記初期化プログラム毎の実行状態を含む管理情報と、を第1記憶手段に予め格納し、
    前記初期化プログラムと前記管理情報とを、前記CPUにより実行可能に第2記憶手段に格納し、
    前記CPUそれぞれについて、
    前記第2記憶手段に格納された管理情報を参照して、未実行の初期化プログラムを特定する特定ステップと、
    前記特定された初期化プログラムに対応する実行状態を実行済みに設定する設定ステップと、
    前記第2記憶手段に格納された前記特定された初期化プログラムを実行する実行ステップと、を含む、
    ことを特徴とする情報処理方法。
JP2010099616A 2010-04-23 2010-04-23 情報処理装置、及び情報処理方法 Pending JP2011232791A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010099616A JP2011232791A (ja) 2010-04-23 2010-04-23 情報処理装置、及び情報処理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010099616A JP2011232791A (ja) 2010-04-23 2010-04-23 情報処理装置、及び情報処理方法

Publications (1)

Publication Number Publication Date
JP2011232791A true JP2011232791A (ja) 2011-11-17

Family

ID=45322071

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010099616A Pending JP2011232791A (ja) 2010-04-23 2010-04-23 情報処理装置、及び情報処理方法

Country Status (1)

Country Link
JP (1) JP2011232791A (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014229207A (ja) * 2013-05-24 2014-12-08 株式会社ケーヒン マルチコアシステム
CN105190550A (zh) * 2013-03-15 2015-12-23 华为技术有限公司 用于启动具有多个中央处理器的计算机系统的方法
JP2016035644A (ja) * 2014-08-01 2016-03-17 京セラドキュメントソリューションズ株式会社 電子機器及び情報処理プログラム
JP2017073597A (ja) * 2015-10-05 2017-04-13 コニカミノルタ株式会社 画像形成装置および管理プログラム
CN117591189A (zh) * 2024-01-18 2024-02-23 深圳市天辰防务通信技术有限公司 时间优化方法、控制装置、导航处理器系统及导航处理器

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105190550A (zh) * 2013-03-15 2015-12-23 华为技术有限公司 用于启动具有多个中央处理器的计算机系统的方法
JP2016513839A (ja) * 2013-03-15 2016-05-16 ホアウェイ・テクノロジーズ・カンパニー・リミテッド 複数の中央処理装置を備えたコンピュータシステムの立ち上げ方法
US9690595B2 (en) 2013-03-15 2017-06-27 Huawei Technologies Co., Ltd. Booting method for computer system with multiple central processing units
JP2014229207A (ja) * 2013-05-24 2014-12-08 株式会社ケーヒン マルチコアシステム
JP2016035644A (ja) * 2014-08-01 2016-03-17 京セラドキュメントソリューションズ株式会社 電子機器及び情報処理プログラム
JP2017073597A (ja) * 2015-10-05 2017-04-13 コニカミノルタ株式会社 画像形成装置および管理プログラム
CN117591189A (zh) * 2024-01-18 2024-02-23 深圳市天辰防务通信技术有限公司 时间优化方法、控制装置、导航处理器系统及导航处理器
CN117591189B (zh) * 2024-01-18 2024-04-26 深圳市天辰防务通信技术有限公司 时间优化方法、控制装置、导航处理器系统及导航处理器

Similar Documents

Publication Publication Date Title
CN110321086B (zh) 非暂时性计算机可读记录介质以及控制信息处理装置的方法
US8839014B2 (en) Apparatus and method for shortening time for transitioning power mode of network communication device by utilizing a shared storage unit, a socket, and a socket wrapper
US8543677B2 (en) Communication control device, method, and computer readable medium allowing an information processing device to be in a power saving mode for an extended period and allowing an application part to continue functioning
US9235793B2 (en) Information processing apparatus, storage medium, and information processing system
US9575546B2 (en) Information processing apparatus selectively enabling or disabling packets discarding feature by its network interface card
US9317281B2 (en) Information processing apparatus, program update method for information processing apparatus, and storage medium
JP2011232791A (ja) 情報処理装置、及び情報処理方法
US8917413B2 (en) Image forming system capable of switching among a plurality of power states
JP2010092458A (ja) 画像処理装置、プログラム起動方法
JP2012221325A (ja) 電子機器
JP2015022681A (ja) 情報処理装置および情報処理装置におけるソフトウェア更新方法
JP7229786B2 (ja) 制御装置、画像形成装置及び起動方法
US11093104B2 (en) Icon display control apparatus that prevents messy display of icons, method of controlling same, and storage medium
JP2006289734A (ja) 画像形成装置、画像形成方法および画像形成プログラム
JP2009211537A (ja) 画像処理装置及びアクセス制御方法
JP2015005028A (ja) 画像処理装置、及び、制御装置
US9047552B2 (en) Forming system and image forming apparatus that generate image log data to server
JP2009169646A (ja) デバイス設定システム及びデバイス設定プログラム
JP2016033809A (ja) 情報処理装置、情報処理装置の制御方法及び応答装置
JP4893800B2 (ja) 画像処理装置
JP5928874B2 (ja) 画像形成装置
JP2021043547A (ja) 情報処理装置および情報処理装置の制御方法ならびにプログラム
JP2019213154A (ja) 画像処理装置、その制御方法、およびプログラム
JP5939377B2 (ja) 通信装置とプログラム
JP2012221326A (ja) 電子機器