JP5922898B2 - 情報処理装置、通信方法およびプログラム - Google Patents

情報処理装置、通信方法およびプログラム Download PDF

Info

Publication number
JP5922898B2
JP5922898B2 JP2011202334A JP2011202334A JP5922898B2 JP 5922898 B2 JP5922898 B2 JP 5922898B2 JP 2011202334 A JP2011202334 A JP 2011202334A JP 2011202334 A JP2011202334 A JP 2011202334A JP 5922898 B2 JP5922898 B2 JP 5922898B2
Authority
JP
Japan
Prior art keywords
packet
processing
data
unit
information
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.)
Expired - Fee Related
Application number
JP2011202334A
Other languages
English (en)
Other versions
JP2013065101A5 (ja
JP2013065101A (ja
Inventor
裕司 原
裕司 原
石川 尚
尚 石川
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2011202334A priority Critical patent/JP5922898B2/ja
Priority to US13/572,961 priority patent/US9201839B2/en
Publication of JP2013065101A publication Critical patent/JP2013065101A/ja
Publication of JP2013065101A5 publication Critical patent/JP2013065101A5/ja
Priority to US14/931,052 priority patent/US9462091B2/en
Application granted granted Critical
Publication of JP5922898B2 publication Critical patent/JP5922898B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/173Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
    • G06F15/17356Indirect interconnection networks
    • G06F15/17368Indirect interconnection networks non hierarchical topologies
    • G06F15/17375One dimensional, e.g. linear array, ring
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L2224/00Indexing scheme for arrangements for connecting or disconnecting semiconductor or solid-state bodies and methods related thereto as covered by H01L24/00
    • H01L2224/01Means for bonding being attached to, or being formed on, the surface to be connected, e.g. chip-to-package, die-attach, "first-level" interconnects; Manufacturing methods related thereto
    • H01L2224/34Strap connectors, e.g. copper straps for grounding power devices; Manufacturing methods related thereto
    • H01L2224/36Structure, shape, material or disposition of the strap connectors prior to the connecting process
    • H01L2224/37Structure, shape, material or disposition of the strap connectors prior to the connecting process of an individual strap connector
    • H01L2224/3754Coating
    • H01L2224/37599Material
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L2224/00Indexing scheme for arrangements for connecting or disconnecting semiconductor or solid-state bodies and methods related thereto as covered by H01L24/00
    • H01L2224/01Means for bonding being attached to, or being formed on, the surface to be connected, e.g. chip-to-package, die-attach, "first-level" interconnects; Manufacturing methods related thereto
    • H01L2224/34Strap connectors, e.g. copper straps for grounding power devices; Manufacturing methods related thereto
    • H01L2224/39Structure, shape, material or disposition of the strap connectors after the connecting process
    • H01L2224/41Structure, shape, material or disposition of the strap connectors after the connecting process of a plurality of strap connectors
    • H01L2224/4101Structure
    • H01L2224/4103Connectors having different sizes
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L2924/00Indexing scheme for arrangements or methods for connecting or disconnecting semiconductor or solid-state bodies as covered by H01L24/00
    • H01L2924/0001Technical content checked by a classifier
    • H01L2924/00014Technical content checked by a classifier the subject-matter covered by the group, the symbol of which is combined with the symbol of this group, being disclosed without further technical details

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Computer Security & Cryptography (AREA)
  • Multi Processors (AREA)
  • Bus Control (AREA)

Description

本発明は、リング状のバスを用いてデータの受け渡し及び処理を行う情報処理装置、通信方法及びプログラムに関する。
従来より、高速なパイプライン処理の実現のため、パイプライン処理となる一連のデータ処理を分割(グルーピング)して複数のモジュールに割り当て、このモジュールを処理の流れ順にバスで接続する方法がある(特許文献1)。しかし、モジュールを物理的なバスで接続している場合、処理A→B→Cを処理A→C→Bとするように、パイプライン処理の順序を変更することは困難である。なお、モジュールには処理A、B、Cが重複しないように割り当てられているとする。
画像処理においては、一連の処理順序を変更することで処理の効率化を図ることができる場合がある。例えば、出力装置に画像を出力する場合、入力される画像の画素数が出力装置の画素数よりも多い場合は、なるべく処理の開始時に近い上流工程で画素数を少なくしてから処理を行った方が効率的である。一方で、入力画像の画素数が出力装置の画素数よりも少ない場合は、解像度変換を行わずに画素数が少ない状態で処理行い、出力直前の下流工程で解像度変換により画素数を多くするのが良い。
また、ある空間(入力デバイス空間等)で定義されるデータを、標準的な空間(CIELAB色空間等)に変換して処理を行い、処理後のデータを別の空間(出力デバイス空間等)に変換する場合がある。この場合、入力側と出力側の空間変換部の処理(1次元LUT、行列演算、3次元LUT等)は、互いに順序が逆の処理となる。つまり、処理の順序を変えることができれば、同じ処理モジュールを入力側と出力側とで共用することもできる。なお、処理順序を可変にする方法として、処理回路間の接続をリング状のバス(以下、リングバスと称す)で接続する方法がある(特許文献2、特許文献3)。
特開平5−081178号公報 特開平1−023340号公報 特開平2−283142号公報
しかしながら、処理A→B→Cのパイプライン処理において2つの処理A→B、A→Cを同時に行うような分岐処理を行う際に、一方の処理モジュールでパケットを処理せずに保留した場合、保留したモジュールを特定できない。このため、保留されたパケットが、正しいタイミングで消去されず、リングバス上に停滞してしまうという課題があった。また、保留されたパケットが、当該パケットに含まれるデータを処理すべき他の処理モジュールが処理する前に消去されてしまうことにより、それ以降のパケットの処理が不能となり、リングバスがデッドロックしてしまうという課題があった。
本発明は、複数の処理部をリング状バスに接続したデータパス制御機構において、分岐処理をデータが欠落するとなく実行する技術を提供することを目的とする。
上記目的を達成するため、本発明による情報処理装置は、リング状にバス接続されている複数の通信手段を備え、前記通信手段の各々がそれぞれ所定の処理を実行する処理手段に接続され、接続された前記処理手段が処理を実行した後のデータをパケットとして前記バスへ送出することにより、予め定めた順序で前記処理手段の間のデータの受け渡し及び処理を実行する情報処理装置であって、前記複数の通信手段のうちの少なくとも1つの通信手段は、データと、当該データに対する処理が保留されたか否かを示す保留情報とを含むパケットを受信し、当該パケットを保持する保持手段と、前記保持手段に保持されたパケットを前記バスへ送出する送信手段と、前記保持手段に保持されたパケットに含まれるデータが前記1つの通信手段自身に接続された処理手段により処理されるべきであるかの判定と、前記保持手段が受信したパケットに含まれる保留情報が当該パケットに含まれるデータに対する処理が保留されたことを示す場合に当該保留情報の設定を当該保持手段が行ったかの判定と、前記保持手段が受信したパケットに含まれるデータが前記1つの通信手段自身に接続された処理手段により処理されるべき場合に当該データに対する処理が保留されるべきかの判定と、を行う判定手段と、を有し、前記保持手段は、保持しているパケットに、前記判定手段における判定結果に応じた処理を施し、前記送信手段は、当該処理が施されたパケットを前記バスへ送出する、ことを特徴とする。
本発明によれば、複数の処理部をリング状バスに接続したデータパス制御機構において、分岐処理をデータが欠落するとなく実行することができる情報処理装置、通信方法、およびプログラムを提供することができる。
情報処理装置の構成を示す図。 データ処理部の構成を示す図。 実施形態1に係るパケットの構成を示す図。 従来のデータパス制御機構の動作を示す図。 実施形態1に係る通信部の構成を示す図。 実施形態1に係る受信部の構成を示す図。 実施形態1に係る送信部の構成を示す図。 実施形態1に係るデータパス制御機構の動作を示す図。 実施形態1に係るデータパス制御機構の動作を示す図。 実施形態2に係るパケットの構成を示す図。 実施形態2に係る受信部の構成を示す図。 実施形態2に係るデータパス制御機構の動作を示す図。 実施形態2に係るデータパス制御機構の動作を示す図。
以下、添付図面を参照して本発明の実施の形態を詳細に説明する。
<<実施形態1>>
(情報処理装置の構成)
図1は、本実施形態に係る情報処理装置の構成例を示す。制御部100は、演算制御用のCPU101、固定データやプログラムを格納するROM102、データの一時保存やプログラムのロードに使用されるRAM103、および外部データを保持する外部記憶装置104を有する。
データ入力部110は、処理すべきデータを取り込む部分である。データ入力部110は、例えば、イメージスキャナおよびA/D変換器などのデバイスによって構成される画像読み込み装置や、マイクおよびA/D変換などのデバイスによって構成される音声入力装置そのものであってもよい。また、データ入力部110は、入力装置からデータを取得する受信部であってもよい。データ処理部120は、後述するように、複数の処理モジュールによって並列処理を実行する。データ処理部120における処理の対象は、例えば画像データであるが、これに限らず、パイプライン処理などの一連のデータ処理に適したデータであればどのようなデータであってもよい。データ出力部130は、処理済みのデータを外部に出力する。データ出力部130は、例えば画像データを印字ドットパターンに変換して出力するプリンタデバイスを含む画像出力装置や、音声データをD/A変換器等を通して出力する音声出力装置であってもよい。また、データ出力部130は、単に外部装置へデータを送信するためのインタフェースであってもよい。
制御部100は、データ入力部110に入力されたデータを受信すると、CPU101で処理してもよいし、そのままRAM103や外部記憶装置104に一時記録してもよい。
データ処理部120は、データ入力部110からの入力データを直接受け取って処理を行ってもよいし、制御部100からの指示とデータ供給を受けて処理を行ってもよい。また、データ処理部120の出力は、制御部100に送られてもよいし、データ出力部130に直接送られてもよい。データ処理部120の処理内容は、制御部100によって予め設定され、データ処理部120は、供給されたデータに対して設定された処理を実行する。
(データ処理部の構成)
図2は、本実施形態に係るデータ処理部120の構成例であり、各処理モジュール間をリング状にバス接続したデータパス制御機構の概略構成を示すブロック図である。以下では、このリング状のバスを「リングバス」と呼ぶ。図中、1201はデータ入出力部、1202−1〜1202−4は通信部、1203−2〜1203−4は通信部1202−2〜1202−4と一対一で設けられているデータ処理部である。
通信部1202−1〜1202−4は、各々隣接する通信部と接続され(但し、通信部1202−4は通信部1202−1に接続される)、リングバス1206の一部として特定の方向(第1の方向)から受信するデータを他方(第2の方向)へ送信する。つまり、通信部1202−1〜1202−4は、リングバス1206を構成すると共に、リングバス1206と入出力部1201または処理部1203との間でのデータの送受信を行う。
入力端子151より入力されたデータは入出力部1201を介して通信部1202−1に入力される。入力されたデータはパケット化され、リングバス1206上(リング上)を一方向に流れる。通信部1202は予め設定された情報に従って必要なパケットをリングバス1206より取り込み、取り込んだパケットからデータを抽出し、処理部1203が処理可能な場合、当該データを処理部1203に入力する。処理部1203では、所定のデータ処理(例えば色空間変換や解像度変換等)を行い、処理後のデータを通信部1202へ出力する。処理後のデータはリングバス1206に出力可能な場合、通信部1202においてパケット化され、リングバス1206へ送出される。このように、設定された順序に従って通信部1202−2〜1202−4が適切にデータを取り込み、処理後のデータを送出することによって、処理部1203−2〜1203−4においてデータが次々に処理される。そして、データに対する設定されたデータ処理が終了すると、そのデータは通信部1202−1に取り込まれ、入出力部1201を介して出力端子152より出力される。なお、処理部1203−2〜1203−4ではそれぞれ処理A、B、およびCを実行するものとする。
なお、入出力部1201は、外部の機器(またはモジュール)とのインタフェースを提供するものであり、通信部1202−1において直接外部の機器と情報の送受信が可能な場合は省略してもよい。また、入出力部1201のように入力部と出力部とを兼用する構成としてもよいし、入力部と出力部とがリングバス上の別の通信部1202に接続される構成としてもよい。さらに、入力部と出力部とが複数あってもよい。
(パケットのデータ構造)
図3にリングバス1206を流れるパケットのデータ構造を示す。図中、201はvalidフラグであり、パケットが有効であることを示す。202はstallフラグでありパケットが受信保留されたことを示す。203はカウント値でありデータの送信順を示し、204はノードIDであり、データの論理的な接続を識別するための接続IDを示す。205は通信部に入力または出力されるデータである。
通信部1202は、リングバス1206に送出されたパケットを解析して、validフラグ201が有効で、ID204とカウント値203が通信部1202の内部で管理する値と一致するか否かを判定する。値が一致すると、通信部1202は、その通信部1202に直接接続される処理部1203が受信データを処理可能か否かを判定する。すなわち、例えば、図2の通信部1202−2であれば、対応する処理部1203−2がデータ処理可能か否かを判定する。通信部1202は、対応する処理部1203がデータ処理可能と判定すると、パケット内に含まれるデータをその処理部1203へ送る。同時に、リングバス1206で下流(後段)に繋がる通信部1202に対して、validフラグ201及びstallフラグ202を無効にしたパケット(以下、空パケットと称する)を送信する。
なお、設定により、処理部1203にデータを送る場合であっても、validフラグ201を有効としたまま下流に送ってもよい。以下では、この設定を「eraseモード」と呼び、eraseモードが無効の場合は、処理部1203にデータを送信する場合でも、下流に繋がる通信部1202へvalidフラグ201を有効としたままのパケットを送信する。この設定は後述する分岐処理に使用される。但し、stallフラグ202は無効に設定される。この動作により、後述する保留パケットが不必要にリングバス1206上に滞留することを防ぐ。
通信部1202が受信したパケットは、validフラグ201が有効でID204とカウント値203が通信部1202内部で管理する値と一致しても、通信部1202と対応する処理部1203がそのデータを処理できない場合がある。その場合、リングバス1206に、stallフラグ202を有効にしたパケット(以下、保留パケットと称する)を送出する。同様に、validフラグ201が有効でID204が通信部1202内部で管理する値と一致するが、カウント値203が通信部1202内部で管理する値と一致しない場合も、通信部1202は、リングバス1206に保留パケットを送出する。また、受信したパケットが、validフラグ201が有効であるがID204が通信部1202内部で管理する値と一致しない場合は、通信部1202は、パケットの内容を変更せず、当該パケットをリングバス1206へそのまま送出する。
なお、通信部1202−1は入力パケットのID204とカウント値203との一致を判断するための、内部で管理するID及びカウント値を2組有する。これにより、後述の分岐処理において、2つのデータフローで処理されたパケットを受け取り、出力端子152に出力することが可能となる。
ここで、2つの処理A→B、A→Cを同時に行うような分岐処理を行う場合の、図2のデータパス制御機構の動作の具体例について、図4を参照して説明する。なお、図中で丸で囲まれた番号は有効パケット(validフラグ201が有効のパケット)を示し、丸の中の番号はパケットのカウント値203である。色が塗られた丸は空パケットを示す。また、太枠の丸はパケットのstallフラグ202が有効のものを示す。
まず、不図示のCPU等により、各通信部1202内部に記憶されるIDの値を、分岐処理の実行のための値に設定する。すなわち、通信部1202−2においては、入出力部1201を介して通信部1202−1から入力されたデータを処理するようにIDの値が設定される。また、通信部1202−3および通信部1202−4では、通信部1202−2に対応する処理部1203−2が処理した後のデータを処理するように、IDの値が設定される。また、通信部1202−3では、eraseモードを無効に設定する。これにより、処理部1203−3が処理可能でデータが処理部に送られた場合でも、下流の通信部1202−4に有効なパケットを出力できる。これ以外の通信部1202のeraseモードは有効に設定されているものとする。
まず、通信部1202−1は、入出力部1201を介して入力端子151からデータを取得する(S100)。取得されたデータはパケット化され、リングバス1206を介して通信部1202−2に入力される(S101)。この時パケットのvalidフラグ201は有効、stallフラグ202は無効である。入力されたパケットは、validフラグ201が有効であり、ID204とカウント値203が通信部1202−2内部で管理する値と一致し、処理部1203−2が処理可能であるため、パケット内のデータが処理部1203−2に入力される。処理部1203−2では処理Aが実行される(S102)。処理後のデータはリングバス1206にパケットとして出力され、通信部1202−3に入力される(S103)。
通信部1202−3では、入力パケットのvalidフラグ201が有効でID204とカウント値203が通信部1202−2内部で管理する値と一致し、処理部1203−3が処理可能なので、当該パケット内のデータを処理部1203−3へ出力する。処理部1203−3では、入力されたデータに処理Bが実行される(S104)。これと同時に、通信部1202−3のeraseモードは無効であるため、入力されたパケットがそのまま下流の通信部1202−4に出力される(S104)。処理部1203−3において処理されたデータはリングバス1206にパケットとして出力され(S105)、通信部1202−4、1202−1、および入出力部1201を介して出力端子152にデータが出力される(S106)。
通信部1202−3に入力され、そのまま出力されたパケットは、通信部1202−4に入力される(S104)。入力されたパケットは、validフラグ201が有効で、ID204とカウント値203が通信部1202−4内部で管理する値と一致する。そして、処理部1203−4がデータを処理可能であるため、入力されたパケットに含まれるデータが処理部1203−4へ入力され、当該データに対して処理Cが実行される(S105)。処理されたデータはリングバス1206にパケットとして出力され、通信部1202−1と入出力部1201を介して、出力端子152に出力される(S107)。
次に、同様な分岐処理において、処理部1203−2と処理部1203−4はデータ処理可能であるが、処理部1203−3ではデータ処理できず保留パケットが発生する場合について1番目のデータを含むパケットを例として説明する。先の例と同様に、入力端子151から入力されたデータは、入出力部1201及び通信部1202−1を介して通信部1202−2に入力され、処理Aが実行される(S103〜S105)。処理後のデータはリングバス1206にパケットとして出力され、通信部1202−3に入力される(S106)。この時パケットのvalidフラグ201は有効であり、stallフラグ202は無効である。
通信部1202−3では、入力されたパケットのvalidフラグ201が有効でID204とカウント値203が通信部1202−3内部で管理する値と一致しているが、対応する処理部1203−3がデータ処理をできない状態である。このため、パケットのstallフラグ202を有効に設定し、保留パケットとしてリングバス1206に送出する(S107)。
通信部1202−4では、通信部1202−3が送出したパケットがvalidフラグ201が有効でID204とカウント値203が通信部1202−4内部で管理する値と一致する。そして、通信部1202−4に対応する処理部1203−4がデータ処理可能であるため、パケット内のデータが処理部1203−4へ入力され、当該データに対して処理Cが実行される(S108)。一方、通信部1202−4のeraseモードは有効であるため、通信部1202−4は空パケットを通信部1202−1に向けてリングバス1206上へ出力する(S108)。その後、処理部1203−4において処理されたデータはリングバス1206にパケットとして出力され、通信部1202−1を介して出力端子152に出力される(S109)。
この例では、通信部1202−3から入力された処理部Bで処理すべき保留パケットが削除され、空パケットになってしまったため、処理Bが実行できなくなる。このように、分岐処理では、他の分岐で処理を保留したデータを消去してしまうことがあるという課題がある。このため、本実施形態では、この課題を解決するような構成を提示することを1つの目的とする。
(通信部の構成)
図5は、通信部1202の概略構成を示すブロック図である。図示のように、通信部1202は受信部301、バッファ302、セレクタ303、送信部304を有する。また、入力端子357と出力端子359を有し、これらの端子により隣接する通信部1202と接続される。具体的には、入力端子357は隣接する通信部1202の出力端子359に接続され、出力端子359は、隣接する通信部1202の入力端子357に接続される。このようにして、リングバス1206において複数の通信部1202−1〜1202−4が接続される。なお、以下では、リングバス1206上で通信部1202に隣接する通信部1202について、入力端子357で接続する通信部1202を、上流側の隣接通信部1202と呼び、出力端子359で接続する通信部1202を下流側の隣接通信部1202と呼ぶ。なお、通信部1202は、信号線351〜356を有し、これらの信号線により、対応する処理部1203(1203−2〜1203−4のいずれか)と接続するものとする。
上流側の隣接通信部1202から入力されたパケットは、バッファ302に一時的に保持され、次のクロックサイクルでセレクタ303に出力される。受信部301は、入力端子357からのパケットを監視し、validフラグ201が有効であるか、およびID204とカウント値203が受信部301の保持する値とそれぞれ一致するかを判定する。また、受信部301は、受信部301に接続されている処理部1203においてデータ処理が可能であるかを判定する。具体的には、信号線353のstall信号が有効でなければ、処理部1203でデータ処理可能であり、処理部1203へのデータ入力が可能であると判定する。
受信部301は、処理部1203においてデータ入力が可能であり、入力されたパケットのvalidフラグ201が有効で、ID204とカウント値203とが受信部301の保持する値とそれぞれ一致する場合、当該パケット中のデータを取り込む。このとき、受信部301は信号線351のvalid信号を有効にして、信号線352から処理部1203へ取り込んだデータを出力する。また、受信部301は、パケットのデータの取り込み後、受信部301内で管理しているデータに付随のカウント値をインクリメントする。同時に信号線360を介して、バッファ302に格納されたパケットのvalidフラグ201のクリア(無効化)の制御をおこなう。また、信号線361を介して、バッファ302に格納されたパケットのstallフラグ202の値を設定する。これらの制御の動作の詳細については後述する。
送信部304は、バッファ302から信号線358に出力されるパケットのvalidフラグ201を、信号線363を介して監視する。validフラグ201が有効のときは、バッファ302の出力パケットを優先して出力端子359へ出力するため、送信部304は処理部1203からのデータを含むパケットを出力することができない。このため、送信部304は、信号線354を介してstall信号を有効とし、処理部1203からのデータの出力を保留させる。なお、バッファ302の出力パケットのvalidフラグ201が無効の時は、信号線354を介してstall信号を無効にし、処理部1203からのデータを受け付ける。なお、信号線358のvalidフラグ201が有効である場合、セレクタ303はバッファ302の出力を選択して出力する。
処理部1203においてデータ出力が可能な場合(信号線356のvalid信号が有効の場合)、送信部304は信号線362におけるvalidフラグ201を有効にする。そして、送信部304は、自身の内部で管理しているカウント値とレジスタに設定されている接続IDを付加してパケットを生成し、信号線362を介してセレクタ303に出力する。セレクタ303は、信号線358のvalidフラグ201が無効である場合に、送信部304の出力である信号線362を選択し、送信部304が生成したパケットを出力端子359からリングバス1206へと送出する。なお、パケットを生成すると表現しているが、概念的にはリングバス1206を流れる空パケットにデータを格納していることになる。パケット出力後、上述のカウント値はインクリメントされる。
(受信部の構成)
図6は、受信部301の概略構成を示すブロック図である。受信部301は、図示のように、レジスタ401(記憶部)、カウンタ402、比較部403、判定部404(切換部)、stallカウンタ405、eraseモードレジスタ406を有する。
レジスタ401は、接続IDが記憶されており、この接続IDと、受信パケットのID204とが一致する場合、受信部301が接続する処理部1203がその受信パケットに含まれるデータを処理すべきであることを示す。カウンタ402は、処理を行うデータの順序を管理する。受信パケットのカウント値203とカウンタ402の値が一致する場合、受信部301が接続する処理部1203が次に処理すべきデータがその受信パケットに含まれることを示す。
比較部403は、受信パケットのvalidフラグ201、stallフラグ202、ID204、カウント値203を監視する。そして、受信パケットのvalidフラグ201が有効な場合、当該パケットのID204とレジスタ401に格納されている接続IDとが一致するかどうか、更に当該パケットのカウント値とカウンタ402の値が一致するかどうかを比較する。比較部403は、接続IDが一致した際には接続ID一致信号を、カウント値がカウンタ402の値と一致した際にはカウント値一致信号を、それぞれ「有効」として判定部404に出力する。また、比較部403では、入力されたパケットのstallフラグ202が有効な場合、stall有効信号を判定部404へ出力する。
判定部404は、接続ID一致信号、カウント値一致信号、stall有効信号、信号線353を介した処理部1203のstall信号、stallカウンタ405、eraseモードレジスタ406に基づいて、実行すべき処理を判定する。ここで、信号線353からのstall信号は、処理部1203が処理を実行できるかを示す信号であり、無効である場合に処理部1203が処理を実行でき、データを取り込むことができることを示す。
stallカウンタ405は、受信部301自身がstallフラグ202を有効にしたときに1つだけカウントアップする(カウント値に1を加える)カウンタである。そして、stallカウンタ405は、stallフラグ202を有効としたパケットを後に処理することにより、カウント値から1だけ減算される。stallカウンタ405は、電源のオンなどにより動作開始される時にリセットされ、初期値は「0」とされる。そのため、受信部301自身が保留パケットを出力しない限り、値は「0」のままである。すなわち、stallカウンタ405は、受信部301自身が保留したパケットの個数、あるいは対応する処理部1203が処理を保留した後に、その後処理されず残ったデータの個数を示す。
なお、通信部1202は、このstallカウンタの値が「0」より大きくstallフラグ202が有効である時、又はstallフラグ202が無効である時のみ、受信パケットのstallフラグ202の値を変更することが許可される。すなわち、stallカウンタの値が「0」より大きくstallフラグ202が有効である時にのみ、stallフラグ202を有効から無効へと変更することができる。そして、stallフラグ202が無効である時にのみ、stallフラグ202を無効から有効へと変更することができる。
また、eraseモードレジスタ406は、制御部100の設定によりeraseモードが有効または無効に設定された場合、その設定を記憶しておくレジスタである。なお、動作開始時以外であっても、モードを切り替える際(新たな処理を開始する際)、データ入力の開始前に、例えば制御部100の指示によってリセットされることで、stallカウンタ405の値が「0」にクリアされてもよい。
(受信部の動作)
受信部301が、レジスタ401に記憶された接続IDと同一のIDを有するパケットを受信した場合の動作は、大別すると2つの動作に分類される。すなわち、(1)受信パケットを解析し、処理部1203がデータ処理可能な場合にデータ205を処理部1203へ送信する受理動作と、(2)処理部1203がデータ処理できない場合に、バッファ302に保留パケットを出力する保留動作である。なお、レジスタ401に記憶された接続IDと異なるIDを有するパケットを受信した場合は、バッファ302に記憶されたパケットをそのまま隣接する通信部1202へ出力(スルー)する。
動作(1)は、さらに、(1−1)stallフラグ202の値を変更しない動作と、(1−2)stallフラグ202の値を変更する動作と、の2つの動作に分かれる。さらに、動作(1−1)は、(1−1−1)バッファ302に空パケットを格納する動作と、(1−1−2)バッファ302に有効パケットを格納する動作と、に分かれる。動作(1−2)も同様に、(1−2−1)バッファ302に空パケットを格納する動作と、(1−2−2)バッファ302に有効パケットを格納する動作と、に分かれる。動作(2)に関しては、(2−1)stallフラグ202を有効にする動作と、(2−2)stallフラグ202を変更しない動作、とに分かれる。これらのどれが選択されるかは、判定部404により決定される。以下、それぞれの動作について説明する。
(1)受理動作
(1−1)stallフラグ202の値を変更しない動作
この動作は、stallカウンタ405の値が「0」の場合の動作である。すなわち、受信部301において保留パケットを出力していない、または一旦保留したデータをすべて処理した後に、この動作を行うこととなる。
(1−1−1)バッファ302に空パケットを格納する動作
この動作は、eraseモードが有効に設定されている通信部1202で、stallカウンタ405が0であることに加えて、所定の条件を満たす場合に実行される。その所定の条件とは、受信パケットに含まれるvalidフラグが有効であり、接続ID一致信号とカウント値一致信号が共に有効であり、stall有効信号が無効であり、さらに信号線353上のstall信号が無効なことである。
この動作では、バッファ302のパケットを無効化するために、信号線360を介してバッファ302に記憶されたパケットのvalidフラグ201をクリアする制御を行う。同時に、信号線361を介して、バッファ302にstallフラグ202の制御信号を出力する。stallフラグの制御には、セット(有効化)、クリア(無効化)、保持(何もしない)の3種類があるが、ここでは、stallカウンタ405の値が「0」であるため、「保持」の制御信号を出力する。
また、この動作の実行時には、判定部404は、受信して処理部1203へ送信したデータに続くデータを取得するために、次のクロックサイクルにおいて、カウンタ402にカウント値をインクリメント(カウント値に1を加算)させる。例えば、カウンタ402にカウント有効信号を有効として通知し、カウンタ402はその通知を受信することに応じてカウント値をインクリメントするようにする。同時に、判定部404は信号線351のvalid信号を有効にし、信号線352を介してパケットに含まれるデータ205を処理部1203へ出力する。
(1−1−2)バッファ302に有効パケットを格納する動作
この動作は、eraseモードが有効に設定されている通信部1202で、stallカウンタ405が0であることに加えて、所定の条件を満たす場合に実行される。その所定の条件とは、受信パケットに含まれるvalidフラグが有効であり、接続ID一致信号とカウント値一致信号が共に有効であり、stall有効信号が有効であり、さらに信号線353上のstall信号が無効なことである。
また、この動作は、eraseモードが無効とされている通信部1202で、stallカウンタ405が0であることに加えて、所定の条件を満たす場合にも実行される。その条件とは、受信パケットに含まれるvalidフラグ、接続ID一致信号、カウント値一致信号が全て有効であり、さらに信号線353上のstall信号が無効であることである。
この場合、判定部404は、バッファ302のvalidフラグ201をクリアせずに有効のままとする。また、stallフラグ202についても、stallカウンタ405が「0」であるため、「保持」とする。その他の、カウント値のインクリメントやデータの出力等の制御については(1−1−1)の動作と同様であるため、説明を省略する。
(1−2)stallフラグ202を無効にする動作
この動作は、stallカウンタ405の値が「0」でない場合であって、所定の条件を満たす場合の動作である。所定の条件とは、受信パケットに含まれるvalidフラグが有効であり、接続ID一致信号とカウント値一致信号が共に有効であり、stall有効信号が有効であり、さらに信号線353上のstall信号が無効なことである。
stallカウンタ405の値が「0」より大きい場合は、受信部301自身がstallフラグ202を有効としたパケットを出力したことがあることを示す。この状態でstallフラグ202が有効のパケットを受信すると、そのパケットに含まれるデータを処理部1203に処理させることにより、バッファ302のstallフラグ202を無効にすることが可能である。なお、この時、判定部404は、処理部1203がstallフラグ202が有効のパケットに含まれるデータを処理することに伴い、stallカウンタ405の値をデクリメント(1だけ減算)させる。例えば、判定部404は、stallカウンタ405に、カウントダウン命令を含むカウント制御信号を出力し、次のクロックサイクルでstallカウンタ405にカウント値をデクリメントさせる。なお、stallカウンタ405の最小値は「0」であり「0」までデクリメントすると、その後は値を保持する。
(1−2−1)バッファ302に空パケットを格納する動作
この動作は、eraseモードが有効に設定されている通信部1202で実行される。この場合の動作は、(1−1−1)の動作とほぼ同様であり、バッファ302に記憶されたパケットのvalidフラグ201を無効にする。ただし、(1−1−1)の動作と異なり、判定部404は、バッファ302に記憶されたパケットのstallフラグ202をクリアする制御信号を出力する。その他の、カウント値のインクリメントやデータの出力等の制御については(1−1−1)の動作と同様であるため、説明を省略する。
(1−2−2)バッファ302に有効パケットを格納する動作
この動作は、eraseモードが無効に設定されている通信部1202で実行される。この場合の動作は、(1−2−1)の動作と同様に、判定部404は、バッファ302に記憶されたパケットのstallフラグ202をクリアする制御信号を出力する。ただし、判定部404は、バッファ302に記憶されたパケットについて、validフラグ201をクリアすることはせず、有効のままとする。その他の、カウント値のインクリメントやデータの出力等の制御については(1−1−1)の動作と同様であるため、説明を省略する。
(2)保留動作
信号線353を介したstall信号が有効である場合、処理部1203がデータを取り込めないため、保留動作を行う。この場合、判定部404はstall有効信号及びstallカウンタ405の値を参照して、バッファ302のstallフラグ202を設定するか否かを判定する。同時に、判定部404は信号線351のvalid信号を無効にする。
(2−1)stallフラグ202を変更する動作
この動作は、接続ID一致信号とカウント値一致信号が有効で、stall有効信号が無効の場合で、信号線353を介したstall信号が有効の場合に実行される。また、接続ID一致信号が有効で、カウント値一致信号とstall有効信号が無効である場合に、stallカウンタ405の値が0でない場合にも実行される。前者の場合、受信パケットに含まれるデータを、処理部1203が取り込むことができないため、受信パケットのstallフラグを有効とするものである。後者の場合、受信パケットより前のカウント値を有するパケットを受信部301自身が保留したと考えられるため、受信パケットのstallフラグを有効とするものである。この場合、判定部404は、バッファ302に記憶されたパケットのstallフラグ202をセットする制御信号を出力する。また、stallカウンタ405を1だけカウントアップするように制御信号を出力する。この場合は、処理部1203でデータを取り込めないため、判定部404は信号線351のvalid信号を無効とする。また、カウンタ402の値も変えない。
(2−2)stallフラグ202を変更しない動作
この動作は、接続ID一致信号とカウント値一致信号が有効で、stall有効信号が有効の場合で、信号線353を介したstall信号が有効の場合に実行される。この場合、保留パケットを出力することになるが、判定部404は既にstallフラグ202は有効であるため変更しない。また、stallカウンタ405もカウントアップせず値を保持する。
(送信部の構成)
図7は、送信部304の概略構成を示すブロック図である。図示のように送信部304は、レジスタ501(記憶部)、カウンタ502、パケット生成部503を有する。信号線363を介してバッファ302の出力パケットのvalidフラグ201がパケット生成部503に入力される。また、そのvalidフラグ201は、信号線354を介して処理部1203へも出力される。さらに、処理部1203は、信号線355と信号線356を介して、それぞれデータ及びデータ有効信号(valid信号)をパケット生成部503に入力する。パケット生成部503は生成したパケットを信号線362を介してセレクタ303へ出力する。
パケット生成部503は、接続されている処理部1203から信号線356を介して伝達されるvalid信号を参照し、valid信号が有効の場合、処理部1203からのデータ出力が可能であると判定する。処理部1203からのデータ出力が可能であると判定した場合で、信号線354のvalidフラグ201が無効の時、パケット生成部503はカウンタ502のカウント値とレジスタ501に設定されている出力接続IDを格納するパケットを生成する。ここで、パケット生成部503は、生成するパケットのvalidフラグを有効に、stallフラグを無効に設定する。さらに、信号線355を介して処理部1203が処理したデータパケットのデータ205に格納する。そして、パケット生成部503はセレクタ303にパケットを出力する。そして、次のクロックサイクルにおいて、カウンタ502はカウント値をインクリメント(カウント値に1を加算)する。なお、通信部1202において、送信部304のカウンタ502と受信部301のカウンタ402は、同期を確保するため、制御部100によりデータ転送開始に先だって同じ値に初期化される。
なお、通信部1202は、受信パケットについて、stallフラグ202が無効かつID204がレジスタ501に格納されている出力接続IDと等しい場合は、自分が出力したパケットが後段で処理されなかったものとみなし、validフラグ201を無効にしてパケットを消去する(空パケットにする)。パケットを消去する理由は、通信部1202が出力したパケットが後段で処理されず、また処理の保留も発生しなかったため、当該パケットに含まれるデータを処理すべきモジュールがもはや存在しないと判断できるからである。
(データパス制御機構の動作)
次に図8Aおよび図8Bを用いて、図5〜7に示した本実施形態に係る通信部1202を用いた場合の図2の構成のデータパス制御機構における分岐処理の動作を説明する。図8Aおよび図8Bでは、通信部1202−1〜1202−4のそれぞれにおける受信部301の状態を処理ステップに分けて示している。分岐処理として、A→B及びA→Cの並列処理を行う。なお、通信部1202−1〜1202−4内のレジスタ401、レジスタ501の値は、制御部100により分岐処理の実行のための値に設定されているものとする。また、通信部1202−3のeraseモードレジスタ406は無効に設定され、それ以外の通信部は有効に設定されているものとする。
なお、図中で丸で囲まれた番号は有効パケット(validフラグ201が有効のパケット)を示し、丸の中の番号はパケットのカウント値203であり、太い枠の丸はパケットのstallフラグ202が有効であることを示す。有効パケットの下の数字402、405、353はそれぞれカウンタ402の値、stallカウンタ405の値、信号線353を介して入力されるstall信号の状態を示す。なお、説明を簡略化するため、処理部1203−2、入出力部1201は常にデータを処理可能で、通信部1202−2及び1202−1からは保留パケットが出力されないものとする。
また、図では、信号線353の状態は、stall有効信号が無効でありデータ処理可能である場合を「invalid」、信号線353のstall有効信号が有効でありデータ処理できない場合を「valid」と記載している。
まず、入力端子151から0番目のデータが入力され(S0)、通信部1202−1から当該データを含むパケットが出力される。次に、通信部1202−2は、処理部1203−2がデータ処理可能(信号線353がinvalid)であるため、通信部1202−1が送出したパケットを受信すると、そのパケットに含まれる0番目のデータを取り込む。そして、カウンタ402に1を加算(インクリメント)して「1」とする(S1)。そして、データを処理部1203−2へ送信するとともに、空パケットを出力する(S2)。処理部1203−2はデータの処理を行い(S2)、通信部1202−2は、処理Aの実行後のデータをパケット化してリングバス1206に出力する(S3)。なお、この受信動作は上述の動作(1−1−1)に該当する。
通信部1202−3は、処理部1203−3がデータ処理可能(信号線353がinvalid)であるため、処理部1203−2で処理済みの0番目のデータを受信パケットから取り込み、カウンタ402をインクリメントして「1」とする(S3)。そして、通信部1202−3では、eraseモードが無効となっていることから、処理部1203−3へデータを送信すると共に、受信した有効なパケットをリングバス1206上へ出力する(S4)。処理部1203−3は、受信したデータに対して処理Bを実行する(S4)。処理後のデータは、通信部1202−3へ出力され、通信部1202−3は当該データをパケット化してリングバス1206に出力する(S5)。この動作は上述の動作(1−1−2)に該当する。その後、当該処理後のデータを含むパケットは、通信部1202−4をスルーされ(S5)、1202−1を介して処理後のデータが出力端子152に出力され、パケットが消去される(S6)。なお、処理Bの実行後、処理部1203−3はデータ処理ができない状態になる(信号線353がvalidとなる)ものとする。
通信部1202−4は、処理部1203−4がデータ処理可能(信号線353がinvalid)であるため、処理部1203−2で処理済みの0番目のデータを含むパケットを取り込み、カウンタ402をインクリメントして「1」とする(S4)。処理部1203−4は、通信部1202−4が取り込んだデータに対して処理Cを実行し、処理後のデータを通信部1202−4へ返す(S5)。通信部1202−4は、受信したデータをパケット化してリングバス1206に出力する。なお、通信部1202−4は、S6においては、通信部1202−3から受信したパケットを転送するため、処理Cを実行後のデータを含むパケットは、S7においてリングバス1206上へ出力される。この動作は上述の場合(1−1−1)に該当する。出力されたパケットは、1202−1を介して処理後のデータが出力端子152に出力され、パケットが消去される(S7)。
次に、1番目のデータを含むパケット(カウント値203が1のパケット)について説明する。1番目のデータはS3において入力端子151から入力され、通信部1202−1においてパケット化され、リングバス1206上へ出力される(S4)。通信部1202−2は、処理部1203−2がデータ処理可能であるため、当該パケットからデータを取り込み、カウンタ402をインクリメントして「2」とする(S4)。その後、取り込んだデータを処理部1203−2へ出力し、処理部1203−2は、当該データに処理Aを実行する(S5)。処理後のデータは通信部1202−2へ入力され、通信部1202−2は、当該データをパケット化してリングバス1206に出力する(S6)。なお、本受信動作も上述の動作(1−1−1)に該当する。
通信部1202−3は、処理部1203−3がデータ処理不能(信号線353がvalid)であるため、処理部1203−2で処理済みの1番目のデータを含むパケットを取り込むことができない(S6)。このため、通信部1202−3は、stallカウンタ405をインクリメントして「1」とし、バッファ302内のパケットのstallフラグ202を有効にする(S6)。この動作は上述の動作(2−1)に該当する。
通信部1202−4は、処理部1203−4がデータ処理可能であるため、処理部1203−2で処理済みの1番目のデータを含むパケットを取り込み、カウンタ402をインクリメントして「2」とする(S7)。そして、通信部1202−4は、取り込んだデータを処理部1203−4へ入力すると共に、バッファ302内のパケットをvalidフラグ201及びstallフラグ202は変更せずにリングバス1206上へ出力する(S8)。この動作は上述の動作(1−1−2)に該当する。処理部1203−4は、入力されたデータに対して処理Cを実行し、処理後のデータを通信部1202−4へ返す(S8)。通信部1202−4は処理後のデータをパケット化してリングバス1206に出力し、処理後のデータは、通信部1202−1を介して出力端子152に出力され、消去される(S9)。
ここで、1番目のデータと並行して2番目のデータがS6において入力端子151から入力されるものとする。入力されたデータは、通信部1202−1においてパケット化され、リングバス1206上へ出力される(S7)。通信部1202−2は、処理部1203−2がデータ処理可能であるため、当該パケットからデータを取り込み、カウンタ402をインクリメントして「3」とする(S7)。その後、取り込んだデータを処理部1203−2へ出力し、処理部1203−2は、当該データに処理Aを実行する(S8)。処理後のデータは通信部1202−2へ入力され、通信部1202−2は、当該データをパケット化してリングバス1206に出力する(S9)。なお、本受信動作も上述の動作(1−1−1)に該当する。
ここで、処理部1203−3は、S8において、データ処理可能となったものとする。通信部1202−3は、処理部1203−3がデータ処理可能であるため、受信パケットのIDやカウント値と、通信部1202−3内部に記憶された値とを比較する。しかしながら、この場合、受信パケットのカウント値203(2)と、カウンタ402の値(1)が異なる。この場合、接続ID一致信号は有効であるが、カウント値一致信号とstall有効信号が無効であり、さらにstallカウンタが0でないため、stallカウンタ405の値をインクリメントして「2」とする(S9)。また、バッファ302においてパケットのstallフラグ202を有効として、当該パケットをリングバス1206上へ出力する。この動作は上述の動作(2−1)に該当する。
その後、通信部1202−3は、以前に保留した1番目のデータを含むパケットを受信する(S10)。この時点では、処理部1203−3はデータ処理可能であるため、カウント値をインクリメントし、stallカウントをデクリメントする。同時に、バッファ302に記憶されているパケットのstallフラグ202をクリアする。ただし、validフラグはクリアしない。この動作は上述の動作(1−2−2)に該当する。そして、当該パケットからデータを取り出し、処理部1203−3に出力する。処理部1203−3は、当該データに対して処理Bを実行し(S11)、通信部1202−3へ返す。通信部1202−3は、受信した処理後のデータをパケット化してリングバス1206上へ出力する(S12)。当該パケットは、通信部1202−4をスルーされ(S12)、1202−1を介して出力端子152から出力され、消去される(S13)。なお、stallフラグ202をクリアされた分岐パケットは、通信部1202−2に到達すると、stallフラグ202が無効かつID204がレジスタ501に格納されている出力接続IDと等しいので、通信部1202−2により自分が出力したパケットが後段で処理されなかったものとみなされ、消去される(validフラグがクリアされる)(S13)。
また、通信部1202−4は、通信部1202−3が保留しリングバス1206上へ出力した2番目のデータを含むパケットを受信する(S10)。ここで、S8において、処理部1203−4はデータ処理ができない状態となったものとする。この場合、接続ID一致信号とカウント値一致信号とstall有効信号が全て有効であり、処理部1203−4からのstall信号が有効であるため、上述の動作(2−2)を実行する。すなわち、通信部1202−4は、stallフラグ202を変更せずにバッファ302のパケットをリングバス1206上へ出力し、さらにstallカウンタ405も値を保持する(S10)。
ここで2番目のデータを含むパケットは、通信部1202−1と通信部1202−2をスルーされ(S11、S12)、通信部1202−3により受信される。通信部1202−3では、処理部1203−3がデータ処理可能であるため、受信パケットから2番目のデータを取り込み、カウンタ402をインクリメントして「3」とする(S13)。また、stallカウンタ405をデクリメントする。また、バッファ302に記憶されたパケットのstallフラグ202を無効とし、validフラグは変更せずに、当該パケットをリングバス1206上へ出力する(S14)。この動作は、上述の動作(1−2−2)に該当する。
通信部1202−3が取り込んだデータは、処理部1203−3へ出力され、処理部1203−3は当該データに対して処理Bを実行する(S14)。処理部1203−3は処理後のデータを通信部1202−3へ出力し、通信部1202−3は、処理後のデータをパケット化してリングバス1206に出力する(S16)。その後、当該パケットは、通信部1202−4、1202−1を介して処理後のデータが出力端子152に出力され、パケットが消去される(S17)。なお、このパケットがS15で送出されない理由は、バッファ302に3番目のデータを含む有効なパケットが記憶され、そのパケットの送出を優先したからである。
なお、S13でstallフラグ202を無効とされたパケットは、通信部1202−4により受信される(S14)。通信部1202−4は、当該パケットについて、validフラグ、接続ID一致信号、カウント値一致信号の全てが有効であり、stall有効信号が無効で、処理部1203−4がデータ処理可能であるため、当該パケットからデータを取り込む。そして、カウンタ402をインクリメントして「3」とする(S14)。この動作は上述の動作(1−1−1)に該当する。その後、取り込んだデータを処理部1203−4へ出力し、処理部1203−4は、当該データに処理Cを実行する(S15)。処理後のデータは通信部1202−4へ入力され、通信部1202−4は、当該データをパケット化してリングバス1206に出力する(S20)。ここで、このパケットがS16〜S19でリングバス1206上へ出力されない理由は、バッファ302に有効なパケットが続けて入力され、それらのパケットを優先して出力したからである。リングバス1206上へ出力されたパケットは、通信部1202−1が受信し、パケットに含まれるデータが出力端子152に出力された後に消去される。
また、S10において、3番目のデータが入力端子151から入力され、通信部1202−1は当該データをパケット化してリングバス1206上へ出力する(S11)。通信部1202−2は、処理部1203−2が処理可能であるため、1番目のデータを含むパケットを取り込み、カウンタ402をインクリメントして「4」とする。この動作も上述の動作(1−1−1)に該当する。通信部1202−2はパケットからデータを取り込み、当該データを処理部1203−2へ出力する。処理部1203−2はデータに対して処理Aを実行し、処理後のデータを通信部1202−2へ返す(S12)。通信部1202−2は、受信したデータをパケット化してリングバス1206に出力する(S14)。なお、このパケットをS13で出力しない理由は、通信部1202−3が保留した2番目のデータを含むパケットの送出を優先したからである。
通信部1202−3は、処理部1203−3が処理可能であるため、3番目のデータを含むパケットを取り込み、カウンタ402をインクリメントして「4」とする。そして、通信部1202−3は、取り込んだデータを処理部1203−3へ出力し、処理部1203−3はデータに対して処理Bを実行する(S15)。また、通信部1202−3は、eraseモードが無効であるため、バッファ302に記憶されたパケットのvalidフラグをそのまま維持して、当該パケットをリングバス1206上へ出力する(S15)。この動作は、上述の動作(1−1−2)に該当する。処理後のデータは通信部1202−3へ戻され、通信部1202−3は、当該データをパケット化してリングバス1206上へ出力する(S16)。リングバス1206上へ出力されたパケットは、通信部1202−1で受信され、当該パケットに含まれるデータが出力端子152へ出力された後に消去される(S17)。
通信部1202−4は、通信部1202−3から出力された分岐処理のためのパケットを受信する(S15)。このとき、S14の動作の後に、処理部1203−4がデータ処理ができない状態になったものとする。すると、通信部1202−4は、処理部1203−4がデータ処理不能であるため、受信パケットに含まれるデータを取り込めない。このため、stallカウンタ405をインクリメントして「1」とする。そしてバッファ302に記憶されたパケットのstallフラグ202を有効にして、リングバス1206上へ出力する(S16)。この動作は上記の動作(2−1)に該当する。
通信部1202−4で保留された3番目のデータを含むパケットは、通信部1202−1〜通信部1202−3をスルーして(S16〜S18)、再度、通信部1202−4により受信される(S19)。なお、処理部1203−4は、パケットの受信前にデータ処理が可能な状態となったものとする。通信部1202−4は、処理部1203−4がデータ処理可能であることから、パケットに含まれるデータを取り込み、カウント値をインクリメントし、stallカウントをデクリメントする(S19)。このとき、通信部1202−4はeraseモードが有効であるため、バッファ302に記憶されたパケットのvalidフラグを無効とする。この動作は上述の動作(1−2−1)に該当する。取り込まれたデータは処理部1203−4へ入力され、処理部1203−4は、データに対して処理Cを実行する(S20)。処理後のデータは通信部1202−4へ戻され、通信部1202−4は、当該データをパケット化してリングバス1206上へ出力する(不図示)。
4番目のデータと5番目のデータを含むパケットについても、上述の動作と同様に処理が行われる。このように、stallカウンタ405の値により、保留動作を実行した通信部1202を特定することにより、自モジュールが出力した保留パケットは、他の分岐のモジュールで削除されることがなくなる。これにより、リングバスを用いたデータパス制御機構において、分岐処理が正常に実行可能となる。なお、stallカウンタ405のビット数は、保留パケットなしの状態(カウント値「0」)に、リングバス上のすべての空パケットを消費するする状態分のカウントができればよい。例えば、本実施形態の場合、リングバス1206上に4つの通信部1202があるため、stallカウンタ405は3ビット分だけ用意すれば十分である。
<<実施形態2>>
次に本発明の一実施形態である実施形態2を説明する。情報処理装置と、情報処理装置内のデータ処理部は実施形態1と同様に、図1および図2のような構成を備える。
(パケットのデータ構造)
図9にリングバス1206を流れるパケットのデータ構造を示す。図中、実施形態1の図2と同じ機能を有する部品は同一の記号を付し、説明を省略する。異なる点はstallフラグ202がstallID802に置き換わっていることである。stallID802は保留パケットを出力した分岐番号を格納する領域である。ここで、分岐番号とは例えば処理A→B、A→Cの分岐処理を行う場合、分岐の枝としては処理B、処理Cの2つが存在する。それぞれの枝を特定するために、それぞれの通信部1202内の後述するstallIDレジスタ1005に分岐番号を格納する。したがって、この場合、stallID802とは、処理B、処理Cのいずれで処理が保留されたかが特定できる情報であればどのようなものであってもよい。ここでは説明をわかりやすくするため、例えば、入出力、処理A、処理Bおよび処理Cそれぞれの枝に対して「1」、「1」、「2」、「3」を格納する。そして、それぞれの枝で保留パケットを出力した時、パケット上のstallID802にstallIDレジスタ1005の分岐番号を格納する。なお、stallID802が「0」の時は保留パケットでないことを示す。
本実施形態では、通信部1202は実施形態1と同様、図5のような構成を有する。ただし、信号線361は、バッファ302に記憶されたパケットのstallID802を設定するのに使用される。
(受信部の構成および動作)
また、本実施形態に係る受信部301の構成を図10に示す。実施形態1の場合と比較すると、受信部301は、stallカウンタ405に代えてstallIDレジスタ1005を備えた点と、比較部403と判定部404への配線、および比較部403と判定部404の動作が異なる。本実施形態では、受信部301は、受信パケットのstallID802がstallIDレジスタ1005の分岐番号と一致した時のみ、バッファ302に記憶されているパケットのstallID802を無効とすることができる。
なお、受信部301の比較部403では、実施形態1の場合、stallフラグ202が無効であるかを監視したが、本実施形態ではstallID802が「0」でないかを監視する。なお、stallID802が「0」の場合の動作は、実施形態1においてstallフラグ202が無効である場合の動作と一致する。一方、stallID802が「0」でない場合、比較部403は、受信パケットのstallID802がstallIDレジスタに記憶された値と一致する場合、stallID一致信号を「有効」として、判定部404へ出力する。なお、stall有効信号は、stallIDが「0」でない場合に有効となる。
判定部404では、信号線361を介して、stallID802の制御信号をバッファ302へ出力する。制御の種類は、クリアと保持については実施形態1と同様であるが、セットについては、stallIDレジスタ1005に記憶された値をパケットのstallID802に書き込む制御となる。また、本実施形態ではstallカウンタ405がないため、カウントアップやカウントダウンの制御信号を出力することはない。
判定部404の動作は、動作(1−1)については実施形態1と同様である。一方、動作(1−2)については、stallID一致信号が有効である場合に動作する。stallID一致信号が有効ということは、受信部301自らが保留としたパケットを受信したことを示す。このため、当該パケットに含まれるデータを対応する処理部1203に出力すると同時に、バッファ302に記憶されたパケットのstallID802をクリア(無効化)する。なお、validフラグについては、上述の(1−2−1)および(1−2−2)の動作と同様に、eraseモードが有効か無効かにより、無効化するか、そのまま維持するかを決定する。動作(2−1)については、接続ID一致信号とカウント値一致信号が有効で、stall有効信号が無効の場合で、信号線353を介したstall信号が有効の場合に実行されるのは実施形態1と同様である。しかし、接続ID一致信号が有効で、カウント値一致信号とstall有効信号が無効である場合は、stallID一致信号が有効である場合に実行される点で実施形態1と異なる。すなわち、実施形態1におけるstallカウンタ405が「0」以外である、との条件に代えて、本実施形態では、stallID一致信号が有効である、という条件を用いる。バッファ302に記憶されたパケットのstallID802に、stallIDレジスタ1005に記憶された値を書き込む。一方、動作(2−2)については、実施形態1と同様である。
なお、通信部1202は、stallID802が0の場合、又はstallID802がstallIDレジスタ1005に格納されている分岐番号と一致する場合にのみ、stallID802の値を変更することが許可される。すなわち、stallID802が0の場合は、stallID802の値をstallIDレジスタ1005に格納されている分岐番号へ変更することが許可される。そして、stallID802がstallIDレジスタ1005に格納されている分岐番号と一致する場合に、stallID802の値をクリアして0へ変更することが許可される。
(送信部の構成)
送信部304は、実施形態1と同様、図7のような構成を有する。送信部304の動作は実施形態1と同様である。ただし、処理部1203から出力されたデータをパケット化する場合、stallID802を「0」とする。
(データパス制御機構の動作)
次に図11Aおよび図11Bを用いて、実施形態2に係るデータパス制御機構の分岐処理の動作を説明する。分岐処理としてはA→B及びA→Cの並列処理を行う。なお、制御部100により、通信部1202−1〜4内のレジスタ401、レジスタ501の値が分岐処理を実現するための値に設定されているものとする。また、通信部1202−3のeraseモードレジスタ406は無効に設定され、それ以外の通信部1202のeraseモードは有効に設定されている。さらに、通信部1202−1〜4内のstallIDレジスタ1005にはそれぞれ1、1、2、3の分岐番号が設定されるものとする。
また、図中番号付きの丸は有効パケット(validフラグ201が有効)を示し、丸の中の番号はパケットのカウント値203であり、太枠の丸はパケットのstallID802が「0」以外であるものを示す。なお、太枠の丸の中の「X−Y」の表記は、X番目のデータを含むパケットであって、stallID802がYである、ということを示す。灰色の丸は空パケットを示す。有効パケットの下の数字402、353はそれぞれカウンタ402の値、信号線353を介して入力されるstall信号の状態を示す。なお、説明を簡略化するため、処理部1203−2、入出力部1201は常に処理可能で、通信部1202−2及び1202−1からは保留パケットが出力されないものとする。
S200〜S205の動作は図8のS0〜S5と同様である。S206において、処理部1203−3でstall信号が有効であると判定されるが、本実施形態ではstallカウンタ405がないため、そのカウントアップは発生しない。ただし、S207において出力されるパケットについて、stallID802は、通信部1202−3のstallIDレジスタ1005に記憶された値である「2」として設定される。このため、図中のS207の通信部1202−4に到達するパケットは太枠の中の数字が「1−2」となっている。その後の処理についても、同様に、保留が発生すると、通信部1202のstallIDレジスタ1005に記憶された値が、パケットのstallID802に書き込まれる。このように、本実施形態では、実施形態1でstallカウンタ405の値をインクリメントしていたところ、代わりにバッファ302に記憶されたパケットのstallID802をstallIDレジスタ1005に記憶された値とする。同様に、本実施形態では、受信パケットのstallID802がstallIDレジスタ1005に記憶された値と一致する場合、当該パケットに含まれるデータに対して処理を実行し、stallIDをクリアする制御を行う。このとき、通信部1202は、実施形態1におけるstallカウンタ405のデクリメントのような、内部状態の変化は伴わない。このように、stallID802とstallカウンタ405との関係で動作が変化するが、それ以外の動作は実施形態1とほぼ同様となる。このため、他のステップについては説明を省略する。
以上のように、保留パケットを出力したモジュールや分岐の枝を特定するようにしたことにより、保留パケットの出力を伴う複雑な分岐処理が実現可能となる。また、リングバス上のモジュール数の増加や分岐数の増加に対しては、stallカウンタのビット数やstallIDのビット数を増加させることにより容易に対応可能である。このように、本実施形態により、簡易なハードウエアで複雑な分岐処理に対応可能となる。
<<その他の実施形態>>
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。

Claims (15)

  1. リング状にバス接続されている複数の通信手段を備え、前記通信手段の各々がそれぞれ所定の処理を実行する処理手段に接続され、接続された前記処理手段が処理を実行した後のデータをパケットとして前記バスへ送出することにより、予め定めた順序で前記処理手段の間のデータの受け渡し及び処理を実行する情報処理装置であって、
    前記複数の通信手段のうちの少なくとも1つの通信手段は、
    データと、当該データに対する処理が保留されたか否かを示す保留情報とを含むパケットを受信し、当該パケットを保持する保持手段と、
    前記保持手段に保持されたパケットを前記バスへ送出する送信手段と、
    前記保持手段に保持されたパケットに含まれるデータが前記1つの通信手段自身に接続された処理手段により処理されるべきであるかの判定と、前記保持手段が受信したパケットに含まれる保留情報が当該パケットに含まれるデータに対する処理が保留されたことを示す場合に当該保留情報の設定を当該保持手段が行ったかの判定と、前記保持手段が受信したパケットに含まれるデータが前記1つの通信手段自身に接続された処理手段により処理されるべき場合に当該データに対する処理が保留されるべきかの判定と、を行う判定手段と、
    を有し、
    前記保持手段は、保持しているパケットに、前記判定手段における判定結果に応じた処理を施し又は何も処理を施さず、前記送信手段は、当該処理が施されたパケット又は前記保持手段が受信したパケットを、前記バスへ送出する
    ことを特徴とする情報処理装置。
  2. 前記保持手段は、前記保持手段が受信したパケットに含まれるデータが前記1つの通信手段自身に接続された処理手段により処理されるべき場合に当該データに対する処理が保留されるべきと前記判定手段が判定した場合は、当該パケットに含まれる保留情報を、当該パケットに含まれるデータに対する処理が保留されたことを示す値に設定し、前記送信手段は、前記保持手段において前記設定が行われたパケットを前記バスへ送出する、
    ことを特徴とする請求項1に記載の情報処理装置。
  3. 前記保持手段は、前記保持手段が受信したパケットに含まれる保留情報が当該パケットに含まれるデータに対する処理が保留されたことを示す場合に当該保留情報の設定を当該保持手段が行ったと前記判定手段が判定しなかった場合は、当該パケットに対して処理を施さず、前記送信手段は、当該パケットをそのまま前記バスへ送出する
    ことを特徴とする請求項1又は2に記載の情報処理装置。
  4. 前記保持手段は、前記保持手段が受信したパケットに含まれる保留情報が当該パケットに含まれるデータに対する処理が保留されたことを示す場合に当該保留情報の設定を当該保持手段が行ったと前記判定手段が判定しなかった場合であって、当該パケットに含まれるデータが前記1つの通信手段自身に接続された処理手段により処理されるべきである場合、前記パケットに対して処理を施さず、当該パケットに含まれるデータは当該処理手段に出力され、かつ、前記送信手段は、当該パケットをそのまま前記バスへ送出する
    ことを特徴とする請求項1又は2に記載の情報処理装置。
  5. 前記保持手段は、前記保持手段が受信したパケットに含まれる保留情報が当該パケットに含まれるデータに対する処理が保留されたことを示す場合に、当該保留情報の設定を当該保持手段が行ったと前記判定手段が判定した場合、当該パケットを無効とする設定を行い、当該パケットに含まれるデータは当該処理手段に出力され、かつ、前記送信手段は、前記保持手段において前記設定が行われたパケットを前記バスへ送出する
    ことを特徴とする請求項1からのいずれか1項に記載の情報処理装置。
  6. 前記保持手段は、前記保持手段が受信したパケットに含まれる保留情報が当該パケットに含まれるデータに対する処理が保留されたことを示す場合に、当該保留情報の設定を当該保持手段が行ったと前記判定手段が判定した場合、当該パケットに含まれる保留情報を、当該パケットに含まれるデータに対する処理が保留されていないことを示す値に設定し、当該パケットに含まれるデータは当該処理手段に出力され、かつ、前記送信手段は、前記保持手段において前記設定が行われたパケットを前記バスへ送出する、
    ことを特徴とする請求項1から4のいずれか1項に記載の情報処理装置。
  7. 前記保持手段によって、保留情報が、データに対する処理が保留されたことを示す値に設定されているパケットの個数を記憶する記憶手段をさらに有し、
    前記判定手段は、前記個数に基づいて、前記保持手段が受信したパケットに含まれる保留情報が当該パケットに含まれるデータに対する処理が保留されたことを示す場合に当該保留情報の設定を当該保持手段が行ったかの判定を行う、
    ことを特徴とする請求項1から6のいずれか1項に記載の情報処理装置。
  8. 前記記憶手段は、パケットに含まれる保留情報が、前記保持手段により当該パケットに含まれるデータに対する処理が保留されたことを示す値に設定された場合に、前記個数を加算しパケットに含まれる保留情報が、前記保持手段により当該パケットに含まれるデータに対する処理が保留されていないことを示す値に設定された場合に1減算
    ことを特徴とする請求項に記載の情報処理装置。
  9. 前記記憶手段は、前記情報処理装置にデータの入力を開始する際に前記個数を0と
    ことを特徴とする請求項7又は8に記載の情報処理装置。
  10. 前記保持手段は、前記保持手段が受信したパケットに含まれる保留情報が当該パケットに含まれるデータに対する処理が保留されたことを示すと共に当該保留情報の設定を当該保持手段が行ったと前記判定手段が判定した場合、又は、前記保持手段が受信したパケットに含まれる保留情報が当該パケットに含まれるデータに対する処理が保留されていないことを示す場合にのみ、前記保留情報を変更することが許可される、
    ことを特徴とする、請求項1からのいずれか1項に記載の情報処理装置。
  11. 前記パケットの前記保留情報は、当該パケットに含まれる当該保留情報が当該パケットに含まれるデータに対する処理が保留されたことを示す値に設定される場合に当該設定を行った保持手段を有する通信手段を識別する識別情報を含むことができ、前記1つの通信装置の前記保持手段は、保持しているパケットに含まれる保留情報を、当該パケットに含まれるデータに対する処理が保留されたことを示す値に設定する際に、前記1つの通信装置を識別する識別情報を当該パケットの当該保留情報に含める、
    ことを特徴とする請求項1から6のいずれか1項に記載の情報処理装置。
  12. 前記判定手段は、前記保持手段が受信したパケットにおける保留情報に含められた識別情報が、前記1つの通信装置を識別する識別情報と一致する場合に、当該保留情報の設定を当該保持手段が行ったと判定する、
    ことを特徴とする請求項11に記載の情報処理装置。
  13. 前記保持手段は、前記保持手段が受信したパケットにおける保留情報に含められた識別情報が、前記1つの通信装置を識別する識別情報と一致する場合、又は、特定の値である場合にのみ、前記保留情報を消去することが許可される、
    ことを特徴とする請求項11又は12に記載の情報処理装置。
  14. リング状にバス接続されている複数の通信手段を備え、前記通信手段の各々がそれぞれ所定の処理を実行する処理手段に接続され、接続された前記処理手段が処理を実行した後のデータをパケットとして前記バスへ送出することにより、予め定めた順序で前記処理手段の間のデータの受け渡し及び処理を実行する情報処理装置における通信方法であって、
    データと、当該データに対する処理が保留されたか否かを示す保留情報とを含むパケットを受信し、当該パケットを保持する保持手段と、前記保持手段に保持されたパケットを前記バスへ送出する送信手段と、を有する、前記複数の通信手段のうち少なくとも1つの通信手段において、
    判定手段が、前記保持手段に保持されたパケットに含まれるデータが前記1つの通信手段自身に接続された処理手段により処理されるべきであるかの判定と、前記保持手段が受信したパケットに含まれる保留情報が当該パケットに含まれるデータに対する処理が保留されたことを示す場合に当該保留情報の設定を当該保持手段が行ったかの判定と、前記保持手段が受信したパケットに含まれるデータが前記1つの通信手段自身に接続された処理手段により処理されるべき場合に当該データに対する処理が保留されるべきかの判定と、を行う判定工程と、
    前記保持手段が、保持しているパケットに、前記判定工程における判定結果に応じた処理を施し又は何も処理を施さず、
    前記送信手段が、当該処理が施されたパケット又は前記保持手段が受信したパケットを、前記バスへ送出する、
    ことを含むことを特徴とする通信方法。
  15. 請求項14に記載の通信方法の各工程をコンピュータに実行させるためのプログラム。
JP2011202334A 2011-09-15 2011-09-15 情報処理装置、通信方法およびプログラム Expired - Fee Related JP5922898B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2011202334A JP5922898B2 (ja) 2011-09-15 2011-09-15 情報処理装置、通信方法およびプログラム
US13/572,961 US9201839B2 (en) 2011-09-15 2012-08-13 Information processing apparatus, communication method and storage medium
US14/931,052 US9462091B2 (en) 2011-09-15 2015-11-03 Information processing apparatus, communication method and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011202334A JP5922898B2 (ja) 2011-09-15 2011-09-15 情報処理装置、通信方法およびプログラム

Publications (3)

Publication Number Publication Date
JP2013065101A JP2013065101A (ja) 2013-04-11
JP2013065101A5 JP2013065101A5 (ja) 2014-10-30
JP5922898B2 true JP5922898B2 (ja) 2016-05-24

Family

ID=47880629

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011202334A Expired - Fee Related JP5922898B2 (ja) 2011-09-15 2011-09-15 情報処理装置、通信方法およびプログラム

Country Status (2)

Country Link
US (2) US9201839B2 (ja)
JP (1) JP5922898B2 (ja)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015050594A2 (en) * 2013-06-16 2015-04-09 President And Fellows Of Harvard College Methods and apparatus for parallel processing
US10268605B1 (en) 2014-04-30 2019-04-23 Altera Corporation Hybrid architecture for signal processing and signal processing accelerator
US9614567B2 (en) * 2015-03-19 2017-04-04 Qualcomm Incorporated Systems and methods for recovering from stalls on a mobile device
JP6624881B2 (ja) 2015-10-19 2019-12-25 キヤノン株式会社 画像形成装置及びその制御方法
JP6768343B2 (ja) 2016-05-06 2020-10-14 キヤノン株式会社 画像処理装置、画像処理方法及びプログラム
JP7210294B2 (ja) 2018-01-26 2023-01-23 キヤノン株式会社 画像処理装置、画像処理方法及びプログラム
CN108871428A (zh) * 2018-05-09 2018-11-23 南京思达捷信息科技有限公司 一种基于大数据的地质监控平台及其方法
JP7214404B2 (ja) 2018-08-31 2023-01-30 キヤノン株式会社 画像処理装置及び画像処理方法、プログラム
JP2020040334A (ja) 2018-09-12 2020-03-19 キヤノン株式会社 画像処理装置、画像処理方法およびプログラム
JP7187278B2 (ja) 2018-11-15 2022-12-12 キヤノン株式会社 画像処理装置、画像処理方法、及びプログラム
US10855877B2 (en) 2018-12-03 2020-12-01 Canon Kabushiki Kaisha Image processing apparatus, image processing method and storage medium
EP3664429B1 (en) 2018-12-07 2022-07-27 Canon Kabushiki Kaisha Image processing apparatus, image processing method, and program
JP2020100064A (ja) 2018-12-21 2020-07-02 キヤノン株式会社 画像処理装置、画像処理方法及びプログラム
US10834288B2 (en) 2018-12-21 2020-11-10 Canon Kabushiki Kaisha Generating image region dot data based on corrected number of dots and determined arrangement priority
US11020985B2 (en) 2019-01-31 2021-06-01 Canon Kabushiki Kaisha Image processing apparatus, image processing method and storage medium
JP7391619B2 (ja) 2019-11-07 2023-12-05 キヤノン株式会社 画像処理装置、画像処理方法及びプログラム
JP7475928B2 (ja) 2020-03-31 2024-04-30 キヤノン株式会社 画像処理装置、その制御方法及びプログラム
JP2021160196A (ja) 2020-03-31 2021-10-11 キヤノン株式会社 画像処理装置、その制御方法及びプログラム
JP7481935B2 (ja) 2020-07-21 2024-05-13 キヤノン株式会社 画像処理装置、画像処理方法

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU586927B2 (en) * 1986-06-27 1989-07-27 Fujitsu Limited Packet data communication system with ring type transmission line
JP2834210B2 (ja) 1988-09-14 1998-12-09 株式会社日立製作所 リング状ネットワークにおけるメッセージ制御方法
JP2734246B2 (ja) 1991-09-24 1998-03-30 日本電気株式会社 パイプラインバス
EP0802655A3 (en) * 1996-04-17 1999-11-24 Matsushita Electric Industrial Co., Ltd. Communication network
US7539141B2 (en) * 2004-05-28 2009-05-26 Intel Corporation Method and apparatus for synchronous unbuffered flow control of packets on a ring interconnect
US7334076B2 (en) * 2005-03-08 2008-02-19 Microsoft Corporation Method and system for a guest physical address virtualization in a virtual machine environment
US8112491B1 (en) * 2009-01-16 2012-02-07 F5 Networks, Inc. Methods and systems for providing direct DMA
JP5419493B2 (ja) * 2009-03-03 2014-02-19 キヤノン株式会社 データ処理装置、データ処理装置の制御方法、およびプログラム
JP5341623B2 (ja) * 2009-06-08 2013-11-13 キヤノン株式会社 データ処理装置、データ処理方法およびプログラム
JP5361567B2 (ja) * 2009-06-25 2013-12-04 キヤノン株式会社 データ処理装置、データ処理方法およびプログラム
JP5460156B2 (ja) * 2009-07-14 2014-04-02 キヤノン株式会社 データ処理装置
JP2011128812A (ja) * 2009-12-16 2011-06-30 Canon Inc データ処理装置
US8417851B2 (en) * 2011-06-27 2013-04-09 International Business Machines Corporation Polling of a target register within a peripheral device

Also Published As

Publication number Publication date
US20160057256A1 (en) 2016-02-25
US9462091B2 (en) 2016-10-04
US9201839B2 (en) 2015-12-01
US20130070789A1 (en) 2013-03-21
JP2013065101A (ja) 2013-04-11

Similar Documents

Publication Publication Date Title
JP5922898B2 (ja) 情報処理装置、通信方法およびプログラム
JP5361567B2 (ja) データ処理装置、データ処理方法およびプログラム
EP2312457B1 (en) Data processing apparatus, data processing method and computer-readable medium
JP5538798B2 (ja) データ処理装置およびデータ処理方法またはプログラム
JP5460156B2 (ja) データ処理装置
US20150188726A1 (en) Data processing apparatus, method for controlling data processing apparatus, and program
JP5014362B2 (ja) 情報処理装置及びその制御方法、コンピュータプログラム
JP5341623B2 (ja) データ処理装置、データ処理方法およびプログラム
US8230137B2 (en) Network processor, reception controller and data reception processing method performing direct memory access transfer
JP5414506B2 (ja) データ処理装置、データ処理方法、及びプログラム
US9053225B2 (en) Data processing apparatus, data processing method, and storage medium
JP5432587B2 (ja) データ処理装置、その制御方法およびプログラム
JP2013196509A (ja) 情報処理装置及びその制御方法
EP3803610B1 (en) Direct memory access controller
JP2009058994A (ja) 画像処理装置及びその制御方法
JP2013175156A (ja) データ処理装置、入力制御装置、及び制御方法
JP2020191520A (ja) 撮像装置及び撮像装置の制御方法
JP2012247907A (ja) 情報処理装置
JP2007329670A (ja) データ受信装置およびデータ受信方法
JP2010067167A (ja) データ転送装置
JP2011065566A (ja) データ処理装置

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140910

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140910

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150626

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150731

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150929

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20160318

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160415

R151 Written notification of patent or utility model registration

Ref document number: 5922898

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

LAPS Cancellation because of no payment of annual fees