JP4546775B2 - 時分割多重処理可能なリコンフィギュラブル回路 - Google Patents

時分割多重処理可能なリコンフィギュラブル回路 Download PDF

Info

Publication number
JP4546775B2
JP4546775B2 JP2004195042A JP2004195042A JP4546775B2 JP 4546775 B2 JP4546775 B2 JP 4546775B2 JP 2004195042 A JP2004195042 A JP 2004195042A JP 2004195042 A JP2004195042 A JP 2004195042A JP 4546775 B2 JP4546775 B2 JP 4546775B2
Authority
JP
Japan
Prior art keywords
reconfigurable circuit
configuration
output
data
time
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
JP2004195042A
Other languages
English (en)
Other versions
JP2006018539A (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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2004195042A priority Critical patent/JP4546775B2/ja
Priority to US11/053,269 priority patent/US8055880B2/en
Publication of JP2006018539A publication Critical patent/JP2006018539A/ja
Application granted granted Critical
Publication of JP4546775B2 publication Critical patent/JP4546775B2/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
    • 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
    • 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/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7867Architectures of general purpose stored program computers comprising a single central processing unit with reconfigurable architecture
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline, look ahead
    • G06F9/3885Concurrent instruction execution, e.g. pipeline, look ahead using a plurality of independent parallel functional units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline, look ahead
    • G06F9/3885Concurrent instruction execution, e.g. pipeline, look ahead using a plurality of independent parallel functional units
    • G06F9/3893Concurrent instruction execution, e.g. pipeline, look ahead using a plurality of independent parallel functional units controlled in tandem, e.g. multiplier-accumulator
    • G06F9/3895Concurrent instruction execution, e.g. pipeline, look ahead using a plurality of independent parallel functional units controlled in tandem, e.g. multiplier-accumulator for complex operations, e.g. multidimensional or interleaved address generators, macros
    • G06F9/3897Concurrent instruction execution, e.g. pipeline, look ahead using a plurality of independent parallel functional units controlled in tandem, e.g. multiplier-accumulator for complex operations, e.g. multidimensional or interleaved address generators, macros with adaptable data path

Description

本発明は、時分割多重処理が可能でかつ動的再構成可能な回路に関する。
データを処理するプロセッサ要素とプロセッサ要素とを接続するネットワークで構成されたリコンフィギュラブル(再構成可能)回路に関する。再構成可能回路は、回路の動作を定義するコンフィギュレーション・データをソフト的に書き換えることにより、各種機能をASIC並みの速度で実行できる回路である。そのため、同じ再構成可能回路で、いろいろなアプリケーション(タスク)を実行することが可能である。一方、回路技術の進歩により、再構成可能回路の大規模化にあわせて、搭載可能なタスクの回路規模も増してきた。以上のような状況により、将来において、複数のタスクを一つの再構成可能回路上で同時に実行できることが要求されると考えられる。
従来の再構成可能回路にて、複数のタスクを実行させる方法は、二つのタイプに分けられる。一つは、回路を空間的に分割して、それぞれの部分にタスクを割り当てる方法(space parallelism)であり(例えば、特許文献1)、もう一つはコンフィギュレーションを時分割に切り替えて異なるタスクを実行する方法(time parallelism)である。
後者の時間的にコンフィギュレーションを切り換える方法としては、タスクに対応したコンフィギュレーションでタスクを処理した後、内部データを一旦別の場所に吐き出したり、退避させたりしてから、別のタスクに対応したコンフィギュレーションに切り換える。より効率的に実施するために、上記の切替を部分的に実行することにより、タスク切替を実現する。
特開2000−311156号公報
コンフィギュレーションを空間的に分割して複数処理を実行する方法では、性能を保って実行するためには処理タスク数に応じたハードウェア資源が必要となり回路が大規模となる。
一方、コンフィギュレーションを切り替えて時分割で複数処理を実行する方法では、コンフィギュレーション切替時におけるパイプライン処理の中断による時間的オーバーヘッドが発生する。また退避処理に対する入出力データのバッファ処理が必要となり、データが入力してから出力されるまでの処理時間(レイテンシ)が増加する。さらに、時分割で処理するために、同じ処理量のタスクを処理するために必要な時間が、単一タスクを処理する場合と複数のタスクを処理する場合とでは、タスク数に応じて長くなる。
本発明は、上述のコンフィギュレーション切替に伴う時間損失とデータ入出力のレイテンシを低減した時分割多重処理可能なリコンフィギュラブル回路を提供することを目的とする。
本発明は、一面において、時分割多重処理可能なリコンフィギュラブル回路を提供する。本発明のリコンフィギュラブル回路は、パイプライン構造を有し、かつ供給される第1のコンフィギュレーション・データに応じて構成が可変な処理手段を有する複数のプロセッサ要素と、前記複数のプロセッサ要素の入力および出力が接続され、供給される第2のコンフィギュレーション・データに応じた前記入力および出力の間においてデータ転送を1クロックで行うネットワークと、前記処理手段の各々に対し、前記所定数のタスク用に準備された前記第1および第2のコンフィギュレーション・データを周期的に1クロックで切り換えて供給する切替手段とを備えたことを特徴とする。
一実施例によれば、第1の切替手段は、タスクごとの第1のコンフィギュレーション・データを記憶する記憶手段と、記憶手段と対を成し当該記憶手段に出力すべきデータの格納位置を指定する情報を与える手段と、記憶手段の出力を処理すべきタスクに応じて切り換える手段とを含む。
他の実施例によれば、第1の切替手段は、総てのタスクの第1のコンフィギュレーション・データを記憶する記憶手段と、タスク毎に設けられ、記憶手段に出力すべきデータの格納位置を指定する情報を出力するシーケンス手段と、シーケンス手段の出力を処理すべきタスクに応じて切り換えて記憶手段に供給する手段とを含む。
本発明の時分割多重処理可能なリコンフィギュラブル回路は、前記所定数の入力をクロックに同期してネットワークに送り込むパラレル/シリアル変換手段と、ネットワークから供給される時分割多重データを前記所定数の出力端子に出力するシリアル/パラレル変換手段とをさらに備えてもよい。
異なるコンフィギュレーション相の間でデータ転送を行う相関転送手段をさらに備えてもよい。
一実施形態では、相関転送手段は、転送元の前記処理手段の出力を入力とし、所望の転送先に出力が接続されたセレクタを含む。
前記シリアル/パラレル変換手段の出力を前記パラレル/シリアル変換手段の入力に接続することを可能とするために、前記シリアル/パラレル変換手段の出力のタイミング調整を行う手段をさらに備えてもよい。
各プロセッサ要素における前記処理手段にコンフィギュレーションを1つずつずらして設定するために遅延手段を備えてもよい。
本発明は、他の面において、上述の第1のリコンフィギュラブル回路、第1のリコンフィギュラブル回路との間にコンフィギュレーション切替周期のズレがある第2のリコンフィギュラブル回路、および第1のリコンフィギュラブル回路のネットワークと第2のリコンフィギュラブル回路のネットワークととの間に挿入され、コンフィギュレーション切替周期のズレを調整する遅延手段を備えて再構成および並列処理を可能とするリコンフィギュラブル回路を提供する。
本発明によれば、コンフィギュレーション切替に伴う時間損失とデータ入出力のレイテンシを低減した時分割多重処理可能なリコンフィギュラブル回路を得ることができる。
以下、本発明の実施形態と添付図面とにより本発明を詳細に説明する。なお、複数の図面に同じ要素を示す場合には同一の参照符号を付ける。
〔第1の実施形態〕
図1は、本発明の第1の実施形態による時分割多重処理可能なリコンフィギュラブル回路の概念的構成を示すブロック図である。図1において、リコンフィギュラブル回路1(以降、単に「プロセッサ1」と称する)は、複数のプロセッサ要素{PEi|i=1,2,...,M}(Mは、プロセッサ要素の個数)、各プロセッサ要素PEiの入出力が接続されるネットワーク10、複数の入力データを時分割多重式にネットワーク10に取り入れるパラレル/シリアル変換器20、任意のプロセッサ要素PEi、PEj、PEk(1≦i,j,k≦M)からの出力データがネットワーク10から時分割多重式に渡されるのをプロセッサ要素PEi、PEj、PEkに対応する出力端子にそれぞれ出力するシリアル/パラレル変換器30、および以上のプロセッサ要素PE1〜PEMとネットワーク10とパラレル/シリアル変換器20とシリアル/パラレル変換器30とに対して構成(configuration)を定義するコンフィギュレーション・データを供給する周期的コンフィギュレーション切替部40から構成される。ネットワーク10には、各プロセッサ要素PEiの入出力が総て接続されることが理想であるが、現実には困難な場合が多いので、ネットワーク10と各プロセッサ要素PEiとの接続性は用途の必要性に応じて調整することが好ましい。
各プロセッサ要素PEiは、複数の処理部{Pi,j|j=1,2,...,N}(Nは、処理部の個数)がラッチ群(図1では「FF群」)を介して直列に接続されたパイプライン構造を有する。ラッチ群はプロセッサ要素PEの入出力端にも設けられるので、N個の処理部Pi,1〜Pi,NとN+1個のラッチ群FF〜FFN+1が交互に直列接続される。なお、図1では、簡単のために2つの処理部Pi,1、Pi,2と3つのラッチ群FF1、FF2およびFF3のみを示すが、各プロセッサ要素PEiは、処理が滞りなく流れる限り多数の処理部を備えることができる。各処理部Pi,jは、周期的コンフィギュレーション切替部40から供給されるコンフィギュレーション・データに基づいて構成を変えることができる論理演算ユニットである。プロセッサ1を構成するプロセッサ要素PE1〜PEMに含まれるラッチ群FFは総て同一のクロックにより動作するので、隣接するラッチ群間は、ネットワーク10が介在する場合でも、1クロックでデータが転送される。
なお、パイプライン段数(プロセッサ要素PEiのラッチ群FFの数)は周期的に切り替えるタスクの数の整数倍であることが好ましい。パイプライン段数がタスク数の整数倍でない場合、図9のようなプロセッサ要素のグループ化が必要となる。このグループ化については、後述する。
図3は、パラレル/シリアル変換器20の構成例と動作を説明する図である。図3において、パラレル/シリアル変換器20は、プロセッサ1が処理するタスク(タスク数をTとする)に対応する入力端子ごとに設けられ、外部クロック(周波数をfとする)に応じて入力信号を保持するT個のラッチ22、ラッチ22の出力が入力端子に接続されたセレクタ26、プロセッサ1の内部クロック(周波数=Txf)を数えるT進カウンタ24、およびセレクタ26の出力を内部クロックに応じて保持するラッチ28を備える。これによりタスク毎に供給される入力データを時分割多重式にまとめてネットワーク10を介してプロセッサ要素に取り入れることができる。同様に、シリアル/パラレル変換器30は、各タスクにより交互に統合されて出力されるデータをそれぞれのタスクに関係付けられた出力端子に出力する。したがって、各タスクごとに別々の入出力ポートが存在することになり、外部からプロセッサ1を見た場合には、複数のタスクに相当する機能が集積された回路となり、LSI開発時に時間多重などの機能を全く意識する必要がない。
注目すべきことは、上述のようにプロセッサ要素をパイプライン化することにより、プロセッサ1の動作周波数を上げられるという点である。その動作周波数向上は、ほぼパイプライン段数に比例する。つまり、FF間のゲート段数がパイプライン化により区切ることで、パイプライン段数の逆数でゲート段数は短くなり、その結果動作周波数は向上する。そこで、パラレル/シリアル変換器20およびシリアル/パラレル変換器30とを、外部回路とのデータ入出力周波数と再構成可能回路とのデータ入出力周波数を異なる構造にしておき、タスク数に応じた比に設定することにより、外部回路からクロックごとにデータを送り込むことで、外部回路と同じ周波数でプロセッサ1側で処理することが可能となる。
次に、周期的コンフィギュレーション切替部40の構成例を図5に示す。図5において、周期的コンフィギュレーション切替部40は、プロセッサ1内部のコンフィギュレーション切替タイミングを示す周期信号を出力する周期信号生成器46、周期信号生成器46からの周期信号に応じてネットワーク10へのコンフィギュレーション・データを出力するネットワーク切替部42,およびプロセッサ要素PE1〜PEMに含まれる総ての処理部{Pi,j|i=1〜M,j=1〜N}に対してそれぞれのコンフィギュレーション・データを供給するコンフィギュレーション切替器44を含む。
ネットワーク切替器42および各プロセッサ要素PEiの各処理部Pj(またはPi,j)の切替器44は、ともに同じ構造を有する。図6Aおよび6Bは、図5に示した各処理部Pi,jに対するコンフィギュレーション切替器44およびネットワーク切替器42の好ましい実施例を示す。図6Aにおいて、コンフィギュレーション切替器44は、各タスクに対応するシーケンサ442とコンフィギュレーション・メモリ444の対を備え、コンフィギュレーション・メモリ444の出力はセレクタ446を介して出力される。シーケンサ442により選択された各タスクのコンフィギュレーション・データを、セレクタ446により周期的に切り替える。
一方、図6Bでは、すべてのタスクのコンフィギュレーション・データが一つのメモリ444aに記憶してあり、タスクA,BおよびCごとに設けられたシーケンサ442aからのコンフィギュレーション・メモリのアドレス信号をセレクタ446で切り替えて選択する。図6Aの切替器44では、シーケンサ442aおよびコンフィギュレーション・メモリ444aはプロセッサ1のタスク数分の1の動作周波数で実行すればよいため、図6Bの切替器44aよりも消費電力の観点で有利となる。一方、切替器44では、タスクA,BおよびC用のコンフィギュレーション・データを異なるメモリ上に分散して持たせるために、若干の回路オーバヘッドが発生する。
以上のような構造を備えたプロセッサ1の基本的な動作を説明する。
図7は、図6Aのコンフィギュレーション切替器44のコンフィギュレーション・メモリ444にコンフィギュレーション・データを格納する方法とコンフィギュレーション・データが出力されるようすを示す図である。まず、図7Aにおいて、プロセッサ要素PEiの処理部P1およびP2にそれぞれ接続された切替器を44−1および44−2とする。タスクA,BおよびCの処理のために処理部P1に供給されるコンフィギュレーション・データをA−1,B−1,C−1とし、処理部P2に供給されるコンフィギュレーション・データをA−2,B−2,C−2とした場合、処理に柔軟性を持たせるために処理部P1とP2とではコンフィギュレーションの実装内容をずらすものとする。このため、切替器44−1のコンフィギュレーション・メモリにA−1,B−1,C−1の順に格納した場合、切替器44−2のコンフィギュレーション・メモリにはC−2,A−2,B−2の順に格納する。
ここで、例えば、処理部P1に対するタスクAのコンフィギュレーションシーケンスをA−1={A1,1、A1,2、A1,3、A1,4、・ ・ ・ }とする。同様に、その他のコンフィギュレーション・シーケンスを次にように表す。
B−1={B1,1、B1,2、B1,3、B1,4、・ ・ ・ }
C−1={C1,1、C1,2、C1,3、C1,4、・ ・ ・ }
A−2={A2,1、A2,2、A2,3、A2,4、・ ・ ・ }
B−2={B2,1、B2,2、B2,3、B2,4、・ ・ ・ }
C−2={C2,1、C2,2、C2,3、C2,4、・ ・ ・ }
以上のようなコンフィギュレーション・シーケンスを図7Aのようにコンフィギュレーション・メモリ444に格納した場合、切替器44−1および44−2のセレクタからは、図7Bのようにコンフィギュレーション・データが出力される。即ち、セレクタ446−1からコンフィギュレーション・データA1,1、B1,1、C1,1、A1,2、B1,2、C1,2、A1,3、・・・が、セレクタ446−2からC2,1、A2,1、B2,1、C2,2、A2,2、B2,2、C2,3、・・・が、周期信号に同期して出力される。これらのコンフィギュレーション・データを供給されたプロセッサ要素PEiは、図2に示すように構成が変化する。
このように、本発明によれば、プロセッサ1のコンフィギュレーションが1クロックの単位で周期的に切り替えられる。通常の再構成可能回路では、同一時刻に同じタスクのコンフィギュレーションを実装するが、本アーキテクチャでは、入れ子状に実装されることになる。
一方、タスクAのデータ系列を{da1, da2, da3, …}、タスクBのデータ系列を{db1, db2, db3, …}、タスクCのデータ系列を{dc1, dc2, dc3, …}とする。この場合、上述のパラレル/シリアル変換器20の働きにより、図2に示すように、プロセッサエレメントには{da1, db1, dc1, da2, db2, dc2, …}という系列でデータが入力される。時刻0では、da1が入力し、前段の処理部P1のコンフィギュレーションはタスクA(正確には、図7Bに示すようにA1,1)の処理が実装される。次の時刻では、入力データはdb1となり、前段の処理部P1のコンフィギュレーションはタクスB(同様に、B1,1)となる一方、後段の処理部P2にはタスクA(図7Bの例では、A2,1)のコンフィギュレーションが実装される(このコンフィギュレーションは、一時刻前の前段処理部に実装されたコンフィギュレーションA1,1とは異なっている)。同様に、次の時刻(T=2)では、前段処理部P1にはタスクC(図7Bの例では、C1,1)のコンフィギュレーションが、後段処理部P2にはタスクB(図7Bの例では、B2,1)のコンフィギュレーションが実装されるという具合である。
以上が、本発明によるプロセッサ1の基本的な動作の説明である。
また、タスクの処理に関連がある場合、タスク間でデータ通信を実施したいケースがある。タスク間でデータを実施する方法として、例えば、図4Aに示しように、シリアル/パラレル変換器30で分類されたタスク出力信号を、タイミング調整器62や64などを介してパラレル/シリアル変換機20に帰還する方式がある。この方法では、タスク間のデータ通信には、一旦、パラレル/シリアル変換器20およびシリアル/パラレル変換器30を経由する必要がありレイテンシが発生する。そこで好ましい方法として、図4Bに示すように、パイプラインの段数をショートカットする機構(フェーズシフト機構)を導入する。
図4Bでは、セレクタ52を使用し、プロセッサエレメントの初段P1(処理部)、二段P2(処理部)、最終段FF3(ラッチ群)の結果を選択して出力する機構となっている。最終段のラッチ群FF3の結果を選択した場合には、通常の基本動作となる。それに対し、初段の処理部P1の結果を選択した場合、初段に実装されているタスクの処理結果が、次のプロセッサ要素への入力となる。同様に、二段目の処理部P2の結果を選択した場合、二段目P2に実装されているタスクの処理結果が、次のプロセッサ要素への入力となる。セレクタで選択する時刻をずらすことにより、お互いのタスク間でのデータのやりとりが可能となる。なお、セレクタ52の出力は、前述のパラレル/シリアル変換器20の入力の1つに接続することも可能である。
以上述べた実施形態では、周期的コンフィギュレーション切替部40として、図7Aに示すような構成を採用した。しかし、周期的コンフィギュレーション切替部40は、遅延器を用いても実現することができる。図8は、遅延器を用いた周期的コンフィギュレーション切替部の構成例を示す図である。
図8Aの回路は、図7Aの周期的コンフィギュレーション切替部40の切替器44−2の出力回路に遅延器47を挿入したものである。図8Bの回路は、図7Aの周期的コンフィギュレーション切替部40の切替器44−2のセレクタの制御入力の直前に遅延器48を挿入し、周期信号を送らせた回路である。何れの方法でも性能や機能の面では違いは発生しない。
これまでの説明では、プロセッサ要素間のデータ転送はすべて均一である必要があった。異なる場合、ネットワーク内に異なるタスクのデータが混在することになり、ネットワークのコンフィギュレーションを切り替えることは、データ間の障害の発生原因となる。そのため、再構成可能回路の構成が大規模になり、プロセッサエレメント間のデータ転送時間に差が発生したりする回路に対しては、データの衝突が発生しないような機構が必要となる。図9は、本発明の第2の実施形態によりタスク切り替えの周期にズレがあるプロセッサ要素をグループ化したリコンフィギュラブル回路の構成を概念的に示す図である。
図9において、第2の実施形態によるリコンフィギュラブル回路2は、コンフィギュレーション切替周期にズレがある2つの再構成可能パイプラインプロセッサ1および1a(ここでは、グループと称する)、およびこれらのプロセッサまたはグループ1および1aのネットワーク間に挿入された遅延器60からなる。グループ内ではプロセッサエレメント間のデータ転送時間は均一とする。グループ間のデータ転送にはグループ内とは異なる時間でデータが転送される。再構成可能回路上に実装するコンフィギュレーションは、各グループ毎に制御し、各グループ間で同じタスクのデータがやり取りされるように同期をとる。それと合せて、グループ間のデータパス上に遅延器60を挿入して整合させる。例えば、図9においてグループ間転送に1クロックの遅延が余計にかかるとすると、下段のグループ1aでは1クロック分遅れてタスクが実装されるようにコンフィギュレーションを制御する。これにより上段1から下段1aへは、整合してデータが転送することが可能である。一方、下段1aから上段1に対しては、遅延器60を経由して(例えば3つのタスク切り替えの場合には2段の遅延を生成)信号を戻すことにより整合性をとることができる。
以上は、本発明の説明のために実施例を掲げたに過ぎない。したがって、本発明の技術思想または原理に沿って上述の実施例に種々の変更、修正または追加を行うことは、当業者には容易である。
例えば、上記の実施形態では時分割多重処理可能なリコンフィギュラブル回路として一般的な説明を行ったが、本発明よる構成は種々の画像処理などのプロセッサに応用可能である。
また、本発明のプロセッサは集積回路の全体または一部として実現することが可能である。
上述の実施形態では、ラッチ間のデータ転送は1クロックで行うものとしたが、各要素間のデータ転送が均一に行われる限り、転送に要する期間は1クロックである必要はない。
(付記1)所定数のタスクを並列処理可能な回路であり、
パイプライン構造を有し、かつ供給される第1のコンフィギュレーション・データに応じて構成が可変な処理手段を有する複数のプロセッサ要素と、
前記複数のプロセッサ要素の入力および出力が接続され、供給される第2のコンフィギュレーション・データに応じた前記入力および出力の間においてデータ転送を1クロックで行うネットワークと、
前記処理手段の各々に対し、前記所定数のタスク用に準備された前記第1および第2のコンフィギュレーション・データを周期的に1クロックで切り換えて供給する切替手段とを備えた
ことを特徴とする時分割多重処理可能なリコンフィギュラブル回路。
(付記2)前記第1の切替手段が、
タスクごとの第1のコンフィギュレーション・データを記憶する記憶手段と、
前記記憶手段と対を成し当該記憶手段に出力すべきデータの格納位置を指定する情報を与える手段と、
前記記憶手段の出力を処理すべきタスクに応じて切り換える手段とを含む
ことを特徴とする付記1記載の時分割多重処理可能なリコンフィギュラブル回路。
(付記3)前記第1の切替手段が、
総てのタスクの第1のコンフィギュレーション・データを記憶する記憶手段と、
タスク毎に設けられ、前記記憶手段に出力すべきデータの格納位置を指定する情報を出力するシーケンス手段と、
前記シーケンス手段の出力を処理すべきタスクに応じて切り換えて前記記憶手段に供給する手段とを含む
ことを特徴とする付記1記載の時分割多重処理可能なリコンフィギュラブル回路。
(付記4)前記所定数の入力を前記ネットワークに前記クロックに同期して送り込むパラレル/シリアル変換手段と、
前記ネットワークから供給される時分割多重データを前記所定数の出力端子に出力するシリアル/パラレル変換手段とをさらに備えた
ことを特徴とする付記1記載の時分割多重処理可能なリコンフィギュラブル回路。
(付記5)異なるコンフィギュレーション相の間でデータ転送を行う相関転送手段をさらに備えた
ことを特徴とする付記1記載の時分割多重処理可能なリコンフィギュラブル回路。
(付記6)前記相関転送手段は、転送元の前記処理手段の出力を入力とし、所望の転送先に出力が接続されたセレクタを含む
ことを特徴とする付記5記載の時分割多重処理可能なリコンフィギュラブル回路。
(付記7)前記シリアル/パラレル変換手段の出力を前記パラレル/シリアル変換手段の入力に接続することを可能とするために、前記シリアル/パラレル変換手段の出力のタイミング調整を行う手段をさらに備えた
ことを特徴とする付記4記載の時分割多重処理可能なリコンフィギュラブル回路。
(付記8)各プロセッサ要素における前記処理手段にコンフィギュレーションを1つずつずらして設定するために遅延手段を備えた
ことを特徴とする付記1記載の時分割多重処理可能なリコンフィギュラブル回路。
(付記9)付記1乃至8の何れか一項に記載の第1のリコンフィギュラブル回路と、
前記第1のリコンフィギュラブル回路との間にコンフィギュレーション切替周期のズレがある付記1乃至8の何れか一項に記載の第2のリコンフィギュラブル回路と、
前記第1のリコンフィギュラブル回路の前記ネットワークと、前記第2のリコンフィギュラブル回路の前記ネットワークとの間に挿入され、前記ズレを調整する遅延手段とを備えた
ことを特徴とする時分割多重処理可能なリコンフィギュラブル回路。
(付記10)前記所定数の入力を前記ネットワークに前記クロックに同期して送り込むパラレル/シリアル変換手段をさらに備え、
前記転送先がパラレル/シリアル変換手段の入力端子の1つである
ことを特徴とする付記6記載の時分割多重処理可能なリコンフィギュラブル回路。
(付記11)前記パイプライン構造は、前記所定数の整数倍の段数を有する
ことを特徴とする付記1記載の時分割多重処理可能なリコンフィギュラブル回路。
本発明の第1の実施形態による時分割多重処理可能なリコンフィギュラブル回路の構成を概念的に示すブロック図である。 プロセッサ要素PEiの動作を説明する図である。 図1のパラレル・シリアル変換器20の構成例と動作を示す図である。 プロセッサ1の入力から出力への帰還回路の一例を示すブロック図である。 プロセッサ要素PEiにおいてタスク間通信を行う場合の構成例を示す概念図である。 図1の周期的コンフィギュレーション切替部の構成例を示すブロック図である。 図5の切替器44の第1の構成例を示す図である。 図5の切替器44の第2の構成例を示す図である。 図4Aの切替器44のコンフィギュレーション・メモリのデータ格納例を示す図である。 図7Aの切替器44の動作を説明するための図である。 遅延器を用いた周期的コンフィギュレーション切替部の第1の構成例を示す図である。 遅延器を用いた周期的コンフィギュレーション切替部の第2の構成例を示す図である。 タスク切り替え周期にズレがあるプロセッサ要素をグループ化した時分割多重処理可能なリコンフィギュラブル回路の構成例を示すブロック図である。
符号の説明
1、2 時分割多重処理可能なリコンフィギュラブル回路
10 ネットワーク
20 パラレル/シリアル変換器
22,28、426 ラッチ回路
24 カウンタ
26,セレクタ
30 シリアル/パラレル変換器
40 周期的コンフィギュレーション切替部
44 コンフィギュレーション切替器
46 周期信号生成器
62,64 タイミング調整器
422、442a シーケンサ
424、444,444a コンフィギュレーション・メモリ

Claims (10)

  1. 所定数のタスクを並列処理可能な回路であり、
    供給される第1のコンフィギュレーション・データに応じて構成が可変な第1及び第2の処理手段と、該第1の処理手段と該第2の処理手段の間のラッチ手段とを含むパイプライン構造をそれぞれ有する複数のプロセッサ要素と、
    前記複数のプロセッサ要素の入力および出力が接続され、供給される第2のコンフィギュレーション・データに応じた前記入力および出力の間においてデータ転送を内部クロックの1クロックで行うネットワークと、
    各プロセッサ要素の各処理手段に対し、前記所定数のタスク用に準備された前記第1および第2のコンフィギュレーション・データを周期的に前記内部クロックの1クロックで切り換えて供給する切替手段とを備え、
    各プロセッサ要素のラッチ手段は、外部回路のクロックの周波数に対する前記内部クロックの周波数の比の正の整数倍のラッチ段数を有することを特徴とする時分割多重処理可能なリコンフィギュラブル回路。
  2. 前記切替手段が、
    タスクごとの第1のコンフィギュレーション・データを記憶する記憶手段と、
    前記記憶手段と対を成し当該記憶手段に出力すべきデータの格納位置を指定する情報を与える手段と、
    前記記憶手段の出力を処理すべきタスクに応じて切り換える手段とを含む
    ことを特徴とする請求項1記載の時分割多重処理可能なリコンフィギュラブル回路。
  3. 前記切替手段が、
    総てのタスクの第1のコンフィギュレーション・データを記憶する記憶手段と、
    タスク毎に設けられ、前記記憶手段に出力すべきデータの格納位置を指定する情報を出力するシーケンス手段と、
    前記シーケンス手段の出力を処理すべきタスクに応じて切り換えて前記記憶手段に供給する手段とを含む
    ことを特徴とする請求項1記載の時分割多重処理可能なリコンフィギュラブル回路。
  4. 前記所定数の入力を前記ネットワークに前記内部クロックに同期して送り込むパラレル/シリアル変換手段と、
    前記ネットワークから供給される時分割多重データを前記所定数の出力端子に出力するシリアル/パラレル変換手段とをさらに備えた
    ことを特徴とする請求項1記載の時分割多重処理可能なリコンフィギュラブル回路。
  5. 異なるタスクの間でデータ転送を行う相関転送手段をさらに備えた
    ことを特徴とする請求項1記載の時分割多重処理可能なリコンフィギュラブル回路。
  6. 前記相関転送手段は、転送元の前記処理手段の出力を入力とし、所望の転送先に出力が接続されたセレクタを含む
    ことを特徴とする請求項5記載の時分割多重処理可能なリコンフィギュラブル回路。
  7. 前記シリアル/パラレル変換手段の出力を前記パラレル/シリアル変換手段の入力に接続することを可能とするために、前記シリアル/パラレル変換手段の出力のタイミング調整を行う手段をさらに備えた
    ことを特徴とする請求項4記載の時分割多重処理可能なリコンフィギュラブル回路。
  8. 各プロセッサ要素における前記第2の処理手段にコンフィギュレーションを1つずつずらして設定するために遅延手段を備えた
    ことを特徴とする請求項1記載の時分割多重処理可能なリコンフィギュラブル回路。
  9. 請求項1乃至8の何れか一項に記載の第1のリコンフィギュラブル回路と、
    前記第1のリコンフィギュラブル回路との間にコンフィギュレーション切替周期のズレがある請求項1乃至8の何れか一項に記載の第2のリコンフィギュラブル回路と、
    前記第1のリコンフィギュラブル回路の前記ネットワークと、前記第2のリコンフィギュラブル回路の前記ネットワークとの間に挿入され、前記コンフィギュレーション切替周期のズレを調整する遅延手段とを備えた
    ことを特徴とする時分割多重処理可能なリコンフィギュラブル回路。
  10. 前記所定数の入力を前記ネットワークに前記内部クロックに同期して送り込むパラレル/シリアル変換手段をさらに備え、
    前記転送先がパラレル/シリアル変換手段の入力端子の1つである
    ことを特徴とする請求項6記載の時分割多重処理可能なリコンフィギュラブル回路。
JP2004195042A 2004-06-30 2004-06-30 時分割多重処理可能なリコンフィギュラブル回路 Expired - Fee Related JP4546775B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2004195042A JP4546775B2 (ja) 2004-06-30 2004-06-30 時分割多重処理可能なリコンフィギュラブル回路
US11/053,269 US8055880B2 (en) 2004-06-30 2005-02-09 Reconfigurable circuit having a pipeline structure for carrying out time division multiple processing

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004195042A JP4546775B2 (ja) 2004-06-30 2004-06-30 時分割多重処理可能なリコンフィギュラブル回路

Publications (2)

Publication Number Publication Date
JP2006018539A JP2006018539A (ja) 2006-01-19
JP4546775B2 true JP4546775B2 (ja) 2010-09-15

Family

ID=35515391

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004195042A Expired - Fee Related JP4546775B2 (ja) 2004-06-30 2004-06-30 時分割多重処理可能なリコンフィギュラブル回路

Country Status (2)

Country Link
US (1) US8055880B2 (ja)
JP (1) JP4546775B2 (ja)

Families Citing this family (57)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100545827C (zh) * 2004-07-30 2009-09-30 富士通株式会社 可重配置电路及可重配置电路的控制方法
JP4388005B2 (ja) * 2005-10-06 2009-12-24 パナソニック株式会社 コンテキスト切替え装置
JP4861030B2 (ja) * 2006-03-24 2012-01-25 株式会社東芝 半導体装置
JP4997821B2 (ja) * 2006-05-10 2012-08-08 富士ゼロックス株式会社 データ処理装置及びそのプログラム
JP4735408B2 (ja) * 2006-05-11 2011-07-27 富士ゼロックス株式会社 画像処理装置及びそのプログラム
JP2008042546A (ja) * 2006-08-07 2008-02-21 Nec Computertechno Ltd 論理動作回路、論理切換方法及び電子機器
JP4866194B2 (ja) 2006-09-29 2012-02-01 富士通セミコンダクター株式会社 集積回路及びリコンフィギュラブル回路の入力データ制御方法
AU2009209933B2 (en) * 2008-01-31 2012-01-19 Tokyo Keiki Inc. Reconfigurable device
JP5444627B2 (ja) 2008-03-27 2014-03-19 富士通株式会社 シリアルデータ処理回路
JP5599987B2 (ja) 2009-06-12 2014-10-01 スパンション エルエルシー 多重化用補助peおよび半導体集積回路
US9323994B2 (en) 2009-12-15 2016-04-26 Micron Technology, Inc. Multi-level hierarchical routing matrices for pattern-recognition processors
JP5589479B2 (ja) * 2010-03-25 2014-09-17 富士ゼロックス株式会社 データ処理装置
JP5533330B2 (ja) * 2010-06-23 2014-06-25 富士ゼロックス株式会社 データ処理装置
US8789065B2 (en) 2012-06-08 2014-07-22 Throughputer, Inc. System and method for input data load adaptive parallel processing
KR101731929B1 (ko) * 2011-02-08 2017-05-02 삼성전자주식회사 재구성 가능 프로세서 및 구동 제어 방법
US9448847B2 (en) 2011-07-15 2016-09-20 Throughputer, Inc. Concurrent program execution optimization
US10157060B2 (en) 2011-12-29 2018-12-18 Intel Corporation Method, device and system for control signaling in a data path module of a data stream processing engine
JP5051327B1 (ja) * 2012-03-22 2012-10-17 富士ゼロックス株式会社 画像処理装置及びプログラム
US9430239B2 (en) * 2013-03-12 2016-08-30 Qualcomm Incorporated Configurable multicore network processor
US10331583B2 (en) 2013-09-26 2019-06-25 Intel Corporation Executing distributed memory operations using processing elements connected by distributed channels
GB2527367B (en) * 2014-06-20 2017-01-18 Imagination Tech Ltd Replicating logic blocks to enable increased throughput
JP6259361B2 (ja) * 2014-06-23 2018-01-10 日本電信電話株式会社 プログラマブルデバイスおよびその制御方法
US10402168B2 (en) 2016-10-01 2019-09-03 Intel Corporation Low energy consumption mantissa multiplication for floating point multiply-add operations
US10558575B2 (en) 2016-12-30 2020-02-11 Intel Corporation Processors, methods, and systems with a configurable spatial accelerator
US10416999B2 (en) 2016-12-30 2019-09-17 Intel Corporation Processors, methods, and systems with a configurable spatial accelerator
US10572376B2 (en) 2016-12-30 2020-02-25 Intel Corporation Memory ordering in acceleration hardware
US10474375B2 (en) 2016-12-30 2019-11-12 Intel Corporation Runtime address disambiguation in acceleration hardware
US10445451B2 (en) 2017-07-01 2019-10-15 Intel Corporation Processors, methods, and systems for a configurable spatial accelerator with performance, correctness, and power reduction features
US10469397B2 (en) 2017-07-01 2019-11-05 Intel Corporation Processors and methods with configurable network-based dataflow operator circuits
US10515049B1 (en) 2017-07-01 2019-12-24 Intel Corporation Memory circuits and methods for distributed memory hazard detection and error recovery
US10467183B2 (en) * 2017-07-01 2019-11-05 Intel Corporation Processors and methods for pipelined runtime services in a spatial array
US10515046B2 (en) 2017-07-01 2019-12-24 Intel Corporation Processors, methods, and systems with a configurable spatial accelerator
US10387319B2 (en) 2017-07-01 2019-08-20 Intel Corporation Processors, methods, and systems for a configurable spatial accelerator with memory system performance, power reduction, and atomics support features
US10445234B2 (en) 2017-07-01 2019-10-15 Intel Corporation Processors, methods, and systems for a configurable spatial accelerator with transactional and replay features
US10496574B2 (en) 2017-09-28 2019-12-03 Intel Corporation Processors, methods, and systems for a memory fence in a configurable spatial accelerator
US11086816B2 (en) 2017-09-28 2021-08-10 Intel Corporation Processors, methods, and systems for debugging a configurable spatial accelerator
US10445098B2 (en) 2017-09-30 2019-10-15 Intel Corporation Processors and methods for privileged configuration in a spatial array
US10380063B2 (en) 2017-09-30 2019-08-13 Intel Corporation Processors, methods, and systems with a configurable spatial accelerator having a sequencer dataflow operator
US10565134B2 (en) 2017-12-30 2020-02-18 Intel Corporation Apparatus, methods, and systems for multicast in a configurable spatial accelerator
US10445250B2 (en) 2017-12-30 2019-10-15 Intel Corporation Apparatus, methods, and systems with a configurable spatial accelerator
US10417175B2 (en) 2017-12-30 2019-09-17 Intel Corporation Apparatus, methods, and systems for memory consistency in a configurable spatial accelerator
US10564980B2 (en) 2018-04-03 2020-02-18 Intel Corporation Apparatus, methods, and systems for conditional queues in a configurable spatial accelerator
US11307873B2 (en) 2018-04-03 2022-04-19 Intel Corporation Apparatus, methods, and systems for unstructured data flow in a configurable spatial accelerator with predicate propagation and merging
US10459866B1 (en) 2018-06-30 2019-10-29 Intel Corporation Apparatuses, methods, and systems for integrated control and data processing in a configurable spatial accelerator
US11200186B2 (en) 2018-06-30 2021-12-14 Intel Corporation Apparatuses, methods, and systems for operations in a configurable spatial accelerator
US10853073B2 (en) 2018-06-30 2020-12-01 Intel Corporation Apparatuses, methods, and systems for conditional operations in a configurable spatial accelerator
US10891240B2 (en) 2018-06-30 2021-01-12 Intel Corporation Apparatus, methods, and systems for low latency communication in a configurable spatial accelerator
US10678724B1 (en) 2018-12-29 2020-06-09 Intel Corporation Apparatuses, methods, and systems for in-network storage in a configurable spatial accelerator
US10915471B2 (en) 2019-03-30 2021-02-09 Intel Corporation Apparatuses, methods, and systems for memory interface circuit allocation in a configurable spatial accelerator
US10817291B2 (en) 2019-03-30 2020-10-27 Intel Corporation Apparatuses, methods, and systems for swizzle operations in a configurable spatial accelerator
US10965536B2 (en) 2019-03-30 2021-03-30 Intel Corporation Methods and apparatus to insert buffers in a dataflow graph
US11029927B2 (en) 2019-03-30 2021-06-08 Intel Corporation Methods and apparatus to detect and annotate backedges in a dataflow graph
US11037050B2 (en) 2019-06-29 2021-06-15 Intel Corporation Apparatuses, methods, and systems for memory interface circuit arbitration in a configurable spatial accelerator
US11907713B2 (en) 2019-12-28 2024-02-20 Intel Corporation Apparatuses, methods, and systems for fused operations using sign modification in a processing element of a configurable spatial accelerator
CN114731157A (zh) * 2020-01-14 2022-07-08 Yoda-S株式会社 运算装置
CN112445538B (zh) * 2020-12-15 2021-11-30 清华大学 可重构处理器的配置加载系统及方法
WO2023235004A1 (en) * 2022-06-02 2023-12-07 Micron Technology, Inc. Time-division multiplexed simd function unit

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11259436A (ja) * 1998-03-10 1999-09-24 Toppan Printing Co Ltd データ並列処理方法
WO2002095946A1 (fr) * 2001-05-24 2002-11-28 Ip Flex Inc. Dispositif a circuit integre
JP2004118713A (ja) * 2002-09-27 2004-04-15 Sony Corp 画像処理装置
JP2004145838A (ja) * 2002-10-25 2004-05-20 Sony Corp 画像処理装置

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4893233A (en) * 1988-04-18 1990-01-09 Motorola, Inc. Method and apparatus for dynamically controlling each stage of a multi-stage pipelined data unit
US5426378A (en) * 1994-04-20 1995-06-20 Xilinx, Inc. Programmable logic device which stores more than one configuration and means for switching configurations
US5760602A (en) * 1996-01-17 1998-06-02 Hewlett-Packard Company Time multiplexing a plurality of configuration settings of a programmable switch element in a FPGA
US5805875A (en) * 1996-09-13 1998-09-08 International Computer Science Institute Vector processing system with multi-operation, run-time configurable pipelines
US6028463A (en) * 1997-10-15 2000-02-22 Lucent Technologies Inc. Programmable clock manager for a programmable logic device that can generate at least two different output clocks
JP2000311156A (ja) 1999-04-27 2000-11-07 Mitsubishi Electric Corp 再構成可能並列計算機
US6462743B1 (en) * 1999-12-21 2002-10-08 Ati International Srl Pipeline processing system and method
US7263602B2 (en) * 2002-08-16 2007-08-28 Carnegie Mellon University Programmable pipeline fabric utilizing partially global configuration buses
US7383426B2 (en) * 2003-06-11 2008-06-03 University Of Washington Processor employing loadable configuration parameters to reduce or eliminate setup and pipeline delays in a pipeline system
JP2005165961A (ja) * 2003-12-05 2005-06-23 Matsushita Electric Ind Co Ltd 動的再構成論理回路装置、割込制御方法、及び、半導体集積回路

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11259436A (ja) * 1998-03-10 1999-09-24 Toppan Printing Co Ltd データ並列処理方法
WO2002095946A1 (fr) * 2001-05-24 2002-11-28 Ip Flex Inc. Dispositif a circuit integre
JP2004118713A (ja) * 2002-09-27 2004-04-15 Sony Corp 画像処理装置
JP2004145838A (ja) * 2002-10-25 2004-05-20 Sony Corp 画像処理装置

Also Published As

Publication number Publication date
US8055880B2 (en) 2011-11-08
US20060004992A1 (en) 2006-01-05
JP2006018539A (ja) 2006-01-19

Similar Documents

Publication Publication Date Title
JP4546775B2 (ja) 時分割多重処理可能なリコンフィギュラブル回路
US10027433B2 (en) Multiple clock domains in NoC
JP3989932B2 (ja) マスタ−スレーブ分散通信システムにおけるローカル同期の方法および機構
US10355851B2 (en) Methods and systems for synchronization between multiple clock domains
JP2001312481A (ja) アレイ型プロセッサ
TWI787542B (zh) 電子系統及用於切換資料之方法
EP0271492A1 (en) A data processing device
US11507129B2 (en) Method and device for clock generation and synchronization for time interleaved networks
US11327717B2 (en) Look-up table with input offsetting
US5287358A (en) ATM switch circuit configuration system
US5369635A (en) High bit rate cell switching element in CMOS technology
US20010054124A1 (en) Parallel processor system
JPH10224231A (ja) シリアルーパラレル変換回路
CN113722266B (zh) 一种桥接器、加速设备互连系统及数据加速处理方法
US6678783B2 (en) Inter-device coupler
US8204084B2 (en) Individual bit timeslot granular, input status adaptive multiplexing
JP2010039625A (ja) 並列演算装置
CN1129279C (zh) 可变码速的复用分路器及复用分路方法
JP2008160522A (ja) 多段スイッチの制御回路
US11940940B2 (en) External exchange connectivity
Weichslgartner et al. Position paper: Towards hardware-assisted decentralized mapping of applications for heterogeneous NoC architectures
Yang et al. Adaptive wormhole routing in k-ary n-cubes
JP2972732B1 (ja) Atmセル分離回路と分離方法
EP3973465A1 (en) Communication in a computer having multiple processors
JPS63252095A (ja) 環状通話路

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070420

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090323

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090407

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090608

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100427

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100610

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

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

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

Free format text: PAYMENT UNTIL: 20130709

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4546775

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees