(57)【要約】      （修正有）【課題】生産コストを削減することができる情報処理装置を提供する。【解決手段】ＭＦＰは、半導体集積回路２０９ａ，２０９ｂ、ＲＯＭ２０１を備える。半導体集積回路２０９ａ，２０９ｂのそれぞれが１つのＲＯＭバス２３２を介してＲＯＭ２０１に接続される。半導体集積回路２０９ａがＲＯＭ２０１にアクセス中に、半導体集積回路２０９ｂにおいてＲＯＭ２０１とデータ通信を行う端子の出力がハイインピーダンスに制御される。【選択図】図３
2018032313.tif 000002
【特許請求の範囲】
【請求項１】
第１の半導体デバイス、第２の半導体デバイス、前記第１の半導体デバイスのブートプログラム及び前記第２の半導体デバイスのブートプログラムの両方を記憶する記憶手段、並びに前記記憶手段と通信するためのインターフェースを備える情報処理装置であって、
前記第１の半導体デバイスがリセットされたことに従って、前記第１の半導体デバイスは前記インターフェースを介して前記記憶手段から前記第１の半導体デバイスのブートプログラムを読み出し、前記第２の半導体デバイスがリセットされたことに従って、前記第２の半導体デバイスは前記インターフェースを介して前記記憶手段から前記第２の半導体デバイスのブートプログラムを読み出し、
前記第１の半導体デバイスが前記記憶手段から前記第１の半導体デバイスのブートプログラムを読み出している間、前記第２の半導体デバイスから前記インターフェースへの出力をハイインピーダンスにすることを特徴とする情報処理装置。
【請求項２】
前記第１の半導体デバイスは、入力されたデータに対して、第１の画像処理を実行し、前記第２の半導体デバイスは、前記第１の画像処理が実行されたデータに対して、前記第１の画像処理と異なる第２の画像処理を実行することを特徴とする請求項１記載の情報処理装置。
【請求項３】
前記第１の半導体デバイス及び前記第２の半導体デバイスは、複数の機能を有し、且つ前記複数の機能のうち少なくとも１つの機能を設定するための制御端子を有する、同じシリコンダイが搭載された半導体集積回路であることを特徴とする請求項１又は２記載の情報処理装置。
【請求項４】
前記第１の半導体デバイス及び前記第２の半導体デバイスのうち前記情報処理装置のシステムの起動に関わる機能が設定された半導体デバイスによる前記ブートプログラムの読み出しが優先されることを特徴とする請求項３記載の情報処理装置。
【請求項５】
前記記憶手段から前記ブートプログラムを読み出し、前記ブートプログラムに基づいて初期化処理を実行する第１の初期化手段と、
予め設定された設定データに基づいて前記初期化処理を実行する第２の初期化手段と、
前記第１の初期化手段による前記初期化処理を実行するか、若しくは前記第２の初期化手段による前記初期化処理を実行するかのいずれかを決定する決定手段とを更に備え、
前記第２の初期化手段による前記初期化処理の実行に要する消費電力量は、前記第１の初期化手段による前記初期化処理の実行に要する消費電力量より小さく、
前記決定手段は、前記第１の半導体デバイスが前記記憶手段から前記ブートプログラムを読み出した後、前記第２の半導体デバイスの初期化処理を実行する際に、前記第２の半導体デバイスの制御端子の設定に基づいて前記第１の初期化手段による前記初期化処理を実行するか、若しくは前記第２の初期化手段による前記初期化処理を実行するかのいずれかを決定することを特徴とする請求項３又は４記載の情報処理装置。
【請求項６】
第１の半導体デバイス、前記第１の半導体デバイスと同じシリコンダイを有する第２の半導体デバイス、少なくとも前記第１の半導体デバイスのブートプログラムを記憶する記憶手段、及び前記記憶手段と通信するためのインターフェースを備える情報処理装置であって、
前記第１の半導体デバイスがリセットされたことに従って、前記第１の半導体デバイスは前記インターフェースを介して前記記憶手段から前記第１の半導体デバイスのブートプログラムを読み出し、当該ブートプログラムに基づいて初期化処理を実行し、
前記第２の半導体デバイスがリセットされたことに従って、前記第２の半導体デバイスは当該第２の半導体デバイスに予め設定された設定データに基づいて前記初期化処理を実行することを特徴とする情報処理装置。
【請求項７】
前記第１の半導体デバイスは、入力されたデータに対して、第１の画像処理を実行し、前記第２の半導体デバイスは、前記第１の画像処理が実行されたデータに対して、前記第１の画像処理と異なる第２の画像処理を実行することを特徴とする請求項６記載の情報処理装置。
【請求項８】
前記設定データに基づいて行われる前記初期化処理の実行に要する消費電力量は、前記ブートプログラムに基づいて行われる前記初期化処理の実行に要する消費電力量より小さいことを特徴とする請求項６又は７記載の情報処理装置。
【請求項９】
ＤＲＡＭ及びＰＣＩｅシステムを備え、
前記初期化処理は、前記ＤＲＡＭの初期化処理、及び前記ＰＣＩｅシステムの初期化処理を含むことを特徴とする請求項６乃至８のいずれか１項に記載の情報処理装置。
【請求項１０】
第１の半導体デバイス、第２の半導体デバイス、前記第１の半導体デバイスのブートプログラム及び前記第２の半導体デバイスのブートプログラムの両方を記憶する記憶手段、並びに前記記憶手段と通信するためのインターフェースを備える情報処理装置の制御方法であって、
前記第１の半導体デバイスがリセットされたことに従って、前記第１の半導体デバイスは前記インターフェースを介して、前記記憶手段から前記第１の半導体デバイスのブートプログラムを読み出し、前記第２の半導体デバイスがリセットされたことに従って、前記第２の半導体デバイスは前記インターフェースを介して、前記記憶手段から前記第２の半導体デバイスのブートプログラムを読み出し、
前記第１の半導体デバイスが前記記憶手段から前記第１の半導体デバイスのブートプログラムを読み出している間、前記第２の半導体デバイスから前記インターフェースへの出力をハイインピーダンスにすることを特徴とする情報処理装置の制御方法。
【請求項１１】
第１の半導体デバイス、前記第１の半導体デバイスと同じシリコンダイを有する第２の半導体デバイス、少なくとも前記第１の半導体デバイスのブートプログラムを記憶する記憶手段、及び前記記憶手段と通信するためのインターフェースを備える情報処理装置の制御方法であって、
前記第１の半導体デバイスがリセットされたことに従って、前記第１の半導体デバイスは前記インターフェースを介して前記記憶手段から前記第１の半導体デバイスのブートプログラムを読み出し、当該ブートプログラムに基づいて初期化処理を実行し、
前記第２の半導体デバイスがリセットされたことに従って、前記第２の半導体デバイスは当該第２の半導体デバイスに予め設定された設定データに基づいて前記初期化処理を実行することを特徴とする情報処理装置の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置及びその制御方法、並びにプログラムに関し、特に、半導体集積回路を備える情報処理装置及びその制御方法、並びにプログラムに関する。
【背景技術】
【０００２】
起動時に初期化処理を実行する情報処理装置としてのＭＦＰ（Multi Function Printer）が知られている。ＭＦＰは、複数の半導体集積回路及び当該複数の半導体集積回路のそれぞれに対応する複数のＲＯＭを備え、各ＲＯＭには各半導体集積回路の初期化処理を実行するためのブートプログラムが格納されている。近年では、ＭＦＰの生産コスト削減の観点から、ＭＦＰの部品点数、例えば、ブートプログラムを格納するＲＯＭの個数を削減する構成が検討されている。この構成として、例えば、複数の半導体集積回路に対して１つのＲＯＭのみを備える構成が考えられるが、この構成では、複数の半導体集積回路から１つのＲＯＭへのアクセスが集中し、通信不良が発生する可能性がある。これに対応して、複数の半導体集積回路に対し、１つのＲＯＭの他に、各半導体集積回路が自由にアクセス可能な１つの共通メモリを更に備える構成が知られている（例えば、特許文献１及び特許文献２参照）。これにより、ＲＯＭの個数を削減しても、複数の半導体集積回路から１つのＲＯＭへのアクセスの集中を回避することができる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平４−１７７４５２号公報
【特許文献２】特開２０１４−８１７８１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１及び特許文献２の技術では、ブートプログラムが格納されたＲＯＭの他に、上記共通メモリを新たに設ける必要があり、ＭＦＰの生産コストを十分に削減することができない。
【０００５】
本発明の目的は、生産コストを削減することができる情報処理装置及びその制御方法、並びにプログラムを提供することにある。
【課題を解決するための手段】
【０００６】
上記目的を達成するために、本発明の情報処理装置は、第１の半導体デバイス、第２の半導体デバイス、前記第１の半導体デバイスのブートプログラム及び前記第２の半導体デバイスのブートプログラムの両方を記憶する記憶手段、並びに前記記憶手段と通信するためのインターフェースを備える情報処理装置であって、前記第１の半導体デバイスがリセットされたことに従って、前記第１の半導体デバイスは前記インターフェースを介して前記記憶手段から前記第１の半導体デバイスのブートプログラムを読み出し、前記第２の半導体デバイスがリセットされたことに従って、前記第２の半導体デバイスは前記インターフェースを介して前記記憶手段から前記第２の半導体デバイスのブートプログラムを読み出し、前記第１の半導体デバイスが前記記憶手段から前記第１の半導体デバイスのブートプログラムを読み出している間、前記第２の半導体デバイスから前記インターフェースへの出力をハイインピーダンスにすることを特徴とする。
【０００７】
また、上記目的を達成するために、本発明の情報処理装置は、第１の半導体デバイス、前記第１の半導体デバイスと同じシリコンダイを有する第２の半導体デバイス、少なくとも前記第１の半導体デバイスのブートプログラムを記憶する記憶手段、及び前記記憶手段と通信するためのインターフェースを備える情報処理装置であって、前記第１の半導体デバイスがリセットされたことに従って、前記第１の半導体デバイスは前記インターフェースを介して前記記憶手段から前記第１の半導体デバイスのブートプログラムを読み出し、当該ブートプログラムに基づいて初期化処理を実行し、前記第２の半導体デバイスがリセットされたことに従って、前記第２の半導体デバイスは当該第２の半導体デバイスに予め設定された設定データに基づいて前記初期化処理を実行することを特徴とする。
【発明の効果】
【０００８】
本発明によれば、生産コストを削減することができる。
【図面の簡単な説明】
【０００９】
【図１】本発明の第１の実施の形態に係る情報処理装置としてのＭＦＰを含む通信システムの構成を概略的に示すブロック図である。
【図２】図１のメインコントローラの構成を概略的に示すブロック図である。
【図３】図２の半導体集積回路及びＲＯＭの接続を説明するための図である。
【図４】図１のメインコントローラで実行される初期化処理の手順を示すフローチャートである。
【図５】図１のメインコントローラで送信される各制御信号を説明するための図である。
【図６】本発明の第２の実施の形態におけるメインコントローラの構成を概略的に示すブロック図である。
【図７】図６のメインコントローラで実行される初期化処理の手順を示すフローチャートである。
【図８】図６のメインコントローラにおける電源ＯＮ制御を説明するための図である。
【発明を実施するための形態】
【００１０】
以下、本発明の実施の形態を図面を参照しながら詳述する。
【００１１】
本実施の形態では、情報処理装置としてのＭＦＰに本発明を適用した場合について説明するが、本発明の適用先はＭＦＰに限られず、例えば、複数の半導体デバイスを備え且つ当該複数の半導体デバイスの初期化処理を実行する装置であってもよい。
【００１２】
図１は、本発明の第１の実施の形態に係る情報処理装置としてのＭＦＰ１０２を含む通信システム１００の構成を概略的に示すブロック図である。
【００１３】
図１において、通信システム１００は、ＰＣ（Personal Computer）１０１及びＭＦＰ１０２を備え、ＰＣ１０１及びＭＦＰ１０２はＬＡＮ１０３を介して接続されている。ＭＦＰ１０２は、メインコントローラ１０４、操作部１０５、プリンタ１０６、及びスキャナ１０７を備える。
【００１４】
ＰＣ１０１はＭＦＰ１０２に各ジョブを実行するための実行データを送信する。ＭＦＰ１０２はコピー処理及びスキャン処理等の各ジョブを実行可能であり、例えば、ＬＡＮ１０３を介してＰＣ１０１から取得した印刷データに基づいてコピージョブを実行する。メインコントローラ１０４はＭＦＰ１０２全体を統括的に制御する。操作部１０５はＭＦＰ１０２のユーザインターフェースであり、ユーザによって入力された入力情報を受け付ける。プリンタ１０６はＰＣ１０１から取得された印刷データやスキャナ１０７で生成された画像データ等に基づいて用紙に印刷を行い、スキャナ１０７は図示しない原稿台に配置された原稿を読み取って画像データを生成する。
【００１５】
図２は、図１のメインコントローラ１０４の構成を概略的に示すブロック図である。
【００１６】
図２において、メインコントローラ１０４は、ＲＯＭ２０１、ＨＤＤ２０２、リセット回路２０３、モード設定回路２０４ａ，２０４ｂ、ＤＲＡＭ２０５〜２０７、ルートコンプレックス２０８、及び半導体集積回路２０９ａ，２０９ｂ（第１の半導体デバイス及び第２の半導体デバイス）を備える。ＲＯＭ２０１は半導体集積回路２０９ａ，２０９ｂと１つのＲＯＭバス２３２（インターフェース）を介して接続され、半導体集積回路２０９ａ，２０９ｂはバス２３３，２３４及び拡張画像バス２３５のそれぞれで接続されている。半導体集積回路２０９ａは、ＨＤＤ２０２、リセット回路２０３、モード設定回路２０４ａ、ＤＲＡＭ２０５，２０６、及びルートコンプレックス２０８のそれぞれと接続されている。半導体集積回路２０９ｂはモード設定回路２０４ｂ及びＤＲＡＭ２０７と接続されている。
【００１７】
ＲＯＭ２０１は、半導体集積回路２０９ａ，２０９ｂの各々の初期化処理を実行するための複数の初期化実行データを格納する。各初期化実行データは各半導体集積回路２０９ａ，２０９ｂに対応する異なるデータである。また、初期化実行データは、例えば、各ＤＲＡＭ２０５〜２０７やＭＦＰ１０２のＰＣＩｅ（PCI Express）システムの初期化処理の実行に用いられる設定値、及び半導体集積回路２０９ａ，２０９ｂの後述するＣＰＵ２１０ａ，２１０ｂを起動するためのブートプログラムを含む。ＨＤＤ２０２は、不揮発性の記憶デバイスであり、ＭＦＰ１０２のＯＳ（Operating System）モジュール等を実行するためのプログラムを格納する。リセット回路２０３は半導体集積回路２０９ａの各モジュールのリセット処理の実行を制御する。モード設定回路２０４ａ，２０４ｂは半導体集積回路２０９ａ，２０９ｂの後述する動作モードを設定する。ＤＲＡＭ２０５，２０６は半導体集積回路２０９ａの作業領域や各データの一時格納領域として用いられる。ＤＲＡＭ２０７は半導体集積回路２０９ｂの作業領域や各データの一時格納領域として用いられる。ルートコンプレックス２０８はＭＦＰ１０２におけるＰＣＩｅシステムを実現するためのモジュールである。
【００１８】
半導体集積回路２０９ａ，２０９ｂは、同じシリコンダイが搭載された同様の構成の半導体デバイスである。半導体集積回路２０９ａ，２０９ｂは、ＭＦＰ１０２のシステムの起動の制御や該ＭＦＰ１０２全体の制御を行うメインモード、及びＭＦＰ１０２の一部の機能、具体的に、印刷機能に関する制御を主に行う拡張モードを備える。半導体集積回路２０９ａ，２０９ｂは、モード設定回路２０４ａ，２０４ｂの設定に基づいてメインモード及び拡張モードのいずれかの動作モードで動作する。本実施の形態では、一例として、半導体集積回路２０９ａがＭＦＰ１０２におけるプリンタ１０６以外のモジュールの制御を行うメインモードに設定され、半導体集積回路２０９ｂがプリンタ１０６の制御を主に行う拡張モードに設定されていることを前提とする。ここで、半導体集積回路２０９ａ，２０９ｂは同様の構成であるので、以下では、一例として、半導体集積回路２０９ａを用いてその構成を説明する。
【００１９】
半導体集積回路２０９ａは、ＣＰＵ２１０ａ、ＲＯＭＩ／Ｆ２１１ａ、ＤＲＡＭＩ／Ｆ２１２ａ、汎用入出力Ｉ／Ｆ２１３ａ、ＨＤＤＩ／Ｆ２１４ａ、操作部Ｉ／Ｆ２１５ａ、ＬＡＮＩ／Ｆ２１６ａ、ＰＣＩｅＩ／Ｆ２１７ａ、及びＳＲＡＭ２１８ａを備える。また、半導体集積回路２０９ａは、イメージバスＩ／Ｆ２１９ａ、拡張画像バスＩ／Ｆ２２２ａ、プリンタ画像処理部２２３ａ、プリンタＩ／Ｆ２２４ａ、画像圧縮伸長部２２５ａ、及びＲＩＰ（Raster Image Processor）部２２６ａを備える。さらに、半導体集積回路２０９ａは、スキャナ画像処理部２２７ａ、スキャナＩ／Ｆ２２８ａ、画像回転部２２９ａ、ＤＲＡＭＩ／Ｆ２３０ａ、及びリセット制御部２３１ａを備える。ＣＰＵ２１０ａ、ＲＯＭＩ／Ｆ２１１ａ、ＤＲＡＭＩ／Ｆ２１２ａ、汎用入出力Ｉ／Ｆ２１３ａ、ＨＤＤＩ／Ｆ２１４ａ、操作部Ｉ／Ｆ２１５ａ、ＬＡＮＩ／Ｆ２１６ａ、ＰＣＩｅＩ／Ｆ２１７ａ、及びＳＲＡＭ２１８ａはシステムバス２２０ａを介して互いに接続されている。拡張画像バスＩ／Ｆ２２２ａ、プリンタ画像処理部２２３ａ、画像圧縮伸長部２２５ａ、ＲＩＰ部２２６ａ、スキャナ画像処理部２２７ａ、画像回転部２２９ａ、及びＤＲＡＭＩ／Ｆ２３０ａは画像バス２２１ａを介して互いに接続されている。プリンタＩ／Ｆ２２４ａはプリンタ画像処理部２２３ａと接続され、スキャナＩ／Ｆ２２８ａはスキャナ画像処理部２２７ａと接続されている。システムバス２２０ａはイメージバスＩ／Ｆ２１９ａを介して画像バス２２１ａと接続されている。
【００２０】
ＣＰＵ２１０ａはＲＯＭ２０１やＨＤＤ２０２等に格納されたプログラムを実行して各制御を行う。ＲＯＭＩ／Ｆ２１１ａはＲＯＭ２０１とデータ通信を行う。ＤＲＡＭＩ／Ｆ２１２ａはＤＲＡＭ２０５とデータ通信を行う。例えば、ＤＲＡＭＩ／Ｆ２１２ａはＣＰＵ２１０ａの各制御で用いられる設定値や中間データをＤＲＡＭ２０５に格納する。汎用入出力Ｉ／Ｆ２１３ａはモード設定回路２０４ａや半導体集積回路２０９ｂとデータ通信を行う。例えば、汎用入出力Ｉ／Ｆ２１３ａはモード設定回路２０４ａによる動作モードの設定を示す情報を管理する。また、汎用入出力Ｉ／Ｆ２１３ａは、半導体集積回路２０９ｂに制御信号、例えば、半導体集積回路２０９ｂのリセット処理の実行を制御する後述するリセット信号３１０ｂを出力する。ＨＤＤＩ／Ｆ２１４ａはＨＤＤ２０２とデータ通信を行い、操作部Ｉ／Ｆ２１５ａは操作部１０５とデータ通信を行い、ＬＡＮＩ／Ｆ２１６ａはＰＣ１０１とデータ通信を行う。ＰＣＩｅＩ／Ｆ２１７ａはＰＣＩｅ規格を準拠するインターフェースであり、ルートコンプレックス２０８とデータ通信を行う。ＳＲＡＭ２１８ａは小容量の記憶デバイスであり、例えば、ＳＲＡＭ２１８ａにはＲＯＭ２０１から読み出しされたブートプログラムが展開される。
【００２１】
イメージバスＩ／Ｆ２１９ａはシステムバス２２０ａ及び画像バス２２１ａの間で高速な画像データの転送を行うためのインターフェースである。拡張画像バスＩ／Ｆ２２２ａは半導体集積回路２０９ｂと画像データを送受信するためのインターフェースモジュールである。これにより、例えば、半導体集積回路２０９ａが入力されたデータに対してスキャナ１０７による画像処理（第１の画像処理）を施して中間データを生成し、半導体集積回路２０９ｂが該中間データに対してプリンタ１０６による画像処理（第２の画像処理）を実行するといった画像処理における役割分担が実現可能となる。その結果、高速な画像処理を実現可能となる。
【００２２】
プリンタ画像処理部２２３ａはコピージョブを実行する画像データに対して画像処理、例えば、色変換処理、フィルタ処理、及び解像度変換処理を施す。プリンタＩ／Ｆ２２４ａはプリンタ１０６とデータ通信を行う。画像圧縮伸長部２２５ａは多値画像データに対してＪＰＥＧ圧縮伸長処理を施し、２値画像データに対してＪＢＩＧ等の圧縮伸長処理を施す。ＲＩＰ部２２６ａはＰＣ１０１から取得した印刷データであるＰＤＬ（Page Description Language）データをビットマップイメージに変換する。スキャナ画像処理部２２７ａは、スキャナ１０７によって生成された画像データに対して補正、加工、及び編集等の各処理を施す。スキャナＩ／Ｆ２２８ａはスキャナ１０７とデータ通信を行い、画像回転部２２９ａは画像データの回転処理を行う。ＤＲＡＭＩ／Ｆ２３０ａはＤＲＡＭ２０６とデータ通信を行い、例えば、ＤＲＡＭＩ／Ｆ２３０ａは画像バス２２１ａで通信される画像データをＤＲＡＭ２０６に格納する。リセット制御部２３１ａは半導体集積回路２０９ａの各モジュールをリセットする。
【００２３】
図３は、図２の半導体集積回路２０９ａ，２０９ｂ及びＲＯＭ２０１の接続を説明するための図である。
【００２４】
図３において、ＲＯＭ２０１は半導体集積回路２０９ａ，２０９ｂとデータ通信を行う端子であるＳＣＫ３０１、ＳＩ３０２、及びＳＯ３０３を備える。半導体集積回路２０９ａはＲＯＭ２０１とデータ通信を行う端子であるＳＣＬＫ３０４ａ、ＭＯＳＩ３０５ａ、ＭＩＳＯ３０６ａ、半導体集積回路２０９ａの動作モードを設定するための制御端子３１３ａ、及びＳＳ３１４ａを備える。半導体集積回路２０９ｂはＲＯＭ２０１とデータ通信を行う端子であるＳＣＬＫ３０４ｂ、ＭＯＳＩ３０５ｂ、ＭＩＳＯ３０６ｂ、半導体集積回路２０９ｂの動作モードを設定するための制御端子３１３ｂ、及びＳＳ３１４ｂを備える。ＳＣＫ３０１、ＳＣＬＫ３０４ａ，３０４ｂは１本の信号線３０７で接続され、ＳＩ３０２、ＭＯＳＩ３０５ａ，３０５ｂは１本の信号線３０８で接続され、ＳＯ３０３、ＭＩＳＯ３０６ａ，３０６ｂは１本の信号線３０９で接続されている。ＳＳ３１４ａ，３１４ｂはいずれにも接続されない。信号線３０７では、ＲＯＭ２０１に格納された初期化実行データを読み出す際に用いられるクロック信号が半導体集積回路２０９ａ，２０９ｂのいずれかからＲＯＭ２０１へ出力される。信号線３０８では、初期化実行データの取得を要求するコマンド（以下、「取得要求コマンド」という。）が半導体集積回路２０９ａ，２０９ｂのいずれかからＲＯＭ２０１へ出力される。信号線３０９では、格納された初期化実行データがＲＯＭ２０１から半導体集積回路２０９ａ，２０９ｂへ出力される。制御端子３１３ａはメインモードを示すＬｏｗレベルが設定され、制御端子３１３ｂは拡張モードを示すＨｉｇｈレベルが設定されている。
【００２５】
ＭＦＰ１０２では、メインモード及び拡張モードのうちＭＦＰ１０２のシステムの起動に関わる機能を有するメインモードに設定された半導体集積回路２０９ａにリセット回路２０３が接続される。半導体集積回路２０９ａのリセット処理はリセット回路２０３から出力されるリセット信号３１０ａに基づいて制御される。一方、半導体集積回路２０９ｂのリセット処理は半導体集積回路２０９ａから出力されるリセット信号３１０ｂに基づいて制御される。半導体集積回路２０９ａ，２０９ｂは、リセット処理の実行を指示するＬｏｗレベルのリセット信号３１０ａ，３１０ｂを受信すると、半導体集積回路２０９ａ，２０９ｂの各モジュールをリセットする。半導体集積回路２０９ａ，２０９ｂは各モジュールをリセットした後、リセットの解除が指示されるまでリセット状態を維持する。一方、半導体集積回路２０９ａ，２０９ｂは、リセットの解除を指示するＨｉｇｈレベルのリセット信号３１０ａ，３１０ｂを受信すると、半導体集積回路２０９ａ，２０９ｂの各モジュールのリセット状態を解除する。
【００２６】
ＭＦＰ１０２では、各半導体集積回路２０９ａ，２０９ｂからＲＯＭ２０１へのアクセスが汎用入出力Ｉ／Ｆ２１３ａ，２１３ｂによって制御される。例えば、半導体集積回路２０９ａでは、汎用入出力Ｉ／Ｆ２１３ａから出力されるイネーブル信号３１１ａによってＳＣＬＫ３０４ａ及びＭＯＳＩ３０５ａの出力が制御される。また、半導体集積回路２０９ｂでは、汎用入出力Ｉ／Ｆ２１３ａから汎用入出力Ｉ／Ｆ２１３ｂに出力されるバッファ制御信号３１２に基づいて汎用入出力Ｉ／Ｆ２１３ｂがイネーブル信号３１１ｂを生成し、当該イネーブル信号３１１ｂによってＳＣＬＫ３０４ｂ及びＭＯＳＩ３０５ｂの出力が制御される。なお、本実施の形態のように、いずれにも接続されないＳＳ３１４ａ，３１４ｂの各出力は、イネーブル信号３１１ａ，３１１ｂによって制御されなくても良い。
【００２７】
次に、メインコントローラ１０４への電源投入が開始された際に各半導体集積回路２０９ａ，２０９ｂにおいて実行される初期化処理について説明する。
【００２８】
図４は、図１のメインコントローラ１０４で実行される初期化処理の手順を示すフローチャートである。
【００２９】
ここで、ＭＦＰ１０２では、ＲＯＭ２０１に各半導体集積回路２０９ａ，２０９ｂの異なる初期化実行データが格納されているが、各半導体集積回路２０９ａ，２０９ｂからＲＯＭ２０１にアクセスするための接続手段はＲＯＭバス２３２の１つのみである。例えば、半導体集積回路２０９ａがＲＯＭ２０１から半導体集積回路２０９ａの初期化実行データを取得する場合、半導体集積回路２０９ａはＲＯＭバス２３２を介してＲＯＭ２０１に初期化実行データの取得要求コマンドを出力する。半導体集積回路２０９ａは初期化実行データの取得を完了するまでＲＯＭ２０１に取得要求コマンドを出力し続ける必要がある。そのため、半導体集積回路２０９ａが初期化実行データを取得中に半導体集積回路２０９ｂがＲＯＭ２０１にアクセスすると、ＲＯＭバス２３２において、信号が衝突してしまい、ＲＯＭ２０１から意図した初期化実行データを取得することができない。信号の衝突を回避するために、ＲＯＭ２０１と異なる記憶デバイスを新たに設けることも考えられるが、新たに記憶デバイスを設けると、ＭＦＰ１０２の生産コストが増大してしまう。
【００３０】
これに対応して、本実施の形態では、半導体集積回路２０９ａ，２０９ｂのうち半導体集積回路２０９ａがＲＯＭ２０１にアクセス中に、半導体集積回路２０９ｂのＳＣＬＫ３０４ｂ及びＭＯＳＩ３０５ｂの各出力がハイインピーダンスに制御される。
【００３１】
図４において、まず、メインコントローラ１０４への電源投入が開始されると（ステップＳ４０１）（例えば、図５の期間Ｔ１参照）、メインコントローラ１０４の半導体集積回路２０９ａ，２０９ｂ、ＲＯＭ２０１、及びリセット回路２０３に電力が供給される。これにより、半導体集積回路２０９ａ，２０９ｂの各端子の信号のレベルが確定し、半導体集積回路２０９ａ，２０９ｂではリセット処理の実行が指示される。また、半導体集積回路２０９ｂではイネーブル信号３１１ｂによってＳＣＬＫ３０４ｂ及びＭＯＳＩ３０５ｂの出力がハイインピーダンスに制御される（出力制御手段）（例えば、図５の期間Ｔ２）。
【００３２】
次いで、メインコントローラ１０４はリセット回路２０３から半導体集積回路２０９ａに出力されるリセット信号３１０ａに基づいて半導体集積回路２０９ａのリセット状態の解除が指示されたか否かを判別する（ステップＳ４０２）。メインコントローラ１０４は、半導体集積回路２０９ａのリセット状態の解除が指示されると（ステップＳ４０２でＹＥＳ）（例えば、図５の期間Ｔ３）、ＣＰＵ２１０ａを含む半導体集積回路２０９ａの各モジュールが動作可能になる。その後、ＣＰＵ２１０ａはＲＯＭ２０１からブートプログラムを読み出す。このとき、半導体集積回路２０９ｂのＳＣＬＫ３０４ｂ及びＭＯＳＩ３０５ｂの出力がハイインピーダンスに制御されている。そのため、半導体集積回路２０９ａがＲＯＭ２０１にアクセス中に半導体集積回路２０９ｂがＲＯＭバス２３２を介してＲＯＭ２０１へアクセスすることはない。
【００３３】
次いで、ＣＰＵ２１０ａは、ブートプログラムの読み出しを完了すると、当該ブートプログラムをＳＲＡＭ２１８ａに展開する（ステップＳ４０３）。次いで、ＣＰＵ２１０ａはＳＲＡＭ２１８ａに展開された該ブートプログラムの実行を開始する（ステップＳ４０４）。次いで、ＣＰＵ２１０ａはイネーブル信号３１１ａによってＳＣＬＫ３０４ａ及びＭＯＳＩ３０５ａの出力をハイインピーダンスに制御する（ステップＳ４０５）（図４の期間Ｔ４）。これにより、半導体集積回路２０９ａは、ＳＣＬＫ３０４ａ及びＭＯＳＩ３０５ａの出力におけるハイインピーダンスの制御が解除されるまで、ＲＯＭ２０１にアクセスすることができなくなる。次いで、ＣＰＵ２１０ａはバッファ制御信号３１２によって半導体集積回路２０９ｂのＳＣＬＫ３０４ｂ及びＭＯＳＩ３０５ｂの出力におけるハイインピーダンスの制御を解除する（ステップＳ４０６）。これにより、半導体集積回路２０９ｂがＲＯＭ２０１にアクセス可能になる。次いで、ＣＰＵ２１０ａは、汎用入出力Ｉ／Ｆ２１３ａからリセット制御部２３１ｂにリセット状態の解除を指示するリセット信号３１０ｂを出力して半導体集積回路２０９ｂのリセット状態を解除する（ステップＳ４０７）。次いで、ＣＰＵ２１０ａは半導体集積回路２０９ａにおいて設定された動作モードに対応するモジュールの初期化処理を実行して（ステップＳ４０８）、本処理を終了する。
【００３４】
半導体集積回路２０９ｂは、ステップＳ４０７の処理で半導体集積回路２０９ａからリセット状態の解除を指示するリセット信号３１０ｂを受信すると（ステップＳ４０９）、半導体集積回路２０９ｂのリセット状態を解除する。これにより、ＣＰＵ２１０ｂを含む半導体集積回路２０９ｂの各モジュールが動作可能になる。その後、ＣＰＵ２１０ｂはＲＯＭ２０１からブートプログラムを読み出す。このとき、半導体集積回路２０９ａのＳＣＬＫ３０４ａ及びＭＯＳＩ３０５ａの出力がハイインピーダンスに制御されている。そのため、半導体集積回路２０９ｂがＲＯＭ２０１にアクセス中に半導体集積回路２０９ａがＲＯＭバス２３２を介してＲＯＭ２０１へアクセスすることはない。次いで、ＣＰＵ２１０ｂは、ブートプログラムの読み出しを完了すると、当該ブートプログラムをＳＲＡＭ２１８ｂに展開する（ステップＳ４１０）。次いで、ＣＰＵ２１０ｂはＳＲＡＭ２１８ｂに展開された該ブートプログラムの実行を開始し（ステップＳ４１１）、半導体集積回路２０９ｂにおいて設定された動作モードに対応する各モジュールの初期化処理を実行して本処理を終了する。
【００３５】
上述した図４の処理によれば、半導体集積回路２０９ａ，２０９ｂのうち半導体集積回路２０９ａがＲＯＭ２０１にアクセス中に、半導体集積回路２０９ｂのＳＣＬＫ３０４ｂ及びＭＯＳＩ３０５ｂの各出力がハイインピーダンスに制御される。すなわち、半導体集積回路２０９ａがＲＯＭ２０１にアクセス中に半導体集積回路２０９ｂがＲＯＭ２０１にアクセスすることがないので、ＲＯＭバス２３２において信号が衝突することがなく、信号の衝突を回避するために必要以上にＲＯＭを設ける必要が無い。これにより、ＭＦＰ１０２の部品点数を削減することができ、もって、生産コストを削減することができる。
【００３６】
また、上述した図４の処理では、ＭＦＰ１０２のシステムの起動に関わる機能を有するメインモードが設定された半導体集積回路２０９ａからＲＯＭ２０１へのアクセスが優先される。これにより、ＭＦＰ１０２のシステムの起動を速やかに開始することができる。
【００３７】
次に、本発明の第２の実施の形態について説明する。
【００３８】
本発明の第２の実施の形態は、その構成、作用が上述した第１の実施の形態と基本的に同じである。しかし、メインコントローラがＰＭＵ（Power Management Unit）を備える点で本発明の第１の実施の形態と異なるため、以下、重複した構成、作用については説明を省略し、異なる構成、作用についての説明を行う。
【００３９】
図６は、本発明の第２の実施の形態におけるメインコントローラ６００の構成を概略的に示すブロック図である。
【００４０】
図６において、メインコントローラ６００は、メインコントローラ１０４のＲＯＭ２０１、ＨＤＤ２０２、モード設定回路２０４ａ，２０４ｂ、ＤＲＡＭ２０５〜２０７、及びルートコンプレックス２０８の他に、半導体集積回路６０１ａ，６０１ｂを備える。ＲＯＭ２０１は半導体集積回路６０１ａとＲＯＭバス２３２を介して接続され、半導体集積回路６０１ａ，６０１ｂは拡張画像バス２３５を介して接続されている。半導体集積回路６０１ａは、ＨＤＤ２０２、モード設定回路２０４ａ、ＤＲＡＭ２０５，２０６、及びルートコンプレックス２０８のそれぞれと接続されている。半導体集積回路２０９ｂはモード設定回路２０４ｂ及びＤＲＡＭ２０７と接続されている。
【００４１】
メインコントローラ６００は、ＭＦＰ１０２が起動中、各半導体集積回路６０１ａ，６０１ｂのモジュールのうち常時通電モジュールに常時電力を供給する。常時通電モジュールは、汎用入出力Ｉ／Ｆ２１３ａ，２１３ｂ、リセット制御部２３１ａ，２３１ｂ，後述するクロック制御部６０２ａ，６０２ｂ、ＰＭＵ６０３ａ，６０３ｂである。また、メインコントローラ６００は、各半導体集積回路６０１ａ，６０１ｂのモジュールのうち常時通電モジュール以外のモジュールの電源ＯＮ／ＯＦＦ制御を行う。電源ＯＮ／ＯＦＦ制御では、モジュール毎に設けられる電源ＳＷのＯＮ／ＯＦＦ操作によって物理的に電力の供給及び遮断が制御される。メインコントローラ６００では、各半導体集積回路６０１ａ，６０１ｂにおいて、常時通電モジュール及び動作モードに対応するモジュールのみに電力を供給し、低消費電力化を実現する。なお、本実施の形態では、低消費電力化を実現する方法として、各半導体集積回路６０１ａ，６０１ｂにおける電源制御を行う場合について説明したが、低消費電力化を実現する方法は上記電源制御に限られない。例えば、各半導体集積回路６０１ａ，６０１ｂにおける各モジュールに対するクロック信号の供給及び停止を制御するクロックゲートＯＮ／ＯＦＦ制御であってもよい。
【００４２】
半導体集積回路６０１ａ，６０１ｂは、同じシリコンダイが搭載された同様の構成の半導体デバイスである。半導体集積回路６０１ａ，６０１ｂは、ＭＦＰ１０２のシステムの起動の制御や該ＭＦＰ１０２全体の制御を行うメインモード、及びＭＦＰ１０２の一部の機能、具体的に、印刷機能に関する制御を主に行う拡張モードを備える。半導体集積回路６０１ａ，６０１ｂは、モード設定回路２０４ａ，２０４ｂの設定に基づいてメインモード及び拡張モードのいずれかのモードで動作する。本実施の形態では、一例として、半導体集積回路６０１ａがメインモードに設定され、半導体集積回路６０１ｂが拡張モードに設定されていることを前提とする。ここで、半導体集積回路６０１ａ，６０１ｂは同様の構成であるので、以下では、一例として、半導体集積回路６０１ａを用いてその構成を説明する。
【００４３】
半導体集積回路６０１ａは、半導体集積回路２０９ａの各構成要素の他に、クロック制御部６０２ａ、ＰＭＵ６０３ａ、及びＢＷ専用画像処理部６０４ａを備える。ＰＭＵ６０３ａはシステムバス２２０ａに接続され、ＢＷ専用画像処理部６０４ａは画像バス２２１ａに接続されている。
【００４４】
クロック制御部６０２ａは半導体集積回路６０１ａの各モジュールに対するクロック信号の供給を制御する。ＰＭＵ６０３ａは半導体集積回路６０１ａの電源制御を行い、また、ＰＭＵ６０３ａは予め設定された設定値（設定データ）に基づいて半導体集積回路６０１ａの初期化処理を実行するハードシーケンサ回路である。ＢＷ専用画像処理部６０４ａは白黒画像専用の画像処理モジュールであり、プリント出力画像に対してスムージングや細線を太らせる等の処理を施す。
【００４５】
図７は、図６のメインコントローラ６００で実行される初期化処理の手順を示すフローチャートである。
【００４６】
図７において、まず、メインコントローラ６００への電源投入が開始されると（ステップＳ７０１）、メインコントローラ６００の半導体集積回路６０１ａ，６０１ｂ、及びＲＯＭ２０１に電力が供給される。これにより、半導体集積回路６０１ａ，６０１ｂはリセット処理を実行し、リセット状態の解除が指示されるまで待機する。次いで、メインコントローラ６００は常時通電モジュールに電力を供給し（ステップＳ７０２）、各半導体集積回路６０１ａ，６０１ｂの常時通電モジュールのリセット状態を解除する（ステップＳ７０３）。これにより、ＰＭＵ６０３ａ，６０３ｂが動作可能となる。次いで、メインコントローラ６００は汎用入出力Ｉ／Ｆ２１３ａ，２１３ｂの各々からモード設定回路２０４ａ，２０４ｂによる動作モードの設定を示す情報を取得する。その後、メインコントローラ６００は取得された情報に基づいて各半導体集積回路６０１ａ，６０１ｂに設定された動作モードがメインモード及び拡張モードのいずれであるかを判別する（ステップＳ７０４）。
【００４７】
ステップＳ７０４の判別の結果、動作モードがメインモードに設定された半導体集積回路６０１ａに対し、メインコントローラ６００は、ＰＭＵ６０３ａによってＣＰＵ２１０ａの電源ＯＮ制御を行う（ステップＳ７０５）。ＣＰＵ２１０ａの電源ＯＮ制御が行われると、ＣＰＵ２１０ａに電力が供給され、ＣＰＵ２１０ａのリセット処理が実行され、ＣＰＵ２１０ａはリセット状態の解除が指示されるまで待機する。また、ＣＰＵ２１０ａの電源ＯＮ制御では、クロック制御部６０２ａによってクロックの発振タイミングの制御が行われる。次いで、メインコントローラ６００はＣＰＵ２１０ａのリセット状態を解除する（ステップＳ７０６）。これにより、ＣＰＵ２１０ａが動作可能となる。
【００４８】
次いで、メインコントローラ６００では、ＣＰＵ２１０ａがＲＯＭ２０１からブートプログラムを読み出し、該ブートプログラムをＳＲＡＭ２１８ａに展開する（ステップＳ７０７）。次いで、ＣＰＵ２１０ａはＳＲＡＭ２１８ａに展開されたブートプログラムに基づいて半導体集積回路６０１ａの対象モジュールの電源ＯＮ制御を行う（ステップＳ７０８）。半導体集積回路６０１ａの対象モジュールは、半導体集積回路６０１ａのモジュールのうち常時通電モジュール及びＣＰＵ２１０ａを除き、且つ半導体集積回路６０１ａにおいて設定された動作モードに対応するモジュールである。例えば、ＭＦＰ１０２がカラー印刷装置として用いられ、且つ拡張モードに設定された半導体集積回路６０１ｂが接続された場合、半導体集積回路６０１ａの対象モジュールは、半導体集積回路６０１ａのうち、常時通電モジュール、ＣＰＵ２１０ａ、ＢＷ専用画像処理部６０４ａ、プリンタ画像処理部２２３ａ、及びプリンタＩ／Ｆ２２４ａ以外のモジュールである。これにより、半導体集積回路６０１ａでは、常時通電モジュール及びＣＰＵ２１０ａの他に、図８に示すように、上述した半導体集積回路６０１ａの対象モジュールに電力が供給される。
【００４９】
次いで、ＣＰＵ２１０ａはブートプログラムに基づいてＤＲＡＭ２０５，２０６の初期化処理を実行する（ステップＳ７０９）。メインモードに設定された半導体集積回路６０１ａには、様々な仕様のＤＲＡＭが接続されることが想定され、ＤＲＡＭの種類、容量、及び処理速度等によって初期化処理における設定値が異なる。そのため、メインモードに設定された半導体集積回路６０１ａでは、接続されたＤＲＡＭの仕様に応じてブートプログラムを変更する必要がある。次いで、ＣＰＵ２１０ａはブートプログラムに基づいて半導体集積回路６０１ａにおけるＰＣＩｅシステムの初期化処理を実行する（ステップＳ７１０）。ＰＣＩｅシステムの初期化処理においても、半導体集積回路６０１ａに接続されたＤＲＡＭの仕様に応じてブートプログラムを変更する必要がある。すなわち、本実施の形態では、ブートプログラムを変更して初期化処理を実行する必要がある半導体集積回路に対し、ＲＯＭ２０１に格納されたブートプログラムを用いた初期化処理を実行する。その後、ＣＰＵ２１０ａは本処理を終了する。
【００５０】
ステップＳ７０４の判別の結果、動作モードが拡張モードに設定された半導体集積回路６０１ｂに対し、メインコントローラ６００は、ＰＭＵ６０３ｂによって半導体集積回路６０１ｂの対象モジュールの電源ＯＮ制御を行う（ステップＳ７１１）。半導体集積回路６０１ｂの対象モジュールは、半導体集積回路６０１ｂのモジュールのうち常時通電モジュール及びＣＰＵ２１０ｂを除き、且つ半導体集積回路６０１ｂにおいて設定された動作モードに対応するモジュールである。具体的に、半導体集積回路６０１ｂの対象モジュールは、イメージバスＩ／Ｆ２１９ｂ、拡張画像バスＩ／Ｆ２２２ｂ、プリンタ画像処理部２２３ｂ、プリンタＩ／Ｆ２２４ｂ、画像圧縮伸長部２２５ｂ、及びＤＲＡＭＩ／Ｆ２３０ｂである。これにより、半導体集積回路６０１ｂでは、常時通電モジュールの他に、図８に示すように、上述した半導体集積回路６０１ｂの対象モジュールに電力が供給される。
【００５１】
ここで、半導体集積回路６０１ｂは使用される機能が限定されているので、接続されるＤＲＡＭの仕様を予め想定可能である。本実施の形態では、半導体集積回路６０１ｂのように、接続されるＤＲＡＭの仕様が予め想定可能な半導体集積回路に対し、ブートプログラムを用いず、ＰＭＵ６０３ｂによる初期化処理を実行する。ＰＭＵ６０３ｂには、想定されるＤＲＡＭの仕様に応じてＤＲＡＭの初期化処理に用いられる設定値やＰＣＩｅシステムの初期化処理に用いられる設定値が予め設定されている。また、ＰＭＵ６０３ｂによる初期化処理では、ＣＰＵ２１０ｂが駆動しないので、ＰＭＵ６０３ｂによる初期化処理の実行に要する消費電力量は、ブートプログラムによる初期化処理の実行に要する消費電力量より小さい。
【００５２】
次いで、メインコントローラ６００は、ＰＭＵ６０３ｂによってＤＲＡＭＩ／Ｆ２３０ｂの初期化処理を実行し（ステップＳ７１２）、ＰＭＵ６０３ｂによって半導体集積回路６０１ｂにおけるＰＣＩｅシステムの初期化処理を実行し（ステップＳ７１３）、本処理を終了する。
【００５３】
上述した図７の処理では、各半導体集積回路６０１ａ，６０１ｂの初期化処理の実行において、各半導体集積回路６０１ａ，６０１ｂの動作モードの設定に基づいてブートプログラムによる初期化処理を実行するか、若しくはＰＭＵによる初期化処理を実行するかのいずれかが決定される。すなわち、ＲＯＭ２０１からブートプログラムを取得する以外の方法でも初期化処理が実行可能であり、ＭＦＰ１０２において、半導体集積回路６０１ａ，６０１ｂのそれぞれに対応する複数のＲＯＭを設ける必要が無い。これにより、ＭＦＰ１０２の部品点数を削減することができ、もって、生産コストを削減することができる。
【００５４】
また、上述した図７の処理では、ＰＭＵ６０３ｂによる初期化処理の実行に要する消費電力量は、ブートプログラムによる初期化処理の実行に要する消費電力量より小さい。これにより、ブートプログラムによる初期化処理のみが実行される場合より消費電力を削減することができる。
【００５５】
以上、本発明について、上述した実施の形態を用いて説明したが、本発明は上述した実施の形態に限定されるものではない。
【００５６】
例えば、メインコントローラ１０４，６００に設けられる半導体集積回路の個数は３個以上であっても良く、また、半導体集積回路の動作モードはメインモードと拡張モード以外の他のモードを備えても良い。
【００５７】
上述した本実施の形態では、図４のステップＳ４０７の処理を実行した後に半導体集積回路２０９ｂにおいて図７のステップＳ７０４以降の処理を実行しても良い。具体的に、半導体集積回路６０１ａ，６０１ｂのうち半導体集積回路６０１ａがＲＯＭ２０１から初期化実行データを取得した後、半導体集積回路６０１ｂの初期化処理を実行する際に、半導体集積回路６０１ｂの動作モードの設定に基づいてブートプログラムによる初期化処理を実行するか、若しくはＰＭＵによる初期化処理を実行するかのいずれかが決定される。これにより、半導体集積回路６０１ａ，６０１ｂのいずれに対してもブートプログラムによる初期化処理を実行する場合より消費電力を削減することができる。
【００５８】
本発明は、上述の実施の形態の１以上の機能を実現するプログラムをネットワーク又は記憶媒体を介してシステム又は装置に供給し、該システム又は装置のコンピュータにおける１つ以上のプロセッサがプログラムを読み出して実行する処理でも実現可能である。また、本発明は、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【００５９】
１０２  ＭＦＰ
１０４，６００  メインコントローラ
２０１  ＲＯＭ
２０５〜２０７  ＤＲＡＭ
２０９ａ，２０９ｂ，６０１ａ，６０１ｂ  半導体集積回路
２１３ａ  汎用入出力Ｉ／Ｆ
２３２  ＲＯＭバス
３０４ａ，３０４ｂ  ＳＣＬＫ
３０５ａ，３０５ｂ  ＭＯＳＩ
３１３ａ，３１３ｂ  制御端子
６０３ｂ  ＰＭＵ
【図１】
2018032313.tif 000003
【図２】
2018032313.tif 000004
【図３】
2018032313.tif 000005
【図４】
2018032313.tif 000006
【図５】
2018032313.tif 000007
【図６】
2018032313.tif 000008
【図７】
2018032313.tif 000009
【図８】
2018032313.tif 000010