JP4468452B2 - グローバルセルオートマトンを組み込むためのリコンフィギュアラブルなアーキテクチャをもつコンピュータ装置 - Google Patents

グローバルセルオートマトンを組み込むためのリコンフィギュアラブルなアーキテクチャをもつコンピュータ装置 Download PDF

Info

Publication number
JP4468452B2
JP4468452B2 JP2007531744A JP2007531744A JP4468452B2 JP 4468452 B2 JP4468452 B2 JP 4468452B2 JP 2007531744 A JP2007531744 A JP 2007531744A JP 2007531744 A JP2007531744 A JP 2007531744A JP 4468452 B2 JP4468452 B2 JP 4468452B2
Authority
JP
Japan
Prior art keywords
unit
ram
output
supplied
computer device
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
JP2007531744A
Other languages
English (en)
Other versions
JP2008513864A (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.)
Siemens AG
Original Assignee
Siemens AG
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 Siemens AG filed Critical Siemens AG
Publication of JP2008513864A publication Critical patent/JP2008513864A/ja
Application granted granted Critical
Publication of JP4468452B2 publication Critical patent/JP4468452B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7867Architectures of general purpose stored program computers comprising a single central processing unit with reconfigurable architecture

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Logic Circuits (AREA)

Description

1)序論
本発明は、特に、少なくとも1つのクロスバースイッチングユニットを含む、バス回線システムを備えるRAMベースの主要部分と、進行制御をするための手段とを含む、アルゴリズムを並行して計算するためのリコンフィギュアラブルなアーキテクチャをもつコンピュータ装置に関する。
2)従来技術(図1から図4を参照)
2.1 公知のコンピュータモデル
コンピュータの構成及び構造/アーキテクチャについては、例えば参考文献[7]に記載されている(同書の特に174頁から181頁、229から248頁、376頁から384頁、400頁及び401頁を参照)。
一般に、図1の原理図から明らかないわゆる「フォンノイマンアーキテクチャ」は、万能コンピュータ装置であるとみなされる。この用語は、コンピュータによって、コンポーネント中央演算処理装置[CPU、この内部にコントロールユニット(CU)及び算術論理ユニット(ALU)が含まれる]と、メモリ(記憶装置)と、インプット/アウトプット(入出力部)と、バスシステムとを備えるアーキテクチャに基づき、アルゴリズム化が可能なあらゆる問題を原理的に計算可能であることを意味している。それぞれの問題に合わせたこのようなコンピュータの調整はプログラムによって行われ、すなわち、例えばプログラム言語C、C++またはJava(登録商標)等でのアルゴリズムのテキスト記述によって行われる。このプログラムは、それ自体が1つのプログラムである翻訳機能(コンパイラ)によって、機械が読むことのできるプログラムへ翻訳される。
プログラム処理は、図1に示すフォンノイマンアーキテクチャやこれに類似するアーキテクチャ(例えばハーバードアーキテクチャや改良型ハーバードアーキテクチャ)に基づくコンピュータでは、原則としてシーケンシャルな方法により行われる。このことは、大量の機械語命令で構成されるアルゴリズムが、第1の命令が既知であることによって処理されるという具合に理解される。1つの命令の後に続く命令は記憶装置の次のアドレスにある命令(標準のプログラムフロー)であるか、または、直近に実行された命令が、最新のプログラム状態を他の場所へ移す飛越し命令であったかのいずれかである。最新のプログラム状態を記憶する内部レジスタは、「プログラムカウンタ」(PC)と呼ばれる。
シーケンシャル処理のこのような原理は、1つの時点でちょうど1つの命令が処理中であることを意味している。これは「フォンノイマン原理」と呼ばれる。RISC(Reduced Instruction−Set Computing)、スーパースケーラ、またはVLIW(Very Long Instruction Word)などと呼ばれる現代のアーキテクチャは、1つの時点で1つを超える命令を実行するが、それでも順次性の原則は保たれている。全体として、このような実行原理を総称して「タイムシーケンシャル」(Computing in Time)と呼び、これはアルゴリズムが時間を必要とすることを示唆している。
プログラム処理のまったく別の原理が、プログラマブルロジックデバイス[PLDs(Programmable Logic Devices)、図2に対応]、ないしそのもっともよく知られた具体化であるFPGAs(Field−Programmable Gate Arrays)で意図されている。これらのアーキテクチャも万能型であり、すなわち、アルゴリズム化が可能なあらゆる問題に利用することができる。この場合のプログラミングは、多くの場合ビットレベルで定義され、したがって論理要素と呼ばれる基本的な計算単位が、1つのネットワークでつながれるという形で行われる。このようなプログラミングの形態は、多くの場合、「コンフィギュレーション」と呼ばれる。
PLDにおけるプログラム処理は、フォンノイマン原理とは異なり、最大の並行性をもって行われる。1つのデバイスのコンフィギュレーション全体を、1回のサイクルで完全に処理される単一の命令として把握することができる(フォンノイマン原理とは異なる。ただし、一定不変に定義されるのではなく、組み合わされたものとして把握される)。その場合、しばしば外部クロックパルスと関連づけられるサイクル時間は、組合せの複雑性に依存して決まることになる。そのために、プロセッサに比べて低いクロックレートが利用されるが、これは実行の並行性で補って余りあるものである。このような実行の原理は「空間コンピューティング(Computing in Space)」と呼ばれる。
2.2 決定性有限オートマトン
問題をアルゴリズム化するための1つの重要なモデルが決定性有限オートトマトン[DEAsあるいはDFAs(deterministic finite automata)]である。これは工学分野では「有限状態機械」(図3の原理図に示すFSMs)とも呼ばれている。このモデルは問題を複数の状態のシーケンスとみなしており、これらの状態の間には、入力値に応じて定義された過渡関数がある(次状態デコーダ)。DEAのモデルは理論上はフォンノイマンモデルほど強力ではないものの、実際問題としては、場合によりモデルを追加して任意の問題を解くことができる。
このDEAsの最大の問題は、状態の数とともに関数が指数的に増加するという点にあり、これは半導体材料(特にシリコン)の所要スペースに関わる問題である。この理由から、相互に通信をする多数のオートマトンからなるモデルが好んで選択される。この種のコンピュータモデルは「複雑な協調的オートマトン」と呼ばれる。
2.3 ブール関数の説明
ブール関数またはスイッチング関数は写像f:Bm→Bnであり、このときB={0、1}であり、これはf=(f1、f2、...fn)という形態で表すことができ、すなわち、関数fk:Bm→Bのベクトルとして表すことができる。そこで以下においては、初期値をもつ関数fkだけについて考える。これは一般にfとして表される。
さらに、fは論理和または論理積の標準形の形態で表せることが知られている。このことは、論理和標準形については、
f=z1+z2...+zk、このときk=1、2、...2m、かつ「+」はOR演算子(論理OR)(1)
及び、
zi=y1*y2*...yn、このときi=1、2、...、k、このとき「*」はAND演算子(論理AND)(2)
が成り立つことを意味している。当然ながら、記述されるべき関数が値「真」または「1」を得るようなziだけが使用される。このとき記号yjは、入力ベクトルx=(i1、i2、...ik)がどのように入力ビットikになるかを規定する。入力ビットについては、集合{0、1}に含まれる値しか許容されていないのに対して、このことはyjについては変更されなければならず、すなわち、これらの値には3つの属性{0、1、−}のうちのいずれかが割り当てられる。このとき属性「1」は、yjについてikが改変されることなく採用されることを意味しており、「0」は、ikを反転して選択しなければならないことを意味しており(/ikと表記)、「−」はドントケア(Don't care)を意味しており、すなわちikは使用されない。yjについて値{0、1}だけが属性として使用される場合、これを「標準論理和標準形」と呼ぶ。
このような表記方法が重要である理由は、入力ビットの順序が既知である場合、それによって、前述の式(2)に掲げる「項(Terme)」とも呼ばれるサブストリング表記ziを、いわば「ストリングターム」として表すことができるからである。すなわち、i1、i2、i3の順序の場合、「111」はz1=i1*i2*i3であることを意味しており、「0−1」はz2=/i1*i3を表しており、以下同様である。
3つの入力ビットの場合、考えられる全ての入力ベクトルの集合はv={000、001、010、011、100、101、110、111}である。例えば関数fが入力ベクトル{001、011、111}でのみ値「真」を得るときは、これらの入力ベクトルしか指定する必要がなく、またそれしか許されない。これは、ストリングタームの形態では111及び0−1により行うことができ、これは与えられた関数を完全に特徴づけており、次の論理和標準形と同形である。
f=/i1*i3+i1*i2*i3
2.4 連想メモリ(Content−Addressable Memory)(CAM)
読出し/書込み用の記憶デバイス[RAM(Random Addressable Read/Write Memory)]は、通常、データやプログラムを記憶するのに用いられる。この場合、アドレスはアドレスバスに印加され、デバイス固有の待機時間の経過後に、読取プロセスの場合には記憶されているデータがデータバスに印加され、さらに利用することができる。書込プロセスもこれに準ずるやり方で進行する。
データを得ようとするエンティティ(例えばプロセッサ)の視点からはアドレスが既知であり、記憶されている内容は事前には未知である。しかしながら、その関係が正反対である用途も存在する。すなわち、記憶されている内容が既知であり、その内容がどのアドレスに保存されているかが関心の対象になり、この場合には答えが「存在しない」という場合もあり得る。このような種類の照会をサポートする記憶デバイスは、「連想メモリ(Content−Addressable Memory)(CAMs)(内容によってアドレス指定ができる記憶デバイス)」と呼ばれる。
CAMと呼ばれ、上記のような挙動を直接サポートする記憶デバイスは、特別なデバイスであり、決して頻繁に見られるものではない。しかし実際上の用途では、CAMの機能性を通常のRAMデバイスでエミュレートすることができる。ただしそのためには、CAMに直接保存されることになるはずのデータ全てについて照会時に数値ではなく記憶アドレスが現れ、これに対応するアドレスが事前に算出されて、そのデータに呼応するRAMアドレスに保存されなくてはならない。
2.5 セルオートマトン
セルオートマトン[CAs(Cellular Automata)]は有限オートマトンの集合であり、1つのフィールドに所定のトポロジーで配置されるとともに、さらにそれ以外の特性も有する(参考文献[1]及び[4]参照)。このようなFSMsの集合はn次元アレイ(多くの場合n=2が成り立つ)として配置され、各々の場所に定まった座標が与えられる。各々のFSMは一義的に隣接項を有し、これらの隣接項と通信することができる。n=2の場合、多くのケースでは周囲にある4個のFSMs(N、E、W、Sの各方位。したがって「NEWS」とも呼ばれる)が隣接項であるとみなされる。
隣接項との通信は、直接の隣接項の状態を読取可能、かつそれによって評価可能であるように行われる。各々の時間ステップで、全てのセルの状態が並行して計算される。新たな状態を計算するために、さらに遠く離れたセルのデータを利用したいときは、そのデータをセルからセルへ段階的に運んでいかなくてはならない。そのため、古典的なセルオートマトンは、データの局在性が高い問題設定を計算するのに良く適している。
CAsは、上に検討したそれぞれのアーキテクチャと同様に万能コンピュータであるとみなされ、そのうえ、完全に並行して作業を行う。CAsのネットワークがハードウェア回路に、例えばASICやPLDにマッピングされると、接続の数はオートマトンの数に伴って線形に増加する。接続自体は、選択されるトポロジーに応じて比較的短く、かつ固定的に敷設される。すなわち、CAs相互の通信に要するコストは比較的小さい。このスイッチング関数をRAMにマッピングするのに必要なメモリ使用量を、スイッチング関数の複雑性であるとみなすと、1つのセルの挙動に呼応するスイッチング関数の最大の複雑性は、入力変数の数に伴って指数的に増加するとともに、関数の出力変数の数に伴って線形に増加する。入力変数の数は、ここでは、セルと接続された全てのCAsの状態を、そのセル自体の状態を含めてコーディングするのに必要な全てのビットの合計である。したがってセルの最大の複雑性は、実質的に、各オートマトンの接続の数によって制約される。
グローバルセルオートマトン(GCAs(Global Cellular Automata))というコンセプトは、全てのセルの接続がそれぞれ最寄の隣接項とだけでなく、フィールド全体の任意のセルとの間で可能であることによって、CAsの制約を克服する。それにより、GCAが規定されたトポロジーを有するのではなく、問題設定に適合化された、場合により計算の継続時間中に変化するトポロジーを利用することさえ可能にするものである。このことは、プログラム処理の大幅な加速化につなげることができる。個々のオートマトンの接続の数は、場合により上限によって規定されている。ただ1つの接続しか許されない場合、これをシングルアームGCAsと呼び、一般な場合にはkアームGCAsと呼ぶ。
その帰結として、GCAsの1つのフィールドが具体化される場合、セル相互の通信のための所要コストはセルの数に伴って著しく増加する。個々のオートマトンの間の考えられる接続の数は、その数の2乗のペースで増加していく。
個々のオートマトン自体の複雑性、ないしその根底にあるスイッチング関数の複雑性は、従来型のCAsの場合と同じく、実質的に、それぞれ個々のセルの接続の数に依存して決まる。GCAがリコンフィギュアラブルな回路(PLD)にマッピングされる場合、任意のスイッチング関数を具体化することができるそれぞれ個々のセルは、最大限可能な複雑性を可能にしなければならない。
個々のオートマトンが、ローカルメモリを備えるそれぞれ1つの計算装置にマッピングされると、各々のセルは複雑なスイッチング関数をも具体化することができる。全てのセルの任意の通信に要するコストは、セルの数の2乗のペースで増加する。その場合、回路の細分性は、セルの数ないし各セルの間の接続のビット幅によって規定される。このような回路は、FSMsの数及びビット幅に関して回路の設定事項に呼応するGCAsを、非常にうまく具体化することができる。それぞれ個々のセルで、複雑なスイッチング関数をも具体化することができる。しかしながら、個数や接続の所要ビット幅に関して所定の細分性と一致していないGCAsは、回路にマッピングするのが困難であることが欠点となる。
個々のセルが組合せ回路として製作される場合、各々のセルは、他の全てのセルのデータを、自分自身の状態も含めて処理できなくてはならない。この理由から、各々の組合せ回路は、全てのセルの2進コード化された全ての状態を入力変数として含むことができるスイッチング関数を具体化することができなくてはならない。スイッチング関数の出力変数の数は、個々のセルの全ての状態を2進コード化することを可能にするだけでよい。この場合の欠点は、スイッチング関数の複雑性が、入力変数の数に伴って指数的に増加することである。セル相互の通信に要するコストが多項式で増加することも、同様に欠点となる。
このように、GCAを組み込むために適した(リ)コンフィギュアラブルなアーキテクチャ(PLD)は、FSMごとに任意の複雑性を組み込むことができなくてはならない。このことは、FSMsをPLDsのセルへ直接マッピングしようとする場合、セルがそれぞれ任意の関数を組み込まなければならないことを意味している。それに基づいて、セルサイズの指数的な増大が起こることが知られている。さらに、PLDにおけるコンフィギュアラブルなネットワークは完全に製作されていなくてはならず、すなわち、各々のセル出力部がそれぞれ他のセルと接続可能でなくてはならない。それに伴ってネットワークは2乗のペースで増加していき、ネットワークのコンフィギュレーションも同様である。
現時点で、これら両方の要求を満たすPLDアーキテクチャは知られていない。すなわち、完全なデザイン空間を含む大型セルは存在しておらず、完全なデザイン空間を含む小型セルしか存在しておらず[いわゆる「ルックアップテーブルストラクチャー」(LUT)]、あるいは、任意の関数をマッピングするための不完全な手段を備える大型セルしか存在していない。全てのセルの完全な接続可能性は、大型セルでしか可能でない。したがって、既存のPLDsへのGCAsのマッピングは困難であり、多くの場合不可能でさえある。
前述した問題点を回避するために、「任意のアルゴリズムを並行して計算するためのリコンフィギュアラブルなアーキテクチャ」を発明の名称とする未公開の2004年2月13日付け独国特許出願第102004007232.9号明細書により、少なくともただ1つのコンフィギュアラブルな組合せ回路及び/またはリコンフィギュアラブルな組合せ回路を有し、その時点tn-1における出力変数は時点tnにおける組合せ回路の入力変数を形成し、時点tn-1と時点tnの間で組合せ回路網の出力変数を記憶するための手段を備える、コンピュータ装置のアーキテクチャが提案されている。
このとき時点tn-1及びtnは、スイッチング関数の直接連続する評価を表している。技術的に好都合な具体化形態では、これらの時点はクロックパルス時間Tで印加されるクロックパルスから導き出すことができ、それにより、tn−tn-1=k・T(このときk=1、2、3、...)が成り立つ。このとき所与の用途についてkは一定であり、異なる用途については別様に選択することができる。
スイッチング関数の複雑性は入力変数の数に伴って指数的に増加し、かつ、出力変数の数ないしマッピングされるべきGCAsのフィールドにあるセルの数に伴って線形に増加し、GCAs相互の通信に要するコストはセルの数に伴って少なくとも2乗のペースで増加することは確かなので、上記で提案される(リ)コンフィギュアラブルなアーキテクチャはGCAsを組み込むのに適している。そのために該アーキテクチャは、少なくともただ1つのコンフィギュアラブルな組合せ回路で成り立っており、その時点tn-1における出力変数は時点tnにおける組合せ回路の入力変数を形成する。時点tn-1と時点tnの間では、この組合せ回路網の出力が特にレジスタ等の記憶装置に記憶され、それによって逐次論理システムないしFSMが成立する。
すでに提案されているアーキテクチャは、さらに次のように構成されてもよい。
記憶手段としてレジスタ記憶装置が設けられてもよい。
特に、組合せ回路は3段階で構成されている。
このとき、
第1の段階は、入力回線を介してアドレス指定可能な、並列につながれた複数の記憶デバイスを含んでもよく、各々の記憶デバイスに、求められた帰属の主項のなかで結び合わされた入力変数の部分集合が供給されており、
第1の段階には、個々の主項の識別表示によってアドレス指定される記憶デバイスを備える第2の段階が後置されており、
第2の段階には、第2の段階の記憶デバイスに由来する個々の主項の出力値を論理和演算するための手段を備える第3の段階が後置されてもよい。
このとき、個々の主項は最小化法によって求めることができる。
さらに、第1の段階は少なくとも1つのクロスバースイッチングユニットを介して、いわゆるクロスバースイッチを介して、第2の段階と相互に組み合わされてもよい。
記憶デバイスとしてはCAMs及び/またはRAMsが設けられてもよい。
少なくとも1つのCGAが統合されていると特に好ましい。
記憶素子として、特にTMR型の磁気抵抗デバイスが設けられてもよい。このようなトンネル磁気抵抗素子は、それ自体公知である。
すでに提案されているアーキテクチャの上に挙げた詳細な構成には、特に、次に説明するような考察が根底にある。
選択された組合せ回路におけるスイッチング関数の複雑性は、出力変数の数に伴って線形に増加していくものの、セル相互の通信に要するコストは全て不要になる。このようなスイッチング関数に、少数の出力変数をもつ多数の個々のオートマトンをマッピングすることができ、または、多数の出力変数をもつ少数のGCAs、あるいは種々のセルの混合をマッピングすることができる。それにより、細分性が規定されることがなく、FSMs相互の通信は原理的に完全に可能である。しかしながら、組合せ回路を組み込むことができるスイッチング関数の最大の複雑性によって、限界が生じる。
多数の入力部を備える組合せ回路(これは一般的なケースでは、複数のFSMsを含むGCAがマッピングされる場合に生じる)を利用することは、入力部の数に対する、所要スペースの一種の指数的な依存性が同じく生じる可能性があることを意味している。上限とみなされるのは、各状態が1つのビットにコード化される場合、exp(状態の数)に伴うスペースの増大であり、一般的なケースにおいては所要スペースはもっと少なくなる。しかし、万能回路は最大のケースを含んでいなくてはならないので、指数的な増加の法則が適用されることになる。
このとき、組合せ回路を組み込む回路を3つの特別な区域/段階に分類するのが特に好ましいと考えられる。そのために、多数の入力変数と多数の出力変数をもつスイッチング関数を組合せ回路として具体化することができる、(リ)コンフィギュアラブルな回路が記載されている。
スイッチング関数のためのリコンフィギュアラブルな組合せ回路を設計するために前提となる考察として、次の2通りの可能性に着目する。
第1に、スイッチング関数全体をRAMメモリにファイルすることが可能である。スイッチング関数の入力変数はアドレスビットを形成し、入力変数の各々の可能な組合せについてメモリセルをアドレス指定する。そうすれば、このメモリセルの内容はスイッチング関数の値に呼応し、記憶デバイスのデータ回線が関数の出力変数を形成する。このようなコンセプトの利点は、回路の単純な構造、簡単なリコンフィギュア可能性、記憶デバイスの高い集積度、及び、スイッチング関数の評価に必要な時間が一定なことである。ただし必要なメモリセルの数、すなわち必要な記憶デバイスのサイズは、入力変数の数に伴って指数的に増加する。この理由から、このやり方では小規模なスイッチング関数しかマッピングすることができない。
以上がPLDsにおける従来技術であり、FPGAsで多くの場合4つの2進値の入力変数と1つの2進値の出力とを含むルックアップテーブル構造として利用されている。
スイッチング関数を組合せ回路にマッピングする2番目の可能性は、2段階またはそれ以上の段階の回路にゲートをコンフィギュアラブルに配置することにある。それにより、最小のゲート消費量で、スイッチング関数を組合せ回路へマッピングすることが可能となる。このとき回路理論により、例えばリードマラー標準形あるいは高性能アルゴリズムといったスイッチング関数の好都合な表現形式が、論理最小化のために提供される。このような取組の利点は、ゲートの消費量が最低限になることであり、及び、高性能な方法とアルゴリズムを最小化のために利用できることである(参考文献[2]及び[3]参照)。この方法は、定まったスイッチング関数を表現するために、例えばROMsを具体化するために、うまく利用することができる。例えばクロスバースイッチのようなハードウェアデバイスを介して、個々のゲートをリコンフィギュアラブルに配線することができるが、このとき、リコンフィギュア可能性のために要するコストは、スイッチング関数の入力変数の数に伴って指数的に増加する。
すでに提案されているアーキテクチャは、図4に示すように、その具体的な実施形態では、第2のRAM段階と呼ばれる複数のRAMセルを有する、構造化されたRAMユニットを備えたRAMベースの主要部分を含み、該RAMユニットは、バス回線システムを介して、クロスバースイッチングユニット(クロスバースイッチ)の出力部とアドレス指定可能なように組み合わされている。その入力部に第1のRAM段階のデータが与えられる。論理ブロックを備える第2のRAM段階には、いわゆるXOR素子の形態の不一致論理素子が後置されており、そのデータは、さらに別のクロスバースイッチングユニットと組み合わされたレジスタユニットに供給される。このユニットを介して、一方では、外部から供給される入力データが第1のRAM段階に供給され、また他方では、再処理のための出力データが出される。このような種類のアーキテクチャでは、記憶エリアはアプリオリに分割されている。
3)課題設定
本発明の課題は、それぞれのアプリケーションの要請にいっそう適合化しながら、それぞれの記憶エリアを考慮したうえで、すなわち優れたスペース利用度で、迅速な計算が可能となるように、すでに提案されているコンピュータアーキテクチャを構成することである。
4)解決の取組
上述の課題は、本発明によれば、特許請求の範囲に記載された措置によって解決される。それによれば、リコンフィギュアラブルなアーキテクチャを備えるコンピュータ装置は次の各部分を含み、すなわち、
複数のRAMセルを有する構造化可能なRAMユニットと、
入力部にアーキテクチャの入力データが外部から与えられ、出力部が第1のバス回線システムを介してRAMユニットの入力部と組み合わされた第1のクロスバースイッチングユニットと、
入力部が第2のバス回線システムを介してRAMユニットの出力部と組み合わされ、出力部が、第1のクロスバースイッチングユニットの入力部で第2のクロスバースイッチングユニットの出力側データをフィードバックするために、第3のバス回線システムを介して第1のクロスバースイッチングユニットの入力部と組み合わされた第2のクロスバースイッチングユニットと、
を備えたRAMベースの主要部分を含み、
アドレス指定のためにRAMユニット及び第2のクロスバースイッチングユニットには第1のクロスバースイッチングユニットにより生成されるアドレス信号が供給され、
第2のクロスバースイッチングユニットの出力側データは、場合によりさらに処理された後、アーキテクチャの出力データを出すために出力ネットワークへ供給され、
ならびに前記コンピュータ装置は、
カウンタユニットを備える、主要部分を進行制御するための追加の制御部分の手段を含み、カウンタユニットと第1のクロスバースイッチングユニットには共通のクロック信号が供給され、第1及び第2のクロスバースイッチングユニットにはカウンタユニットにより生成されるカウンタ状態信号が供給される。
本明細書で使用している「コンフィギュアラブル」という用語は、「該当するコンピュータ部分の以後の挙動に影響を与える、特に動作のために利用される構造の特徴的な量の指定及び/または調整可能性」という意味で理解すべきである。「プログラマブル」とは、「該当するコンピュータ部分がそれに基づいて作動している現在のプログラム状態またはプログラム進行を変更する可能性」という意味に解される。
計算装置の本発明の構成と結びついた利点は、特に、可能なアプリケーションへの適合化という面で、すでに提案されている装置に比べて高いフレキシビリティを実現できるという点に見ることができ、記憶エリアのアプリオリに定まった分割は行われない。本発明によるアーキテクチャは、グローバルセルオートマトン及びこれに類似するコンピュータアーキテクチャを組み込むのに適している。このアーキテクチャでは、新たな状態の計算のために比較的短い時間しか必要なく、そのためにはランの回数を計算するだけでよい。このときアーキテクチャは、個々の計算ステップへの記憶装置の分割に関してフレキシブルであり、それと同時に、ランの回数の可変性を許容する。このような形態のコンピュータアーキテクチャは、特に、内蔵されたアプリケーションでの、例えば自動車分野での、非常にタイムクリティカルな計算や、通信工学、及び、特に制御が周期的な挙動である場合における自動化工学に適している。
すなわち、このようなコンピュータ装置の基本構造では、出力信号は、第2のクロスバースイッチングユニットから出ていき第3のバス回線システムを介して送られる出力側データの一部としてそのまま現れる。このことは、出力側データの記憶とそれ以後の処理が必ずしも必要ではないことを意味している。ただしこの場合、ランの回数は事前に規定される。
本発明によるコンピュータ装置では、RAMユニットは、入力データのリコンフィギュアラブルなブール関数が出力部で具体化されるように利用される。このことは、入力部がRAMユニットのアドレスバスになり、出力部がRAMユニットのデータバスになることを意味している。それにより、RAMユニットは作動時にROM(Read−Only Memory)として作動し、(リ)コンフィギュレーションの間だけRAMsに書込みが行われる。
このような観点からすると、RAMユニットは小規模なLTU(ルックアップテーブル)構造のシーケンスとして作動しており、LTUのサイズと数を調整可能である。
第1及び第2のクロスバースイッチングユニットに供給されるカウンタ状態信号は、前述したシーケンスのどの点で計算が行われるかを表している。このとき計算の形式は、1回のサイクルごとにRAMユニットの一部が利用され、1回の完全な計算のためにこのような複数回のサイクルが必要であるように構成される。各々のサイクルはカウンタユニットによって識別表示され、クロスバースイッチングユニットは各々のサイクルで固有の値にリコンフィギュレーションされて、シーケンスを可能にする。それと同時にカウンタユニットは、比較ユニットとともに、シーケンスがいつ終了するかを規定する。
このように本発明の措置によって、非常に迅速な計算と、できる限り優れたスペース活用度とを組み合わせた万能計算機が可能になるという利点がある。この措置の基礎となる役目を果たすのは、周知のとおり万能型であるGCA(グローバルセルオートマトン)モデルである。このモデルは、比較的簡単にただ1つのLUTへ具体化することができ、GCAでは通信がグローバルであり、ないしはグローバルであり得るという理由から好ましい。他ならぬこのような通信のために、従来技術の場合、GCAを周知のPLDへ具体化することが大きな問題となっているのである。
さらに従来技術では、非常に大型のLTUは、アドレス回線の形態の入力部に伴ってスペース所要量が指数的に増えるという問題を示している。そのため、LTUサイズは最大5つの入力部に制限されるのが普通である。
しかし本発明は、GCA及びこれに伴う万能コンピュータ装置を、LTU'sの1つのシーケンスにマッピングすることを可能にする。このシーケンスは、カウンタによって(1回...X−1回のサイクルで)コンフィギュアラブルであり、RAMユニットは非常にうまく活用され、ないしは、同じサイズではるかに複雑なアルゴリズムを組み込むことができる。したがって該デバイスは、問題が全面的に処理できるように、計算時間のコスト(=シーケンスの回数・サイクル時間)に合わせてスペース所要量を適合化することができる。それに応じてスペース活用度が優れている。
本発明によるコンピュータ装置の好ましい実施形態は、請求項1に従属する各請求項に記載されている。この場合、請求項1に記載の実施形態を、1つの従属請求項の特徴部と、または特に複数の従属請求項の特徴部と組み合わせることができる。それによれば、コンピュータ装置はさらに次のように構成されてもよい。
第2のクロスバースイッチングユニットの出力側のデータ/信号の記憶と処理のために、出力側データはまずプログラマブルな不一致論理ユニットに供給されると好ましい。この種の不一致ユニットにより、デザイン空間が拡大される。
上記に関わりなく、または特に上記に加えて、第2のクロスバースイッチングユニットの出力側のデータ/信号は、出力部がアーキテクチャの出力データを出すための出力ネットワークと組み合わされた、後置されたレジスタユニットへ供給することができる。このようなレジスタユニットは出力部をいっそう安定させる。
この場合、カウンタユニットには、共通のクロック信号が供給されるコンフィギュアラブルな比較ユニットが付属しているのが好都合であり、レジスタユニットには、不一致論理ユニットからのデータの受け取りを制御する比較ユニットのクロック信号が供給され、カウンタユニットには比較ユニットのリセット信号が供給される。
さらに、RAMユニットは、OR/MUX切換ユニットと組み合わされたRAMセルを有するRAMベース領域を含むと好ましい。
この場合、OR/MUX切換ユニットには、第1のクロスバースイッチング装置からアドレス信号が供給されてよい。
記憶デバイスとして、追加的にCAMsが設けられているのが好ましい。この場合、RAMsの配線とその用途が、部分的にCAMsのそれに一致することを考慮する。すなわち、求められるのは内容ではなく、特定の内容が存在している場所である。このことは、RAMsの一部をCAMで置き換えることができ、または拡張できることを意味している。この範囲内で、RAMベースの主要部分にCAMsを利用することも可能である。
少なくとも1つのCGAが統合ないしインプリメントされるのが特に好ましい。CGAは、複数の単純な状態オートマトンが結合されたものからなっている。状態オートマトンは、特に比較ユニットのクロック信号のクロックパルスで、それまでの結果(状態)と入力値とに基づいて新たな状態を計算する。そしてCGAでは、このような複数の状態オートマトンが統合されており、個々のオートマトンのいくつかの出力部は他のオートマトンの入力部と接続されている。これは結合である。そしてこのインプリメントは、個々のオートマトンが「相並んで」ハードウェアで具体化されているような外観を呈する。このことは、レジスタユニットが設けられている場合、1つの状態オートマトンごとにそれぞれ複数のレジスタが、2進コード化された形態の状態を表すことを意味している。レジスタが設けられていない場合、これはいわゆる「非同期」オートマトンである。この場合には、第3のバス回線システムの回線の一部が状態コード化であるとみなされる。そしてオートマトンは、それ自体公知のやり方で、「個別に」インプリメントされる。結合は、第1及び第2のバス回線システムによって行われる。このときRAMsの多重分割は、インプリメントの可能性を拡張する役目を果たすことができる。
記憶素子として、特にTMR型式の磁気抵抗デバイスが設けられているのが好ましい。このようなトンネル磁気抵抗素子は十分に公知である。
次に、本発明によるコンピュータユニットの態様と機能形態について、図面を参照しながらさらに詳しく説明する。この場合、図1から図4はすでに説明したように従来技術に関わるものである。
図5から図9には、対応する部分には同じ符号が付されている。図面では次のものが表示ないし表記されている。
1 第1のクロスバースイッチングユニットないしクロスバースイッチrCBS1
2 構造化可能なRAMユニットないしRAM
3 第2のクロスバースイッチングユニットないしクロスバースイッチrCBS2
4 カウンタないしCounterと呼ぶカウンタユニット
5 コンフィギュアラブルな比較ユニットないしConfigurable Compare
6 プログラマブルな不一致(XOR)論理ユニットないしProgrammable XOR
7 レジスタユニットないしレジスタ
8 出力ネットワークないしOutput Network
9 回路への入力バスないしInput
10 フィードバックのための第3のデータバス回線システム
11 状態信号ないしState
12 カウンタ状態信号
13 アドレス信号
14 クロック信号ないしClock
15 導き出されたクロック信号ないしR_Clk
16 リセット信号ないしReset
17 回路への出力バスないしOutput
18 アドレス信号
20 入力側の第1のバス回線システム
21 出力側の第2のバス回線システム
Ht RAMベースの主要部分
St 追加の制御部分
上記以外に図示している部品及びその名称については、以下の記載のなかで述べる。
5)本発明の説明
図5に示す、全般に符号Htが付されているアーキテクチャのRAMベースの主要部分は、付属の符号1及び3が付された「クロスバースイッチ」とも呼ぶ2つのリコンフィギュアラブルなクロスバースイッチングユニットrCBS1及びrCBS2と、構造化可能なRAMユニット2と、これらを接続する、図面ではアドレスバス(A)及びデータバス(D)で表しているバスシステム20及び21と、追加のアドレス情報13及び18と、同時にユニット7の状態レジスタの入力部でもあるフィードバックをするデータバス10と、回路への入力部のための接続バス9及び11と、それまでの状態のフィードバック11とで成り立っている。
追加の回路は、統合されたコンフィギュアラブルな進行制御のための、全般に符号Stが付された追加の制御部分、ならびに出力部へのインターフェースである。これには、リセット可能なカウンタ4と、リセット値でコンフィギュアラブルな比較ユニット5と、コンフィギュアラブルな不一致論理素子ないしXOR素子6と、多くの場合Dフリップフロップとして構成されるレジスタ7とが属している。クロックパルス14は、カウンタ4及びrCBS1(1)との両方に印加される。これら両方のユニットは、データの受け取りがポジティブな(または選択的にネガティブな)クロックパルスエッジで行われるように、クロックパルスで直接制御される。レジスタ7でのデータの受け取りは、クロックパルス14から導き出されるR_Clk15によって行われる。コンフィギュアラブルな比較ユニット5での比較がポジティブな結果に終わった場合にだけ、このクロックパルスは通過し、すなわちポジティブな(またはネガティブな)クロックパルスエッジがレジスタ7に現れる。これは、計数値が比較値と一致している場合である。この場合には、ポジティブなクロックパルスエッジでも能動的なリセット信号16がカウンタ4に出される。
レジスタ7の出力は、データバス11を経由して、これまでの状態としてユニットrCBS1(1)に結合されるとともに、出力部すなわち出力(切換)ネットワーク8へ結合される。このネットワーク8では、それぞれの状態を通常の形式で出力信号に変換することができる。なお、このユニットには本発明の枠内では特別な意義はない。
5.1 本発明に基づいて構成されたアーキテクチャの機能形態
構造化可能なRAMとして構成され、本発明の明細書でさらに詳しく説明する記憶装置は、テーブルの記憶装置としての役目を果たす。すなわち、例えば小型のアドレスとして表現することができる記憶装置の第1の部分には、第1のテーブルが記憶されていると考えることができる。そして、この第1の部分に由来する値を用いて、例えば中程度のアドレスを表す第2のテーブルを記憶装置でアドレス指定することができ、さらに第3以下同様であり、最後には結果が確定する。
つまり本発明の用途は、有限状態オートマトン(FSM)のアレイからなるセルオートマトン(CA)を、1つのデバイスで統合することを目指すものであり、そのために特に、ただし限定的にではなく、上に挙げた未公開の独国特許出願第102004007232.9号明細書に開示されている特徴部を利用する。同明細書では、コンフィギュアラブルなアーキテクチャに基づくグローバルセルオートマトン(GCA)の具体化のコンセプトが展開され、記載されている。
5.2 機能形態の詳細
カウンタ4の意義は、必要なテーブルの数をアプリケーション固有に規定することにある。このことは、比較レジスタ5(Configurable Compare)と合わせて考えなくてはならない。すなわち、このレジスタでは本来の動作の前に1つの数が記憶され、この数が、次の状態の完全な新規計算のために必要な動作時のランの回数を規定する。このとき比較レジスタ5における「0」は、ただ1つのテーブルすなわち古典的なルックアップテーブル(LUT)が利用されることを意味しており、「1」は2つのテーブルが利用されることを意味しており、以下同様である。
このように、カウンタ4は、例えば0からX−1まで計数し、ただしこのときXは好ましくは必ずしも2の累乗(例えば4、8、16...)でなくてよい、非同期リセットを行う2進カウンタとして特徴づけられるのに対して、実際の計数終了は、ユニット5の比較レジスタによって規定される。そしてアクセスの終了は、次の状態が完全に計算されており、この状態を記憶できることを意味している。この記憶プロセスの制御は比較レジスタで行われ、すなわち、クロックパルスの制御によって行われる。
そのために信号Clock14は、比較ユニット5のコンフィギュアラブルなレジスタで最新の比較と組み合わされて新たな信号R_Clk15となり、等しいかどうかの比較が真である場合にだけ、すなわちカウンタ値=比較値である場合にだけ、ポジティブエッジが生じるようになっている。それと同時に、カウンタ4が定義されたとおり0にリセットされるように信号Reset16が生成され、これが同時に開始値になる。この種の信号15及び16の生成は一般的な従来技術であり、したがって詳しく説明する必要をみない。これを実行できるようにするために、カウンタ4は、相応のリセット信号16による非同期リセットのための入力部を装備していなくてはならない。
該回路の心臓部はRAMユニット2で成り立っている。このRAMユニットは入力側に、複数のアドレス部分バスに分割された、回線システム20のアドレスバスを有する。さらに、h+1回線によってアドレス情報18が提供される。このことは、個々のラン及びこれに伴う部分テーブルへのアクセスを制御するために必要である。テーブルアクセスの結果が(クロックパルスごとに部分テーブルへアクセスが部分的に並行して行われる)、同じく複数のデータ部分バスに分割可能な、回線システム21のデータバスを介して出力される。追加の情報(1ビット)は、最後の通過時に多重化とOR演算との間で切換を行うために必要である。
アドレスバス20の情報、ならびにアドレス情報18の情報は、リコンフィギュアラブルなクロスバースイッチrCBS11によって編成される。そのために入力バスシステムであるInput9とState11、及び直近に読み出されたテーブル値のフィードバック10が意図されており、その情報に基づいてアドレスバスを次回のクロックパルスのために編成することができる。その後の制御の役目をするのは、カウンタ4の最新値、現在進行中のサイクル、ならびにクロックパルス14である。
このクロックパルス14により、RAMユニットへ安定的に印加するために、入力値を中間記憶しておくことができる。これは状態State11については必要ない。それは、この値は記憶されており、Input9ならびにデータバス10を介してのフィードバックのために好都合であることが判明しているからである。これに代えて、フィードバック10はすでにrCBS2(3)で保存しておくこともできる。State10のためのデータバスの入力部を除いて、どの入力部も中間記憶をするように、または記憶をせずに直接結合するように、コンフィギュアラブルであることが前提となる。
素子rCBS1(1)は、クロスバースイッチとして製作されてもよい。このことは、rCBS1のどの出力部も各々の入力部から配線されていることを意味している。そして、これは自由にコンフィギュレーションすることができる。入力選択は最新のカウンタ状態にも左右されるので、このCBSは、各々のカウンタ値について新たなコンフィギュレーションが記憶装置にロードされたリコンフィギュアラブルなCBSとして製作するか、または、出力選択をカウンタ状態に依存させることができる、自由にコンフィギュアラブルな回路として製作するのが好ましい。リコンフィギュアラブルな回路としての実施形態は、特に、参考文献[2]に記載されており、それに対して、自由にコンフィギュアラブルな構造は市販のプログラマブルな論理デバイスに呼応しており、例えば参考文献[3]に記載されている。
追加のビット(追加情報)の生成は、自由にコンフィギュアラブルな回路の形態で行われなければならず、これは、このビットがすでにカウンタ4で計数値と比較値が等しいことの確認によって生成されておらず、このビットがその後に利用される場合である。2番目の可能性のほうがはるかに簡単ではあるが、フレキシブルさに欠けるので、一般にはrCBS1での生成を前提とする。
RAMユニット2の出力は、第2のリコンフィギュアラブルなクロスバースイッチrCBS2(3)によってさらに処理される。そのために、2kデータバス21からの選択を可能にする、kビットのアドレス情報13が追加的に必要である。さらにカウンタ4の値が、計数バス12を介して、[Log2(X)](丸めることを意味する)によって伝送される。rCBS2については、rCBS1についての説明と同じことがコンフィギュレーション可能性ないし装備に関して当てはまる。
フィードバック10は、最後のカウンタ状態になったときに次の状態を伝え、それ以前には中間結果をそのつど伝える。ただし次の状態が保存され、直接ないし換算されたうえで、周囲の出力部Output17に提供されるのが望ましい。そのために、好都合であると判明している場合には、10の出力をコンフィギュアラブルなXOR素子(プログラマブルXOR)6で反転させることができる。これに関しては、最小化された論理和標準形(DNF)としての表現のほうが、およそ半数のケースにおいて、最小化された反転論理和標準形(IDNF)よりも複雑であり、その逆も成り立つことが知られている。この両方を可能にするために、ユニット6が追加されている。
そして状態は場合により部分的に反転された形態で、クロックR_Clk15により制御されながら、レジスタ7に記憶される。Output17での出力は、場合により、状態ないしその表現から周囲で必要とされる信号が算出される、コンフィギュアラブルな組合せ回路Outpt Network8によって再度換算されたうえで行われる。これは通常の措置である。
5.3 個々の素子の構造
RAMエリアないしRAMユニット2
これに付属するのではないリコンフィギュアラブルなクロスバースイッチ1及び3を含めたRAMエリア全体の構造が、図6に示されている。
RAMエリア2の全体は、複数のRAMベース領域220に区分されている。図6では4つのベース領域が図示されており、この数は、絶対というわけではないが好ましくは2の累乗すなわち2、4、8、16...である。このような個数の利点は、例えばサイズがMの4つのエリアを、サイズ4*Mの1つのエリアに統合することができるという点に見ることができる。図6に示す2k個のベース領域220のこのような考えられる統合は、k本の回線13によって伝達される情報を用いて、rCBS2(3)で行われる。
RAMベース領域がrCBS2の最新のコンフィギュレーションによって統合されないときは、または部分的に統合されないときは、RAMをセグメント化し、それによって上の5.1項及び5.2項に記載した機能形態を確保することが可能である。
rCBS1(1)と各々のRAMベース領域との間の結合はアドレスバス200によってそれぞれ行われ、これらのアドレスバスの総体がアドレスバス20(図5)を形成する。各アドレスバスの回線のレイアウトはrCBS1(1)でコンフィギュアラブルであり、入力としてはバスシステム9、10及び11、ならびにカウンタ状態12を利用することができる。さらにkビットのアドレス情報13は、読み出されたデータバス210情報をrCBS2(3)がどのような仕方で利用すべきかを表している。情報13は、例えばカウンタ状態12から生成されていてよく、0通過についてはRAM0が成り立ち、1についてはRAMエリア1が成り立ち、以下同様であるが、これよりはるかに複雑な選択パターンもコンフィギュアラブルである。そのためにrCBS2(3)の出力10は、RAMベース領域の全てのデータバス21の合計と等しいデータバス幅を有する。
RAMベース領域220
図7は、RAMベース領域220の詳細を示している。この領域は、複数のRAMベースブロックまたはRAMセル221で構成されており、これらの構造は通常のRAMデバイスに対応している。本例では、それぞれ1つのアドレスバス201に、読み出されたRAM記憶セルのアドレスが印加され、通常のアクセス時間の経過後に、それぞれのデータバス211に結果が印加される。
RAMベース領域220におけるRAMベースブロック221の数は、図7では4つに指定されている。具体的な個数は、絶対というわけではないが好ましくは、2の累乗すなわち2、4、8、16...に相当している。RAMベースブロックの数は、アプリケーションで進行する種々のサイクルにRAM全体を分割することができる細分性を決定づける。それに対して、RAMユニット2におけるベース領域220の数は、どれだけの並行性及びこれに伴うデータバス幅で作業を行うことができるかを決定づける。
RAMベース領域に属するものとして、OR回路とマルチプレクサ選択回路とが組み合わされた、コンフィギュアラブルな切換ユニット300がOR/MUX−Switchとして図示されている(記号MUX=マルチプレクサ)。ここではアドレス情報18に依存して、どのデータバスが出力部DB_out10に現れるか、あるいは、データバスが事前に相互に論理的に組み合わされるかどうかが決定される。このような組合せは、未公開の独国特許出願第102004007232.9号明細書によれば、希望する機能性を可能にするために機械の最終段階で必要となる。
図8は、OR/MUX切換ユニット300の構造を示している。組合せはビット単位で行われることがわかる。図示しているように(データバス幅はここは図面表現上の理由から3つに限定されている)、各データバス210の接尾辞0をもつデータビットが論理サブユニット310にまとめられ、接尾辞1をもつデータビットがそれぞれ他のサブユニット310にまとめられることが明らかである。この場合、全てのサブユニット310は、相応のバス回線を介してアドレス情報18と接続されている。
図9は、本発明による回路の特徴を持たせるためにOR/MUX切換サブユニット310に少なくとも存在しているべき内部構造を示している。論理ユニット311は相応のデータビットのOR演算を可能にし、2k:1マルチプレクサ312はデータビットの選択を可能にする。これらの部分ユニット311及び312のうち、サブユニット310にそれぞれ1つが存在しており、そこではOR/MUXスイッチユニット300全体が1本のデータバス210のデータバス幅に相当している。部分ユニット311及び312の機能性、及びこれらに後置された2:1マルチプレクサ313の機能性はよく知られているので、これらの説明は省略することができる。
どの組合せが現在利用されるかの選択は、アドレス情報18の追加の情報ビットを通じて行われる。未公開の独国特許出願第102004007232.9号明細書に定義された進行に基づいて、新たな状態を計算するための最初のランでは、異なるテーブルについて異なるRAMベースブロックを利用するためにマルチプレクサを利用するよう尽力される。それに対して最後の通過時にはOR演算が必要とされる。
追加の情報ビットは、ユニットrCBS1(1)により、カウンタ値(12)に基づいて計算されなくてはならない。
6)参考文献
[1]ロルフ・ホフマン(Rolf Hoffmann)、クラウス−ペーテル・フェルクマン(Klaus-Peter Voelkmann)、ヴォルフガング・ヘーネス(Wolfgang Heenes):「グローバルセルオートマトン(GCA):新たな大規模並列計算モデル(Globaler Zellularautomat (GCA):Ein neues massivparalleles Berechnungsmodell)」社団法人情報科学協会の報告書、並列アルゴリズムとコンピュータ構造、ISSN0177-0454 Nr.18(2001年)21-28頁;
http://www.ra.informatik.tu-darmstadt.de/publikationen/publik.html
[2]R.K.ブレイトン(R.K.Brayton)他:「VLSI合成のための論理最小化アルゴリズム(Logic Minimization Algorithms for VLSI Synthesis)」Kluwer Academic Publishers、 USA 1984、特に1から14頁、54から88頁、及び139から147頁
[3]マイク・トラップ(Mike Trapp):「PLDデザイン手法は既存のデザインを大容量デバイスに移行させる(PLD-design methods migrate existing designs to high-capacity devices)」EDN Access、1994年2月;
http://www.reed-electronics.com/ednmag/archives/1994/021794/04df1.htm
[4]ヴォルフガング・ヘーネス(Wolfgang Heenes)、ロルフ・ホフマン(Rolf Hoffmann)、クラウス−ペーテル・フェルクマン(Klaus-Peter Voelkmann):「グローバルセルオートマトンのアーキテクチャ(Architekturen fuer den globalen Zellularautomaten)」19th PARS Workship、2003年3月19-21、バーゼル;
http://www.ra.informatik.tu-darmstadt.de/publikationen/pars03.pdf
[5]国際公開第2004/040766A2号パンフレット
[6]米国特許出願公開第4870302A号明細書
[7]W.オバーシェルプ/G.フォッセン(W.Oberschelp/G.Vossen):「コンピュータ構成とコンピュータ構造(Rechneraufbau und Rechnerstrukturen)」8版2000年、オルデンブルク出版社(ドイツ)/ISBN3-486-25340-9
従来技術を説明する図。 従来技術を説明する図。 従来技術を説明する図。 従来技術を説明する図。 本発明に基づく装置の構造化可能でリコンフィギュアラブルなRAMアーキテクチャの全体的構造を表す図。 リコンフィギュアラブルなクロスレールスイッチングユニットが付属する、RAMエリアないしRAMユニットの構造を表す図。 RAMベース領域の構造を表す図。 OR/MUX切換ユニットの構造を表す図。 この特別な切換ユニットの内部構造を表す図。

Claims (11)

  1. リコンフィギュアラブルなアーキテクチャを備えるコンピュータ装置であって、
    複数のRAMセル(221)を有する構造化可能なRAMユニット(2)と、
    入力部に前記アーキテクチャの入力データ(9)が外部から与えられ、出力部が第1のバス回線システム(20)を介してRAMユニット(2)の入力部と組み合わされた第1のクロスバースイッチングユニット(1)と、
    入力部が第2のバス回線システム(21)を介してRAMユニット(2)の出力部と組み合わされ、出力部が、第1のクロスバースイッチングユニット(1)の入力部で第2のクロスバースイッチングユニット(3)の出力側データをフィードバックするために、第3のバス回線システム(10)を介して第1のクロスバースイッチングユニット(1)の入力部と組み合わされた第2のクロスバースイッチングユニット(3)と、
    を備えたRAMベースの主要部分(Ht)を含み、
    その際、アドレス指定のためにRAMユニット(2)及び第2のクロスバースイッチングユニット(3)には第1のクロスバースイッチングユニット(1)により生成されるアドレス信号(18ないし13)が供給され、
    第2のクロスバースイッチングユニット(3)の出力側データは、場合によりさらに処理された後、前記アーキテクチャの出力データ(17)を出すために出力ネットワーク(8)へも供給され、
    ならびに前記コンピュータ装置は、
    カウンタユニット(4)を備える、主要部分(Ht)を進行制御するための追加の制御部分(St)の手段を含み、カウンタユニット(4)と第1のクロスバースイッチングユニット(1)には共通のクロック信号(14)が供給され、第1及び第2のクロスバースイッチングユニット(1ないし3)にはカウンタユニット(4)により生成されるカウンタ状態信号(12)が供給されるコンピュータ装置。
  2. 第2のクロスバースイッチングユニット(3)の出力側データはまずプログラマブルな不一致論理ユニット(6)に供給されることを特徴とする、請求項1に記載のコンピュータ装置。
  3. 第2のクロスバースイッチングユニット(3)の出力側のデータは、出力部が前記アーキテクチャの出力データ(17)を出すための出力ネットワーク(8)と組み合わされた、後置されたレジスタユニット(7)へ供給されることを特徴とする、請求項1または2に記載のコンピュータ装置。
  4. カウンタユニット(4)には、共通のクロック信号(14)が供給されるコンフィギュアラブルな比較ユニット(5)が付属しており、レジスタユニット(7)には、不一致論理ユニット(6)からのデータの受け取りを制御する比較ユニット(5)のクロック信号(15)が供給され、カウンタユニット(4)には比較ユニット(5)のリセット信号(16)が供給されることを特徴とする、請求項2及び3に記載のコンピュータ装置。
  5. 第1のクロスバースイッチングユニット(1)にはレジスタユニット(7)の状態信号(11)が供給されることを特徴とする、請求項3または4に記載のコンピュータ装置。
  6. RAMユニット(2)は、OR/MUX切換ユニット(300)と組み合わされたRAMセル(221)を有するRAMベース領域(220)を含むことを特徴とする、請求項1から5のいずれか一項に記載のコンピュータ装置。
  7. OR/MUX切換ユニット(300)には第1のクロスバースイッチング装置(1)からアドレス信号(18)が供給されることを特徴とする、請求項6に記載のコンピュータ装置。
  8. 第1のクロスバースイッチング装置(1)からのアドレス信号(13)によってRAMベース領域(220)の統合が行われることを特徴とする、請求項6または7に記載のコンピュータ装置。
  9. 追加の記憶デバイスとしてCAMsが設けられていることを特徴とする、請求項1から8のいずれか一項に記載のコンピュータ装置。
  10. 少なくとも1つのCGAが組み込まれていることを特徴とする、請求項1から9のいずれか一項に記載のコンピュータ装置。
  11. 記憶素子として特にTMR型式の磁気抵抗デバイスが設けられていることを特徴とする、請求項1から10のいずれか一項に記載のコンピュータ装置。
