JP4804829B2 - 回路 - Google Patents

回路 Download PDF

Info

Publication number
JP4804829B2
JP4804829B2 JP2005243111A JP2005243111A JP4804829B2 JP 4804829 B2 JP4804829 B2 JP 4804829B2 JP 2005243111 A JP2005243111 A JP 2005243111A JP 2005243111 A JP2005243111 A JP 2005243111A JP 4804829 B2 JP4804829 B2 JP 4804829B2
Authority
JP
Japan
Prior art keywords
network
group
arithmetic elements
terminals
arithmetic
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
JP2005243111A
Other languages
English (en)
Other versions
JP2007058571A (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 JP2005243111A priority Critical patent/JP4804829B2/ja
Priority to EP20060251789 priority patent/EP1758322B1/en
Priority to US11/395,125 priority patent/US7391234B2/en
Publication of JP2007058571A publication Critical patent/JP2007058571A/ja
Application granted granted Critical
Publication of JP4804829B2 publication Critical patent/JP4804829B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/15Interconnection of switching modules
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/10Packet switching elements characterised by the switching fabric construction
    • H04L49/101Packet switching elements characterised by the switching fabric construction using crossbar or matrix
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/15Interconnection of switching modules
    • H04L49/1515Non-blocking multistage, e.g. Clos
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/55Prevention, detection or correction of errors
    • H04L49/557Error correction, e.g. fault recovery or fault tolerance

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Multi Processors (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Description

本発明は、演算素子間を接続するネットワーク技術に関する。
粗粒度リコンフィギュラブル回路は、様々な機能を備えた複数のプロセッシングエレメント(PE)とPE間を接続する内部接続ネットワークで構成され、内部接続ネットワークの経路を設定する接続情報を変更することにより任意のPE間におけるデータ転送を実現する。ここで、粗粒度とは、ワード単位での演算を基本命令としたプロセッシングエレメント間で構成したリコンフィギュラブル回路をいう。
ネットワークとしては、任意のデータ経路を設定でき、使用する回路数が少なく、かつ経路の回路段数が少ないネットワークが理想であり、様々なネットワークが提案されている。任意に選択された入力元からいずれの出力先に対しても経路が存在するネットワークは、(1)ある経路を設定した場合にそれが他の経路の邪魔をする、すなわち、他の経路による他の入力元と出力先との接続を阻害する閉塞ネットワークと、(2)ある経路を設定した場合にそれが他の経路の邪魔にならない、すなわち、他の経路による接続を阻害しない非閉塞ネットワークに分類できる。リコンフィギュラブル回路では、複数のエレメントから同時に信号が出力されるため、データ転送の点からは非閉塞ネットワークが理想である。
しかしながら、非閉塞ネットワークでは、多くの配線が必要となり回路が大規模となる。例えば、n入力n出力のネットワークに対し、クロスバースイッチネットワークではnのスイッチが必要となる。
図1に非閉塞ネットワークの1つである、3段のClosネットワークの例を示す。図1に示す3段のClosネットワークでは、3n1.5のスイッチが必要となる。図1において、8入力8出力のクロスバースイッチブロックが、1段当たり8個組合せを構成し、そのような組合せが3段設けられている。
この場合、入力の数n=64、出力の数n=64であり、n0.5=8となる。1個のク
ロスバースイッチブロックのスイッチ数は、8×8=n0.5×n0.5 であり、このよう
なクロスバースイッチブロックが3段×8個=3×n0.5個設けられている。したがって
、図1を一般化すれば、スイッチの数は、3n1.5となる。
一般に、閉塞ネットワークでは、回路を小型化することができ、代表的なオメガ網やベースライン網などでは2n・log(n)の回路規模で実現できるが、1つの経路の設定によりブロッキングされる経路があるため、同時に実現できない経路がでてくる。
特公平7−71353号公報 特許第2786246号公報
粗粒度リコンフィギュラブル回路は、小型化が重要な課題であり、面積の点においては閉塞ネットワークが望ましい。しかしながら、閉塞ネットワークを適用する場合には、粗粒度リコンフィギュラブル回路では、接続されるプロセッシングエレメントの種類が異なるため、プロセッシングエレメントの組合せによっては1つの構造では実現できない処理がでてくる。このような実現できない処理が発生することをブロッキング特性と呼ぶ。
例えば、基本閉塞網の1つである8入力8出力の間接バイナリ3キューブネットワーク(indirect binary 3−cube network、以下IB3C網)を考える(図2参照)。
図2のネットワークは、2つのブロッキング特性がある。ここで、ネットワークを構成する各クロスバースイッチブロックは、図3(A)〜(D)のような3種類の接続(ストレート、交差、分岐)を設定することができる。
第1のブロッキング特性として、図2の回路の第3段目(図2で最上部のクロスバースイッチブロックの行)を構成する各クロスバースイッチブロックに着目する。第3段目のそれぞれのクロスバースイッチブロックの2つの出力端子(図2におけるZとZ、ZとZ、ZとZ、およびZとZのそれぞれの組)は、そのクロスバースイッチブロックの入力端子の1つから遡ってつながっているネットワーク入力端子の組(図2におけるX〜Xの組またはX〜Xの組)の中の異なる2つのネットワーク入力端子に同時に接続することはできない(図4(A)参照)。すなわち、図4(A)において、×印でマークされる入力端子がつながっている入力端子X〜Xに対して、出力端子Z7,Z8を同時に接続することはできない。
第2のブロッキング特性として、第1段目(図2で最下部のクロスバースイッチブロックの行)を構成する各クロスバースイッチブロックに着目する。第1段目のそれぞれクロスバースイッチブロックの1つ出力端子から到達可能な第3段目の出力端子の組(図2におけるZ〜Zの組またはZ〜Zの組)は、その第1段目のクロスバースイッチブロックの異なる2つ入力端子(図2におけるXとX、XとX、XとX、およびXとXのそれぞれの組)に同時に接続することはできない(図4(B))。すなわち、図4(B)において、×印でマークされる出力端子につながっている第3段目の出力端子の組Z〜Zに対して、入力端子X1、X2を同時に接続することはできない。
そのため、2つの乗算器、2つの加算器、2つのレジスタ、2つの外部入力からなるリコンフィギュラブル回路(図5参照)の内部ネットワークに図2のIB3C網を適用して図4のような回路構造にしたとすると、図6のようなアプリケーションの実装しようとしたときに、外部入力2から乗算器への経路と、乗算器から加算器までの経路の2箇所において経路がブロッキングされてしまい、実装することができない(図7参照)。
本発明は、閉塞ネットワークを利用したリコンフィギュアラブル回路において、ブロッキング特性が極力少ない回路構成を提案する。本発明の目的は、そのような回路により極力多くのアプリケーションの実装を可能にすることにある。
本発明は前記課題を解決するために、以下の手段を採用した。すなわち、本発明は、入力されるデジタルデータに対して数値演算または論理演算を実行し、数値演算または論理演算の出力信号を出力する、そのような1以上の演算素子と、前記演算素子の入力側に接続されるネットワーク出力端子と、前記演算素子の出力信号または前記演算素子の出力信号以外の外部信号が入力されるネットワーク入力端子と、前記ネットワーク入力端子をネットワーク出力端子に接続するネットワーク部と備え、前記ネットワーク部は、第1のネ
ットワーク入力端子を第1のネットワーク出力端子に接続したときに、第2のネットワーク入力端子をいずれかの第2のネットワーク出力端子にさらに接続することができない、そのようなネットワーク入力端子とネットワーク出力端子との組合せに対する制約が存在する閉塞ネットワーク網を構成し、前記ネットワーク出力端子のうちの2つのネットワーク出力端子が同時に接続することができないネットワーク入力端子の組に含まれるネットワーク入力端子数として定義される制約強度について、同一の演算素子に入力される複数の出力端子間の制約強度が最小となるように、前記演算素子とネットワーク出力端子とを接続した回路である。
前記回路は、さらに、前記演算素子のうち、互換性のある複数の演算素子に接続されるネットワーク出力端子間の制約強度が最小となるように、前記演算素子とネットワーク出力端子とを接続してもよい。
本発明によれば、閉塞ネットワークを利用した回路において、従来よりも多くのアプリケーションを実装することができる。
以下、図面を参照して本発明を実施するための最良の形態(以下、実施形態という)に係るリコンフィギュラブル回路について説明する。以下の実施形態の構成は例示であり、本発明は実施形態の構成に限定されない。
《発明の骨子》
本リコンフィギュラブル回路は、プロセッシングエレメント(本発明の演算素子に相当)として互換性のない複数種類のプロセッシングエレメントを接続したネットワークを想定する。そこで、本実施形態では、プロセッシングエレメントの入力の論理的互換性、およびプロセッシングエレメント間の論理的互換性を考慮して、基本閉塞ネットワーク網で接続することにより、一度に搭載できるアプリケーションの対象を拡大する回路構造を提案する。ここで、基本閉塞ネットワーク網は、ベースライン網や3キューブネットワーク
網といった3段のn×mのクロスバースイッチングブロック(以下、単にスイッチブロッ
クともいう)で構成したネットワークを想定する。
本リコンフィギュラブル回路は、2つの端子間における制約の強さを距離として表現すると、以下の2つの評価基準を達成するようにプロセッシングエレメントを接続する。
(評価基準1)各プロセッシングエレメントの入力端子間における距離が最小になるように接続する。なお、本実施形態では、各プロセッシングエレメントの入力端子間の代わりにその入力端子が接続されるネットワーク側の出力端子を用いて計算する場合がある。その場合に、上記評価基準1は、「各プロセッシングエレメントの入力端子に接続されるネットワーク側出力端子間における距離が最小になるように接続する。」と言い換えることができる。すなわち、本実施形態では、各プロセッシングエレメントの入力端子とその入力端子に接続されるネットワーク側の出力端子とは、等価なものとして取り扱う。
(評価基準2)互換性のあるプロセッシングエレメントの入力端子間の距離が最小になるように接続する。この評価基準2は、「互換性のあるプロセッシングエレメントの入力端子に接続されるネットワーク側出力端子間の距離が最小になるように接続する」と言い換えることができる。
ここで、2つの最終段スイッチブロックの出力端子(または、その出力端子に接続されるプロセッシングエレメントの入力端子)TiおよびTjの制約の強さを表す距離LT(i,j)を以下のように定義する。距離LT(i,j)が、本発明の制約強度に相当する。
LT(i,j)=TiおよびTjが同時に接続することができないネットワークの入力端
子数;
またプロセッシングエレメントPkおよびPlの間の距離L(k,l)を以下のように定義する。
(k,l)=ΣLT(i,j);
Tiの接続先∈Pk,Tjの接続先∈Pl
これらの定義により、先ほどの評価基準1、2を表すと、以下の2つの関数がそれぞれ最小となるように接続することになる。優先度は、上から順に高いとする。
F1()=Σ( ΣLT(i, j) );
kはすべての演算素子 Ti,Tjの接続先∈Pk
F2()=Σ( ΣLP(k, l) );
すべての演算素子の種類 Pk,Plは同一種類の演算素子
《第1実施例》
実施例として、図2の8入力8出力の間接バイナリ3キューブネットワークを例にとる。このネットワークでは、端子間の距離は以下のようになる。
LT(i,j)=4;(TiおよびTjが図2の第3段目の同じクロスバースイッチブロッ
クの出力端子である場合)
LT(i,j)=2;(TiおよびTjが図2の第1段目のいずれかの1つのクロスバース
イッチブロックの1つの出力端子から到達可能な第3段目のクロスバースイッチブロックの出力端子である場合);
LT(i,j)=0;(上記以外の場合)
このような基本閉塞ネットワークを使用して、加算器2個(2入力1出力)、乗算器2個(2入力1出力)、外部入力2つ、レジスタ2つを接続する場合を考える。
今、図2において、Z1からZ4の出力端子グループをG1、Z5からZ8の出力端子グループをG2とする。評価基準1にしたがって、関数F1が最小となるためには、加算器および乗算器のそれぞれの入力端子は別々のグループになるのがよい。
なぜなら、図4(B)に示したように、例えば、1つの加算器の2つの入力端子Ti,TjがそれぞれG1、G2に割り当てられた場合には、これら2つの入力端子間の距離は、0となる。同様に、1つの乗算器の2つの入力端子Ti,TjがそれぞれG1、G2に割り当てられた場合には、これら2つの入力端子間の距離は、0となる。
したがって、この例では、G1に4つの入力端子(4つのプロセッシングエレメントの入力端子Ti,Tjのいずれか一方)、G2に4つの入力端子(4つのプロセッシングエレメントの入力端子Ti,Tjの残りの他方)が割り当てられる。この場合、F1( )は0である。
次に、さらに、出力端子を分類し、Z1とZ2をg1、 Z3とZ4をg2、Z5とZ6をg3、Z7とZ8をg4の各グループとする(図4(A)参照)。
2入力1出力のプロセッシングエレメントの入力端子(Ti,Tj)が接続されるグループの組合せのうち、同一プロセッシングエレメントの入力端子の距離が最小となる組み合わせは、(g1,g3), (g1,g4), (g2,g3), (g2,g4)となる。
この場合において、上記評価基準2にしたがって2入力1出力のプロセッシングエレメントの入力端子の割り当てを進める。今、2つのプロセッシングエレメントが上記いずれかの組合せで接続しているとすると、そのプロセッシングエレメント間の距離は、図8のようになる。図8において、例えば、PE1は、1つ目の加算器であり、PE2は、2つ目の加算器である。あるいは、PE1は、1つの乗算器であり、PE2は、2つ目の乗算器である。
したがって、加算器2個(および乗算器2個)の入力を(g1,g3)と(g2,g4)にするか、または(g1,g4)と(g2,g3)にすると、2つの加算器の入力端子間の距離の和は、4となり、2つの乗算器の入力端子間の距離の和は、4となる。
次に、このような手順によって設定されるネットワークが実装可能なアプリケーションの割合(以下、実装率という)を求めてみる。ここでは、乗算器2個、加算器2個が接続される出力に対して、8つの出力信号を割り当てる場合の実装率を求める。
なお、図2のネットワークにおいて、各入力端子(X1〜X8)に入ってくる信号が、いずれかのプロセッシングエレメントの入力端子に入力するとして、その組合せ数は8=16777216通りである。
図9に、本実施形態によるネットワークの構成例を示す。また、図10に、端子間の依存を考慮しない、すなわち、上記(評価基準1)(評価基準2)を考慮しないネットワークの接続例を示す。
図9に示したように、各入力端子に000〜111の3ビットの識別情報を割り当てる。また、各出力端子に000〜111の3ビットの識別情報を割り当てる。
ここで、入力端子番号、出力端子番号、ネットワークパターンを以下のように定義する。
Ak(k=0〜7):3ビットで表現される入力端子の番号であり、図9の000〜111である。
Bk(k=0〜7):3ビットで表現される出力端子の番号であり、図9の000〜111である。
Pk(k=0〜7):24ビットで表されるネットワークパターンの数値表現である。Pkの3kビット目から3k+2ビット目までの3ビットp3k+2p3k+1p3kはBkの出力端子に接続す
る入力端子の番号を示す。ここで、kは3ビットごとのビット位置を示す番号である。
このような出力端子と入力端子の定義に対して、2つの乗算器と2つの加算器を出力端子に接続する回路の実装率を算出する計算プログラムの処理を説明する。このプログラムは、CPU、メモリ、表示手段(ディスプレイ)、および入力手段(キーボード、マウス等)等を備えた一般的なコンピュータで実行可能である。
図11に計算プログラムのフローチャートを示す。
まず、コンピュータは、未実装ネットワークパターン数を示すC0と実装可能なネットワークパターン数を示すC1を0に初期化する(S1)。
次に、コンピュータは、16777216(=224)通りのネットワークパターンから順次1つ
を選んで(S2)、実装の可能性を検証する(S3)。まず、P0=00000000(8)(添え字の(8)は8進数であることを示す)を選択したとする。これは、すべての出力端子に0(8)=000(2)の番号の入力端子を接続するパターンである。実装性の検証は以下の2つの閉塞規則
にしたがってチェックする。
(閉塞規則1)Bkに接続する入力端子p3k+2p3k+1p3kと、Bk+1に接続する入力端子p3k+5p3k+4p3k+3とについて、上位1ビット(p3k+2とp3k+5)が同じで、かつ下位2ビット(p3k+1p3kとp3k+4p3k+3)が異なる場合には実装できない。
この規則は、図4(A)に示す第1のブロッキング特性「第3段目のそれぞれのスイッ
チブロックの2つの出力端子(図2におけるZとZ、ZとZ、ZとZ、およびZとZのそれぞれの組)は、そのスイッチブロックの入力端子の1つにつながっているネットワーク入力端子の組(図2におけるX〜Xの組またはX〜Xの組)の中の異なる2つのネットワーク入力端子に同時に接続することはできない」を出力端子Bkに接続されるビットパターンで表現したものである。
(閉塞規則2)Bk、Bk+1、Bk+2およびBk+3に接続する入力端子であるp3k+2p3k+1p3k、p3k+5p3k+4p3k+3、p3k+8p3k+7p3k+6およびp3k+11p3k+10p3k+9において、上位2ビットが
同じで、かつ下位1ビット異なるものが存在する場合には実装できない。
この規則は、図4(B)に示す第2のブロッキング特性「第1段目のそれぞれスイッチブロックの1つ出力端子に接続されている第3段目の出力端子の組(図2におけるZ〜Zの組またはZ〜Zの組)は、その第1段目のスイッチブロックの異なる2つ入力端子(図2におけるXとX、XとX、XとX、およびXとXのそれぞれの組)に同時に接続することはできない」を出力端子Bk、Bk+1、Bk+2およびBk+3に接続
されるビットパターンで表現したものである。
この検証によって、上記閉塞規則1および閉塞規則2のいずれにも該当しない場合、コンピュータは、実装可と判定する。そこで、コンピュータは、実装可能なネットワークパターン数を示すC1をインクリメントする(S7)。
一方、上記閉塞規則1および閉塞規則2のいずれかに該当する場合、コンピュータは、同一プロセッシングエレメントの互換性のある入力端子への接続の入れ替えを実施し(S4)、再度上記閉塞規則1および閉塞規則2による検証を再度実行する(S3)。これは、同一プロセッシングエレメントの入力端子へのネットワーク側出力端子の入れ替えによって、ブロッキング特性を解消し、実装できなかったアプリケーションが実装できるようになる場合もあるからである。このようにして、アプリケーションの実装が可能と判定された場合、コンピュータは、S7に処理を進める。
一方、このようにしてすべての入れ替え可能な組合せに対して検証が修了すると、コンピュータは、同一プロセッシングエレメントの入力端子へのネットワーク側出力端子の入れ替えによっては、アプリケーションの実装ができないと判定する。そして、コンピュータは、処理をS5に進める。
そして、同一のタイプの他のプロセッシングエレメント(例えば、加算器1と加算器2、乗算器1と乗算器2等)との間で接続の入れ替えを実施し(S5)、再度上記閉塞規則1および閉塞規則2による検証を再度実行する(S3)。これは、同一のタイプのプロセッシングエレメントの入力端子へのネットワーク側出力端子の入れ替えによって、ブロッキング特性を解消し、実装できなかったアプリケーションが実装できるようになる場合もあるからである。このようにして、アプリケーションの実装が可能と判定された場合、コンピュータは、S7に処理を進める。
一方、このようにしてすべての入れ替え可能な組合せに対して検証が修了すると、コンピュータは、同一種類のプロセッシングエレメントの入力端子へのネットワーク側出力端子の入れ替えによっては、アプリケーションの実装ができないと判定する。そして、コンピュータは、処理をS6に進める。コンピュータは、未実装ネットワークパターン数を示すC0をインクリメントする(S6)。
例えば、P0=00000000(8)のパターンは上記2つの規則に当てはまる組合せはないため実装可能となる。それに対し、P4196672=10004500(8)ではBとB5とへの接続入力端子は4=1
00(2)と5=101(2)であり、閉塞規則1に該当するため実装できない。しかしながら、図9
では、B0とB4は乗算器1の入力端子であるため、交換可能である。そこで、フローチャートの「同一プロセッシングエレメントの互換性のある入力端子への接続の入れ替え」を実施し、再度実装性について検証すると、実装可能であることが判明する。なぜなら、B0へ接続される入力端子は1=001(2)であり、B5への接続入力端子5=101(2)とは、閉塞規則1に該当しないからである。これによりP4196672=10004500(8)と互換性のある回路の実装が可能であることがわかる。
このようにしてすべてのパターンについて検証後、コンピュータは、実装可能なパターン数を全ネットワークパターン数(8=16777216)で除算する(S8)。以上の処理により、与えられた演算子による回路の実装率を計算することができる。
図12に、各方式に対して実装率を求めた結果を示す。この数値は、図11の処理を実行するコンピュータプログラムにより求めた値である。図12において、「互換性を未考慮」とは、プロセッシングエレメントの端子間および同一タイプのプロセッシングエレメントの端子間の互換性を一切考慮せずに接続する場合、すなわち図10のネットワークでの実装率である。
また、図12の「PEの入力を交換」とは、図7のように1つのプロセッシングエレメント、例えば、加算器1の2つの入力端子を同一のクロスバースイッチブロックから接続せず、隣接するクロスバースイッチブロックに割り当てた場合である。
また、「提案法に基づく接続」とは、上記評価基準1および評価基準2にしたがって、構成した場合、すなわち図9のネットワークでの実装率である。
図12に示すように、図10のようなプロセッシングエレメントの互換性を考慮しない場合には、8個の入力を乗算器2個および加算器2に接続する間接バイナリ3キューブネットワークによるアプリケーションの実装率は、非閉塞ネットワークによる全接続数16777216通りの12.9パーセントである。また、図7に示すようなプロセッシングエレメントの入力を交換した間接バイナリ3キューブネットワークでは、実装率は、19.9パーセントである。
一方、図9に示すようなプロセッシングエレメントの互換性を考慮し、(評価基準1)および(評価基準2)にしたがって、ネットワークを構成した場合には、実装率は、62.8パーセントに高まる。これは、(評価基準1)および(評価基準2)によって1つのプロセッシングエレメント内および同一種類のプロセッシングエレメント間の制約が少なくなるようにネットワークが構成される結果、図11の実装率算出のフローにおいて同一のプロセッシングエレメントの入力端子間あるいは同一種類のプロセッシングエレメント間の入力端子間で入れ替えにより実装可能な組合せが増加するからである。
《第2実施例》
他の例として4入力4出力のクロスバースイッチを基本ブロックとし、それらを3段接続して構成した64入力64出力の間接3キューブネットワークを例に本発明を適用した例を説明する。図13は、4入力4出力のクロスバースイッチによる64入力64出力の間接3キューブネットワークの例である。
このネットワークでは、3段目の基本ブロックの出力端子は、その基本ブロック1つの入力端子につながる16のネットワーク入力端子(例えば、ライン100につながる基本ブロックMa00〜Ma03の入力端子)の中から1つにしか接続できない。
また、1段目の基本ブロックの1つの出力(例えば、ライン101につながる出力)は
16のネットワーク出力端子(例えば、Ma20〜Ma23の16個の出力端子)につながっているため、これらの16のネットワーク出力端子は、1段目の各基本ブロックの4つの入力端子から1つしか選択することはできない。
すなわち、図13では、3段目のMx20からMx23(xは、a,b,c,dのいずれか)のグループが、1段目の基本ブロックの1つの出力端子から接続しているグループである。また、一段目のMx00からMx03(xは、a,b,c,dのいずれか)のグループが、3段目の基本ブロックの1つの入力端子に接続されている基本ブロックである。これにより、端子間の距離は以下のようになる。
LT(i,j)=16;(TiおよびTjが図13の第3段目のいずれかの基本ブロックの
2つの出力端子である場合)
LT(i,j)=4;(TiおよびTjが図13の第1段目のいずれかの基本ブロックの1
つの出力端子から到達可能な第3段目の基本ブロックの出力端子である場合);
LT(i,j)=0;(上記以外の場合)
今、このネットワークに対してALU(2入力1出力)14個、乗算器(2入力1出力)4個、内部メモリ(2入力1出力)4個、レジスタファイル4個(4入力8出力)、外部出力4、外部入力4をつなげる場合を考える。
Mx20からMx23(xは、a,b,c,d)の出力端子のグループをGxとし、基本ブロック1個であるMx2y(xは、a,b,c,dのいずれか、yは0から3のいずれか)の出力端子のグループをgxyと表す。
まず4入力レジスタファイルについて考える。レジスタファイルの入力端子間の距離が最小になるためには、それぞれの入力端子がグループGaからGdに1個づつ割り当てられればよい。つまり4個のレジスタファイルについてそれぞれの入力端子を(G1,G2,G3,G4)という組に分散して割り当てることになる。
次に2入力プロセッシングエレメント(乗算器、内部メモリ、ALU(加算器))について考える。入力端子を割り当てる組合せは(G1,G2),(G1,G3),(G1,G4),(G2,G3),(G2,G4),(G3,G4)の6つがある。これらの組合せに対する入力端子間の最小距離を図14に示す。
この図は、2入力のプロセッシングエレメントの入力端子を図13のネットワークの出力端子に割り当てる場合の距離を示している。2つの入力端子をグループG1とG2との間、G3とG4の間、G1とG3の間、G2とG4の間、G1とG4の間およびG2とG3に割り当てた場合には、それぞれ距離が0であることを示している。
また、同一種類の2個のプロセッシングエレメントの4つの入力端子がすでに(G1、G2)の組、および(G3、G4)の組に接続されている場合に、さらに、同一種類の2入力のプロセッシングエレメントを1個割り当てる場合を考える。この場合、そのプロセッシングエレメントの2つの入力端子を他のいかなる組合せのグループの組(G1、G3)(G2、G4)(G1、G4)(G2、G3)の組に割り当てたとしても、距離4の制約が発生することを示している。
また、例えば、すでに、プロセッシングエレメントの2つの入力端子が(G1、G2)の組に接続されている場合に、さらに、同一種類のプロセッシングエレメントの2つの入力端子を同一の組(G1、G2)に割り当てた場合には、距離8の制約が発生することを示している。これは、他の組(G3,G4)、(G1,G3),(G1,G4),(G2,G3),(G3,G4)についても同様である。
この図から、互いの端子間の距離が短くなるように、接続するには、(G1,G2)⇒(G3,G4)⇒(G1,G3)⇒(G2,G4)⇒(G1,G4)⇒(G2,G3)⇒(G1, G2)⇒・・・と順番に繰り返し割り当てるのがよい。これにしたがって、乗算器、内部メモリ、ALU(加算器)をそれぞれ割り当てる。
次に各グループG1〜G4に割り当てられた4個のレジスタファイルの入力端子をグループgxyへの割り当てを考える。このとき、各レジスタファイルの入力を異なるgxyに割り当てると、各gxyのうち、同一のグループG1〜G4に属する入力端子は、距離が4であり、このような入力端子が各グループに4つあり、4グループあるので、それぞれのレジスタファイル間の距離は、4×4×4=64で最小となる。
また、乗算器(2入力端子×4個=8入力端子)は、1つのグループGx内に高々2つとなるような割り当てが可能なので、グループgxyを分けることができる。内部メモリ(2入力端子×4個=8入力端子)についても同様である。そのため、同じグループGxに割り当てられたRAMまたは乗算器については、最大距離を4(同一のグループG1〜G4に属するので距離4)とすることができる。
一方、ALU(2入力端子×1個=28入力端子)については、同じグループに平均6個程度(28/4)の端子が割り当てられるため、少なくとも2つの端子は同じgxyに割り当てる必要がある。そこで、ALUについては、1つのgxyに割り当てられる端
子数が1ないし2となるように割り当てればよい。
このようにして、各プロセッシングエレメントの入力端子を図13のネットワークの出力端子にアサインした例を図15に示す。
ここで、R1−1〜R1−4は、レジスタファイルR1の入力端子1〜4を示している。したがって、図15では、G1〜G4の各グループにレジスタファイルR1の入力端子1〜4がそれぞれ配分され、gx0(x=a〜d)に接続されることを示している。Rk−1〜Rk−4(k=2〜4)も同様である。また、ALUk−AおよびALUk−B(k=1〜14)は、14個のALUのそれぞれの2つの入力端子を示している。また、MULk−AおよびMULk−B(k=1〜4)は、4個の乗算器のそれぞれの2つの入力端子を示している。また、RAMk−AおよびRAMk−B(k=1〜4)は、4個の内部メモリのそれぞれの2つの入力端子を示している。さらに、EOk(k=1〜4)は、外部出力である。
このような手順により、4入力4出力のクロスバースイッチを3段接続して構成した64入力64出力の間接3キューブネットワークに対しても、制約を最小限とする構成を実現できる。
すなわち、評価基準1および2は、基本ブロックであるクロスバースイッチブロックの端子数に限定なく適用でき、間接バイナリキューブ以外のネットワークについても、評価基準1および2にしたがってネットワークを構成することで、アプリケーションの実装率を改善できる。
《変形例》
上記第1実施形態および第2実施形態では、いずれも基本ブロックの行を3段組み合わせて構成されるネットワークの3段目の出力端子に異なる種類のプロセッシングエレメントを接続する場合において、アプリケーションの実装率を改善できる構成を説明した。しかし、本発明の実施は、そのような構成には、限定されない。
例えば、プロセッシングエレメントを複数独立のグループに区分し、それぞれのグループ(例えば、第1グループと第2グループ)ごとにネットワークを構成し、それらの複数のグループのネットワークの組合せからなるアプリケーションについても本発明を実施できる。すなわち、個々のグループごとに上記評価基準1および2を適用し、個々のグループの実装率を改善することで、複数グループのネットワークからなるアプリケーションの実装率を改善できる。そのようなネットワークの構成例を図16および図17に示す。
図16は、複数のグループからなるプロセッシングエレメントの各々のグループを並列に接続しネットワーク(第1列のネットワークおよび第2列のネットワーク)を構成している。図16では、第1のグループ〜第2のグループのプロセッシングエレメントが図示されている。
図16では、第1のネットワークは、第1のグループと第2のグループのプロセッシングエレメントを入力とし、第1のグループのプロセッシングエレメントを出力として接続している。また、第2のネットワークは、第1のグループと第2のグループのプロセッシングエレメントを入力とし第2のグループのプロセッシングエレメントを出力として接続している。
このような場合でも、第1のネットワーク、第2のネットワークそれぞれにおいて、評価基準1および評価基準2を満足するように、ネットワークを構成することで、アプリケーションの実装率を向上できる。3以上のネットワークを並列に接続する構成でも構わないし、他のネットワークと並列に接続する構成でも構わない。
図17は、複数のグループからなるプロセッシングエレメントの各々のグループ(第1段目のネットワークおよび第2段目のネットワーク)を直列にネットワークを構成している。図17では、第1のグループ、第2のグループのプロセッシングエレメントが図示されている。
図17では、第1段目のネットワークは、第1のグループのプロセッシングエレメントと第2のグループのプロセッシングエレメントを接続している。また、第2段目のネットワークは、第2のグループのプロセッシングエレメントと第1のグループのプロセッシングエレメントを接続している。この場合、第1段目のネットワーク、第2段目のネットワークそれぞれにおいて、評価基準1および評価基準2を満足するように、ネットワークを構成することで、アプリケーションの実装率を向上できる。
なお、図17のように直列に接続する場合に、第1段目のネットワークと第2段目のネットワークの間に、他のネットワークが介在してもよい。すなわち、第1段目のネットワークが、第1のグループのプロセッシングエレメントと第2のグループのプロセッシングエレメントを接続し、第2段目のネットワークが、第3のグループのプロセッシングエレメントと第1のグループのプロセッシングエレメントを接続し、さらに、第2のグループと第3のグループの間に他のネットワークが存在しても構わない。また、3以上のネットワークを直列に接続する構成でも構わない。
3段のClosネットワークの例 8入力8出力の間接バイナリ3キューブネットワークの例 クロスバースイッチブロックの接続設定例 ブロッキング特性の例 間接バイナリ3キューブネットワークを適用したリコンフィギュラブル回路の例 アプリケーションにおけるブロッキング特性の例 間接バイナリ3キューブネットワークを適用したアプリケーションにおけるブロッキング特性の例 第1実施形態の場合のプロセッシングエレメント間の距離の計算例 プロセッシングエレメント間の互換性を考慮した間接バイナリ3キューブネットワークの例 プロセッシングエレメント間の互換性を考慮しない間接バイナリ3キューブネットワークの例 回路の実装率を算出する計算プログラムの処理を示すフローチャート 実装率算出結果の例 4入力4出力のクロスバースイッチによる64入力64出力の間接3キューブネットワークの例 プロセッシングエレメント間の最低距離を示す図 4入力4出力のクロスバースイッチによる64入力64出力の間接3キューブネットワークにプロセッシングエレメントを割り当てた例 複数のグループからなるプロセッシングエレメントの各々のグループを並列に接続するネットワーク(第1のネットワークおよび第2のネットワーク)の構成例 複数のグループからなるプロセッシングエレメントの各々のグループを直列に接続するネットワークの構成例

Claims (6)

  1. 入力されるデジタルデータに対して数値演算または論理演算を実行し、数値演算または論理演算の出力信号を出力する、複数の演算素子と、
    前記演算素子の入力側に接続されるネットワーク出力端子と、
    前記演算素子の出力信号または前記演算素子の出力信号以外の外部信号が入力されるネットワーク入力端子と、
    前記ネットワーク入力端子をネットワーク出力端子に接続するネットワーク部と備え、
    前記ネットワーク部は、
    第1のネットワーク入力端子を第1のネットワーク出力端子に接続したときに、第2のネットワーク入力端子をいずれかの第2のネットワーク出力端子にさらに接続することができない、そのようなネットワーク入力端子とネットワーク出力端子との組合せに対する制約が存在する閉塞ネットワーク網を構成し、
    前記ネットワーク出力端子間の距離LT(i,j)を以下の式により定義したときに、
    ネットワーク出力端子の2つの組み(Ti、Tj)を前記距離LT(i,j)にしたがって分類したネットワーク出力端子TiのグループGiと、ネットワーク出力端子TjのグループGjとの間で、互いに距離LT(i,j)が最も小さくなるように前記ネットワーク出力端子が分類されており、
    前記演算素子の2つの入力端子をそれぞれ異なるグループGi,Gjに含まれるネットワーク出力端子Ti,Tjに接続し、
    前記グループGiにおいては、ネットワーク出力端子の2つの組み(Ti、Tj)を前記距離LT(i,j)にしたがって分類したネットワーク出力端子Tiのサブグループgiiと、ネットワーク出力端子Tjのサブグループgijとの間で、互いに距離LT(i,j)が最も小さくなるように前記ネットワーク出力端子が分類されており、同一種類の複数の演算素子の入力端子をそれぞれ異なるサブグループgii,gijに含まれるネットワーク出力端子Ti,Tjに接続し、
    前記グループGjにおいては、ネットワーク出力端子の2つの組み(Ti、Tj)を前記距離LT(i,j)にしたがって分類したネットワーク出力端子Tiのサブグループgjiと、ネットワーク出力端子Tjのサブグループgjjとの間で、互いに距離LT(i,j)が最も小さくなるように分類されており、同一種類の複数の演算素子の入力端子をそれぞれ異なるグループgji,gjjに含まれるネットワーク出力端子Ti,Tjに接
    続した回路。
    (式1)
    LT(i,j) = ネットワーク出力端子TiおよびTjが同時に接続することができないネットワーク入力端子数;
  2. さらに、前記演算素子のうち、同一種類の演算を実行する複数の演算素子に接続される出力端子間の制約強度のすべての演算素子の種類についての合計が最小となるように、前記演算素子とネットワーク出力端子とを接続した請求項1に記載の回路。
  3. 前記ネットワーク出力端子が接続される演算素子PkおよびPlの間の制約強度LP(k,l)を以下の(式2)により定義したときに、2つの関数F1()およびF2()がそれぞれ最小となるように前記演算素子とネットワーク出力端子とを接続する請求項2に記載の回路。
    (式2)
    LP(k, l) = ΣLT(i, j);
    Tiの接続先∈Pk,Tjの接続先∈Pl
    F1()=Σ( ΣLT(i, j) );
    kはすべての演算素子 Ti,Tjの接続先∈Pk
    F2()=Σ( ΣLP(k,l) );
    すべての演算素子の種類 Pk、Plは同一種類の演算素子
  4. 前記演算素子は、複数のグループに分離され、異なるグループに属する演算素子間で信号が授受されており、
    前記ネットワーク部は、第1のネットワーク部と第2のネットワーク部とを有し、
    前記第1のネットワーク部は、第1のグループの演算素子ないし第2のグループの演算素子の一部の出力信号を入力し、第1のグループの演算素子に出力信号を出力し、
    前記第2のネットワーク部は、第1のグループの演算素子ないし第2のグループの演算素子の一部の出力信号を入力し、第2のグループの演算素子に出力信号を出力する請求項1から3のいずれかに記載の回路。
  5. 前記第1のネットワーク部は、前記第1のグループの演算素子と第2のグループの演算素子の出力端子と、前記第1のグループの演算素子の入力端子との間を接続し、
    第2のネットワーク部は、前記第1のグループの演算素子と第2のグループの演算素子の出力端子と、前記第2のグループの演算素子の入力端子との間を接続する請求項4に記載の回路。
  6. 前記第1のネットワーク部と第2のネットワーク部とは、互いに直列に前記第1のグループの演算素子の出力端子と第2のグループの演算素子の入力端子との間、および前記第2のグループの演算素子の出力端子と第1のグループの演算素子の入力端子との間を接続する請求項4に記載の回路。
JP2005243111A 2005-08-24 2005-08-24 回路 Expired - Fee Related JP4804829B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2005243111A JP4804829B2 (ja) 2005-08-24 2005-08-24 回路
EP20060251789 EP1758322B1 (en) 2005-08-24 2006-03-30 Reconfigurable network of blocking type
US11/395,125 US7391234B2 (en) 2005-08-24 2006-04-03 Circuit and circuit connecting method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005243111A JP4804829B2 (ja) 2005-08-24 2005-08-24 回路

Publications (2)

Publication Number Publication Date
JP2007058571A JP2007058571A (ja) 2007-03-08
JP4804829B2 true JP4804829B2 (ja) 2011-11-02

Family

ID=36593627

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005243111A Expired - Fee Related JP4804829B2 (ja) 2005-08-24 2005-08-24 回路

Country Status (3)

Country Link
US (1) US7391234B2 (ja)
EP (1) EP1758322B1 (ja)
JP (1) JP4804829B2 (ja)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7274215B2 (en) * 2006-01-17 2007-09-25 M2000 Sa. Reconfigurable integrated circuits with scalable architecture including one or more adders
US7768301B2 (en) * 2006-01-17 2010-08-03 Abound Logic, S.A.S. Reconfigurable integrated circuits with scalable architecture including a plurality of special function elements
JP5907607B2 (ja) * 2011-02-16 2016-04-26 キヤノン株式会社 処理配置方法及びプログラム
WO2019089816A2 (en) * 2017-10-31 2019-05-09 Micron Technology, Inc. System having a hybrid threading processor, a hybrid threading fabric having configurable computing elements, and a hybrid interconnection network
EP3776243A1 (en) * 2018-03-31 2021-02-17 Micron Technology, Inc. Backpressure control using a stop signal for a multi-threaded, self-scheduling reconfigurable computing fabric
US10831507B2 (en) 2018-11-21 2020-11-10 SambaNova Systems, Inc. Configuration load of a reconfigurable data processor
US11188497B2 (en) 2018-11-21 2021-11-30 SambaNova Systems, Inc. Configuration unload of a reconfigurable data processor
US10698853B1 (en) 2019-01-03 2020-06-30 SambaNova Systems, Inc. Virtualization of a reconfigurable data processor
US11050680B2 (en) * 2019-05-03 2021-06-29 Raytheon Company Non-blocking switch matrix for multi-beam antenna
US11386038B2 (en) 2019-05-09 2022-07-12 SambaNova Systems, Inc. Control flow barrier and reconfigurable data processor
US11055141B2 (en) 2019-07-08 2021-07-06 SambaNova Systems, Inc. Quiesce reconfigurable data processor
US11487694B1 (en) 2021-12-17 2022-11-01 SambaNova Systems, Inc. Hot-plug events in a pool of reconfigurable data flow resources

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5883943A (ja) * 1981-11-12 1983-05-19 オリンパス光学工業株式会社 超音波送受信装置
JPS5894035A (ja) * 1981-11-30 1983-06-04 Nippon Telegr & Teleph Corp <Ntt> デ−タ処理システム
JPS6024634A (ja) * 1983-07-21 1985-02-07 Matsushita Electric Ind Co Ltd デイジタル信号処理装置
JPH0771353B2 (ja) * 1986-11-25 1995-07-31 日本電信電話株式会社 スイツチング回路網の制御方法
JP2786246B2 (ja) 1989-05-09 1998-08-13 日本電信電話株式会社 自己ルーチング通話路
JPH05189200A (ja) * 1992-07-23 1993-07-30 Matsushita Electric Ind Co Ltd ディジタル信号処理装置
US6745317B1 (en) * 1999-07-30 2004-06-01 Broadcom Corporation Three level direct communication connections between neighboring multiple context processing elements
JP2001184335A (ja) * 1999-12-24 2001-07-06 Kanazawa Inst Of Technology プログラマブル・ディジタル演算icとそのプログラマブル・ディジタル演算icを用いた装置ならびにそのプログラマブル・ディジタル演算icの製造方法
US6754208B2 (en) * 2001-03-19 2004-06-22 Sycamore Networks, Inc. Traffic spreading to reduce blocking in a groomed CLOS communication switch
US20040136717A1 (en) * 2002-09-03 2004-07-15 Xinxiong Zhang Non-blocking tunable filter with flexible bandwidth for reconfigurable optical networks
US20050129043A1 (en) * 2003-10-30 2005-06-16 Venkat Konda Nonblocking and deterministic multicast packet scheduling

Also Published As

Publication number Publication date
US20070046326A1 (en) 2007-03-01
JP2007058571A (ja) 2007-03-08
EP1758322B1 (en) 2013-04-24
US7391234B2 (en) 2008-06-24
EP1758322A1 (en) 2007-02-28

Similar Documents

Publication Publication Date Title
JP4804829B2 (ja) 回路
US5170482A (en) Improved hypercube topology for multiprocessor computer systems
JP3202074B2 (ja) 並列ソート方式
JPH0766718A (ja) プログラム可能論理用ウェファ・スケール構造
US10412025B2 (en) Fast scheduling and optmization of multi-stage hierarchical networks
US5299317A (en) Method and apparatus for simulating an interconnection network
Jahanshahi et al. A new approach to improve reliability of the multistage interconnection networks
Masson Binomial switching networks for concentration and distribution
Chen et al. Fault-tolerant gamma interconnection networks by chaining
CN113114220B (zh) 一种具有重映射功能的芯片系统及芯片重映射配置系统
Lee et al. A fast parallel algorithm for routing unicast assignments in Benes networks
Fu Hamiltonicity of the WK-recursive network with and without faulty nodes
Hsieh et al. Conditional edge-fault hamiltonian-connectivity of restricted hypercube-like networks
Anderson et al. Performance-based constraints for multidimensional networks
CN101141374A (zh) 自路由集线器以分治网络构成交换结构的方法
Seo et al. The composite banyan network
Bruneel et al. TROUTE: A reconfigurability-aware FPGA router
Zegura Evaluating blocking probability in generalized connectors
US12015566B1 (en) Fast scheduling and optimization of multi-stage hierarchical networks
Sengupta Interconnection networks for parallel processing
JP3532102B2 (ja) 間接ローテータグラフネットワーク及び間接ローテータグラフネットワークにおける伝送経路の設定方法
Chen et al. Rearrangeable nonblocking optical interconnection network fabrics with crosstalk constraints
Rau et al. Destination tag routing techniques based on a state model for the LADM network
Nitin et al. A New Fault-Tolerant Routing Algorithm for MALN-2
Giglmayr Spatial extension of multistage interconnection networks

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080321

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100202

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100223

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100426

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101221

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110221

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

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

R150 Certificate of patent or registration of utility model

Ref document number: 4804829

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20140819

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees