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

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

Info

Publication number
JP2010218253A
JP2010218253A JP2009064682A JP2009064682A JP2010218253A JP 2010218253 A JP2010218253 A JP 2010218253A JP 2009064682 A JP2009064682 A JP 2009064682A JP 2009064682 A JP2009064682 A JP 2009064682A JP 2010218253 A JP2010218253 A JP 2010218253A
Authority
JP
Japan
Prior art keywords
data
processing
packet
processing unit
processed
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
JP2009064682A
Other languages
English (en)
Other versions
JP5460088B2 (ja
Inventor
Isao Sakamoto
伊左雄 坂本
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 JP2009064682A priority Critical patent/JP5460088B2/ja
Priority to US12/709,395 priority patent/US8300535B2/en
Publication of JP2010218253A publication Critical patent/JP2010218253A/ja
Priority to US13/619,603 priority patent/US9043524B2/en
Application granted granted Critical
Publication of JP5460088B2 publication Critical patent/JP5460088B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

【課題】 複数のデータ処理部がリング状のバスに接続された情報処理装置において、利用するデータ処理部の順番の変更やデータ量の変動に対しても安定して効率のよい処理を実現するデータフローの制御。
【解決手段】 処理上の前段に位置するデータ処理部が、処理上の後段に位置するデータ処理部がデータを受信可能な量とタイミングで送信するように、データの送信を制御するデータ送信制御部を備える。
【選択図】 図5

Description

本発明は、複数の処理モジュールをバスによってリング状に接続している情報処理装置、該情報処理装置における情報処理方法およびプログラムに関する。
従来、高速なパイプライン処理を実現するため、パイプライン処理となる一連のデータ処理を分割して複数のモジュールに割り当て、このモジュールを処理の流れ順にバスで接続する方法がある。
そして、モジュールをバスでリング状に接続した場合に、バスのトラフィックを抑える方法として、モジュールの受信負荷を判定し、負荷が高い場合に他の処理モジュールから受信するデータを制限する方法がある。
例えば、モジュールがメッセージの送信やトークンを消去/再生をすることでその他のモジュールから受信するデータを制限し、バスのトラフィックを抑える方法がある。(特許文献1、特許文献2)
また、リング状のバスに接続されたモジュールを用いてパイプライン処理をさせる場合に、リング状バスを周回するデータに衝突しないようなタイミングでデータを投入して、全体の処理の効率を上げる方法がある。(特許文献3)
特開平2−283142号公報 特開平10−228445号公報 特許第2541697号公報
しかし、特許文献1や特許文献2の技術ではリングバスのデータの流れを止めるので、他のモジュールが並列的に処理できる状態にあってもそのモジュールへのデータの供給まで止め、全体の処理速度が低下することがある。
また、特許文献3の技術をリングバスに用いる場合には、全体の処理効率が低下することがある。その理由の1つとして、処理に必要なデータが揃うまでと、揃った後では適切なデータの供給のタイミングが異なることが挙げられる。
上記課題を解決するために本発明は、複数のモジュールがバスを介してリング状に接続され、前記リング上を単一方向へ流れるパケットを前記モジュールが所定の順番で処理する情報処理装置において、前記モジュールは、前記バスを介して前記リングの第1の方向から受信するパケットを第2の方向へ送信する通信手段と、前記第1の方向から受信したパケットのうち当該モジュールにおいて処理すべきパケットを処理パケットとして識別する識別手段と、前記通信手段と一対一で接続され、前記識別手段の識別した処理パケットを処理する処理手段とを有し、前記通信手段が前記第2の方向へ送信する複数のパケットのうち前記処理手段が処理したパケットについて、前記所定の順番において後段の処理をするモジュールの処理パケットあたりの処理時間以上の間隔を空けて、前記通信手段が送信することを特徴とする。
本発明によれば、複数のモジュールをリング状にバス接続した情報処理装置において、バスを周回するデータを停滞させずに、バスのトラフィックの増加を抑制することで効率的なデータ処理を実現できる。
リングバス状の通信処理部の概略構成例を示す図である。 パケットのフォーマットの例を示す図である。 リングバスに接続された処理部を有する画像処理装置の概略構成を示す図である。 データフローの動作状態を示す図である。 実施例1の画像処理装置における処理部の概略構成を示す図である。 実施例1のデータ送信制御部の処理を示すフローチャートである。 実施例2の画像処理装置における処理部の概略構成を示す図である。 実施例2のデータ送信制御部の処理を示すフローチャートである。 実施例3の画像処理装置における処理部の概略構成を示す図である。 実施例4の画像処理装置における処理部の概略構成を示す図である。 画像処理装置の概略構成を示す図である。 制御処理部による画像処理部の設定処理を示すフローチャートである。
<参考例>
まず、複数の情報処理部をリング状にバス接続した情報処理装置において、処理速度が低下する一例について説明する(以下、リング状のバスをリングバスと称す)。
図1は、通信路(以下、バス)と情報処理部(以降、データ処理部)をつなぐ通信処理部の構成を示すものである。入力データ受信部101は、リングバス上を流れるデータパケットを受信する。入力データ識別部102は、入力されたデータパケットの制御情報を確認し、入力されたデータが、自ノードにおいて処理すべきデータかどうかを識別する。
出力データ出力部103は、入力データ識別部102において自ノードにおいて処理すべきデータであると判断されたデータを、データ処理部に対して送出する。処理済みデータ入力部104は、自ノードのデータ処理部において処理済のデータの入力を受け取る。
出力データ生成部105は、識別部102において自ノードで処理すべきデータでないと判断されたデータや、有効なデータを含んでいないと判断された空パケットや、入力部104から送られる、処理済であってバス上に出力する必要のあるデータなどから、出力データを生成する。出力データ送信部106は、出力データ生成部105が生成した出力データをリングバスに放出する。
図2は、このようなデータ通信処理部のリングバスにおいて送受信されるパケットのデータ構造を示したものである。
フィールド201は、データの処理順番を示すカウンタである。リング状のデータバスにおいては、連続する未処理データを含むデータパケットの一部がリング内を周回することがある。従って、通信処理部が受信するデータが、必ずしも対応するデータ処理部で最初に処理されるべきデータであるとは限らない。よって、このようなカウンタをデータに付随して持たせることで、入力された順など、正しい処理順番に従って処理を実行させる事が可能となる。なお、対応するデータ処理部とは、通信処理部がリングバスを介さずに直接通信可能なデータ処理部の事を指すものとする。
フィールド202はこのデータパケットが保持しているデータが処理されるべき有効データであることを示すフラグである。これはすなわち、パケットが現在使用中であるかどうかを示すフラグと同じ意味を持つ。以下、このフラグをバリッドビットと呼称する。フィールド203は、このパケットが保持しているデータが何らかの理由で、処理すべきデータ処理部によって受け取られなかったことを示すフラグである。通常のパイプライン接続における、前段へのデータ供給停止要求ビット(disable信号)と同じ意味を持つ。以下、このフラグをストールビットと呼称する。
フィールド204は、このデータを最後に処理したデータ処理部のIDである。データ通信処理部では、あらかじめ外部から設定された待ち受けIDと、このデータパケット上のIDとを比較し、一致した際に処理を行う。またフィールド205は、データを格納する。
リングバスを流れるパケットの総数はほぼ一定である、即ち、空のパケットと有効なパケットの和はほぼ一定であり、この一定数のパケットがリングバスを周回し続けている。空のパケットは格納するデータが無効とされたパケットであり、有効なパケットはデータやコマンドを格納しているパケットである。
図3(a)は、トークンパッシング方式によって通信路を構成した画像処理装置の構成の一例を示す図である。
取得部301は、外部記憶装置などから処理すべきデータを取得する。入力通信処理部302は、取得されたデータをリング状に構成されている通信路に供給する処理を行う。データ処理部303は、供給されたデータに対して所定の処理を行う。通常、情報処理を行う上で処理部が外部と通信する事のないスタンドアローンな状態を取る事はない。それは、大容量の記憶回路を処理部の外に設け、処理部内には高速で小容量の記憶回路しか持たせないためである。しかし、本明細書では処理部の通信処理について詳細に説明するために、処理部からデータ処理部と通信処理部を独立させて説明している。夫々のデータ処理部は対応する通信処理部と一対一になっているものとする。
通信処理部304は、リング状に構成された通信路から、データ処理部303で処理すべきデータ(処理パケット)を通信路から選別して取り込む。この構成においては、データ処理部303および通信処理部304を有する処理部308(モジュール)がリングバス307に1つ以上接続されている。
出力通信処理部305は、処理済のデータを外部の記憶装置などに出力するため、リング状の通信路上から処理済のデータを選択して取り込む。出力部306は、通信処理部305により取り込まれた処理済のデータを外部記憶装置などに出力する。リングバス307は、これらの通信処理部を通信可能に連結するリング状のデータバスである。
図3(b)は、図3(a)に示した構成において、処理速度が低下した状態を説明する図である。
ここで、リング状の通信路(バス)は1単位時間(以下、1サイクルと称す)にひとつずつ、データを次の通信処理部に送るものとする。データ処理部401は、ひとつのデータを受信してから3サイクル後に結果データを送信可能となり、処理中は次のデータを受け付けられないデータ処理部とする。
通信処理部402は、該通信処理部402に対応するデータ処理部401で処理すべきデータをリング状バスから取得する。ここで、データ処理部401が1番目のデータ403を処理している最中に、次のデータ404がデータ処理部401の通信処理部402に入力されたとする。すると、通信処理部402は、2番目のデータ404をデータ処理部401に送らず、次のサイクルに隣の処理部に送るか、データ404を消去してデータ取得部301に対して再送要求を通知する。ここで、2番目のデータ404が単にリングバス上を周回すると、再び通信処理部402に戻ってくるまでに、リングバスに接続されている通信処理部の数に相当するサイクル数を必要とする。
図3(b)に示した構成では、通信処理部は6つ接続されているため、データ404が戻ってくるまでに6サイクルの時間を必要とする。従って、データ処理部401は3サイクルで処理を終了して1番目のデータ403を放出し、次のデータの入力待ちとなるため、最低でも6−3=3サイクルの遅延時間が生じる。また、3番目以降のすべての入力データについて起こるとした場合、その入力データの総数をNとするならば、本来データ処理部401は3サイクルに1データを処理できることから3Nサイクルで終了する。しかし、1データにつき3サイクルの遅延時間が生じ、2倍の6Nサイクルを要する。
また、特許文献1に記載の技術をこの画像処理装置へ適用する場合、受け取れなかったデータ404はデータ処理部に送信できなかった通信処理部によって消去される。そして、データ供給元であるデータ取得手段301は、データ404が一定期間内に戻ってこないことを確認したうえで再度データを送出する。
しかし、特許文献1の技術では、すでにデータ404に続く次のデータ405を取得・送出していた場合には、外部からのデータの読み取りをすでに送出したデータ分さかのぼって再取得して送出する必要が生じ、外部へのアクセスが増加する。
また、特許文献2に記載の技術を適用する場合、通信手段402で受け取れなかったデータ404は、データ内容を破棄され、受け取れなかったことを通知するトークンとしてリングバス上に流される。
しかし、特許文献2の技術では、通知トークンを受け取ってから再度送出するデータを取得する動作を行った場合、遅延時間はさらに長くなってしまう。
また、特許文献3には、前のデータが処理されている間であってもリングバス上のデータと衝突しないタイミングで次のデータを入力端から供給するという技術が開示されている。
しかし、特許文献3は、データ処理部が複数のデータを演算する場合、同一のタイミングで入力されたデータにより出力が決まることを想定している。そのため、出力データの生成のために複数のデータの受信を必要とする場合には、受信するデータの個数分のバスを用意しないと以下に説明するように、適用することで更に処理速度が低下することがある。
特許文献3の技術について、図4を用いて詳細に説明する。図4は、図3に示した装置と同様な構成において、データ処理部を2つ備えた装置である。データ処理部501に続いてデータ処理部503がデータを処理した後に、再びデータ処理部501が処理してから結果を得る装置とする。データ処理部501は1つのデータを3サイクルで処理して出力するデータ処理部で、データ処理部503は4つのデータが入力されてから3サイクル毎にデータを出力するデータ処理部であるとする。図4でのデータ505〜508は、アルファベットが装置へ投入した順、数字はデータ処理部によって処理をされた数を表す。
このとき、図4(a)のデータ処理部503が4つ目のデータ507を受信するまでは、データ処理部503が受信可能な一定の間隔でデータをデータ取得部301から投入することで、データは効率よく処理される。しかし、図4(b)で示したような、データ処理部503が結果を出力可能となる4つ目のデータ507を受信した後でさらに3サイクルが経過すると、データ505が出力可能となっている。このとき、データ508が装置内に投入されてデータ501での処理が完了していた場合、データ処理部503ではデータ507が出力されなければ、データ508はリングを周回することになる。
ここで、特許文献3で提案されている技術において、データ処理部503がデータを漏らすことなく受信できるようにすると、データ処理部503のデータ処理部の処理時間を4つのデータの処理が完了するまでとしなければならない。つまり、データ取得部301からのデータの投入間隔は少なくともデータ処理部503がデータを受信可能な3×4=12以上にする必要があるため、図4(a)のデータ処理部503が出力を得るための4つのデータを受信している場合には効率が悪くなってしまう。
<実施例1>
以下に本発明の一実施例である画像処理装置について説明する。なお参考例と同一機能を有する構成には同一符号を付すとともに、構成的、機能的にかわらないものについてはその説明を省略する。なお、本実施例は、トークンパッシング方式とは別の通信方式となっており、トークンパケットを用いる必要はない。
図11は、本発明の一実施例である画像処理装置の概略構成を示すものである。制御処理部1101はCPUやMPUなどの処理回路である。画像処理部1102は、リングバスで接続されている複数の処理部を有する画像処理部である。
RAM1103は、処理する前の入力画像データや処理後の出力画像データ、又は、画像処理部1102の設定パラメータに関するデータなどを格納する読み書き可能なメモリである。ROM1104は、制御処理部1101や画像処理部1102の処理手順や、設定パラメータ等の定数などを保持可能な読み出し可能なメモリである。
制御処理部1101において、ROM1104から読み出されたプログラムにしたがって、システムの制御ならびに画像処理部1102への指示等を行う。画像処理部1102は、処理装置1101からの指示に従って画像処理を実行する。その際に、RAM1103にあらかじめ格納されている入力画像データを読み出して処理を行い、処理結果を再びRAM1103に書き込む。
図12に制御処理部1101による画像処理部1102の設定処理の処理手順を示す。画像処理制御が開始されると、以下のステップに従って処理を実行する。ステップ1201で制御処理部1101は、ROM1104から画像処理部1102のデータ処理部の処理順番を読み出す。ステップ1202で制御処理部1101は、ROMからデータ処理部に与える処理パラメータを読み出す。ステップ1203で制御処理部1101は、読み出したデータ処理順番及び処理パラメータを用いて画像処理部1102の制御パラメータを算出する処理を行う。
ステップ1204で制御処理部1101は、ステップ1203で算出した制御パラメータを用いて、画像処理部1102に対する設定処理を行うステップ1205で制御処理部1101は、画像処理部1102に対して処理開始の指示を行う。ステップ1206で制御処理部1101は、画像処理部1102の設定の完了を確認し、
ステップ1207において、設定処理が完了したと判断した場合には、処理を終了する。ここで、処理が未終了であった場合には、再びステップ1206へ戻り、終了確認処理を継続する。
本実施例における画像処理部1102の概略構成は図3に示すものと同様である。
本実施例では、図3に示すように、通信処理部とデータ処理部とを有するモジュールが並列に実行可能なようにパイプライン接続されている。さらに、その終端と先端もバスによって接続され、リング状になっている。
このようなリングバスにおいては、パケット801に示すように、リング上にはデータを保持する概念上のパケットが有限の数だけ存在する。そして、パケットに処理するデータを格納して単一方向に周回させることによって、所望のデータ処理部にデータが転送される。本実施例においてパケットは、図2に示すフォーマットを用いる。
各通信処理部は、あらかじめ自身の保持するレジスタ等に設定されたIDとパケット上のデータに付帯するIDとを比較し、それらが同一である場合には、そのパケットのデータを取り込む。その後、データ処理部がパケットのデータを処理し、処理済みのデータはデータ処理部から通信処理部に送られる。次に通信処理部は、データを保持していない空のパケットに処理済のデータと新たなIDとを格納することによってデータをバス上に出力する。このような処理を各通信部が処理することで、一連の意図された順番でパイプライン処理が実行される。
さらに画像処理装置の処理の種類を切り替える場合には図12の処理を再度実施することで切り替えることができる。この際パイプライン処理で用いる処理部の順番や、各処理部の処理内容を容易に切り替えることができる。
図5は本実施例における画像処理装置の有する処理部601の概略構成を示す。リングバス602は処理部601を通信可能に接続するバスである。通信処理部603はリングバスを用いて他の処理部と通信を行う。データ処理部604は割り当てられたアルゴリズムで通信処理部603から受け取ったデータを処理する。入力データ受信部605はリングバス上を流れるデータパケット(詳細には、第1の方向側の通信処理部からのパケット)を受信する。入力データ識別部606は入力データ識別部605が受信したパケットを確認し、パケットに格納されているデータが自ノードにおいて処理すべきかどうか、パケットが有効であるかどうかを識別する。処理データ出力部607は入力データ識別部606が自ノードにおいて処理すべきデータであると判断したパケットからデータやコマンドを抽出し、データ処理部604に出力する処理データ出力部である。
処理済データ入力部608はデータ処理部604からのデータやコマンドの入力を受け取る。データ送信間隔カウンタ609は前回のデータが送信されてからの間隔に関する値を保持する。データ送信間隔レジスタである610はデータを送信する間隔に関する値を保持する。データ送信制御部611は、データ送信制御部が処理済データ入力部608から受けたデータを出力データ生成部に送信する間隔をデータ送信間隔レジスタ610の設定値以上になるように制御する。出力データ生成部612は入力データ識別部606が自ノードで処理すべきでないと判断した入力データや、データ送信制御部611から送られるデータから、送信パケットを生成する。出力データ生成部612はデータを空パケットに格納させ、有効にして送信パケットを生成する。出力データ送信部613はデータ送信制御部612が生成した送信パケットをバス上(詳細には、第2の方向側の通信処理部)に送信する。
本実施例において、リングバス602を周回するパケットは図2に示したフォーマットを用いる。フィールド204に格納するIDは、データパケットが所望の処理順番でデータ処理部の間で受け渡され、コマンドパケットが所望のデータ処理部に渡される目的を満たすものであればフォーマットは限定しない。そのため、本発明でのフィールド204に格納するIDは、データを最後に処理したデータ処理部のIDでなく、例えばパケットの送り手と受け手の識別子の組合せを割り当てられていてもよい。また、データパケットとコマンドパケットとでフィールド204に格納するIDのフォーマットが異なっていてもよい。
次に、データ送信制御部611が行うデータ送信の制御処理について、図6に示すフローチャートを用いて説明する。まず、ステップ701でデータ送信制御部611が送信可能なデータが処理済データ入力部608にあるかを確認し、データが無い場合にはステップ702とステップ701を繰り返す。データがある場合には、ステップ703でデータ送信間隔カウンタ609をインクリメントさせる。ステップ704でデータ送信間隔カウンタ609のカウントの値とデータ送信間隔レジスタ610の値とを比較する。比較によって、データ送信間隔レジスタ610の値がデータ送信間隔カウンタ609の値以上になるまでステップ703とステップ704を繰り返す。ステップ704において、データ送信間隔設定レジスタ610に設定した間隔を経過したと判断したら、続くステップ705でデータを送信し、ステップ706でデータ送信間隔カウンタ609の値をリセットする。ステップ707では処理する一連のデータにおける最後のデータまで処理したかを確認し、終わっていない場合はステップ701から繰り返す。処理する一連のデータとは、1ページ分の画像データであってもよいし、1つの画像データを複数のブロックに分割した内の1ブロック等でもよい。
データ送信間隔レジスタ610は、設定する対象の処理部が1つ後の処理をする処理部が処理する可能性の高いパケットを送信する間隔を示す値を送信間隔として保持する。この送信間隔は、1つ後の処理をする処理部の処理時間以上の間隔を示すものとする。また、なるべく短い時間であることが好ましい。処理時間とは、処理部が1つのパケットを供給し、割り当てられたアルゴリズムに従ってこのパケットに対する処理を完了して、次のデータを受信可能となるまでに概念的に必要な時間とする。例えば、2つのパケットを受信して1つのパケットを送信する処理部においては、2つのパケットを受信して1つのパケットの送信を完了するまでの時間の半分となる。一方で、1つのパケットを受信して2つのパケットを送信する処理部においては1つのパケットを受信して2つのパケットの送信を完了するまでの時間となる。処理部が以上の設定により、本実施例のように処理中は次のパケットを受け付けられない処理部が処理できる量のパケットを送れるようになるため、通信路のトラフィックが最適化される。
また、この送信間隔は各データ処理部の性能や実行する処理の種類に大きく依存する。ここで、各処理部の送信間隔を図12のフローで制御処理部1101が設定する方法を以下に説明する。具体的には、利用する処理部の夫々における送信間隔を、その処理部より処理順番が1つ後の処理部に設定される処理部のパケットあたりの処理時間以上の長さを有する間隔に設定する。従って、制御処理部1101は処理順番上の最後の処理部から最初の処理部へ、順に送信間隔を設定する事が好ましい。ここで、本実施例ではデータ出力部306は処理部ではないので処理時間を考慮しなくてもよいが、データ出力部のパケットあたりの受信時間と送信時間との合計を処理時間として考慮するようにしてもよい。
このように実施例1では、各処理部が送信するパケットの内、後段の処理部が処理するであろうパケットを、後段の処理部のパケットあたりの処理時間以上の間隔を空けて送信する。従って、リングバスに出力するデータを処理に必要なものに絞り、効率的にデータを流すことができる。ここで、1つ後段の処理部が処理しないパケットはこの制約を受けないので、リングバスのパケットの流れを停滞させることはない。
また、データ処理部304、データ取得部301およびデータ出力部306はリングバスから取得するコマンドパケットに基づいて処理を行うようにしてもよい。この場合、単一のバスで時間をずらしてデータ処理部へデータとコマンドを供給できるため物理的にバスを減らし、情報処理装置の回路をより小型にできる。
<実施例2>
本実施例ではデータ量の変動に適応的なフロー制御を行う画像処理装置について説明する。実施例2では、処理部が転送方向(第2の方向)へ送信する複数のデータのうちこの処理部が処理したデータをデータ送信数(第1の量のデータ数)だけ送信する度に、通信処理部が停止期間(第2の量のデータを送信するに相当する)の間、この処理部の処理したデータを通信処理部が送信することを抑制するようにする。実施例1と同一機能を有する構成や工程には同一符号を付すとともに、構成的、機能的にかわらないものについてはその説明を省略する。
図7は実施例2の画像処理装置における処理部の概略構成を示す図である。データ送信数カウンタ801は、データ処理部604で処理したデータを送信した回数を保持する。データ送信数は送信したパケットの数に相当する。データ連続送信数レジスタ802はデータを連続して送信する回数を保持する。データ送信停止期間レジスタ803は、データ連続送信数レジスタ802に設定された数のデータを送信し終えた後に、データの送信を抑制する期間を示す値を保持する。データ送信制御部611が、データ送信数カウンタ801、データ連続送信数レジスタ802およびデータ送信停止期間レジスタ803に設定した値に基づいてデータの送信を制御することが実施例2の特徴である。
実施例2におけるデータ送信制御部611が行う制御処理を図8のフローチャートを用いて説明する。まず、ステップ901で処理済データ入力部608に送信可能なデータがあるかを確認する。無い場合にはステップ901とステップ902とを繰り返す。データがある場合には、ステップ903でデータ送信数カウンタ801の値がデータ連続送信数レジスタ802の値と等しいかどうかを調べる。等しい場合には、ステップ904でデータ送信間隔カウンタ609の値をインクリメントし、前回のデータの送信終了から設定されたデータ送信停止期間が経過するまでステップ904、905を繰り返す。設定されたデータ送信停止期間が経過すると、ステップ908でデータ送信数カウンタ801を0にリセットする。
ステップ903で等しくない場合には、ステップ906でデータ送信間隔カウンタをインクリメントし、ステップ907でデータ送信間隔カウンタ609の値とデータ送信間隔レジスタ610に設定された値とを比較する。そして、データ送信間隔カウンタ609の値がデータ送信間隔レジスタ610の値以上になるまでステップ906を繰り返す。ステップ907でデータ送信間隔以上の時間が経過するか、ステップ908を終えると、続くステップ909でデータを送信する。データを送信し終えると、ステップ910でデータ送信間隔カウンタをリセットし、ステップ911でデータ送信数カウンタ801の値をインクリメントする。ステップ912では処理する一連のデータにおける最後のデータまで処理したかを確認し、終わっていないならばステップ901に戻る。
このように、実施例2では所定のデータ数を連続して送信した後に送信を停止する期間を設定することで、リングバスに流れるデータ量が処理性能を低下させるほど増加する事を抑制する。
<実施例3>
本実施例では、データを送信する期間A(第1の量のデータを送信するに相当する期間)と送信を抑制する期間B(第2の量のデータを送信するに相当する期間)とを交互に繰り返す複数の処理部を有する画像処理装置について説明する。なお、実施例1、2と同一機能を有する構成や工程には同一符号を付すとともに、構成的、機能的にかわらないものについてはその説明を省略する。
図9は本実施例における画像処理装置の処理部の概略構成を示す図である。データ送信可能期間設定レジスタ1001は、データの送信可能な送信期間の長さを示す値を設定するレジスタである。データ送信抑制期間設定レジスタ1002は、データの送信を抑制する抑制期間の長さ示す値を設定するレジスタである。タイマ1003はデータ送信可能期間設定レジスタ1001の値とデータ送信抑制期間設定レジスタ1002の値に基づいて送信期間と抑制期間切り替えるタイミングをデータ送信制御部610に通知する。本実施例の611データ送信制御部は、タイマ1003によって通知される周期でデータの送信と抑制を繰り返す。
このように、実施例3では、データの送信を設定された周期で行うことでデータを規則的に流し、各データ処理部に必要なだけのデータを必要なタイミングで供給ことを可能にする。あるデータ処理部が入力データを拡大して出力データを生成する場合を例にとると、拡大している際にはデータを供給しなくても拡大が終了したあとの供給が遅れなければ最大の処理効率で動作する。そこで、この拡大の周期にあわせて処理の順番で前段からのデータが供給されるようにデータ送信可能期間設定レジスタ1001とデータ送信抑制期間設定レジスタ1002の値を設定する。これにより、データ量を変化させるデータ処理部がある場合であっても、その変化周期に合わせて効率の良いデータ転送が可能となる。
なお、図10に示すように、データ送信可能期間設定レジスタ1101、データ送信抑制期間設定レジスタ1102およびタイマ1103を夫々nセット用意し、n個のタイマがデータ送信可能を示すときを送信タイミングとしてもよい。すなわち、n個のタイマの論理積をとることでデータ送信タイミングとする。
前述の各実施例の説明では画像処理装置を用いて説明しているが、本発明は画像処理に限られるものではない。リングバスに接続された複数の処理部で、順番に処理を実行する情報処理に適用しても前述の効果を得られる。上述の実施例で用いたデータ処理装置の各部の概略構成図は、回路や機能手段の接続関係を説明するためのものであって各構成の位置関係を制限するものではない。
また、前述の各実施例ではパケットの長さを規定していないが、パケットの長さを所定長とすることで、各モジュールに設定する送信間隔(送信期間)などに尤もらしい値を設定できるようになる。
また、前述の各実施例の処理は、複数のハードウェアとソフトウエアの協同によって実現するようにしてもよい。この場合、ネットワーク又は各種記憶媒体を介して取得したソフトウエア(プログラム)をコンピュータ等の処理装置(CPU、プロセッサ)にて実行することで実現できる。
また、本発明は前述した実施形態の機能をコンピュータに実現させるプログラムを記憶した記憶媒体を、システム或いは装置に供給することによって実現してもよい。
601 データ処理部
602 リングバス
603 通信処理部
604 データ処理回路
605 入力データ受信部
606 入力データ識別部
607 処理データ出力部
608 処理済データ入力部
609 データ送信間隔カウンタ
610 データ送信間隔レジスタ
611 データ送信制御部
612 出力データ生成部
613 出力データ送信部

Claims (8)

  1. 複数のモジュールがバスを介してリング状に接続され、前記リング上を単一方向へ流れるパケットを前記モジュールが所定の順番で処理する情報処理装置において、
    前記モジュールは、
    前記バスを介して前記リングの第1の方向から受信するパケットを第2の方向へ送信する通信手段と、
    前記第1の方向から受信したパケットのうち当該モジュールにおいて処理すべきパケットを処理パケットとして識別する識別手段と、
    前記通信手段と一対一で接続され、前記識別手段の識別した処理パケットを処理する処理手段とを有し、
    前記通信手段が前記第2の方向へ送信する複数のパケットのうち前記処理手段が処理したパケットについて、前記所定の順番において後段の処理をするモジュールの処理パケットあたりの処理時間以上の間隔を空けて、前記通信手段が送信することを特徴とする情報処理装置。
  2. 前記所定の順番において後段の処理をするモジュールのパケットあたりの処理時間以上のデータ送信間隔を示す値を記憶するレジスタを更に有することを特徴とする請求項1に記載の情報処理装置。
  3. 複数のモジュールがバスを介してリング状に接続され、前記リング上を単一方向へ流れるデータを前記モジュールが所定の順番で処理する情報処理装置において、
    前記モジュールは、
    前記バスを介して前記リングの第1の方向から受信するデータを第2の方向へ送信する通信手段と、
    前記受信したデータのうち当該モジュールにおいて処理すべきデータを処理データとして識別する識別手段と、
    前記通信手段と一対一で接続され、前記識別手段の識別した処理データを処理する処理手段とを有し、
    前記通信手段が前記第2の方向へ送信する複数のデータのうち前記処理手段が処理したデータを第1の量だけ送信する度に、前記通信手段が第2の量のデータを送信するに相当する間、前記処理手段の処理したデータを当該通信手段が送信することを停止することを特徴とする情報処理装置。
  4. 送信数を保持するレジスタを更に有し、前記処理部の処理したデータを格納するパケットを送信した数と当該送信数とを比較することで前記通信手段は前記第1、第2の量のデータを判断することを特徴とする請求項3に記載の情報処理装置。
  5. 送信期間を保持するレジスタを更に有し、前記処理部の処理したデータを送信し続けた期間と当該送信期間とを比較することで前記通信手段は前記第1、第2の量のデータを判断することを特徴とする請求項3に記載の情報処理装置。
  6. 複数のモジュールがバスを介してリング状に接続され、前記リング上を単一方向へ流れるパケットを前記モジュールが所定の順番で処理する情報処理装置における情報処理方法であって、
    通信手段が、前記バスを介して前記リングの第1の方向から受信するパケットを第2の方向へ送信する通信工程と、
    識別手段が、前記第1の方向から受信するパケットのうち当該モジュールにおいて処理すべきパケットを処理パケットとして識別する識別工程と、
    前記通信手段と一対一で接続され、前記識別手段の識別した処理パケットを処理手段が処理する処理工程とを有し、
    前記通信手段が前記第2の方向へ送信する複数のパケットのうち前記処理手段が処理したパケットについて、前記所定の順番において後段の処理をするモジュールの処理パケットあたりの処理時間以上の間隔を空けて、前記通信工程で送信することを特徴とする情報処理方法。
  7. 複数のモジュールがバスを介してリング状に接続され、前記リング上を単一方向へ流れるデータを前記モジュールが所定の順番で処理する情報処理装置における情報処理方法であって、
    通信手段が、前記バスを介して前記リングの第1の方向から受信するデータを第2の方向へ送信する通信工程と、
    識別手段が、前記第1の方向から受信するパケットのうち当該モジュールにおいて処理すべきデータを処理データとして識別する識別工程と、
    前記通信手段と一対一で接続され、前記識別手段の識別した処理データを処理手段が処理する処理工程とを有し、
    前記通信手段が前記第2の方向へ送信する複数のデータのうち前記処理手段が処理したデータを第1の量だけ送信する度に、前記通信手段が第2の量のデータを送信するに相当する間、前記処理手段の処理したデータを当該通信手段が送信することを前記通信工程で停止することを特徴とする情報処理方法。
  8. 複数のモジュールがバスを介してリング状に接続され、前記リング上を単一方向へ流れるデータを前記モジュールが所定の順番で処理する情報処理装置で動作するプログラムであって、
    前記モジュールは、
    前記バスを介して前記リングの第1の方向から受信するパケットを第2の方向へ送信する通信手段と、
    前記第1の方向から受信したパケットのうち当該モジュールにおいて処理すべきパケットを処理パケットとして識別する識別手段と、
    前記通信手段と一対一で接続され、前記識別手段の識別した処理パケットを処理する処理手段とを有し、
    制御処理手段によって、
    前記各モジュールの通信手段が前記第2の方向へ送信する複数のパケットのうち前記処理手段が処理したパケットについて、前記所定の順番において後段の処理をするモジュールの処理パケットあたりの処理時間以上の間隔を示す値を各モジュールに設定することを特徴とするプログラム。
JP2009064682A 2009-02-24 2009-03-17 情報処理装置、情報処理方法およびプログラム Active JP5460088B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2009064682A JP5460088B2 (ja) 2009-03-17 2009-03-17 情報処理装置、情報処理方法およびプログラム
US12/709,395 US8300535B2 (en) 2009-02-24 2010-02-19 Information processing apparatus, method thereof, and storage medium
US13/619,603 US9043524B2 (en) 2009-02-24 2012-09-14 Information processing apparatus, method thereof, and storage medium

Applications Claiming Priority (1)

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

Publications (2)

Publication Number Publication Date
JP2010218253A true JP2010218253A (ja) 2010-09-30
JP5460088B2 JP5460088B2 (ja) 2014-04-02

Family

ID=42977033

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009064682A Active JP5460088B2 (ja) 2009-02-24 2009-03-17 情報処理装置、情報処理方法およびプログラム

Country Status (1)

Country Link
JP (1) JP5460088B2 (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010244512A (ja) * 2009-03-17 2010-10-28 Canon Inc データ処理装置およびデータ処理方法またはプログラム
JP2011008658A (ja) * 2009-06-29 2011-01-13 Canon Inc データ処理装置、データ処理方法およびプログラム
JP2011081643A (ja) * 2009-10-08 2011-04-21 Canon Inc 複数の処理モジュールを有する並列処理回路を備えるデータ処理装置、およびその制御方法
JP2012008976A (ja) * 2010-06-28 2012-01-12 Canon Inc データ処理装置、データ処理方法、およびプログラム
JP2018138494A (ja) * 2018-06-18 2018-09-06 株式会社プレッシオ 制御システム

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0581178A (ja) * 1991-09-24 1993-04-02 Nec Corp パイプラインバス
JPH0662026A (ja) * 1992-08-10 1994-03-04 Hitachi Ltd トークンリング式ネットワークにおけるデータ伝送方法及びシステム
JPH06276205A (ja) * 1993-03-18 1994-09-30 Hitachi Ltd ネットワークシステム
JP2002185560A (ja) * 2000-12-15 2002-06-28 Sharp Corp シリアル転送方式
JP2003198574A (ja) * 2001-12-25 2003-07-11 Mitsubishi Electric Corp 通信制御方式
JP2004086798A (ja) * 2002-08-29 2004-03-18 New Japan Radio Co Ltd マルチプロセッサシステム
WO2007043373A1 (ja) * 2005-10-03 2007-04-19 Matsushita Electric Industrial Co., Ltd. 通信装置
JP2010198226A (ja) * 2009-02-24 2010-09-09 Canon Inc データ処理装置、データ処理方法およびプログラム

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0581178A (ja) * 1991-09-24 1993-04-02 Nec Corp パイプラインバス
JPH0662026A (ja) * 1992-08-10 1994-03-04 Hitachi Ltd トークンリング式ネットワークにおけるデータ伝送方法及びシステム
JPH06276205A (ja) * 1993-03-18 1994-09-30 Hitachi Ltd ネットワークシステム
JP2002185560A (ja) * 2000-12-15 2002-06-28 Sharp Corp シリアル転送方式
JP2003198574A (ja) * 2001-12-25 2003-07-11 Mitsubishi Electric Corp 通信制御方式
JP2004086798A (ja) * 2002-08-29 2004-03-18 New Japan Radio Co Ltd マルチプロセッサシステム
WO2007043373A1 (ja) * 2005-10-03 2007-04-19 Matsushita Electric Industrial Co., Ltd. 通信装置
JP2010198226A (ja) * 2009-02-24 2010-09-09 Canon Inc データ処理装置、データ処理方法およびプログラム

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010244512A (ja) * 2009-03-17 2010-10-28 Canon Inc データ処理装置およびデータ処理方法またはプログラム
JP2011008658A (ja) * 2009-06-29 2011-01-13 Canon Inc データ処理装置、データ処理方法およびプログラム
JP2011081643A (ja) * 2009-10-08 2011-04-21 Canon Inc 複数の処理モジュールを有する並列処理回路を備えるデータ処理装置、およびその制御方法
JP2012008976A (ja) * 2010-06-28 2012-01-12 Canon Inc データ処理装置、データ処理方法、およびプログラム
JP2018138494A (ja) * 2018-06-18 2018-09-06 株式会社プレッシオ 制御システム

Also Published As

Publication number Publication date
JP5460088B2 (ja) 2014-04-02

Similar Documents

Publication Publication Date Title
KR101856222B1 (ko) 데이터 전송 방법
JP5460088B2 (ja) 情報処理装置、情報処理方法およびプログラム
US9043524B2 (en) Information processing apparatus, method thereof, and storage medium
JP5164994B2 (ja) 制御装置と複数のフィールド装置との間のデータの最適化された伝送のための方法および設備
RU2013152205A (ru) Способ и устройство для адаптируемой к размерам памяти последовательной передачи данных
JP2006101525A (ja) データ・フロー・アプリケーションのためのネットワーク・オン・チップ半自動通信アーキテクチャ
JP5365234B2 (ja) 端末装置間のトークン異常検出/回復方式
JP5406558B2 (ja) データ処理装置、データ処理方法およびプログラム
US9239813B2 (en) Ring-pattern bus connected information processing apparatus, information processing method, and storage medium
JP5014362B2 (ja) 情報処理装置及びその制御方法、コンピュータプログラム
US8588234B2 (en) Data processing apparatus, method, and computer-readable storage medium for dynamically controlling a transmission interval
JP5432587B2 (ja) データ処理装置、その制御方法およびプログラム
JP4546380B2 (ja) クロスバースイッチ、情報処理装置および転送方法
JP5534711B2 (ja) 情報処理装置、情報処理方法およびプログラム
JP2016082363A (ja) 通信装置、情報処理装置、情報処理システム及び通信装置の制御方法
JP2013196509A (ja) 情報処理装置及びその制御方法
JP5528001B2 (ja) 情報処理装置、情報処理方法
JP2011103577A (ja) 通信コントローラ、通信システム、及び通信制御方法
JP2010212938A (ja) リング型ネットワークシステム
JP4708901B2 (ja) データ処理モジュール及びそのメッセージの送信準備方法
CN111796950B (zh) 数据处理方法和系统
CN117389623A (zh) 数据传输方法与数据传输系统
JPS61125253A (ja) 媒体アクセス制御方式
JP4531555B2 (ja) データ処理モジュール及びその送付候補メッセージの決定方法
JP2011170560A (ja) データ処理装置及びデータ処理方法

Legal Events

Date Code Title Description
RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20100630

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120222

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130722

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130730

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130930

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20131015

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20131202

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140114

R151 Written notification of patent or utility model registration

Ref document number: 5460088

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151