(57)【要約】【課題】  スパイク列を高速で扱うことのできる新しいアーキテクチャを備えたシステムを提供する。【解決手段】  処理ノード及び遅延線を含むグラフをシミュレートすることによりスパイク列を処理するためのユニバーサルスパイク列プロセッサ（ＵＳＰ）４０は、それぞれのノードに割当られた機能を実現するための再プログラム可能な処理エレメント５６と、遅延線をシミュレートするためのチャネルマネージャ５０およびスパイク列メモリ５２と、スパイク列を受取り、グラフのネットワーク構造に従って、処理エレメント５６とチャネルマネージャ５０及びスパイク列メモリ５２との入出力間へのデータ配分を制御するためのネットマネージャ５４とを含む。【選択図】        図４
2005092486.tif 000002
【特許請求の範囲】
【請求項１】
処理ノードとノード間を接続する遅延線とを含むグラフをシミュレートすることによってスパイク列の処理を行なうためのユニバーサルスパイク列プロセッサ（ＵＳＰ）であって、前記遅延線にはそれぞれの遅延が割当られており、
前記グラフのそれぞれのノードに割当られた機能を実現するための再プログラムな可能処理エレメントと、
前記グラフの遅延線をシミュレートするための遅延線手段と、
スパイク列を受取り、前記処理エレメントおよび前記遅延手段の入出力間でのデータ配分を、前記グラフのネットワーク構造に従って制御するためのネットワーク管理手段とを含む、ユニバーサルスパイク列プロセッサ。
【請求項２】
前記再プログラム可能な処理エレメントが、複数のプログラム可能なプロセッサを含み、その各々の少なくとも１つの入力と出力とが前記ネットワーク管理手段に接続されている、請求項１に記載のＵＳＰ。
【請求項３】
前記再プログラム可能な処理エレメントが、フィールドプログラマブルゲートアレイチップを含む、請求項１に記載のＵＳＰ。
【請求項４】
前記遅延線手段が、
遅延線を介して転送されるべきデータを記憶するメモリロケーションの配列を含む遅延チャネルメモリと、
前記遅延チャネルメモリおよび前記ネットワーク管理手段に接続され、前記ネットワーク管理手段からのデータを一時的に記憶しかつ記憶されたデータを前記グラフのそれぞれの遅延線に割当られた遅延の後に前記ネットワーク管理手段に出力することによって、遅延線をシミュレートするためのチャネル管理手段とを含む、請求項１から請求項３のいずれかに記載のＵＳＰ。
【請求項５】
前記チャネル管理手段が、
遅延線の構成を定義する情報を記憶するための内部メモリと、
前記ネットワーク管理手段からの入力に応答して、前記遅延チャネルメモリの選択されたロケーションから出力し、前記内部メモリに記憶された情報に従って選択されたロケーションを更新するためのメモリ更新手段とを含む、請求項４に記載のＵＳＰ。
【請求項６】
前記ネットワーク管理手段が、
前記グラフのノードと遅延線との接続を定義するネットワーク構造情報を記憶する内部メモリと、
前記再プログラム可能な処理エレメント、前記遅延線手段、及び前記ネットワーク管理手段の前記内部メモリに接続され、前記ネットワーク管理手段の前記内部メモリに記憶されたネットワーク構造情報に従って、前記グラフの遅延線およびノードの入出力間のデータ配分を制御するためのデータ配分制御手段とを含む、請求項１から請求項５のいずれかに記載のＵＳＰ。
【請求項７】
前記遅延線及び前記ノードの入出力間の接続が、
遅延線に割当られた番号、
ノードに割当られた番号、及び
ノードの入力に割当られた番号、の組合せによって定義される、請求項６に記載のＵＳＰ。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明はスパイク列（時系列のディジタル数）を処理するためのプロセッサに関し、特に、スパイク列の生成、認識及び修正のための柔軟性の高いディジタルプロセッサに関する。
【背景技術】
【０００２】
ディジタル信号処理は現在広く用いられている。典型的には、このような信号はスパイク列の形で処理システムに与えられる。スパイク列は視覚的パターンを符号化するものでもよく、音楽や他の音響効果、または他の対象物やその時間的関係を符号化するものであってもよい。
【０００３】
このようなスパイク列をリアルタイムで処理するには膨大な計算量を必要とする。この問題に対する解決策の一つは、いわゆるセルラーオートマトンを含む並列計算である。
【０００４】
セルラーオートマトンとは、いくつかの仮想機械（セル）を１次元または２次元のアレイに配列したものである。各セルは内部状態を有し、さらに簡単な入出力規則の組を有する。各セルは、その内部状態とそれに接続された近隣のセルの内部状態とに基づいて、それ自身の新たな状態を規定する。セルは全て、並列に動作し、上述の計算を繰返す。所与のセルの状態、または一組のセルの状態を観察することにより、システムの挙動を見ることができる。
【０００５】
セルラーオートマトンシステムを実現するには多数のセルが必要であり、さらに結果出力を見るにはかなりの数の繰返しが必要となることから、特許文献１に提案されるように、セルの処理速度を改善する努力がなされてきた。
【０００６】
【特許文献１】特開平１１−１６７４８２
【発明の開示】
【発明が解決しようとする課題】
【０００７】
セルラーオートマトンシステムは多数のセルを必要とし、各セルが近隣のセルの状態に基づいてその計算を繰返すため、システム上で多量のデータを転送しなければならず、このためシステムの速度は高くない。加えて、リアルタイムのシステムを実現するのに必要となるメモリ容量は極端に大きい。
【０００８】
このため、先行技術のシステムよりも高速にスパイク列を扱うことのできるシステムに関する需要があることは明らかである。従ってこの発明の目的の一つは、高速でスパイク列を扱うことのできる新しいアーキテクチャを備えたシステムを提供することである。
【０００９】
この発明の別の目的は、少ない量のハードウェアで高速にスパイク列を扱うことのできる新しいアーキテクチャを備えたシステムを提供することである。
【００１０】
この発明のさらに別の目的は、少ないメモリ容量で高速にスパイク列を扱うことのできる新しいアーキテクチャを備えたシステムを提供することである。
【００１１】
この発明のさらに別の目的は、システム上で転送すべきデータ量の少ない、スパイク列を扱うことのできる新しいアーキテクチャを備えたシステムを提供することである。
【課題を解決するための手段】
【００１２】
この発明の一つの局面は、処理ノードとノード間を接続する遅延線とを含むグラフをシミュレートすることによってスパイク列の処理を行なうためのユニバーサルスパイク列プロセッサ（ＵＳＰ）に関する。遅延線にはそれぞれの遅延が割当られている。ＵＳＰは、グラフのそれぞれのノードに割当られた機能を実現するための再プログラム可能な処理エレメントと、グラフの遅延線をシミュレートするための遅延線手段と、スパイク列を受取り、処理エレメントおよび遅延手段の入出力間でのデータ配分を、グラフのネットワーク構造に従って制御するための、ネットワーク管理手段とを含む。
【００１３】
好ましくは、再プログラム可能な処理エレメントは複数のプログラム可能なプロセッサを含み、その各々の少なくとも１つの入力と出力とがネットワーク管理手段に接続されている。
【００１４】
または、再プログラム可能な処理エレメントは、フィールドプログラマブルゲートアレイチップを含んでもよい。
【００１５】
より好ましくは、遅延線手段は遅延線を介して転送されるべきデータを記憶するメモリロケーションの配列を含む遅延チャネルメモリと、遅延チャネルメモリおよびネットワーク管理手段に接続され、ネットワーク管理手段からのデータを一時的に記憶しかつ記憶されたデータをグラフのそれぞれの遅延線に割当られた遅延の後にネットワーク管理手段に出力することによって、遅延線をシミュレートするためのチャネル管理手段とを含む。
【００１６】
チャネル管理手段は、遅延線の構成を定義する情報を記憶するための内部メモリと、ネットワーク管理手段からの入力に応答して、遅延チャネルメモリの選択されたロケーションから出力し、内部メモリに記憶された情報に従って選択されたロケーションを更新するためのメモリ更新手段とを含んでもよい。
【００１７】
より好ましくは、ネットワーク管理手段が、グラフのノードと遅延線との接続を定義するネットワーク構造情報を記憶する内部メモリと、再プログラム可能な処理エレメント、遅延線手段、及びネットワーク管理手段の内部メモリに接続され、ネットワーク管理手段の内部メモリに記憶されたネットワーク構造情報に従って、グラフの遅延線およびノードの入出力間のデータ配分を制御するためのデータ配分制御手段とを含む。
【００１８】
遅延線及びノードの入出力間の接続は、遅延線に割当られた番号、ノードに割当られた番号、及びノードの入力に割当られた番号、の組合せによって定義される。
【発明を実施するための最良の形態】
【００１９】
この発明はＵＳＰに関するものであり、このＵＳＰはスパイク列の生成、認識及び修正のための、柔軟性の高いディジタル機械である。スパイク列は視覚化パターンを符号化するものであっても、音楽や他の音響効果、または他の対象物やその時間的関係を符号化するものであってもよい。
【００２０】
ＵＳＰの入力データは、
（１）多値の論理関数を表すノードと時間遅延を表す弧とからなる処理グラフ、であり、場合によっては
（２）外部装置によって生成されたスパイク列の束、であってもよい。
【００２１】
すべてのクロックに対するＵＳＰ状態の計算は、移動ポインタからなるシステムに基づいて行なわれる。
【００２２】
ＵＳＰは、処理ノードと、ノードを接続する遅延線とからなる所与のグラフをシミュレートする。処理されるデータが、システム内に流入し、システム内を流れ、及びシステムから外に流れ出るスパイク列のみであり、ＵＳＰアーキテクチャがシステム上で転送しなければならないデータ量を最小にするので、ＵＳＰは速度とメモリ容量の点でセルラーオートマトンによる解決策を凌駕する。
【００２３】
ＵＳＰはハードウェアで実現することも、ソフトウェアで実現することもできる。ＵＳＰを用いることにより、オーディオ／ビデオストリーム等のサンプリングされたアナログデータをリアルタイムで処理すること、信号をフィルタ処理すること、信号間の時間的相互作用で記述できる、生物学的に妥当な神経回路網または何らかの他のシステムをシミュレートすることができる。ＵＳＰ上で実行される処理グラフは手作業で作成してもよく、遺伝子アルゴリズムを用いて進化させてもよい。
【００２４】
以下、この発明の一実施の形態を添付の図面を参照して説明する。
【００２５】
[スパイク列]
スパイク列とは、クロックと呼ばれる、離散的な時間にサンプリングされた一連のデータである。各サンプルは所与のクロックでの信号の振幅を符号化したｎビットのデータとして表される。一つのＵＳＰシステム内では全てのサンプルは同数のビットを使用する。ただし、ＵＳＰアーキテクチャではビット数を変更可能とするべきであろう。
【００２６】
スパイク列の例を図１および図２に示す。図１は各サンプルが１ビットのスパイク列の例を示す。図中の数字は図の表示とは対応しないことに注目されたい。図２は各サンプルが多ビットからなるスパイク列の例を示す。
【００２７】
[ＵＳＰシステム]
図３はＵＳＰのための処理グラフの例を示す。図３を参照して、このグラフはノード２０及び２２と、弧３０、３２、３４及び３６とを含む。弧３０、３２、３４及び３６はそれぞれ、システム入力、１−クロックサイクル遅延線、８−クロックサイクル遅延線、及びシステム出力を表す。ノード２０は入力にＸＯＲ（排他的ＯＲ）関数を実行する。ノード２２は内部カウンタを含み、入力に応答してカウントを増加させ、カウントがしきい値に達すると、「１」を出力する。
【００２８】
ＵＳＰの処理グラフでは、各ノードは遅延線を介して他のノードに接続されている。出力ノードを出た後、信号は遅延線を通って伝わり、Ｄ個のクロックの後、ターゲットノードに達する。ここで、Ｄは遅延線の特性である。従って、各遅延線は長さＤのＦＩＦＯ（ファーストインファーストアウト）バッファである。各ノードは、そのノードに割当られた機能に従って、その入力とその内部状態とに、単一値または多値の論理演算を行なう。
【００２９】
[ＵＳＰアーキテクチャ]
図４は、この発明の一実施の形態に従ったＵＳＰ４０をブロック図の形で示す。図４を参照して、ＵＳＰ４０は、遅延チャネルデータを記憶するためのスパイク列メモリ５２と、スパイク列メモリ５２に接続され、スパイク列メモリ５２に記憶されたチャネルデータを維持するためのチャネルマネージャ５０と、チャネルマネージャ５０に接続されネットワーク全体に処理されたデータを配分するネットマネージャ５４と、ネットマネージャ５４に接続され所与のタスクで必要とされる処理機能を提供する処理ユニット空間５６とを含む。
【００３０】
−スパイク列メモリ５２−
図５は図４に示されたスパイク列メモリ５２のブロック図である。スパイク列メモリ５２は現在遅延チャネルを通って伝わっており、従ってバッファしなければならない全てのサンプルを記憶する１次元のメモリである。図５に示されるように、スパイク列メモリ５２はサンプルの記憶部となるランダムアクセスメモリ（ＲＡＭ）６２と、チャネルマネージャ５０からのサンプルアドレス信号を物理的なデータアドレスに変換するアドレス変換器６４とを含む。
【００３１】
ＲＡＭ６２は、サンプルを記憶するためのメモリロケーションを有する１次元の配列６６と、サンプルアドレス、読出／書込制御信号、及びチャネルマネージャ５０からの書込動作の場合にはさらにデータ、を受取り、配列６６からデータを読出し、データを書込むための、読出／書込制御部６８とを含む。アドレス変換器６４は、特定のＵＳＰシステム構成について各サンプルのビット数に従って、チャネルマネージャ５０からのサンプルアドレスをＲＡＭ６２内の物理データアドレスに変換する。
【００３２】
[チャネルマネージャ５０]
チャネルマネージャ５０はＲＡＭ６２のメモリ空間を複数の遅延チャネルに分割し、それらの入出力に対するアクセスを提供する。この実施の形態では、各遅延線はスパイク列メモリ５２の一部分である。遅延線はその長さに等しい数のクロックで信号を遅延させ、ＦＩＦＯバッファとして動作する。
【００３３】
移動させなければならないデータの量を最小にしたいので、各遅延線は関連付けされたポインタを有する。システムクロックの各々について、全てのチャネルに以下のアルゴリズムが適用される。
【００３４】
１．現在のポインタ位置からチャネル出力を読出す。
【００３５】
２．チャネルに入る新しいサンプルを現在のポインタ位置に記憶する。
【００３６】
３．チャネルのポインタを１だけ増分させる。
【００３７】
４．ポインタがチャネル長と等しくなれば、ポインタを０にリセットする。
【００３８】
図６（Ａ）から（Ｌ）は５−クロック遅延チャネルの動作例を示す。このチャネルには「０００００」が記憶されており、一連の入力「１１００１０１０００００」がこのチャネルに与えられるものとする。図６を参照して、ポインタはまず、ロケーション７０Ａを指す。チャネルは示されたロケーションから値「０」を出力し、示されたロケーションに入力「１」を記憶する。その後ポインタが増分され、図６（Ｂ）に示されるように、ロケーション７０Ｂを指す。チャネルは示されたロケーションから「０」を出力し、このロケーションに入力「１」を記憶する。ポインタはさらに増分されて、図６（Ｃ）に示されるようにロケーション７０Ｃを指す。
【００３９】
同様の動作が繰返され、ポインタはロケーション７０Ｄを指し、その後７０Ｅを指す。その後、ポインタはリセットされて、図６（Ｆ）に示すようにロケーション７０Ｆを指す。同様の動作が繰返されてポインタはロケーション７０Ｇ、７０Ｈ、７０Ｉ、７０Ｊ、７０Ｋ、７０Ｌ等を指す。こうして、このチャネルの出力は「０００００１１００１００」となり、これはこのチャネルへの入力を５クロックサイクル遅延させたものに等しい。
【００４０】
この目的のために、チャネルマネージャ５０は以下の要素を含む。図７はチャネルマネージャ５０のブロック図である。図７を参照して、チャネルマネージャ５０は、メモリロケーションの配列内の遅延チャネル全てに対して、チャネル宣言と関連の情報とを記憶するための内部メモリ８２と、ネットマネージャ５４及びスパイク列メモリ５２に接続され、内部メモリ８２に記憶された情報を維持するとともに、内部メモリ８２に記憶された情報に従ってスパイク列メモリ５２を更新するためのメモリ更新制御部８０とを含む。メモリ更新制御部８０はネットマネージャ５４からの入力を受けるように接続され、その入力と、メモリ８２に記憶された情報とに従って、スパイク列メモリ５２を更新する。メモリ更新制御部８０はさらにネットマネージャ５４に対し、スパイク列メモリ５２において維持されている各チャネルの出力を与える。
【００４１】
内部メモリ８２内の配列は、維持すべきそれぞれのチャネルに対するエントリ８４、８６、８８、…、９０、…を含む。各エントリは以下の情報を含む。
【００４２】
スパイク列メモリ５２内のアドレス
対応するチャネルの長さ
チャネルの現在のポインタ値。
【００４３】
もし内部メモリ８２がスパイク列メモリ５２より速いのであれば、各エントリは幾らかのキャッシュメモリを含んでいても良い。
【００４４】
図８は図７に示された内部メモリ８２に記憶された情報に対応する、スパイク列メモリ５２内の配列６６の構成例を示す。図８を参照して、配列６６の最初の３個のエントリはチャネル０内のデータを記憶する。図７のエントリ８４に示すように、遅延は３クロックサイクルとなる。エントリ８４のポインタの値が２であるので、チャネル０のポインタ１００Ａは３番目のエントリ（サンプル２）を指す。
【００４５】
同様に、配列６６の次の５個のエントリはチャネル１内のデータを記憶する。遅延は５クロックサイクルとなる。このチャネルのポインタ１００Ｂはこのチャネルの２番目のエントリのサンプル４を指すが、これは図７のエントリ８６が示すとおり、このチャネルのポインタの値が２だからである。
【００４６】
配列６６の次の２個のエントリはチャネル２内のデータを記憶する。遅延は２クロックサイクルとなる。ポインタの値が０なので、このチャネルのポインタ１００Ｃはこのチャネルの最初のエントリを指す。
【００４７】
[ネットマネージャ５４]
ネットマネージャ５４のタスクは、ネットワーク全体について、ノード及びチャネルの出力からの処理されたデータを、それらの入力に配分することである。チャネルマネージャ５０と同様に、ネットマネージャ５４は全接続のリストを含む配列を記憶する内部メモリを含む。各配列エントリはソースタイプ及び番号と、宛先タイプ及び番号とを記憶する。タイプはチャネルまたはノードのいずれかである。宛先タイプがノードである場合、さらに入力の番号がエントリに格納される。
【００４８】
図９はネットマネージャ５４の構成を例示する。図９を参照して、ネットマネージャ５４は、ノード及びチャネルの入出力間の全ての接続のリストの形で、ネットワーク構造宣言を記憶する内部メモリ１２２と、ネットワーク全体について、ノード及びチャネルの出力からの処理済みのデータをそれらの入力に配分するためのデータ配分制御部１２０とを含む。データは内部メモリ１２２に記憶された情報に従って配分される。
【００４９】
例えば、図９に示されたリストの先頭のレコードは、ノード番号５６を持つノードの、入力番号が５である入力に、チャネル０の出力が与えられるべきことを定義している。同様に、２番目のレコードはノード番号１３８８１のノードの出力がチャネル７８１の入力に与えられるべきことを定義する。このようにして、内部メモリ１２２に記憶されたリストはノード及びチャネルの出力の各々がネットワーク上にどのように配分されるべきかを、以下の組合せに基づいて定義する。すなわち、遅延線に割当られた番号、ノードに割当られた番号、及びノードの入力に割当られた番号、である。
【００５０】
[処理ユニット空間５６]
処理ユニット空間５６はネットワークの処理ノードを割当る空間を提供する。各ノードはその番号と入力番号とによってアドレスされる。一旦ノードの入力が更新されると、これらを並列に処理することができる。ただしこの発明はこのような並列の実現例に限定される訳ではない。
【００５１】
各ノードは１出力と、１個または一組の入力と、小規模な内部メモリと論理回路とを有する。メモリは、入力の重み等の各入力に関連した情報と、ノードの内部状態とを記憶するのに用いられる。論理回路はメモリの現在の状態と入力とに対し、関数を実行し、結果をノードの出力に送る。
【００５２】
この実施の形態の処理ユニット空間５６は一組の再プログラム可能なプロセッサを含む。プログラムされたプロセッサはそれぞれのノードの機能を提供する。所与のグラフにおいてノードに割当られた機能に従ってノードを再プログラムすることによって、システムの機能を迅速に修正して現在のタスクにふさわしいものとすることができる。プロセッサの各々はプログラムメモリを含み、これは記憶されたプログラムを置換えることで再プログラム可能である。
【００５３】
所望のノード機能を提供するために多くの実現方法を採ることができる。例えば、所望のノード機能をフィールドプログラマブルアレイ（ＦＰＧＡ）チップによって実現することもでき、または非常に速いクロック信号で動作する１個の高性能コンピュータで実現することもできる。
【００５４】
[動作]
この実施の形態のＵＳＰは以下のように動作する。ＵＳＰは、チャネルマネージャ５０の内部メモリ１２２にチャネル宣言をアップロードし、ネットマネージャ５４の内部メモリ８２にネットワーク構造宣言をアップロードし、処理ユニット空間５６内のノードに機能を割当ることによって、それ自身を再構成する。再構成はメモリへのデータの書込みによるので、非常に高速である。
【００５５】
チャネルマネージャ５０の内部メモリ８２、スパイク列メモリ５２、及び処理ユニット空間５６の内部状態は、所与の初期状態に従って初期化される。
【００５６】
入力データがネットマネージャ５４に与えられると、ネットワークマネージャ５４は、内部メモリ１２２に記憶されたネットワーク構造宣言において予め定義されたチャネルまたはノードの入力にデータを配分する。データが処理ユニット空間５６内のノードに与えられると、ノードはデータに対する演算を行ない、さらに場合によってはその内部メモリに記憶されたデータに対する演算を行ない、その結果をデータ配分制御部１２０に出力する。データ配分制御部１２０は内部メモリ１２２のネットワーク構造宣言内のノードを見て、処理されたデータをどこに送るべきかを判断し、処理されたデータをその宛先に送る。
【００５７】
上述の動作を繰返すことによって、この実施の形態のＵＰＳは入力データを処理し、処理されたデータをデータ配分制御部１２０から出力する。
【００５８】
上述の実施の形態は単なる例示であって制限的なものと解してはならない。本発明の範囲は、発明の詳細な説明の記載を参酌した上で、特許請求の範囲の各請求項によって示され、そこに記載された文言と均等の意味及び範囲内でのすべての変更を含む。
【図面の簡単な説明】
【００５９】
【図１】各サンプルが１ビットのスパイク列の例を示す図である。
【図２】各サンプルが多ビットのスパイク列の例を示す図である。
【図３】ＵＳＰの処理グラフの例を示す図である。
【図４】この発明の一実施の形態に従ったＵＳＰの構造を示すブロック図である。
【図５】スパイク列メモリ５２のブロック図である。
【図６】（Ａ）から（Ｌ）は５−クロック遅延チャネルの動作例を示す図である。
【図７】チャネルマネージャ５０のブロック図である。
【図８】スパイク列メモリ５２の配列６６の配列例を示す図である。
【図９】図４に示すネットマネージャ５４のブロック図である。
【符号の説明】
【００６０】
２０、２２  ノード；３０、３２、３４、３６  遅延線；４０  ユニバーサルスパイク列プロセッサ；５０  チャネルマネージャ；５２  スパイク列メモリ；５４  ネットマネージャ；５６  処理ユニット空間；６２  ＲＡＭ；６４  アドレス変換器；６６  配列；６８  読出／書込制御部；８０  メモリ更新制御部；８２、１２２  内部メモリ；１２０  データ配分制御部。
【図１】
2005092486.tif 000003
【図２】
2005092486.tif 000004
【図３】
2005092486.tif 000005
【図４】
2005092486.tif 000006
【図５】
2005092486.tif 000007
【図６】
2005092486.tif 000008
【図７】
2005092486.tif 000009
【図８】
2005092486.tif 000010
【図９】
2005092486.tif 000011
【手続補正書】
【提出日】平成16年6月24日(2004.6.24)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
処理ノードとノード間を接続する遅延線とを含むグラフをシミュレートすることによってスパイク列の処理を行なうためのユニバーサルスパイク列プロセッサ（ＵＳＰ）であって、前記遅延線にはそれぞれの遅延が割当られており、
前記グラフのそれぞれのノードに割当られた機能を実現するための再プログラム可能な処理エレメントと、
前記グラフの遅延線をシミュレートするための遅延線手段と、
スパイク列を受取り、前記処理エレメントおよび前記遅延手段の入出力間でのデータ配分を、前記グラフのネットワーク構造に従って制御するためのネットワーク管理手段とを含む、ユニバーサルスパイク列プロセッサ。
【請求項２】
前記再プログラム可能な処理エレメントが、複数のプログラム可能なプロセッサを含み、
その各々の少なくとも１つの入力と出力とが前記ネットワーク管理手段に接続されている、請求項１に記載のＵＳＰ。
【請求項３】
前記再プログラム可能な処理エレメントが、フィールドプログラマブルゲートアレイチップを含む、請求項１に記載のＵＳＰ。
【請求項４】
前記遅延線手段が、
遅延線を介して転送されるべきデータを記憶するメモリロケーションの配列を含む遅延チャネルメモリと、
前記遅延チャネルメモリおよび前記ネットワーク管理手段に接続され、前記ネットワーク管理手段からのデータを一時的に記憶しかつ記憶されたデータを前記グラフのそれぞれの遅延線に割当られた遅延の後に前記ネットワーク管理手段に出力することによって、遅延線をシミュレートするためのチャネル管理手段とを含む、請求項１から請求項３のいずれかに記載のＵＳＰ。
【請求項５】
前記チャネル管理手段が、
遅延線の構成を定義する情報を記憶するための内部メモリと、
前記ネットワーク管理手段からの入力に応答して、前記遅延チャネルメモリの選択されたロケーションから出力し、前記内部メモリに記憶された情報に従って選択されたロケーションを更新するためのメモリ更新手段とを含む、請求項４に記載のＵＳＰ。
【請求項６】
前記ネットワーク管理手段が、
前記グラフのノードと遅延線との接続を定義するネットワーク構造情報を記憶する内部メモリと、
前記再プログラム可能な処理エレメント、前記遅延線手段、及び前記ネットワーク管理手段の前記内部メモリに接続され、前記ネットワーク管理手段の前記内部メモリに記憶されたネットワーク構造情報に従って、前記グラフの遅延線およびノードの入出力間のデータ配分を制御するためのデータ配分制御手段とを含む、請求項１から請求項５のいずれかに記載のＵＳＰ。
【請求項７】
前記遅延線及び前記ノードの入出力間の接続が、
遅延線に割当られた番号、
ノードに割当られた番号、及び
ノードの入力に割当られた番号、の組合せによって定義される、請求項６に記載のＵＳＰ。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００４８
【補正方法】変更
【補正の内容】
【００４８】
図９はネットマネージャ５４の構成を例示する。図９を参照して、ネットマネージャ５４は、ノード及びチャネルの入出力間の全ての接続のリストの形で、ネットワーク構造宣言を記憶する内部メモリ１２２と、ネットワーク全体について、ノード及びチャネルの出力からの処理済みのデータをそれらの入力に配分するためのデータ分配制御部１２０とを含む。データは内部メモリ１２２に記憶された情報に従って配分される。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】００５４
【補正方法】変更
【補正の内容】
【００５４】
[動作]
この実施の形態のＵＳＰは以下のように動作する。ＵＳＰは、チャネルマネージャ５０の内部メモリ８２にチャネル宣言をアップロードし、ネットマネージャ５４の内部メモリ１２２にネットワーク構造宣言をアップロードし、処理ユニット空間５６内のノードに機能を割当ることによって、それ自身を再構成する。再構成はメモリへのデータの書込みによるので、非常に高速である。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】００５６
【補正方法】変更
【補正の内容】
【００５６】
入力データがネットマネージャ５４に与えられると、ネットマネージャ５４は、内部メモリ１２２に記憶されたネットワーク構造宣言において予め定義されたチャネルまたはノードの入力にデータを配分する。データが処理ユニット空間５６内のノードに与えられると、ノードはデータに対する演算を行ない、さらに場合によってはその内部メモリに記憶されたデータに対する演算を行ない、その結果をデータ分配制御部１２０に出力する。データ分配制御部１２０は内部メモリ１２２のネットワーク構造宣言内のノードを見て、処理されたデータをどこに送るべきかを判断し、処理されたデータをその宛先に送る。
【手続補正５】
【補正対象書類名】明細書
【補正対象項目名】００５７
【補正方法】変更
【補正の内容】
【００５７】
上述の動作を繰返すことによって、この実施の形態のＵＰＳは入力データを処理し、処理されたデータをデータ分配制御部１２０から出力する。
【手続補正６】
【補正対象書類名】明細書
【補正対象項目名】００６０
【補正方法】変更
【補正の内容】
【００６０】
２０、２２  ノード；３０、３２、３４、３６  遅延線；４０  ユニバーサルスパイク列プロセッサ；５０  チャネルマネージャ；５２  スパイク列メモリ；５４  ネットマネージャ；５６  処理ユニット空間；６２  ＲＡＭ；６４  アドレス変換器；６６  配列；６８  読出／書込制御部；８０  メモリ更新制御部；８２、１２２  内部メモリ；１２０  データ分配制御部。
【外国語明細書】
2005092486000001.pdf
2005092486000002.pdf
2005092486000003.pdf
2005092486000004.pdf