[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

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

構造演算用演算装置

Info

Publication number
JPH05508725A
JPH05508725A JP91514005A JP51400591A JPH05508725A JP H05508725 A JPH05508725 A JP H05508725A JP 91514005 A JP91514005 A JP 91514005A JP 51400591 A JP51400591 A JP 51400591A JP H05508725 A JPH05508725 A JP 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 カールステット エレクトロニク アクチボラゲット filed Critical カールステット エレクトロニク アクチボラゲット
Publication of JPH05508725A publication Critical patent/JPH05508725A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/41Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming static cells with positive feedback, i.e. cells not needing refreshing or charge regeneration, e.g. bistable multivibrator or Schmitt trigger
    • G11C11/413Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing, timing or power reduction
    • G11C11/417Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing, timing or power reduction for memory cells of the field-effect type
    • G11C11/419Read-write [R-W] circuits
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/483Computations with numbers represented by a non-linear combination of denominational numbers, e.g. rational numbers, logarithmic number system or floating-point numbers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/31Programming languages or programming paradigms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/31Programming languages or programming paradigms
    • G06F8/311Functional or applicative languages; Rewrite languages
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30007Arrangements for executing specific machine instructions to perform operations on data operands
    • G06F9/3001Arithmetic instructions
    • G06F9/30014Arithmetic instructions with variable precision
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C15/00Digital stores in which information comprising one or more characteristic parts is written into the store and in which information is read-out by searching for one or more of these characteristic parts, i.e. associative or content-addressed stores
    • G11C15/04Digital stores in which information comprising one or more characteristic parts is written into the store and in which information is read-out by searching for one or more of these characteristic parts, i.e. associative or content-addressed stores using semiconductor elements

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Computer Hardware Design (AREA)
  • Nonlinear Science (AREA)
  • Devices For Executing Special Programs (AREA)
  • Stored Programmes (AREA)
  • Static Random-Access Memory (AREA)
  • Complex Calculations (AREA)
  • Executing Machine-Instructions (AREA)
  • Saccharide Compounds (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Multi Processors (AREA)
  • Hardware Redundancy (AREA)
  • Exchange Systems With Centralized Control (AREA)
  • Advance Control (AREA)
  • Medicines That Contain Protein Lipid Enzymes And Other Medicines (AREA)
  • Vehicle Body Suspensions (AREA)
  • Control Of Indicators Other Than Cathode Ray Tubes (AREA)
  • Studio Devices (AREA)
  • Controls And Circuits For Display Device (AREA)
  • Transforming Electric Information Into Light Information (AREA)
  • Semiconductor Memories (AREA)
  • Pharmaceuticals Containing Other Organic And Inorganic Compounds (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Measuring Pulse, Heart Rate, Blood Pressure Or Blood Flow (AREA)
  • Monitoring And Testing Of Nuclear Reactors (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Paper (AREA)
  • Steering Control In Accordance With Driving Conditions (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

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

Description

【発明の詳細な説明】 構造演算用演算装置 本発明は、構造演算用演算装置に関する。以下においては、この演算装置をコア セルと呼ぶ。
発明の背景 コンピュータは、1940年代に発明された。その時以来、それは革命的な速度 で発展せしめられた。それにも拘らず、今日のコンピュータは、最初のものとほ とんと同じアーキテクチャを存する。
大部分の改良はハードウェアにおいてなされてきた。
VLS Iの導入およびリソグラフ技術の向上は、ワンチップコンピュータの製 造を可能にしたが、それはわずか5年前にはスーパーコンピュータと呼ばれてい たものである。大きさは指数関数的に縮小し、線幅は、今では1μmより小とな っている。クロック速度およびアクティブトランジスタの数は、多くのオーダー の大きさ増大した。物理的制約により、恐らくは線幅の限界は0.2μmとなる と思われる。
同じ期間中に、コンピュータのアーキテクチャは、シリコンの使用においては改 善されなかった。逆に、大部分のコンピュータは、速度の増大のために最適のシ リコン量よりも多くを使用してきている。
これら双方の事実は、次の5年間における単一プロセッサの速度の向上を停止せ しめると思われる。並列ブロセッサが導入されたが、複雑性の増大のためにハー ドウェアの経費が増大し、また、たいていの形式のプログラムにおいて、プログ ラミングの経費か非常に増大する。
相互の関連を見ると、ハードウェアの経費は縮小されたが、新システムのプログ ラミングの経費はかなり増大し、間もなく手におえな(なりそうである。
コンピュータは、ソフトウェアおよびハードウェアにおけるさまざまなユニット の複雑な集合体である。発展のさまざまな絶倒および段階が、特別の確立された 標準を作り出し、それらがシステム内において広く用いられている。この非一様 性のために、極めて多くのインタフェースが存在している。
性質および様式の異なる全てのこれらのインタフェースおよび絶倒は、使用者ま たはプログラマ−による機械の使用を困難にした。それは、多くの知識を要求し 、またプログラマ−は、複雑性のために隠れたエラーを導入する可能性がある。
しかし、最近、いわゆるリグクシ3ンブロセツザ(reduetion pro cessor)が発展しつつある。リダクションプロセッサは、演算式を含むあ る構造を有するプログラムを実行し、この構造はいくつかのりダクションステッ プにおいてリジュース(reduce)される。従って、プログラムは、他の種 類のコンピュータにおけるように、与えられたシーケンスによっては実行されな い。
リダクションプロセッサを、ある限度の大きさを超えて発展させるのには、ある 困難が存在する。
プログラム言語の発展 最初の電子コンピュータの開発は、フォートラン、コボル、アルゴル、ベーシッ ク、パスカルなどの、この形式のコンピュータに適するいくつかのプログラム言 語の発展を開始せしめた。これらの言語は、主として、通常のコンピュータ、す なわちジョン・フォノ・ノイマンにより開発された原理に従って設計されたコン ピュータ、により順次実行されるべき指令または命令のシーケンスから成るプロ グラムを通常は与える事実により、命令型言語と呼ばれており、以下においては 通常型語とも呼ばれる。これらの言語の困難か増大するのに伴って、他の一連の 言語、リスプ、イスライム(ISW[M)スキーム(Scheme) (リスプ の方言)、エムエル(ML)、ホープ(Hope) 、 ニスニーニスエル(S ASL) 、などが開発された。これらの言語の開発の背後の原動力は、概念上 の簡単さであり、特定の機械はその設計に影響を及ぼさなかった。関数型言語が 注意を引くまでには、ある時間を要した。その1つの理由は、関数型プログラム の実行が低速度であったためである。その後の発展により、これらの関数型プロ グラムは、通常の形式のコンピュータによって実行されるのを目的とするもので はないが、ある場合には、通常のコンピュータによって実行される通常型(命令 型)言語のプログラムにおけると近い、または同じ、実行速度を示しうるように なった。
ソフトウェアの危機 関数型言語を発展させるための大きい努力を開始させたのは、命令型言語に係る 困難であった。人々は、1970年頃にソフトウェアの危機を唱え始めた。プロ グラムは、ますます複雑化し、しばしば多くのエラーを含有し、読むのが困難に なり、理解しにくくなり、特に修正が困難となった。1つの理由は、高レベルの 命令型言語がプログラミングを簡単化するはずであるという期待が高すぎたから である。これらの言語は、想像はど高レベルにはなかったのである。命令型言語 は、なお初期のコンビコータ、すなわちノイマン形コンピュータの基本思想に適 合しており、プログラミングのレベルは、依然として機械レベルにかなり近い。
関数型プログラム言語は、通常型プログラム言語の欠点のうちのあるものを軽減 するいくつかの性質を育する。
さらに進んだ情報および理解のためには、テキストとしてrFunctiona l Programming Using 5tandard MLJ、Ake  WikstrOm、Prentice )fall 1987を参照されたい 。
本発明の目的および利点の完全な理解のためには、コンピユーテイングにおける 機能的なアプローチを構成するものの理解、特に、歴史的にもっと一般的な命令 型アプローチとの比較においての理解が、本質的に重要である。
「関数型アプローチJという表現は、プログラムが関数型言語で書かれ、この言 語に特に適したハードウェアを含むコンピュータにおいて記憶されかつ実行され ることを意味する。同様に、「命令型アプローチ」という表現は、プログラムが 命令型言語で書かれ、命令型言語に適したハードウェアを含むコンピュータにお いて記憶されかつ実行されることを意味する。
しかし、関数型言語で書かれたプログラムを通常のコンピュータにおいて記憶し 、かつ実行することは可能である。その逆もまた可能である。すなわち、命令型 言語で書かれたプログラムは、関数型言語で書かれたプログラムの実行に適した コンピュータにおいて実行されうる。
関数型言語の性質 関数型言語で書かれたプログラムは、オブジェクトの性質の定義の組として、ま た計算規則として見られつる。
定義は宣言部分であり、計算規則、またはりダクションまたは書直し規則は、コ ンピュータが実行中に使用する演算部分である。関数型言語は、コンピュータに 対する高レベルのインタフェースをなし、それは、プログラマ−がコンピュータ のハードウェアに関連した細部を抽出し去ることを可能ならしめる。肯定的側面 効果として、関数型プログラムはしばしば、通常の命令型プログラムよりも短く 、かつ理解しやすい。関数型言語の主たる欠点の1つは、関数型プログラムが通 常のコンピュータにより実行されるためには、それが通常型言語に翻訳されなく てはならないことである。これは、コンパイラすなわち翻訳プログラムによって 行なわれてきた。関数型ブログラムを効果的に記憶しかつ実行するタスクのため の専用ハードウェアが存在していなかった事実により、関数型アプローチのある 利点が阻害されていたことは明ら本発明は、アクティブストレージ内に存在し、 以下においてコアセルと呼ばれる特定のアクティブメモリセルを提供することを 目的としており、このセルは、全ての種類のりダクションを行ないうる。一方、 アクティブストレージはまた、ある形式のりダクションの限定された部分のみを 行ないつる、他の形式のメモリセルをも含有する。数値演算は、コアセルに接続 された数値演算論理装置(数値ALU)において行なわれうるが、実際のりダク ション演算はコアセル内において行なわれる。
本発明のもう1つの目的は、以下においてオブジェクトストレージと呼ばれる、 限定的メモリセルを含む好ましくは連想メモリ、と協働するコアセルであって、 情報転送のためにその連想メモリに直接接続されているセルはこのセルのみであ る、該コアセルを提供することである。
本発明のさらにもう1つの目的は、複数のレベルの表現を記憶しつるコアセルを 提供することである。コアセル内に記憶される表現内の基本命令は、コアセル内 において実行されるべきである。
本発明のもう1つの目的は、構造演算、すなわちコンピュータプログラムによっ て与えられた構造をリジュースする演算のためのコアセルを提供することである 。そのセルにおいては、セル内の表現のサイズは、実行に関係する表示グラフの 技に対応している。通常の種類のコンピュータは、構造演算の概念に基づく種類 のプログラム言語、例えばリスプ(リスプコリスト処理言語)または他の任意の 関数型または宣言型コンピュータ言語を用いる時に特に有利な、構造演算のため のコアセルを備えうる。言語リスプは、リストまたはリストから構成された構造 を取扱いかつ処理するのに特に適しており、例えばエキスパートシステムを作り あげるために、人工知能内において使用される。それはまた、記号式数学、VL SIの設計、ロボット工学、自然言語理解、などにおいても使用される。その場 合、コアセルは、これらのリストを、書直しまたは/かつリジュースすることに より、処理する手段となりうる。
リダクシヨンによる実行 実行されるべきプログラムは、クロジャー(closure) ’の方向性グラ フによって表わされ、プログラムのそれぞれの部分はクロジャーによって表わさ れる。実行中に、クロジャーのこの方向性グラフは、使用されている言語のりダ ラシ3ン規則に従って次第にリジュースされる。
実行可能なりロジャーがなくなれば、プログラムの実行は終ったのである。クロ ジャーの方向性グラフは木構造と見なされ、その木の中のそれぞれのノード(n ode)がクロジャーであり、最上部のノードはルーツ(root)と呼ばれる 。この場合、リダクションによる実行は、通常は、本構造の下部を上にしてリジ ュースすることによって行なわれ、ルーツから最も遠い木の部分からリジュース して、ルーツまで進んで行く。この種の実行は、通常は、要求被部動形実行(d emand 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 Int roduction to VLSISystemsJ 、Addisoo W esley Publishing Company、 1980を参照された い。
オブジェクトストレージ コアレジスタは、オブジェクトストレージ4pから導かれる構造を含む。オブジ ェクトストレージは、■レベル構造、すなわちセルクロジャーのみを記憶しつる 。コアレジスタは、ルベル構造、すなわちセルクロジャー、を転送するのに十分 な広さのバスにより、オブジェクトストレージに接続されている。しかし、コア セルは、3レベルのオブジェクト構造まで内容として含みつる。4つの場合が存 在する。すなわち、0,1.2、または3レベルのオブジェクト構造がコアセル 内に記憶されつる。
以下に説明されるように、もし3レベルのオブジェクト構造が記憶されるとすれ ば、その頂部レベル(ルーツ)およびそのブランチの1つのみが記憶される。そ うでなければ、全てのレベルが記憶される。
コアセル構造 コアセルは全体として、い(っかのコアレジスタ3pを含存する構造演算のため の演算装置である。コアレジスタは、リストの木を記憶する。それぞれのリスト は、ワードを含む。レジスタのあるもの、限定的レジスタ、はそれぞれエレメン トワードを記憶し、エレメントワードはナムワードおよびタグワードを含む。タ グワードは、ナムワードの表示の特徴を示す。例えば、もしナムヮードが値を表 わす場合は、タグワードはナムヮードに含まれる値の種類、例えばそれが整数で あるか、または浮動小数点数などであるか、を示す。コアセルは、それが備えて いるレジスタの数による、ある長さのリストを一時に処理しうるのみである。リ ストを記憶するために用いられるレジスタの数は、好ましくは4であり、これは 記憶されるリストが4エレメントまたはそれ以下を有しうろことを意味する。例 えば、レジスタは、32ビツトを占有するナムワードと、6ビツトのタグワード とを含みうる。この場合には、4エレメントを存するリストは、好ましくは38 ビツトの4倍を占有する。
しかし、任意の長さのリストも取扱われつる。しかし、その場合はそれぞれのそ のようなリストは、それぞれがコアセル内において処理されるべき最大の長さに 一致するか、またはそれよりも短い長さを有するいくつかのリストに、分割され なくてはならない。コアセルは、ある深度の木を一時に処理しつるのみである。
もっと大きい深度を有する木も処理されうるが、限定された深度を有する木の一 部分のみが、一時にコアセル内に記憶される。
すなわち、木の一部分を一時に処理しつるのみなのである。
固定された数のレジスタが、リストを記憶しつる。使用されないレジスタは特に 不使用としてマークされる。
リストの木は、計算を制御し、また行なうために用いられ、これは、制御装置6 pからのms下において、もし必要ならば数値ALU tpと協働して行なわれ る。計算は、リストの水内の内容を書直すことによって行なわれる。
インタフェース二オブジェクトストレージーコアセル好ましくは連想メモリであ るオブジェクトストレージ4pと、コアセルとは、信号適応を行なう変換インタ フェース9pと、クロジャーの広さのバス8p、すなわち、レジスタ平面NUM に接続された部分的バス0BJv(垂直オブジェクトバス)と、レジスタ平面H EADに接続された部分的バスTAGとを含むバス、従ってルベル構造を転送し つるバスと、により相互接続されている。インタフェース9pは、クロジャーの 広さのバスOBJ 8pを経てのコアレジスタ3pからの信号を、オブジェクト ストレージ内のストレージセルに対して適する信号に、増幅して変換する。それ はまた、読取り動作におけるオブジェクトストレージからの信号を、コアセルレ ジスタに対し適合するように、増幅して変換する。
このインタフェースは、オブジェクトストレージ4p内に配置されているように 示されているが、それは代わりにコアセルと共にも配置されつる。しかし、イン タフェース9pは、本発明のコアセルの一部分とみなされるべきものではないの で、ここでは説明しない。
コアセル平面 第1図から明らかなように、コアレジスタは、平面NUM、HEAD%BOOL STYPE、LAZY。
CLO3/S IMPLEとして図示されているいくつかの部分に分けられてい る。異なる部分は、異なる数の平面を含む。第1図には、読みやすくするために わずがな平面のみを示した。以下においては、TYPE、WHERE、LAZY 、およびCLOS/S IMPLEの諸平面は、属性平面と呼ばれる。
ナムワードはレジスタ平面NUM内に記憶され、タグワードはレジスタ平面HE AD内に記憶されうる。例えば、32のNUM平面と6HEAD平面とが存在し つる。
第1図に示されているプロセッサの実施例においては、例えば、5つのレジスタ 平面TYPEと、1つのレジスタ平面WHEREと、2つのレジスタ平面LAZ Yと、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、s eq、apply。
1istSunifなど)を含む。これらの第1種のエレメントは、平面LAZ Y、WHERE、およびTYPE内に備えられたコアレジスタの部分内に記憶さ れるようになっている。しかし、コアセルには、CLO3/SIMPLEと呼ば れる余分の平面も備えられ、そこには、レジスタ内の情報がクロジャーであるの か、または単純な値であるのかが示される。応用によっては、他の平面も備えら れつる。
第2種のクロジャーエレメント 第2種のエレメントは、識別、環境、または値を記述する。これらは、IDEN T 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であれば、 それは、ナムワードが浮動小数点値であることを意味する。もしタグワードがu nusedであれば、それは、ナムワードが意味を欠いていることを意味する。
もしタグワードがnothingであれば、それは、ナムワードが何も表わして いないこと、すなわち、何もマークされていないフィールドを含むクロジャーの 統合は、何も生じないことを意味する。応用によっては、他の間接的または直接 的タグワードも用いられうる。
識別子 もしストレージセル内の識別子フィールドが識別子エレメントを含んでいれば、 そのストレージセル内のセルクロジャーは、コアセルへ転送されつる。ストレー ジセルフイールドVALUE/DESは、それぞれ他のセルクロジャーを示す識 別子を含むことができ、それによって、この他のセルクロジャーへのリンクを与 える。記憶されているクロジャーの集められたものは、方向性グラフ、または識 別子によって結合されたセルクロジャーの木とみられうる。
環境フィールドは、回路網部分、すなわち、クロジャーの環境を与えるクロジャ ーの木、におけるルーツクロジャーを示す識別子を含みつる。しかし、環境フィ ールドは、他の用途をも有しつる。環境は、構造のクリエータ(creator )のトラックを、クリエートされた全てのセルクロジャーの環境内にそのクリエ ータの識別子を記憶することにより、保存するために使用されうる。例えば、内 部の同じ名称を有する全ての記号が同じものを表わすベき部分木(5ubtre e)内の全てのクロジャーセルは、同じ環境を有することによりグループを形成 しうる。このようにして、構造全体は、1回の動作のみにより、木の中の1クロ ジヤーから、ルーツを経て、アクセスされうる。環境は、コアセル内において行 なわれる動作に影響を与えず、本発明の一部をなすものではないので、これ以上 それについては説明しない。
このようにして、もしクロジャーの環境が与えられれば、この環境内のルーツク ロジャーが見出される。環境のルーツクロジャーは、そのストレージセル内のフ ィールドWHERE内に特定のマーク(例えば「IJ)を備えている。環境のノ ードクロジャーは、フィールドWHERE内に、他のマーク(例えば「OJ)を 備えてコアセルの実施例内において使用されつるレジスタは、第2B図から第2 D図までに示され、コアセルの実施例内において使用されうるレジスタの配置は 、第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とuntf yとは交換され、これは制御装置によって自動的に行なわれる。ここで、ペース レジスタは、諸列内に配置された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)unif y(par(1) par(1))unify(23))を記憶しているストレ ージセルを示す。このリジュース可能なりロジャー自体は、第4H図に示されて いる。第4G図および第4H図は、第4A図および第4B図と同様に示されてお り、従って自己説明的になっている。
第4G図にはまた、タイプコードunifyを有するセルクロジャーが記号ex ecを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(applica tion)のりダクションを行なう。
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を、主レジスタがdisc rである値を含有する旨の表示で置換する。
その時、主レジスタは、命令マーク(+)と2つの離散値とを含み、これは制御 装置をして、直接的に、または例えば、命令が記憶されるオブジェクトストレー ジの非書込み可能部分に記憶されている命令に関する情報によって、数値ALU を#御して命令(加算)を行なわしめ、その数値演算の結果をカノニカル値とし て、第6G図に示されているように第1主レジスタへ送らしめる。
タイプコードフィールド内の記号appiyは、ファンクションapplica tionが行なわれるべきことのマークである。この場合は単純な値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ないしNU 3から成るバスNUを経て、数値ALU ipに接続されている。
しかし、本発明の教示する所によれば、数値演算を必要としない簡単なプロセッ サを用いることも可能である。
そのような場合には、数値ALU tpを省略することができる(第1図参照) 。
識別子レジスタセルIDは線idに接続され、環境レジスタセルENVは線en vに接続されている。
バス線hiは、iを0と3との間の数として、スイッチSW、、によりバス線v iに接続されつる。バス線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の入力に接続され、またこスイッチS W、。を経て同レジスタrIlの出力に接続されている。
バスb、l バスb、は、スイッチSWtおよび端子Eを経て右方のレジスタセルに接続され 、また、スイッチ5Wlllbおよび端子D1を経て諸レジスタセルの対角線に も接続され、さらにまた、スイッチSWNおよび端子Nを経て上方のレジスタセ ルにも接続されている。バスb11はまた、SW、、を経て中央内部レジスタr 1の入力に接続され、さらにスイッチ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−F ET)ランジスタ(第9E図)によって、または第9F図に示されているように 接続された(エンハンスメント形(EE MOS)の)2つの相補形MOS−F ETトランジスタによって、構成されうる。制御装置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は、キー値、すなわちQ lの入力上の比較されるべき記憶値である値と、G2の入力上の記憶値を比較す る。この比較中に、キー値は、内部バスa、またはbつを経てQlへ転送される 。スイッチSWoはその時オフ状態にある、すなわち開放されている必要がある 。もし供給された値、すなわちキー値が、記憶値と一致しなければ、充電された BOOL平面はNANDゲー1−GlおよびG2を経て放電せしめられる。
もし一致すれば、BOOL平面は充電された状態に留まる。
レジスタセル毎に1バス線ACCが存在する、レジスタ内の全てのバス線ACC は、並列に接続されて、平面BOOL内の同じバス線に接続されつる。あるいは 、平面NUMおよびHEAD内に備えられている全てのレジスタセルのバス線A CCは、これらの平面のためのBOOL平面内のバス線に接続可能であり、AT TRIBUTE平面内に備えられている全てのレジスタセルは、同じ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、v 3に、またバス線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に結合せしめられる。また、主レジスタセルの行S6 9.からSs、。までと、識別子レジスタセルIDTと、補助レジスタセルF0 7から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 B UTE平面内に存在する識別子レジスタセル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平面内に存在する補助レジスタセルF ytの実施例を示す。識別子レジスタセル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へ、閉成された時のスイッチS W、。を経てバスamへ、閉成された時のスイッチS W e II m lを 経て出力contへ、さらに直接端子SDへ、転送されうる。バスb、およびa k上の情報は、さらに以下において例によって示されるように、レジスタセルと 問題にされる外部バスとの間に接続されたスイッチを制御することによってその レジスタセルが接続されるそれぞれの外部バスへ転送されつる。
入力モード 入力モードにおいては、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、、がそれぞれ開放されるべく1liIJ IIIJされる。垂直または水平バスなどの外部バスの1つへのスイッチは、そ のバス上の情報が内部バスへ転送されるためには十分に長い、短い間隔の開閉成 される。
シフト回路網、すなわち諸端子に接続されたスイッチを含む、異なるレジスタセ ル間の回路網を用いて、レジスタセル内の内容を、北Nまたは南Sまたは西Wま たは東Eへ転送することも可能である。
■方向転送動作の例 第16A図は、2つの相隣るベースレジスタセルを示し、データは、送信セルで ある左方のセルから、受信セルである右方のセルへ転送されるべきものとする。
制御装置6pからの制御信号が、諸スイッチを制御する。第16B図は、異なる 位相中における転送により影響される全スイッチの状態を示し、低レベル値は開 放されたスイッチを表わし、高レベル値は閉成されたスイッチを表わす。実際の 転送は、位相すにおいて起こる。転送は、以下のように行なわれるC以下の諸ス テップには、第16A図および第16B図におけると同じ番号が付せられている ): 0、送信セルおよび受信セルの双方において、回路が安定しており、sw、、s w、。、SW、I、SW、。、5WbIは閉成されており、他のスイッチは全て 開放されている(このステップは、全てのスイッチに関連しているので、第16 A図にはマークされていない)。この安定モードは、第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内のスイッチSW oが開放された時、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、、およびS W、 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、、S Wv、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平面内のコアレジスタセルへの制御ワードは、スイッチS W□、SW、、、。、(ただしiは0と3との間の数)、sw、、、、o 、s wc、、、。、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と、アクセスバスAC Cと、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およびスイッチi d+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、 (@!I F −−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−21d 3) 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を含有し、re g 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はr eg 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つがストレージ内に記憶される:i al 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、4B F旧、4CFIG、/+D F旧、4E FIG、4F FI3.4G FIG、5CFIG、5D FIG、6A FIG、6B Db N 総称レジスタセルか1Mおよび(メD平面)FIG、9A FIG、98 FI G、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レベル構造((e 1,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)それぞれがデータワードを記憶するようにされた、いくつかのレジスタ(S o,o、からS3.3まで、F0からF3まで、ID、ENV)であって、それ ぞれのデータワードがマーク部分および情報部分を有し、 該マーク部分が問題となっている前記レジスタが使用されているか否かを示すマ ークを含み、それぞれの前記リストが所定数の前記レジスタに記憶可能であり、 使用されているとのマークを有する前記レジスタのうちのそれぞれの該レジスタ の前記マーク部分が、前記リストの1つの少なくとも一部分が実際の前記レジス タに記憶されていることと、一部分を該実際のレジスタに記憶されている前記リ ストが、それがどのような種類のリストであるのか、また前記レジスタ内の前記 リストの配列のどこから前記リスト間の関係が明らかになるのか、についてのリ スト命令を含むことと、を示している、前記いくつかのレジスタと、 c)前記レジスタを制御し、かつ該レジスタに記憶されているリストに属する前 記リスト命令を用いることにより、該リストを該レジスタ間において再配列し、 かつ前記リスト命令に従ってレジスタ内容を入力/出力する制御手段(6p)と 、 を含む、構造演算処理用の演算装置。
  23. 23.前記レジスタに記憶されている前記リストが、該リストの1つをルーツリ ストとして有するリストの木として配列されていることを特徴とする、請求項2 2記載の演算装置。
  24. 24.リストを記憶するレジスタの前記所定数の最大値が4であることを特徴と する、請求項22または請求項23記載の演算装置。
  25. 25.前記リストの木の最大深度が3レベルであることを特徴とする、請求項2 3または請求項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からF 3まで)内に記憶され、またそのエレメントの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ビットレジスタ(r R)と、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トランジスタ のドレインが前記外部バスのワイヤヘの出力であることを特徴とする、請求項5 0記載の演算装置。
  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記載の演算装 置。
JP91514005A 1990-08-02 1991-08-01 構造演算用演算装置 Pending JPH05508725A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
SE9002558A SE9002558D0 (sv) 1990-08-02 1990-08-02 Processor
SE9002558-6 1990-08-02
PCT/SE1991/000514 WO1992002874A1 (en) 1990-08-02 1991-08-01 An arithmetic unit for structure arithmetic

Publications (1)

Publication Number Publication Date
JPH05508725A true JPH05508725A (ja) 1993-12-02

Family

ID=20380081

Family Applications (6)

Application Number Title Priority Date Filing Date
JP91513500A Pending JPH05508730A (ja) 1990-08-02 1991-08-01 連想メモリ
JP91513502A Pending JPH05508722A (ja) 1990-08-02 1991-08-01 リダクションプロセッサ
JP91514005A Pending JPH05508725A (ja) 1990-08-02 1991-08-01 構造演算用演算装置
JP91513499A Pending JPH05508729A (ja) 1990-08-02 1991-08-01 ビット記憶セル
JP91513503A Pending JPH05508723A (ja) 1990-08-02 1991-08-01 リダクションプロセッサにおける能動記憶装置
JP91513501A Pending JPH05508952A (ja) 1990-08-02 1991-08-01 算術処理、論理処理及び関連する処理を実行する方法及び数値演算装置

Family Applications Before (2)

Application Number Title Priority Date Filing Date
JP91513500A Pending JPH05508730A (ja) 1990-08-02 1991-08-01 連想メモリ
JP91513502A Pending JPH05508722A (ja) 1990-08-02 1991-08-01 リダクションプロセッサ

Family Applications After (3)

Application Number Title Priority Date Filing Date
JP91513499A Pending JPH05508729A (ja) 1990-08-02 1991-08-01 ビット記憶セル
JP91513503A Pending JPH05508723A (ja) 1990-08-02 1991-08-01 リダクションプロセッサにおける能動記憶装置
JP91513501A Pending JPH05508952A (ja) 1990-08-02 1991-08-01 算術処理、論理処理及び関連する処理を実行する方法及び数値演算装置

Country Status (23)

Country Link
US (6) US5379387A (ja)
EP (6) EP0541678B1 (ja)
JP (6) JPH05508730A (ja)
KR (1) KR930701818A (ja)
CN (6) CN1030018C (ja)
AT (5) ATE116455T1 (ja)
AU (6) AU8333191A (ja)
BG (3) BG97381A (ja)
CA (6) CA2086591A1 (ja)
DE (5) DE69102065T2 (ja)
ES (3) ES2051129T3 (ja)
FI (3) FI930434A (ja)
HU (3) HUT63710A (ja)
IL (6) IL99056A (ja)
LT (6) LTIP379A (ja)
NO (3) NO930302L (ja)
NZ (3) NZ239240A (ja)
RO (1) RO109487B1 (ja)
SE (1) SE9002558D0 (ja)
SK (2) SK402592A3 (ja)
TW (5) TW199213B (ja)
WO (6) WO1992002876A1 (ja)
ZA (6) ZA916121B (ja)

Families Citing this family (118)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1993024888A1 (en) * 1992-05-22 1993-12-09 Massachusetts Institute Of Technology Response resolver for associative memories and parallel processors
JP3376604B2 (ja) * 1992-07-20 2003-02-10 カシオ計算機株式会社 情報管理装置
IT1270230B (it) 1994-06-16 1997-04-29 Enichem Sintesi Composizione catalitica e processo per l'alchilazione di composti aromatici
US5619711A (en) * 1994-06-29 1997-04-08 Motorola, Inc. Method and data processing system for arbitrary precision on numbers
GB2293468B (en) * 1994-09-21 1999-09-29 Sony Uk Ltd Data processing systems
JP3037089B2 (ja) * 1994-12-14 2000-04-24 川崎製鉄株式会社 連想メモリ
FR2736737B1 (fr) * 1995-07-12 1997-08-14 Alcatel Nv Dispositif de gestion de relations entre des objets
US5943242A (en) * 1995-11-17 1999-08-24 Pact Gmbh Dynamically reconfigurable data processing system
US7266725B2 (en) 2001-09-03 2007-09-04 Pact Xpp Technologies Ag Method for debugging reconfigurable architectures
US6750107B1 (en) 1996-01-31 2004-06-15 Micron Technology, Inc. Method and apparatus for isolating a SRAM cell
US6103579A (en) * 1996-01-31 2000-08-15 Micron Technology, Inc. Method of isolating a SRAM cell
US5964825A (en) * 1996-02-09 1999-10-12 Texas Instruments Incorporated Manipulation of boolean values and conditional operation in a microprocessor
US5706224A (en) * 1996-10-10 1998-01-06 Quality Semiconductor, Inc. Content addressable memory and random access memory partition circuit
DE19651075A1 (de) 1996-12-09 1998-06-10 Pact Inf Tech Gmbh Einheit 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
US6338106B1 (en) 1996-12-20 2002-01-08 Pact Gmbh I/O and memory bus system for DFPS and units with two or multi-dimensional programmable cell architectures
DE19654593A1 (de) 1996-12-20 1998-07-02 Pact Inf Tech Gmbh Umkonfigurierungs-Verfahren für programmierbare Bausteine zur Laufzeit
DE19654595A1 (de) * 1996-12-20 1998-07-02 Pact Inf Tech Gmbh I0- und Speicherbussystem für DFPs sowie Bausteinen mit zwei- oder mehrdimensionaler programmierbaren Zellstrukturen
DE19654846A1 (de) * 1996-12-27 1998-07-09 Pact Inf Tech Gmbh Verfahren zum selbständigen dynamischen Umladen von Datenflußprozessoren (DFPs) sowie Bausteinen mit zwei- oder mehrdimensionalen programmierbaren Zellstrukturen (FPGAs, DPGAs, o. dgl.)
DE59710317D1 (de) 1996-12-27 2003-07-24 Pact Inf Tech Gmbh VERFAHREN ZUM SELBSTÄNDIGEN DYNAMISCHEN UMLADEN VON DATENFLUSSPROZESSOREN (DFPs) SOWIE BAUSTEINEN MIT ZWEI- ODER MEHRDIMENSIONALEN PROGRAMMIERBAREN ZELLSTRUKTUREN (FPGAs, DPGAs, o.dgl.)
US6374346B1 (en) 1997-01-24 2002-04-16 Texas Instruments Incorporated Processor with conditional execution of every instruction
DE19704044A1 (de) * 1997-02-04 1998-08-13 Pact Inf Tech Gmbh Verfahren zur automatischen Adressgenerierung von Bausteinen innerhalb Clustern aus einer Vielzahl dieser Bausteine
US6542998B1 (en) 1997-02-08 2003-04-01 Pact Gmbh Method of self-synchronization of configurable elements of a programmable module
DE19704728A1 (de) * 1997-02-08 1998-08-13 Pact Inf Tech Gmbh Verfahren zur Selbstsynchronisation von konfigurierbaren Elementen eines programmierbaren Bausteines
DE19704742A1 (de) 1997-02-11 1998-09-24 Pact Inf Tech Gmbh Internes 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-15 2002-01-31 Gmd Gmbh Frei programmierbares, universelles parallel-rechnersystem zur durchführung von allgemeinen berechnungen
US8686549B2 (en) 2001-09-03 2014-04-01 Martin Vorbach Reconfigurable elements
US5943492A (en) * 1997-12-05 1999-08-24 Digital Equipment Corporation Apparatus and method for generating external interface signals in a microprocessor
DE19861088A1 (de) 1997-12-22 2000-02-10 Pact Inf Tech Gmbh Verfahren zur Reparatur von integrierten Schaltkreisen
DE19807872A1 (de) 1998-02-25 1999-08-26 Pact Inf Tech Gmbh Verfahren zur Verwaltung von Konfigurationsdaten in Datenflußprozessoren sowie Bausteinen mit zwei- oder mehrdimensionalen programmierbaren Zellstruktur (FPGAs, DPGAs, o. dgl.
US6236585B1 (en) * 1998-05-13 2001-05-22 Texas Instruments Incorporated Dynamic, data-precharged, variable-entry-length, content addressable memory circuit architecture with multiple transistor threshold voltage extensions
EP1228440B1 (de) 1999-06-10 2017-04-05 PACT XPP Technologies AG Sequenz-partitionierung auf zellstrukturen
US6097651A (en) * 1999-06-30 2000-08-01 Quicklogic Corporation Precharge circuitry in RAM circuit
SE516171C2 (sv) * 1999-07-21 2001-11-26 Ericsson Telefon Ab L M Processorarkitektur anpassas för programspråk med sekventiellt instruktionsflöde
US6934795B2 (en) * 1999-09-23 2005-08-23 Netlogic Microsystems, Inc. Content addressable memory with programmable word width and programmable priority
US6801981B1 (en) 2000-06-14 2004-10-05 Netlogic Microsystems, Inc. Intra-row configurability of content addressable memory
US6751701B1 (en) 2000-06-14 2004-06-15 Netlogic Microsystems, Inc. Method and apparatus for detecting a multiple match in an intra-row configurable CAM system
US6944709B2 (en) * 1999-09-23 2005-09-13 Netlogic Microsystems, Inc. Content addressable memory with block-programmable mask write mode, word width and priority
US6799243B1 (en) 2000-06-14 2004-09-28 Netlogic Microsystems, Inc. Method and apparatus for detecting a match in an intra-row configurable cam system
US6542391B2 (en) * 2000-06-08 2003-04-01 Netlogic Microsystems, Inc. Content addressable memory with configurable class-based storage partition
US6813680B1 (en) 2000-06-14 2004-11-02 Netlogic Microsystems, Inc. Method and apparatus for loading comparand data into a content addressable memory system
EP1107107A1 (en) * 1999-12-10 2001-06-13 Koninklijke Philips Electronics N.V. Parallel data processing and shuffling
IL144901A0 (en) * 2000-01-13 2002-06-30 Yasukura Yutaka Electronic information inquiry process
EP1342158B1 (de) 2000-06-13 2010-08-04 Richter, Thomas Pipeline ct-protokolle und -kommunikation
US6560670B1 (en) 2000-06-14 2003-05-06 Netlogic Microsystems, Inc. Inter-row configurability of content addressable memory
US6246601B1 (en) * 2000-06-14 2001-06-12 Netlogic Microsystems, Inc. Method and apparatus for using an inter-row configurable content addressable memory
US6963882B1 (en) * 2000-10-02 2005-11-08 International Business Machines Corporation Method and apparatus for processing a list structure
US8058899B2 (en) 2000-10-06 2011-11-15 Martin Vorbach Logic cell array and bus system
KR100413384B1 (ko) * 2000-10-24 2004-01-03 주식회사 삼양제넥스 옥피로부터 수용성 식이섬유의 제조 방법
GB2370380B (en) 2000-12-19 2003-12-31 Picochip Designs Ltd Processor architecture
US6990555B2 (en) * 2001-01-09 2006-01-24 Pact Xpp Technologies Ag Method of hierarchical caching of configuration data having dataflow processors and modules having two- or multidimensional programmable cell structure (FPGAs, DPGAs, etc.)
US7844796B2 (en) 2001-03-05 2010-11-30 Martin Vorbach Data processing device and method
US7444531B2 (en) 2001-03-05 2008-10-28 Pact Xpp Technologies Ag Methods and devices for treating and processing data
US9037807B2 (en) 2001-03-05 2015-05-19 Pact Xpp Technologies Ag Processor arrangement on a chip including data processing, memory, and interface elements
US7058637B2 (en) * 2001-05-15 2006-06-06 Metatomix, Inc. Methods and apparatus for enterprise application integration
WO2005029365A2 (en) * 2003-07-07 2005-03-31 Metatomix, Inc. Surveillance, monitoring and real-time events platform
US7302440B2 (en) * 2001-07-27 2007-11-27 Metatomix, Inc. Methods and apparatus for statistical data analysis and reduction for an enterprise application
US6925457B2 (en) * 2001-07-27 2005-08-02 Metatomix, Inc. Methods and apparatus for querying a relational data store using schema-less queries
US6856992B2 (en) * 2001-05-15 2005-02-15 Metatomix, Inc. Methods and apparatus for real-time business visibility using persistent schema-less data storage
US20030208499A1 (en) * 2002-05-03 2003-11-06 David Bigwood Methods and apparatus for visualizing relationships among triples of resource description framework (RDF) data sets
US7890517B2 (en) * 2001-05-15 2011-02-15 Metatomix, Inc. Appliance for enterprise information integration and enterprise resource interoperability platform and methods
ATE557344T1 (de) 2001-06-20 2012-05-15 Krass Maren Verfahren und gerät zum partitionieren von grossen rechnerprogrammen
US7996827B2 (en) 2001-08-16 2011-08-09 Martin Vorbach Method for the translation of programs for reconfigurable architectures
US7434191B2 (en) 2001-09-03 2008-10-07 Pact Xpp Technologies Ag Router
US8686475B2 (en) 2001-09-19 2014-04-01 Pact Xpp Technologies Ag Reconfigurable elements
EP1483682A2 (de) 2002-01-19 2004-12-08 PACT XPP Technologies AG Reconfigurierbarer prozessor
EP1514193B1 (de) 2002-02-18 2008-07-23 PACT XPP Technologies AG Bussysteme und rekonfigurationsverfahren
US8914590B2 (en) 2002-08-07 2014-12-16 Pact Xpp Technologies Ag Data processing method and device
WO2004021176A2 (de) 2002-08-07 2004-03-11 Pact Xpp Technologies Ag Verfahren und vorrichtung zur datenverarbeitung
US7657861B2 (en) 2002-08-07 2010-02-02 Pact Xpp Technologies Ag Method and device for processing data
US7394284B2 (en) 2002-09-06 2008-07-01 Pact Xpp Technologies Ag Reconfigurable sequencer structure
WO2004034625A2 (en) * 2002-10-07 2004-04-22 Metatomix, Inc. Methods and apparatus for identifying related nodes in a directed graph having named arcs
US7130229B2 (en) 2002-11-08 2006-10-31 Intel Corporation Interleaved mirrored memory systems
US7017017B2 (en) 2002-11-08 2006-03-21 Intel Corporation Memory controllers with interleaved mirrored memory modes
EP1676208A2 (en) 2003-08-28 2006-07-05 PACT XPP Technologies AG Data processing device and method
DE102004013180A1 (de) * 2004-03-17 2005-10-06 Giesecke & Devrient Gmbh Speicherbereinigung (Garbage Collection) für Smart Cards
US7665063B1 (en) 2004-05-26 2010-02-16 Pegasystems, Inc. Integration of declarative rule-based processing with procedural programming
US8335704B2 (en) * 2005-01-28 2012-12-18 Pegasystems Inc. Methods and apparatus for work management and routing
US7570503B1 (en) 2005-05-20 2009-08-04 Netlogic Microsystems, Inc. Ternary content addressable memory (TCAM) cells with low signal line numbers
JP2009524134A (ja) 2006-01-18 2009-06-25 ペーアーツェーテー イクスペーペー テクノロジーズ アクチエンゲゼルシャフト ハードウェア定義方法
US20090132232A1 (en) * 2006-03-30 2009-05-21 Pegasystems Inc. Methods and apparatus for implementing multilingual software applications
US8924335B1 (en) 2006-03-30 2014-12-30 Pegasystems Inc. Rule-based user interface conformance methods
US7827451B2 (en) * 2006-05-24 2010-11-02 International Business Machines Corporation Method, system and program product for establishing decimal floating point operands for facilitating testing of decimal floating point instructions
US8250525B2 (en) 2007-03-02 2012-08-21 Pegasystems Inc. Proactive performance management for multi-user enterprise software systems
US7697444B2 (en) * 2007-09-07 2010-04-13 Fujitsu Limited Testing a circuit using a shared bandwidth test bus
GB2454865B (en) 2007-11-05 2012-06-13 Picochip Designs Ltd Power control
JP4529098B2 (ja) * 2008-07-29 2010-08-25 ソニー株式会社 演算処理装置および方法、並びにプログラム
US10481878B2 (en) * 2008-10-09 2019-11-19 Objectstore, Inc. User interface apparatus and methods
US8843435B1 (en) 2009-03-12 2014-09-23 Pegasystems Inc. Techniques for dynamic data processing
US8468492B1 (en) 2009-03-30 2013-06-18 Pegasystems, Inc. System and method for creation and modification of software applications
GB2470037B (en) 2009-05-07 2013-07-10 Picochip Designs Ltd Methods and devices for reducing interference in an uplink
GB2470771B (en) 2009-06-05 2012-07-18 Picochip Designs Ltd A method and device in a communication network
GB2470891B (en) 2009-06-05 2013-11-27 Picochip Designs Ltd A method and device in a communication network
US8666720B2 (en) * 2009-08-04 2014-03-04 Henry Chung-herng Chang Software extensions to a high level description language simulator to provide infrastructure for analog, mixed-signal, RF modeling and verification
GB2474071B (en) 2009-10-05 2013-08-07 Picochip Designs Ltd Femtocell base station
GB2482869B (en) 2010-08-16 2013-11-06 Picochip Designs Ltd Femtocell access control
US8880487B1 (en) 2011-02-18 2014-11-04 Pegasystems Inc. Systems and methods for distributed rules processing
GB2489919B (en) 2011-04-05 2018-02-14 Intel Corp Filter
GB2489716B (en) 2011-04-05 2015-06-24 Intel Corp Multimode base system
GB2491098B (en) 2011-05-16 2015-05-20 Intel Corp Accessing a base station
US9195936B1 (en) 2011-12-30 2015-11-24 Pegasystems Inc. System and method for updating or modifying an application without manual coding
JP2013242700A (ja) * 2012-05-21 2013-12-05 Internatl Business Mach Corp <Ibm> コード最適化方法、プログラム及びシステム
US11150721B2 (en) * 2012-11-07 2021-10-19 Nvidia Corporation Providing hints to an execution unit to prepare for predicted subsequent arithmetic operations
US9519804B2 (en) * 2013-02-05 2016-12-13 Hackproof Technologies, Inc. Domain-specific hardwired symbolic machine that validates and maps a symbol
US10303881B2 (en) 2013-02-05 2019-05-28 Hackproof Technologies Inc. Soft-wired radio (SWR) web machine
KR102259406B1 (ko) * 2014-07-30 2021-06-03 모비디어스 리미티드 명령어 사전인출을 위한 방법 및 장치
US10469396B2 (en) 2014-10-10 2019-11-05 Pegasystems, Inc. Event processing with enhanced throughput
WO2017066427A1 (en) 2015-10-13 2017-04-20 Hackproof Technologies, Inc. Soft-wired radio (swr) web machine
US10698599B2 (en) 2016-06-03 2020-06-30 Pegasystems, Inc. Connecting graphical shapes using gestures
US10698647B2 (en) 2016-07-11 2020-06-30 Pegasystems Inc. Selective sharing for collaborative application usage
WO2018015848A2 (en) * 2016-07-17 2018-01-25 Gsi Technology Inc. Finding k extreme values in constant processing time
KR102467698B1 (ko) * 2016-07-26 2022-11-16 삼성전자주식회사 적층형 메모리 장치, 이를 포함하는 시스템 및 그 동작 방법
US10956572B2 (en) 2016-08-22 2021-03-23 Hackproof Technologies Inc. Domain-specific hardwired web browser machine
GB2562520A (en) 2017-05-17 2018-11-21 John Hamlin Derrick Digital processing connectivity
US10514914B2 (en) * 2017-08-29 2019-12-24 Gsi Technology Inc. Method for min-max computation in associative memory
US11048488B2 (en) 2018-08-14 2021-06-29 Pegasystems, Inc. Software code optimizer and method
CN110690991B (zh) * 2019-09-10 2021-03-19 无锡江南计算技术研究所 一种基于逻辑树的无阻塞网络归约计算装置、方法
US11567945B1 (en) 2020-08-27 2023-01-31 Pegasystems Inc. Customized digital content generation systems and methods
CN113919580B (zh) * 2021-10-19 2024-10-29 南方电网科学研究院有限责任公司 一种多省区电网周运行计划编制方法

Family Cites Families (48)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
NL272844A (ja) * 1960-12-22
US3253265A (en) * 1961-12-29 1966-05-24 Ibm Associative memory ordered retrieval
DE1921577B2 (de) * 1969-04-28 1972-04-06 Nixdorf Computer Ag, 4790 Paderborn Trommelartige vorrichtung zn buchungs- und schreibautomaten mit greifeinrichtung zum erfassen und einziehen von kontokarten o dgl
SE374973B (ja) * 1970-02-17 1975-03-24 Western Electric Co
US3610967A (en) * 1970-02-27 1971-10-05 Ibm Integrated memory cell circuit
US3634833A (en) * 1970-03-12 1972-01-11 Texas Instruments Inc Associative memory circuit
US4503511A (en) * 1971-08-31 1985-03-05 Texas Instruments Incorporated Computing system with multifunctional arithmetic logic unit in single integrated circuit
US3878513A (en) * 1972-02-08 1975-04-15 Burroughs Corp Data processing method and apparatus using occupancy indications to reserve storage space for a stack
US3953866A (en) * 1974-05-10 1976-04-27 Signetics Corporation Cross coupled semiconductor memory cell
DE2460150C2 (de) * 1974-12-19 1984-07-12 Ibm Deutschland Gmbh, 7000 Stuttgart Monolitisch integrierbare Speicheranordnung
GB1540299A (en) * 1975-02-15 1979-02-07 Mathematik Datenverarbeitung G Computer employing reduction language
FR2337398A1 (fr) * 1975-12-30 1977-07-29 Ibm France Dispositif d'ecriture rapide pour cellules de memoire
DE3105503A1 (de) * 1981-02-14 1982-09-02 Brown, Boveri & Cie Ag, 6800 Mannheim Assoziativer zugriffsspeicher
EP0069525B1 (en) * 1981-06-30 1986-04-16 Fujitsu Limited Data processing system
US4502118A (en) * 1981-07-07 1985-02-26 Burroughs Corporation Concurrent network of reduction processors for executing programs stored as treelike graphs employing variable-free applicative language codes
US4447875A (en) * 1981-07-07 1984-05-08 Burroughs Corporation Reduction processor for executing programs stored as treelike graphs employing variable-free applicative language codes
JPS58147889A (ja) * 1982-02-26 1983-09-02 Mitsubishi Electric Corp 半導体装置
US4709327A (en) * 1983-05-31 1987-11-24 Hillis W Daniel Parallel processor/memory circuit
DE3335423A1 (de) * 1983-09-29 1985-04-04 Siemens AG, 1000 Berlin und 8000 München Schaltung zur spannungsvervielfachung
US4644464A (en) * 1984-06-05 1987-02-17 Burroughs Corporation Graph manager for a reduction processor evaluating programs stored as binary directed graphs employing variable-free applicative language codes
US4615003A (en) * 1984-06-05 1986-09-30 Burroughs Corporation Condition concentrator and control store for a reduction processor evaluating programs stored as binary directed graphs employing variable-free applicative language codes
US4654780A (en) * 1984-06-05 1987-03-31 Burroughs Corporation Parallel register transfer mechanism for a reduction processor evaluating programs stored as binary directed graphs employing variable-free applicative language codes
US4785393A (en) * 1984-07-09 1988-11-15 Advanced Micro Devices, Inc. 32-Bit extended function arithmetic-logic unit on a single chip
US4734848A (en) * 1984-07-17 1988-03-29 Hitachi, Ltd. Combination reduction processing method and apparatus
JPS61107596A (ja) * 1984-10-31 1986-05-26 Nec Corp 連想記憶装置
US4616315A (en) * 1985-01-11 1986-10-07 Burroughs Corporation System memory for a reduction processor evaluating programs stored as binary directed graphs employing variable-free applicative language codes
US4598361A (en) * 1985-01-11 1986-07-01 Burroughs Corporation Allocator for a reduction processor evaluating programs stored as binary directed graphs employing variable-free applicative language codes
US5173872A (en) * 1985-06-13 1992-12-22 Intel Corporation Content addressable memory for microprocessor system
US4847755A (en) * 1985-10-31 1989-07-11 Mcc Development, Ltd. Parallel processing method and apparatus for increasing processing throughout by parallel processing low level instructions having natural concurrencies
US5021945A (en) * 1985-10-31 1991-06-04 Mcc Development, Ltd. Parallel processor system for processing natural concurrencies and method therefor
US4777622A (en) * 1985-11-26 1988-10-11 Max-Planck-Gesellschaft Zur Foerderung Der Wissenschaften E.V. Associative data storage system
JPS62134890A (ja) * 1985-12-05 1987-06-17 Matsushita Electric Ind Co Ltd 半導体記憶装置
EP0227348A3 (en) * 1985-12-11 1991-09-25 Advanced Micro Devices, Inc. Content addressable memory circuit and method
JPH0810553B2 (ja) * 1986-06-13 1996-01-31 松下電器産業株式会社 記憶回路
GB2211638A (en) * 1987-10-27 1989-07-05 Ibm Simd array processor
US4922413A (en) * 1987-03-24 1990-05-01 Center For Innovative Technology Method for concurrent execution of primitive operations by dynamically assigning operations based upon computational marked graph and availability of data
GB8718056D0 (en) * 1987-07-30 1987-09-03 Int Computers Ltd Data processing system
JPH01223697A (ja) * 1988-03-01 1989-09-06 Mitsubishi Electric Corp 内容番地付け記憶装置
US4890260A (en) * 1988-05-11 1989-12-26 Advanced Micro Devices Content addressable memory array with maskable and resettable bits
US4928260A (en) * 1988-05-11 1990-05-22 Advanced Micro Devices, Inc. Content addressable memory array with priority encoder
US5099450A (en) * 1988-09-22 1992-03-24 Syracuse University Computer for reducing lambda calculus expressions employing variable containing applicative language code
JPH02187993A (ja) * 1989-01-13 1990-07-24 Mitsubishi Electric Corp 連想メモリ装置
GB8901924D0 (en) * 1989-01-28 1989-03-15 Int Computers Ltd Data processing system
KR910009445B1 (ko) * 1989-02-02 1991-11-16 정호선 신경회로망을 이용한 연상메모리(Associative memory)
US5072422A (en) * 1989-05-15 1991-12-10 E-Systems, Inc. Content-addressed memory system with word cells having select and match bits
US5175843A (en) * 1989-10-30 1992-12-29 General Electric Company Computer-aided design method for restructuring computational networks to minimize shimming delays
US5201056A (en) * 1990-05-02 1993-04-06 Motorola, 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-10 1991-05-07 Digital Equipment Corporation, Inc. Configurable set associative cache with decoded data element enable lines

Also Published As

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

Similar Documents

Publication Publication Date Title
JPH05508725A (ja) 構造演算用演算装置
US3374466A (en) Data processing system
Maibaum A generalized approach to formal languages
Gurevich et al. Algebraic operational semantics and Modula-2
Radin et al. NPL: highlights of a new programming language
US3821708A (en) Electronic control unit for the linking of symmetrical closed chains of words in a random access memory
Bergeron et al. Systems programming languages
JPH03244059A (ja) Dmaコントローラ
Anagnostopoulos et al. Computer architecture and instruction set design
US3238508A (en) Logical manipulator
Al-Sharif Functional Level Simulator for Universal AHPL.
JPS59123934A (ja) プログラム可能な論理制御装置
Händler et al. Fitting processors to the needs of a general purpose array (EGPA)
Gram et al. GIER-A Danish computer of medium size
JP2564318B2 (ja) 通信処理装置
Blum et al. Programming languages
Goad MUMPS code-building package for data-base management
Noguez A standardized microprogram sequencing control with a push down storage
Kheriaty A multilingual interpreter for interactive computing in an academic environment
Pensom On the classification and selection of small-to medium-sized computers for real-time applications
Lees Introductory concurrent programming with Modula-2
Chu et al. A programming language for high-level architecture
Schreiner Cleopatra: a proposal for another system implementation language.
JPH034331A (ja) 宣言的に定義された数論的関数処理方式
JPS63311403A (ja) Pcの入出力信号処理方式