【発明の詳細な説明】連想メモリ本発明は連想メモリに関する。連想メモリとは、それの情報を保有するセルがメモリ中のそれの位置によらず、少なくともセルの一部分に含まれる内容によってアドレス指定されるようになっている。従って、物理的アドレスはなく、あるいは物理的な位置に依存しない。
発明の背景従来の連想メモリは記憶セルを連想エリアと記憶エリアとに分割されている。連想メモリ中への情報の書き込みはアドレスなしで行われる。セルエリアは一般にシフトレジスタとして構成されている。
コンピュータは1940年代に発明された。それ以来、コンピュータは革命的なスピードで発展を遂げてきた。
それにも拘らず理解しがたいことに、今日のコンピュータのほとんどが初期のものと同じアーキテクチャを有している。
はとんどの進歩はハードウェアにおいてなされてきた。
VLS Iの導入とりソグラフィの進歩とによって1つのチップ上にコンピュータを構築することが可能となり、それは5年前にはスーパーコンピュータと呼ばれた。寸法は指数関数的に縮小を続け、線幅は今や1ミクロンを切っている。クロック速度も能動トランジスタの数とともに数桁の増大を遂げた。物理的な制約によって線幅は0.2ミクロンに制限されることになろう。
同じ時期にコンピュータアーキテクチャはシリコンの利用に関して進歩していない。逆に、はとんどのコンピュータは、より高速の動作のために最適な量よりも多いシリコンを使用している。
これら両回子のために、今後の5年間で単一のプロセッサにおける速度の飛躍的改善は阻止されるであろう。
複雑度の上昇と、はとんどの蟹のプログラムに関してプログラム作製のコストが許容範囲外に増大することによるハードウェア価格の増大に対抗して、並列処理が導入された。
相対的に見るとハードウェアのコストは縮小したが、新しいシステムのプログラミングコストは大幅な上昇を示し、もうすぐ許容し得ないレベルにまで達するであろう一世界的にもプログラマの人数は十分でない。
コンピュータはソフトウェアの面でもハードウェアの面でも、異なるユニットの複雑なアセンブリである。発展の過程で、異なるパラダイムや発展段階のものが標準−その場限りのものや確立したもの−となってシステム中へ浸透してしまう。この不均一性のために、膨大な数のインターフェースが存在することになった。
これらのインターフェースや新しい方式のものはものごとを非常に複雑なものとしている。プログラマやユーザはそのマシーンを使用しないか、あるいは隠れたエラーが導入されることになる。
しかし、最近ではいわゆるリダクションプロセッサが開発された。リダクションプロセッサは能動的記憶を含み、そこには演算表現を含む特定の構造が記憶されており、この構造ではりダクシコンステップ数が縮小される。
そうして、プログラムは他の種のコンピュータと異なり、与えられたシーケンスでは実行されない。
リダクションプロセッサをある限られたサイズ以上に大型化することについては困難がある。
発明の目的本発明の主たる目的は記憶セルを含む連想メモリを提供することであって、そこでは記憶セル中で本質的に任意の位置を持つオブジェクト記憶セル中の記憶フィールドに置かれたデータ要素に対して連想的探索(サーチ)が行われるようになっている。
本発明の別の目的は、コンピュータの能動部分として働き、従って情報を蓄えるだけでなく論理的な動作をも分担する連想メモリを提供することである。
本発明の別の目的は、以下ではオブジェクト記憶と呼ぶ、特にリダクションプロセッサに適した能動メモリを提供することである。
本発明の別の目的は、セルの選ばれた部分が連想部として働くようになった連想メモリを提供することである。
本発明の更に別の目的は、記憶セルあるいはそれの記憶フィールドに操作上の目的で標識(マーク)をつけることができるようになった連想メモリを提供することである。
本発明の更に別の目的は、VLSI(超LSI)技術に組み込むことのできる連想メモリを提供することである。
発明の概要上記の、およびそれ以外の目的を達成するために、本発明は、外部制御装置のための第1のf/lImバス構造とデータのための第2のメモリバス構造とを育する連想メモリであって、合成された情報(composed information)を記憶するためのいくつかの記憶セル、前記記憶セルの各々の中にあって少なくとも1つのマークを記憶するための手段であって、前記マークが前記記憶セルに対して少なくとも選択状態であるか非選択状態であるかを表示するようになっている手段、前記マークをセットするために、前記セル中を探索するための手段、前記記憶セルすべてにつながって、前記記憶セルのいくつかのうちから1つを選択する優先度(priority)デコーダ、を含む連想メモリを提案する。
前記記憶セル間でANDやORの型の論理演算を行うために少なくとも1つのグローバルバスが設けられており、各記憶セル中には前記バスとの通信のためと、前記記憶セルが実際の論理動作に関与するように制御するための手段が設けられている。各記憶セルは望ましくは複数のデータオブジェクト記憶フィールドを含み、その各々はタグの形で前記マークの少なくとも1つと1つのデータワードとを記憶することができるようになっている。各記憶セルは望ましくは少なくとも1つの状態記憶フィールドを含み、その状態記憶フィールドは前記記憶セルの内容の状態を表示している。
記憶セルのフィールドは少なくとも1つの第2バスへつながれ、その各々は1ビツト輻であって、FRIED ANDやWIRED ORの型の論理演算を行うために設けられており、前記フィールドと優先度デコーダはメモリバスとの間で内容の読み書きを行うために第2のバスへつながれている。前記記憶セルはすべての記憶セルへつながれた外部制御装置によって制御され、データワードはすべての記憶セルへつながれたメモリバス上へ外部から与えられる合成情報によってメモリとの間で受け渡しできるようになっている。
本発明はまた、連想メモリ用の記憶セルを提案する。
その記憶ビットセル中には゛真°か°偽′かのいずれかの値をとる値v 5toreが記憶されるようになっており、前記記憶ビットセルはいくつかの異なる機能状態に設定できるような構造になっており、定常的に電源電圧を供給される第1の接続、それぞれ少なくとも3つの異なる制御状態へ設定可能な第2、第3、そして第4の接続を含み、前記第2、第3、そして第4の接続上の制御状態の各組み合わせが前記記憶ビットセルを前記機能状態のうちの個々の状態へ設定するようになっている。
前記記憶ビットセルは4本の接続だけを含み、そのうちの3本が制御可能であるにも拘らず数多くの機能を実行することができる。このことは大量のビットセルを含みながら小型の記憶装置を作製できる可能性を含んでいる。
以下に本明細書で使用される表現とそれの意味とを示す:要素 データ構造中でより大きいものの一部分。
リスト 要素の順に並んだシーケンス、各要素がリストであってもよい。
クロージャ プロセスを定義する階層構造を(closure ) なす実体。
すべてのクロージャはそのクロージャを一義的に定義するルートを有する。リダクションマシーンでのりダクション作業はクロージャに対して行われる。マシーンの全体的な状態はりダクションによって変換される。
記憶ビットセル メモリ中で一片の情報、例え”0”や21″だけを記憶するセル。
記憶セル 数多くのビットセルを含むオブジェクト記憶中の1つのセル。
それはセルクロージャを記憶し、そのセルクロージャは他の記憶セル中に記憶されている他のセルクロージャを参照する。
セルクロージャ 1つの記憶セル中の内容。
記憶フィールド 1つの記憶セル中のフィールド。
クロージャ要素 1つの記憶セルフイールドに記憶されたデータ要素。
クロージャ識別子 クロージャを一義的に指定するクロージャセル要素。
カノニカルクロージャ それ以上リダクションできない(canonical closure) クロージャ。すなわちそのセルを更に簡約化すべくリダクションしつる何らかの他のセルクロージャを指示するクロージャ識刺子を何も含まないセルクロージャ。
ゴール(goal) 実行、すなわちリダクションすべきクロージャ。
II(father) 値/指示フィールドに少なくとも1つのクロージャ識別子を存するクロージャ。
子(son) その子を指定するクロージャ識別子を介して別のクロージャと連結されるクロージャ。
子もまた親でありうる。親もまた子でありうる。
子は1つ以上の親を持つことができる。親は1つ以上の子を持つことができる。典型的には4つの子を持つことができる。
クロージャ位置 クロージャがルートであるか、あるいはノードであるか。
ルート 1つのクロージャツリーの中で最も上位のクロージャセル。
ノード 1つのクロージャツリーの中で、ルートでないクロージャセル。
WHERE (ホエア) クロージャ位置を含む記憶セルフイールド。
タイプ 記憶セル中の型コード。
レイジー(lazy) 記憶セル中の要素であって、その記憶セル中に記憶されるセルクロージャが実行可能であるか、評価を延期されているか、あるいは不活動的であるかを示す要素。識別子記憶セル中に記憶されるオブジェクトを記述するために用いられる特殊なりローノャ要素。
環境 オブジェクトはそれらに同じ環境を付与することによってグループ化することができる。
値/指示 値すなわち直接表現か、(value/des、) nothing 、または別のクロージャへの指示すなわち間接表現のいずれかを記憶するクロージャ要素。
コアセル クロージャのりダラシ3ンを含む構造演算を実行することのできる構造演算ユニット。
数値ワード 値または指示を表す要素ワード(num word) の一部。
タグワード 数値ワード中の表現の特徴を示(tag word) すタグを有する要素ワードの一部。
オブジェクト記憶 オブジェクトを記憶する記憶セルを含むメモリ。
図面の簡単な説明本発明およびそれの特長とこれまでに述べた以外の目的をより完全に理解するために、以下に図面を参照しながら説明を行う。
第1図は本発明に従うメモリの実施例の設計を模式的に示す。
第2図は本発明に従うメモリ中の1つの記憶セルの実施例を模式的に示す。
第3図は1つの記憶セル中の異なる記憶フィールドの可能な用途を模式的に示す。
第4図は本発明に従うオブジェクト記憶中の記憶セルがどのように機能を果たすかを模式的に示す。
第5図は記憶セル中のビットセルの第1実施例の回路図である。
第6図は記憶セル中のビットセルとそれにつながれた駆動およびセンス回路の回路図である。
第7Aeは本発明に従うメモリ中の優先度デコーダ中に含まれる1つのブロックの回路図である。
第7B図は第7A図に示されたブロックの接続関係を示す。
第8図は本発明に従うメモリ中の要素ヘッドの実施例の回路図である。
第9図は本発明に従うメモリ中のクロージャヘッドの実施例の回路図である。
好適実施例の説明本発明に従う連想メモリは特にリダクション型のコンピュータと一緒に使用するのに適している。この種のコンピュータは同時出願の米国特許出願第 号に述へられている。この種のコンピュータは一般的に使用されているような分離したメモリは使用していない。
代わりに、このコンピュータは能動的記憶セルの集合として本発明に従うメモリを使用する。
本発明に従う連想メモリを創出する場合の方策は、いくつかの記憶セルとして1つのメモリ装置を構築することである。そのような各々の記憶セルは1つのセルクロージャか1つのフリーな未使用の記憶セルを含むべきである。この記憶セルはどのような特定な順序にも配置されるべきでなく、使用可能な資源のプールと仮定されるべきである。
物理的なアドレスを有しないか、あるいは物理的な位置に依存しないことが非常に重要であると考えられた。
そのような依存性を有することは、遅かれ早かれ従来のRAM型のデバイスに共通に存在する問題を引き起こすことになるであろう。
すべての記憶セルはメモリバス構成を介して交信する。
このことはコストを削減するために重要である。他の構成、例えばいくつかのポートを使用した方式ではメモリエリアを増大させることになる。しかし、メモリバス方式はメモリサイクル毎に1つの動作しか実行できない。
リダクション機構は各々識別子を存するセルクロージャで構成される1つの状態を有する。そこにおいては識別子によって互いに連結されたセルクロージャがグラフを形成する。グラフには識別子によってアドレス指定を行うクロージャが続く。従って、メモリバスはグラフのすべての頂点(vertex)によって共有される経路とじて使用される。
各クロージャは環境(environment )を持ち、環境はそのクロージャの環境を提供するクロージャのツリー中でルートクロージャを指定する識別子を含むであろう。
このように、構造全体がツリー中の1つのクロージャからルートを通って1つの動作のみによってアクセス可能である。クロージャは同一の環境を持つことによってグループ化できる。
物理的依存性がないので、すべての”アドレス指定″は内容情報に従って、行われなければならない、すなわちメモリは連想的である。セルクロージャすなわち記憶セルの内容はその記憶セル中の記憶フィールドに記憶可能ないくつかの記憶要素を含んでいる。各記憶要素は識別子を何らかのラベル情報とともに含むことができる。
各記憶フィールドは連想的に構成されている。従って、情報の流れの向きというものはない。セル識別子、セル環境、セルのタイプ、記憶セルフイールド中に書き込まれた値、そしてそれらの組み合わせを探索キーとして用いることか可能である。
記憶要素は、その記憶要素がアクセス機構のためのターゲットとじて選ばれていることを示す付加的な選択ビットを含むことができる。特定の探索操作において、これらの選択ビットが記憶セルフイールド中にセットされる。
この型のアクセスは1つまたはいくつかの記憶セルを含むかも知れない。1つの多重セル操作によって、異なる記憶セルに所属しそれらの中の異なるフィールド中に記憶された複数個の選ばれた記憶要素中へ1つの識別子を記憶させることができる。
以下にオブジェクト記憶と呼ぶ本発明に従うメモリがりダクシコン型のコンピュータに用いられた時には、リグ2フ32機構は識別子がグラフを形成するようになった、クロージャで構成される1つの状態を持つことかできる。しかし、基本的なりダクションの規則は非常に多数あるので、それらを各記憶セル中へ含ませることはできない。従って、リダクション機構はすべてのクロージャで共有される。中央制御装置が用いられて、オブジェクト記憶中のすべてのオブジェクト記憶セルが長いメモリバスの配線を駆動することができるようにする。中央制御装置はまた、時間的にもレベル的にもバス信号を調節する能力を有する。中央制御装置は現在の本発明の一部ではないので、詳細には説明しない。
外部制御装置はオブジェクト記憶の機能を制御する。
メモリバスはすべての記憶セルと交信する。しかし、いくつかのケースでは記憶セルは読み出しのために順序化(オーダ化)されている。そのようにするために、いくつかの可能な候補のなかから一時につだけを選択するための機構が設けられる。このことはすべてのセルへつながれた優先度デコーダによって行われる。
本発明に従うオブジェクト記憶は通常のRAM型のメモリよりも本質的により知的なものである。以下に説明するように、通常のRAM型のメモリによって提供される“読み出し”、”書き込み″よりももっと多(のサービスを提供することが可能な連想的な記憶である。第5図と第6図に示されたオブジェクト記憶に特に適したビットセル構造について以下に説明する。
オブジェクト記憶は、各々がいくつかの記憶フィールドを含む記憶セルに分割される。提供されるサービスは高度なものである。例えば、1つのメモリ命令だけを用いることによって、個々の記憶セルのなかで記憶されている記憶フィールドがどこであろうとも特定のデータ要素のすべての発生を見つけだし、見つけたそれらの特定のデータ要素を全域的に、すなわちそのオブジェクト記憶全体において新しい値に書き換えることが可能である。
オブジェクト記憶は連想的であるので、この書き換え操作は影響を受ける記憶セルの数に関係な(、物理的に2回のメモリサイクルで行われる。
第1図を参照すると、以下にオブジェクト記憶と呼ぶメモリは記憶セル1の行で構成されるメモリブレーンを含んでいる。すなわち、記憶セルは行を積み重ねたものとして提供される。それらはすべて縦方向のメモリバスt1..t2.1dSenv 、 vO,vl、 v2、v3ヘツながれ、メモリバスは駆動およびセンス増幅器によって駆動されている。
1ビツトセルに関するそのような回路の実施例が第6図に詳細に示されている。
すべての記憶セルはまた、操作を受けるいくつかの記憶セルのなかから一時に1つの記憶セルを選択する優先度デコーダ2へもつながれている。
このメモリは数サイクルで構成されるセツションの間に実行される連想的アクセスによって制御される。
本発明に従うオブジェクト記憶中の記憶セルは、デジタル的な内容を記憶するためと、実際のコンピュータ動作の一部分を分担することの両方のために使用できる。
各記憶セルl中には合成されたデジタル情報と少なくとも1つのマークが記憶される。マークはCHOSEN (選択)かNON CHOSEN (非選択)のいずれかである。記憶セル中またはそれの一部の記憶要素を記憶するための記憶フィールドと呼ばれる部分中の合成されたデジタル情報は、値CHOSENを有するマークで標識を付けた情報読み書き操作によって読み出し、あるいは書き込みできる。またマークピットを用いないでアクセスすることもできる。その時は、アクセスはその要素へつながれた1ビツトバスaとbに対して論理演算を施した結果によって制御される(第2図参照)。
中央演算装置(図示されていない)が外部ms装置として提供されており、それは探索操作に関与するとともに、記憶セルとの間での情報の読み書きにも関与する。
オブジェクト記憶を含むプロセッサに関する同時出願の米国特許出願環 号に述べられた中央演算装置は本発明に従うオブジェクト記憶の一部分ではないので、詳細には説明しない。中央演算装置は、記憶セル中の内容とオブジェクト記憶へつながれた装置から入力を得て、その入力信号に依存してオブジェクト記憶に対して制御信号を与えるプール代数的なゲートアレイであることか望ましい。しかし、本発明に従うオブジェクト記憶は、通常型の、オブジェクト記憶に適合したインターフェースとfIRrIJプログラムを備えた任意のプロセッサと一緒に使用することができることを指摘しておく。
リダクションプロセッサ中でのりダクシコン操作は、以下でコアセル3と呼ぶ構造的演算装置中で行われることが望ましい。コアセルは、メモリバス構成を備えた本発明に従うオブジェクト記憶中の記憶セルすべてにつながれている。メモリバス構成はメモリサイクル当たりに1つの動作しか実行できない。この方式はそのような接続を行うための最も単純で、従って最も安価な方法である。しかし、その他の方式を用いることも可能である。
例えば、い(つかのボートを用いた方式が可能であるが、そのような構成はメモリエリアを増大させることにつながる。記憶セルのワード長は非常に長(、例えば238ビツトにとることか可能である。従って、コアセルと記憶セルとの間のメモリバス構成はいくつかのバス区分、例えばtl、 t2、id、 env 、 vO,vl、v2、v3に分割されることになり、それらは互いに異なるタスクを与えられる。
しかし、短いワード長、例えば32ビツトのうちの8ビツトや16ビツトを持つものや、1個または数個のマークしか持たないものも本発明の範囲に含まれる。
しかし、オブジェクト記憶中のフィールドを確保しておいて、コアセル中で実行できる操作のために使用すること、すなわちコアセルの動作をオブジェクト記憶の一部分のなかで模擬することも可能である。コアセルは1つの操作のなかで、それのレジスタ間でデータの交換や転送を行うためのいくつかの機能を有している。そのような機能はコアセルを模擬しているオブジェクト記憶フィールド中ではいくつかの動作サイクルを使用するであろう。
2本のグローバル1ビツトバス4.5が、記憶セル1間での論理演算のために備えられている。それらの演算はANDとORである。第3のバス14を設けて優先度デコーダへつなぐことができる。しかし、バスの数は3に限ることなく、1つでも数個でもよい。分離された記憶セルはバス4.5、そして14を読むことができ、また論理演算を分担することができる。バス4は、バスaまたは虹のどちらかに対してテストを行う場合、信号′真。
を持つ。バス4 (MODE)はすべての記憶セルによって読み書きできる。バス5は、もし1個よりも多い(MORE)記憶セルが選ばれれば信号°真゛を持つ。バス14は、もし記憶セルのいずれか(ANY)が通信を要求すれば信号真゛ (すなわち、”l″)を持つ。
1つの記憶セルが第2図に示されている。それはいくつかの記憶フィールド6に分割されている。各記憶フィールド6は以下にビットセルと呼ぶ記憶ビットセルフをい(つか含み、また要素ヘッド8を含んでいる。合成デジタル情報の一部を表すデータか、ビットセルフ中に記憶され、それと同時にCHOSEN (選択)またはNOT CFIOSEN(非選択)を表すマークが要素ヘッド8中に記憶される。
記憶フィールドには互いに異なるタスクか与えられる。
各記憶フィールド中に記憶されるワードの長さは例えば38ビツトのす一部である。ヘッド8中のマークに加えて、ビットセルフ中のいくつかのビットかその記憶フィールド中の情報の残りの利用に関する情報として使用される。すなわち、いわゆるタグワードがこれらのビットに置かれる。6ビツトがタグワードとして使用され、32ビツトが通常のビットセルフ中の記憶情報として使用される。各ビットセルは2本の配線、例えば第5図に示されたビットセルの実施例では配線dkd零によって駆動およびセンス増幅器(第6図参照)へつながれている。
こうして、情報を記憶するための要素へつながる情報バスの各部は38ビツト長であり、76本の配線を含む。
そのようなバスの各部は記憶セルエリア中に列をなして配置された記憶要素へつながれる。
第1図から明らかなように、すべての記憶フィールドが同じ大きさを有するわけではない。すなわち、バス部t1%t2へつながれた記憶フィールドはバス部の残りへつながれた記憶フィールドよりも小さい。記憶フィールド6の要素ヘッド8はその記憶セルのローカルな1ビツトバスがあるということである。記憶フィールド中のCHOSENに対するWIRED ORおよびWIRED ANDのような論理演算はこれらのバスを用いて行われる。
第2図から明らかなように、各記憶セルは1つのクロージャヘッド11を存し、それにはバスaおよびわが接続されている。クロージャヘッド11はまた、少なくと1ビツト幅の1本のバス、この実施例では2本のバス12と13で優先度デコーダへつながれ、更にグローバルバス4および5へもつながれている。クロージャヘッド11はバッファの役目も果たす。セルはこれらのバス上の結果を読むことができ、あるいは論理演算を分担することができる。
記憶セルは制御バスを通して中央演算装置によって制御される。合成されたデジタル情報は、オブジェクト記憶中のすべての記憶セルとコアセル3との間で、駆動およびセンス増幅器のインターフェースを介して交換することができる(第6図参照)。外部接続上の情報がセル中へ書き込まれる。セル中の情報はそのセルから外部接続上へ読み出される。
各記憶要素中のビットセルフはそれのヘッド8から制御でき、一時に次の動作の1つを実行することができる。
休止 そこでは各ビットセルは記憶ビット値を記憶したままに保つ。
読み出し そこではビットセル中の記憶ビット値が読み出される。
書き込み そこではビット値がビットセル中へ書き込まれる。
比較 ビットセル中に記憶されているビット値によって構成されるデータワードが別のデータワードと比較される。
ヘッド8からの制御は、それぞれ第2バスaおよびb上のデータ、既出のマーク(earlier mark)、比較操作の場合は比較結果、そしてオブジェクト記憶への外部からの1lJill信号の関数である論理状態に依存する。
マークは、それぞれ第2バスaおよびb上のデータ、既出のマーク(earlier mark)、比較操作の場合は比較結果、そしてオブジェクト記憶への外部中央制御装置(図示されていない)からの外部制御信号の関数である論理状態に依存して設定可能である。
物理的な依存性がないため、すべての゛アドレス指定゛は内容情報に従って行われるべきである、すなわち、このオブジェクト記憶は連想的であるべきである。
従って、情報の流れには定まった方向がない。以下で更に説明するように、探索キーとして、セル識別子、環境、タイプ、情報値、そしてそれらの組み合わせを使用することができる。
記憶セル中の記憶フィールドに記憶された要素中のマークビット(1ビツトまたは複数ビット)はCHOSENの場合はその要素がアクセス機構のためのターゲットとして選ばれていることを示す。マークをセットするために特定の探索操作を用いることができる。
この型のアクセスは1つまたは複数の記憶セルを含硼ことがある。それらの多重セル操作の1つは数多くのiばれた要素中へ!っの識別子を記憶させる一種の記憶を作である。
第2図から明らかなように、ヘッド8へつながれた6線aceはその要素中のすべてのビットセルを相互接続lている。以下で第5図と第6図についての説明で述べさように、すべてのビットセルは配線aCC上の信号によ。
て制御される。各ビットセルは2本の配線dと6本をイみ、それらはそのオブジェクト記憶中の他の記憶セル1の対応するビットセルすべてへつながれている。
優先度デコーダは各記憶セルに対応して1つの区分4含み、各区分はREQtlESTのための第1の接続を有し、イの接続上のビット値′真′はNEED (要)を表し、ピッ1値′偽′はNONEED (不要)を表し、また各区分はGRAT (許諾)のための第2の接続を有し、その接続上のヒツト値′真’ ハcHOsENを表し、ビット値′偽′はNOT C105ENを表す。
優先度デコーダ2はNEEDに等しいREQUEST (要求)を有する記憶セルに対して、CHOSENに等しい最大1つのGRANTをセットする。これは、構造中で見て、NEEDに等しいREQUESTを有する第1の区分がCI(OSENであるように選ばれる。優先度デコーダの実施例が第7A図と第7B図に示されており、以下で詳細に説明される。
″ 多くの場合、オブジェクト記憶バス上の通信規約(プむ ロトコル)はすべての記憶セルと交信するようになって選 いる。しかし、いくつかの特定の記憶セル、あるいは記憶 憶セル中の記憶要素では、順序化されて読み出される。
このことは優先度デコーダ2によって行われる。各セル配 に対してREQ(IEST信号があり、優先度デコーダ2はし GRANT信号を戻す。
る オブジェクト記憶は読み出し、書き込み、そして探索つ 操作によってaSされる。それらの動作は組み合わされ含 で、より複雑な動作とすることができる。内部バスaお中 よびb、そしてグローバルバス4および5のうちのいくつかに対して施される論理演算もある。
を 比較を行ってFIT (一致)またはD[FFEl?[l:NT (不一そ 致)の結果を得ることで探索が行われる。探索は次に挙ト げる方法のうちのどれかによって行うことができる:′N (1)探索は個々の記憶要素毎に行われ、他の記憶要素中ビ の合成情報に依存しない。
” (2)探索1つの記憶セル中のすべての記憶要素に対する比較を用いて行われる。
ト 結果はすべての要素中でFITでなければならない。
(3)探索は1つの記憶セル中のすべての記憶要素に対す寧 ろ比較を用いて行われる。
こ 結果はそれらの記憶要素の少なくとも1つにおいて3 FITでなければならない。
比較はつぎの方法のうちの1つによって行うことができる。
(1)2つのビットパターンが比較される。比較結果はすへての対応するビットが類似の時にのみFATとなる。
(2)比べられる2つのビットパターン、またはそれらの一方のみが符号化され、ビットの1つがそのビットパターン情報がAf?B(Tl?AI?Y (任意)または特殊な情報値Vに対応することを表すようにされる。比較において、もしその情報値の1つがARBITRARYに対応すれば結果はFITである。そうでなければ、前記2つの特殊な情報値Vが同一である時に限り結果はFITである。
バス機能はオブジェクト記憶ワードを読み書きすることの概念(コンセット)を実行することである。バス(bus)はaccess関数(access function)によって制胛Iビットバスa上に提供されるWIRED OR関数(WIREDORfunction)はプール代数のリストを育している。それは1つの記憶セル中のすべての記憶要素間の論理ORを評価する。物理的にはそれは要素ヘッド8中に位置するトランジスタによってセットされる1本の配線に対応する。
1ビツトバスb上に提供されるWIRED AND関数はプール代数のリストを存している。それは1つの記憶セル中のすべての記憶要素間の論理ANDを評価する。物理的にはそれは要素ヘッド8中に位置するトランジスタによってセットされる1本の配線に対応する。
優先度デコーダ2の優先度関数(priority function)はアーギュメントとしてプール代数のリストを有し、対応する寸法のプール代数リストを結果として与える。このアーギュメントは最も高い優先度を有する第1要素を有する。その後に、より低い優先度のビットが続く。このアーギュメントの第1の′真゛ ビットは結果中の対応する真ビットになる。すべての他のビットは′偽′である。
記憶セル中の要素は一般的に要素中での値の最初の探索に用いられ、次に、見いだされた要素において読み出しや書き込みの操作が実行される。
記憶セルの1つの実施例が第3図にダイヤグラムで示され、本発明に従うオブジェクト記憶中で用いられるような記憶セル中の異なる記憶フィールドの機能を説明するために用いられる。第3図の記憶セル中のフィールドは第2図の記憶セル中にフィールドと同じ順序および区分を有していない。それは第2図がハードウェアを示し、第3図が記憶セルの使用を示しているためである。第3図に示されたように、記憶セルは2つの型の記憶要素を記憶することができ、記憶されるべき要素に特に適した記憶フィールドを含んでいる。それらのフィールドは第3図ではそこに記憶されるべき要素と同じ名前を与えられている。
第1の種類の要素は記憶セルの異なる状態を記述している。それらの要素は状態記憶要素と呼ぶこともできる。
そのような要素の1つはLAZYであり、それはそのセルがアイドル状態であるかどうかを記述する。その場合には、そのセルの内容の残りが受動的情報eXeC,すなわち実行可能な状態にある、またはwait、すなわちそのセルの評価が延期されて実行できるまで結果を待っている、のいずれかであるとみなされる。別の第1の種類の要素はTYPEであり、それはタイプコード(par 、 seq 、 apply、1ist等)を含んでいる。第2図から明らかなように、すべての状態記憶要素はメモリパスタイブを有する1つの記憶フィールド中に設けることができるか、あるいは第1図に示されたようにメモリバスtiおよびt2を育する2つの記憶フィールド中に設けることができる。
第2の種類の要素は、識別(jdentification) 、環境、マタハ値ヲ記述スル。コレらハIDENTITYSENVIRONMENT、VALUE/DES、である。これらの要素は各々コアワードを含み、コアワードは数値ワードとタグワードとに分割される。これらの第2の種類の要素は、それらの中にデータオブジェクトが記憶されるのでデータオブジェクト記憶要素と呼ぶこともできる。
タグワードは数値ワードの特徴を表す。タグワードには2つの種類があって、1つは識別子、環境、そして識別子指定のために用いられる間接タグワードであり、もう1つは単なる値または同等なもののために用いられる直接タグワードである。間接タグワードの例としては、clsであれば、それは識別子フィールド中の数値ワードがりダクション可能かもしれないクロージャを表していることを意味する。もしタグワードがcanonであれば、それは識別子フィールド中の数値ワードがそれ以上リダクションできないクロージャを表していることを意味する。もしタグワードがopenであれば、それは識別子フィールドが挿入されたリストを有するクロージャを表していることを意味する。直接タグワードの例としてはdiscr 1cont、unused、そしてnothingがある。
もしタグワードがdiscrであれば、それは数値ワードが整数であることを意味する。もしタグワードが匣であれば、それは数値ワードが浮動小数点値であることを意味する。
もしタグワードがunusedであれば、それは識別子フィールド中の数値ワードが意味を持たないことを意味する。
もしタグワードがnothingであれば、それは識別子フィールド中の数値ワードがnothingを、すなわち否定を表すことを意味する。すなわち、nothingとマークを付されたフィールドを含むクロージャの統合(unification)は常にnothingである。
もし記憶セル中の識別子フィールドが識別子要素を含むならば、その記憶セル中のプロセス状態はコアセルへ転送可能である。各記憶セルはフィールドVALUE/DBS、中にそのセルを別のセルクロージャへ連結させるクロージャ要素を持つことができる。環境フィールドは、クロージャ環境を提供するネットワーク部分、すなわちツリー中のルートクロージャを指定する識別子を含むことかできる。しかし、環境フィールドはその他の用途も有する。
環境は生成されたすべてのセルクロージャの環境中にその生成子(creator )の識別子を記憶することによって、構造の生成子を追跡するために用いられる。例えば、同じ名前を存する記号がすべて同じものを表しているサブツリー中で、すべてのクロージャセルは同じ環境を持つことによってグループ化できる。このように、1つの操作だけで、ルートを経由して構造全体にたどりつくことができる。
識別子関数(designation function)は親から子への方向付は連結とみなすことができる、すなわちクロージャ要素はセルクロージャを一義的に指定する。連想型のオブジェクト記憶を有するマシーンの振る舞いは、このようにクロージャの方向付はグラフとして表される。
このように、もしクロージャの環境が与えられれば、その環境の中でルートクロージャを見つけだすことができる。ルートクロージャにはそれの記憶セル中のWHEREフィールド中に特別なマーク(例えば”1″)を付されている。ノードクロージャには別のマーク(例えば”0“)がWHEREフィールドに付されている。
第4図に示した例は次の関数を記憶する記憶セルである。
idl = Hst(par(123) par(456))これは2つの並列な値の組み合わせのリストである。第1の並列的な組み合わせpar(123)はIDENT[TY id2を存し、第2の並列な組み合わせpar(456)はIDENTITY id3を有する。ツリー中でIDENT[TY idlを存するセルクロージャを含むルート記憶セルはタグを付されたclsであって、それはLAZY7 イールドに表記exec(rotation exec)を有し、WHEREフィールドに″ 1″をセットされ、TYPEフィールドに表記匣を有し、最初2つのVALUE/DBS、フィールドにid2とid3を有している。従って、これらのフィールドのタグは、それらのフィールドの内容が間接的で他のクロージャセルへ連結されているのでcanonをマークされる。
IDENTITY id2を有するセルクロージャを含むノード記憶セルはWHEREフィールドに”O″をセットされ、TYPEフィールドに表記parを存し、最初の3つのVALUE/DES、フィールドに個別的な数値l、2、そして3を記憶されている。従って、これらのフィールドのタグはdiscrとマークされる。IDENTITY id3を有するセルクロージャを含むノード記憶セルはWHEREフィールドに“0”をセットされ、TYPEフィールドに表記parを有し、最初の3つのVALUE/DES、フィールド中に個別的な数値4.5、そして6を記憶されている。従ってこれらのフィールドのタグもdiscrとマークされる。
本オブジェクト記憶全体はVLSI(超LS I)技術に組み込むことを意図している。従って、各ビットセルはVLSI技術に組み込まれるように設計されており、非常に多数のビットセルを高密度に実装することに関して最適化されている。第5図から分かるように、本ビットセルは4本の接続(配線)しか有していない。それらは、定常的に電源電圧を供給する第1の接続Vcc、それぞれ以下に詳細に説明するように少なくとも3つの異なる制御状態に設定可能な第2、第3、そして第4の接続ice、d、d零である。
第5図に示されたビットセルの実施例は4トランジスタのCMOSセルになっている。それらのトランジスタは図示の例ではn形トランジスタである。しかし、このビットセル中の部品は多くの異なる種類のものでよく、それらは後に示す部品の表から明らかになろう。4トランジスタのCMOSセルはスタティック梨のもので、抵抗負荷を有する。このセルは各々の側から制御可能なフリップフロップである。アクセス配線aCCと電源配線Vccの間に、それぞれMOS FETのソース/ドレイン経路と負荷、TIおよびLXとI2およびL2とをそれぞれ直列に含む2本の直列接続が並列に配置されている。トランジスタTIのドレインはトランジスタT2のゲートへつながれ、トランジスタT2のドレインはトランジスタTIのゲートへつながれている。ダイオードDlか、トランジスタTIのドレイン、負荷L1、トランジスタT2のゲートの相互接続点nlと配線dとの間につながれている。ダイオードD2が、トランジスタT2のドレイン、負荷L2、トランジスタTIのゲートの相互接続点n2と配線dネとの間につながれている。ダイオードDIとI2はそれぞれ、ド1/インとゲートとを互いにつながれ、それぞれ配線dと6本へつながれたMOSFETによって提供されている。
この回路要素の本質的な特徴は、ダイオードDIとI2が配線dとd零とに相対的に一方向にしか電流を流さない要素であるということと、トランジスタがそれらのゲートの電位の変化によって電流を制御することができる能動要素であるということである。相互接続点nlとI2は1つのビット情報に関する電荷をそこに蓄えることのできるノードである。各負荷は抵抗のように振る舞う要素である。
第5図の実施例で電圧Vecは高電位にあるように示されている。このとき、ダイオードDIとI2はそれぞれ配線dまたは6本からノードnlまたはI2へ電流を流すような方向に配置されている。能動要素T1またはI2の抵抗値は、それらのゲート電極の電位が上昇するに従って減少する。この時、ノードの電位は低下する。しかし、他の実施例においては、電位や電流は第5図に示した実施例の場合とは逆の方向のものとなるように選ぶことができる。
第5@の回路の部品は数多くの別のものから選ぶことができる。ダイオードDiとI2は次のような部品のなかから選ぶことができる:(1) ドレインとゲートを相互接続したnチャネルMOSFET(正電圧)(2)ドレインとゲートを相互接続したpチャネルMOSFET (負電圧)(3)pnダイオード(正電圧、負電圧、ダイオード逆極性)(4)ショットキーダイオード(正電圧、負電圧、ダイオード逆極性)能動要素T1およびI2としては次の部品が使用できる:(1) nチャネルMO3FET(正電圧)(2)pチャネルMO3FET (負電圧)(3)npn)ランジスタ(正電圧)(4)pnpトランジスタ(負電圧)負荷LlおよびL2としては次の部品が使用できる。
(1)抵抗(2)ドレインとゲートを相互接続されたnチャネル・エンハンスメント型MO3FET (正電圧)(3)ドレインとゲートを相互接続されたpチャネル・エンハンスメント型MOs FET(負電圧)(4)ドレインとゲートを相互接続されたnチャネル・ディプリーション型MOS FET (正電圧)(5)ドレインとゲートを相互接続されたpチャネル・ディプリーション型MO3FET (負電圧)(6)ゲートをM御電極とし、ソースとドレインを駆動接続とするnチャネルMO8FET (正電圧)(7)ゲートを制御電極とし、ソースとドレインを駆動接続とするpチャネルMO3FET(負電圧)(8)ベースを制御電極とし、エミッタとコレクタを駆動接続とするnpn トランジスタ(正電圧)(9)ベースを制御電極とし、エミッタとコレクタを駆動接続とするpnp )ランジスタ(負電圧)ここで正電圧、負電圧というのはそれぞれVccがアースに対して正であるか負であるのかを意味する。以下において用いられる”低′、”高’を圧という表現は、該当ビットセル中の電圧が正であるか負であるかに関連している、すなわち前記第1接続の電圧Vccがアースに対して正であるか、負であるかに関連している。
ビットセル回路の第2の実施例が、そのビットセルの配線d、dネ、そしてaCCに対するドライバと共に第6図に示されている。第5図の要素に対応する要素には同じ参照符号が用いられている。ビットセルフ′は破線で取り囲まれて示されている。負荷はそれぞれ、MOSFET IIとI2のソース/ドレイン経路であって、この例ではp形として示されている。すなわち、この例でn形として示されたトランジスタTIおよびI2とは逆の形である。トランジスタIfのゲートはノードn2へつながれ、トランジスタ12のゲートはノードnlへつながれている。
第5図と第6図の両方のビットセル実施例に関して、それらのビットセルは値vstoreを記憶することができ、その値は′真°か゛偽′かのいずれかである。このビットセルは、配線ace 、 d、、rll上上電位を違えて設定することによっていくつかの異なる機能状態に設定可能であるような構造になっている。
制御状態は、すべての配線に関して高レベル、低レベル、セル中へ電流流入あり、そして配線aCCに関してセルからの電流流出あり、である。配線aCCはアクセス配線であって、ヘッド8から記憶セル中のすべてのビットセルフへつながれている。第3および第4の配線d、d零は、セルの読み書きが行われ、アクセス配Jllaccが低レベルLOIIIの時には互いに反転した信号を有する。
ヘッド8中の駆動およびセンス増幅器は第6図の破線の四角の中に模式的に示されている。アクセス配線aCCの制御はヘッド8中で行われ、ヘッドは電圧Vr、V3そして予備充電信号prechの供給も行う外部の制御装置例えばコンピュータから制御される。この例ではn形として示された第1のトランジスタT3はそれのソースを電圧Vrへつながれ、それのドレインを記憶セル中のすべてのビットセルフ′のアクセス配線accへつながれ、それのゲートにはクロック信号とみなすことができる予備充電信号prechが供給されている。この例ではn形として示された第2のトランジスタT4はそれのソースを電圧Oボルトへつながれ、それのドレインを記憶セル中のすへてのビットライン7′のアクセス配線accへつながれ、それのゲートを外部制御装置によって制御され、外部制御装置はアクセス配線ace上へ電圧0ボルトが設ットセルへつながれているので、すべてのビットセルが配線aceに関して同じ制御を受けることになる。配線aCCを制御するためには、第1フエーズにおいて予備充電が行われ、MOS FET T3をそれの導通状態へ制御し、それによって配線aCCを電圧Vrに設定する。次のフェーズでは、配線aCCに関して低電圧か高電圧かの’ iceの電圧レベルは増幅器AMP中で増幅され、それ以降の操作のために外部回路へ転送される。
要素ヘッド全体の実施例は第8図に示されており、以ついては本発明の範囲に含まれないので、これ以上説明することはしない。
ビットセル配線dおよびdネに関する駆動およびセンス回路9の例が第6図の別の破線囲みの中に模式的に示されている。しかし、この回路9は配線dおよびdネをのうちの1っである。
配線dに関する書き込み回路は第1のトランジスタ対、T5およびT6を含んており、この例では最初のものはn形に、後のものはp形に示されているか、それらのドレインは配線dへつながれ、電圧分割器を構成している。
トランジスタT5はそれのソースを電位V「へつながれ、それのゲートには予備充電信号prechを供給されている。
他方のトランジスタT6はそれのソースを電位Vccへつながれ、それのゲートには、以下に更に説明するように配線dへ電位Vccを供給すべき時に低レベルとなる制御信号V4が供給されている。配線dに関する書き込み回路はまた、ソースをアースへつながれ、ゲートを外部制御装置からの入力WRITEへつながれたn形トランジスタT11のドレインと電圧源Vccとの間に接続されたp形トランジスタT9およびn形トランジスタTIOのソース/ドレイン経路の直列接続を含んでいる。トランジスタT9とTIOのドレインの相互接続点はトランジスタT6のゲートへつながれ、電圧V4を存している。トランジスタT9のゲートには、予備充電の間、導通トランジスタT9を通してトランジスタT6のゲートを電源電圧Vccへつなぐための反転予備充電信号prechtが供給されている。
配線6本に関する書き込み回路は直列に接続された第2のトランジスタ対、T7とT8を含み、この例では最初のものはn形に、後のものはp形に示されているが、それらはドレインを配線d零へつながれ、電圧分割器を構成している。トランジスタT7はそれのソースを電位Vrへつながれ、それのゲートには予備充電信号prechを供給されている。他方のトランジスタT8はそれのソースを電位Vccへつながれ、それのゲートには、配線6本へ電位Vccを供給すべき時には低レベルとなる制御信号v5が供給されている。
配線d零に関する書き込み回路はまた、トランジスタTllのドレインと電源電圧Vccとの間につながれたp形トランジスタTI2とn形トランジスタT13のソース/ドレイン経路の直列接続を含んでいる。トランジスタT12とT13のドレインの相互接続点はトランジスタT8のゲートへつながれ、電圧V5を運んでいる。トランジスタTI2のゲートには、予備充電フェーズの間に導通トランジスタTI2を通してトランジスタT8のゲートを電源電圧Vccへつなぐための反転予備充電信号prech零が供給されている。
LLE入力および出力に関する外部配#I lN10UTは2つの3状懸インバータへつながれている。出力を配線lN10UTへつながれた3状態インバータの1つは2個のn形トランジスタTI4、T15と2個のp形トランジスタT16、T17のソース/ドレイン経路の直列接続を含んでいる。
トランジスタT16のゲートは信号bitinを供給する外nttsm配線へつながれ、またトランジスタT15のゲ−トには反転信号bitin本が供給されている。入力を配線lN10UTへつながれた3状態インバータの第2のものは、2個のn形トランジスタT18、T19と2個のp形トランジスタT20、T21のソース/ドレイン経路の直列接続を含んでいる。トランジスタTI9のゲートは信号bitinを供給する外部制御配線へつながれ、またトランジスタT20のゲートには反転信号bitin*が供給されている。第2の3状態インバータの出力はトランジスタT13のゲートへつながれ、またインバータINV t−経てトランジスタTIOのゲートへつながれている。
読み出し増幅器はn形トランジスタT22を含み、トランジスタT22はそれのソースをアースへつながれ、それのゲートを、トランジスタT22を常に導通させて電流源として機能するように保っている一定電圧Vbiasへつながれ、それのドレインには、それぞれ1個のn形トランジスタと1個のp形トランジスタとを直列接続したもの、すなわちT23およびT24とT25およびT26が2本並列につながれており、それらの直列接続の他端は電源電圧Vccへつながれている。p形トランジスタT24とT26のゲートは相互接続されて、トランジスタT23と724のドレインの相互接続点へつながれている。トランジスタT23のゲートはビットセルフ。
の配線dへつながれ、トランジスタT25のゲートは配線6本へつながれている。
信号prechおよびprec11零に関して各クロック周期は、予備充電フェーズと実行フェーズとに分割され、前者のフェーズにおいては信号preehが高レベルにあり、後者のフェーズにおいては信号prech本は低レベルで外部制御装置からのその他の制御信号が実行されるべき動作を決定するようになっている。このように、予備充電フェーズでは、配Isd、d本、そしてaCCはそれぞれトランジスタT5、T7、そしてT3を経て電圧Vrへ予備充電される。
信号bitinおよびbitin京はビットセルフ゛ との間でデータをやりとりすべき時を制御する。信号bitinが低レベルで信号bitilが高レベルの時はデータは第1の3状態インバータによってビットセルから配線lN10υ丁へ転送される。信号bitinが高レベルで信号bitin零が低レベルの時はデータは第2の3状態インバータによって配線lN10UTからビットセルへ転送される。
フェーズ2の読み出し動作時には、配線dSd本、そしてaCCがV「へ予備充電された後、配線dおよびlは浮遊状態におかれ、配線aCCはトランジスタT4を導通させる高電圧v3によって電圧0ボルトに設定される。
このことは最も低い電位にあるノード、例えばnlをVrとOボルトとの間の電位まで引き下げる。このため、配線aCCへ、配線dからノードnlへ電流が流れる。この電流は配線dを放電させ、従って配線d上の電圧は低下する。この電圧低下が読み出し増幅器T22ないしT26りT25とT26のドレインの相互接続点へ供給され、また第1の3状態インバータT14ないしT17の入力へ送られる。信号bitinが低レベルで、信号tlitin本が高レベルであるため、読み出され増幅されたビット値が入力/出力配線lN10UTへ転送される。フェーズ2において配線dおよび6本が能動的に駆動されないということは重要である。それはその時に配線の一方で電圧低下が発生すべきでないからである。
このように、読み出し動作に関しては、dと6本は両方とも初期には電位Vrが与えられる。dとd零は両方とも本質的に電位Vrに保たれるが、セル中への″電流流入”が配線dとd零の一方を放電させるため、それらの一方が幾分低下する。ここでVrは′低”レベルと定義したので、低電位というのは”低”レベルよりも低いことになる。d、!:d零が読み出し値を与える。dがd零よりも低い場合はFALSEを与え、dが6本よりも高い場合はTRUEを与える。書き込み禁止、FALSE書き込み、TRUE書き込み、書き込み禁止および比較禁止の動作に関しては、配Jlldおよびdt上のff1H電位は何等の情報も提供しない。
フェーズ2における書き込み動作に関しては、配線d1d零、そしてiceのVrへの予備充電の後、トランジスタT4を導通させる高電圧v3によって配線aCCは電圧Oボルトに設定される。記憶されるべき値は入力/出力配線[N10UT上へ与えられる。信号bitinが高レベルで、信号bitin本が低レベルの時は、第2の3状態インバータT18ないしT21が駆動され、配線lN10UT上の値をそれの出力へ転送させる。トランジスタTllのゲート上の制鵡信号writeが高レベルの時は、トランジスタTlOおよびTI3のソースはOボルトへつながれる。
第2の3状態インバータT18ないしT21からの高レベル信号、すなわち”0”またはFALSEの書き込みは、トランジスタT13を導通状態へ制御し、電圧v5を低電圧へ設定し、トランジスタT8は導通状態へ制御され、配線dtは電圧Vccへ、すなわち高レベルへ設定される。
第2の3状態インバータからトランジスタTIOのゲートへ供給される反転信号は低レベルで、それを非導通状態に保ち、予備充電フェーズ期間に電源電圧Vccへつながれている電圧V4はこの電圧に保たれる。トランジスタT6は非導通状態に保たれ、予備充電期間にトランジスタT5を通して配線dへつながれた電圧Vrは保存される。
第2の3状態インバータT18ないしT21からの低配線dJ:rJRする書き込み回路T5、T6、T9、TIOを制画し、それをインバータ[NVを通して高電圧Vccに設定し、一方、書き込み回路T7、T8、T12、T13は配線6本の電圧をそれが予備充電フェーズの間に設定された電圧Vrに保つ。
上述の例から明かなように、第6図に示された実施例で記憶ノードn1とn2は次に述べるように使用される。ノードofと02の一方または両方は動作サイクルの第2フェーズ間に、制御信号V3 、 V4 、そしてV5のどれが使用されるか、すなわち配線iceが0ボルトに設定されるか、あるいは配線dおよび6本の一方もしくは両方がVCCに設定されるかに依存して、充電または放電される。
上述のように、各動作サイクルは予備充電期間と実行期間とで構成される。すなわち、以下で、配線aecが高レベルに設定されるといえばそれは実行期間中に配線aCC上の電圧をOボルトに設定するように信号v3がトランジスタT4を制御しないことを意味する。同様に、以下で配線dまたはdtが低レベルに設定されるというのは、実行期間中に電圧Vrよりも高い電圧Vccを配Jl!dおよびdtへつなぐ状態へトランジスタT6またはT8を制御することを制御信号V4またはV5が行っていないことを意味する。しかし、配線dおよび6本が高レベルに設定されると、トランジスタT6またはT8は電圧Vccをその配線へつなぐように制御される。
記憶セルエリアは比較的拡張性のあるものである。例えば、256個の記憶セルを含むと仮定すると、それはそれぞれトランジスタT5、T6とT7、T8の多対が、256個のビットセルすへての記憶セル中で1つのビットセル用として機能する配線へつながれることを意味する。従って、そのトランジスタの大きさはバス全体の容量と望ましい速度とに応じて調節されるべきである。
電圧V「はVrと駆動増幅器インバータとの間の既知の関係を保つように、短絡されたインバータから生成させることができる。ヘッド中のアクセス回路はビットセルを制御し、またビットセルからの情報を捕らえることも行う。
次の機能状態が制御状態によって設定できる:休止 :セルは単に値v 5toreを記憶している。
PALSE読み出し :値vstore =FALSEが読み出される。
TR1JE読み出し :値vstore =TRUEが読み出される。
読み出し禁止 コセルは単に値v 5toreを記憶している。
FALSE書き込み :記憶値’vstoreか′偽′に設定される。
TRUE書き込み :記憶値v 5toreが′真′に設定される。
書き込み禁止 :セルは単に値v 5toreを記憶している。
FALS8比較 :記憶値v 5toreが値°偽° と比較される。
TRUE比較 :記憶値v 5toreが値真゛ と比較される。
比較禁止 :セルは単に値v 5toreを記憶している。
次に示すのはビットセルの異なる動作モードに対する動作表である。
動作モード acc d d零体止 低レベル 低レベル 低レベルFALSε読み出し 低レベル 電流流入 高レベルTRUE読み出し 低レベル 高レベル 電流流入読み出し禁止 高レベル 任意 任意FALSE Iき込み 低レベル 低レベル 高レベルTRUE書き込み 低レベル 高レベル 低レベル書き込み禁止 高レベル 任意 任意FALSE比較 任意 低レベル 高レベルTRUE比較 任意 高レベル 低レベル比較禁止 任意 低レベル 低レベルPALSE比較とTRUIE比較に関して、もし比較の結果がDIFFERENT (不一致)であれば、配線accは電流流出状態を有するはずである。
FALSE比較とTRUE比較動作に関して、配線ace (アクセス配JII)が比較結果を与える。配線aCCはVrへ予備充電され、入力データは配Jlidへ与えられ、それの反転値が配線dtへ与えられる。もしビットセル中に記憶されている値が入力データと異なれば、配JllaccはダイオードDIまたはD2の一方を通り、またそれに対応するn形トランジスタTIまたはT2を通しで充電される。
このことはヘッド8中の増幅器AMPによって検出される。
比較された結果、PIT (一致)か検出されれば、配線aCCは電位Vrに保たれる。
電流流入および電流流出という表現は、時系列の中で問題にしている配線に対して電荷の出入りがあることを表現している。これは通常、初期にその配線を休止の動作モードでそれぞれ高レベルまたは低レベルへ設定しておき、その後実際のモードへ変化させることで生ずる。
その時、問題にしている配線に対してそれぞれ、電流が充電または放電する。電流のない時には、電荷の転送は無視できる。従って、その時系列では電圧変化は生じない。
第7A図と第7B図に示された優先度デコーダ2の実施例は4ブロツクに分割されている。第7A図に示されたように、各4ブロツクは1対の左側配線grantaおよびreqaと4対の右側配線reqo、granto、 、 、 、ないし0.。
req3、grant3を存している。
第7B図に示されたように、第1の4ブロツク20は、それの右側配線の4対を4個の4ブロツクの左側配線の多対へつながれている。第2列の4ブロツクについてはそれらのうち外側の21と22とが示されている。ブロック20と21およびブロック20と22はインバータ増幅器23および24によって相互接続されており、増幅823はそのブロックチェーンの中で上のブロックに対して優先度要求が必要であるという情報を下のブロックへ与えており、また増幅器24はそのブロックの中の上のブロック−\、許iJ (grant )が与えられたという情報を与えている。このように、第2の4ブロツク列中の、ブロック21.、.22の数は4である。
第2の列中の各ブロックは次に、第2列のブロックが4ブロツク20へつながれているのと同じようにして第3のブロック列中の4個の4ブロツクへつながれる。第3の列中の4ブロツクの数は従って、16となる。最も外側の4ブロツク25および26だけを示しである。
次に、第3列中の各ブロックは同じようにしてブロックの第4列中の4個の4ブロツクへつながれる。従って、第3列中の4ブロツクの数は64となる。最も外側の4ブロツク27および28だけを示しである。
第4列中の4ブロツクの右側の配線はオブジェクト記憶へつながれている。第7B図から明らかなように、多対は記憶セルlのためのバス■2およびI3として機能するようになっている。
256個のクロージャに対して85個のブロックが設けられている。最も下のブロック28は最も下の、記憶セル番号0まで下がった記憶セル用のものであり、また、最も上のブロック27は最も上の、記憶セル番号255まで上がったセル用のものである。
第7A図と第7B図に示された構成はドミノ式の予備充電論理を採用しており、そこでは優先度フルデコーダはカスケード接続されたド、ミノステージを含み、それらは例えば最も下のブロック28中のreqOからすべての優先度デコーダブロックを経由して戻ってくるような要求信号の転送に対応しており、それによって記憶セル番号0だけを除いたすべての記憶セルに対して偽の許諾信号を与えるようになっている。
第7a図に示されたように、各4ブロツクは5行のMOS FETトランジスタを含み、各行には下側の行よりも1個多いMOS FETが含まれている。但し、第5番目の行だけは例外で、それは第4番目の行と同数のMOS FETを含んでいる。
はとんどが下の方の4列中の右側にあるT rO,OないしT r3.0のMOS FETの各々はp形として示され、それのゲートをクロック信号源へつながれ、それのドレインを正の電源へつながれ、それのソースをそれぞれ許諾配線、grantO,grant11grant2、またはgrant3へつながれている。最も上の行のMOS FET Tr4.0はそれのソースを、iを0から3の番号とした時の配線grantiへつながれる替わりに、インバータ23を通してクロックカスケード中の次に下のブロックへつながれた配線reqaへつながれている。
n形として示されているMOS FETの残りのもの、第1行のT rO,L第2行のTrl、1とTrl、2、第3行中のTr2.1. Tr2.2、そしてT r2.3、第4行中のT r3.1、T r3.2、T r3.3、そしてT r3.4、第5行中のT r4.2、T r4.3、T r4.4、モしてT r4.5はそれらのソースをアースへつながれ、それらのドレインを下の方の4行に関しては許諾配線、grantOlgrantl、 grant2、そしてgrant3へそれぞれつながれ、第5行については配置1!reqaへつながれている。
配線grantaはMOS FET TrO,L Trl、L Tr2゜l、モしてT r3.1の各々のゲートへつながれている。配jareqoはMOS FET Trl、2、T r2.2、T r3.2、そしてT r4.2の各々のゲートへつながれている。配線req 1はMOS FET Tr2.3、T r3.3、モしてT r4.3の各々のゲートへつながれている。配線req2はMOS FET Tr3.4とT r4.4の各々のゲートへつながれている。
配線req3はMOS FET Tr4.5のゲートへつながれている。
優先度デコーダは2つのフェーズで動作する。第1のフェーズでは、クロック信号は低レベルであり、すべて(F) gran t iは高レベル(真)へ予備充電される。従ってすべての信号req iは低レベル(不要)となる。第2フエーズでは、予備充電はクローズされる、すなわちクロック信号は高レベルとなる。従って出力req iのすべて、またはいくつかは高レベルになり、それによって上のgrantiはすべて低レベル(非選択)に設定され、またreqaは低レベルに設定される。もしreqaが低レベルになると、第7図の左側に隣接する4ブロツク中のreqiは高レベルに設定される。4ブロツク20中の信号reqaとgrantaは重要でない。しかし、4ブロツク20中のgrant aはアースへつながれる。4ブロツク20中の信号reqaは第1図および第2図の配線14上へ結果″ANY“を与える。
セルクロージャのどれかにつながれたreq iのどれかが高レベルになれば、それは低レベルにならなければならないからである。
要素ヘッド8の詳細な実施例が第8図に示されている。
この例はオブジェクト記憶をリダクション型のプロセッサに応用するのに適したものとなっている。要素ヘッド8は記憶セルフへのアドレス配線aCC・を制御し、アドレス配線accと、ここではany typeと呼ぶ配線ANY 14を検出し、バスとおよびしに対してwired andおよびwired norの演算を実行し、そしてバスaおよびbの読み出しも行う。更に、それは内部ダイナミックメモリビットを含んでいる。
nチャネルMOS FET nOはそれのソース/ドレイン経路を、第6図の電圧Vrと等しい電圧Vrとアクセス配線aCCとの間につながれている。クロックパルスcpbがMOS FET noのゲートへつながれている。nチャネルMOS FET nlはそれのソース/ドレイン経路をアースとアクセス配線aCCとの間につながれている。
並列に接続された2つのpチャネルMO3FETp2とp3のソース/ドレイン経路、pチャネルMOSFET p4のソース/ドレイン経路、そしてnチャネルMOS FET n5のソース/ドレイン経路が直列に接続されて、電圧源Vccとアースとの間につながれている。
最も近くのビットセルへ直接つながる配線any typeはMOS FET p2のゲートへつながれている。中央制御装置(図示されていない)からの配線a+atchがMOS FET p3のゲートへつながれている。アクセス配線aCCは、ゲートをアクセス配線aceへつながれたpチャネルMOS FET piとnチャネルMOSFET nOの直列接続されたソース/ドレイン経路を含ムインバータENVIを介してMOs FET p4(7)ゲートへつながれている。nチャネルMOS FETn7はそれのり−ス/ドレイン経路をインバータ[NVlとアースとの間につながれている。中央制御装置からの配線eva1.sすなわち選択評価がMOS FET n7のゲートへつながれている。
中央制御装置からの配線set、sすなわち選択設定がMOS FET n5のゲートへつながれている。
選択ノードとも呼ばれる、MOS FET p4とn5のドレイン間の相互接続点11は、ソースをpチャネルMOS FET p7のドレイン/ソース経路を介して電圧源+vecへつながれたpチャネルMOS FETp6のドレインへつながれている。中央制御装置からの配線reset、 bがMOS FET p6のゲートヘラながれている。第2図に示された配線すと同じものである配線すがMOS FET p7のゲートへつながれている。
pチャネルMOS FET psがそれのドレインを、第2図に示された配線aと同じものである配線aへつながれ、それのソースを相互接続点12へつながれている。
中央制御装置からの配線Wand、 aすなわちwired and aがそれの反転ゲートへつながれている。pチャネルMOSFET p9がそれのドレインを配線すへつながれ、それのソースを相互接続点12へつながれている。中央制御装置からの配線Wand、 bすなわちwired and bがそれの反転ゲートへつながれている。pチャネルMOSFET plOがそれのドレインを相互接続点12八つながれ、それのソースを電源電圧+Vecへつながれている。
相互接続点i1はインバータINV2を介してMOS FETplOの反転ゲートへつながれている。インバータINv2は電圧源+Vccとアースとの間に、pチャネルMOSFET pi4とnチャネルMOS FET n8との直列接続されたソース/ドレイン経路を含んでおり、それらのゲートは相互接続点ifへつながれている。
2つのpチャネルMOS FET pHとpi2のドレイン/ソース経路を直列接続したものが配線aと電圧源+Vccとの間につながれている。中央制御装置からの配線Norすなわちwired orがMOS FET pi2のゲートへつながれている。相互接続点i1はMOS FET pHのゲートへもつながれている。pチャネルMOS FET pi3がそ口のソース/ドレイン経路flHm装置からの配線S、aすなわちし選択がMOS FET pi3のゲートへつながれている。
nチャネルMOS FET n2、pチャネルMOSFET pi5、pチャネルMOS FET p16のソース/ドレイン経路を直列接続したものがアースと電圧源+Vccとの間につながれている。MOS FETn2とpi5のソース間の相互接続点i3はMOS FET nlのゲートへつながれている。2つのpチャネルMOS FET pi7とptaを直列接続したものが相互接続点i3と電圧源+Vecとの間につながれている。
選択ノードである相互接続点11はMOS FET 1gのゲートへつながれている。中央制御装置からの配線r/w、 bすなわちb読み出し/書き込みがMOS FETり15の反転ゲートへつながれている。中央制御装置からの配線r/w、 sすなわち選択読み出し/書き込みはMOS FET pi7のゲートへつながれている。読み出しまたは書き込み操作の後にノードi3をリセットするために使用される、中央制御装置からの配線r/w汀すなわちリセット読み出し/書き込みはMOS FETn2のゲートへつながれている。
第8図に示された要素ヘッドの実施例における論理回路の機能は次のことである。MOS FET nOは負のクロックパルス毎にアクセス配線aCCを予備充電し、そしてMOS FET nlは読み出しまたは書き込み時にそれを低レベルと評価する。MOS FET n2はi3を低レベルに予備充電し、MOS FET nlをオフ、すなわち非導通状態のスタンバイに保つ。
MOS FET pi7とpi8は選択ノードによって制御される読み出し/書き込みを実行する。これは例えば、命令match 、クロージャセルのマーク消去あるいはそのクロージャセルの識別読み出し、そしてマークを設定するのでなければ、バスしおよびL上の情報に依存してどこで異なるアクションを起こすべきかといった命令を行う場合に使用される。
match関数(match funcHoo)は例えばいわゆるゴールの値である1つの値をコアセル中と記憶セル中で比較し、2つの組を定義するそれらの値を調べる。それらの組がインターセクト(intersect ) L/なければmatch結果は偽となる。クロージャの部分が完全に評価されない場合にも同様である。
MOS FET n5は選択ノードilを予備充電し、MOS FET p2ないしp4がMOS FETn7のゲート上の外部制御装置からの制御によってそれ−を評価する。MOS FET p8ないしplOは外部fljm装置からの制御信号に依存して、バスaおよび/あるいはバスLに対してwired orを実行する。MOSFET pHと1)12は中央制御装置からの制御によってバスLに対してwired orを実行する。
インバータ[NV2は選択ノード上の選択ビットを反転させる。これはwjred−orと*jred−andの両方が実行されるために必要である。MOS FET p13はバスatの値を選択ノードヘ−転送する。それが低レベル状態に予備充電されているため、高レベル状態のみが転送される必要がある。最後に、MOS FET p6とp7が制御されて高レベルを選択するために用いられる。これはマークされた記憶セルを読み出すためとそのセルのマークを消去する命令のために必要である。それは、その時選択ノードは読み出しの実行と同時にリセットされるべきであるからである。この機能は、要素ヘッド中で論理AND演算を実行しなければならないようなその他の種類の命令においても使用できる。
信号any typeは最も近いビットセルへ直接つながれている。それは記憶値のタイプを含んでいる。a+atchの間、MOS FET p3はオフ状態に制御されており、それによって信号&n’l typeを存するその配線上の高レベル値がtrue matchを生成する。同様に、記憶セルが未使用であるかどうかのテストのために、MOS FETp3がオフ状態に制御されている間に信号any typeを有する配線上の高レベル状態が選択ノード上の信号5etectを低レベルに留まらせる。同等性のテストのために、MOS FET p3はオン状態すなわち導通状態に制御される。
第9図に示されたクロージャヘッドIIの実施例は、バスしまたはLのいずれかに対して優先度操作およびMODE操作を実行することができる。更にこの実施例はラダクシ3ン盟のコンピュータと一緒に使用できるようになっている。同操作は異なるバスに対して同時に実行できる。MODE操作すなわち第1図と第2図に示された回路中のバス4 (MODE)操作はバスatの高レベルまたは低レベル状態のいずれかに敏感であり、一方それはバスb上では低レベル状態にのみ敏感である。このクロージャヘッドはまたバス5(第1図参照)上のグローバル信号M。
REをリセットすることができ、また古いバスデータをバスaおよびbへ読み出し及び書き戻しくread and writeback)することができる。
MODE動作を実行する回路と優先度動作を実行する回路とはどちらも2ステージのドミノ原理に従って設計されている。第1ステージはどちらのバスが入力かを決定し、極性を修正し、また第2ステージは実際の操作を実行する。このように、このクロージャヘッドは2つのフェーズで動作し、第1の予備充電フェーズと第2の実行フェーズとを存している。従って、複数個の予備充KnチャネルMO3FET n20、n21.n22、そしてn23が設けられており、それらのゲートは中央制御装置からのクロック信号prechによって制御されている。
n20はバスaを予備充電し、n21はバスbを、n22は優先度デコーダ2へのバスreqを、モしてn23はコンタクトネットFlを”低レベル”へ、それぞれ予備充電する。
コンタクトネットFlはpチャネルMO3FET p20とp21のソース/ドレイン経路を直列接続されたものと、p22とp23のソース/ドレイン経路を直列接続されたものとを2つ並列につないだものを含んでいる。ネットFlは一方はMOS FET n23のソース/ドレイン経路を経てアースへつながれ、他方は電圧源+Vccへつながれている。バスaはMOS FET I)20のゲートへつながれ、またインバータlNV2Oを経てMOS FET p23のゲートへつながれている。従ってMOS FET p23のゲートにはバスし上の反転信号である信号a1が供給される。中央制御装置からの信号mode、 aがMOS FET p21のゲートへ送られ、中央制御装置からのその信号の反転信号mode、 asがMOS FET p22のゲートへ送られている。
コンタクトネットF1はaネmode、 a対a*$l1lode、 atの関数を実現する。
2つのnチャネルMOS FET p24とp25のソース/ドレイン経路を直列接続したものが電圧源子Vccとバスbとの間につながれている。バスaがMOSFET p24のゲートへつながれ、中央制御装置からの信号baがMOS FET p25のゲートへ送られている。
ネットFlとMOS FET p23のドレインとの間のノードは、ソースをアースへつながれ、ドレインを、第1図と第2図とに示されたmode信号を供給しているバス4(MODE)ヘラながれたnチャネルMOS FET n24のゲートへつながれている。2つのpチャネルMO3FET p2Bと927のソース/ドレイン経路を直列接続したものが電圧源+Vccとバスbとの間につながれている。バス4上のmode信号もまた、そのmode信号を増幅する2つのインバータINV21とINV22とを経てMOS FET p27のゲートへつながれている。信号mode、 bが中央制御装置からMOS FET pZ6のゲートへ送られている。
信号oxode−aはバスaに対してモード演算を実行する。
信号made、 atもバスaに対してモード演算を実行するが、このバス上に反転値B−sを生成する。信号baは、もしバスaが”低レベル”にセットされていればそのバスを”高レベル”にセットする。信号mode、 bは、もしバストモードが2低レベル”であれば、そのバスを”高レベル”にセットする。信号prechはバスととLを”低しベノピに予備充電するために使用される。
このように、信号aと信号a零のいずれに対してモード演算を実行すべきかの選択はコンタクトネットFlの助けによって行われる。次にバス4 (MODE)がオブジェクト記憶中のすべてのクロージャヘッド11を介してアースヘセットされる。トランジスタp26のゲート上のmm信号mode、 bがこれに続いてバスbを高レベルへ引き上げる。このようにして、2つの異なるテストをバスaと共よう。例えば、バスaとbのうちの一方に対してIHREDORが実行され、他方に対してはWIRED ANDが実行される。
れる。別の状態はバスL上の結果に基づいた別の演算を実行するというものである。
2つのpチャネルMOS FET p28とp29のソース/ドレイン経路の直列接続が電圧源+Vceとバスbとの間につながれている。優先度デコーダ2からの信号grantがインバータINV23を介してNANDゲートNAND 1の1つの入力へつながれ、それの第2の入力には信号jeqがつながれている。このNANDゲートはソース/ドレイン経路を直列接続された2つのnチャネルMOS FET 25と26を含み、更に、ソース/ドレイン経路を並列に接続され、MOS FET n26のドレインと電源電圧Vceとの間につながれた2つのpチャネルMOS FET p32とp34を含んでいる。MOSFET n25のソースはアースへつながれている。信号grant零がMOS FET n26とり34のゲートへ供給され、信号reqがMOS FET n25とp32のゲートへ供給されている。NANDゲートの出力はMOSFET 928のゲートへつながれ、またソース/ドレイン経路を電源電圧Vceと配線MOf?E 5との間につながれたpチャネルMOS FET p33のゲートへつながれている。中央制御装置からの信号grant、bがMOSFET p29のゲートへ供給されている。
2つのpチャネルMOS FET paoとp31のソース/ドレイン経路の直列接続が電圧源+vccと優先度テコーダ2へのバスreqとの間につながれている。中央制御装置からの信号prioがMOS FET p30のゲートへつながれ、バ4LがMOS FET p31のゲートへつながれている。
中央制御装置からの信号prioは優先度デコーダ2へ要求信号を送るために使用される、すなわちもしバスわが”低レベル”であれば高レベル信号reqを供給する。
NANDゲートp32、p34、n25、n26は信号reqが高レベルであるか、そして信号grantが低レベルであるかを、すなわち優先に対する要求があっても選択されていないかを調べる。そのような場合には、NANDゲートは低レベルとなり、バス5 (MORE)を”高レベル”にセットする、すなわち優先に対する要求があることを示す。
信号grant、bは、もし信号reqが2高レベル”で、信号grantが“低レベル”であれば、バスLを2高レベル”にセットするために使用される。その後、まず中央制御装置から信号prioが供給され、次にオブジェクト記憶中の多くて1つの記憶セルにおける信号grant、 bがバスbを”低レベル”にする。
本発明は特定の実施例について説明してきたが、当業者には本発明の範囲からはずれることなく、本発明の要素に対して各種の変更や置き換えが可能であることが理解されよう。更に、本発明の教えるところの本質からはずれることなく修正かなされるであろう。
メモリバスFII33F旧、7A要約口外部制御に関して第1の制御バス構成(any−type。
Vr 、 cpb 、 5et−s 、 match 、 r/w、s 、 r/w、b %rht、r 。
Wand、a、 Wand、b%Nor 、 s、a 、 reset、b 、 mode、a。
mode、a零 、 prech S ba、mode、bS grant、b 、prio、等) 、データに関して第2のメモリバス構成(tL t2.1d1env 、 vOlvl、 v2、v3)を有する連想メモリが与えられる。本メモリは合成情報を記憶するためのいくつかの記憶セル(1)を含む。各記憶セルは、その記憶セルに関して少なくとも選択状態と非選択状態を表示する少なくとも1つのマークを記憶する。それらのマークは前記セル間の探索操作によってセットされる。優先度デコーダ(2)が設けられ、それにはすべての前記記憶セルがつながれ、前記いくつかの記憶セルのうちから1つを選択する。少なくとも1つのグローバルバスが設けられ、それは前記記憶セル間でANDやORの型の論理演算を実行する。各記憶セル中にはクロージャヘッド(11)が設けられて前記バスと交信し、実際の論理演算に前記記憶セルが参加するように制御する。各記憶セルは複数のデータオブジェクト記憶フィールド((DENTITY 。
εNV(f?ONMENT 、 VALUE/DES、0 、 VALUE/DES=1 。
VALUE/DES、2 、VALU)i/DBS、3 )カ含マレ、それらは1つのデータワードと、前記マークの少なくとも1つをタグの形で記憶することができる。
国際調査報告ImfillieaalAmlcalles−PC丁/SE91100513国際調査報告