JP3857691B2 - 再構成可能なディジタル論理ユニット - Google Patents

再構成可能なディジタル論理ユニット Download PDF

Info

Publication number
JP3857691B2
JP3857691B2 JP2003540837A JP2003540837A JP3857691B2 JP 3857691 B2 JP3857691 B2 JP 3857691B2 JP 2003540837 A JP2003540837 A JP 2003540837A JP 2003540837 A JP2003540837 A JP 2003540837A JP 3857691 B2 JP3857691 B2 JP 3857691B2
Authority
JP
Japan
Prior art keywords
logic
unit according
microprogram
logic unit
cell
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
JP2003540837A
Other languages
English (en)
Other versions
JP2005510901A (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 JP2005510901A publication Critical patent/JP2005510901A/ja
Application granted granted Critical
Publication of JP3857691B2 publication Critical patent/JP3857691B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

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
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

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

本発明は、再構成可能なディジタル論理ユニットに関する。
プロセッサのような従来のプログラム可能な論理モジュールはメモリからロードされたプログラムを実行する。これらのメモリはディスクリートモジュール(例えば、ハードディスク、メモリチップ)として組み込むか、もしくはプロセッサに集積化することができる。前者についての公知例が公知のIBMコンパチブルのPCであり、後者についての公知例が所謂フラッシュマイクロプロセッサである。実行すべきソフトウェアは命令語の形で機械命令としてメモリに格納されている。命令語がロードされ、解析され、処理ユニットで実行される。個々の機械語の処理が論理ユニットの多数の個別動作を作動させる。
従来のプログラム可能な論理モジュールの決定的な特徴は、処理ユニットが数クロックサイクルのための各新しい命令語によって新しくプログラムされることにある。処理ユニットにおける前の命令語に関する情報はレジスタ内容を除いて上書きされる。最新のマイクロプロセッサの処理ユニットは可能な演算の数の多さにより非常に労力をかけて構成されている。500個以下の命令語に対して、3000万個以上のトランジスタが必要であり、このことはそれ相応に大きなエネルギー消費をもたらす。というのは、各トランジスタは使用されずに待機状態にあるときにもエネルギーを消費するからである。エネルギー節約を達成するために、作動電圧を適合させること、すなわち低くすることが既に提案されている。同様にクロック周波数が低減され、勿論それによって論理ユニットの全出力が低下する。
これらのトランジスタの設計、製造および試験の費用は巨大である。一度設計された関数性は変更することができない。定められた時点で一つの問題しか処理することができない。
特にプログラムループを実行する際、プロセッサの僅かな部分のみが能動状態にある。大抵のアプリケーションは非常に多くのプログラムループを含み、各ループはループ内に組み込まれた比較的僅かな命令しか含んでいない。この場合、問題になるのは計数ループ、例えば洗濯機におけるすすぎプロセスの回数である。同様に、繰り返し回数がループ開始時に未知である条件付きループが非常に頻繁に起こる。というのは、ループは結果に関係して離れるからである。結果が出なければ、ループ内で前の命令が繰り返される。
ディジタル論理ユニット、特にマイクロプロセッサを備えたコンピュータは、ノイマン型コンピュータの構想に基づく。中央ユニットすなわちコンピュータ中心部分は、主要構成部分、すなわち主メモリ、制御ユニットおよび処理ユニット(演算装置)からなる。主メモリは命令語(プログラムデータ)および処理データ(オペランド語)を記憶し、これらを要求に応じて使わせる。更に、主メモリは処理の中間結果および最終結果を収容する。主メモリは揮発性メモリおよび不揮発性メモリによって実現することができる。制御ユニットは命令語が実行される順序を編制する。制御ユニットは命令語を主メモリから要求し、処理ユニットでの命令語の実行を指示する。制御ユニットは命令語を解析し、処理ユニットへの処理データの供給を指示する。処理ユニットは処理データに対して演算を実行し、結果を主メモリに供給する。各演算のために、処理ユニットは必要な伝送線を投入するマイクロプログラムを含んでいる。処理ユニットは制御ユニットによってその都度の演算すなわち実行すべき命令にセットされる。この中央ユニットは上述の外部メモリ、入出力装置である周辺装置に付設されている。中央ユニットの既述の主要構成要素は物理的に分離されていてもよいが、しかし大抵はキャッシュを備えた共通なプロセッサチップ上、または例えば組み込まれたROM上で実現されている。
公知のディジタル論理ユニットは、特に頻繁に繰り返される動作を行う際に、例えばプログラムループを実行する際に、既に数プロセッサクロック前に命令レジスタ内にあった命令語をロードして実行するという欠点を有する。このようなループに関する例がキーボード走査である。キーが全く押されていない場合、全てのループ命令が短い間隔で繰り返され、毎回命令語が完全に新しいものとして改めてロードされなければならない。プロセッサの大部分は待機中には必要でないが、しかしプロセッサがこの時間内に他の問題を処理することができるわけではない。
この種の論理ユニットの利用率は極めて悪い。というのは、存在するハードウェアのほんの一部分しか利用されないためである。チップ面積の大部分が利用されないままであるにもかかわらず、連続的に、作動のためのエネルギーが消費されなければならない。
様々の与えられた状況にプロセッサを適合させることは、少ない複雑な局面で既に実施されている。この例が種々のプログラムを有するプロセッサのメモリバンクの切換えである。現在利用されていないメモリバンクを変更することができる。この技術はIAP(イン・アプリケーション・プログラミング)と呼ばれている。この措置によって達せられた改善は比較的僅かである。なぜならば、プロセッサハードウェアに変更はなく、実行すべきプログラムが同時に他のプロセッサによりロードされるだけであるからである。
より少ない複雑な問題に対しては、しばしばプログラム可能な論理モジュール(PLD)が使用される。この論理モジュールは、例えば米国特許第4870302号明細書、または刊行物「Ranmuthu,I.W.et al.;Magnetro−resitive elements−An Alternative to Floating Gate Technology;In:Proceedings of the Midwest Symposiums on Circuits and Systems,1992,p.134〜p.136,vol.1」から公知である。全アプリケーションプログラムは、このような論理モジュールの場合、特殊コンパイラ(所謂フィッタ)内で適切な命令に置き換えられる。PLDはこれらのプログラムデータにより一回限り一般にブート過程において定義される。つまり、プログラムメモリからプログラムが読み出され、構成可能な範囲が構成される。構成可能な範囲は次の特性を持つ。すなわち、構成可能な範囲は、予め与えられた点間の論理結合を定義する(ルーチング範囲)か、または論理入力信号を論理出力信号へ処理する(論理セル範囲)。しかし、製造者によって実現されたPLDの技術コードとは相違する接続が必要とされ、2つ以上の接続ブロックがカスケード接続されなければならない場合、走行時間増大および通過遅延が生じる。それによって、アプリケーションプログラム実行の実際の速度を予測することができない。多くの場合、例えば、PLDにおける最小の速度要求または信号の同期化を実現できるようにするためにプログラムにおける適合が必要である。論理信号を処理する際に現存とは異なる特性例えば、より高いビット幅)が要求される場合には、同様にカスケード接続されなければならない。それによって、PLDでは結合範囲の面積が論理範囲よりも大きい。それゆえ、モジュールを構成可能であるにもかかわらず、異なる課題に対する柔軟性が僅かである。従って、実際上の問題においては一般に、その問題(例えばビット幅、通過遅延要求)により良好に適合している資源を有する他のチップ構成を持つ他のチップが選択される。PLDのアーキテクチャ構想は、フィッタのプログラミング情報をPLDチップ上における多数の同様の論理セルに配分することを意図している。これらは多数の同様のルーチング範囲によって結合される。従って、プログラミング情報は平面に配分されている。PLDの構成可能性はブート過程において設定される僅かな構成可能なパラメータに限られる。その場合に2つのメモリが必要である。すなわち、外部のブートメモリチップ(ディスクリートチップ、例えば米国特許第4870302号明細書におけるEEPROM113)および内部の平面配分されたメモリセル(例えば米国特許第4870302号における図3aおよび図10a、またはRanmuthu氏らの先に挙げた刊行物における図5)である。ローカルメモリセルはブート過程の後に結合およびセルの論理関数についての情報を有する。配分されたメモリセルの平面効率および損失電力効率は同じ能力のディスクリートメモリチップよりも2桁程度劣る。しかし、アプリケーションプログラムはチップが用意しているよりも少ない能力を必要とするので、利用されない範囲が同様に損失電力を消費することは避けられない。PLDの資源の標準的な利用率は約30%〜70%である。それによっても、定められた時点では僅かな部分しか能動的に論理情報の処理に関与しない。
従って、本発明の課題は、上述の欠点を回避し、ハードウェアの利用率が改善されたディジタル論理ユニットを提供することにある。
この課題は、構成可能な特性を有する複数の論理セルと、複数の論理セルの関数性(functionality)に関する情報を含んだ複数のマイクロプログラムを有し、マイクロプログラムの少なくとも1つが定められたアプリケーションに関係して少なくとも論理ユニットの現在の動作中に再プログラム可能であるメモリと、少なくとも1つのマイクロプログラムを選択するための手段と、少なくとも論理ユニットの現在の動作中に選択されたマイクロプログラムの関数性情報に応じて論理セルを構成するための手段とを備え、データ信号と構成信号とを同時に処理可能である再構成可能なディジタル論理ユニットによって解決される。
用語「関数性」は、「データ処理」並びに「データ結合」であると解すべきである。
従って、本発明による論理ユニットは現在の動作中に可変であり、すなわち論理セルは論理ユニットの動作中に構成可能であり、1つのマイクロプログラムまたは複数のマイクロプログラムを論理ユニットの現在の動作中に、つまりその現在の演算中に再プログラムすることができる。それゆえ、論理ユニットの現在の動作状態においていつでも出された処理すべき課題への論理ユニットの適合化が可能である。なぜならば、固定の構成およびプログラムを製造者側で予め設定するのではなく、むしろ、いわば現場で構成し、特性を変更し適合させることができるからである。プログラミングまたは構成の変更はプログラマによってソフトウェア的に予め設定することができ、しかし自主的に学習するシステムであってもよい。従って、常に与えられている変化可能性によって、全ての有り得る命令もしくは結合がチップ上で実現されなければならないというわけではなく、むしろ今与えられた要件に従って動作中に必要な結合が作られる。従って、チップ上に必要なスペースは極めて少なくてすみ、損失電力も明らかに低減できる。なぜならば、設定可能性により、要求されたアプリケーションのために必要とされるようなセルおよび結合のみが構成されるからである。
用語「現在の動作」は、論理回路が機能を提供している状態であると解すべきである。原理的に論理回路は次のモードつまり動作状態に区分けされる。“遮断状態”(データは記憶されるが、変更できない);“ブート状態”(動作状態へ進行);“現在の動作状態”(本発明による論理ユニットの特色を示す状態として);“停止に至る状態”(現在の動作が終了し、“遮断状態”が準備される)。他の状態“利用不可状態”(例えば、=クラッシュ状態)はブート過程または現在の動作から到達し、“停止に至る状態”を通してのみ再び終了する。特殊例“ホットスタート”は移行過程の“停止に至る状態”および“ブート状態”を統合する。本発明による論理ユニットにおいては、少なくとも遮断モード、ブートモード、停止に至るモード、および利用不可モードの外では、再構成可能性が保証される。それに対して、従来技術(欧州特許出願公開第0253530号明細書参照)におけるPLD回路の構成は特別なブート過程のみを示している。勿論、論理ユニットは追加的にさらに公知のように始動モードおよび/または停止に至るモード中に上記部分の再構成可能性を可能にする。
使用された用語「論理セル」は、どれも、論理関数を実行する要素と解すべきである。最も簡単な場合は個別のメモリセルであり、複雑な場合はゲート、多数のゲートからなるサブネットワークあるいはプロセッサエレメントであってよい。論理セルの機能原理はサブルーチンの機能原理に対応し、簡単な関数性(例えば出力=入力または出力=一定)を含むか、または著しく複雑な関数性を有するサブネットワークとして構成することができる。大抵、頻繁な使用(例えばゲート関数または全加算器のような単純な論理関数)または適切且つ有利な構成(特に、商業的なIPの形で)によって傑出している部分問題が含まれている。
使用された用語「構成可能な特性」は、あらゆる、不揮発性ではあるが可変の特性または動作パラメータであると解すべきである。論理セルの例としては、入力におけるビット幅/変数の個数,入力の物理的位置,ビットのコーディング(例えばシリアルまたはパラレル),ビットの論理処理,時間的挙動,レジスタ機能,ローカルメモリ機能、出力におけるビット幅、出力ビットの物理的位置あるいは動作準備が挙げられ、これらの枚挙にはいとまがない。変更はチップ内の他のプロセッサに無関係に非常に高速に(マイクロ秒およびナノ秒の範囲で)実施することができ、理想的にはビット処理および結合はクロック毎に行なわれる。
原理に基づいて構成とデータ処理とが実質的に同速度でかつ同時に行なわれると特に有利である。それによって、何時でも、すなわちあらゆる時点につまり全ての動作状態において構成できることが保証される。
磁気抵抗効果型の積層システムを有する構成可能な特性を持つ論理セルが特に適している。このような積層システムは特に僅かなナノ秒で特別に高速に磁気的に調整可能である。
磁気抵抗効果層を有する論理セルの代わりに、類似の性能のよい代替技術、例えば強誘電体ランダムアクセスメモリ(FRAM)を使用することもできる。
本発明による論理ユニットの各論理セルは、少なくとも1つの磁気抵抗効果型の積層システムと、接続導体路に接続されている入力端子および出力端子とを有する。積層システムは、GMR型(巨大磁気抵抗効果型)、TMR型(トンネル磁気抵抗効果型)またはAMR型(異方性磁気抵抗効果型)からなるとよい。
磁気層の磁化方向は情報記憶に利用される。この記憶過程は非常に高速でほぼ無制限に頻繁に実施可能である。メモリセルの抵抗は、基準方向に対して相対的に自由な磁気層の磁化方向に関係して低いか又は高い。それを基礎としている論理セルは論理ゲートとして使用することができ、複数のセルの駆動もしくは接続によって実質的に全ての通常のゲート機能(例えば、NOR,XOR,AND,OR,INV等)を実現することができる。その場合に重要なことは、適切な手段によってこれらの少なくとも2つのゲート関数間の関数性が変更可能であることである。同様に、論理セルはメモリとして使用することができ、特に論理結合の結果を記憶することができる。特に好適なのはTRAP型(トンネルランダムアクセスメモリ)のメモリセルである。というのは、これは無限に書込み可能であるからである。
本発明によれば、ディジタル論理ユニットにおいて、論理セルの結合により、半加算器、全加算器または掛算器の機能を有する論理セルブロックが形成される。付加的に論理セルはローカルメモリを含む。これは論理結合の中間結果または最終結果を記憶する。
本発明によるディジタル論理ユニットは複数のマイクロプログラムを有する内部メモリを含む。内部メモリは主メモリからの命令語によって呼び出され、複数の論理セルの関数性および論理結合に関する情報を含んでいる。命令語は主メモリからロードされ、解析され、マイクロプログラムに基づいてそのために必要な論理セル配置が導き出される。このようなマイクロプログラムはマクロ命令に匹敵し、複数の論理セルの結合によって実現することができる多数の基本演算を含んでいる。標準的な基本演算はロード、解析または選択である。従って、マイクロプログラムは構成設計または回路構成の手段とみなすことができ、論理セルに関する必要な全ての情報を含んでいる。付加的に場合によっては必要なメモリ、レジスタまたは類似の構成要素に関する情報も含んでいてもよい。更に、マイクロプログラムは定数も含むことができ、例えば数「0」を定数として定義することができる。変数および定数を持つ入力、出力、または入力の結合に関する情報をマイクロプログラムによって定義することができる。
多くの標準問題をマイクロプログラムによって満たすことができ、例えばキーボード走査をマイクロプログラムによって定義することができ、同様に外部装置へのデータの出力または外部装置からのデータの入力および受信を定義することができる。同様に、任意の論理結合(例えば、基本計算法の如き算術結合、非常に複雑なアルゴリズム)をマイクロプログラムの形で記憶することができる。論理結合は、それぞれマイクロプログラムによって定義される個別の構成部分に分解される。
特に有利であるのは、本発明に従って少なくとも1つのマイクロプログラムが再プログラム可能であることである。マイクロプログラムは、ロードし、定められたアプリケーションに応じて変更することができる。それによって、論理ユニットの特に高い柔軟性が達せられる。マイクロプログラムが新しいマイクロプログラムを定義するための命令または現存のマイクロプログラムを変更するための命令を有すると好ましい。
本発明思想の発展形態によれば、マイクロプログラムはファームウェアを含む命令を有することが提案されている。更に、マイクロプログラムの命令順序は、アプリケーションプログラムによって識別可能であり、新しいマイクロプログラムとして格納可能である。
更に、本発明によるディジタル論理ユニットは、少なくとも1つのマイクロプログラムを選択するための手段を含むことができる。マイクロプログラムは予め定義されていてもよいし、「進化するハードウェア」という意味において新しく定義することもできる。メモリは、上記手段によってその都度少なくとも1つのマイクロプログラムを選択する多数の命令語を含む。
少なくとも1つのマイクロプログラムの選択はプログラムポインタによって行なうことができる。
本発明によるディジタル論理ユニットは、更に、選択されたマイクロプログラムの関数性情報に応じて論理セルを構成するための手段を含む。
選択されたマイクロプログラムによって定義された論理セルの論理結合並びに場合により必要なローカルメモリセルが再プログラム可能なハードウェアにおいてプログラムされる。磁気抵抗効果型の論理セルがプログラムルーチンによってプログラムされる。プログラムルーチンは、どのような順序で個々の論理セルがプログラミング電流を得るかを決定する。それによって、所望の論理ゲート関数がプログラムされる。同様に異なる論理セル間の結合が作成される。
本発明によるディジタル論理ユニットにおいて使用されたメモリは、メモリ内容が揮発性ではなく、すなわちメモリ内容が電圧遮断後にもそのまま維持されるという利点を有する。それにもかかわらず、既にプログラムされた論理セルを後の時点で再プログラムすることができ、つまり論理セルの関数性を再構成することができる。従って、プログラムループが「ハードウェアで」ランし、つまり、定められた論理結合について、そのために正確に適したハードウェア構成が作られ、そのハードウェア構成は処理すべき問題にできるだけ最適に適合させられている。実際に現在必要とされる論理セルにだけ電圧が供給されなければならない。論理セルによって定義されたプログラムループが最終的に離れられたときに、付属の論理セルは遮断されるので、当該論理セルはもはや全くエネルギーを消費しない。それによって、ハードウェアの大部分が常に待機状態にあり、その状態において電流を消費するという、従来の論理ユニットにおいて発生した問題が回避される。
論理セルを格子状に配置すると特に好ましい。それによって規則的に配置された論理セル層が作成される。このような論理セル層の場合、個々の各論理セルはマトリックスの成分のように行および列の指定によってアドレスを与えられることができる。種々の形式の論理セルが規則的に格子領域上に分布させられるとよい。例えば、NORゲート、XORゲートおよびANDゲートのようなしばしば必要なゲートを格子領域の全範囲に配置することができるので、個々の論理セルの結合時に比較的僅かな間隔および少ない関数性構成しか橋絡しない。論理セル結合は格子領域において基本的には任意の形で形成することができる。結合すべき論理セルが直接にまたはできるだけ近くに隣り合う論理セル結合が有利である。結合された論理セルは格子領域上に線状にも面状にも、すなわち関数ブロックの形で配置することができる。
磁気抵抗効果型の積層システムと入力端子および出力端子とを備えた論理セルは、ほぼ横方向および縦方向に延び特に直角に交差する接続導体路に接続されている。導体路は銅材料からなる。
本発明思想の他の構成においては、論理セルが異なる層または平面に格子状に配置されている。3次元に配置された論理セルは著しく多様な論理結合可能性を生じる。論理セル内で変数または定数を記憶することも可能である。この論理セルには異なるマイクロプログラムによってアクセスすることができる。例えば、マイクロプログラムの1つを高い方の層に配置し、他方のマイクロプログラムを論理セルと並べて位置させることができる。従って、この論理セルは複数のマイクロプログラムによって利用することができる。
論理セルの異なる層平面の接続は公知のように層平面に対して垂直に配置された接触穴によって行なわれる。このような3次元の構成は公知であり、これ以上の説明を必要としない。磁気抵抗効果型の積層システムが中間に存在する交差する接続導体路の4〜6個の層平面を含んでいる再構成可能なディジタル論理セルが有利である。個々の層は絶縁層によって互いに分離するとよい。付加的に、外側には、従来のシリコン技術で製作することができる他の構成要素が存在していてよい。特に互いに隣接する層は平面内に互いにずらして配置するのがよい。それによって、例えば第2の層と第4の層との間において直線の接続導体路を形成することができる。格子配置は直交座標系であってもよいが、しかし、直ぐ隣り合わせの個数より多くするために、六角形の密度の非常に高いパックの形で「ハニカム」を配置することもできる。
本発明に従って、論理関数の実行が少なくとも1つの命令カウンタによって制御可能であるとよい。命令カウンタは命令トークンとも呼ばれ、どの論理セルが現在能動状態にあるかを信号で知らせる。すなわち、命令トークンは現在動作している論理セルもしくは現在動作している論理結合を示す。命令カウンタは、1つの論理セルにおいてのみセットされ("1")、他の全ての論理セルにおいてはセットされない("0")という論理信号であってよい。
本発明の第1の実施態様によれば、論理ユニットのために単一の命令カウンタが設けられている。従って、一時点では単一の論理セルもしくは単一の論理セル結合しか動作状態にすることができない。残りの論理セルはその間は不動作状態にある。当該論理関数が実行されているときに、命令カウンタは「前進」させられ、つまり次に実行すべき論理セルを指し示す。1つのマイクロプログラムもしくは複数のマイクロプログラムが連続的に論理セル領域に配置されているので、個々の論理セルが順次実行される。代替として、論理セルもしくは論理セル結合が自由に選べるように論理セル領域に記憶されていてもよく、この配置はハードディスク上のデータ記憶に匹敵する。
第2の実施態様によれば、論理ユニットは同時に能動状態になることのできる複数の命令カウンタを有する。従って、2つ以上のマイクロプログラムを同時にランさせることができ、つまり並行処理を行なわせることができる。命令カウンタつまり命令トークンは、フラグレジスタ内に記憶され且つ計算終了後にリセットされる論理信号として形成することができる。"1"は論理セル結合が能動状態であることを意味し、計算後にフラグが"0"にリセットされる。能動状態の論理セル装置もしくは能動状態のマイクロプログラムのみが値"1"を有し、これは作動電圧が能動状態のマイクロプログラムに関係する論理セルに対して投入されるようにする。プログラムされた定数および結果の引き渡しの共通利用が可能である。
マイクロプログラムの実行は種々の様式で行なうことができる。同期して動作する論理ユニットの場合には、次のクロックによりフラグが走査され、続いて次のマイクロプログラムが作動させられる。同期式の論理ユニットにおける実行が簡単に時間制御されて行なわれること、つまり各マイクロプログラムはプログラムされた命令語の実行のために等しい十分な時間を持つことができる。同期式の論理ユニットにおける実行が複雑に時間制御されて行なわれること、つまり各マイクロプログラムはプログラムされた命令語の実行のために予め与えられた時間と結びつけられていることも可能である。この時間情報は例えばマイクロプログラムの変数に含まれているのがよい。
更に、非同期で動作する論理ユニットの場合には、論理形式の釈放信号を直接にもたらすことができる。その場合に、プログラムされた命令語の実行時間は重要ではない。場合によっては、1つのメモリセルへの同時アクセスのような衝突を回避するために、同時に能動状態の複数のマイクロプログラムを同期化させるための措置が必要である。
本発明の発展形態に従って、論理ユニットは、確保された論理セルおよび/または確保されていない論理セルのテーブルを含むと好ましい。必要な論理セル装置、例えば掛算器が既に構成されたブロックとして存在するかどうかを調べるアルゴリズムを使用することも考え得る。この場合には、同一の論理セル装置を異なるマイクロプログラムによって使用することが有り得る。更に、現存の論理セルの最適な利用率を達成するために、アルゴリズムが論理セルの自由範囲を発見すると好ましい。同様に論理セルの機能性をチェックし、場合によっては故障として分類した論理セルにテーブルにおいて目印を付けるようにするとよい。
本発明の他の利点および詳細を、以下に説明する実施例から並びに図面に基づいて明らかにする。図面は概略表示であり、
図1は多層の論理セルからなる本発明による論理ユニットの横断面図、
図2は垂直な接続穴を有する本発明による論理ユニットの概略断面図、
図3は本発明によるディジタル論理ユニットの構成の概略経過図を示す。
図1に断面図で示されたディジタル論理ユニット1は複数層の磁気抵抗効果型の論理セル2からなる。各論理セル2は、接続導体路3,4に接続されている図1に示されていない入力端子および出力端子を備えた磁気抵抗効果型の積層システムを有する。接続導体路3,4は異なる面に配置されている平行な多数の導体路を含む。個々の導体路は電気的に互いに絶縁され、接続は導体路3にも導体路4にも接している論理セル2を介してのみ行なわれる。メモリセルのそれぞれは絶縁層5によって隣接する層から絶縁されている。論理ユニット1は4〜6個のこの種の個別層を含むと望ましい。
論理セル2は、不揮発性であるが、しかし再プログラム可能であり、高速でプログラムすることができる再書き込み可能な論理要素である。論理セル2は、論理関数および同時にメモリを実現する可能性、または結合を投入または遮断する可能性を提供する。
下部の絶縁層6の下側には、従来のシリコン技術で形成された他の構成要素7が概略的に示されている。従って、論理セル2をシリコン半導体と組み合わせることが可能である。
図2は個別層間に垂直な接続穴を備えた本発明による論理ユニットの概略的な断面図を示す。
論理ユニット1は、図1の論理ユニットと同様に構成されている層8,9,10からなる。層8,9,10と下部の層11との間には、層間もしくは層上に配置された論理セル間における垂直な接続を作り出す接触穴12が形成されている。同様にして、接続導体路が3つの全空間軸に沿って形成され格子の各交差点に論理セルが存在するような格子構造も実現することができる。論理セルのアドレス割り付けのために、それらのX,Y,Z座標が必要である。
図3には、ディジタル論理ユニットを構成する際の経過が概略的に示されている。
内部メモリ13は、複数の論理セルの結合に関する情報を有する複数の異なるマイクロプログラム14を含んでいる。
プログラムポインタ15はメモリ13のマイクロプログラムの1つを選択する。選択されたプログラム16は、論理セル2のプログラミングのために必要とされる全ての情報を有する。それらの情報は、処理ユニット、制御ユニット、変数、入力/出力プロセス(I/O)および命令トークンに関する情報である。各マイクロプログラムは全ての上述の点に対する情報を有することは必要でなく、問題設定に応じて個々の点はもはや考慮されなくてよいか、またはマイクロプログラムが他のプログラム情報を含むことができる。
プログラムルーチン17は、選択されたマイクロプログラム16の情報を解析し、必要な論理関数をプログラムする。
論理セル領域18は規則的に行および列に配置された多数の磁気抵抗効果型の論理セル19を含んでおり、これらの論理セル19は図3に概略的に格子点によって表わされている。論理セル領域18は非常に多くの論理セル19を含み、例えば1000×1000個のセル、つまり全部で百万個の論理セルを含んでいる。この実施例では、論理セル領域18は単一の層からなる。複数のこの種の論理セル領域を組み合わせて論理セル格子を形成することも可能である。
個々の各論理セル19は基本論理結合を実行する。基本論理結合は、例えばANDゲートまたはXORゲートであってよく、またはそれに相応して構成することができる。
必要な論理演算およびローカルなメモリ個所のプログラミングのために、プログラムルーチン17が、まだ確保されていないかもしくはもはや必要でなく且つ再プログラム可能である論理セル19もしくは論理セルグループを選択する。このために、リストとして形成することもでき自由に使用可能な論理セルを含むテーブルが役立つ。代替として、既に確保された論理セルを検出し、同様に故障だとわかった論理セルを検出してもよい。テーブル20は2次元または3次元マトリックスとして形成することもでき、各論理セル19に対して動作状態に関する情報を含む登録事項を有する。各プログラミング過程後にテーブル20は更新すなわち最新化され、新しく確保された論理セル19はテーブル20においてそれ相応に目印を付けられ、もはや必要でない論理セル19は再び解放される。テーブル20の情報に基づいて、論理セル領域18のどの範囲に現在プログラムすべきマイクロプログラム16が記憶されるかが決定される。プログラムされた状態と結合とに関する情報は非常に省スペースに保存することができる。
図3には主メモリ、並びにこれに付属し公知のように処理データおよび命令語を有する周辺装置は示されてないが、命令語は動作状態のマイクロプログラムによって内部メモリ13から選択される。
図3から分かるように、論理セル領域18は既に幾つかのプログラムされた論理セルブロック21,22,23を有し、これらの論理セルブロック21,22,23にそれぞれメモリ13の定められたマイクロプログラムが割り当てられている。論理セルブロック21,22間には概略的に接触点24が表示されている。この接触点24では論理セルブロック21,22間で信号またはデータを交換することができる。勿論、2つの隣接する論理セルブロック間にはこの種の接触点を複数配置することもできる。
或る論理セルのプログラミングのためには、先ず、この論理セルが選択ステップ25においてその行および列に基づいて決められなければならず、引き続いてプログラムルーチン17によってプログラムされ、この過程は必要な接続線の接続も含む。
論理セル領域18は、テーブル20においてもはや必要でないとして目印を付けられている他の論理セルブロック27,28を含んでいる。これらは後の時点で再構成することができる。
論理セルブロック21,22,23の全論理セルがプログラムされているならば、その直後から、付属の論理セル結合の実行を開始することができる。多数の論理セルブロックは、それらがリングまたはループを形成するように互いに連鎖させることもできる。
論理セルブロック21,22,23の作動のためには命令トークンが必要である。論理セルブロック21,22,23の1つの出力に現われる論理信号が問題である。それによって、論理セルブロックのその都度1つのみが能動状態にあることを達成すべきである。能動状態にある論理セルブロックでは、命令トークンがセットされ、次にこの論理セルブロックに作動電圧が供給される。この論理セルブロックに割り当てられたマイクロプログラムの実行後に、命令トークンがリセットされて作動電圧が遮断される。命令トークンは直ぐ次の論理セルブロックに転送されるので、当該論理セルブロックは動作することができる。
複数のマイクロプログラムが同時に実行されるように同時に複数の命令トークンをセットすることも可能である。これらの作動様式は分散型プロセッサに相当する。勿論、その都度の命令トークンに割り当てられた論理セルブロックが互いに独立に動作することを考慮すべきであり、つまりメモリまたはアドレス線ないしデータ線へのアクセス時に衝突が起こることが回避されなければならない。従って、複数の論理セルブロックを同期動作させるのがよい。勿論、上述の衝突の発生に対して事前に対策を講じるならば、非同期動作様式も可能である。
複数層の論理セルからなる本発明による論理ユニットの横断面図 垂直な接続穴を有する本発明による論理ユニットの概略断面図 本発明によるディジタル論理ユニットの構成の概略経過図
符号の説明
1 論理ユニット
2 論理セル
3 接続導体路
4 接続導体路
5 絶縁層
6 絶縁層
7 他の構成要素
8 層
9 層
10 層
11 層
12 接触穴
13 内部メモリ
14 マイクロプログラム
15 プログラムポインタ
16 マイクロプログラム
17 プログラムルーチン
18 論理セル領域
19 論理セル
20 テーブル
21 論理セルブロック
22 論理セルブロック
23 論理セルブロック
24 接触点
25 選択ステップ
26 論理セル
27 論理セルブロック
28 論理セルブロック

Claims (27)

  1. 構成可能な特性を有する複数の論理セル(19,26)と、
    複数の論理セル(19,26)の関数性に関する情報を含んだ複数のマイクロプログラム(14,16)を有し、マイクロプログラム(14,16)の少なくとも1つが定められたアプリケーションに関係して少なくとも論理ユニットの現在の動作中に再プログラム可能であるメモリ(13)と、
    少なくとも1つのマイクロプログラム(14,16)を選択するための手段と、
    少なくとも論理ユニットの現在の動作中に選択されたマイクロプログラム(14,16)の関数性情報に応じて論理セルを構成するための手段と
    を備え、データ信号と構成信号とを同時に処理可能であることを特徴とする再構成可能なディジタル論理ユニット。
  2. 論理セル(19,26)は磁気抵抗効果型の積層システムを有することを特徴とする請求項1記載の論理ユニット。
  3. 論理セル(19,26)は格子状に配置されていることを特徴とする請求項1又は2記載の論理ユニット。
  4. 論理セル(19,26)はほぼ横方向および縦方向に延びる接続導体路(3,4)に接続されていることを特徴とする請求項1乃至3の1つに記載の論理ユニット。
  5. 交差する接続導体路(3,4)は異なる平面に配置されていることを特徴とする請求項4記載の論理ユニット。
  6. 論理セル(19,26)は異なる層に格子状に配置されていることを特徴とする請求項1乃至5の1つに記載の論理ユニット。
  7. 論理セル(19,26)は互いにずらされて配置されていることを特徴とする請求項1乃至6の1つに記載の論理ユニット。
  8. 論理セル(19,26)に基本的な論理関数AND,XOR,OR,INVまたは逆関数NAND,XNOR,NOR,BUFが割り当てられか、または論理セル(19,26)はそのように構成可能であることを特徴とする請求項1乃至7の1つに記載の論理ユニット。
  9. 複数の論理セル(19,26)が結合されて1つの論理セルブロック(21,22,23)を形成していることを特徴とする請求項1乃至8の1つに記載の論理ユニット。
  10. 論理セルブロック(21,22,23)は半加算器または全加算器または掛算器として構成されていることを特徴とする請求項9記載の論理ユニット。
  11. 論理セル(19,26)はローカルメモリを有するかまたはメモリとして構成可能であることを特徴とする請求項1乃至10の1つに記載の論理ユニット。
  12. 新しいマイクロプログラムの特にアプリケーション指向の定義のためおよび/または現存するマイクロプログラムの変更のための命令を作成する手段が存在することを特徴とする請求項1乃至11の1つに記載の論理ユニット。
  13. マイクロプログラム(14,16)はファームウェアを含む命令を有することを特徴とする請求項1乃至12の1つに記載の論理ユニット。
  14. マイクロプログラム(14,16)に割当てられたアプリケーションプログラムを作成する手段が設けられ、アプリケーションプログラムマイクロプログラム(14,16)の命令順序を識別して新しいマイクロプログラムとして格納することを特徴とする請求項1乃至13の1つに記載の論理ユニット。
  15. マイクロプログラム(14,16)は、論理関数、結合、変数および定数の構成のうちの少なくとも1つのための命令を含んでいることを特徴とする請求項1乃至14の1つに記載の論理ユニット。
  16. マイクロプログラム(14,16)はメモリ、特に揮発性メモリまたは不揮発性メモリまたは永久メモリと協動することを特徴とする請求項1乃至15の1つに記載の論理ユニット。
  17. マイクロプログラム(14,16)は論理セルブロック(21,22,23)に複写可能であることを特徴とする請求項9乃至16の1つに記載の論理ユニット。
  18. マイクロプログラム(14,16)は、再構成可能な論理セル(19,26)および/または論理セルブロック(21,22,23)および/または構成可能でない論理セルの間における接続を構成するための手段を有することを特徴とする請求項9乃至17の1つに記載の論理ユニット。
  19. 論理関数の実行が少なくとも1つの命令カウンタによって制御可能であることを特徴とする請求項1乃至18の1つに記載の論理ユニット。
  20. 命令カウンタに現在割り付けられている論理セル(19,26)および/または命令カウンタに現在割り付けられている論理セルブロック(21,22,23)またはこれらの論理セルブロック(21,22,23)の一部に対して、作動電圧が投入可能であることを特徴とする請求項19記載の論理ユニット。
  21. 論理ユニットは複数の命令カウンタを有することを特徴とする請求項19又は20記載の論理ユニット。
  22. 論理ユニットは、1つまたは複数の命令カウンタにより複数の論理関数が同期して実行されるように構成されていることを特徴とする請求項19乃至21の1つに記載の論理ユニット。
  23. マイクロプログラム(14,16)は、論理関数の実行が予め定められた時間で行なわれるように構成されていることを特徴とする請求項22記載の論理ユニット。
  24. マイクロプログラム(14,16)は、マイクロプログラム(14,16)が論理関数の実行のための時間に関する情報を有するように構成されていることを特徴とする請求項22記載の論理ユニット。
  25. 論理ユニットは論理関数が非同期で実行されるように構成されていることを特徴とする請求項19乃至21の1つに記載の論理ユニット。
  26. 論理ユニットは、論理セル領域へのマイクロプログラムの割り当てに関するテーブル(20)を有することを特徴とする請求項1乃至25の1つに記載の論理ユニット。
  27. テーブル(20)は故障の論理セルに対する情報を含んでいることを特徴とする請求項26記載の論理ユニット。
