(57)【要約】【課題】プログラムが格納されているメモリに接続されていないチップを含むマルチチップシステムにおいて、システム全体の起動時間を短縮する。【解決手段】第１のチップと第２のチップとを含むマルチチップシステムであって、第１のチップは、第１のプロセッサと、第２のチップのプログラムを記憶する記憶手段と接続する接続手段と、を備え、第２のチップは、第２のプロセッサと、第２のチップのプログラムを読み出すためのブートアドレスを第２のプロセッサに伝達する伝達手段と、第２のプロセッサを起動する起動制御手段と、を備え、第１のプロセッサは、第１のチップと第２のチップとを通信可能にし、当該通信を通じてブートアドレスを伝達手段に設定し、ブートアドレスの設定の後に、起動制御手段に第２のプロセッサを前記ブートアドレスに基づいて起動させる。【選択図】図４
2019200654.tif 000002
【特許請求の範囲】
【請求項１】
第１のチップと第２のチップとを含むマルチチップシステムであって、
前記第１のチップは、
前記第１のチップを制御する第１のプロセッサと、
前記第２のチップのプログラムを記憶する記憶手段と接続する接続手段と、
を備え、
前記第２のチップは、
前記第２のチップを制御する第２のプロセッサと、
前記プログラムを読み出すためのブートアドレスを前記第２のプロセッサに伝達する伝達手段と、
前記第２のプロセッサを起動する起動制御手段と、を備え、
前記第１のプロセッサは、
前記第１のチップと前記第２のチップとを通信可能にし、
当該通信を通じて前記ブートアドレスを前記伝達手段に設定し、
前記ブートアドレスの設定の後に、前記起動制御手段に前記第２のプロセッサを前記ブートアドレスに基づいて起動させることを特徴とするマルチチップシステム。
【請求項２】
前記第１のチップおよび前記第２のチップの少なくとも一方は、第１のアドレスを第２のアドレスに変換するアドレス変換手段をさらに備え、
前記第１のプロセッサは、
前記ブートアドレスを前記第１のアドレスとした場合、前記第２のアドレスが、前記プログラムが記憶されているアドレスとなるように、前記アドレス変換手段における変換を設定することを特徴とする請求項１に記載のマルチチップシステム。
【請求項３】
前記第１のアドレスは、前記アドレス変換手段のアドレス空間に割り当てられてるアドレスであることを特徴とする請求項２に記載のマルチチップシステム。
【請求項４】
前記第１のチップと前記第２のチップとにおいて、割り当てられているアドレス空間が同一であることを特徴とする請求項２または３に記載のマルチチップシステム。
【請求項５】
前記伝達手段に設定される前記ブートアドレスは、前記プログラムが記憶されているアドレスであることを特徴とする請求項１に記載のマルチチップシステム。
【請求項６】
前記第１のチップは、ホスト装置と通信するホスト通信手段およびユーザインターフェースを制御するＵＩ制御手段の少なくとも一方をさらに備え、
前記第２のプロセッサは、前記第２のチップの起動が完了した場合、前記第１のプロセッサに起動完了の通知を送信し、
前記第１のプロセッサは、前記起動制御手段に前記第２のプロセッサを起動させる指示を出力した後であり、かつ前記第２のプロセッサから前記通知を受信する前に、前記ホスト通信手段または前記ＵＩ制御手段の初期化を開始することを特徴とする請求項１から５のいずれか一項に記載のマルチチップシステム。
【請求項７】
第１のチップと第２から第Ｎ（Ｎは３以上の自然数）のチップとを含むマルチチップシステムであって、
前記第１のチップは、
前記第１のチップを制御する第１のプロセッサと、
前記第２から第Ｎのチップのプログラムを記憶する記憶手段と接続する接続手段と、
を備え、
前記第２から第Ｎのチップの各チップは、
自身のチップを制御するプロセッサと、
自身のプログラムを読み出すためのブートアドレスを自身のチップの前記プロセッサに伝達する伝達手段と、
自身のチップの前記プロセッサを起動する起動制御手段と、を備え、
前記第１のプロセッサは、
前記第１のチップと前記第２から第Ｎのチップとを通信可能にし、
当該通信を通じて前記ブートアドレスを前記第２から前記第Ｎのチップの各伝達手段に設定し、
前記ブートアドレスの設定の後に、前記第２から前記第Ｎのチップの各起動制御手段に、前記第２から前記第Ｎのチップの各チップの前記プロセッサを前記ブートアドレスに基づいて起動させることを特徴とするマルチチップシステム。
【請求項８】
前記第１のチップおよび前記第２から第Ｎのチップの少なくとも一つは、第１のアドレスを第２のアドレスに変換するアドレス変換手段をさらに備え、
前記第１のプロセッサは、
前記ブートアドレスを前記第１のアドレスとした場合、前記第２のアドレスが、前記プログラムが記憶されているアドレスとなるように、前記アドレス変換手段における変換を設定することを特徴とする請求項７に記載のマルチチップシステム。
【請求項９】
前記記憶手段には、前記第２から第Ｎのチップのそれぞれのプログラムが個別に記憶されており、
前記第１のプロセッサは、
前記第１のアドレスを前記第２から第Ｎのチップにおいてそれぞれ異なるアドレスとした場合、前記第２のアドレスが、前記第１のアドレスに応じてそれぞれ異なるアドレスとなるように、前記アドレス変換手段における変換を設定することを特徴とする請求項８に記載のマルチチップシステム。
【請求項１０】
前記記憶手段には、前記第２から第Ｎのチップの少なくとも２つにおいて共通のプログラムが記憶されており、
前記第１のプロセッサは、
前記第１のアドレスを前記第２から第Ｎのチップの前記少なくとも２つにおいて共通のアドレスとした場合、前記共通のアドレスに対応する前記第２のアドレスが、前記共通のプログラムが記憶されているアドレスとなるように、前記アドレス変換手段における変換を設定することを特徴とする請求項８に記載のマルチチップシステム。
【請求項１１】
前記記憶手段には、前記第２から第Ｎのチップの少なくとも２つにおいて共通のプログラムが記憶されており、
前記第１のプロセッサは、
前記第１のアドレスを前記第２から第Ｎのチップの前記少なくとも２つにおいてそれぞれ異なるアドレスとした場合、前記第２から第Ｎのチップの前記少なくとも２つにおける第１のアドレスに対応する第２のアドレスが、前記共通のプログラムを記憶しているアドレスとなるように、前記アドレス変換手段における変換を設定することを特徴とする請求項８に記載のマルチチップシステム。
【請求項１２】
前記第１のチップと前記第２から第Ｎのチップとは、縦列に接続されており、
前記第２のチップは、前記第１のチップおよび第３のチップと通信可能であり、
前記アドレス変換手段は、前記第１のチップまたは前記第２のチップに備えられていることを特徴とする請求項８から１１のいずれか一項に記載のマルチチップシステム。
【請求項１３】
前記第１のチップは、前記第２から前記第Ｎのチップのそれぞれと接続されており、
前記アドレス変換手段は、前記第１のチップまたは第２から第Ｎのチップの少なくとも一方に備えられていることを特徴とする請求項８から１１のいずれか一項に記載のマルチチップシステム。
【請求項１４】
前記第１のチップと前記第２から第Ｎのチップとにおいて、割り当てられているアドレス空間が同一であることを特徴とする請求項８から１３のいずれか一項に記載のマルチチップシステム。
【請求項１５】
各伝達手段に設定される前記ブートアドレスは、前記プログラムが記憶されているアドレスであることを特徴とする請求項７に記載のマルチチップシステム。
【請求項１６】
前記第１のチップは、ホスト装置と通信するホスト通信手段およびユーザインターフェースを制御するＵＩ制御手段の少なくとも一方をさらに備え、
前記第２から第Ｎのチップの各プロセッサは、自身のチップの起動が完了した場合、前記第１のプロセッサに起動完了の通知を送信し、
前記第１のプロセッサは、前記起動制御手段に各チップの前記プロセッサを起動させる指示を出力した後であり、かつ各チップからの前記通知を受信する前に、前記ホスト通信手段または前記ＵＩ制御手段の初期化を開始することを特徴とする請求項７から１５のいずれか一項に記載のマルチチップシステム。
【請求項１７】
請求項１から１６のいずれか一項に記載のマルチチップシステムを搭載した電子機器。
【請求項１８】
第１のチップが、
前記第１のチップを制御する第１のプロセッサと、
第２のチップのプログラムを記憶する記憶手段と接続する接続手段と、
を備え、
前記第２のチップが、
前記第２のチップを制御する第２のプロセッサと、
前記プログラムを読み出すためのブートアドレスを前記第２のプロセッサに伝達する伝達手段と、
前記第２のプロセッサを起動する起動制御手段と、
を備えているマルチチップシステムの制御方法であって、
前記第１のプロセッサが、
前記第１のチップと前記第２のチップとを通信可能にするステップと、
当該通信を通じて前記ブートアドレスを前記伝達手段に設定するステップと、
前記ブートアドレスの設定の後に、前記起動制御手段に前記第２のプロセッサを前記ブートアドレスに基づいて起動させるステップと、
を実行することを特徴とする制御方法。
【請求項１９】
第１のチップが、
前記第１のチップを制御する第１のプロセッサと、
第２から第Ｎのチップのプログラムを記憶する記憶手段と接続する接続手段と、
を備え、
前記第２から第Ｎ（Ｎは３以上の自然数）の各チップが、
自身のチップを制御するプロセッサと、
自身のプログラムを読み出すためのブートアドレスを自身のチップの前記プロセッサに伝達する伝達手段と、
自身のチップの前記プロセッサを起動する起動制御手段と、
を備えているマルチチップシステムの制御方法であって、
前記第１のプロセッサが、
前記第１のチップと前記第２から第Ｎのチップとを通信可能にするステップと、
当該通信を通じて前記ブートアドレスを前記第２から前記第Ｎのチップの各伝達手段に設定するステップと、
前記ブートアドレスの設定の後に、前記第２から前記第Ｎのチップの各起動制御手段に、前記第２から前記第Ｎのチップの各チップの前記プロセッサを前記ブートアドレスに基づいて起動させるステップと、
を実行することを特徴とする制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、二つ以上の集積回路チップで構成されているマルチチップシステムにおける起動を制御する技術に関する。
【背景技術】
【０００２】
複数の集積回路チップを連結させたマルチチップシステムにおいて、コスト削減のために、上流チップのみが起動プログラムを格納した不揮発性メモリを備え、下流チップは不揮発性メモリを備えていないシステムがある。
【０００３】
特許文献１には、最上流に位置するプロセッサモジュール（上流チップという）から、その下流に位置するプロセッサモジュール（下流チップという）に下流チップ用のプログラムが配信される技術が記載されている。特許文献１では、上流チップが、下流チップのメモリに下流チップ用のプログラムを展開し、その後、上流チップが下流チップのリセットを解除して起動処理を行うことが記載されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０００−３３９２８４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上流チップが下流チップのメモリにプログラムを展開する場合、システム全体の起動に時間を要してしまう。
【０００６】
本発明は、プログラムが格納されているメモリに接続されていないチップを含むマルチチップシステムにおいて、システム全体の起動時間を短縮することを目的とする。
【課題を解決するための手段】
【０００７】
本発明の一態様に係るマルチチップシステムは、第１のチップと第２のチップとを含むマルチチップシステムであって、前記第１のチップは、前記第１のチップを制御する第１のプロセッサと、前記第２のチップのプログラムを記憶する記憶手段と接続する接続手段と、を備え、前記第２のチップは、前記第２のチップを制御する第２のプロセッサと、前記プログラムを読み出すためのブートアドレスを前記第２のプロセッサに伝達する伝達手段と、前記第２のプロセッサを起動する起動制御手段と、を備え、前記第１のプロセッサは、前記第１のチップと前記第２のチップとを通信可能にし、当該通信を通じて前記ブートアドレスを前記伝達手段に設定し、前記ブートアドレスの設定の後に、前記起動制御手段に前記第２のプロセッサを前記ブートアドレスに基づいて起動させることを特徴とする。
【発明の効果】
【０００８】
本発明によれば、プログラムが格納されているメモリに接続されていないチップを含むマルチチップシステムにおいて、システム全体の起動時間を短縮することができる。
【図面の簡単な説明】
【０００９】
【図１】記録装置の内部構成図である。
【図２】記録装置の制御構成を示すブロック図である。
【図３】起動方法を示すフローチャートである。
【図４】起動時のアクセス経路を示すブロック図である。
【図５】記録装置の制御構成とアクセス経路を示すブロック図である。
【図６】記録装置の制御構成とアクセス経路と各チップの働きとを説明する図である。
【図７】記録装置の制御構成とアクセス経路を示すブロック図である。
【図８】記録装置の制御構成とアクセス経路を示すブロック図である。
【発明を実施するための形態】
【００１０】
以下、図面を参照して、本発明の実施形態に係る記録装置について説明する。なお、以下の実施形態は、本発明を限定するものではなく、また、本実施形態で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。また、本実施形態においては、マルチチップシステムが搭載される電子機器として、インクジェット記録装置を、その一例として説明する。
【００１１】
＜＜実施形態１＞＞
＜記録装置の構成＞
図１は、インクジェット記録装置１（以下、記録装置１）の内部構成図である。図において、ｘ方向は水平方向、ｙ方向は後述する記録ヘッド８において吐出口が配列される方向、ｚ方向は鉛直方向をそれぞれ示す。
【００１２】
記録装置１は、プリント部２とスキャナ部３とを備える複合機であり、記録動作と読取動作とに関する様々な処理を、プリント部２とスキャナ部３とで個別にあるいは連動して実行することができる。スキャナ部３は、ＡＤＦ（オートドキュメントフィーダ）とＦＢＳ（フラットベッドスキャナ）とを備えており、ＡＤＦで自動給紙される原稿の読み取りと、ユーザによってＦＢＳの原稿台に置かれた原稿の読み取り（スキャン）とを行うことができる。
【００１３】
なお、ここではプリント部２とスキャナ部３とを併せ持った複合機を示すが、スキャナ部３を備えない形態であっても良い。図１は、記録装置１が記録動作も読取動作も行っていない待機状態にあるときを示す。
【００１４】
プリント部２において、筐体４の鉛直方向下方の底部には、記録媒体（カットシート）Ｓを収容するための第１カセット５Ａと第２カセット５Ｂとが着脱可能に設置されている。
【００１５】
搬送ローラ７、排出ローラ１２、ピンチローラ７ａ、拍車７ｂ、ガイド１８、インナーガイド１９、およびフラッパ１１は、記録媒体Ｓを所定の方向に導くための搬送機構である。搬送ローラ７は、記録ヘッド８の上流側および下流側に配され、不図示の搬送モータによって駆動される駆動ローラである。ピンチローラ７ａは、搬送ローラ７と共に記録媒体Ｓをニップして回転する従動ローラである。排出ローラ１２は、搬送ローラ７の下流側に配され、不図示の搬送モータによって駆動される駆動ローラである。拍車７ｂは、記録ヘッド８の下流側に配される搬送ローラ７及び排出ローラ１２と共に記録媒体Ｓを挟持して搬送する。排出トレイ１３は、記録動作が完了し排出ローラ１２によって排出された記録媒体Ｓを積載保持するためのトレイである。
【００１６】
記録ヘッド８は、フルラインタイプのカラーインクジェット記録ヘッドであり、記録データに従ってインクを吐出する吐出口が、図１におけるｙ方向に沿って記録媒体Ｓの幅に相当する分だけ複数配列されている。記録ヘッド８が待機位置にあるとき、記録ヘッド８の吐出口面８ａは、図１のように鉛直下方を向きキャップユニット１０によってキャップされている。記録動作を行う際は、後述するプリントコントローラ２０２によって、吐出口面８ａがプラテン９と対向するように記録ヘッド８の向きが変更される。プラテン９は、ｙ方向に延在する平板によって構成され、記録ヘッド８によって記録動作が行われる記録媒体Ｓを背面から支持する。
【００１７】
インクタンクユニット１４は、記録ヘッド８へ供給される４色のインクをそれぞれ貯留する。ここで４色のインクとは、シアン（Ｃ）、マゼンタ（Ｍ）、イエロー（Ｙ）、ブラック（Ｋ）のインクを指す。インク供給ユニット１５は、インクタンクユニット１４と記録ヘッド８とを接続する流路の途中に設けられ、記録ヘッド８内のインクの圧力及び流量を適切な範囲に調整する。記録装置１は循環型のインク供給システムを有し、インク供給ユニット１５は、記録ヘッド８へ供給されるインクの圧力と記録ヘッド８から回収されるインクの流量とを適切な範囲に調整する。
【００１８】
メンテナンスユニット１６は、キャップユニット１０とワイピングユニット１７とを備え、所定のタイミングにこれらを作動させて、記録ヘッド８に対するメンテナンス動作を行う。
【００１９】
＜記録装置の制御構成＞
図２は、本実施形態における、記録装置１の構成例を示すブロック図である。記録装置１は、印刷ジョブの送信等を行うホストＰＣ２９０と、ホストインターフェース２９１を介して接続している。
【００２０】
記録装置１の内部構成を説明する。記録装置１は、第１の集積回路チップ（以下、第１のチップという）２１０と第２の集積回路チップ（以下、第２のチップという）２２０とを備えている。また、記録装置１は、ＵＩ部２３０、ＲＯＭ２１５、ＲＡＭ２１７、２２７、および印刷部２４０を備えている。
【００２１】
ＲＯＭ２１５、ＲＡＭ２１７、ＵＩ部２３０、およびホストインターフェース２９１は、第１のチップ２１０に接続されている。ＲＡＭ２２７および印刷部２４０は、第２のチップ２２０に接続されている。第１のチップ２１０および第２のチップ２２０は、内部バス２８０で接続されている。
【００２２】
第１のチップ２１０は、記録装置１のシステムコントローラであり、ホストＰＣ２９０との通信により画像データを受信したり、ホストＰＣ２９０の問い合わせに対する応答を行ったりする。第１のチップ２１０はまた、ＵＩ部２３０の制御等を行う。第１のチップ２１０に接続されているＲＯＭ２１５は、各種プログラムを格納している読み出し可能な不揮発性メモリである。本実施形態では、ＲＯＭ２１５には、第１のチップ２１０用の起動プログラムおよび第２のチップ２２０用の起動プログラムが格納されている。第１のチップ２１０に接続されているＲＡＭ２１７は、第１のチップ２１０のプログラムを実行したり、画像データを記憶したりするための読み書き可能なメモリである。また、後述するように、第１のチップ２１０に接続されているＲＡＭ２１７は、第２のチップ２２０の起動プログラムを展開するメモリである。ＵＩ部２３０は、ユーザがスイッチやパネルにより記録装置の操作を行うためのユーザインターフェース部（操作部）である。
【００２３】
第２のチップ２２０は、記録装置のデバイスコントローラであり、第１のチップ２１０から受信したデータを印刷データに変換し、印刷制御を行う。第２のチップに接続されているＲＡＭ２２７は、第２のチップ２２０のプログラムを実行したり、画像データを記憶したりするための読み書き可能なメモリである。印刷部２４０は、処理したデータに従って印刷物を生成するための印刷物生成部である。
【００２４】
第１のチップ２１０の内部構成を説明する。第１のチップ２１０は、ＣＰＵ２１１、ホスト通信部２１２、ＵＩ制御部２１３、ＲＯＭコントローラ部２１４、ＲＡＭコントローラ部２１６、および内部通信部２１８を備えている。
【００２５】
ＣＰＵ２１１（第１のプロセッサ）は、第１のチップ２１０の中央演算処理装置であり、プログラムに従って処理を実行する。ホスト通信部２１２は、ホストＰＣ２９０とのデータ通信を行う。ＵＩ制御部２１３は、ＵＩ部２３０との入出力制御を行う。ＲＯＭコントローラ部２１４は、ＲＯＭ２１５との通信を行う。ＲＡＭコントローラ部２１６は、ＲＡＭ２１７との通信を行う。内部通信部２１８は、第２のチップ２２０との通信を行う。
【００２６】
第２のチップ２２０の内部構成を説明する。第２のチップ２２０は、ＣＰＵ２２１、印刷制御部２２４、ＲＡＭコントローラ部２２６、内部通信部２２８、および起動制御部２２９を備えている。
【００２７】
ＣＰＵ２２１（第２のプロセッサ）は、第２のチップ２２０の中央演算処理装置であり、プログラムに従って処理を実行する。印刷制御部２２４は、印刷部２４０へのデータ転送を行う。ＲＡＭコントローラ部２２６は、ＲＡＭ２２７との通信を行う。内部通信部２２８は、第１のチップ２１０との通信を行う。起動制御部２２９は、設定に従ってＣＰＵ２２１へのブートアドレスの伝達及びＣＰＵ２２１のリセットの制御を行う。ブートアドレスとは、ブート時に読み出す起動プログラムが格納されているアドレスのことである。
【００２８】
なお、本実施形態において起動制御部２２９が、ブートアドレスの伝達及びリセット制御を行う構成を示しているが、この例に限られるものではない。ブートアドレスの伝達及びリセット制御のうちの少なくとも一方を行う制御部が、他にあっても良い。
【００２９】
なお、ここで本実施形態における課題の一例について説明する。例えば、上流チップは、下流チップの位相同期回路（ＰＬＬ）の発振が安定するのを待ち、下流チップのメモリコントローラの設定を行い、下流チップのメモリにプログラムのデータを転送して展開する。その後、上流チップは、下流チップのリセットを解除することになる。このように、上流チップが、下流チップのメモリにプログラムを展開する場合、上流チップによる下流チップの起動制御に時間を要してしまい、それに応じて上流チップの各種の初期化が遅くなるおそれがある。この結果、システム全体の起動時間が長くなってしまうおそれがあった。
【００３０】
＜起動処理のフローチャート＞
図３は、本実施形態における、マルチチップシステムの起動処理を示すフローチャートである。まず、フローチャートを用いて全体の処理を説明し、その後、詳細な説明を行うこととする。なお、各処理の説明における記号「Ｓ」は、当該フローチャートにおけるステップであることを意味する（本明細書において同様である）。
【００３１】
第１のチップ２１０の制御フローを説明する。電源が投入されると、Ｓ３０１において、ＣＰＵ２１１のリセットが解除される。Ｓ３０２においてＣＰＵ２１１は、ＲＯＭ２１５から第１のチップ２１０用の起動プログラムを読み出し、自身のチップのＲＡＭ２１７に展開する。Ｓ３０３においてＣＰＵ２１１は、展開された起動プログラムに従って第１のチップ２１０の初期化を行う。Ｓ３０４においてＣＰＵ２１１は、内部通信部２１８のリンクアップ開始を行う。Ｓ３０５でＣＰＵ２１１は、リンクアップの接続完了を待つ。リンクアップが完了すると次の処理に進む。
【００３２】
Ｓ３０６においてＣＰＵ２１１は、第２のチップ２２０のＣＰＵ２２１用の起動プログラムを、自身のチップのＲＡＭ２１７に展開しておく（記憶しておく）。Ｓ３０７においてＣＰＵ２１１は、内部通信部２１８のアドレス変換を設定する。このアドレス変換により、ＣＰＵ２１１は、内部バス２８０経由で第２のチップ２２０の各部にアクセスすることができる。Ｓ３０８においてＣＰＵ２１１は、内部バス２８０経由で第２のチップ２２０のアドレス変換設定を行う。即ち、ＣＰＵ２１１は、内部バス２８０経由で第２のチップ２２０の内部通信部２２８のアドレス変換を設定する。チップ２２０内部のフローについては後述する。
【００３３】
Ｓ３０９においてＣＰＵ２１１は、チップ２２０の起動制御部２２９にアクセスし、ブートアドレスを設定する。ここで設定するブートアドレスは、Ｓ３０８で設定したアドレス変換で変換されるアドレスと対応付けされているアドレスとなる。詳細は後述する。Ｓ３１０においてＣＰＵ２１１は、第２のチップ２２０の起動制御部２２９にアクセスし、起動制御部２２９に、ＣＰＵ２２１のリセットを解除させる指示を出力する。Ｓ３１１においてＣＰＵ２１１は、ＵＩ部２３０の初期化を行う。Ｓ３１２においてＣＰＵ２１１は、ホスト通信部２１２の初期化を行う。Ｓ３１３においてＣＰＵ２１１は、第２のチップ２２０から起動完了通知を受信し、起動処理を完了する。
【００３４】
次に、第２のチップ２２０の制御フローを説明する。第２のチップ２２０もまた、第１のチップ２１０と同じタイミングで電源が投入されるが、この時点では第２のチップ２２０のＣＰＵ２２１のリセットは解除されておらず、処理は行われない。Ｓ３２１において、第１のチップ２１０のＣＰＵ２１１からの制御により、第２のチップ２２０の内部通信部２２８のアドレス変換が設定される。Ｓ３２２において、第１のチップ２１０のＣＰＵ２１１からの制御により、第２のチップ２２０の起動制御部２２９においてブートアドレスが設定される。Ｓ３２３において第１のチップ２１０のＣＰＵ２１１からの制御により、起動制御部２２９は、第２のチップ２２０のＣＰＵ２２１のリセットを解除する。Ｓ３２４においてＣＰＵ２２１は、Ｓ３２２において起動制御部２２９に設定されたブートアドレスに基づいて、第２のチップ２２０用の起動プログラムを読み出し、自身のチップのＲＡＭ２２７に展開する。このＳ３２４では、ＣＰＵ２２１は、第１のチップ２１０のＲＡＭ２１７に展開されている第２のチップ２２０用の起動プログラムを、内部バス２８０を経由してＲＡＭ２１７から読み出す処理が行われることになる。詳細は後述する。Ｓ３２５においてＣＰＵ２２１は、展開した起動プログラムに基づいて第２のチップ２２０の初期化を行う。Ｓ３２６において第２のチップ２２０は、印刷部２４０の初期化を行う。Ｓ３２７においてＣＰＵ２２１は、第１のチップ２１０側に起動完了通知を行う。
【００３５】
＜アクセス経路の説明＞
図４は、本実施形態における、起動時のアクセス経路を示すブロック図である。図４には、第１のチップ２１０に接続されているＲＡＭ２１７のＲＡＭメモリ空間４５０を示している。ＲＡＭメモリ空間４５０は、アドレス０ｘ００００＿００００から開始される。ＲＡＭメモリ空間４５０内には、Ｓ３０６において展開された第２のチップ２２０用の起動プログラム４５１が含まれている。第２のチップ２２０用起動プログラム４５１は、図４に示すように、アドレス０ｘ２０００＿１０００を開始アドレスとして展開されている。
【００３６】
本実施形態では、第１のチップ２１０および第２のチップ２２０の各チップ内に割り当てられているアドレス空間は、同一の構成であるものとして説明する。例えば、第１のチップ２１０のＣＰＵ２１１においては、アドレス０ｘ２０００＿１０００は、自チップのＲＡＭ２１７のメモリ空間を指し示すことになる。一方、第２のチップ２２０のＣＰＵ２２１においては、アドレス０ｘ２０００＿１０００は、自チップのＲＡＭ２２７のメモリ空間を指し示していることになる。このため、第２のチップ２２０のＣＰＵ２２１が、アドレス０ｘ２０００＿１０００にアクセスしようとすると、第１のチップ２１０のＲＡＭ２１７ではなく、第２のチップ２２０のＲＡＭ２２７にアクセスすることになる。そこで、本実施形態では、ブートアドレスの設定と、アドレス変換とを組み合わせることで、第２のチップ２２０のＣＰＵ２２１が、第１のチップ２１０のＲＡＭ２１７にアクセスできるようにする。即ち、第１のチップ２１０のＣＰＵ２２１は、第２のチップ２２０のブートアドレスとして、第２のチップの内部通信部２２８に割り当てられているアドレス空間のアドレスを設定する。また、第２のチップ２２０のＣＰＵ２２１は、第２のチップ２２０の内部通信部２２８において、そのブートアドレスを、第１のチップ２１０のＲＡＭ２１７の起動プログラムが展開されているアドレスに変換する設定をする。以下、具体的に説明する。
【００３７】
図４の処理Ｐ１〜Ｐ４は、図３で説明した第１のチップ２１０のＳ３０７〜Ｓ３１０の処理及び第２のチップ２２０のＳ３２１〜Ｓ３２４の処理に対応する。以下、図４のＰ１〜Ｐ４で行われる処理を説明する。
【００３８】
図４の処理Ｐ１では、Ｓ３０７において第１のチップ２１０のＣＰＵ２１１は、第１のチップ２１０の内部通信部２１８のアドレス変換を設定する。第１のチップ２１０の内部通信部２１８には、所定のアドレス空間が割り当てられている。ＣＰＵ２１１は、このアドレス空間に含まれるアドレスを第２のチップ２２０の各部のアドレスに変換する設定を、内部通信部２１８に対して行う。例えば、内部通信部２１８に割り当てられている第１のアドレスを、第２のアドレスに変換する設定が行われる。この第２のアドレスは、例えば第２のチップ２２０の起動制御部２２９のアドレスとすることができる。同様に、内部通信部２１８に割り当てられているアドレス空間の他のアドレスを、第２のチップ２２０の他の各部のアドレスに変換する設定が行われる。この設定により、ＣＰＵ２１１から内部バス２８０側に（つまり、ＣＰＵ２１１から第２のチップの各部に）アクセスすることができ、第１のチップ２１０が第２のチップ２２０と通信可能になる。また、内部通信部２１８が、内部バス２８０経由で外部からのアクセスを受けた場合に、第３のアドレスを第４のアドレスを変換するように設定することもできる。
【００３９】
図４の処理Ｐ２では、第１のチップ２１０のＳ３０８の処理、及び、第２のチップ２２０のＳ３２１の処理が行われる。即ち、第１のチップ２１０のＣＰＵ２１１は、内部バス２８０経由で第２のチップ２２０の内部通信部２２８のアドレス変換を設定する。この設定により、第２のチップの各部は、内部バス２８０経由で外部（即ち、第１のチップ２１０）からのアクセスを受けることができる。また、第２のチップ２２０のＣＰＵ２２１から内部バス２８０側（即ち、第１のチップ２１０側）にアクセスすることができ、第２のチップ２２０が第１のチップ２１０と通信可能になる。このとき、第１のチップのＣＰＵ２１１は、Ｓ３０９で設定することになるブートアドレスの値を、第１のチップのＲＡＭ２１７の第２のチップ用起動プログラム４５１が展開されている開始アドレスに変換する設定を、内部通信部２２８に対して行う。具体的には、第２のチップ２２０内部からアドレス０ｘ４０００＿１０００の値でアクセスされたらアドレス０ｘ２０００＿１０００の値に変換して内部バス２８０側に出力するように、内部通信部２２８のアドレス変換を設定する。さらに第１のチップのＣＰＵ２１１は、内部通信部２１８のアドレス変換において、アドレス０ｘ２０００＿１０００の値で内部バス２８０側からアクセスがあったら、そのアドレス値のままチップ２１０内部に取り込むように設定する。
【００４０】
図４の処理Ｐ３では、第１のチップ２１０のＳ３０９の処理、及び、第２のチップ２２０のＳ３２２の処理が行われる。即ち、第１のチップのＣＰＵ２１１は、第２のチップ２２０の起動制御部２２９にブートアドレスを設定する。本実施形態において第１のチップのＣＰＵ２１１は、前述したように、ブートアドレスとしてアドレス０ｘ４０００＿１０００の値を設定する。アドレス０ｘ４０００＿１０００は、第２のチップ２２０内においては、内部通信部２２８のアドレス空間として認識されるアドレスである。さらに、図４の処理Ｐ３では、第１のチップ２１０のＳ３１０の処理、及び、第２のチップ２２０のＳ３２３の処理が行われる。即ち、第１のチップのＣＰＵ２１１は、第２のチップ２２０の起動制御部２２９にアクセスし、第２のチップのＣＰＵ２２１のリセットを解除する。
【００４１】
図中Ｐ４の処理では、第２のチップ２２０のＳ３２４の処理が行われる。即ち、第２のチップのＣＰＵ２２１は、第１のチップ２１０のＲＡＭ２１７から第２のチップ２２０用起動プログラムを読み出し、第２のチップのＲＡＭ２２７に展開する。このとき、第２のチップのＣＰＵ２２１は、起動制御部２２９に設定されたブートアドレス０ｘ４０００＿１０００にアクセスを行う。前述のように、このアドレス０ｘ４０００＿１０００は、第２のチップ２２０内においては、内部通信部２２８のアドレス空間のアドレスである。よって、内部通信部２２８は、ＣＰＵ２２１の読み出しコマンドを取り込み、アドレス変換設定に従ってアドレス０ｘ４０００＿１０００をアドレス０ｘ２０００＿１０００に変換して内部バス２８０側に出力する。第１のチップの内部通信部２１８は、アドレス変換設定に従って、読み出しコマンドをアドレス０ｘ２０００＿１０００の値のまま第１のチップ２１０内部に取り込む。第１のチップ２１０内部においてアドレス０ｘ２０００＿１０００は、ＲＡＭ２１７のメモリ空間のアドレスである。このため、第２のチップ２２０のＣＰＵ２２１は、ＲＡＭ２１７のメモリ空間のアドレス０ｘ２０００＿１０００にアクセスすることになる。従って、第２のチップのＣＰＵ２２１は、このＲＡＭ２１７のメモリ空間のアドレス０ｘ２０００＿１０００を開始アドレスとして第２のチップ用起動プログラム４５１を読み出すことができる。
【００４２】
以上説明したように、本実施形態は、複数のチップを用いたマルチチップシステムにおいて、上流側の第１のチップ２１０のみが、起動プログラムを格納しているＲＯＭ２１５にアクセスが可能である構成である。そして、下流側の第２のチップ２２０用の起動プログラムが、第１のチップ２１０のＲＡＭ２１７のＲＡＭメモリ空間４５０に展開されている。第１のチップ２１０は、第２のチップ２２０のブートアドレスを、第２のチップのＣＰＵ２２１が、このＲＡＭメモリ空間４５０にアクセスできるように設定する。即ち、第１のチップ２１０は、第２のチップ２２０に設定するブートアドレスを、内部通信部２２８に割り当てられているアドレス空間のアドレスに設定する。さらに第１のチップ２１０は、内部通信部２２８において、このブートアドレスのアドレス値をＲＡＭメモリ空間４５０において起動プログラムが展開されているアドレス値に変換するアドレス変換を内部通信部２２８に設定する。そして、第１のチップ２１０は、第２のチップ２２０のＣＰＵ２２１のリセットを解除させる処理を行う。
【００４３】
このような構成によれば、第２のチップ２２０のＲＡＭ２２７に起動プロラムを展開する処理は、第２のチップ２２０のＣＰＵ２２１によって行われることになる。このため、第１のチップ２１０は、第２のチップ２２０のＰＬＬの発振待ちをしたり、第２のチップ２２０のＲＡＭコントローラ部２２６の設定を行ったりせずに、自身の起動処理を進めることができる。即ち、第１のチップ２１０は、第２のチップ２２０が起動し、初期化が完了するまで待機する必要がなく、各種の初期化処理を並行して行うことができる。例えば、図３のフローチャートにおいて、第１のチップ２１０が、Ｓ３１１のＵＩ部初期化及びＳ３１２のホスト通信部初期化を行っている間に、第２のチップ２２０が、Ｓ３２５のチップ２２０の初期化及びＳ３２６の印刷部初期化を並行して行うことができる。この結果、システム全体の処理時間を短縮することができる。本実施形態では、第１のチップ２１０が、システムコントローラであり、ホストＰＣ２９０との通信を行ったり、ＵＩ部２３０の制御等を行ったりする。第１のチップ２１０のＵＩ部初期化及びホスト通信部初期化が早期に行われるので、システム全体を早期に稼働状態に移行させることができる。なお、近年のシステムの複雑化によりファームウェアの記録容量が増大している。以上説明したような起動方法は、このように、特に第２のチップ２２０側のプログラムの容量が大きい場合に、システム全体の処理時間の短縮効果が期待できる。なお、本実施形態では、例えば、第２のチップ２２０側のプログラムが第２のチップ２２０に送信されることなく起動処理が実行できるため、システム全体の処理時間の短縮を実現できる。
【００４４】
なお、本実施形態においては、Ｓ３０８においてアドレス変換の設定を行ったが、内部通信部２２８の初期値においてアドレス変換の設定がされていてもよい。また、本実施形態では、起動制御部２２９がブートアドレス設定及びＣＰＵ２２１のリセット解除といった起動制御を行う形態を例に挙げて説明したが、ブートアドレス設定部とＣＰＵ２２１の起動制御部とを分けた構成を採用してもよい。また、本実施形態では、第２のチップの内部通信部２２８が、ブートアドレス０ｘ４０００＿１０００を第１のチップのＲＡＭメモリ空間４５０のアドレスに変換する形態を説明したが、これに限られるものではない。第２のチップの内部通信部２２８は、ブートアドレス０ｘ４０００＿１０００を変換せずに内部バス２８０側に出力してもよい。この場合、第１のチップの内部通信部２１８が、０ｘ４０００＿１０００を第１のチップのＲＡＭメモリ空間４５０のアドレスに変換すれば良い。即ち、ブートアドレス変換は、下流側の第２のチップ２２０の内部通信部２２８で行われても良いし、上流側の第１のチップ２１０の内部通信部２１８で行われても良い。また、本実施形態においては、第１のチップのＲＡＭ２１７に第２のチップ２２０用起動プログラムを展開し、これを第２のチップ２２０が読み出す形態を説明した。しかしながら、ＲＯＭ２１５に記憶されている第２のチップ用起動プログラムを第２のチップ２２０が読み出す形態でもよい。ＲＯＭ２１５に記憶されているプログラムを読み出す場合には、ＲＡＭ２１７の記憶領域を節約することができる。
【００４５】
＜＜実施形態２＞＞
実施形態１では、２つのチップが連結されたマルチチップシステムの形態を例に挙げて説明した。本実施形態では、１つのメインチップと第２から第Ｎ（Ｎは３以上の自然数）のサブチップとが縦列に接続されたマルチチップシステムの形態を説明する。具体的には、１つのメインチップと、３つのサブチップとが縦列に接続されたマルチチップシステムの形態を説明する。
【００４６】
＜構成の説明＞
図５は、本実施形態における、記録装置の制御構成とアクセス経路を示すブロック図である。本実施形態では、メインチップ５００、第１のサブチップ５１０、第２のサブチップ５２０、および第３のサブチップ５３０の４つのチップが、この順番で縦列に接続されている。メインチップ５００のみがＲＯＭ５０４と接続し、各サブチップにはＲＯＭが接続されていない。本実施形態において各サブチップは、個別の起動プログラムを必要とするものとする。
【００４７】
図５においては、図２及び図４で示したようなホスト通信部２１２およびＵＩ制御部２１３等の図示は省略している。また、これらの初期化等の処理、及び、各チップの初期化等の処理は、実施形態１で説明した例と同等であるので説明を省略する。以下では、主に、チップ間の通信を介して各チップ用のプログラムを起動する形態を説明する。
【００４８】
図５に示すように、本実施形態において各サブチップのプログラムを格納しているＲＯＭ５０４は、メインチップ５００にのみ接続されている。印刷部５１４、５２４、５３４は、サブチップにのみ接続されている。ＤＲＡＭ５０６、５１６、５２６、５３６は、各チップに接続されている。メインチップ５００及びサブチップ５１０、５２０、５３０は、ＰＣＩ−Ｅｘｐｒｅｓｓ（以下ＰＣＩｅ）で縦列に接続されている。
【００４９】
メインチップ５００は、記録装置のシステムコントローラであり、ホストＰＣとの通信により画像データを受信したり、ホストＰＣの問い合わせに対する応答を行ったりする。第１のサブチップ５１０、第２のサブチップ５２０、および第３のサブチップ５３０は、記録装置のデバイスコントローラであり、メインチップ５００から受信したデータを印刷データに変換し印刷制御を行う。
【００５０】
メインチップ５００の内部構成を説明する。メインチップ５００は、ＣＰＵ５０１、ＲＯＭコントローラ部５０３、ＤＲＡＭコントローラ部５０５、およびＰＣＩｅ通信部（ＲＣ）５０７を有する。ＲＣとはＲｏｏｔＣｏｍｐｌｅｘの略で、ＰＣＩｅ通信において主導的役割を果たす。後述するＥＰはＥｎｄＰｏｉｎｔの略で、ＰＣＩｅ通信において受動的役割を果たす。
【００５１】
第１のサブチップ５１０の内部構成を説明する。第１のサブチップ５１０は、ＣＰＵ５１１、起動制御部５１２、印刷制御部５１３、ＤＲＡＭコントローラ部５１５、ＰＣＩｅ通信部（ＲＣ）５１７、およびＰＣＩｅ通信部（ＥＰ）５１８を有する。
【００５２】
第２のサブチップ５２０の内部構成を説明する。第２のサブチップ５２０は、ＣＰＵ５２１、起動制御部５２２、印刷制御部５２３、ＤＲＡＭコントローラ部５２５、ＰＣＩｅ通信部（ＲＣ）５２７、およびＰＣＩｅ通信部（ＥＰ）５２８を有する。
【００５３】
第３のサブチップ５３０の内部構成を説明する。第３のサブチップ５３０は、ＣＰＵ５３１、起動制御部５３２、印刷制御部５３３、ＤＲＡＭコントローラ部５３５、およびＰＣＩｅ通信部（ＥＰ）５３８を有する。
【００５４】
図５には、メインチップ５００のＤＲＡＭ５０６のＤＲＡＭメモリ空間５５０を示している。ＤＲＡＭメモリ空間５５０には、第１のサブチップ用起動プログラム５５１、第２のサブチップ用起動プログラム５５２、および第３のサブチップ用起動プログラム５５３が含まれている。ＤＲＡＭメモリ空間５５０は、アドレス０ｘ００００＿００００から開始されている。第１のサブチップ用起動プログラムは、アドレス０ｘ２０００＿１０００を開始アドレスとして展開されている。第２のサブチップ用起動プログラムは、アドレス０ｘ２０００＿２０００を開始アドレスとして展開されている。第３のサブチップ用起動プログラムは、アドレス０ｘ２０００＿３０００を開始アドレスとして展開されている。
【００５５】
＜起動処理の説明＞
次に、各チップに関する起動処理の処理手順を説明する。なお、本実施形態において各サブチップは、アドレス０ｘ４０００＿００００〜０ｘ５０００＿００００をＰＣＩｅ（ＥＰ）空間に割り当てているものとする。
【００５６】
図５の処理Ｐ１では、メインチップ５００のＣＰＵ５０１は、第１のサブチップのＰＣＩｅ通信部（ＥＰ）５１８に所定のアドレス変換を設定する。具体的には、第１のサブチップ内部からアドレス０ｘ４０００＿１０００の値でアクセスされたらアドレス０ｘ２０００＿１０００の値に変換してＰＣＩｅ側（即ち、メインチップ側）に出力するように、アドレス変換が設定される。また、第１のサブチップ内部からアドレス０ｘ４０００＿２０００の値でアクセスされたらアドレス０ｘ２０００＿２０００の値に変換してＰＣＩｅ側（即ち、メインチップ側）に出力するようにアドレス変換が設定される。また、第１のサブチップ内部からアドレス０ｘ４０００＿３０００の値でアクセスされたらアドレス０ｘ２０００＿３０００の値に変換してＰＣＩｅ側（即ち、メインチップ側）に出力するようにアドレス変換が設定される。
【００５７】
図５の処理Ｐ２では、メインチップのＣＰＵ５０１は、第１のサブチップ５１０の起動制御部５１２にブートアドレス０ｘ４０００＿１０００の値を設定する。また、第２のサブチップ５２０の起動制御部５２２にブートアドレス０ｘ４０００＿２０００の値を設定する。また、第３のサブチップ５３０の起動制御部５３２にブートアドレス０ｘ４０００＿３０００の値を設定する。
【００５８】
なお、各サブチップでは、アドレス０ｘ４０００＿００００〜０ｘ５０００＿００００をＰＣＩｅ（ＥＰ）空間に割り当てている。このため、各サブチップのＰＣＩｅ通信部（ＥＰ）では、上述した各ブートアドレスとして設定されているアドレスを、そのアドレス値のままでＰＣＩｅ側に出力する処理が行われることになる。
【００５９】
さらに処理Ｐ２では、メインチップのＣＰＵ５０１は、第１のサブチップ５１０の起動制御部５１２にアクセスしＣＰＵ５１１のリセットを解除する。また、第２のサブチップ５２０の起動制御部５２２にアクセスしＣＰＵ５２１のリセットを解除する。また、第３のサブチップ５３０の起動制御部５３２にアクセスしＣＰＵ５３１のリセットを解除する。
【００６０】
すると処理Ｐ３では、第１のサブチップ５１０のＣＰＵ５１１は、ＰＣＩｅを介してメインチップのＤＲＡＭ５０６にアクセスする。即ち、ＣＰＵ５１１は、ブートアドレス及びアドレス変換機能によって、第１のサブチップ用起動プログラム５５１にアクセスする。また、第２のサブチップ５２０のＣＰＵ５２１は、ＰＣＩｅを介してメインチップのＤＲＡＭ５０６にアクセスする。即ち、ＣＰＵ５２１は、ブートアドレス及びアドレス変換機能によって、第２のサブチップ用起動プログラム５５２にアクセスする。また、第３のサブチップ５３０のＣＰＵ５３１は、ＰＣＩｅを介してメインチップのＤＲＡＭ５０６にアクセスする。即ち、ＣＰＵ５３１は、ブートアドレス及びアドレス変換機能によって、第３のサブチップ用起動プログラム５５３にアクセスする。その後、各サブチップはそれぞれの起動プログラムによって初期化を行って印刷待機状態になる。
【００６１】
以上説明したように、４つのチップが縦列に接続され、かつ、各サブチップの起動プログラムがそれぞれ異なる形態であっても、本実施形態によれば、システム全体の起動時間を早めることができる。本実施形態では、メインチップ５００は、サブチップ起動用プログラムの展開、ＰＣＩｅのリンクアップ、並びに、各サブチップのブートアドレス設定及びＣＰＵのリセットの解除を行う。しかし、その後の各チップの初期化、ＤＲＡＭの初期化及び印刷部の初期化等は、メインチップ５００ではなく、各サブチップが設定を行う。この間、メインチップ５００は、ＵＩ初期化及びホスト通信初期化等の処理を行うことができるので、システム全体の初期化時間を短縮することができる。
【００６２】
＜＜実施形態３＞＞
実施形態２では、各サブチップの起動プログラムがそれぞれ異なる形態を説明した。本実施形態では、一部のサブチップの起動プログラムが共通のプログラムである形態を説明する。具体的には、３つのサブチップのうちの２つのサブチップの起動プログラムが共通のプログラムである形態を説明する。
【００６３】
＜構成の説明＞
図６（ａ）は、本実施形態における、記録装置の制御構成とアクセス経路を示すブロック図である。本実施形態は、実施形態２と同じく、４つのチップが縦列に接続され、メインチップ５００のみがＲＯＭ５０４と接続され、各サブチップにはＲＯＭが接続されていない形態である。
【００６４】
本実施形態のマルチチップシステムの構成は、一部が図５の構成と異なるが、他の構成は、図５と同等である。図５と異なる部分について説明する。本実施形態では、第１のサブチップ５１０および第２のサブチップ５２０は、印刷制御部の代わりに画像処理部を備えている。即ち、第１のサブチップ５１０は、画像処理部５１９を含み、第２のサブチップ５２０は、画像処理部５２９を含む。画像処理部５１９、５２９は、それぞれ画像データの半分のサイズの処理を行う能力を有する。
【００６５】
本実施形態の第１のサブチップ５１０および第２のサブチップ５２０は、画像処理コントローラである。第１のサブチップ５１０は、画像の左半分の処理を行う。第２のサブチップ５２０は、画像の右半分の処理を行う。第３のサブチップ５３０は、記録装置のデバイスコントローラであり、第１のサブチップ５１０および第２のサブチップ５２０で画像処理されたデータを印刷データに変換し印刷制御を行う。本実施形態において、第１のサブチップ５１０および第２のサブチップ５２０は、同じ画像処理を行うため、同じ起動プログラムで起動するものとする。
【００６６】
図６（ａ）には、ＤＲＡＭ５０６のＤＲＡＭメモリ空間５５０を示している。ＤＲＡＭメモリ空間５５０には、第１及び第２のサブチップ用の起動プログラム５５１が含まれている。また、ＤＲＡＭメモリ空間５５０には、第３のサブチップ用起動プログラム５５３が含まれている。ＤＲＡＭメモリ空間５５０は、アドレス０ｘ００００＿００００から開始されている。第１及び第２のサブチップ用起動プログラムは、アドレス０ｘ２０００＿１０００を開始アドレスとして展開されている。第３のサブチップ用起動プログラムはアドレス０ｘ２０００＿３０００を開始アドレスとして展開されている。
【００６７】
図６（ｂ）は、各チップの働きを説明する図である。画像領域６０１〜６０５は、各チップにおける処理で用いられる画像データの画像領域を示す。メインチップ５００は、ホストＰＣとのインターフェース制御、ネットワーク通信制御、およびＵＩ制御等を行う。メインチップ５００は、受信した画像データのうち左半分の画像領域６００のデータを第１のサブチップ５１０に転送し、右半分の画像領域６０１のデータを第２のサブチップ５２０に転送する。第１のサブチップ５１０では、画像データの左半分の画像領域６０２の画像処理を行い、その後第３のサブチップ５３０に転送する。第２のサブチップ５２０では、画像データの右半分の画像領域６０３の画像処理を行い、その後第３のサブチップ５３０に転送する。第３のサブチップ５３０では、転送された画像領域６０４と画像領域６０５との画像データを結合し、その後印刷処理を行う。
【００６８】
＜起動処理の説明＞
次に、各チップに関する起動処理の処理手順を説明する。なお、本実施形態においても各サブチップは、アドレス０ｘ４０００＿００００〜０ｘ５０００＿００００をＰＣＩｅ（ＥＰ）空間に割り当てているものとする。
【００６９】
図６（ａ）の処理Ｐ１では、メインチップ５００のＣＰＵ５０１は、第１のサブチップのＰＣＩｅ通信部（ＥＰ）５１８に所定のアドレス変換を設定する。具体的には、第１のサブチップ内部からアドレス０ｘ４０００＿１０００の値でアクセスされたらアドレス０ｘ２０００＿１０００の値に変換してＰＣＩｅ側（即ち、メインチップ側）に出力するように、アドレス変換が設定される。また、第１のサブチップ内部からアドレス０ｘ４０００＿３０００の値でアクセスされたらアドレス０ｘ２０００＿３０００の値に変換してＰＣＩｅ側（即ち、メインチップ側）に出力するようにアドレス変換が設定される。
【００７０】
図６（ａ）の処理Ｐ２では、メインチップのＣＰＵ５０１は、第１のサブチップ５１０の起動制御部５１２にブートアドレス０ｘ４０００＿１０００の値を設定する。また、第２のサブチップ５２０の起動制御部５２２にブートアドレス０ｘ４０００＿１０００の値を設定する。即ち、第１のサブチップ５１０と第２のサブチップ５２０とに設定されるブートアドレスは、同じアドレス値である。また、第３のサブチップ５３０の起動制御部５３２にブートアドレス０ｘ４０００＿３０００の値を設定する。
【００７１】
さらに処理Ｐ２では、メインチップのＣＰＵ５０１は、第１のサブチップ５１０の起動制御部５１２にアクセスしＣＰＵ５１１のリセットを解除する。また、第２のサブチップ５２０の起動制御部５２２にアクセスしＣＰＵ５２１のリセットを解除する。また、第３のサブチップ５３０の起動制御部５３２にアクセスしＣＰＵ５３１のリセットを解除する。
【００７２】
すると処理Ｐ３では、第１のサブチップ５１０のＣＰＵ５１１は、ＰＣＩｅを介してメインチップのＤＲＡＭ５０６にアクセスする。即ち、ＣＰＵ５１１は、ブートアドレス及びアドレス変換機能によって、第１及び第２のサブチップ用起動プログラム５５１にアクセスする。また、第２のサブチップ５２０のＣＰＵ５２１は、ＰＣＩｅを介してメインチップのＤＲＡＭ５０６にアクセスする。即ち、ＣＰＵ５２１は、ブートアドレス及びアドレス変換機能によって、第１及び第２のサブチップ用起動プログラム５５１にアクセスする。また、第３のサブチップ５３０のＣＰＵ５３１は、ＰＣＩｅを介してメインチップのＤＲＡＭ５０６にアクセスする。即ち、ＣＰＵ５３１は、ブートアドレス及びアドレス変換機能によって、第３のサブチップ用起動プログラム５５３にアクセスする。その後、サブチップはそれぞれの起動プログラムによって初期化を行って印刷待機状態になる。
【００７３】
以上説明したように、４つのチップが縦列に接続され、かつ、各サブチップのうちの一部の起動プログラムが共通のプログラムである形態であっても、本実施形態によれば、システム全体の起動時間を早めることができる。
【００７４】
なお、本実施形態では、共通の起動プログラムを読み出す場合には、該当するサブチップに設定するブートアドレスの値を共通のアドレス値とする形態を説明した。即ち、第１のサブチップ５１０と第２のサブチップ５２０とに設定されるブートアドレスの値は、０ｘ４０００＿１０００という同じ値が設定される形態を説明した。しかしながら、このような例に限られるものではない。第１のサブチップと第２のサブチップとに、別々のブートアドレスが設定されてもよい。例えば、図６（ａ）の変形例として、第１のサブチップ５１０のブートアドレスの値を０ｘ４０００＿１０００とし、第２のサブチップ５２０のブートアドレスの値を０ｘ４０００＿２０００としてもよい。そして、第１のサブチップのＰＣＩｅ通信部（ＥＰ）５１８のアドレス変換では、これらのアドレス値をいずれも第１及び第２のサブチップ用起動プログラム５５１が展開されているアドレスとなるように変換する設定がされれば良い。このように、起動制御部におけるブートアドレスの設定とアドレス変換設定とによって、メインチップのＤＲＡＭメモリ空間５５０に展開されている該当する起動プログラムにアクセスできれば良い。
【００７５】
＜＜実施形態４＞＞
実施形態３では、１つのメインチップと、３つのサブチップとが縦列に接続されたマルチチップシステムにおいて、２つのサブチップの起動プログラムが共通の形態を説明した。本実施形態では、１つのメインチップと、３つのサブチップとが縦列に接続されたマルチチップシステムにおいて、３つのサブチップの起動プログラムが全て共通の形態を説明する。
【００７６】
＜構成の説明＞
図７は、本実施形態における、記録装置の制御構成とアクセス経路を示すブロック図である。本実施形態では、実施形態２と同じく、４つのチップが縦列に構成され、メインチップ５００のみがＲＯＭ５０４と接続され、各サブチップにはＲＯＭが接続されていない形態である。ただし、全てのサブチップは同じ起動プログラムで起動する。
【００７７】
本実施形態のマルチチップシステムの構成は、一部が図５の構成と異なるが、他の構成は、図５と同等である。図５と異なる部分について説明する。本実施形態では、記録装置には各サブチップに共通の印刷部５１４が備えられている。この印刷部５１４は、印刷制御部５１３、５２３、５３３の制御によって印刷制御が行われる。
【００７８】
本実施形態の第１のサブチップ５１０、第２のサブチップ５２０、および第３のサブチップ５３０は、記録装置のデバイスコントローラであり、メインチップ５００から受信したデータを印刷データに変換し印刷制御を行う。
【００７９】
印刷制御部５１３から印刷部５１４へ接続するラインは、Ｃ（シアン）、ＰＣ（フォトシアン）、Ｂ（ブルー）、Ｇ（グリーン）のインクデータが出力されるラインである。また、印刷制御部５２３から印刷部５１４へ接続するラインは、Ｍ（マゼンタ）、ＰＭ（フォトマゼンタ）、Ｒ（レッド）、Ｙ（イエロー）のインクデータが出力されるラインである。また、印刷制御部５３３から印刷部５１４へ接続するラインは、ＢＫ（ブラック）、ＭＢＫ（マットブラック）、ＧＹ（グレー）、ＰＧＹ（フォトグレー）のインクデータが出力されるラインである。これら全１２色のデータが印刷部５１４に送信され、印刷物が生成される。
【００８０】
図７において、ＤＲＡＭ５０６のＤＲＡＭメモリ空間５５０を示している。ＤＲＡＭメモリ空間５５０には、第１、第２、第３のサブチップ用起動プログラム５５１が含まれている。ＤＲＡＭメモリ空間５５０は、アドレス０ｘ００００＿００００から開始される。第１、第２、第３のサブチップ用起動プログラムは、アドレス０ｘ２０００＿１０００を開始アドレスとして展開されている。
【００８１】
＜起動処理の説明＞
次に、各チップに関する起動処理の処理手順を説明する。なお、本実施形態においても各サブチップは、アドレス０ｘ４０００＿００００〜０ｘ５０００＿００００をＰＣＩｅ（ＥＰ）空間に割り当てているものとする。
【００８２】
図７の処理Ｐ１では、メインチップ５００のＣＰＵ５０１は、ＰＣＩｅ通信部（ＥＰ）５１８に所定のアドレス変換を設定する。具体的には、第１のサブチップ内部からアドレス０ｘ４０００＿１０００の値でアクセスされたらアドレス０ｘ２０００＿１０００の値に変換してＰＣＩｅ側（即ち、メインチップ側）に出力するようにアドレス変換が設定される。
【００８３】
図７の処理Ｐ２では、メインチップ５００のＣＰＵ５０１は、第１のサブチップ５１０の起動制御部５１２にブートアドレス０ｘ４０００＿１０００の値を設定する。また、第２のサブチップ５２０の起動制御部５２２にブートアドレス０ｘ４０００＿１０００の値を設定する。また、第３のサブチップ５３０の起動制御部５３２にブートアドレス０ｘ４０００＿１０００の値を設定する。
【００８４】
さらに処理Ｐ２では、メインチップ５００のＣＰＵ５０１は、第１のサブチップ５１０の起動制御部５１２にアクセスしＣＰＵ５１１のリセットを解除する。また、第２のサブチップ５２０の起動制御部５２２にアクセスしＣＰＵ５２１のリセットを解除する。また、第３のサブチップ５３０の起動制御部５３２にアクセスしＣＰＵ５３１のリセットを解除する。
【００８５】
すると処理Ｐ３では、第１のサブチップ５１０のＣＰＵ５１１は、ＰＣＩｅを介してメインチップのＤＲＡＭ５０６にアクセスする。即ち、ＣＰＵ５１１は、ブートアドレス及びアドレス変換機能によって、第１、第２、第３のサブチップ用起動プログラム５５１にアクセスする。また、第２のサブチップ５２０のＣＰＵ５２１は、ＰＣＩｅを介してメインチップのＤＲＡＭ５０６にアクセスする。即ち、ＣＰＵ５２１は、ブートアドレス及びアドレス変換機能によって、第１、第２、第３のサブチップ用起動プログラム５５１にアクセスする。また、第３のサブチップ５３０のＣＰＵ５３１は、ＰＣＩｅを介してメインチップのＤＲＡＭ５０６にアクセスする。即ち、ＣＰＵ５３１は、ブートアドレス及びアドレス変換機能によって、第１、第２、第３のサブチップ用起動プログラム５５１にアクセスする。その後、サブチップはそれぞれの起動プログラムによって初期化を行って印刷待機状態になる。
【００８６】
以上説明したように、４つのチップが縦列に接続され、かつ、各サブチップの全ての起動プログラムが共通のプログラムである形態であっても、本実施形態によれば、システム全体の起動時間を早めることができる。
【００８７】
＜＜実施形態５＞＞
実施形態２から４においては、４つのチップが縦列に接続されている形態を説明した。本実施形態では、ＰＣＩｅスイッチを介してメインチップと各サブチップとが接続されている形態を説明する。
【００８８】
＜構成の説明＞
図８は、本実施形態における、記録装置の制御構成とアクセス経路を示すブロック図である。本実施形態では、実施形態２と同じく、４つのチップを含むマルチチップシステムの構成である。ただし、４つのチップの接続形態が実施形態２と異なる。なお、本実施形態のメインチップ５００、第１のサブチップ５１０、第２のサブチップ５２０、および第３のサブチップ５３０の役割については、実施形態２と同様である。
【００８９】
以下、図５と異なる部分を説明する。本実施形態のマルチチップシステムは、ＰＣＩｅスイッチ８８０を含む。ＰＣＩｅスイッチ８８０の内部構成を説明する。ＰＣＩｅスイッチ８８０は、アップストリーム・ポート８９０と、ダウンストリーム・ポート８９１〜８９３を有する。アップストリーム・ポート８９０は、メインチップ５００のＰＣＩｅ通信部（ＲＣ）５０７に接続されている。ダウンストリーム・ポート８９１は、第１のサブチップ５１０のＰＣＩｅ通信部（ＥＰ）５１８に接続されている。ダウンストリーム・ポート８９２は、第２のサブチップ５２０のＰＣＩｅ通信部（ＥＰ）５２８に接続されている。ダウンストリーム・ポート８９３は、第３のサブチップ５３０のＰＣＩｅ通信部（ＥＰ）５３８に接続されている。
【００９０】
＜起動処理の説明＞
次に、各チップに関する起動処理の処理手順を説明する。なお、本実施形態においても各サブチップは、アドレス０ｘ４０００＿００００〜０ｘ５０００＿００００をＰＣＩｅ（ＥＰ）空間に割り当てているものとする。
【００９１】
図８の処理Ｐ１−１では、メインチップ５００のＣＰＵ５０１は、ＰＣＩｅ通信部（ＥＰ）５１８に所定のアドレス変換を設定する。具体的には、第１のサブチップ内部からアドレス０ｘ４０００＿１０００の値でアクセスされたらアドレス０ｘ２０００＿１０００の値に変換してＰＣＩｅ側（即ち、メインチップ側）に出力するようにアドレス変換が設定される。
【００９２】
処理Ｐ１−２の処理では、メインチップ５００のＣＰＵ５０１は、ＰＣＩｅ通信部（ＥＰ）５２８に所定のアドレス変換を設定する。具体的には、第２のサブチップ内部からアドレス０ｘ４０００＿２０００の値でアクセスされたらアドレス０ｘ２０００＿２０００の値に変換してＰＣＩｅ側（即ち、メインチップ側）に出力するようにアドレス変換が設定される。
【００９３】
処理Ｐ１−３の処理では、メインチップ５００のＣＰＵ５０１は、ＰＣＩｅ通信部（ＥＰ）５３８に所定のアドレス変換を設定する。具体的には、第３のサブチップ内部からアドレス０ｘ４０００＿３０００の値でアクセスされたらアドレス０ｘ２０００＿３０００の値に変換してＰＣＩｅ側（即ち、メインチップ側）に出力するようにアドレス変換を設定する。
【００９４】
処理Ｐ２−１では、メインチップのＣＰＵ５０１は、第１のサブチップ５１０の起動制御部５１２にブートアドレス０ｘ４０００＿１０００の値を設定する。さらに、メインチップのＣＰＵ５０１は、第１のサブチップ５１０の起動制御部５１２にアクセスしＣＰＵ５１１のリセットを解除する。
【００９５】
処理Ｐ２−２では、メインチップのＣＰＵ５０１は、第２のサブチップ５２０の起動制御部５２２にブートアドレス０ｘ４０００＿２０００の値を設定する。さらに、メインチップのＣＰＵ５０１は、第２のサブチップ５２０の起動制御部５２２にアクセスしＣＰＵ５２１のリセットを解除する。
【００９６】
処理Ｐ２−３では、メインチップのＣＰＵ５０１は、第３のサブチップ５３０の起動制御部５３２にブートアドレス０ｘ４０００＿３０００の値を設定する。さらに、メインチップのＣＰＵ５０１は、第３のサブチップ５３０の起動制御部５３２にアクセスしＣＰＵ５３１のリセットを解除する。
【００９７】
すると処理Ｐ３では、第１のサブチップ５１０のＣＰＵ５１１は、ＰＣＩｅスイッチ８８０を介してメインチップのＤＲＡＭ５０６にアクセスする。即ち、ＣＰＵ５１１は、ブートアドレス及びアドレス変換機能によって、第１のサブチップ用起動プログラム５５１にアクセスする。
【００９８】
また、第２のサブチップ５２０のＣＰＵ５２１は、ＰＣＩｅスイッチ８８０を介してメインチップのＤＲＡＭ５０６にアクセスする。即ち、ＣＰＵ５２１は、ブートアドレス及びアドレス変換機能によって、第２のサブチップ用起動プログラム５５２にアクセスする。
【００９９】
また、第３のサブチップ５３０のＣＰＵ５３１は、ＰＣＩｅスイッチ８８０を介してメインチップのＤＲＡＭ５０６にアクセスする。即ち、ＣＰＵ５３１は、ブートアドレス及びアドレス変換機能によって、第３のサブチップ用起動プログラム５５３にアクセスする。その後、サブチップはそれぞれの起動プログラムによって初期化を行って印刷待機状態になる。
【０１００】
以上説明したように、メインチップ５００と、各サブチップとがそれぞれ接続されている形態においても、本実施形態によれば、システム全体の起動時間を早めることができる。
【０１０１】
＜＜その他の実施形態＞＞
以上説明した実施形態では、マルチチップシステムが搭載される電子機器が記録装置である場合を例に挙げて説明したが、これに限られるものではない。複数のチップを含むマルチチップシステムが搭載される任意の情報処理装置に本発明を適用することが可能である。
【０１０２】
また、上記の実施形態では、チップ間の通信が、ＰＣＩｅ通信で行われる形態を例に挙げて説明したが、これに限られるものではない。アドレスに基づいてアクセスが可能であり、対向する通信部のいずれからも主導的なアクセスが可能な形態であれば任意の形態の通信に適用することができる。例えば、チップ間の通信がＬＡＮによって行われる形態でも良い。
【０１０３】
また、上記の実施形態では、内部通信部またはＰＣＩｅ通信部において、各チップの起動制御部に設定されるブートアドレスに対応するアドレス変換が行われる形態を例に挙げて説明した。このような形態は、各チップ内のアドレス空間の構成が同様であるマルチチップシステムにおいて有用である。なお、各チップを異なるアドレス空間の構成としたマルチチップシステムを用いる場合には、内部通信部またはＰＣＩｅ通信部において、ブートアドレスに対応するアドレス変換が行われない形態を用いても良い。例えば、実施形態１の変形例として、第２のチップ２２０の内部通信部２２８にアドレス０ｘ２０００＿１０００が割り当てられている場合には、第２のチップ２２０のブートアドレスとしてアドレス０ｘ２０００＿１０００を設定するだけ良い。この場合、内部通信部２２８においては、そのアドレス値のまま内部バス２８０側（第１のチップ２１０側）に出力する処理が行われることになる。
【０１０４】
また、実施形態２から４においては、第１のサブチップ５１０のＰＣＩｅ通信部（ＥＰ）５１８において、各チップに設定されるブートアドレスに対応するアドレス変換が設定される形態を説明したが、これに限られるものではない。各チップのＰＣＩｅ通信部（ＥＰ）でアドレス変換が設定されても良いし、各チップのＰＣＩｅ通信部（ＲＣ）でアドレス変換が設定されても良い。最終的にアドレス変換された変換先が、各チップ用の起動プログラムが展開されているＤＲＡＭメモリ空間５５０となれば良い。
【符号の説明】
【０１０５】
２１０  第１のチップ
２２０  第２のチップ
２１１、２２１  ＣＰＵ
２１５  ＲＯＭ
２１７、２２７  ＲＡＭ
２１８、２２８  内部通信部
２２９  起動制御部
【図１】
2019200654.tif 000003
【図２】
2019200654.tif 000004
【図３】
2019200654.tif 000005
【図４】
2019200654.tif 000006
【図５】
2019200654.tif 000007
【図６】
2019200654.tif 000008
【図７】
2019200654.tif 000009
【図８】
2019200654.tif 000010