(57)【要約】【課題】識別情報を効率よく用いて適切に通信制御を行なう。【解決手段】ルーター＃Ａｎは、自身に接続されたデバイス５２からのリクエストを受け付けたときには自身に割り当てられたＴＩＤの１つをリクエストに格納してメモリーコントローラー３７側に送信すると共に格納したＴＩＤをリクエスト元のデバイス５２に対応付けて記憶し（Ｓ１００〜Ｓ１４０）、後段側のルーター＃Ａｎからのリクエストを受け付けたときにはメモリーコントローラー３７側に転送し（Ｓ１５０）、メモリーコントローラー３７側からのレスポンスを受け付けたときには該レスポンスに含まれるＴＩＤを自身に割り当てられたＴＩＤと照合しＴＩＤが一致しないレスポンスは後段側のルーター＃Ａｎに転送し（Ｓ２２０，２３０）、ＴＩＤが一致するレスポンスは記憶した対応付けに基づいてリクエスト元のデバイス５２に送信する（Ｓ２４０〜２６０）。【選択図】図５
2012178122.tif 000002
【特許請求の範囲】
【請求項１】
リクエストを出力する複数のデバイスと、前記リクエストを処理して該リクエストに含まれる識別情報の格納を伴ってレスポンスを出力する処理部と、該処理部に対して直列的に多段接続されると共に各段に前記複数のデバイスがそれぞれ接続される複数の中継器とを備えるデバイスシステムであって、
前記識別情報として、直列的に接続される中継器間で互いに異なると共に個々の中継器内で互いに異なる複数の識別情報を各段の中継器に予め割り当て、
前記中継器は、自身に接続された前記デバイスからのリクエストを受け付けたときには自身に割り当てられた識別情報の１つを該リクエストに格納して処理部側に送信すると共に該格納した識別情報をリクエスト元のデバイスに対応付けて記憶し、後段側の中継器からのリクエストを受け付けたときには処理部側に転送し、処理部側からのレスポンスを受け付けたときには該レスポンスに含まれる識別情報を自身に割り当てられた識別情報と照合し、該識別情報が一致するレスポンスは前記記憶した対応付けに基づいて前記リクエスト元のデバイスに送信し、該識別情報が一致しないレスポンスは後段側の中継器に転送する
デバイスシステム。
【請求項２】
前記中継器は、先入れ先出し方式で自身に割り当てられた識別情報を格納するバッファーをそれぞれ備え、自身に接続された前記デバイスからのリクエストを受け付けたときには該バッファーから識別情報を読み出して前記リクエストに格納し、前記識別情報が一致するレスポンスを受け付けたときに該レスポンスから識別情報を抽出して前記バッファーに書き込んで再格納する請求項１記載のデバイスシステム。
【請求項３】
前記各段の中継器にそれぞれ接続される前記複数のデバイスの数よりも少ない数の識別情報を該各段の中継器に割り当ててなる請求項１または２記載のデバイスシステム。
【請求項４】
前記各段の中継器のうち後段側の中継器となるほど数が多くなる傾向に前記複数の識別情報を割り当ててなる請求項１ないし３いずれか１項に記載のデバイスシステム。
【請求項５】
前記各段の中継器にそれぞれ同じ数ずつ前記複数の識別情報を割り当ててなる請求項１ないし３いずれか１項に記載のデバイスシステム。
【請求項６】
リクエストを出力する複数のデバイスと、前記リクエストを処理して該リクエストに含まれる識別情報の格納を伴ってレスポンスを出力する処理部とを備えるデバイスシステムに設けられ、前記処理部に対して直列的に多段接続されると共に各段に前記複数のデバイスがそれぞれ接続される中継器であって、
前記識別情報として直列的に接続される中継器間で互いに異なると共に個々の中継器内で互いに異なる複数の識別情報が予め割り当てられ、自身に接続された前記デバイスからのリクエストを受け付けたときには自身に割り当てられた識別情報の１つを該リクエストに格納して処理部側に送信すると共に該格納した識別情報をリクエスト元のデバイスに対応付けて記憶し、後段側の中継器からのリクエストを受け付けたときには処理部側に転送し、処理部側からのレスポンスを受け付けたときには該レスポンスに含まれる識別情報を自身に割り当てられた識別情報と照合し、該識別情報が一致するレスポンスは前記記憶した対応付けに基づいて前記リクエスト元のデバイスに送信し、該識別情報が一致しないレスポンスは後段側の中継器に転送する
中継器。
【請求項７】
先入れ先出し方式で自身に割り当てられた識別情報を格納するバッファーをそれぞれ備え、自身に接続された前記デバイスからのリクエストを受け付けたときには該バッファーから識別情報を読み出して前記リクエストに格納し、前記識別情報が一致するレスポンスを受け付けたときに該レスポンスから識別情報を抽出して前記バッファーに書き込んで再格納する請求項６記載の中継器。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、リクエストを出力する複数のデバイスと、前記リクエストを処理して該リクエストに含まれる識別情報の格納を伴ってレスポンスを出力する処理部と、該処理部に対して直列的に多段接続されると共に各段に前記複数のデバイスがそれぞれ接続される複数の中継器とを備えるデバイスシステムおよびデバイスシステムにおける中継器に関する。
【背景技術】
【０００２】
従来より、マスターデバイスとしての複数のプロセッサーと、ルーターと、メモリー通信コントローラーと、ネットワークインターフェースコントローラーとから構成されるネットワークオンチップ（ＮＯＣ）を複数備えたデバイスシステムが提案されている（例えば、特許文献１参照）。このシステムでは、各プロセッサーがルーターにメモリー通信コントローラーやネットワークインターフェースコントローラーを介して接続され、メモリー通信コントローラーによりプロセッサーとメモリー間の通信を制御し、ネットワークインターフェースコントローラーによりルーターを介してプロセッサー相互の通信を制御するものとしている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００９−１１０５１２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、このようなシステムにおいては、通信に用いられるパケットにリクエストの出力元のプロセッサーを識別するための識別情報を含めてリクエストを送信すると共にその識別情報をリクエストに対するレスポンスに含めてレスポンスを送信することにより、レスポンスに含まれた識別情報に基づいて出力元のプロセッサーにレスポンスを送り届けることが行なわれている。しかし、近年においては、多大な数のプロセッサーを備えるものが現れているため、各プロセッサー毎に識別情報を用意すると、必要な識別情報の数が膨大なものとなり、効率のよい通信制御を行なえないことがある。
【０００５】
本発明のデバイスシステムおよび中継器は、識別情報を効率よく用いて適切に通信制御を行なうことを主目的とする。
【０００６】
本発明のデバイスシステムおよび中継器は、上述の主目的を達成するために以下の手段を採った。
【課題を解決するための手段】
【０００７】
本発明のデバイスシステムは、
リクエストを出力する複数のデバイスと、前記リクエストを処理して該リクエストに含まれる識別情報の格納を伴ってレスポンスを出力する処理部と、該処理部に対して直列的に多段接続されると共に各段に前記複数のデバイスがそれぞれ接続される複数の中継器とを備えるデバイスシステムであって、
前記識別情報として、直列的に接続される中継器間で互いに異なると共に個々の中継器内で互いに異なる複数の識別情報を各段の中継器に予め割り当て、
前記中継器は、自身に接続された前記デバイスからのリクエストを受け付けたときには自身に割り当てられた識別情報の１つを該リクエストに格納して処理部側に送信すると共に該格納した識別情報をリクエスト元のデバイスに対応付けて記憶し、後段側の中継器からのリクエストを受け付けたときには処理部側に転送し、処理部側からのレスポンスを受け付けたときには該レスポンスに含まれる識別情報を自身に割り当てられた識別情報と照合し、該識別情報が一致するレスポンスは前記記憶した対応付けに基づいて前記リクエスト元のデバイスに送信し、該識別情報が一致しないレスポンスは後段側の中継器に転送する
ことを要旨とする。
【０００８】
この本発明のデバイスシステムでは、識別情報として、直列的に接続される中継器間で互いに異なると共に個々の中継器内で互いに異なる複数の識別情報を各段の中継器に予め割り当て、中継器は、自身に接続されたデバイスからのリクエストを受け付けたときには自身に割り当てられた識別情報の１つをリクエストに格納して処理部側に送信すると共に格納した識別情報をリクエスト元のデバイスに対応付けて記憶し、後段側の中継器からのリクエストを受け付けたときには処理部側に転送し、処理部側からのレスポンスを受け付けたときには該レスポンスに含まれる識別情報を自身に割り当てられた識別情報と照合し、識別情報が一致するレスポンスは記憶した対応付けに基づいてリクエスト元のデバイスに送信し、識別情報が一致しないレスポンスは後段側の中継器に転送する。これにより、中継器に割り当てられた識別情報を用いて、リクエストに対するレスポンスをリクエスト元のデバイスに中継することができる。また、各中継器に接続されるデバイスから処理部側に送信されるリクエストの数を、中継器に割り当てられる識別情報の数により制限して帯域制御を行なうことができる。この結果、識別情報を効率よく用いて適切に通信制御を行なうことができる。
【０００９】
また、本発明のデバイスシステムにおいて、前記中継器は、先入れ先出し方式で自身に割り当てられた識別情報を格納するバッファーをそれぞれ備え、自身に接続された前記デバイスからのリクエストを受け付けたときには該バッファーから識別情報を読み出して前記リクエストに格納し、前記識別情報が一致するレスポンスを受け付けたときに該レスポンスから識別情報を抽出して前記バッファーに書き込んで再格納するものとすることもできる。こうすれば、識別情報を容易に管理することができるから、処理負担の増加を抑えて効率よく通信制御を行なうことができる。
【００１０】
さらに、本発明のデバイスシステムにおいて、前記各段の中継器にそれぞれ接続される前記複数のデバイスの数よりも少ない数の識別情報を該各段の中継器に割り当ててなるものとすることもできる。これにより、多段接続における帯域制御を容易に行なうことができる。
【００１１】
そして、本発明のデバイスシステムにおいて、前記各段の中継器のうち後段側の中継器となるほど数が多くなる傾向に前記複数の識別情報を割り当ててなるものとすることもできる。ここで、多段接続においては後段側となるほどレイテンシーが大きくなるから、そのようなレイテンシーの影響を抑制することができる。あるいは、本発明のデバイスシステムにおいて、前記各段の中継器にそれぞれ同じ数ずつ前記複数の識別情報を割り当ててなるものとすることもできる。
【００１２】
本発明の中継器は、
リクエストを出力する複数のデバイスと、前記リクエストを処理して該リクエストに含まれる識別情報の格納を伴ってレスポンスを出力する処理部とを備えるデバイスシステムに設けられ、前記処理部に対して直列的に多段接続されると共に各段に前記複数のデバイスがそれぞれ接続される中継器であって、
前記識別情報として直列的に接続される中継器間で互いに異なると共に個々の中継器内で互いに異なる複数の識別情報が予め割り当てられ、自身に接続された前記デバイスからのリクエストを受け付けたときには自身に割り当てられた識別情報の１つを該リクエストに格納して処理部側に送信すると共に該格納した識別情報をリクエスト元のデバイスに対応付けて記憶し、後段側の中継器からのリクエストを受け付けたときには処理部側に転送し、処理部側からのレスポンスを受け付けたときには該レスポンスに含まれる識別情報を自身に割り当てられた識別情報と照合し、該識別情報が一致するレスポンスは前記記憶した対応付けに基づいて前記リクエスト元のデバイスに送信し、該識別情報が一致しないレスポンスは後段側の中継器に転送する
ことを要旨とする。
【００１３】
この本発明の中継器では、識別情報として、直列的に接続される中継器間で互いに異なると共に個々の中継器内で互いに異なる複数の識別情報が予め割り当てられ、自身に接続されたデバイスからのリクエストを受け付けたときには自身に割り当てられた識別情報の１つをリクエストに格納して処理部側に送信すると共に格納した識別情報をリクエスト元のデバイスに対応付けて記憶し、後段側の中継器からのリクエストを受け付けたときには処理部側に転送し、処理部側からのレスポンスを受け付けたときには該レスポンスに含まれる識別情報を自身に割り当てられた識別情報と照合し、識別情報が一致するレスポンスは記憶した対応付けに基づいてリクエスト元のデバイスに送信し、識別情報が一致しないレスポンスは後段側の中継器に転送する。これにより、中継器に割り当てられた識別情報を用いて、リクエストに対するレスポンスをリクエスト元のデバイスに中継することができる。また、各中継器に接続されるデバイスから出力されるリクエストの数を中継器に割り当てられる識別情報の数により制限することができるから、多段接続における帯域制御を容易に行なうことができる。この結果、識別情報を効率よく用いて適切に通信制御を行なうことができる。
【００１４】
また、本発明の中継器において、先入れ先出し方式で自身に割り当てられた識別情報を格納するバッファーをそれぞれ備え、自身に接続された前記デバイスからのリクエストを受け付けたときには該バッファーから識別情報を読み出して前記リクエストに格納し、前記識別情報が一致するレスポンスを受け付けたときに該レスポンスから識別情報を抽出して前記バッファーに書き込んで再格納するものとすることもできる。こうすれば、識別情報をＦＩＦＯで容易に管理することができるから、処理負担が増加することなく効率的に通信制御を行なうことができる。
【図面の簡単な説明】
【００１５】
【図１】プリンター２０の構成の概略を示す構成図。
【図２】印刷ヘッドコントローラー４７の構成の概略を示す構成図。
【図３】ＴＩＤの割り当ての一例を示す説明図。
【図４】ルーター＃Ａｎの構成を示すブロック図。
【図５】通信処理の様子の一例を示すトランザクションチャート。
【図６】ＴＩＤ−ＦＩＦＯ６３から読み出されるＴＩＤの一例を示す説明図。
【図７】ポート＃レジスターファイル６４の一例を示す説明図。
【図８】ＴＩＤ−ＦＩＦＯ６３に書き込まれるＴＩＤの一例を示す説明図。
【発明を実施するための形態】
【００１６】
次に、本発明の実施の形態を図面を用いて説明する。図１は、本発明のデバイスシステムの一実施形態である印刷ヘッドコントローラー４７を搭載するプリンター２０の構成の概略を示す構成図であり、図２は、印刷ヘッドコントローラー４７の構成の概略を示す構成図である。本実施形態のプリンター２０は、図１に示すように、インクを吐出することにより用紙Ｓに印刷を行なう周知のインクジェット方式のプリンター機構２２と、液晶ディスプレイとしてのＬＣＤ２８と、装置各部の制御や装置各部の機能を実現するための各種処理などを行なうための処理制御部３０とを備える。
【００１７】
プリンター機構２２は、詳細な図示は省略するが、シアン（Ｃ），マゼンタ（Ｍ），イエロー（Ｙ），ブラック（Ｋ）のＣＭＹＫの各インクに圧力をかけて複数のノズル２４ａ（図２参照）から用紙Ｓに向けてインクを吐出する印刷ヘッド２４と、印刷ヘッド２４を搭載する図示しないキャリッジを主走査方向に駆動するモーターや主走査方向に直交する副走査方向に用紙Ｓを搬送する図示しない搬送ローラーを駆動するモーターなどの各モーター２６とを備える。ここで、印刷ヘッド２４は、本実施形態では、圧電素子に電圧を印加してこの圧電素子を変形させることによりインクを加圧してインク滴を吐出する方式を採用するものとした。なお、発熱抵抗体（例えばヒーターなど）に電圧を印加してインクを加熱することにより発生した気泡によりインクを加圧してインク滴を吐出する方式を採用するものとしてもよい。また、印刷ヘッド２４は、図２に示すように、ＣＭＹＫ各２列ずつのノズル列を有し、本実施形態では、各ノズル列には数百〜数千個のノズル２４ａが配置され、印刷ヘッド２４全体では数千〜数万個のノズル２４ａが配置されるものとした。
【００１８】
処理制御部３０は、プリンター２０の主制御を司るメインプロセッサー３４やこのメインプロセッサー３４を介さずに各種コントローラーとワークメモリーとの間のデータのやり取りを制御するダイレクトメモリーアクセス（ＤＭＡ）コントローラー３６が搭載されるメインチップ３２と、ワークメモリーとしてのＳＤＲＡＭ３８へのデータの読み書きを制御するメモリーコントローラー３７と、各種コントローラー４１〜４９と、各種データなどを記憶した図示しないＲＯＭとを備える。この処理制御部３０は、各種コントローラー４１〜４９として、写真画像などの画像データが保存されたメモリーカードＭＣとデータのやり取りを行なうカードコントローラー４１と、例えばＵＳＢ規格やＩＥＥＥ１３９４規格などの所定規格に準拠して図示しない外部機器との通信を行なうＩ／Ｆコントローラー４３と、ＬＣＤ２８への画像の表示を制御するＬＣＤコントローラー４５と、プリンター機構２２の印刷ヘッド２４（ノズル２４ａ）を制御する印刷ヘッドコントローラー４７と、プリンター機構２２の各モーター２６を制御するモーターコントローラー４９とを備え、これらは、バス３９を介してメインチップ３２と通信可能に接続されている。
【００１９】
メインプロセッサー３４は、各種コントローラー４１〜４９を介して処理に必要なデータを入力したり、各種コントローラー４１〜４９に各種指令を出力したりする、また、メインプロセッサー３４は、カードコントローラー４１を介してメモリーカードＭＣから入力された画像データやＩ／Ｆコントローラー４３を介して外部機器から入力された画像データに対し、表示用の画像処理を施して生成した表示データや印刷用の画像処理を施して生成した印刷データをメモリーコントローラー３７を介してＳＤＲＡＭ３８に保存する。ここで、各ノズル２４ａからのインクの吐出により形成されるドットの大きさは、ノズル２４ａの圧電素子に印可する電圧の波形を変化させることにより、複数段階（例えば、大中小の３段階）に調整可能となっている。そして、印刷データとしては、そのような電圧の波形を変化させるための駆動データが各ノズル毎のインク吐出データとして生成されてＳＤＲＡＭ３８に保存されるものとした。また、ＤＭＡコントローラー３６の制御により各コントローラー４１〜４９はメインプロセッサー３４を介さずにＳＤＲＡＭ３８（メモリーコントローラー３７）と通信が可能となっており、例えば、カードコントローラー４１はメモリーカードＭＣから入力した画像データをＳＤＲＡＭ３８に保存したり、ＬＣＤコントローラー４５はＳＤＲＡＭ３８に保存された表示データを取得してＬＣＤ２８に画像を表示したり、印刷ヘッドコントローラー４７はＳＤＲＡＭ３８に保存された印刷データ（インク吐出データ）を取得して印刷ヘッド２４の各ノズル２４ａからのインクの吐出を制御したりする。
【００２０】
ここで、各種コントローラー４１〜４９のうち印刷ヘッドコントローラー４７について説明する。この印刷ヘッドコントローラー４７は、図２に示すように、印刷ヘッド２４の個々のノズル２４ａを一対一で制御するマスターデバイスとして機能する複数のデバイス５２（数千〜数万個）と、４段ずつ直列的に多段接続（カスケード接続）されて各段に複数のデバイス５２がそれぞれ接続される複数のルーター＃Ａｎ（図２では、ルーター＃Ａ０〜Ａ３，＃Ａｉ〜Ａ（ｉ＋３）を図示）と、多段接続される４段のルーター＃Ａｎを１組として複数組が並列的に接続されると共にメインチップ３２に接続される２つのルーター＃Ｂ０，＃Ｂ１とを備える。本実施形態では、各段のルーター＃Ａｎには、複数のデバイス５２として３６０個のデバイス５２が接続されるものとし、これらの複数のデバイス５２は、制御対象のノズル２４ａのインク吐出データをＳＤＲＡＭ３８から通信により取得するものとした。この通信の詳細については後述するが、デバイス５２はインク吐出データを取得するためのリクエストを生成し、生成されたリクエストはデバイス５２が接続されたルーター＃Ａｎを介して前段側のルーター＃Ａｎやルーター＃Ｂ０（＃Ｂ１）に送信され、前段側のルーター＃Ａｎやルーター＃Ｂ０（＃Ｂ１），メインコントローラー３２を順に介してメモリーコントローラー３７に到達する。また、リクエストを受信したメモリーコントローラー３７は、対象となるノズル２４ａのインク吐出データをＳＤＲＡＭ３８から読み出してレスポンスを生成し、生成されたレスポンスはメインコントローラー３２に送信され、メインコントローラー３２やルーター＃Ｂ０（＃Ｂ１），ルーター＃Ａｎでレスポンスが中継されてデバイス５２に到達する。本実施形態では、そのようなレスポンスの中継をＴＩＤ（トランザクションＩＤ）やＳＩＤ（ソースＩＤ）などの識別情報を用いて行なうものとした。図３は、ＴＩＤの割り当ての一例を示す説明図である。図示するように、ＴＩＤとして値０〜６３までの６４個の識別番号を４段１組のルーター＃Ａｎに割り当てるものとし、本実施形態では、最後段のルーター＃Ａｉには番号０〜１７、その前段のルーター＃Ａ（ｉ＋１）には番号１８〜３４、さらに前段のルーター＃Ａ（ｉ＋２）には番号３５〜４９、最前段のルーター＃Ａ（ｉ＋３）には番号５０〜６３をそれぞれ割り当てるものとした。即ち４段１組のルーター＃Ａｎには、各段のルーター＃Ａｎ間で互いに異なると共に個々のルーター＃Ａｎ内で互いに異なる番号がＴＩＤとして割り当てられる。また、その割り当て数は、後段側から順に１８個，１７個，１５個，１４個となっており、後段側となるほど割り当て数が多くなる傾向にＴＩＤを割り当てるものとした。なお、ＴＩＤとして識別番号（数字）を用いたが、識別情報であればよく、文字や記号などを用いたり、数字や文字，記号を組み合わせて用いたりしてもよい。また、４段１組のルーター＃Ａｎが並列的にルーター＃Ｂ０（＃Ｂ１）に複数組接続されているが、各組のルーター＃Ａｎに同様にＴＩＤが割り当てられるものとする。なお、ＳＩＤについては後述する。
【００２１】
次に、ルーター＃Ａｎの構成について説明する。図４は、ルーター＃Ａｎの構成を示すブロック図である。ルーター＃Ａｎは、図示するように、自身に接続されるデバイス５２（＃０〜＃３５９）からのリクエストや後段のルーター＃Ａｎからのリクエストの中継を制御するリクエスト制御部６０ａと、ルーター＃Ｂ０，Ｂ１からのレスポンスや前段のルーター＃Ａｎからのレスポンスの中継を制御するレスポンス制御部６０ｂとから構成されている。なお、図中の太線矢印は、ＴＩＤの経路を示す。
【００２２】
リクエスト制御部６０ａは、複数のデバイス５２にそれぞれ接続される図示しない入力ポートのうちいずれかを選択すると共に選択した入力ポートの番号（以下、ポート＃（Port#））をエンコードして出力するポート＃セレクター／エンコーダー（Port#Selector/Encoder）６１と、アンド回路（&）６２と、自身に割り当てられたＴＩＤを先入れ先出し方式で格納するＴＩＤ−ＦＩＦＯ６３と、リクエストが入力されたポート＃をＴＩＤと対応付けて登録するポート＃レジスターファイル（Port#Reg.file）６４と、ＳＩＤなどのＴＩＤ以外の各種パラメーターが登録されたレジスター６５（Reg.）と、ＴＩＤ−ＦＩＦＯ６３からのＴＩＤやレジスター６５からのＳＩＤや各種パラメータ，図示しないアドレス情報などを用いてリクエストのパケットを所定のフォーマットに従って生成するパケットフォーマットジェネレーター（Packet format generater）６６と、自身に接続されるデバイス５２からのリクエストを受け付けて後段のルーター＃Ａｎからのリクエストと調停して前段のルーター＃Ａｎまたはルーター＃Ｂ０（＃Ｂ１）に送信するリクエストパケットアービター（Request Packet Arbiter）６７とを備える。なお、ＴＩＤ−ＦＩＦＯ６３とポート＃レジスターファイル６４とは、レスポンス制御部６０ｂと共用される。
【００２３】
ポート＃セレクター／エンコーダー６１は、ポート＃をポート＃レジスターファイル６４に出力すると共にリクエスト許可信号としてのReq.EN信号（リクエストイネーブル信号）をアンド回路６２に出力する。なお、ポート＃はデバイス５２の番号が付されているものとし、ポート＃セレクター／エンコーダー６１は、同時に複数のデバイス５２がリクエストを生成した場合には、そのうち最小のポート＃からのリクエストを入力する。また、アンド回路６２は、ポート＃セレクター／エンコーダー６１からのReq.EN信号が入力されると共にＴＩＤ−ＦＩＦＯ６３からＦＩＦＯ内が空でないことを示すNotEmpty信号が入力され、且つリクエストパケットアービター６７からリクエストの出力準備が整っていることを示すReady信号が入力されることを条件として、リクエストの送信が有効な状態にあることを示すValid信号をＴＩＤ−ＦＩＦＯ６３とポート＃レジスターファイル６４とリクエストパケットアービター６７とに出力する。そして、ＴＩＤ−ＦＩＦＯ６３は、アンド回路６２からのValid信号がRDポートに入力されると、ＦＩＦＯの先頭に格納しているＴＩＤを読み出してo-Dataポートからポート＃レジスターファイル６４に出力すると共にパケットフォーマットジェネレーター６６に出力する。また、ポート＃レジスターファイル６４は、ポート＃セレクター／エンコーダー６１からのポート＃がi-Dataポートに入力されて、アンド回路６２からのValid信号がWRポートに入力されると共にＴＩＤ−ＦＩＦＯ６３からのＴＩＤがw-Adr.ポートに入力されると、入力されたＴＩＤをライトのアドレス情報として用いてそのＴＩＤにポート＃を対応付けてファイルに書き込む。そして、リクエストパケットアービター６７は、アンド回路６２からのValid信号が入力されると共にパケットフォーマットジェネレーター６６により生成されたリクエスト（パケット）が入力されると、そのリクエストを前段のルーター＃Ａｎまたはルーター＃Ｂ０（＃Ｂ１）に送信する。なお、リクエストパケットアービター６７は、後段のルーター＃Ａｎからのリクエストは前段のルーター＃Ａｎまたはルーター＃Ｂ０（＃Ｂ１）に転送する。
【００２４】
一方、レスポンス制御部６０ｂは、前段のルーター＃Ａｎまたはルーター＃Ｂ０（＃Ｂ１）から入力されたレスポンスを後段のルーター＃Ａｎへ転送するか自身に接続されたデバイス５２に送信するかを選択するパケットセレクター（Packet Selector）７１と、自身に割り当てられたＴＩＤが登録されたレジスター（Reg.）７２と、ポート＃レジスターファイル６４から出力されるポート＃をデコードするデコーダー（Decoder）７３と、デコーダー７３からデコードされたポート＃をレスポンスの送信先として有効なポート＃に設定するヴァリッドゲート（Valid gate）７４とを備える。
【００２５】
パケットセレクター７１は、レスポンスの入力を受け付けると、そのレスポンスに格納されているＴＩＤと、レジスター７２に登録されているＴＩＤとを照合し、ＴＩＤが一致しないレスポンスは、後段のルーター＃Ａｎに転送する。また、ＴＩＤが一致するレスポンスは、レスポンスからＴＩＤを抽出してそのＴＩＤ（ReleaseTID）をＴＩＤ−ＦＩＦＯ６３とポート＃レジスターファイル６４とに出力すると共にValid信号をＴＩＤ−ＦＩＦＯ６３とヴァリッドゲート７４とに出力する。なお、ＴＩＤが抽出されたレスポンスデータ（ResponseData）についても出力する。また、ＴＩＤ−ＦＩＦＯ６３は、パケットセレクター７１からのValid信号がWRポートに入力されると共にパケットセレクター７１からＴＩＤがi-Dataポートに入力されると、入力されたＴＩＤをＦＩＦＯに書き込む。そして、ポート＃レジスターファイル６４は、パケットセレクター７１からr-Adr.ポートにＴＩＤが入力されると、入力されたＴＩＤをリードのアドレス情報として用いてそのＴＩＤに対応付けて登録されているポート＃を読み出して、読み出したポート＃をo-Dataポートからデコーダー７３に出力する。また、ヴァリッドゲート７４は、パケットセレクター７１からのValid信号が入力されると、デコーダー７３からデコードされたポート＃をレスポンスの送信先として、パケットセレクター７１から出力されたレスポンスデータを送信する。
【００２６】
次に、こうして構成された本実施形態のプリンター２０の動作、特に、印刷ヘッドコントローラー４７のデバイス５２からのリクエストとそのリクエストに対するレスポンスとを通信処理する際の動作について説明する。図５は、通信処理の様子の一例を示すトランザクションチャートである。なお、説明の便宜上４段１組のルーター＃Ａｎをルーター＃Ａ０〜＃Ａ３として説明し、図５では、ルーター＃Ａ２に接続されたデバイス５２（＃２３４）においてリクエストが生成される場合を例として示した。
【００２７】
デバイス５２（＃２３４）において制御対象のノズル２４ａのインク吐出データをＳＤＲＡＭ３８からリードするためのリクエストが生成されると（ステップＳ１００）、ルーター＃Ａ２は、他のデバイス５２からのリクエストと調停してポート＃２３４からのリクエストを入力する（ステップＳ１１０）。リクエストを入力すると、ルーター＃Ａ２は、ＴＩＤ−ＦＩＦＯ６３から読み出した先頭のＴＩＤやレジスター６５からのＳＩＤなどをリクエストに格納して（ステップＳ１２０）、後段のルーター＃Ａ１から転送されるＴＩＤ０〜３４のリクエストと調停して前段のルーター＃Ａ３（メモリーコントローラー３７側）に転送する（ステップＳ１３０）。図６は、ＴＩＤ−ＦＩＦＯ６３から読み出されるＴＩＤの一例を示す説明図である。図示するように、ステップＳ１２０では、ＴＩＤ−ＦＩＦＯ６３の先頭に格納されているＴＩＤ：＃３７が読み出され、このＴＩＤがリクエストに格納される。なお、ＴＩＤ−ＦＩＦＯ６３が空の場合、後述するように戻ってきたレスポンスから抽出されたＴＩＤがＴＩＤ−ＦＩＦＯ６３に格納されるまでリクエストを待機させてから、ステップＳ１２０の処理を行なう。また、ＳＩＤとしては、例えば＃０１２が格納されるものとし、このＳＩＤ：＃０１２は、ルーター＃Ｂ０にはルーター＃Ａ０〜＃Ａ３の経路を示す識別情報として、メインチップ３２にはルーター＃Ｂ０の経路を示す識別情報として予め登録されているものとする。これにより、デバイス５２（＃２３４）で生成されたリクエストは、ＴＩＤ：＃３７，ＳＩＤ：＃０１２のリクエストとしてルーター＃Ａ２から転送されることになる。また、ルーター＃Ａ２は、リクエストに格納されたＴＩＤ：＃３７をライトのアドレス情報として用いて、そのＴＩＤ：＃３７とリクエスト元のデバイス５２のポート＃２３４とを対応付けてポート＃レジスターファイル６４に登録する（ステップＳ１４０）。図７は、ポート＃レジスターファイル６４の一例を示す説明図である。図示するように、ＴＩＤ：＃３７にポート＃２３４が対応付けて登録される。
【００２８】
また、ルーター＃Ａ２からリクエストが転送されたルーター＃Ａ３は、自身に接続されるデバイス５２からのリクエストと調停してルーター＃Ａ２からのリクエストをルーター＃Ｂ０（メモリーコントローラー３７側）に転送する（ステップＳ１５０）。同様に、ルーター＃Ａ３からのリクエストが転送されたルーター＃Ｂ０は、並列接続された他の４段１組のルーター＃Ａｎからのリクエストと調停してルーター＃Ａ３からのリクエストをメインチップ３２に転送し（ステップＳ１６０）、メインチップ３２は、他のコントローラー４１，４３，４５，４９などからのリクエストと調停してルーター＃Ｂ０からのリクエストをメモリーコントローラー３７に転送する（ステップＳ１７０）。こうして、リクエストがメモリーコントローラー３７に到達すると、メモリーコントローラ３７はリクエスト内の情報に基づいてメモリー３８にアクセスし、メモリー３８からリクエスト元のデバイス５２（＃２３４）に対応するノズル２４ａのインク吐出データを読み出すと共にリクエスト内のＴＩＤ，ＳＩＤを格納してレスポンスを生成し（ステップＳ１８０）、メインチップ３２に送信する（ステップＳ１９０）。
【００２９】
レスポンスが送信されたメインチップ３２は、レスポンスに格納されたＳＩＤに基づいてＳＩＤ（＃０１２）の経路を選択してルーター＃Ｂ０にレスポンスを転送し（ステップＳ２００）、同様にルーター＃Ｂ０はルーター＃Ａ０〜Ａ３の経路を選択してレスポンスを転送する（ステップＳ２１０）。このように、ＳＩＤによりルーター＃Ａ０〜Ａ３の経路が選択されるから、４段１組の各組のルーター＃Ａｎに同様にＴＩＤを割り当てた場合であっても、レスポンスの転送経路を適切に選択することができる。そして、ルーター＃Ｂ０から転送されたレスポンスを受け付けたルーター＃Ａ３は、レスポンスに格納されたＴＩＤ：＃３７を自身に予め割り当てられたＴＩＤ：＃５０〜６３と照合し（ステップＳ２２０）、ＴＩＤ：＃３７が自身に予め割り当てられたＴＩＤのいずれにも一致しないため、後段のルーター＃Ａ２への経路を選択して後段側にレスポンスを転送する（ステップＳ２３０）。
【００３０】
一方、転送されたレスポンスを受け付けたルーター＃Ａ２は、レスポンスに格納されたＴＩＤ：＃３７を自身に予め割り当てられたＴＩＤ：＃３５〜４９と照合する（ステップＳ２４０）。そして、ＴＩＤ：＃３７が自身に予め割り当てられたＴＩＤの１つに一致するため、レスポンスからＴＩＤを抽出すると共に抽出したＴＩＤをアドレス情報として用いて図７に示したポート＃レジスターファイルからＴＩＤ：＃３７に対応するポート＃２３４を導出する（ステップＳ２５０）。こうしてポート＃２３４を導出すると、導出したポート＃２３４にレスポンスを送信し（ステップＳ２６０）、レスポンスから抽出したＴＩＤをＴＩＤ−ＦＩＦＯ６３に書き込んで再び格納する（ステップＳ２７０）。これにより一連の処理が終了する。なお、レスポンスデータとしてノズル２４ａのインク吐出データを受けたデバイス５２は、所定の吐出タイミングとなったときに、そのインク吐出データに基づいてノズル２４ａ（圧電素子）を駆動制御する。ここで、図８は、ＴＩＤ−ＦＩＦＯ６３に書き込まれるＴＩＤの一例を示す説明図である。図示するように、レスポンスから抽出したＴＩＤ：＃３７が最後尾に再格納される。このように、本実施形態では、ルーター＃Ａｎに割り当てられたＴＩＤを用いて、リクエストに対するレスポンスをリクエスト元のデバイス５２に中継することができ、デバイス５２が多数接続されている場合であってもＴＩＤを効率よく用いて適切に通信制御を行なうことができる。また、リクエストに格納するＴＩＤはＴＩＤ−ＦＩＦＯ６３から読み出せばよく、使用が完了してレスポンスから抽出したＴＩＤは再びＴＩＤ−ＦＩＦＯ６３に書き込めばよいから、ＴＩＤを容易に管理することができる。さらに、各ルーター＃Ａｎに接続されるデバイス５２の数（３２０個）よりも少ない数（１８個や１７個など）のＴＩＤを割り当てることにより、各ルーター＃Ａｎに接続されるデバイス５２からのリクエスト数を制限することができ、多段接続における帯域制御を容易に行なうことができる。そして、４段１組のルーター＃Ａｎのうち後段側となるほど割り当て数が多くなる傾向にＴＩＤを割り当てるものとしたから、後段側のルーター＃Ａｎに接続されるデバイス５２からのリクエストが優先的に処理されることになり、レイテンシーの影響を抑制することができる。
【００３１】
ここで、本実施形態の構成要素と本発明の構成要素との対応関係を明らかにする。本実施形態のデバイス５２が「デバイス」に相当し、ＳＤＲＡＭ３８へのデータの読み書きを制御するメモリーコントローラー３７が「処理部」に相当し、ルーター＃Ａｎが「中継器」に相当する。また、ＴＩＤ−ＦＩＦＯ６３が「バッファー」に相当する。
【００３２】
以上説明した本実施形態のプリンター２０によれば、印刷ヘッドコントローラー４７のルーター＃Ａｎは、デバイス５２からのリクエストを受け付けたときには自身に割り当てられたＴＩＤの１つをリクエストに格納してメモリーコントローラー３７側に送信すると共に格納したＴＩＤをリクエスト元のデバイス５２に対応付けて記憶し、後段側のルーター＃Ａｎからのリクエストを受け付けたときにはメモリーコントローラー３７側に転送し、メモリーコントローラー３７側からのレスポンスを受け付けたときには該レスポンスに含まれるＴＩＤを自身に割り当てられたＴＩＤと照合し、ＴＩＤが一致するレスポンスは記憶した対応付けに基づいてリクエスト元のデバイス５２に送信し、ＴＩＤが一致しないレスポンスは後段側のルーター＃Ａｎに転送する。これにより、ルーター＃Ａｎに割り当てられたＴＩＤを用いて、リクエスト元のデバイス５２にレスポンスを中継することができる。また、各ルーター＃Ａｎから出力されるリクエストの数をルーター＃Ａｎに割り当てられるＴＩＤの数により制限することができるから、多段接続における帯域制御を容易に行なうことができる。この結果、識別情報としてのＴＩＤを効率よく用いて適切に通信制御を行なうことができる。
【００３３】
また、リクエストに格納するＴＩＤをＴＩＤ−ＦＩＦＯ６３を用いて容易に管理することができる。さらに、各ルーター＃Ａｎに接続されるデバイス５２の数よりも少ない数のＴＩＤを割り当てることにより、多段接続における帯域制御を容易に行なうことができる。そして、後段側となるほど割り当て数が多くなる傾向にＴＩＤを割り当てるから、レイテンシーの影響を抑制することができる。
【００３４】
なお、本発明は上述した実施態様に何ら限定されることはなく、本発明の技術的範囲に属する限り種々の態様で実施し得ることはいうまでもない。
【００３５】
上述した実施形態では、後段側となるほどＴＩＤの割り当て数が多くなる傾向にＴＩＤを割り当てるものとしたが、これに限られず、各ルーター＃Ａｎに同じ数ずつのＴＩＤを割り当てるものとしてもよい。また、優先的にリクエストを送信させたいデバイス５２がある場合などにおいては、そのデバイス５２が接続されるルーター＃Ａｎに対する割り当て数を多くするものなどとしてもよい。また、各ルーター＃Ａｎに接続されるデバイス５２の数よりも少ない数のＴＩＤを割り当てるものとしたが、すべてあるいはいずれかのルーター＃Ａｎにおいて接続されるデバイス５２の数と同数あるいはそれ以上の数のＴＩＤを割り当てるものとしてもよい。
【００３６】
上述した実施形態では、ルーター＃ＡｎはＴＩＤ−ＦＩＦＯ６３を用いて管理するものとしたが、ＦＩＦＯ以外の他のメモリーなどを用いて管理するものなどとしてもよい。
【００３７】
上述した実施形態では、ルーター＃Ａｎは４段に多段接続されるものとしたが、これに限られず、２段以上に多段接続されるものであればよい。また、４段１組のルーター＃Ａｎの複数組がルーター＃ＢＯ（Ｂ１）に並列的に接続されるものとしたが、多段接続されるルーター＃Ａｎの１組がルーター＃ＢＯ（Ｂ１）に接続されるものとしてもよく、その場合、ルーター＃Ｂ０（Ｂ１）を省略するものとしても構わない。
【００３８】
上述した実施形態では、ルーター＃Ａｎで４段１組のルーター＃Ａ０〜＃Ａ３を識別するためのＳＩＤをリクエストに格納するものとしたが、これに限られるものではない。例えば、各ルーター＃Ａｎをそれぞれ個別に識別可能な識別情報をルーター＃Ａｎでリクエストに格納するものとしてもよいし、ルーター＃Ｂ０（Ｂ１）に予め識別情報を割り当てておきその識別情報をルーター＃Ｂ０（Ｂ１）でリクエストに格納するものとしてもよい。後者の場合、ルーター＃Ｂ０（Ｂ１）は、４段１組のルーター＃Ａｉ〜＃Ａ（ｉ＋３）の経路からのリクエストを受け付けたときに割り当てられた識別情報の１つをリクエストに格納すると共に格納した識別情報をリクエストが転送された経路と対応付けて記憶しておき、レスポンスを受け付けたときに記憶しておいた対応付けに基づいてレスポンスを転送する経路を選択して転送するものとしてもよい。即ち、ルーター＃Ａｎと同様な処理をルーター＃Ｂ０（Ｂ１）で行なうものとしてもよい。
【００３９】
上述した実施形態では、本発明のデバイスシステムを印刷ヘッドコントローラー４７を有するプリンタ２０ーに適用したが、これに限られず、プリンター機能だけでなくファックス機能やコピー機能などを有する複合機に適用してもよい。また、本発明のデバイスシステムとしては、複数のノズル２４ａを個々に制御するものに限られず、例えば１つのデバイスが複数のノズル列をそれぞれ制御するものとしてもよい。即ちデバイス５２を数千〜数万個備えるものに限られず、数十個〜数百個備えるものなどとしてもよい。さらに、印刷ヘッド２４のノズル２４ａ以外を制御するものとしてもよく、例えば各モーター２６として多数のモーターを制御するモーターコントローラー４９などに適用してもよい。また、デバイスシステムの形態に限られず、ルーター＃Ａｎとしての中継器の形態としてもよい。
【符号の説明】
【００４０】
２０  プリンター、２２  プリンター機構、２４  印刷ヘッド、２４ａ  ノズル、２６  各モーター、２８  ＬＣＤ、３０  処理制御部、３２  メインチップ、３４  メインプロセッサー、３６  ＤＭＡコントローラー、３７  メモリーコントローラー、３８  ＳＤＲＡＭ、３９  バス、４１  カードコントローラー、４３  Ｉ／Ｆコントローラー、４５  ＬＣＤコントローラー、４７  印刷ヘッドコントローラー、４９  モーターコントローラー、５２  デバイス、６０ａ  リクエスト制御部、６０ｂ  レスポンス制御部、６１  ポート＃セレクター／エンコーダー（Port#Selector/Encoder）、６２  アンド回路（&）、６３  ＴＩＤ−ＦＩＦＯ、６４  ポート＃レジスターファイル（Port#Reg.file）、６５，７２  レジスター（Reg.）、６６  パケットフォーマットジェネレーター（Packet format generater）、６７  リクエストパケットアービター（Request Packet Arbiter）、７１  パケットセレクター（Packet Selector）、７３  デコーダー（Decoder）、７４  ヴァリッドゲート（Valid gate）、＃Ａｎ，＃Ａｉ〜＃Ａ（ｉ＋３），＃Ａ０〜＃Ａ３，＃Ｂ０，＃Ｂ１  ルーター、ＭＣ  メモリーカード、Ｓ  記録紙。
【図１】
2012178122.tif 000003
【図２】
2012178122.tif 000004
【図３】
2012178122.tif 000005
【図５】
2012178122.tif 000006
【図４】
2012178122.tif 000007
【図６】
2012178122.tif 000008
【図７】
2012178122.tif 000009
【図８】
2012178122.tif 000010