JP2003540837A 2001-10-29 2002-10-25 再構成可能なディジタル論理ユニット Expired - Fee Related JP3857691B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE10153349 2001-10-29
PCT/DE2002/004019 WO2003038644A2 (de) 2001-10-29 2002-10-25 Rekonfigurierbare digitale logikeinheit

Publications (2)

Publication Number Publication Date
JP2005510901A JP2005510901A (ja) 2005-04-21
JP3857691B2 true JP3857691B2 (ja) 2006-12-13

Family

ID=7704099

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003540837A Expired - Fee Related JP3857691B2 (ja) 2001-10-29 2002-10-25 再構成可能なディジタル論理ユニット

Country Status (5)

Country Link
US (1) US7225321B2 (ja)
EP (1) EP1506496A2 (ja)
JP (1) JP3857691B2 (ja)
DE (1) DE10249204A1 (ja)
WO (1) WO2003038644A2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102004045527B4 (de) * 2003-10-08 2009-12-03 Siemens Ag Konfigurierbare Logikschaltungsanordnung
US7745685B2 (en) * 2005-10-31 2010-06-29 Kimberly-Clark Worldwide, Inc. Absorbent articles with improved odor control
US7847586B2 (en) * 2007-08-20 2010-12-07 Northern Lights Semiconductor Corp. Integrate circuit chip with magnetic devices
US20100023736A1 (en) * 2007-11-12 2010-01-28 Takashi Morimoto Reconfigurable circuit, reset method, and configuration information generation device

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4870302A (en) 1984-03-12 1989-09-26 Xilinx, Inc. Configurable electrical circuit having configurable logic elements and configurable interconnects
US4791603A (en) 1986-07-18 1988-12-13 Honeywell Inc. Dynamically reconfigurable array logic
GB8906145D0 (en) * 1989-03-17 1989-05-04 Algotronix Ltd Configurable cellular array
US5301344A (en) * 1991-01-29 1994-04-05 Analogic Corporation Multibus sequential processor to perform in parallel a plurality of reconfigurable logic operations on a plurality of data sets
US5794062A (en) 1995-04-17 1998-08-11 Ricoh Company Ltd. System and method for dynamically reconfigurable computing using a processing unit having changeable internal hardware organization
US5712578A (en) * 1995-12-27 1998-01-27 Intel Corporation PLA architecture having improved clock signal to output timing using a type-I domino and plane
US6173434B1 (en) 1996-04-22 2001-01-09 Brigham Young University Dynamically-configurable digital processor using method for relocating logic array modules
US5828858A (en) * 1996-09-16 1998-10-27 Virginia Tech Intellectual Properties, Inc. Worm-hole run-time reconfigurable processor field programmable gate array (FPGA)
US5805477A (en) 1996-09-26 1998-09-08 Hewlett-Packard Company Arithmetic cell for field programmable devices
US6047115A (en) * 1997-05-29 2000-04-04 Xilinx, Inc. Method for configuring FPGA memory planes for virtual hardware computation
TW440835B (en) 1998-09-30 2001-06-16 Siemens Ag Magnetoresistive memory with raised interference security
WO2000049496A1 (en) * 1999-02-15 2000-08-24 Koninklijke Philips Electronics N.V. Data processor with a configurable functional unit and method using such a data processor
US6507214B1 (en) * 2000-10-26 2003-01-14 Cypress Semiconductor Corporation Digital configurable macro architecture
US6779168B2 (en) * 2002-02-01 2004-08-17 Lsi Logic Corporation Magnetoresistive memory for a complex programmable logic device

