JP5528001B2 - 情報処理装置、情報処理方法 - Google Patents

情報処理装置、情報処理方法 Download PDF

Info

Publication number
JP5528001B2
JP5528001B2 JP2009094099A JP2009094099A JP5528001B2 JP 5528001 B2 JP5528001 B2 JP 5528001B2 JP 2009094099 A JP2009094099 A JP 2009094099A JP 2009094099 A JP2009094099 A JP 2009094099A JP 5528001 B2 JP5528001 B2 JP 5528001B2
Authority
JP
Japan
Prior art keywords
packet
data
processing unit
processing
identification 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
JP2009094099A
Other languages
English (en)
Other versions
JP2010245953A5 (ja
JP2010245953A (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 JP2009094099A priority Critical patent/JP5528001B2/ja
Priority to US12/754,481 priority patent/US8417835B2/en
Publication of JP2010245953A publication Critical patent/JP2010245953A/ja
Publication of JP2010245953A5 publication Critical patent/JP2010245953A5/ja
Application granted granted Critical
Publication of JP5528001B2 publication Critical patent/JP5528001B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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/42Loop networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Small-Scale Networks (AREA)
  • Communication Control (AREA)
  • Multi Processors (AREA)

Description

本発明は、データ処理を行う複数のIP(モジュール)がリングバスで接続された情報処理装置及びその制御方法に関する。
リング状の通信ネットワーク(回路網)の1種であるトークンリングネットワーク(TRN)の概念を取り入れたもので、複数の処理部から構成されるTRN型データ駆動型処理システムがある(特許文献1)。
データを送信したい処理部は、バスを周回しているフリートークンと呼ばれるパケットを獲得する。そして、フリートークンを獲得した処理部はトークンに宛先識別子や処理データをコピーしてバスに送出し宛先モジュールに送信する。
一方、受信側の処理部は自らを宛先とするトークンを受信した場合に、処理データをコピーして受信が完了したことを示す受信完了フラグを設定し受信したトークンを再度リングバスに投入する。そして、送信元ノードは前記受信完了フラグが設定されていないトークンが戻ってきた場合は同じトークンを再送する。受信完了フラグが設定されているトークンが戻ってきた場合はトークンに付いているフラグをクリアする。
以上の処理によって、例えばトークンが1つのときは一度に1つの処理部がリング状のバスを専有する通信方式が実現される。このような通信方式をトークンパッシングリング方式という。
しかし、データ処理を行う複数のモジュールがリングバスで接続された情報処理システムにおいて、トークンパッシング方式を適用する場合、受信成功の成否に関わらずトークンを送信元に返送しなければならない。つまり、受信が成功していたとしても、受信した処理部から送信元した処理部まで戻されている途中のトークンは他の処理部が使用できないので効率的ではない。
また、リングバスに複数の処理部を接続しているシステムではトークンパッシング方式のようにリングバスを流れるパケットを停滞させない事が重要である。これは、処理部が並列処理できる場合にリングバスを流れるデータの流れを止めてしまうと、処理可能な処理部が強制的に待ち状態になるためである。
特開昭64−23340号公報
本発明は複数の処理部がリングバスで接続された情報処理装置で、リングバスを流れるパケットの流れをなるべく停滞させずに、効率良くさせることを目的とする。
この課題を解決するため、本発明の情報処理装置は複数のモジュールがバスを介してパケットを送受信することで通信可能に接続されている情報処理装置において、前記モジュールは、受信したパケットのうち自ノードで処理したデータを格納するパケットを識別するための第1の識別情報を格納する格納手段と、IDを有するパケットを前記バスに対して送受信する通信手段と、前記パケットのうち、当該パケットが有効であることを示す有効フラグを有するパケットのデータを処理する処理手段とを備え、前記通信手段が、前記有効フラグが無効で且つパケットのIDと前記格納手段に格納している第1の識別情報とが一致するパケット、あるいは、前記有効フラグが無効で且つ複数のモジュールでパケットを共用していることを示す情報が付加されたパケットに、前記処理手段により処理したデータを格納して送出し、前記モジュールは第2の識別情報を保持する保持手段を更に有し、前記通信手段は、前記有効フラグが有効で且つパケットのIDと前記保持手段に格納している第2の識別情報とが一致するパケットからデータを抽出して処理手段に送ることを特徴とする。
本発明によれば、リングバスを流れるパケットの流れをなるべく停滞させずに、リングバスを流れるパケットのトラフィック量を最適化できる。
通信処理部の概略構成を示すブロック図である。 パケットのフォーマットを示す図である。 複数のデータ処理部をリングバスで接続した処理装置を示す図である。 処理装置の初期設定処理を示すフローチャートである。 画像処理装置の概略構成を示すブロック図である。 実施例1の出力データ生成部の処理を示すフローチャートである。 実施例1におけるマッピング処理を図示する概略図である。 実施例2の出力データ生成部の処理を示すフローチャートである。 実施例2のパケット開放処理を示すフローチャートである。 統一IDと固有IDテーブルとの対応関係を保持するテーブルである。 実施例3の出力データ生成部の処理を示すフローチャートである。
<参考例>
まず、複数の情報処理部をリング状バスに接続した情報処理装置において、処理速度が低下する一例について説明する。図1は、通信路(バス)と情報処理部(以降、データ処理部)をつなぐ通信処理部108の構成を示すものであり、通信処理部にはデータ処理部107が接続されている。入力データ受信部101は、リングバス上を流れるデータパケットを受信する。入力データ識別部102は、入力されたデータパケットの制御情報を確認し、入力されたデータが、自ノードにおいて処理すべきデータかどうかを識別する。ここで、処理すべきデータであると判断した場合、パケットから抽出したデータを処理データ出力部103へ送信し、データを抽出したパケットのバリッドビットを変更し空パケットにする。
処理データ出力部103は、入力データ識別部102において自ノードにおいて処理すべきデータであると判断されたデータを、データ処理部107に対して送出する。処理済みデータ入力部104は、自ノードのデータ処理部において処理済のデータの入力を受け取る。
出力データ生成部105は出力すべきデータを保持していない場合、識別部102からのパケットはそのまま出力する。そして、入力部104から送られる、処理済であってバス上に出力すべきデータを有する場合は空パケットが回ってきた時に、出力用のパケットを生成する。出力データ送信部106は、出力データ生成部105が生成した出力データをリングバスに放出する。以上のように、リング状に接続される複数の処理モジュールについて、リング上を所定の一方向へデータを転送する。
図2は、このようなデータ通信処理部のリングバスにおいて送受信されるパケットのデータ構造を示したものである。
フィールド201は、データの処理順番を示すカウンタである。リング状のデータバスにおいては、連続する未処理データを含むデータパケットの一部がリング内を周回することがある。従って、通信処理部が受信するデータが、必ずしも対応するデータ処理部で最初に処理されるべきデータであるとは限らない。よって、このようなカウンタをデータに付随して持たせることで、入力された順など、正しい処理順番に従って処理を実行させる事が可能となる。なお、対応するデータ処理部とは、通信処理部がリングバスを介さずに直接通信可能なデータ処理部の事を指すものとする。
フィールド202はこのデータパケットが保持しているデータが処理されるべき有効データであることを示すフラグである。これはすなわち、パケットが現在使用中であるかどうかを示すフラグと同じ意味を持つ。以下、このフラグをバリッドビット(有効フラグ)と呼称する。フィールド203は、このパケットが保持しているデータが何らかの理由で、処理すべきデータ処理部に処理されなかったことを示すフラグである。通常のパイプライン接続における、前段へのデータ供給停止要求ビット(disable信号)と同様の意味を持つ。以下、このフラグをストールビットと呼称する。
フィールド204は、このデータを最後に処理したデータ処理部のIDである。データ通信処理部では、あらかじめ外部から設定された待ち受けIDを保持している。そして、前述の入力データ識別部102はこの待ち受けIDと、このデータパケット上のIDとを比較し、一致した際に処理データ出力部103にパケットを取り込んで処理を行う。また、フィールド205は、データやコマンドを格納する。(a)、(b)はデータパケットとコマンドパケットとを示しているが、フィールド205にデータとコマンドを混在させて格納してもよい。
通常、IDを比較する前に、バリッドビットはパケットが有効であることを示す値に設定されているかを確認し、有効なパケットについてIDが一致するものを通信処理部がデータ処理部に処理させる。一方で、通信処理部はデータ処理部が処理したデータをパケットに格納する場合、バリッドビットはパケットが無効であることを示す値に設定されているかを確認し、無効なパケット(空のパケット)にデータを格納する。
概念的には、リングバスを流れるパケットの総数はほぼ一定である、即ち、空パケットと有効なパケットとの和はほぼ一定であり、この一定数のパケットがリングバスを周回し続けている。ここで、空パケットとは格納するデータが無効とされたパケットであり、有効なパケットとはデータやコマンドを格納しているパケットである。
図3(a)は、リングバスを採用している画像処理部の構成の一例を示す図である。
データ取得部301は、外部記憶装置などから処理すべきデータを取得する。通信処理部302は、取得されたデータをリング状に構成されている通信路に供給する処理を行う。データ処理部304は、供給されたデータに対して所定の処理を行う。通常、情報処理を行う上で処理部が外部と通信する事のないスタンドアローンな状態を取る事はない。しかし、本明細書では処理部の通信処理について詳細に説明するために、処理部からデータ処理部と通信処理部を独立させて説明している。
通信処理部303は、リング状に構成された通信路から、データ処理部303で処理すべきデータを通信路から選別して取り込む通信処理部である。この構成においては、データ処理部303および通信処理部304を有する処理部がリングバス307に1つ以上接続されている。
出力通信処理部305は、処理済のデータを外部の記憶装置などに出力するため、リング状の通信路上から処理済のデータを選択して取り込む。出力部306は、通信処理部305により取り込まれた処理済のデータを外部記憶装置などに出力する。リングバス307は、これらの通信処理部を通信可能に連結するリング状のデータバスである。
図3(b)は、図3(a)に示した構成において、デッドロックが発生する状態を説明する図である。ここでは、データの順番を示すために、データ309〜311の中に、データの入力順番を示す数字を記載している。
データ処理部308は、一度に3つのデータを処理して出力するデータ処理部である。データ処理部308が3つのデータを取得してから処理を終了するまで、データ処理部308と一対一で通信する通信処理部303は処理結果を出力できない。
ここで、データ取得部301が、データ処理部308の処理中も継続してデータを供給し続けた場合、リングバス上を周回するパケットのすべてが入力データで埋まってしまう事がある。その場合、空きパケットがなくなるために、データ処理部308から出力されるデータ309はリングバス307に出力できないまま停滞してしまう。
また、データ処理部308は、自身が処理したデータの全てを出力するまで、次のデータ処理に移行できないものであるとする。この場合、データ処理部308は処理済データを出力できないため次のデータを取得することができない。一方で、データ取得部301も、通信処理部302がデータをリングバス307に出力できないため止まってしまう。
さらに、データ出力部306も、出力すべき処理済データ309がデータ処理部308から出力されてこないため、いずれのデータも外部に出力することができない。
このようにして、複数の処理部をリングバスに接続したデータ処理装置において、未処理データによってリングバス上のすべてのパケットが占有されてしまう事がある。それによって、データ処理部が次のデータを取得できない状態になり、処理を継続できないデッドロック状態に陥ってしまう。
<実施例1>
次に本発明の一実施例である実施例1について説明する。なお、参考例と構成的、機能的にかわらないものについてはその説明を省略する。
図5は、実施例1のシステムの概略構成を示す図である。制御処理部601はCPUやMPUなどの処理回路である。画像処理部602は、リングバスで接続されている複数の処理部(モジュール)を有する画像処理部である。
RAM603は、処理する前の入力画像データや処理後の出力画像データ、又は、画像処理部602の設定パラメータに関するデータなどを格納する読み書き可能なメモリである。ROM504は、制御処理部501や画像処理部502の処理手順や、設定パラメータ等の定数などを保持可能な読み出し可能なメモリである。
制御処理部501において、ROM504から読み出されたプログラムにしたがって、システムの制御ならびに画像処理部502への指示等を行う。画像処理部502は、処理装置501からの指示に従って画像処理を実行する。その際に、RAM503にあらかじめ格納されている入力画像データを読み出して処理を行い、処理結果を再びRAM503に書き込む。また、システムバス505は制御処理部501、画像処理部502、RAM503、画像処理部502を通信可能に接続するバスである。
図4に制御処理部501による画像処理部502の設定処理の処理手順を示す。
画像処理制御が開始されると、以下のステップに従って処理を実行する。ステップS401で制御処理部501は、ROM504から画像処理部502のデータ処理部の処理順番を読み出す。ステップS402で制御処理部501は、ROMからデータ処理部に与える処理パラメータを読み出す。ステップS403で制御処理部501は、読み出したデータ処理順番及び処理パラメータを用いて画像処理部502の制御パラメータを算出する処理を行う。
ステップS404で制御処理部501は、ステップS703で算出した制御パラメータを用いて、画像処理部502に対する設定処理を行うステップS405で制御処理部501は、画像処理部502に対して処理開始の指示を行う。ステップS406で制御処理部501は、画像処理部502の設定の完了を確認し、
ステップS407において、設定処理が完了したと判断した場合には、処理を終了する。ここで、処理が未終了であった場合には、再びステップS406へ戻り、終了確認処理を継続する。
また、図7は4つのモジュールがリング状に接続されている画像処理部502の構成を示すブロック図であって、マッピング処理を説明するのに適するようにデータ処理部とリングバス上のレジスタを強調している。画像処理部502は、通信処理部801〜804、データ処理部816〜819、レジスタ805〜812、リングバス813を有している。また、入出力バッファ814を介して画像処理部502の外部からデータを入力、もしくは外部へデータを出力可能に構成されている。通信処理部801〜804はそれぞれ自身が処理するデータを識別する情報(以下、待ち受けID)を格納するレジスタ815を具備する。本実施例では、データ処理部801〜804のレジスタに設定されている待ち受けIDと、受け取ったパケットのIDとが一致することを判別することで処理すべきパケットを識別するものとする。また、本実施例では説明を簡便にするため、データ処理部は1つの入力データを処理して1つの出力データを得るものとし、リングバスを周回するパケットの数の総数はレジスタに相当する8個とする。
各データ処理部の待ち受けIDの設定やパケットのマッピングは制御処理部501で動作するソフトウェアプログラムが行う。まず、各データ処理部に固有のID(モジュール固有のID)をレジスタ816に割り振る。ここでは本実施例では待ち受けIDとして(1)を格納しているデータ処理部は処理回路外部へのデータの入出力を管理するように設定する。また、各データ処理部の固有のIDは予め固定の値を設定するようにしてもよい。
次に制御処理部501は、各データ処理部の待ち受けID(wIDと表記している)を設定する。本実施例では、通信処理部801のwIDを(4)、データ処理部802のwIDを(3)、データ処理部803のwIDを(1)、データ処理部804のwIDを(2)と設定する。各処理部に固有IDと待ち受けIDとを設定すると、複数の処理部によるデータフローが仮想的に形成される。図7のように設定すると、バッファ814からデータを入力した後に、通信処理部801→データ処理部803→データ処理部802→データ処理部804の順番でパイプライン処理をした後にバッファ814へ出力される。
次に、制御処理部501は、8個の空パケットを各レジスタにマッピングする。その際に、8個の空パケットはバリッドビットとして無効を示す値(0)を格納し、更に、IDを格納している。図7に示すように、レジスタ805にはIDとして3を格納するパケットがマッピングされている。同様にレジスタ806〜812には夫々、IDが1、4、2、4、3、2、1、のパケットが順にマッピングされている。本実施例ではデータ処理部が4つであり、4種類のIDの全てをマッピングする必要がある。ただし、データ処理に用いない処理部があるときはそのIDを有する空パケットをマッピングする必要はない。また、同じIDを有する空パケット同士の必要な間隔を配置間隔とする。本実施例では配置間隔を(1)としているため、同じIDを有する空パケットは隣り合わないようにマッピングされる。
図1は、通信路(バス)とデータ処理部をつなぐ通信処理部の構成を示すものである。
出力データ生成部105は、識別部102において自ノードで処理すべきデータでないと判断されたデータや、有効なデータを含んでいないと判断された空パケットや、処理済みデータ入力部104から送られる、処理済であってバス上に出力する必要のあるデータなどから、出力データを生成する。
入力データ識別部102がデータを抽出してバリッドビットを無効にする際に、参考例の方式であればデータを抽出したパケットのIDやデータもクリアして構わないが、本実施例ではIDをクリアしない。
そして、出力データ生成部105は、データ処理部が処理したデータをパケットに格納する際、バリッドビットを確認し空パケットであるかを確認し、更にパケットに付加されているIDが固有IDと一致するかを確認する。即ち、空パケットであって固有IDが一致するパケットにしか出力データ生成部は処理済のデータを格納しない。
なお、入力データ識別部102は待ち受けIDを保持するレジスタを有しており、出力データ生成部は固有IDを保持するレジスタを有している。上述のステップ404において制御処理部501はこれらのレジスタに値を設定する。また、処理済データ入力部104はデータ処理部からデータを受け取った際に、データを保持している事を示すために保持フラグを出力データ生成部に設定する。すなわち、出力データ生成部105は保持フラグの値を有するレジスタを有している。なお、各構成がレジスタを有していると説明しているが、レジスタの値を参照可能な様に構成するだけでもよい。
図6は出力データ生成部105が行う処理を示すフローチャートである。
ステップ601では入力データ受信部101、入力データ識別部102を介してリングバスからパケットを取得する。ステップ602ではパケットからIDを取得する。ステップ603では固有IDを取得する。ステップ604では保持フラグをチェックする。フラグが1であればステップ607を実行する。一方、フラグが0であればステップ605を実行する。
ステップ605ではデータ処理部から処理後データを取得する。ステップ606ではデータ処理部から有効な処理後データが得られたかを確認する。有効な処理後データが得られた場合はステップ607を実行する。得られなかった場合はステップ614を実行する。
ステップ607では出力データ生成部105の取得したパケットのデータ有効信号が下がっているかを確認する。本実施例では、データ有効信号(バリッドビット)が(0)である場合に信号が下がっており、パケットが無効であることを示すものとする。そして、下がっていればステップ608でパケットのID(送信元ID)と処理部に設定されている固有IDが一致するかをチェックする。パケットのIDと処理部に設定されている固有IDが一致する場合はパケットのデータ格納領域に処理後のデータを格納する。さらに、ステップ610で保持フラグを0にクリアし、ステップ611でデータを格納したパケットのデータ有効信号を(1)に設定する。
一方で、ステップ607でバリッドビットが(1)であった場合、又はステップ608でパケットのIDと処理部の固定IDが一致しない場合はステップ612で処理済データ入力部から取得したデータを一時的に保持する。ステップ612では処理後データをレジスタなどに格納し保持する。ステップ613では保持フラグを1にする。ステップ614ではパケットを出力しレジスタなどに格納する。
以上のように実施例1では、概念的にリングバスを流れるパケットを複数のデータ処理部の1つに専用のパケットとし、データ処理に用いる処理部の夫々に少なくとも1つの専用のパケットを割り当てる。従って、実施例1ではパケットの格納するIDは処理部によって変更されることはない。これにより、同じ処理部が出力するパケットでバス上が埋め尽くされる事で生じるデッドロックを回避することができる。
少なくとも、1つのデータ処理部(モジュール)について専用のパケットを設ければ、そのデータ処理部は他のデータ処理部にパケットを埋め尽くされる恐れが無くなる。複数のモジュールが順番にパイプライン処理をする場合に、入力されるパケットの数より多くのパケットを出力するモジュールよりも処理順番が後段のモジュールに専用のパケットを設ければ、パケット埋め尽くしによるデッドロックが発生する可能性は低くなる。
また、図7に示すように同じIDを有するパケットを制御処理部501が隣り合わないように配置することで、リングバスを流れるパケットの偏りを減らし、データが効率良く処理されるようになる。例えば、同じIDを有するパケットが局所的に連続する場合、各処理部は自身の保持する固有IDと異なるIDを有するパケットが連続している間は処理したデータを出力できないので効率が良くないことがある。そこで、制御処理部501がパケットをマッピングする際に配置間隔というパラメータに基づいてマッピングするようにしてもよい。例えば、〔配置間隔=1〕の場合は同じIDを有するパケットの間には少なくとも1つの別のIDを有するパケットがマッピングされる。
ただし、データ処理部の少なくとも1つが2つ以上のパケットを入力されないと、処理が始まらない場合(例えば、縮小処理等)、その処理部の固有IDを有するパケットのみ処理に必要な数だけ連続して配置してもよい。
<実施例2>
実施例1と同一機能を有する構成や工程には同一符号を付すとともに、構成的、機能的にかわらないものについてはその説明を省略する。
実施例1ではリングバスから取得したパケットのIDが処理部の固有IDと一致しない場合、出力データ生成部105はパケットに処理後のデータを格納しなかった。しかし、本実施例では一致しない場合でも、データ有効信号が無効を示していればパケットに処理後データの格納を行っても良いとする。以下の説明ではそのようなパケットを借用パケットと呼ぶ。また、借用したパケットは借用元のデータ処理部が借用する前のIDを再度格納することで開放する。
なお、本実施例ではフィールド204にIDとは別に借用フラグを格納する領域を1ビット割り当てる。そして、フラグが1であれば借用パケットを示しており、0であれば借用パケットではないことを示しているとする。さらに、借用したパケットに借用する前のIDを付加する為に、各パケットを識別するパケット用の固有ID(以下、統一IDと呼称する)を付加する。
統一IDはパケット毎に固有の識別子とする。
本実施例におけるデータ処理部のブロック図を図1に示す。
出力データ生成部105は、入力データ識別部から取得する空パケットのIDが固有IDと異なっていても、現在借用しているパケット数が所定数を越えていなければ、データと自身の固有IDを格納する。出力データ生成部105には借用パケット数をカウントするカウンタを有している。また、空パケットを借用する際は、借用するパケットの元のIDと借用した処理部の固有IDとを図10に示すように借用テーブルに保持する。
図8は本実施例におけるお出力データ生成部105のフローチャートである。なお、ステップ901、904〜908、913〜918は夫々、図6のステップ601、604〜608、609〜614と同様の処理であるので説明を省略する。
ステップ902では借用パケット開放ステップを行う。詳細は後述する。
ステップ903ではステップ902で借用パケットを開放したか否かを判断し、開放したのであればステップ918を実行する。開放しなかったのであればステップ904を実行する。
ステップ909では借用パケットカウンタの値が設定数(最大借用パケット数)よりも小さいかをチェックする。借用パケットカウンタの値が最大借用パケット数よりも小さければ、ステップ910で借用パケットカウンタを1だけインクリメントする。ステップ911ではパケットのIDを自らの処理部の固有IDで上書きする。ステップ912ではテーブルに統一IDと固有IDとの対応を格納する。
次にステップ902で示した借用パケット開放処理に関するフローチャートを図9に示す。以下で説明する。ステップ1001ではパケットから統一IDを取得する。ステップ1002ではパケットのデータ有効信号を確認する。データ有効信号が0であればステップ1003を実行し、1であれば処理を終了する。
ステップ1003では借用フラグを0にする。ステップ1004ではテーブルから借用前のパケットのIDを取得する。ステップ1005では取得したIDをパケットのIDとして再び設定する。ステップ1006では借用パケットカウンタを1デクリメントする。
以上説明したように受信した空パケットのIDが固有IDと異なる場合でも、一時的にパケットを借用することで、より効率的にデータ処理を行うことが可能である。
なお、統一IDを用いなくても借用フラグを用いるだけでも同様の効果を奏する事ができる。その場合には、出力データ生成部105は借用フラグが1になっているパケットを受信した際に、開放する処理をテーブルに基づいて行う。ここで、テーブルには借用元のIDと借用先のIDとの個数の関係を示す情報があれば、それに基づいて借用パケットを開放すればよい。
<実施例3>
実施例1、2と同一機能を有する構成や工程には同一符号を付すとともに、構成的、機能的にかわらないものについてはその説明を省略する。本実施例ではどのデータ処理部でも利用可能な共用パケットを配置する。
また、本実施例において出力データ生成部105は実施例1の場合に加え、パケットのIDが未設定の場合、又はパケットが共用を示す情報が付加されている場合でもパケットに処理データの格納を行う。
本実施例の出力データ生成部105は同じ固有IDを有するパケットを所定の制御間隔以上で配置するための設定値を格納するレジスタ(以降、データ間隔格納部1205)を有している、又は参照可能である。制限間隔はID毎に設定されてもよい。なお、レジスタ815をデータ間隔格納部1205として利用してもよい。
なお、本実施例ではパケットID204の最上位1ビット目を共用フラグとしており、このフラグが1であれば共用を示しており、0であればそれ以外を示しているとする。もちろん、共用フラグ専用の領域を別に設けてもよい。一方、データ有効信号が0に設定されている際に自らの占有とした場合は、最上位2ビット目の借用フラグを1にするものとし、それ以外の場合は0にするものとする。同様に借用識別領域をパケットに設けてもよい。そのようなパケットを借用パケットと以下では呼ぶ。また、本実施例ではパケットのIDが0の場合は、IDが未設定であるとする。
また、出力データ生成部105は、自らの固有IDを付加したパケットを少なくともデータ間隔格納部1205が保持する値以上の間隔をもって送出するようにできる。また、その動作は指示によってON・OFFの制御ができるものとする。
図11は本実施例における出力データ生成部105のフローチャートである。ステップ1301ではパケット一時保持バッファからパケットを取得する。ステップ1302ではパケットからIDを取得する。ステップ1303では自らの固有IDを保持するレジスタを参照して固有IDを取得する。
ステップ1304では保持フラグを確認する。この、フラグが0であればステップ1305を実行し、1であればステップ1307を実行する。
ステップ1305ではデータ処理部から処理後データを取得する。ステップ1306ではデータ処理部から有効な処理後データが得られたかを確認する。有効な処理後データが得られた場合はステップ1307を実行し、得られなかった場合はステップ1323を実行する。
ステップ1307ではパケットから取得したIDと固有IDとを比較し、一致すればステップ1308を実行し、一致しなければステップ1315を実行する。ステップ1308ではパケットのデータ有効信号が0であるかを確認し、0であればステップ1309を実行し、1であればステップ1314を実行する。
ステップ1309ではパケットに処理後データを格納し、ステップ1310では保持フラグを0にし、ステップ1311ではパケットのデータ有効信号を1に設定する。
ステップ1312ではパケットのIDとして固有IDを格納する。ステップ1307でパケットIDと固有IDとが等しかった場合にはステップ1312の処理を省略して構わない。
ステップ1313ではデータ間隔カウンタを0にリセットする。
ステップ1314ではパケットが共用を示しているかを確認する。共用を示していればステップ1315を実行する。共用を示していなければステップ1318を実行する。
ステップ1315ではパケットのデータ有効信号が0であるかを確認する。0であればステップ1316を実行する。1であればステップ1319を実行する。
ステップ1316ではデータ間隔格納部から所定の間隔値を取得する。ステップ1317ではステップ1316で取得した間隔値とデータ間隔カウンタを比較してデータ間隔カウンタが間隔値以上の場合はステップ1309を実行する。そうでなければ、ステップ1319を実行する。
ステップ1308ではパケットのIDが未設定かを確認する。パケットのIDが未設定の場合はステップ1316を実行し、未設定でない場合はステップ1319を実行する。
ステップ1319では処理後データをレジスタに保持する。ステップ1320では保持フラグを1にする。ステップ1321ではデータ間隔カウンタを1だけインクリメントする。ステップ1322ではパケットのデータ有効信号を0にクリアする。
ステップ1323ではパケットをレジスタ等にコピーする。
なお、実施例1及び実施例2の場合と同様に保持フラグはデータ処理装置初期化時に0クリアされるものとする。
以上説明したようにデータ処理部識別情報が未設定のパケットや共用パケットを占有し、ある間隔ごとに配置することでより効率的にデータ処理を行うことが可能である。
上述の各実施例では、パケットのマッピングは制御処理部101が行うとしているが、リングバス上にパケット制御部を設置し該パケット制御部が制御処理部101の代わりにパケットの割り当てを行う様にしてもよい。その場合、制御処理部101を通過するパケットについて、前述のようにIDを格納する処理を行えばよい。
上述の各実施例で用いたデータ処理装置の各部の概略構成図は、回路や機能手段の接続関係を説明するためのものであって、各構成の位置関係を制限するものではない。また、説明の簡便のために通信部が6個の例を挙げたが、本発明を実施するためには通信部や処理部は複数有ればよい。
また、前述の各実施例の処理は、複数のハードウェアとソフトウエアの協同によって実現するようにしてもよい。この場合、ネットワーク又は各種記憶媒体を介して取得したソフトウエア(プログラム)をコンピュータ等の処理装置(CPU、プロセッサ)にて実行することで実現できる。
また、本発明は前述した各実施例の機能をコンピュータに実現させるプログラムを記憶した記憶媒体を、システム或いは装置に供給することによって実現してもよい。
101 入力データ受信部
102 入力データ識別部
103 処理データ出力部
104 処理済みデータ入力部
105 出力データ生成部
106 出力データ送信部
107 データ処理部

Claims (11)

  1. 複数のモジュールがバスを介してパケットを送受信することで通信可能に接続されている情報処理装置において、
    前記モジュールは、
    受信したパケットのうち自ノードで処理したデータを格納するパケットを識別するための第1の識別情報を格納する格納手段と、
    IDを有するパケットを前記バスに対して送受信する通信手段と、
    前記パケットのうち、当該パケットが有効であることを示す有効フラグを有するパケットのデータを処理する処理手段とを備え、
    前記通信手段が、前記有効フラグが無効で且つパケットのIDと前記格納手段に格納している第1の識別情報とが一致するパケット、あるいは、前記有効フラグが無効で且つ複数のモジュールでパケットを共用していることを示す情報が付加されたパケットに、前記処理手段により処理したデータを格納して送出し、
    前記モジュールは第2の識別情報を保持する保持手段を更に有し、
    前記通信手段は、前記有効フラグが有効で且つパケットのIDと前記保持手段に格納している第2の識別情報とが一致するパケットからデータを抽出して処理手段に送ることを特徴とする情報処理装置。
  2. 前記モジュールの夫々に前記第1の識別情報と前記第2の識別情報とを設定する設定手段を更に有することを特徴とする請求項に記載の情報処理装置。
  3. 前記設定手段は、第1のモジュールに設定される第1の識別情報を第2のモジュールに第2の識別情報として設定することで、前記第1のモジュールと前記第2のモジュールとによってパイプライン処理を実行させるように設定することを特徴とする請求項に記載の情報処理装置。
  4. 前記設定手段が前記モジュールの夫々の通信手段に、前記IDを有するパケットを割り当てることを特徴とする請求項2又は3に記載の情報処理装置。
  5. 前記設定手段が前記複数のモジュールの第1の識別情報の夫々に対応するIDを少なくとも1つのパケットに割り当てることを特徴とする請求項に記載の情報処理装置。
  6. 前記モジュールの第1の識別情報と一致するIDをパケットに割り当てる際に、前記設定手段は配置間隔に応じて同じIDをパケットに割り当てることを特徴とする請求項4又は5に記載の情報処理装置。
  7. 前記通信手段は、データを格納したパケットの有効フラグを有効にして前記バスに送出することを特徴とする請求項1乃至のいずれか1項に記載の情報処理装置。
  8. 前記通信手段は、データを抽出したパケットの有効フラグを無効にして前記バスに送出することを特徴とする請求項1乃至のいずれか1項に記載の情報処理装置。
  9. 前記有効フラグが無効であれば、パケットのIDと前記保持手段に格納している第2の識別情報とが一致していなくても、所定数のパケットに前記処理手段の処理したデータを格納して送出することを特徴とする請求項1乃至8のいずれか1項に記載の情報処理装置。
  10. 前記格納手段がレジスタであることを特徴とする請求項1乃至のいずれか1項に記載の情報処理装置。
  11. 複数のモジュールがバスを介してパケットを送受信することで通信可能に接続されている情報処理装置における情報処理方法であって、
    前記モジュールが、
    受信したパケットのうち自ノードで処理したデータを格納するパケットを識別するための第1の識別情報を格納する格納工程と、
    IDを有するパケットを前記バスに対して送受信する通信工程と、
    前記パケットのうち、当該パケットが有効であることを示す有効フラグを有するパケットのデータを処理する処理工程とを備え、
    前記通信工程では、前記有効フラグが無効で且つパケットのIDと前記格納工程で格納している第1の識別情報とが一致するパケット、あるいは、前記有効フラグが無効で且つ複数のモジュールでパケットを共用していることを示す情報が付加されたパケットに、前記処理工程で処理したデータを格納して送出し、
    さらに、前記モジュールは第2の識別情報を保持する保持工程と、
    前記有効フラグが有効で且つパケットのIDと前記保持工程で格納している第2の識別情報とが一致するパケットからデータを抽出する抽出工程を有し、
    前記処理工程は、前記抽出工程で抽出されたデータを処理することを特徴とする情報処理方法。
JP2009094099A 2009-04-08 2009-04-08 情報処理装置、情報処理方法 Expired - Fee Related JP5528001B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2009094099A JP5528001B2 (ja) 2009-04-08 2009-04-08 情報処理装置、情報処理方法
US12/754,481 US8417835B2 (en) 2009-04-08 2010-04-05 Information processing apparatus, and information processing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009094099A JP5528001B2 (ja) 2009-04-08 2009-04-08 情報処理装置、情報処理方法

Publications (3)

Publication Number Publication Date
JP2010245953A JP2010245953A (ja) 2010-10-28
JP2010245953A5 JP2010245953A5 (ja) 2012-05-24
JP5528001B2 true JP5528001B2 (ja) 2014-06-25

Family

ID=42935226

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009094099A Expired - Fee Related JP5528001B2 (ja) 2009-04-08 2009-04-08 情報処理装置、情報処理方法

Country Status (2)

Country Link
US (1) US8417835B2 (ja)
JP (1) JP5528001B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5014362B2 (ja) * 2009-02-25 2012-08-29 キヤノン株式会社 情報処理装置及びその制御方法、コンピュータプログラム
JP6869660B2 (ja) 2016-08-01 2021-05-12 キヤノン株式会社 情報処理装置、及び情報処理装置の制御方法

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4821174A (en) * 1984-03-20 1989-04-11 Westinghouse Electric Corp. Signal processing system including a bus control module
JP2522952B2 (ja) 1987-07-20 1996-08-07 三洋電機株式会社 リング状ネットワ−ク装置
US5388223A (en) * 1991-09-05 1995-02-07 International Business Machines Corporation 1-bit token ring arbitration architecture
US5699460A (en) * 1993-04-27 1997-12-16 Array Microsystems Image compression coprocessor with data flow control and multiple processing units
FR2737591B1 (fr) * 1995-08-03 1997-10-17 Sgs Thomson Microelectronics Dispositif d'organisation d'acces a un bus memoire
JP3658896B2 (ja) * 1996-11-26 2005-06-08 ソニー株式会社 情報信号伝送システム、再生装置及び表示装置
US6058449A (en) * 1997-07-31 2000-05-02 Motorola, Inc. Fault tolerant serial arbitration system
JP3983455B2 (ja) * 2000-04-13 2007-09-26 シャープ株式会社 データ駆動型情報処理装置の実行制御装置
JP3780880B2 (ja) * 2001-07-05 2006-05-31 ソニー株式会社 通信システム、サーバ装置、クライアント装置、連携処理提供方法、連携処理方法、プログラムおよび記録媒体
US7117278B2 (en) * 2001-07-12 2006-10-03 Sun Micro Systems, Inc. Method for merging a plurality of data streams into a single data stream
JP2004248316A (ja) * 2004-04-05 2004-09-02 Nippon Telegr & Teleph Corp <Ntt> 故障箇所同定方法
JP2006295690A (ja) * 2005-04-13 2006-10-26 Canon Inc 情報処理装置
JP2007221394A (ja) * 2006-02-15 2007-08-30 Mitsumi Electric Co Ltd 通信方法、及び、通信システム、並びに、通信装置
JP2008066971A (ja) * 2006-09-06 2008-03-21 Olympus Corp データ処理装置
US20080168003A1 (en) * 2007-01-10 2008-07-10 Wald Thomas Robert System and method for securitizing zero coupon bond and equity index portfolios in a target date exchange traded fund
US8122279B2 (en) * 2008-04-21 2012-02-21 Kabushiki Kaisha Toshiba Multiphase clocking systems with ring bus architecture

Also Published As

Publication number Publication date
JP2010245953A (ja) 2010-10-28
US8417835B2 (en) 2013-04-09
US20100262719A1 (en) 2010-10-14

Similar Documents

Publication Publication Date Title
JP4083987B2 (ja) 多重レベル接続識別を備えた通信システム
US8774234B2 (en) Data processing apparatus, data processing method, and computer-readable storage medium
CN106844245B (zh) 数据传输方法及装置
US8725919B1 (en) Device configuration for multiprocessor systems
KR20210033996A (ko) 전용 저 레이턴시 링크를 사용한 다수의 하드웨어 가속기에 대한 통합된 어드레스 공간
JPH1049507A (ja) 並列計算機
US9239811B2 (en) Data processing apparatus and data processing method
JP2002342299A (ja) クラスタシステム、コンピュータ及びプログラム
US9237097B2 (en) Information processing apparatus and operation method thereof, computer program, and storage medium
JP2008310832A (ja) 高レベル・データ・リンク・コントローラから多数個のディジタル信号プロセッサ・コアに信号を分配するための装置と方法
CN115102780A (zh) 数据传输方法、相关装置、系统及计算机可读存储介质
CN101169774B (zh) 一种多处理器系统、共享控制装置及启动从处理器的方法
JP5528001B2 (ja) 情報処理装置、情報処理方法
JP4869369B2 (ja) 情報処理装置、情報処理方法およびプログラム
US7206889B2 (en) Systems and methods for enabling communications among devices in a multi-cache line size environment and disabling communications among devices of incompatible cache line sizes
CN113168388A (zh) 总线上的存储器请求链接
KR102303424B1 (ko) 랜덤 액세스 메모리를 포함하는 하나 이상의 처리 유닛을 위한 직접 메모리 액세스 제어 장치
JP5460088B2 (ja) 情報処理装置、情報処理方法およびプログラム
CN116204214A (zh) Bmc升级方法、装置、系统、电子设备及存储介质
CN112416053B (zh) 多核架构的同步信号产生电路、芯片和同步方法及装置
JP2010268241A (ja) データ処理装置、その制御方法およびプログラム
JP3698959B2 (ja) 情報処理装置
JPH10320365A (ja) データ交換装置およびその方法
CN114915499A (zh) 数据传输方法、相关装置、系统及计算机可读存储介质
US20200192667A1 (en) Arithmetic processing device, and control method for arithmetic processing device

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120329

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120329

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130627

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130709

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130909

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20131112

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140106

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140415

R151 Written notification of patent or utility model registration

Ref document number: 5528001

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

LAPS Cancellation because of no payment of annual fees