JP5600492B2 - データ処理装置、データ処理方法、制御装置、制御方法およびプログラム - Google Patents

データ処理装置、データ処理方法、制御装置、制御方法およびプログラム Download PDF

Info

Publication number
JP5600492B2
JP5600492B2 JP2010146889A JP2010146889A JP5600492B2 JP 5600492 B2 JP5600492 B2 JP 5600492B2 JP 2010146889 A JP2010146889 A JP 2010146889A JP 2010146889 A JP2010146889 A JP 2010146889A JP 5600492 B2 JP5600492 B2 JP 5600492B2
Authority
JP
Japan
Prior art keywords
data
processing
setting
communication
module
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
JP2010146889A
Other languages
English (en)
Other versions
JP2012008976A (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 JP2010146889A priority Critical patent/JP5600492B2/ja
Priority to US13/114,155 priority patent/US9053225B2/en
Publication of JP2012008976A publication Critical patent/JP2012008976A/ja
Application granted granted Critical
Publication of JP5600492B2 publication Critical patent/JP5600492B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/14Handling requests for interconnection or transfer
    • G06F13/36Handling requests for interconnection or transfer for access to common bus or bus system
    • 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/14Handling requests for interconnection or transfer
    • G06F13/36Handling requests for interconnection or transfer for access to common bus or bus system
    • G06F13/368Handling requests for interconnection or transfer for access to common bus or bus system with decentralised access control
    • G06F13/37Handling requests for interconnection or transfer for access to common bus or bus system with decentralised access control using a physical-position-dependent priority, e.g. daisy chain, round robin or token passing
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/80Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
    • G06F15/8007Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors single instruction multiple data [SIMD] multiprocessors
    • G06F15/8015One dimensional arrays, e.g. rings, linear arrays, buses

Description

本発明は、複数のモジュールを接続するリング状のデータ転送路において、データの種別に応じたデータ転送を行うデータ処理装置、データ処理方法、およびプログラムに関する。
従来、リング状のデータ転送路に接続された複数のモジュールによりデータ処理を行うデータ処理装置が提案されている(例えば、特許文献1または特許文献2参照)。リング状のデータ転送路では、それぞれのモジュール内部に受信したデータを一時的に格納するメモリを設けているため、データ転送路を独立した部分転送路に分けることができ、モジュール間で独立してデータが転送できる。これにより、モジュール数分のデータを並行して転送し、データの転送効率を高めている。
特許文献1では、モジュール間のデータ転送を実現するために、転送するデータが宛先のモジュールを示す宛先情報を有する。また、特許文献2では、モジュール毎にIDを設定するIDレジスタとID設定フラグとにより、専用の演算回路や信号線を必要とすることなくモジュールのIDを変更する。
さらに、複数のモジュールの機能をコンフィギュレーションするために、モジュールを直列に接続した伝送路を用いて、データを転送する方法が提案されている(例えば、特許文献3参照)。
特開平11−167560号公報 特開平9−091262号公報 特許第4359490号公報
特許文献1のように宛先情報を転送データ(パケット)に持つ場合、データパスの分岐を実現する場合には宛先ごとにパケットを生成する必要があり、分岐ぶんのパケットの生成と送信により処理スループットが低下する可能性がる。
特許文献2のようにデータパスの変更のためのID設定に、モジュールのID設定フラグがリセットされた後であることを条件とした場合、特定のデータパスのみを切り替えることはできない。
特許文献3では、プロセッシングエレメント(本発明ではモジュールの処理部に対応)のコンフィギュレーション情報を切り替えるメモリのデータ転送路として、プロセッシングエレメント間を直列に接続して利用している。そして、処理対象となるデータ転送路は別に備わっている。モジュール間のデータ転送路が複数ある場合、処理データに同期してモジュールの構成を切り替えることは困難であるか、そのための同期の仕組みが必要となる。
また、データフローに分岐があった場合に分岐先のパスにあるモジュールのレジスタやメモリの値をリードすると、分岐後のあるパスで転送されるパケットにはモジュールが接続されているために正しい値が取得できる。しかしながら、他方のパスで転送されたパケットは正しい値が取得できない。さらに、分岐した後にパスが再び合流する場合に、どちらか判定する必要がある。その場合には、正しい値を取得したパケットを見分けなければならない。もちろん、パスが合流した後のモジュールのレジスタが読み出し対象である場合など、どちらとも正しい値を保持していない場合もある。この判定のためにはパスの合流点となりうる全てのモジュールに判定用の機能が必要となるため、全体としてはモジュール数に従った判定機能の分回路規模の増大が避けられない。また、分岐の先に合流点が無かった場合には、入出力部からの出力先が2つになる。この場合、出力先が分岐した分のメモリ領域が必要となるだけでなく、どちらのパスにあったモジュールかによって正しい出力結果が格納されているメモリ領域が分かれてしまう。そのため、レジスタリードした結果をCPUが取得したい場合は、どのメモリ領域に正しい結果があるかをパスのどこに対象とするモジュールが属していたかにより検索する必要がある。
処理対象となるデータは、所定の順番でモジュール間を転送される必要があり、そのデータパスはリングバスを周回することやデータパスが分岐することもある。レジスタやメモリの値を読み書きするデータは、対象となるモジュールに転送されればよいため、データパスの周回や分岐がある場合、余分な周回や必要のないパスの分岐先への転送が発生し、処理効率が低下するという課題がある。
上記の課題の少なくとも1つに鑑み、本発明は、モジュールに転送するデータの種類に応じてデータパスを切り替えて処理効率を向上させることを目的とする。
上記の目的を達成する本発明に係るデータ処理装置は、
リング状に接続された複数の通信モジュール間で一方向にデータを巡回させるデータ処理装置であって、
前記複数の通信モジュールのうち少なくとも一つの通信モジュールと接続され、当該接続された通信モジュールとの間でデータを入出力する少なくとも一つの入出力モジュールと、
前記入出力モジュールと接続された通信モジュール以外の複数の通信モジュールの各々と接続され、当該接続された通信モジュールから入力されたデータを処理して当該処理されたデータを当該接続された通信モジュールに出力する複数の処理モジュールと、を有し、
さらに前記通信モジュールは、
受信したデータを対応する処理モジュールに出力せずに後段の通信モジュールに転送する第1モードと、受信したデータを後段の通信モジュールまたは対応する処理モジュールに出力する第2モードとを設定する設定手段を有し、
前記データ処理装置は、
前記入出力モジュールによって入力されたデータに対して、前記複数の処理モジュールのうち少なくとも2つの処理モジュールが論理的順序に沿って処理するデータ処理を開始する場合、
前記設定手段により設定された前記第1モードにおいて、前記データ処理に用いられる処理モジュールを設定するための設定用処理順になるよう前記複数の通信モジュールを設定し、
前記設定手段により設定された前記第2モードにおいて、前記設定用の処理順において、前記データ処理に用いられる処理モジュールを設定した後に、
前記設定手段により設定された前記第1モードにおいて、前記論理的順序に基づいて前記複数の通信モジュールを設定する制御手段を有し、
前記設定用処理順は、前記データ処理に用いられる処理モジュールが接続順にデータを取り込む順序であることを特徴とする。
本発明によれば、モジュールに転送するデータの種類に応じたデータパスを形成して処理効率を向上させることが可能となる。
(a)データ処理装置10のハードウェア構成を示す図、(b)データ処理装置10の概略構成を示す図。 通信部102の概略構成を示す図。 (a)データ受信部201の概略構成を示す図、(b)データ送信部204の概略構成を示す図。 (a)リング状のデータ転送路上を流れるパケットの構成例を示す図、(b)データ506の内部フォーマットの例を示す図、(c)データ506の内部フォーマットの例を示す図。 (a)データ処理装置10の概略構成を示す図、(b)モジュールの利用順序を示す図、(c)モジュールの利用順序を示す図。 (a)第1データ処理パス、(b)処理対象データ転送時における第2データ処理パス、(c)モジュール設定データ転送時における第2データ処理パス。 設定・実行処理の制御処理手順を示すフローチャート。 設定コマンド転送とデータ処理前それぞれのパスを設定するコマンド列の例を示す図。 2種類のIDレジスタ設定を行う際のコマンド列の例を示す図。 (a)データ処理構成の概略構成を示す図、(b)データパスが分岐する場合のモジュールの利用順序を示す図、(c)モジュールの利用順序を示す図。 展開データの例を示す図。 (a)データ受信部201の概略構成を示す図、(b)データ送信部204の概略構成を示す図。
(第1実施形態)
本発明におけるデータ処理装置での所望のデータ処理は、通信モジュール間で論理的なデータ転送路(データパス)を構成し、処理部での処理対象データをデータパスにて転送することにより実現する。リングバス上に構成されるデータパスは、受信部にてパケットから自モジュールで処理対象となるデータを取り出すため、モジュールの物理的な接続順によらず構成可能である。つまり、データパスはリングバス上で周回する。さらに、複数の受信部がデータを取り出すように設定することでデータパスを分岐させること、受信部が複数の通信モジュール(以下、「通信部」とも称する)により生成されたパケットのデータを取り出すことによりデータパスを集約させることができる。
リングバスを巡回して転送されるデータには、(1)処理部での処理対象となるデータ、(2)処理部のレジスタやメモリの値を読み書きするデータ、(3)通信部にデータ転送路を設定するデータ、の3種類がある。これら3種類のデータ全てを同一のリングバス上で転送することにより、構成の単純化と処理データに同期した動作を可能にしている。
まず、図1(a)を参照して、本発明に係るデータ処理装置10のハードウェア構成について説明する。
データ処理装置10は、システム制御部20と、データ入力部30と、データ処理部40と、データ出力部50とを備える。システム制御部20は、CPU21と、ROM22と、RAM23と、外部記憶装置24とを備える。
CPU21は、各種の演算制御を実行する。ROM22は、固定データやプログラムを格納する。RAM23は、データの一時保存やプログラムのロードに使用される。RAM23は、SRAMやDRAMのように多種であってもよいし、複数あってもよい。また、その一部がCPU21の内部で機能してもよい。外部記憶装置24は外部データを保持する。
データ入力部30は、処理すべきデータをシステム外部より取り込む。例えば、イメージスキャナおよびA/D変換器などのデバイスを有する画像読み込み装置、またはマイクおよびA/D変換などのデバイスを有する音声入力装置などである。
データ処理部40は、システム制御部20による制御によって、様々なデータ処理内容を設定され、供給される処理データについて設定された処理内容に応じた処理を実行し、処理したデータを出力する。データ処理部40は、データ入力部30に入力された入力データを受け取って処理を行う。また、データ処理部40は、システム制御部20からの指示ならびにデータ供給によって処理を行ってもよい。また、データ処理部40による処理結果は、再度システム制御部20に送られても、また、直接データ出力部50に送られてもよい。
データ出力部50は、データ処理部40によって処理されたデータを外部に出力する。例えば、画像データを印字ドットパターンに変換して出力するプリンタデバイスを含む画像出力装置、音声データをD/A変換器等を通して出力する音声出力装置などである。データ入力部30に入力されたデータは、システム制御部20に送られてCPU21で処理されてもよいし、RAM23または外部記憶装置24に一時的に記録されてもよい。
次に、図1(b)を参照して、第1実施形態に係るデータ処理装置10の概略構成について説明する。入出力モジュールとしてのデータ入出力部101は、処理対象のデータの外部からの入力と、処理済みのデータの外部への出力とを行う。また、通信部102−1〜102−m(以下、通信部102と称する)のうち、通信部102−2〜102−mは、処理モジュールとしてのデータ処理部103−2〜103−m(以下、データ処理部103と称する)とそれぞれ対に接続されている。ここで、矢印はデータ(又はパケット)を流す方向を示しており、図に示すように、リング状に接続されている夫々のモジュール100−1〜100−mが一方からデータを受信して他方へデータを送信する。
通信部102−1〜102−mは、各々隣接する通信部と接続され(ただし、通信部102−mは通信部102−1に接続される)、リング状のデータ転送路(以下、リングバス104とも称する)を構成している。つまり、上記通信部102−1〜102−mは、リングバス104を構成すると共に、リングバス104とデータ入出力部101またはデータ処理部103との間でのデータの送受信を行う。このため、通信部102−2〜102−mは、各々データ処理部103−2〜103−mと接続されている。すなわち、入出力モジュールは、複数の通信モジュールのうち少なくとも一つの通信モジュールと接続され、当該接続された通信モジュールとの間でデータを入出力する。処理モジュールは、入出力モジュールと接続された通信モジュール以外の複数の通信モジュールの各々と接続され、当該接続された通信モジュールから入力されたデータを処理して当該処理されたデータを当該接続された通信モジュールに出力する。
具体的には、入力端子151から入力されたデータがデータ入出力部101を介して通信部102−1に入力される。入力されたデータはパケット化されリングバス104上に流される。通信部102は、予め設定された情報に従って必要なパケットをリングバス104から取り込み、取り込まれたパケットからデータを抽出し、データ処理部103に入力する。データ処理部103は、所定のデータ処理(例えば、色空間変換処理や解像度変換処理等)を行い、処理されたデータを通信部102へ出力する。
処理されたデータは、通信部102によりパケット化されリングバス上に流される。このように通信部102−2〜通信部102−mによって、予め設定された順番でデータがデータ処理部103−2〜データ処理部103−mにより次々に処理される。そして、設定された順番でのパケット転送により実現された所望のデータ処理が終了したデータは、通信部102−1でデータ入出力部101に取り込まれ、出力端子152から外部に出力される。なお、データ入出力部101は、外部の機器(またはモジュール)とのインタフェースを行うものであり、通信部102−1で直接インタフェース可能な場合は省略可能である。
<通信部102の構成>
図2を参照して、通信部102の概略構成について説明する。通信部102は、データ受信部201と、バッファ202と、セレクタ203と、データ送信部204とを備える。
隣り合う通信部102の出力端子259と入力端子257とが接続されることで、通信部102−1〜通信部102−mによりリング状のデータ転送路が構成される。また、信号線251〜信号線256には、データ処理部103が接続されている。
ここで、図2の詳細な説明をする前に、図4(a)を参照して、リング状のデータ転送路上を流れるパケットの構成例を説明する。フィールド501は、パケットが有効であることを示すvalidフラグを格納する。フィールド502は、パケットが受信保留であることを示すstallフラグを格納する。フィールド503は、データの送信順を示すカウント値を格納する。フィールド504は、データの論理的な接続を識別するための接続IDを格納する。フィールド505は、データが転送されているデータパスを識別するためのパス識別子を格納する。フィールド506は、処理されるデータを格納する。 図2において、隣の通信部102から入力されたパケットは、バッファ202で一旦保持され、次のクロックサイクルでセレクタ203に出力される。データ受信部201は、入力端子257のパケットを監視して、以下の(1)〜(3)の全ての条件が成立する場合、パケットを取り込み、(valid信号251を有効にして)出力端子252からデータ処理部103へデータを出力する。
(1)パケットのvalidフラグ501が有効である。
(2)接続ID504とカウント値503がデータ受信部201の保持する値と一致する。
(3)接続されているデータ処理部103へのデータの入力が可能である(stall信号253が有効でない場合、すなわち受け入れ可能状態)。
データ受信部201は、信号線260を介してバッファ202にデータの取り込みを通知し、バッファ202に格納されるパケットのvalidフラグ501をクリアしてパケットを無効化する。また、パケット取り込み後、データ受信部201が保持するカウント値503はインクリメントされる。
一方、以下の(1)〜(3)の全ての条件が成立する場合、データ受信部201は信号線260を介して、バッファ202にデータの保留を通知し、バッファ202に格納されるパケットのstallフラグ502をセットする。
(1)入力パケットのvalidフラグ501が有効である。
(2)接続ID504とカウント値503がデータ受信部201の保持する値と一致する。
(3)接続されているデータ処理部103へのデータの入力が不可能である場合(stall信号253が有効である場合、すなわち受け入れ不可能状態)。
また、入力パケットのvalidフラグ501が有効で、接続ID504がデータ受信部201の保持する値と一致してもカウント値503がデータ受信部201の保持する値と不一致の場合は、データの取り込みができない。よって、この場合もstallフラグ502をセットする。なお、後述の動作例で説明するように、パケットを受信するか否かの判断において処理内容によってはカウント値を評価しなくてもよい。
データ送信部204は、バッファ202の出力パケット(信号線258)のvalidフラグ501を監視する。そして、validフラグ501が有効のときは、リングバス上にデータを出力できないので、接続されているデータ処理部103からのデータの出力を保留するためにstall信号254をセットする。一方、validフラグ501が無効のときは、リングバスにデータを出力できるため、stall信号254をリセットする。
また、以下の(1)および(2)の両方の条件が成立する場合、データ送信部204は、validフラグ501を有効にし、stallフラグ502を無効にして、カウント値503とレジスタに設定されている接続IDを付加してパケットを生成する。
(1)接続されているデータ処理部103からデータの出力が可能である(valid信号256が有効の場合)。
(2)バッファ202の出力パケットのvalidフラグ501が無効である。
そして、データ送信部204は、セレクタ203を制御して、この生成されたパケットを出力端子259からリングバス上に流す。パケット出力後、データ送信部204が保持するカウント値503はインクリメントされる。なお、後述の動作例で説明するように、カウント値を評価しない構成ではカウント値のインクリメントは行わなくてもよい。
ここで、第1実施形態に係るデータ処理装置10の動作概要について説明する。所定のデータ処理を行う複数のデータ処理部103とデータ入出力部101とが、それぞれ対応する通信部102を介して所定の順序でリング状に接続されている。通信部102の各々は、前の順序の通信部102からデータを受信するデータ受信部201と、次の順序の通信部102へデータを送信するデータ送信部204とを備える。
また、データ受信部201及びデータ送信部204の各々には、データ処理の論理的順序を識別するための接続ID情報が割り当てられている。この論理的順序は、任意に設定される設定順序である。通信部102は、データ受信部201に割り当てられている接続ID情報(受信ID番号)と同一のID情報を有するパケットを受信した場合は、対応するデータ処理部103でこのパケットに対するデータ処理を行わせる。そして、データ送信部204に割り当てられている接続ID情報(送信ID番号)をこのデータ処理済みのパケットに設定して、次の順序の通信部102へ送信する。一方、データ受信部201に割り当てられている接続ID情報と同一でないIDを有するパケットを受信した場合は、ID情報を変更せずにパケットを次の順序の通信部102へ送信する。
このように、データ受信部201及びデータ送信部204の各々に接続ID情報を割り振ってパケットの伝達経路を制御することで、複雑なデータパスを有するデータ処理を効率的に実現することができる。
なお、実際にはパケットはリングバス上を一方向に転送され続けるが、パケットに格納されているデータについては、上述の方法により所望のデータパスで複数のモジュールによって処理されるようにすることができる。
<データ受信部201の構成>
次に、図3(a)を参照して、データ受信部201の概略構成について説明する。データ受信部201は、受信IDレジスタ301と、受信カウンタ302と、比較部303と、判定部304とを備える。
比較部303は、入力端子257から入力されるリングバス上のパケットのvalidフラグ501、接続ID504、およびカウント値503を監視する。そして、以下の(1)〜(3)の全ての条件が成立する場合、valid信号251を有効にする。
(1)パケットのvalidフラグ501が有効である。
(2)パケットの接続ID504が受信IDレジスタ301に格納されている接続IDと一致する。
(3)パケットのカウント値503が受信カウンタ302の値と一致する。
なお、出力端子252からこのパケットのデータ部分が出力される。また、比較部303は、カウント値一致信号305と、データ処理完了検出信号306と、を判定部304に対して出力する。
比較部303は、validフラグ501が有効なパケットについて、このパケットの接続ID504が受信IDレジスタ301に格納されている接続ID504と一致するか否か比較する。一致する場合、比較部303は一致したことを示す信号(ID一致信号)を出力する。さらに、比較部303は、このパケットのカウント値503が受信カウンタ302の値と一致した場合に、一致したことを示す信号をカウント値一致信号305として出力する。
比較部303は、ID一致信号とカウント値一致信号305とを判定部304へ出力する。なお、ID一致信号を出力する条件を満たした場合にだけ比較部303がカウント値一致信号305を出力するようにすればパケット判定信号を判定部304に出力する必要はない。データ処理完了検出信号306は、一連のデータ処理を完了して出力されたデータを受信したことを示す。
判定部304は、ID一致信号、カウント値一致信号305、接続されているデータ処理部103からのstall信号253に基づいて、データ処理部103がデータを取り込めたか否かを判定する。そして、データ処理部103がデータを取り込めたと判定された場合は、信号線260を介して、バッファ202にデータの取り込みをデータ取り込み通知信号として通知する。そして、バッファ202に格納されているパケットのvalidフラグ501をクリアしてパケットを無効化する。なお、データの分岐(複数データ処理部での使用)のため、このパケット無効化処理は、CPU等によってON/OFF可能となっている。データ取り込み通知信号は、受信カウンタ302にも入力され、データを取り込めたと判定された場合、次のデータを取得するために、次のクロックサイクルで受信カウンタ302のカウント値をインクリメント(+1)する。
一方、ID一致信号およびカウント値一致信号305、接続されているデータ処理部103からのstall信号253に基づいて、データ処理部103が取り込むべきデータが取り込めないと判定された場合は、データの受信を保留する。詳細には、データ受信部201が信号線260を介して、バッファ202にデータの保留を通知し、バッファ202に格納されているパケットのstallフラグ502をセットする。また、ID一致信号およびカウント値一致信号305により、取り込み対象パケットであるがデータの取り込み順序が合致しないという場合も、データ受信部201は同様の保留処理をする。
さらに、判定部304は、一連のデータ処理が完了したかどうかを、データ処理完了検出信号306と、接続されているデータ処理部103からのstall信号253とに基づいて判定する。そして、判定結果を信号線263に出力する。
<データ送信部204の構成>
次に、図3(b)を参照して、データ送信部204の概略構成について説明する。データ送信部204は、送信IDレジスタ401と、送信カウンタ402と、出力制御部403と、パケット生成部404と、パス設定部405と、データ処理終了検出部406とを備える。
出力制御部403は、バッファ202からの出力パケット(信号線258)のvalidフラグ501、stallフラグ502、および接続ID504を監視する。validフラグ501が有効のときは、リングバスにデータを出力できないので、対のデータ処理部103のデータ出力を保留するためにstall信号254をセットする。一方、validフラグ501が無効のときは、stall信号254をリセットする。
また、出力制御部403は、以下の(1)および(2)の両方の条件が成立する場合は、自身が出力したパケットが他のどのモジュールにも保留されずにリングバスを周回して戻ってきたと判定する。そして、パケット生成部404を介してセレクタ203を制御し、validフラグ501を無効にしてパケットを無効化する。この場合、データ処理部103のパケットを出力することが可能となるので、stall信号254をリセットする。なお、出力制御部403は、後述するようにデータパスを切り替える場合にもstall信号254をセットする。
(1)バッファ202からの出力パケットのvalidフラグ501が有効であり、且つstallフラグ502が保留を示していない。
(2)バッファ202からの出力パケットの接続ID504が送信IDレジスタ401に格納されている接続IDと一致する。
パケット生成部404は、接続されているデータ処理部103のvalid信号256を参照する。そして、パケット生成部404は、データ処理部103からデータの出力が可能であるか否か判定する。データ処理部103からデータの出力が可能であると判定された場合(valid信号256が有効の場合)、バッファ202の出力パケットが、以下の(1)または(2)のいずれかに該当する場合、validフラグ501を有効にし、stallフラグ502を無効にする。そして、送信カウンタ402のカウント値と送信IDレジスタ401に設定されている接続IDとパス設定部405のパス識別子とを付加してパケットを生成する。そしてデータ送信部204がセレクタ203を制御することにより、生成されたパケットは出力端子259からリングバス上に流される。そして、次のクロックサイクルで送信カウンタ402のカウント値をインクリメント(+1)する。なお、データ送信部204の送信カウンタ402と、このデータ送信部204からのパケットを受信するデータ受信部201の受信カウンタ302とは、同期を取るために、データ転送開始前に同じ値に初期化される。
(1)その出力パケットのvalidフラグ501が無効である。
(2)データを抽出し終えて無効化するパケット(validフラグ501が有効かつstallフラグ502が保留を示していないときで、パケットの接続ID504が送信IDレジスタ401に格納されている接続IDと一致したパケット)である。
<データパスの設定>
図4(b)を参照して、図3(b)に示されるパス設定部405などモジュールのレジスタにアクセスして値を変更する際に転送されるパケットの、データ506の内部フォーマットの例を説明する。データ506は、データタイプ701と、RWフラグ702と、アドレス703と、データ704とを備える。
データタイプ701は、データ506の種別を示す。RWフラグ702は、レジスタへのアクセスの種別が読み出しと書き込みのどちらであるかを示す。アドレス703は、アクセス先を示す。データ704は、読み出したデータあるいは書き込むデータである。なお、アドレス703は、モジュールとそのモジュールのレジスタを特定できる情報であればよい。なお、後述する設定パス開始パケット(切換データ)に格納される設定パス開始データ、または接続ID変更パケットに格納される接続ID変更データも、同様にデータ506のフォーマットを採用する。
次にデータパスを切り替える処理の概要を説明する。接続ID等を変更するデータを転送するデータパスを第1データ処理パス(つまり、通信経路設定用パス)とし、データ処理部103にて処理するデータやデータ処理部103のレジスタの設定を変更するデータを送るデータパスを第2データ処理パスとする。本実施形態では、通信部102は受信したパケットのパス識別子505が「1」の場合に第1データ処理パスとして、パス識別子505が「0」の場合に第2データ処理パスのパケットとして処理する。なお、データ受信部201は、第1データ処理パスのパケットについてフィールド501〜フィールド504の値を無視して常にフィールド506のデータを取り込む。加えて、データ処理部103に接続された通信部102では、パケットは無効化されずにバッファ202に格納されて次のサイクルで次のモジュールへと転送される。
つまり、第1データ処理パスは、データ入出力部101から入力されたパケットがリングバスを1周して再びデータ入出力部101へと出力されるパスとなる。一方、第2データ処理パスは、通信部102のレジスタ設定により決まるパスとなる。
第1データ処理パスから第2データ処理パスへと切り替える場合、第1データ処理パスで転送するデータに続いて、データ入出力部101と接続された通信部102のパス設定部405に「0」を書き込むデータを入力端子151から入力する。値は次のクロックサイクルで反映されるため、このデータ自身は第1データ処理パスにより転送され、次の入力データからは第2データ処理パスにより転送される。
一方、第2データ処理パスから第1データ処理パスへと切り替える場合、第2データ処理パスで転送するデータに続いて、データ入出力部101と接続された通信部102のパス設定部405に「1」を書き込むデータを入力端子151から入力する。値は次のクロックサイクルで反映されるため、このデータ自身は第2データ処理パスにより転送され、次の入力データからは第1データ処理パスにより転送される。
パス設定部405に「1」を書き込むデータに続くデータは、データ処理終了検出部406で第2データ処理パスの処理が完了するまでの間、出力制御部403によりパケット生成部404への出力をブロックさせる。
これにより、データパスが周回していても、第1データ処理パスでのデータ処理が開始されないため、先行する第2データ処理パスでのデータパスの設定を変更することや、転送データの追い越しが発生して順番が入れ替わってしまうことを防止できる。第1データ処理パスから第2データ処理パスへと切り替えるときも、同様にパケット生成部404への出力をブロックしてもよいが、リングバスを1周しかしない第1データ処理パスの転送データは追い越されることがないため、不要である。
次に、本発明に係るデータ処理装置10でのデータ処理について説明する。データ処理部103は、例えばフィルタ回路のような、パラメータによりモジュール単位でもコンフィギュレーション可能な回路とする。さらに、通信部102によりモジュールの利用する順番を変更することで、柔軟性のある処理を実現する。通信部102により複数のモジュールの利用する順番を任意に変更可能であることによって、データパスの分岐などを含む複雑なデータ処理も可能である。複雑なデータパスの場合、リングバス上で2つ以上の論理的なモジュール間のデータ転送が重複する区間が存在するため、リングバスでの転送効率が装置全体の処理効率に大きく影響する。
データ処理部103による処理の対象となるデータは、所定の順番で処理されなければ出力結果が変わってしまうため、所定の順番で転送されるように設定しておく必要がある。一方、モジュールのレジスタやメモリにリード/ライトするデータのように、転送される順番に出力結果が影響されないデータは、リングバスの転送効率が高いデータパスで転送する。
図5(a)に示されるデータ処理装置を例として、第2データ処理パスの利用について説明する。通信部は、通信部A(通信部102−1)〜通信部E(通信部102−5)の5つである。通信部A(通信部102−1)とデータ入出力部A(データ入出力部101)とが対応する。通信部B(通信部102−2)〜通信部E(通信部102−5)のそれぞれとデータ処理部B(データ処理部103−2)〜データ処理部E(データ処理部103−2)とが対応する。
図5(b)および図5(c)はモジュールの利用順序を表す。データ処理をする順番は、図5(b)に示されるように、A(入力)→D→B→A(出力)である。モジュールが実際に接続されている順序とは入れ替わっており、データパスはリングバスを2周することになる。
これに対して、前述したようにモジュール間の転送順序には依存しない処理部設定データは、図5(c)に示されるように、リングバスを1周のみする順序でモジュールを利用してもよい。その順序とはA(入力)→B→D→A(出力)である。すなわち、図5(b)に示される処理順序は、後述の図6(b)に示されるようにリング上を2周する接続指示によって実現される。一方、図5(c)に示される処理順序は、後述の図6(c)に示されるようにリング上を1周のみする接続指示によって実現可能である。
これらのパスは、上述の第1のデータ処理パスにおいて設定され、第2のデータ処理パスの中で実行される。いずれも第2のデータ処理パスに属するが、図3における受信IDレジスタ301および送信IDレジスタ401を適切に設定することにより、切替え可能である。
この切替えは、個々の送信IDおよび受信IDをデータ処理装置に設定することによって実行される。このような設定は、例えばCPU21を用いて実施してもよい。以下、図7を参照して、CPU21が、データ処理部40に実行させる処理に応じた接続ID変更データまたは処理させるデータをRAM23に展開し、データ処理を実行する際の処理手順について説明する。
ステップS701において、CPU21は、RAM23にデータ処理装置の処理データを展開する。ステップS702において、CPU21は、データ処理部40に処理開始信号を送信する。
ステップS703において、CPU21は、データ処理部40での処理が完了するまで待機する。ステップS704において、CPU21は、データ処理部40での処理完了を検出したか否かを判定する。処理完了を検出したと判定された場合、処理は終了する。一方、処理完了を検出したと判定されない場合、ステップS704に戻る。
なお処理完了の検出は、割り込み等のCPU21への通知により行われる。
ここで、図8を参照して、ステップS701で展開するデータについて説明する。ステップS701で展開するデータは、処理開始信号に付属された位置のメモリアドレスあるいは予め決められていたアドレスなどに展開されたメモリ上のデータを表す。
このデータを読み込むと、データ処理装置はデータの格納順に従ってデータを処理して、終了後すぐに画像処理を開始することができる。A.recv_idはモジュールAの受信IDレジスタ301を表す。A.send_idはモジュールAの送信IDレジスタ401を表す。procA.reg1は、入出力部Aのレジスタを表す。
図1(a)のデータ処理部40は、ステップS702で処理開始信号を受けると、図8に示されるデータ構成の上から下に向かって順にデータを読み出して入力端子151へと出力する。処理結果は、RAM23の予め決められたアドレスに書き出される。
1005により示されるA.path_cfg←1は、モジュールAのpath_cfg(パス設定部405)に「1」を書くデータを表す。このパケットによりパス設定部405が「1」になると、その後流されるパケットは全て図6(a)に示される第1データ処理パスを通り、通信部102のみを通って1周のみする経路で転送される。その後に続くパス構成データ1001(処理モジュール設定用)は、図6(a)に示される第1データ処理パスにより転送され、図5(c)のパスとなるように、受信IDおよび送信IDを設定する。
続いて1006により示されるA.path_cfg←0を転送すると、パス設定部405が「0」に設定される。この後に続くパケットは、図6(c)に示されるように、予め受信するように設定された通信部102において、受信したパケットをデータ処理部103に転送する動作をするようになる。この際の処理の順序は、図5(c)で示される順序なるため、設定パケットはリング上を1回周回してから出力される。
その後、処理モジュール設定用データ1002は、図6(b)示されるように第2データ処理パス(モジュール設定転送時)により転送され、モジュールBとモジュールDとの設定を行う。
次に1007により示されるA.path_cfg←1により、再び図6(a)に示される第1データ処理パスに切り替えた後、次は、図5(b)に示される処理順となるようにパス構成データ1003により通信部102の受信IDならびに送信IDが設定される。その後、1008により示されるA.path_cfg←0を転送することにより、図6(b)に示されるようにデータが流れるような設定が完了する。
引き続いて、処理データ1004が、図6(b)に示されるように第2データ処理パス(処理対象データ転送時)により転送され、各データ処理部103においてデータ処理される。
パス構成データ1001とパス構成データ1003とは、最初のデータ1005と最後のデータ1006とでパス設定部405の値を切り替えて、第1データ処理パスにより第2データ処理パスを設定するデータを転送するようにデータを入力する。
処理対象データ全体を一度に入力せず、いくつかの単位に分割してデータ処理を実行する場合、処理データ1004を入れ替えて繰り返し入力端子115へと出力すればよい。このとき、設定を変更する必要が無ければ、連続した2回目以降では処理データ1004のみを入力してもよい。
処理対象データの単位ごとに処理モジュールの設定を変更する場合は処理データの単位に合わせて処理モジュール設定用データ1002を入れ替えて実行する。また、RAM23に一度に全て展開できない場合は、図8に示されるデータは分割して入力してもよい。なお、入力データの全てあるいは一部は、ROM22から取得してもよい。
このようにして、所望のデータ処理を実現するデータを入力する。図6(b)に示される第2データ処理パス(処理対象データ転送時)はリングバスを2周する。もしそのまま処理モジュール設定用データ1002を転送していた場合には、既に処理を終えたデータが周回する。また、対象となるモジュールに入力されても設定したパスでは受信条件が一致しない場合は受信条件が一致するまで周回する。すなわち、リングバスを無駄に占有する状況が発生してしまう。しかしながら、本発明の手順で図6(c)に示される第2データ処理パス(モジュール設定転送時)で転送することにより、これを回避できる。処理したいデータが例えば画像データであって、画像のある領域ごとにデータ処理部103のパラメータを変更したい場合などは、上記の第1データ処理パスと第2データ処理パスとでの処理を繰り返せばよい。
なお、データを受信する元の通信モジュールを示す第1受信ID番号と、データを送信する先の通信モジュールを示す第1送信ID番号とを、それぞれの通信モジュールに対して物理的に接続された順序で設定することにより第1データ処理パスを予め設定する。データを受信する元の通信モジュールを示す第2受信ID番号と、データを送信する先の通信モジュールを示す第2送信ID番号とを、それぞれの通信モジュールに対して設定することにより第2データ処理パスを予め設定する。そして、第1データ処理パスまたは第2データ処理パスを選択することにより、第1データ処理パスと第2データ処理パスとを切り替える構成としてもよい。
(第2実施形態)
図10(a)を参照して、本実施形態に係るデータ処理構成の概略構成について説明する。図5(a)で説明したデータ処理装置のデータ処理部E(データ処理部103−5)が、出力部1101に置き換わっている。出力部Eには出力端子153が接続されている。図10(b)を参照して、データパスが分岐する場合の処理の流れを説明する。Aより入力されたデータは、まず処理部Dにより処理された後、二つの処理部B、処理部Cによりそれぞれ異なる処理を実施される。その後、処理部Bからの出力は入出力部Aから出力される。一方、処理部Cからの出力は出力部Eから出力される。
このとき、例えば処理後の結果を、処理部Bおよび処理部Cからそれぞれ読み出す必要がある場合を考える。このままの処理パスである場合、処理部B内に保持されたデータを読み出すためのデータを展開して入出力部Aから投入すると、そのデータは通信部Aでパケット化されて、処理部Dの後に処理部Bと処理部Cとに分岐して流れる。この場合、パケットの保持するデータは処理部Bのデータを読み出すため、処理部Bからのデータを出力する入出力部Aから、処理部Bの読出しデータが出力される。このとき、出力部Eからは、入出力部Aから投入したパケットが処理部Bを経由せずに出力するため、その出力データは無駄となる。
一方、処理部Cの読出しデータを出力するためには、処理部C内に保持されたデータを読み出すデータを展開し、再度入出力部Aから投入する必要がある。この場合、出力部Eから、処理部Cの読出しデータが出力される一方で、入出力部Aからは、処理部Cを通らない、投入したままのデータが出力される。
このように、図10(b)に示されるような分岐を伴う第2のデータ処理パスを用いて、分岐後のモジュールの設定や読出し処理を行う場合、2回に分けて起動を行う必要がある。
また、もし一度の起動で読み出しを実行する場合には、投入するデータとして、処理部Bの読出しデータ列と、処理部Cの読出しデータ列とを連続して展開しておき、これを入出力部Aから投入する。その結果、入出力部Aからは、処理部Bから読み出されたデータと、変化のない処理部Cの読出しデータとが出力され、かつ、出力部Eからは、変化のない処理部Bの読出しデータと、処理部Cから読み出されたデータとが出力される。このとき、双方の出力データのうち、変化のないデータについては、無駄な出力メモリ領域を消費してしまい、効率が悪い。
図11を参照して、この場合の処理で必要な展開データを例示する。
1205により示されるA.path_cfg←1によって、第1データ処理パスに移行した後、パス構成データ1203によって図10(b)に示される分岐フローを構築する設定を行う。ここでは、処理部BのB.recv_idならびに処理部CのC.recv_idには、処理部Dの送信IDである2が設定されているため、処理部Dの出力を共に待つ設定となっている。
このような分岐フローを構築した後、1206により示されるA.path_cfg←0によって第2データ処理パスに移行し、データを転送して処理を実行する。
その後、データ処理によって処理部Bならびに処理部Cに蓄積されたデータを読み出すために、1207により示されるA.path_cfg←1によって再び第1データ処理パスに移行する。そして、処理モジュール設定用データ1204によって図10(c)の処理順になるように設定が行われる。その後、1208により示されるA.path_cfg←0によって再び第2データ処理パスに移行する。そして、処理モジュール設定用データ1204に従って、処理部B読出しデータ1209ならびに処理部C読出しデータ1210を転送することで、データが読み出される。
このようにして起動回数1回で処理部Bと処理部Cの読出しデータを無駄な保持領域を使用せずに効率よく読み出すことができる。
(第3実施形態)
第3実施形態に係るデータ処理装置は、第1実施形態では1組であった、第2データ処理パスを設定するレジスタ群を2組備える。第2データ処理パスを設定するレジスタ群とは、受信IDレジスタ301、受信カウンタ302、送信IDレジスタ401、送信カウンタ402の一組である。本実施形態に係るデータ受信部201を示した図12(a)、およびデータ送信部204を示した図12(b)を参照して、パケットの受信および送信の動作について説明する。なお、データ処理装置は第1実施形態で説明したデータ処理装置と同様の構成である。また、2組備えた第2データ処理パスを設定するレジスタ群が選択される以外は第1実施形態と同じ動作をするため、説明は省略する。
<データ受信部201の構成>
受信IDレジスタ1301(受信IDレジスタ0)は、パケットの保持するデータ506のデータタイプ701が図4(b)に示されるフォーマットである場合に、パケットの接続ID504と比較するために用いられる。
受信IDレジスタ1302(受信IDレジスタ1)は、パケットの保持するデータ506のデータタイプ701が図4(c)に示されるフォーマットである場合に、パケットの接続ID504と比較するために用いられる。
受信カウンタ01303は(受信カウンタ0)、パケットの保持するデータ506のデータタイプ701が図4(b)に示されるフォーマットである場合に、パケットのカウント値503と比較するために用いられる。
受信カウンタ1304(受信カウンタ1)は、パケットの保持するデータ506のデータタイプ701が図4(c)に示されるフォーマットである場合に、パケットのカウント値503と比較するために用いられる。
スイッチ1310、スイッチ1311、スイッチ1312は、不図示の信号線によりパケットの保持するデータ506のデータタイプ701の値を入力として、利用する受信IDレジスタおよび受信カウンタと、次のサイクルでインクリメントする受信カウンタとを切り替える。
<データ送信部204の構成>
送信IDレジスタ1305(送信IDレジスタ0)は、データ処理部103およびデータ入出力部101からの入力信号255(フォーマットは506)のデータタイプ701が図4(b)に示されるフォーマットである場合に、パケットの接続ID504としてパケット生成部404において付加される。
送信IDレジスタ1306(送信IDレジスタ1)は、データ処理部103およびデータ入出力部101からの入力信号255(フォーマットは506)のデータタイプ701が図4(c)に示されるフォーマットである場合に、パケットの接続ID504としてパケット生成部404において付加される。
受信カウンタ1307(受信カウンタ0)は、データ処理部103およびデータ入出力部101からの入力信号255(フォーマットは506)のデータタイプ701が図4(b)に示されるフォーマットである場合に、パケットのカウント値503としてパケット生成部404において付加される。
受信カウンタ1308(受信カウンタ1)は、データ処理部103およびデータ入出力部101からの入力信号255(フォーマットは506)のデータタイプ701が図4(c)に示されるフォーマットである場合に、パケットのカウント値503としてパケット生成部404において付加される。
スイッチ1313、スイッチ1314、スイッチ1315は、不図示の信号線によりデータ処理部103およびデータ入出力部101からの入力信号255(フォーマットは506)のデータタイプ701の値を入力として、利用する送信IDレジスタおよび送信カウンタ、次のサイクルでインクリメントする送信カウンタを切り替える。
レジスタ群を2組備えることにより、送受信するデータのタイプにより転送するパスが決まり、処理するデータ列に応じてパス設定を切り替える必要がなくなる。そのため、図9に示すように、一度にデータパスを設定するように処理データを入力することができる。図9では、A.recv_id[0]、A.recv_ID[1]などの添え字は、それぞれ[0]が図4(b)、[1]が図4(c)のデータに対応したレジスタ郡であることを表す。
図9のようにデータを入力することにより、一連のデータ処理でパス構成データの入力を1度にすることができる。
(その他の実施形態)
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。

Claims (12)

  1. リング状に接続された複数の通信モジュール間で一方向にデータを巡回させるデータ処理装置であって、
    前記複数の通信モジュールのうち少なくとも一つの通信モジュールと接続され、当該接続された通信モジュールとの間でデータを入出力する少なくとも一つの入出力モジュールと、
    前記入出力モジュールと接続された通信モジュール以外の複数の通信モジュールの各々と接続され、当該接続された通信モジュールから入力されたデータを処理して当該処理されたデータを当該接続された通信モジュールに出力する複数の処理モジュールと、を有し、
    さらに前記通信モジュールは、
    受信したデータを対応する処理モジュールに出力せずに後段の通信モジュールに転送する第1モードと、受信したデータを後段の通信モジュールまたは対応する処理モジュールに出力する第2モードとを設定する設定手段を有し、
    前記データ処理装置は、
    前記入出力モジュールによって入力されたデータに対して、前記複数の処理モジュールのうち少なくとも2つの処理モジュールが論理的順序に沿って処理するデータ処理を開始する場合、
    前記設定手段により設定された前記第1モードにおいて、前記データ処理に用いられる処理モジュールを設定するための設定用処理順になるよう前記複数の通信モジュールを設定し、
    前記設定手段により設定された前記第2モードにおいて、前記設定用の処理順において、前記データ処理に用いられる処理モジュールを設定した後に、
    前記設定手段により設定された前記第1モードにおいて、前記論理的順序に基づいて前記複数の通信モジュールを設定する制御手段を有し、
    前記設定用処理順は、前記データ処理に用いられる処理モジュールが接続順にデータを取り込む順序であることを特徴とするデータ処理装置。
  2. 前記設定手段は、前記第1モードまたは前記第2モードのいずれかを示す切換データに基づいて、前記第1モードまたは前記第2モードを設定することを特徴とする請求項1に記載のデータ処理装置。
  3. 前記通信モジュールはさらに、出力するデータを制御する出力制御手段を有し、前記入出力モジュールに接続された通信モジュールにおける前記出力制御手段は、前記第2モードから前記第1モードに切り替えることを示す切換データが前記入出力モジュールから入力されると、前記第2モードにおける処理が完了した後に、前記切換データに続くデータを出力するよう制御することを特徴とする請求項1または2に記載のデータ処理装置。
  4. リング状に接続された複数の通信モジュール間で一方向にデータを巡回させるデータ処理装置であって、
    前記複数の通信モジュールのうち少なくとも一つの通信モジュールと接続され、当該接続された通信モジュールとの間でデータを入出力する少なくとも一つの入出力モジュールと、
    前記入出力モジュールと接続された通信モジュール以外の複数の通信モジュールの各々と接続され、当該接続された通信モジュールから入力されたデータを処理して当該処理されたデータを当該接続された通信モジュールに出力する複数の処理モジュールと、を有し、
    前記データ処理装置は、前記複数の処理モジュールのうち少なくとも2つ以上の処理モジュールが論理的順序に従ってデータ処理する場合、
    前記データ処理に用いる処理モジュールを設定するためのデータの通信経路と、前記論理的順序に従って処理するためのデータの通信経路とを異ならせることを特徴とするデータ処理装置。
  5. 前記処理モジュールに対応する通信モジュールそれぞれは、
    受け取ったパケットに含まれる接続IDが受信ID番号と同一であるか否かを識別し、同一である場合に対応する処理モジュールにデータを出力する受信手段と、
    対応する処理モジュールが処理したデータを含むパケットが含む接続IDに対して、送信ID番号を設定して後段の通信モジュールにパケットを送信する送信手段とを有し、前記データ処理装置は、前記通信モジュールそれぞれの受信ID番号および送信ID番号の設定を制御することにより前記通信経路を制御する制御手段を有することを特徴とする請求項4に記載のデータ処理装置。
  6. データ処理装置に実行させる処理に応じたデータを制御する制御装置であって、前記データ処理装置は、データを入力する入力手段と受け取ったデータを処理する複数の処理手段と、前記入力手段および前記複数の処理手段それぞれに対応して接続された通信手段を有し、
    前記通信手段は、データを含むパケットを受け取り、パケットを後段の通信手段に転送し、
    前記通信手段は、リング状に接続され、受信したパケットが含むデータを取り込み、後段の通信手段または対応する処理手段に出力する処理モードと、受信したパケットが含むデータを対応する処理手段に出力せず該データに基づいて該通信手段自身の設定をする設定モードとを切り替えて設定可能であり、
    前記制御装置は、前記複数の処理手段に対して少なくとも2つ以上の処理手段に論理的順序でデータ処理させる場合、
    前記データ処理に用いる処理手段を設定するために、前記通信手段を設定モードに設定し、かつ前記データ処理に用いる処理手段が接続順にデータを受け取るよう前記複数の処理手段に対応する通信手段それぞれを設定した後、
    前記通信手段を処理モードに設定し、かつ前記データ処理に用いる処理手段における処理を設定し、
    さらに前記通信手段を設定モードに設定し、かつ前記データ処理に用いる処理手段が前記論理的順序でデータを受け取るよう前記複数の処理手段に対応する通信手段それぞれを設定するよう制御することを特徴とする制御装置。
  7. 所定の処理を前記データ処理装置に設定するために、
    前記通信手段を前記設定モードに設定するためのデータ、
    前記複数の処理手段のうち前記所定の処理に用いる処理手段に対応する通信手段が、接続順にパケットを受信し、受信したパケットに含まれるデータを対応する処理手段に出力するように設定するためのデータ、
    前記通信手段を前記処理モードに設定するためのデータ、
    前記複数の処理手段のうち前記所定の処理に用いる処理手段を設定するための処理手段設定用データ、
    再び前記通信手段を前記設定モードに設定するためのデータ、
    前記複数の処理手段に対応する通信手段における設定を前記論理的順序に応じた設定にするための設定用データ、
    を順に実行させることを特徴とする請求項6に記載の制御装置。
  8. リング状に接続された複数の通信モジュール間で一方向にデータを巡回させることが可能であり、
    前記複数の通信モジュールのうち少なくとも一つの通信モジュールと接続され、当該接続された通信モジュールとの間でデータを入出力する少なくとも一つの入出力モジュールと、
    前記入出力モジュールと接続された通信モジュール以外の複数の通信モジュールの各々と接続され、当該接続された通信モジュールから入力されたデータを処理して当該処理されたデータを当該接続された通信モジュールに出力する複数の処理モジュールと、を備えるデータ処理装置におけるデータ処理方法であって、
    さらに前記通信モジュールにおいて、
    設定手段が、受信したデータを対応する処理モジュールに出力せずに後段の通信モジュールに転送する第1モードと、受信したデータを後段の通信モジュールまたは対応する処理モジュールに出力する第2モードとを設定する設定工程を有し、
    前記データ処理装置において、
    制御手段が、
    前記入出力モジュールによって入力されたデータに対して、前記複数の処理モジュールのうち少なくとも2つの処理モジュールが論理的順序に沿って処理するデータ処理を開始する場合、
    前記設定手段により設定された前記第1モードにおいて、前記データ処理に用いられる処理モジュールを設定するための設定用処理順になるよう前記複数の通信モジュールを設定し、
    前記設定手段により設定された前記第2モードにおいて、前記設定用の処理順において、前記データ処理に用いられる処理モジュールを設定した後に、
    前記設定手段により設定された前記第1モードにおいて、前記論理的順序に基づいて前記複数の通信モジュールを設定する制御工程を有し、
    前記設定用処理順は、前記データ処理に用いられる処理モジュールが接続順にデータを取り込む順序であることを特徴とするデータ処理方法。
  9. リング状に接続された複数の通信モジュール間で一方向にデータを巡回させることが可能であり、
    前記複数の通信モジュールのうち少なくとも一つの通信モジュールと接続され、当該接続された通信モジュールとの間でデータを入出力する少なくとも一つの入出力モジュールと、
    前記入出力モジュールと接続された通信モジュール以外の複数の通信モジュールの各々と接続され、当該接続された通信モジュールから入力されたデータを処理して当該処理されたデータを当該接続された通信モジュールに出力する複数の処理モジュールとを備えるデータ処理装置におけるデータ処理方法であって、
    前記複数の処理モジュールのうち少なくとも2つ以上の処理モジュールが論理的順序に従ってデータ処理する場合、
    前記データ処理に用いる処理モジュールを設定するためのデータの通信経路と、前記論理的順序に従って処理するためのデータの通信経路とを異ならせることを特徴とするデータ処理方法。
  10. データ処理装置に実行させる処理に応じたデータを制御する制御装置における制御方法であって、
    前記データ処理装置は、データを入力する入力手段と受け取ったデータを処理する複数の処理手段と、前記入力手段および前記複数の処理手段それぞれに対応して接続された通信手段を有し、
    前記通信手段は、データを含むパケットを受け取り、パケットを後段の通信手段に転送し、
    前記通信手段は、リング状に接続され、受信したパケットが含むデータを取り込み、後段の通信手段または対応する処理手段に出力する処理モードと、受信したパケットが含むデータを対応する処理手段に出力せず該データに基づいて該通信手段自身の設定をする設定モードとを切り替えて設定可能であり、
    前記制御装置において、
    前記複数の処理手段に対して少なくとも2つ以上の処理手段に論理的順序でデータ処理させる場合、
    前記データ処理に用いる処理手段を設定するために、前記通信手段を設定モードに設定し、かつ前記データ処理に用いる処理手段が接続順にデータを受け取るよう前記複数の処理手段に対応する通信手段それぞれを設定した後、
    前記通信手段を処理モードに設定し、かつ前記データ処理に用いる処理手段における処理を設定し、
    さらに前記通信手段を設定モードに設定し、かつ前記データ処理に用いる処理手段が前記論理的順序でデータを受け取るよう前記複数の処理手段に対応する通信手段それぞれを設定するよう制御することを特徴とする制御方法。
  11. コンピュータを、請求項1乃至5の何れか1項に記載のデータ処理装置として機能させるためのプログラム。
  12. コンピュータを、請求項6または7に記載の制御装置として機能させるためのプログラム。
JP2010146889A 2010-06-28 2010-06-28 データ処理装置、データ処理方法、制御装置、制御方法およびプログラム Expired - Fee Related JP5600492B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2010146889A JP5600492B2 (ja) 2010-06-28 2010-06-28 データ処理装置、データ処理方法、制御装置、制御方法およびプログラム
US13/114,155 US9053225B2 (en) 2010-06-28 2011-05-24 Data processing apparatus, data processing method, and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010146889A JP5600492B2 (ja) 2010-06-28 2010-06-28 データ処理装置、データ処理方法、制御装置、制御方法およびプログラム

Publications (2)

Publication Number Publication Date
JP2012008976A JP2012008976A (ja) 2012-01-12
JP5600492B2 true JP5600492B2 (ja) 2014-10-01

Family

ID=45353623

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010146889A Expired - Fee Related JP5600492B2 (ja) 2010-06-28 2010-06-28 データ処理装置、データ処理方法、制御装置、制御方法およびプログラム

Country Status (2)

Country Link
US (1) US9053225B2 (ja)
JP (1) JP5600492B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5014362B2 (ja) 2009-02-25 2012-08-29 キヤノン株式会社 情報処理装置及びその制御方法、コンピュータプログラム
JP2013196509A (ja) * 2012-03-21 2013-09-30 Canon Inc 情報処理装置及びその制御方法
US10509754B2 (en) 2015-10-14 2019-12-17 Canon Kabushiki Kaisha Information processing apparatus, control method for information processing apparatus, and storage medium

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63240663A (ja) * 1987-03-27 1988-10-06 Nec Corp プロセツサ
JP2872834B2 (ja) 1991-06-05 1999-03-24 住友ベークライト株式会社 2層フレキシブル印刷回路基板の製造方法
JPH05324594A (ja) * 1992-05-07 1993-12-07 Nec Corp プロセッサ
JPH0991262A (ja) * 1995-09-20 1997-04-04 Fuji Xerox Co Ltd マルチプロセッサシステム
US6091705A (en) * 1996-12-20 2000-07-18 Sebring Systems, Inc. Method and apparatus for a fault tolerant, software transparent and high data integrity extension to a backplane bus or interconnect
JPH11167560A (ja) 1997-12-03 1999-06-22 Nec Corp データ転送システム、このシステムに用いるスイッチング回路、アダプタ及びこのシステムを有する集積回路並びにデータ転送方法
US6292200B1 (en) * 1998-10-23 2001-09-18 Silicon Graphics, Inc. Apparatus and method for utilizing multiple rendering pipes for a single 3-D display
CA2480081C (en) * 2002-03-22 2007-06-19 Michael F. Deering Scalable high performance 3d graphics
WO2004003773A1 (ja) * 2002-06-28 2004-01-08 Mitsubishi Denki Kabushiki Kaisha 識別符号付与装置及び方法
JP4359490B2 (ja) 2003-11-28 2009-11-04 アイピーフレックス株式会社 データ伝送方法
US8305938B2 (en) * 2007-12-31 2012-11-06 Ciena Corporation Interworking an ethernet ring network with a spanning tree controlled ethernet network
JP5406558B2 (ja) * 2009-02-24 2014-02-05 キヤノン株式会社 データ処理装置、データ処理方法およびプログラム
JP5460088B2 (ja) * 2009-03-17 2014-04-02 キヤノン株式会社 情報処理装置、情報処理方法およびプログラム
JP5014362B2 (ja) * 2009-02-25 2012-08-29 キヤノン株式会社 情報処理装置及びその制御方法、コンピュータプログラム
JP5419493B2 (ja) * 2009-03-03 2014-02-19 キヤノン株式会社 データ処理装置、データ処理装置の制御方法、およびプログラム
JP5538798B2 (ja) * 2009-03-17 2014-07-02 キヤノン株式会社 データ処理装置およびデータ処理方法またはプログラム
JP5432587B2 (ja) 2009-05-14 2014-03-05 キヤノン株式会社 データ処理装置、その制御方法およびプログラム
JP5361567B2 (ja) 2009-06-25 2013-12-04 キヤノン株式会社 データ処理装置、データ処理方法およびプログラム
JP5460143B2 (ja) * 2009-06-29 2014-04-02 キヤノン株式会社 データ処理装置、データ処理方法およびプログラム
JP5460156B2 (ja) * 2009-07-14 2014-04-02 キヤノン株式会社 データ処理装置
JP5590849B2 (ja) * 2009-10-08 2014-09-17 キヤノン株式会社 複数の処理モジュールを有する並列処理回路を備えるデータ処理装置、その制御装置、およびその制御方法、プログラム
JP5414506B2 (ja) 2009-12-18 2014-02-12 キヤノン株式会社 データ処理装置、データ処理方法、及びプログラム

Also Published As

Publication number Publication date
JP2012008976A (ja) 2012-01-12
US9053225B2 (en) 2015-06-09
US20110320677A1 (en) 2011-12-29

Similar Documents

Publication Publication Date Title
JP5361567B2 (ja) データ処理装置、データ処理方法およびプログラム
JP5922898B2 (ja) 情報処理装置、通信方法およびプログラム
US8799536B2 (en) Data processing apparatus, data processing method and computer-readable medium
CN102521201A (zh) 多核数字信号处理器片上系统及数据传输方法
US9239811B2 (en) Data processing apparatus and data processing method
JP5419493B2 (ja) データ処理装置、データ処理装置の制御方法、およびプログラム
JP2012043153A (ja) 情報処理装置、情報処理方法、およびプログラム
JP5538798B2 (ja) データ処理装置およびデータ処理方法またはプログラム
JP5341623B2 (ja) データ処理装置、データ処理方法およびプログラム
JP5600492B2 (ja) データ処理装置、データ処理方法、制御装置、制御方法およびプログラム
CN113821475A (zh) 数据传输方法、装置、电子设备及存储介质
JP5432587B2 (ja) データ処理装置、その制御方法およびプログラム
JP2008187711A (ja) 2つのエンティティ間の通信ゲートウェイ
JP2013196509A (ja) 情報処理装置及びその制御方法
JP5360594B2 (ja) Dma転送装置及び方法
JP2020191520A (ja) 撮像装置及び撮像装置の制御方法
JP4123660B2 (ja) プログラマブルコントローラ
JP2006094400A (ja) 画像処理装置および画像処理方法
US11169956B2 (en) Networked computer with embedded rings field
JPH0883248A (ja) 情報処理システム及びその方法
JP2010009576A (ja) マルチプロセッサ及びマルチプロセッサの制御方法
JP2014209801A (ja) 情報処理装置、情報処理方法、制御装置および制御方法
JP2011065566A (ja) データ処理装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130628

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140318

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A132

Effective date: 20140404

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140530

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140627

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140703

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140818

R151 Written notification of patent or utility model registration

Ref document number: 5600492

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

LAPS Cancellation because of no payment of annual fees