JP2007531744A 2004-09-16 2005-09-08 グローバルセルオートマトンを組み込むためのリコンフィギュアラブルなアーキテクチャをもつコンピュータ装置 Expired - Fee Related JP4468452B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE200410044976 DE102004044976A1 (de) 2004-09-16 2004-09-16 Rechnereinrichtung mit rekonfigurierbarer Architektur
PCT/EP2005/054452 WO2006029986A1 (de) 2004-09-16 2005-09-08 Rechnereinrichtung mit rekonfigurierbarer architektur zur aufnahme eines globalen zellularen automaten

Publications (2)

Publication Number Publication Date
JP2008513864A JP2008513864A (ja) 2008-05-01
JP4468452B2 true JP4468452B2 (ja) 2010-05-26

Family

ID=35395562

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007531744A Expired - Fee Related JP4468452B2 (ja) 2004-09-16 2005-09-08 グローバルセルオートマトンを組み込むためのリコンフィギュアラブルなアーキテクチャをもつコンピュータ装置

Country Status (5)

Country Link
EP (1) EP1789889B1 (ja)
JP (1) JP4468452B2 (ja)
CN (1) CN100456278C (ja)
DE (2) DE102004044976A1 (ja)
WO (1) WO2006029986A1 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102005005073B4 (de) * 2004-02-13 2009-05-07 Siemens Ag Rechnereinrichtung mit rekonfigurierbarer Architektur zur parallelen Berechnung beliebiger Algorithmen
WO2009119802A1 (ja) * 2008-03-27 2009-10-01 大学共同利用機関法人情報・システム研究機構 有限オートマトンのメモリ内データ構造、この構造のデータが格納されたメモリ、このメモリを用いた有限オートマトン実行装置
CH710534A1 (de) 2014-12-18 2016-06-30 Netzhammer Eric Reinigungsvorrichtung für Kleinteile.
US11923009B2 (en) * 2022-06-15 2024-03-05 Hewlett Packard Enterprise Development Lp Compact K-SAT verification with TCAMS

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6546461B1 (en) * 2000-11-22 2003-04-08 Integrated Device Technology, Inc. Multi-port cache memory devices and FIFO memory devices having multi-port cache memory devices therein
EP1573573A2 (en) * 2002-12-12 2005-09-14 Koninklijke Philips Electronics N.V. Dataflow-synchronized embedded field programmable processor array

