(57)【要約】【課題】処理の並列性を十分に利用可能な新たなアーキテクチャのコンピュータを提供する。【解決手段】演算要素セルは、伝播値を記憶するための記憶装置４４、凍結値を記憶するための記憶装置４０、隣接要素から凍結値を受取るための端子５０、６４、７２、８２、隣接要素から伝播値を受取るための端子５４、６０、７６、７８、隣接セルに凍結値を送るための端子５２、６２、７０、８４、隣接セルに伝播値を送るための端子５６、５８、７４、８０、隣接セルの凍結値と遺伝子コード４８とに基づいて凍結値を計算するリボソーム４２、および、凍結値と、伝播値と、隣接セルの伝播値との予め定められた遷移関数によって、伝播値を計算する伝播値計算機４６を含む。【選択図】        図１
2004341900.tif 000002
【特許請求の範囲】
【請求項１】
演算要素セルであって、
所望の計算結果を表す伝播値を記憶するための第１の記憶手段と、
前記演算要素セルの隣接セルへの接続設定を表す凍結値を記憶するための第２の記憶手段と、
隣接セルから凍結値及び伝播値を受取るための一組の受信手段と、
前記一組の受信手段が隣接セルから受信した凍結値に基づき、前記第２の記憶手段に記憶された凍結値を計算するための第１の計算手段と、
前記第２の記憶手段に記憶された凍結値、前記第１の記憶手段に記憶された伝播値、及び前記一組の受信手段が隣接セルから受信した伝播値の、予め定められた遷移関数によって、前記第１の記憶手段に記憶される伝播値を計算するための第２の計算手段と、
前記第１の記憶手段に記憶された伝播値および前記第２の記憶手段に記憶された凍結値を隣接セルに出力するための一組の出力手段とを含む、演算要素セル。
【請求項２】
前記第１の計算手段は、
凍結値を決定するための規則を規定する遺伝子コードを記憶するための第３の記憶手段と、
遺伝子コードによって規定された規則を，隣接セルから前記一組の受信手段が受信した凍結値に適用して、前記第２の記憶手段に記憶された凍結値を決定するための決定手段とを含む、請求項１に記載の演算要素セル。
【請求項３】
隣接セルの一つから遺伝子コードを受取り、受信した遺伝子コードを前記第３の記憶手段に記憶し、その遺伝子コードを他の隣接セルに出力するための遺伝子コード伝搬手段をさらに含む、請求項２に記載の演算要素セル。
【請求項４】
第１の外部クロック信号に従って前記第１の計算手段を駆動するための第１の駆動手段と、
前記第１の外部クロック信号と異なる第２の外部クロック信号に従って前記第２の計算手段を駆動するための第２の駆動手段とをさらに含む、請求項１から請求項３のいずれかに記載の演算要素セル。
【請求項５】
前記演算要素セルはほぼ直方体の形状を有する、請求項１から請求項４のいずれかに記載の演算要素セル。
【請求項６】
前記直方体の形状は、互いに平行な第１の面と第２の面とを有し、
前記受信手段の一つは、前記第１の表面のそれぞれ予め定められた位置に設けられた、前記第１の記憶手段および前記第２の記憶手段にそれぞれ接続された端子を含み、
前記出力手段の一つは、前記第２の面の、前記それぞれ予め定められた位置に対応する位置にそれぞれ設けられた、前記第１の記憶手段および前記第２の記憶手段にそれぞれ接続された端子を含む、請求項５に記載の演算要素セル。
【請求項７】
前記第１の計算手段によって計算される各凍結値は論理１または論理０のいずれかの値をとる、請求項１から請求項６のいずれかに記載の演算要素セル。
【請求項８】
前記第２の計算手段によって計算される伝播値は、予め定められた整数の組のうちいずれかの整数をとる、請求項１から請求項７のいずれかに記載の演算要素セル。
【請求項９】
前記第２の計算手段によって計算された伝播値は、論理１または論理０のいずれかの値をとる、請求項８に記載の演算要素セル。
【請求項１０】
前記予め定められた遷移関数は複数の入力を有し、入力と予め規定された式とに基づいて計算された整数を返す、請求項１から請求項９のいずれかに記載の演算要素セル。
【請求項１１】
前記予め定められた遷移関数は、前記複数の入力のうちの一つが論理１であるときのみ、論理１を返す、請求項１０に記載の演算要素セル。
【請求項１２】
請求項１から請求項１１のいずれかに記載の演算要素セルを複数含む進化可能なセルラプロセッサであって、前記演算要素セルはアレイに配列され、演算要素セルの各々は、それぞれの受信手段の組とそれぞれの出力手段の組とによって、隣接する演算要素セルと接続される、進化可能なセルラプロセッサ。
【請求項１３】
前記演算要素セルは２次元のアレイに配列される、請求項１２に記載の進化可能なセルラプロセッサ。
【請求項１４】
前記演算要素セルは３次元のアレイに配列される、請求項１２に記載の進化可能なセルラプロセッサ。
【請求項１５】
前記演算要素セルは１次元のアレイに配列される、請求項１２に記載の進化可能なセルラプロセッサ。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明はセルベースのコンピュータに関する。特に、この発明は、大規模に並列化された進化可能なコンピュータの鍵となる要素である、進化可能なセルラプロセッサ（ＥＣＰ）に関する。
【０００２】
【従来の技術】
変化の激しい今日の社会は、コンピュータに大きく依存している。このため、種々の要求を満たす高速で正確なコンピュータが常に必要とされている。これは、より強力なコンピュータに対する需要につながっている。
【０００３】
コンピュータの能力はコンピュータを構成する半導体素子の数、コンピュータの動作速度を高める素子の微細化の程度、コンピュータのアーキテクチャ、及びコンピュータ上で実行されるソフトウェアの有効性から引出される。
【０００４】
高度に集積化された半導体素子を製造する努力がなされてきた。今日ではこれにより驚くべき結果が達成され、２ＧＨｚ以上のクロック速度が達成されている。
【０００５】
【発明が解決しようとする課題】
しかしながら、半導体素子はいまや非常に高度に集積化されているので、今後の１０年間で微細化をさらに進めるのは困難であろう。次世代コンピュータの鍵となる要素はそのアーキテクチャであろう。従来のコンピュータのほとんどはフォンノイマン型、すなわち、プログラムを記憶装置に記憶するプログラム記憶型のコンピュータであり、プログラムカウンタが示すプログラムの命令をシーケンシャルに実行する。
【０００６】
現代のフォンノイマン型コンピュータは、ある程度までプログラムの並列性を利用してはいるが、その動作原理は本質的にはシーケンシャルである。従って、並列性を十分に利用することはできない。さらに、限られたものとはいえ並列処理の能力を備えたフォンノイマン型コンピュータは、構造が複雑である。このため、特定のニーズに応えてコンピュータをカスタマイズすることが困難となる。
【０００７】
従って、この発明の目的は、処理の並列性を十分に利用することが可能な新たなアーキテクチャのコンピュータを提供することである。
【０００８】
この発明の別の目的は、処理の並列性を十分に利用することが可能な新たなアーキテクチャのコンピュータであって、必要に応じて容易にカスタマイズできるコンピュータを提供することである。
【０００９】
この発明のさらに別の目的は、計算装置の製造プロセスを簡素化できる、新たなアーキテクチャのコンピュータを提供することである。
【００１０】
この発明のさらに別の目的は、処理の並列性を十分に利用することが可能な新たなアーキテクチャのコンピュータであって、ナノスケールで実現可能なコンピュータを提供することである。
【００１１】
【課題を解決するための手段】
この発明のある局面によれば、演算要素セルは、所望の計算結果を表す伝播値を記憶するための第１の記憶手段と、演算要素セルの隣接セルへの接続設定を表す凍結値を記憶するための第２の記憶手段と、隣接セルから凍結値及び伝播値を受取るための一組の受信手段と、一組の受信手段が隣接セルから受信した凍結値に基づき、第２の記憶手段に記憶された凍結値を計算するための第１の計算手段と、第２の記憶手段に記憶された凍結値、第１の記憶手段に記憶された伝播値、及び一組の受信手段が隣接セルから受信した伝播値の、予め定められた遷移関数によって、第１の記憶手段に記憶された伝播値を計算するための第２の計算手段と、第１の記憶手段に記憶された伝播値および第２の記憶手段に記憶された凍結値を隣接セルに出力するための一組の出力手段とを含む。
【００１２】
好ましくは、第１の計算手段は、凍結値を決定するための規則を規定する遺伝子コードを記憶するための第３の記憶手段と、遺伝子コードによって規定された規則を、隣接セルから一組の受信手段が受信した凍結値に適用して、第２の記憶手段に記憶された凍結値を決定するための決定手段とを含む。
【００１３】
より好ましくは、演算要素セルは、隣接セルの一つから遺伝子コードを受取り、受信した遺伝子コードを第３の記憶手段に記憶し、その遺伝子コードを他の隣接セルに出力するための遺伝子コード伝搬手段をさらに含む。
【００１４】
演算要素セルはさらに、第１の外部クロック信号に従って第１の計算手段を駆動するための第１の駆動手段と、第１の外部クロック信号と異なる第２の外部クロック信号に従って第２の計算手段を駆動する第２の駆動手段とを含んでもよい。
【００１５】
演算要素セルは、ほぼ直方体の形状を有してもよい。
【００１６】
さらに、この直方体の形状は、互いに平行な第１の面と第２の面とを有してもよく、受信手段の一つは、第１の表面のそれぞれ予め定められた位置に設けられた、第１の記憶手段および第２の記憶手段にそれぞれ接続された端子を含み、出力手段の一つは、第２の面の、それぞれ予め定められた位置に対応する位置にそれぞれ設けられた、第１の記憶手段および第２の記憶手段にそれぞれ接続された端子を含む。
【００１７】
第１の計算手段によって計算される各凍結値は論理１または論理０のいずれかの値をとってもよい。
【００１８】
さらに、第２の計算手段によって計算される伝播値は、予め定められた整数の組のうちいずれかの整数をとってもよい。例えば、これは、論理１または論理０のいずれかの値をとってもよい。
【００１９】
好ましくは、予め定められた遷移関数は複数の入力を有し、入力と予め規定された式とに基づいて計算された整数を返す。例えば、これは、複数の入力のうち一つが論理１であるときのみ、論理１を返してもよい。
【００２０】
この発明の別の局面に従った進化可能なセルラプロセッサは、上述の演算要素セルを多数含む。演算要素セルはアレイに配列され、演算要素セルの各々はそれぞれの受信手段の組とそれぞれの出力手段の組とによって、隣接する演算要素セルと接続される。
【００２１】
好ましくは、演算要素セルは２次元のアレイに配列される。演算要素セルは３次元のアレイに配列されてもよい。または、演算要素セルは１次元のアレイに配列されてもよい。
【００２２】
【発明の実施の形態】
−ＥＣＰおよびＥＣＰセルの概要−
以下に記載のこの発明の実施の形態は、進化可能なセルラプロセッサ（ＥＣＰ）に関する。ＥＣＰははんだ付け無しで組立てられる一組の演算要素セルである。各セルは２種類の値を計算する。すなわち「凍結値」と「伝播値」とである。これらの用語については、具体的な例を挙げながら後に説明する。あるセルの新たな凍結値は、「遺伝子コード」と隣接セルの凍結値とに基づいて計算され、そのセルの伝播値はその凍結値と隣接セルの伝播値とに基づいて計算される。ＥＣＰの伝播値の最初の組と最終的な組とが、それぞれ入力データと計算結果とを表す。中間セルの伝播値は計算の中間結果を表す。あるセルの凍結値はそのセルの遷移関数のパラメータを与え、そのセルの伝播値を計算する際のセルの振舞いを規定する。言換えれば、以下の説明から明らかになるとおり、凍結値はＥＣＰセルの、隣接セルへの接続の設定を表す。
【００２３】
以下の説明から明らかなとおり、ＥＣＰセルは従来のボードを用いず組合せることができる。それらは互いに接続され協働する。ＥＣＰ全体における所与のセルの役割は、隣接要素の役割とその遺伝子コードとから導出される。
【００２４】
ＥＣＰははんだ付け無しで組立てられる。組立てられると、セルはそれ自身でその設定を決定する。これらの特性により、計算装置の生産プロセスが簡素化され、カスタマイズが容易になる。中間にワイヤがないので、ＥＣＰをナノスケールで実現することができる。ＥＣＰは遺伝子メカニズムを用いて、世代を通して自己発展が可能である。
【００２５】
凍結値の一つは、所与のセルが胚であるか否かを示す。この例では、胚はゼロでない初期凍結値を持つ単一のセルである。
【００２６】
このＥＣＰには２つの動作サイクルがある。目的である計算のための高周波数サイクルと、装置の自己設定のための低周波数サイクルとである。
【００２７】
高周波数サイクルでは、セルの新しい伝播値が外部装置によって定められるか、又はそのセルの直前の伝播値とその隣接要素の直前の伝播値とに基づいてＰＶＣ（Ｐｕｌｓｅｄ  Ｖａｌｕｅ  Ｃａｌｃｕｌａｔｏｒ：伝播値計算装置）によって生成される。
【００２８】
低周波数サイクルでは、セルの新たな凍結値が、そのセルの直前の凍結値と隣接要素の直前の凍結値とに基づいて、「遺伝子コード」に従い、「リボソーム」によって生成される。「リボソーム」及び「遺伝子コード」の詳細は後述する。
【００２９】
隣接要素がなく、胚でもないセルは、空のセルである。すなわち、その伝播値及び凍結値は共にゼロに等しい。
【００３０】
胚または胚を含むＥＣＰセルのグループに新たに取付けられたセルはいずれも、その胚から遺伝子コードを得るので、そのリボソームがＰＶＣにパラメータを提供できる。従って、完全な装置を得るために必要なのは、胚一つを用意し、順にいくつもの空のセルを装着していくことだけであり、この間に装置はそれ自身の設定を決定していき、より有用な計算装置となる。２種の異なる胚が接続されると、それらの遺伝子コードは交差の対象となる。上述の特性により、ＥＣＰは交配が可能である。
−ＥＣＰセルの構造−
図１はこの発明の一実施の形態に従ったＥＣＰセル３０の構造を示す図である。セルを３次元のアレイに配置して６個の隣接要素を有するようにしてもよいが、図では同じ層の４個の隣接要素への接続のみを示す。実際には、セルは、上層および下層に位置する２次元の隣接セルとデータをやり取りすることもできる。
【００３１】
図１を参照して、ＥＣＰセル３０はほぼ直方体の形状を有し、最大で６個の隣接セルから凍結値を受取るための、凍結値（ＦＶ）入力端子５０、６４、７２，８２及び場合によりさらに２つの端子と、ＥＣＰセル３０の凍結値を隣接セルに出力するためのＦＶ出力端子５２、６２、７０、８４及び場合によりさらに２つの端子と、隣接セルの伝播値を受取るための伝播値（ＰＶ）入力端子５４、６０、７６、７８及び場合によりさらに２つの端子と、ＥＣＰセル３０の伝播値を隣接セルに出力するためのＰＶ出力端子５６、５８、７４、８０及び場合によりさらに２つの端子とを有する。
【００３２】
ＰＶ入力端子６０及びＰＶ出力端子５８は、ＥＣＰセル３０本体の一側面上に形成される。ＰＶ出力端子８０及びＰＶ入力端子７８は、端子５８及び６０が形成される面に対向しかつそれと平行な、ＥＣＰセル３０本体の別の側面上に形成される。ＰＶ入力端子６０及びＰＶ出力端子８０と、ＰＶ出力端子５８及びＰＶ入力端子７８とは、対応する位置に形成され、隣接するセルが伝播値を交換することができるようになっている。ＦＶ入力端子５０及びＦＶ出力端子７０、ＦＶ出力端子５２及びＦＶ入力端子７２、ＰＶ入力端子５４及びＰＶ出力端子７４、ＰＶ出力端子５６及びＰＶ入力端子７６、ＦＶ出力端子６２及びＦＶ入力端子８２、ならびにＦＶ入力端子６４及びＦＶ出力端子８４はすべて、互いに対向しかつ平行な側面の対応する位置に形成される。
【００３３】
ＥＣＰセル３０はさらに、リボソーム４２を駆動する第１のクロック信号を受信するための第１のクロック入力端子６６と、第１のクロック信号を出力するための第１のクロック出力端子８６と、ＰＶＣ４６を駆動する第２のクロック信号を受信するための第２のクロック入力端子６８と、第２のクロック信号を出力するための第２のクロック出力端子８８と、それぞれの隣接セルから遺伝子コードを受信し、遺伝子コード記憶装置４８に記憶された遺伝子コードをそれぞれの隣接セルに送るための遺伝子コード（ＧＣ）入出力端子９０、９２、９４、９６及び場合によりさらに２つの端子、とを有する。
【００３４】
ＥＣＰセル３０は、ＦＶ出力端子５２、６２、７０および８４に接続され、ＥＣＰセル３０の凍結値を記憶するためのＦＶ記憶装置４０と、ＧＣ入力端子９０及びＧＣ出力端子９２に接続され、ＥＣＰセル３０の遺伝子コードを記憶するためのＧＣ記憶装置４８と、遺伝子コードから導出された計算規則をＦＶ記憶装置４０に記憶された凍結値とＦＶ入力端子５０、６４、７２及び８４を介して受信された４個の隣接セルの凍結値とに適用して、ＥＣＰセル３０の凍結値を計算するための「リボソーム」４２とを含む。
【００３５】
リボソーム４２は凍結値計算装置である。これを「リボソーム」と呼ぶのは、これがＧＣ記憶装置４８に記憶された遺伝子コードから一組の規則を導出し、ＥＣＰセル３０の挙動を規定することになるＥＣＰセル３０の凍結値を計算するからである。通常の意味では、リボソームは生物学の分野で、ＲＮＡ（リボ核酸）を構成する材料をさす。
【００３６】
ＥＣＰセル３０はさらに、ＥＣＰセル３０の伝播値を記憶するためのＰＶ記憶装置４４と、ＰＶ入力端子５４、６０、７６、７８、ＰＶ記憶装置４４及びＦＶ記憶装置４０に接続され、隣接セルの伝播値とＦＶ記憶装置４０に記憶された凍結値とに基づきＰＶ記憶装置４４に記憶された伝播値を計算し更新するためのＰＶＣ４６とを含む。
【００３７】
ＥＣＰセル３０の凍結値は、ＦＶ出力端子５２、６２、７０及び８４を介して隣接するセルに与えられ、それぞれのセルの凍結値を計算するのに用いられる。ＥＣＰセル３０の伝播値は、ＰＶ出力端子５６、５８、７４及び８０を介して隣接するセルに与えられ、それぞれのセルの伝播値を計算するのに用いられる。
【００３８】
ＰＶＣ４６は、第２のクロック入力端子６８から第２のクロック出力端子８８へと伝搬する第２のクロック信号を受けるよう接続され、第２のクロック信号の各立上りエッジで動作する。リボソーム４２は、第１のクロック入力端子６６から第１のクロック出力端子８６へと伝搬する第１のクロック信号を受けるよう接続され、第１のクロック信号の各立上りエッジで動作する。第２のクロック信号は第１のクロック信号より周波数が高い。
−ＥＣＰの構造−
図２は３次元のアレイ状に接続されたＥＣＰセル３０Ａ−３０Ｉ（ＥＣＰセル３０と総称する）を含むＥＣＰを示す。この例では、ＥＣＰセル３０ＡはＥＣＰセル３０Ｂおよび３０Ｄに接続されている。ＥＣＰセル３０ＢはＥＣＰセル３０Ａ、３０Ｃおよび３０Ｅに接続されている。ＥＣＰセル３０ＣはＥＣＰセル３０Ｂおよび３０Ｆに接続されている。ＥＣＰセル３０ＤはＥＣＰセル３０Ａ、３０Ｅおよび３０Ｇに接続されている。ＥＣＰセル３０ＥはＥＣＰセル３０Ｂ、３０Ｄ、３０Ｆおよび３０Ｈに接続され、以下同様である。隣接する層の隣接するセルは互いに接続される。この配列では、各セルが、隣接するセルすべての凍結値と伝播値とを受信することができる。同様に、各セルは隣接するセルから遺伝子コードを受取ることができる。この例では、ＥＣＰセル３０Ａ、３０Ｄおよび３０Ｇのいずれかが外部から遺伝子コードを受取り、これらを後続のセルに送ることができる。
−凍結値と伝播値−
以下、凍結値と伝播値との詳細を説明する。図３は、この例で用いられる隣接要素の番号順を示す。図３を参照して、ＥＣＰセル３０は１番目から４番目までの隣接要素１４２、１４４、１４６及び１４８に接続されている。ＥＣＰセル３０の伝播値は、「ａ０」（ａ０∈｛０，  １｝）で示される。ＥＣＰセル３０の凍結値は５個の要素を含み、それぞれｄ０，０、ｄ０，１、ｄ０，２、ｄ０，３、及びｄ０，４
（（ｄ０，０，  ｄ０，１，  ｄ０，２，  ｄ０，３，  ｄ０，４）∈｛０，  １｝５）で示される。この例では、０及び１はそれぞれ論理１及び論理０を示す。
【００３９】
図４はＥＣＰセル３０の凍結値ｄ０，０、ｄ０，１、ｄ０，２、ｄ０，３、及びｄ０，４の役割を模式的に示す。図４を参照して、凍結値ｄ０，０はＥＣＰセル３０が胚であるか否かを表す。他の凍結値は、それぞれの隣接セルの伝播値がＥＣＰセル３０の伝播値ａ０を計算するにあたって考慮されるか否かを表すのに用いられる。また、あるセルの凍結値は、一組の規則に従って、隣接するセルの凍結値に基づいて計算される。
【００４０】
図５は、ＥＣＰセル３０のリボソーム４２がどのように凍結値を計算するかを示す。図５を参照して、リボソーム４２は、１番目の隣接要素１４２の凍結値１５２と、２番目の隣接要素１４４の凍結値１５４と、３番目の隣接要素１４６の凍結値１５６と、４番目の隣接要素１４８の凍結値１５８とを受信し、さらにＰＶ記憶装置４４に記憶された凍結値を受取って、遺伝子コードから導出された一組の規則に従ってこれらの値に基づき凍結値を計算する。この規則の組の例を図１５に示し、その詳細は、ＥＣＰの具体例に関連して後述する。
【００４１】
図６を参照して、この例でのＥＣＰセル３０の伝播値はＰＶＣ４６内でＰＶＣ遷移関数Ｓ１によって計算される。関数Ｓ１は４個の入力を受取り、その４個の入力のうち一つが１に等しいときのみ、１を返す、基本的な対称関数である。ある時間ｔにおけるＥＣＰセル３０及びその４個の隣接するセルの伝播値をそれぞれａ０，ｔ、ａ１，ｔ、ａ２，ｔ、ａ３，ｔ、および  ａ４，ｔ、ただしｕは高周波数サイクルの周期であるとし、さらに、時間ｔにおけるＥＣＰセル３０の凍結値をｄ０，０，ｔ、ｄ０，１，ｔ、ｄ０，２，ｔ、ｄ０，３，ｔ、ｄ０，４，ｔ、とすると、時間ｔ＋ｕ（ｕは高周波数サイクルでの周期）における伝播値ａ０，ｔ＋ｕは以下の関数で得られる：ａ０，ｔ＋ｕ＝Ｓ１（ｄ０，１，ｔａ１，ｔ，ｄ０，２，ｔａ２，ｔ，  ｄ０，３，ｔａ３，ｔ，  ｄ０，４，ｔａ４，ｔ）。従って、伝播値はセル３０の凍結値４０と、隣接するセル１４２、１４４、１４６及び１４８のそれぞれの伝播値１７２、１７４、１７６及び１７８とに基づいて計算される。セル３０の凍結値４０は低周波数サイクルにおいてリボソーム４２（図１を参照）によって計算される。
−ＥＣＰの動作−
図２に示されるＥＣＰは二つのフェーズで動作する。第１のフェーズでは、これは第１のクロックで動作して自身の設定を決定し、第２のフェーズでは第２のクロックで動作して、意図された計算を行なう。図２に示されたＥＣＰの第１のフェーズでの動作を図７に示し、第２のフェーズでの動作を図８に示す。
【００４２】
図７を参照して、自己設定サイクルにおいて、ステップ１００で、ＥＣＰセル３０はそれぞれのＧＣ記憶装置に遺伝子コードを格納する。次に、ステップ１０２で、初期凍結値が胚に与えられる。与えるべき凍結値の詳細は後述する。
【００４３】
ステップ１０４で、各セルがその凍結値を隣接セルの凍結値及びそれ自身の凍結値に基づいて計算する。この計算は各セルにおいてリボソームによって繰返される。この計算が完了するときには、ＥＣＰは動作可能となっている。
【００４４】
図８を参照して、ＥＣＰが動作可能となると、ステップ１２０で入力データが適当なセルに与えられる。入力データが与えられるセルは、ＥＣＰの設定により、予め定められている。
【００４５】
ステップ１２２で、第２のクロック信号の適当な数のパルスがＥＣＰに与えられる。各パルスに応答して、ＥＣＰ内のセルのＰＶＣが伝播値を再計算する。
【００４６】
ステップ１２４で、ＥＣＰ設定の最終セルの出力が観察されるが、それが所望の計算の結果である。最終セルは、ＥＣＰの設定により予め定められる。
【００４７】
−ＥＰＣの具体例−
図９は以下の説明に関連して用いられるセルの状態を示す図であって、伝播値ａ０  ＝  １であり、凍結値はそれぞれｄ０，０，
ｄ０，１，  ｄ０，２，  ｄ０，３，  およびｄ０，４  ＝  １である。
【００４８】
例えば、図１０に示されたセル２１０は、その１番目の隣接要素に対応する凍結値ｄ０，１が１であり、他の凍結値ｄ０，２、ｄ０，３およびｄ０，４が０であることを示す。このセル２１０の伝播値は、１クロック前の１番目の隣接セルの伝播値と同じになるはずである。言い換えれば、所与のクロックにおいて１番目の隣接セルの伝播値が「ｘ」で表される場合、次のクロックにおけるこのセル２１０の伝播値も「ｘ」となる。
【００４９】
図１１に示されるセル２１２は、１番目と２番目の隣接要素に対応するその凍結値ｄ０，１、ｄ０，２が１であり、他の凍結値ｄ０，３及びｄ０，４が０であることを示す。ｘ及びｙが１番目と２番目の隣接要素の所与のクロックにおける伝播値をそれぞれ示すとき、このセルの真理値表は以下の通りとなる。この表のブール式は「（￣ｘ∧ｙ）∨（ｘ∧￣ｙ）」である。ここで「〜」は否定を示す。
【００５０】
【表１】
2004341900.tif 000003
図１２に示されるセル２１４は、その１番目、２番目及び４番目の隣接要素に対応する凍結値ｄ０，１、ｄ０，２及びｄ０，４が１であり、ｄ０，３がゼロであることを示す。１番目と２番目のセルの伝播値が共にｘであり４番目のセルの伝播値がｙであるような特定の場合には、このセルの真理値表は以下の通りである。この表のブール式は「￣ｘ∧ｙ」である。
【００５１】
【表２】
2004341900.tif 000004
図９から図１２の表現を用いて、模式的に図１３に示すＡＮＤゲート２２０と等価なＥＣＰの構造と動作とを説明する。
【００５２】
ＥＣＰ版のＡＮＤゲート２２０を図１４に示す。図１４を参照して、ＥＣＰ１００は、各々が隣接するセルに接続された８個のＥＣＰセル３０Ａから３０Ｈを含む。各セルはそれ自身の凍結値を持つ。各セルの凍結値は、それぞれのセルの表現から分かる。
【００５３】
図１５は各セルのリボソーム４２が凍結値の計算に用いる規則の組を示す。これらの規則は、ＧＣ記憶装置４８に記憶された遺伝子コードから導出される。凍結値が３個の添字を有する文字ｄによって表されていることに注意すべきである。第１の添字はその凍結値が属する隣接セルを示し、０であれば凍結値がそのセル自身に属することを示す。隣接セルの番号順は図３に示すとおりである。第２の添字は図４に示すのと同様に用いられる。最後の添字は時間すなわちサイクルを示す。
【００５４】
図１５を参照して、第１の規則Ｒ１は（このセルの時間ｔにおける）凍結値ｄ０，０，ｔが１であるか、または（１番目の隣接セルの、時間ｔにおける）凍結値ｄ１，１，ｔが１であれば、（このセルの、時間ｔ＋Ｔ、ただしＴは低周波数サイクルでの期間、における）新たな凍結値ｄ０，１，ｔ＋Ｔが１となるべきことを述べている。第２の規則Ｒ２は、（４番目のセルの時間ｔにおける）凍結値ｄ４，０，ｔが１であれば、（このセルの、時間ｔ＋Ｔにおける）凍結値ｄ０，２，ｔ＋Ｔが１となるべきことを述べている。他の規則Ｒ３、Ｒ４およびＲ５も同様に解釈される。
【００５５】
上述のとおり、この発明のセルを含むＥＣＰははんだ付け無しで組立てられる。組立てられると、ＥＣＰはそれ自身の設定を決定する。図１６から図２０を参照して、設定フェーズにおけるＥＣＰの動作を説明し、その後、こうして設定されたＥＣＰの動作を図２１から図２４を参照して説明する。
−ＥＣＰの自己設定−
図１６はこの実施例の８個のセル３０Ａから３０Ｈを含む、時間ｔ−５ＴにおけるＥＣＰの初期状態を示す。この状態では、セル３０Ａを除くすべてのセルの凍結値は０である。伝播値はすべて０である。この状態で、セル３０Ａに初期値ｄ０，０，ｔ−４Ｔ  ＝  １が与えられる。すなわち、ＥＣＰ３０Ａが胚となる。規則Ｒ１の結果、時間ｔ＝−４ＴでのＥＣＰの状態は図１７に示す様になる。
【００５６】
次に、ＥＣＰ内のセルに規則Ｒ２及びＲ１を適用した結果、時間ｔ＝−３ＴにおけるＥＣＰ内のセルの凍結値の状態は図１８に示す様になる。時間ｔ＝−２Ｔにおいて、規則Ｒ４、Ｒ３及びＲ１の結果、凍結値は図１９に示す通りとなる。最後に、時間ｔ＝−Ｔで、規則Ｒ１及びＲ５の結果、凍結値は図２０に示す通りとなる。
−意図した計算−
このように設定されたＥＣＰは以下のように動作する。図２１を参照して、初期伝播値ｙ及びｘが時間ｔ＝０でセル３０Ａおよび３０Ｇにそれぞれ与えられる。この結果、ＥＣＰセル３０Ａ及び３０Ｇの伝播値ａａ０，０及びａｇ０，０はそれぞれｙ及びｘとなる。
【００５７】
次のサイクルにおいて時間ｔ＝ｕ（ｕは高周波数サイクルの期間を表す）で、セル３０Ａの伝播値がセル３０Ｂに転送される。セル３０Ｇの伝播値はセル３０Ｄ及び３０Ｈに転送される。
【００５８】
セル３０Ｅはその２つの入力（左及び上部）でｘを受取り、その下部の入力でｙを受取る。従って、セル３０Ｅの論理値は「￣ｘ∧ｙ」である。従って、時間Ｔ＝２ｕでのセル３０Ｅの伝播値は、「￣ｘ∧ｙ」の結果となる。セル３０Ｂの伝播値（＝ｙ）はセル３０Ｃに転送される。これを図２３に示す。
【００５９】
最後に、時間ｔ＝３ｕにおいて、セル３０Ｆはセル３０Ｅから値「￣ｘ∧ｙ」を受取り、セル３０Ｃから「ｙ」を受取る。これらの入力の論理結果は「（￣（￣ｘ∧ｙ）∧ｙ）」∨（（￣ｘ∧ｙ）∧￣ｙ））」となり、ｘ∧ｙが得られる。こうして、論理積ｘ∧ｙ  ＝  ｘｙがセル３０Ｆの伝播値として得られる。従って、セル３０Ｆの出力を観察することで、ｘとｙとの論理積の結果を得ることができる。
【００６０】
上述のとおり、ＥＣＰセルは、凍結値、伝播値、遺伝子コード及びクロック信号用の入力を有する。しか、ＥＣＰははんだ付け無しで複数のＥＣＰセルから組立てることができる。ボードは不要である。組立てられると、ＥＣＰは遺伝子コードに従ってそれ自身の設定を決定する。従って、ＥＣＰを用いて計算装置を製造するプロセスが簡単となる。セルの接続に配線が不要であるため、ＥＣＰセルをナノスケールで実現できる。
【００６１】
さらに、こうして設定されたＥＣＰの動作は、その性質上、並列性を伴っている。従って、ＥＣＰとＥＣＰセルとは、大規模に並列化された計算装置を実現するのに好適である。
【００６２】
この発明を、ＥＣＰセルが３次元のアレイに配列された実施の形態に関連して説明したが、ＥＣＰセルを１次元のアレイ、すなわち線状に接続しても、２次元のアレイ形状に接続してもよいことが、当業者には容易に理解されるであろう。さらに、この実施の形態はＡＮＤゲートに関するものであるが、どのような論理回路を実現するにもＥＣＰセルを使用可能であることが、当業者には容易に理解されるであろう。
【００６３】
上述の実施例は例示であって、限定するものと解釈してはならない。この発明の範囲は実施例の記載を適切に考慮して請求項の各々によって定められるものであり、請求項の文言の意味とその均等の範囲内で修正が可能である。
【図面の簡単な説明】
【図１】この発明の１実施例に従ったＥＣＰセルを模式的に示す図である。
【図２】図１に示されたＥＣＰセルを含むＥＣＰを模式的に示す図である。
【図３】隣接セルの番号順を模式的に示す図である。
【図４】セルの凍結値の機能を模式的に示す図である。
【図５】凍結値がどのように計算されるかを模式的に示す図である。
【図６】伝播値がどのように計算されるかを模式的に示す図である。
【図７】この発明の実施の形態に従ったＥＣＰの自己設定決定プロセスのフローチャートである。
【図８】ＥＣＰの目的とする計算プロセスのフローチャートである。
【図９】ＥＣＰセルの図形表示である。
【図１０】特定の凍結値の組を備えたセルの図形表示である。
【図１１】別の凍結値の組を備えたセルの図形表示である。
【図１２】さらに別の凍結値の組を備えたセルの図形表示である。
【図１３】ＡＮＤゲートのシンボルである。
【図１４】ＡＮＤゲートを実現するＥＣＰを模式的に示す図である。
【図１５】遺伝子コードから導出された凍結値を計算するための規則の組を示す図である。
【図１６】ＥＣＰの初期状態を示す図である。
【図１７】ＥＣＰの遷移時の設定を示す図である。
【図１８】ＥＣＰの別の遷移時の設定を示す図である。
【図１９】ＥＣＰのさらに別の遷移時の設定を示す図である。
【図２０】ＡＮＤ機能を達成するように設定されたＥＣＰを模式的に示す図である。
【図２１】動作中のＥＣＰの遷移状態を示す図である。
【図２２】動作中のＥＣＰの別の遷移状態を示す図である。
【図２３】動作中のＥＣＰのさらに別の遷移状態を示す図である。
【図２４】動作中のＥＣＰの最終状態を示す図である。
【符号の説明】
３０，３０Ａ−３０Ｉ，１４２，１４４，１４６，１４８，１９０，１９２，１９４，１９６，１９８，２００，２１０，２１２，２１４  ＥＣＰセル、４０  凍結値記憶装置、４２  リボソーム、４４  伝播値記憶装置、４６  伝播値計算装置、４８  遺伝子コード記憶装置、５０，６４，７２，８２  ＦＶ入力端子、５２，６２，７０，８４  ＦＶ出力端子、５４，６０，７６，７８  ＰＶ入力端子、６６  第１のクロック入力端子、６８  第２のクロック入力端子、８６  第１のクロック出力端子、８８  第２のクロック入力端子、９０  ＧＣ入力端子、９２  ＧＣ出力端子、１００  ＥＣＰ、１５２，１５４，１５６，１５８  凍結値、１７２，１７４，１７６，１７８  伝播値
【図１】
2004341900.tif 000005
【図２】
2004341900.tif 000006
【図３】
2004341900.tif 000007
【図４】
2004341900.tif 000008
【図５】
2004341900.tif 000009
【図６】
2004341900.tif 000010
【図７】
2004341900.tif 000011
【図８】
2004341900.tif 000012
【図９】
2004341900.tif 000013
【図１０】
2004341900.tif 000014
【図１１】
2004341900.tif 000015
【図１２】
2004341900.tif 000016
【図１３】
2004341900.tif 000017
【図１４】
2004341900.tif 000018
【図１５】
2004341900.tif 000019
【図１６】
2004341900.tif 000020
【図１７】
2004341900.tif 000021
【図１８】
2004341900.tif 000022
【図１９】
2004341900.tif 000023
【図２０】
2004341900.tif 000024
【図２１】
2004341900.tif 000025
【図２２】
2004341900.tif 000026
【図２３】
2004341900.tif 000027
【図２４】
2004341900.tif 000028
【手続補正書】
【提出日】平成16年6月10日(2004.6.10)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】００３０
【補正方法】変更
【補正の内容】
【００３０】
胚または胚を含むＥＣＰセルのグループに新たに取付けられたセルはいずれも、その胚から遺伝子コードを得るので、そのリボソームがＰＶＣにパラメータを提供できる。従って、完全な装置を得るために必要なのは、胚一つを用意し、順にいくつもの空のセルを装着していくことだけであり、この間に装置はそれ自身の設定を決定していき、より有用な計算装置となる。２種の異なる胚が接続されると、それらの遺伝子コードは交差の対象となる。上述の特性により、ＥＣＰは交配が可能である。
−ＥＣＰセルの構造−
図１はこの発明の一実施の形態に従ったＥＣＰセル３０の構造を示す図である。セルを３次元のアレイに配置して６個の隣接要素を有するようにしてもよいが、図では同じ層の４個の隣接要素への接続のみを示す。実際には、セルは、上層および下層に位置する隣接セルとデータをやり取りすることもできる。


【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００３４
【補正方法】変更
【補正の内容】
【００３４】
ＥＣＰセル３０は、ＦＶ出力端子５２、６２、７０および８４に接続され、ＥＣＰセル３０の凍結値を記憶するためのＦＶ記憶装置４０と、ＧＣ入出力端子９０、９２、９４、９６に接続され、ＥＣＰセル３０の遺伝子コードを記憶するためのＧＣ記憶装置４８と、遺伝子コードから導出された計算規則をＦＶ記憶装置４０に記憶された凍結値とＦＶ入力端子５０、６４、７２及び８２を介して受信された４個の隣接セルの凍結値とに適用して、ＥＣＰセル３０の凍結値を計算するための「リボソーム」４２とを含む。


【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】００４０
【補正方法】変更
【補正の内容】
【００４０】
図５は、ＥＣＰセル３０のリボソーム４２がどのように凍結値を計算するかを示す。図５を参照して、リボソーム４２は、１番目の隣接要素１４２の凍結値１５２と、２番目の隣接要素１４４の凍結値１５４と、３番目の隣接要素１４６の凍結値１５６と、４番目の隣接要素１４８の凍結値１５８とを受信し、さらにＦＶ記憶装置４０に記憶された凍結値を受取って、遺伝子コードから導出された一組の規則に従ってこれらの値に基づき凍結値を計算する。この規則の組の例を図１５に示し、その詳細は、ＥＣＰの具体例に関連して後述する。


【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】００４１
【補正方法】変更
【補正の内容】
【００４１】
図６を参照して、この例でのＥＣＰセル３０の伝播値はＰＶＣ４６内でＰＶＣ遷移関数Ｓ1によって計算される。関数Ｓ1は４個の入力を受取り、その４個の入力のうち一つが１に等しいときのみ、１を返す、基本的な対称関数である。ある時間ｔにおけるＥＣＰセル３０及びその４個の隣接するセルの伝播値をそれぞれa0,t、a1,t、a2,t、a3,t、および
a4,t、ただしuは高周波数サイクルの周期であるとし、さらに、時間ｔにおけるＥＣＰセル３０の凍結値をd0,0,t、d0,1,t、d0,2,t、d0,3,t、d0,4,t、とすると、時間t+u（uは高周波数サイクルでの周期）における伝播値a0,t+uは以下の関数で得られる：a0,t+u=S1(d0,1,ta1,t，d0,2,ta2,t，d0,3,ta3,t，d0,4,ta4,t)。従って、セル３０の伝播値はセル３０の凍結値４０と、隣接するセル１４２、１４４、１４６及び１４８のそれぞれの伝播値１７２、１７４、１７６及び１７８とに基づいて計算される。セル３０の凍結値４０は低周波数サイクルにおいてリボソーム４２（図１を参照）によって計算される。
−ＥＣＰの動作−
図２に示されるＥＣＰは二つのフェーズで動作する。第１のフェーズでは、これは第１のクロックで動作して自身の設定を決定し、第２のフェーズでは第２のクロックで動作して、意図された計算を行なう。図２に示されたＥＣＰの第１のフェーズでの動作を図７に示し、第２のフェーズでの動作を図８に示す。


【手続補正５】
【補正対象書類名】明細書
【補正対象項目名】００５０
【補正方法】変更
【補正の内容】
【００５０】
【表１】
2004341900.tif 000029
図１２に示されるセル２１４は、その１番目、２番目及び４番目の隣接要素に対応する凍結値d0,1、d0,2及びd0,4が１であり、d0,3がゼロであることを示す。１番目と２番目のセルの伝播値が共にｘであり４番目のセルの伝播値がｙであるような特定の場合には、このセルの真理値表は以下の通りである。この表のブール式は「~x∧y」である。


【手続補正６】
【補正対象書類名】明細書
【補正対象項目名】符号の説明
【補正方法】変更
【補正の内容】
【符号の説明】
３０，３０Ａ−３０Ｉ，１４２，１４４，１４６，１４８，１９０，１９２，１９４，１９６，１９８，２００，２１０，２１２，２１４  ＥＣＰセル、４０  凍結値記憶装置、４２  リボソーム、４４  伝播値記憶装置、４６  伝播値計算装置、４８  遺伝子コード記憶装置、５０，６４，７２，８２  ＦＶ入力端子、５２，６２，７０，８４  ＦＶ出力端子、５４，６０，７６，７８  ＰＶ入力端子、６６  第１のクロック入力端子、６８  第２のクロック入力端子、８６  第１のクロック出力端子、８８  第２のクロック出力端子、９０，９２，９４，９６  ＧＣ入出力端子、１００  ＥＣＰ、１５２，１５４，１５６，１５８  凍結値、１７２，１７４，１７６，１７８  伝播値




