(57)【要約】【課題】装置の起動処理を単に並行して実行する場合よりも起動時間を短縮することができる、マルチＣＰＵ又はマルチコアＣＰＵを備えた画像処理装置を提供する。【解決手段】第１コア１０４及び第２コア１０６を有するＣＰＵ１０２と、ＲＯＭ１０８と、ＲＡＭ１１０と、拡張バス１６０と、第１〜第３デバイス１４０〜１４４とを備える画像処理装置１００であって、電力供給が開始されると、第１コア１０２はＲＯＭ１０８及びＲＡＭ１１０の初期化を実行した後、第１コアはＯＳの起動を開始し、第２コアは、ＲＯＭ１０８から拡張バス１６０及び第１〜第３デバイス１４０〜１４４の初期化情報を読出し、それらのレジスタ及びＲＡＭの初期化対象領域に設定することにより、ハードウェアの初期化を実行する。これにより、装置の起動処理を単に並行して実行する場合よりも、画像処理装置１００の起動時間を短縮することができる。【選択図】図３
2013152509.tif 000002
【特許請求の範囲】
【請求項１】
複数の処理手段と、不揮発性記憶手段と、揮発性記憶手段と、記録紙に画像を形成するためのハードウェアデバイスとを備える画像処理装置であって、
前記画像処理装置への電力供給が開始されると、複数の前記処理手段のうちの１つの処理手段である第１処理手段は、前記不揮発性記憶手段及び前記揮発性記憶手段の初期化処理を実行して、前記不揮発性記憶手段及び前記揮発性記憶手段へのアクセスを可能にし、
前記不揮発性記憶手段及び前記揮発性記憶手段へのアクセスが可能になれば、
前記第１処理手段は、前記画像処理装置の基本プログラムを起動し、
複数の前記処理手段のうち、前記第１処理手段と異なる１つの処理手段である第２処理手段は、前記不揮発性記憶手段から前記ハードウェアデバイスの初期化情報を読出し、当該初期化情報を前記ハードウェアデバイスの初期化対象であるレジスタ、及び前記揮発性記憶手段の初期化対象である領域に設定することにより、前記ハードウェアデバイスの初期化を実行することを特徴とする画像処理装置。
【請求項２】
複数の前記処理手段は、前記第１処理手段による前記基本プログラムの起動、及び前記第２処理手段による前記ハードウェアデバイスの初期化が完了した後、アプリケーションプログラムを実行することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記第２処理手段は、前記第１処理手段による前記基本プログラムの起動が完了したか否かを判定することにより、前記アプリケーションプログラムを実行可能なタイミングを決定することを特徴とする請求項２に記載の画像処理装置。
【請求項４】
前記ハードウェアデバイスを複数備え、
複数の前記処理手段のうち、前記第１処理手段及び第２処理手段と異なる処理手段と、前記第２処理手段とは、複数の前記ハードウェアデバイスのうち、各々に割当てられたハードウェアデバイスの初期化を実行することを特徴とする請求項１〜３の何れか１項に記載の画像処理装置。
【請求項５】
割当てられたハードウェアデバイスの初期化を終えた処理手段は、割当てられたハードウェアデバイスの初期化を終えていない処理手段に割当てられたハードウェアデバイスの一部の初期化を、割当てられたハードウェアデバイスの初期化を終えていない前記処理手段に代わって実行することを特徴とする請求項４に記載の画像処理装置。
【請求項６】
前記画像処理装置に対するユーザの指示を受付ける操作手段をさらに備え、
前記ユーザによる前記操作手段の操作に応じて、前記第２処理手段が、前記不揮発性記憶手段から読出した前記初期化情報を、前記ハードウェアデバイスの初期化対象であるレジスタ、及び前記揮発性記憶手段の初期化対象である領域に設定することにより、前記ハードウェアデバイスを初期化する処理と、前記第１処理手段又は第２処理手段が、ハードウェアデバイスを検出し、検出された当該ハードウェアデバイスを初期化する処理とが、選択的に実行されることを特徴とする請求項１から５の何れか１項に記載の画像処理装置。
【請求項７】
複数の前記処理手段は、ＣＰＵ又はＣＰＵコアであることを特徴とする請求項１から６の何れか１項に記載の画像処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電源投入後の起動時間が短い、複数のＣＰＵ、又は複数のＣＰＵコアを有するＣＰＵを備えた画像処理装置に関する。
【背景技術】
【０００２】
電子機器である画像処理装置の１種として、多くの事業所（会社、事務所等）に、記録紙に画像を形成する画像形成装置（代表的にはコピー機）が導入されている。このような事業所において、プリンタ機能又はコピー機能等を備えた画像形成装置をネットワークに接続し、これらを複数のユーザで共用するケースが多くなっている。このような画像形成装置の１種である複合機（ＭＦＰ（ＭｕｌｔｉＦｕｎｃｔｉｏｎ  Ｐｅｒｉｐｈｅｒａｌ））は、コピー機能、ファクシミリ（以下、ファクシミリをＦＡＸともいう）機能、ネットワーク対応のプリント機能、及びスキャナ機能等、複数の機能を備える。
【０００３】
近年、コンピュータの処理速度の向上を目的として、複数のＣＰＵ（以下、マルチＣＰＵという）を備えたコンピュータ、さらには複数のＣＰＵコアを有する１つのＣＰＵ（以下、マルチコアＣＰＵという）を備えたコンピュータが普及しつつある。複合機は、コンピュータと同様のハードウェア構成及びソフトウェア構成によって、上記した各機能を実現しており、複合機においても、マルチＣＰＵ又はマルチコアＣＰＵが装備されるようになってきている。
【０００４】
通常、マルチＣＰＵ又はマルチコアＣＰＵを備えた装置においては、ハードウェアの初期化及び基本プログラム（以下、ＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）という）の起動が完了した後に、マルチＣＰＵ又はマルチコアＣＰＵによる処理（アプリケーションプログラムの実行）が可能になる。例えば、２つのＣＰＵを備えた装置においては、図１に示すように、一方のＣＰＵ（以下、第１のＣＰＵという）が、ハードウェアの初期化及びＯＳの起動を実行する。その間、他方のＣＰＵ（以下、第２のＣＰＵという）は動作しない。
【０００５】
具体的には、時刻ｔ１で装置の電源がオンされると、第１のＣＰＵは、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）及びＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）へのアクセスを可能にするために、これらの初期化を行なう。続いて、第１のＣＰＵは、ＲＯＭの所定アドレスに記憶されている、ＲＯＭ及びＲＡＭ以外のハードウェアデバイス（ＨＤＤ、バス等）を初期化するためのプログラム（例えば、ＢＩＯＳ（Ｂａｓｉｃ  Ｉｎｐｕｔ／Ｏｕｔｐｕｔ  Ｓｙｓｔｅｍ））を、ＲＡＭに読出す。第１のＣＰＵは、読出したプログラムを実行して、ハードウェアデバイスを検出し、検出されたハードウェアデバイスの初期化を実行する。
【０００６】
例えば、ＰＣＩバス（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ  Ｂｕｓ）を採用した装置の場合、図２に示すような順序で、第１のＣＰＵによるハードウェアの初期化（ＰＣＩバスの初期化）が実行される。第１のＣＰＵは、ＰＣＩのＩ／Ｏレジスタの設定として、Ｉ／Ｏレジスタに所定のデータを書込んだ後、Ｉ／Ｏレジスタからデータを読出して確認する。正しく設定されていれば、次の設定として、ＰＣＩのメモリ０アドレスレジスタに所定のデータを書込んだ後、メモリ０アドレスレジスタのデータを読出して確認する。以下、同様に、書込んだデータを確認しながら、メモリ１アドレスレジスタの設定〜バスマスターアクセスイネーブルの設定を、順に実行する。
【０００７】
ハードウェアの初期化が終われば、第１のＣＰＵは、ＲＯＭ又はＨＤＤからＯＳをＲＡＭに読出し、読出したＯＳを実行可能にする（ＯＳの起動）。ＯＳが起動された時刻ｔ１の後、所定のアプリケーションプログラムが、ＨＤＤからＲＡＭに読出され、第１及び第２のＣＰＵによって実行される。これによって、アプリケーションプログラムは、１つのＣＰＵで処理される場合よりも高速に実行される。
【０００８】
ここで読出されるＯＳ及びアプリケーションプログラムは、１つのＣＰＵによって実行されるプログラムとは異なり、マルチＣＰＵ又はマルチコアＣＰＵによって実行可能なように最適化されている（マルチＣＰＵでの実行に適したプログラムと、マルチコアＣＰＵによる実行に適したプログラムとは異なる）。
【０００９】
このように、ＯＳが起動した後は、マルチＣＰＵ又はマルチコアＣＰＵによって、１つのＣＰＵよりも高速に処理が実行される。一方、マルチＣＰＵ又はマルチコアＣＰＵを備えた装置の電源をオンしてからＯＳの起動が完了するまでの時間（以下、装置の起動時間ともいう）は、１つのＣＰＵを備えた装置と同じである。この点を改善するために、例えば、下記特許文献１には、装置の起動時間を短縮することができる情報処理装置が開示されている。この情報処理装置は、メインＣＰＵとサブＣＰＵとを備え、メインＣＰＵが、サブＣＰＵの起動及びハードウェアの初期化を行ない、サブＣＰＵがＯＳ及びアプリケーションプログラムを起動する。この情報処理装置では、電源投入時、ハードウェアの初期化と並行して、ＯＳ及びアプリケーションプログラムを起動することによって、装置の起動時間を短縮することができる。
【先行技術文献】
【特許文献】
【００１０】
【特許文献１】特開２００８−１３００３６号公報
【発明の概要】
【発明が解決しようとする課題】
【００１１】
上記特許文献１に開示された技術では、１つのＣＰＵで装置の起動時の全ての処理を実行する場合よりも、装置の起動時間を短縮することができる。しかし、ハードウェアの初期化処理自体は従来と同じであるので、装置の起動時間の短縮には限界があり、より一層装置の起動時間を短縮するためには、別の発想が必要となる。
【００１２】
したがって、本発明は、装置の起動処理を単に並行して実行する場合よりもさらに装置の起動時間を短縮することができる、マルチＣＰＵ又はマルチコアＣＰＵを備えた画像処理装置を提供することを目的とする。
【課題を解決するための手段】
【００１３】
上記の目的は、下記によって達成することができる。
【００１４】
即ち、本発明の画像処理装置は、複数の処理部と、不揮発性記憶部と、揮発性記憶部と、記録紙に画像を形成するためのハードウェアデバイスとを備える画像処理装置であって、画像処理装置への電力供給が開始されると、複数の処理部のうちの１つの処理部である第１処理部は、不揮発性記憶手部及び揮発性記憶部の初期化処理を実行して、不揮発性記憶部及び揮発性記憶部へのアクセスを可能にし、不揮発性記憶部及び揮発性記憶部へのアクセスが可能になれば、第１処理部は画像処理装置の基本プログラムを起動し、複数の処理部のうち、第１処理部と異なる１つの処理部である第２処理部は、不揮発性記憶部からハードウェアデバイスの初期化情報を読出し、当該初期化情報をハードウェアデバイスの初期化対象であるレジスタ、及び揮発性記憶部の初期化対象である領域に設定することにより、ハードウェアデバイスの初期化を実行する。
【００１５】
好ましくは、複数の処理部は、第１処理部による基本プログラムの起動、及び第２処理部によるハードウェアデバイスの初期化が完了した後、アプリケーションプログラムを実行する。
【００１６】
より好ましくは、第２処理部は、第１処理部による基本プログラムの起動が完了したか否かを判定することにより、アプリケーションプログラムを実行可能なタイミングを決定する。
【００１７】
さらに好ましくは、画像処理装置は、ハードウェアデバイスを複数備え、複数の処理部のうち、第１処理部及び第２処理部と異なる処理部と、第２処理部とは、複数のハードウェアデバイスのうち、各々に割当てられたハードウェアデバイスの初期化を実行する。
【００１８】
好ましくは、割当てられたハードウェアデバイスの初期化を終えた処理部は、割当てられたハードウェアデバイスの初期化を終えていない処理部に割当てられたハードウェアデバイスの一部の初期化を、割当てられたハードウェアデバイスの初期化を終えていない処理部に代わって実行する。
【００１９】
より好ましくは、画像処理装置は、画像処理装置に対するユーザの指示を受付ける操作部をさらに備え、ユーザによる操作部の操作に応じて、第２処理部が、不揮発性記憶部から読出した初期化情報を、ハードウェアデバイスの初期化対象であるレジスタ、及び揮発性記憶部の初期化対象である領域に設定することにより、ハードウェアデバイスを初期化する処理と、第１処理部又は第２処理部が、ハードウェアデバイスを検出し、検出された当該ハードウェアデバイスを初期化する処理とが、選択的に実行される。
【００２０】
さらに好ましくは、複数の処理部は、ＣＰＵ又はＣＰＵコアである。
【発明の効果】
【００２１】
本発明によれば、装置の起動処理を単に並行して実行する場合よりも、画像処理装置の起動時間を短縮することができる。
【００２２】
不揮発性記憶部から読出した初期化情報をレジスタ等に書込むだけであるので、ハードウェアの初期化時間を従来よりも短縮することができる。したがって、ＯＳの起動時間を従来よりも短縮できるので、装置の起動時間を従来よりも短縮することができる。
【００２３】
また、初期化方法を、管理者を含むユーザが選択できるようにすることによって、装置のハードウェア構成に変更があった場合にも適切に装置を起動することができる。ハードウェア構成に変更があった場合に、一度だけ通常の初期化処理を行ない、その結果を新たな初期化情報として不揮発性記憶装置に記憶することによって、次回からは、ハードウェアの初期化処理を高速に実行することができる。
【図面の簡単な説明】
【００２４】
【図１】従来の電源をオンした後の初期化処理を示す図である。
【図２】従来のＰＣＩバスの初期化処理を示す図である。
【図３】本発明の実施の形態に係る画像処理装置の構成を示すブロック図である。
【図４】本発明の実施の形態に係る画像処理装置において実行される初期化プログラムの制御構造を示すフローチャートである。
【図５】本発明の実施の形態に係る画像処理装置の初期化処理を、従来の初期化処理と対比して示す図である。
【図６】本発明の実施の形態に係る画像処理装置によるＰＣＩバスの初期化処理を示す図である。
【図７】本発明の実施の形態に係る画像処理装置において実行される、図４と異なる初期化プログラムの制御構造を示すフローチャートである。
【図８】ユーザに初期化方法を選択させる画面を示す図である。
【図９】本発明の実施の形態に係る画像処理装置において実行される、図４及び図７と異なる初期化プログラムの制御構造を示すフローチャートである。
【発明を実施するための形態】
【００２５】
以下の実施の形態では、同一の部品には同一の参照番号を付してある。それらの名称及び機能も同一である。したがって、それらについての詳細な説明は繰返さない。
【００２６】
図３を参照して、本発明の実施の形態に係る画像処理装置１００は、マルチコアＣＰＵ１０２、ＲＯＭ１０８、ＲＡＭ１１０、ホストバス１１２、バスコントローラ１２０、ＨＤＤ１３０、第１デバイス１４０、第２デバイス１４２、第３デバイス１４４、画像入力部１５０、画像形成部１５２、操作部１５４、及び拡張バス１６０を備えている。マルチコアＣＰＵ１０２は、第１コア１０４及び第２コア１０６を備えている。ＲＯＭ１０８は、画像処理装置１００の動作を制御するのに必要なプログラム及びデータが記憶されている不揮発性記憶装置である。ＲＯＭ１０８は、通電が遮断された場合にもデータを保持する記憶装置であればよく、書換ができない読出専用メモリに限定されず、電気的に書換え可能な記憶装置であってもよい。ＲＡＭ１１０は、揮発性の記憶装置である。
【００２７】
マルチコアＣＰＵ１０２、ＲＯＭ１０８、及びＲＡＭ１１０は、ホストバス１１２に接続されている。これらの間でのデータ交換は、ホストバス１１２を介して行なわれる。マルチコアＣＰＵ１０２を構成する第１コア１０４及び第２コア１０６は、ホストバス１１２とのインターフェイス（図示せず）を介してホストバス１１２に接続されている。
【００２８】
第１コア１０４及び第２コア１０６はそれぞれ、ホストバス１１２を介してＲＯＭ１０８からプログラムをＲＡＭ１１０上に読出して、ＲＡＭ１１０の一部を作業領域としてプログラムを実行する。即ち、第１コア１０４及び第２コア１０６は、ＲＯＭ１０８に格納されているプログラムにしたがって画像処理装置１００を構成する各部の制御を行ない、画像処理装置１００の各機能（コピー、プリント、ＦＡＸ機能等）を実現する。
【００２９】
ＲＡＭ１１０は、画像を表示するためのビデオメモリとしての機能を備えている。即ち、ＲＡＭ１１０の一部はＶＲＡＭとして使用される。なお、ＲＡＭ１１０とは別にＶＲＡＭを備える構成であってもよい。
【００３０】
バスコントローラ１２０は、ホストバス１１２及び拡張バス１６０を制御する。例えば、バスコントローラ１２０は、ホストバス１１２及び拡張バス１６０間でのデータ交換のタイミングを制御する。また、バスコントローラ１２０はレジスタを備え、レジスタの設定値は、拡張バス１６０に接続されるハードウェアデバイス（第１デバイス１４０等）の初期化に使用され、デバイスのアドレス及びデバイスが使用するメモリ空間の割当て情報である。
【００３１】
ＨＤＤ１３０、第１デバイス１４０、第２デバイス１４２、及び第３デバイス１４４は、拡張バス１６０に接続されている。これらは、バスコントローラ１２０及び拡張バス１６０を介して、マルチコアＣＰＵ１０２によって制御される。
【００３２】
ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）１３０は、画像データ、アプリケーションプログラム等を記憶するための不揮発性の大容量の記憶装置である。
【００３３】
画像入力部１５０は、画像を入力するための装置であり、例えば原稿を読込むためのスキャナ等である。画像入力部１５０には、ネットワークに接続するためのＮＩＣ（Ｎｅｔｗｏｒｋ  Ｉｎｔｅｒｆａｃｅ  Ｃａｒｄ）、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）メモリ等も含まれる。
【００３４】
第１デバイス１４０は、画像入力部１５０とのインターフェイスを担う。したがって、図３では、１つの第１デバイス１４０しか図示していないが、複数の画像入力部１５０があれば、それぞれに対応する第１デバイス１４０が装備される。例えば、画像入力部１５０がスキャナであれば、第１デバイス１４０は、スキャナからのデータを、拡張バス１６０を介してＲＡＭ１１０又はＨＤＤ１３０に記憶できるデータに変換する。画像入力部１５０が、外部ネットワークに接続するためのＮＩＣ（Ｎｅｔｗｏｒｋ  Ｉｎｔｅｒｆａｃｅ  Ｃａｒｄ）であれば、第１デバイス１４０は、ＮＩＣを介して取得する通信データを、拡張バス１６０を介してＲＡＭ１１０又はＨＤＤ１３０に記憶できるデータに変換する。また、第１デバイス１４０は、ＲＡＭ１１０又はＨＤＤ１３０に記憶されたデータを、ネットワークに出力するためにＮＩＣに提供する。同様に、画像入力部１５０がＵＳＢメモリであれば、第１デバイス１４０は、ＵＳＢメモリから読出されたデータを、拡張バス１６０を介してＲＡＭ１１０又はＨＤＤ１３０に記憶できるデータに変換する。また、第１デバイス１４０は、ＲＡＭ１１０又はＨＤＤ１３０に記憶されたデータを、ＵＳＢメモリに提供する。
【００３５】
画像形成部１５２は、記録紙に画像を形成（印刷）するための装置である。例えば、画像形成部１５２は、光走査装置、現像器、感光体ドラム、帯電器、転写ローラ、及び定着ユニット等を備えている。これらが、マルチコアＣＰＵ１０２によって制御されて、記録紙上にトナーが定着されて画像が形成される。
【００３６】
第２デバイス１４２は、画像形成部１５２の各構成要素とのインターフェイスを担う。画像形成においては、感光体ドラムの表面を帯電器で帯電させ、感光体ドラムの表面にトナーを付着させる。その感光体ドラムの表面を、光走査装置が備えているレーザ出射部から出力されるレーザによって、形成する画像に応じて照射した後、不要なトナーを除去した後、感光体ドラム上のトナーを転写ローラの表面に転写する。転写ローラ上のトナーは記録紙の表面に転写され、記録紙上のトナーは定着ユニットによって加熱及び圧接されて、記録紙に定着される。これによって、記録紙上に画像が形成される。これら一連の画像形成処理は、画像形成部の各構成要素が、所定のタイミングで、所定の電圧の供給を受けて動作することによって実現される。第２デバイス１４２は、画像形成部１５２の各構成要素に所定のタイミングで、所定の電圧を供給するためのハードウェアデバイス（プリンタエンジン）である。
【００３７】
操作部１５４は、ユーザが画像処理装置１００に対する指示を行なうためのハードウェアキー、及び、タッチパネルディスプレイ等である。ユーザがハードウェアキー（コピーの開始キー等）を押下した場合、画像処理装置１００は該当する処理を実行する。タッチパネルディスプレイは、液晶パネル等の表示パネルとタッチパネルとが重畳された装置である。画像処理装置１００が、操作部１５４としてタッチパネルディスプレイを備える場合、表示パネルにソフトウェアキーが表示される。ユーザが、ソフトウェアキーに対応するタッチパネル上の位置にタッチすると、該当する処理が実行される。
【００３８】
第３デバイス１４４は、操作部１５４とのインターフェイス及び操作部１５４を駆動するための装置である。操作部１５４がハードウェアキーであれば、第３デバイス１４４は、ハードウェアキーの押下による電気信号を、マルチコアＣＰＵ１０２に伝達できるデータに変換する。操作部１５４が、タッチパネルディスプレイであれば、第３デバイス１４４は、表示パネルを駆動するドライバとして機能し、且つ、タッチパネルがタッチされて発生する電気信号を、タッチ位置を表すデータに変換して、マルチコアＣＰＵ１０２に伝達する。
【００３９】
拡張バス１６０は、例えばＰＣＩバスである。ＰＣＩバスは、コンピュータで一般に使用されている公知のバスである。
【００４０】
拡張バス１６０に接続されるデバイスには、初期化時に、デバイスのレジスタ等の設定値をバスコントローラ１２０のレジスタから読出し、確認しながら設定を行なうデバイスがある。初期化時には、通常、バスコントローラ１２０のレジスタ等に初期設定値が設定され、バスコントローラ１２０が初期化される（図２参照）。バスコントローラ１２０の初期化後、バスコントローラ１２０は、バスコントローラ１２０に接続されたデバイス（第１デバイス１４０等）の検出を行ない、検出されたデバイスの情報がバスコントローラ１２０のレジスタに反映される。このレジスタ情報は、各デバイスのＩ／Ｏアドレス、及び各デバイスが使用するメモリ空間の割当て情報（ＲＡＭ１１０のアドレス）となる。この情報がレジスタから読出されて、デバイス設定のベースアドレスとして使用され、デバイスの初期化が実行される。デバイスが拡張バス１６０に常に決まった状態（他のデバイスを含めて同じ構成及び配置）で接続されている場合、設定されるデバイスのＩ／Ｏアドレスは、通常決まったアドレスとなる。また、初期化時のバスコントローラ１２０、及び各デバイスのレジスタの初期値、及び使用するメモリの内部情報も決まった値となる。
【００４１】
画像処理装置１００における初期化プログラムは、上記の点に注目し、起動時の初期化時間の短縮を実現する。以下に、図４を参照して、図３の画像処理装置１００において、起動時の初期化処理を実行するプログラムの制御構造に関して説明する。本初期化プログラムは、第１コア１０４及び第２コア１０６によって実行される。
【００４２】
画像処理装置１００の電源がオンされると、ステップ３００において、第１コア１０４は、ＲＯＭ１０８及びＲＡＭ１１０の初期化を実行する。即ち、第１コア１０４は、従来と同様に、ＲＯＭ１０８及びＲＡＭ１１０をアクセス可能な状態にする。
【００４３】
ステップ３０２において、第１コア１０４は、ＲＯＭ１０８から初期化プログラムを読出して、ＲＡＭ１１０に記憶する。
【００４４】
ステップ３０４において、初期化プログラムにしたがって、第１コア１０４はＯＳの起動を開始し、第２コア１０６を起動する。起動された第２コア１０６は、ハードウェアの初期化を開始する。具体的には、第１コア１０４は、ＲＯＭ１０８又はＨＤＤ１３０からＯＳをＲＡＭ１１０上に読出して、ＯＳを実行可能な状態にする。第２コア１０６は、ＲＯＭ１０８からハードウェアを初期化するための初期化データを読出し、初期化データを該当するレジスタ、及びＲＡＭの該当するアドレス等に書込む。ここで実行されるハードウェア初期化は、プログラムによってハードウェアデバイスを検出しながら行なわれる従来のハードウェア初期化とは異なる。第２コア１０６は、ハードウェアデバイスを検出することなく、ＲＯＭ１０８から読出したデータを該当するレジスタ等に書込むだけであり、書込んだデータを読出して正しく書込まれたか確認する処理も行なわない。
【００４５】
例えば、拡張バス１６０（ＰＣＩバス）の初期化においては、従来のように、ＰＣＩのレジスタを順次設定する必要はない。第２コア１０６は、図５の鎖線４００内に示すＰＣＩレジスタ等（Ｉ／Ｏアドレスレジスタ、メモリ０アドレスレジスタ、メモリ１アドレスレジスタ、ベースアドレス１レジスタ、ベースアドレス２レジスタ、データスワップレジスタ、コンフィギュレーションレジスタ、デバイス別ベースアドレス）の設定を、任意の順序で行なう（任意の順序でＲＯＭ１０８から読出したデータを書込む）。図５の鎖線４００内に示す設定が終わった後、第２コア１０６は、ＰＣＩバスマスターアクセスイネーブルの設定を行なう。その後、ＰＣＩバスに接続されている第１デバイス１４０〜第３デバイス１４４等のハードウェア初期化を、同様にＲＯＭ１０８から読出したデータを用いて実行する。
【００４６】
なお、ＯＳがＲＯＭ１０８に記憶されている場合、ＲＯＭ１０８は既にアクセス可能になっているので、第１コア１０４は直ちにＯＳの起動を開始することができる。一方、ＯＳがＨＤＤ１３０に記憶されている場合には、第１コア１０４がＯＳの起動を実行するためには、第２コア１０６がＨＤＤ１３０を初期化するのを待たなければならない。
【００４７】
ステップ３０６において、第１コア１０４及び第２コア１０６は、ＯＳの起動及びハードウェアの初期化が完了したか否かを判定する。完了したと判定された場合、本プログラムは終了する。そうでなければ、ステップ３０６が繰返される。ＯＳの初期化に関しては、ハードウェアの初期化が完了していなければ実行できない処理がある。したがって、ステップ３０６においては、第１コア１０４がＯＳの起動を継続し、第２コア１０６が、ＯＳの起動の完了を待つことになる。
【００４８】
なお、上記したように、第２コア１０６は、ＲＯＭ１０８から読出したデータを該当するレジスタ等に書込むだけであるので、第２コア１０６によるハードウェアの初期化に要する時間は、従来よりも短縮される。したがって、それに応じて、第１コア１０４によるＯＳの起動時間も、従来のＯＳ起動時間よりも短縮される。
【００４９】
以上によって、画像処理装置１００の起動時の初期化処理プログラムが終了すれば、第１コア１０４及び第２コア１０６が、所定のアプリケーションを実行可能な状態になる。例えば、第１コア１０４及び第２コア１０６は、ユーザによる、画像処理装置１００の操作部１５４の操作を待ち受けるアプリケーションプログラムを実行する。画像処理装置１００の操作部１５４が、タッチパネルディスプレイであれば、第１コア１０４及び第２コア１０６は、ＨＤＤ１３０から所定のデータをＲＡＭ１１０に読出して、基本画面（各機能を開始するためのソフトウェアキーを含む）の画像データを生成し、操作部１５４の表示パネルに基本画面を表示し、各キーがタッチされたか否かを検出するプログラムを実行する。第１コア１０４及び第２コア１０６は、操作部１５４の操作に応じて、該当する処理（コピー、プリント、ＦＡＸ送信等に関する設定、及びそれら機能の実行）を行なう。
【００５０】
図６を参照して、上記した本実施の形態に係る初期化処理を、従来の初期化処理と比較する。図６の上段は、図１に示した従来のマルチＣＰＵの場合の初期化処理と同じである。下段は、本実施の形態に係る初期化処理を示す。
【００５１】
画像処理装置１００の電源が時刻ｔ０でオンされた場合、最初に、第１コア１０４が、ＲＯＭ１０８及びＲＡＭ１１０の初期化を行なう（ステップ３００）。次に、第１コア１０４が、ＲＯＭ１０８から初期化プログラムを読出す（ステップ３０２）。これらの処理は、従来と同様の処理である。画像処理装置１００では、初期化プログラムの読出が終わった後、時刻ｔ２で第１コア１０４がＯＳの起動を開始し、これと並行して、第２コア１０６がハードウェアの初期化を実行する（ステップ３０４）。従来では、第１のＣＰＵが、ハードウェアの初期化を実行した後、ＯＳの起動を開始するのに対して、画像処理装置１００では、第１コア１０４及び第２コア１０６が並行して、それぞれＯＳの起動及びハードウェアの初期化を実行するので、ＯＳの起動時間及びハードウェアの初期化時間は従来よりも短時間で完了する。
【００５２】
特に、第２コア１０６によるハードウェアの初期化処理では、ハードウェアデバイスの検出及びレジスタ等に書込んだデータの確認を行なわないので、従来のハードウェア初期化処理に要する時間Ｔ１よりも、短い時間Ｔ２（Ｔ２＜Ｔ１）で、第２コア１０６によるハードウェアの初期化は終わる。ＯＳの起動完了は、ハードウェアの初期化完了よりも後になるので、ハードウェアの初期化時間Ｔ２が従来よりも短くなれば、ＯＳの起動時間Ｔ４も従来よりも短くなる（Ｔ４＜Ｔ３）。したがって、画像処理装置１００においてアプリケーションプログラムが実行可能になる時刻ｔ３は、従来の時刻ｔ１よりもΔＴ（＝ｔ１−ｔ３）だけ早くなる。
【００５３】
なお、第２コア１０６は、起動時のハードウェア初期化において、ＲＯＭ１０８から読出したデータを、該当するレジスタ等に書込むだけである。コンピュータであれば、拡張バスに拡張ボードが追加される等、ハードウェアデバイスが変更されることは日常的に行なわれるので、ハードウェアの初期化において、ハードウェアデバイスの検出及び確認処理は重要である。しかし、複合機等の画像処理装置では、ハードウェア構成は、最初に装置が導入されたときから殆ど変更されない。複合機は、基本構成以外に、ユーザからの要望を受けて、種々の機能を実現可能なようにするための拡張機器が準備されているが、通常は、事業所にリース契約等で複合機が導入された後に、機能を拡張するための機器が追加されることはまれである。したがって、画像処理装置においては、起動時のハードウェア初期化において、ＲＯＭから読出したデータを該当するレジスタ等に書込むだけでも、通常何ら問題は発生しない。
【００５４】
図３に示した画像処理装置１００においても、ハードウェア構成が変更される可能性はあるので、それに対応できることが好ましい。ハードウェア構成の変更に対応した初期化プログラムの制御構造の例を、図７に示す。図７の初期化プログラムでは、ユーザ（装置の管理者を含む）からの指示に応じて、上記した初期化処理又は従来の初期化処理を選択的に実行する。以下において、図４と同じ参照符号を付したステップにおいては、図４と同じ処理が実行されるので、それらの説明は繰返さない。画像処理装置１００は、操作部１５４としてタッチパネルディスプレイを備えているとする。
【００５５】
画像処理装置１００の電源がオンされると、ステップ３００において、第１コア１０４は、ＲＯＭ１０８及びＲＡＭ１１０の初期化を実行する。
【００５６】
ステップ５００において、第１コア１０４は、タッチパネルディスプレイ（操作部１５４）に選択画面を表示する。具体的には、第１コア１０４は、ＲＯＭ１０８から所定のプログラムを読出し、第３デバイス１４４の初期化を行なった後、初期化方法をユーザに選択させる画像をタッチパネルディスプレイに表示する。例えば、タッチパネルディスプレイには、図８に示すような画面６００が表示される。
【００５７】
ステップ５０２において、第１コア１０４は、タッチパネルディスプレイのキー６０２又は６０４がタッチされたか否かを判定する。キー６０２は、上記したようにＲＯＭ１０８から読出したデータを該当するレジスタに書込むことによって、高速にハードウェアの初期化を行なうことを指示するためのキーである。キー６０４は、従来のハードウェア初期化を指示するためのキーである。これらのキーにタッチされたと判定された場合、制御はステップ５０４に移行する。そうでなければ、ステップ５０２が繰返される。
【００５８】
ステップ５０４において、第１コア１０４は、キー６０２又は６０４の何れがタッチされたかを判定し、制御を切換える。具体的には、キー６０２がタッチされたと判定された場合（高速初期化）、制御はステップ３０２に移行し、上記したように、ステップ３０２〜３０４において、第１コア１０４及び第２コア１０６によって並行して初期化処理が実行される。キー６０４がタッチされたと判定された場合（通常初期化）、制御はステップ５０６に移行する。
【００５９】
ステップ５０６において、第１コア１０４は、ＲＯＭ１０８から初期化プログラムを読出して、ＲＡＭ１１０に記憶する。ここで読出される初期化プログラムは、ステップ３０２で読出される初期化プログラムとは異なる。
【００６０】
ステップ５０８において、ステップ５０６で読出した初期化プログラムにしたがって、第１コア１０４はＯＳの起動を開始し、第２コア１０６を起動する。起動された第２コア１０６は、ＲＯＭ１０８から通常の初期化プログラムをＲＡＭ１１０に読出し、これにしたがってハードウェアの初期化を開始する。即ち、第２コア１０６は、従来と同様にハードウェアデバイスを検出し、検出されたハードウェアデバイスの初期化処理を実行する。
【００６１】
例えば、拡張バス１６０の初期化においては、第２コア１０６は、従来のように（図２参照）、ＰＣＩのレジスタを順次設定する。その後、第２コア１０６は、通常の初期化方法にしたがって、拡張バス１６０に接続されているハードウェアデバイスの初期化を行なう。例えば、第２コア１０６は、拡張バス１６０に接続されているハードウェアデバイスを検出し、検出されたハードウェアデバイスのレジスタ等に初期データを書込む。さらに、第２コア１０６は、レジスタからデータを読出して、正しく書込まれたか確認する。
【００６２】
ステップ５１０において、第１コア１０４及び第２コア１０６は、ＯＳの起動及びハードウェアの初期化が完了したか否かを判定する。完了したと判定された場合、制御はステップ５１２に移行する。そうでなければ、ステップ５１０が繰返される。ＯＳの初期化に関しては、ハードウェアの初期化が完了していなければ実行できない処理があるので、第２コア１０６が、第１コア１０４によるＯＳの起動の完了を待つことになる。
【００６３】
ハードウェアの初期化及びＯＳの起動が完了した後、ステップ５１２において、第１コア１０４又は第２コア１０６は、通常の初期化処理によって新たに決定されたハードウェアの初期化データを用いて、ＲＯＭ１０８の初期化データを更新する。例えば、第１コア１０４は、通常のハードウェアの初期化処理を実行中に決定された初期化データを、ＲＡＭ１１０に記憶しておき、ＯＳの起動が完了した時点で、ＲＡＭ１１０に記憶した初期化データで、ＲＯＭ１０８の対応する初期化データを上書きする。
【００６４】
ステップ３０６又はステップ５１２の後、本プログラムは終了する。本プログラム、即ち、画像処理装置１００の起動時の初期化処理が終了すれば、第１コア１０４及び第２コア１０６が、所定のアプリケーションを実行可能な状態になる。
【００６５】
以上のように、ハードウェアデバイスが交換された場合、又は、新たなハードウェアデバイスが追加された場合等において、通所のハードウェアの初期化を行なうことによって、画像処理装置１００を正常に起動することができる。また、ハードウェアデバイスに変更があった場合、通常の初期化処理によって決定されたデータを初期化データとしてＲＯＭ１０８に保存することによって、次回からは、図４に示した高速初期化処理を行なうことができ、画像処理装置１００の起動時間を短縮することができる。
【００６６】
図７では、第２コア１０６が、従来と同様にプログラムによるハードウェア初期化を実行する場合を説明したが、これに限定されない。例えば、図９に示すように、第１コア１０４が、従来と同様にプログラムによるハードウェア初期化を実行してもよい。
【００６７】
図９が、図７と異なるのは、ステップ５０８がステップ５２０に変更され、ステップ５１０が無く、新たにステップ５２２が追加されていることのみである。図４及び図７と同じ参照符号を付したステップの処理は、図４及び図７と同じであるので、説明を繰返さない。
【００６８】
ステップ５２０において、第１コア１０４は、ステップ５０６で読出した初期化プログラムにしたがって、従来と同様に、プログラムによるハードウェアの初期化及びＯＳの起動処理を実行する。即ち、第１コア１０４は、先ずハードウェアの初期化処理を実行し、ハードウェアの初期化処理が完了した後、ＲＯＭ１０８又はＨＤＤ１３０からＯＳをＲＡＭ１１０上に読出して、ＯＳを実行できる状態にする。
【００６９】
例えば、拡張バス１６０（ＰＣＩバス）の初期化においては、第１コア１０４は、従来のように（図２参照）、ＰＣＩのレジスタを順次設定する。その後、通常の初期化方法にしたがって、拡張バス１６０に接続されているハードウェアの設定を行なう。第１コア１０４は、拡張バス１６０に接続されているハードウェアデバイスを検出し、検出されたハードウェアデバイスの各レジスタ等に初期データを書込む。
【００７０】
ハードウェアの初期化及びＯＳの起動が完了した後、ステップ５１２において、第１コア１０４はＲＯＭ１０８の初期化データを更新する。
【００７１】
ステップ５２２において、第１コア１０４は、第２コア１０６を起動する。
【００７２】
図９に示した初期化プログラムでは、第１コア１０４がステップ５０６及びステップ５２０を実行するので、図７のステップ５１０のように、ハードウェア初期化及びＯＳ起動が完了したか否かを判定する処理は不要である。
【００７３】
以上によって、ハードウェアデバイスが交換された場合、又は、新たなハードウェアデバイスが追加された場合等において、通所のハードウェアの初期化を行なうことによって、画像処理装置１００を正常に起動することができる。また、ハードウェアデバイスに変更があった場合、通常の初期化処理によって決定されたデータを初期化データとしてＲＯＭ１０８に保存することによって、次回からは、図４に示した高速初期化処理を行なうことができ、画像処理装置１００の起動時間を短縮することができる。
【００７４】
上記では、初期化方法を選択する画面（図８）を表示して、ユーザの操作を待ち受ける場合を説明したが、これに限定されない。例えば、画像処理装置１００の電源をオンした後の所定時間内に、キー６０２及びキー６０４の何れもタッチされなかった場合、高速初期化又は通常初期化を実行するようにしてもよい。
【００７５】
上記では、操作部１５４としてタッチパネルディスプレイを備えた画像処理装置１００の場合を説明したが、これに限定されない。タッチパネルディスプレイを備えておらず、操作部１５４としてハードウェアキーのみを備えた画像処理装置であっても、ハードウェアデバイスの変更に対応して初期化を行なうことができる。例えば、電源をオンした後の所定時間内に、所定のハードウェアキー（例えば、テンキーの“０”、クリアキー“Ｃ”等）が押された場合、通常初期化を実行し、所定のハードウェアキーが押されなかった場合、高速初期化を実行するようにしてもよい。
【００７６】
図３の構成は、画像処理装置のハードウェア構成の一例であり、これに限定されない。例えば、マルチコアＣＰＵ１０２、ＲＯＭ１０８、及びＲＡＭ１１０等が１つのチップ（Ｓｏｃ：Ｓｙｓｔｅｍ  ｏｎ  ｃｈｉｐ）として構成されてもよい。
【００７７】
また、上記では、画像処理装置が備えるマルチコアＣＰＵが、２つのコアを有するＣＰＵ（デュアルコアＣＰＵ）である場合を説明したが、これに限定されない。３つ以上のコアを有するマルチコアＣＰＵであってもよい。３つ以上のコアを有するマルチコアＣＰＵを使用する場合には、３つ以上のコアで、初期化の処理をどのように分担するかは任意である。例えば、ステップ３０４において、１つのコアがＯＳを起動し、残りの複数のコアで、ハードウェアの初期化を実行することができる。ＯＳを起動するコア以外の複数のコアに、初期化対象である複数のハードウェアデバイスをどのように割当てるかは任意である。また、複数のコアの各々に、初期化を行なうデバイスを割当て、初期化処理を実行した場合、各コアによる初期化時間がばらつく可能性がある。その場合には、早く初期化処理を終えたコアが、初期化処理を終えていないコアに割当てられたデバイスの一部の初期化を、そのコアに代わって実行するようにしてもよい。
【００７８】
このように、ハードウェアの初期化を、複数のコアで実行することにより、ハードウェアの初期化時間をより短縮することができる。したがって、ＯＳの起動時間をもより短縮することができ、電源がオンされてからの装置の起動時間をより短縮することができる。
【００７９】
また、上記では、画像処理装置が、マルチコアＣＰＵを備える場合を説明したが、これに限定されない。画像処理装置は、デジタルデータの処理（データの読出し、書込み、及び演算等）を実行することができる処理部を複数備えていればよく、マルチＣＰＵを備えていてもよい。例えば、画像処理装置が２つのＣＰＵ（第１のＣＰＵ及び第２のＣＰＵ）を備える場合には、図４又は図７に示したプログラムにおいて、第１コアの処理を第１のＣＰＵが実行し、第２コアの処理を第２のＣＰＵが実行するようにすればよい。
【００８０】
上記では、本発明の初期化処理を適用する装置が画像処理装置である場合を説明したが、これに限定されない。マルチＣＰＵ又はマルチコアＣＰＵを備え、設置後ハード構成が変更されない、又は、変更される可能性が低い装置であれば、本発明の初期化方法を適用することができる。
【００８１】
以上、実施の形態を説明することにより本発明を説明したが、上記した実施の形態は例示であって、本発明は上記した実施の形態に限定されるものではなく、種々変更して実施することができる。
【符号の説明】
【００８２】
１００    画像処理装置
１０２    マルチコアＣＰＵ
１０４    第１コア
１０６    第２コア
１０８    ＲＯＭ
１１０    ＲＡＭ
１１２    ホストバス
１２０    バスコントローラ
１３０    ＨＤＤ
１４０    第１デバイス
１４２    第２デバイス
１４４    第３デバイス
１５０    画像入力部
１５２    画像形成部
１５４    操作部
１６０    拡張バス
【図１】
2013152509.tif 000003
【図２】
2013152509.tif 000004
【図３】
2013152509.tif 000005
【図４】
2013152509.tif 000006
【図５】
2013152509.tif 000007
【図６】
2013152509.tif 000008
【図７】
2013152509.tif 000009
【図８】
2013152509.tif 000010
【図９】
2013152509.tif 000011