Also Published As

Publication number Publication date
EP1789889B1 (de) 2008-11-05
CN101023421A (zh) 2007-08-22
CN100456278C (zh) 2009-01-28
WO2006029986A1 (de) 2006-03-23
DE102004044976A1 (de) 2006-03-30
DE502005005909D1 (de) 2008-12-18
EP1789889A1 (de) 2007-05-30
JP2008513864A (ja) 2008-05-01

Similar Documents

Publication Publication Date Title
US6278289B1 (en) Content-addressable memory implemented using programmable logic
US7352205B2 (en) Reconfigurable switching device parallel calculation of any particular algorithms
US6421817B1 (en) System and method of computation in a programmable logic device using virtual instructions
US6047115A (en) Method for configuring FPGA memory planes for virtual hardware computation
JP4861030B2 (ja) 半導体装置
JPH08510885A (ja) ダイナミックロジックコアに動的に相互接続するフィールドプログラマブル・ロジックデバイス
US20060259529A1 (en) Array of Data Processing Elements with Variable Precision Interconnect
JPH11251442A (ja) 再構成可能プロセッサデバイス
JP4484756B2 (ja) リコンフィギュラブル回路および処理装置
JP6564186B2 (ja) 再構成可能な半導体装置
US8949576B2 (en) Arithmetic node including general digital signal processing functions for an adaptive computing machine
Sidhu et al. A self-reconfigurable gate array architecture
JP2007522571A5 (ja)
JP4423953B2 (ja) 半導体集積回路
JP4468452B2 (ja) グローバルセルオートマトンを組み込むためのリコンフィギュアラブルなアーキテクチャをもつコンピュータ装置
EP3722985A1 (en) Method and apparatus for implementing an application aware system on a programmable logic device
US7509479B2 (en) Reconfigurable global cellular automaton with RAM blocks coupled to input and output feedback crossbar switches receiving clock counter value from sequence control unit
JP2006302132A (ja) 信号処理装置及び再構成可能論理回路装置及び再構成可能順序回路
Suvorova An approach to dynamic reconfigurable transport protocol controller unit development
Torresen Reconfigurable logic applied for designing adaptive hardware systems
WO2006116045A2 (en) Variable precision processor
Wiegand et al. Definition of a configurable architecture for implementation of global cellular automaton
Heenes et al. FPGA implementations of the massively parallel GCA model
EP0924625A1 (en) Configurable processor
JP4330472B2 (ja) 処理装置

Legal Events

Date Code Title Description
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: 20100126

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

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20130305

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20130305

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20140305

Year of fee payment: 4

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees