(57)【特許請求の範囲】
【請求項１】
少なくとも第１チップと第２チップと第３チップとを含む３以上のチップが直列に接続された情報処理装置であって、
前記直列に接続されたチップのうち少なくとも第１チップは、
初期化を優先するチップを特定する特定手段と、
前記特定手段により特定されたチップの初期化をさせる制御手段と、
を有し、
前記特定手段により前記初期化を優先するチップとして前記第３チップが特定された場合、前記制御手段は、前記第２チップに前記第２チップ用の初期化用のプログラムを転送する前に、前記第３チップに前記第３チップの初期化用のプログラムを転送し、
前記第３チップは、前記第３チップの初期化用のプログラムにより初期化することを特徴とする情報処理装置。
【請求項２】
前記第３チップは、前記第２チップよりも初期化に時間のかかるチップであることを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記特定手段は、前記第１チップに対応するメモリに予め保存された初期化順序情報を取得することにより、前記初期化を優先するチップを特定することを特徴とする請求項１又は２に記載の情報処理装置。
【請求項４】
前記特定手段は、前記直列に接続されたチップの各チップの内部レジスタに保存された初期化順序情報を取得することにより、前記初期化を優先するチップを特定することを特徴とする請求項１又は２に記載の情報処理装置。
【請求項５】
前記内部レジスタに保存された初期化順序情報は、外部端子から入力された入力情報であることを特徴とする請求項４に記載の情報処理装置。
【請求項６】
前記情報処理装置にオプションユニットが接続されたか判定する判定手段と、
前記判定手段の判定結果に基づいて、初期化の順序を決定する決定手段と、
をさらに備えることを特徴とする請求項１又は２に記載の情報処理装置。
【請求項７】
前記初期化を優先するチップは、指定された動作を実行するために必要となるチップであることを特徴とする請求項１に記載の情報処理装置。
【請求項８】
前記制御手段は、前記特定手段により特定されたチップまでの通信を確立させ、前記特定手段により特定されたチップに当該チップの初期化用のプログラムを転送し、当該チップを初期化させることを特徴とする請求項１〜７のいずれか１項に記載の情報処理装置。
【請求項９】
前記第２チップは、前記第３チップよりも前に前記第１チップとの通信が確立することを特徴とする請求項１〜８のいずれか１項に記載の情報処理装置。
【請求項１０】
少なくとも第１チップと第２チップと第３チップとを含む３以上のチップが直列に接続された情報処理装置の制御方法であって、
前記第１チップにおいて、
初期化を優先するチップを特定するステップと、
特定されたチップに当該チップの初期化用のプログラムを転送し、当該チップを初期化させるステップと、
実行し、
前記初期化を優先するチップとして前記第３チップが特定された場合、前記第２チップに前記第２チップ用の初期化用のプログラムを転送する前に、前記第３チップに前記第３チップの初期化用のプログラムを転送し、
前記第３チップは、前記第３チップの初期化用のプログラムにより初期化することを特徴とする制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、マルチチップを有する情報処理装置、及び起動方法に関し、特に、少なくとも三つ以上の集積回路チップが接続された構成において、一の集積回路チップから他の集積回路チップへのプログラムの配信、および集積回路チップの初期化に関する。
【背景技術】
【０００２】
近年、装置の高機能化に伴い、複数の集積回路チップ（以下「チップ」ともいう）により装置を構成する場合（マルチチップ構成）が多くなっている。これら複数のチップは、プログラムを格納するＲＯＭ、処理中のデータを一時的に格納するＲＡＭがそれぞれ必要であった。これに対して、装置を構成する部品点数を減らしコストダウンするため、特定のチップにのみＲＯＭを設け、そのチップから他のチップにプログラムを転送する方法が提案されている。
【０００３】
しかしながら、一つのチップからプログラムの転送と初期化を順々に行っていくと、システム全体の初期化開始に時間が掛かってしまう。そこで、一つのチップから適当な２つ以上のチップへのプログラムの転送と初期化を行った後、初期化された複数のチップが残りのチップを並列に初期化することで、システムの起動時間を早くするマルチプロセッサシステムが提案されている（特許文献１）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０００−３３９２８４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、チップは、使用用途や機能の違いにより初期化時間に差がある。このため、複数のチップの初期化の順番によっては、システムの起動時間の短縮ができないことがあった。
【０００６】
本発明では、特定のチップから優先的に初期化を開始することにより、必要な初期化の時間を短縮することを目的とする。
【課題を解決するための手段】
【０００７】
上記の課題を解決するための本発明の情報処理装置は、少なくとも第１チップと第２チップと第３チップとを含む３以上のチップが直列に接続された情報処理装置であって、
前記直列に接続されたチップのうち少なくとも第１チップは、初期化を優先するチップを特定する特定手段と、前記特定手段により特定されたチップの初期化をさせる制御手段と、を有し、前記特定手段により前記初期化を優先するチップとして前記第３チップが特定された場合、前記制御手段は、前記第２チップに前記第２チップ用の初期化用のプログラムを転送する前に、前記第３チップに前記第３チップの初期化用のプログラムを転送し、
前記第３チップは、前記第３チップの初期化用のプログラムにより初期化する。
【発明の効果】
【０００８】
本発明によれば、初期化を優先的に実施すべきチップから初期化を行うことができる。これにより、必要な初期化の時間を短縮することができる。
【図面の簡単な説明】
【０００９】
【図１】実施形態１に係るマルチチップシステムの構成形態を示すブロック図である。
【図２】実施形態１に係るマルチチップシステムの制御方法フローチャートである。
【図３】実施形態２に係るマルチチップシステムの構成形態を示すブロック図である。
【図４】実施形態２に係るマルチチップシステムの制御方法フローチャートである。
【図５】実施形態３に係るマルチチップシステムの構成形態を示すブロック図である。
【図６】実施形態３に係るチップの初期化順序のパターン示した説明図である。
【図７】実施形態４に係るマルチチップシステムの構成形態を示すブロック図である。
【図８】実施形態４に係るマルチチップシステムのチップ初期化の順序決定フローチャートである。
【図９】実施形態５に係るマルチチップシステムの構成形態を示すブロック図である。
【図１０】実施形態５に係るマルチチップシステムのチップ初期化の順序決定フローチャートである。
【発明を実施するための形態】
【００１０】
発明を実施するための形態について図面を用いて説明する。なお、以下の実施形態で用いる装置の各構成要素の相対配置、装置形状等は、例示であり、以下に示すものに限定されるものではない。
【００１１】
（実施形態１）
図１は、本実施形態に係る情報処理装置の一例である画像処理装置のブロック図を示したものである。本実施形態では、直列に接続された３つのチップのうちマスタチップに接続されるＲＯＭに格納された初期化順序情報に基づいて、画像処理装置におけるマルチチップシステムの初期化を行う方法を説明する。なお、本実施形態では、情報処理装置は、印刷機能を備える画像処理装置としたが、これに限定されるものではなく、３つ以上のチップが直列に接続された装置であればよい。
【００１２】
図１に示すように、画像処理装置１００は、直列に接続された３チップ（チップ１１０、チップ１２０、チップ１３０）を有する。すなわち、画像処理装置１００では、チップ１１０と、チップ１２０と、チップ１３０とが、ピア・ツー・ピア接続されている。以下、画像処理装置１００において、チップ１１０と、チップ１２０と、チップ１３０とを含むチップ構成を「マルチチップシステム」ともいう。
【００１３】
そして、画像処理装置１００は、ユーザーが操作するホストＰＣ１９０と接続されている。なお、ホストＰＣ１９０と画像処理装置１００は、ホストインターフェース１９１により接続されている。
【００１４】
画像処理装置１００は、ホストＰＣ１９０から印刷データを受信し、印刷物を生成することができる。なお、画像処理装置は、画像読取機能やファクシミリ機能などを有する複合プリンタであってもよいし、複写機、プロッタであってもよい。
【００１５】
画像処理装置１００は、コントローラチップとして用いられるマスタチップ１１０と、印刷制御用チップとして用いられるスレイブチップ１２０と、メカ駆動用チップとして用いられるスレイブチップ１３０とを有する。ここでマスタチップとは、マルチチップ（本実施形態では、３つのチップ）のうちマスタとなり、スレイブチップの初期化を開始させるチップである。具体的には、各チップのＣＰＵを起動させる。これにより、ＣＰＵがプログラムを読み込んで、チップを初期化させる。また、本実施形態において、「チップの初期化」とは、チップが起動して、動作可能となるまでの処理を指す。
【００１６】
チップ１１０とチップ１２０は、通信を行うインターフェース２５０により接続される。チップ１２０とチップ１３０は、通信を行うインターフェース２６０により接続される。インターフェース２５０及び２６０としては、特に限定されないが、例えば、ＰＣＩ  Ｅｘｐｒｅｓｓインターフェースが挙げられる。
【００１７】
チップ１１０は、ＲＡＭ２１０と、ＲＯＭ２０２とが、接続されている。ＲＯＭ２０２は、チップの初期化順序情報が保存されている。
チップ１２０は、ＲＡＭ２１１と、印刷部と、が接続されている。
チップ１３０は、ＲＡＭ２２１と、メカ部２２２と、が接続されている。
チップ１１０は、ＣＰＵ１１１と、ＲＡＭコントローラ部１１２と、ＲＯＭコントローラ部１１３と、インターフェース部１１５と、ホスト通信部１１０１とを有し、内部バス１１８により互いに接続されている。ホスト通信部１１０１は、ＰＣ１９０とホストインターフェース１９１を介して接続される。
【００１８】
ＣＰＵ１１１は、プログラムに従って画像処理装置１００の制御を行う。ＲＡＭコントローラ部１１２は、ＲＡＭ２０１とのデータの読み書きを行うためのＲＡＭ制御手段である。ＲＯＭコントローラ部１１３は、ＲＯＭ２０２からデータを読み出すためのＲＯＭ制御手段である。インターフェース部１１５は、インターフェース２５０を介してチップ１２０と通信を行うための通信手段である。また、ＲＡＭ２０１は、処理中の画像データや転送されたプログラム等の一時的なデータを格納する記憶手段である。ＲＯＭ２０２は、ＣＰＵ１１１が実行するプログラム等を格納する記録手段であり、本実施形態では、初期化するチップの順序の情報であるチップ初期化順序情報２０２ａを含む。
【００１９】
ここで、チップの初期化順序情報２０２ａについて説明する。本実施形態では、チップの初期化順序情報２０２ａは、各チップの初期化時間に基づき、あらかじめ決定し、ＲＯＭ２０２に保存されている。メカ駆動用チップであるチップ１３０は、メカ部の初期位置出し等に時間を要するため初期化に時間がかかる。しかしながら、本実施形態では、チップ１３０はメカ構成に合わせるために、マスタチップであるチップ１１０から離れた下流のチップとして配置されている。したがって、本実施形態では、まず、チップ１３０から初期化を行うように、初期化順序情報２０２ａが設定されている。すなわち、チップ１２０よりも先にチップ１３０を起動させるように、初期化順序情報２０２ａが設定されている。
【００２０】
チップ１２０は、ＣＰＵ１２１と、ＲＡＭコントローラ部１２２と、印刷制御部１２３と、ＣＰＵリセット制御部１２４と、インターフェース部１２５、１２６とを有し、内部バス１２８により互いに接続されている。
【００２１】
ＣＰＵ１２１は、プログラムに従って画像処理装置１０１の制御を行う。ＲＡＭコントローラ部１２２は、ＲＡＭ２１１とのデータの読み書きを行うためのＲＡＭ制御手段である。印刷制御部１２３は印刷部２１２の制御を行う。ＣＰＵリセット制御部１２４は、ＣＰＵ１２１へのＣＰＵリセット信号２５３を制御して、ＣＰＵ１２１のリセット制御を行う。インターフェース部１２５は、インターフェース２６０を介してチップ１３０と通信を行うための通信手段である。インターフェース部１２６は、チップ１１０とインターフェース２５０を介して通信を行うための通信手段である。
【００２２】
チップ１３０は、ＣＰＵ１３１と、ＲＡＭコントローラ部１３２と、メカ駆動制御部１３３と、ＣＰＵリセット制御部１３４と、インターフェース部１３６と、を有し、内部バス１３８により互いに接続されている。
【００２３】
ＣＰＵ１３１は、プログラムに従って画像処理装置１０１の制御を行う。ＲＡＭコントローラ部１３２は、ＲＡＭ２２１とのデータの読み書きを行うためのＲＡＭ制御手段である。メカ駆動制御部１３３はメカ部２２２の制御を行う。ＣＰＵリセット制御部１３４は、ＣＰＵ１３１へのＣＰＵリセット信号２６３を制御して、ＣＰＵ１３１のリセット制御を行う。インターフェース部１３６は、インターフェース２６０を介してチップ１２０と通信を行うための通信手段である。
【００２４】
また、画像処理装置１００は、リセットＩＣ３００を有する。リセットＩＣ３００は、チップ１１０内の全構成と、チップ１２０内のＣＰＵ以外の構成と、チップ１３０内のＣＰＵ以外の構成へ出力されるリセット信号３０１を出力し、各構成に対してリセットをかけることができる。
【００２５】
図２は、実施形態１における、マルチチップシステムの制御方法の手順を示すフローチャートである。
【００２６】
マルチチップシステムに電源が投入されると、リセットＩＣ３００は、マルチチップシステムの各チップに対し、リセット信号３０１を出力する。具体的には、リセットＩＣ３００は、ＣＰＵ１１１と、ＲＡＭコントローラ部１１２と、ＲＯＭコントローラ部１１３と、インターフェース部１１５とに、リセット信号３０１を出力する。また、リセットＩＣ３００は、リセット制御部１２４と、ＲＡＭコントローラ部１２２と、印刷制御部１２３と、インターフェース部１２５と、インターフェース部１２６とに、リセット信号３０１を出力する。また、リセットＩＣ３００は、リセット制御部１３４と、ＲＡＭコントローラ部１３２と、メカ駆動制御部１３３と、インターフェース部１３６と、リセット信号３０１を出力する。これにより、チップ１１０のチップリセット、チップ１２０内のＣＰＵ１２１以外のリセット、チップ１３０内のＣＰＵ１３１以外のリセットを解除する。
【００２７】
Ｓ５０１において、ＣＰＵ１１１は、ＲＯＭ２０２からチップ１１０自身の初期化のためのプログラムを読み出し、ＲＡＭ２０１に書き込み、チップ１１０の初期設定を開始する。Ｓ５０２において、ＣＰＵ１１１は、ＲＯＭ２０２からチップ初期化順序情報２０２ａを取得し、次に初期化するチップを特定する。本実施形態では、チップ１３０に接続されているメカ部２２２の初期化時間がチップ１２０に接続されている印刷部２１２の初期化時間よりも長くかかってしまう。このため、チップ１３０をチップ１２０よりも先に初期化を開始するように、チップの初期化順序情報２０２ａが格納されている。したがって、ＣＰＵ１１１は、チップの初期化順序情報２０２ａに基づいて、次に初期化するチップがチップ１３０であることを特定する。
【００２８】
Ｓ５０４において、ＣＰＵ１１１は、インターフェース部１１５に所定のパラメータを設定してインターフェース部１１５を起動する。これにより、インターフェース部１１５と、インターフェース部１２６間の接続通信が可能になる。インターフェース部１１５、インターフェース部１２６間が接続するとチップ１１０とチップ１２０間の通信が確立される。つまり、両チップのメモリ空間内を自由にアクセスすることができる。
【００２９】
Ｓ５０６において、ＣＰＵ１１１は、インターフェース部１２５に所定のパラメータを設定し、インターフェース部１２５を起動する。これにより、インターフェース部１２５、インターフェース部１３６間の接続通信が可能になる。インターフェース部１２５、インターフェース部１３６間が接続すると、チップ１２０を介して、チップ１１０とチップ１３０との間の通信が確立される。つまり、チップ１１０からチップ１２０を経由して、チップ１３０のメモリ空間内を自由にアクセスすることができる。
【００３０】
Ｓ５０７において、ＣＰＵ１１１は、ＲＯＭ２０２からチップ１３０の初期化用のプログラムを読み出して、インターフェース２５０及びインターフェース２６０を介して、チップ１３０のＲＡＭ２２１にチップ１３０の初期化用のプログラムを転送する。これにより、ＲＡＭ２２１にプログラムが格納される（Ｓ５３２）。すなわち、ＣＰＵ１１１がチップ１３０のＲＡＭ２２１にチップ１３０の初期化用のプログラムを格納させる。
【００３１】
Ｓ５０８において、ＣＰＵ１１１は、ＣＰＵリセット制御部１３４にアクセスし、ＣＰＵ１３１のリセットを解除させる。具体的には、ＣＰＵ１１１のアクセスにより、ＣＰＵリセット制御部１３４がリセット信号２６３を出力することにより、ＣＰＵ１３１が起動する（Ｓ５３３）。これにより、以後チップ１１０とチップ１３０は並列に動作することができる。
【００３２】
Ｓ５３３の後、チップ１３０では、Ｓ５３４において、ＣＰＵ１３１により、ＲＡＭ２２１からＳ５３２において格納されたプログラムを読み出し、Ｓ５３５においてチップ１３０の初期化を開始する。Ｓ５３６においてチップ１２０において初期化が完了すると、チップ１３０は、初期化完了通知をチップ１１０に送信する（Ｓ５３７）。
【００３３】
Ｓ５０８の後、チップ１１０では、Ｓ５０９において、ＣＰＵ１１１により、ＲＯＭ２０２からプログラムを読み出して、チップ１２０のＲＡＭ２１１にチップ１２０の初期化用のプログラムを転送し、ＲＡＭ２１１にプログラムが格納される（Ｓ５２２）。すなわち、ＣＰＵ１１１がチップ１２０のＲＡＭ２１１にチップ１２０の初期化用のプログラムを格納させる。Ｓ５１０において、ＣＰＵリセット制御部１２４にアクセスし、ＣＰＵ１２１のリセットを解除させる。具体的には、ＣＰＵ１１１のアクセスにより、ＣＰＵリセット制御部１２４がリセット信号２５３を出力することにより、ＣＰＵ１２１が起動する（Ｓ５２３）。これにより、以後チップ１１０とチップ１２０とチップ１３０は並列に動作することができる。
【００３４】
Ｓ５２３の後、チップ１２０では、Ｓ５２４において、ＣＰＵ１２１により、ＲＡＭ２１１からプログラムを読み出し、Ｓ５２５においてチップ１２０の初期化を開始する。Ｓ５２６においてチップ１２０において初期化が完了すると、チップ１２０は、初期化完了通知をチップ１１０に送信する（Ｓ５２７）。
【００３５】
Ｓ５１０の後、チップ１１０では、Ｓ５１１において、チップ１２０とチップ１３０の初期化完了確認を行う。初期化完了確認は、チップ毎に（チップ１２０、チップ１３０）初期化完了通知を受信したか否かを判定することにより行う。各チップから初期化完了通知を受信すると、各チップにおいて初期化が完了したと判定する（Ｓ５１２）。チップ１２０とチップ１３０からの初期化完了通知を受信すると、全チップ初期化完了と判定する（Ｓ５１３）。
【００３６】
上述したとおり、本実施形態では、チップの初期化順序情報に基づいて、初期化を優先的に実行すべきスレイブチップを特定し、初期化に時間のかかるスレイブチップの初期化を優先的に行う。これにより、システム全体の起動時間を短縮することができる。
チップの初期化時間は、使用用途や機能の違いによりチップにより異なる。チップの接続順に起動させる場合、マスタチップに近い順に初期化が行われる。初期化時間の長いスレイブチップがマスタチップの近傍に配置されている場合は、初期化時間の長いスレイブチップの初期化を優先的に行うことができる。しかしながら、配線混雑性の影響や、接続する端子構成によっては、初期化時間の長いスレイブチップをマスタチップから複数チップを跨いだ下流チップとして配置しなければならない場合もある。初期化時間の長いスレイブチップがマスタチップから遠い位置に配置されている場合は、初期化時間の長いスレイブチップの初期化が後になってしまい、システム全体としての起動時間が遅くなってしまう。これに対し、本実施形態では、チップ１１０とチップ１３０の間のチップ１２０を初期化する前に、チップ１１０とチップ１３０との通信を確立させ、初期化時間の長いチップ１３０用のＲＡＭ２２１にプログラムを格納させる。したがって、チップ１２０が初期化させ、チップ１２０の初期化用のＲＡＭ２１１に一旦チップ１３０の初期化用のプログラムを格納させてから、チップ１３０用のＲＡＭ２２１に格納させる場合と比較して、プログラムを転送する時間を短縮することができる。そして、チップ１３０の初期化用のプログラムをチップ１３０用のＲＡＭ２２１に格納させると、チップ１３０の初期化を開始する。これにより、システム全体の起動時間を早くすることができる。
【００３７】
（実施形態２）
本実施形態では、外部端子によりチップ初期化順序を特定する。図３は、本実施形態に係る画像処理装置の構成例を示すブロック図である。図１と同じ部分は同じ記号で表し、説明を省略する。
【００３８】
図３に示すように、画像処理装置１００Ａは、直列に接続された３チップ（チップ１１０Ａ、チップ１２０Ａ、チップ１３０Ａ）を有する。以下、図３と図１の異なる部分を説明する。
【００３９】
チップ１１０Ａは、図１と同様であるが、チップ１１０Ａに接続するＲＯＭ２０２は、チップ初期化順序情報２０２ａを含んでいない。
【００４０】
チップ１２０Ａは、ポート制御部１２７を有する。ポート制御部１２７は、ポートを制御することにより、初期化順序設定端子４０１からの入力を制御し、初期化順序設定端子４０１からの入力情報を保存する内部レジスタ１２７ａを有する。本実施形態において初期化順序設定端子４０１は“Ｌｏｗ”に設定されている。
【００４１】
チップ１３０Ａは、さらに、ポート制御部１３７を有する。ポート制御部１３７は、ポートを制御することにより、初期化順序設定端子４０２からの入力を制御し、初期化順序設定端子４０２からの入力情報を保存する内部レジスタ１３７ａを有する。本実施形態において初期化順序設定端子４０２は“Ｈｉｇｈ”に設定されている。
【００４２】
図４は、本実施形態における、マルチチップシステムの制御方法の手順を示すフローチャートである。
【００４３】
マルチチップシステムに電源が投入されると、リセットＩＣ３００は、マルチチップシステムの各チップに対し、リセット信号３０１を出力する。これにより、チップ１１０のチップリセット、チップ１２０内のＣＰＵ１２１以外のリセット、チップ１３０内のＣＰＵ１３１以外のリセットを解除する。
【００４４】
リセットＩＣ３００によるリセット解除の後、チップ１２０は、ポート制御部１２７のリセットが解除されているので、初期化順序設定端子４０１の信号が入力される（Ｓ６１１）。そして、初期化順序設定端子４０１の信号は、第二のチップ１２０の初期化順序情報としてポート制御部１２７の内部レジスタ１２７ａに記憶される（Ｓ６１２）。初期化順序設定端子４０１は“Ｌｏｗ”に設定されていることから内部レジスタ１２７ａには“０”が記憶される。
【００４５】
リセットＩＣ３００によるリセット解除の後、チップ１３０は、ポート制御部１３７のリセットが解除されているので、初期化順序設定端子４０２の信号が入力される（Ｓ６２１）。そして、初期化順序設定端子４０２の信号は、チップ１３０の初期化順序情報としてポート制御部１３７の内部レジスタ１３７ａに記憶される（Ｓ６２２）。初期化順序設定端子４０２は“Ｈｉｇｈ”に設定されていることから内部レジスタ１３７ａには“１”が記憶される。
【００４６】
リセットＩＣ３００によるリセット解除の後、チップ１１０は、Ｓ６０１において、チップ１１０の初期化を開始する。
【００４７】
Ｓ６０２において、ＣＰＵ１１１により、インターフェース部１１５を設定することにより、インターフェース部１１５と、インターフェース部１２６間の接続通信が可能になる。インターフェース部１１５、インターフェース部１２６間が接続すると、両チップのメモリ空間内を自由にアクセスすることができる。つまり、チップ１１０とチップ１２０間の通信が確立される。
【００４８】
Ｓ６０３において、ＣＰＵ１１１が、内部レジスタ１２７ａをリードし、チップ１２０の初期化順序情報を取得する。Ｓ６０４において、リードしたチップ１２０の初期化順序情報をＲＡＭ２０１に保存する。
【００４９】
Ｓ６０５において、ＣＰＵ１１１は、インターフェース部１２５を設定することにより、インターフェース部１２５、インターフェース部１３６間の接続通信が可能になる。インターフェース部１２５、インターフェース部１３６間が接続するとチップ１１０からチップ１２０を経由して、チップ１３０のメモリ空間内を自由にアクセスすることができる。つまり、チップ１２０を介して、チップ１１０とチップ１３０との間の通信が確立される。
【００５０】
Ｓ６０６において、ＣＰＵ１１１が、内部レジスタ１３７ａをリードし、チップ１３０の初期化順序情報を取得する。Ｓ６０７において、リードしたチップ１３０の初期化順序情報をＲＡＭ２０１に保存する。
【００５１】
これにより、全チップの初期化順序情報を取得できたので、Ｓ６０８において、各チップの初期化順序を制御する。各チップの初期化順序は、各チップから取得した初期化順序情報に基づいて決定し、初期化順序情報“１”となっているチップから優先して初期化する。本実施形態では、第二の初期化順序情報“０”、第三の初期化順序情報“１”となっており、チップ１３０を優先して初期化すると決定する。
【００５２】
Ｓ５０７〜Ｓ５１３、Ｓ５２２〜Ｓ５２７、Ｓ５３２〜Ｓ５３７は、図２と同様のため説明を省略する。
【００５３】
なお、本実施形態では、初期化順序設定端子は、各チップに一つ設けるものとしたが、これに限定されるものではない。例えば、一つのチップに入力する初期化順序の設定端子数を増やし、一つのチップにさらに複数チップの初期化順序の設定するようにしてもよい。
【００５４】
なお、本実施形態では、チップ初期化順序を特定する外部端子をチップ１２０と１３０に設けたが、これに限定されるものではなく、チップ初期化順序を特定する外部端子が接続されるチップは、特定のチップに限定されるものではない。例えば、チップ１１０に集約して外部端子を接続してもよいし、チップ１２０のみに集約して外部端子を接続してもよいし、チップ１３０のみに集約して外部端子を接続してもよい。
【００５５】
上述したように、本実施形態では、チップに初期化順序情報を特定する外部端子を備えることにより、外部端子から入力された初期化順序情報に基づいて、初期化を優先的に実行すべきスレイブチップを特定する。そして、初期化に時間のかかるスレイブチップの初期化を優先的に行う。これにより、システム全体の起動時間を短縮することができる。
【００５６】
（実施形態３）
本実施形態係る画像処理装置は、４つのチップが直列に接続される。
【００５７】
図５は、本実施形態に係る画像処理装置の構成例を示すブロック図である。
【００５８】
図１と同じ部分は同じ記号で表し、説明を省略する。
【００５９】
図５に示すように、画像処理装置１００Ｂは、直列に接続された４チップ（チップ１１０、チップ１２０、チップ１３０、チップ１４０）を有する。以下、図５と図１の異なる部分を説明する。
【００６０】
画像処理装置１００Ｂは、ユーザーからの印刷データを受信し印刷物を生成することや、画像データをメディアから読み取ることができる装置である。
【００６１】
インターフェース２７０は、チップ１２０とチップ１４０の通信を行う。インターフェース２８０は、チップ１４０とチップ１３０の通信を行う。チップ１４０は、ＲＡＭ２３１と、スキャナ部２３２に接続される。
【００６２】
チップ１１０、チップ１２０、チップ１３０の構成は図１（実施形態１）と同様である。
【００６３】
チップ１４０は、ＣＰＵ１４１と、ＲＡＭコントローラ部１４２と、スキャナ制御部１４３と、ＣＰＵリセット制御部１４４と、インターフェース部１４５、１４６を有し、これらは内部バス１４８により互いに接続されている。チップ１４０は、スキャナ制御チップとして用いられる。
【００６４】
ＣＰＵ１４１は、プログラムに従って画像処理装置１００Ｂの制御を行う処理実行手段である。ＲＡＭコントローラ部１４２は、ＲＡＭ２３１とのデータの読み書きを行うためのＲＡＭ制御手段である。スキャナ制御部１４３はスキャナ部２３２の制御を行う。ＣＰＵリセット制御部１４４はＣＰＵ１４１へのＣＰＵリセット信号２７３を制御して、ＣＰＵ１４１のリセット制御を行う。インターフェース部１４５は、インターフェース２８０を介してチップ１３０と通信を行うための通信手段である。インターフェース部１４６は、インターフェース２７０を介してチップ１２０と通信を行うための通信手段である。
【００６５】
リセットＩＣ３００は、チップ１１０内の全構成と、チップ１２０内のＣＰＵ以外の構成と、チップ１４０内のＣＰＵ以外の構成と、チップ１３０内のＣＰＵ以外の構成へリセット信号を出力する。
【００６６】
本実施形態は、４つのチップを含み、チップ初期化順序は、ＲＯＭ２０２に格納されているチップ初期化順序情報２０２ａによって任意に決まるものであり、一つの初期化順に特定されるものではない。本実施形態では、チップ１１０を除いた、３つのチップの初期化順序は、（４−１）！＝６通りの中から任意に選択することができる。図６は本実施形態に係るチップの初期化順序のパターン示した説明図である。
【００６７】
なお、本実施形態では、４つのチップが接続される構成について説明したが、接続されるチップの個数はいくつであっても構わない。
【００６８】
上述したとおり、ｎ個（ｎ：自然数）のチップがマルチチップシステムであっても、任意のチップ初期化順序を実現することができる。すなわち、様々なマルチチップシステムに対して、システム全体の起動時間を短縮することができる。
【００６９】
（実施形態４）
本実施形態では、チップの初期化順序を動的に変更可能な画像処理装置について説明する。ここでは、画像処理装置が着脱可能なユニットが接続でき、着脱可能なユニットが接続されている場合と接続されていない場合において、チップの初期化順序を選択的に開始可能とする。
【００７０】
図７は、本実施形態における、マルチチップシステムの構成形態を示すブロック図である。図５と同じ部分は同じ記号で表し、説明を省略する。図７に示すように、画像処理装置１００Ｃは、直列に接続された４チップ（チップ１１０、チップ１５０、チップ１２０、チップ１３０）を有する。以下、図７と図１の異なる部分を説明する。
【００７１】
画像処理装置１００Ｃは、オプションユニットを接続可能である。オプションユニット部２９０は、例えば、画像処理装置１００Ｃのデータ処理を高速化させるアクセラレータユニットであり、画像処理装置１００Ｃの使用方法に応じて、画像処理装置１００Ｃに着脱される。
【００７２】
チップ１５０は、データ制御チップとして用いられるスレイブチップである。インターフェース２５１は、チップ１１０とチップ１５０の通信を行う。インターフェース２６１は、チップ１５０とチップ１２０の通信を行う。チップ１５０は、ＲＡＭ２４１と接続する。また、チップ１５０は、オブションインターフェースにより、オプションユニット部２９０とチップ１５０の通信を行う。本実施形態では、オプションユニット部２９０が接続されていない場合には、チップ１３０、チップ１２０、チップ１５０の順で初期化に時間に掛かる。また、オプションユニット部２９０が接続されている場合には、チップ１５０、チップ１３０、チップ１２０の順で初期化に時間に掛かる。
【００７３】
チップ１１０Ｃは、オプションユニット検出部２９３を含む。また、オプションユニット検出部２９３は、内部レジスタ２９４を含む。オプションユニット部２９０が画像処理装置１００Ｃに接続されると、オプションユニット通知信号２９２は、オプションユニット部２９０が接続されたことをチップ１１０に通知する。オプションユニット検出部２９３は、オプションユニット部２９０が接続されていない場合には、内部レジスタ２９４に‘０’を書き込む。オプションユニット部２９０が接続されて、オプションユニット通知信号２９２がチップ１１０Ｃに入力された場合には、内部レジスタ２９４に‘１’を書き込む。なお、チップ１１０が接続するＲＯＭ２０２には、チップ初期化順序情報２０２ａは含まれていない。このように、本実施形態では、オプションユニット検出部２９３の内部レジスタ２９４には、オプションユニット部２９０の接続状態を示す接続情報が保存されている。そして、詳細は後述するが、ＣＰＵ１１１は、オプションユニット部２９０の接続状態を示す接続情報に基づいて、初期化の順番を決定する。オプションユニット部２９０が接続されていない場合、チップ１３０、チップ１２０、チップ１５０の順に初期化の順番を決定する。オプションユニット部２９０が接続されている場合、チップ１５０、チップ１３０、チップ１２０の順に初期化の順番を決定する。
【００７４】
チップ１２０、チップ１３０の構成は、図１と同様であるため説明を省略する。
【００７５】
チップ１５０は、ＣＰＵ１５１、ＲＡＭコントローラ部１５２、データ処理部１５３、ＣＰＵリセット制御部１５４、インターフェース部１５５，１５６、オプションインターフェース部２９５を有し、これらは内部バス１５８により互いに接続されている。ＣＰＵ１５１は、プログラムに従って画像処理装置１００Ｃの制御を行う。ＲＡＭコントローラ部１５２は、ＲＡＭ２４１とのデータの読み書きを行うためのＲＡＭ制御手段である。データ処理部１５３は、画像データの処理を行う。ＣＰＵリセット制御部１５４は、ＣＰＵ１５１へのＣＰＵリセット信号２８３を制御して、ＣＰＵ１５１のリセット制御を行う。インターフェース部１５５は、インターフェース２６１を介してチップ１２０と通信を行うための通信手段である。インターフェース部１５６は、インターフェース２５１を介してチップ１１０と通信を行うための通信手段である。オプションインターフェース部２９５は、オプションユニットと通信するための通信手段である。
【００７６】
図８は、本実施形態に係るマルチチップシステムのチップ初期化順序を決定するためのフローチャートである。
【００７７】
マルチチップシステムに電源が投入されると、リセットＩＣ３００は、マルチチップシステムの各チップに対し、リセット信号３０１を出力する。これにより、チップ１１０のチップリセット、チップ１２０内のＣＰＵ１２１以外のリセット、チップ１３０内のＣＰＵ１３１以外のリセット、チップ１５０内のＣＰＵ以外のリセットを解除する。
【００７８】
リセットＩＣ３００によるリセット解除の後、チップ１１０では、Ｓ７０１において、チップ１１０の初期化を開始する。
【００７９】
Ｓ７０２において、ＣＰＵ１１１により、内部レジスタ２９４に格納されている値をリードする。その結果、Ｓ７０３において、値が“０”であった場合は、Ｓ７０４ａに遷移し、値が“０”でなかった場合は、Ｓ７０４ａに遷移する。
【００８０】
Ｓ７０４ａでは、オプションユニット部２９０が接続されていないため、チップ１３０、チップ１２０、チップ１５０の順で初期化を開始する。Ｓ７０４ｂでは、オプションユニット部２９０が接続されていることになるため、チップ１５０、チップ１３０、チップ１２０の順で初期化を開始する。すなわち、Ｓ７０３の判定結果に応じて、初期化の順序を決定する。言い換えれば、ＣＰＵ１１１は、オプションユニット部２９０の接続状態に応じて、チップの初期化順序を切り替える。なお、各チップの初期化の方法は、初期化の順番が異なる以外は、図２等を用いて説明した方法と同様であるため、説明を省略する。上述したとおり、本実施形態では、着脱可能なユニットが接続されていることを通知する手段を有し、通知された情報によりチップの初期化順序を切り替えることにより、装置の状態に応じてチップの初期化の優先度を変更する。これにより、より適切な順序で初期化を実行することができ、システム全体の初期化時間を短縮することができる。
【００８１】
（実施形態５）
本実施形態では、外部から入力される情報により、可変的な順序でチップの初期化を開始可能である。
【００８２】
図９は、本実施形態に係る画像処理装置の構成例を示すブロック図である。図９に示すように、画像処理装置１００Ｄは、直列に接続された４チップ（チップ１１０、チップ１２０、チップ１４０、チップ１３０）を有する。以下、図５と同じ部分は同じ記号で表し、説明を省略する。ここでは、図９と図５の異なる部分を説明する。
【００８３】
ユーザーインターフェース部４１１は、チップ１１０にユーザーインターフェース信号４１２を出力する。
【００８４】
ユーザーインターフェース部４１１は、外部から操作可能なＫＥＹを複数有し、押されたＫＥＹに対応した信号をユーザーインターフェース信号４１２として出力する。本実施形態では、複数のＫＥＹとして、プリント動作開始ボタン、スキャナ動作開始ボタン、停止ボタンを含む。
【００８５】
チップ１１０は、ユーザーインターフェース制御部１１９を有する。そして、ユーザーインターフェース制御部１１９は、初期化テーブル１１９ａを有する。初期化テーブル１１９ａは、ユーザーインターフェース部４１１において選択されたキー毎に初期化の順番が設定されている。
【００８６】
ユーザーインターフェース制御部１１９は、ユーザーインターフェース信号４１２の制御をする制御手段である。初期化テーブル１１９ａは初期化を開始するチップの順序を特定する情報がテーブルとして記憶されている。入力されたユーザーインターフェース信号４１２の種類に応じて、初期化テーブル１１９ａの初期化順序テーブルを選択し、チップの初期化順序を可変的に決定する。また、チップ１１０に接続するＲＯＭ２０２にチップ初期化順序情報２０２ａは含まれていない。なお、ユーザーインターフェース信号４１２は、ユーザーインターフェース部４１１で選択されたキーの種類に応じて、変わる。
【００８７】
例えば、スキャナ動作の開始ボタンが押下された場合、スキャナ操作を実施するため、スキャナ部２３２が接続するチップ１４０の初期化を優先的に行う。プリント動作の開始ボタンが押下された場合、メカ部２２２が接続するチップ１３０の初期化を優先的に行う。このように、本実施形態では、動作モードに応じて、チップの初期化順序を可変的に変更することが可能となる。言い換えれば、ユーザーにより選択された機能に応じて、チップの初期化順序を決定する。より具体的には、ユーザーにより指定された動作を実行するために必要となるチップの初期化を優先するように初期化順序を決定する。
【００８８】
チップ１２０、チップ１３０、チップ１４０の構成は、図５と同様であるため、説明を省略する。
【００８９】
図１０は、実施形態５に係るマルチチップシステムのチップ初期化順序を決定するためのフローチャートである。
【００９０】
マルチチップシステムに電源が投入されると、マルチチップシステムの各チップに対し、リセット信号３０１を出力する。これにより、リセットＩＣ３００はチップ１１０のチップリセット、チップ１２０内のＣＰＵ１２１以外のリセット、チップ１４０内のＣＰＵ１４１以外のリセット、チップ１３０内のＣＰＵ１３１以外のリセットを解除する。
【００９１】
リセットＩＣ３００のリセット解除の後、Ｓ８０１において、チップ１１０は初期化を開始する。Ｓ８０２において、ユーザーインターフェース部４１１からユーザーインターフェース信号４１２が入力されると、Ｓ８０３にて、押されたＫＥＹの種類に応じて、初期化チップテーブル１０９ａを選択する。その結果、Ｓ８０４において、ＣＰＵ１１１は選択された初期化チップテーブル１０９ａをリードすることで、チップの初期化順序を決定する。Ｓ８０５において、決定された初期化開始順に初期化フローを開始する。なお、各チップの初期化の方法は、初期化の順番が異なる以外は、図２等を用いて説明した方法と同様であるため、説明を省略する。
【００９２】
上述したとおり、本実施形態では、チップの初期化順序が記録されている初期化チップテーブルに基づいて、外部から入力される情報により可変的に初期化順序テーブルを決定する。これにより、可変的な順序でチップの初期化を開始することができ、必要なサブシステムの起動時間を早めることができる。すなわち、本実施形態では、指定された動作を実行するために必要となるチップの初期化を早めることができる。例えば、動作モードによっては、下流側のチップを初期化しなくても動作を実行することができる。したがって、本実施形態では、動作モードで使用する機能部（印刷部、スキャナ部等）が接続するチップの動作を優先的に初期化することができる。したがって、動作モードによっては、より早く動作を開始させることができるようになる。
【００９３】
（その他の実施形態）
本発明は上述した実施形態に限定されるものではない。例えば、上述した実施形態では、マスタチップと、スレイブチップが異なる構成からなるものとしたが、これに限定されず、マスタチップもスレイブチップも同一の構成からなるものとしてもよい。この場合は、各チップが、マスタチップにもスレイブチップにもなることが可能となる。
【００９４】
また、上述した実施形態では、スレイブチップの初期化を開始する前に、全てのチップ間の通信を確立するようにしたが、優先的に初期化すべきチップが末端のチップではなく、中継チップである場合、末端のチップまで全ての通信を確立する必要はない。したがって、マスタチップと優先的に初期化すべきチップとの通信を確立したが、全てのチップとの通信が確立する前に、優先的に初期化すべきチップの初期化を開始するようにしてもよい。
【００９５】
また、上述した実施形態では、マスタチップであるチップ１１０のＣＰＵ１１１が各インターフェース部を設定し、チップ間の通信を確立させるものとしたが、これに限定されるものではない。例えば、リセットＩＣ３００がリセット信号を出力し、チップリセット解除することにより、スレイブチップのＣＰＵがリセットされた状態のまま、自動的にチップ間の通信が先に確立できるようにしてもよい。
【００９６】
上述した実施形態では、チップの数を３つ又は４の場合を例に挙げて説明したが、チップの数は３つ以上であればこれらに限定されるものではない。
【００９７】
上述した実施形態では、チップが直列に接続され、一つのチップから他のチップへプログラムを配信するようにしたが、これに限定されるものではない。例えば、チップの一部が並列に接続されていてもよいし、プログラムを配信するチップは、複数個であってもよい。
【００９８】
また、上述した実施形態では、ＣＰＵ１１１は、チップ１３０の初期化用のプログラムをチップ１３０用のＲＡＭ２２１に格納させるものとしたが、これに限定されるものではない。例えば、チップ１３０の初期化用のプログラムと、他のチップの初期化用のプログラムを含むプログラムを格納させるようにしてもよい。
【００９９】
実施形態３では、接続される全てのチップを初期化するための順序を決定したが、一部のチップの初期化のみでシステムの起動が可能である場合、システムの起動に必要なチップのみの初期化順序を決定してもよい。そして、全てのチップを初期化せずに、初期化順序が決定されたチップのみの初期化をするようにしてもよい。
【０１００】
実施形態４では、ＣＰＵ１１１が、オプションユニット部２９０の接続状態を示す接続情報を取得して、初期化の順番を決定するものとしたが、これに限定されるものではない。例えば、ＲＯＭ２０２は、チップの初期化順序情報２０２ａを含むものとし、オプションユニット検出部２９３の内部レジスタ２９４の接続情報に応じて、チップの初期化順序情報２０２ａを更新するようにしてもよい。この場合は、ＣＰＵ１１１は、初期化順序情報２０２ａに基づいて、図２に示すフローにより初期化を実行することができる。また、例えば、ＲＯＭ２０２は、接続状態毎に初期化の順番が設定された初期化テーブルを含むものとし、オプションユニット検出部２９３の内部レジスタ２９４の接続情報に応じて、初期化テーブルを取得するようにしてもよい。
【０１０１】
また、実施形態５では、ユーザーインターフェース信号を初期化テーブルへ入力するものとしたが、初期化テーブルへ入力する信号は、ユーザーインターフェース信号に限定されるものではない。例えば、ＰＣからのホストインターフェースを介して入力される情報や、その他の外部機器からの入力情報であってもよい。
【０１０２】
また、上述した実施形態を組み合わせて、適宜、初期化の方法を変更できるようにしてもよい。例えば、通常の起動は、実施形態１のようにＲＯＭ内の情報により各チップ順序を決定するが、通常の起動とは別に、特定の入力信号群によって起動をする場合には、実施形態５のように初期化チップテーブルを用いて起動をするようにしてもよい。
【０１０３】
また、以上の実施形態の処理の全てをハードウェアで実行する必要はなく、一部をソフ
トウェアによって構成してもよい。
【符号の説明】
【０１０４】
１００，１００Ａ，１００Ｂ，１００Ｃ  画像処理装置
１１０  マスタチップ
１２０、１３０、１４０、１５０  スレイブチップ
１１１、１２１、１３１、１４１、１５１  ＣＰＵ
１１２、１２２、１３２、１４２、１５２  ＲＡＭコントローラ部
１１３  ＲＯＭコントローラ部
１２３  印刷制御部
１３３  メカ駆動制御部
１４３  スキャナ制御部
１５３  データ処理部
１１４、１２４、１３４、１４４、１５４  ＣＰＵリセット制御部
１１５、１２５、１２６、１３６、１４５、１４６、１５５、１５６  インターフェース部
１１８、１２８、１３８、１４８、１５８  バス
２５０、２５１、２６０、２６１、２７０、２８０  インターフェース
２５３、２６３、２７３、２８３  ＣＰＵリセット信号
１９０  ホストＰＣ
１９１  ホストインターフェース
２０１、２１１、２２１、２３１  ＲＡＭ
２０２  ＲＯＭ
２１２  印刷部
２２２  メカ部
【図１】
0006635696.tif 000002
【図２】
0006635696.tif 000003
【図３】
0006635696.tif 000004
【図４】
0006635696.tif 000005
【図５】
0006635696.tif 000006
【図６】
0006635696.tif 000007
【図７】
0006635696.tif 000008
【図８】
0006635696.tif 000009
【図９】
0006635696.tif 000010
【図１０】
0006635696.tif 000011