Movatterモバイル変換


[0]ホーム

URL:


JPH05508725A - 構造演算用演算装置 - Google Patents

構造演算用演算装置

Info

Publication number
JPH05508725A
JPH05508725AJP91514005AJP51400591AJPH05508725AJP H05508725 AJPH05508725 AJP H05508725AJP 91514005 AJP91514005 AJP 91514005AJP 51400591 AJP51400591 AJP 51400591AJP H05508725 AJPH05508725 AJP H05508725A
Authority
JP
Japan
Prior art keywords
register
list
instruction
registers
stored
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.)
Pending
Application number
JP91514005A
Other languages
English (en)
Inventor
カールステット,ラルス グンナー
Original Assignee
カールステット エレクトロニク アクチボラゲット
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 カールステット エレクトロニク アクチボラゲットfiledCriticalカールステット エレクトロニク アクチボラゲット
Publication of JPH05508725ApublicationCriticalpatent/JPH05508725A/ja
Pendinglegal-statusCriticalCurrent

Links

Classifications

Landscapes

Abstract

(57)【要約】本公報は電子出願前の出願データであるため要約のデータは記録されません。

Description

【発明の詳細な説明】構造演算用演算装置本発明は、構造演算用演算装置に関する。以下においては、この演算装置をコアセルと呼ぶ。
発明の背景コンピュータは、1940年代に発明された。その時以来、それは革命的な速度で発展せしめられた。それにも拘らず、今日のコンピュータは、最初のものとほとんと同じアーキテクチャを存する。
大部分の改良はハードウェアにおいてなされてきた。
VLS Iの導入およびリソグラフ技術の向上は、ワンチップコンピュータの製造を可能にしたが、それはわずか5年前にはスーパーコンピュータと呼ばれていたものである。大きさは指数関数的に縮小し、線幅は、今では1μmより小となっている。クロック速度およびアクティブトランジスタの数は、多くのオーダーの大きさ増大した。物理的制約により、恐らくは線幅の限界は0.2μmとなると思われる。
同じ期間中に、コンピュータのアーキテクチャは、シリコンの使用においては改善されなかった。逆に、大部分のコンピュータは、速度の増大のために最適のシリコン量よりも多くを使用してきている。
これら双方の事実は、次の5年間における単一プロセッサの速度の向上を停止せしめると思われる。並列ブロセッサが導入されたが、複雑性の増大のためにハードウェアの経費が増大し、また、たいていの形式のプログラムにおいて、プログラミングの経費か非常に増大する。
相互の関連を見ると、ハードウェアの経費は縮小されたが、新システムのプログラミングの経費はかなり増大し、間もなく手におえな(なりそうである。
コンピュータは、ソフトウェアおよびハードウェアにおけるさまざまなユニットの複雑な集合体である。発展のさまざまな絶倒および段階が、特別の確立された標準を作り出し、それらがシステム内において広く用いられている。この非一様性のために、極めて多くのインタフェースが存在している。
性質および様式の異なる全てのこれらのインタフェースおよび絶倒は、使用者またはプログラマ−による機械の使用を困難にした。それは、多くの知識を要求し、またプログラマ−は、複雑性のために隠れたエラーを導入する可能性がある。
しかし、最近、いわゆるリグクシ3ンブロセツザ(reduetion processor)が発展しつつある。リダクションプロセッサは、演算式を含むある構造を有するプログラムを実行し、この構造はいくつかのりダクションステップにおいてリジュース(reduce)される。従って、プログラムは、他の種類のコンピュータにおけるように、与えられたシーケンスによっては実行されない。
リダクションプロセッサを、ある限度の大きさを超えて発展させるのには、ある困難が存在する。
プログラム言語の発展最初の電子コンピュータの開発は、フォートラン、コボル、アルゴル、ベーシック、パスカルなどの、この形式のコンピュータに適するいくつかのプログラム言語の発展を開始せしめた。これらの言語は、主として、通常のコンピュータ、すなわちジョン・フォノ・ノイマンにより開発された原理に従って設計されたコンピュータ、により順次実行されるべき指令または命令のシーケンスから成るプログラムを通常は与える事実により、命令型言語と呼ばれており、以下においては通常型語とも呼ばれる。これらの言語の困難か増大するのに伴って、他の一連の言語、リスプ、イスライム(ISW[M)スキーム(Scheme) (リスプの方言)、エムエル(ML)、ホープ(Hope) 、 ニスニーニスエル(SASL) 、などが開発された。これらの言語の開発の背後の原動力は、概念上の簡単さであり、特定の機械はその設計に影響を及ぼさなかった。関数型言語が注意を引くまでには、ある時間を要した。その1つの理由は、関数型プログラムの実行が低速度であったためである。その後の発展により、これらの関数型プログラムは、通常の形式のコンピュータによって実行されるのを目的とするものではないが、ある場合には、通常のコンピュータによって実行される通常型(命令型)言語のプログラムにおけると近い、または同じ、実行速度を示しうるようになった。
ソフトウェアの危機関数型言語を発展させるための大きい努力を開始させたのは、命令型言語に係る困難であった。人々は、1970年頃にソフトウェアの危機を唱え始めた。プログラムは、ますます複雑化し、しばしば多くのエラーを含有し、読むのが困難になり、理解しにくくなり、特に修正が困難となった。1つの理由は、高レベルの命令型言語がプログラミングを簡単化するはずであるという期待が高すぎたからである。これらの言語は、想像はど高レベルにはなかったのである。命令型言語は、なお初期のコンビコータ、すなわちノイマン形コンピュータの基本思想に適合しており、プログラミングのレベルは、依然として機械レベルにかなり近い。
関数型プログラム言語は、通常型プログラム言語の欠点のうちのあるものを軽減するいくつかの性質を育する。
さらに進んだ情報および理解のためには、テキストとしてrFunctional Programming Using 5tandard MLJ、Ake WikstrOm、Prentice )fall 1987を参照されたい。
本発明の目的および利点の完全な理解のためには、コンピユーテイングにおける機能的なアプローチを構成するものの理解、特に、歴史的にもっと一般的な命令型アプローチとの比較においての理解が、本質的に重要である。
「関数型アプローチJという表現は、プログラムが関数型言語で書かれ、この言語に特に適したハードウェアを含むコンピュータにおいて記憶されかつ実行されることを意味する。同様に、「命令型アプローチ」という表現は、プログラムが命令型言語で書かれ、命令型言語に適したハードウェアを含むコンピュータにおいて記憶されかつ実行されることを意味する。
しかし、関数型言語で書かれたプログラムを通常のコンピュータにおいて記憶し、かつ実行することは可能である。その逆もまた可能である。すなわち、命令型言語で書かれたプログラムは、関数型言語で書かれたプログラムの実行に適したコンピュータにおいて実行されうる。
関数型言語の性質関数型言語で書かれたプログラムは、オブジェクトの性質の定義の組として、また計算規則として見られつる。
定義は宣言部分であり、計算規則、またはりダクションまたは書直し規則は、コンピュータが実行中に使用する演算部分である。関数型言語は、コンピュータに対する高レベルのインタフェースをなし、それは、プログラマ−がコンピュータのハードウェアに関連した細部を抽出し去ることを可能ならしめる。肯定的側面効果として、関数型プログラムはしばしば、通常の命令型プログラムよりも短く、かつ理解しやすい。関数型言語の主たる欠点の1つは、関数型プログラムが通常のコンピュータにより実行されるためには、それが通常型言語に翻訳されなくてはならないことである。これは、コンパイラすなわち翻訳プログラムによって行なわれてきた。関数型ブログラムを効果的に記憶しかつ実行するタスクのための専用ハードウェアが存在していなかった事実により、関数型アプローチのある利点が阻害されていたことは明ら本発明は、アクティブストレージ内に存在し、以下においてコアセルと呼ばれる特定のアクティブメモリセルを提供することを目的としており、このセルは、全ての種類のりダクションを行ないうる。一方、アクティブストレージはまた、ある形式のりダクションの限定された部分のみを行ないつる、他の形式のメモリセルをも含有する。数値演算は、コアセルに接続された数値演算論理装置(数値ALU)において行なわれうるが、実際のりダクション演算はコアセル内において行なわれる。
本発明のもう1つの目的は、以下においてオブジェクトストレージと呼ばれる、限定的メモリセルを含む好ましくは連想メモリ、と協働するコアセルであって、情報転送のためにその連想メモリに直接接続されているセルはこのセルのみである、該コアセルを提供することである。
本発明のさらにもう1つの目的は、複数のレベルの表現を記憶しつるコアセルを提供することである。コアセル内に記憶される表現内の基本命令は、コアセル内において実行されるべきである。
本発明のもう1つの目的は、構造演算、すなわちコンピュータプログラムによって与えられた構造をリジュースする演算のためのコアセルを提供することである。そのセルにおいては、セル内の表現のサイズは、実行に関係する表示グラフの技に対応している。通常の種類のコンピュータは、構造演算の概念に基づく種類のプログラム言語、例えばリスプ(リスプコリスト処理言語)または他の任意の関数型または宣言型コンピュータ言語を用いる時に特に有利な、構造演算のためのコアセルを備えうる。言語リスプは、リストまたはリストから構成された構造を取扱いかつ処理するのに特に適しており、例えばエキスパートシステムを作りあげるために、人工知能内において使用される。それはまた、記号式数学、VLSIの設計、ロボット工学、自然言語理解、などにおいても使用される。その場合、コアセルは、これらのリストを、書直しまたは/かつリジュースすることにより、処理する手段となりうる。
リダクシヨンによる実行実行されるべきプログラムは、クロジャー(closure) ’の方向性グラフによって表わされ、プログラムのそれぞれの部分はクロジャーによって表わされる。実行中に、クロジャーのこの方向性グラフは、使用されている言語のりダラシ3ン規則に従って次第にリジュースされる。
実行可能なりロジャーがなくなれば、プログラムの実行は終ったのである。クロジャーの方向性グラフは木構造と見なされ、その木の中のそれぞれのノード(node)がクロジャーであり、最上部のノードはルーツ(root)と呼ばれる。この場合、リダクションによる実行は、通常は、本構造の下部を上にしてリジュースすることによって行なわれ、ルーツから最も遠い木の部分からリジュースして、ルーツまで進んで行く。この種の実行は、通常は、要求被部動形実行(demand driven execution)と呼ばれる。すなわち、プログラムの他部分の実行の結果に依存するプログラム部分の実行は、その結果の得られるまで延期される。
定義以下には、本明細書において用いられる表現に関するリストと、それらの予定された意味とをあげる。
エレメント データ構造内の何か大きい部分リスト エレメントの順序づけられたシーケンスで、それぞれのエレメントはリストでありうる挿入されたリスト 全体が1クロジヤー内に記憶されるほど小さいリストの部分。
任意の長いリストを代表することを可能にする。
クロジャー プロセスを定める階層構造をもった全体。全てのクロジャーは、そのクロジャーを一意に定めるルーツを有する。リダクション機械におけるリダクション作業は、クロジャーに対して行なわれる。その機械の全状態はりダクションにより変形される。
オブジェクトストレージ オブジェクトを記憶するストレージセルを含むメモリ。例えば連想メモリストレージセル オブジェクトストレージ内のセル。
それは、他のストレージセル内に記憶されている他のセルクロジャーに関連するセルクロジャーを記憶する。
セルクロジャー ストレージセル内の内容ストレーノセルフィールド ストレージセル内のフィールドクロツヤ−エレメント ストレージセルフイールド内に記憶されたデータエレメントクロジャー識別子 クロジャーを一意に指示するクロジャーセルエレメント力!ニカルクロノヤー それ以上リジュースされないクロジャー、すなわち、このセルクロジャーがさらにリジュースされなくてはならないようにリジュースされつる、ある他のセルクロジャーを指示するいかなるクロジャー識別子をも含まないセルクロジャー目標 実行されるべき、すなわちリジュースされるべきクロジャー親(father) 値/ffr示フィ一フィールド内くとも1つのクロジャー識別子を有するクロジャー子(son) 子を指示するクロジャー識別子ニよりもう1つのクロジャーにリンクしたクロジャー子は親でもありうる。親は子でもありうる。子は1つより多くの親を有しうる。
親は1つより多くの子を存しつる。
クロジャー位置 クロジャーがルーツであるか、あるいはノードであるかルーツ りロジャーの木の中での最上部のクロジャーセルノード クロジャーの木の中でのルーツでないクロジャーセルホエア(*here) クロジャー位置を含有するストレージセルフイールドタイプ セルクロジャー内のタイプコード、すなわち、オブジェクト、例えば命令コード、の性質を表わすビットパターンレージ−(1azy) セルクロジャー内のエレメントで、それが実行可能であるか、延期された評価であるか、非アクティブであるか、を指示する識別子 ストレージセル内に記憶されているオブジェクトを示すのに用いられる特殊な種類のクロジャーエレメント環境 オブジェクトは、それらに同じ環境を与えることによりグループ化されつる値/指示 クロジャーエレメントは、簡単な値、(value/des、 ) すなわち直接的表示、無、または他のクロジャーへの指示、すなわち間接的表示、のいずれかを記憶するコアセル 本発明の構造演算装置。コアセルは、リジュース用クロジャーに係る構造演算を行ないつる数値ALU 基本的な数値および論理演算を行ないつる数値演算装置。コアセルは、数値演算に数値ALUを用いるフルレジスタ コアセル内の全平面を通って延長するレジスタコアワード コアセル内のフルレジスタの内容限定的レジスタ 値/指示タイプのクロジャーセルエレメントを含む大きさの限定された量の平面を通って延長するコアセル内のレジスタエレメントワード 限定的なレジスタ、または限定的レジスタと同じ延長を有するフルレジスタの部分、の内容ナム(num)ワード 値または指示を表わすエレメントワードの部分タグワード ナムワードにおける表示の特徴を示すタグを存するエレメントワードの部分リダクション 使用される特定のプログラム言語の規則に従ったクロジャーの書直し/再構成発明の要約本発明の主要目的を達成するための、構造演算処理の方法は、a)い(つかのレジスタ内にデータワードを記憶せしめるステップであって、それぞれのデータワードがマーク部分および情報部分を有し、該マーク部分が問題となっているレジスタが使用されているか否かを示すマークを含む、前記データワードを記憶せしめるステップと、b)前記データワードがリスト内に配置されており、該リストのそれぞれを所定数の前記レジスタに記憶せしめるステップであって、使用されているとのマークを有する前記レジスタに記憶されている前記リスト内のそれぞれの前記ワードの前記マーク部分が、前記リストの1つの少なくとも一部分が実際の前記レジスタに記憶されていることと、一部分、を該実際のレジスタに記憶されている前記リストが、それがどのような種類のリストであるのか、また前記レジスタ内の前記リストの配列のどこから前記リスト間の関係か明らかになるのか、についてのリスト命令を含むことと、を示している、前記ステップと、C)前記レジスタを制御し、かつ該レジスタに記憶されているリストに属する前記リスト命令を用いることにより、該リストを該レジスタ間において再配列し、前記リスト命令に従ってレジスタ内容を入力/出力するステップと、を含む。
本発明の構造演算処理用の演算装置は、a)データリストの入力および出力のための少なくとも1つの入力/出力手段と、b)それぞれがデータワードを記憶するようにされたいくつかのレジスタであって、それぞれのデータワードがマーク部分および情報部分を有し、該マーク部分が問題となっているレジスタが使用されているか否かを示すマークを含み、それぞれの前記リストが所定数の前記レジスタに記憶されつるようになっており、使用されているとのマークを有する前記レジスタのうちのそれぞれの該レジスタの前記マーク部分が、前リストの1つの少なくとも一部分が実際のレジスタに記憶されていることと、一部分を該実際のレジスタに記憶されている前記リストが、それがどのような種類のリストであるのか、また前記レジスタ内の前記リストの配列のどこから前記リスト間の関係が明らかになるのか、についてのリスト命令を含むことと、を示す前記いくつかのレジスタと、C)前記レジスタを制御し、かつ該レジスタに記憶されているリストに属する前記リスト命令を用いることにより、該リストを該レジスタ間において再配列し、かつ前記リスト命令に従ってレジスタ内容を入力/出力する制御装置と、2.前記レジスタ内に記憶されている前記リストを、リストの木であってそのリストの1つがルーツリストである該リストの木として配置する請求項1記載の方法。
を含む。
リストは、好ましくはリストの木として前記レジスタ内に配置され、記憶されており、その木のリストの1つはルーツリストである。別個の識別子レジスタ内の、記憶されたリストの木の識別子は、好ましくは記憶される。
記憶されたリストの木の環境は、別の環境レジスタに記憶されうる。前記水のルーツリストは、好ましくは、記憶されるべき前記実際の木のレベルに依存して異なったレジスタ内に配置される。あるレジスタは、1行の主レジスタを含むベースレジスタのマトリックス内に配置される。lレベルのみを含む木は、好ましくは主レジスタ内に記憶される。2レベルを含む木で、そのルーツリストを存するものは、好ましくは前記主レジスタ内に記憶され、そのブランチリストはベースレジスタ内に記憶される。補助レジスタと呼ばれる、余分のレジスタの組は、前記マトリックスの外に配置されつる。3レベルを含む木は、好ましくは前記補助レジスタ内に記憶され、そのエレメントの1つは、前記レジスタのマトリックス内に記憶される。
リストの木のルーツリストは、エレメントに分割可能であり、とのような種類のりダクションを行なうべきかに関する情報は制御手段によりルーツリストの第1エレメントから得られ、他のエレメントはリジュースされるべきデータを表わす。前記ルーツリストの第1エレメント内の情報は、どのような種類の命令を実行すべきかを推論するために#御手段により用いられる命令コードを含むか、または、前記ルーツリストの前記第1エレメント内の情報は、ファンクションの定義を表わすリストの木のルーツを含み、その情報はルーツリストをリジュースするために行なうべき動作を推論するために制御手段により用いられる。
前記ルーツリストの第1エレメント内の情報は、ファンクションの定義を表わすリストの木のルーツを含む。
■リスト内の最大ワード数は、好ましくは4である。
前記リストの木の最大深度は、好ましくは3レベルである。もし該深度が3レベルであり、もし前記レジスタ内に記憶されている前記ルーツリストのリスト命令が、該ルーツリストが1つまたはそれ以上のブランチを有することを示していれば、制御手段は該ブランチの■つだけをレジスタ内に記憶せしめる。
構造りダクションは、ペースレジスタ内、またはベースおよび補助レジスタ内、などのレジスタ内に配置されたデータオブジェクトに対して行なわれる。
前記レジスタのデータスタックは、好ましくはスライスされたように配置され、それによって、それぞれのデータスタック内の同じ位置を有するそれぞれのスタックビットエレメントは、全ての前記レジスタに属する全てのスタックエレメントを含む平面であって該レジスタが問題となっている平面上のスタックビットエレメントを有している前記平面内において、互いにビット毎に接続されうるようになっている。あるレジスタは、他のものより長いスタックを有するので、ある前記平面は、長いレジスタに属するスタックビットエレメントのみを有する。
ペースレジスタと名づけられている少なくともいくつかのレジスタは、Nをある整数として、NXNレジスタのマトリックスにおける、行および列をなして配列されている。前記ペースレジスタのスタックエレメントは、ビット毎に相互接続されている。前記ベースレジスタスタック内のそれぞれのビットにおいて、それぞれの列に対しては列ワイヤが備えられ、それぞれの行に対しては行ワイヤか備えられ、同じ行および列番号を育する前記列ワイヤと前記行ワイヤとの間のそれぞれの交点には、制御可能なスイッチが備えられている。それぞれのペースレジスタは、少なくともその最も近い行ワイヤおよび列ワイヤによる、制御可能なレジスタ接続を有する。接続は、前記行に沿ってと、前記列に沿ってとの双方における、相隣るベースレジスタ間に設けられる。制御手段か、$JI(ill可能スイッチおよび制御可能なレジスタ接続を制御し、実行されるべき命令の種類に依存して、少なくとも3種類の接続、すなわち、a)1つのレジスタからもう1つのレジスタへの簡単な接続と、b)レジスタ間における、いずれの方向にも1つずつの、2つの別個の接続と、C)レジスタ間における時間多重接続であって、2つの相次ぐ位相において、記憶されているリストエレメントが1方向および他方向へ移送される前記時間多重接続と、の1つを行なう。
レジスタスタック内のそれぞれのセルは、好ましくは、a)内部1ビツトレジスタと、b)該1ビツトレジスタに接続可能な、少なくとも1つの内#1ワイヤバスと、C)少なくとも1つの内部的な、制御可能な接続であって、それぞれか、前記少なくとも1つの1ワイヤバスの1つを、以下の素子、すなわち前記セルの外部のバス、前記レジスタスタックのもう1つのものに属するセルの1つ、の一方に接続可能ならしめる、前記制御手段によって制御可能なスイッチを含む、前記接続と、を含む。少なくとも1つの内部1ビツトレジスタは、インバータなどの人力バッファ手段と、インバータなどの出力バッファ手段と、該バッファ手段間に接続された制御可能スイッチと、を含む。前記入力バッファ手段および前記出力バッファ手段は、制御可能スイッチにより、別個に前記少なくとも1つの内部!ワイヤバスに接続可能である。
前記レジスタの位置に依存して、レジスタセルのあるものは、前記内部レジスタに対する前記接続の1つではない、少なくとも1つのその内部接続に固定的に接続された固定値を育する。
前記部分レジスタ内の内容を比較するために比較器が接続され、比較結果を、アクセスと呼ばれる外部バス内のワイヤへ供給する。
図面の簡単な説明本発明のさらに完全な理解のため、また、本発明の他の諸口的および諸利点の理解のためには、添付図面と共に以下の説明を参照されたい。添付図面において、第1図は、本発明のコアセルを含むリダクションプロセッサの構造を概略的に示し、第2A図は、セルクロジャーを記憶しうるストレージセルの実施例を示し、第28INから第2D図までは、本発明のコアセルの実施例内に使用されつるコアレジスタを示し、第2E図は、コアセルの実施例内のコアレジスタの可能な配置を示し、第3A図から第3F図までは、本発明のコアセル内における異なるデータストレージの形式を示し、第4図、第5図、および第6図は、本発明のコアセルの動作の例を示し、第7図は、本発明のコアセル内における、第1形式の動作平面の第1実施例のブロック図を示し、第8図は、第7図に示されている第1形式の動作平面に対する、全ての形式の可能な接続を有する完全なレジスタセルの設計の実施例を概略的に示し、第9AINから第9F図までは、レジスタセル内において使用されるべき、異なる種類の成分の例を示し、第1θ図および第11図は、第7図に示されている第1形式の動作平面内における、異なるレジスタセルの概略的設計を示し、第12図は、本発明のコアセル内における、第2形式の動作平面(属性平面)の第1実施例のブロック図を示し、第13図から第15図までは、第12図に示されている第2形式の動作平面内における、異なるレジスタセルの概略的設計を示し、第16図および第17図は、レジスタ間の転送の2例を概略的に示し、第18図から第24図までは、コアセル内におけるデータ移送の異なる例を示し、第25図は、本発明のコアセル内における第1形式の動作平面の第2実施例のブロック図を示し、第26図は、動作平面内のレジスタセルの@2実施例の設計を概略的に示す。
実施例の説明第1図において、コアセルは、単一のりダクションプロセッサ、すなわち、もっと複雑なりダクションプロセッサの一部分として備えられうる比較的に簡単なりダクションプロセッサ、の実施例内に含まれているように示されている。このリダクションプロセッサの概略的構造は、第1図から明らかである。しかし、その構造は、極めてさまざまなものでありうることに注意すべきである。
例えば、コアセルの異なる平面は、1チツプ上に並べて配置することもでき、または、平行ではあるが異った層内に配置することもでき、この場合には概略的に図示されているようになる。
第1図の単一のりダクションプロセッサは、いくつかのコアレジスタ3pを含むコアセル2pと、それぞれがセルクロジャーを記憶することができ且つまた好ましくはりジュース用演算の限定された組を与えつる、複数のメモリストレージセルを含むオブジェクトストレージ4pと、もし第1図の単一リダクションプロセッサが、いくつかの単一リダクションプロセッサを含むもっと複雑なりダクションプロセッサの一部分ならば、多重プロセッサ間の通信を実現するためのプロセッサ回路網のデータ転送手段5pと、を含む。データ転送手段5pは、セルクロジャーを他の単一プロセッサへ転送するために、そのセルクロジャーを一時的に保持するようになっているいくつかのレジスタを含む。転送手段5pは、本発明の実際のコアセルの一部分ではないので、これ以上それについては説明しない。
制御装置前記プロセッサはさらに、コアセル2p内のエレメントを制御するための制御装置6pを含む。さらにそれは、数値ALU lpを含む。制御装置6pは、論理ゲートアレイであり、コアセルにより操作されるべきクロジャーの内容により制御される。制御装置6pも数値ALUlpも、本発明の一部分ではない。従って、これらは詳細には説明せず、これらへの、またこれらからの信号のみを、以下に実施例と共に説明する。制御装置の設計に関するこれ以上の情報については、Carver MeadおよびLynn Conway著のテキストr Introduction to VLSISystemsJ 、Addisoo Wesley Publishing Company、 1980を参照されたい。
オブジェクトストレージコアレジスタは、オブジェクトストレージ4pから導かれる構造を含む。オブジェクトストレージは、■レベル構造、すなわちセルクロジャーのみを記憶しつる。コアレジスタは、ルベル構造、すなわちセルクロジャー、を転送するのに十分な広さのバスにより、オブジェクトストレージに接続されている。しかし、コアセルは、3レベルのオブジェクト構造まで内容として含みつる。4つの場合が存在する。すなわち、0,1.2、または3レベルのオブジェクト構造がコアセル内に記憶されつる。
以下に説明されるように、もし3レベルのオブジェクト構造が記憶されるとすれば、その頂部レベル(ルーツ)およびそのブランチの1つのみが記憶される。そうでなければ、全てのレベルが記憶される。
コアセル構造コアセルは全体として、い(っかのコアレジスタ3pを含存する構造演算のための演算装置である。コアレジスタは、リストの木を記憶する。それぞれのリストは、ワードを含む。レジスタのあるもの、限定的レジスタ、はそれぞれエレメントワードを記憶し、エレメントワードはナムワードおよびタグワードを含む。タグワードは、ナムワードの表示の特徴を示す。例えば、もしナムヮードが値を表わす場合は、タグワードはナムヮードに含まれる値の種類、例えばそれが整数であるか、または浮動小数点数などであるか、を示す。コアセルは、それが備えているレジスタの数による、ある長さのリストを一時に処理しうるのみである。リストを記憶するために用いられるレジスタの数は、好ましくは4であり、これは記憶されるリストが4エレメントまたはそれ以下を有しうろことを意味する。例えば、レジスタは、32ビツトを占有するナムワードと、6ビツトのタグワードとを含みうる。この場合には、4エレメントを存するリストは、好ましくは38ビツトの4倍を占有する。
しかし、任意の長さのリストも取扱われつる。しかし、その場合はそれぞれのそのようなリストは、それぞれがコアセル内において処理されるべき最大の長さに一致するか、またはそれよりも短い長さを有するいくつかのリストに、分割されなくてはならない。コアセルは、ある深度の木を一時に処理しつるのみである。
もっと大きい深度を有する木も処理されうるが、限定された深度を有する木の一部分のみが、一時にコアセル内に記憶される。
すなわち、木の一部分を一時に処理しつるのみなのである。
固定された数のレジスタが、リストを記憶しつる。使用されないレジスタは特に不使用としてマークされる。
リストの木は、計算を制御し、また行なうために用いられ、これは、制御装置6pからのms下において、もし必要ならば数値ALU tpと協働して行なわれる。計算は、リストの水内の内容を書直すことによって行なわれる。
インタフェース二オブジェクトストレージーコアセル好ましくは連想メモリであるオブジェクトストレージ4pと、コアセルとは、信号適応を行なう変換インタフェース9pと、クロジャーの広さのバス8p、すなわち、レジスタ平面NUMに接続された部分的バス0BJv(垂直オブジェクトバス)と、レジスタ平面HEADに接続された部分的バスTAGとを含むバス、従ってルベル構造を転送しつるバスと、により相互接続されている。インタフェース9pは、クロジャーの広さのバスOBJ 8pを経てのコアレジスタ3pからの信号を、オブジェクトストレージ内のストレージセルに対して適する信号に、増幅して変換する。それはまた、読取り動作におけるオブジェクトストレージからの信号を、コアセルレジスタに対し適合するように、増幅して変換する。
このインタフェースは、オブジェクトストレージ4p内に配置されているように示されているが、それは代わりにコアセルと共にも配置されつる。しかし、インタフェース9pは、本発明のコアセルの一部分とみなされるべきものではないので、ここでは説明しない。
コアセル平面第1図から明らかなように、コアレジスタは、平面NUM、HEAD%BOOLSTYPE、LAZY。
CLO3/S IMPLEとして図示されているいくつかの部分に分けられている。異なる部分は、異なる数の平面を含む。第1図には、読みやすくするためにわずがな平面のみを示した。以下においては、TYPE、WHERE、LAZY、およびCLOS/S IMPLEの諸平面は、属性平面と呼ばれる。
ナムワードはレジスタ平面NUM内に記憶され、タグワードはレジスタ平面HEAD内に記憶されうる。例えば、32のNUM平面と6HEAD平面とが存在しつる。
第1図に示されているプロセッサの実施例においては、例えば、5つのレジスタ平面TYPEと、1つのレジスタ平面WHEREと、2つのレジスタ平面LAZYと、1つのレジスタの平面CLO3/S IMPLEと、が存在する。これらの平′面内のコアレジスタ部分に与えられるべき情報は、以下の説明において明らかにされ、そこでは、コアセルの動作も説明され、それは、該情報の実際の説明の前に行なわれる。
コアセルの動作コアセルの発展の背景を与えるために、本発明のコアセルの実際の発展以前に発展せしめられ、我々の同時係属出願第・・・号にさらに説明されている、特定のオブジェクトストレージ4pの説明を参照する。しかし、本発明の構造演算用演算装置はまた、もっと通常の種類の計算およびストレージ装置にも接続されうろことに気づくべきである。コアセルは構造演算のみを行なう装置であること、およびそれは数値演算を行なうためには数値演算装置(数値ALU)を利用すること、に注意すべきである。通常は、プロセッサは、数値演算と構造演算部分との双方を行なう演算論理装置(A L U)を備えており、この従来技術のALUは、構造および数値演算のためにどのようにも相異なる機能部分に分割されていない。
従来のALUを使用する時に、コアセル内において行なわれる構造演算と同等の演算を行なうためには、小さいプログラムが必要である。
オブジェクトストレージの能力オブジェクトストレージ4pは、通常のRAN形メモリよりも実質的に多くの知能を存する。それは連想的であり、通常のRAN形メモリによって提供される[読取りJおよびr書込みJよりも多くのサービスを提供することができる。
オブジェクトストレージはストレージセルに分割されており、そのそれぞれはいくつかのストレージエレメントを含む。提供されるサービスは高レベルのものである。
例えば、それは、ただ1つのメモリ命令を用いることによって、特定のデータエレメントの全ての存在を、個々のストレージセル内のいかなる場所にあったとしても発見し、その発見された特定のデータエレメントを広域的に、すなわちオブジェクトストレージ全体の中で、新しい値に書直すことができる。オブジェクトストレージは連想的なものであるから、この書直しの動作は、影響を受けるストレージセルの数に関係なく、物理的メモリサイクルの2サイクルによって行なわれつる。
ストレージセルストレージセルの実施例は、第2A図に示されている。
それは、2種類のクロジャーエレメントを記憶することができ、記憶されるべきエレメントに特に適するストレージフィールドを含む。第2A図においては、これらのフィールドは、それらの中に記憶されるべきエレメントと同じ名称を与えられている。
第1種のクロジャーエレメント第り種のエレメントは、ストレージセルの相異なる状態を記述する。この種類の1つのエレメントはLAZYであり、これは、そのセルが、セルの残余の内容が受動的情報であるexec tであるとみなされる、すなわち、実行可能な状態にある場合の、アイドルにあるか、またはウェイトにある、すなわちセルの評価が延期されていて、それが実行されうる前に結果を待ちつつある、かを示す。もう1つの第1種のエレメントはTYPEであり、これは形式コード(par、seq、apply。
1istSunifなど)を含む。これらの第1種のエレメントは、平面LAZY、WHERE、およびTYPE内に備えられたコアレジスタの部分内に記憶されるようになっている。しかし、コアセルには、CLO3/SIMPLEと呼ばれる余分の平面も備えられ、そこには、レジスタ内の情報がクロジャーであるのか、または単純な値であるのかが示される。応用によっては、他の平面も備えられつる。
第2種のクロジャーエレメント第2種のエレメントは、識別、環境、または値を記述する。これらは、IDENT IF IER。
ENV IRONMENTSVALUE/DESであ6゜これら第2種のエレメントは、平面HEADおよびNUM内に備えられたコアレジスタの部分内に記憶されるようになっている。これらのエレメントはそれぞれエレメントワードを含み、エレメントワードは、コアセル内に平面NUM内に記憶されるべきナムワードと、コアセル内の平面HE A D内に記憶されるべきタグワードとに分割される。応用によっては、他の平面も備えられうる。
タグワード第2種のクロジャーエレメントはそれぞれ、ナムワードの特徴を示すタグワードを有する。タグには2種類、間接タグ、すなわち識別子および環境に用いられるタグと、直接タグ、すなわち単純な値などに用いられるタグと、が存在する。間接タグの例は、els、canon。
およびopenである。もしタグワードがclsであれば、それは、ナムワードがリジュース可能なりロジャーを表わしていることを意味する。もしタグワードがcanonであれば、それは、ナムワードか、それ以上リジュースされえないクロジャーを表わしていることを意味する。もしタグワードがopenであれば、それは、ナムワードが、クロジャーが挿入されたリストであることを表わしていることを意味する。直接タグの例は、discrScontSunused、およびnothingである。もしタグワードがdiscrであれば、それは、ナムワードが整数であることを意味する。もしタグワードがcontであれば、それは、ナムワードが浮動小数点値であることを意味する。もしタグワードがunusedであれば、それは、ナムワードが意味を欠いていることを意味する。
もしタグワードがnothingであれば、それは、ナムワードが何も表わしていないこと、すなわち、何もマークされていないフィールドを含むクロジャーの統合は、何も生じないことを意味する。応用によっては、他の間接的または直接的タグワードも用いられうる。
識別子もしストレージセル内の識別子フィールドが識別子エレメントを含んでいれば、そのストレージセル内のセルクロジャーは、コアセルへ転送されつる。ストレージセルフイールドVALUE/DESは、それぞれ他のセルクロジャーを示す識別子を含むことができ、それによって、この他のセルクロジャーへのリンクを与える。記憶されているクロジャーの集められたものは、方向性グラフ、または識別子によって結合されたセルクロジャーの木とみられうる。
環境フィールドは、回路網部分、すなわち、クロジャーの環境を与えるクロジャーの木、におけるルーツクロジャーを示す識別子を含みつる。しかし、環境フィールドは、他の用途をも有しつる。環境は、構造のクリエータ(creator)のトラックを、クリエートされた全てのセルクロジャーの環境内にそのクリエータの識別子を記憶することにより、保存するために使用されうる。例えば、内部の同じ名称を有する全ての記号が同じものを表わすベき部分木(5ubtree)内の全てのクロジャーセルは、同じ環境を有することによりグループを形成しうる。このようにして、構造全体は、1回の動作のみにより、木の中の1クロジヤーから、ルーツを経て、アクセスされうる。環境は、コアセル内において行なわれる動作に影響を与えず、本発明の一部をなすものではないので、これ以上それについては説明しない。
このようにして、もしクロジャーの環境が与えられれば、この環境内のルーツクロジャーが見出される。環境のルーツクロジャーは、そのストレージセル内のフィールドWHERE内に特定のマーク(例えば「IJ)を備えている。環境のノードクロジャーは、フィールドWHERE内に、他のマーク(例えば「OJ)を備えてコアセルの実施例内において使用されつるレジスタは、第2B図から第2D図までに示され、コアセルの実施例内において使用されうるレジスタの配置は、第2E図に示されている。
第2B図には、レジスタが示されている。この図は、レジスタがレジスタセルから構成されていることを示しており、それぞれのセルは1ビツトの情報を記憶することかできる。レジスタの描き方は、レジスタがコアセル内の相異なる平面を貫いて延長し、それぞれのレジスタセルが1平面内にあることを示している。
第2C図は、コアセル内の全平面を貫いて延長するレジスタ、すなわちフルレジスタを示す。この種類のレジスタは、NUMおよびHEAD平面内に位置するレジスタセル内に識別子または値を保持しつる。それはまた、BOOLSTYPE、WHERE、LAZY、およびCLO3/S IMPLEの諸子面内に位置するレジスタセル内に、前述の状態を保持する。
第2D図は、コアセルのNUMおよびHEAD平面のみを貫いて延長するレジスタ、すなわち限定的レジスタを示す。
第2E図は、コアセルの実施例内におけるレジスタの可能な配置を示す。このコアセルは、好ましくはペースレジスタマトリックスと呼ばれる、正方形をなして配列されたペースレジスタを有する。これらのレジスタは、その辺の一方に沿った、主レジスタと呼ばれる主要行を有する。ペースレジスタの列は、副レジスタと呼ばれ、それぞれ底部に1つの主レジスタを有する。コアセルにはさらに、識別子レジスタおよび環境レジスタが備えられつる。ペースレジスタマトリックスの側部には、1列の補助レジスタが配置されている。
コアセルの実施例において、主レジスタ以外の全てのペースレジスタは、第2D図に示されている種類のもの、すなわち限定的レジスタでありえ、第2E図の残余のレジスタは、第2C図に示されている種類のもの、すなわちフルレジスタでありうる。
コアセルのハードウェア構造のさらに詳細な説明の前に、第3A図から第3F図までを参照しつつ、さまざまなデータのストレージ形式の簡単な説明を行ない、また、第4A図から第4H図まで、第5A図から第5G図まで、および第6A図から第6G1gまでを参照しつつその動作のいくつかの例を与える。
単純な値第3A図に示されているように、リダクションの結果である単純な値25は、主レジスタのうちの特定レジスタ内に置かれる。
ルベル構造目標とは、リジュースされるためにコアセル内にロードされるもののことである。第3B図に示されているように、通常は他のセルクロジャーに対する関連のないクロジャーである、ルベルのみを含む目標は主レジスタ内に記憶される。例は、簡単な数値演算、すなわち値1.2、および3の加算を示す。数値命令(+)は第1主レジスタ内に記憶され、処理されるべきエレメントは他の主レジスタ内に記憶される。
2レベル構造第3C図に示されているように、2レベル構造を含む木は、主レジスタ内に水平に記憶された、親であるルーツリストと、ペースレジスタ内に垂直に記憶された、子であるリストと、を有する。この例においては、リスト表示((12) (34))を有する構造は、ペースレジスタマトリックス内に記憶されている。ルーツリスト、すなわちサブリスト内の第1エレメントであるlおよび3は、主レジスタ内に記憶され、子リスト、すなわち(12)および(34)は副レジスタ内に垂直に記憶されている。この種類のストレージのその他の例は、以下に、例えば第4図に関連して与えられる。
3レベル構造第3E図に示されているように、3レベル構造を含む目標の木のルーツは、補助レジスタの1つに記憶され、またその単一の子は、主レジスタ内に記憶される。
第3D図において、目標の木の、命令のトランスポーズ(Tr)であるルーツは、補助レジスタの1つに記憶され、リスト(xd+、tdt、1dt)であるその子は、主レジスタ内に記憶されている。このリスト内のそれぞれのエレメントは、子を示す識別子である。第3E図において、これらの子はペースレジスタ内に垂直にロードされており、そこではid+は、それが示すリスト、すなわち(123)と交換されており、またそこではid2は、それが示すリスト、すなわち(111213)と交換されており、またそこではidyは、それが示すリスト、すなわち(212223)と交換さ第3F図に示されているように、バイブラインモードで記憶される木は、主レジスタ内に目標リストをロードされ、また補助レジスタ内に目標の親をロードされ、その処理されるべき命令およびエレメントは、双方の種類のレジスタ内に記憶される。バイブラインモードの動作は、好ましくは、数値表現をリジュースする時に用いられる。1つの利点は、中間結果が、オブジェクトストレージの代わりにコアセル内に一時的に記憶されうること第4A図から第4H図までに示されている第1例は、リジュース可能なりロジャーunify(par(I par (1) 3)par (I par(1) 2) )として与えられた並列値の単一化である。このリジュース可能なりロジャーは、単一化の並列構造として書き直されるべきものである。
第4A図は、最初のりジュース可能なりロジャーを示す。第4B図は、このリジュース可能なりロジャーが、とのようにオブジェクトストレージ内に記憶されるかを示す、FJA図には、リジュース可能なりロジャーの異なる部分が記憶されるストレージセルが区画されている。
第4B図には、エレメントクロジャーと、セルクロジャーとの間のリンクが区画されている。識別子id+を有するセルクロジャーは、タグclsを有し、かつタイプフィールド内にタイプコードunifyを存しており、識別子idz、s d 2 、およびicLを有するセルクロジャーは、それらのタイプフィールド内にタイプコードparを有している。識別子id+を育するセルクロジャーは、その最初の2つの値/指示クロジャーエレメントとして、識別子id、およびid4を有するセルクロジャーへの指示を含む。これらのセルクロジャーのタグはキャノンとなっている。識別子idzを育するセルクロジャーの、第1および第3の値/指示クロジャーエレメントは、タグdiscrをもった離散値を有し、また、その第2値/指示クロジヤーエレメントは、識別子tdzを有するセルクロジャーを指示し、従ってタグcanonを存する。識別子idsを有するセルクロジャーの第1値/指示クロジヤーエレメントは、整数を与えられているので、タグdiscrを有する。識別子id4を有するセルクロジャーの、第1および第3の値/指示クロジャーエレメントは、タグdiscrを有する離散値を与えられ、また、その第2値/指示クロジヤーエレメントは、識別子xdxを有するセルクロジャーを指示し、従ってタグcanonを有する。
第4C図に示されているように、識別子id+を存するセルクロジャーをもつストレージセルの内容が、まずコアセル内にロードされて、その識別子がクロジャーのタイプコードunifyを含めid、として識別子レジスタ内に配置され、また、第1動作ステップにおいて、目標としての値/指示エレメントが主レジスタ内にロードされる。これが実際にどのように行なわれるかは第18図に示されており、さらに以下に説明される。
第4D[に示されているように、識別子id2およびidtを存する子は、それらの第1値/指示エレメントの内容か、その識別子によりマークされている主レジスタ内に配置されるように、ペースレジスタ内に垂直にロードされ、また、その値/指示エレメントの残余のものは、その上の垂直列内のレジスタ内にロードされる。これらの子のそれぞれの、タイプコードparもまた主レジスタ内にロードされる。タイプコードは、TYPE平面内に位置するレジスタセル内にロードされる。
第4E図に示されているように、ペースレジスタの第1垂直列内の内容が主レジスタ内に配置され、第2垂直列が主レジスタに平行なペースレジスタの行内に配置されるように、ペースレジスタの内容は90°トランスボーズされる。トランスポーズ動作は第23図に示されており、以下においてさらに説明される。識別子レジスタと、主レジスタとに与えられているタイプコードのparとuntfyとは交換され、これは制御装置によって自動的に行なわれる。ここで、ペースレジスタは、諸列内に配置された3つの子を有する親を含む。それぞれの子は、ここで、命令makeを用いて目的ストレージ内ヘロードし返される。オブジェクトストレージからの応答として、記憶された子に対する識別子が、主レジスタへ供給されて記憶される。一種のゲートアレイである制御装置6pが、特に諸レジスタの平面CLO3/S IMPLEからTYPEまでの中の内容を検出して命令を行なう、すなわち、そこに見出されたfIl?に従ってスイッチおよびゲートを制御することを知るべきである。
子は、id+以後のシーケンスの順に命名され、既に6存されている名称は用いられない。しかし、名称の順序は重要ではなく、従って任意でありうる。
第4F図に示されているように、第1子は識別子idzを得、識別子fdtを6育しているエレメントクロジャーを含存する第2子は、識別子id4を得、第3子は識別子idsを得る。識別子idz、ida、idsを有するセルクロジャーにリンクしたエレメントクロジャーを有する親は、その識別子id+を保持し、次にオブジェクトストレージ内に記憶される。
第4G図は、リジュース可能なりロジャーpar(unify(11)unify(par(1) par(1))unify(23))を記憶しているストレージセルを示す。このリジュース可能なりロジャー自体は、第4H図に示されている。第4G図および第4H図は、第4A図および第4B図と同様に示されており、従って自己説明的になっている。
第4G図にはまた、タイプコードunifyを有するセルクロジャーが記号execをLAZYフィールド内に与えられ、識別子id+を有するセルクロジャーが記号wa i tを与えられていることが示されていて、これはexecとマークされたセルクロジャーが、それらの内容を値にリジュースするために、識別子xd+により示されているセルクロジャー以前に実行されるべきことを意味する。第4HrMのクロジャーは、さらに処理を受けるために、後の時点に、コアセル内ヘロードし返されつる。例えば、識別子id2を有するセルクロジャーは、その値/指示エレメント内の値lおよびlが同じであるために、値lを有することになり、識別子1d、を育するセルクロジャーは、その値/指示エレメント内の値2および3が同じでないために、無(nothing)を与える。
それぞれの単一化は、数値ALUにおいて行なわれ、数値ALUは前記値を比較器において比較し、その比較の結果を制御装置6pへ供給する。制御装置はそこで論理ゲートアレイをセットして、それによりコアセルの第1主レジスタ内の情報を供給する。リダクションの結果、カノニカルな指示または単純な値が得られるか、または何も得られなければ、それは、リジュースされたクロジャーへのそれぞれの間接的指示が、値の直接的指示に変えられるように、第2種のエレメントクロジャーを記憶するよう動作しうるオブジェクトストレージ内の全てのストレージフィールドに対し全体的に分配される。これは、第21図に関連して以下にさらに説明されるunify−id動作によって行なわれる。
例2この例は、セルクロジャーが挿入されたリストを含むことを意味する、ハードウェア命令1ist expansionである。この種の命令は、他のりダクションの補助ステップである。ハードウェア命令の1ist eXpansionは第24図に示されており、第24図に関連してさらに説明される。
機械は、ex、typeと呼ばれる例示的命令のりダクションを行ない、該命令は、ex、type(11ist(231ist(456))?)の形式を有する値およびリストを含む任意の種類の命令でありうる。この形式は第5A図に示され、そのセルクロジャーは第5B図に示されている。第5A図および第5B図は、第4A図および第4B図と同様に区画されており、従って自己説明的になっている。
第5C図に示されているように、識別子td+を存するセルクロジャーは、識別子およびタイプコードを識別子レジスタ内に有するコアセルの主レジスタ内ヘロードされる。第2主レジスタの内容は間接的エレメントopenによりマークされているので、それがリンクされているセルクロジャーは、第5D11から明らかなように、ペースレジスタ内に垂直に子としてロードされる。
第24図にさらに詳細に示されているハードウェア命令1ist expandは、次に第3主レジスタ内の離散値7を、第3ベース列内のidaの隣りの位置へ移動せしめ、第2主レジスタの上の第2列内のリストの部分を第3列へ移動せしめてその最下部エレメント(値3)を第3主レジスタ内に配置し、それにタイプコード1istを与える。
次に、新しいリスト展開が行なわれ、主レジスタの上の第3列内の内容が第4列内に配置されて、タイプ1istを与えられる。離散値である第3主レジスタの内容は、第5F図から明らかなようにタグdiscrを与えられる。
次に、命令makeを用いて、第4列内のリストがオブジェクトストレージ内に記憶される。それは、識別子id2を有するストレージセル内に記憶される。そのわけは、それはアイドルになっており、第5G図から明らかなように、識別子idtの供給は、第4主レジスタ内に記憶されるべきコアセルへ送り返されるからである。
この後、リダクションの結果がオブジェクトストレージ内ヘロードし返される前に、いくらかの他の種類のりダクションがex、typeについて行なわれる。
例3数値命令が実行される。数値命令は、+、−、ネ、/、mod、などでありうる。命令の後には引数が続く。この例においては、リスト内の数の間の加算が行なわれる。
機械は、ファンジョンappty (+ 1ist (12))を有するapply(application)のりダクションを行なう。
app l ica t i onは第6A図に示され、そのセルクロジャーは第6B図に示されている。第6A図および第6B図は、第4A図および第4B図と同様に区画されているので、自己説明的になっている。
よびタイプコードを存するコアセルの主レジスタ内ヘロードされる。数値命令(+)は命令としてマークされている。第2主レジスタ内の内容は間接的エレメントopenとしてタグされているので、それがリンクされているセルクロジャーは、第6D図から明らかなように、子としてペースレジスタ内に垂直にロードされる。
次に、リスト展開が行なわれ、第2主レジスタ内の離散値にdiscrのタグが与えられ、リスト展開された値2に対しタイプコードフィールド内に1istのマークが与えられる。これが行なわれるわけは、識別子icLを有するリストが、2.3、または4エレメントのいずれを存していたとしても機械は同じ動作をするからである。新しいリスト内にはlエレメントしか存在していないので、第6F図から明らかなように、機械は、マーク1istを、主レジスタがdiscrである値を含有する旨の表示で置換する。
その時、主レジスタは、命令マーク(+)と2つの離散値とを含み、これは制御装置をして、直接的に、または例えば、命令が記憶されるオブジェクトストレージの非書込み可能部分に記憶されている命令に関する情報によって、数値ALUを#御して命令(加算)を行なわしめ、その数値演算の結果をカノニカル値として、第6G図に示されているように第1主レジスタへ送らしめる。
タイプコードフィールド内の記号appiyは、ファンクションapplicationが行なわれるべきことのマークである。この場合は単純な値3である結果の値は、識別子id+の全での存在をこの値に交換するために、広域的に分配される。
コアセルのハードウェア構造平面NUMおよびHEADのレジスタセルは、平面2pとインタフェース9pとの間において、バス0BJv。
idババスなわち識別子バス、およびenvバスすなわち環境バス、内のワイヤに接続されている。OB J v /<スは、バス部分vO1vl、v2、およびF3を含む。
他の諸平面の目的および接続は、以下に後述される。
このようにして、コアレジスタセルのアレイは、諸レジスタに垂直に諸平面内へrスライスJされ、同じNUMまたはHEAD平面に属するが、異なるコアレジスタに属するレジスタセルは、第7図に示されているように互いに接続されている。
第7図に示されている少なくともNUM平面およびHEAD平面の構造内には、NXN個のレジスタS o、 。
から5N−1+N−1までのマトリックスをなして、レジスタセルの正方形か配置されている。、二のマトリックス内のレジスタはペースレジスタと呼ばれ、レジスタセルはペースレジスタセルと呼ばれる。
ペースレジスタは多くの応用において、一時記憶クロジャーエレメントとして用いられる。レジスタの表示は、ペース、主、および補助レジスタのような表示の1つの種類か、説明がレジスタの実際の位置に関する時に使用され、子、目標、および親レジスタのような表示のもう1つの種類が、説明がレジスタの機能に関する時に使用されるという意味において、厳密に区別されている。
図示されている実施例においてはN=4であり、これは好ましいものではあるが、マトリックスの、他の大きさも選択可能である(図示はされていない)。第7図に示されているように、最下行のペースレジスタセルS0゜、S、。、Sl。
、およびS3゜は、平面に特有のバスho内の線に接続されており、これらは主レジスタセルである。主レジスタセルS、。、Sl。、S、。、およびS z、 oは、目標ルーツレジスタとして最も頻繁に使用され、導体NUOないしNU3から成るバスNUを経て、数値ALU ipに接続されている。
しかし、本発明の教示する所によれば、数値演算を必要としない簡単なプロセッサを用いることも可能である。
そのような場合には、数値ALU tpを省略することができる(第1図参照)。
識別子レジスタセルIDは線idに接続され、環境レジスタセルENVは線envに接続されている。
バス線hiは、iを0と3との間の数として、スイッチSW、、によりバス線viに接続されつる。バス線ho、hl、h2、h3を含むバスは、0BJh、すなわち水平オブジェクトバスと名づけられる。バス0BJhは、なかんずく、データをコアセル内において垂直に、すなわちレジスタの列内にロードするのに用いられ、そのデータは、オブジェクトストレージによりバス0BJvを供給される。これは、第20図に関連してさらに以下に説明される。
バス線id、env、vO,vl、F2、F3は、それぞれスイッチSW、、、、。s S W s * w、 k。、SWl。、S Wvl、bO,5Wvt、ho %およびSW*s、boにより、バス線hOに接続されつる。バス線C,,,C,,C,、およびCvを含むバスresは、制御装置6pに接続されており、レジスタに0などの定数をセットするのに用いられつる。バス線C+nは識別子レジスタセルに接続され、バス線CIはレジスタセルFO1Fl、F2、およびF3に接続されており、バス線C1はスイッチS W c b 、 h 。
によりバス線hOに接続可能であり、バス線Cvは、iを0と3との間の数として、スイッチSW、、c、によりバス線viに接続可能である。バスresはそのスイッチと共に、ある応用においては省略されつる(図示されデータの水内には、親と呼ばれる頂部レベルがある。
親は時々、第7図内に左方に配置されている補助レジスタセルFO1F1、F2、F3内に記憶される。図示されている実施例においては、全ての補助レジスタは、コアワードを記憶しうる。それぞれの補助レジスタセルは、バス線idと、バス線idに対して垂直に走るバス0BJh内の線hO1hl、h2、h3の1つにそれぞれ接続されている。補助レジスタセルは、コアセルが行ないつる動作の少数のものにおいて使用される。従って、補助レジスタは、本発明のコアセルのある応用においては省略されうる(図示されていない)。また、1列より多くの補助レジスタを有するコアセルを用いることも可能である(図示されていない)。
以上から明らかなように、それぞれのレジスタは、諸平面2p内において同じ位置を育する、いくつかの諸平面2p内のレジスタセルにより構成される。従って、第7図はそれぞれのレジスタの1セル、すなわち1ビツト、しか示していないが、全レジスタは第7図に用いられている符号を名称として与えられる。第7図がら明らかなように、レジスタは行および列をなして配列されている。
補助レジスタ領域FO,Fl、F2、F3は列であり、N個のペースレジスタ領域S0.。ないしSo、s、S+、sないしS 1.s 、St、oないしSo、s 、 オJ:ヒss、o ナイしS s、 sは、それぞれ列であって子を記憶しつる。
レジスタセル間の接続接続は、それぞれの平面内の隣接するペースレジスタセル間に、垂直方向および水平方向の双方において行なわれる。図示されている実施例においては偽fである固定的なプログラムされた値を有する接続もまた、オブジェクトストレージを利用する水平行上の最外部のペースレジスタセルのそれぞれに対してなされる。
それは、レジスタセル内のN端子(北)(第8図参照)に接続され、北−南方向におけるシフトが行なわれる時に用いられる。
トランスポーズ可能な位置が接続されるように、ペースレジスタセル間の対角線方向における接続も設定可能である。これは、iがjと異なるものとして、セルS1.1がセルS r、 +に接続可能であることを意味する。それぞれのペースレジスタセルは、最も近い右下方に位置するペースレジスタセルに接続されている。ただし、その位置にペースレジスタセルが存在しているものとする。それぞれの補助、識別子、環境、およびペースレジスタセルは、Xおよびyを0と3との間の数として、それぞれ出力ACC,,,ACC,,,ACC,、、、およびA CC、、、アにより、平面BOOLの1つに接続されている。
以下においては、平面NUMおよびHEAD内に存在すべき総称レジスタセルを説明する(第8図)。この総称レジスタセル内に用いられるスイッチおよびゲートの実施例は、第9A図から第9F図までに示されている。
この総称レジスタセルから、補助レジスタセル(第1θ図)および識別子レジスタセル(第11図)の実施例が得られる。
さらに以下においては、ATTRI BUTE平面内に存在すべきレジスタセルの実施例を説明する。第13図には、識別子レジスタセルが表示されている。第14図には補助レジスタセルが示され、第15図には主レジスタセルが示されている。
平面NUMおよびHEAD内の総称レジスタセル第8図においで、レジスタセルの実施例は、2つの内部バスa1およびす、と、中央レジスタrつとを含む。
バスa6およびす、lは、レジスタセルの外部のいくつかの接続に接続されている。第8図の実施例は、外部への全ての可能な接続を備えた総称レジスタセルを示している。通常は、特定のレジスタセルは、第8図に示されている全ての接続を備えてはいない。レジスタセルの配置により、1つまたはそれ以上を欠いている。接続された端子間の全てのワイヤは、第7図に示されている配線から明らかである。全てのレジスタセルが、第8図に示されている全ての外部接続を有するとは限らないことも、第7図から明らかである。従って、全てのレジスタセルおよびそれらの接続についての詳細な説明は行なわない。
バスa1バスam′は、スイッチSW、、および端子Vを経て垂直バス線VXに接続されている。ただし、Xは0と3との間の数である。さらに、それは、スイッチSW、Ilおよび端子Hを経て、yを0と3との間の数として水平バス線hyに接続され、また隣りのレジスタセル内のスイッチSW□ (東)に接続されている端子W(西)を経て左方のレジスタセルにも接続され、さらにもしレジスタセルが主レジスタセルならば、端子NUにより直接、数値演算袋(tipにも接続されている。バスamはまた、右下方のレジスタセルに、そのレジスタセル内に備えられたスイッチ5WDbへの端子り、を経て接続され、さらに、下方のレジスタセルにも、そのレジスタセル内に備えられたスイッチSW、(北)への端子S(南)を経て接続されている。本レジスタセルは、バスaXに接続されている端子CおよびSWCを経て、セットまたはリセットされうる。バスa、はさらに、スイッチSW、を経て中央内部レジスタr8の入力に接続され、またこスイッチSW、。を経て同レジスタrIlの出力に接続されている。
バスb、lバスb、は、スイッチSWtおよび端子Eを経て右方のレジスタセルに接続され、また、スイッチ5Wlllbおよび端子D1を経て諸レジスタセルの対角線にも接続され、さらにまた、スイッチSWNおよび端子Nを経て上方のレジスタセルにも接続されている。バスb11はまた、SW、、を経て中央内部レジスタr1の入力に接続され、さらにスイッチSW、。を経て同レジスタr、の出力に接続されている。
中央内部レジスタ中央内部レジスタセルは、好ましくはCMOSインバータである2つのインバータQlおよびG2と、それらの間の制御可能スイッチSW0とを含む。完全なレジスタセルはさらに、バスallおよびbえと、スイッチSW、、、SWl。、SW、、、SW、、と、このセルを外部に接続する諸スイッチと、を含む。中央内部レジスタrえの出力は、スイッチSW、、および端子Hを経、またスイッチS W voおよび端子Vを経て、それぞれ水平バスと、垂直バスとに接続されつる。中央内部レジスタrtは(以下に説明される)動的状態を記憶する。
スイッチの動作コア内の全てのレジスタセル内にある全ての制御可能スイッチは、例えばPAL (プログラマブルアレイロジック)などのゲートアレイを含む、制御装置6pに接続されたワイヤを経て制御される。このゲートアレイは、コアセル内に記憶されている情報を用いて、いずれのスイッチを開放し、次にいずれのスイッチを閉成すべきかを決定する。ゲートアレイの動作は、クロックにより同期せしめられる。スイッチは2方向性のものであるが、あるもの、例えば入力および出力スイッチSW□1および5WHOは、1方向においてのみ使用される。
比較装置COMP比較装置COMPは、第1NANDゲートGlを含む。
■入力はインバータQ1の非反転入力に接続され、他人力はインバータQ2の入力に接続されている。装置COMPはさらに、第2NANDゲートG2をも含む。1入力はインバータQlの出力に接続され、他人力はインバータQ2の出力に接続されている。ゲートGlおよびG2の出力は、平面BOOLの1つに至る1ワイヤバスACCに接続されている。双方のNANDゲートは、2つの直列接続されたMOS−FET)ランジスタによって構成され、それらの直列接続されたソース/ドレイン路は接地とBOOL平面との間に接続され、それらのゲートはNANDゲートの入力であり、最上部のMOS−FET)ランジスタのドレインは出力である(第9D図参照)。この比較装置COMPは、連想探索中、すなわちセルコア内のエレメントが、オブジェクトストレージ内または該セルコアの他部分内のエレメントと比較されるべき時に、用いられる。その時、比較されるべきエレメントは、さらに以下に説明されるように、比較すべきエレメントを含存するレジスタセルの入力に印加される。
インバータおよびスイッチインバータQ1およびG2は、エンハンスメント形の2つのMOS−FETトランジスタ(第9A図)によって、または第98INに示されているように接続された1つのエンハンスメント形および1つのデプレション形のMOS−FETトランジスタによって、または2つの相補形MO3−FET)ランジスタ(第9C図)によって、構成される。レジスタセル内の制御可能スイッチは、MOS−FET)ランジスタ(第9E図)によって、または第9F図に示されているように接続された(エンハンスメント形(EE MOS)の)2つの相補形MOS−FETトランジスタによって、構成されうる。制御装置t6pは、制御信号Cによりスイッチを制御する。第9F図かられかるように、スイッチは、より速い状態遷移を実現するためには、制御信号とその補数信号との双方によってυImされうる。
第8図の総称レジスタセルは、コアセル内の全てのレジスタセルの基本と見ることができる。すなわち、それらは同様に設計されうる。総称レジスタセルから得られるレジスタセルは、端子および付随する出力および入力スイッチの数によってのみ異なる。これらの得られたセルは、第8図に示されているセルと同じ参照番号を与えられている。
NUMおよびHEAD平面内のベースレジスタセルベースレジスタセルS、、。
、SO,l 、S、1、およびS8.、はスイッチSW、、および端子Dbをもたず、ペースレジスタセルS a、o 、S+、o s Sz、t 、Ss、sはDaC端子もたず、主レジスタセル(S 、、、からSs、。まで)はS端子をもたず、残余のペースレジスタセル(S=、+からS s、 sまで)はNU端子をもたない。いずれのペースレジスタセルもC端子をもたずまたSWcスイッチももたず−その代わりに、垂直および水平バスと、端子VおよびHとが、バス線CyまたはC2により供給される一定値によってレジスタセルをセットまたはリセットするのに用いられる。
NUMおよびHEAD平面内の補助レジスタセル第1O図に示されている補助レジスタセルは、yを0と3との間の数として、端子Hy、V、C1およびACCのみを有し、■端子はバス線IDに接続され、C端子はバス線C1に接続されている。
NUMおよびHEAD平面内の識別子/環境レジスタセ第11図に示されている識別子レジスタセルは、端子V、C1およびACCのみを育し、■端子はバス線IDに接続され、C端子はバス線CImに接続されている。環境レジスタセル(図示されていない)は、第1I図の識別子レジスタセルと同様のものであるが、この実施例においては、C端子およびSW2スイッチがない。他の実施例においては、環境レジスタセルは、C端子およびSWcスイッチを含みつる。
連想探索およびBOOL平面連想探索中においては、比較は、平面BOOLに至るアクセス配線およびバスに対して行なわれる。2つのANDゲートG1およびG2は、キー値、すなわちQlの入力上の比較されるべき記憶値である値と、G2の入力上の記憶値を比較する。この比較中に、キー値は、内部バスa、またはbつを経てQlへ転送される。スイッチSWoはその時オフ状態にある、すなわち開放されている必要がある。もし供給された値、すなわちキー値が、記憶値と一致しなければ、充電されたBOOL平面はNANDゲー1−GlおよびG2を経て放電せしめられる。
もし一致すれば、BOOL平面は充電された状態に留まる。
レジスタセル毎に1バス線ACCが存在する、レジスタ内の全てのバス線ACCは、並列に接続されて、平面BOOL内の同じバス線に接続されつる。あるいは、平面NUMおよびHEAD内に備えられている全てのレジスタセルのバス線ACCは、これらの平面のためのBOOL平面内のバス線に接続可能であり、ATTRIBUTE平面内に備えられている全てのレジスタセルは、同じBOOL平面内、またはATTRI BUTE平面のための第2BOOL平面内に備えられた別個のバス線に接続可能である。BOOL平面か1つ備えられるのか、2つ備えられるのか、およびバス線が■つ備えられるのか、2つ備えられるのかは、選択の問題であり、#纒装置6pに記憶される制御命令の形式による。2つより多(のBOOL平面の設置も、本発明の範囲内にある。備えられるBOOL平面の数は、連想探索の細分性、すなわち、行なわれつる異なる連想探索の数およびそれらが行なわれる程度、すなわち、関連しうるレジスタの諸部分、を指示する。
このようにして、比較は、BOOL平面内の同じバス線に接続されているレジスタの部分に対し同時に行なわれる。もし全てのNANDゲー)GlおよびG2が同じ出力(高レベル)を有すれば、比較の結果は「一致」となり、そうでない場合は、その結果は不「一致」となる。ただし、「一致」は、双方の情報片が同一であることを意味する。このようにして、平面BOOLはバス線に対する平面であり、仮想的な、すなわち「想像上の」平面とみなされつる。すなわち、バス線は、必ずしも平面内に備えられる必要はなく、直接制御装置6pに接続されつる。
ATTRI BUTE平面の構成ATTRI BUTE平面は、平面NUMおよびHEADとは異なる構成を有し、その構成は第12図に示されている。第7図におけると同じ参照符号が、同じ構成を育するエレメントに対しては用いられている。この種類の平面は、スイッチSW、。、SW、l、SW、、、およびSW、と、1つの識別子レジスタセルIDtと、4つの補助レジスタセルF Ot 、 F 1 ? SF 2 r 、 F 3 tと、主レジスタセルS0゜、S、、、 、S、、。、およびSl、。のみを含むペースレジスタユニットと、を含む。
このように、ペースレジスタマトリックスは、第7図に示されているレジスタ平面における同様に、スイッチSW、、、S Wv+、w s 5Wvz、b* s SWws、hoのそれぞれにより、それぞれのバス線vO1MISV2、v3に、またバス線hOに接続された主レジスタセルの行S0.。
からS8.。までのみにリジュースされている。iを0と3との間の数とするとき、バス線hiは、スイッチSW、、によりバス線viに接続可能である。しかし、l(ス線■0、vl、v2、v3は、平面NUMおよびHEAD内の同じ名称のバス線ではなく、インタフェース9pの他の入力に接続可能であり、従って、オブジェクトストレージ4pの他部分、好ましくはレージ−、ホエア、およびタイプの諸部分(第1図参照)に接続可能である。
別の方式においては、バス線vO1v1、v2、およびv3は、全くオブジェクトストレージ4pに接続される必要がなく、その代わりにバス線idを、オブジェクトストレージからの状態転送に使用することができ(第1図参照)、すなわちオブジェクトストレージ内のレージ−、ホエア、およびタイプが、コアセル内の対応平面内のバス線idに結合せしめられる。また、主レジスタセルの行S69.からSs、。までと、識別子レジスタセルIDTと、補助レジスタセルF07からF3.までとは、第7図に示されているレジスタ平面内におけると同様に、バス線CI4.Cf s Ck 、およびCvを含むバスresに接続されている。
そのほか、識別子レジスタセルID、の垂直列と、4つの補助レジスタセルF3ア、F2t、、Fly、およびFOTとが、バス線idに接続されており、バス線idはさらに、制御装置6pに至る第2バス線cont (第1図には示されていない)に接続されている。制御装置6pは、このバス上を転送されうる情報を用いて、行なわれるべきリダクションの種類を決定することができる。
第12図に示されている種類のレジスタ平面内のそれぞれのレジスタセルは、そのアクセスワイヤおよびバス線ACCのほかに、iを0と3との間の数または記号ID、FOからF3までとして、出力線SD、を有し、これは、問題となっている出力線に接続されているレジスタセルの状態を直接検査するのに用いられる。
ATTRI BUTE平面内の識別子レジスタセル第13図は、ATTRI BUTE平面内に存在する識別子レジスタセルTD、の実施例を示す。それは、4端子v、C0NT、s[)、 およびAcct−1rする。端子Vに接続されうる。端子C0NTは、スイッチS Wcastを経て内部レジスタrえの出力に接続されている。端子SDは、内部レジスタrRの出力、すなわちインバータQ、の出力に接続されている。端子Cはバス線C1dに接続される。
ATTRT BUTE平面内の補助レジスタセル第14図は、yを0と3との間の数として、ATTRI B U T E平面内に存在する補助レジスタセルFytの実施例を示す。識別子レジスタセルID、と比較すると、このレジスタは1つ余分な端子、すなわち端子Hを有する。端子Hは、yをOと3との間の数として、バス線hyに接続されつる。他の諸端子は、識別子レジスタセルI D tの対応する諸端子における接続と同様に接続される。端子Cはバス線CIに接続される。
ATTRT BUTE平面内の主レジスタセル第15図は、Xを0と3との間の数として、ATTRIBUTE平面内に存在する主レジスタセルS81.の実施例を示す。それは、6端子V、E、H,W、SD、およびACCを有する。端子SDは、内部レジスタr、の出力、すなわちインバータQ、の出力に接続されている。
他の諸端子は、NUMおよびHEAD平面内のレジスタセルの対応する諸端子における接続と同様に接続される。
いずれの主レジスタセルもC端子をもたず、またSWeスイッチももたない一代りに、垂直および水平バスと、端子VおよびHとが、バス線C7またはCkにより供給される一定値によってレジスタセルをセットまたはリセットするのに使用される。
スタンバイストレージモードスタンバイストレージモードループは、セル内に備えられたループの一方または双方により形成される。1つのループは、スイッチSW、。と、バスb、と、スイッチS W b+と、インバータQlと、スイッチSW0と、インバータQ2と、により形成される。もう1つのループは、スイッチSW、。と、バスamと、スイッチSW、、と、インバータQlと、スイッチSW9と、インバータQ2と、により形成される。一方または双方のループ内のスイッチが閉成されると、信号は2つのインバータQlおよびQ2を経て伝搬することができ、インバータQ1の入力における、またインバータQ2に出力における信号レベルは、安定する−これがセル内へのデータの記憶され方である。セルは動的状態を記憶する。
出力モード出力モードにおいては、Q2の出力は一方のバスa11またはblへ転送されることができ、そこから、適切なスイッチが制御されて、その出力を1つまたはそれ以上の出力端子(N、S、E、W、など)へ転送することができる。他方のバスb、またはa8は、任意のモードで使用されつる。もしSWoがオフ、すなわち開放、されていれば、インバータQ2の出力は安定している。すなわち、それはスイッチSW0が閉成されるまで変化しえない。インバータのこの出力は、閉成された時のスイッチSW、、を経てバスb11へ、閉成された時のスイッチSW、。を経てバスamへ、閉成された時のスイッチS W e II m lを経て出力contへ、さらに直接端子SDへ、転送されうる。バスb、およびak上の情報は、さらに以下において例によって示されるように、レジスタセルと問題にされる外部バスとの間に接続されたスイッチを制御することによってそのレジスタセルが接続されるそれぞれの外部バスへ転送されつる。
入力モード入力モードにおいては、1つのスイッチSW、、またはSWlがオン、すなわち閉成されている。従って、1端子(N、S、E、W、など)の状態が、局部バスa、またはbRへ転送され、さらにそこから中央内部レジスタr、lへ転送される。
転送コアセル内の任意のレジスタセルからコアセル内の他のレジスタセルへ、端子接続を経て、2位相サイクル中にデータを転送することができる。垂直、水平、または対角線方向における2つのペースレジスタセルのスワップは、3位相サイクル中に可能である。
スイッチSW0は、インバータQlおよび02間の転送が全コアセル内において同時に行なわれるように、主クロックにより直接に、かつレジスタ内の全てのセルにおいて同時にクロックされる。他の諸スイッチは、主クロックから得られる信号によって制御されるが、主クロックの同期内において異なった、適切な位相間隔に置かれる。主クロックは、コアセルの全ての動作に対する基準信号として用いられる。
クロックサイクルは、クロック位相0、a、および/またはbに分割される。位相0は、第1の拡張可能な位相、すなわち中央内部レジスタr、がスタンバイストレージモードにある時−データが安定している時、である。
位相aはバスa8からの移送中に用いられ、位相すはバスb、からの移送中に用いられる。
1方向転送、すなわちレジスタセルから、またはレジスタセルへ、のみの転送は、2位相クロックサイクル中に行なわれる。第1位相0は安定している。2位相クロックサイクルにおいては、位相aまたは位相すは、移送のために用いられる。
2方向転送、すなわちそれぞれの内容を交換するための2レジスタセル間での移送は、3位相クロックサイクル中に行なわれる。位相0は安定している。位相aおよびb中には、移送は異なる方向において行なわれる。
例えば2つの5位相を有する、3位相より多いクロックサイクルも本発明の範囲内にあることに注意すべきである。
スイッチS W、、およびS W、、は常態においては閉成されている。その時、双方の局部バスa11およびす、は、レジスタセルの記憶状態を保持している。内部バスa。
またはす、が、記憶されるべき新しい値の入力のために使用されるべき時には、適切なスイッチSW、、またはS W、、がそれぞれ開放されるべく1liIJIIIJされる。垂直または水平バスなどの外部バスの1つへのスイッチは、そのバス上の情報が内部バスへ転送されるためには十分に長い、短い間隔の開閉成される。
シフト回路網、すなわち諸端子に接続されたスイッチを含む、異なるレジスタセル間の回路網を用いて、レジスタセル内の内容を、北Nまたは南Sまたは西Wまたは東Eへ転送することも可能である。
■方向転送動作の例第16A図は、2つの相隣るベースレジスタセルを示し、データは、送信セルである左方のセルから、受信セルである右方のセルへ転送されるべきものとする。
制御装置6pからの制御信号が、諸スイッチを制御する。第16B図は、異なる位相中における転送により影響される全スイッチの状態を示し、低レベル値は開放されたスイッチを表わし、高レベル値は閉成されたスイッチを表わす。実際の転送は、位相すにおいて起こる。転送は、以下のように行なわれるC以下の諸ステップには、第16A図および第16B図におけると同じ番号が付せられている):0、送信セルおよび受信セルの双方において、回路が安定しており、sw、、sw、。、SW、I、SW、。、5WbIは閉成されており、他のスイッチは全て開放されている(このステップは、全てのスイッチに関連しているので、第16A図にはマークされていない)。この安定モードは、第16B図における位相Oに対応している。
1、第1位相(位相b)のクロック間隔中に、送信セルおよび受信セルの双方におけるスイッチSWoが開放された時、2、送信セルおよび受信セルの双方において、スイ・ツチSW、。が開放され、スイッチSW、。が閉成され、3、送信セルと受信セルとの間のスイッチSWよが閉成され、4、送信セルおよび受信セルの双方において、スイッチSW、、が開放され、5、送信セル内のスイッチSW−1が開放され、受信セル内のスイッチS W 、 +が閉成される。これにより、送信セルの内部レジスタから受信セルの内部レジスタへのデータの伝搬が可能ならしめられる。
6、第2位相(位相O)のクロック間隔中に、送信セルおよび受信セルの双方におけるスイッチSW0が閉成された時、7、送信セルと受信セルとの間のスイッチSW8が開放され、8、受信セルおよび送信セルの双方において、まずスイッチSW、。およびSW、。か閉成され、その後スイッチSW1およびSW、、が閉成される。これにより、上記ステップOで説明された安定モード、すなわち位相0に復帰する。
2方向転送動作の例第17A図は相隣るベースレジスタセルを示しており、2つの別のペースレジスタセル内のデータが2方向転送動作によって交換される。制置装置6pからの制御信号が、諸スイッチを制御する。第17B図は、異なる位相中における転送によって影響される全てのスイッチの状態を示しており、低レベル値は開放されたスイッチを、高レベル値は閉成されたスイッチを表わす。双方のレジスタセルが送信セルおよび受信セルとして働くので、それらを以下においては「セル1」および「セル2」と呼ぶ。セル2からセルlへの、一方の転送は位相aにおいて行なわれ、セルlからセル2への他方向への転送は位相すにおいて行なわれる。以下の諸ステップには、第17A図および第17B図におけると同じ番号が付せられている。転送は以下のように行なわれる:0、双方のセルにおいて、回路は安定しており、SWo、SW、。、SW、、、SW、。、S W、、は閉成されており、他のスイッチは全て開放されている(このステップは、全てのスイッチに関連しているので、第1.7A図にはマークされていない)。この安定モードは、第17B図における位相0に対応している。
1、第1位相(位相a)のクロック間隔中に、セルlおよび2内のスイッチSWoが開放された時、2、セルlおよび2内のスイッチSW、。が閉成され、セルlおよび2内のスイッチSW、。が開放され、3、セル間のスイッチSWtが閉成され、4、セルlおよび2内のスイッチS W、、が開放され、5、セルl内のスイッチS W、、が閉成され、セル2内のスイッチ5Wblが開放される。
これにより、セル2からセルlへのデータの伝搬が可能ならしめられる。
第2位相(位相b)のクロック間隔中の、スイッチSW0がなお開放されている時に、6、セルlおよび2内のスイッチSW、。が開放され、セル1および2内のスイッチSW、。が閉成され、7、セルlおよび2内のスイッチSW、、が開放され、8、セルl内のスイッチSW、Iが開放され、セル2内のスイッチSW、、が閉成される。これにより、セルlからセル2へのデータの伝搬が可能ならしめられる。
9、第3位相(位相0)のクロック間隔中に、セルlおよび2の双方におけるスイッチSW0が閉成された時、10、セル間のスイッチSWzが開放され、11、双方のセル内において、まずスイッチSW、。およびSW、。が閉成され、その後スイッチSW、、およびSW、 lが閉成される。これにより、上記ステップ0で説明された安定モード、すなわち位相0に復帰する。
スイッチSW、。およびSW、。に対する制御信号位相0中の省略解釈により、諸信号はオンに、すなわち諸ゲートは閉成、される。その時、全ての局部バスは、記憶状態を保持している。入力のために用いられるノくスは、Xをaまたはbとして、スイッチSWQおよびスイッチSW0゜に対する制御信号をオフ、すなわち開放、にセットすることにより制御される。入力動作中に、いくつかのバスが、ある端子(E、V、D、Hlなど)により短時間の間短絡されうる。
スイッチSW0への制御信号の下降部分から、スイッチS W x。(Xはaまたはb)への制御信号の下降部分までには、遅延時間が存在する。もしそれが短かければ、問題は起こらない。しかし、もしその時間がmsの領域まで長くなると、バスX* (Xはaまたはb)は、その動的状態を失いうる。
スイッチSW0への制御信号の上昇部分から、スイッチSW、l(Xはaまたはb)への制御信号の上昇部分までには、遅延時間が存在する。もしそれが負になると、インバータQ2からインバータQlまでの局部バスX。
へは、誤った値が伝搬しうる。従って、正の該遅延時間が用いられる。
スイッチSWI 、sw、、SWD 、SW、等に対する制これらのスイッチは常態においてはオフ、すなわち開放されている。その時全ての局部バスは分離されている。
入力または出力のために用いられるバスは、それに接続されている端子スイッチへの制御信号を、該スイッチをオン、すなわち閉成、するようにセットすることにより制御される。この動作中に、いくつかのバスがあるスイッチ(SW、、SWv、5Wl)、SW、、など)により、短時間の間短絡されうる。その後、諸バスは正しい値を得る。
スイッチSW9への制御信号の下降部分から、スイッチSW、(Zは、H,D、N、V%Eなど、すなわちスイッチを備えた内部バスaつおよびす、に接続されている任意の端子)への制御信号の上昇部分までには、遅延時間が存在する。もしそれが負になると、局部バスxII(Xはaまたはb)の値が変化せしめられつる。その時は、レジスタの値がセットされつる。従って、この遅延時間は、正であるべきである。
スイッチswx (Zは、H,D、N、V、EfLど、すなわちスイッチを備えた内部バスamおよびb麓に接続されている任意の端子)への制御信号の上昇部分から、スイッチSWx□への制御信号の下降部分までには、遅延時間が存在する。もしそれが負になると、値は入力まで伝搬しえない。従って、正の該遅延時間が用いられる。
スイッチS W、、への制御信号の上昇部分から、スイッチSW工への制御信号の下降部分までには、遅延時間が存在する。もしそれが負になると、局部バスが変更され、レジスタが誤った値にセットされる可能性がある。従って、正の該遅延時間が用いられる。
スイッチS W 、 +および5WbIに対する制御信号路信号は、位相0中に省略時解釈によりオンされる。
しかし、スイッチSW0への制御信号の上昇部分から、スイッチSW、、およびSW、、に対する制御信号の上昇部分までには、わずかな遅延がな(ではならない。
もしこの遅延が負になると、インバータQ2の入力上の値は、バスXt (xはaまたはb)へ伝搬しえない可能性がある。従って、正の該遅延が用いられる。
コアセルの計算代表的なリスト命令は、■機械サイクル中に行なわれる。
前述のように、コアセルは構造演算を行なう。全てのステップは、コアレジスタにより、それが含有するリスト内の語命令を用いて行なわれる。命令の例は以下の通りである。
length 目標の長さが計算される、map リストのエレメントに対しファンクションが適用される。もしリストが挿入されたリストを含有すれば、命令はこれらの挿入されたリストのエレメントにも適用される。
(命令mapは、以下においてさらに説明される)filter ファンクションが適用され、リストのエレメントをフィルタする。filterは、挿入されたリストがあればそれに対しても適用される。
join 全でのエレメントが、挿入されたリストのエレメント内に再書込みされる。この命令は、挿入されたリストがあればそれに対しても適用される。
transpose 小さいマトリックスがトランスポーズされる。もしそれがリストのエレメントを含有すれば、それらは交換される。挿入されたリストは処理される。(命令transposeは、以下においてさらに説明される)。
コアセルは、★いくつかのレジスタ、好ましくはペースレジスタ内のリジュースされるべき目標を、また、★ある場合、例えば3レベル構造がリジュースされる時には、好ましくは補助レジスタ内の目標のルーツおよびペースレジスタマトリックス内の残余の構造を、記憶する。
コアセル内の一時ストレージにおいては、4つの場合、すなわち、0,1,2、または3レベルのオブジェクトを記憶する場合がある。
簡単な木、すなわち単一の値(0レベルのオブジェクト)は、第1主レジスタ内に記憶される。
ルベルのみを含む木は、主レジスタ内に記憶される。
2レベルを含む木は、主レジスタに水平に記憶された、親であるルーツリストと、ペースレジスタに垂直に記憶された子であるリストと、を有しつる。あるいはその代わりとして、ルーツは補助レジスタに、またその子の1つは主レジスタに記憶されることもできる。制御装置6pは、行なわれるべき実際の演算に基づいて、これらの異なる方式の一方または他方を選択しうる。
3レベルを含む木は、そのルーツリストを補助レジスタの1つに記憶され、またその2レベルの子の1つをペースマトリックスに記憶される。
このように、目標の木のルーツリストは、好ましくは、木の構造のレベルと、行なわれるべき演算とに基づいて、コアセル内の諸レジスタの異なる場所に記憶される。
目標の木のルーツは、unifyなどのりジュース可能な種類のクロジャーである。ファンクションの適用(apply ・・・)においては、第1エレメントは、ファンクションの定義として用いられるクロジャー構造を間接的に指示する命令または識別子であり、他の諸エレメントは、命令/ファンクションの定義に対する引数である。
コアセルストレージの制御コアレジスタ内に記憶される情報は、オブジェクトストレージ4p内の情報から得られる。コアレジスタ内の情報は、以下のようにして記憶される。
ATTRIBUTE平面内におけるストレージ制御ATTRI BUTE平面内のコアレジスタは、オブジェクトストレージバスOBJに接続されている。記憶された状態は、識別子レジスタTD、、補助レジスタFoTからF3tまで、およびペースレジスタS、。からS2゜まで、に記憶された状態から成る。
ATTRI BUTE平面内のコアレジスタセルへの制御ワードは、スイッチSW□、SW、、、。、(ただしiは0と3との間の数)、sw、、、、o 、swc、、、。、S wWl、 bo、SW、、、、、 、および5Wvi、hoと、識別子レジスタID、と、補助レジスタFoTからF3tまでと、主レジスタS0.。からS3.。までと、へのより小さい制御ワードを含む。
制御ワードは、制御装置6pに接続されたいくつかの制御ワイヤを経て転送される。制御ワイヤは、使用されるスイッチの種類により、2相制御対ワイヤまたは単相制御車ワイヤでありうる(第9E図および第9F図参照)。
主レジスタSo、。からSx、oまでの中のそれぞれのセルへの制御ワードは、それぞれのペースレジスタに対する1つの共通部分および個別的諸部分を経て転送される。
共通部分は、コアセルのスイッチSW、。、SW、。、およびSW、(第15図参照)を制御する。しかし、ここでの説明内容は単に例として見られるべきものであること、またいくつか他の実施例が考えられうることに注意すべきである。
HEADおよびNUM平面内におけるストレージ制御平面HEADおよびNUM内のコアレジスタは、オブジェクトストレージバスOBJと、アクセスバスACCと、resバスと、数値ALUバスNUと、に接続されている。記憶された状態は、2つの単一レジスタJDおよびENVと、補助レジスタFOからF3までと、ペースレジスタS1.6からS5.、までと、の記憶された状態から成る。
コアレジスタへの制御ワードは、スイッチSW□、SW、、、、、(ただしiは0と3との間の数)、S W ld、 ha 、S Web、 km 、S W@+111. bes S Wv r、 be、S Wry、 km 、および5wt1.。、SW□。、SW、、、5Wvt1およびSW、sと、単一レジスタIDおよびENVと、補助レジスタFOからF3までと、ペースレジスタS、。からS3.までと、への制御ワードから成る。
制御ワードは、副部装置6pに接続されたいくつかの制御ワイヤを経て転送される。制御ワイヤは、使用されるスイッチの種類により、2相制御対ワイヤまたは単相制御車ワイヤでありうる(第9E図および第9F図)。
それぞれのペースレジスタセルへの制御ワードは、それぞれのペースレジスタに対する1つの共通部分および個別的諸部分を含む。共通部分は、コアセルのスイッチSW、。、SWl。、およびSWo (第8図参照)を制御する。しかし、ここでの説明内容は単に例として見られるべきものであること、またいくつか他の実施例が考えられうることに注意すべきである。
コアレジスタの動作の例第18図から第24図までは、第7図から得られる。
第7図に用いられている参照符号は、第18図から第24図までに対しても適用される。しかし、多くの参照番号は、読みやすくするために省略されている。また、第18図から第24図までの説明においては、レジスタセルの表示は諸子面2pを貫通して延長する全レジスタを意味するものとする。
1、オブジェクトストレージ4pに対するアクセスmpx−mv命令:オブジェクトストレージの動作mpx−mvにより、オブジェクトストレージが読取られ、主レジスタがセットされる。アクセスされたオブジェクトは、第18図に、移送が行なわれる先のレジスタセルに向かう矢印を有する太線によって示されているように、バスvO1vl、v2、v3を経て主レジスタSo、o 、S+、* 、St、++、S3゜へ、バスidを経てレジスタIDへ、またバスenvを経てレジスタENVへ、移送される。同時に、主レジスタ内の古い内容は、オブジェクトストレージ4p内にクロジャーとして記憶される。このようにして、mpx−rlv命令は、現在のコアセルクロジャーを、オブジェクトストレージ内に記憶せしめ、また実行されるべき次のすプジェクトストレージクロジャーを、コアセル内ヘロードする。
fetch命令:第19図および第201Nは、主レジスタの1つの中に記憶された識別子が存在しており、その識別子がその示す情報のために交換されるべき状況を示す。例えばSt、。内に記憶されている識別子(第19図参照)がオブジェクトストレージ4pへ供給され、そのオブジェクトストレージはその識別子とそれが示す内容とを見出し、その内容はバス線VOからv3までの上に供給されて、最終的にはペースレジスタの垂直列、例えばst、からS t、 、までにロードされる(第20図参照)。
この動作は、ペースレジスタS29.内の識別子を、バスhOおよびスイッチid+a、h。を経て垂直バスidへ転送することによって開始される(第19図)。記憶されている値は、任意の他のレジスタからも同様にして転送されつる。
動作は(第201N参照)、オブジェクトストレージ4pからバス線vO1vl、v2、v3上へ供給された値を、本例においてはレジスタSt、・、St、+ s St、x、S、1である適切なレジスタ内へ、それらの値をスイッチSW、、、sw、、、sw、、、SWoおよびバスho。
hl、h2、h3を経て転送して、ロードすることにより続けられる。
オブジェクトストレージの演算であるmakeおよびunify−idは、コアセル内の内容がオブジェクトストレージ内に記憶されるべき時に、使用されうる。
make 命令:動作makeの第1ステツIブにおいては、第20図におけると同様ではあるが逆の方向に、問題となっているレジスタの内容が転送される。この動作はまた、環境レジスタの内容をも転送する。コアセルから供給された情報として記憶されたものと同じ情報を存するオブジェクトを発見するために、連想探索がオブジェクトストレージ内において行なわれる。もしオブジェクトが発見されれば、そのオブジェクトを示す識別子が戻され、もしオブジェクトが発見されなければ、使用されていない識別子が戻される。双方の場合において、識別子は、オブジェクトストレージから、バス線idを使用してコアセル内の識別子レジスタへ転送される。別の方法として、識別子は、影響を受けたレジスタ列内の主レジスタへ転送されることも可能である。このようにして、コアセルの内容と識別子との間の連想が作り出された。
unify−id 命令:動作unify−idは第21図に示されており、レジスタの1つ、例えばSl、。からの識別子を、問題となっているレジスタセルを水平バスhOに接続し、また全SW、、、SW□1.などを経て水平バスhOに接続することによって、全ての垂直バスid%env、vo、vl、v2、v3へ分配する。これは、例えば、ある識別子の存在を探索し、発見されたこの識別子の存在を新しい、リジュースされた簡単な値によって置換することを含む、連想探索および置換、を行なう時に使用されうる動作である。
unffy−idに類似した動作が、第1ステツプにおいてmakeを用いてコアセルの内容に対する一意の識別子を得、第2ステツプにおいてそのコアセルの内容をオブジェクトストレージに接続されたバス線上に供給せしめることによって、オブジェクトストレージをしてその識別子と、それが示す内容とを記憶せしめることも可能である。
2、数値リダクション数値リダクションにおいては、リジュースすべきオブジェクト、すなわち目標は、主レジスタ内に置かれる。
一般に、目標全体がリダクションに参加する。通常、主レジスタS0.。は、異なる命令に対しては異なるビットパターンをなす命令コードを保持する。レジスタS1゜、およびSt、。は、2項演算、すなわち2つのオペランドを存する演算のために使用され、レジスタS1.。は単項演算、すなわち1つのオペランドを有する演算のために使用される。一般に、後続のレジスタはリスト形式で使用され、従ってそれらの内容はりダクション後には左方へ移動せしめられる。
本質的な数値演算は、その後目標のレジスタS1゜、およびS、。の間において行なわれる。数値ALUの主加算器は、これらの2レジスタに接続されている。
他の諸レジスタは、mul、d i v、およびmodのような命令において、補足的目的のために用いられつる。
以下の命令形式が用いられうる。
単項命令レジスタS01.が命令を保持し、レジスタS1.。がオペランドを保持する。
レジスタS3.。およびSl、。は使用されない。数値ALUの結果は、全ての主レジスタへ戻される。非バイブラインの場合には、それはレジスタS1.。内ヘセーブされる。バイブラインの場合には、それは直ちに、補助レジスタ内またはペースレジスタ内ヘセーブされる。
2項命令レジスタS0.。が命令を保持し、レジスタS1.。、Sl、。がオペランドを保持する。レジスタSs、。は使用されない。結果は、全ての主レジスタへ戻される。バイブラインの場合には、それは直ちに、補助レジスタ内またはペースレジスタ内ヘセーブされる。
mum divSmod命令レジスタS0.。が命令を保持し、レジスタSt、。およびS28.がオペランドを保持する。レジスタS8.。は、中間結果を一時記憶するのに用いられうる。最終結果は、レジスタS1゜内ヘセーブされる。
unif)’リダクションunityリダクションは、数値ALUを用いて、レジスタS0゜内の内容を、レジスタS3.。内の内容と比較する。他の主レジスタも、単一化を行なう時に使用されつる。次の動作を評価するために、諸レジスタのHEAD平面内に記憶されているタグワードが、比較の結果と共に用いられる。
命令mul、div、およびmodは、完全に数値演算装置内において、それらのインナループ(1nnerloop)を行なう。計算された中間値は、数値演算装置と、コアセル内の主レジスタとの間のワイヤ上、すなわちNUババス上、動的に記憶されつる。
3、構造のりダクション構造のりダクションに際しては、リジュースすべきオブジェクト、すなわち目標は、主レジスタ内に置かれる。
一般に、いくらかの、または全てのペースレジスタがリダクションに参加する。
通常は、主レジスタS0.。が、異なる命令に対しては異なるビットパターンをなす命令コードを保持する。
m a p命令は、ファンクシジンfと、引数としてのリスト(e+ 、・・・、e、)とを有し、そのファンクションをそのリストの全エレメントに適用する。この命令は、全てのファンクション適用の結果であるリスト(fel、・・・、fe、)を戻す。ただし、fe+はfをelに適用した結果を表わす。
マツピング命令フォーマット:(map f 1ist)命令mapは、補助レジスタセル内にロードされる。
使用すべきファンクションは、補助レジスタセル内にロードされる。リストは、主レジスタS、9.からSl、。までにロードされる。第22a図に示されているように、主レジスタ内に記憶されたエレメントは、ペースレジスタマトリックスにおいて2段階アップして転送される。
すなわち、XをOと3との間の数として、レジスタS8.。内の内容は、レジスタS□、、へ転送される。この転送は、垂直バス線vOからv3までを用いて行なわれる。次に、第22b図に示されているように、補助レジスタFOからFlまでの内容が、水平にペースレジスタへ同報通信される。すなわち、FOの内容はS6.。からS5,0までへコピーされ、PIの内容はSs、IからSs Iまでへコピーされる。もしエレメントが(リストでない)単純な値であれば、それが置かれているレジスタセル、例えばSl、tの内容と、その下のレジスタセル、例えばSl、+の内容とは、1段階下方ヘシフトされる。
ここで、適用されるべきファンクションは主レジスタセル、例えばSl、。内に存在しており、そのファンクションを適用されるべきエレメントは、いまこの主レジスタセルの上のレジスタセル、例えば81.1内に存在している。もしエレメントがリストであれば、レジスタのその列においてシフトは行なわれない。第22c図においては、e+、eb、およびe、は単純な値を表わし、またe4は挿入されたリストを表わしているものと仮定されている。その場合、ペースレジスタマトリックス内のそれぞれの列は、オブジェクトストレージ内にクロジャーとして記憶される。その後、これらの記憶されたクロジャーは、続いての処理のために、コアセル内ヘコードされる。もし記憶されたクロジャーが単純な値を含有していたとすれば、それはコアセル内に通常のようにコードされる。すなわち、第22d図に示されているように、fはSo、。内に記憶され、eiはS、。
内に記憶される。
一方、もし記憶されたクロジャーが挿入されたリストを含有していたとすれば、それは、前述のように、第22a図に示されているようにロードされるが、その際、elはe4によって表わされるリスト内の第1エレメントとなり、e、はe、内の第2エレメントとなり、等となる。これは、map命令が、挿入された諸リストに対して再帰的に作用することを可能ならしめる。
このようにして、2レベル構造を有する命令map(map、 f、 (@!IF −−t ”H))は、((f−@!1)、 、・p (’、%))に書面され、これは実行後にはルベル構造(fed、 +、、 fen)に書面される。ただし、feIは、fをe、に対して適用した時の結果を表わす。
3(またはそれ以上)レベル構造を有する命令map(”P# ft Par(”lI”z (”ky −・z’x)t ”z tH))(ただし、(ek、・・・、e、)は挿入されたリスト)は、中間ステップとしてPar((fr ”l)# 0.、(”Py L (”)C# ”t%H)b ”t CL @H))に書面され、さらにその後par((L @11)、−t ((L ”k)y−y<ft %))#−t (ft an))に書面されて、これは実行後、2レベル構造par(fed、 −、t (fek、 、、、 f〜)、 、−t f@n)に書面される。、ただし、feIは、fをelに対して適用した時の結果を表わし、(f eb 、・・・、fe、)は挿入されたリストである。
このようにして、ファンクションfは、引数リスト内の全エレメントに対し、再帰的に適用される。
コアセルがどのようにmap命令を再構成し、かつ実行するかの例を以下に説明する。記述を短縮するために、「レジスタ」の代わりに省略形regを、「識別子」の代わりに1dentを、「オブジェクトストレージ」のであり、ただしfは、f (x)=abs (x)+1として定義される。機械識別子を用いた機械表示は、idl : (!aap f 1d2)id2 K (−1−21d3)id3 g (−7−8)でありうる。ただし、1dent idlは、(mapf 1d2)構造などを示す。
以下において、iは0と3との間の数である。以下の諸ステップが行なわれる。
ステップ1:mapがreg FO内に、fがregFl内に、また1dent id2がreg SlI内に記憶される。
ステップ2:1dent id2が展開される。すなわち、reg sO,@が−1を含有し、reg S、、。
が−2を含有し、またreg s2.Gが1dentid3を含有する。
ステップ3:reg S+、oの内容がreg S+、tへ転送される。不使用とマークされたレジスタは影響を受けない。
ステップ4:mapおよびfが水平に同報通信される。
すなわち、reg S+、+がfを含有し、regS6.。がmapを含有する。不使用とマークされたレジスタは影響を受けない。
ステップS:S、、を内に単純な値を有する列は1段階下方へ圧縮される。すなわち、reg So、+が−1を含有し、reg So、sがfを含有し、reg sl、1が−2を含有し、reg S+、。がfを含有し、第3列はタッチされない。
ステップ6:ベースレジスタマトリックス内の全ての列がストレージ内に、idl = (id6 id71d8)id6 : (f −1)idl : (f −2)idl : (map f 1d3)として(再)記憶される。
ステップ7:1dent id8によって示されてしするクロジャーが、fはreg s・、。内に、−1はreg Sr、。内に、というように主レジスタ内にロードされる。
ステップ8:前記ファンクション、すなわちf (x)=abs (X)+1が、引数に適用されて結果2を生じこれがreg Sr、s内に記憶される。
ステップ9:1dent id6に対する連想探索がストレージ内において行なわれ、1dent id6の全ての存在が2によって置換される:idl : (2id) 1d8)id7 ! (f −2)id8 ! (鮎p f 1d3)ステップ10:1dent id7に対してステップ7からステップ9までが行なわれ、結果3を生じる。ストレージは:idl : (231d8)id8 : (貼p f 1d3)となる。
ステップ11:1dent id8に対してステップIからステップ6までが行なわれ、その結果ペースマトリックス列の2つがストレージ内に記憶される:ial t (231d8)id8 S (id91dlo)id9 : (f −7)idlo z (f −8)ステップ12:1dent id9および1dlOに3 対してステップ7からステップ9までが行なわれ、それ1 ぞれ結果8および9を生じる。ストレージは:idl : (231d8)Lda t (89)となる。これは、(23(89))と読取られ、ファンクションfが引数リスト内の全エレメントに適用されたことになる。
上述の諸ステップは、コアセルにより、異なったさらに効率的な方法で行なわれうろことに注意すべきである。
例えば、オブジェクトストレージ内に中間結果を記憶せしめる代りに、適切な場合には、コアセル内においてさらにリダクシタン/実行を行なうことができる。
transposeフォーマット:(transpose 1ist)transpose命令は、補助レジスタの1つ、例えばFOにロードされ、リスト引数、例えば諸リストのリストは、ベーズレジスタマトリックスにロードされる(第23図参照)。ペースレジスタマトリックスの内容はトランスポーズされる。このようにして、3レベル構造(traruipose。
を有する命令transposeは、その結果が2レベル構造に書き直されるように実行される。
説明用の例:リスト構造((1234)。
(5678)。
(9101112)。
において、第1リスト、すなわち(1234)は、第1Mのペースレジスタ、すなわちペースレジスタS、、。からS o、 zまでに記憶され、第2リスト、すゎなち(5678)は、第2列のペースレジスタ、すなわちペースレジスタS+、。からS14までに記憶されており、等、の前記リスト構造は、((15913)。
(261014)。
(3)1115)。
にトランスポーズされる。ただし、第1リスト、すなわち(15913)は、第1列のペースレジスタ、すわなちペースレジスタS0.。からS01までに記憶され、等となる。
s w a pフォーマット: (swap m 11st)s w a p命令は、3レベル構造(swapm ((”1.l# 0.)’において、iおよびjがペースレジスタマトリックス内におけるエレメントの位置を示すものとしてエレメントe+、□を育する諸リストのリストを含む、前記3レベル構造を有する命令swapが、エレメント(e+s、I、・・・)がエレメント(ea*1.l、・・・)と場所を代えた2重構造に書画されるよう、実行される。
skipフォーマット: (skip m 1ist)skip命令は、3レベル構造(sskip!11 ((81,I、−)tにおいて、iおよびjがペースレジスタ内におけるエレメントの位置を示すものとしてエレメントe1.jを有する諸リストのリストを含む、前記3レベル構造を有する命令5kipが、エレメント(e wa、 r 、・・・)の削除された2重構造に書画されるよう、実行される。
4、リストの抽出リストを含有する目標は、主レジスタ内に置かれる。
もしリストが、挿入されたリストであるエレメントを含有すれば、これらの挿入されたリストは、補助レジスタに垂直に記憶される。
expand−1ist動作は、1サイクル中に行なわれつる。ペースレジスタの内容は、主レジスタの内容を除外して、対角線的に右下方へ1段階シフトされ、主レジスタの内容は垂直バスへ転送されて、その列内の最上部のペースレジスタに挿入される(第24図参照)。
expand−1i s tを繰返して用いれば、主レジスタセルをデータによって「満たす」ことができる。
ここに説明されたコアセルおよびレジスタセルの設計は、本発明の実施例を構成するのであるが、本発明はそれらの正確な設計に制限されるものではないこと、および本発明の範囲から逸脱することなく、そこには変更が行なわれうること、を理解すべきである。
コアセルの他の実施例第25図は、コアセルのもう1つの実施例を示す。第7図におけると同じ参照符号が、同じコアセルエレメントに対して用いられている。ts7図におけると異なる接続を有するコアセルエレメントには′のマークが付けられている。好ましい実施例である第7図の実施例と、第25図に示されている実施例との閏の主な相違は、ペースレジスタセルS ’ Ll 、S’ +、e 、S’ *。、およびS′、1が、スイッチをもたないワイヤres’に接続可能であることである。さらに、バスJIIC,,およびcrが省略されている。さらに、yを0と3との間の数とするとき、ペースレジスタセルs0.2のW(西)端子は、ペースレジスタセルS8.アのE(東)端子に接続されておらず、その代りに、これらの端子は、f(偽)信号を供給される。コアセル内部の接続は、ある命令に対してはいくぶん異なるように行なわれうるが、それはファンクション的な相違ではなく、コアレジスタ内のどのスイッチが制御されるべきかの相違に過ぎない。
レジスタセル間の接続もまた、わずかに異なっていることが示されるが、これもまたそれぞれのレジスタセルの内部のどの内部スイッチがliIImされるべきかの問題である。
第26図は、セル内において制御されるべきスイッチは、異なる方法で配置されうること、しかし、セルはなお同じファンクションを有しうること、の事実の例を与えるための、コアレジスタセルの第2実施例を示す。第8図におけると同じ参照符号が、同じセルエレメントに対しては用いられている。第8図におけると異なる接続を育するエレメントには、′のマークが付けられている。
第8図および第26図に示されている両実施例間の主な相違は、第26図においては端子CおよびスイッチSWcが省略され、かつ端子VおよびHがそれぞれ1つのスイッチしかもっていないことと、スイッチをもっている端子り、L=、およびDが、スイッチをもっている端子DaおよびDbの代わりに用いられていることと、である。
以上においては、本発明を特定の実施例に関して説明してきたが、本技術分野に習熟している者ならば、本発明の真の精神および範囲から逸脱することなく、さまざまな変更が可能であり、またその諸エレメントに対し等価のものを代用しうることを理解しつるはずである。さらに、本発明の本質的教示から逸脱することなく改変を行なうことも可能である。
FIG、4BF旧、4CFIG、/+DF旧、4E FIG、4FFI3.4GFIG、5CFIG、5DFIG、6AFIG、6BDb N総称レジスタセルか1Mおよび(メD平面)FIG、9A FIG、98 FIG、9C送1セル 受信セルベースレジスタセル1 ベースレジスタセル2送信セ、、 受信セルFIG、18 FIG、19要 約 書構造演算処理の方法および演算装置が説明される。データワードがいくつかのレジスタに記憶され、それぞれのデータワードはマーク部分および情報部分を有する。
マーク部分は、問題となっているレジスタが使用されているか否かを示すマークを含む。データワードは、リスト内に配置される。それぞれのリストは、所定数のレジスタに記憶される。レジスタに記憶されているリスト内のそれぞれのワードのマーク部分は、使用されているマークを有するとき、リストの1つの少な(とも一部分が実際のレジスタに記憶されていることを示す。一部を該実際のレジスタに記憶されているリストは、それがとのような種類のリストであるか、またレジスタ内のリストの配列のどこからリスト間の関係が明らかになるのか、についてのリスト命令を含む。レジスタは、レジスタに記憶されているリストに属するリスト命令を用い、リストをレジスタ間において再配列し、かつリスト命令に従ってレジスタの内容を入力/出力する、制御装置により制御される。
国際調査報告++11er+++++le+u1^−111,,1,−11−PCT/SE 91100514国際調査報告PCT/SE 91100514

Claims (57)

    【特許請求の範囲】
  1. 1.a)いくつかのレジスタ内にデータワードを記憶せしめるステップであって、それぞれのデータワードがマーク部分および情報部分を有し、該マーク部分が問題となっているレジスタが使用されているか否かを示すマークを含む、前記データワードを記憶せしめるステップと、b)前記データワードがリスト内に配置されており、該リストのそれぞれを所定数の前記レジスタに記憶せしめるステップであって、使用されているとのマークを有する前記レジスタに記憶されている前記リスト内のそれぞれの前記ワードの前記マーク部分が、前記リストの1つの少なくとも一部分が実際の前記レジスタに記憶されていることと、一部分を該実際のレジスタに記憶されている前記リストが、それがどのような種類のリストであるか、また前記レジスタ内の前記リストの配列のどこから前記リスト間の関係が明らかになるのか、についてのリスト命令を含むことと、を示している、前記ステップと、c)前記レジスタを制御し、かつ該レジスタに記憶されているリストに属する前記リスト命令を用いることにより、該リストを該レジスタ間において再配列し、前記リスト命令に従ってレジスタ内容を入力/出力するステップと、を含む、構造演算処理の方法。
  2. 2.前記レジスタに記憶される前記リストを、該リストの1つをルーツリストとして有するリストの木として配列することを特徴とする、請求項1記載の方法。
  3. 3.前記記憶されているリストの木の識別子を、分離された識別子レジスタに記憶せしめることを特徴とする、請求項2記載の方法。
  4. 4.前記記憶されているリストの木の環境を、分離された環境レジスタに記憶せしめることを特徴とする、請求項2または請求項3記載の方法。
  5. 5.前記リストの木のルーツリストを、記憶されるべき該実際の木のレベルによって異なるレジスタ内に置くことを特徴とする、請求項2から請求項4までのいずれかに記載の方法。
  6. 6.前記レジスタのあるものを主レジスタの行を含むベースレジスタのマトリックス内に配置することを特徴とする、請求項5記載の方法。
  7. 7.1レベルのみを含む木を主レジスタ内に記憶せしめることを特徴とする、請求項5記載の方法。
  8. 8.2レベルを含む木を、そのルーツリストは前記主レジスタ内に、そのブランチリストは前記ベースレジスタ内に配置するようにして記憶せしめることを特徴とする、請求項5記載の方法。
  9. 9.前記マトリックスの外部に、補助レジスタと呼ばれる余分のレジスタの組を配置することを特徴とする、請求項5記載の方法。
  10. 10.3レベルを含む木を、そのルーツリストは前記補助レジスタ内に記憶され、またそのエレメントの1つは前記レジスタのマトリックス内に記憶されるようにして、記憶せしめることを特徴とする、請求項9記載の方法。
  11. 11.どのような種類のリダクションが行なわれるべきかに関する情報が前記ルーツリストのタイプから導かれうることを特徴とする、請求項2から請求項10までのいずれかに記載の方法。
  12. 12.前記ルーツリストの前記タイプ内の前記情報が、実行されるべき命令を表わす命令コードを含むことを特徴とする、請求項11記載の方法。
  13. 13.もし前記タイプがファンクションの適用ならば、前記ルーツリストの第1エレメントが、ファンクションの定義を表わす命令コードまたはリストの木のルーツを含むことを特徴とする、請求項11記載の方法。
  14. 14.1リスト内の最大ワード数が4であることを特徴とする、請求項1から請求項13までのいずれかに記載の方法。
  15. 15.前記リストの木の最大深度が3レベルであることを特徴とする、請求項2から請求項14までのいずれかに記載の方法。
  16. 16.前記深度が3レベルであり、かつ前記レジスタに記憶されている前記ルーツリストの前記リスト命令が、前記ルーツリストが1つより多くのブランチを有することを示していれば、該ブランチの1つのみが前記レジスタに記憶されることを特徴とする、請求項14記載の方法。
  17. 17.構造リダクションが、前記ベースレジスタ内または前記ベースレジスタおよび補助レジスタ内などの、前記レジスタ内に置かれたデータオブジェクトに対して行なわれることを特徴とする、請求項6から請求項16までのいずれかに記載の方法。
  18. 18.2レベル構造(map,f,(e1,・・en))において、命令mapは1つの補助レジスタ内に書込まれており、マッピングするためのファンクションは第2の該補助レジスタ内に書込まれており、命令エレメントe1のリストは前記ベースレジスタ内に書込まれている前記2レベル構造を有する命令mapが、前記ベースレジスタのそれぞれの死において、前記ファンクションが該列内の最下部のベースレジスタ内に配置され、前記命令エレメントの1つが該列内の第2最下部ベースレジスタ内に配置されるように、前記ファンクションが同報通信され且つ前記命令エレメントが再配置された((f,e1),・・・(f,en))に、制御装置からの制御によって書直されるように、マッピング命令が実行されることを特徴とする、請求項17記載の方法。
  19. 19.3レベル構造(transpose,((e1,1,・・e1,m),・・・(en,1,・・en,m)))において、命令transposeは補助レジスタ内に書込まれており、命令エレメントe1.j(iおよびjは、前記マトリックス内における該命令エレメントの位置の表示である)の諸リストのリストは、ベースレジスタ複合体がエレメントの正方形を含むように、ベースレジスタの前記マトリックス内に書込まれている前記3レベル構造を有する命令transposeが、2レベル構造((e1,1,・・en,1)・・((e1,m,・・en,m))において、補助レジスタの値は空にされており・ベースレジスタの前記マトリックス内の前記情報エレメントは、該マトリックスの対角線に関し鏡映位置に配置されるようにトランスポーズされている前記2レベル構造に、制御装置からの制御によって書直されるように、transpose命令が実行されることを特徴とする、請求項17記載の方法。
  20. 20.3レベル構造(swap m((e1,1,・・),・・(em,1,・・),(em+1,1,・・),・・・(en,1,・・)))において、命令エレメントei.j(iおよびjは、ベースレジスタの前記マトリックス内における該命令エレメントの位置の表示である)の諸リストのリストは、ベースレジスタ複合体がエレメントの正方形を含むようにされている、前記3レベル構造を有する命令swapが、エレメント(em.1、・・・)とエレメント(em+1.1、・・・)との位置の入れ換った2レベル構造((e1,1,・・),・・(em+1,・・),(em,1,・・),・・・(en,1,・・))に、制御装置からの制御によって書直されるように、swap命令が実行されることを特徴とする、請求項17記載の方法。
  21. 21.3レベル構造(skip m((e1,1,・・),・・(em−1,1,・・),(em,1,1・・),(em+1,1,・・),・・(en,1,・・))において、命令エレメントei,j(iおよびjは、ベースレジスタの前記マトリックス内における該命令エレメントの位置の表示である)の諸リストのリストを含む前記3レベル構造を有する命令skipが、エレメント(em.1、・・・)の削除された・・((e1,1,・・),(em−1,1,・・),(em+1,1,・・),・・・(en,1,・・))に、制御装置からの制御によって書直されるように、skip命令が実行されることを特徴とする、請求項17記載の方法。
  22. 22.a)データリストの入力および出力のための少なくとも1つの入力/出力手段(v0、v1、v2、v3、id、env)と、b)それぞれがデータワードを記憶するようにされた、いくつかのレジスタ(So,o、からS3.3まで、F0からF3まで、ID、ENV)であって、それぞれのデータワードがマーク部分および情報部分を有し、該マーク部分が問題となっている前記レジスタが使用されているか否かを示すマークを含み、それぞれの前記リストが所定数の前記レジスタに記憶可能であり、使用されているとのマークを有する前記レジスタのうちのそれぞれの該レジスタの前記マーク部分が、前記リストの1つの少なくとも一部分が実際の前記レジスタに記憶されていることと、一部分を該実際のレジスタに記憶されている前記リストが、それがどのような種類のリストであるのか、また前記レジスタ内の前記リストの配列のどこから前記リスト間の関係が明らかになるのか、についてのリスト命令を含むことと、を示している、前記いくつかのレジスタと、c)前記レジスタを制御し、かつ該レジスタに記憶されているリストに属する前記リスト命令を用いることにより、該リストを該レジスタ間において再配列し、かつ前記リスト命令に従ってレジスタ内容を入力/出力する制御手段(6p)と、を含む、構造演算処理用の演算装置。
  23. 23.前記レジスタに記憶されている前記リストが、該リストの1つをルーツリストとして有するリストの木として配列されていることを特徴とする、請求項22記載の演算装置。
  24. 24.リストを記憶するレジスタの前記所定数の最大値が4であることを特徴とする、請求項22または請求項23記載の演算装置。
  25. 25.前記リストの木の最大深度が3レベルであることを特徴とする、請求項23または請求項24記載の演算装置。
  26. 26.前記深度が3レベルであり、かつ前記レジスタに記憶されている前記ルーツリストの前記リスト命令が、前記ルーツリストが1つまたは1つより多くのブランチを有することを示していれば、前記制御手段が該ブランチの1つのみを前記レジスタに記憶せしめるようになっていることを特徴とする、請求項25記載の演算装置。
  27. 27.少なくとも1つの余分のレジスタ(ID)が備えられており、その中に前記記憶されているリストの木の識別子が記憶されうることを特徴とする、請求項22から請求項26までのいずれかに記載の演算装置。
  28. 28.少なくとも1つの余分のレジスタ(ENV)が備えられており、その中に前記記憶されているリストの木の環境が記憶されうることを特徴とする、請求項22から請求項27までのいずれかに記載の演算装置。
  29. 29.主レジスタをなす周辺行(S0.0、からS3.0まで)を有するレジスタのマトリックス(S0.0からS3.3まで)を含み、該マトリックスの諸列がベースレジスタをなす、請求項22から請求項28までのいずれかに記載の演算装置。
  30. 30.前記マトリックスの外部に配設されたいくつかの補助レジスタ(F0からF3まで)を含むことを特徴とする、請求項29記載の演算装置。
  31. 31.前記リストの木の前記ルーツリストが、記憶されるべき該実際の木のレベルによって異なるレジスタ内に置かれるようになっていることを特徴とする、請求項23から請求項30までのいずれかに記載の演算装置。
  32. 32.1レベルのみを含む木が前記主レジスタ(S0.0、からS2.0まで)に記憶されるようになっていることを特徴とする、請求項29記載の演算装置。
  33. 33.2レベルのみを含む木が、そのルーツリストは前記主レジスタ(S0.0、からS3.0まで)内に、そのブランチリストは前記ベースレジスタ(S0.0からS0.3まで、S1.0からS1.2まで、S2.0からS2.3まで、S2.0からS2.2まで)内に記憶されるようになっていることを特徴とする、請求項29記載の演算装置。
  34. 34.3レベルを含む木が、そのルーツリストを前記補助レジスタ(F0からF3まで)内に記憶され、またそのエレメントの1つを前記レジスタのマトリックス内に記憶されるようになっていることを特徴とする、請求項30記載の演算装置。
  35. 35.どのような種類のリダクションが行なわれるべきかに関する情報が、前記制御手段(6p)により前記ルーツリストのタイプから導かれうることを特徴とする、請求項23から請求項34までのいずれかに記載の演算装置。
  36. 36.前記ルーツリストの前記タイプ内の前記情報が、どのような種類の命令を実行すべきかを推論するために前記制御手段(6p)により使用される命令コードを含むことを特徴とする、請求項35記載の方法。
  37. 37.もし前記タイプがファンクションの適用ならば、前記ルーツリストの第1エレメントが、ファンクションの定義を表わす命令コードまたはリストの木のルーツを含み、それが、前記ルーツリストをリジュースするために行なうべき動作を推論するのに前記制御手段(6p)により用いられることを特徴とする、請求項35記載の方法。
  38. 38.前記レジスタがコアセル内の諸平面内に、それぞれの平面がそれぞれのレジスタから多くとも1つのレジスタセルを含むようスライス状に、論理的に配置されていて、それぞれのレジスタセルが1ビットの情報を記憶可能であり、かつ1平面内のレジスタセルが互いに接続可能であることを特徴とする、請求項22から請求項37までのいずれかに記載の演算装置。
  39. 39.前記レジスタのあるものが他のレジスタより長いために、前記平面のあるものは、該長いレジスタに属するレジスタセルのみを有する(第12図)ことを特徴とする、請求項38記載の演算装置。
  40. 40.ベースレジスタと名づけられている少なくともいくつかの前記レジスタが、Nをある整数として、N×Nレジスタのマトリックスにおける、行および列をなして配列されていることと、前記ベースレジスタの前記レジスタセルが、ビット毎に相互接続されていることと、前記ベースレジスタ内のそれぞれのビットにおいて、それぞれの列に対しては列ワイヤ(v0、v1、v2、v3)が備えられ、それぞれの行に対しては行ワイヤ(h0、h1、h2、h3)が備えられ、同じ行および列番号を有する前記列ワイヤと前記行ワイヤとの間のそれぞれの交点には、制御可能なスイッチ(SWv0、SWv1、SWv2、SWv3)が備えられていて、それぞれのベースレジスタが、少なくともその最も近い行ワイヤおよび列ワイヤによる、制御可能なレジスタ接続を有することと、接続が、前記行に沿ってと、前記列に沿ってとの双方における、相隣るベースレジスタ間に設けられていることと、を特徴とする、請求項38記載の演算装置。
  41. 41.前記制御手段(6p)が、前記制御可能スイッチおよび前記制御可能なレジスタ接続を制御し、実行されるべき命令の種類に依存して、少なくとも3種類の接続、すなわちa)1つのレジスタからもう1つのレジスタヘの簡単な接続と、b)レジスタ間における、いずれの方向にも1つずつの、2つの別個の接続と、c)レジスタ間における時間多重接続であって、2つの相次ぐ位相において、記憶されているリストエレメントが1方向および他方向へ移送される前記時間多重接続と、の1つを行なうようになっていることを特徴とする、請求項40記載の演算装置。
  42. 42.レジスタ内のそれぞれのレジスタセルが、a)内部1ビットレジスタ(rR)と、b)該1ビットレジスタに接続可能な、少なくとも1つの内部1ワイヤバス(aR、bR)と、c)少なくとも1つの内部的な、制御可能な接続であって、それぞれが、前記少なくとも1つの1ワイヤバスの1つを以下の素子、すなわち前記セルの外部のバス、前記レジスタのもう1つのものに属するセルの1つ、の一方に接続可能ならしめる、前記制御手段(6p)によって制御可能なスイッチ(SWN、SWg、SWv1、SWvo、SWHi、SWHo、SWDb、SWao、SWal、SWb0、SWb1)を含む、前記接続と、を含むことを特徴とする、請求項22記載の演算装置。
  43. 43.前記少なくとも1つの内部1ビットレジスタ(rR)が、インバータなどの入力バッファ手段(Q1)と、インバータなどの出力バッファ手段(Q2)と、該バッファ手段間に接続された制御可能スイッチ(SWQ)と、を含むことを特徴とする請求項42記載の演算装置。
  44. 44.前記入力バッファ手段および前記出力バッファ手段が、制御可能スイッチにより、別個に前記少なくとも1つの内部1ワイヤバス(aR、bR)に接続可能であることを特徴とする、請求項43記載の演算装置。
  45. 45.それぞれのレジスタセルが、a)第1(aR)および/または第2(bR)内部1ワイヤバスと、b)内部1ビットレジスタ(rR)と、c)前記第1バスを、該内部レジスタの第1入力に対し、また他のレジスタセルに結合せしめられている第1組のいくつかの外部バスに対し、接続可能ならしめる前記制御手段により制御可能なスイッチを含む、第1組の内部的な、制御可能な接続と、d)前記第2バスを、前記内部レジスタの第2入力に対し、また他のレジスタセルに結合せしめられている第2組のいくつかの外部バスに対し、接続可能ならしめる前記制御手段により制御可能なスイッチを含む、第2組の内部的な、制御可能な接続と、e)前記内部1ビットレジスタの出力を、第3組のいくつかの外部バスに対して接続可能ならしめる前記制御手段により制御可能なスイッチを含む、第3組の内部的な、制御可能な接続と、を含むことを特徴とする、請求項40記載の演算装置。
  46. 46.前記レジスタの位置に依存して、前記レジスタセルのあるものが、前記内部レジスタに対する前記接続の1つではない、少なくとも1つのその内部接続に固定的に接続された固定値を有することを特徴とする、請求項45記載の演算装置。
  47. 47.それぞれの前記制御可能な接続が、以下の構成、すわなち、1つのMOS−FET(第9E図)、2つの相補形MOS−FET(第9F図)、の一方を含む少なくとも1つの制御可能スイッチであることを特徴とする、請求項45記載の演算装置。
  48. 48.それぞれのインバータが、以下の構成、すなわち、2つの相補形MOS−FET(第9C図)、2つのエンハンスメント形MOS−FET(第9A図)、1つのエンハンスメント形MOS−FETおよび1つのデプレション形MOS−FET(第9B図)、の1つを含むことを特徴とする、請求項43記載の演算装置。
  49. 49.比較器(G1、G2)が、前記部分レジスタの内容を比較して、その比較結果をアクセスと呼ばれる外部バス内のワイヤに供給するように、接続されていることを特徴とする、請求項43記載の演算装置。
  50. 50.前記比較器が、a)第1NANDゲートであって、その第1入力が前記第1バッファ手段(Q1)の前記内部レジスタスイッチと反対の側に接続され、第2入力が該内部レジスタスイッチと前記第2バッファ手段(Q2)との間の接続点に接続されている前記第1NANDゲートと、b)第2NANDゲートであって、その第1入力が前記第2バッファ手段(Q2)の前記内部レジスタスイッチと反対の側に接続され、第2入力が該内部レジスタスイッチと前記第1バッファ手段(Q1)との間の接続点に接続されている前記第2NANDゲートと、を含み、前記両NANDゲートの出力が相互接続され、かつ前記アクセスと呼ばれるバス内の前記外部バスワイヤに接続されていることを特徴とする、請求項49記載の演算装置。
  51. 51.それぞれの前記NANDゲートが、直列接続されたソース/ドレイン路を有する2つの直列接続されたMOS−FETトランジスタを含み、それらのゲートが前記NANDゲートの入力であり、最上部の該MOS−FETトランジスタのドレインが前記外部バスのワイヤヘの出力であることを特徴とする、請求項50記載の演算装置。
  52. 52.前記レジスタのマトリックスが、前記ベースレジスタ内に置かれたデータオブジェクトの構造リダクションを行なうために、前記制御手段により自動的に制御されるように配設されていることを特徴とする、請求項30記載の演算装置。
  53. 53.2レベル構造(map,f,(e1,・・en))において、命令mapは前記補助レジスタ(F0からF3まで)の1つに書込まれており、マッピングするためのファンクションは第2の該補助レジスタに書込まれており、命令エレメントe1のリストは前記ベースレジスタ(S0.0からS2.2まで)に書込まれている前記2レベル構造を有する命令mapが、前記ベースレジスタのそれぞれの列において、前記ファンクションが該列内の最下部のベースレジスタ内に配置され、前記命令エレメントの1つが該列内の第2最下部ベースレジスタ内に配置されるように、前記ファンクションが同報通信され且つ前記命令エレメントが再配置された((f,e1),・・・(f,en))に、前記制御手段からの制御によって書直されるように、マッピング命令が実行されることを特徴とする、請求項52記載の演算装置。
  54. 54.3レベル構造(transpose,((e1,1,・・e1,m),・・・(en,1,・・en,m)))において、命令transposeは前記補助レジスタ内に書込まれており、命令エレメントei,j(iおよびjは、前記マトリックス内における該命令エレメントの位置の表示である)の諸リストのリストは、ベースレジスタ複合体がエレメントの正方形を含むように、ベースレジスタの前記マトリックス内に書込まれている前記3レベル構造を有する命令transposeが、前記補助レジスタの値は空にされており、ベースレジスタの前記マトリックス内の前記情報エレメントは、該マトリックスの対角線に関し鏡映位置に配置されるようにトランスポーズ▽されている((e1,1,・・en,1),・・(e1,m,・・en,m)))に、前記制御手段からの制御によって書直されるように、transpose命令が実行されることを特徴とする、請求項53記載の演算装置。
  55. 55.3レベル構造(swap m((e1,1,・・),・・(em,1,・・),(em+1,1,・・),・・・(en,1,・・)))において、命令エレメントei,j(iおよびjは、ベースレジスタの前記マトリックス内における該命令エレメントの位置の表示である)の諸リストのリストは、ベースレジスタ複合体がエレメントの正方形を含むようにされている、前記3レベル構造を有する命令swapが、エレメント(em.1、・・・)とエレメント(em+1.j、)との位置の入れ換った((e1,1,・・),・・(em+1,・・),(em,1,・・),・・・(en,1,・・))に、前記制御手段からの制御よにって書直されるように、swap命令が実行されることを特徴とする、請求項52記載の演算装置。
  56. 56.3レベル構造(skip m((e1,1,・・),・・(em−1,1,・・),(em,1,1・・),(em+1,1,・・),・・・(en,1,・・))において、命令エレメントei,j(iおよびjは、ベースレジスタの前記マトリックス内における該命令エレメントの位置の表示である)の諸リストのリストは、ベースレジスタ複合体がエレメントの正方形を含むようにされている、前記3レベル構造を有する命令skipが、エレメント(em.1、・・・)の削除された((e1,1,・・),・・(em−1,・・),(em+1,・・),・・・(en,1,・・))に、前記制御手段からの制御によって書直されるように、skip命令が実行されることを特徴とする、請求項52記載の演算装置。
  57. 57.中央処理装置の一部分であることを特徴とする、請求項22記載の演算装置。
JP91514005A1990-08-021991-08-01構造演算用演算装置PendingJPH05508725A (ja)

Applications Claiming Priority (3)

Application NumberPriority DateFiling DateTitle
SE9002558ASE9002558D0 (sv)1990-08-021990-08-02Processor
SE9002558-61990-08-02
PCT/SE1991/000514WO1992002874A1 (en)1990-08-021991-08-01An arithmetic unit for structure arithmetic

Publications (1)

Publication NumberPublication Date
JPH05508725Atrue JPH05508725A (ja)1993-12-02

Family

ID=20380081

Family Applications (6)

Application NumberTitlePriority DateFiling Date
JP91513500APendingJPH05508730A (ja)1990-08-021991-08-01連想メモリ
JP91513502APendingJPH05508722A (ja)1990-08-021991-08-01リダクションプロセッサ
JP91513503APendingJPH05508723A (ja)1990-08-021991-08-01リダクションプロセッサにおける能動記憶装置
JP91514005APendingJPH05508725A (ja)1990-08-021991-08-01構造演算用演算装置
JP91513499APendingJPH05508729A (ja)1990-08-021991-08-01ビット記憶セル
JP91513501APendingJPH05508952A (ja)1990-08-021991-08-01算術処理、論理処理及び関連する処理を実行する方法及び数値演算装置

Family Applications Before (3)

Application NumberTitlePriority DateFiling Date
JP91513500APendingJPH05508730A (ja)1990-08-021991-08-01連想メモリ
JP91513502APendingJPH05508722A (ja)1990-08-021991-08-01リダクションプロセッサ
JP91513503APendingJPH05508723A (ja)1990-08-021991-08-01リダクションプロセッサにおける能動記憶装置

Family Applications After (2)

Application NumberTitlePriority DateFiling Date
JP91513499APendingJPH05508729A (ja)1990-08-021991-08-01ビット記憶セル
JP91513501APendingJPH05508952A (ja)1990-08-021991-08-01算術処理、論理処理及び関連する処理を実行する方法及び数値演算装置

Country Status (23)

CountryLink
US (6)US5379387A (ja)
EP (6)EP0541683B1 (ja)
JP (6)JPH05508730A (ja)
KR (1)KR930701818A (ja)
CN (6)CN1030018C (ja)
AT (5)ATE118640T1 (ja)
AU (6)AU8331691A (ja)
BG (3)BG97381A (ja)
CA (6)CA2087023A1 (ja)
DE (5)DE69106369D1 (ja)
ES (3)ES2051129T3 (ja)
FI (3)FI930433A0 (ja)
HU (3)HU9204177D0 (ja)
IL (6)IL99053A0 (ja)
LT (6)LTIP384A (ja)
NO (3)NO930301L (ja)
NZ (3)NZ239239A (ja)
RO (1)RO109487B1 (ja)
SE (1)SE9002558D0 (ja)
SK (2)SK402592A3 (ja)
TW (5)TW215960B (ja)
WO (6)WO1992002876A1 (ja)
ZA (6)ZA916121B (ja)

Families Citing this family (122)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
WO1993024888A1 (en)*1992-05-221993-12-09Massachusetts Institute Of TechnologyResponse resolver for associative memories and parallel processors
JP3376604B2 (ja)*1992-07-202003-02-10カシオ計算機株式会社情報管理装置
IT1270230B (it)1994-06-161997-04-29Enichem SintesiComposizione catalitica e processo per l'alchilazione di composti aromatici
US5619711A (en)*1994-06-291997-04-08Motorola, Inc.Method and data processing system for arbitrary precision on numbers
GB2293468B (en)*1994-09-211999-09-29Sony Uk LtdData processing systems
JP3037089B2 (ja)*1994-12-142000-04-24川崎製鉄株式会社連想メモリ
FR2736737B1 (fr)*1995-07-121997-08-14Alcatel NvDispositif de gestion de relations entre des objets
US5943242A (en)*1995-11-171999-08-24Pact GmbhDynamically reconfigurable data processing system
US7266725B2 (en)2001-09-032007-09-04Pact Xpp Technologies AgMethod for debugging reconfigurable architectures
US6750107B1 (en)1996-01-312004-06-15Micron Technology, Inc.Method and apparatus for isolating a SRAM cell
US6103579A (en)1996-01-312000-08-15Micron Technology, Inc.Method of isolating a SRAM cell
US5964825A (en)*1996-02-091999-10-12Texas Instruments IncorporatedManipulation of boolean values and conditional operation in a microprocessor
US5706224A (en)*1996-10-101998-01-06Quality Semiconductor, Inc.Content addressable memory and random access memory partition circuit
DE19651075A1 (de)1996-12-091998-06-10Pact Inf Tech GmbhEinheit zur Verarbeitung von numerischen und logischen Operationen, zum Einsatz in Prozessoren (CPU's), Mehrrechnersystemen, Datenflußprozessoren (DFP's), digitalen Signal Prozessoren (DSP's) oder dergleichen
DE19654595A1 (de)1996-12-201998-07-02Pact Inf Tech GmbhI0- und Speicherbussystem für DFPs sowie Bausteinen mit zwei- oder mehrdimensionaler programmierbaren Zellstrukturen
DE19654593A1 (de)1996-12-201998-07-02Pact Inf Tech GmbhUmkonfigurierungs-Verfahren für programmierbare Bausteine zur Laufzeit
US6338106B1 (en)1996-12-202002-01-08Pact GmbhI/O and memory bus system for DFPS and units with two or multi-dimensional programmable cell architectures
DE19654846A1 (de)*1996-12-271998-07-09Pact Inf Tech GmbhVerfahren zum selbständigen dynamischen Umladen von Datenflußprozessoren (DFPs) sowie Bausteinen mit zwei- oder mehrdimensionalen programmierbaren Zellstrukturen (FPGAs, DPGAs, o. dgl.)
ATE243390T1 (de)1996-12-272003-07-15Pact Inf Tech GmbhVerfahren zum selbständigen dynamischen umladen von datenflussprozessoren (dfps) sowie bausteinen mit zwei- oder mehrdimensionalen programmierbaren zellstrukturen (fpgas, dpgas, o.dgl.)
US6374346B1 (en)1997-01-242002-04-16Texas Instruments IncorporatedProcessor with conditional execution of every instruction
DE19704044A1 (de)*1997-02-041998-08-13Pact Inf Tech GmbhVerfahren zur automatischen Adressgenerierung von Bausteinen innerhalb Clustern aus einer Vielzahl dieser Bausteine
US6542998B1 (en)1997-02-082003-04-01Pact GmbhMethod of self-synchronization of configurable elements of a programmable module
DE19704728A1 (de)1997-02-081998-08-13Pact Inf Tech GmbhVerfahren zur Selbstsynchronisation von konfigurierbaren Elementen eines programmierbaren Bausteines
DE19704742A1 (de)1997-02-111998-09-24Pact Inf Tech GmbhInternes Bussystem für DFPs, sowie Bausteinen mit zwei- oder mehrdimensionalen programmierbaren Zellstrukturen, zur Bewältigung großer Datenmengen mit hohem Vernetzungsaufwand
DE59802537D1 (de)*1997-04-152002-01-31Gmd GmbhFrei programmierbares, universelles parallel-rechnersystem zur durchführung von allgemeinen berechnungen
US8686549B2 (en)2001-09-032014-04-01Martin VorbachReconfigurable elements
US5943492A (en)*1997-12-051999-08-24Digital Equipment CorporationApparatus and method for generating external interface signals in a microprocessor
DE19861088A1 (de)1997-12-222000-02-10Pact Inf Tech GmbhVerfahren zur Reparatur von integrierten Schaltkreisen
DE19807872A1 (de)1998-02-251999-08-26Pact Inf Tech GmbhVerfahren zur Verwaltung von Konfigurationsdaten in Datenflußprozessoren sowie Bausteinen mit zwei- oder mehrdimensionalen programmierbaren Zellstruktur (FPGAs, DPGAs, o. dgl.
US6236585B1 (en)*1998-05-132001-05-22Texas Instruments IncorporatedDynamic, data-precharged, variable-entry-length, content addressable memory circuit architecture with multiple transistor threshold voltage extensions
WO2000077652A2 (de)1999-06-102000-12-21Pact Informationstechnologie GmbhSequenz-partitionierung auf zellstrukturen
US6097651A (en)*1999-06-302000-08-01Quicklogic CorporationPrecharge circuitry in RAM circuit
SE516171C2 (sv)*1999-07-212001-11-26Ericsson Telefon Ab L MProcessorarkitektur anpassas för programspråk med sekventiellt instruktionsflöde
US6542391B2 (en)2000-06-082003-04-01Netlogic Microsystems, Inc.Content addressable memory with configurable class-based storage partition
US6799243B1 (en)2000-06-142004-09-28Netlogic Microsystems, Inc.Method and apparatus for detecting a match in an intra-row configurable cam system
US6813680B1 (en)2000-06-142004-11-02Netlogic Microsystems, Inc.Method and apparatus for loading comparand data into a content addressable memory system
US6801981B1 (en)2000-06-142004-10-05Netlogic Microsystems, Inc.Intra-row configurability of content addressable memory
US6751701B1 (en)2000-06-142004-06-15Netlogic Microsystems, Inc.Method and apparatus for detecting a multiple match in an intra-row configurable CAM system
US6934795B2 (en)*1999-09-232005-08-23Netlogic Microsystems, Inc.Content addressable memory with programmable word width and programmable priority
US6944709B2 (en)*1999-09-232005-09-13Netlogic Microsystems, Inc.Content addressable memory with block-programmable mask write mode, word width and priority
EP1107107A1 (en)*1999-12-102001-06-13Koninklijke Philips Electronics N.V.Parallel data processing and shuffling
IL144901A0 (en)*2000-01-132002-06-30Yasukura YutakaElectronic information inquiry process
EP2226732A3 (de)2000-06-132016-04-06PACT XPP Technologies AGCachehierarchie für einen Multicore-Prozessor
US6246601B1 (en)*2000-06-142001-06-12Netlogic Microsystems, Inc.Method and apparatus for using an inter-row configurable content addressable memory
US6560670B1 (en)2000-06-142003-05-06Netlogic Microsystems, Inc.Inter-row configurability of content addressable memory
US6963882B1 (en)*2000-10-022005-11-08International Business Machines CorporationMethod and apparatus for processing a list structure
AU2060002A (en)2000-10-062002-04-22Pact Inf Tech GmbhMethod and device
US8058899B2 (en)2000-10-062011-11-15Martin VorbachLogic cell array and bus system
KR100413384B1 (ko)*2000-10-242004-01-03주식회사 삼양제넥스옥피로부터 수용성 식이섬유의 제조 방법
GB2370380B (en)*2000-12-192003-12-31Picochip Designs LtdProcessor architecture
US6990555B2 (en)*2001-01-092006-01-24Pact Xpp Technologies AgMethod of hierarchical caching of configuration data having dataflow processors and modules having two- or multidimensional programmable cell structure (FPGAs, DPGAs, etc.)
US7581076B2 (en)2001-03-052009-08-25Pact Xpp Technologies AgMethods and devices for treating and/or processing data
US7844796B2 (en)2001-03-052010-11-30Martin VorbachData processing device and method
US7210129B2 (en)2001-08-162007-04-24Pact Xpp Technologies AgMethod for translating programs for reconfigurable architectures
US9037807B2 (en)2001-03-052015-05-19Pact Xpp Technologies AgProcessor arrangement on a chip including data processing, memory, and interface elements
US7444531B2 (en)2001-03-052008-10-28Pact Xpp Technologies AgMethods and devices for treating and processing data
US7302440B2 (en)*2001-07-272007-11-27Metatomix, Inc.Methods and apparatus for statistical data analysis and reduction for an enterprise application
US7058637B2 (en)*2001-05-152006-06-06Metatomix, Inc.Methods and apparatus for enterprise application integration
US6925457B2 (en)*2001-07-272005-08-02Metatomix, Inc.Methods and apparatus for querying a relational data store using schema-less queries
US6856992B2 (en)*2001-05-152005-02-15Metatomix, Inc.Methods and apparatus for real-time business visibility using persistent schema-less data storage
US8572059B2 (en)*2001-05-152013-10-29Colin P. BrittonSurveillance, monitoring and real-time events platform
US20030208499A1 (en)*2002-05-032003-11-06David BigwoodMethods and apparatus for visualizing relationships among triples of resource description framework (RDF) data sets
US7890517B2 (en)*2001-05-152011-02-15Metatomix, Inc.Appliance for enterprise information integration and enterprise resource interoperability platform and methods
AU2002347560A1 (en)2001-06-202003-01-02Pact Xpp Technologies AgData processing method
US7996827B2 (en)2001-08-162011-08-09Martin VorbachMethod for the translation of programs for reconfigurable architectures
US7434191B2 (en)2001-09-032008-10-07Pact Xpp Technologies AgRouter
US8686475B2 (en)2001-09-192014-04-01Pact Xpp Technologies AgReconfigurable elements
US7577822B2 (en)2001-12-142009-08-18Pact Xpp Technologies AgParallel task operation in processor and reconfigurable coprocessor configured based on information in link list including termination information for synchronization
DE10392560D2 (de)2002-01-192005-05-12Pact Xpp Technologies AgReconfigurierbarer Prozessor
US8127061B2 (en)2002-02-182012-02-28Martin VorbachBus systems and reconfiguration methods
US8914590B2 (en)2002-08-072014-12-16Pact Xpp Technologies AgData processing method and device
US7657861B2 (en)2002-08-072010-02-02Pact Xpp Technologies AgMethod and device for processing data
AU2003286131A1 (en)2002-08-072004-03-19Pact Xpp Technologies AgMethod and device for processing data
US7394284B2 (en)2002-09-062008-07-01Pact Xpp Technologies AgReconfigurable sequencer structure
EP1588286A2 (en)*2002-10-072005-10-26Metatomix, Inc.Methods and apparatus for identifying related nodes in a directed graph having named arcs
US7017017B2 (en)*2002-11-082006-03-21Intel CorporationMemory controllers with interleaved mirrored memory modes
US7130229B2 (en)2002-11-082006-10-31Intel CorporationInterleaved mirrored memory systems
EP1676208A2 (en)2003-08-282006-07-05PACT XPP Technologies AGData processing device and method
DE102004013180A1 (de)*2004-03-172005-10-06Giesecke & Devrient GmbhSpeicherbereinigung (Garbage Collection) für Smart Cards
US7665063B1 (en)*2004-05-262010-02-16Pegasystems, Inc.Integration of declarative rule-based processing with procedural programming
US8335704B2 (en)*2005-01-282012-12-18Pegasystems Inc.Methods and apparatus for work management and routing
US7570503B1 (en)2005-05-202009-08-04Netlogic Microsystems, Inc.Ternary content addressable memory (TCAM) cells with low signal line numbers
JP2009524134A (ja)2006-01-182009-06-25ペーアーツェーテー イクスペーペー テクノロジーズ アクチエンゲゼルシャフトハードウェア定義方法
US8924335B1 (en)2006-03-302014-12-30Pegasystems Inc.Rule-based user interface conformance methods
US20090132232A1 (en)*2006-03-302009-05-21Pegasystems Inc.Methods and apparatus for implementing multilingual software applications
US7827451B2 (en)*2006-05-242010-11-02International Business Machines CorporationMethod, system and program product for establishing decimal floating point operands for facilitating testing of decimal floating point instructions
US8250525B2 (en)2007-03-022012-08-21Pegasystems Inc.Proactive performance management for multi-user enterprise software systems
US7697444B2 (en)*2007-09-072010-04-13Fujitsu LimitedTesting a circuit using a shared bandwidth test bus
GB2454865B (en)2007-11-052012-06-13Picochip Designs LtdPower control
JP4529098B2 (ja)*2008-07-292010-08-25ソニー株式会社演算処理装置および方法、並びにプログラム
US10481878B2 (en)*2008-10-092019-11-19Objectstore, Inc.User interface apparatus and methods
US8843435B1 (en)2009-03-122014-09-23Pegasystems Inc.Techniques for dynamic data processing
US8468492B1 (en)2009-03-302013-06-18Pegasystems, Inc.System and method for creation and modification of software applications
GB2470037B (en)2009-05-072013-07-10Picochip Designs LtdMethods and devices for reducing interference in an uplink
GB2470891B (en)2009-06-052013-11-27Picochip Designs LtdA method and device in a communication network
GB2470771B (en)2009-06-052012-07-18Picochip Designs LtdA method and device in a communication network
US8666720B2 (en)*2009-08-042014-03-04Henry Chung-herng ChangSoftware extensions to a high level description language simulator to provide infrastructure for analog, mixed-signal, RF modeling and verification
GB2474071B (en)2009-10-052013-08-07Picochip Designs LtdFemtocell base station
GB2482869B (en)2010-08-162013-11-06Picochip Designs LtdFemtocell access control
US8880487B1 (en)2011-02-182014-11-04Pegasystems Inc.Systems and methods for distributed rules processing
GB2489919B (en)2011-04-052018-02-14Intel CorpFilter
GB2489716B (en)2011-04-052015-06-24Intel CorpMultimode base system
GB2491098B (en)2011-05-162015-05-20Intel CorpAccessing a base station
US9195936B1 (en)2011-12-302015-11-24Pegasystems Inc.System and method for updating or modifying an application without manual coding
JP2013242700A (ja)*2012-05-212013-12-05Internatl Business Mach Corp <Ibm>コード最適化方法、プログラム及びシステム
US11150721B2 (en)*2012-11-072021-10-19Nvidia CorporationProviding hints to an execution unit to prepare for predicted subsequent arithmetic operations
US10303881B2 (en)2013-02-052019-05-28Hackproof Technologies Inc.Soft-wired radio (SWR) web machine
US9519804B2 (en)2013-02-052016-12-13Hackproof Technologies, Inc.Domain-specific hardwired symbolic machine that validates and maps a symbol
KR102413501B1 (ko)*2014-07-302022-06-27모비디어스 리미티드명령어 사전인출을 위한 방법 및 장치
US10469396B2 (en)2014-10-102019-11-05Pegasystems, Inc.Event processing with enhanced throughput
WO2017066427A1 (en)2015-10-132017-04-20Hackproof Technologies, Inc.Soft-wired radio (swr) web machine
US10698599B2 (en)2016-06-032020-06-30Pegasystems, Inc.Connecting graphical shapes using gestures
US10698647B2 (en)2016-07-112020-06-30Pegasystems Inc.Selective sharing for collaborative application usage
KR102305568B1 (ko)*2016-07-172021-09-27쥐에스아이 테크놀로지 인코포레이티드일정한 처리 시간 내에 k개의 극값을 찾는 방법
KR102467698B1 (ko)*2016-07-262022-11-16삼성전자주식회사적층형 메모리 장치, 이를 포함하는 시스템 및 그 동작 방법
US10956572B2 (en)2016-08-222021-03-23Hackproof Technologies Inc.Domain-specific hardwired web browser machine
GB2562520A (en)*2017-05-172018-11-21John Hamlin DerrickDigital processing connectivity
US10514914B2 (en)*2017-08-292019-12-24Gsi Technology Inc.Method for min-max computation in associative memory
US11048488B2 (en)2018-08-142021-06-29Pegasystems, Inc.Software code optimizer and method
CN110690991B (zh)*2019-09-102021-03-19无锡江南计算技术研究所一种基于逻辑树的无阻塞网络归约计算装置、方法
US11567945B1 (en)2020-08-272023-01-31Pegasystems Inc.Customized digital content generation systems and methods
CN113919580B (zh)*2021-10-192024-10-29南方电网科学研究院有限责任公司一种多省区电网周运行计划编制方法

Family Cites Families (48)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
NL272844A (ja)*1960-12-22
US3253265A (en)*1961-12-291966-05-24IbmAssociative memory ordered retrieval
DE1921577B2 (de)*1969-04-281972-04-06Nixdorf Computer Ag, 4790 PaderbornTrommelartige vorrichtung zn buchungs- und schreibautomaten mit greifeinrichtung zum erfassen und einziehen von kontokarten o dgl
SE374973B (ja)*1970-02-171975-03-24Western Electric Co
US3610967A (en)*1970-02-271971-10-05IbmIntegrated memory cell circuit
US3634833A (en)*1970-03-121972-01-11Texas Instruments IncAssociative memory circuit
US4503511A (en)*1971-08-311985-03-05Texas Instruments IncorporatedComputing system with multifunctional arithmetic logic unit in single integrated circuit
US3878513A (en)*1972-02-081975-04-15Burroughs CorpData processing method and apparatus using occupancy indications to reserve storage space for a stack
US3953866A (en)*1974-05-101976-04-27Signetics CorporationCross coupled semiconductor memory cell
DE2460150C2 (de)*1974-12-191984-07-12Ibm Deutschland Gmbh, 7000 StuttgartMonolitisch integrierbare Speicheranordnung
GB1540299A (en)*1975-02-151979-02-07Mathematik Datenverarbeitung GComputer employing reduction language
FR2337398A1 (fr)*1975-12-301977-07-29Ibm FranceDispositif d'ecriture rapide pour cellules de memoire
DE3105503A1 (de)*1981-02-141982-09-02Brown, Boveri & Cie Ag, 6800 MannheimAssoziativer zugriffsspeicher
DE3270597D1 (en)*1981-06-301986-05-22Fujitsu LtdData processing system
US4447875A (en)*1981-07-071984-05-08Burroughs CorporationReduction processor for executing programs stored as treelike graphs employing variable-free applicative language codes
US4502118A (en)*1981-07-071985-02-26Burroughs CorporationConcurrent network of reduction processors for executing programs stored as treelike graphs employing variable-free applicative language codes
JPS58147889A (ja)*1982-02-261983-09-02Mitsubishi Electric Corp半導体装置
US4709327A (en)*1983-05-311987-11-24Hillis W DanielParallel processor/memory circuit
DE3335423A1 (de)*1983-09-291985-04-04Siemens AG, 1000 Berlin und 8000 MünchenSchaltung zur spannungsvervielfachung
US4654780A (en)*1984-06-051987-03-31Burroughs CorporationParallel register transfer mechanism for a reduction processor evaluating programs stored as binary directed graphs employing variable-free applicative language codes
US4644464A (en)*1984-06-051987-02-17Burroughs CorporationGraph manager for a reduction processor evaluating programs stored as binary directed graphs employing variable-free applicative language codes
US4615003A (en)*1984-06-051986-09-30Burroughs CorporationCondition concentrator and control store for a reduction processor evaluating programs stored as binary directed graphs employing variable-free applicative language codes
US4785393A (en)*1984-07-091988-11-15Advanced Micro Devices, Inc.32-Bit extended function arithmetic-logic unit on a single chip
US4734848A (en)*1984-07-171988-03-29Hitachi, Ltd.Combination reduction processing method and apparatus
JPS61107596A (ja)*1984-10-311986-05-26Nec Corp連想記憶装置
US4598361A (en)*1985-01-111986-07-01Burroughs CorporationAllocator for a reduction processor evaluating programs stored as binary directed graphs employing variable-free applicative language codes
US4616315A (en)*1985-01-111986-10-07Burroughs CorporationSystem memory for a reduction processor evaluating programs stored as binary directed graphs employing variable-free applicative language codes
US5173872A (en)*1985-06-131992-12-22Intel CorporationContent addressable memory for microprocessor system
US4847755A (en)*1985-10-311989-07-11Mcc Development, Ltd.Parallel processing method and apparatus for increasing processing throughout by parallel processing low level instructions having natural concurrencies
US5021945A (en)*1985-10-311991-06-04Mcc Development, Ltd.Parallel processor system for processing natural concurrencies and method therefor
US4777622A (en)*1985-11-261988-10-11Max-Planck-Gesellschaft Zur Foerderung Der Wissenschaften E.V.Associative data storage system
JPS62134890A (ja)*1985-12-051987-06-17Matsushita Electric Ind Co Ltd半導体記憶装置
EP0227348A3 (en)*1985-12-111991-09-25Advanced Micro Devices, Inc.Content addressable memory circuit and method
JPH0810553B2 (ja)*1986-06-131996-01-31松下電器産業株式会社記憶回路
GB2211638A (en)*1987-10-271989-07-05IbmSimd array processor
US4922413A (en)*1987-03-241990-05-01Center For Innovative TechnologyMethod for concurrent execution of primitive operations by dynamically assigning operations based upon computational marked graph and availability of data
GB8718056D0 (en)*1987-07-301987-09-03Int Computers LtdData processing system
JPH01223697A (ja)*1988-03-011989-09-06Mitsubishi Electric Corp内容番地付け記憶装置
US4890260A (en)*1988-05-111989-12-26Advanced Micro DevicesContent addressable memory array with maskable and resettable bits
US4928260A (en)*1988-05-111990-05-22Advanced Micro Devices, Inc.Content addressable memory array with priority encoder
US5099450A (en)*1988-09-221992-03-24Syracuse UniversityComputer for reducing lambda calculus expressions employing variable containing applicative language code
JPH02187993A (ja)*1989-01-131990-07-24Mitsubishi Electric Corp連想メモリ装置
GB8901924D0 (en)*1989-01-281989-03-15Int Computers LtdData processing system
KR910009445B1 (ko)*1989-02-021991-11-16정호선신경회로망을 이용한 연상메모리(Associative memory)
US5072422A (en)*1989-05-151991-12-10E-Systems, Inc.Content-addressed memory system with word cells having select and match bits
US5175843A (en)*1989-10-301992-12-29General Electric CompanyComputer-aided design method for restructuring computational networks to minimize shimming delays
US5201056A (en)*1990-05-021993-04-06Motorola, Inc.RISC microprocessor architecture with multi-bit tag extended instructions for selectively attaching tag from either instruction or input data to arithmetic operation output
US5014195A (en)*1990-05-101991-05-07Digital Equipment Corporation, Inc.Configurable set associative cache with decoded data element enable lines

Also Published As

Publication numberPublication date
DE69101242D1 (de)1994-03-31
EP0541684A1 (en)1993-05-19
AU8333191A (en)1992-03-02
EP0541682A1 (en)1993-05-19
AU8331291A (en)1992-03-02
CN1058667A (zh)1992-02-12
NO930302L (no)1993-03-31
FI930433L (fi)1993-02-01
US5239502A (en)1993-08-24
WO1992002876A1 (en)1992-02-20
WO1992002932A1 (en)1992-02-20
BG97386A (bg)1993-12-24
NO930302D0 (no)1993-01-28
ZA916118B (en)1992-05-27
NO930301D0 (no)1993-01-28
NO930303L (no)1993-03-23
DE69101640T2 (de)1994-07-21
LTIP385A (en)1994-11-25
FI930434A0 (fi)1993-02-01
CN1059225A (zh)1992-03-04
DE69106369D1 (de)1995-02-09
HU9300175D0 (en)1993-04-28
SK391392A3 (en)1994-06-08
AU8390291A (en)1992-03-02
EP0541683A1 (en)1993-05-19
FI930435L (fi)1993-04-02
CN1030019C (zh)1995-10-11
EP0541678A1 (en)1993-05-19
JPH05508730A (ja)1993-12-02
CA2086539A1 (en)1992-02-03
BG97381A (bg)1993-12-24
DE69102065T2 (de)1994-09-01
CN1059413A (zh)1992-03-11
CA2088577A1 (en)1992-02-03
LTIP379A (en)1994-11-25
NZ239239A (en)1994-08-26
DE69101640D1 (de)1994-05-11
SE9002558D0 (sv)1990-08-02
DE69102065D1 (de)1994-06-23
US5379387A (en)1995-01-03
ZA916123B (en)1992-04-29
DE69107460D1 (de)1995-03-23
FI930435A0 (fi)1993-02-01
SK402592A3 (en)1993-09-09
HUT63710A (en)1993-09-28
US5325501A (en)1994-06-28
CA2086592A1 (en)1992-02-03
NO930301L (no)1993-03-23
WO1992002875A1 (en)1992-02-20
FI930434A7 (fi)1993-04-02
IL99056A0 (en)1992-07-15
IL99051A0 (en)1992-07-15
HUT63505A (en)1993-08-30
CA2087023A1 (en)1992-02-03
AU654149B2 (en)1994-10-27
IL99052A0 (en)1992-07-15
CN1062426A (zh)1992-07-01
AU8332991A (en)1992-03-02
DE69101242T2 (de)1994-06-01
BG97385A (bg)1993-12-24
JPH05508723A (ja)1993-12-02
IL99052A (en)1994-12-29
IL99055A0 (en)1992-07-15
ES2051129T3 (es)1994-06-01
IL99054A0 (en)1992-07-15
NO930303D0 (no)1993-01-28
WO1992002933A1 (en)1992-02-20
LTIP382A (en)1994-11-25
DE69107460T2 (de)1995-10-05
TW215483B (ja)1993-11-01
AU8331691A (en)1992-03-02
EP0541684B1 (en)1994-04-06
HU9204177D0 (en)1993-03-29
FI930435A7 (fi)1993-04-02
ZA916121B (en)1992-05-27
EP0541682B1 (en)1994-12-28
CA2087022A1 (en)1992-02-03
JPH05508952A (ja)1993-12-09
CN1059799A (zh)1992-03-25
ES2056655T3 (es)1994-10-01
LTIP384A (en)1994-11-25
CN1027198C (zh)1994-12-28
NZ239242A (en)1994-12-22
EP0548094A1 (en)1993-06-30
CA2086591A1 (en)1992-02-03
US5437049A (en)1995-07-25
WO1992002877A1 (en)1992-02-20
ATE116455T1 (de)1995-01-15
CN1061865A (zh)1992-06-10
ATE105952T1 (de)1994-06-15
JPH05508722A (ja)1993-12-02
JPH05508729A (ja)1993-12-02
NZ239240A (en)1995-03-28
US5555434A (en)1996-09-10
ATE104084T1 (de)1994-04-15
US5241491A (en)1993-08-31
AU654295B2 (en)1994-11-03
EP0541678B1 (en)1994-05-18
TW215959B (ja)1993-11-11
TW215960B (ja)1993-11-11
CN1030018C (zh)1995-10-11
TW199926B (ja)1993-02-11
EP0541683B1 (en)1994-02-23
FI930433A7 (fi)1993-02-01
AU8325091A (en)1992-03-02
HU9300263D0 (en)1993-05-28
KR930701818A (ko)1993-06-12
IL99053A0 (en)1992-07-15
ATE101933T1 (de)1994-03-15
ZA916116B (en)1992-05-27
EP0541685B1 (en)1995-02-15
ATE118640T1 (de)1995-03-15
FI930433A0 (fi)1993-02-01
IL99055A (en)1994-12-29
ZA916119B (en)1992-05-27
LTIP381A (en)1994-12-27
RO109487B1 (ro)1995-02-28
TW199213B (ja)1993-02-01
ZA916120B (en)1993-01-27
LTIP380A (en)1994-12-27
IL99056A (en)1994-11-11
ES2050545T3 (es)1994-05-16
EP0541685A1 (en)1993-05-19
WO1992002874A1 (en)1992-02-20

Similar Documents

PublicationPublication DateTitle
JPH05508725A (ja)構造演算用演算装置
US3374466A (en)Data processing system
MaibaumA generalized approach to formal languages
IngermanA syntax-oriented translator
JPS6361691B2 (ja)
Gurevich et al.Algebraic operational semantics and Modula-2
Radin et al.NPL: highlights of a new programming language
Bergeron et al.Systems programming languages
US3821708A (en)Electronic control unit for the linking of symmetrical closed chains of words in a random access memory
Anagnostopoulos et al.Computer architecture and instruction set design
US3238508A (en)Logical manipulator
Al-SharifFunctional Level Simulator for Universal AHPL.
JPS59123934A (ja)プログラム可能な論理制御装置
BlumProgramming languages
NoguezA standardized microprogram sequencing control with a push down storage
Resnick et al.DMAP-A COBOL extension for associative array processors
Chua et al.A simulation tool for teaching CPU design and microprogramming concepts
LeesIntroductory concurrent programming with Modula-2
PensomOn the classification and selection of small-to medium-sized computers for real-time applications
KheriatyA multilingual interpreter for interactive computing in an academic environment
SchreinerCleopatra: a proposal for another system implementation language.
JPH034331A (ja)宣言的に定義された数論的関数処理方式
Chu et al.A programming language for high-level architecture
ManualBe-ALGOL
Chang et al.Design methodologies for simulation translators (with a case study)

[8]ページ先頭

©2009-2025 Movatter.jp