JP2012178122A - デバイスシステムおよび中継器 - Google Patents
デバイスシステムおよび中継器 Download PDFInfo
- Publication number
- JP2012178122A JP2012178122A JP2011041785A JP2011041785A JP2012178122A JP 2012178122 A JP2012178122 A JP 2012178122A JP 2011041785 A JP2011041785 A JP 2011041785A JP 2011041785 A JP2011041785 A JP 2011041785A JP 2012178122 A JP2012178122 A JP 2012178122A
- Authority
- JP
- Japan
- Prior art keywords
- identification information
- request
- response
- tid
- router
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Landscapes
- Bus Control (AREA)
Abstract
【課題】識別情報を効率よく用いて適切に通信制御を行なう。
【解決手段】ルーター#Anは、自身に接続されたデバイス52からのリクエストを受け付けたときには自身に割り当てられたTIDの1つをリクエストに格納してメモリーコントローラー37側に送信すると共に格納したTIDをリクエスト元のデバイス52に対応付けて記憶し(S100〜S140)、後段側のルーター#Anからのリクエストを受け付けたときにはメモリーコントローラー37側に転送し(S150)、メモリーコントローラー37側からのレスポンスを受け付けたときには該レスポンスに含まれるTIDを自身に割り当てられたTIDと照合しTIDが一致しないレスポンスは後段側のルーター#Anに転送し(S220,230)、TIDが一致するレスポンスは記憶した対応付けに基づいてリクエスト元のデバイス52に送信する(S240〜260)。
【選択図】図5
【解決手段】ルーター#Anは、自身に接続されたデバイス52からのリクエストを受け付けたときには自身に割り当てられたTIDの1つをリクエストに格納してメモリーコントローラー37側に送信すると共に格納したTIDをリクエスト元のデバイス52に対応付けて記憶し(S100〜S140)、後段側のルーター#Anからのリクエストを受け付けたときにはメモリーコントローラー37側に転送し(S150)、メモリーコントローラー37側からのレスポンスを受け付けたときには該レスポンスに含まれるTIDを自身に割り当てられたTIDと照合しTIDが一致しないレスポンスは後段側のルーター#Anに転送し(S220,230)、TIDが一致するレスポンスは記憶した対応付けに基づいてリクエスト元のデバイス52に送信する(S240〜260)。
【選択図】図5
Description
本発明は、リクエストを出力する複数のデバイスと、前記リクエストを処理して該リクエストに含まれる識別情報の格納を伴ってレスポンスを出力する処理部と、該処理部に対して直列的に多段接続されると共に各段に前記複数のデバイスがそれぞれ接続される複数の中継器とを備えるデバイスシステムおよびデバイスシステムにおける中継器に関する。
従来より、マスターデバイスとしての複数のプロセッサーと、ルーターと、メモリー通信コントローラーと、ネットワークインターフェースコントローラーとから構成されるネットワークオンチップ(NOC)を複数備えたデバイスシステムが提案されている(例えば、特許文献1参照)。このシステムでは、各プロセッサーがルーターにメモリー通信コントローラーやネットワークインターフェースコントローラーを介して接続され、メモリー通信コントローラーによりプロセッサーとメモリー間の通信を制御し、ネットワークインターフェースコントローラーによりルーターを介してプロセッサー相互の通信を制御するものとしている。
ところで、このようなシステムにおいては、通信に用いられるパケットにリクエストの出力元のプロセッサーを識別するための識別情報を含めてリクエストを送信すると共にその識別情報をリクエストに対するレスポンスに含めてレスポンスを送信することにより、レスポンスに含まれた識別情報に基づいて出力元のプロセッサーにレスポンスを送り届けることが行なわれている。しかし、近年においては、多大な数のプロセッサーを備えるものが現れているため、各プロセッサー毎に識別情報を用意すると、必要な識別情報の数が膨大なものとなり、効率のよい通信制御を行なえないことがある。
本発明のデバイスシステムおよび中継器は、識別情報を効率よく用いて適切に通信制御を行なうことを主目的とする。
本発明のデバイスシステムおよび中継器は、上述の主目的を達成するために以下の手段を採った。
本発明のデバイスシステムは、
リクエストを出力する複数のデバイスと、前記リクエストを処理して該リクエストに含まれる識別情報の格納を伴ってレスポンスを出力する処理部と、該処理部に対して直列的に多段接続されると共に各段に前記複数のデバイスがそれぞれ接続される複数の中継器とを備えるデバイスシステムであって、
前記識別情報として、直列的に接続される中継器間で互いに異なると共に個々の中継器内で互いに異なる複数の識別情報を各段の中継器に予め割り当て、
前記中継器は、自身に接続された前記デバイスからのリクエストを受け付けたときには自身に割り当てられた識別情報の1つを該リクエストに格納して処理部側に送信すると共に該格納した識別情報をリクエスト元のデバイスに対応付けて記憶し、後段側の中継器からのリクエストを受け付けたときには処理部側に転送し、処理部側からのレスポンスを受け付けたときには該レスポンスに含まれる識別情報を自身に割り当てられた識別情報と照合し、該識別情報が一致するレスポンスは前記記憶した対応付けに基づいて前記リクエスト元のデバイスに送信し、該識別情報が一致しないレスポンスは後段側の中継器に転送する
ことを要旨とする。
リクエストを出力する複数のデバイスと、前記リクエストを処理して該リクエストに含まれる識別情報の格納を伴ってレスポンスを出力する処理部と、該処理部に対して直列的に多段接続されると共に各段に前記複数のデバイスがそれぞれ接続される複数の中継器とを備えるデバイスシステムであって、
前記識別情報として、直列的に接続される中継器間で互いに異なると共に個々の中継器内で互いに異なる複数の識別情報を各段の中継器に予め割り当て、
前記中継器は、自身に接続された前記デバイスからのリクエストを受け付けたときには自身に割り当てられた識別情報の1つを該リクエストに格納して処理部側に送信すると共に該格納した識別情報をリクエスト元のデバイスに対応付けて記憶し、後段側の中継器からのリクエストを受け付けたときには処理部側に転送し、処理部側からのレスポンスを受け付けたときには該レスポンスに含まれる識別情報を自身に割り当てられた識別情報と照合し、該識別情報が一致するレスポンスは前記記憶した対応付けに基づいて前記リクエスト元のデバイスに送信し、該識別情報が一致しないレスポンスは後段側の中継器に転送する
ことを要旨とする。
この本発明のデバイスシステムでは、識別情報として、直列的に接続される中継器間で互いに異なると共に個々の中継器内で互いに異なる複数の識別情報を各段の中継器に予め割り当て、中継器は、自身に接続されたデバイスからのリクエストを受け付けたときには自身に割り当てられた識別情報の1つをリクエストに格納して処理部側に送信すると共に格納した識別情報をリクエスト元のデバイスに対応付けて記憶し、後段側の中継器からのリクエストを受け付けたときには処理部側に転送し、処理部側からのレスポンスを受け付けたときには該レスポンスに含まれる識別情報を自身に割り当てられた識別情報と照合し、識別情報が一致するレスポンスは記憶した対応付けに基づいてリクエスト元のデバイスに送信し、識別情報が一致しないレスポンスは後段側の中継器に転送する。これにより、中継器に割り当てられた識別情報を用いて、リクエストに対するレスポンスをリクエスト元のデバイスに中継することができる。また、各中継器に接続されるデバイスから処理部側に送信されるリクエストの数を、中継器に割り当てられる識別情報の数により制限して帯域制御を行なうことができる。この結果、識別情報を効率よく用いて適切に通信制御を行なうことができる。
また、本発明のデバイスシステムにおいて、前記中継器は、先入れ先出し方式で自身に割り当てられた識別情報を格納するバッファーをそれぞれ備え、自身に接続された前記デバイスからのリクエストを受け付けたときには該バッファーから識別情報を読み出して前記リクエストに格納し、前記識別情報が一致するレスポンスを受け付けたときに該レスポンスから識別情報を抽出して前記バッファーに書き込んで再格納するものとすることもできる。こうすれば、識別情報を容易に管理することができるから、処理負担の増加を抑えて効率よく通信制御を行なうことができる。
さらに、本発明のデバイスシステムにおいて、前記各段の中継器にそれぞれ接続される前記複数のデバイスの数よりも少ない数の識別情報を該各段の中継器に割り当ててなるものとすることもできる。これにより、多段接続における帯域制御を容易に行なうことができる。
そして、本発明のデバイスシステムにおいて、前記各段の中継器のうち後段側の中継器となるほど数が多くなる傾向に前記複数の識別情報を割り当ててなるものとすることもできる。ここで、多段接続においては後段側となるほどレイテンシーが大きくなるから、そのようなレイテンシーの影響を抑制することができる。あるいは、本発明のデバイスシステムにおいて、前記各段の中継器にそれぞれ同じ数ずつ前記複数の識別情報を割り当ててなるものとすることもできる。
本発明の中継器は、
リクエストを出力する複数のデバイスと、前記リクエストを処理して該リクエストに含まれる識別情報の格納を伴ってレスポンスを出力する処理部とを備えるデバイスシステムに設けられ、前記処理部に対して直列的に多段接続されると共に各段に前記複数のデバイスがそれぞれ接続される中継器であって、
前記識別情報として直列的に接続される中継器間で互いに異なると共に個々の中継器内で互いに異なる複数の識別情報が予め割り当てられ、自身に接続された前記デバイスからのリクエストを受け付けたときには自身に割り当てられた識別情報の1つを該リクエストに格納して処理部側に送信すると共に該格納した識別情報をリクエスト元のデバイスに対応付けて記憶し、後段側の中継器からのリクエストを受け付けたときには処理部側に転送し、処理部側からのレスポンスを受け付けたときには該レスポンスに含まれる識別情報を自身に割り当てられた識別情報と照合し、該識別情報が一致するレスポンスは前記記憶した対応付けに基づいて前記リクエスト元のデバイスに送信し、該識別情報が一致しないレスポンスは後段側の中継器に転送する
ことを要旨とする。
リクエストを出力する複数のデバイスと、前記リクエストを処理して該リクエストに含まれる識別情報の格納を伴ってレスポンスを出力する処理部とを備えるデバイスシステムに設けられ、前記処理部に対して直列的に多段接続されると共に各段に前記複数のデバイスがそれぞれ接続される中継器であって、
前記識別情報として直列的に接続される中継器間で互いに異なると共に個々の中継器内で互いに異なる複数の識別情報が予め割り当てられ、自身に接続された前記デバイスからのリクエストを受け付けたときには自身に割り当てられた識別情報の1つを該リクエストに格納して処理部側に送信すると共に該格納した識別情報をリクエスト元のデバイスに対応付けて記憶し、後段側の中継器からのリクエストを受け付けたときには処理部側に転送し、処理部側からのレスポンスを受け付けたときには該レスポンスに含まれる識別情報を自身に割り当てられた識別情報と照合し、該識別情報が一致するレスポンスは前記記憶した対応付けに基づいて前記リクエスト元のデバイスに送信し、該識別情報が一致しないレスポンスは後段側の中継器に転送する
ことを要旨とする。
この本発明の中継器では、識別情報として、直列的に接続される中継器間で互いに異なると共に個々の中継器内で互いに異なる複数の識別情報が予め割り当てられ、自身に接続されたデバイスからのリクエストを受け付けたときには自身に割り当てられた識別情報の1つをリクエストに格納して処理部側に送信すると共に格納した識別情報をリクエスト元のデバイスに対応付けて記憶し、後段側の中継器からのリクエストを受け付けたときには処理部側に転送し、処理部側からのレスポンスを受け付けたときには該レスポンスに含まれる識別情報を自身に割り当てられた識別情報と照合し、識別情報が一致するレスポンスは記憶した対応付けに基づいてリクエスト元のデバイスに送信し、識別情報が一致しないレスポンスは後段側の中継器に転送する。これにより、中継器に割り当てられた識別情報を用いて、リクエストに対するレスポンスをリクエスト元のデバイスに中継することができる。また、各中継器に接続されるデバイスから出力されるリクエストの数を中継器に割り当てられる識別情報の数により制限することができるから、多段接続における帯域制御を容易に行なうことができる。この結果、識別情報を効率よく用いて適切に通信制御を行なうことができる。
また、本発明の中継器において、先入れ先出し方式で自身に割り当てられた識別情報を格納するバッファーをそれぞれ備え、自身に接続された前記デバイスからのリクエストを受け付けたときには該バッファーから識別情報を読み出して前記リクエストに格納し、前記識別情報が一致するレスポンスを受け付けたときに該レスポンスから識別情報を抽出して前記バッファーに書き込んで再格納するものとすることもできる。こうすれば、識別情報をFIFOで容易に管理することができるから、処理負担が増加することなく効率的に通信制御を行なうことができる。
次に、本発明の実施の形態を図面を用いて説明する。図1は、本発明のデバイスシステムの一実施形態である印刷ヘッドコントローラー47を搭載するプリンター20の構成の概略を示す構成図であり、図2は、印刷ヘッドコントローラー47の構成の概略を示す構成図である。本実施形態のプリンター20は、図1に示すように、インクを吐出することにより用紙Sに印刷を行なう周知のインクジェット方式のプリンター機構22と、液晶ディスプレイとしてのLCD28と、装置各部の制御や装置各部の機能を実現するための各種処理などを行なうための処理制御部30とを備える。
プリンター機構22は、詳細な図示は省略するが、シアン(C),マゼンタ(M),イエロー(Y),ブラック(K)のCMYKの各インクに圧力をかけて複数のノズル24a(図2参照)から用紙Sに向けてインクを吐出する印刷ヘッド24と、印刷ヘッド24を搭載する図示しないキャリッジを主走査方向に駆動するモーターや主走査方向に直交する副走査方向に用紙Sを搬送する図示しない搬送ローラーを駆動するモーターなどの各モーター26とを備える。ここで、印刷ヘッド24は、本実施形態では、圧電素子に電圧を印加してこの圧電素子を変形させることによりインクを加圧してインク滴を吐出する方式を採用するものとした。なお、発熱抵抗体(例えばヒーターなど)に電圧を印加してインクを加熱することにより発生した気泡によりインクを加圧してインク滴を吐出する方式を採用するものとしてもよい。また、印刷ヘッド24は、図2に示すように、CMYK各2列ずつのノズル列を有し、本実施形態では、各ノズル列には数百〜数千個のノズル24aが配置され、印刷ヘッド24全体では数千〜数万個のノズル24aが配置されるものとした。
処理制御部30は、プリンター20の主制御を司るメインプロセッサー34やこのメインプロセッサー34を介さずに各種コントローラーとワークメモリーとの間のデータのやり取りを制御するダイレクトメモリーアクセス(DMA)コントローラー36が搭載されるメインチップ32と、ワークメモリーとしてのSDRAM38へのデータの読み書きを制御するメモリーコントローラー37と、各種コントローラー41〜49と、各種データなどを記憶した図示しないROMとを備える。この処理制御部30は、各種コントローラー41〜49として、写真画像などの画像データが保存されたメモリーカードMCとデータのやり取りを行なうカードコントローラー41と、例えばUSB規格やIEEE1394規格などの所定規格に準拠して図示しない外部機器との通信を行なうI/Fコントローラー43と、LCD28への画像の表示を制御するLCDコントローラー45と、プリンター機構22の印刷ヘッド24(ノズル24a)を制御する印刷ヘッドコントローラー47と、プリンター機構22の各モーター26を制御するモーターコントローラー49とを備え、これらは、バス39を介してメインチップ32と通信可能に接続されている。
メインプロセッサー34は、各種コントローラー41〜49を介して処理に必要なデータを入力したり、各種コントローラー41〜49に各種指令を出力したりする、また、メインプロセッサー34は、カードコントローラー41を介してメモリーカードMCから入力された画像データやI/Fコントローラー43を介して外部機器から入力された画像データに対し、表示用の画像処理を施して生成した表示データや印刷用の画像処理を施して生成した印刷データをメモリーコントローラー37を介してSDRAM38に保存する。ここで、各ノズル24aからのインクの吐出により形成されるドットの大きさは、ノズル24aの圧電素子に印可する電圧の波形を変化させることにより、複数段階(例えば、大中小の3段階)に調整可能となっている。そして、印刷データとしては、そのような電圧の波形を変化させるための駆動データが各ノズル毎のインク吐出データとして生成されてSDRAM38に保存されるものとした。また、DMAコントローラー36の制御により各コントローラー41〜49はメインプロセッサー34を介さずにSDRAM38(メモリーコントローラー37)と通信が可能となっており、例えば、カードコントローラー41はメモリーカードMCから入力した画像データをSDRAM38に保存したり、LCDコントローラー45はSDRAM38に保存された表示データを取得してLCD28に画像を表示したり、印刷ヘッドコントローラー47はSDRAM38に保存された印刷データ(インク吐出データ)を取得して印刷ヘッド24の各ノズル24aからのインクの吐出を制御したりする。
ここで、各種コントローラー41〜49のうち印刷ヘッドコントローラー47について説明する。この印刷ヘッドコントローラー47は、図2に示すように、印刷ヘッド24の個々のノズル24aを一対一で制御するマスターデバイスとして機能する複数のデバイス52(数千〜数万個)と、4段ずつ直列的に多段接続(カスケード接続)されて各段に複数のデバイス52がそれぞれ接続される複数のルーター#An(図2では、ルーター#A0〜A3,#Ai〜A(i+3)を図示)と、多段接続される4段のルーター#Anを1組として複数組が並列的に接続されると共にメインチップ32に接続される2つのルーター#B0,#B1とを備える。本実施形態では、各段のルーター#Anには、複数のデバイス52として360個のデバイス52が接続されるものとし、これらの複数のデバイス52は、制御対象のノズル24aのインク吐出データをSDRAM38から通信により取得するものとした。この通信の詳細については後述するが、デバイス52はインク吐出データを取得するためのリクエストを生成し、生成されたリクエストはデバイス52が接続されたルーター#Anを介して前段側のルーター#Anやルーター#B0(#B1)に送信され、前段側のルーター#Anやルーター#B0(#B1),メインコントローラー32を順に介してメモリーコントローラー37に到達する。また、リクエストを受信したメモリーコントローラー37は、対象となるノズル24aのインク吐出データをSDRAM38から読み出してレスポンスを生成し、生成されたレスポンスはメインコントローラー32に送信され、メインコントローラー32やルーター#B0(#B1),ルーター#Anでレスポンスが中継されてデバイス52に到達する。本実施形態では、そのようなレスポンスの中継をTID(トランザクションID)やSID(ソースID)などの識別情報を用いて行なうものとした。図3は、TIDの割り当ての一例を示す説明図である。図示するように、TIDとして値0〜63までの64個の識別番号を4段1組のルーター#Anに割り当てるものとし、本実施形態では、最後段のルーター#Aiには番号0〜17、その前段のルーター#A(i+1)には番号18〜34、さらに前段のルーター#A(i+2)には番号35〜49、最前段のルーター#A(i+3)には番号50〜63をそれぞれ割り当てるものとした。即ち4段1組のルーター#Anには、各段のルーター#An間で互いに異なると共に個々のルーター#An内で互いに異なる番号がTIDとして割り当てられる。また、その割り当て数は、後段側から順に18個,17個,15個,14個となっており、後段側となるほど割り当て数が多くなる傾向にTIDを割り当てるものとした。なお、TIDとして識別番号(数字)を用いたが、識別情報であればよく、文字や記号などを用いたり、数字や文字,記号を組み合わせて用いたりしてもよい。また、4段1組のルーター#Anが並列的にルーター#B0(#B1)に複数組接続されているが、各組のルーター#Anに同様にTIDが割り当てられるものとする。なお、SIDについては後述する。
次に、ルーター#Anの構成について説明する。図4は、ルーター#Anの構成を示すブロック図である。ルーター#Anは、図示するように、自身に接続されるデバイス52(#0〜#359)からのリクエストや後段のルーター#Anからのリクエストの中継を制御するリクエスト制御部60aと、ルーター#B0,B1からのレスポンスや前段のルーター#Anからのレスポンスの中継を制御するレスポンス制御部60bとから構成されている。なお、図中の太線矢印は、TIDの経路を示す。
リクエスト制御部60aは、複数のデバイス52にそれぞれ接続される図示しない入力ポートのうちいずれかを選択すると共に選択した入力ポートの番号(以下、ポート#(Port#))をエンコードして出力するポート#セレクター/エンコーダー(Port#Selector/Encoder)61と、アンド回路(&)62と、自身に割り当てられたTIDを先入れ先出し方式で格納するTID−FIFO63と、リクエストが入力されたポート#をTIDと対応付けて登録するポート#レジスターファイル(Port#Reg.file)64と、SIDなどのTID以外の各種パラメーターが登録されたレジスター65(Reg.)と、TID−FIFO63からのTIDやレジスター65からのSIDや各種パラメータ,図示しないアドレス情報などを用いてリクエストのパケットを所定のフォーマットに従って生成するパケットフォーマットジェネレーター(Packet format generater)66と、自身に接続されるデバイス52からのリクエストを受け付けて後段のルーター#Anからのリクエストと調停して前段のルーター#Anまたはルーター#B0(#B1)に送信するリクエストパケットアービター(Request Packet Arbiter)67とを備える。なお、TID−FIFO63とポート#レジスターファイル64とは、レスポンス制御部60bと共用される。
ポート#セレクター/エンコーダー61は、ポート#をポート#レジスターファイル64に出力すると共にリクエスト許可信号としてのReq.EN信号(リクエストイネーブル信号)をアンド回路62に出力する。なお、ポート#はデバイス52の番号が付されているものとし、ポート#セレクター/エンコーダー61は、同時に複数のデバイス52がリクエストを生成した場合には、そのうち最小のポート#からのリクエストを入力する。また、アンド回路62は、ポート#セレクター/エンコーダー61からのReq.EN信号が入力されると共にTID−FIFO63からFIFO内が空でないことを示すNotEmpty信号が入力され、且つリクエストパケットアービター67からリクエストの出力準備が整っていることを示すReady信号が入力されることを条件として、リクエストの送信が有効な状態にあることを示すValid信号をTID−FIFO63とポート#レジスターファイル64とリクエストパケットアービター67とに出力する。そして、TID−FIFO63は、アンド回路62からのValid信号がRDポートに入力されると、FIFOの先頭に格納しているTIDを読み出してo-Dataポートからポート#レジスターファイル64に出力すると共にパケットフォーマットジェネレーター66に出力する。また、ポート#レジスターファイル64は、ポート#セレクター/エンコーダー61からのポート#がi-Dataポートに入力されて、アンド回路62からのValid信号がWRポートに入力されると共にTID−FIFO63からのTIDがw-Adr.ポートに入力されると、入力されたTIDをライトのアドレス情報として用いてそのTIDにポート#を対応付けてファイルに書き込む。そして、リクエストパケットアービター67は、アンド回路62からのValid信号が入力されると共にパケットフォーマットジェネレーター66により生成されたリクエスト(パケット)が入力されると、そのリクエストを前段のルーター#Anまたはルーター#B0(#B1)に送信する。なお、リクエストパケットアービター67は、後段のルーター#Anからのリクエストは前段のルーター#Anまたはルーター#B0(#B1)に転送する。
一方、レスポンス制御部60bは、前段のルーター#Anまたはルーター#B0(#B1)から入力されたレスポンスを後段のルーター#Anへ転送するか自身に接続されたデバイス52に送信するかを選択するパケットセレクター(Packet Selector)71と、自身に割り当てられたTIDが登録されたレジスター(Reg.)72と、ポート#レジスターファイル64から出力されるポート#をデコードするデコーダー(Decoder)73と、デコーダー73からデコードされたポート#をレスポンスの送信先として有効なポート#に設定するヴァリッドゲート(Valid gate)74とを備える。
パケットセレクター71は、レスポンスの入力を受け付けると、そのレスポンスに格納されているTIDと、レジスター72に登録されているTIDとを照合し、TIDが一致しないレスポンスは、後段のルーター#Anに転送する。また、TIDが一致するレスポンスは、レスポンスからTIDを抽出してそのTID(ReleaseTID)をTID−FIFO63とポート#レジスターファイル64とに出力すると共にValid信号をTID−FIFO63とヴァリッドゲート74とに出力する。なお、TIDが抽出されたレスポンスデータ(ResponseData)についても出力する。また、TID−FIFO63は、パケットセレクター71からのValid信号がWRポートに入力されると共にパケットセレクター71からTIDがi-Dataポートに入力されると、入力されたTIDをFIFOに書き込む。そして、ポート#レジスターファイル64は、パケットセレクター71からr-Adr.ポートにTIDが入力されると、入力されたTIDをリードのアドレス情報として用いてそのTIDに対応付けて登録されているポート#を読み出して、読み出したポート#をo-Dataポートからデコーダー73に出力する。また、ヴァリッドゲート74は、パケットセレクター71からのValid信号が入力されると、デコーダー73からデコードされたポート#をレスポンスの送信先として、パケットセレクター71から出力されたレスポンスデータを送信する。
次に、こうして構成された本実施形態のプリンター20の動作、特に、印刷ヘッドコントローラー47のデバイス52からのリクエストとそのリクエストに対するレスポンスとを通信処理する際の動作について説明する。図5は、通信処理の様子の一例を示すトランザクションチャートである。なお、説明の便宜上4段1組のルーター#Anをルーター#A0〜#A3として説明し、図5では、ルーター#A2に接続されたデバイス52(#234)においてリクエストが生成される場合を例として示した。
デバイス52(#234)において制御対象のノズル24aのインク吐出データをSDRAM38からリードするためのリクエストが生成されると(ステップS100)、ルーター#A2は、他のデバイス52からのリクエストと調停してポート#234からのリクエストを入力する(ステップS110)。リクエストを入力すると、ルーター#A2は、TID−FIFO63から読み出した先頭のTIDやレジスター65からのSIDなどをリクエストに格納して(ステップS120)、後段のルーター#A1から転送されるTID0〜34のリクエストと調停して前段のルーター#A3(メモリーコントローラー37側)に転送する(ステップS130)。図6は、TID−FIFO63から読み出されるTIDの一例を示す説明図である。図示するように、ステップS120では、TID−FIFO63の先頭に格納されているTID:#37が読み出され、このTIDがリクエストに格納される。なお、TID−FIFO63が空の場合、後述するように戻ってきたレスポンスから抽出されたTIDがTID−FIFO63に格納されるまでリクエストを待機させてから、ステップS120の処理を行なう。また、SIDとしては、例えば#012が格納されるものとし、このSID:#012は、ルーター#B0にはルーター#A0〜#A3の経路を示す識別情報として、メインチップ32にはルーター#B0の経路を示す識別情報として予め登録されているものとする。これにより、デバイス52(#234)で生成されたリクエストは、TID:#37,SID:#012のリクエストとしてルーター#A2から転送されることになる。また、ルーター#A2は、リクエストに格納されたTID:#37をライトのアドレス情報として用いて、そのTID:#37とリクエスト元のデバイス52のポート#234とを対応付けてポート#レジスターファイル64に登録する(ステップS140)。図7は、ポート#レジスターファイル64の一例を示す説明図である。図示するように、TID:#37にポート#234が対応付けて登録される。
また、ルーター#A2からリクエストが転送されたルーター#A3は、自身に接続されるデバイス52からのリクエストと調停してルーター#A2からのリクエストをルーター#B0(メモリーコントローラー37側)に転送する(ステップS150)。同様に、ルーター#A3からのリクエストが転送されたルーター#B0は、並列接続された他の4段1組のルーター#Anからのリクエストと調停してルーター#A3からのリクエストをメインチップ32に転送し(ステップS160)、メインチップ32は、他のコントローラー41,43,45,49などからのリクエストと調停してルーター#B0からのリクエストをメモリーコントローラー37に転送する(ステップS170)。こうして、リクエストがメモリーコントローラー37に到達すると、メモリーコントローラ37はリクエスト内の情報に基づいてメモリー38にアクセスし、メモリー38からリクエスト元のデバイス52(#234)に対応するノズル24aのインク吐出データを読み出すと共にリクエスト内のTID,SIDを格納してレスポンスを生成し(ステップS180)、メインチップ32に送信する(ステップS190)。
レスポンスが送信されたメインチップ32は、レスポンスに格納されたSIDに基づいてSID(#012)の経路を選択してルーター#B0にレスポンスを転送し(ステップS200)、同様にルーター#B0はルーター#A0〜A3の経路を選択してレスポンスを転送する(ステップS210)。このように、SIDによりルーター#A0〜A3の経路が選択されるから、4段1組の各組のルーター#Anに同様にTIDを割り当てた場合であっても、レスポンスの転送経路を適切に選択することができる。そして、ルーター#B0から転送されたレスポンスを受け付けたルーター#A3は、レスポンスに格納されたTID:#37を自身に予め割り当てられたTID:#50〜63と照合し(ステップS220)、TID:#37が自身に予め割り当てられたTIDのいずれにも一致しないため、後段のルーター#A2への経路を選択して後段側にレスポンスを転送する(ステップS230)。
一方、転送されたレスポンスを受け付けたルーター#A2は、レスポンスに格納されたTID:#37を自身に予め割り当てられたTID:#35〜49と照合する(ステップS240)。そして、TID:#37が自身に予め割り当てられたTIDの1つに一致するため、レスポンスからTIDを抽出すると共に抽出したTIDをアドレス情報として用いて図7に示したポート#レジスターファイルからTID:#37に対応するポート#234を導出する(ステップS250)。こうしてポート#234を導出すると、導出したポート#234にレスポンスを送信し(ステップS260)、レスポンスから抽出したTIDをTID−FIFO63に書き込んで再び格納する(ステップS270)。これにより一連の処理が終了する。なお、レスポンスデータとしてノズル24aのインク吐出データを受けたデバイス52は、所定の吐出タイミングとなったときに、そのインク吐出データに基づいてノズル24a(圧電素子)を駆動制御する。ここで、図8は、TID−FIFO63に書き込まれるTIDの一例を示す説明図である。図示するように、レスポンスから抽出したTID:#37が最後尾に再格納される。このように、本実施形態では、ルーター#Anに割り当てられたTIDを用いて、リクエストに対するレスポンスをリクエスト元のデバイス52に中継することができ、デバイス52が多数接続されている場合であってもTIDを効率よく用いて適切に通信制御を行なうことができる。また、リクエストに格納するTIDはTID−FIFO63から読み出せばよく、使用が完了してレスポンスから抽出したTIDは再びTID−FIFO63に書き込めばよいから、TIDを容易に管理することができる。さらに、各ルーター#Anに接続されるデバイス52の数(320個)よりも少ない数(18個や17個など)のTIDを割り当てることにより、各ルーター#Anに接続されるデバイス52からのリクエスト数を制限することができ、多段接続における帯域制御を容易に行なうことができる。そして、4段1組のルーター#Anのうち後段側となるほど割り当て数が多くなる傾向にTIDを割り当てるものとしたから、後段側のルーター#Anに接続されるデバイス52からのリクエストが優先的に処理されることになり、レイテンシーの影響を抑制することができる。
ここで、本実施形態の構成要素と本発明の構成要素との対応関係を明らかにする。本実施形態のデバイス52が「デバイス」に相当し、SDRAM38へのデータの読み書きを制御するメモリーコントローラー37が「処理部」に相当し、ルーター#Anが「中継器」に相当する。また、TID−FIFO63が「バッファー」に相当する。
以上説明した本実施形態のプリンター20によれば、印刷ヘッドコントローラー47のルーター#Anは、デバイス52からのリクエストを受け付けたときには自身に割り当てられたTIDの1つをリクエストに格納してメモリーコントローラー37側に送信すると共に格納したTIDをリクエスト元のデバイス52に対応付けて記憶し、後段側のルーター#Anからのリクエストを受け付けたときにはメモリーコントローラー37側に転送し、メモリーコントローラー37側からのレスポンスを受け付けたときには該レスポンスに含まれるTIDを自身に割り当てられたTIDと照合し、TIDが一致するレスポンスは記憶した対応付けに基づいてリクエスト元のデバイス52に送信し、TIDが一致しないレスポンスは後段側のルーター#Anに転送する。これにより、ルーター#Anに割り当てられたTIDを用いて、リクエスト元のデバイス52にレスポンスを中継することができる。また、各ルーター#Anから出力されるリクエストの数をルーター#Anに割り当てられるTIDの数により制限することができるから、多段接続における帯域制御を容易に行なうことができる。この結果、識別情報としてのTIDを効率よく用いて適切に通信制御を行なうことができる。
また、リクエストに格納するTIDをTID−FIFO63を用いて容易に管理することができる。さらに、各ルーター#Anに接続されるデバイス52の数よりも少ない数のTIDを割り当てることにより、多段接続における帯域制御を容易に行なうことができる。そして、後段側となるほど割り当て数が多くなる傾向にTIDを割り当てるから、レイテンシーの影響を抑制することができる。
なお、本発明は上述した実施態様に何ら限定されることはなく、本発明の技術的範囲に属する限り種々の態様で実施し得ることはいうまでもない。
上述した実施形態では、後段側となるほどTIDの割り当て数が多くなる傾向にTIDを割り当てるものとしたが、これに限られず、各ルーター#Anに同じ数ずつのTIDを割り当てるものとしてもよい。また、優先的にリクエストを送信させたいデバイス52がある場合などにおいては、そのデバイス52が接続されるルーター#Anに対する割り当て数を多くするものなどとしてもよい。また、各ルーター#Anに接続されるデバイス52の数よりも少ない数のTIDを割り当てるものとしたが、すべてあるいはいずれかのルーター#Anにおいて接続されるデバイス52の数と同数あるいはそれ以上の数のTIDを割り当てるものとしてもよい。
上述した実施形態では、ルーター#AnはTID−FIFO63を用いて管理するものとしたが、FIFO以外の他のメモリーなどを用いて管理するものなどとしてもよい。
上述した実施形態では、ルーター#Anは4段に多段接続されるものとしたが、これに限られず、2段以上に多段接続されるものであればよい。また、4段1組のルーター#Anの複数組がルーター#BO(B1)に並列的に接続されるものとしたが、多段接続されるルーター#Anの1組がルーター#BO(B1)に接続されるものとしてもよく、その場合、ルーター#B0(B1)を省略するものとしても構わない。
上述した実施形態では、ルーター#Anで4段1組のルーター#A0〜#A3を識別するためのSIDをリクエストに格納するものとしたが、これに限られるものではない。例えば、各ルーター#Anをそれぞれ個別に識別可能な識別情報をルーター#Anでリクエストに格納するものとしてもよいし、ルーター#B0(B1)に予め識別情報を割り当てておきその識別情報をルーター#B0(B1)でリクエストに格納するものとしてもよい。後者の場合、ルーター#B0(B1)は、4段1組のルーター#Ai〜#A(i+3)の経路からのリクエストを受け付けたときに割り当てられた識別情報の1つをリクエストに格納すると共に格納した識別情報をリクエストが転送された経路と対応付けて記憶しておき、レスポンスを受け付けたときに記憶しておいた対応付けに基づいてレスポンスを転送する経路を選択して転送するものとしてもよい。即ち、ルーター#Anと同様な処理をルーター#B0(B1)で行なうものとしてもよい。
上述した実施形態では、本発明のデバイスシステムを印刷ヘッドコントローラー47を有するプリンタ20ーに適用したが、これに限られず、プリンター機能だけでなくファックス機能やコピー機能などを有する複合機に適用してもよい。また、本発明のデバイスシステムとしては、複数のノズル24aを個々に制御するものに限られず、例えば1つのデバイスが複数のノズル列をそれぞれ制御するものとしてもよい。即ちデバイス52を数千〜数万個備えるものに限られず、数十個〜数百個備えるものなどとしてもよい。さらに、印刷ヘッド24のノズル24a以外を制御するものとしてもよく、例えば各モーター26として多数のモーターを制御するモーターコントローラー49などに適用してもよい。また、デバイスシステムの形態に限られず、ルーター#Anとしての中継器の形態としてもよい。
20 プリンター、22 プリンター機構、24 印刷ヘッド、24a ノズル、26 各モーター、28 LCD、30 処理制御部、32 メインチップ、34 メインプロセッサー、36 DMAコントローラー、37 メモリーコントローラー、38 SDRAM、39 バス、41 カードコントローラー、43 I/Fコントローラー、45 LCDコントローラー、47 印刷ヘッドコントローラー、49 モーターコントローラー、52 デバイス、60a リクエスト制御部、60b レスポンス制御部、61 ポート#セレクター/エンコーダー(Port#Selector/Encoder)、62 アンド回路(&)、63 TID−FIFO、64 ポート#レジスターファイル(Port#Reg.file)、65,72 レジスター(Reg.)、66 パケットフォーマットジェネレーター(Packet format generater)、67 リクエストパケットアービター(Request Packet Arbiter)、71 パケットセレクター(Packet Selector)、73 デコーダー(Decoder)、74 ヴァリッドゲート(Valid gate)、#An,#Ai〜#A(i+3),#A0〜#A3,#B0,#B1 ルーター、MC メモリーカード、S 記録紙。
Claims (7)
- リクエストを出力する複数のデバイスと、前記リクエストを処理して該リクエストに含まれる識別情報の格納を伴ってレスポンスを出力する処理部と、該処理部に対して直列的に多段接続されると共に各段に前記複数のデバイスがそれぞれ接続される複数の中継器とを備えるデバイスシステムであって、
前記識別情報として、直列的に接続される中継器間で互いに異なると共に個々の中継器内で互いに異なる複数の識別情報を各段の中継器に予め割り当て、
前記中継器は、自身に接続された前記デバイスからのリクエストを受け付けたときには自身に割り当てられた識別情報の1つを該リクエストに格納して処理部側に送信すると共に該格納した識別情報をリクエスト元のデバイスに対応付けて記憶し、後段側の中継器からのリクエストを受け付けたときには処理部側に転送し、処理部側からのレスポンスを受け付けたときには該レスポンスに含まれる識別情報を自身に割り当てられた識別情報と照合し、該識別情報が一致するレスポンスは前記記憶した対応付けに基づいて前記リクエスト元のデバイスに送信し、該識別情報が一致しないレスポンスは後段側の中継器に転送する
デバイスシステム。 - 前記中継器は、先入れ先出し方式で自身に割り当てられた識別情報を格納するバッファーをそれぞれ備え、自身に接続された前記デバイスからのリクエストを受け付けたときには該バッファーから識別情報を読み出して前記リクエストに格納し、前記識別情報が一致するレスポンスを受け付けたときに該レスポンスから識別情報を抽出して前記バッファーに書き込んで再格納する請求項1記載のデバイスシステム。
- 前記各段の中継器にそれぞれ接続される前記複数のデバイスの数よりも少ない数の識別情報を該各段の中継器に割り当ててなる請求項1または2記載のデバイスシステム。
- 前記各段の中継器のうち後段側の中継器となるほど数が多くなる傾向に前記複数の識別情報を割り当ててなる請求項1ないし3いずれか1項に記載のデバイスシステム。
- 前記各段の中継器にそれぞれ同じ数ずつ前記複数の識別情報を割り当ててなる請求項1ないし3いずれか1項に記載のデバイスシステム。
- リクエストを出力する複数のデバイスと、前記リクエストを処理して該リクエストに含まれる識別情報の格納を伴ってレスポンスを出力する処理部とを備えるデバイスシステムに設けられ、前記処理部に対して直列的に多段接続されると共に各段に前記複数のデバイスがそれぞれ接続される中継器であって、
前記識別情報として直列的に接続される中継器間で互いに異なると共に個々の中継器内で互いに異なる複数の識別情報が予め割り当てられ、自身に接続された前記デバイスからのリクエストを受け付けたときには自身に割り当てられた識別情報の1つを該リクエストに格納して処理部側に送信すると共に該格納した識別情報をリクエスト元のデバイスに対応付けて記憶し、後段側の中継器からのリクエストを受け付けたときには処理部側に転送し、処理部側からのレスポンスを受け付けたときには該レスポンスに含まれる識別情報を自身に割り当てられた識別情報と照合し、該識別情報が一致するレスポンスは前記記憶した対応付けに基づいて前記リクエスト元のデバイスに送信し、該識別情報が一致しないレスポンスは後段側の中継器に転送する
中継器。 - 先入れ先出し方式で自身に割り当てられた識別情報を格納するバッファーをそれぞれ備え、自身に接続された前記デバイスからのリクエストを受け付けたときには該バッファーから識別情報を読み出して前記リクエストに格納し、前記識別情報が一致するレスポンスを受け付けたときに該レスポンスから識別情報を抽出して前記バッファーに書き込んで再格納する請求項6記載の中継器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011041785A JP2012178122A (ja) | 2011-02-28 | 2011-02-28 | デバイスシステムおよび中継器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011041785A JP2012178122A (ja) | 2011-02-28 | 2011-02-28 | デバイスシステムおよび中継器 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2012178122A true JP2012178122A (ja) | 2012-09-13 |
Family
ID=46979908
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011041785A Withdrawn JP2012178122A (ja) | 2011-02-28 | 2011-02-28 | デバイスシステムおよび中継器 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2012178122A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016115338A (ja) * | 2014-12-12 | 2016-06-23 | インテル コーポレイション | 識別子を制御システムのコンポーネントへ割り当てるデバイス、システム及び方法 |
CN117492525A (zh) * | 2023-12-29 | 2024-02-02 | 闪极科技(深圳)有限公司 | Usb扩展设备、带宽管理方法和可读存储介质 |
-
2011
- 2011-02-28 JP JP2011041785A patent/JP2012178122A/ja not_active Withdrawn
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016115338A (ja) * | 2014-12-12 | 2016-06-23 | インテル コーポレイション | 識別子を制御システムのコンポーネントへ割り当てるデバイス、システム及び方法 |
US9602464B2 (en) | 2014-12-12 | 2017-03-21 | Intel Corporation | Apparatus, system and method for allocating identifiers to components of a control system |
CN117492525A (zh) * | 2023-12-29 | 2024-02-02 | 闪极科技(深圳)有限公司 | Usb扩展设备、带宽管理方法和可读存储介质 |
CN117492525B (zh) * | 2023-12-29 | 2024-04-16 | 闪极科技(深圳)有限公司 | Usb扩展设备、带宽管理方法和可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103885734A (zh) | 一种喷墨打印机喷头控制板及可打印数据传输方法 | |
US20130070262A1 (en) | Printing device and method of controlling printing device | |
US20120069402A1 (en) | Printing device and method of controlling printing device | |
JP2012178122A (ja) | デバイスシステムおよび中継器 | |
US8786900B2 (en) | Printing device and method of controlling printing device | |
US8917421B2 (en) | Printing apparatus and method of controlling printing apparatus | |
US8995016B2 (en) | Printing device configured to detect a configuration of data control units detachably connected thereto and control method thereof | |
US8934137B2 (en) | Printing device and method of controlling printing device | |
WO2020228422A1 (zh) | 喷墨控制电路及3d打印设备 | |
JP5744360B1 (ja) | 画像処理装置 | |
JP5078540B2 (ja) | 記録装置及びデータ転送方法 | |
US20140146346A1 (en) | Method and Apparatus for Controlling Pauses in Printing | |
US10133969B1 (en) | Image forming apparatus, control method, and storage medium configured to form image layers on a first recording medium and a second recording medium | |
US20140313546A1 (en) | Image processing apparatus and image processing method for executing image processing using multiple image processing units | |
JP3969010B2 (ja) | 印刷制御装置、印刷データ処理方法、印刷データ処理用プログラム及び記録媒体 | |
CN104417098A (zh) | 彩色印刷的控制方法和装置 | |
US8699068B2 (en) | Printing device and method of controlling printing device | |
US9019521B2 (en) | DMA transfer of data | |
US20150329307A1 (en) | Image Forming Apparatus and Method for Forming Image | |
US20230084353A1 (en) | Image forming apparatus, reprinting method, and storage medium | |
JP2014004694A (ja) | 液体吐出装置 | |
JP4631509B2 (ja) | 液体噴射装置 | |
JP4314559B2 (ja) | プリンタ及びプリンタの制御方法 | |
JP6877244B2 (ja) | 記録装置及びその制御方法 | |
JP2019142080A (ja) | 印刷装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Withdrawal of application because of no request for examination |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20140513 |