Also Published As

Publication number Publication date
US20040250052A1 (en) 2004-12-09
EP1506496A2 (de) 2005-02-16
US7225321B2 (en) 2007-05-29
JP2005510901A (ja) 2005-04-21
WO2003038644A2 (de) 2003-05-08
DE10249204A1 (de) 2003-05-28
WO2003038644A3 (de) 2004-12-23

Similar Documents

Publication Publication Date Title
US11296705B2 (en) Stacked programmable integrated circuitry with smart memory
US5737766A (en) Programmable gate array configuration memory which allows sharing with user memory
US7495970B1 (en) Flexible memory architectures for programmable logic devices
US8359448B1 (en) Specific memory controller implemented using reconfiguration
CN1815628B (zh) 用于配置可编程设备的方法和电路
Compton et al. An introduction to reconfigurable computing
US6803787B1 (en) State machine in a programmable logic device
US7908453B2 (en) Semiconductor device having a dynamically reconfigurable circuit configuration
US20090164203A1 (en) Non-volatile memory compiler
Sidhu et al. A self-reconfigurable gate array architecture
US20040111590A1 (en) Self-configuring processing element
US20200067511A1 (en) Field programmable transistor arrays
US7765512B1 (en) Relocatable circuit implemented in a programmable logic device
US6779168B2 (en) Magnetoresistive memory for a complex programmable logic device
JP3857691B2 (ja) 再構成可能なディジタル論理ユニット
Zha et al. Liquid silicon-monona: A reconfigurable memory-oriented computing fabric with scalable multi-context support
Jagasivamani et al. Memory-systems challenges in realizing monolithic computers
US10885985B2 (en) Processor in non-volatile storage memory
JP7211273B2 (ja) 半導体記憶装置
US7865698B1 (en) Decode mode for an auxiliary processor unit controller in which an opcode is partially masked such that a configuration register defines a plurality of user defined instructions
US7788465B2 (en) Processing system including a reconfigurable channel infrastructure comprising a control chain with combination elements for each processing element and a programmable switch between each pair of neighboring processing elements for efficient clustering of processing elements
US7554358B1 (en) Programmable logic devices with user non-volatile memory
Shiratsuchi FPGA as a key component for reconfigurable system
US20050235173A1 (en) Reconfigurable integrated circuit
JP2015082671A (ja) 半導体装置

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20060721

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20060914

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

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20100922

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20110922

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20110922

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20120922

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20130922

Year of fee payment: 7

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

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees