(57)【要約】【課題】より高速なデータ処理を可能とする非対称型マルチプロセッサを提供する。【解決手段】複数のサブプロセッサは、それぞれ個別に設けられた第１の通信経路を介してメインプロセッサに接続されているとともに、それぞれ個別に設けられた第２の通信経路を介してメモリコントローラに接続されている。複数のサブプロセッサのうち、少なくとも一部のサブプロセッサは、ループ構造の通信経路を介して互いに接続されている。【選択図】図１
2007122319.tif 000002
【特許請求の範囲】
【請求項１】
非対称型マルチプロセッサであって、
１つのメインプロセッサと、
複数のサブプロセッサと、
メモリコントローラと、を備え、
前記複数のサブプロセッサは、それぞれ個別に設けられた第１の通信経路を介して前記メインプロセッサに接続されているとともに、それぞれ個別に設けられた第２の通信経路を介して前記メモリコントローラに接続されており、
前記複数のサブプロセッサのうち、少なくとも一部のサブプロセッサは、ループ構造の通信経路を介して互いに接続されている、
ことを特徴とする非対称型マルチプロセッサ。
【請求項２】
請求項１記載の非対称型マルチプロセッサであって、
前記ループ構造の通信経路は、
前記複数のサブプロセッサ、前記メインプロセッサ、および、前記メモリコントローラを、互いに接続する第１のループ経路と、
一部のサブプロセッサ間を互いに接続する第２のループ経路と、
で構成されることを特徴とする非対称型マルチプロセッサ。
【請求項３】
請求項１または請求項２記載の非対称型マルチプロセッサであって、
前記非対称型マルチプロセッサは、１つの半導体基板上に集積化されている
ことを特徴とする非対称型マルチプロセッサ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、非対称型マルチプロセッサに関する。
【背景技術】
【０００２】
高速なデータ処理を行うために、複数のプロセッサで構成されるマルチプロセッサが考えられている（例えば、特許文献１，２，３参照）。
【０００３】
【特許文献１】特開２００４−１９９１４９号公報
【特許文献２】特開２００２−１７５２８８号公報
【特許文献３】特開２００１−１２５８７５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
ここで、非対称型マルチプロセッサを構成する１つのメインプロセッサと複数のサブプロセッサとの間は、それぞれ独立して通信を可能とする通信経路で接続されており、各サブプロセッサは、メインプロセッサに接続されている通信経路を介してメインプロセッサからの指示に基づいて動作することになる。従って、あるサブプロセッサから他のサブプロセッサへの指示もメインプロセッサを経由して行うことになり、高速なデータ処理を行ううえで不十分な場合がある。
【０００５】
そこで、本発明は、上述の課題を解決するためになされたもの
であり、より高速なデータ処理を可能とする非対称型マルチプロセッサを提供することを目的とする。
【課題を解決するための手段】
【０００６】
上述の課題の少なくとも一部を解決するために、本発明の態様は、
非対称型マルチプロセッサであって、
１つのメインプロセッサと、
複数のサブプロセッサと、
メモリコントローラと、を備え、
前記複数のサブプロセッサは、それぞれ個別に設けられた第１の通信経路を介して前記メインプロセッサに接続されているとともに、それぞれ個別に設けられた第２の通信経路を介して前記メモリコントローラに接続されており、
前記複数のサブプロセッサのうち、少なくとも一部のサブプロセッサは、ループ構造の通信経路を介して互いに接続されている、
ことを特徴とする。
【０００７】
上記構成の非対称型マルチプロセッサによれば、複数のサブプロセッサのそれぞれとメインプロセッサとの間に設けられた第１の通信経路と、複数のサブプロセッサのそれぞれとメモリコントローラとの間に設けられた第２の通信経路に加えて、複数のサブプロセッサの少なくとも一部に設けられたループ構造の通信経路を有しているので、ループ構造の通信経路で接続されたサブプロセッサ間の通信を高速に行うことが可能であり、より高速なデータ処理が可能である。
【０００８】
また、前記ループ構造の通信経路は、
前記複数のサブプロセッサ、前記メインプロセッサ、および、前記メモリコントローラを、互いに接続する第１のループ経路と、
一部のサブプロセッサ間を互いに接続する第２のループ経路と、
で構成されるようにしてもよい。
【０００９】
上記のようにすれば、前記複数のサブプロセッサ、前記メインプロセッサ、および、前記メモリコントローラを、より多くの通信経路で接続することができるので、より高速なデータ処理が可能である。
【００１０】
なお、前記非対称型マルチプロセッサは、１つの半導体基板上に集積化されているようにすれば、より効果的である。
【発明を実施するための最良の形態】
【００１１】
以下、本発明の実施の形態について、実施例に基づき以下の順序で説明する。
Ａ．実施例：
Ａ１．印刷制御装置の構成および機能：
Ａ２．印刷制御装置による画像処理動作例：
Ａ３．効果：
Ｂ．変形例：
【００１２】
Ａ．実施例：
Ａ１．印刷制御装置の構成および機能：
図１は、本発明のマルチプロセッサを適用した印刷制御装置の主な構成を示す説明図である。この印刷制御装置ＩＰＣは、１つのメインプロセッサと１以上のサブプロセッサとで構成される非対称型のマルチプロセッサを１つの半導体基板上に集積化したマイクロプロセッサである。メインプロセッサおよびサブプロセッサは、それぞれ、ＣＰＵや、メモリ、バスコントローラ等の周辺回路を含むユニットを意味している。本実施例では、図に示すように、１つのメインプロセッサ１０と６つのサブプロセッサ２０Ａ〜２０Ｆとで構成される場合を例に示している。また、印刷制御装置ＩＰＣは、その他、２次キャッシュメモリ(図中にはＬ２と略して表記されている)４０および２次キャッシュメモリ４０の動作を制御する２次キャッシュコントローラ（図中にはＬ２Ｃと略して表記されている）３０と、２つのメモリコントローラ（図中にはＭＥＭＣと略して表記されている）５０，７０と、Ｉ／Ｏインタフェース６０と、ブリッジ回路８０と、を備えている。
【００１３】
各サブプロセッサ２０Ａ〜２０Ｆは、それぞれ個別に設けられた通信経路ＮＥＳＳ１〜ＮＥＳＳ６を介してメインプロセッサ１０に接続されており、各サブプロセッサ２０Ａ〜２０Ｆとメインプロセッサ１０とは、それぞれ個別に通信することができる。また、各サブプロセッサ２０Ａ〜２０Ｆは、メインプロセッサ１０を介して互いに通信することができる。なお、図示は省略されているが、各通信経路は、メインプロセッサからサブプロセッサへの経路と、サブプロセッサからメインプロセッサへの経路の１組の経路で構成されている。また、以下では、これら通信経路ＮＥＳＳ１〜ＮＥＳＳ６を総称して通信経路ＮＥＳＳと呼ぶ場合もある。
【００１４】
また、各サブプロセッサ２０Ａ〜２０Ｆは、それぞれ個別に設けられた通信経路ＮＥＭＭ１Ａ〜ＮＥＭＭ６Ａを介して、外部に接続されるＲＡＭ１１０へのアクセスを制御する第２のメモリコントローラ５０に接続されており、それぞれ個別にＲＡＭ１１０へのアクセスを行うことができる。同様に、各サブプロセッサ２０Ａ〜２０Ｆは、それぞれ個別に設けられた通信経路ＮＥＭＭ１Ｂ〜ＮＥＭＭ６Ｂを介して、２次キャッシュメモリ４０へのアクセスを制御する２次キャッシュコントローラ３０に接続されており、それぞれ個別に２次キャッシュメモリ４０へのアクセスを行うことができる。なお、通信経路ＮＥＭＭ１Ａ〜ＮＥＭＭ６ＡおよびＮＥＭＭ１Ｂ〜ＮＥＭＭ６Ｂも、通信経路ＮＥＳＳ１〜ＮＥＳＳ６と同様に、図示は省略されているが、サブプロセッサからメモリコントローラへの経路と、メモリコントローラからサブプロセッサへの経路の１組の経路で構成されている。また、以下では、これら通信経路ＮＥＭＭ１Ａ〜ＮＥＭＭ６ＡおよびＮＥＭＭ１Ｂ〜ＮＥＭＭ６Ｂを総称して通信経路ＮＥＭＭと呼ぶ場合もある。
【００１５】
さらに、１つのメインプロセッサ１０と、６つのサブプロセッサ２０Ａ〜２０Ｆと、２次キャッシュコントローラ３０と、第２のメモリコントローラ５０とは、それぞれの入力と出力とを順に接続することにより、ループ状に設けられた通信経路ＮＩＯを介して互いに接続されている。従って、１つのメインプロセッサ１０および６つのサブプロセッサ２０Ａ〜２０Ｆは、この通信経路ＮＩＯを介しても互いに通信することができる。
【００１６】
また、６つのサブプロセッサ２０Ａ〜２０Ｆのうち、第１〜第４のサブプロセッサ２０Ａ〜２０Ｄは、さらに、それぞれの入力と出力とを順に接続することにより、ループ状に設けられた通信経路ＮＩＯ２を介して互いに接続されており、この通信経路ＮＩＯ２を介しても互いに通信することができる。
【００１７】
メインプロセッサ１０は、バスと呼ばれる一般的な通信経路ＮＥＩＢを介してブリッジ回路８０に接続されている。ブリッジ回路８０は、通信経路ＮＥＭＭと同様の通信経路ＮＥＭＭ７Ａ，ＮＥＭＭ７Ｂを介して第２のメモリコントローラ５０および２次キャッシュコントローラ３０に接続されている。ブリッジ回路８０は、仕様の異なる２つの通信経路を仲介するものである。従って、メインプロセッサ１０は、ブリッジ回路８０を介して第２のメモリコントローラおよび２次キャッシュコントローラ３０に接続されており、ＲＡＭ１１０および２次キャッシュメモリ４０にアクセスすることができる。
【００１８】
また、メインプロセッサ１０は、通信経路ＮＥＩＢを介して、第１のメモリコントローラ７０およびＩ／Ｏインタフェース（図中にはＩ／Ｏと略して表記されている）に接続されている。なお、第１のメモリコントローラ７０は、ＲＯＭ１２０ＡやＲＡＭ１２０Ｂ等の外部に接続されるメモリへのアクセスを制御する制御回路である。また、Ｉ／Ｏインタフェース６０は、操作パネル等の入力装置（図中にはＩＰと略して表記されている）１３０や、カードリーダ（図中にはＣＲと略して表記されている）１４０、プリントエンジン（図中にはＰＥと略して表記されている）１６０等の外部に接続される種々の周辺装置へのアクセスを制御する制御回路である。
【００１９】
１つのメインプロセッサ１０および６つのサブプロセッサ２０Ａ〜２０Ｆには、それぞれ、以下で説明する機能が割り当てられている。
【００２０】
メインプロセッサ１０には、ＲＯＭ１２０Ａに格納されている所定のプログラムが読み出されて実行されることにより、マルチプロセッサＭＰＵによって実行される印刷処理動作を全体として制御する機能が割り当てられる。具体的には、印刷対象画像データに基づいて印刷イメージデータを生成する処理を制御する機能（以下、「画像処理制御機能」とも呼ぶ）や、生成した印刷イメージデータに基づいて印刷を実行する処理を制御する機能（以下、「印刷実行制御機能」とも呼ぶ）等、が割り当てられる。
【００２１】
サブプロセッサ２０Ａ〜２０Ｆには、以下で説明するように、それぞれのプロセッサ中に備えられる図示しないＲＯＭから所定のプログラムを読み出して実行することにより、種々の画像処理機能が割り当てられる。
【００２２】
第１のサブプロセッサ２０Ａには、メインプロセッサ１０に代わって、第２〜第４のサブプロセッサ２０Ｂ〜２０Ｄで実行される画像処理動作を制御する画像処理代理制御機能が割り当てられており、第２〜第４のサブプロセッサ２０Ｂ〜２０Ｄは、第１のサブプロセッサ２０Ａからの指示に従ってそれぞれの処理を実行する。
【００２３】
なお、第１〜第４のサブプロセッサ２０Ａ〜２０Ｄの動作についてのみ着目してみると、第１のサブプロセッサ２０Ａがイメージメインプロセッサ（図中には「イメージメイン」と略して表記されている）として機能し、第２〜第４のサブプロセッサ２０Ｂ〜２０Ｄがイメージサブプロセッサ（図中には「イメージサブ」と表記されている）として機能する、とみることができる。
【００２４】
第２および第３のサブプロセッサ２０Ｂ，２０Ｃには、印刷対象画像データがＪＰＥＧ形式の画像データである場合に、その画像データを展開処理してＲＧＢ色空間に基づく画像データに変換する画像デコード機能が割り当てられる。具体的には、第２のサブプロセッサ２０Ｂには、画像デコード機能のうち、ＪＰＥＧ形式の画像データを展開処理するＪＰＥＧ展開機能が割り当てられており、第３のサブプロセッサに２０Ｃには、展開された画像データを、Ｙ（輝度），Ｃｂ（色差（輝度―ブルー）），Ｃｒ（色差（輝度―レッド））の階調値の組み合わせによって表現されたＹＣｂＣｒ画像データから、Ｒ（レッド），Ｇ（グリーン），Ｂ（ブルー）の階調値の組み合わせによって表現されたＲＧＢ画像データに変換するフォーマット変換機能が割り当てられる。
【００２５】
第４のサブプロセッサ２０Ｄには、画像データの表す画像の色補正処理や、シャープネス処理、ノイズ除去処理などの、画像を自動的に補正処理する画像補正機能が割り当てられる。
【００２６】
なお、第１のサブプロセッサ２０Ａには、画像処理代理制御機能に加えて、画像データの解像度を印刷媒体に印刷する画像の解像度（印刷解像度）に変換するリサイズ処理機能が割り当てられる。さらに、第１のサブプロセッサ２０Ａには、印刷対象画像データの表す画像を印刷媒体上の実際の印刷位置に配置した画像データ（以下、「レイアウト画像データ」とも呼ぶ）を生成するレイアウト処理機能が割り当てられる。
【００２７】
第５および第６のサブプロセッサＳＣ５，ＳＣ６には、色変換処理機能およびハーフトーン処理機能が割り当てられる。色変換処理とは、Ｒ，Ｇ，Ｂの階調値の組み合わせによって表現されているＲＧＢ画像データを、印刷のために使用されるインクの各色の階調値の組み合わせによって表現された画像データに変換する処理である。例えば、Ｃ（シアン），Ｍ（マゼンダ），Ｙ（イエロー），Ｋ（ブラック）の４色のインクを用いている場合には、色変換処理では、Ｒ，Ｇ，Ｂ各色によって表現されたＲＧＢ画像データを、Ｃ，Ｍ，Ｙ，Ｋの各色によって表現されたＣＭＹＫ画像データに変換する。ハーフトーン処理とは、ＣＭＹＫ画像データを、印刷媒体上に形成すべきドットの粗密を表す印刷イメージデータに変換する処理である。
【００２８】
具体的には、第５のサブプロセッサＳＣ５には、色変換処理機能と、画像データ中のある画素の階調値ごとに、ドット形成位置を決定するための情報を求めてコード化するハーフトーンエンコード機能と、が割り当てられる。また、第６のサブプロセッサＳＣ６には、コード化した情報を表すエンコードデータをデコードすることにより、印刷媒体上のドットの形成位置を示す印刷イメージデータを生成するハーフトーンデコード機能が割り当てられる。
【００２９】
Ａ２．印刷制御装置による画像処理動作例：
以下では、印刷制御装置ＩＰＣを構成する各プロセッサの動作について、印刷対象画像データから印刷イメージデータを生成する画像処理動作を例にして説明する。
【００３０】
図２は、メモリカードに保存されている画像ファイルの表す画像を印刷する場合において、印刷制御装置によって実行される画像処理動作について示す説明図である。なお、図中に示した（１）〜（３４）の数字は、１つのメインプロセッサ１０６つのサブプロセッサ２０Ａ〜２０Ｆ、および、ＲＡＭ１１０の間で実行される主な処理の順番を示している。
【００３１】
ユーザが、図１の入力装置１３０を用いて、メモリカードに格納されているファイルデータの表す画像の印刷（以下、「カード印刷」と呼ぶ）の実行を選択すると、メインプロセッサ１０は、カード印刷を実行するためのプログラムをＲＯＭ１２０Ａから読み出して実行する。このとき、メインプロセッサ１０は、図２に示すように、ファイルシステム１１、ファイルアクセス制御部１２、画像処理制御部１３、画像オブジェクト取得制御部１４、色変換／ハーフトーン制御部１５、および、処理結果出力部１６の各機能ブロックとして動作し、画像処理制御機能を実現する。また、メインプロセッサ１０は、プリンタエンジン１６０を制御する機能や、図示しない印刷ヘッドの位置を制御するモータの動作を制御する機能等の種々の機能ブロックとして動作して、印刷実行制御機能を実現するが、この印刷実行制御機能は従来と同様であるので、ここでは図示および説明を省略する。
【００３２】
カード印刷を開始すると、まず、画像処理制御部１３が動作し、画像オブジェクト取得制御部１４に対して画像オブジェクト取得動作を開始させる。
【００３３】
このとき、画像オブジェクト取得制御部１４は、第１のサブプロセッサ２０Ａに対して、選択したファイルデータの表す印刷対象画像を画像オブジェクトとして取得するように指示し（処理１）、画像オブジェクトの取得通知が第１のサブプロセッサ２０Ａから伝えられるまで待機する。なお、第１のサブプロセッサ２０Ａの指示および第１のサブプロセッサ２０Ａからの通知は、メインプロセッサ１０と第１のサブプロセッサ２０Ａとの間に設けられた専用の通信経路ＮＥＳＳ１を介して伝えられる。
【００３４】
ここで、第１のサブプロセッサ２０Ａは、画像処理代理制御部２１Ａ、デコード制御部２２Ａ、画像補正制御部２３Ａ、リサイズ処理部２４Ａ、および、レイアウト処理部２５Ａの各機能ブロックとして動作しており、画像オブジェクト取得制御部１４から供給された画像オブジェクト取得指示は、画像処理代理制御部２１Ａに受け渡される。
【００３５】
画像処理代理制御部２１Ａは、まず、デコード制御部２２Ａに画像デコード処理の実行を要求する（処理２）。
【００３６】
デコード制御部２２Ａは、ＪＰＥＧ展開部として機能する第２のサブプロセッサ２０Ｂに対して、ＲＡＭ１１０に割り当てられているバンドバッファ（図中にはＢａｎｄｂｕｆと表記されている）１１２に、取得した画像オブジェクトのデータを書き込むように要求する（処理３）。なお、この要求は、通信経路ＮＩＯ２を介して第１のサブプロセッサ２０Ａから第２のサブプロセッサ２０Ｂに伝えられる。
【００３７】
画像オブジェクトデータ書き込み要求を受けた第２のサブプロセッサ２０Ｂは、メインプロセッサ１０のファイルアクセス制御部１２に対して、メモリカード１５０から読み出したファイルデータを、ＲＡＭ１１０に割り当てられているストリームバッファ（図中にはＳｔｒｅａｍｂｕｆと表記されている）１１１に書き込むように要求する(処理４)。なお、この要求は、メインプロセッサ１０と第２のサブプロセッサ２０Ｂとの間に設けられた専用の通信経路ＮＥＳＳ２を介して伝えられる。
【００３８】
このとき、ファイルアクセス制御部１２は、ファイルシステム１１を介してメモリカード１５０からファイルデータを読み出して取得し（処理５）、取得したファイルデータをストリームバッファ１１１に書き込み（処理６）、第２のサブプロセッサ２０Ｂに対して、取得したファイルデータをストリームバッファ１１１に格納したことを通知する（処理７）。なお、ストリームバッファ１１１へのアクセスは、通信経路ＮＥＩＢ、ブリッジ回路８０、および、通信経路ＮＥＭＭ７Ａを介して実行される。また、第２のサブプロ２０Ｂへの通知は、メインプロセッサ１０と第２のサブプロセッサ２０Ｂとの間に設けられた専用の通信経路ＮＥＳＳ２を介して伝えられる。
【００３９】
第２のサブプロセッサ２０Ｂは、ストリームバッファ１１１にファイルデータが格納された旨の通知を受け取ると、ストリームバッファ１１１に格納されたファイルデータを読み出して取得し（処理８）、ＪＰＥＧ形式の画像データを展開処理して、ＹＣｂＣｒ画像データを生成する。生成されたＹＣｂＣｒ画像データは、フォーマット変換部として機能する第３のサブプロセッサ２０Ｃに受け渡される。なお、ストリームバッファ１１１へのアクセスは、第２のサブプロセッサ２０Ｂと第２のメモリコントローラ５０との間に設けられた専用の通信経路ＮＥＭＭ２を介して実行される。
【００４０】
第３のサブプロセッサ２０Ｃは、受け渡されたＹＣｂＣｒ画像データをＲＧＢ画像データにフォーマット変換して、バンドバッファ１１２に書き込む（処理９）。なお、ＹＣｂＣｒ画像データの受け渡しは、第２のサブプロセッサ２０Ｂに備えられ一部のＲＡＭを、第３のサブプロセッサ２０Ｄもアクセス可能な構成とし、展開処理して得られたＹＣｂＣｒ画像データをこのＲＡＭに保存することにより、実現される。なお、バンドバッファ１１２へのアクセスは、第３のサブプロセッサ２０Ｃと第２のメモリコントローラ５０との間に設けられた専用の通信経路ＮＥＭＭ３を介して実行される。
【００４１】
第３のサブプロセッサ２０Ｃは、バンドバッファ１１２への画像データの書き込みを終了すると、第２のサブプロセッサ２０Ｂに対して処理終了を通知する。通知を受けた第２のサブプロセッサ２０Ｂは、第１のサブプロセッサ２０Ａのデコード制御部２２Ａに対して、バンドバッファへのデータ書き込み終了を通知する（処理１０）。そして、通知を受けたデコード制御部２２Ａは、画像処理代理制御部２１Ａに対して、画像デコード処理の終了を通知する（処理１１）。なお、この通知は、通信経路ＮＩＯ２を介して第３のサブプロセッサ２０Ｃから第１のサブプロセッサ２０Ａに伝えられる。
【００４２】
次に、画像処理代理制御部２１Ａは、画像補正制御部２３Ａに画像補正の実行を要求する（処理１２）。
【００４３】
画像補正制御部２３Ａは、画像補正部として機能する第４のサブプロセッサ２０Ｄに対して、バンドバッファ１１２に格納されている画像データに画像補正処理を実行するように要求する（処理１３）。なお、この要求は、通信経路ＮＩＯ２を介して第１のサブプロセッサ２０Ａから第４のサブプロセッサ２０Ｄに伝えられる。
【００４４】
第４のサブプロセッサ２０Ｄは、バンドバッファ１１２に格納されている画像データを読み出して取得し（処理１４）、画像補正処理を行った後、その結果をバンドバッファ１１２に書き戻す（処理１５）。なお、バンドバッファ１１２へのアクセスは、第４のサブプロセッサ２０Ｄと第２のメモリコントローラ５０との間に設けられた専用の通信経路ＮＥＭＭ４を介して実行される。
【００４５】
第４のサブプロセッサ２０Ｄは、画像補正処理が終了すると、第１のサブプロセッサ２０Ａの画像補正制御部２３Ａに対して画像補正処理の終了を通知する（処理１６）。なお、この通知は、通信経路ＮＩＯ２を介して第４のサブプロセッサ２０Ｄから第１のサブプロセッサ２０Ａに伝えられる。
【００４６】
画像補正処理の終了通知を受けた画像補正制御部２３Ａは、画像処理代理制御部２１Ａに対して、画像補正処理の終了を通知する（処理１７）。
【００４７】
次に、画像処理代理制御部２１Ａは、リサイズ処理部２４Ａにリサイズ処理の実行を要求する（処理１８）。
【００４８】
リサイズ処理部２４Ａは、バンドバッファ１１２に格納されている画像データを読み出して取得し（処理１９）、取得した画像データの表す画像の解像度を、印刷媒体上に印刷する画像の解像度（印刷解像度）に変換するリサイズ処理を行い、その結果を、ＲＡＭ１１０に割り当てられているアウトプットバッファ（図中にはＯｕｔｐｕｔｂｕｆと表記されている）１１３に書き込む（処理２０）。そして、リサイズ処理部２４Ａは、リサイズ処理を終了すると、画像処理代理制御部２１Ａに対してリサイズ処理の終了を通知する（処理２１）。なお、バンドバッファ１１２およびアウトプットバッファ１１３へのアクセスは、第１のサブプロセッサ２０Ａと第２のメモリコントローラ５０との間に設けられた専用の通信経路ＮＥＭＭ１を介して実行される。
【００４９】
画像処理代理制御部２１Ａは、リサイズ処理の終了通知を受けると、画像オブジェクト取得制御部１４に対して、指示を受けた画像オブジェクトの画像データが取得されたことを通知する（処理２２）。
【００５０】
そして、画像オブジェクト取得通知を受けた画像オブジェクト取得制御部１４は、画像オブジェクト取得終了を画像処理制御部１３に通知する。
【００５１】
画像処理制御部１３は、画像オブジェクト取得制御部１４から画像オブジェクト取得通知を受けると、第１のサブプロセッサ２０Ａのレイアウト処理部２５Ａに対して、取得した画像オブジェクトの画像データについてのレイアウト処理の実行を要求する（処理２３）。また、画像処理制御部１３は、取得すべき次の画像オブジェクトがある場合には、画像オブジェクト取得制御部１４に対して、次の画像オブジェクトの取得動作を開始させる。これにより、上記したように、第１〜第４のサブプロセッサ２０Ａ〜２０Ｄが動作して、次の画像オブジェクトの取得動作が開始される。例えば、通常、画像オブジェクト取得制御部１４による画像オブジェクトの取得指示は、あらかじめ設定されているバンド単位で実行されるので、次の画像オブジェクトの取得指示は、先に取得指示されたバンドの次のバンドに対する取得指示となる。なお、レイアウト処理の実行要求は、メインプロセッサ１０と第１のサブプロセッサ２０Ａとの間に設けられた専用の通信経路ＮＥＳＳ１を介して伝えられる。
【００５２】
レイアウト処理の要求を受けた第１のサブプロセッサ２０Ａのレイアウト処理部２５Ａは、アウトプットバッファ１１３に格納されている画像データを読み出して取得し（処理２４）、取得した画像データの表す画像を印刷媒体上の実際の印刷位置に配置したレイアウト画像データを生成して、ＲＡＭ１１０に割り当てられているＲＧＢバッファ（図中にはＲＧＢｂｕｆと表記されている）１１４に書き込む（処理２５）。そして、レイアウト処理部２５Ａは、レイアウト処理を終了すると、画像処理制御部１３に対してレイアウト処理の終了を通知する（処理２６）。
【００５３】
レイアウト処理終了の通知を受けた画像処理制御部１３は、色変換／ハーフトーン制御部１５の動作を開始させるとともに、次の画像オブジェクトの取得終了通知を受けている場合には、第１のサブプロセッサ２０Ａのレイアウト処理部２５Ａに対してレイアウト処理の実行を要求する。
【００５４】
色変換／ハーフトーン制御部１５は、色変換／ハーフトーンエンコード処理部として機能する第５のサブプロセッサ２０Ｅに色変換およびハーフトーンエンコード処理の実行を要求する（処理２７）。なお、この要求は、メインプロセッサ１０と第５のサブプロセッサ２０Ｅとの間に設けられた専用の通信経路ＮＥＳＳ５を介して伝えられる。
【００５５】
色変換およびハーフトーンエンコード処理の実行要求を受けた第５のサブプロセッサ２０Ｅは、ＲＧＢバッファ１１４に格納されているレイアウト画像データを読み出して取得する（処理２８）。そして、取得したレイアウト画像データに対して色変換処理およびハーフトーンエンコード処理を実行して、ハーフトーンエンコード処理結果をＲＡＭ１１０に割り当てられているＭＷバッファ１１５に書き込み（処理２９）、色変換／ハーフトーン制御部１５に対して色変換およびハーフトーンエンコード処理の終了を通知する（処理３０）。なお、色変換およびハーフトーンエンコード処理の要求や、色変換およびハーフトーンエンコード処理の終了の通知は、メインプロセッサ１０と第５のサブプロセッサ２０Ｅとの間に設けられた専用の通信経路ＮＥＳＳ５を介して伝えられる。また、ＲＧＢバッファ１１４およびＭＷバッファ１１５へのアクセスは、第５のサブプロセッサ２０Ｅと第２のメモリコントローラ５０との間に設けられた専用の通信経路ＮＥＭＭ５を介して実行される。
【００５６】
次に、色変換／ハーフトーン制御部１５は、ハーフトーンデコード処理部として機能する第６のサブプロセッサ２０Ｆにハーフトーンデコード処理の実行を要求する（処理３１）。
【００５７】
ハーフトーンデコード処理の実行要求を受けた第６のサブプロセッサ２０Ｆは、ＭＷバッファ１１５に格納されているハーフトーンエンコードデータを読み出して取得する（処理３２）。そして、取得したハーフトーンエンコードデータに対してハーフトーンデコード処理を実行して、印刷媒体上のドットの形成位置を表す印刷イメージデータを生成し、ＲＡＭ１１０に割り当てられているイメージバッファ（図中にはＩｍａｇｅｂｕｆと表記されている）１１６に書き込む（処理３３）。そして、第６のサブプロセッサ２０Ｆは、色変換／ハーフトーン制御部１５に対してハーフトーンデコード処理の終了を通知する（処理３４）。なお、ハーフトーンデコード処理の要求やハーフトーンデコード処理の終了の通知は、メインプロセッサ１０と第６のサブプロセッサ２０Ｆとの間に設けられた専用の通信経路ＮＥＳＳ６を介して伝えられる。また、ＭＷバッファ１１５およびイメージバッファ１１６へのアクセスは、第６のサブプロセッサ２０Ｆと第２のメモリコントローラ５０との間に設けられた専用の通信経路ＮＥＭＭ６を介して実行される。
【００５８】
色変換／ハーフトーン制御部１５がハーフトーンデコード処理の終了通知を受け取ると、処理結果出力部１６が動作して、印刷実行の指示を、図示しないプリンタエンジン制御部に対して通知する。これにより、イメージバッファ１１６に格納された印刷イメージデータに基づいて印刷媒体上への印刷が開始される。また、このとき、次の画像オブジェクトのレイアウト処理が終了している場合には、色変換／ハーフトーン制御部１５は、そのレイアウト処理が終了しているレイアウト画像データに対して色変換及びハーフトーン処理を実行する。
【００５９】
以上のように、メインプロセッサ１０の制御下で、第１ないし第６のサブプロセッサ２０Ａ〜２０Ｆのそれぞれに割り当てられている機能が実行されて、カード印刷のための画像処理が実行される。
【００６０】
Ａ３．効果：
以上説明したように、上記実施例のマルチプロセッサでは、メインプロセッサ１０と各サブプロセッサ２０Ａ〜２０Ｆとの間の通信は、それぞれ個別に接続されている通信経路ＮＥＳＳ１〜ＮＥＳＳ６により行われている。そして、第１ないし第４のサブプロセッサ２０Ａ〜２０Ｄ間の通信は、ループ状に設けられた通信経路ＮＩＯ２により行われている。これにより、サブプロセッサ間の通信は、メインプロセッサを介することなく実行されるので、サブプロセッサ間での通信の高速化を図ることができ、高速なデータ処理が可能となる。
【００６１】
なお、メインプロセッサ１０、第１ないし第６のサブプロセッサ２０Ａ〜２０Ｆ、２次キャッシュコントローラ３０、および、第２のメモリコントローラ５０の初期化指示は、ループ状に設けられた通信経路ＮＩＯを経由して伝えることが可能である。
【００６２】
Ｂ．変形例：
以上、本発明の実施の形態について説明したが、本発明はこのような実施の形態になんら限定されるものではなく、その要旨を逸脱しない範囲において種々の態様にて実施することが可能である。例えば、以下のような変形が可能である。
【００６３】
上記実施例では、１つのメインプロセッサと６つのサブプセッサとで構成される非対称型のマルチプロセッサを例に示したが、これに限定されるものではなく、１つのメインプロセッサに対して複数のサブプロセッサを備える構成とすることができる。
【００６４】
上記実施例では、一部のサブプロセッサとして４つのサブプロセッサ２０Ａ〜２０Ｄがループ状に設けられた通信経路ＮＩＯ２に接続されている場合を例に説明したが、これに限定されるものではなく、３つ以上のサブプロセッサがループ状に設けられた通信経路に接続されていればよく、全てのサブプロセッサが接続されていてもよい。
【図面の簡単な説明】
【００６５】
【図１】本発明のマルチプロセッサを適用した印刷制御装置の主な構成を示す説明図である。
【図２】メモリカードに保存されている画像ファイルの表す画像を印刷する場合において印刷制御装置によって実行される画像処理動作について示す説明図である。
【符号の説明】
【００６６】
１０…メインプロセッサ
１１…ファイルシステム
１２…ファイルアクセス制御部
１３…画像処理制御部
１４…画像オブジェクト取得制御部
１５…色変換／ハーフトーン制御部
１６…処理結果出力部
２０Ａ〜２０Ｆ…サブプロセッサ
２１Ａ…画像処理代理制御部
２２Ａ…デコード制御部
２３Ａ…画像補正制御部
２４Ａ…リサイズ処理部
２５Ａ…レイアウト処理部
３０…２次キャッシュコントローラ
４０…２次キャッシュメモリ
５０…第２のメモリコントローラ
６０…Ｉ／Ｏインタフェース
７０…第１のメモリコントローラ
８０…ブリッジ回路
１１０…ＲＡＭ
１１１…ストリームバッファ
１１２…バンドバッファ
１１３…アウトプットバッファ
１１４…ＲＧＢバッファ
１１５…ＭＷバッファ
１１６…イメージバッファ
１２０Ａ…ＲＯＭ
１２０Ｂ…ＲＡＭ
１３０…入力装置
１５０…カードリーダ
１５０…メモリカード
１６０…プリンタエンジン
ＮＥＳＳ１〜ＮＥＳＳ６…通信経路
ＮＥＭＭ１Ａ〜ＮＥＭＭ７Ａ…通信経路
ＮＥＭＭ１Ｂ〜ＮＥＭＭ７Ｂ…通信経路
ＮＩＯ…通信経路
ＮＩＯ２…通信経路
ＮＥＩＢ…通信経路
ＮＥＭＭ７Ａ…通信経路
ＩＰＣ…印刷制御装置
【図１】
2007122319.tif 000003
【図２】
2007122319.tif 000004