【外国語明細書】
2004341900.tif 000030
2004341900.tif 000031
2004341900.tif 000032
2004341900.tif 000033
2004341900.tif 000034
2004341900.tif 000035
2004341900.tif 000036
2004341900.tif 000037
2004341900.tif 000038
2004341900.tif 000039
2004341900.tif 000040
2004341900.tif 000041
2004341900.tif 000042
2004341900.tif 000043
2004341900.tif 000044
2004341900.tif 000045
2004341900.tif 000046
2004341900.tif 000047
2004341900.tif 000048
2004341900.tif 000049
2004341900.tif 000050
2004341900.tif 000051
2004341900.tif 000052
2004341900.tif 000053
2004341900.tif 000054
2004341900.tif 000055
2004341900.tif 000056
2004341900.tif 000057
2004341900.tif 000058
2004341900.tif 000059
2004341900.tif 000060
2004341900.tif 000061
2004341900.tif 000062
2004341900.tif 000063
2004341900.tif 000064
2004341900.tif 000065
2004341900.tif 000066
2004341900.tif 000067
2004341900.tif 000068
2004341900.tif 000069
2004341900.tif 000070
2004341900.tif 000071
2004341900.tif 000072
2004341900.tif 000073
2004341900.tif 000074
2004341900.tif 000075
2004341900.tif 000076
2004341900.tif 000077
2004341900.tif 000078
2004341900.tif 000079
2004341900.tif 000080
2004341900.tif 000081
2004341900.tif 000082
2004341900.tif 000083
2004341900.tif 000084
2004341900.tif 000085
2004341900.tif 000086
2004341900.tif 000087
2004341900.tif 000088
2004341900.tif 000089
2004341900.tif 000090
2004341900.tif 000091
2004341900.tif 000092
2004341900.tif 000093
2004341900.tif 000094
2004341900.tif 000095
2004341900.tif 000096
2004341900.tif 000097