(57)【要約】【課題】第１制御部と第２制御部とによるコヒーレンシをより容易且つ確実に実現する。【解決手段】マルチプロセッサシステム３０は、リクエストの出力先としてＤＭＡコントローラ３５が予め対応付けられているＤＭＡメッセージボックス３７を備えており、このＤＭＡメッセージボックス３７へのリクエストをメインプロセッサ３１からブリッジ３２が入力すると、メモリ３４に対する先のリクエストのＡｃｋ信号を入力したあとリクエストをＤＭＡメッセージボックス３７へ出力し、このリクエストをＤＭＡメッセージボックス３７が対応付けられたＤＭＡコントローラ３５へ出力する。このように、複数あるプロセッサのうち、ＤＭＡコントローラ３５へのリクエストは、先のリクエスト、例えばメモリ３４へのデータの書込などが完了した回答を得たあとに出力される。【選択図】図１
2010026577.tif 000002
【特許請求の範囲】
【請求項１】
データを記憶する記憶手段と、
前記記憶手段に対してのデータの書込又は読出指令であるリクエストを出力する第１制御部と、該第１制御部からのリクエストに基づき前記記憶手段に対してのデータの書込・読出を制御する第２制御部と、を少なくとも含む複数の制御部からなる制御部群と、
リクエストの出力先として第２制御部が予め対応付けられており、リクエストを入力すると該入力したリクエストを該対応付けられた第２制御部へ出力する中継部と、
前記中継部へのリクエストを前記第１制御部から入力すると前記記憶手段に対する先のリクエストの完了回答を入力したあと該入力したリクエストを該中継部へ出力する指令制御部と、
を備えたマルチプロセッサシステム。
【請求項２】
前記指令制御部は、前記中継部へのリクエストの出力が優先的属性に設定されている、請求項１に記載のマルチプロセッサシステム。
【請求項３】
前記中継部は、リクエストの出力先として第２制御部が前記記憶手段の所定のアドレスに予め対応付けられている、請求項１又は２に記載のマルチプロセッサシステム。
【請求項４】
前記第２制御部は、ダイレクトメモリアクセスコントローラである、請求項１〜３のいずれか１項に記載のマルチプロセッサシステム。
【請求項５】
請求項１〜４のいずれか１項に記載のマルチプロセッサシステムと、
流体を吐出してターゲット上に画像を形成する流体吐出機構と、を備え、
前記制御部群には、前記ターゲットへ前記流体を吐出して形成する画像データを生成し、前記流体吐出機構を駆動制御する制御部が含まれている、
流体吐出装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、マルチプロセッサシステム及びそれを搭載した流体吐出装置に関する。
【背景技術】
【０００２】
従来、マルチプロセッサシステムとしては、複数のプロセッサとメモリコントローラとの間をそれぞれ個別に接続することにより形成される第１の通信経路と、複数のプロセッサ及びメモリコントローラをそれぞれ順に接続することにより形成されるループ状の第２の通信経路とを備え、マルチプロセッサを構成するデバイス間の接続を効果的に実現するものが提案されている（例えば、特許文献１参照）。
【特許文献１】特開２００７−１２２３２０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
ところで、この特許文献１に記載されたマルチプロセッサシステムなどでは、例えば、メインプロセッサ（第１制御部）によりメモリに書き込まれたデータをサブプロセッサ側（第２制御部）で読み出して、その後の処理に使用することがある。しかしながら、メインプロセッサ側でデータのメモリへの書込を指令したあとにサブプロセッサへこのデータの読出指令を出力した場合に、メモリへの書込が完了する前にサブプロセッサ側でメモリの読出を行ってしまう場合などがある。このような場合、サブプロセッサ側で誤ったデータを読み出してしまう問題がある。このように、より容易に且つより確実にデータのコヒーレンシ（同一性）を保つことを実現することが望まれていた。
【０００４】
本発明は、このような課題に鑑みなされたものであり、第１制御部と第２制御部とによるコヒーレンシをより容易且つ確実に実現することができるマルチプロセッサシステム及びそれを搭載した流体吐出装置を提供することを主目的とする。
【課題を解決するための手段】
【０００５】
本発明は、上述の目的を達成するために以下の手段を採った。
【０００６】
本発明のマルチプロセッサシステムは、
データを記憶する記憶手段と、
前記記憶手段に対してのデータの書込又は読出指令であるリクエストを出力する第１制御部と、該第１制御部からのリクエストに基づき前記記憶手段に対してのデータの書込・読出を制御する第２制御部と、を少なくとも含む複数の制御部からなる制御部群と、
リクエストの出力先として第２制御部が予め対応付けられており、リクエストを入力すると該入力したリクエストを該対応付けられた第２制御部へ出力する中継部と、
前記中継部へのリクエストを前記第１制御部から入力すると前記記憶手段に対する先のリクエストの完了回答を入力したあと該入力したリクエストを該中継部へ出力する指令制御部と、
を備えたものである。
【０００７】
このマルチプロセッサシステムでは、リクエストの出力先として第２制御部が予め対応付けられている中継部を備えており、この中継部へのリクエストを第１制御部から指令制御部が入力すると、記憶手段に対する先のリクエストの完了回答を入力したあとこの入力したリクエストを中継部へ出力し、このリクエストを中継部が対応付けられた第２制御部へ出力する。このように、複数ある制御部のうち、中継部に対応づけられた制御部へのリクエストについては、先のリクエスト、例えば記憶手段へのデータの書込などが完了した回答を得たあとに、対応する制御部へ出力されるのである。したがって、中継部を設けることにより、第１制御部と第２制御部とによるコヒーレンシをより容易且つ確実に実現することができる。
【０００８】
本発明のマルチプロセッサシステムにおいて、前記指令制御部は、前記中継部へのリクエストの出力が優先的属性に設定されているものとしてもよい。こうすれば、完了回答を得たあとに中継部へのリクエストが優先的に出力されるため、第１制御部と第２制御部とによるコヒーレンシを一層確実に実現することができる。
【０００９】
本発明のマルチプロセッサシステムにおいて、前記中継部は、リクエストの出力先として第２制御部が前記記憶手段の所定のアドレスに予め対応付けられているものとしてもよい。こうすれば、記憶手段のアドレスを用いて比較的容易に第２制御部の対応づけを実現することができる。
【００１０】
本発明のマルチプロセッサシステムにおいて、前記第２制御部は、ダイレクトメモリアクセスコントローラであるものとしてもよい。ダイレクトメモリアクセスコントローラは、コヒーレンシを保つ要望が高いため、本発明を適用する意義が高い。
【００１１】
本発明の流体吐出装置は、上述したいずれか１つに記載のマルチプロセッサシステムと、流体を吐出してターゲット上に画像を形成する流体吐出機構と、を備え、前記制御部群には、前記ターゲットへ前記流体を吐出して形成する画像データを生成し、前記流体吐出機構を駆動制御する制御部が含まれているものである。この流体吐出装置では、上述したいずれかのマルチプロセッサシステムを搭載しているため、このマルチプロセッサシステムと同様の効果を奏することができる。ここで、「流体」は、画像をターゲット上へ形成することが可能であれば特に限定されず、例えば、インクなどの液体や、トナーなどの固体、ターゲットの変色を促す気体などとしてもよい。また、「ターゲット」としては、画像が形成可能なものであれば特に限定されず、紙などの印刷用紙や画像としての配線が形成される電子部品等の基板などとしてもよい。
【発明を実施するための最良の形態】
【００１２】
次に、本発明を実施するための最良の形態を図面を用いて説明する。図１は、本発明の一実施形態である流体吐出装置としてのプリンタ２０の構成の概略を示す構成図である。本実施形態のプリンタ２０は、装置全体の制御を司るマルチプロセッサシステム３０と、パソコンなどの外部機器との間で情報の入出力が可能なインタフェース（Ｉ／Ｆ）４５と、記録紙Ｓへ画像を印刷処理する印刷機構４６と、を備えている。
【００１３】
マルチプロセッサシステム３０は、主制御を司るメインプロセッサ３１や副制御を司るメモリコントローラ３３やダイレクトメモリアクセス（ＤＭＡ）コントローラ３５、サブプロセッサ４１〜４３などを含むプロセッサ群と、特定のプロセッサ間でデータをやり取りする際に用いられる中継部としてのＤＭＡメッセージボックス３７と、各種プログラムを記憶したＲＯＭ４４と、を備えている。このマルチプロセッサシステム３０の各プロセッサ、ＲＯＭ４４、Ｉ／Ｆ４５及び印刷機構４６は、バス４８により電気的に接続され、各々との通信ができるように構成されている。
【００１４】
メインプロセッサ３１は、メモリ３４の特定領域へ格納させるデータを様々な計算を行い作成したり、メモリ３４に対してのデータの書込・読出指令であるリクエストを各プロセッサへ出力したりするものであり、ブリッジ３２を介してバス４８に接続されている。このメインプロセッサ３１は、ＤＭＡコントローラ３５へＤＭＡのリクエストを出力することにより、自らの処理負荷の低減を図るよう設計されている。ブリッジ３２は、メインプロセッサ３１とバス４８との間を仲介するデバイスである。このブリッジ３２は、特定アドレスへのリクエストの出力に対しては、今回のリクエストよりも前に出力したリクエスト（「先のリクエスト」とも称する）の完了を待って出力する機能が付加されている。ここでは、ＤＭＡメッセージボックス３７を介してＤＭＡコントローラ３５へ出力するリクエストに対して先のリクエストの完了を待って出力するよう設定されている。また、このＤＭＡメッセージボックス３７を介してＤＭＡコントローラ３５へ出力されるリクエストは、優先的属性に設定されている。
【００１５】
メモリコントローラ３３は、一時的にデータを記憶するメモリ３４と接続されており、このメモリ３４に対するデータの書込・読出を実行するものである。ＤＭＡコントローラ３５は、各デバイスとメモリ３４との間のデータのやり取りをメインプロセッサ３１を介さずに制御するものであり、ブリッジ３６を介してバス４８に接続されている。
【００１６】
ＤＭＡメッセージボックス３７は、中継先のアドレスを格納したＤＭＡアドレスボックス３８を利用して２以上のプロセッサ間のリクエストのやりとりを中継するデバイスである。マルチプロセッサシステム３０では、リクエストの出力先としてＤＭＡコントローラ３５が予め対応付けられており、入力したリクエストをＤＭＡコントローラ３５へ出力するよう設定されている。このＤＭＡメッセージボックス３７は、リクエストの出力先（ＤＭＡコントローラ３５）がメモリ３４の所定アドレスに予め対応付けられており、この所定アドレスにリクエストが格納されると、対応付けられているＤＭＡコントローラ３５がリクエストの出力先であると把握するように構成されている。
【００１７】
サブプロセッサ４１は、例えばＩ／Ｆ４５を介して外部機器とのデータのやり取りを行うなど、ネットワークに関するデータの制御を実行するものである。サブプロセッサ４２は、例えば圧縮された画像ファイル（例えばＪＰＥＧファイル）の展開や展開した画像データの回転や移動、拡大縮小など画像処理を実行するものである。サブプロセッサ４３は、例えば画像データに基づいて印刷機構４６を駆動制御して印刷処理を実行するものである。
【００１８】
印刷機構４６は、図示しないが、各色のインクに圧力をかけ、この加圧されたインクを記録紙Ｓに吐出して印刷処理を実行するインクジェット方式の機構である。なお、インクへ圧力をかける機構は、圧電素子の変形によるものとしてもよいしヒータの熱による気泡の発生によるものとしてもよい。
【００１９】
次に、こうして構成された本実施形態のマルチプロセッサシステム３０の動作について、特にブリッジ３２が行う動作について説明したあと、マルチプロセッサシステム３０の全体的な動作について説明する。図２は、ブリッジ３２が実行するリクエスト制御ルーチンの一例を表すフローチャートであり、図３は、メインプロセッサ３１、ブリッジ３２、メモリコントローラ３３、ＤＭＡメッセージボックス３７及びＤＭＡコントローラ３５による各処理及び通信の様子をシーケンシャルに示す説明図である。
【００２０】
図２に示すリクエスト制御ルーチンは、メインプロセッサ３１からリクエストを入力したあとブリッジ３２によって実行される。リクエストを入力すると、ブリッジ３２は、バス４８がレディ状態であるか否かを判定し（ステップＳ１００）、レディ状態でないときにはレディ状態になるまで待機し、バス４８がレディ状態となると出力先のアドレスがＤＭＡメッセージボックス３７であるか否かを判定する（ステップＳ１１０）。この判定は、入力した出力先のメモリ３４のアドレスが予めＤＭＡメッセージボックス３７に定められたアドレスであるか否かにより行う。出力先がＤＭＡメッセージボックス３７でないときには、ブリッジ３２は、リクエストを出力先アドレスへのバスに出力し（ステップＳ１３０）、このルーチンを終了する。
【００２１】
一方、ステップＳ１１０で出力先がＤＭＡメッセージボックス３７であるときには、ブリッジ３２は、先のリクエストの完了回答であるＡｃｋ信号を受信したか否かを判定する（ステップＳ１２０）。Ａｃｋ信号を受信していないときにはＡｃｋ信号を受信するまで待機し（即ちリクエストの発行を停止し）、Ａｃｋ信号を受信したときには、先に出力したリクエストの処理が完了したものとみなし、このルーチンの開始時に入力したリクエストを出力先アドレスへのバスに出力し（ステップＳ１３０）、このルーチンを終了する。このように、ステップＳ１２０で先のリクエストの処理、例えばメインプロセッサ３１からメモリコントローラ３３へのデータの書込指令の処理が確実に終了したあと、ＤＭＡコントローラ３５へＤＭＡのリクエストを出力するのである。
【００２２】
次に、マルチプロセッサシステム３０の各プロセッサによる各処理及び通信の様子を説明する。なお、図３の説明図では、図２のリクエスト制御ルーチンと同じステップには同じステップ番号を付した。ここでは、メインプロセッサ３１がメモリ３４に対して読出・書込処理を指令し、メモリ３４へ書き込んだデータをＤＭＡコントローラ３５により読み出す場合について説明する。まず、メインプロセッサ３１は、メモリ３４に記憶されているデータを読み出すメモリコントローラ３３への指令であるリードリクエストをブリッジ３２へ出力する（ステップＳ２００）。これを入力したブリッジ３２は、出力先アドレスがＤＭＡメッセージボックス３７ではないため、そのままこのリクエストをメモリコントローラ３３へ出力する（ステップＳ１３０）。これを入力したメモリコントローラ３３は、読出処理を実行し（ステップＳ３００）、ブリッジ３２へデータを出力する（ステップＳ３１０）。データを入力すると、ブリッジ３２は、メインプロセッサ３１へデータを出力する（ステップＳ１４０）。続いて、メモリコントローラ３３は、データの出力を終了すると、処理完了を表すＡｃｋ信号をブリッジ３２へ出力する（ステップＳ３２０）。
【００２３】
次に、メインプロセッサ３１は、データを作成しこの作成したデータをメモリ３４へ記憶させるメモリコントローラ３３への指令であるライトリクエストをブリッジ３２へ出力する（ステップＳ２１０）。これを入力したブリッジ３２は、出力先アドレスがＤＭＡメッセージボックス３７ではないため、そのままこのリクエストをメモリコントローラ３３へ出力する（ステップＳ１３０）。これを入力したメモリコントローラ３３は、書込処理を実行する（ステップＳ３３０）。メインプロセッサ３１は、ライトリクエストを出力したため、メモリ３４には作成したデータが記憶されているものとしてデバイス側が直接メモリ３４へアクセスするＤＭＡリクエストを出力し（ステップＳ２２０）、データのやり取りをＤＭＡコントローラ３５へ委任する。これを受けたブリッジ３２は、先のリクエストに対するＡｃｋ信号を入力するまで待機し（リクエストの発行停止、ステップＳ１２０）、メモリコントローラ３３から先のリクエスト（ここではライトリクエスト）のＡｃｋ信号を入力すると、ＤＭＡリクエストをＤＭＡメッセージボックス３７へ出力する（ステップＳ１３０）。
【００２４】
ここで、リクエストの発行停止について説明する。ＤＭＡリクエストを出力するときに、命令を実行する順番の変更（アウトオブオーダーや追い越し）や、複数のプロセッサから同時にリクエストを受けた場合、メモリ３４に採用されているマルチバンク方式などにより、ＤＭＡリクエスト時にメモリ３４へのデータの書込処理が終了していない場合が生じうる。ここでは、ＤＭＡリクエストをブリッジ３２が受信したときに、先のリクエストに対するＡｃｋ信号を入力するまでリクエストの発行を停止することにより、先のリクエストとしてのメモリ３４への書込処理などを確実に完了させるのである。また、リクエストの発行停止後のリクエストの出力再開では、ＤＭＡリクエストが優先的属性に設定されているから、複数のリクエストの出力が停止された場合であっても、最も先にＤＭＡリクエストがブリッジ３２から出力されるのである。
【００２５】
ＤＭＡリクエストを受けたＤＭＡメッセージボックス３７では、ＤＭＡアドレスボックス３８を用いてリクエストの出力先のアドレスを変換し（ステップＳ４００）、このＤＭＡリクエストをＤＭＡコントローラ３５へ出力する（ステップＳ４１０）。これを受けたＤＭＡコントローラ３５は、ＤＭＡによるメモリ３４へのアクセスの指令をメモリコントローラ３３へ出力し（ステップＳ５００）、以後、メインプロセッサ３１を介さずにデバイスとのデータのやり取りを行うのである。プリンタ２０では、このようなマルチプロセッサシステム３０の処理を経て、作成されたデータを用いて、例えばサブプロセッサ４３により印刷機構４６を駆動制御して記録紙Ｓへインクを吐出させて記録紙Ｓ上に画像を形成させたりするのである。
【００２６】
ここで、本実施形態の構成要素と本発明の構成要素との対応関係を明らかにする。本実施形態のメモリ３４が本発明の記憶手段に相当し、メインプロセッサ３１が第１制御部に相当し、ＤＭＡコントローラ３５が第２制御部に相当し、プロセッサ群が制御部群に相当し、ＤＭＡメッセージボックス３７が中継部に相当し、ブリッジ３２が指令制御部に相当し、印刷機構４６が流体吐出機構に相当し、インクが流体に相当し、記録紙Ｓがターゲットに相当する。
【００２７】
以上詳述した本実施形態のマルチプロセッサシステム３０によれば、リクエストの出力先としてＤＭＡコントローラ３５が予め対応付けられているＤＭＡメッセージボックス３７を備えており、このＤＭＡメッセージボックス３７へのリクエストをメインプロセッサ３１からブリッジ３２が入力すると、メモリ３４に対する先のリクエストのＡｃｋ信号（完了回答）を入力したあとこの入力したリクエストをＤＭＡメッセージボックス３７へ出力し、このリクエストをＤＭＡメッセージボックス３７が対応付けられたＤＭＡコントローラ３５へ出力する。即ち、複数あるプロセッサ（制御部）のうち、ＤＭＡメッセージボックス３７に対応づけられたＤＭＡコントローラ３５へのリクエストについては、先のリクエスト、例えばメモリ３４へのデータの書込などが完了した回答を得たあとに、出力されるのである。このように、個々のプロセッサ間の指定を行うことなく、コヒーレンシを保つ特定のプロセッサ用の私書箱としてのＤＭＡメッセージボックス３７を設けているため、メインプロセッサ３１とＤＭＡコントローラ３５とによるコヒーレンシをより容易に実現することができ、ＤＭＡメッセージボックス３７へのリクエストを受けると先のリクエストの完了を待ってから出力先へ出力するため、コヒーレンシをより確実に実現することができる。
【００２８】
また、ＤＭＡメッセージボックス３７へのリクエストの出力が優先的属性に設定されているため、ＤＭＡメッセージボックス３７へのリクエストが優先的に出力され、メインプロセッサ３１とＤＭＡコントローラ３５とによるコヒーレンシを一層確実に実現することができる。更に、リクエストの出力先としてＤＭＡコントローラ３５がメモリ３４の所定のアドレスに予め対応付けられているため、メモリ３４のアドレスを用いて比較的容易にＤＭＡコントローラ３５の対応づけを実現することができるし、比較的容易に出力先を判定することができる。更にまた、ＤＭＡコントローラ３５は、コヒーレンシを保つ要望が高いため、本発明を適用する意義が高い。そしてまた、プリンタ２０は、マルチプロセッサシステム３０を用いて分担した処理を実行することが多いため、本発明を適用する意義が高い。
【００２９】
なお、本発明は上述した実施形態に何ら限定されることはなく、本発明の技術的範囲に属する限り種々の態様で実施し得ることはいうまでもない。
【００３０】
例えば、上述した実施形態では、ＤＭＡメッセージボックス３７へのリクエストの出力が優先的属性に設定されているものとしたが、これを省略してもよい。こうしても、先のリクエストが終了してからＤＭＡリクエストを出力するため、コヒーレンシをより容易且つ確実に実現することができる。
【００３１】
上述した実施形態では、リクエストの出力先としてＤＭＡコントローラ３５がメモリ３４の所定のアドレスに予め対応付けられているものとしたが、特にこれに限定されず、リクエストの出力先を判定可能とすればどのような方法を採用してもよい。
【００３２】
上述した実施形態では、ＤＭＡコントローラ３５がＤＭＡメッセージボックス３７からの出力先として定められているものとしたが、特にこれに限定されず、コヒーレンシを保つ必要があるプロセッサをＤＭＡメッセージボックス３７からの出力先として定めるものとしてもよい。また、ＤＭＡメッセージボックス３７からの出力先を複数設定するものとしてもよい。
【００３３】
上述した実施形態では、プリンタ２０がマルチプロセッサシステム３０を備えるものとしたが、複数のプロセッサにより処理を行う機器であれば特にこれに限られず、例えば、パソコン、テレビ、ビデオ、ゲーム機器などにマルチプロセッサシステム３０を搭載してもよい。
【００３４】
上述した実施形態では、流体吐出装置をプリンタ２０に具体化した例を示したが、インク以外の他の液体や機能材料の粒子が分散されている液状体（分散液）、ジェルのような流状体などを吐出する印刷装置に具体化してもよいし、流体として吐出可能な固体を吐出する印刷装置に具体化してもよい。例えば、液晶ディスプレイ、ＥＬ（エレクトロルミネッセンス）ディスプレイ、面発光ディスプレイ及びカラーフィルタの製造などに用いられる電極材や色材などの材料を溶解した液体を吐出する液体吐出装置、同材料を分散した液状体を吐出する液状体吐出装置、精密ピペットとして用いられ試料となる液体を吐出する液体吐出装置としてもよい。また、光通信素子等に用いられる微小半球レンズ（光学レンズ）などを形成するために紫外線硬化樹脂等の透明樹脂液を基板上に吐出する液体吐出装置、ジェルを吐出する流状体吐出装置、トナーなどの粉体を吐出する粉体吐出式記録装置としてもよい。
【図面の簡単な説明】
【００３５】
【図１】プリンタ２０の構成の概略を示す構成図である。
【図２】リクエスト制御ルーチンの一例を表すフローチャートである。
【図３】各処理及び通信の様子をシーケンシャルに示す説明図である。
【符号の説明】
【００３６】
２０  プリンタ、３０  マルチプロセッサシステム、３１  メインプロセッサ、３２  ブリッジ、３３  メモリコントローラ、３４  メモリ、３５  ＤＭＡコントローラ、３６  ブリッジ、３７  ＤＭＡメッセージボックス、３８  ＤＭＡアドレスボックス、４１〜４３  サブプロセッサ、４４  ＲＯＭ、４５  インタフェース（Ｉ／Ｆ）、４６  印刷機構、４８  バス、Ｓ  記録紙。
【図１】
2010026577.tif 000003
【図２】
2010026577.tif 000004
【図３】
2010026577.tif 000005