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

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

Info

Publication number
JP2010217959A
JP2010217959A JP2009060687A JP2009060687A JP2010217959A JP 2010217959 A JP2010217959 A JP 2010217959A JP 2009060687 A JP2009060687 A JP 2009060687A JP 2009060687 A JP2009060687 A JP 2009060687A JP 2010217959 A JP2010217959 A JP 2010217959A
Authority
JP
Japan
Prior art keywords
packet
data
processing unit
processing
ring
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.)
Granted
Application number
JP2009060687A
Other languages
English (en)
Other versions
JP2010217959A5 (ja
JP4869369B2 (ja
Inventor
Hiroo Inoue
博夫 井上
Takashi Ishikawa
尚 石川
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 JP2009060687A priority Critical patent/JP4869369B2/ja
Priority to US12/720,058 priority patent/US9239813B2/en
Publication of JP2010217959A publication Critical patent/JP2010217959A/ja
Publication of JP2010217959A5 publication Critical patent/JP2010217959A5/ja
Application granted granted Critical
Publication of JP4869369B2 publication Critical patent/JP4869369B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining

Abstract

【課題】 リングバスに接続された複数の処理回路を有する情報処理装置において、各処理回路の処理速度(スループット)の違いや、処理回路内部でデータ量が増減してしまうケースが存在する際に発生するデッドロックや、リングバスのスループットの低下などが生じる。
【解決手段】 リングバスから取得したパケットから他の処理部のストール状態を検知し、他の処理部がストール状態にあるなら処理回路から新しくパケットを生成して送信する処理を抑制する。
【選択図】 図4

Description

本発明は、複数の情報処理部をリング状バスに接続したデータ処理装置、当該情報処理装置における情報処理方法およびプログラムに関する。
従来、ハードウェアによって実現される処理回路を並列実行することによって効率よく情報処理を行う方法として、バス型のパイプライン接続によるものがあった(特許文献1)。
この方式では、入力端において外部メモリがI/Fなどから入力されたデータは、複数の処理回路が並んでいる順番で順次処理した後に出力端において外部メモリ等へ出力される。そのため、その処理順番はあらかじめハードウェア実装時に接続された順番によって制限され、処理する順番を入れ替えることはできなかった。
ここで、処理回路間の接続をリング型のバス(以下、リングバスと称す)で接続する方法がある(特許文献2、特許文献3)。
しかしながら、ハードウェアとしてリングバスに接続され固定的な処理機能を持つ処理回路において、物理的な接続順番と異なる処理順番を自在に実施することは困難であった。
例えば、トークンパッシング方式の通信方式を採用して、複数の処理回路間でデータを送受信しつつ処理を行う方式などが提案されている。しかし、このようなデータパスを用いて接続順と異なる処理順番を実現しようとした場合、リング状に構成された通信路に、順番入れ替えのためにリングバスを周回するデータが増えてしまう。従って、リングバスのデータトラフィックが増加してしまい、処理性能を下げるばかりか、デッドロックが発生してしまうことがあった。
特許第2734246号公報 特許第2522952号公報 特許第2834210号公報
本発明は、リング型バスに接続されている複数の処理部によって情報処理をする際に、未処理のデータ(パケット)によってリングバス上のパケットの占有率を抑制することを目的とする。
上記課題を解決するための本発明に係る代表的な構成は、通信可能にリング状のバスに接続された複数の処理部を有し、前記複数の処理部が順番に情報を処理する情報処理装置であって、前記複数の処理部の1つである第1の処理部は、前記第1の処理部がリング状のバスから取得する情報を処理しない第1の状態にある場合に、当該第1の処理部が第1の状態にある事を示すパケットを前記リング状のバスに送信する送信手段と、前記リング状のバスを流れるパケットから前記複数の処理部の1つである第2の処理部が前記第1の状態にあることを検出する検出手段と、前記2の処理部が前記第1の状態にある事を検出した場合に、リング状のバスに新しいパケットを出力することを抑制する制御手段とを有することを特徴とする。
本発明により、未処理のデータによるリングバスのパケットの占有を抑制し、デッドロックを低減することができる。
通信処理部の概略構成を示す図である。 パケットのフォーマットを示す図である。 リングバス接続された複数の処理部を有する画像処理部の概略構成を示す図である。 通信処理部の構成を示す図である。 情報処理装置の概略構成を示す図である。 制御処理装部による画像処理部の設定処理を示すフローチャートである。 画像処理部の概略構成を示す図である。 本実施形態における概念的なデータフローの一例を示す。 本実施形態における情報処理装置の動作一例を説明する概略図である。 本実施形態における情報処理装置の動作の一例を説明する概略図である。 通信処理部の概略構成を示す図である。 通信処理部の概略構成を示す図である。
<参考例>
まず、未処理のデータがリングバス上のパケットを占有し、デッドロックが生じる状況を説明する。
図1は、通信路(バス)と情報処理部(以降、データ処理部)をつなぐ通信処理部の構成を示すものである。入力データ受信部101は、リングバス上を流れるデータパケットを受信する。入力データ識別部102は、入力されたデータパケットの制御情報を確認し、入力されたデータが、自ノードにおいて処理すべきデータかどうかを識別する。
処理データ出力部103は、入力データ識別部102において自ノードにおいて処理すべきデータであると判断されたデータを、データ処理部に対して送出する。処理済みデータ入力部104は、自ノードのデータ処理部において処理済のデータの入力を受け取る。
出力データ生成部105は、識別部102において自ノードで処理すべきデータでないと判断されたデータや、有効なデータを含んでいないと判断された空パケットや、入力部104から送られる、処理済であってバス上に出力する必要のあるデータなどから、出力データを生成する。出力データ送信部106は、出力データ生成部105が生成した出力データをリングバスに放出する。
図2は、このようなデータ通信処理部のリングバスにおいて送受信されるパケットのデータ構造を示したものである。
フィールド201は、データの処理順番を示すカウンタである。リング状のデータバスにおいては、連続する未処理データを含むデータパケットの一部がリング内を周回することがある。従って、通信処理部が受信するデータが、必ずしも対応するデータ処理部で最初に処理されるべきデータであるとは限らない。よって、このようなカウンタをデータに付随して持たせることで、入力された順など、正しい処理順番に従って処理を実行させる事が可能となる。なお、対応するデータ処理部とは、通信処理部がリングバスを介さずに直接通信可能なデータ処理部の事を指すものとする。
フィールド202はこのデータパケットが保持しているデータが処理されるべき有効データであることを示すフラグである。これはすなわち、パケットが現在使用中であるかどうかを示すフラグと同じ意味を持つ。以下、このフラグをバリッドビットと呼称する。フィールド203は、このパケットが保持しているデータが何らかの理由で、処理すべきデータ処理部によって受け取られなかったことを示すフラグである。通常のパイプライン接続における、前段へのデータ供給停止要求ビット(disable信号)と同じ意味を持つ。以下、このフラグをストールビットと呼称する。
フィールド204は、このデータを最後に処理したデータ処理部のIDである。データ通信処理部では、あらかじめ外部から設定された待ち受けIDと、このデータパケット上のIDとを比較し、一致した際に処理を行う。通常、待ち受けIDは各処理部に固有の値であるとする。またフィールド205は、データを格納する。
リングバスを流れるパケットの総数はほぼ一定である、即ち、空のパケットと有効なパケットの和はほぼ一定であり、この一定数のパケットがリングバスを周回し続けている。空のパケットは格納するデータが無効とされたパケットであり、有効なパケットはデータやコマンドを格納しているパケットである。
図3(a)は、画像処理部の概略構成の一例を示す図である。
データ取得部301は、外部記憶装置などから処理すべきデータを取得する。入力用の通信処理部302は、取得されたデータをリング状に構成されている通信路に供給する処理を行う。データ処理部304は、供給されたデータに対して所定の処理を行う。通常、情報処理を行う上で処理部が外部と通信する事のないスタンドアローンな状態を取る事はない。しかし、本明細書では処理部の通信処理について詳細に説明するために、処理部からデータ処理部と通信処理部を独立させて説明している。
通信処理部303は、リング状に構成された通信路から、データ処理部304で処理すべきデータを通信路から選別して取り込む通信処理部である。この構成においては、データ処理部304および通信処理部303を有する処理部がリングバス307に1つ以上接続されている。
出力用の通信処理部305は、処理済のデータを外部の記憶装置などに出力するため、リング状の通信路上から処理済のデータを選択して取り込む。データ出力部306は、通信処理部305により取り込まれた処理済のデータを外部記憶装置などに出力する。リングバス307は、これらの通信処理部を通信可能に連結するリング状のデータバスである。
データ取得部301は、画像処理部602の外部から取得するデータを蓄積し、入力用の通信処理部302がデータ取得部302の蓄積するデータをパケット化してリングバス307に供給する。その際は、通信処理部305がパケットから抽出したデータをデータ出力部306に供給すればよい。
他にも、データ取得部301が画像処理部外部から取得するパケットからデータを抽出し、通信処理部が図2に示すパケットに変換してもよい。その際は、通信処理部が抽出したデータをデータ出力部306が画像処理部の外部に出力するパケットに変換する。
またデータ取得部301が取得するデータが、既に図2に示すようにパケット化されている場合は、通信処理部302がそのまま用いるようにしてもよい。この際は、通信処理部はパケットを生成せず、通信処理部305はパケットからデータを抽出しなくてよい。
図3(b)は、図3(a)に示した構成において、デッドロックが発生する状態を説明する図である。ここでは、データの順番を示すために、データ403〜405の中に、データの入力順番を示す数字を記載している。
データ処理部401は、一度に3つのデータを処理して出力するデータ処理部として、通信処理部402は、データ処理部401に対応する通信処理部である。当然、データ処理部401が3つのデータを取得してから処理を終了するまで、通信処理部402は処理結果を出力できない。
ここで、データ取得部301が、データ処理部401の処理中も継続してデータを供給し続けた場合、リングバス上を周回するパケットのすべてが入力データで埋まってしまう事がある。その場合、空きパケットがなくなるために、データ処理部401から出力されるデータ403は、通信処理402においてリングバス307に出力できないまま停滞してしまう。
また、データ処理部401は、処理部自身が処理したデータの全てを出力するまで、次のデータ処理に移行できないものであるとする。この場合、データ処理部401と通信処理部402は、処理済データを出力できないため次のデータを取得することができない。一方で、データ取得部301も、通信処理部302がデータをリングバス307に出力できないため止まってしまう。
さらに、データ出力部306も、出力すべき処理済データ403がデータ処理部401から出力されてこないため、いずれのデータも外部に出力することができない。
このようにして、複数の処理部をリングバスに接続したデータ処理装置において、未処理データによってリングバス上のすべてのパケットが占有されてしまう事がある。それによって、データ処理部が次のデータを取得できない状態になり、処理を継続できないデッドロック状態に陥ってしまう。
このようなデッドロックを回避するために、入力データを受け付けられない状態のデータ処理部がある場合、リング内を周回するパケットを消去し空きパケットを作り出す技術がある(特許文献3)。
しかし特許文献3の技術では、データ供給部は消失したデータを処理しようとする必要があるため、処理装置の外の外部記憶装置などから再度データを読み出さなければならない。そのため、処理に時間を要し、制御も複雑になるという課題があった。
<実施例1>
次に本発明の一実施例である実施例1について説明する。なお、参考例と構成的、機能的にかわらないものについてはその説明を省略する。
図5は、実施例1のシステムの概略構成を示す図である。制御処理部601はCPUやMPUなどの処理回路である。画像処理部602は、リングバスで接続されている複数の処理部を有する画像処理部である。
RAM603は、処理する前の入力画像データや処理後の出力画像データ、又は、画像処理部602の設定パラメータに関するデータなどを格納する読み書き可能なメモリである。ROM604は、制御処理部601や画像処理部602の処理手順や、設定パラメータ等の定数などを保持可能な読み出し可能なメモリである。
制御処理部601において、ROM604から読み出されたプログラムにしたがって、システムの制御ならびに画像処理部602への指示等を行う。画像処理部602は、処理装置601からの指示に従って画像処理を実行する。その際に、RAM603にあらかじめ格納されている入力画像データを読み出して処理を行い、処理結果を再びRAM603に書き込む。また、システムバス605は制御処理部601、画像処理部602、RAM603、画像処理部602を通信可能に接続するバスである。
図6に制御処理部601による画像処理部602の設定処理の処理手順を示す。
画像処理制御が開始されると、以下のステップに従って処理を実行する。ステップS701で制御処理部601は、ROM604から画像処理部602のデータ処理部の処理順番を読み出す。ステップS702で制御処理部601は、ROMからデータ処理部に与える処理パラメータを読み出す。ステップS703で制御処理部601は、読み出したデータ処理順番及び処理パラメータを用いて画像処理部602の制御パラメータを算出する処理を行う。
ステップS704で制御処理部601は、ステップS703で算出した制御パラメータを用いて、画像処理部602に対する設定処理を行うステップS705で制御処理部601は、画像処理部602に対して処理開始の指示を行う。ステップS706で制御処理部601は、画像処理部602の設定の完了を確認し、
ステップS707において、設定処理が完了したと判断した場合には、処理を終了する。ここで、処理が未終了であった場合には、再びステップS706へ戻り、終了確認処理を継続する。
図7は、本実施例における画像処理部602の構成を示す図である。本実施例では、この図に示すように、通信処理部とデータ処理部とを有するモジュールが並列に実行可能なようにパイプライン接続されている。さらに、その終端と先端もバスによって接続され、リング状になっている。
このリング状バスにおいては、パケット801に示すように、通信路上にはデータを保持する概念上のパケットが有限の数だけ存在する。そして、パケット801に処理するデータを格納して単一方向に周回させることによって、所望のデータ処理部にデータを送付する。本実施例においてパケット801は、図2に示すデータ構造を有する。また、パケットを保持する手段として、例えば通信処理部ごとにシフトレジスタ(不図示)を備える。
各通信処理部は、あらかじめ自身の保持するレジスタ等に設定されたID(第1のID)とパケット上のデータに付帯するID(第2のID)とを比較し、それらが同一である場合には、そのパケットのデータを取り込む。その後、データ処理部がパケットのデータを処理し、処理済みのデータはデータ処理部から通信処理部に送られる。次に通信処理部は、データを保持していない空のパケットに処理済のデータと新たなIDとを格納することによってデータをバス上に出力する。この処理を各データ処理部が処理することで、一連の意図された順番でデータ処理が実行される。ここで通信処理部は、パケットが空かどうかを図2(a)のフィールド202に示したバリッドビットによって判別する。例えば、通信処理部は、有効なデータを出力する際にはこのバリッドビットとして(1…第3のビットとする)を格納させる。逆に、有効なデータを受信して処理する際には、バリッドビットとして(0)を格納させることで空パケットに変え、パケットの再利用を行う。
本実施例はデータ処理をする処理部の1つを第1の処理部とすると、その他の処理部(第2の処理部)がデータを処理しない状態にあることを検出する。
図4は、本実施例のリングバスに接続されている各通信処理部の構成を示すブロック図である。
ここで、図1において示した構成要素と機能的に変わらないものについては同一符号を付すと共に、その説明を省略する。待ち受けID保持部501は、各通信処理部に対応する処理部が処理するパケットのIDを記憶している。出力ID保持部502は、処理済みのデータをパケットに書き込む際に、処理済みデータと共に書き込むためのIDを保持するである。待ち受けID保持部501は待ち受けIDを、出力ID保持部502は出力IDを、少なくとも1つ保持可能なように夫々レジスタを有している。
タイマー503は一定の周期をカウントする。ストールパケット識別部504は、図2のフィールド203に示したストールビットによってこのパケットがストール状態(第1の状態)かそうでない状態(第2の状態)かを判定する。ここで、タイマー503が計測する単位時間は各処理部で共通して扱えるものであれば、リングバスのクロックや又は処理部のクロックなどでもよいし、パケットが処理部間を移動する単位時間でもよい。他にも、リングバスと処理部から独立したクロックに基づいて時間を計測するタイマーを用いても良い。時間を計測するタイマーを用いた場合、リングバスと処理部の動作クロックを2倍にすると理論的にはパケットが周回する時間は半分になる。
ストールパケット識別部504は、ストールビットとして(1…第1のビットとする)が格納されている場合にストール状態であると判定し、(0…第2のビットとする)が格納されている場合にストール状態ではないと判定する。ストールパケット識別部504は、バリッドビットから有効なパケットであると判定されるもので且つストールビットが立っており且つ出力ID保持部502の保持するIDと同じIDを持つパケットを識別する。すなわち、Valid=1,Stall=1,且つ出力ID保持部502のレジスタの記憶しているIDと同じIDを持つパケットをストールパケットとして識別する。
出力データ抑制部505は、ストールパケット識別部504にてストールパケットが識別された場合、所定期間だけ処理済データ入力部104からデータをリング上に出力することを抑制制御する。
データ受付不可能検知部506は、入力データ識別部102が受信すべきパケットであると判断したが、データ処理部が次のデータを受け付けられない状態にある場合にデータ受付不可能と判断する。
パケット状態制御部507は、データ受付不可能検知部506から受付不可能であるとの通知を受けた場合、入力されたデータにストールビットをストール状態の(1)に変更して出力側へ流す。
また、同時にデータ受付不可能検知部506において受付不可能であると判断された場合には、処理データ出力部103において、対応するデータ処理部へのデータ供給を行わないように制御する。
ここで、待ち受けID保持部501や出力ID保持部502が自身のレジスタに保持するIDは、図6に示す処理において制御処理部601が設定する。本実施例の画像処理部602では、待ち受けIDと出力IDとを設定することによって、パイプライン処理のデータフローを構成することができる。また、この方法では、待ち受けID保持部のレジスタのIDを書き換える事で、他のどのデータ処理部からのデータを受け取るかを切り替えることが可能である。
以上のように、リングバスのデータの流れを停滞させずにリングバスのトラフィックを抑えるため、出力データ抑制部505が各処理部の処理によって新しく出力されるパケットを抑制している。
次に、ストールを発生させているデータ処理部における処理の内容を説明する。
まず、入力データ受信部101がリングバスよりパケット化されているデータを受信する。次に、入力データ識別部102が、受信したパケットのIDと、待ち受けID保持部501に保持するIDとを比較する。IDを比較することで、受信したデータは対応するデータ処理部において処理されるべきデータであるかどうかを判断する。
次に、入力データ識別部102が処理すべきとしたデータについて、受信不可能検知部506はこのデータを、対応するデータ処理部が受付可能であるかどうかの判断を行う。ここで、対応するデータ処理部はこのデータの受信が不可能な状態であると判断された場合には、処理データ出力部103が、データ処理部へのデータの供給を抑制する。さらに、パケット状態制御部507がこの受信されたデータのストールビットをストール状態の(1)に変更する。このように、通信処理部が受信したが対応するデータ処理部が処理できなかったデータは、ストールビットを立て、出力データ送信部106からリングバスに出力され、リングバスを周回する。
この際、ストールビットがストール状態を示す(1)を付与されたパケットは、フィールド204に格納しているID情報は変更されず、送信元のIDを保持したままである。よって、ストールビットを(1)に変更した通信処理部のストールパケット識別部504は、このデータのIDが自身の保持する出力IDとは異なるため、ストールパケットとして検知しない。
当然ながら、出力データ生成部105は、リングバスを流れるデータパケットのバリッドビットが(1)である場合、このパケットが空きパケットでないと判断し、データ処理結果を書き込まない。また、データ受信不可能検知部506において受信可能と判断されたデータは、処理データ出力部103がパケットから抽出したデータをデータ処理部に送信する。さらに、パケット状態制御部507がデータパケットのバリッドビットを(0)に変更してパケットは空の状態、即ち無効の状態となる。
次に、ストールビットがストール状態を示す(1)に設定されたデータを、各通信処理部がどのように処理するかを説明する。ストールビットを立てられたデータは、リングバスを周回するので、データの送信元にいずれ到達する。
ストールパケット識別部504はストールパケットを検知した場合に、出力データ抑制部505に対して通知を行う。
この通知は、たとえば、ストールパケットを発見した場合に直ちに行ってもよいし、ストールパケットを発見した次の周期の期間に行ってもよい。この周期はタイマー503によってカウントされる。
出力データ抑制部505は、通知を受けてから所定の期間だけ、又は通知がある期間、あるいは、通知があった次のタイマー周期の間、だけ抑制する形態が考えられる。
ここで、ストールパケットの識別方法について詳細に説明すると、従来の技術においては、パケットにデータとともに書き込まれるIDは、次に処理を行うデータ処理装置のIDであった。これは、例えばネットワークにおいて宛先のIPアドレスをデータパケットに載せて送信するのと同じことである。
しかし、本実施例においてはパケットにデータとともに記録するのは、出力ID保持部502に保持されているデータ処理を行った送り元のIDである。このIDが送り元のIDであるため、送り先のデータ処理部において、ストールビットを立てられ送られてきたデータを効率良く識別することができる。
図8にパイプライン処理のデータフローの例を示す。夫々の円はデータを処理するノードを示し、矢印は概念的にデータがノードからノードへ送られることを示している。矢印に付加している数字はデータに付加する送り元のIDである。
ポイント901は、最初にデータを処理するノード1である。ポイント902は、ポイント903に示すノード3が処理した結果データを受け取って処理を行うノード2である。ポイント903は、ポイント901に示すノード1が処理した結果データを受け取って処理を行うノード3である。ポイント904は、ポイント903に示すノード3が処理した結果のデータを受け取って処理を行うノード4である。
次に、このようなパイプライン処理を本実施例のリングバス接続されている複数の処理部によって実現するときの動作を説明する。
図9の(a)に示すように、ノード1に相当する処理部901は、パケット1001自分のノードIDである「1」をデータとともに書き込んで出力する。
ここで、この図では、データを有するパケット1001〜1007に関して、図3(b)と異なる表記法を用いて説明している。図3(b)においては、データを示すパケット403〜405にはデータの入力順を示す数値を記載したが、この図でパケットに付加されている数字は、パケットと共に付加されている送信元IDを示す。そして、このIDを用いてデータフローを構成する処理を説明する。
次に図9の(b)に示すように、図9の(a)において処理部901から出力されたデータ1001は、ノード2が待ち受けているID=3と異なるIDを保持したパケットであるために、ノード2としての処理部902を素通りする。図9の(c)において、ノード3としての処理部903は、あらかじめ設定された待ち受けIDと等しいIDを持つパケット1001を受信する。そしてパケット1001に付属しているデータ1005を処理データとして処理する。
続いて、図9の(d)のパケット1006に示すように、ノード3は処理済のデータとノード3のIDとをパケットに付加して再びリングバス上に出力する。図9の(e)では、ノード4としての処理部904は、「2」のIDを持つデータを待っているので、パケット1003はノード4を素通りする。
さらに、ノード1としての処理部901は、データ供給を行うノードであり、リング内での処理結果を受け取らないため、待ち受けIDがあらかじめ設定されていない。よって、図9の(f)において、パケット1003はノード1も素通りする。図9の(g)において、あらかじめ「3」のIDを持つデータを待ち受けるように設定されたノード2はパケット1006からデータ1007を抽出し、処理を開始する。ここでデータ1007は、ノード2によって取り込まれて処理されている最中である。
図9の(h)は、ノード2において処理されたデータ1007が、処理を行ったノード2のID=2と一緒にパケット1008に付加されて、リングバスに出力されたところを示している。図9の(i)は、IDが「1」のパケットを待ち受けるノード3において、IDが「2」であるデータ1008がそのまま素通りして、次へ進むところを示している。
図9の(j)は、IDが「2」のパケットを待ち受けるノード4によって、パケット1008からデータ1009が抽出され、処理が開始されている状態を示している。図9の(k)は、ノード4によって処理されたデータと、ノード4のIDである4を付加されて、出力されたところを示している。
なお、この図では有効であるパケットを主に図示しているが、実際はデータを抽出される等して無効になったパケットも、基本的に他のパケットを追い抜くことなくリングバスを周回している。
図10は、本実施例におけるリングバス上でのストールの発生と伝播について説明する図である。
図10の(a)は、ノード1がパケット1001とパケット1101とを連続して出力した状態を示している。このような場合、図10の(b)に示すように、ノード3が処理中に次のデータが来てしまうため、受信したパケット1102を取り込むことができない。
そこで、図10(c)に示すように、ノード3に受信されたパケット1102は、ノード3によってストールビットを立てられ、パケット1103として出力され、リング上を周回する。
また、複数のノードで上記のストールが発生した場合、リング上にはストールが立っていないデータパケットに加えて、ストールビットの立てられたデータパケットが周回することになる。データ処理に参加するノードの数が多ければ多いほど、このストールビットの立てられたデータパケットが多くなる可能性がある。また、ストール状態のパケットでリングバス一杯になってしまうことにより、デッドロックや、処理性能の著しい低下が起きる原因となる。したがって、このようなストール状態のデータパケットを検知して、ストールビットの立つデータパケットの増殖を抑制すると、より効率的なデータフローを実現できる。
図10の(d)に示すように、ストールを立てられたパケット1103は、パケット1103を送ったノード1のIDを保持したままリングバスを周回し、ノード1に戻ってくる。このときに、ノード1は、パケット1103に付加されているIDと自IDとが同じであるかどうかを比較し、更に、ストールビットおよびバリッドビットをチェックする。この処理により、自分が流したデータが他のノードにおいて処理されなかったこと、即ち、自分の直後に処理を割り当てられているノードがデータを受信できない状態にあることを検知できる。
ノード1がデータを送出してから、そのデータが受け付けられずに周回して戻ってくるまでの期間は、リングを構成するノードの数から求められる。よって、所定のパケットリングバスを周回する周期は、リングを構成するノード数と等しいか、もしくはそれを整数倍した(2倍以上もしくは1/2以下)周期に近くなることが考えられる。
ただし、各ノードにおいてストールビットの処理に時間を要する場合も考えられるので、この期間にはパケットが一周する時間にストールビットの処理に要する時間を加算したものでもよい。この時、最初にデータがストールビット操作されるときのみ加算され、その後、2週目以降は加算しなくてもよい。また、各ノードにおいてレジスタの数が大きく異なる場合は、ノードの数に基づいて周期を算出する代わりに、ノードの総数に基づいて周期を算出してもよい。
図8に示したデータフローでは、ノード3においてデータ処理不可能な状況が起きた場合、ノード1はデータ出力を抑制した方がよい状態になる。ここで、ノード1は、データ出力を抑制すべき状況を、自分が送出したデータが未処理のままストールビットを立てられて戻ってきたことによって、検出する。
詳細には、データパケットに、送出元であるノード1のIDを入れておくことによって、簡単に、自ノードからの出力が後段のいずれかのノードにおいて処理不能であったことを知ることができる。
これは、最終出力段であるノード4を除く、途中処理段であるノード2、3においても同様で、リングバス接続されたノード間での種々のデータフローにおいて適用できるストールの検知方法である。
他のデータ処理順を指定することによって、ノード4の後段に他のノードの処理をさせる場合においては、ノード4においても同様の仕組みが意味を持つこととなる。
このようにして、ストールを検知すると、ノード1は、その後のデータ出力を抑制する状態となる。図10の(e)において、ノード1としての処理部1105は、ストールビットの設定されたパケット1103をリングバス上に出力し、パケット1103はそのままノード3に到達する。
このときすでにノード3が処理を終了しており、次のデータを受け入れられる状態にある場合、図10の(f)に示すように、ノード3はパケット1106のデータを抽出し、処理を開始する。データ1108は、このときにノード3に取り込まれ処理中のデータを示している。
このとき、このパケット1106は、バリッドビットを(1)に設定されるか、あるいはノード3が出力データを保持していた場合に、この出力データを格納して出力される。
これは、先にパケット1103がノード3を通過したときと同様、リングを周回していずれはノード1に到達する。図10の(g)が示す状態は、図10の(d)においてノード1がストール状態のパケットを素通りさせたときから1周分の期間が過ぎた状態である。
上記の方法では、このリング一周の期間が経過する前まで、ノード1が自身の送ったパケットが処理されたかどうかを検出しない。
一度、自ノードが出力したデータがストールされていることを検知したノード1は、パケットがリングを1周する期間の間(以降、1サイクルタイムと呼称する)は、自身が処理したデータの出力を抑制することとなる。
前述の処理不可状態の検知および出力抑制の制御は、単一のリング上に接続されている他のノードにおいても同様に実施できる。
また、図4において示したストールパケット識別部504において、IDの比較を行わずに、バリッドビット及びストールビットを確認してストールパケットの検出を行ってもよい。このようにすることで、他ノードの送出したデータパケットのストール状態も検知することができ、リングバス全体のパケットの占有率を抑制することが可能となる。
以上、本実施例によれば、各処理部は他の処理部がストール状態にある場合に、新しくデータをパケット化し送信することを抑制しリングバスの占有率を下げデッドロックを低減できる。
また、本実施例によれば各処理部において、空パケットや他の処理部が処理すべき有効なパケットの送信は抑制しない。従ってリングバスのデータの流れを停滞させる事なく、リングバスのトラフィックを抑制できる。
また、本実施例によれば、既に宛先に到達した情報であって、宛先の処理部で処理できない情報はリングバスを周回し続けるので、再送信する等の処理が不要となる。
前述の説明においては図2(a)のデータパケットを用いた場合しか説明していないが、実際には図2(b)のコマンドパケットを併用する処理をしてもよい。コマンドパケットは各処理部に対する命令(コマンド205)が格納されており、各処理部はこの内容に沿って処理をする。コマンドパケットによって各処理部のパラメータ設定するようにしてもよい。コマンドパケットを用いることで、データとコマンドを概念的に1本のリングバスに流し、且つ前述の効果を得ることが可能となる。従って、ディスエーブル信号を伝達するための信号線を必要としないので、回路規模を小さく抑えたまま効率的なデータフローを実現できる。
<実施例2>
図11に、本発明の一実施例である実施例2の通信処理部の概略構成を示す。なお、実施例1と同一機能を有する構成には同一符号を付すとともに、構成的、機能的に変わらないものについてはその説明を省略する。
この構成は、図4の構成に加え、外部から指定される出力抑制期間を保持する出力抑制期間保持部1201を備えている。出力データ抑制部505は、ストールパケット識別手段504からの通知を受けた際に出力抑制期間保持部1201に保持された期間、出力を抑制する。
このような制御の設定を外部から行えるように構成することにより、後段の処理における処理不可期間に関する情報を効果的に利用できる。また、後段の処理が処理可能に転じたときに即座に次のデータを受信できるように制御することができる。これにより、データ駆動型のプロセッサにおいて基本要件である処理データ待ちによる処理速度性能の低下を抑制することが可能となる。
ここで、図10に示したノード3におけるデータ受信不可能時間が、1サイクルタイムより短い場合、ストールを検知してから1周期間だけデータの出力を抑制すると効率が良くない。例えば、図10の(c)・(d)に示すように、ノード3は、ストールビットを設定したパケット1103を出力した次のタイミングでデータ1006を出力して受信可能状態となっている。このような場合に、ストールを検知した後、1サイクルタイムの間、出力を抑制してしまうと、次の処理が可能なノード3を待たせてしまうことになる。
データ駆動型のプロセッサにおいては、処理性能は、データ処理部の処理速度のみならず、データをいかに間断なくデータ処理部に供給するかに大きく依存している。したがって、このような場合には、より早いタイミングで次のデータを供給することで、処理性能を引き出すことが可能となる。
よって、ストールを検知した後、あらかじめ指定された1サイクルタイムに満たない期間のみ出力を抑制するように制御してもよい。
逆に、図10に示したノード3のデータ受信不可能な期間が1サイクルタイムより長かった場合には、ストールを検知した後に出力を1サイクルタイムの間抑制するだけでは不十分となる可能性がある。よって、このような場合を考慮して、ストールを検知した後、あらかじめ1サイクルタイムよりも長い期間だけ出力を抑制するように出力抑制間隔保持部に設定してもよい。
以上、本実施例によれば各処理部において処理データ待ちによる処理速度性能の低下を抑制することが可能となる。
<実施例3>
図12に、本発明の一実施例である実施例3の通信処理部の概略構成を示す。なお、実施例1と同一機能を有する構成には同一符号を付すとともに、構成的、機能的に変わらないものについてはその説明を省略する。
前述した様にストールを検知した際の出力抑制期間には様々なケースが存在する。ここでは、後段のデータ処理が、外部のメモリや外部の処理モジュール等と通信などを行うために、不定な処理時間を要し、データ受信不可期間も変動するケースを想定する。
このような場合、データ受信不可期間が一定の統計的性質を持つとするならば、その期間の変動に対して緩やかに追従するデータ出力抑制期間の制御が必要となる。
実施例3の構成では、図4の構成に加えて、一定の規則に従って出力抑制期間1301の指示を動的に変化させることのできる出力抑制期間制御部を備える。出力データ抑制部505はストールパケット識別手段504からの通知を受けた際に、出力抑制期間制御部1301によって指示される期間だけデータの出力を抑制する。
出力抑制期間制御部1301は、初期値としての出力抑制期間TBと、ストールパケットを検知した際の出力抑制期間の増分TIおよび、一定期間ストールパケットが検知されなかった場合の減分TDを保持する。さらに、実際に出力抑制期間として出力する値の初期値として、出力抑制期間Tを初期値TBに設定しておく。
ストールパケット識別部504によるストールパケットの通知が行われると、出力抑制間隔制御部1301は出力期間TにTIを加算する。ストールパケットの通知が一定期間内に連続して行われた場合、Tに再度通知の回数だけTIを加算するなどして、ストールパケットの密度に応じた出力抑制期間の制御をおこなってもよい。
このようにすることで、短い間隔で連続してデータを出力した際に、ストールが連続的に多量に発生した場合などに、出力間隔を増大させ、デッドロックがおきにくいように制御することができる。
一般的に、データの出力抑制期間を長くするとストールの発生頻度が抑えられる。例えば、非常に長いデータ受信不可期間が発生した場合、この出力抑制期間を長く設定しておかなければすぐにデッドロックする可能性がある。従って、TIを比較的大きな値とし、TDをそれに比べて小さい値とすることにより、安定する制御を行うようにするとよい。逆に、処理性能の低下を嫌って、TIを小さめにし、TDを大きめに制御してもよい。
また、最小抑制期間TMを設定し、出力抑制期間Tがこの値よりも下回らないように制御することで、最小期間の過度な短期化によるデッドロックなどの回避を行ってもよい。
もちろん、TI,TDなどをあらかじめ指定するのではなく、データ処理部内で適切な値に設定したり、ランダムな値を使用するなどしたりしてもよい。さらに、周知の関数を用いて統計的に算出してもよい。
以上、本実施例によれば処理部のデータ受信不可期間が不定である場合においても、ストールの発生頻度を抑え、効率的にデータを流すことができる。
また、前述の各実施例の説明では画像処理装置を例に用いて説明しているが、本発明は画像処理に限られるものではなく、パイプライン処理などの処理を複数の処理部で実行する情報処理に適用できる。
また、通知に用いる情報を第1のビット、第2のビットとして表わしているが、パケット化して通知できる情報であればよい。
また、前述の各実施例の処理は、複数のハードウェアとソフトウエアの協同によって実現するようにしてもよい。この場合、ネットワーク又は各種記憶媒体を介して取得したソフトウエア(プログラム)をコンピュータ等の処理装置(CPU、プロセッサ)にて実行することで実現できる。
また、本発明は前述した実施形態の機能をコンピュータに実現させるプログラムを記憶した記憶媒体を、システム或いは装置に供給することによって実現してもよい。
101 入力データ受信部
102 入力データ識別部
103 処理データ出力部
104 処理済みデータ入力部
105 出力データ生成部
106 出力データ送信部
501 待ち受けID保持部
502 出力ID保持部
503 タイマー
504 ストールパケット識別部
505 出力データ抑制部
506 受信不可能検知部
507 パケット状態制御部

Claims (16)

  1. 通信可能にリング状のバスに接続された複数の処理部を有し、前記複数の処理部が順番に情報を処理する情報処理装置であって、
    前記複数の処理部の1つである第1の処理部は、
    前記第1の処理部がリング状のバスから取得する情報を処理しない第1の状態にある場合に、当該第1の処理部が第1の状態にある事を示すパケットを前記リング状のバスに送信する送信手段と、
    前記リング状のバスを流れるパケットから前記複数の処理部の1つである第2の処理部が前記第1の状態にあることを検出する検出手段と、
    前記2の処理部が前記第1の状態にある事を検出した場合に、リング状のバスに新しいパケットを出力することを抑制する制御手段とを有することを特徴とする情報処理装置。
  2. 前記第1の処理部は、当該第1の処理部が処理したデータに基づいて前記新しいパケットを生成する請求項1に記載の情報処理装置。
  3. 前記検出手段は、処理順番が第1の処理部より後の第2の処理部が前記第1の状態にあることを検出することを特徴とする請求項1又は2に記載の情報処理装置。
  4. 前記送信手段は、前記パケットに第1のビットを設定することで前記第1の状態を他の処理部に通知することを特徴とする請求項1乃至3のいずれか1項に記載の情報処理装置。
  5. パケットが有効であることを示す第3のビットを有するパケットに第1のビットを設定することを特徴とする請求項1乃至4のいずれか1項に記載の情報処理装置。
  6. 前記検出手段は、自身が生成したパケットに付加されている第1のビットに基づいて、前記第2の処理部が前記第1の状態にある事を検出することを特徴とする請求項5に記載の情報処理装置。
  7. 前記送信手段は、前記第1の処理部が情報を処理する第2の状態になりそうな場合に、当該第1の処理部が第2の状態にあることを示す第2のビットを設定することを特徴とする請求項5又は6に記載の情報処理装置。
  8. 各処理部に固有の第1のIDを保持する保持手段と、自身が送出したパケットを識別する識別手段とを更に有しており、
    前記送信手段は、前記第1の処理部が処理したデータと前記第1のIDとをパケットに付加して送信し、前記識別手段は、リングバスから取得したパケットに付与されている第2のIDと前記第1のIDとを比較することで自身が生成したパケットを識別することを特徴とする請求項3乃至7のいずれか1項に記載の情報処理装置。
  9. 所定の時間を計るタイマーを更に有し、
    前記第1のビットを検出した場合に、前記所定の時間の間、前記処理が新たなパケットの出力を抑制することを特徴とする請求項1乃至8のいずれか1項に記載の情報処理装置。
  10. 前記タイマーはリングバスをパケットが1周する周期を計り、
    前記第1のビットを検出した場合に、パケットがリングバスを1周する期間を整数倍した期間の間、前記制御手段が新たなパケットの出力を抑制することを特徴とする請求項9に記載の情報処理装置。
  11. 所定の周期を計るタイマーと、出力抑制期間の初期値TBならびにその増分TIおよび減分TDとを保持するレジスタを更に有し、
    前記制御手段は前記初期値TB、増分TI、減分TDから算出される期間に基づいて抑制制御をすることを特徴とする請求項1乃至8のいずれか1項に記載の情報処理装置。
  12. 前記パケットとしてデータパケットとコマンドパケットがあり、前記コマンドパケットから取得する命令に沿って、前記データパケットから取得するデータを前記処理部が処理することをとくちょうとする請求項1乃至11のいずれか1項に記載の情報処理装置。
  13. 通信可能にリング状のバスに接続された複数の処理部を有し、前記複数の処理部が順番に情報を処理する情報処理装置であって、
    前記複数の処理部の1つである第1の処理部は、
    前記第1の処理部がリング状のバスから取得する情報を処理しない第1の状態にある場合に、当該第1の処理部が第1の状態にある事を示すパケットを前記リング状のバスに送信する送信手段を有することを特徴とする情報処理装置。
  14. 通信可能にリング状のバスに接続された複数の処理部を有し、前記複数の処理部が順番に情報を処理する情報処理装置であって、
    前記複数の処理部の1つである第1の処理部は、
    前記リング状のバスを流れるパケットから前記複数の処理部の1つである第2の処理部が前記第1の状態にあることを検出する検出手段と、
    前記2の処理部が前記第1の状態にある事を検出した場合に、リング状のバスに新しいパケットを出力することを抑制する制御手段とを有することを特徴とする情報処理装置。
  15. 通信可能にリング状のバスに接続された複数の処理部の夫々に実行させるプログラムであって、
    夫々の処理部自身が、
    自身がリング状のバスから取得する情報を処理しない第1の状態にある場合に、自身が第1の状態にある事を示すパケットを前記リング状のバスに送信する送信工程と、
    前記リング状のバスを流れるパケットから他の処理部が前記第1の状態にあることを検出する検出工程と、
    前記他の処理部が前記第1の状態にある事を検出した場合に、リング状のバスに新しいパケットを出力することを抑制する制御工程とを実行するように制御することを特徴とするプログラム。
  16. 通信可能にリング状のバスに接続された複数の処理部の夫々が行う情報処理方法であって、
    夫々の処理部自身が、
    自身がリング状のバスから取得する情報を処理しない第1の状態にある場合に、自身が第1の状態にある事を示すパケットを前記リング状のバスに送信する送信工程と、
    前記リング状のバスを流れるパケットから他の処理部が前記第1の状態にあることを検出する検出工程と、
    前記他の処理部が前記第1の状態にある事を検出した場合に、リング状のバスに新しいパケットを出力することを抑制する制御工程とを有する情報処理方法。
JP2009060687A 2009-03-13 2009-03-13 情報処理装置、情報処理方法およびプログラム Expired - Fee Related JP4869369B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2009060687A JP4869369B2 (ja) 2009-03-13 2009-03-13 情報処理装置、情報処理方法およびプログラム
US12/720,058 US9239813B2 (en) 2009-03-13 2010-03-09 Ring-pattern bus connected information processing apparatus, information processing method, and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009060687A JP4869369B2 (ja) 2009-03-13 2009-03-13 情報処理装置、情報処理方法およびプログラム

Publications (3)

Publication Number Publication Date
JP2010217959A true JP2010217959A (ja) 2010-09-30
JP2010217959A5 JP2010217959A5 (ja) 2011-07-07
JP4869369B2 JP4869369B2 (ja) 2012-02-08

Family

ID=42731640

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009060687A Expired - Fee Related JP4869369B2 (ja) 2009-03-13 2009-03-13 情報処理装置、情報処理方法およびプログラム

Country Status (2)

Country Link
US (1) US9239813B2 (ja)
JP (1) JP4869369B2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012243162A (ja) * 2011-05-20 2012-12-10 Canon Inc 情報処理装置、通信方法、及びプログラム
JP2013175156A (ja) * 2012-01-26 2013-09-05 Canon Inc データ処理装置、入力制御装置、及び制御方法
EP2401682B1 (en) * 2009-02-25 2017-05-03 Canon Kabushiki Kaisha Information processing apparatus and operation method thereof, computer program, and storage medium

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5414506B2 (ja) * 2009-12-18 2014-02-12 キヤノン株式会社 データ処理装置、データ処理方法、及びプログラム
JP5835942B2 (ja) * 2010-06-25 2015-12-24 キヤノン株式会社 画像処理装置、その制御方法及びプログラム
JP6049358B2 (ja) * 2012-08-31 2016-12-21 キヤノン株式会社 画像処理装置、画像処理方法、およびプログラム

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01180495A (ja) * 1988-01-13 1989-07-18 Toshiba Corp 核融合装置の第一壁
JPH0581178A (ja) * 1991-09-24 1993-04-02 Nec Corp パイプラインバス
JPH11215189A (ja) * 1998-01-26 1999-08-06 Sony Corp ネットワークシステム並びに情報伝送方法及び装置
JP2001156817A (ja) * 1999-11-25 2001-06-08 Nec Corp データ転送装置及びデータ転送方法
JP2008066971A (ja) * 2006-09-06 2008-03-21 Olympus Corp データ処理装置

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4872125A (en) * 1987-06-26 1989-10-03 Daisy Systems Corporation Multiple processor accelerator for logic simulation
JP2522952B2 (ja) 1987-07-20 1996-08-07 三洋電機株式会社 リング状ネットワ−ク装置
JP2834210B2 (ja) 1988-09-14 1998-12-09 株式会社日立製作所 リング状ネットワークにおけるメッセージ制御方法
US6496516B1 (en) * 1998-12-07 2002-12-17 Pmc-Sierra, Ltd. Ring interface and ring network bus flow control system

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01180495A (ja) * 1988-01-13 1989-07-18 Toshiba Corp 核融合装置の第一壁
JPH0581178A (ja) * 1991-09-24 1993-04-02 Nec Corp パイプラインバス
JPH11215189A (ja) * 1998-01-26 1999-08-06 Sony Corp ネットワークシステム並びに情報伝送方法及び装置
JP2001156817A (ja) * 1999-11-25 2001-06-08 Nec Corp データ転送装置及びデータ転送方法
JP2008066971A (ja) * 2006-09-06 2008-03-21 Olympus Corp データ処理装置

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2401682B1 (en) * 2009-02-25 2017-05-03 Canon Kabushiki Kaisha Information processing apparatus and operation method thereof, computer program, and storage medium
JP2012243162A (ja) * 2011-05-20 2012-12-10 Canon Inc 情報処理装置、通信方法、及びプログラム
US9363101B2 (en) 2011-05-20 2016-06-07 Canon Kabushiki Kaisha Packet processing in a predetermined order and suspension of packet transmission by predetermined time intervals based on a suspension flag
JP2013175156A (ja) * 2012-01-26 2013-09-05 Canon Inc データ処理装置、入力制御装置、及び制御方法
US9690740B2 (en) 2012-01-26 2017-06-27 Canon Kabushiki Kaisha Data processing apparatus, input control apparatus, and control method

Also Published As

Publication number Publication date
US20100235609A1 (en) 2010-09-16
US9239813B2 (en) 2016-01-19
JP4869369B2 (ja) 2012-02-08

Similar Documents

Publication Publication Date Title
JP4869369B2 (ja) 情報処理装置、情報処理方法およびプログラム
JP5460156B2 (ja) データ処理装置
US9043524B2 (en) Information processing apparatus, method thereof, and storage medium
JP5014362B2 (ja) 情報処理装置及びその制御方法、コンピュータプログラム
JP5803821B2 (ja) 制御装置、第1制御部、第2制御部、及び画像形成装置
JP2010187244A (ja) 端末装置間のトークン異常検出/回復方式
JP5460088B2 (ja) 情報処理装置、情報処理方法およびプログラム
JP2008294662A (ja) 通信装置、通信システム
JP2010268241A (ja) データ処理装置、その制御方法およびプログラム
EP3306483A1 (en) Arithmetic operation device and control apparatus
CN115203092A (zh) 一种单主多从的单线通信方法、装置及设备
JP6136754B2 (ja) 通信制御装置及び画像形成装置
JP5282806B2 (ja) 通信ネットワークシステム
JP2013196509A (ja) 情報処理装置及びその制御方法
JP2011146897A (ja) 通信システム
JP2010118020A (ja) リクエスト順序制御システム、リクエスト順序制御方法およびリクエスト順序制御プログラム
JP5534711B2 (ja) 情報処理装置、情報処理方法およびプログラム
JP2010245953A (ja) 情報処理装置、情報処理方法
JP5334173B2 (ja) データ転送システム及びリトライ制御方法
JP5396864B2 (ja) 端末装置間のデータ転送方式
JP5913454B2 (ja) 制御装置、第1制御装置、第2制御装置、画像形成装置
JP5713136B2 (ja) 制御装置、第1制御装置、第2制御装置、画像形成装置
JP2005128931A (ja) Dma転送装置
JP2003281087A (ja) メモリターゲット装置及びデータ転送システム
JP2011141690A (ja) バッファメモリ装置、及び、バッファリング方法

Legal Events

Date Code Title Description
RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20100630

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110519

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110519

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20110527

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20110609

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110719

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110914

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: 20111018

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20111115

R151 Written notification of patent or utility model registration

Ref document number: 4869369

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20141125

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees