JP2006053687A - 演算装置 - Google Patents

演算装置 Download PDF

Info

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
Application number
JP2004233759A
Other languages
English (en)
Inventor
Akira Nagata
公 永田
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.)
Sony Corp
Original Assignee
Sony Corp
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 Sony Corp filed Critical Sony Corp
Priority to JP2004233759A priority Critical patent/JP2006053687A/ja
Publication of JP2006053687A publication Critical patent/JP2006053687A/ja
Pending legal-status Critical Current

Links

Images

Abstract

【課題】用途に応じて高い自由度をもってデータフロー型の演算を行うことが可能で、高速な演算処理を実現することが可能な演算装置を提供する。
【解決手段】演算装置1は、各演算器OP1〜OP16の各々が、複数の入力ポートおよび複数の出力ポートを含み、各入力ポートが演算データの入力ラインまたは前段の演算器の出力ポートに接続され、入力ポートから入力した演算データに対する演算結果が、出力ポートを通して後段に位置する演算器に順次流れていくようなデータフローを形成するように構成されている。
【選択図】 図1

Description

本発明は、複数の演算器を有し、再構成可能なデータフロー型の並列計算機として機能する演算装置に関するものである。
現在、さまざまな並列コンピュータが提案されている。その多くは、CPUと呼ばれる逐次処理機能をもつプロセッサを複数配置し、これらをネットワークで結ぶ構成を基本としている。
また、複数の演算器を有し、入力データに応じて必要な演算器を選択して、選択したデータに対して所定の演算を実行するプロセッサが提案されている(たとえば特許文献1参照)。
これらのプロセッサにおいては、CPUが個別にメモリを持ち、あるいは共有のメモリを複数のCPUが共有して使用することで並列処理が行われていくのが一般的である。
この場合、各CPUがアクセスするメモリには、逐次処理の内容が書かれているコードメモリと、処理をするデータが格納されているデータメモリがある。
そして、CPUはまずコードメモリからどういう処理をするかを読み込み、ここに書かれた内容をもとに、逐次、データが格納されているメモリをアクセスして、データをCPUに取り込み、取り込んだデータに対する処理をし、その結果をデータメモリに格納するということを繰り返している。
特開平7−73014号公報
ところが、計算をするときも一旦データメモリに格納されているデータを取り出してきて、CPU内のバッファに一旦蓄え、そこで演算をしてから、結果をデータメモリに戻すため、そこで不必要な処理時間がかかることになる。
また、複数の演算器を有する場合であっても、入力データに対して使用する演算器を動的および静的に選択して演算を行うことができるものの、演算器数にも限りがあり、用途に応じて高い自由度をもってデータフロー型の演算を行うことは困難であり、しかも高速な演算処理を実現することが困難であるという不利益がある。
本発明は、かかる事情に鑑みてなされたものであり、その目的は、用途に応じて高い自由度をもってデータフロー型の演算を行うことが可能で、高速な演算処理を実現することが可能な演算装置を提供することにある。
上記目的を達成するため、本発明の第1の観点は、複数の演算器が一つの半導体集積回路に集積化され、上記複数の演算器の各々は、複数の入力ポートおよび複数の出力ポートを含み、上記各入力ポートが演算データの入力ラインまたは前段の演算器の出力ポートに接続され、上記入力ポートから入力した演算データに対する演算結果が、上記出力ポートを通して後段に位置する演算器に順次流れていくように形成されている。
好適には、上記入力ポートおよび出力ポートは、入力データおよび出力データを保持可能なラッチ回路を含む。
好適には、データフローの上流に位置する演算器の出力ポートのラッチ回路と当該演算器の出力側に位置する演算器の入力ポートのラッチ回路が共用されている。
好適には、上記各演算器の出力ポートのラッチ回路の入力段に、出力ポートのラッチ回路に入る入力信号を演算器の出力と演算器の入力とで切り替えることが可能なスイッチ回路を有する。
好適には、上記ラッチ回路をバイパスすることが可能なスイッチ回路を有する。
好適には、上記ラッチ回路のラッチの値を固定化させるスイッチ回路を有する。
好適には、入力ポートのラッチ回路には、決まった定数をラッチすることにより、所定の演算器の入力を固定値にすることが可能である。
好適には、各ラッチ回路をすべてチェーン状につないでシフトレジスタを構成し、外部からデータを送り込むことにより、これらのラッチ回路に固定値を入力することが可能である。
好適には、上記各演算器は、マトリクス状に配置され、1つの演算器を矩形とし、4つの縁部のうち、互いに隣接する2つの縁部に入力ポートが形成され、他の隣接する演算に出力ポートが形成されている。
本発明の第2の観点は、複数の演算器が一つの半導体集積回路に集積化され、上記複数の演算器の各々は、複数の入力ポートおよび複数の出力ポートを含み、各演算器の上層部に互いに配線方向が異なる第1および第2の配線が複数形成され、当該第1および第2の配線を選択的に接続、切断可能な双方向スイッチを有する。
好適には、上記各演算器の上層部に形成された第1または/および第2の配線が下層部にある演算器の入出力ポートと接続切断することが可能である。
好適には、各隣接する演算器の上層部の配線同士を接続切断するスイッチを有する。
好適には、上記各スイッチにより、一の演算器の入出力ポートが上層の配線を経由して他の任意の位置にある演算器の入出力ポートと任意に接続可能である。
本発明の第3の観点は、複数の演算器が一つの半導体集積回路に集積化され、上記複数の演算器の各々は、複数の入力ポートおよび複数の出力ポートを含み、上記各入力ポートが演算データの入力ラインまたは前段の演算器の出力ポートに接続され、上記入力ポートから入力した演算データに対する演算結果が、上記出力ポートを通して後段に位置する演算器に順次流れていくように形成され、上記各演算器間の出力ポートと入力ポートとの間にデータの伝搬方向を変更可能なスイッチを含む配線回路が配置されている。
本発明の第4の観点は、複数の演算器がマトリクス状に集積化された複数の半導体チップを有し、上記複数の演算器の各々は、複数の入力ポートおよび複数の出力ポートを含み、上記各入力ポートが演算データの入力ラインまたは前段の演算器の出力ポートに接続され、上記入力ポートから入力した演算データに対する演算結果が、上記出力ポートを通して後段に位置する演算器に順次流れていくように形成され、半導体チップの最外側の演算器の出力ポートと、他の半導体チップの最外側の演算器の入力ポートが接続されている。
本発明の第5の観点は、複数の演算器がマトリクス状に集積化された複数の半導体チップを有し、上記複数の演算器の各々は、複数の入力ポートおよび複数の出力ポートを含み、上記出力ポートを通して後段に位置する演算器に順次流れていくように形成され、各演算器の上層部に互いに配線方向が異なる第1および第2の配線を複数形成し、当該第1および第2の配線を選択的に接続、切断可能な双方向スイッチを有し、半導体チップの最外側の演算器の出力ポートと、他の半導体チップの最外側の演算器の入力ポートが接続されている。
本発明の第6の観点は、複数の演算器がマトリクス状に集積化された複数の半導体チップを有し、上記複数の演算器の各々は、複数の入力ポートおよび複数の出力ポートを含み、上記各入力ポートが演算データの入力ラインまたは前段の演算器の出力ポートに接続され、上記入力ポートから入力した演算データに対する演算結果が、上記出力ポートを通して後段に位置する演算器に順次流れていくように形成され、上記各演算器間の出力ポートと入力ポートとの間にデータの伝搬方向を変更可能なスイッチを含む配線回路が配置され、半導体チップの最外側の演算器の出力ポートと、他の半導体チップの最外側の演算器の入力ポートが接続されている。
本発明によれば、複数の演算器が1つの半導体集積回路に集積されており、それぞれの演算器が複数の入力ポートを持ち、また、複数の出力ポートを持ち、入力データがこれによって演算されその結果がほかの演算器に順次流れていく。
また、各演算器の入力出力それぞれのポートにラッチ回路をもち、データをここで蓄える。
また、入力側のラッチ回路に決まった定数をラッチすることにより、所定の演算器の入力を固定値にする。
また、各演算器の入力出力ポートにフリップフロップ等のラッチ回路を持つことにより、パイプライン処理が可能となっている。
また、各演算器の出力ポートのラッチ回路の入り口設けられたスイッチ回路により、出力ポートのラッチ回路へ入る入力信号を演算器の出力と演算器の入力とが切り替えられる。
また、スイッチ回路により、必要に応じてラッチ回路がバイパスされる。
また、スイッチ回路により、ラッチ回路のラッチの値が固定化される。
本発明によれば、用途に応じて高い自由度をもってデータフロー型の演算を行うことが可能で、高速な演算処理を実現することができる利点がある。
以下、本発明の実施形態について、図面に関連付けて説明する。
図1は、本発明に係る演算装置の第1の実施形態の基本的な構成を示す図である。
本実施形態に係る演算装置1は、図1に示すように、複数(図1の例では16個)の矩形をなす演算器OP−1〜OP−16が、m×n(本実施形態では4×4)のマトリクス状態に配置されている。
演算装置1は、各演算器OP1〜OP16の各々が、複数の入力ポートおよび複数の出力ポートを含み、各入力ポートが演算データの入力ラインまたは前段の演算器の出力ポートに接続され、入力ポートから入力した演算データに対する演算結果が、出力ポートを通して後段に位置する演算器に順次流れていくようなデータフローを形成するように構成されている。
本実施形態においては、図1中、矩形をなす各演算器OP1〜OP16の上縁部USDおよび左縁部LSDに複数の入力ポートが形成され、右縁部RSDおよび底縁部BSDに複数の出力ポートが形成されている。
すなわち、図1の例では、各演算器OP1〜OP16の左部および上部からデータが入力され、右および下部からデータが出力されるようになっている。
各演算器OP1〜OP16に各入力ポートおよび出力ポートは、入力データおよび出力データを保持するフリップフロップFFからなるラッチ回路を含んでいる。
そして、データフローの上流に位置する演算器の出力ポートのラッチ回路と、この上流側に位置する演算器の出力側に位置する演算器の入力ポートのラッチ回路が共用されている。
具体的には、以下のように構成されている。
演算器OP1は、上縁部USDに入力ポートIP1Uが形成され、左縁部LSDに入力ポートIP1Lが形成され、右縁部RSDに右側に隣接する演算器OP2とラッチ回路を共用する共用ポートSP12RLが形成され、底縁部BSDに下側に隣接する演算器OP5とラッチ回路を共用する共用ポートSP15BUが形成されている。
演算器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が形成されている。
演算器OP5は、上縁部USDに上側に隣接する演算器OP1とラッチ回路を共用する共用ポートSP15BUが形成(配置)され、左縁部LSDに入力ポートIP5Lが形成され、右縁部RSDに右側に隣接する演算器OP6とラッチ回路を共用する共用ポートSP56RLが形成され、底縁部BSDに下側に隣接する演算器OP9とラッチ回路を共用する共用ポートSP59BUが形成されている。
演算器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が形成されている。
演算器OP9は、上縁部USDに上側に隣接する演算器OP5とラッチ回路を共用する共用ポートSP59BUが形成(配置)され、左縁部LSDに入力ポートIP9Lが形成され、右縁部RSDに右側に隣接する演算器OP10とラッチ回路を共用する共用ポートSP910RLが形成され、底縁部BSDに下側に隣接する演算器OP13とラッチ回路を共用する共用ポートSP913BUが形成されている。
演算器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が形成されている。
演算器OP13は、上縁部USDに上側に隣接する演算器OP9とラッチ回路を共用する共用ポートSP913BUが形成(配置)され、左縁部LSDに入力ポートIP13Lが形成され、右縁部RSDに右側に隣接する演算器OP14とラッチ回路を共用する共用ポートSP1314RLが形成され、底縁部BSDにラッチ回路を有する出力ポートIO13Bが形成されている。
演算器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は、本実施形態に係る演算器と共用ポートの構成例を示す図である。
図2では、演算器OPと、共用ポートSP12RL,SP15BUを例に説明するが、他の演算器および共用ポートも同様の構成を有する。基本的には、入力ポートIPおよび出力ポートIOは端子に直接的にラッチ回路が接続される構成をとることが可能であるが、以下に説明する共用ポートと同様の構成をとることも可能である。
また、図2においては、演算器OP1の各縁部に配置される端子は、4個としているがこの数については、仕様に応じて適宜設定される。また、図2の入力ポートに配置されるフリップフロップからなるラッチ回路は図面の簡単化のために省略している。
演算器OP1は、加減算、乗算、シフトその他ができるようになっており、切り替えて使用できるようになっている。
上述したように、演算器OP1は矩形状をなし、上縁部USDに入力端子TIU1〜TIU4が形成され、左縁部LSDに入力端子TIL1〜TIL4が形成され、右縁部RSDに出力端子TOR1〜TOR4が形成され、底縁部BSDに出力端子TOB1〜TOB4が形成されている。
共用ポートSP12RLは、演算器OP1の右縁部RSDの出力端子TOR1〜TOR4に対して、右側に隣接して配置される演算器(OP2)の左縁部LSDの入力端子TIL1〜TIL4に接続される、フリップフロップFFを含むセレクタSER1〜SER4が配置されている。
セレクタSER1〜SER4は、ラッチ回路としてのフリップフロップFF1およびスイッチ回路SW11,SW12を有する。
スイッチ回路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に供給することが可能となる。
すなわち、各演算器の出力はフリップフロップに接続されているが、セレクタにより、フリップフロップを経由しなくてもよい構造になっている。
共用ポートSP15BUは、演算器OP1の底縁部BSDの出力端子TOB1〜TOB4に対して、下側に隣接して配置される演算器(OP5)の上縁部USDの入力端子TIU1〜TIU4に接続される、フリップフロップFFを含むセレクタSEB1〜SEB4が配置されている。
セレクタSEB1〜SEB4は、ラッチ回路としてのフリップフロップFF2およびスイッチ回路SW21,SW22を有する。
スイッチ回路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に供給することが可能となる。
すなわち、各演算器の出力はフリップフロップに接続されているが、セレクタにより、フリップフロップを経由しなくてもよい構造になっている。
以上の共用ポートの構成は、図1の入力ポートおよび出力ポートに採用することが可能である。
このように、本実施形態においては、演算器の入力は左部、上部から入り、演算結果が右部および下部から出力されるように構成されている。右部、下部の出力は同じものが出力される場合もある。そして、これら出力はフリップフロップFFに接続されているが、セレクタが配置されており、このセレクタによって、フリップフロップFFはバイパス可能である。
以上のように、本実施形態によれば、各演算器の入出力それぞれのポートにフリップフロップ等からなるラッチ回路を設けることにより、データをここで蓄えることが可能となっている。
また、入力側のラッチ回路に決まった定数をラッチすることにより、所定の演算器の入力を固定値にすることが可能となっている。
また、各演算器の入力出力ポートにフリップフロップ等のラッチ回路を持つことにより、パイプライン処理が可能となっている。
また、各演算器の出力ポートのラッチ回路としてのフリップフロップFF1,FF2の入り口にスイッチSW11,SW21を設けることにより、出力ポートのラッチ回路としてのフリップフロップFF1,FF2に入る入力信号を、演算器の出力と演算器の入力とで切り替えることが可能となっている。
また、スイッチ回路SW12,SW22により、ラッチ回路としてのフリップフロップFF1,FF2をバイパスすることが可能となっている。
また、スイッチ回路SW11,SW12、SW21,SW22によりラッチする値を固定化させることが可能となっている。
すなわち、一旦格納されたラッチの値は以降固定されるように、スイッチ回路SW11,SW12、SW21,SW22によって外部からデータが入ってこないよう考慮されている。
各ラッチ回路に固定値を与える方法としては、各ラッチをすべてチェーン状につなぎ、これをシフトレジスタとして、外部からデータを送り込むことにより、これらのラッチ回路としてのフリップフロップFF1,FF2に固定値を入力することが可能となる。
なお、本実施形態においては、演算器をマトリクス状に配置し、各演算器OP1〜OP16の左部および上部からデータが入力され、右部および下(底)部からデータが出力されるように構成しているが、入出力する部位は、上下左右は特にこだわらない。
たとえば、演算器の右部および上部からデータが入力され、左部および下(底)部からデータが出力されるように構成することも可能である。
また、演算器の左部および下部からデータが入力され、右部および上部からデータが出力されるように構成することも可能である。
また、演算器の右部および下部からデータが入力され、左部および上部からデータが出力されるように構成することも可能である。
図3は、本発明に係る演算装置の他の特徴的な構成を示す図であって、本実施形態における演算器の上層部に複数の配線が縦横にマトリクス状(メッシュ状)に形成されている構成例を示す図である。
図3に示すように、本実施形態の演算装置1においては、各演算器OP(1〜16)の上層部には配線が通っている。
具体的には、各演算器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とを図示しない制御系の制御の下、任意に接続し、切断することが可能となっている。
また、隣接する演算器同士の配線間、図2の例では、演算器OP1の上層に形成された第2の配線UINC1〜UINCnの一端部(右端部)と右側に隣接する演算器OP2の上層に形成された第2の配線UINC1〜UINCnの一端部(左端部)との間に、双方向スイッチBSWOP1〜BSWOPnが形成されている。
また、図示していないが、演算器OP1の上層に形成された第1の配線LINC1〜LINCnの一端部(下端部)と下側に隣接する演算器OP(5)の上層に形成された第1の配線LINC1〜LINCnの一端部(上端部)との間に、双方向スイッチBSWOPを形成することも可能である。
また、第1の配線LINC1〜LINCnまたは/および第2の配線UINC1〜UINCnと下層の演算器の入力ポートおよび出力ポートとを接続する図示しないスイッチを形成することも可能である。
これにより、演算器から出力されたデータを、上層部にある第1の配線LINC1〜LINCnまたは/および第2の配線UINC1〜UINCnを通して、任意の位置にある演算器に接続することが可能になる。
以下に、上記構成を有する演算装置10による演算処理例を説明する。
ここでは、たとえば、例として、ラプラス方程式を解くことを考える。
ラプラス方程式は、次式で表される。
Figure 2006053687
これを直交格子系の有限要素法で解くことを考えると、ある格子点の次世代の値はその周りの4点の平均値になる。これを解くための一例として、図4を示す。
ここで各演算器はたとえば、64ビットの浮動小数点の加減算、乗算器とする。これは、32ビットの浮動小数点でもあるいは固定小数点、あるいは整数に関する演算器でもかまわない。
図4において、A,B,C,D、および、1,2,3,4はそれぞれ各演算器を示す座標を表す。
4つの入力は左端の4つの各点a,b,c,dから入力される。そして、座標A1にある演算器OP1は使用せず、演算器の上部にある配線層間で、横方向の第1の配線LINCと縦方向の第2の配線ULICが双方向スイッチBSWで接続されるのみで、座標A2にある演算器OP5にデータを送るのみである。
図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を加算器として使用する。座標A2の演算器OP5には左部から入力ポートIP5Lを介して入力されたデータbと、上部から第1の配線LINC、スイッチを介してデータaが入力されて加算され、演算器OP5の右部から、演算結果(a + b )が、たとえば、共用ポートSP56RL、スイッチ、第2の配線UINC、演算器間の双方向スイッチBSWOPを介して座標B2に位置する演算部に出力される。
この場合、座標A2の演算器OP5の下部から出力されるデータ、具体的には共用ポートSP59BUからの出力データは使用されない。
同様に、座標A3の演算器OP9は、座標A1と同様に使用されず、演算器の上部にある配線層間で、横方向の第1の配線LINCと縦方向の第2の配線ULICが双方向スイッチBSWで接続されるのみで、座標A4にある演算器OP13にデータを送るのみである。
左部から入力されたデータ(信号)は、図5に示すように、第2の配線UINC1〜UINCnを伝搬され、図示しない制御系により双方向スイッチBSW11,BSW22,BSW33,・・・,BSWnnが導通する(オンする)にように制御される。これにより、第2の配線UINC1〜UINCnを伝搬される信号が第1の配線LINC1〜LINCnに乗り換えて、下側に隣接する演算器OP13に入力信号を伝達可能となる。
この際、座標A3の下層部にある演算器OP9との接続はしない。
不使用の演算器OP9において、出力部にあるラッチ回路としてのフリップフロップFFを通すと、1クロック分データを送ることを遅らせることができ、レイテンシの調整が可能である。しかしここでは、座標A3の下部にあるラッチ回路としてのフリップフロップFFは使用しない。
座標A4では、上部からは第1の配線LINC、スイッチを介してcのデータが入ってきて、座標A4の左部から入力ポートIP13Lを介してデータdが入ってくる。
そして、座標A4の演算器OP13にデータc,dが入力されて加算され、共用ポートSP1415RLを通して、演算結果(c+d)のデータが右側に隣接する演算器OP15に出力される。
座標A2、A4の演算器OP5,OP13の出力部(共用ポートSP56RL、SP1314RL)にあるフリップフロップFF1は使用し、一旦データをここで蓄える。そうすることにより、全体のクロック周波数を高め、処理速度を向上させることが可能になる。また、これにより、データのパイプライン処理化が可能になり、1クロック毎にデータ出力が可能になる。
座標B2の演算器OP6では、座標A1の演算器OP1と同様に左から入ってきたデータ(信号)を、演算器の上部にある配線層間で、横方向の第1の配線LINCと縦方向の第2の配線ULICが双方向スイッチBSWで接続されるのみで、座標B3にある演算器OP10にデータを送るのみである。
この例では、座標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は使用する。
座標C4の演算器OP15は、乗算器として使用する。そして、左部の共用ポートSP1415RLから(a+b+c+d)の和が入力される。
この場合、演算器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クロック毎に新しいデータを入力し、1クロック毎のその結果を出力することが可能であるので、非常に高速に計算が可能になる。
そして、1つの集積回路にこのような演算器を多数集積し、同時並行的に演算を進めることが可能なので、並列処理の分、高速に計算を行うことが可能になる。
また、図6に示すように、このような集積回路(チップ)ICの一番端にある演算器から入力ポート、出力ポートを外部へ端子として出すと、これら集積回路ICを平面状に拡張可能となるため、複雑な計算でも複数の集積回路をいくらでも接続して計算可能となるため、拡張性が非常に高い回路となる。
図7は、本発明に係る演算装置の第2の実施形態の基本的な構成を示す図である。
第2の実施形態に係る演算装置1Aは、以下のように構成されている。
加算器は乗算器に比べて1/10程度と面積が小さいのが一般的である。
よって、演算器を配置する構成として、図7に示すように、乗算器と加算器を分けて別々に集積することも可能である。
図7の例では、図1の構成において、演算器OP1〜OP16を乗算器として配置し、4つの乗算器の入出力ポートで囲まれた矩形領域に面積の小さい加算器OP21〜OP29を配置している。
また、図7の例では、各乗算器間において、入出力ポートをラッチ回路を共用する共用ポートを設ける代わりに、各演算器がラッチ回路としてのフリップフロップを含む2つの入力ポートと2つの出力ポートを持つように構成している。この場合の入出力ポートも、たとえば図2に示すスイッチ回路とフリップフロップFFを備え、バイパス機能、ラッチデータ固定機能を備えたセレクタを含む構成を採用することができる。
この場合も、各乗算器、加算器の上層部に配線層を設け、図5のように縦方向、横方向の配線を施設し、これらにスイッチを設ける。また、この場合には、さらに各乗算器の間の上層部にも同様の配線層を設け、ここにもスイッチを配置する。
図8は、本発明に係る演算装置の第3の実施形態の基本的な構成を示す図である。
本第3の実施形態において、各乗算器間において、入出力ポートをラッチ回路を共用する共用ポートを設ける代わりに、各演算器がラッチ回路としてのフリップフロップを含む2つの入力ポートと2つの出力ポートを持つように構成している。この場合の入出力ポートも、たとえば図2に示すスイッチ回路とフリップフロップFFを備え、バイパス機能、ラッチデータ固定機能を備えたセレクタを含む構成を有する。
そして、図8の例においては、各演算器間、具体的にはデータフローの上流側に位置する演算器の出力ポートOPと下流側に隣接して位置する演算器の入力ポート間にいわゆるスイッチを含む配線回路CRBを配置し、演算器間に配線を通すように構成している。
そして、配線回路CRB間の配線にも、入出力ポートと同様の構成を有する、たとえば図2に示すスイッチ回路とフリップフロップFFを備え、バイパス機能、ラッチデータ固定機能を備えたセレクタを含むポートPTを配置している。
具体的には、図8の例においては、演算器OP1の出力ポートIO1Rと演算器OP2の入力ポートIP2Lとの間に配線回路CRB12を接続している。
演算器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が接続されている。
なお、図8において、○はスイッチを表す。また、□はフリップフロップおよびスイッチを含むセレクタを表す。各セレクタにおいては、フリップフロップはバイパス可能である。また、各演算器においては、スイッチが配置しているが、この構成は、図3の構成と等価な構成で構成可能であり、また、各配線回路の部分も、図3の構成と等価な回路で構成することが可能である。
これらを接続、切断することで、非常に柔軟性の高い再構成可能な回路が可能になる。
この場合、演算器間にある配線の占める面積は演算器部に比べてきわめて小さい。
図8において、ここでは、ブロック図的に示しているため、図8に符号aとbで示す幅は同じに図示されているが、実際のレイアウト上での幅である、aとbを比べると、aは演算器の幅で、64ビット浮動小数点乗算器等なのでかなり大きいが、bの部分は、単なる配線に双方向のスイッチ等がついているだけなので、bの方がaよりもはるかに小さい。
よって、演算器間の配線b部を64ビット幅の配線を1セットと考えると、図8に示すように1セットのみでなく、図9に示すように複数セット配置することも可能であり、さらに柔軟性の高い集積回路が実現可能になる。
図9の演算装置1Cにおいては、演算器OP1の出力ポートIO1Rと演算器OP2の入力ポートIP2Lとの間に配線回路CRB12A,CRB12Bを接続し、配線回路CRB12A,CRB12B間にポートPT5Aを接続している。
演算器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が接続されている。
図10は実際に図9のレイアウトを使用した応用の例である。
第1の実施形態において図4で示したものと同じラプラス方程式を図9で実現した場合の例である。
この場合、演算器OP1,OP3,OP4が加算器として機能し、演算器OP2が乗算器として機能する。
演算器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)が、さらに加算される。そして、演算結果(a+b+c+d)が図示しない出力ポートIO4Rや配線回路、を通し、さらに、配線回路CRB24A、ポートPT4A、配線回路CRB14B、ポートPT1B、配線回路CRB12B、および入力ポートIP2Lを通して演算器OP4に入力される。
演算器OP4は、入力ポートIP2UのフリップフロップFF1に、0.25という固定値が与えられている。
そして、演算器OP4において、(a+b+c+d)/4の計算を行う。そして、演算器OP4の図示しない出力ポートから(a+b+c+d)/4の演算結果が出力される。
図8では、演算器間に64ビット幅の配線を1セットしていなかったが、図9の場合はこの図を見てわかるように、演算器間に64ビット幅の配線を複数セットとおすことにより、演算器間の配線が非常に柔軟になり、演算器の使用効率が向上し、非常に柔軟性の高い再構成可能な回路が可能になる。
以上説明したように、本実施形態によれば、数学的な演算に関して、従来CPUによって行っていた計算を、演算部のみをCPUから取り出し、演算器を多数ひとつのチップ上に集積化し、これらの演算器を集積回路内に設けたスイッチにより任意に接続させることを可能とすることで、さまざまな計算を、再構成が可能なデータフロー型の並列計算機として実現可能である。
このことにより、データ処理をパイプライン化させ、また、同時並列的に高速に計算させることが可能である。
データの流れに関しては、各演算器の上層部に縦横に配置した配線を任意に接続切断することが可能にしてあるため、任意の演算器から任意の演算器へ自在にデータを渡すことが可能になっている。
また、本実施形態においては、集積回路内部の演算器の入力ポート、出力ポートを集積回路の外部へ端子として出すことで、この集積回路をいくらでも2次元的に接続し、複雑な計算もできるように拡張可能になっている。
本発明に係る演算装置の第1の実施形態の基本的な構成を示す図である。 本実施形態に係る演算器と共用ポートの構成例を示す図である。 本発明に係る演算装置の他の特徴的な構成を示す図であって、本実施形態における演算器の上層部に複数の配線が縦横にマトリクス状(メッシュ状)に形成されている構成例を示す図である。 本実施形態の演算装置による演算処理例を説明するための図である。 本実施形態の演算装置による演算処理例を説明するための図であって、演算器の上層部に形成された第2の配線と第1の配線との信号伝達の形態を説明するための図である。 複数の演算器を集積化した半導体チップを複数配列した拡張構成を示す図でる。 本発明に係る演算装置の第2の実施形態の基本的な構成を示す図である。 本発明に係る演算装置の第3の実施形態の基本的な構成を示す図である。 図8の演算装置の変形例を示す図である。 実際に図9のレイアウトを使用した応用例を説明するための図である。
符号の説明
1,1A〜1C…演算装置、OP1〜OP16…演算器、IP1〜IP16…入力ポート、IO1〜IO16…出力ポート、SP12,SP23,SP34,・・・…共用ポート、FF1,FF2…フリップフロップ、SW11,SW12,SW21,SW22…スイッチ回路、SEL、SEB…セレクタ、LINC1〜n…第1の配線、UINC1〜n…第2の配線、BSW11〜BSWnn…双方向スイッチ、BSWOP1〜n…双方向スイッチ。

Claims (39)

  1. 複数の演算器が一つの半導体集積回路に集積化され、
    上記複数の演算器の各々は、
    複数の入力ポートおよび複数の出力ポートを含み、
    上記各入力ポートが演算データの入力ラインまたは前段の演算器の出力ポートに接続され、
    上記入力ポートから入力した演算データに対する演算結果が、上記出力ポートを通して後段に位置する演算器に順次流れていくように形成されている
    演算装置。
  2. 上記入力ポートおよび出力ポートは、入力データおよび出力データを保持可能なラッチ回路を含む
    請求項1記載の演算装置。
  3. データフローの上流に位置する演算器の出力ポートのラッチ回路と当該演算器の出力側に位置する演算器の入力ポートのラッチ回路が共用されている
    請求項2記載の演算装置。
  4. 上記各演算器の出力ポートのラッチ回路の入力段に、出力ポートのラッチ回路に入る入力信号を演算器の出力と演算器の入力とで切り替えることが可能なスイッチ回路を有する
    請求項2記載の演算装置。
  5. 上記ラッチ回路をバイパスすることが可能なスイッチ回路を有する
    請求項2記載の演算装置。
  6. 上記ラッチ回路をバイパスすることが可能なスイッチ回路を有する
    請求項3記載の演算装置。
  7. 上記ラッチ回路をバイパスすることが可能なスイッチ回路を有する
    請求項4記載の演算装置。
  8. 上記ラッチ回路のラッチの値を固定化させるスイッチ回路を有する
    請求項2記載の演算装置。
  9. 上記ラッチ回路のラッチの値を固定化させるスイッチ回路を有する
    請求項7記載の演算装置。
  10. 入力ポートのラッチ回路には、決まった定数をラッチすることにより、所定の演算器の入力を固定値にすることが可能である
    請求項2記載の演算装置。
  11. 各ラッチ回路をすべてチェーン状につないでシフトレジスタを構成し、外部からデータを送り込むことにより、これらのラッチ回路に固定値を入力することが可能である
    請求項10記載の演算装置。
  12. 上記各演算器は、マトリクス状に配置され、1つの演算器を矩形とし、4つの縁部のうち、互いに隣接する2つの縁部に入力ポートが形成され、他の隣接する演算に出力ポートが形成されている
    請求項1記載の演算装置。
  13. 複数の演算器が一つの半導体集積回路に集積化され、
    上記複数の演算器の各々は、
    複数の入力ポートおよび複数の出力ポートを含み、
    各演算器の上層部に互いに配線方向が異なる第1および第2の配線が複数形成され、当該第1および第2の配線を選択的に接続、切断可能な双方向スイッチを有する
    演算装置。
  14. 上記各演算器の上層部に形成された第1または/および第2の配線が下層部にある演算器の入出力ポートと接続切断することが可能である
    請求項13記載の演算装置。
  15. 各隣接する演算器の上層部の配線同士を接続切断するスイッチを有する
    請求項13記載の演算装置。
  16. 上記各スイッチにより、一の演算器の入出力ポートが上層の配線を経由して他の任意の位置にある演算器の入出力ポートと任意に接続可能である
    請求項14記載の演算装置。
  17. 上記各スイッチにより、一の演算器の入出力ポートが上層の配線を経由して他の任意の位置にある演算器の入出力ポートと任意に接続可能である
    請求項15記載の演算装置。
  18. 上記入力ポートおよび出力ポートは、入力データおよび出力データを保持可能なラッチ回路を含む
    請求項13記載の演算装置。
  19. データフローの上流に位置する演算器の出力ポートのラッチ回路と当該演算器の出力側に位置する演算器の入力ポートのラッチ回路が共用されている
    請求項18記載の演算装置。
  20. 上記各演算器の出力ポートのラッチ回路の入力段に、出力ポートのラッチ回路に入る入力信号を演算器の出力と演算器の入力とで切り替えることが可能なスイッチ回路を有する
    請求項18記載の演算装置。
  21. 上記ラッチ回路をバイパスすることが可能なスイッチ回路を有する
    請求項18記載の演算装置。
  22. 上記ラッチ回路のラッチの値を固定化させるスイッチ回路を有する
    請求項18記載の演算装置。
  23. 入力ポートのラッチ回路には、決まった定数をラッチすることにより、所定の演算器の入力を固定値にすることが可能である
    請求項18記載の演算装置。
  24. 各ラッチ回路をすべてチェーン状につないでシフトレジスタを構成し、外部からデータを送り込むことにより、これらのラッチ回路に固定値を入力することが可能である
    請求項23記載の演算装置。
  25. 上記各演算器は、マトリクス状に配置され、1つの演算器を矩形とし、4つの縁部のうち、互いに隣接する2つの縁部に入力ポートが形成され、他の隣接する演算に出力ポートが形成されている
    請求項13記載の演算装置。
  26. 複数の演算器が一つの半導体集積回路に集積化され、
    上記複数の演算器の各々は、
    複数の入力ポートおよび複数の出力ポートを含み、
    上記各入力ポートが演算データの入力ラインまたは前段の演算器の出力ポートに接続され、
    上記入力ポートから入力した演算データに対する演算結果が、上記出力ポートを通して後段に位置する演算器に順次流れていくように形成され、
    上記各演算器間の出力ポートと入力ポートとの間にデータの伝搬方向を変更可能なスイッチを含む配線回路が配置されている
    演算装置。
  27. 上記入力ポートおよび出力ポートは、入力データおよび出力データを保持可能なラッチ回路を含む
    請求項26記載の演算装置。
  28. 上記各演算器の出力ポートのラッチ回路の入力段に、出力ポートのラッチ回路に入る入力信号を演算器の出力と演算器の入力とで切り替えることが可能なスイッチ回路を有する
    請求項27記載の演算装置。
  29. 上記ラッチ回路をバイパスすることが可能なスイッチ回路を有する
    請求項27記載の演算装置。
  30. 上記ラッチ回路のラッチの値を固定化させるスイッチ回路を有する
    請求項27記載の演算装置。
  31. 入力ポートのラッチ回路には、決まった定数をラッチすることにより、所定の演算器の入力を固定値にすることが可能である
    請求項27記載の演算装置。
  32. 各ラッチ回路をすべてチェーン状につないでシフトレジスタを構成し、外部からデータを送り込むことにより、これらのラッチ回路に固定値を入力することが可能である
    請求項31記載の演算装置。
  33. 上記各演算器は、マトリクス状に配置され、1つの演算器を矩形とし、4つの縁部のうち、互いに隣接する2つの縁部に入力ポートが形成され、他の隣接する演算に出力ポートが形成されている
    請求項27記載の演算装置。
  34. 各演算器の上層部に互いに配線方向が異なる第1および第2の配線が複数形成され、当該第1および第2の配線を選択的に接続、切断可能な双方向スイッチを有する
    請求項26記載の演算装置。
  35. 上記各演算器の上層部に形成された第1または/および第2の配線が下層部にある演算器の入出力ポートと接続切断することが可能である
    請求項34記載の演算装置。
  36. 各隣接する演算器の上層部の配線同士を接続切断するスイッチを有する
    請求項34記載の演算装置。
  37. 複数の演算器がマトリクス状に集積化された複数の半導体チップを有し、
    上記複数の演算器の各々は、
    複数の入力ポートおよび複数の出力ポートを含み、
    上記各入力ポートが演算データの入力ラインまたは前段の演算器の出力ポートに接続され、
    上記入力ポートから入力した演算データに対する演算結果が、上記出力ポートを通して後段に位置する演算器に順次流れていくように形成され、
    半導体チップの最外側の演算器の出力ポートと、他の半導体チップの最外側の演算器の入力ポートが接続されている
    演算装置。
  38. 複数の演算器がマトリクス状に集積化された複数の半導体チップを有し、
    上記複数の演算器の各々は、
    複数の入力ポートおよび複数の出力ポートを含み、
    各演算器の上層部に互いに配線方向が異なる第1および第2の配線を複数形成し、当該第1および第2の配線を選択的に接続、切断可能な双方向スイッチを有し、
    半導体チップの最外側の演算器の出力ポートと、他の半導体チップの最外側の演算器の入力ポートが接続されている
    演算装置。
  39. 複数の演算器がマトリクス状に集積化された複数の半導体チップを有し、
    上記複数の演算器の各々は、
    複数の入力ポートおよび複数の出力ポートを含み、
    上記各入力ポートが演算データの入力ラインまたは前段の演算器の出力ポートに接続され、
    上記入力ポートから入力した演算データに対する演算結果が、上記出力ポートを通して後段に位置する演算器に順次流れていくように形成され、
    上記各演算器間の出力ポートと入力ポートとの間にデータの伝搬方向を変更可能なスイッチを含む配線回路が配置され、
    半導体チップの最外側の演算器の出力ポートと、他の半導体チップの最外側の演算器の入力ポートが接続されている
    演算装置。
JP2004233759A 2004-08-10 2004-08-10 演算装置 Pending JP2006053687A (ja)

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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018530040A (ja) * 2015-07-31 2018-10-11 呉 国盛WU, Guosheng 自己適応型チップ及び配置方法

Citations (10)

* Cited by examiner, † Cited by third party
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 集積回路及びシステム開発方法

Patent Citations (10)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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