JP2006053687A - 演算装置 - Google Patents
演算装置 Download PDFInfo
- Publication number
- JP2006053687A JP2006053687A JP2004233759A JP2004233759A JP2006053687A JP 2006053687 A JP2006053687 A JP 2006053687A JP 2004233759 A JP2004233759 A JP 2004233759A JP 2004233759 A JP2004233759 A JP 2004233759A JP 2006053687 A JP2006053687 A JP 2006053687A
- Authority
- JP
- Japan
- Prior art keywords
- arithmetic unit
- input
- port
- arithmetic
- output
- 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.)
- Pending
Links
Images
Abstract
【解決手段】演算装置1は、各演算器OP1〜OP16の各々が、複数の入力ポートおよび複数の出力ポートを含み、各入力ポートが演算データの入力ラインまたは前段の演算器の出力ポートに接続され、入力ポートから入力した演算データに対する演算結果が、出力ポートを通して後段に位置する演算器に順次流れていくようなデータフローを形成するように構成されている。
【選択図】 図1
Description
また、複数の演算器を有し、入力データに応じて必要な演算器を選択して、選択したデータに対して所定の演算を実行するプロセッサが提案されている(たとえば特許文献1参照)。
これらのプロセッサにおいては、CPUが個別にメモリを持ち、あるいは共有のメモリを複数のCPUが共有して使用することで並列処理が行われていくのが一般的である。
そして、CPUはまずコードメモリからどういう処理をするかを読み込み、ここに書かれた内容をもとに、逐次、データが格納されているメモリをアクセスして、データをCPUに取り込み、取り込んだデータに対する処理をし、その結果をデータメモリに格納するということを繰り返している。
また、各演算器の入力出力それぞれのポートにラッチ回路をもち、データをここで蓄える。
また、入力側のラッチ回路に決まった定数をラッチすることにより、所定の演算器の入力を固定値にする。
また、各演算器の入力出力ポートにフリップフロップ等のラッチ回路を持つことにより、パイプライン処理が可能となっている。
また、各演算器の出力ポートのラッチ回路の入り口設けられたスイッチ回路により、出力ポートのラッチ回路へ入る入力信号を演算器の出力と演算器の入力とが切り替えられる。
また、スイッチ回路により、必要に応じてラッチ回路がバイパスされる。
また、スイッチ回路により、ラッチ回路のラッチの値が固定化される。
演算装置1は、各演算器OP1〜OP16の各々が、複数の入力ポートおよび複数の出力ポートを含み、各入力ポートが演算データの入力ラインまたは前段の演算器の出力ポートに接続され、入力ポートから入力した演算データに対する演算結果が、出力ポートを通して後段に位置する演算器に順次流れていくようなデータフローを形成するように構成されている。
すなわち、図1の例では、各演算器OP1〜OP16の左部および上部からデータが入力され、右および下部からデータが出力されるようになっている。
各演算器OP1〜OP16に各入力ポートおよび出力ポートは、入力データおよび出力データを保持するフリップフロップFFからなるラッチ回路を含んでいる。
そして、データフローの上流に位置する演算器の出力ポートのラッチ回路と、この上流側に位置する演算器の出力側に位置する演算器の入力ポートのラッチ回路が共用されている。
具体的には、以下のように構成されている。
演算器OP2は、上縁部USDに入力ポートIP2Uが形成され、左縁部LSDに左側に隣接する演算器OP1と共用する共用ポートSP12RLが形成され(配置され)、右縁部RSDに右側に隣接する演算器OP3とラッチ回路を共用する共用ポートSP23RLが形成され、底縁部BSDに下側に隣接する演算器OP6とラッチ回路を共用する共用ポートSP26BUが形成されている。
演算器OP3は、上縁部USDに入力ポートIP3Uが形成され、左縁部LSDに左側に隣接する演算器OP2と共用する共用ポートSP23RLが形成され(配置され)、右縁部RSDに右側に隣接する演算器OP4とラッチ回路を共用する共用ポートSP34RLが形成され、底縁部BSDに下側に隣接する演算器OP7とラッチ回路を共用する共用ポートSP37BUが形成されている。
演算器OP4は、上縁部USDに入力ポートIP4Uが形成され、左縁部LSDに左側に隣接する演算器OP3と共用する共用ポートSP34RLが形成され(配置され)、右縁部RSDに右側にラッチ回路を有する出力ポートIO4Rが形成され、底縁部BSDに下側に隣接する演算器OP8とラッチ回路を共用する共用ポートSP48BUが形成されている。
演算器OP6は、上縁部USDに上側に隣接する演算器OP2とラッチ回路を共用する共用ポートSP26BUが形成(配置)され、左縁部LSDに左側に隣接する演算器OP5と共用する共用ポートSP56RLが形成され(配置され)、右縁部RSDに右側に隣接する演算器OP7とラッチ回路を共用する共用ポートSP67RLが形成され、底縁部BSDに下側に隣接する演算器OP10とラッチ回路を共用する共用ポートSP610BUが形成されている。
演算器OP7は、上縁部USDに上側に隣接する演算器OP3とラッチ回路を共用する共用ポートSP37BUが形成(配置)され、左縁部LSDに左側に隣接する演算器OP6と共用する共用ポートSP67RLが形成され(配置され)、右縁部RSDに右側に隣接する演算器OP8とラッチ回路を共用する共用ポートSP78RLが形成され、底縁部BSDに下側に隣接する演算器OP11とラッチ回路を共用する共用ポートSP711BUが形成されている。
演算器OP8は、上縁部USDに上側に隣接する演算器OP4とラッチ回路を共用する共用ポートSP48BUが形成(配置)され、左縁部LSDに左側に隣接する演算器OP7と共用する共用ポートSP78RLが形成され(配置され)、右縁部RSDにラッチ回路を有する出力ポートIO8Rが形成され、底縁部BSDに下側に隣接する演算器OP12とラッチ回路を共用する共用ポートSP812BUが形成されている。
演算器OP10は、上縁部USDに上側に隣接する演算器OP6とラッチ回路を共用する共用ポートSP610BUが形成(配置)され、左縁部LSDに左側に隣接する演算器OP9と共用する共用ポートSP910RLが形成され(配置され)、右縁部RSDに右側に隣接する演算器OP11とラッチ回路を共用する共用ポートSP1011RLが形成され、底縁部BSDに下側に隣接する演算器OP14とラッチ回路を共用する共用ポートSP1014BUが形成されている。
演算器OP11は、上縁部USDに上側に隣接する演算器OP7とラッチ回路を共用する共用ポートSP711BUが形成(配置)され、左縁部LSDに左側に隣接する演算器OP10と共用する共用ポートSP1011RLが形成され(配置され)、右縁部RSDに右側に隣接する演算器OP12とラッチ回路を共用する共用ポートSP1112RLが形成され、底縁部BSDに下側に隣接する演算器OP15とラッチ回路を共用する共用ポートSP1115BUが形成されている。
演算器OP12は、上縁部USDに上側に隣接する演算器OP8とラッチ回路を共用する共用ポートSP812BUが形成(配置)され、左縁部LSDに左側に隣接する演算器OP11と共用する共用ポートSP1112RLが形成され(配置され)、右縁部RSDにラッチ回路を有する出力ポートIO12Rが形成され、底縁部BSDに下側に隣接する演算器OP16とラッチ回路を共用する共用ポートSP1216BUが形成されている。
演算器OP14は、上縁部USDに上側に隣接する演算器OP10とラッチ回路を共用する共用ポートSP1014BUが形成(配置)され、左縁部LSDに左側に隣接する演算器OP13と共用する共用ポートSP1314RLが形成され(配置され)、右縁部RSDに右側に隣接する演算器OP15とラッチ回路を共用する共用ポートSP1415RLが形成され、底縁部BSDにラッチ回路を有する出力ポートIO14Bが形成されている。
演算器OP15は、上縁部USDに上側に隣接する演算器OP11とラッチ回路を共用する共用ポートSP1115BUが形成(配置)され、左縁部LSDに左側に隣接する演算器OP14と共用する共用ポートSP1415RLが形成され(配置され)、右縁部RSDに右側に隣接する演算器OP16とラッチ回路を共用する共用ポートSP1516RLが形成され、底縁部BSDにラッチ回路を有する出力ポートIO15Bが形成されている。
演算器OP16は、上縁部USDに上側に隣接する演算器OP12とラッチ回路を共用する共用ポートSP1216BUが形成(配置)され、左縁部LSDに左側に隣接する演算器OP15と共用する共用ポートSP1516RLが形成され(配置され)、右縁部RSDにラッチ回路を有する出力ポートIO16Rが形成され、底縁部BSDにラッチ回路を有する出力ポートIO16Bが形成されている。
図2では、演算器OPと、共用ポートSP12RL,SP15BUを例に説明するが、他の演算器および共用ポートも同様の構成を有する。基本的には、入力ポートIPおよび出力ポートIOは端子に直接的にラッチ回路が接続される構成をとることが可能であるが、以下に説明する共用ポートと同様の構成をとることも可能である。
また、図2においては、演算器OP1の各縁部に配置される端子は、4個としているがこの数については、仕様に応じて適宜設定される。また、図2の入力ポートに配置されるフリップフロップからなるラッチ回路は図面の簡単化のために省略している。
上述したように、演算器OP1は矩形状をなし、上縁部USDに入力端子TIU1〜TIU4が形成され、左縁部LSDに入力端子TIL1〜TIL4が形成され、右縁部RSDに出力端子TOR1〜TOR4が形成され、底縁部BSDに出力端子TOB1〜TOB4が形成されている。
スイッチ回路SW11の固定接点aがフリップフロップFF1の入力端子Dに接続され、作動接点bが演算器OP1の出力端子TOR1〜TOR4に接続され、作動接点cがフリップフロップFF1の出力端子Qに接続されている。
スイッチ回路SW12の固定接点aが右側に隣接して配置される演算器(OP2)の左縁部LSDの入力端子TIL1〜TIL4に接続され、作動接点bがフリップフロップFF1の出力端子Qに接続され、作動接点cが演算器OP1の出力端子TOR1〜TOR4に接続されている。
スイッチ回路SW11,SW12の切り替えは図示しない制御系により制御され、たとえばスイッチ回路SW11,SW12の固定接点aを作動接点bに接続すると、演算器OP1で演算され、あるいはそのまま通されたデータをフリップフロップFF1に一旦保持した後に、次段の演算器(OP2)の入力端子TIL1〜TIL4に供給することが可能となる。
スイッチ回路SW11の固定接点aを作動接点cに接続すると、フリップフロップFF1に同データをラッチし続けて(ラッチデータを固定化させて)次段の演算器に供給可能となる。
また、スイッチ回路SW12の固定接点aを作動接点cに接続すると、スイッチ回路SW11の接続状態にかかわらず、演算器OP1で演算され、あるいはそのまま通されたデータをフリップフロップFF1に一旦保持することなく、次段の演算器(OP2)の入力端子TIL1〜TIL4に供給することが可能となる。
すなわち、各演算器の出力はフリップフロップに接続されているが、セレクタにより、フリップフロップを経由しなくてもよい構造になっている。
スイッチ回路SW21の固定接点aがフリップフロップFF2の入力端子Dに接続され、作動接点bが演算器OP1の出力端子TOB1〜TOB4に接続され、作動接点cがフリップフロップFF2の出力端子Qに接続されている。
スイッチ回路SW22の固定接点aが下側に隣接して配置される演算器(OP5)の上縁部USDの入力端子TIU1〜TIU4に接続され、作動接点bがフリップフロップFF2の出力端子Qに接続され、作動接点cが演算器OP1の出力端子TOB1〜TOB4に接続されている。
スイッチ回路SW21,SW22の切り替えは図示しない制御系により制御され、たとえばスイッチ回路SW21,SW22の固定接点aを作動接点bに接続すると、演算器OP1で演算され、あるいはそのまま通されたデータをフリップフロップFF2に一旦保持した後に、次段の演算器(OP2)の入力端子TIU1〜TIU4に供給することが可能となる。
スイッチ回路SW21の固定接点aを作動接点cに接続すると、フリップフロップFF2に同データをラッチし続けて(ラッチデータを固定化させて)次段の演算器に供給可能となる。
また、スイッチ回路SW22の固定接点aを作動接点cに接続すると、スイッチ回路SW21の接続状態にかかわらず、演算器OP1で演算され、あるいはそのまま通されたデータをフリップフロップFF1に一旦保持することなく、次段の演算器(OP5)の入力端子TIU1〜TIU4に供給することが可能となる。
すなわち、各演算器の出力はフリップフロップに接続されているが、セレクタにより、フリップフロップを経由しなくてもよい構造になっている。
このように、本実施形態においては、演算器の入力は左部、上部から入り、演算結果が右部および下部から出力されるように構成されている。右部、下部の出力は同じものが出力される場合もある。そして、これら出力はフリップフロップFFに接続されているが、セレクタが配置されており、このセレクタによって、フリップフロップFFはバイパス可能である。
また、入力側のラッチ回路に決まった定数をラッチすることにより、所定の演算器の入力を固定値にすることが可能となっている。
また、各演算器の入力出力ポートにフリップフロップ等のラッチ回路を持つことにより、パイプライン処理が可能となっている。
また、各演算器の出力ポートのラッチ回路としてのフリップフロップFF1,FF2の入り口にスイッチSW11,SW21を設けることにより、出力ポートのラッチ回路としてのフリップフロップFF1,FF2に入る入力信号を、演算器の出力と演算器の入力とで切り替えることが可能となっている。
また、スイッチ回路SW12,SW22により、ラッチ回路としてのフリップフロップFF1,FF2をバイパスすることが可能となっている。
また、スイッチ回路SW11,SW12、SW21,SW22によりラッチする値を固定化させることが可能となっている。
すなわち、一旦格納されたラッチの値は以降固定されるように、スイッチ回路SW11,SW12、SW21,SW22によって外部からデータが入ってこないよう考慮されている。
各ラッチ回路に固定値を与える方法としては、各ラッチをすべてチェーン状につなぎ、これをシフトレジスタとして、外部からデータを送り込むことにより、これらのラッチ回路としてのフリップフロップFF1,FF2に固定値を入力することが可能となる。
たとえば、演算器の右部および上部からデータが入力され、左部および下(底)部からデータが出力されるように構成することも可能である。
また、演算器の左部および下部からデータが入力され、右部および上部からデータが出力されるように構成することも可能である。
また、演算器の右部および下部からデータが入力され、左部および上部からデータが出力されるように構成することも可能である。
具体的には、各演算器OPの上層部に図示しない絶縁層を介して図中上縁部と下(底)縁部間にわたっていわゆる縦方向に複数の第1の配線LINC1〜LINCn(nは整数で、たとえば32)が所定間隔をおいて形成されている。
第1の配線LINC1〜LINCnのさらに上層に図示しない絶縁層を介して、図中左縁部と右縁部間にわたっていわゆる横方向に複数の第2の配線UINC1〜UINCnが所定間隔をおいて形成されている。
そして、第1の配線LINC1〜LINCnと第2の配線UINC1〜UINCnが電気的に絶縁されて交差する各交差部には、対応する第1の配線LINC1〜LINCnと第2の配線UINC1〜UINCnとを選択的に接続するための双方向スイッチBSW11〜BSW1n、BSW21〜BSW2n、BSW31〜BSW3n、・・・、BSWn1〜BSWnnが形成されている。
これにより、第1の配線LINC1〜LINCnと第2の配線UINC1〜UINCnとを図示しない制御系の制御の下、任意に接続し、切断することが可能となっている。
また、図示していないが、演算器OP1の上層に形成された第1の配線LINC1〜LINCnの一端部(下端部)と下側に隣接する演算器OP(5)の上層に形成された第1の配線LINC1〜LINCnの一端部(上端部)との間に、双方向スイッチBSWOPを形成することも可能である。
また、第1の配線LINC1〜LINCnまたは/および第2の配線UINC1〜UINCnと下層の演算器の入力ポートおよび出力ポートとを接続する図示しないスイッチを形成することも可能である。
これにより、演算器から出力されたデータを、上層部にある第1の配線LINC1〜LINCnまたは/および第2の配線UINC1〜UINCnを通して、任意の位置にある演算器に接続することが可能になる。
ここでは、たとえば、例として、ラプラス方程式を解くことを考える。
ラプラス方程式は、次式で表される。
ここで各演算器はたとえば、64ビットの浮動小数点の加減算、乗算器とする。これは、32ビットの浮動小数点でもあるいは固定小数点、あるいは整数に関する演算器でもかまわない。
図4は概略図として示しているが、座標A1の演算器OP1の上層部の接続の詳細を図5に示す。
図5に示すように、左部から入力されたデータ(信号)は、第2の配線UINC1〜UINCnを伝搬され、図示しない制御系により双方向スイッチBSW11,BSW22,BSW33,・・・,BSWnnが導通する(オンする)にように制御される。これにより、第2の配線UINC1〜UINCnを伝搬される信号が第1の配線LINC1〜LINCnに乗り換えて、下側に隣接する演算器OP5に入力信号を伝達可能となる。
この際、座標A1の下層部にある演算器OP1との接続はしない。
不使用の演算器OP1において、出力部にあるラッチ回路としてのフリップフロップFFを通すと、1クロック分データを送ることを遅らせることができ、レイテンシの調整が可能である。しかしここでは、座標A1の下部にあるラッチ回路としてのフリップフロップFFはバイパスし使用しない。
この場合、座標A2の演算器OP5の下部から出力されるデータ、具体的には共用ポートSP59BUからの出力データは使用されない。
左部から入力されたデータ(信号)は、図5に示すように、第2の配線UINC1〜UINCnを伝搬され、図示しない制御系により双方向スイッチBSW11,BSW22,BSW33,・・・,BSWnnが導通する(オンする)にように制御される。これにより、第2の配線UINC1〜UINCnを伝搬される信号が第1の配線LINC1〜LINCnに乗り換えて、下側に隣接する演算器OP13に入力信号を伝達可能となる。
この際、座標A3の下層部にある演算器OP9との接続はしない。
不使用の演算器OP9において、出力部にあるラッチ回路としてのフリップフロップFFを通すと、1クロック分データを送ることを遅らせることができ、レイテンシの調整が可能である。しかしここでは、座標A3の下部にあるラッチ回路としてのフリップフロップFFは使用しない。
そして、座標A4の演算器OP13にデータc,dが入力されて加算され、共用ポートSP1415RLを通して、演算結果(c+d)のデータが右側に隣接する演算器OP15に出力される。
座標A2、A4の演算器OP5,OP13の出力部(共用ポートSP56RL、SP1314RL)にあるフリップフロップFF1は使用し、一旦データをここで蓄える。そうすることにより、全体のクロック周波数を高め、処理速度を向上させることが可能になる。また、これにより、データのパイプライン処理化が可能になり、1クロック毎にデータ出力が可能になる。
この例では、座標B3の演算器OP10も使用せずに、演算器の上部にある配線層間で、横方向の第1の配線LINCと縦方向の第2の配線ULICが双方向スイッチBSWで接続されるのみで、座標B4にある演算器OP14にデータを送るのみである。
この場合、それぞれ出力部(共用ポートSR59BU,SR1014BU)にあるフリップフロップFF2はバイパスし、使用しない。
そして、座標B4にて上部からきたデータ( a + b)と、左部からきたデータ( c + d)が、演算器OP14でさらに加算される。そして、演算結果(a+b+c+d)が座標B4の演算器OP14の右部にある共用ポートSP1415RLから出力される。すなわち、座標B4の演算器OP14の出力にあるフリップフロップFF1は使用する。
この場合、演算器OP15の入力側ポートとなる共用ポートSP1115BUのフリップフロップFF2には、0.25という固定値を与えている。
そして、演算器OP15において、(a+b+c+d)/4の計算を行う。そして、座標C4の演算器OP15の右部の共用ポートSP1516RLから(a+b+c+d)/4の演算結果が出力される。ここの座標C4の演算器OP15の出力ポートにあるフリップフロップFF1も使用する。そして、たとえばスイッチ、第2の配線UINC、双方向スイッチBSWOP、座標D4の演算器OP16の上層の第2の配線UINCを通して外部に出力する。
そして、1つの集積回路にこのような演算器を多数集積し、同時並行的に演算を進めることが可能なので、並列処理の分、高速に計算を行うことが可能になる。
第2の実施形態に係る演算装置1Aは、以下のように構成されている。
加算器は乗算器に比べて1/10程度と面積が小さいのが一般的である。
よって、演算器を配置する構成として、図7に示すように、乗算器と加算器を分けて別々に集積することも可能である。
図7の例では、図1の構成において、演算器OP1〜OP16を乗算器として配置し、4つの乗算器の入出力ポートで囲まれた矩形領域に面積の小さい加算器OP21〜OP29を配置している。
また、図7の例では、各乗算器間において、入出力ポートをラッチ回路を共用する共用ポートを設ける代わりに、各演算器がラッチ回路としてのフリップフロップを含む2つの入力ポートと2つの出力ポートを持つように構成している。この場合の入出力ポートも、たとえば図2に示すスイッチ回路とフリップフロップFFを備え、バイパス機能、ラッチデータ固定機能を備えたセレクタを含む構成を採用することができる。
本第3の実施形態において、各乗算器間において、入出力ポートをラッチ回路を共用する共用ポートを設ける代わりに、各演算器がラッチ回路としてのフリップフロップを含む2つの入力ポートと2つの出力ポートを持つように構成している。この場合の入出力ポートも、たとえば図2に示すスイッチ回路とフリップフロップFFを備え、バイパス機能、ラッチデータ固定機能を備えたセレクタを含む構成を有する。
そして、図8の例においては、各演算器間、具体的にはデータフローの上流側に位置する演算器の出力ポートOPと下流側に隣接して位置する演算器の入力ポート間にいわゆるスイッチを含む配線回路CRBを配置し、演算器間に配線を通すように構成している。
そして、配線回路CRB間の配線にも、入出力ポートと同様の構成を有する、たとえば図2に示すスイッチ回路とフリップフロップFFを備え、バイパス機能、ラッチデータ固定機能を備えたセレクタを含むポートPTを配置している。
演算器OP1の出力ポートIO1Bと演算器OP3の入力ポートIP3Uとの間に配線回路CRB13を接続している。
演算器OP3の出力ポートIO3Rと演算器OP4の入力ポートIP4Lとの間に配線回路CRB34を接続している。
演算器OP2の出力ポートIO2Bと演算器OP4の入力ポートIP4Uとの間に配線回路CRB24を接続している。
そして、配線回路CRB12,CRB13,CRB34,CRB24の中央部に全ての配線回路と接続した配線回路CRB14が配置されている。
配線回路CRB12とCRB14との間にポートPT1が接続され、配線回路CRB13とCRB14との間にポートPT2が接続され、配線回路CRB34とCRB14との間にポートPT3が接続され、配線回路CRB24とCRB14との間にポートPT4が接続されている。
これらを接続、切断することで、非常に柔軟性の高い再構成可能な回路が可能になる。
この場合、演算器間にある配線の占める面積は演算器部に比べてきわめて小さい。
よって、演算器間の配線b部を64ビット幅の配線を1セットと考えると、図8に示すように1セットのみでなく、図9に示すように複数セット配置することも可能であり、さらに柔軟性の高い集積回路が実現可能になる。
演算器OP1の出力ポートIO1Bと演算器OP3の入力ポートIP3Uとの間に配線回路CRB13A,CRB13Bを接続し、配線回路CRB13A,CRB13B間にポートPT6を接続している。
演算器OP3の出力ポートIO3Rと演算器OP4の入力ポートIP4Lとの間に配線回路CRB34A,CRB34Bを接続し、配線回路CRB34A,CRB34B間にポートPT7を接続している。
演算器OP2の出力ポートIO2Bと演算器OP4の入力ポートIP4Uとの間に配線回路CRB24A,CRB24Bを接続し、配線回路CRB24A,CRB24B間にポートPT8を接続している。
そして、配線回路CRB12,CRB13,CRB34,CRB24の中央部に全ての配線回路と接続した配線回路CRB14A〜14Dが配置されている。
配線回路CRB12AとCRB14Aとの間にポートPT1Aが接続され、配線回路CRB12BとCRB14Bとの間にポートPT1Bが接続され、配線回路CRB13AとCRB14Aとの間にポートPT2Aが接続され、配線回路CRB13BとCRB14Cとの間にポートPT2Bが接続され、配線回路CRB34AとCRB14Cとの間にポートPT3Aが接続され、配線回路CRB34BとCRB14Dとの間にポートPT3Bが接続され、配線回路CRB24AとCRB14Bとの間にポートPT4Aが接続され、配線回路CRB24BとCRB14Dとの間にポートPT4Bが接続されている。
そして、配線回路CRB14AとCRB14B間にポートPT9Aが接続され、配線回路CRB14AとCRB14C間にポートPT9Bが接続され、配線回路CRB14CとCRB14D間にポートPT9Cが接続され、配線回路CRB14DとCRB14B間にポートPT9Dが接続されている。
第1の実施形態において図4で示したものと同じラプラス方程式を図9で実現した場合の例である。
演算器OP1にデータa,bが入力され、その加算結果(a+b)が出力ポートIO1Rから出力され、配線回路CRB12A、ポートPT1A、配線回路CRB14A、ポートPT9B、配線回路CRB14C、ポートPT9C、配線回路CRB14D、ポートPT4B、配線回路CRB24、および入力ポートIP4Uを通して演算器OP4に転送される。
演算器OP2にデータcが配線回路CRB13B、入力ポートIP3Uを通して入力され、同じく演算器OP2にデータdが入力され、その加算結果(c+d)が出力ポートIO3Rから出力され、配線回路CRB12A、ポートPT1A、配線回路CRB14A、ポートPT9B、配線回路CRB34A、ポートPT7、配線回路CRB34B、および入力ポートIP4Lを通して演算器OP4に転送される。
そして、演算器OP4において、(a+b+c+d)/4の計算を行う。そして、演算器OP4の図示しない出力ポートから(a+b+c+d)/4の演算結果が出力される。
このことにより、データ処理をパイプライン化させ、また、同時並列的に高速に計算させることが可能である。
データの流れに関しては、各演算器の上層部に縦横に配置した配線を任意に接続切断することが可能にしてあるため、任意の演算器から任意の演算器へ自在にデータを渡すことが可能になっている。
Claims (39)
- 複数の演算器が一つの半導体集積回路に集積化され、
上記複数の演算器の各々は、
複数の入力ポートおよび複数の出力ポートを含み、
上記各入力ポートが演算データの入力ラインまたは前段の演算器の出力ポートに接続され、
上記入力ポートから入力した演算データに対する演算結果が、上記出力ポートを通して後段に位置する演算器に順次流れていくように形成されている
演算装置。 - 上記入力ポートおよび出力ポートは、入力データおよび出力データを保持可能なラッチ回路を含む
請求項1記載の演算装置。 - データフローの上流に位置する演算器の出力ポートのラッチ回路と当該演算器の出力側に位置する演算器の入力ポートのラッチ回路が共用されている
請求項2記載の演算装置。 - 上記各演算器の出力ポートのラッチ回路の入力段に、出力ポートのラッチ回路に入る入力信号を演算器の出力と演算器の入力とで切り替えることが可能なスイッチ回路を有する
請求項2記載の演算装置。 - 上記ラッチ回路をバイパスすることが可能なスイッチ回路を有する
請求項2記載の演算装置。 - 上記ラッチ回路をバイパスすることが可能なスイッチ回路を有する
請求項3記載の演算装置。 - 上記ラッチ回路をバイパスすることが可能なスイッチ回路を有する
請求項4記載の演算装置。 - 上記ラッチ回路のラッチの値を固定化させるスイッチ回路を有する
請求項2記載の演算装置。 - 上記ラッチ回路のラッチの値を固定化させるスイッチ回路を有する
請求項7記載の演算装置。 - 入力ポートのラッチ回路には、決まった定数をラッチすることにより、所定の演算器の入力を固定値にすることが可能である
請求項2記載の演算装置。 - 各ラッチ回路をすべてチェーン状につないでシフトレジスタを構成し、外部からデータを送り込むことにより、これらのラッチ回路に固定値を入力することが可能である
請求項10記載の演算装置。 - 上記各演算器は、マトリクス状に配置され、1つの演算器を矩形とし、4つの縁部のうち、互いに隣接する2つの縁部に入力ポートが形成され、他の隣接する演算に出力ポートが形成されている
請求項1記載の演算装置。 - 複数の演算器が一つの半導体集積回路に集積化され、
上記複数の演算器の各々は、
複数の入力ポートおよび複数の出力ポートを含み、
各演算器の上層部に互いに配線方向が異なる第1および第2の配線が複数形成され、当該第1および第2の配線を選択的に接続、切断可能な双方向スイッチを有する
演算装置。 - 上記各演算器の上層部に形成された第1または/および第2の配線が下層部にある演算器の入出力ポートと接続切断することが可能である
請求項13記載の演算装置。 - 各隣接する演算器の上層部の配線同士を接続切断するスイッチを有する
請求項13記載の演算装置。 - 上記各スイッチにより、一の演算器の入出力ポートが上層の配線を経由して他の任意の位置にある演算器の入出力ポートと任意に接続可能である
請求項14記載の演算装置。 - 上記各スイッチにより、一の演算器の入出力ポートが上層の配線を経由して他の任意の位置にある演算器の入出力ポートと任意に接続可能である
請求項15記載の演算装置。 - 上記入力ポートおよび出力ポートは、入力データおよび出力データを保持可能なラッチ回路を含む
請求項13記載の演算装置。 - データフローの上流に位置する演算器の出力ポートのラッチ回路と当該演算器の出力側に位置する演算器の入力ポートのラッチ回路が共用されている
請求項18記載の演算装置。 - 上記各演算器の出力ポートのラッチ回路の入力段に、出力ポートのラッチ回路に入る入力信号を演算器の出力と演算器の入力とで切り替えることが可能なスイッチ回路を有する
請求項18記載の演算装置。 - 上記ラッチ回路をバイパスすることが可能なスイッチ回路を有する
請求項18記載の演算装置。 - 上記ラッチ回路のラッチの値を固定化させるスイッチ回路を有する
請求項18記載の演算装置。 - 入力ポートのラッチ回路には、決まった定数をラッチすることにより、所定の演算器の入力を固定値にすることが可能である
請求項18記載の演算装置。 - 各ラッチ回路をすべてチェーン状につないでシフトレジスタを構成し、外部からデータを送り込むことにより、これらのラッチ回路に固定値を入力することが可能である
請求項23記載の演算装置。 - 上記各演算器は、マトリクス状に配置され、1つの演算器を矩形とし、4つの縁部のうち、互いに隣接する2つの縁部に入力ポートが形成され、他の隣接する演算に出力ポートが形成されている
請求項13記載の演算装置。 - 複数の演算器が一つの半導体集積回路に集積化され、
上記複数の演算器の各々は、
複数の入力ポートおよび複数の出力ポートを含み、
上記各入力ポートが演算データの入力ラインまたは前段の演算器の出力ポートに接続され、
上記入力ポートから入力した演算データに対する演算結果が、上記出力ポートを通して後段に位置する演算器に順次流れていくように形成され、
上記各演算器間の出力ポートと入力ポートとの間にデータの伝搬方向を変更可能なスイッチを含む配線回路が配置されている
演算装置。 - 上記入力ポートおよび出力ポートは、入力データおよび出力データを保持可能なラッチ回路を含む
請求項26記載の演算装置。 - 上記各演算器の出力ポートのラッチ回路の入力段に、出力ポートのラッチ回路に入る入力信号を演算器の出力と演算器の入力とで切り替えることが可能なスイッチ回路を有する
請求項27記載の演算装置。 - 上記ラッチ回路をバイパスすることが可能なスイッチ回路を有する
請求項27記載の演算装置。 - 上記ラッチ回路のラッチの値を固定化させるスイッチ回路を有する
請求項27記載の演算装置。 - 入力ポートのラッチ回路には、決まった定数をラッチすることにより、所定の演算器の入力を固定値にすることが可能である
請求項27記載の演算装置。 - 各ラッチ回路をすべてチェーン状につないでシフトレジスタを構成し、外部からデータを送り込むことにより、これらのラッチ回路に固定値を入力することが可能である
請求項31記載の演算装置。 - 上記各演算器は、マトリクス状に配置され、1つの演算器を矩形とし、4つの縁部のうち、互いに隣接する2つの縁部に入力ポートが形成され、他の隣接する演算に出力ポートが形成されている
請求項27記載の演算装置。 - 各演算器の上層部に互いに配線方向が異なる第1および第2の配線が複数形成され、当該第1および第2の配線を選択的に接続、切断可能な双方向スイッチを有する
請求項26記載の演算装置。 - 上記各演算器の上層部に形成された第1または/および第2の配線が下層部にある演算器の入出力ポートと接続切断することが可能である
請求項34記載の演算装置。 - 各隣接する演算器の上層部の配線同士を接続切断するスイッチを有する
請求項34記載の演算装置。 - 複数の演算器がマトリクス状に集積化された複数の半導体チップを有し、
上記複数の演算器の各々は、
複数の入力ポートおよび複数の出力ポートを含み、
上記各入力ポートが演算データの入力ラインまたは前段の演算器の出力ポートに接続され、
上記入力ポートから入力した演算データに対する演算結果が、上記出力ポートを通して後段に位置する演算器に順次流れていくように形成され、
半導体チップの最外側の演算器の出力ポートと、他の半導体チップの最外側の演算器の入力ポートが接続されている
演算装置。 - 複数の演算器がマトリクス状に集積化された複数の半導体チップを有し、
上記複数の演算器の各々は、
複数の入力ポートおよび複数の出力ポートを含み、
各演算器の上層部に互いに配線方向が異なる第1および第2の配線を複数形成し、当該第1および第2の配線を選択的に接続、切断可能な双方向スイッチを有し、
半導体チップの最外側の演算器の出力ポートと、他の半導体チップの最外側の演算器の入力ポートが接続されている
演算装置。 - 複数の演算器がマトリクス状に集積化された複数の半導体チップを有し、
上記複数の演算器の各々は、
複数の入力ポートおよび複数の出力ポートを含み、
上記各入力ポートが演算データの入力ラインまたは前段の演算器の出力ポートに接続され、
上記入力ポートから入力した演算データに対する演算結果が、上記出力ポートを通して後段に位置する演算器に順次流れていくように形成され、
上記各演算器間の出力ポートと入力ポートとの間にデータの伝搬方向を変更可能なスイッチを含む配線回路が配置され、
半導体チップの最外側の演算器の出力ポートと、他の半導体チップの最外側の演算器の入力ポートが接続されている
演算装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004233759A JP2006053687A (ja) | 2004-08-10 | 2004-08-10 | 演算装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004233759A JP2006053687A (ja) | 2004-08-10 | 2004-08-10 | 演算装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2006053687A true JP2006053687A (ja) | 2006-02-23 |
Family
ID=36031141
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004233759A Pending JP2006053687A (ja) | 2004-08-10 | 2004-08-10 | 演算装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2006053687A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2018530040A (ja) * | 2015-07-31 | 2018-10-11 | 呉 国盛WU, Guosheng | 自己適応型チップ及び配置方法 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6480127A (en) * | 1987-09-22 | 1989-03-27 | Kawasaki Steel Co | Programmable logic device |
JPH06350436A (ja) * | 1993-03-26 | 1994-12-22 | American Teleph & Telegr Co <Att> | フィールドプログラマブルゲートアレイ |
JPH09222990A (ja) * | 1996-02-19 | 1997-08-26 | San Graphics:Kk | 演算装置 |
JPH09294069A (ja) * | 1996-03-01 | 1997-11-11 | Agency Of Ind Science & Technol | プログラマブルlsiおよびその演算方法 |
JPH1056376A (ja) * | 1996-08-12 | 1998-02-24 | Fujitsu Ten Ltd | 制御用半導体集積回路およびそれを搭載する電子制御装置 |
JPH11510038A (ja) * | 1996-05-20 | 1999-08-31 | アトメル・コーポレイション | 分散型ramを有しかつセルの利用率が高められた、フィールドプログラマブルゲートアレイ |
JPH11296345A (ja) * | 1998-04-08 | 1999-10-29 | Hitachi Ltd | プロセッサ |
JP2002544586A (ja) * | 1999-05-07 | 2002-12-24 | モーフィックス テクノロジー インコーポレイテッド | プログラマブルデータ経路算術アレイのための装置及び方法 |
JP2003198361A (ja) * | 2001-12-28 | 2003-07-11 | Fujitsu Ltd | プログラマブル論理デバイス |
JP2004040188A (ja) * | 2002-06-28 | 2004-02-05 | Fujitsu Ltd | 集積回路及びシステム開発方法 |
-
2004
- 2004-08-10 JP JP2004233759A patent/JP2006053687A/ja active Pending
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6480127A (en) * | 1987-09-22 | 1989-03-27 | Kawasaki Steel Co | Programmable logic device |
JPH06350436A (ja) * | 1993-03-26 | 1994-12-22 | American Teleph & Telegr Co <Att> | フィールドプログラマブルゲートアレイ |
JPH09222990A (ja) * | 1996-02-19 | 1997-08-26 | San Graphics:Kk | 演算装置 |
JPH09294069A (ja) * | 1996-03-01 | 1997-11-11 | Agency Of Ind Science & Technol | プログラマブルlsiおよびその演算方法 |
JPH11510038A (ja) * | 1996-05-20 | 1999-08-31 | アトメル・コーポレイション | 分散型ramを有しかつセルの利用率が高められた、フィールドプログラマブルゲートアレイ |
JPH1056376A (ja) * | 1996-08-12 | 1998-02-24 | Fujitsu Ten Ltd | 制御用半導体集積回路およびそれを搭載する電子制御装置 |
JPH11296345A (ja) * | 1998-04-08 | 1999-10-29 | Hitachi Ltd | プロセッサ |
JP2002544586A (ja) * | 1999-05-07 | 2002-12-24 | モーフィックス テクノロジー インコーポレイテッド | プログラマブルデータ経路算術アレイのための装置及び方法 |
JP2003198361A (ja) * | 2001-12-28 | 2003-07-11 | Fujitsu Ltd | プログラマブル論理デバイス |
JP2004040188A (ja) * | 2002-06-28 | 2004-02-05 | Fujitsu Ltd | 集積回路及びシステム開発方法 |
Non-Patent Citations (1)
Title |
---|
岡田 誠: "ALU間接続に制限のあるALUアレイによるリコンフィギュラブルプロセッサの検討", 電子情報通信学会2004年総合大会講演論文集 基礎・境界 PROCEEDINGS OF THE 2004 IEICE GENERAL CONF, JPN6009055045, 8 March 2004 (2004-03-08), JP, pages 83, ISSN: 0001447353 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2018530040A (ja) * | 2015-07-31 | 2018-10-11 | 呉 国盛WU, Guosheng | 自己適応型チップ及び配置方法 |
US10693466B2 (en) | 2015-07-31 | 2020-06-23 | Guosheng Wu | Self-adaptive chip and configuration method |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7987338B2 (en) | Processing system with interspersed processors using shared memory of communication elements | |
WO1992018935A1 (en) | Data processor and data processing method | |
EP0298658B1 (en) | Computational apparatus for parallel processing | |
Batcher | Design of a massively parallel processor | |
Thompson | Fourier transforms in VLSI | |
US20020157066A1 (en) | Reconfigurable processor devices | |
JPH0675986A (ja) | 大規模並列コンピューティング・システム装置 | |
EP1496618A2 (en) | Semiconductor integrated unit | |
US7571198B2 (en) | Dynamically reconfigurable processor and processor control program for controlling the same | |
JP4611901B2 (ja) | 信号伝送方法、ブリッジユニット、および情報処理装置 | |
WO2017007318A1 (en) | Scalable computation architecture in a memristor-based array | |
JP2006053687A (ja) | 演算装置 | |
Hsu | LINC: The link and interconnection chip | |
EP0924625A1 (en) | Configurable processor | |
TW200405546A (en) | Reconfigurable integrated circuit | |
Eriksson et al. | Full-Custom vs. Standard-Cell Design Flow–A Quantitative Adder Comparison | |
JP2010108096A (ja) | 並列処理装置 | |
US7596774B2 (en) | Hard macro with configurable side input/output terminals, for a subsystem | |
Olson | Advanced processing techniques using the Intrinsity FastMATH processor | |
JPH032989A (ja) | 高速通信機構を持った並列計算機 | |
Bajwa et al. | Mixed-autonomy local interconnect for reconfigurable SIMD arrays | |
Kumar | An Fpga Based Simd Architecture Implemented with 2d Systolic Architecture for Image Processing | |
JPH0497482A (ja) | ベクトル演算装置 | |
WO2013098451A1 (es) | Arquitectura híbrida SIMD/MIMD dinámicamente reconfigurable de un coprocesador para sistemas de visión |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20070412 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20091014 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20091027 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20091211 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20100713 |