[go: up one dir, main page]

JPH05508723A - Active storage in reduction processors - Google Patents

Active storage in reduction processors

Info

Publication number
JPH05508723A
JPH05508723A JP91513503A JP51350391A JPH05508723A JP H05508723 A JPH05508723 A JP H05508723A JP 91513503 A JP91513503 A JP 91513503A JP 51350391 A JP51350391 A JP 51350391A JP H05508723 A JPH05508723 A JP H05508723A
Authority
JP
Japan
Prior art keywords
list
expression
computing device
alt
nothing
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
JP91513503A
Other languages
Japanese (ja)
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 JPH05508723A publication Critical patent/JPH05508723A/en
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)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Analysis (AREA)
  • Computational 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)
  • Vehicle Body Suspensions (AREA)
  • Medicines That Contain Protein Lipid Enzymes And Other Medicines (AREA)
  • Pharmaceuticals Containing Other Organic And Inorganic Compounds (AREA)
  • Measuring Pulse, Heart Rate, Blood Pressure Or Blood Flow (AREA)
  • Monitoring And Testing Of Nuclear Reactors (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Paper (AREA)
  • Steering Control In Accordance With Driving Conditions (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Semiconductor Memories (AREA)
  • Studio Devices (AREA)
  • Controls And Circuits For Display Device (AREA)
  • Transforming Electric Information Into Light Information (AREA)
  • Control Of Indicators Other Than Cathode Ray Tubes (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるため要約のデータは記録されません。 (57) [Summary] This bulletin contains application data before electronic filing, so abstract data is not recorded.

Description

【発明の詳細な説明】 リダクションプロセッサにおける能動記憶装置発明の背景 コンピュータは1940年代に発明された。それ以来、革命的なスピードで発達 してきた。それにもかかわらず、今日のコンピュータは初期のものとほとんど同 じ構造を育している。[Detailed description of the invention] Background of invention of active storage device in reduction processor Computers were invented in the 1940s. Since then, it has developed at a revolutionary speed. I've been doing it. Nevertheless, today's computers are nearly identical to their early predecessors. The same structure is being developed.

多くの改良がハードウェアにおいてなされた。VLSIの導入とりソグラフィ技 術の改善によって、はんの5年前にはスーパコンピュータと呼ばれたものが1チ ツプで製造できるようになった。線幅は指数関数的に細くなり、今や1ミクロン 以下である。能動トランジスタの数やクロック速度は数桁増大した。しかし、物 理的な制約から線幅は多分0.2ミクロンに#限されるだろう。Many improvements have been made in the hardware. Introduction of VLSI lithography techniques Due to improvements in technology, what was called a supercomputer five years before Han's arrival was one-chip. Can now be manufactured with Tsupu. Line width has become exponentially thinner and is now 1 micron. It is as follows. The number of active transistors and clock speeds have increased by several orders of magnitude. However, things Line widths will probably be limited to #0.2 microns due to physical constraints.

同じ期間を通じて、コンピュータアーキテクチャはシリコンの使用においては変 更がなかった。それどころか、多くのコンピュータはより高速を目指して最適量 以上のシリコンを用いてきた。Throughout the same period, computer architecture has changed in the use of silicon. There was no change. On the contrary, many computers aim for higher speeds and use an optimal amount of The above silicones have been used.

これら両方の事実のために今後5年間のシングル・プロセッサの演算速度の発展 は停止するだろう。パラレル(並列)プロセッサが導入されているが、増大する 複雑さのためにハードウェアコストが増大し、多くのプログラムに対してはプロ グラミングコストが桁はずれに増大する。Due to both of these facts, the evolution of single processor computational speed over the next five years will stop. Parallel processors have been introduced and will grow Complexity increases hardware costs, and for many programs Gramming costs increase by orders of magnitude.

お互いの関係をみると、ハードウェアコストは減少しているが新しいシステムの プログラミングコストはかなり増大し、やがて禁止的レベルに達するであろう。Looking at the relationship between each other, hardware costs are decreasing, but new systems Programming costs will increase considerably and will eventually reach prohibitive levels.

コンピュータはソフトウェア、ハードウェア両面で種種のユニットの複雑な組立 体である。発展段階における種々のわく組、段階によりシステムに(その場かぎ りの、および確立された)発展した基準が創造された。この不規則性のために多 くのインターフェースが存在する。Computers are complex assemblies of various units in terms of both software and hardware. It is the body. Various frameworks and stages in the development of the system (on-the-spot Standards developed (and established) were created. Due to this irregularity, There are many interfaces.

異なった性質、形式のこれら全ての、インタフェースおよびわく組のために、ユ ーザまたはプログラマはマシンを用いるのが困難になり(多くの知識を必要とす る)、また複雑さのために思わぬエラーを導入するかもしれなかった。Because of all these interfaces and frameworks of different nature and format, the user It becomes difficult for the user or programmer to use the machine (requires a lot of knowledge) ), and could introduce unintended errors due to complexity.

しかし、最近、いわゆるリダクシヨン(簡約)プロセッサが発達してきている。However, recently, so-called reduction processors have been developed.

リダクションプロセッサは算術式を含む一定の構造を有するプログラムを実行す る。A reduction processor executes a program with a certain structure that contains arithmetic expressions. Ru.

そしてこの構造は多くのりダクションステップに簡約される。従って、プログラ ムは他の種類のコンピュータのように所定の順序では実行されない。This structure is then reduced to many glue reduction steps. Therefore, the program Systems do not run in a predetermined order like in other types of computers.

限定されたサイズを越えるリダクションプロセッサを開発するにはいくつかの困 難が存在した。There are several difficulties in developing a reduction processor that exceeds a limited size. There was a problem.

プログラミング言語の発展 初期のコンピュータの開発は、この形式のコンピュータに適合するいくつかのプ ログラミング言語(たとえば、フォートラン、コボル、アルガル、ベーシック、 パスカルなど)の開発を伴なった。これらの言語は命令型言語と呼ばれ、以下で は、主に、従来のコンピュータ(すなわちジョン・フォノ・ノイマンによって開 発された原理に基づいて設計されたコンピュータ)によって順番に実行されるべ き一連のコマンド又はインストラフシコン(命令)からなるプログラムを通常与 えるという事実のために、従来言語と呼ばれる。これらの言語の増大する不便さ のために、他の一連の言語(LISP、 ISWIM。Development of programming languages Early computer development led to the creation of several programs that were adapted to this type of computer. logging languages (e.g. Fortran, Kobol, Algal, Basic, Pascal, etc.). These languages are called imperative languages and are is primarily a traditional computer (i.e., developed by John Fono Neumann). which should be executed in sequence by a computer (designed based on the principles developed). A program is usually given as a series of commands or instructions. It is called a conventional language because of the fact that it can The growing inconvenience of these languages for a range of other languages (LISP, ISWIM.

5chene (LISPの一種) 、ML、 Hope、 5ASLなど)が 開発された。これらの言語の開発を推進したのは単純化という概念であり、どの マシンも設計に影響を与えていない。5chene (a type of LISP), ML, Hope, 5ASL, etc.) It has been developed. What drove the development of these languages was the concept of simplification; The machine also has no influence on the design.

関数型言語が注目を浴びるには少し時間がかかった。関数型言語の実行が遅かっ たのが一つの理由である。It took some time for functional languages to gain traction. Functional languages run slowly One reason is that

これらの関数プログラムがこの形式のコンピュータによって実行されるようにな っていなくとも最近の発展により、いくつかのケースにおいて、実行速度は、従 来のコンピュータによって実行される従来の(命令型)言語プログラムに対する ものに近いかそれと同じとなってき関数型言語を開発するのに多大の努力を要し たのは命令的形式言語の増大する不便さのためであった。人々は1970年頃ソ フトウェア危機について語り始めた。プログラムは増々複雑になり、しばしば多 くのエラーを含み、読みにくく、理解しにくく、また特に修正しにくかった。一 つの理由は、高水準命令型言語はプログラミングを簡単にするであろうという期 待が高かったにもかかわらず、これらの言語が思った程高水準でなかったという ことである。命令型言語は今だに初期のコンピュータ概念、すなわちフすン・ノ イマン型コンピュータに適合するようになっており、プログラミングのレベルは 今だにマシンレベルにかなり近い。関数型プログラミング言語は、従来のプログ ラミング言語の欠点のい(つかを緩和するいくつかの特徴を有している。These function programs are now executed by this type of computer. Recent developments have shown that in some cases, execution speed has for traditional (imperative) language programs executed by modern computers. It takes a lot of effort to develop functional languages that are close to or the same as This was due to the increasing inconvenience of imperative formal languages. Around 1970, people He started talking about the software crisis. Programs are becoming increasingly complex and often It contained many errors, was difficult to read, difficult to understand, and especially difficult to modify. one One reason is that high-level imperative languages would make programming easier. Although the waiting time was high, these languages were not as high standard as expected. That's true. Imperative languages are still based on early computer concepts, i.e. It is suitable for Iman-type computers, and the programming level is It's still pretty close to machine level. Functional programming languages are It has several features that alleviate some of the drawbacks of the Ramming language.

追加的な情報、理解のために、“FunctionalProgramming  Llsing 5tandard ML”人ke WikstroOm。For additional information and understanding, see “FunctionalProgramming  Llsing 5standard ML”人ke WikstroOm.

Prentice Hall、 I 987を参照。See Prentice Hall, I 987.

本発明の目的および利点を完全に理解するためには、計算の際、関数的アプロー チを含むものを理解することが重要である。特に、歴史的に主流であった命令的 アプローチとの比較において理解することか重要である。In order to fully understand the purpose and advantages of the present invention, it is necessary to take a functional approach to the calculations. It is important to understand what this includes. In particular, the historically mainstream imperative It is important to understand this in comparison with the approach.

「関数的アプローチ」という用語は、プログラムが関数型言語で書かれ、記憶さ れ、このような言語に特に適したハードウェアを含むコンピュータで実行される ことを意味する。等価的に、「命令的アプローチ」という用語は、プログラムが 命令型言語で書かれ、記憶され、命令型言語に適したハードウェアを含むコンピ ュータで実行されることを意味する。The term "functional approach" means that programs are written and memorized in a functional language. and run on a computer containing hardware specifically suited for such languages. It means that. Equivalently, the term "imperative approach" means that the program A computer written and stored in an imperative language and containing hardware suitable for imperative languages. means that it runs on a computer.

しかしながら、関数型言語で書かれたプログラムを従来のコンピュータで記憶、 実行することも可能である。However, programs written in functional languages can be stored on conventional computers. It is also possible to execute

逆に、命令型言語で書かれたプログラムを、関数型言語で書かれたプログラムを 実行するのに適したコンピュータで実行することも可能である。Conversely, a program written in an imperative language is different from a program written in a functional language. It can also be executed on any computer suitable for execution.

的)の特性の−組みの定義および計算規則とみることができる。定義は宣言部で あり、計算規則(すなわち簡約または書換規則)は、コンピュータが実行中に用 いる演算部である関数型言語はコンピュータに高水準のインタフェースを与え、 それによってプログラマはコンピュータのハードウェア関連の細部から抽出でき るようになる。It can be seen as a definition and calculation rule for -sets of properties (target). The definition is in the declaration section. Yes, calculation rules (i.e. reduction or rewriting rules) are used by the computer during execution. Functional languages provide a high-level interface to computers. It allows the programmer to extract details related to the computer's hardware. Become so.

付加的な効果として、関数型プログラムはしばしば短かくなり、従来の命令型プ ログラムより理解しやすい。関数型言語の主たる欠点の一つは、関数型プログラ ムを従来のコンピュータで実行するためには従来言語に翻訳しなければならない ことである。これはコンI(イラ又はインタープリタ−プログラムで行われてき た。関数的アブーチのいくつかの利点が、関数型プログラムを効果的な方法で記 憶、実行するタスクのための専用の/%−ドウエアが存在しないという事実によ って阻害されてしまうことは明らかであろう。As an added benefit, functional programs are often shorter and more compact than traditional imperative programs. Easier to understand than program. One of the major drawbacks of functional languages is that functional programming In order for a program to run on a conventional computer, it must be translated into a conventional language. That's true. This is done in a computer or interpreted program. Ta. Several advantages of functional abuchi allow you to write functional programs in an effective way. memory, due to the fact that there is no dedicated /%-ware for the task to be performed. It is clear that this will be hindered.

定義 本明細書で用いられる用語とその意味のリストを次に示す。definition The following is a list of terms used herein and their meanings.

要 素・・・データ構造においてより大きいものの一部リスト・・・要素(各要 素はリストであり得る)の指示された順序 挿入リスト・・・リストの一部であって、その全体が1クロージヤ(閉包)に記 憶されるのに十分小さい。任意の長リストを表現することを可能にする。Element... Partial list of larger items in the data structure... Element (each element (can be a list) Insert list: A part of the list, the whole of which is written in one closure. Small enough to be remembered. Allows you to express arbitrarily long lists.

閉 包・・・プロセスを定義する階層的に構成された実体。Closure: A hierarchically structured entity that defines a process.

全ての閉包は閉包を一義的に定義する根(ルーート)を育する。Every closure grows a root that uniquely defines the closure.

リダクションマシーンにおけるリダクシヨン(簡約)作業は閉包上でなされる。Reduction operations in reduction machines are done on closures.

マシンの全体の状態はりダクションによって変換される。The entire state of the machine is transformed by beam induction.

オブジェクト記憶・・・オブジェクトを記憶する記憶セルを含むメモリ。たとえ ば、連想メモリ。Object storage: Memory containing storage cells that store objects. parable Associative memory.

記憶セル・・・オブジェクト記憶内のセル。セル閉包を記憶し、他の記憶セルに 記憶された他のセル閉包を指すこともある。Memory cell: A cell in object memory. Remember cell closure and transfer to other storage cells May also refer to other stored cell closures.

セル閉包・・・記憶セル内の内容、 記憶セルフイールド・・・記憶セル内のフィールド閉包要素・・・記憶セルフイ ールドに記憶されたデータ要素閉包識別子−・・閉包を一義的に指す閉包セル要 素基準閉包・・・さらに簡約できない閉包、すなわち、当該セル閉包が簡約され るべき態様で簡約されるかもしれない他のいくつかのセル閉包を指す閉包識別子 を含まないセル閉包。Cell closure: Contents within a memory cell, Memory self-yield...Field closure element within memory cell...Memory self-yield data element closure identifier stored in the field - a closure cell element that uniquely points to the closure. Prime criterion closure: A closure that cannot be further reduced, that is, the cell closure in question is reduced. a closure identifier that points to some other cell closure that may be reduced in the way that should be Cell closure that does not contain.

ゴール・・・実行すなわち簡約されるべき閉包父 親・・・価/指定フィールド において少なくとも1つの閉包識別子を有する閉包 息 子・・・閉包識別子を介して他の閉包と結びついた閉包で、息子を指定する 。Goal: Execution, that is, the closure father to be reduced. Parent: Value/specified field. a closure with at least one closure identifier in Son: Specifies a son with a closure connected to other closures via a closure identifier .

息子は父親ともなり、また父親は息子ともなり得る。息子は2Å以上の父親を有 することがあり、また父親は2Å以上の息子を育することがある。A son can also be a father, and a father can also be a son. The son has a father of 2Å or more. fathers may raise sons 2 Å or larger.

閉包位置・・・当該閉包が根か節かどうかを表わす。Closure position: Indicates whether the closure is a root or a node.

根・・・閉包木における最上の閉包セル節・・−閉包木における根ではない閉包 セルホエア(where)−・・閉包位置を含む記憶セルフイールド型・・・セ ル閉包における型コード、すなわち目的の性質を表わすビットパターン。たとえ ば命令コード。Root...Topmost closure cell node in a closure tree...-a closure that is not a root in a closure tree Cell where - Memory including closure position Self-yield type... Cell type code in a le closure, a bit pattern that represents the nature of the object. parable instruction code.

レイジー・・・実行可能か、延期された評価か、不活性であるかを示すセル閉包 の要素 識別子・・・記憶セルに記憶された目的を示すのに用いられる特別の種類の閉包 要素。Lazy: Cell closure indicating executable, deferred evaluation, or inactive elements of Identifier: a special type of closure used to indicate the purpose stored in a storage cell element.

環 境・・・目的はそれに同一の環境を与えることによって分類できる 価/指定・・・単純な値(すなわち、直接表現)、無、別の閉包に対する指示( すなわち間接表現)のいずれかを記憶する閉包要素 コアセル・・・本発明による構造的演算装置。コアセルは閉包簡約化を含む構造 演算を実行できる。Environment: Objectives can be classified by giving them the same environment. Value/Specification: simple value (i.e. direct expression), nothing, indication for another closure ( (i.e. indirect expression) Core cell: structural arithmetic device according to the present invention. Core cell is a structure containing closure simplification Can perform calculations.

数値ALU・・・基本的な数値・論理演算を実行できる数値ALU、コアセルは 数値演算用の数値ALUを利用する。Numerical ALU: Numerical ALU that can perform basic numerical and logical operations, the core cell is Uses a numerical ALU for numerical calculations.

フル・レジスタ・・・コアセル内で全てのブレーンを通って延びるレジスタ。Full register: A register that extends through all branes within a core cell.

コア・ワード・・・コアセル内のフル・レジスタの内容制限レジスタ・・・価/ 指定型の閉包セル要素を含むような寸法の制限された量のブレーンを介して延び るコアセル内のレジスタ。Core word...Full register content limit register in core cell...Value/ Extends through a limited amount of branes of dimensions that contain closing cell elements of the specified type. register in the core cell.

要素ワード・・・制限レジスタの内容またはその制限レジスタと同じ波長を有す るフルレジスタの一部の内容 ナム(num)ワード・・・一つの値または指定を表わす要素ワードの部分 タグ(tag)ワード・・・ナムヮードにおける表現の特徴を示すタグを有する 要素ワードの部分 リダクション(簡約)・・・利用される特定のプログラミング言語の規則に従っ て閉包を書 換え/再構築すること。Element word: Contents of a limit register or having the same wavelength as the limit register Some contents of the full register num word: part of an element word that represents a value or specification Tag (tag) word: has a tag that indicates the characteristics of the expression in the nameword part of element word Reduction: According to the rules of the specific programming language used. write the closure To replace/reconstruct.

ビヘービア(行動)・・・系列または一点で統一された系列の代案のような時間 構造。“1″ は原則として行動でありうるとい うような集合理論における数学的 用Mr空集合Jとの類似において 変質して用いられる。Behavior: time as an alternative to a series or a series unified at one point structure. “1” can in principle be an action. Mathematics in set theory such as In analogy with Mr empty set J for Used in altered form.

発明の目的 本発明の目的は宣言的プログラミング言語を存する計算装置を提供することであ る。Purpose of invention It is an object of the present invention to provide a computing device that has a declarative programming language. Ru.

本発明の他の目的はりダクシタンプロセッサとして働く計算装置を提供すること である。Another object of the present invention is to provide a computing device that works as a duxitan processor. It is.

本発明の更に他の目的は、簡単で、プログラマに、全てのハードウェア関連の細 部から抽出させ、書くのに時間がかからず、エラーも少ない、プログラミング言 語を有する計算装置を提供することである。Yet another object of the invention is to simplify and provide the programmer with all hardware-related details. A programming language that extracts data from parts, takes less time to write, and has fewer errors. An object of the present invention is to provide a computing device having a word.

本発明の更に他の目的は、プログラミング言語のような一つの言語、オペレーテ ィングシステムおよび通信プロトコルを有する計算装置を提供することである。Yet another object of the invention is to provide a language, such as a programming language, an The objective of the present invention is to provide a computing device having a communication system and communication protocol.

本発明の更に他の目的は、その結合方法として単一化を存する関数型言語を実行 できる計算装置を提供することである。Yet another object of the present invention is to implement a functional language that has unification as its combination method. The objective is to provide a computing device that can

上記目的は、計算装置を構成することによって実質的に達成され、その計算装置 は以下のものを含む。The above object is substantially achieved by configuring a computing device, and the computing device includes:

イ) 各演算性能の向上を与えることができる情報を各各が育する複数の記憶セ ル手段を含む能動記憶手段、口) 前記能動記憶装置に接続された少なくとも1 個のボート手段、および ハ) 前記少なくとも1個のボート手段に接続された少なくとも1個の環境手段 。b) Multiple memory cells each cultivating information that can improve computational performance. at least one active storage device connected to said active storage device; boat means, and c) At least one environmental means connected to said at least one boat means .

好ましくは、上記計算装置は、ボート手段に与えられた信号系列と能動記憶手段 内の少なくとも1個の記憶セルに記憶された系列(記憶系列は未定義の系列要素 を育する)を比較する手段、および、比較の結果が明らかな差異を示す場合は比 較系列を「無Jすなわち矛盾を表わす何かに書換え、他の場合には、上記比較系 列を特定の系列に書換える手段を含むのが望ましい。比較手段は一定数のリスト 要素のうち少なくとも2つの要素を含むグループについて比較をなすくことがで きるであろう。Preferably, the computing device comprises a signal sequence applied to the boat means and an active storage means. A sequence stored in at least one storage cell in (a storage sequence is an undefined sequence element) and, if the results of the comparison show clear differences, Rewrite the comparison series to ``no J'', that is, something that represents a contradiction, and in other cases, use the above comparison series. It is desirable to include means for rewriting columns into a particular series. The means of comparison is a list of a certain number Comparisons can be made for groups that include at least two of the elements. It will be possible.

信号系列は、個々のサンプリング期間を有する時間とともに変化するサンプリン グされた信号として与えられるのが望ましく、その信号系列は要素のグループの リストであり、各グループは持続時間とその時間の間の少なくとも一つの信号量 を含む。各グループにおける所定の数のリスト要素は、各対が時間と信号量の組 合せを含む、対を2つ与えるのが適当である。A signal sequence is a time-varying sample with individual sampling periods. It is preferable that the signal sequence is given as a grouped signal, and the signal sequence is a group of elements. a list, where each group contains a duration and at least one signal amount during that time. including. The predetermined number of list elements in each group is such that each pair is a combination of time and signal amount. It is appropriate to provide two pairs, including combinations.

上記ボート手段の1つを少なくとも他のものと同期させ、各持続時間の間に上記 ボートからの信号量の並列表示をなす手段を備えることができる。別々のボート 上の信号量は同時に取出してお互いに比較できる。one of said boat means being synchronized with at least the other, said boat means being synchronized with said boat means during each duration; Means may be provided for parallel display of signal amounts from the boats. separate boats The above signal amounts can be extracted simultaneously and compared with each other.

記憶セル手段は、抽象構文の明示または暗示の符号化の形式でコンピュータプロ グラムを記憶するようになっている能動記憶構造に備えるのが望ましい。この場 合、構文は式の助けを借りていくつかの抽象オブジェクトを表現し、各記憶セル 手段は、適当なデータおよび/またはプログラム構造の形式で一度に前記1つの 構文式の少なくとも一部を記憶できる。The storage cell means is stored in a computer program in the form of an explicit or implicit encoding of an abstract syntax. It is desirable to provide an active storage structure adapted to store the gram. this place In this case, the syntax represents some abstract objects with the help of expressions, and each storage cell The means may include one at a time in the form of suitable data and/or program structures. Can memorize at least part of a syntactic expression.

各種の式はまた、それがプログラム形式であることを示す、それに対応する種類 の式を存することができる。Each type of expression also has its corresponding type, indicating that it is in program form. can exist.

この場合、全てのプログラム形式はそれ自身に簡約されるようになっており、従 ってそのままになっている式である。これによって、任意の種類の他の言語に対 してインタプリタおよびコンパイラを書くことが可能になる。In this case, every program form is reduced to itself, and the following The formula remains as is. This allows for any kind of other language. It becomes possible to write interpreters and compilers using

構文式を含む上記記憶セルと協同する書換え手段は所定の書換え規則に従がって 構文式を書換える。The rewriting means cooperating with said storage cell containing the syntax expression are arranged in accordance with predetermined rewriting rules. Rewrite syntactic expressions.

発明の要約 本発明による計算装置は、ハードウェアで作られた、機械語でもある宣言型プロ グラミング言語を有するコンピュータであることが望ましい。しかし、全ての電 子装置と同様、今日では本発明による計算装置の配線もまた、インタプリタまた はコンパイラを備えた一般型のコンピュータでシミュレートできた。このような 機械の例は、M68000プロセツサ(たとえば5un3)を基礎とした機械で ある。しかし、本発明に従がって、その機械は単一化(ユニフィケーション)能 力が備わっているボートを存する。Summary of the invention The computing device according to the present invention is a declarative program that is created using hardware and is also a machine language. Preferably, the computer has a programming language. However, all electric Similar to child devices, today the wiring of computing devices according to the invention also depends on interpreters or could be simulated on a general-purpose computer equipped with a compiler. like this An example of a machine is a machine based on the M68000 processor (eg 5un3). be. However, according to the invention, the machine has unification capability. There is a boat equipped with power.

リダクションの実行 実行されるプログラムは閉包の方向グラフによって表現できる(この場合、プロ グラムの各部は閉包によって表現される)。実行の間に、閉包の方向グラフは用 いられる言語のりダクション規則に従って徐々に簡約(リダクション)される。Performing a reduction The executed program can be represented by a directional graph of closure (in this case, the program Each part of the gram is represented by a closure). During execution, the direction graph of the closure is It is gradually reduced (reduced) according to the language reduction rules used.

実行可能な閉包がなくなったとき、プログラムの実行が終了する。閉包の方向グ ラフは本構造とみなすことができる(木の各節点が閉包で、最上の節は根と呼ば れる)。この場合、リダクションの実行は通常、逆さの木構造を簡約すること、 すなわち根から最も遠く離れ、かつ根に向かって働く木の部分を簡約することに よって遂行される。この種の実行は、要求駆動実行と呼ばれる。すなわち、プロ グラムの他の部分の実行結果に依存するある部分の実行はその結果が得られるま で延期される。Program execution ends when there are no more viable closures. direction of closure The rough can be thought of as a book structure (each node of the tree is a closure, and the top node is called the root). ). In this case, performing a reduction typically involves simplifying the inverted tree structure, In other words, by simplifying the part of the tree that is farthest from the roots and working toward the roots. Therefore, it is carried out. This type of execution is called request-driven execution. That is, professional The execution of a part of the program that depends on the execution result of other parts of the program is It will be postponed.

図面の簡単な説明 本発明のより完全な理解、および本発明の他の目的、利点のために、添付図面に 関連した次の既述を参照する。Brief description of the drawing For a more complete understanding of the invention, as well as other objects and advantages thereof, reference should be made to the accompanying drawings. Please refer to the following related statements.

第1図は、本発明による計算装置の概略図である。FIG. 1 is a schematic diagram of a computing device according to the invention.

第2図は、ボートでの信号列を示す図である。FIG. 2 is a diagram showing a signal train on a boat.

第3図は、本発明による計算装置の一実施例の概略ブロック図を示す。FIG. 3 shows a schematic block diagram of an embodiment of a computing device according to the invention.

第4図は、第3図に示された実施例におけるオブジェクト記憶の記憶セル内の種 々のフィールドの使用態様を概略的に示す。FIG. 4 shows the seeds in the storage cells of the object storage in the embodiment shown in FIG. This diagram schematically shows how each field is used.

第5図は、オブジェクト記憶の記憶セル内で関数を記憶する方法の例を示す。FIG. 5 shows an example of how functions can be stored in storage cells of object storage.

第6図は、環境に至るボートの一実施例を示す。FIG. 6 shows one embodiment of a boat leading to the environment.

第7図は、いわゆるH−ボートの一実施例を示す。FIG. 7 shows an embodiment of a so-called H-boat.

第8A図、8B図および80図は、第3図に示された計算装置の実施例における 構造演算装置内の種々のレジスタを示す。8A, 8B and 80 illustrate the embodiment of the computing device shown in FIG. 3 shows various registers within the structural arithmetic unit.

第8D図は、構造演算装置の一実施例を示す。FIG. 8D shows an embodiment of the structural arithmetic device.

第9A図〜9F図は構造演算装置における種々のデータ記憶形式を示す。Figures 9A-9F illustrate various data storage formats in a structural arithmetic unit.

第10A図〜IOH図、IIA図〜IIG図および12図図〜128図は本発明 による計算装置の動作の例を第1図に概略的に示された本発明による計算装置は 以下では能動オブジェクト記憶と呼ぶ能動メモリU1を含む。複数の記憶セルを 含むのでその記憶は能動的であり、各記憶セルは演算性能を向上する機会を存す る。各オブジェクト記憶セルはいくつかの記憶フィールドに分割されていること が望ましく、オブジェクト記憶を介したの連想サーチが記憶フィールドの内容に ついてなされてもよい。1つの記憶セルは1つのセル閉包を記憶できる。Figures 10A to IOH, IIA to IIG, and 12 to 128 are according to the present invention. An example of the operation of a computing device according to the present invention is shown schematically in FIG. It includes an active memory U1, hereinafter referred to as active object memory. multiple memory cells The memory is active as each memory cell contains an opportunity to improve computational performance. Ru. Each object storage cell is divided into several storage fields It is desirable that an associative search via object memory is performed on the contents of the memory field. It may be done accordingly. One storage cell can store one cell closure.

1つのセル閉包は閉包要素として他のセル閉包に対する指定を記憶できる。関数 は、互いを指定するいくつかのセル閉包を含む閉包(トリー)木として記憶され ることができる。これらの特徴を以下にさらに示す。One cell closure can store specifications for other cell closures as closure elements. function is stored as a closure (tree) tree containing several cell closures specifying each other. can be done. These characteristics are further illustrated below.

オブジェクト(目的)記憶は本発明による計算装置の内部行動を与える。オブジ ェクト記憶において、各ボートに対するいくつかの内部動作PRI、PR2,・ ・・PRnが異なった場所、すなわち異なった記憶セルに記憶される。多数のボ ートU2〜USが能動オブジェクト記憶U1に接続されている。複数のボートU 2に対する入力信号RW、2〜RWIIsはセンサによって提供され、あるいは 情報は計算装置の外部の装置すなわち実世界の環境にある装置によって与えるこ とができるであろう。Object storage provides the internal behavior of the computing device according to the invention. object In the object memory, some internal operations PRI, PR2, . . . . PRn is stored in a different location, ie in a different storage cell. Many buttons ports U2-US are connected to active object storage U1. multiple boats U The input signal RW, 2 to RWIIs for 2 is provided by a sensor or Information cannot be provided by devices external to the computing device, i.e. devices in the real-world environment. You will be able to do that.

ビヘービア(行動) ビヘービアは時間とともに変化することがある基本要素の構造である。従って、 ビヘービアは時間構造であるが構造が変化する理由を示すものではない。時間構 造は組立てられたプロセスの状態と考えてもよい。本発明による計算装置は特に 宣言型プログラミング言語以下(Hという)に適合する。宣言型言語は命令型言 語と同様、状態および遷移の明示の特定はない。代りに、全てのビヘービアは表 現によって特定される。従って、ビヘービアという用語は、時間構造、すなわち 系列または系列の代替物である。それはまた、数学的集合理論における空集合の 使用法と比較して、全ての可能な値に対して、変質した形質で用いられる。behavior Behaviors are structures of basic elements that can change over time. Therefore, Behavior is a time structure, but it does not indicate why the structure changes. Time structure A structure can be thought of as a state of an assembled process. The computing device according to the invention is particularly Conforms to declarative programming languages below (referred to as H). Declarative languages are imperative languages. As with words, there is no explicit identification of states and transitions. Instead, all behaviors are specified by the current situation. Therefore, the term behavior refers to the temporal structure, i.e. A series or an alternative to a series. It also refers to the empty set in mathematical set theory. Used in altered traits for all possible values compared to usage.

ボートは入力信号を能動オブジェクト記憶に適合した形式、たとえばディジタル 形式に変換し、能動オブジェクト記憶内の情報と比較できる形式で、入力信号を 提供する。この情報は問題としているボートに対してはローカルであり、1個ま たは数個の代替的なビヘービアPR1、PR2−=PRnを含む。The boat converts the input signal into a format compatible with active object storage, such as digital converts the input signal into a format that can be compared with the information in active object storage. provide. This information is local to the boat in question and is or several alternative behaviors PR1, PR2−=PRn.

ボートUi (iは2〜5)はビヘービアとして与えられた実世界の環境の各部 を見ており、そのビヘービアは値の果しない時間的系列によって構成される。系 列は、以下に述べるように、計算装置内に木構造形式で記憶可能である。このよ うな系列の例が第2図に示されている。Boat Ui (i is 2 to 5) is each part of the real world environment given as a behavior. , whose behavior is constituted by an endless temporal sequence of values. system The columns can be stored in a tree structure within the computing device, as described below. This way An example of such a sequence is shown in FIG.

サンプリングされた信号の系列は時間とともに変化しつる。すなわち、サンプリ ング期間は、第2図から明らかなように、コンピュータプログラムによって選択 された場合でも、周辺物又は環境によって与えられた場合でも、別々でありうる 。信号系列はここでは要素対のリストとして与えられる。各要素対は持続時間と その間の信号量からなる。時間間隔あたり2個以上の信号量を有することも可能 である。これはたとえば、持続時間あたり2個以上の信号量を扱う可能性のある ボートまたは持続時間あたり1個の信号量を扱う可能性を各々が有する複数個の 並列ボートによって実現できる。この場合、各ボートは互いに同期している。The sequence of sampled signals changes over time. That is, sample The processing period is selected by the computer program, as is clear from Figure 2. can be distinct whether given by the surroundings or the environment . The signal sequence is given here as a list of element pairs. Each element pair has a duration and It consists of the signal amount between that time. It is also possible to have two or more signal amounts per time interval. It is. This could be for example handling more than one signal amount per duration. multiple signals, each with the possibility of handling one signal volume per boat or duration. This can be achieved by parallel boats. In this case, each boat is synchronized with each other.

ビヘービアの単一化(統一化) 本発明によれば、ボートを介しての周辺物又は環境に至る入力および出力はその 両側すなわち計算装置内での内部ビヘービアおよびその周辺物又は環境での外部 ビヘービアに与えられたプロセスの単一化によって遂行される。能動オブジェク ト記憶内に与えられた関数型言語Hで書かれたプログラムは局部ビヘービアを生 成する。実世界のビヘービアは実時間で1プロトコルを記述する。Unification of behaviors According to the invention, the inputs and outputs through the boat to its surroundings or environment are Internal behavior on both sides, within the computing device and external on its surroundings or environment. This is accomplished by unifying the processes given the behavior. active object A program written in the functional language H given in memory can produce local behavior. to be accomplished. Real-world behavior describes one protocol in real time.

従って、周辺物へ向う計算装置のボートはその計算装置から見える周辺物の実際 の行動(ビヘービア)を登録する。それがコンピュータ内で記述されたプロトコ ルで単一化される。これが本発明による計算装置内でどのようになされかを以下 に説明する。計算装置の内部ビヘービアおよび外部ビヘービアの両方がこうして 同様の態様でモデル化される。従って、この方法は、計算装置を実時間動作をな すのに極めて適したものにする動作の非常に秀れたやり方である。Therefore, the boat of a computing device heading towards a surrounding object is the actual surrounding object seen from the computing device. Register the behavior. It is a protocol written within a computer. unified in the file. The following describes how this is done in a computing device according to the invention. Explain. Both the internal and external behavior of the computing device are thus Modeled in a similar manner. Therefore, this method allows the computing device to operate in real time. It's a very nice way of doing things that makes it very suitable for playing.

こうして、計算装置は、周辺物へ向うボート上に与えられた信号系列を、能動オ ブジェクト記憶内の少な(とも1つの記憶セル(たいていの場合、複数個の記憶 セル)に記憶された系列と比較するための少なくとも1つの比較可能性を含む。In this way, the computing device converts the signal sequence applied on the boat towards the surrounding objects into an active driver. A small number of memory cells (in most cases, multiple memory cells) in an object's memory. at least one comparability for comparison with the series stored in the cell).

単一化動作の際、実世界の環境のビヘービアと合致しない代替的内部ビヘービア は削除される。正しいプログラムは、単一化動作の後桟された代替ビヘービアの うちの1つだけを有すべきであり、このビヘービアは問題にしているボートでの ビヘービアと一致しなければならない。代替的内部ビヘービアのいずれもが、問 題のボートでの実世界環境と対応しない場合、単一化動作はその結果として何も 与えず、プログラミングエラーと見なされる。Alternative internal behavior that does not match the behavior of the real-world environment during unification operations will be deleted. The correct program is to use an alternative behavior that is You should only have one of these, and this behavior is Must match behavior. None of the alternative internal behaviors If it does not correspond to the real-world environment on the boat in question, the unification behavior will result in nothing. It is considered a programming error.

Hボート 上記人力/出力ボートの記述は、デユアリング(during)構造以外のデー タ構造の入力および出力を扱うことが可能なように一般化できる。この場合、持 続時間と信号量を統一することによって内部ビヘービアを外部ビヘービアで統一 する代りに、ビットパターンの単一化をなすことか可能である。入力信号はディ ジタル信号でよい。また、入力信号は、H言語プログラムのような、データ構造 またはプログラム構造を表現できる。たとえば、1ボートの記憶セル内の記憶セ ルフイールドをそのボートの入力でのビットパターンに統一できる。H boat The above description of the human power/output boat is based on data other than the dual-ring structure. It can be generalized to handle data structure inputs and outputs. In this case, Unify internal behavior with external behavior by unifying duration and signal amount Instead of doing so, it is possible to do a unification of the bit pattern. The input signal is A digital signal is fine. In addition, the input signal is a data structure such as an H language program. Or you can express the program structure. For example, the storage cells in one boat of storage cells The field can be unified to the bit pattern at the input of that boat.

例:内部構造、アプライ(apply)($ 1と$2)はその入力でのビット パターンで統一できるので、最終の単一化された内部構造はアプライ(appl y) (+ 1ist (12))となる(これは第11A図および第11B図 に示された構造である。ここで$1および$2は任意のビットパターンを表わす 。$1は“+”に対する命令コードを表わすビットパターンと統一され、$2は ”1ist (12)“を表わすビットパターンと統一される。Example: Internal structure, apply ($1 and $2) is the bit at its input Since it can be unified by a pattern, the final unified internal structure can be created by applying y) (+1ist (12)) (this is shown in Figures 11A and 11B). This is the structure shown in . Here $1 and $2 represent arbitrary bit patterns . $1 is unified with the bit pattern representing the instruction code for "+", and $2 is It is unified with the bit pattern representing "1ist (12)".

Hボート(これはH言語コードを受けるものである)を介して、プログラムをオ ブジェクト記憶にロードできる。Hポートはまたプロセッサ間で用いることがで きるので、プロセッサはプログラムまたはデータまたはその両方を転送できる。The program is activated via the H-boat (which receives the H-language code). Can be loaded into object memory. H ports can also be used between processors. The processor can transfer programs and/or data.

転送プログラムコードは最初にデータとして識別され、それの即時実行が防止さ れる。Hボートはまた、本発明による計算装置と従来から公知で、従って従来の ものでもよい他の種類の計算装置との間のインタフェースとしても利用できる。The transfer program code is first identified as data and its immediate execution is prevented. It will be done. The H-boat is also known from the prior art as a computing device according to the invention and therefore It can also be used as an interface between computers and other types of computing devices.

オブジェクト記憶 第3図に示された計算装置の実施例において、オブジェクト記憶lは、以下に説 明するように、各々がいくつかの記憶フィールドに分割された多数の記憶セル2 を含む。オブジェクト記憶の正確な構造は実際の発明の一部ではないので、詳細 には説明しない。オブジェクト記憶lとして与えることのできるオブジェクト記 憶は同時係属のPCT/SE 91100513に記載されている。object memory In the embodiment of the computing device shown in FIG. As will be seen, there are a number of storage cells 2, each divided into several storage fields. including. The exact structure of object memory is not part of the actual invention, so details will not be explained. An object memory that can be given as an object memory The memory is set forth in co-pending PCT/SE No. 91100513.

構造演算装置 オブジェクト記憶の各記憶セルはいくつかの閉包要素を含むセル閉包を記憶でき る。l記憶セル内の各ビットセルを構造演算装置3に接続するために十分な輻を もったメモリバス配列BUS、−BUS、を介して、上記オブジェクト記憶1は 上記構造演算装置3に接続されている。各記憶セルの各ビットは、バス配列を介 して他の全ての記憶セルの対応ビットに接続されている。構造演算装置3は、簡 約されるべき閉包がリダクション(簡約)動作の間に一時的に移動させられるオ ブジェクト記憶1の特定の一部でもよい。しかし、以下に説明するように演算装 置3の特定の構造をもつことも可能であり、それによって高速かつ直接のりダク ション動作が可能となる。structural arithmetic device Each storage cell in object memory can store a cell closure containing several closure elements. Ru. 1. Sufficient convergence is provided to connect each bit cell in the storage cell to the structural arithmetic unit 3. The object memory 1 is stored via the memory bus array BUS, -BUS. It is connected to the structure calculation device 3 mentioned above. Each bit of each storage cell is connected via an array of buses. and connected to corresponding bits of all other memory cells. The structure calculation device 3 is a simple An option where the closure to be reduced is temporarily moved during the reduction operation. It may be a specific part of the object memory 1. However, as explained below, It is also possible to have a specific structure of operation is possible.

演算装置3の正確な構造は実際の発明の一部ではないので、詳細には説明しない 。演算装置3として与えるのが望ましい装置は同時係属出願PCT/SE 91 100514に記載されている。The exact structure of the arithmetic unit 3 is not part of the actual invention and will not be described in detail. . The device preferably provided as the computing device 3 is the co-pending application PCT/SE 91. 100514.

第3図に示された計算装置はメモリバス配列BUS。The computing device shown in FIG. 3 is a memory bus array BUS.

〜BUS、の周囲に形成されるので、実際上は全てのデータ演算装置がその計算 装置に直接アクセスできる。このようにして、演算装置3とボートは能動オブジ ェクト記憶に属するものとして、すなわちその内部の特別のセルとして見なすこ とができる。〜BUS, so in practice all data calculation devices perform their calculations. Direct access to equipment. In this way, the computing unit 3 and the boat are active objects. be regarded as belonging to an object memory, i.e. as a special cell within it. I can do it.

中央制御装置 中央制御装置CUはオブジェクト記憶および装置3の両方を制御する。同様に中 央制御装置CUによって制御されるいくつかのボート4,5.6および11は装 置3に接続されている。ボート4,502つは、環境に接続された単一化ボート として示されている。センサすなわち計算装置によって11111E+され、お よび/またはそれを制御する装置のような外部装置7,8はそれぞれ各ボートに 接続されている。ボート6は別の計算装置9に接続されたH−ボートであり、そ の計算装置に導入されるべきプログラムを転送する。ボート11は、別の計算装 置12(たとえば、連絡されている計算装置1〜6.10゜11、CUと同一種 類)に接続されたHボートである。central control unit A central control unit CU controls both the object storage and the device 3. Similarly inside Several boats 4, 5.6 and 11 controlled by a central control unit CU are equipped with connected to station 3. Boats 4,502 are unified boats connected to the environment It is shown as. 11111E+ by the sensor or computing device, and External devices 7, 8, such as devices for calling and/or controlling the same, are respectively attached to each boat. It is connected. Boat 6 is an H-boat connected to another computing device 9, which transfer the program to be installed on the computer's computing device; Boat 11 is another computer location 12 (e.g., connected computing device 1-6.10゜11, same type as CU) This is an H-boat connected to a

第3図に示された種類のいくつかの計算装置は、そのメモリバス装置と各装置内 の一時的記憶閉包(図示せず)の間の伝送に直接内部接続され、多並列計算装置 を構成することができる。このようにして、全体的探索可能性を維持できる。し かし、適用分野によっては、2,3個の計算装置または多並列計算装置をHボー ト11によって接続して、各計算装置が個別の計算装置として働き、かつ個別の 処理の間にそれらの間でプログラムおよび/またはデータを交換するようにする のが便利である。Hボー)11は別の種類のプロセッサに対するインタフェース として用いることもできる。Hポートがプログラムを伝送するとき、その伝送は データ伝送と同一であり、計算装置はそれらを同一の態様で扱う。Some computing devices of the type shown in FIG. directly internally connected to the transmission between the temporary storage closures (not shown) of the multi-parallel computing device can be configured. In this way, global discoverability can be maintained. death However, depending on the field of application, two or three computing devices or multi-parallel computing devices can be 11 so that each computing device acts as an individual computing device and cause programs and/or data to be exchanged between them during processing; It is convenient. Hbaud) 11 is an interface to another type of processor It can also be used as When the H port transmits a program, the transmission is data transmissions and computing devices treat them in the same manner.

数値ALU 特別の種類の特別の動作をなすための余分の装置IOを装置3に接続することも できる。このような装置の例は、数値演算装置で、以下では数値ALUと呼ぶ。Numerical ALU It is also possible to connect extra devices IO to device 3 for performing special operations of special types. can. An example of such a device is a numerical arithmetic unit, hereinafter referred to as a numerical ALU.

しかし、余分の装置は比較目的その他にも利用できる。数値ALUは技術的には 一般的なほとんど任意のALUでよいが、本発明による計算装置に特に適した数 値ALUは同時係属出願PCT/SE 91100515に記載され装置3を含 む能動記憶3は、ボートの1つ(たとえば4)に与えられた信号系列と他のボー トの少なくとも1つ(たとえば6)に与えられた少なくとも1つの系列を比較す る少なくとも1つの比較可能性を有する。この比較可能性は、持続時間(デユア リングタイム)と信号量の形式の値を有する間隔対のような値を存する閉包を備 えることによって記憶またはボートが直接備えることができる。しかし、余分の 装置10において単なる比較をなすことも可能である。また、2つの外部ビヘー ビアを比較するとき、その比較が差を与える場合(すなわち環境へのボートでの 持続時間または信号量が等しくない場合)比較系列はnothing (無)に 書換られる。他の場合には、比較系列はillでかつ同一の特定系列に書換えら れる。However, the extra equipment can be used for comparison purposes and other purposes. Technically, numerical ALU is Almost any ALU in general, but a number particularly suitable for the computing device according to the invention The value ALU is described in co-pending application PCT/SE 91100515 and includes device 3. The active memory 3 contains a signal sequence applied to one of the boats (for example 4) and the other boat. Compare at least one series given to at least one of the has at least one comparability. This comparability depends on the duration ring time) and a signal quantity. It can be stored in memory or directly equipped by the boat. But extra It is also possible to make a simple comparison in the device 10. There are also two external behaviors. When comparing vias, if the comparison gives a difference (i.e. If the duration or signal amount is not equal), the comparison series is set to nothing. Will be rewritten. In other cases, the comparison series is ill and cannot be rewritten to the same specific series. It will be done.

こうして、能動オブジェクト記憶】、3は、抽象構文の明示または暗示の符号化 形式のコンピュータプログラムを記憶、実行できる構造を有することになる。構 文は表現の助けを借りて多数の異なった抽象オブジェクトを記述する。各記憶セ ルは、適当なデータおよび/またはプログラム構造の形式で構文表現の少なくと も一部を一度に記憶できる。構文について以下でより詳細に説明する。Thus, active object memory], 3 is an explicit or implicit encoding of abstract syntax. It has a structure capable of storing and executing computer programs of the form. Structure Sentences describe a number of different abstract objects with the help of representations. Each memory cell A file contains at least a syntactic representation in the form of suitable data and/or program structures. You can also memorize part of it at once. The syntax is explained in more detail below.

オブジェクト記憶能力 オブジェクト記憶1は通常のRAM型メモリよりかなり秀れた知能を育する。そ れは連想的であって、通常のRAM型メモリによって与えられる「読み」、r書 き1以上のサービスを与えることを可能にする。object memory ability Object memory 1 develops intelligence considerably superior to ordinary RAM type memory. So This is an associative, ``reading'' provided by ordinary RAM type memory, r-book. It is possible to provide more than one service.

上述したように、オブジェクト記憶は、各々が数個の記憶フィールドを含む記憶 セル2に分割されている。与えられたサービスは高水準にある。たとえば、特定 のデータ要素が個々の記憶セルのどこにあってもそれの全ての出現を発見し、そ の発見された特定のデータ要素を全体的に(すなわちオブジェクト記憶全体の内 部で)、唯一のメモリ命令を用いた新しい値に書換えることが可能である。オブ ジェクト記憶は連想的であるから、この書換え動作は影響を受ける記憶セルの数 に関係なく、2つの物理的メモリサイクルで実行できるだろう。As mentioned above, object memory is a memory that each contains several storage fields. It is divided into two cells. The service provided is of a high standard. For example, specific discover all occurrences of a data element anywhere in an individual storage cell and The particular data element discovered in the entire object memory (i.e. within the entire object memory) ), it is possible to rewrite it with a new value using only one memory instruction. of Since object memory is associative, this rewriting operation will affect the number of memory cells affected. Regardless, it could be done in two physical memory cycles.

記憶セル 記憶セル2の実施例が第4図に概略的に示されている。memory cell An embodiment of a storage cell 2 is shown schematically in FIG.

それは2種類の要素を記憶でき、記憶されるべき要素に特に適合した記憶フィー ルドを含む。第4図においてこれらのフィールドは記憶されるべき要素と同じ名 前が与えられている。It is capable of storing two types of elements and has a memory field specifically adapted to the element to be stored. Including Rudo. In Figure 4, these fields have the same names as the elements to be stored. The previous is given.

各記憶セルは、次のリストの性質のうち少なくともいくつかを記憶するようにな っている。Each storage cell is configured to store at least some of the following list of properties: ing.

・ 上記セルの表現(式)が簡約されるべきかどうかを示すマーク。- Mark indicating whether the expression (formula) in the above cell should be simplified.

・ その表現が、それの種々の性質を表わす木のメンバであるかどうかを示すマ ーク。・A map indicating whether the expression is a member of a tree representing its various properties. -k.

・ その表現がいかに生成されるかを示すマーク。・A mark that indicates how the expression is generated.

・ その表現が多数の繰返しビヘービアとなるかどうかを示すマーク。- A mark indicating whether the expression results in many repeated behaviors.

・ その表現だけが、別の記憶セルに記憶された他のりストメンバを有するリス トの一部であるかどうかを示すマーク。・The representation is the only list with other list members stored in different storage cells. A mark that indicates whether it is part of the

最初の種類の要素(以下、属性要素と呼ぶ)は記憶セルの異なった状態を記述す る。この種類の1つの要素は、LASYでセルが「遊んでいる」 (この場合、 セルの内容の残りは受動的な情報とみなされ、すなわち実行可能な状態にある) か、それとも「待っている」 (セルの評価が延期され、実行可能前の結果を待 っている)ことを示す。The first type of elements (hereafter referred to as attribute elements) describe different states of the storage cell. Ru. One element of this type is when a cell is "idling" with LASY (in this case, The rest of the cell's contents are considered passive information, i.e. ready for action) or “waiting” (cell evaluation is deferred, waiting for results before it can be executed). ).

他の属性要素はTYPEで、UD−ド(par、 seq、 apply。Other attribute elements are TYPE and UD-code (par, seq, apply.

1ist、 unifYなど)を含む。1ist, unifY, etc.).

第2番目の種類の要素(以下、オブジェクト要素と呼ぶ)は、識別子、環境また は値を記述する。すなわち1、mtLラノ!素+tlDENTIFIER,EN VIRONMENT、 VALUE/DESテある。これらのオブジェクト要素 は、プレーンHEADおよびNUMに備えられたコアレジスタ(第7B図、7C 図参照)の部分に記憶されるようになっている。これらの要素の各々は要素ワー ド(これはナム(unm)ワードとタグ(tag)ワードに分割される)を含む 。The second type of elements (hereinafter referred to as object elements) are identifiers, environments or objects. describes the value. Namely 1, mtL Rano! element+tlDENTIFIER,EN There are VIRONMENT and VALUE/DES. These object elements are the core registers provided in the plane HEAD and NUM (Figures 7B and 7C). (see figure). Each of these elements is an element work (which is split into an unm word and a tag word) .

タグワード 第2の種類の閉包要素はナムワードの特徴を示すタグワードを有する。タグには 間接タグと直接クダの2種類あり、間接タグは識別子および環境用に用いられ、 直接タグは単純な値などのために用いられる。tag word A second type of closure element has tag words that characterize the name word. On the tag There are two types of tags: indirect tags and direct tags. Indirect tags are used for identifiers and environments. Direct tags are used for things like simple values.

間接タグの例は、cls canonおよびopenである。タグワードがcl sならば、ナムワードが、簡約可能であるかもしれない閉包を表わすことを意味 する。タグワード場合、ナムワードが、挿入リストである閉包を表わすことを意 味する。Examples of indirect tags are cls canon and open. The tag word is cl s means that the numword represents a closure that may be reducible. do. For tag words, it means that the num word represents a closure that is an insertion list. Taste.

直接タグの例はdisCr、C0nt、1」nuSedおよびnothingで ある。タグワードがdiscrである場合、ナムワードが整数であることを意味 する。タグワードがcontである場合、ナムワードが浮動小数点値であること を意味する。Examples of direct tags are disCr, C0nt, 1'nuSed and nothing. be. If the tag word is discr, it means the number word is an integer. do. If the tag word is cont, the num word is a floating point value. means.

タグワードがunusedである場合、ナムワードが意味を欠いていることを意 味する。タグワードがnothingである場合、ナムワードが何も表わさない 、すなわち記憶セル内の識別子フィールドが識別子要素を含む場合、その記憶セ ルの状態は構造演算装置3(以下、コアセルと呼ぶ)に転送できる。記憶セルフ イールドVALUE/DESの各々は別のセル閉包を示す識別子を含み、この他 のセル閉包へのリンクを与えることができる。環境フィールドは、閉包の環境を 与える綱部すなわち木の根閉包を示す識別子を含むことができる。しかし、環境 フィールドはまた、他の使用も可能である。環境は、生成された全てのセル閉包 の環境における生成子の識別子を記憶することによって、構造の生成子を追跡で きる。If the tag word is unused, it means that the name word lacks meaning. Taste. If the tag word is nothing, the name word represents nothing. , that is, if the identifier field in a storage cell contains an identifier element, then the storage cell The state of the cell can be transferred to the structural arithmetic unit 3 (hereinafter referred to as core cell). memory self Each yield VALUE/DES contains an identifier indicating another cell closure, and You can give a link to the cell closure of . The environment field defines the environment of the closure. It may contain an identifier indicating the root closure of the given branch or tree. However, the environment Other uses of the field are also possible. The environment includes all generated cell closures The generators of a structure can be tracked by remembering the identifiers of the generators in the environment. Wear.

たとえば、副木(サブツリー)(ここでは同一の名前を育する全ての記号は同じ 事を表わす)の全ての閉包セルは同じ環境をもつことによって分類可能である。For example, a subtree (where all symbols growing the same name are the same) ) can be classified by having the same environment.

このようにして、全体の構造が、根を介して、たった−回の操作で木の1つの閉 包からアクセス可能となる。In this way, the entire structure can be closed by one tree in just one operation, via the roots. It can be accessed from the package.

指定機能は父親から息子への指揮されたリンクとみなすことができる。すなわち 、閉包要素はセル閉包を一義的に表わす。こうして、連想型の目的記憶を有する マシンの動作は閉包の方向性グラフとして表わすことができる。The designated function can be viewed as a directed link from father to son. i.e. , the closure element uniquely represents the cell closure. Thus, it has an associative purpose memory. The behavior of the machine can be represented as a directional graph of closure.

従って、1つの閉包の環境が与えられると、この環境内の根閉包を見つけること ができる。環境の根閉包は、その記憶セルのフィールドWHE REにおいて特 定のマーク(たとえば“1“)を備えている。環境の節点閉包はフィールドWH EREに別のマーク(たとえば“0”)を備えている。Therefore, given the environment of one closure, finding the root closure within this environment Can be done. The radical closure of the environment is specified in the field WHE RE of its memory cell. A specific mark (for example, "1") is provided. The nodal closure of the environment is the field WH The ERE is provided with another mark (for example, "0").

例 2つの並列の値組合である表現、 idt =list(par(123)par(456)を記憶する記憶セルの 例が第5図に示されている。第1の並列組合せpar(123)はアイデンティ ティ(識別子) xdzを存し、第2の並列組合せpar(456)はアイデン ティティid、を有する。水内でアイデンティティld2を有するセル閉包を包 む根記憶セルはclsがタッグされており、LASYフィールドに表示eXeC を存し、WHE REフィールドに設定されたl″を存し、TYPEフィールド に表示1istを育し、最初の2つのVALUE/D E Sフィールドにid tおよびxdsを育する。これらのフィールドのタグは、それらの内容が正規的 (canonjcal)閉包セルと間接的にリンクされているか故にcanon マークである。アイデンティティid、を有するセル閉包を含む節点記憶セルは 、WHEREフィールドに設定された“0”を存しTYPEフィールドに表示p arを存し、最初の3つのVALUE/DESフィールドに記憶された別々の値 1.2および3を有する。従って、これらのフィールドのタグはdiserマー クである。example an expression that is a combination of two parallel values, idt = list (par (123) of the memory cell that stores par (456) An example is shown in FIG. The first parallel combination par (123) is the identity The second parallel combination par (456) is the ID (identifier) xdz. has the identity id. Encloses a cell closure with identity ld2 in water. The root memory cell is tagged with cls and displayed in the LASY field eXeC , has l″ set in the WHE RE field, and has the TYPE field Create display 1ist and enter id in the first two VALUE/DES fields. Grow t and xds. The tags for these fields indicate that their contents are canonical. (canonjcal) canon because it is indirectly linked to the closing cell It's a mark. A nodal storage cell containing a cell closure with identity id is , has “0” set in the WHERE field and is displayed in the TYPE field. ar and separate values stored in the first three VALUE/DES fields 1.2 and 3. Therefore, the tags for these fields are It is

アイデンティティtdsを有するセル閉包を含む節点記憶セルは、WHEREフ ィールドに設定された“0”を有し、TYPEフィールドに表示parを有し、 最初の3つのVALUE/DESフィールドに記憶された別々の値4.5および 6を有する。従って、これらのフィールドのタグもまたdiscrマークである 。A nodal storage cell containing a cell closure with identity tds has a WHERE field. has “0” set in the field, has display par in the TYPE field, Separate values stored in the first three VALUE/DES fields 4.5 and It has 6. Therefore, the tags for these fields are also discr marks. .

外界へのインタフェイスとしてのボート上述したように、本発明による処理装置 は、それに対するデータ入力/IOH力用の1個または数個のボートを備えてい る。各ボートは、処理装置の外部環境への連絡を与える装置である。ボートはオ ブジェクト記憶1(第3図参照)における変換インタフェース(図示せず)に接 続されていることが望ましい。ボートは、それが望ましくは機能が似た4個の記 憶セルを含み、かつオブジェクト記憶セル2(第4図参照)と両立し、故に、オ ブジェクト記憶の延長とみることができる。ボートは統一化を通して入力/出力 動作を実行する。The boat as an interface to the outside world As mentioned above, the processing device according to the invention has one or several ports for data input/IOH power to it. Ru. Each boat is a device that provides communication to the external environment of the processing equipment. The boat is on Connects to the conversion interface (not shown) in object memory 1 (see Figure 3). It is desirable that it be continued. The boat preferably has four registers that are similar in function. storage cell and is compatible with object storage cell 2 (see Figure 4), therefore, the It can be seen as an extension of object memory. Boat input/output through unification perform an action.

内部ビヘービア オブジェクト記憶は、各ボートに1個のビヘービアが与えられている、プロセッ サの内部ビヘービアを与える。internal behavior Object memory is a process where each boat is given one behavior. gives the internal behavior of the server.

ビヘービアは時間構造の意味論的意味で、閉包構造で表わすことができる。時間 構造は、終りのない時間系列の値によって構成されたプロセスの状態とみてもよ い。Behavior is a semantic meaning of temporal structure and can be expressed as a closure structure. time Structure can be seen as the state of a process made up of a never-ending time series of values. stomach.

外部ビヘービア ボートに対する入力信号はセンサまたは、プロセッサの外部すなわち現実の環境 にある装置によって与えることができる。ボートは入力信号をオブジェクト記憶 フォーマットに適応したディジタル形式、すなわち閉包表示に変換する。この閉 包表示はプロセッサの内部ビヘービアと共通性のある時間構造すなわちビヘービ アである。external behavior The input signal to the boat may be a sensor or external to the processor, i.e. the real environment. It can be given by a device located in The boat stores input signals as objects. Convert to a digital format suitable for the format, that is, a closure representation. This close The wrapper representation is a time structure that has commonality with the internal behavior of the processor, that is, a behavior. It is a.

従かって、プロセッサの観点からは、この時間構造は外部ビヘービアと見ること ができる。Therefore, from the processor's perspective, this time structure can be viewed as an external behavior. Can be done.

ボートを介しての入力および出力は、その両側に与えられたプロセス、すなわち プロセッサの内部ビヘービアおよびその環境の外部ビヘービアの統一化によって 遂行される。内部ビヘービ了、外部ビヘービアの両方とも同じ態様でモデル化さ れる。これは、プロセッサを実時間動作させるのに極めて適したものにする非常 に秀れた方法である。Inputs and outputs through the boat are given processes on both sides of it, i.e. By unifying the internal behavior of a processor and the external behavior of its environment. carried out. Both internal and external behavior are modeled in the same way. It will be done. This makes the processor extremely suitable for real-time operation. This is an excellent method.

外部ビヘービア、すなわち時間系列の例か第2図に示されている。抽出された信 号系列は時間とともに変化しつる。すなわちサンプリング周期は第2図から明ら かなように異なることがあり得る。ここで信号系列は、要素対のリストとして与 えられる。各対は持続時間とその間の信号量を含む。信号量はgiで表示され、 持続時間はtiで表示される(ここでiは1〜6の数である)。An example of external behavior, ie, time sequence, is shown in FIG. Extracted beliefs The number series changes over time. In other words, the sampling period is clear from Figure 2. It could be very different. Here, the signal sequence is given as a list of element pairs. available. Each pair includes a duration and an amount of signal during that time. The signal amount is expressed in gi, The duration is denoted by ti (where i is a number from 1 to 6).

第3図のボート4のような環境へのボートはたとえばセンサ7に接続できる。こ のボートでのインタフェースは一般的な観点から全ての形式の信号を扱うことが できる。しかし、このような種類のインタフェースは複雑で、しばしばシステム に外乱をもたらす。したがって、望ましいインタフェースは次の性質を有してい るべきである。A boat to the environment, such as boat 4 in FIG. 3, can be connected to a sensor 7, for example. child The interface on the board can handle all types of signals from a general point of view. can. However, these types of interfaces are complex and often cause a disturbance. Therefore, a desirable interface has the following properties: Should.

1、信号は一定時間間隔で測定される。測定された信号は次の測定まで一定であ るとみなされる。1. The signal is measured at regular time intervals. The measured signal remains constant until the next measurement. It is considered that

2、 ボートによって決定される一定周期、マシンのプログラムによって決定さ れる一定周期、プログラムまたは外部信号によって決定される一定間隔で時間を 与えることができる。2. A fixed period determined by the boat, determined by the machine program. time at regular intervals determined by a program or an external signal. can give.

3、 測定信号はマシンにディジタル形式で与えられる。3. The measurement signal is given to the machine in digital form.

4、 ディジタル化信号は論理であるか、整数か浮動小数点数を示すことのでき るディジタル形式に符号化される。4. The digitized signal is logical or can represent an integer or floating point number. encoded in digital format.

こうして、本発明による計算装置は、通常のプロセッサと同様、値を挿入も出力 もしない。本発明のプロセッサにおいては、ボートはプロセッサ内のプログラム とプロセッサに対する環境とみなされる。計算装置は関数型言MHに適合する。In this way, the computing device according to the present invention can insert and output values just like a normal processor. Neither. In the processor of the present invention, the board is a program in the processor. and the environment for the processor. The computing device conforms to the functional type term MH.

インタフェースは、その一方側で信号として他方側でプロセッサプログラムのH 構造として現われる一連の事象が与えられるようなものである。環境は物理的ピ クチャの一部を設定し、プロセッサもその一部を設定する。これはボートまたは インタフェースの両側から同時になされるので両方とも同じ事象のピクチャとな って、計算装置は、接近することか可能な正確な実時間に近い程、実時間を描く ことになる。The interface accepts signals on one side of the processor program as signals on the other side. It is like being given a series of events that appear as a structure. The environment is a physical part of the architecture, and the processor also sets part of it. This is a boat or Since they are done from both sides of the interface at the same time, they are both pictures of the same event. So, the closer a computing device is to accurate real time than it can get, the more it will draw real time. It turns out.

プログラムは能動オブジェクト記憶に記憶され、内部ビヘービアを生成する。プ ログラムの実行は、計算装置内のプログラム、および環境の両方とも、インタフ ェースにおける同じ実時間系列の事象を見ることに基づいている。Programs are stored in active object storage and generate internal behavior. P Execution of a program involves both the program within the computing device and the environment. based on looking at the same real-time sequence of events in the

プログラムは、値と持続時間の対の終りのない長いリスト(すなわち各信号値は 持続時間の間継続する)としてインタフェースを記述する。従って、各間隔の間 に、1対の信号値と持続時間を含みながら、インタフェースはその持続時間長と その信号値を記述する。これら全ての対が連続的に与えられ、ボートは実時間ビ ヘービアを同じ形式のリストに変換する。The program generates a long, never-ending list of value and duration pairs (i.e. each signal value is Describes the interface as (lasts for a duration). Therefore, during each interval contains a pair of signal values and durations, and the interface Describe the signal value. Given all these pairs in succession, the boat can Convert Hevia to a list of the same format.

計算装置に対する入力および出力は統一化によって遂行される。このことは、各 間隔内の持続時間と信号値はボートの両側で同様に作られることを意味する。Input and output to the computing device is accomplished by unification. This means that each This means that the duration and signal values within the interval are produced similarly on both sides of the boat.

プログラムは特定の信号量値を特定することができる。The program can specify specific signal quantity values.

さもなければ、全ての可能な値を示す特定の記号、たとえば$を用いることによ ってその信号量値を特定しないままにすることができる。Otherwise, by using a specific symbol, e.g. $, to indicate all possible values. Therefore, the signal amount value can be left unspecified.

正しいプログラムは、統一化動作の後に残された代替ビヘービアのうちのたった 1つを育すべきであり、このビヘービアは問題にしているボートでのビヘービア と一致しなければならない。代り内部ビヘービアのいずれもか当該ボートでの実 世界の環境と対応しない場合、統一化動作はその結果としてnothing(無 )を与え、これはプログラミングエラーとみなされる(nothingは矛盾を 意味するため)。統一化動作の後、2個以上の代替ビヘービアが残される場合も 、プログラミングエラーとみなされる。A correct program will use only one of the alternative behaviors left after the unification operation. This behavior is the behavior on the boat in question. must match. Instead, none of the internal behaviors are implemented on the boat in question. If it does not correspond to the world environment, the unifying behavior will result in nothing. ), which is considered a programming error (nothing indicates a contradiction). to mean). Two or more alternative behaviors may remain after the unification operation. , is considered a programming error.

内部ビヘービアが特定の信号値(信号量とも呼ばれる)を特定するとき、この特 定信号値は環境に出力される。内部ビヘービアが信号値を未特定のまま、特定の 信号値は環境から入力される。When an internal behavior identifies a particular signal value (also called a signal amount), this characteristic The constant signal value is output to the environment. An internal behavior leaves the signal value unspecified and Signal values are input from the environment.

内部ビヘービアが間隔内の特定の持続時間を特定する場合、環境は任意の持続時 間長を許容する。内部ビヘービアが持続時間を不特定のままにするとき、環境は 持続時間を決定する。If an internal behavior specifies a specific duration within an interval, the environment specifies a specific duration within an interval. Allow for long periods. When an internal behavior leaves the duration unspecified, the environment Determine duration.

こうして仕組みは対称的になる。The mechanism is thus symmetrical.

量を含む。Including quantity.

ラムに記述される。written in the ram.

3、環境はこのような間隔を上記したように種々の態様で記載してもよい。3. The environment may describe such intervals in various ways as described above.

4、 ボートはその両側で信号量を画定する。このことは、信号量が決定されな ければならないことを意味する。4. The boat defines the amount of signal on both sides of it. This means that the signal amount is not determined. means that it must be done.

計算装置のプログラムは計算装置に向けられたボート側で持続時間または信号量 を設定する。出力は一定の持続時間の間になされ、かつ(または)信号量が環境 の方に向いた側でボートの導体に送られる。The program of the computing device is the duration or amount of signal on the boat side directed to the computing device. Set. The output is made for a fixed duration and/or the amount of signal is is sent to the boat's conductor on the side facing towards.

環境へのボートの実施例 間隔の入力および/または出力用のボートの一実施例が第6図に示されている。Examples of environmental boat implementation One embodiment of a boat for inputting and/or outputting intervals is shown in FIG.

ボートは、バス配列DUを用いて、構造演算装置3またはオブジェクト記憶lへ 直接に接続される。バス配列DUの各バスはたとえば38本のワイヤを育するバ スを表わす。ボートは中実装置CUによって制御される。ボートは識別子レジス タP IDを含む。レジスタP+oに記憶された識別子はオブジェクト記憶l内 の識別子として用いることができる。すなわち、ボートをオブジェクト記憶内の セル閉包にリンクするために用いることができる。この識別子は、プロセッサ内 で内部的に用いられるだけである。ボートはまた、レジスタPIDと同様に用い ることができる識別子レジスタCE、。を含む。ボートはまた、各々本来的に構 成されオブジェクト記憶l内の記憶セルと同様に動作するいくつかの記憶セルC E ou、 CE L−IT、CE、1.tTおよびCEIDを含む。The boat is connected to the structure arithmetic unit 3 or object memory l using the bus array DU. directly connected. Each bus of the bus array DU is a bus that carries, for example, 38 wires. represents the The boat is controlled by a solid unit CU. boat identifier regis Contains data ID. The identifier stored in register P+o is in object memory l. It can be used as an identifier. i.e. the boat in object memory Can be used to link to cell closure. This identifier is It is only used internally. The port can also be used similarly to the register PID. Identifier register CE, which can be including. Boats are also each inherently A number of storage cells C that operate similarly to the storage cells in the object storage l E ou, CE L-IT, CE, 1. Contains tT and CEID.

各記憶セルは、少なくとも3つの閉包要素(たとえば、during、持続時間 および信号量)を記憶するための少なくとも3つの記憶フィールドを記憶できる 。Each storage cell has at least three closure elements (e.g., during, duration and signal amount) can store at least three storage fields for storing .

少なくとも上記最後2つの閉包要素はVALUE/DES(値/指定)型の記憶 フィールドに記憶できる。表−ルドは省略できる。At least the last two closure elements above are VALUE/DES (value/designation) type storage Can be stored in the field. The table field can be omitted.

しかし、第6図に示された実施例では、duringは、所定の機能名(dur ingコード)とともにTYPEフィールドにあるTYPE ’apply ( ’@)の形式になっている。機能名はボート記憶セルの最初のVALUE/DE Sフィールドに記憶される(全ての機能名(たとえば+−*1)はTYPE ’ apptyに属する) o duringコードは機能定義を示す識別子であり 得、それはオブジェクト記憶に記憶される。However, in the embodiment shown in FIG. ing code) in the TYPE field along with the TYPE 'apply ( '@) format. The function name is the first VALUE/DE of the boat storage cell. Stored in the S field (all function names (e.g. +-*1) are TYPE' appty) o during code is an identifier indicating a function definition. obtained, it is stored in object memory.

識別子idはVALUE/DESフィールドにも記憶することができる。この識 別子はボート構造をオブジェクト記憶内のdur ing構造にリンクする。The identifier id can also be stored in the VALUE/DES field. This knowledge The besshi links the boat structure to the duration structure in object storage.

識別子を含むフィールドが必要でない場合、3つの■ALUE/DESフィール ドのみが第6@の実施例において必要となる。しかし、unusedとマークさ れた第4のVALUE/DESフィールドを与えてボートレジスタを計算装置の 他の記憶セルと両立させることができる。If the field containing the identifier is not required, the three ALUE/DES fields Only the code is needed in the sixth @ embodiment. But marked as unused The fourth VALUE/DES field entered into the boat register of the computing device. It can be compatible with other memory cells.

しかし、VALUE lN10UT用の余分の装置を第4のVALUE/DES レジスタを接続することもできる。これによって、1グループの値すなわち持続 時間と2種類の信号量に対するボート−ボートが形成される。However, the extra device for VALUE IN10UT is installed in the fourth VALUE/DES. You can also connect a resistor. This allows one group of values, i.e. persistence A boat-to-boat is formed for time and two types of signal amounts.

ボート内の各記憶セルはまた属性フィールドも存する。Each storage cell within the boat also has an attribute field.

少なくともLAS前記憶セルはバスW@+ 、 Wll、 WTIW vl、  Walを内部接続できる(各バスは、たとえば38本のワイアを存し、各レジス タのビットセルにビット態様で接続される)。指標■はレジスタのduring コードフィールドに接続可能なバスを示し、指標Tはレジスタの接続時間VAL UE/DESフィールドに接続可能なバスを示し、指標Vはレジスタの信号量V ALUE/DESフィールドに接続可能なバスを示し、指ffEはレジスタの余 分のVALUE/DESフィールドに接続可能なバスを示す。指標2は環境へ向 かって接続されたバスを示し、指標lは場合によっては変換インタフェース(図 示せず)を介して能動オブジェクト記憶1.3に接続されたバスを示す。At least the pre-LAS storage cells are connected to buses W@+, Wll, WTIW vl, (Each bus has, for example, 38 wires, and each register (connected bitwise to the bit cells of the data). The index ■ is the register duration The code field indicates a bus that can be connected, and the index T is the register connection time VAL. Indicates a bus that can be connected to the UE/DES field, and the index V is the signal amount V of the register. The ALUE/DES field indicates a bus that can be connected, and the indicator ffE indicates the remaining register. This shows a bus that can be connected to the VALUE/DES field. Indicator 2 is towards the environment It indicates the previously connected bus, and the index l may indicate the conversion interface (Fig. 2 shows a bus connected to the active object store 1.3 via (not shown).

′9を含むTMPHフィールドおよび実際は省略されるduringコードを含 む第1のVALUE/DESフィールドをもつことが可能であることに注意すべ きである(それらの情報は常に同一で、この事実は中央制御装置CUで実現され るから)。従って、2つのVALUE/DBSフィールド(1個は持続時間用お よびもう1個は信号量用(図示せず)を含むだけの記憶セルを有するボートを備 えることが可能である。TMPH field containing '9 and a during code which is actually omitted. Note that it is possible to have a first VALUE/DES field that (their information is always the same, this fact is realized in the central control unit CU) ). Therefore, there are two VALUE/DBS fields (one for duration and one for duration). and another boat with storage cells for signal quantities (not shown). It is possible to

ボートの図示された実施例の4個の記憶セルは、次の先行閉包、実際の閉包、次 の閉包および将来の閉包に対する識別子を記憶する。記憶セルは所定の場所を占 めることが可能で、その場合、それらの全体の内容はそれらの間で転送可能であ る。レジスタ内の各ビットセルの適当な構造は構造3のビットセルと同一の構造 をもつことか可能で、同時係属出願PCT/SE91100512およびPCT /SE 911005 I 3に示されている。The four storage cells of the illustrated embodiment of the boat are the next preceding closure, the actual closure, and the next Store the closure of and an identifier for future closures. A memory cell occupies a predetermined location. in which case their entire contents are transferable between them. Ru. The appropriate structure for each bit cell in the register is the same structure as the bit cell in structure 3. Co-pending applications PCT/SE91100512 and PCT /SE 911005 I3.

しかし、3個の第1記憶セルをそれらの名前を変更すること(これは中央制御装 置CUからの制御によってなされる)によってお互いに位置を変えることができ るように配列することも可能である。However, by changing the names of the three first storage cells (this is (controlled by the position CU) It is also possible to arrange them so that

前記ボートはいくつかの記憶セル(たとえば1個)を備えることができる。The boat may include a number of storage cells (for example one).

タイムカウンタおよびタイムコンパレータボートはタイムカウンタT0゜1を含 む。それは中央制御装置CUからのクロック信号CLOCK、によって制御され 、時間を測定するものである。それは外部リセット信号、制御装置CUからのリ セット信号のいずれかによってリセットできる。タイムカウンタTool、、l Tは第1のセレクタ5ELIに接続され、その第1セレクタは中央制御装置CU によって制御されて、タイムカウンタT coいアの出力を記憶セルの時間記憶 フィールドに接続可能なバスWTtに直接接続するかタイムコンパレータT c ampの第1人力に接続する。タイムコンパレータT COMFの第2人力は外 部時間出力である。タイムコンパレータの出力は1iIfrIIJ装置CUにも 転送される。The time counter and time comparator board includes time counter T0゜1. nothing. It is controlled by a clock signal CLOCK, from the central control unit CU. , which measures time. It is an external reset signal, a reset from the control unit CU. Can be reset by any of the set signals. Time counter Tool,,l T is connected to a first selector 5ELI, which first selector is connected to the central control unit CU The output of the time counter Tcoa is controlled by the time storage cell. Connect directly to bus WTt that can be connected to the field or time comparator Tc Connect to amp's first power source. The second human power of time comparator T COMF is outside part time output. The output of the time comparator is also sent to the 1iIfrIIJ device CU. be transferred.

前記ボートはまた、外部値入力出力ボートビンVALUE lN10UTを存す る。そのビンは出力信号用の変換器C0NV、、(たとえばディジタル/アナロ グ変換器)に接続される。ビンVALUE lN10UTビンは入力信号用の変 換器(たとえば、入力信号のサンプリングをなすアナログ/ディジタル変換器) にも接続される。サンプリング時刻は、タイムコンパレータT eOMFの出力 またはタイムカウンタT 0OLIN? (図示せず)へのリセット信号によっ て与えることができる。記憶セルCEDu1CEL1.T、およびCENtXT の信号量レジスタにflilB可能に接続可能なバスWVIに接続されたセレク タSEL、は、信号量がボートとの間で出入れされるべき場合、中央制御装置C Uの制御の下に選択動作をなす。制御装置CUは最初に、環境に接続されるべき レジスタを含む記憶セル内のレジスタの内容を読み、それがレジスタ内の値が随 意で、任意の可能な値と交換できるということを意味する特定の記号$を含むか どうかを確認する。The boat also has an external value input output boat bin VALUE lN10UT. Ru. That bin is a converter C0NV, for the output signal (e.g. digital/analog connected to a converter). Bin VALUE lN10UT bin is a variable for input signal. converter (for example, an analog-to-digital converter that samples the input signal) is also connected to. The sampling time is the output of the time comparator TeOMF Or time counter T0OLIN? (not shown) by a reset signal to can be given. Memory cell CEDu1CEL1. T, and CENtXT A selector connected to a bus WVI that can be connected to a signal quantity register of If signals are to be sent to or from the boat, the central controller C The selection operation is performed under the control of U. The control unit CU should first be connected to the environment Reads the contents of a register in a storage cell that contains the register, and determines whether the value in the register is does it contain the specific symbol $, meaning that it can be exchanged with any possible value? I'll check if it is.

その場合、制御装置CUはそれに応じてレジスタに結合されたボートセレクタを 制御する。In that case, the control unit CU sets the boat selector associated with the register accordingly. Control.

より複雑なボートを形成することも可能である。たとえばVALUE lN10 UTの信号量は、入力値用の変換回路C0NV、、および出力値用の変換回路C 0NVOυ丁に記憶された表現によって変換できる。変換機能は、たとえば、各 々が別の種類の信号量信号値その他に対するいくつかの積分であり得る。It is also possible to form more complex boats. For example, VALUE lN10 The signal amount of UT is determined by the input value conversion circuit C0NV and the output value conversion circuit C0NV. It can be converted using the expression stored in 0NVOυD. The conversion function can e.g. each can be several integrals over different types of signal quantities, signal values, etc.

各持続時間内に2つの値(1つは持続時間の最初でもう1つはその最後)を取り 、その1つをVALUE/DESフィールドに直接記憶し、傾斜計算装置(図示 せず)に2つの測定値と持続時間を供給することも可能である。傾斜計算装置の 出力は、たとえば、余分のVALUE/DESフ(−A、ド(図示せず)すなt )ちVALUE lN10UT用の余分のセレクタ装置に記憶できる。Takes two values within each duration, one at the beginning of the duration and one at the end. , one of which is stored directly in the VALUE/DES field, and the slope calculator (as shown) It is also possible to supply two measured values and a duration (without any). slope calculation device The output can be, for example, an extra VALUE/DES file (-A, de (not shown) or t ) VALUE can be stored in the extra selector device for IN10UT.

信号量の出力 取出されるべき情報が記憶セルCE、、に与えられている。従って、セルは情報 during 持続時間、信号量 を有する。このレジスタ内の信号量は周知であり、従って取出されるべきである 。その信号量は記憶セル内の信号量レジスタから取出され、かつ駆動ステージと して作用するセレクタSEL、および変換器C0NV、、Tを介して出力される 。Signal amount output The information to be retrieved is provided in storage cells CE, . Therefore, the cell is information during duration, signal amount has. The amount of signal in this register is well known and therefore should be retrieved . The signal amount is retrieved from the signal amount register in the storage cell, and the signal amount is taken from the signal amount register in the storage cell and is outputted via a selector SEL acting as .

信号量の入力 記憶セルCEDI+の情報は、 during 持続時間、i である。このレジスタの信号量はまだ知られておらず、そのレジスタは信号量を 受ける用意がなされている。信号量は入力/出力のボート信号量から取られ、A /D変換器C0NV、IIにおいてディジタル化され、記憶セルCE: DUの 信号量レジスタに供給される。Signal amount input Information on memory cell CEDI+ is during Duration, i It is. The signal amount in this register is not yet known, and the register prepared to receive it. The signal amount is taken from the input/output boat signal amount, A /D converter C0NV, II digitizes the memory cell CE: DU. Supplied to the signal quantity register.

持続時間は計算装置プログラムによって設定される記憶セルCE、、内の情報は 、 during 持続時間、信号量 である。従って、持続時間は既知である。タイムカウンタT couアは持続時 間の始めに中央制御装置tcUによってリセットされる。カウンタT Co1t ?の連続的に上昇する時間が、記憶セルCE、、内の時間レジスタ内の時間とタ イムコンパレータT co□と比較される。持続時間はこれらの時間が同じ時に 終了する。The information in the storage cell CE, whose duration is set by the computing device program, is , during duration, signal amount It is. Therefore, the duration is known. Time counter T Coua is continuous It is reset by the central control unit tcU at the beginning of the interval. Counter T Co1t ? The successively increasing time of It is compared with the time comparator Tco□. The duration is when these times are the same finish.

記憶セルCEい、は空になり、記憶セルCEsmxtはこの持続時間の間に満た される。次の期間へ移行する際、記憶セルCEDI+の内容は記憶セルCELA ITへ移され、記憶セルCE□。内の信号量は記憶セルCEI、oに移される。Storage cell CE becomes empty and storage cell CEsmxt is filled during this duration. be done. When moving to the next period, the contents of memory cell CEDI+ are changed to memory cell CELA. Transferred to IT, storage cell CE□. The signal amount within is transferred to storage cell CEI,o.

持続時間は環境によって設定される 記憶セルCE□の情報は during $、信号量 である。従って、持続時間は未知であり、環境がこれを決定する。タイムカウン タT C0ff1lアは持続時間の最初に外部11mによってリセットされる。Duration is set by the environment The information of memory cell CE□ is during $, signal amount It is. Therefore, the duration is unknown and the environment determines this. time counter The data TC0ff1lA is reset by the external 11m at the beginning of the duration.

タイムカウンタT coい、内の連続的に上昇する時間は記憶セルCEDl、の 時間レジスタに供給される。環境が次の外部リセットを与えるとき、持続時間が 終了する。従って、外部リセット信号はセレクタSEL+を制御しながら、タイ ムカウンタへの接続を直接にまたはタイムカウンタからのゼロ信号によって分離 する。The continuously increasing time in the time counter Tco is the value of the memory cell CEDl. Supplied to the time register. When the environment gives the next external reset, the duration is finish. Therefore, the external reset signal controls the selector SEL+ while Separate connection to the time counter directly or by a zero signal from the time counter do.

この持続時間の間に、記憶セルCE LA、アは空になり、記憶セルCE□1は 満たされる。次の期間へ移行する際、記憶セルCE0の内容は記憶セルCELA ITへ移され、記憶セルCE□、アの内容は記憶セルCHD、へ移される。During this duration, storage cell CE LA,A becomes empty and storage cell CE□1 becomes empty. It is filled. When moving to the next period, the contents of memory cell CE0 are changed to memory cell CELA. The contents of storage cell CE□,A are moved to storage cell CHD.

簡単な例 ボートの動作を説明するために、簡単な例を以下に示す。我々が今、2つの異な った系列、(第1の系列は秒毎の所定の信号量(たとえば値″17″)および全 て所定の持続時間(たとえば1秒)を有し、第2の系列は全て所定の信号量(た とえば1.2,3.4など)を有するが所定の持続時間を有しない)を検出する ものとする。simple example A simple example is shown below to explain the operation of the boat. We now have two different sequence, (the first sequence is a predetermined signal amount per second (e.g. value ``17'') and the total has a predetermined duration (e.g. 1 second), and the second sequence all has a predetermined signal amount (e.g. 1 second). 1.2, 3.4, etc.) but does not have a given duration) shall be taken as a thing.

利用されるボートは、ボート1と呼ばれる。閉包表示はunify (port 、 r内部ビヘービア」)ここで「内部ビヘービア」は全ての代替系列を示すa tt動作すなわち aft (seq (during (is 17) during (Is  $) during形式の大きなデータ構造である。The boat used is called boat 1. The closure display is unified (port , ``internal behavior'') Here, ``internal behavior'' indicates all alternative series a tt operation i.e. aft (seq (during (is 17) during (Is) $) It is a large data structure in the ``during'' format.

今、入力信号系列が上記構造と統一できる場合、その入力が受取られ、適当な動 作を取ることができる。受取られた系列の一つの例は((Is 17)(IS  0)(Is 17)(Is 99)(Is 17))で、これは上記内部ビヘー ビアの第1系列と統一できる系列である。受取られる別の系列は((2S 1) (4S 2)(Is 3))で、これは内部ビヘービアの第2の系列と統一され る。受取られない系列の例は、(Is 2)・・・・・・である。その理由は、 信号量、すなわち2か内部ビヘービアの2つの系列に与えられた信号量と統一で きないからである。Now, if the input signal sequence can be unified with the above structure, the input is received and an appropriate action is taken. You can take the work. One example of a received sequence is ((Is 17) (IS 0) (Is 17) (Is 99) (Is 17)), which corresponds to the above internal behavior. This is a series that can be unified with the first series of vias. Another series received is ((2S 1) (4S 2) (Is 3)), which is unified with the second series of internal behaviors. Ru. An example of a sequence that is not received is (Is2). The reason is, The signal amount, that is, the signal amount given to the two series of internal behaviors and Because I can't.

Hポートの実施例 第7図に示されたHボートの実施例は、本発明による2つの別々に計算を行なう 計算装置を互いに結合するものである。IIfの計算装置に属するHポートの半 分はTYPE]イールドTYPE11.4個(7)VA L U E/D ES フィールドV/ D z、V/ D I!、V/ D 11 V/ D I<お よび識別子レジスタID−++を含む。第2の計算装置に属するHボートの半分 はTYPEフィールドTYP E!!、4個(7)VALUE/DESフィール ドV/D、、。Example of H port The H-boat embodiment shown in FIG. 7 performs two separate calculations according to the invention. It connects computing devices to each other. Half of the H port belonging to the IIf computing device Minute is TYPE] Yield TYPE 11.4 pieces (7) VA L U E/D ES Field V/ D z, V/ D I! , V/D 11 V/D I<o and an identifier register ID-++. Half of the H boats belonging to the second computing device is TYPE field TYP E! ! , 4 (7) VALUE/DES fields Do V/D...

V/Dtt、V/D、*、V/D、4および識別子レジスタ■Dpz+を含む。Contains V/Dtt, V/D, *, V/D, 4 and an identifier register Dpz+.

第7図に示された実施例において、2つのボート半分部のTYPEフィールドと VALUE/DESフィールドはバスで互いに内部接続されている。伝送は連続 バスを通して行なわれる。In the embodiment shown in FIG. 7, the TYPE fields of the two boat halves and The VALUE/DES fields are interconnected by a bus. Transmission is continuous This is done through buses.

物理的内部接続はできなるだけ少ないのが便利であるから、最も秀れた動作態様 は、ただ一本の連続バスを通じてボート半分部間でデータを転送することであろ う。The best operating mode since it is convenient to have as few physical internal connections as possible. is to transfer data between the boat halves through just one continuous bus. cormorant.

しかし、このような転送方法は、記憶フィールド当り1本のバスを用いて転送を 行なう場合よりも、中央制御装置tCU内の内部制御回路が複雑になってしまう 。並列データを直列データに(またはその逆)変換するインタフェースは第7図 には示されていない。それは当業者にとってごくなじみのものと思われるのでこ こでは説明を省略する。However, such a transfer method uses one bus per storage field to perform the transfer. The internal control circuit in the central control unit tCU becomes more complicated than if . Figure 7 shows the interface for converting parallel data to serial data (or vice versa). is not shown. This is likely to be very familiar to those skilled in the art. The explanation is omitted here.

Hボートの各半分は、自己が属する計算装置を制御する制御装置CU、およびC U、にそれぞれ接続されている。一方の制御装置CUIは他方の制御装置CU、 と同期する同期信号5YNCを与える。伝送がなされるべきときは、Hボートの 一方の半分は識別子レジスタ以外の全てのレジスタに特定の信号$を含み、それ は制御装置によって示される。その場合0.その信号は他方の半分部の対応レジ スタの内容を引継ぐ。Each half of the H-boat has a controller CU that controls the computing device to which it belongs, and a controller CU that controls the computing device to which it belongs. are connected to U, respectively. One control device CUI is the other control device CU, A synchronizing signal 5YNC is provided to synchronize with the When a transmission is to be made, the H-boat One half contains the specific signal $ in all registers except the identifier register, and is indicated by the control device. In that case 0. That signal is connected to the corresponding register in the other half. Inherit the contents of the star.

一方の計算装置から他方の計算装置へHポートを介して大容量のプログラムデー タを転送する際、識別子は、同じ番号の二重使用を避けるために、識別子番号の 内部割当てに適合するようになっている受信計算装置内で変更しなければならな い。従って、転送された閉包の各識別子を新しいものに交換し、それを目的記憶 内に記憶しながら、木が根から葉へ(これが望ましい)か、または葉から根へ転 送される。Large-capacity program data can be transferred from one computing device to another via the H port. When transferring data, the identifier must be must be changed within the receiving computing device to conform to the internal allocation. stomach. Therefore, we replace each identifier of the transferred closure with a new one and store it in the target memory. Keep in mind that the tree will move from root to leaf (this is preferable) or from leaf to root. sent.

H言語ビヘービア プログラミング言MHは形式 pta(p、t、aは3個の別々のモデリング変数)の3つのアスペクトを存す るビヘービアを利用する。パラメータp、t、aはそれぞれ、並列性、遂次時間 、代替動作を形成する。それらは、それぞれ、異なった並列動作、異なった事情 および代替ビヘービアを表示する指標とみなすことができる。これら3個のアス ペクトは、命令型言語の特別な構成体によって記述された数種のビヘービアを遂 行するのに存益である。それらはともに、H言語ビヘービアの中心概念、すなわ ち核となる。こうして、本発明による計算装置の構成は、これら3個のアスペク トを有するビヘービアを処理するようになる。応用分野によっては、モデリング 変数aは、2個以上の値でもよい。すなわち数個の代替事象が同時に起こること があることに注意すべきである。H language behavior The programming word MH is a format There are three aspects of pta (p, t, a are three separate modeling variables). behavior. Parameters p, t, and a are parallelism and sequential time, respectively. , form an alternative behavior. They each have different parallel operations and different circumstances. and can be considered as an indicator of alternative behavior. These three as A program can accomplish several types of behavior described by special constructs in imperative languages. It is in your best interest to do so. Together they represent the core concept of H language behavior: It becomes the core. Thus, the configuration of the computing device according to the present invention is based on these three aspects. will now process behaviors that have an effect. Depending on the application field, modeling Variable a may have two or more values. In other words, several alternative events occur simultaneously. It should be noted that there is.

構造演算装置(コアセル) 上述したように、リダクションがなされるべきに限られた木のセル閉包が転送さ れる特定の構造演算装置3で、リダクション動作を行なうのが望ましい。Structural calculation device (core cell) As mentioned above, the cell closure of the tree limited to which the reduction is to be done is transferred. It is desirable to perform the reduction operation in a specific structural operation device 3 that is used.

構造演算装置3(コアセル)の実施例を簡単に説明する。目的記憶内に表現およ び値が記憶されるどのように記憶されるかコアセル3内のレジスタに対応物を有 しオブジェクト記憶1とコアセルの間には協同がある。An embodiment of the structural calculation device 3 (core cell) will be briefly described. Representation and purpose in memory has a counterpart in a register in core cell 3. There is cooperation between the object memory 1 and the core cell.

コアセル内のレジスタ コアセルの実施例において用いることのできるレジスタが、第8A図〜第8C図 に示されており、そのレジスタの構造が第8D図に示されている。Register in core cell Registers that can be used in the core cell embodiment are shown in FIGS. 8A to 8C. The structure of the register is shown in FIG. 8D.

第8A図にレジスタが示されている。レジスタはいくつかのレジスタセルから構 成され、各セルは1ビツト情報を記憶できることを図は示している。レジスタが 描かれている態様は、レジスタがコアセル内の別々のプレーンを通って延び、各 レジスタセルが1ブレーンに位置していることを示す。A register is shown in FIG. 8A. A register is made up of several register cells. The figure shows that each cell can store one bit of information. The register is The embodiment depicted is that the registers extend through separate planes within the core cell, with each Indicates that the register cell is located in one brane.

第8図はコアセルの全てのブレーンを通って延びるレジスタすなわちフルレジス タを示す。この種のレジスタは、コアセルのNUMブレーンおよびHEADブレ ーンに位置したレジスタセル内に識別子または値を保持できる。また、コアセル のTYPE、WHERE、LASYおよびCLOS/S IMPLEブレーンに 位置するレジスタセル内に上述した状態を保持できる。Figure 8 shows the registers that extend through all the branes of the core cell, that is, the full registers. Indicates the data. This type of register is used for the core cell's NUM and HEAD brains. An identifier or value can be held in a register cell located in a cell. Also, core cell TYPE, WHERE, LASY and CLOS/S in the IMPLE brain The above-mentioned state can be maintained in the located register cell.

第8C図は、コアセルのNUMブレーンおよびHEADブレーンのみを通って延 びるレジスタ、すなわち制限レジスタを示す。Figure 8C extends only through the NUM and HEAD branes of the core cell. Indicates a limit register, or a limit register.

第8D図はコアセルの実施例におけるレジスタの可能な構造を示す。コアセルは 、ペースレジスタマトリックスと呼ばれる、望ましくは四角に配列されたペース レジスタを有する。ペースレジスタはその側面の1つに沿う主たる行(メインレ ジスタという)を有する。各々が底部に1個のメインレジスタを有する、ペース レジスタの列は、従属レジスタと呼ばれる。コアセルはまた、識別子レジスタお よび環境レジスタを備えることもできる。FIG. 8D shows a possible structure of the register in the core cell embodiment. The core cell is , called a pace register matrix, preferably arranged in a rectangular manner. Has a register. The pace register has a main row along one of its sides. (referred to as gysta). paces, each with one main register at the bottom A column of registers is called a dependent register. The core cell also has an identifier register and and environment registers.

−列の補助レジスタがペースレジスタマトリックスの側面に配置される。- Column auxiliary registers are placed on the sides of the pace register matrix.

コアセルの実施例において、従属レジスタは第8C図に示されたもの、すなわち 制限レジスタでよい。残りのレジスタは第8B図に示されたもの、すなわちフル レジスタでよい。In the core cell embodiment, the dependent registers are those shown in FIG. 8C, i.e. A limit register is fine. The remaining registers are those shown in Figure 8B, i.e. full A register is fine.

コアセルのハードウェア構造のより詳細な記述は同時係属出願PCT/SE 9  Ilo O514にある。第9A図〜第9F図を参照して種々のデータ記憶形 式で簡単に・ 説明する。動作のいくつかの例を第10A図〜第10H図、第1 1A図〜第11G図および第12A図〜第12G図を参照して説明する。A more detailed description of the core cell hardware structure can be found in co-pending application PCT/SE 9. Located in Ilo O514. Various data storage types with reference to FIGS. 9A to 9F Explain easily with a formula. Some examples of operations are shown in Figures 10A-10H, 1 This will be explained with reference to FIGS. 1A to 11G and FIGS. 12A to 12G.

単純値 第9図に示されるように、リダクションの結果である単純値25がメインレジス タのうちの特定のレジスタに存在する。この結果はセル閉包の一部分であり得る 。simple value As shown in Figure 9, the simple value 25, which is the result of the reduction, is in the main register. exists in a specific register of the data. This result can be part of the cell closure .

ルベル構造 ゴールは簡約されるためにコアセルにロードされるものである。第9B図に示さ れるように、ルベルだけを含むゴール(典型的には他のセル閉包と関係のないセ ル閉包)がメインレジスタに記憶されている。例は、簡単な数値動作、すなわち 、値1.2および3の加算を示している。数値命令(+)が第1のメインレジス タに記憶され、処理されるべき要素は他のメインレジスタに記憶されている。rubel structure The goal is what is loaded into the core cell to be reduced. Shown in Figure 9B A goal that contains only rubels (typically a cell that is unrelated to other cell closures) closure) is stored in the main register. An example is a simple numerical operation, i.e. , shows the addition of values 1.2 and 3. Numerical instruction (+) is the first main register Elements to be stored in the register and processed are stored in other main registers.

2レベル構造 第9図に示されているように、2レベル構造を含む木は、メインレジスタに水平 方向に記憶された父親である根リスト、およびペースレジスタに垂直方向に記憶 された息子であるリストを存してよい。この例では、リスト表現((12)(3 4))を有する構造がペースレジスタマトリックスに記憶されている。根リスト すなわちサブリストの第1要素である1、3がメインレジスタに記憶され、息子 リストすなわち(12)および(34)が従属レジスタに垂直方向に記憶されて いる。この形式の記憶を用いる例を以下に示す(第9A図〜第9H図参第9E図 に示されるように、3レベル構造を有するゴール木は補助レジスタの1つに記憶 された根を有し、その唯一の息子がメインレジスタに記憶されている。第9D図 において、ゴール本の根(置換命令)が補助レジスタの1つに記憶され、その息 子(リスト(id 1. id 2゜id 7))がメインレジスタに記憶され ている。このリストの各要素が今度は息子を有する父親となる。第9E図におい て、これらの息子はペースレジスタに垂直方向にロードされる。ここでは、id  lはそれが表わすリスト(123)と置換えられ、id 2はそれが表わすリ スト(11゜12.13)と置換えられ、id 7はそれが表わすリスト(21 ,22,23)と置換えられる。2 level structure As shown in Figure 9, a tree containing a two-level structure is placed horizontally in the main register. The root list which is the father stored in the direction, and vertically stored in the pace register May I have a list of my sons who were born? In this example, the list representation ((12)(3 4) A structure with) is stored in the pace register matrix. root list In other words, the first elements of the sublist, 1 and 3, are stored in the main register, and the son The list i.e. (12) and (34) is stored vertically in dependent registers. There is. An example of using this type of memory is shown below (see Figures 9A to 9H, Figure 9E). A goal tree with a three-level structure is stored in one of the auxiliary registers, as shown in and its only son is stored in the main register. Figure 9D , the root of the goal book (replacement instruction) is stored in one of the auxiliary registers, and its breath The child (list (id 1. id 2゜id 7)) is stored in the main register. ing. Each member of this list is in turn a father with a son. Figure 9E These sons are then loaded vertically into the pace register. Here, id l is replaced with the list it represents (123), and id 2 is replaced with the list it represents. (11゜12.13), and id 7 is replaced by the list (21゜12.13) that it represents. , 22, 23).

パイプラインモード 第9F図に示されるように、パイプラインモードで記憶された木は、メインレジ スタのゴールリストでロードされ、補助レジスタのゴールの父親でロードされる 。両種類のレジスタに記憶された命令と処理されるべき要素を存する。パイプラ インモードの動作は数値的表現を簡約するときに用いるのが望ましい。一つの利 点は、中間の結果が、目的記憶でなくコアセルに一時的に記憶できることである 。pipeline mode As shown in Figure 9F, trees stored in pipeline mode are stored in the main register. loaded with the star's goal list and loaded with the auxiliary register's goal father . There are instructions stored in both types of registers and elements to be processed. pipera In-mode operation is preferably used when simplifying numerical expressions. one advantage The point is that intermediate results can be temporarily stored in core cells rather than in purpose memory. .

従って、ゴール木の根リストは、木構造のレベルおよび遂行されるべき動作に依 存して、コアセルのレジスタの別々の場所に記憶するのが望ましい。Therefore, the root list of the goal tree depends on the level of the tree structure and the action to be performed. Therefore, it is desirable to store them in separate locations in the core cell registers.

H言語構成および関連ハードウェア 本発明による計算装置に特に適応した言語はH言語と呼ばれる。複雑さの問題に 伝統的な解答は、全ての複雑な事項を隠すことによって複雑さを増大することお よび簡単な事項を見えるようにすることであった。本発明による計算装置は逆の 方法を用いる。全ての不要なソフトウェアレベルは除去されている。H言語は、 マシンにおける全てのために、マシン言語、プログラミング言語、オペレーティ ング・システムおよび通信プロトコルとして用いられる。しかし、全ての電子装 置と同様、今日では、本発明による計算装置の配線は、ある程度までインタプリ タまたはコンパイラを備えたコンピュータにおいてシミュレートできる。このよ うなマシンの例は5un3である。しかし、このマシンは統一化可能性が与えら れるボートを育していなければならない。H language configuration and related hardware A language specifically adapted to the computing device according to the invention is called the H language. to the question of complexity Traditional answers tend to increase complexity by hiding all the complexities. and to make simple matters visible. The computing device according to the invention Use methods. All unnecessary software levels have been removed. The H language is Machine languages, programming languages, operators for everything in machines used as a communication system and communication protocol. However, all electronic equipment Today, the wiring of computing devices according to the invention is to some extent interpreted. can be simulated on a computer equipped with a computer or compiler. This way An example of such a machine is 5un3. However, this machine is not given the possibility of unification. You must have a boat that can be used.

従来の論理プログラミング言語は主たる意味論的特性として解像度と統一化を有 している。H言語を備えた本発明による計算装置は、解像度および自由変数に対 するパターンマツチングおよびリダクション言語における統一化に対するパター ンマツチングを利用する。記憶セルのフィールドに記憶されたH言語における目 的は、並列的存在、直列的存在および代替的存在という特性を育している。Traditional logical programming languages have resolution and unification as their main semantic properties. are doing. The computing device according to the invention with the H language is capable of handling resolution and free variables. Patterns for unification in pattern matching and reduction languages Use matching. Eyes in the H language stored in the field of memory cells Target develops the characteristics of parallel existence, serial existence and alternative existence.

ゴール木の根は、unity、 att、 appl)’ 、ある意味ではpa r−および虱(これらはしばしば「無」に簡約可能である)のような簡約可能な 種類の閉包である。関数適用apply (@とも呼ばれる)において、第1の 要素はハードウェアに直接解釈された命令(+ −* /during)か関数 定義として用いられた閉包構造を間接的に指示する識別子であり、要素の残りは 命令/関数定義に対する引数である。上述したように、本発明による計算装置は 、抽象構文および意味論によって定義されたHと呼ばれる宣言型言語を処理する ようになっている。The roots of the goal tree are unity, att, appl)', in a sense pa reducibles such as r- and lice (which are often reducible to “nothing”) It is a kind of closure. In function apply (also called @), the first The elements are instructions (+ - * /during) or functions that are directly interpreted by the hardware. This is an identifier that indirectly indicates the closure structure used as a definition, and the rest of the elements are Arguments for instruction/function definitions. As mentioned above, the computing device according to the present invention , which processes a declarative language called H defined by abstract syntax and semantics. It looks like this.

構文は、表現の助けを借りていくつかの異なった抽象オブジェクトを記述する。Syntax describes several different abstract objects with the help of representations.

次の基本的な表現、すなわちport、 nothing、 alt(list )、 par(list)、 5eq(list)、unify (list)  、during (list) 、cont (v) 、perid(V)( ここで(1ist)は、それが属する式を含む目的記憶セルにおけるデータ要素 (el、・・・e、)の形式で特定され、■は実数を表わす)を用いることがで きる。The following basic expressions: port, nothing, alt(list ), par (list), 5eq (list), unify (list) , during (list), cont (v), period (V) ( Here (1ist) is the data element in the destination storage cell containing the formula to which it belongs (el,...e,), where ■ represents a real number) can be used. Wear.

本発明のワイヤード適用における各記憶セルは制限された数のVALUE/DE Sフィールドを育するから、リストはいくつかの記憶セルに記憶できる。オブジ ェクト記憶の構造が一般型のコンピュータにおけるプログラムによってシミュレ ートされる場合、シミュレートされた記憶セルは変化する数の記憶フィールドを 有することかできることに注意すべきである。Each storage cell in wired applications of the invention has a limited number of VALUE/DE Since we grow the S field, the list can be stored in several storage cells. object The structure of object memory can be simulated by a program on a general-purpose computer. simulated storage cells contain a varying number of storage fields. It should be noted that you can have or have.

Port ・・・物理的ポート、すなわち一連のduringを表わし、特別の 種類の間接要素である。Port: Represents a physical port, that is, a series of It is an indirect element of kind.

NOthirlg・・・矛盾を表わす特別の種類の値。NOTHIRLG: A special type of value that represents a contradiction.

Alt ・・・この式を含む記憶セルは代替要素と考えられるリスト要素を含む 。Alt...The storage cell containing this formula contains a list element that can be considered an alternative element. .

Par −−−この式を含む記憶セルは並列要素と考えられるリスト要素を含む 。Par --- The storage cell containing this expression contains list elements that are considered parallel elements .

≦3− ・・・この式を含む記憶セルは直列要素と考えられるリスト要素を含む 。≦3-...The memory cell containing this formula contains list elements that are considered serial elements .

[Jnify ・・・この式を含む記憶セルは統一化されるべき要素と考えられ るリスト要素を含む。[Jnify...The memory cell containing this formula is considered to be an element that should be unified. Contains a list element.

Duringまたは@・・・この式を含む記憶セルは、その間に何何かが起る持 続時間を与えるリスト要 素を含む。During or @...The memory cell containing this formula is A list giving the duration is required. Contains elements.

cont ・・・長さVを有する距離に沿って無限定の数の極小ビヘービアを有 する空間量を示す。cont...have an infinite number of minimal behaviors along a distance with length V indicates the amount of space.

perid ・・・持続時間Vを有する期間の間のいくつかの極短ビヘービアを 有する持続時間を示す。period: some extremely short behaviors during a period with duration V indicates the duration of time.

上記リストの要素はVALUE/Dll:Sフィールドに値として記憶される。The elements of the above list are stored as values in the VALUE/Dll:S field.

書換え機能は記憶セルと協同する中央制御装置CUに組込まれている。従って、 この制御装置が書換え規則を具現する。それは、所定の書換え規則に従がって上 記構文式を書換える。The rewrite function is integrated into a central control unit CU that cooperates with the storage cells. Therefore, This control device implements the rewriting rules. It is rewritten according to the given rewrite rules. Rewrite the syntax expression.

中央制御装置は論理ゲートアレイが望ましく、それは記憶された式を読むために 、そして組み込み規則に従がって書換え動作を与えるために接続される。その場 合、木の一部のみが必要となるにすぎない。組合せ入力に作用して組込みプロト コルに従がって組合せ出力を与える論理ゲートアレイの構造は、Carver  Mead 、 LynnConway ’ Introduction to  VLSI Systems″AddisonWesley Publishin g Company 、1980に記載されている。The central controller is preferably a logic gate array, which is used to read stored formulas. , and are connected to provide rewriting operations according to built-in rules. the spot In this case, only part of the tree is needed. Built-in prototyping by acting on combinatorial inputs The structure of a logic gate array that provides a combinatorial output according to Carver Mead, Lynn Conway’ Introduction to VLSI Systems" Addison Wesley Publishing g Company, 1980.

書換え規則 書換え規則は次のとおりである。Rewriting rules The rewriting rules are as follows.

(すなわち値 nothingは省略) C@ −−e@ ) ずれかかnothing ならばnothing 別のやり方で ずれかがflothil’1g ならばnothing seq ce、、、em ) −+ seq cel、、 e、 )別のやり方 で か同一ならばel unify (el 、、、、em ) −el 〜e++のいずれかが他と異 なる ならばnothing unify(e + e t e a、、−e −) −unify (el  ex)es、。(i.e. value nothing is omitted) C@ --e@ ) nothing then nothing in a different way Zurakaga flothil’1g then nothing seq ce,,, em) -+ seq cel,, e,) Another way in or if el is the same unify (el,,,,em) -If any of el to e++ is different from the others Become then nothing unify (e + e t e a,, -e -) - unify (el ex)es,.

ずれかがnothing ならばnothing オブジェクト記憶に記憶された木構造のりダクションがなされる際、その木構造 の少なくとも一部が演算装置3に転送される。装置3において本構造を処理する 他の可能性については第3図の配列の特定の実施例に関連して次に示す。nothing then nothing When the tree structure stored in the object memory is pasted, the tree structure At least a portion of the information is transferred to the arithmetic device 3. Process this structure in device 3 Other possibilities are discussed below in connection with the specific embodiment of the arrangement of FIG.

制御装置CUは装置3に記憶されたセル閉包のTYPEフィールドを読み、上記 した書換え規則に従がって装置3内のセル閉包の内容を書換え(すなわち再配置 し)、書換え結果をオブジェクト記憶1に再び記憶されるように転送する。書換 え結果がある値またはnothing (無)に簡約されるとき、制御装置CU はオブジェクト記憶の全体的な探索をなし、簡約された構造の父親を示す記憶フ ィールドの内容をリダクションが生じた値と交換する。The control unit CU reads the TYPE field of the cell closure stored in the unit 3 and Rewrite (i.e. rearrange) the contents of the cell closure in device 3 according to the rewrite rules ), and transfers the rewriting result to be stored in the object storage 1 again. Rewriting When the result is reduced to a value or nothing, the control unit CU constitutes a global exploration of object memory, and a memory frame that represents the father of a reduced structure. Replaces the contents of the field with the value resulting from the reduction.

これらの構文規則を用いた動作の方法を以下例証する。The following illustrates how to operate using these syntax rules.

以下に示す例に示されない構文規則は、例示されたものと極めて似ているからそ れらを参照することによって当業者にとっては容易に理解できるであろう。Syntax rules not shown in the examples below are very similar to those shown, so Those skilled in the art will be able to easily understand these by referring to them.

例 1 第10A図〜第10H図に示された第1の例は、簡約可能な閉包 unify(par(l par(1) 3) par(t par(1’)  2)1(これはいくつかの並列の統一化がなされるべき簡約可能な閉包である) として与えられた並列値の統一化である。この簡約可能な閉包は統一化の並列構 造として書換えられるべきである。Example 1 The first example shown in Figures 10A-10H is a reducible closure. unify(par(l par(1) 3) par(t par(1') 2) 1 (this is a reducible closure for which some parallel unifications should be made) is the unification of parallel values given as . This reducible closure is a parallel structure of unification. It should be rewritten as a structure.

第10A図は最初の簡約可能閉包を示す。第10B図は、この簡約可能な閉包が オブジェクト記憶に記憶される様子を示す。簡約可能な閉包の種々の部分が記憶 される記憶セルが第10A図にマークされている。要素閉包とセル閉包のとのつ ながりが第10B図にマークされている。識別子ld、を育するセル閉包はcl sがタグされている(付けられている)。TYPEフィールドにTYPEコード unifyを育し、識別子idz 、+dj、 j(Lを育するセル閉包はその TYPEフィールドにTYPEコードparを存する。識別子id+を育するセ ル閉包はその最初の2つのVALUE/Dll:S閉包要素として識別子id、 およびid4を有するセル閉包を育する。これらのセル閉包はcanonがタグ されている。識別子1d2を有するセル閉包は、タグdjscrを存する別々の 値を備えた第1、第3のVALUE /DES閉包要素および識別子idsを有 しcanonがタグされたセル閉包を示す第2のVALUE/DES閉包要素を 含む。識別子xdxを有するセル閉包は整数を備え、従って、discrがタグ されている第1のVALUE/DES閉包要素を存する。識別子id4を有する セル閉包はタグdiscrを有する別々の値を備えた第1、第3のVALUE/ DES閉包要素と、識別子idsを育し、従がってcanonでタグされたセル 閉包を示す第2のVALUE/DES閉包要素を含む。Figure 10A shows the first reducible closure. Figure 10B shows that this reducible closure is This shows how it is stored in object memory. The various parts of the reducible closure are stored The memory cells to be stored are marked in FIG. 10A. The difference between element closure and cell closure The sag is marked in Figure 10B. The cell closure that grows the identifier ld is cl s is tagged (attached). TYPE code in TYPE field unify, identifiers idz, +dj, j (the cell closure that grows L is its A TYPE code par exists in the TYPE field. A center that develops the identifier id+ The file closure has the identifier id as its first two VALUE/Dll:S closure elements, and develop cell closure with id4. These cell closures are tagged by canon has been done. The cell closure with identifier 1d2 has a separate tag djscr. First and third VALUE with values / DES closure element and identifier ids and a second VALUE/DES closure element indicating the cell closure tagged with canon. include. The cell closure with identifier xdx comprises an integer, so discr is the tag The first VALUE/DES closure element is has identifier id4 The cell closure consists of the first and third VALUE/with separate values with the tag discr. DES closure element and a cell that grows the identifier ids and is therefore tagged with canon Contains a second VALUE/DES closure element indicating closure.

第10c図に示されるように、識別子id+を存するセル閉包をもった記憶セル の内容が最初にコアセルにロードされ、その結果第1動作段階においてその識別 子を閉包のTYPEコードunifyを含むidl として識別子レジスタに置 かれ、ゴールとしてのVALUE/DES要素がメインレジスタに置かれる。As shown in FIG. 10c, a storage cell with a cell closure having an identifier id+ The content of is first loaded into the core cell so that its identification Place the child in the identifier register as idl containing the closure TYPE code unify. Then, the VALUE/DES element as the goal is placed in the main register.

第10D図に示されるように、識別子idzとid4を有する息子はペースレジ スタに垂直方向にロードされ、その第1のVALUE/DBS要素は識別子でマ ークされたメインレジスタに置かれ、残りのVALIJE/DES要素は垂直方 向の列のレジスタに配置される。これらの息子のTYPEコ−Fparもメイン レジスタにロードされる。TYPEコードはTYPEブレーンに位置したレジス タセルにロードされる。As shown in Figure 10D, sons with identifiers idz and id4 are in pace register. the first VALUE/DBS element is mapped with an identifier. The remaining VALIJE/DES elements are placed in the main register and the remaining VALIJE/DES elements are placed in the register in the column facing the direction. These sons' TYPE Co-Fpar are also the main loaded into a register. The TYPE code is a register located in the TYPE brain. loaded into the tasel.

第10Efflに示されるように、ペースレジスタの内容が90°置換され、そ の結果ペースレジスタの第1垂直方向列かメインレジスタに配置され、第2垂直 方向列がメインレジスタに平行なペースレジスタの行に配置される。識別レジス タおよびメインレジスタにあるTYPEコードparとunifyかこれによっ て交換される。これは、制御装置によって自動的に行なわれる。こうして、ペー スレジスタは列に置かれた3人(個)の息子を存する父を含むことになる。As shown in the 10th Effl, the contents of the pace register are replaced by 90°, and The result is placed in the first vertical column of pace registers or the main register, and the second vertical Direction columns are placed in rows of pace registers parallel to the main register. identification regis TYPE code par and unify in the main register and main register. exchanged. This is done automatically by the control device. In this way, the page The register would include a father with three sons placed in a row.

各息子は命令makeを用いてオブジェクト記憶に再びロードされる。そのオブ ジェクト記憶からの応答として、記憶された息子の識別子が与えられ、メインレ ジスタに記憶される。一種のゲートアレイである制御装置CUか特にCLOS/  S IMPLE −TYPEプレーンにあるレジスタの内容を検知し、そこで 発見された情報に従がって命令を与えている(すなわちスイッチおよびゲートを 制御する)ことに注意すべきである。息子はidlの後、一連の順序で名付けら れ、既に占育された名前は使用されない。名前の順序は重要でないから任意でよ い。Each son is loaded back into object storage using the instruction make. That of As a response from the object memory, the remembered son's identifier is given and the main Memorized in the register. The control unit CU, which is a kind of gate array, or especially the CLOS/ S IMPLE -Detects the contents of the registers in the TYPE plane and writes them there. Gives commands according to discovered information (i.e. switches and gates control). Sons are named in sequence after idl Names that have already been reserved will not be used. The order of the names is not important, so feel free to do so. stomach.

第10F図に示されるように、第1の息子は識別子id2を得、識別子id8を 占める要素閉包を含む第2の息子は識別子xd4を得、第3の息子は識別子id しを得る。As shown in Figure 10F, the first son obtains the identifier id2 and the first son obtains the identifier id8. The second son containing the element closure that occupies gets the identifier xd4, and the third son gets the identifier id get something.

識別子1dz 、ida 、ldaを有するセル閉包と結びついた要素閉包を有 する父親はその識別子xd+を維持したままで、オブジェクト記憶に記憶される 。has an element closure associated with a cell closure with identifiers 1dz, ida, lda The father who does so retains his identifier xd+ and is stored in object memory. .

第10G図は、簡約可能な閉包 par(un if y(11)un 1fy(par(1) par(1))  un 1fy(2,3))を記憶する記憶セルを図示する。Figure 10G shows reducible closure par(un if y(11) un 1fy(par(1) par(1)) A storage cell storing un1fy(2,3)) is illustrated.

簡約可能な閉包自身は第10H図に示されている。第10G図、第10H図は第 10A図、第10B図と同じ態様で示されているから、説明を要しないであろう 。The reducible closure itself is shown in Figure 10H. Figures 10G and 10H are Since it is shown in the same manner as Figures 10A and 10B, no explanation is necessary. .

第10G図においては、TYPEコードunifyを育するセル閉包unifY を育するセル閉包はLAZYフィールドにeXec表記が与えられ、識別子id +を有するセル閉包はwait表記が与えられていることも示されている。そし てこのことは、114XeCでマークされたセル閉包は、識別子id+のりいた セル閉包の前に実行してその内容を値に簡約すべきであることを意味する。In Figure 10G, the cell closure unifY that grows the TYPE code unify The cell closure that grows is given the eXec notation in the LAZY field and the identifier id It is also shown that the cell closure with + is given a wait notation. stop The lever is that the cell closure marked with 114XeC has the identifier id + Means it should be executed before cell closure to reduce its contents to a value.

第10H図の閉包は、後の時点で、さらなる処理のためにコアセルに再びロード できる。たとえば、識別子idzを有するセル閉包は、それのVALUE!/D BS表示の値1と1が同一であるが故に値IJf−育することになり、識別子j dsを育するセル閉包は、それのVALUE/DBS要素の値2と3が同一でな いからnothingとなる。The closure of Figure 10H is loaded back into the core cell at a later point for further processing. can. For example, the cell closure with identifier idz is its VALUE! /D Since the values 1 and 1 in the BS display are the same, the value IJf- will be raised, and the identifier j The cell closure that grows ds must have the values 2 and 3 of its VALUE/DBS element the same. Therefore, it becomes nothing.

好適実施例における各統一化は、コンパレータの値を比較し、その比較結果を制 御装置CUに与える数値ALUにおいて行なわれる。従って、その際、制御装置 はコアセル第1メインレジスタの情報を与えるようその論理ゲートアレイを設定 する。リダクションが正規表示(単純値)または無になったとき、それは、第2 の種類の要素閉包を記憶するよう動作可能なオブジェクト記憶の全ての記憶フィ ールドに全体的に分配され、簡約された閉包に対する各間接表示が上記値の直接 表示に変更されるよこの例は、セル閉包が挿入リストを含むことを意味するハー ドウェア命令1iSt eXpansiorlである。この種の命令は他のりダ クションでは補助ステップである。Each unification in the preferred embodiment compares the comparator values and controls the result of the comparison. This is done in the numerical value ALU which is given to the control unit CU. Therefore, in that case, the control device configures its logic gate array to feed the information of the core cell first main register. do. When the reduction becomes canonical (simple value) or nothing, it is the second All storage files of object storage operable to store element closures of the type is distributed globally over the field, and each indirect representation for the reduced closure is a direct representation of the above value. This example shows the cell closure containing the insert list. The hardware instruction 1iSt eXpansiorl. This type of command is It is an auxiliary step in the action.

マシンはex、 typeと呼ばれる実証命令のりダクションを行なう。この命 令は次の形式 %式%))) を有する、値とリストを含む任意の種類の命令でよい。The machine performs demonstration instruction replication called ex, type. this life The command has the following format: %formula%))) can be any kind of instruction, including values and lists, with .

この形式は第11A図に示されており、そのセル閉包は第11B図に示されてい る。第11A図、第11B図は第10A図、第10B図と同様の態様で表示がな されているから、自明であろう。This format is shown in Figure 11A and its cell closure is shown in Figure 11B. Ru. Figures 11A and 11B are not displayed in the same manner as Figures 10A and 10B. Since it has been done, it should be obvious.

第11c図に示されているように、識別子id1を有するセル閉包はその識別子 を育するコアセルのメインレジスタにロードされ、TYPEコードは識別子レジ スタにロードされる。第2のメインレジスタの内容は間接要素openでマーク されているから、それがリンクしているセル閉包idzは、第11D図から明ら かなようにペースレジスタに垂直方向に息子としてロードされる。As shown in FIG. 11c, the cell closure with identifier id1 is The TYPE code is loaded into the main register of the core cell that grows the loaded into the star. The contents of the second main register are marked with the indirect element open Therefore, the cell closure idz to which it is linked is clear from Figure 11D. Kana is loaded vertically into the pace register as a son.

ハードウェア命令1ist expandは次に第3メインレジスタの個別の値 7を第3ベース列のid4のそばの位置に移動させ、第2のメインレジスタの上 の第2列のリストの部分を第3列に移しその最下位要素(値3)を第3メインレ ジスタに置き、それにTYPEコードtistを与える(第11E図)。第2メ インレジスタの内容は個別の値を存するからタグdiscrを有する。The hardware instruction 1ist expand then reads the individual value of the third main register. 7 to the position beside id4 in the third base column and above the second main register. Move the list part of the second column to the third column and move the lowest element (value 3) to the third main column. register and give it the TYPE code tist (Figure 11E). 2nd method Since the contents of the in-register have individual values, they have the tag "discr".

次に新たなリスト拡大が実行され、第3メインレジスタ上の第3列の内容を第4 列に移してそれに1istをタイプする。個別の値である、第3メインレジスタ の内容は、第11F図から明らかなようにdiscrとタグされる。A new list expansion is then performed and the contents of the third column on the third main register are column and type 1ist into it. 3rd main register, which is a separate value The contents of is tagged as discr, as is clear from FIG. 11F.

次に、第4列のリストがハードウェア命令makeを用いてオブジェクト記憶に 記憶される。それは、遊びになっているから識別子id2を有する記憶セルに記 憶され、識別子idzの供給は、第11G図に示されるように、第4メインレジ スタに記憶されるようにコアセルに戻される。Next, the list in the fourth column is stored in object storage using the hardware instruction make. be remembered. Since it is idle, it is recorded in the storage cell with identifier id2. The identifier idz is stored in the fourth main register as shown in FIG. 11G. is returned to the core cell so that it is stored in the star.

以後、ex、 typeについてさらにリダクションが行なわれ、正規の結果が 与えられるとき、リダクション結果がオブジェクト記憶に再ロードされる。After that, further reduction is performed on ex and type, and the normal result is When given, the reduction result is reloaded into object storage.

実際例−第1の方法 第3図に戻って、ボートで動作に対する本発明の基本的な考え方は、各持続時間 の信号量が単一の定義値を共通に得るということになる統一化として環境7,8 と能動オブジェクト記憶1.3の相互動作を見ることである。Practical example - 1st method Returning to Figure 3, the basic idea of the present invention for boat operation is that each duration Environments 7 and 8 are used as unification in which the signal amount of and Active Object Memory 1.3.

動作の態様を理解するために、次の例を与える。入力ポートと出力ポートを存す る機械は、二乗された入力信号量を出力に与えるものである。従って、この機械 に記憶されるべきプログラムは ア”) ここで“マシーンビヘービア′とは入力と出力の考え得る対の全ての連続、すな わち次の種類の大データ構造を示すalt動作を指す。To understand the manner of operation, the following example is given. Contains an input port and an output port The machine provides the squared input signal amount to the output. Therefore, this machine The program to be stored in a") Here, “machine behavior” is the sequence of all possible pairs of inputs and outputs, i.e. In other words, it refers to alt operations that indicate the following types of large data structures.

C以■血ム凹(is 3)血ム題(Is 9))・・・) (瓜(剋ム凹(ig 2)剋ム騙(lsa 4))入力ポートがその値を転送し 始めると、コアセルで行なわれるリダクション動作は、nothingに変る代 替動作における全てのブランチ、すなわち適合しないブランチを連続的に削除す る。C に■ Blood m concave (is 3) blood m title (Is 9))...) (瓜(剋MU dent (ig 2) 剋Mu sho(lsa 4)) The input port transfers its value. Once started, the reduction action performed in the core cell will change to nothing. Continuously delete all branches in a change operation, i.e. branches that are not compatible. Ru.

次のりダクション規則がコアセルで実行される。すなわち次のような形式の式 (2症(血ム凹(qkl t)0・・・血麩匹(qkn tk)・・・・) 環境からの信号とその表現の比較に応じて、nothingまたは 側温(店と(史匡社環((ill tl)・1.虫匡幻迫((Zl□t1])C 以1血ム皿1qkl tk)・・・虫仄ぶ瓜(qkn tkl・・・・) 同一の時間を取る。全てのduring動作を同時に開始、停止させるためには 同期が必要である。上記式の書換えをなす別の方法は、環境からの信号とその式 の比較に応じて、 nothingまたは MMC血ム匹(sm(qll−・・qxn) tl)(血ム凹(以匡(qkl・ ・・q)cn) tk)・・・・) に書換えるものである・ 上記例の第1の書換え規則を用いることによって次のりダクシジン規則が関係す るニ ー>Ic式出奴@工h1) ・・・1立@n%)およびseqの対応物。The next Noriduction rule is executed in the core cell. That is, an expression of the form (2 symptoms (blood mucus (qkl t) 0... blood muko (qkn tk)...) nothing or depending on the comparison of signals from the environment and its representation. Side heat (store and (Fumiyoshikan) ((ill tl)・1. Mushimasa Gensako ((Zl□t1))C 1 Blood plate 1 qkl tk)... Insect-filled melon (qkn tkl...) Take the same amount of time. To start and stop all during operations at the same time Synchronization is required. Another way to rewrite the above equation is to use signals from the environment and the equation Depending on the comparison of nothing or MMC blood (sm (qll-...qxn) tl) (blood) (qkl) ・・・q)cn)tk)・・・・) It is to be rewritten as By using the first rewriting rule in the above example, the following Runi -> Ic style denu @ 工 h1) ...1 tate @ n%) and the equivalent of seq.

入力値がマシン(機械)の対応値と統一化されない。すなわち同一でない場合、 結果はnothing (無)である。The input value is not unified with the corresponding value of the machine. That is, if they are not the same, The result is nothing.

これがalt動作まで全ての道程を伝搬し、ブランチ全体がalt式から削除さ れる。This propagates all the way to the alt action, and the entire branch is removed from the alt expression. It will be done.

外界との連絡 外部信号が定義されているかどうかまたはマシン値が定義されているかいないか (値$を存する)に応じてマシンとの間で値をやりとりできるようにボートを構 成することの利点は、マシンが上記した単純な入力ボート・出力ボートシステム に限定されないことである。従って、その機械に対してボートを交互に読み、書 きできるようプログラムを書くことができる。これについての例は次のプログラ ムである。contact with the outside world Whether external signals are defined or machine values are defined or not Configure the boat so that it can exchange values to and from the machine according to The advantage of the machine is that it has a simple input boat/output boat system as described above. This is not limited to. Therefore, alternately read and write the boat to that machine. I can write a program to do this. An example of this is the following program It is mu.

凹」上(port−マシンビヘービア0)すなわち (射1(自−1し一四t l (鈎」11冗tpot l (由仄−扉津t l  (虫広ム逗output rこのマシンビヘービアにおいて、環境は1つの値 を与え、次の間隔の間にマシンはその二乗を与えることによって応答する。この 方法によって、データを簡単な手段で流す完全な制御が得られる。concave” (port-machine behavior 0) i.e. (Shi-1 shi 14 tl (hook) 11 tpot l (Mushihiromu output) In this machine behavior, the environment is one value. and during the next interval the machine responds by giving its square. this The method provides complete control over the flow of data in a simple manner.

装置3はボートと連絡し、オブジェクト記憶のボートからの入力を連続的に記憶 するようになっている。入力は次のような式 %式%) として与えられる。この式が簡約されるとき、中央制御装置CUのプロトコルは この式を、それと環境からの信号との比較に応じてnothiogまたは式%式 %) に書換える。式rlew t+は新持続時間、ne!Wq+は値対の連続(第2 図参照)おけるi番目の間隔の新信号量である。Device 3 communicates with the boat and continuously stores input from the boat in object memory. It is supposed to be done. The input is an expression like %formula%) given as. When this formula is reduced, the protocol of the central controller CU is This formula can be changed to nothiog or formula % formula depending on the comparison between it and the signal from the environment. %) Rewrite it to . The expression rlew t+ is the new duration, ne! Wq+ is a series of value pairs (second (see figure) is the new signal amount at the i-th interval.

ボートでの信号が第2図に示された形式を有する場合において、信号の値q、が unify式中の対応量q、と異なるか、または信号の値tlがunify式中 の対応t1と異なるならば、上記式は装置t3でnothingに書換えられる 。そうでないならば、unify式seq式に書換えられる。If the signal at the boat has the form shown in Figure 2, then the value q of the signal is The corresponding quantity q in the unify expression is different, or the value tl of the signal is different from the corresponding quantity q in the unify expression. is different from the correspondence t1, the above formula is rewritten to nothing in device t3. . If not, it is rewritten to the unify expression seq expression.

上記したように特定の信号$をunify式に与えることができ、それは値が任 意であることを示す。As mentioned above, you can feed a specific signal $ to the unify expression, which can have any value. Indicates that the person intends to do so.

式中の値t、またはq+ (iは任意の整数)が$ならば、対応するnewt+  またはneWq+は測定値を挿入して書換えられる。If the value t or q+ (i is any integer) in the formula is $, the corresponding newt+ Alternatively, neWq+ is rewritten by inserting the measured value.

これに対応して、環境からの信号が未定義で、他方、unify式の値t1およ びq、が特定の値ならば、信号強度は時間t、の間のボート(第6図参照)のデ ィジタル/アナログ変換器Contestによってq、として与えられ、他方5 eq一式のneJf+および口e!Wq+lよunify式の値1、およびq、 と同じになる。Correspondingly, the signal from the environment is undefined, while the values t1 and For certain values of q and q, the signal strength is The digital/analog converter Contest is given as q, and the other 5 eq set neJf+ and mouth e! Wq+l equals the value 1 of the unify expression, and q, becomes the same as

付加的H言語構成 存在可能な全てのビヘービアを上述したシステムに従がって記述することが可能 である。残念ながら、プログラムが極めて大きくなることがある。このような事 態を処理するために、さらに大きな言語構成を挿入することがある。それらのう ちで最も重要なのは、symb、 lambda。Additional H language constructs All possible behaviors that can exist can be described according to the system described above. It is. Unfortunately, programs can become extremely large. Things like this Larger language constructs may be inserted to handle the situation. Those things The most important ones are symb and lambda.

およびapptyである。and appty.

H言語に宵月な完全構文は次の構文式:%式%) らの構文式は記憶セルのTYPEフィールドに符号化形式で演算子として与えら れる。The complete syntax in H language is the following syntax expression:% expression%) These syntax expressions are given as operators in encoded form in the TYPE field of the storage cell. It will be done.

従がって、各式はオブジェクト記憶セルに式として記憶された演算子であり、( list)における各要素はビヘービアを示すリスト要素、nは整数、■は実数 である。各要素は当該リストが属する上記式を含む記憶セル内の記憶フィールド に記憶可能である。Therefore, each expression is an operator stored as a formula in an object storage cell, and ( Each element in list) is a list element indicating a behavior, n is an integer, ■ is a real number It is. Each element is a storage field in a storage cell containing the above formula to which the list belongs. can be memorized.

式cont(v) (vは実数)は、長さVを有する距離に沿った無限の数の微 少のビヘービアを有する空間量を示す。The formula cont(v) (where v is a real number) is an infinite number of differentials along a distance with length V. Indicates an amount of space that has a small amount of behavior.

式period(v) (vは実数)は、持続時間Vの期間の無限の数の極短の ビヘービアを有する持続時間である。The expression period(v) (v is a real number) is an infinite number of extremely short periods of duration V. is the duration of the behavior.

式deltaは空間的に極小(原子)の拡大と無限の持続時間を有するビヘービ アを示す。式aettatは時間的に極小(原子)の拡大と無限の空間的拡大を 有する。The formula delta is a behavior that has spatially minimal (atomic) expansion and infinite duration. A is shown. The formula aettat represents the temporal expansion of the minimum (atomic) and the infinite spatial expansion. have

組合せとして量を表現すること 空間の整数的拡大はdeltaのparとして次の方法で符号化できる。expressing quantities as a combination The integer expansion of the space can be encoded as a delta par in the following way.

0l−z() 21Xz(delta dslta) 5%(delta1 delta deltat delta delta)時 間の整数的拡大はdefeatの凹として同様に符号化できる。0l-z() 21Xz (delta dslta) At 5% (delta1 delta deltat delta delta) An integer expansion between can be similarly encoded as a concavity of defeat.

こうして、整数(diser(n))は一種の原子単位deltaの一律の組合 せとして表現される。Thus, the integer (diser(n)) is a kind of uniform combination of atomic units delta It is expressed as

量の非常に重要な用法はduring動作における要素としてである。この動作 において、量は時間と空間の両方を指すために用いられる。従って、delta tと呼ばれるdeltaの時間対応が用いられる。A very important use of quantities is as elements in during operations. This behavior In , quantities are used to refer to both time and space. Therefore, delta A time correspondence of delta called t is used.

deltaは空間的には原子的だが時間的には無限、deltatは空間的には 無限だが、時間的には原子的、である。delta is atomic in space but infinite in time; delta is spatially It is infinite, but atomic in time.

上記式が構文式と同様の態様でオブジェクト記憶に記憶される。The above expressions are stored in object storage in a manner similar to syntactic expressions.

「言語」としてのプログラム、a′を有する式機械は挿入されている全ての表現 をほとんどIlr/!I的にその値に簡約する。たとえば、式apply (* par(24) )は直接、値6に簡約される。このため、プログラムがインス トールされるとすぐにそれにアクセフすることができない。そのプログラムをい くつかの部分に分解して、その部分について計算をなすことができない。The program as a "language", the expression machine with a' is all inserted expressions Almost Ilr/! I-wise reduce it to that value. For example, the formula apply (* par(24)) directly reduces to the value 6. This causes the program to You cannot access it as soon as it is tolled. run that program It is not possible to break it down into parts and perform calculations on those parts.

このような方策を可能にするために、基本言語に対応する受動構文が導入される 。これらはプログラム形式と呼ばれる。それらは自身に簡約され(正規的)で、 従ってそのままである。従って、いくつかの部分に分解できし る 。To enable such strategies, passive constructs corresponding to the base language are introduced. . These are called program formats. They are reduced to themselves (canonical) and Therefore, it remains as it is. Therefore, it can be broken down into several parts.

関数p1usrevargは次のように定義できる。The function plusrevarg can be defined as follows.

(上記プログラムに対応するプログラム形式で与えられれば、’ appxy  (+par (24) )は逆順序par(42)で設定された十の引数を与え る)。(If given in the program format corresponding to the above program, 'appxy (+par (24)) gives ten arguments set in reverse order par (42) ).

記憶されたプログラム形式を対応するプログラムに変換するために、標準的な関 数evalが用いられる。こうして、プログラムがコピーされ、ブリップ(bl ip)が除去される。それからプログラムは自然にその値にさらに簡約される。Standard functions are used to convert stored program formats into corresponding programs. The number eval is used. In this way, the program is copied and the blip (bl) ip) is removed. Then the program naturally reduces further to that value.

1匹1!(1!墓h(eval)’J4u!(+ m(24)))亀息逃1y( 十W(24)))−6プログラム形式を分解する可能性のために、プログラムを “reason over”する(筋道だでる)のを簡単にし、これによって、 その基本言語としてH−言語を有する機械を用いて任意の種類の他の言語に対す るインタプリタおよびコンパイラを書くのが簡単になる。1 animal 1! (1! grave h(eval)'J4u! (+ m(24))) turtle escape 1y( 10W(24)))-6 Due to the possibility of decomposing the program format, the program can be This makes it easy to “reason over” for any kind of other language using a machine that has the H-language as its base language. It becomes easier to write interpreters and compilers that use

一般的規則として、全ての生成関数(constructor )(たとえば、 delta 、 par )はプログラム形式を特定する1つの語い的要素(た とえばdeca 、 ’ par )として4″が先立つ第2の形式を有する。As a general rule, all constructors (e.g. delta, par) is a verbal element (delta, par) that specifies the program format. For example, deca, par) has a second format preceded by 4''.

実際の構成物だけがプログラム形式であり、木全体がそうでないことは重要であ る。木全体をプログラム形式として特定するためには、全ての生成関数を“”で マークする必要がある。It is important to note that only the actual constructs are in program form, not the entire tree. Ru. To specify the entire tree as a program, all generation functions must be marked with “”. need to be marked.

プログラム形式(having a ’ )のリストがnothingを含むな らば、式はnothingに変換される。The list of program formats (having a') does not include anything. If so, the expression is converted to nothing.

プログラムを形成すること sqrの定義のような定義をするのに必要な仕組みは上述したとおりである。し かし、小さな定義の組合せとしてプログラムを形成する都合のよい仕組みが必要 である。forming a program The mechanism required to make a definition such as the definition of sqr is as described above. death However, we need a convenient mechanism for forming programs as combinations of small definitions. It is.

我々はいくつかの補助定義を有する主たる式としてプログラムを確立したい。こ れはcan (list)を助けを借りて行なわれる。We want to establish the program as a main formula with some auxiliary definitions. child This is done with the help of can(list).

■とnの同の整数) Coil (Yet ex es 、、、e、 )この構造は第1の要素Vに等 しい値を有している。しかし、リストが空か、そのリストの要素のいずれかが不 可視要素が、自由変数に対する結合値、nothingに対する統−値のいずれ かの強制するものとして使用できる。■ and n are the same integers) Coil (Yet ex es,,,e,) This structure is equal to the first element V has a new value. However, if the list is empty or one of its elements is missing, Whether the visible element is a combined value for a free variable or a constant value for nothing It can be used as a compulsion.

canに対する書換え規則は、 全ての規則に関してもこの規則が能動記憶1.3と中央#1!lI装置CUの間 の協同として組込まれる。The rewrite rule for can is Regarding all rules, this rule is active memory 1.3 and central #1! Between II device CU It will be incorporated as a cooperation between

な[ 他の何かが前動でない(nothingである)ならば何かが前動であることを 示すためには、上記いずれの構成も利用できない、式の「消極的」態様はしばし ば式の「積極的」態様よりずっと単純だから、式の「消極的」態様に対する構成 priが加えられる。Na[ Something is a forward motion if something else is not a forward motion. To show that neither of the above configurations is available, the "negative" aspect of the expression is often The construction for the ``negative'' aspect of the expression is much simpler than the ``positive'' aspect of the expression. pri is added.

priに対する簡約規則は、程ツエの値はnothingとは異なる第1の要素 であるというものである。このような要素がない場合、匹はnothingであ る。従ってpri (nothing nothing 9 nothing  78)=pri (e+ ex)という構成は、elが前動でない場合は、e、 が用いられることになると解釈できる。The reduction rule for pri is that the value of Chengzue is the first element that is different from nothing. That is. If there is no such element, the animal is nothing. Ru. Therefore pri (nothing nothing 9 nothing 78)=pri (e+ ex), if el is not forward motion, then e, It can be interpreted that the following will be used.

pri構成はalt構成に似ている。それは−組みのビヘービアであるが、しか し肛りではビヘービアは順序づけられた組の中にある。第1のビヘービアはリス トの第1であり、第2のビヘービアは第2、その他のものである。The pri configuration is similar to the alt configuration. It is a - group behavior, but only In reality, behaviors are in ordered sets. The first behavior is squirrel The first behavior is the second behavior, and the second behavior is the second behavior.

プロセルスケジューリング用の従来の言語および機械において用いられる優先順 位という概念と同様priはnothingを有することに注目することが重要 である。その代りに、失敗によって否定を履行するのに用いられる。Priority orders used in traditional languages and machines for process scheduling It is important to note that similar to the concept of place, pri has nothing. It is. Instead, it is used to fulfill negation through failure.

prfに対する書換え規則は次のとおりである。The rewriting rules for prf are as follows.

凪0 −>ru3tMng 匡(閲thij19z −−−nothing、) −>nothin9凪(n othingl−−−n13thij19に−1@に、 、 、@n) −>@ に全ての規則に関しても、この規則が能動記憶1.3と中央制卸装置CUの間の 協同として組込まれる。Nagi0 ->ru3tMng 匡(viewthij19z ---nothing,) ->nothin9凪(n othingl---n13thij19-1@to, , , @n) ->@ This rule also applies to all rules between active storage 1.3 and central control unit CU. Incorporated as a collaboration.

範囲(スコープ)規則 範囲は、同一の記号の全ての出現が同一の意味論的実体を表わす文字環境である 。範囲規則は、ある生成関数が新範囲を導入するかどうか、導入する場合はその 方法を記述する。H−言語は次のような範囲規則を有する。Scope rules A range is a literal environment in which all occurrences of the same symbol represent the same semantic entity. . Range rules determine whether a generating function introduces new ranges and, if so, what new ranges it introduces. Describe the method. The H-language has the following scope rules.

1、 生成関数par 、 seq 、 alt 、 @およびunifyは新 範囲を導入しない。これは、ある式における同じ記号の全ての出現が同じ実体を 表わすことを意味する。1. Generation functions par, seq, alt, @ and unify are new Do not introduce ranges. This means that all occurrences of the same symbol in an expression refer to the same entity. It means to represent.

2、 生成関数lambda (代替パターン)は新従属範囲を導入する。上位 範囲において言及されない、その規則における記号の全ての出現は新範囲に属す る。2. The generation function lambda (alternative pattern) introduces a new dependent range. top All occurrences of the symbol in that rule that are not mentioned in the range belong to the new range Ru.

は、hide生成関数を取り巻く規則生成関数において同じ記号が出現すること と同じ実体を表わす。means that the same symbol appears in the rule generation functions surrounding the hide generation function. represents the same entity.

ide 拡大プログラムが生じるときには、異なった意味で同一の記号を用いることが必 要になる。これは、分離範囲を導入する生成関数(hide)を与えることによ って実現される。ide When extension programs occur, it is necessary to use the same symbols with different meanings. It becomes important. This can be done by providing a generating function (hide) that introduces a separation range. It will be realized.

hiding (隠蔽)の最も重要な概念は主に、目的の使用とその目的の定義 を分離するために用いられる。本発明による計算装置のユーザは、このことをプ ログラムパッケージ、ライブラリおよび履行の概念に見出すであろう。The most important concept of hiding is mainly the use of purpose and the definition of that purpose. used to separate The user of the computing device according to the invention can You will find in the concepts of program packages, libraries and implementations.

H言語はhide生成関数hide (e )を定義する。それはビヘービアを 定義する。その関数の内外で用いられる自由関数は分離される。すなわちお互い から見えないようになる。H言語のこの特徴は、一般にデータ形式といくつかの 記号名を輸出する他の種類の言語と異なる。このような名前はパッケージ内では 使用できない。このことは、広範囲の記号領域は全てのパッケージにとって実際 に広範囲であって、完全なまたは限定されたセットのそれら内部で見える。The H language defines a hide generation function hide(e). it's behavior Define. Free functions used inside and outside the function are separated. i.e. each other becomes invisible. This feature of the H language generally depends on the data format and some Unlike other kinds of languages that export symbolic names. Such names are I can not use it. This means that the wide symbolic domain is actually can be extensive and can be seen within a complete or limited set of them.

典型的なプログラムパッケージは m(ILJkqS S ) 、―(、、、l0cJII 坤1amntatio n、 、 、 ) ;のように特定される。それはpkgで始まるパターンを育 する規則を定義し、残りは未定義のままにしておく。これは、代替規則に対して 局部的な記号が未知である規則の定義にすぎない。A typical program package is m(ILJkqS S  ),-(,,,l0cJII 1amntatio n, , , ); It grows patterns starting with pkg. Define the rules that apply and leave the rest undefined. This is for alternative rules It is simply a definition of a rule whose local symbol is unknown.

ライブラリは1個または数個の規則を選択するパラメータを用いるH言語概念に おけるパッケージである。それは、次のように実行される。すなわち、h裏は空 ( 塁上1(laaida −rule a−、a−speclauabda ”r ulm b−−b−specライブラリは規則を含む代替物である。パターン“ rulea”がプログラムa 5peCを選択するのに用いられる。それは任意 の生成関数として定義してもよいが、一般には、抽象化また規則である。The library supports H language concepts using parameters to select one or several rules. It is a package that can be stored. It is executed as follows. In other words, the back side of h is empty. ( Base 1 (laaida-rule a-, a-speclauabda”r The ulm b--b-spec library is an alternative that includes rules. pattern" rulea" is used to select program a 5peC. It can be any Although it may be defined as a generation function, it is generally an abstraction or a rule.

上で実証したように、H言語は必要なソフトウェア・エンジニアリング概念を特 定するための洗練された方法である。H言語はこの目的で新しい言語生成関数を 導入する必要はない。As demonstrated above, the H language specifies the necessary software engineering concepts. This is an elegant way to determine The H language has a new language generation function for this purpose. There is no need to introduce it.

“旧de″のみが範囲の扱い方に影響を与えることに注意すべきである。Note that only "old de" affects how ranges are handled.

ambda 式lambda (e g e pi ・・・e p−)は要素e、がep+” ・・e、、に取って代ることを表現する規則である。e。ambda The expression lambda (e g e pi ... e p-) has element e and ep+" ...This is a rule that expresses the replacement of e, . e.

(e r e mrgl ” ” ” e mrgl)は、各ep+が対応する e 、、、、と統一するならば簡約動作においてe、によって置換えられ、さも なければnothingによって置換えられる適用である。(e e mrgl ” ” ””e mrgl) corresponds to each ep+ If we unify e, , , , it will be replaced by e in the reduction operation, otherwise If not, it is an application that is replaced by nothing.

数値的命令が実行されるものとする。数値的命令は+。Assume that a numerical instruction is executed. + for numerical commands.

−、*、 /、 duringなどである。命令の後に引数が続く。-, *, /, during, etc. The command is followed by an argument.

この例では、リストにおける数の加算がなされる。In this example, addition of numbers in a list is performed.

マシンは apply (+1ist (12) )という形式をapply (適用)と いうリダクション行なう。The machine is The format apply (+1ist (12)) is called apply. Perform a reduction.

その適用は第12A図に示され、そのセル閉包は第12B図に示されている。第 12A図および第12B図は第10A図および第10B図と同じ態様で描かれて いるから説明を要しないだろう。Its application is shown in FIG. 12A and its cell closure is shown in FIG. 12B. No. Figures 12A and 12B are drawn in the same manner as Figures 10A and 10B. There is no need for an explanation.

第12C図に示されるように、識別子id+を有するセル閉包はその識別子を有 するコアセルのメインレジスタにコードされ、TYPEコードは識別子レジスタ にロードされる。数値命令(+)は1nstructionがマークされている 。第2のメインレジスタの内容は間接要素凹としてタグされているので、それが リンクされているセル閉包は、第12D図から明らかなようにペースレジスタに 垂直方向に息子としてロードされる。As shown in Figure 12C, the cell closure with identifier id+ has that identifier The TYPE code is coded in the main register of the core cell, and the TYPE code is in the identifier register. loaded into. Numerical instructions (+) are marked as 1nstruction. . The contents of the second main register are tagged as indirect elements, so it is The linked cell closure is in the pace register as evident from Figure 12D. Loaded vertically as a son.

次にリスト拡大がなされ、第2メインレジスタの個別は、識別子idtを育する リストが2.3.4個いずれの要素を有しても同じ動作を機械がするからである 。新しいリストには、ただ1個の要素があるから、機械はマーク1istを、第 12F図に示されるように、disrである値をメインレジスタが含むという指 示で置換える。Next, list expansion is performed, and the second main register individually grows the identifier idt. This is because the machine performs the same operation no matter which of the 2.3.4 elements the list has. . Since there is only one element in the new list, the machine marks 1ist as the As shown in Figure 12F, an indication that the main register contains a value in disr. Replace with

そのとき、メインレジスタは命令マーク(+)と2つの別々の値を有し、これに よって、命令が記憶されている制御装置が数値ALUを制御して命令(加算)を 行ない、数値動作の結果を、第12G図に示されるように第1のメインレジスタ に正規値として転送する。TYPEコードフィールドの表記apptyは関数適 用がなされることをマークしていることに注意すべきである。結果値、今の場合 は単純値3が、識別子id+の各出現とこの値を交換するために、全体的に分配 される。The main register then has an instruction mark (+) and two separate values, which include Therefore, the control device in which the command is stored controls the numerical ALU to issue the command (addition). and store the result of the numerical operation in the first main register as shown in Figure 12G. be transferred as a normal value. The notation appty in the TYPE code field is applicable to the function. It should be noted that it is marked as being used. Result value, in this case The simple value 3 is distributed globally to exchange this value with each occurrence of the identifier id+ be done.

書換え規則 書換え規則は同じある式を特定する。書換え方向はこれらの規則と関連がある。Rewriting rules Rewriting rules specify certain expressions that are the same. The rewriting direction is related to these rules.

より簡単な式は書換え方向に続くときに生じる。式がより簡単な式に書換えるこ とができないとき、それは正規的なものである。こうして、本発明による計算装 置は、式をより正規的な形式に書換えるために書換え規則を用いることになる。A simpler expression occurs when following the rewriting direction. Rewriting the expression to a simpler expression When it cannot be done, it is normal. Thus, the computing device according to the present invention The position will use rewriting rules to rewrite the expression into a more regular form.

上記書換え規則の他に、中央処理装置CUは次のような書換え規則も具体化する 。In addition to the above rewriting rules, the central processing unit CU also embodies the following rewriting rules: .

ストについての式を表 わし・el、、 emはリス ト要素である。Express the expression for I, el, em are squirrels This is an element.

type cel、、、 aH(Ci−−、ck )−、、L ) →alt  (匣Cer−−−Cr−−−em )−9,匣(el、、、 C,、、、e、  ))ここで匣はpar (list)からunity (list) (alt  (list)を除く)までのリストについての式でe 1. e 、、 c  l+ c 。type cel,,, aH(Ci--, ck)-,, L) → alt (Box Cer---Cr---em)-9, Box (el,,,C,,,e, )) Here the box is par (list) to unity (list) (alt The formula for the list up to (excluding list) is e1. e,,c l + c.

はりスト要素である。It is a beamist element.

式である場合) set (alt (el、、、 em )) −+ ’alt (e、 、、 、e、 )ここで、el、、 e、は任意の特定順 序で与えられた要素で、 el−earは割当順序で与 えられる。(if it is an expression) set (alt (el,,, em)) -+’alt (e,,,, , e, ) where el, , e is in any specific order With the elements given in the introduction, el-ear is given in the allocation order. available.

lambda(el、、、e、 ) ” par (el、、、e、 )app ly (’att (bl、、、 b、)a=、、a、 )→ apply ( 吐11.t・ 凹 (bl、、、b、 )ag、、、a、 )apply (par (bl、、、  b、 )at、、a、 )−+ nothing、上記式IJ ス)において 全てのblおよび あり、n#mまたは任意 のat g bl (illに対して )の場合 appxy (par <bl、−ha )am、、a、 )→ bl、上記式 リストにおい て全てのす、およびalが 肌(list)からappxy (list)に至る式であり、 n’sまたは全てa、=b。lambda(el,,,e,)”par(el,,,e,)app ly ('att (bl,,,b,)a=,,a, )→apply( Vomit 11. t・Concave (bl,,,b, ag,,,a,)apply (par (bl,,, b,)at,,a,)-+nothing, in the above formula IJ) all bl and Yes, n#m or any at g bl (for ill )in the case of appxy (par < bl, -ha) am,, a, ) → bl, the above formula list smell All of them and al are skin (list) to appxy (list) is the formula that leads to n's or all a, =b.

(i〉1に対して)の場合 appty (seq (t)+、、、 b、 )a=、、a、 )において全 てのblおよび あり、n#mまたは任意 のat # bl (i>1に対して )の場合 appty (seq cbl、、、b、 )am、、a、 )→ bl、上記 式リストにおい て全てのす、およびalが par (list)から’appxy(list)に至る式であり、 n#mまたは全てal=I)1 (i〉1に対して)の場合 えている)の式を値形式(“′”がない)に変換する。If (for i>1) appty (seq (t)+, , b,) a=,, a,) te no bl and Yes, n#m or any at #bl (for i>1 )in the case of appty (seq cbl,,,b,)am,,a,)→bl, above expression list smell All of them and al are It is an expression from par (list) to 'appxy (list), n#m or all al=I)1 If (for i>1) Converts the expression in value format (without the “′”).

最も高い構造のみが ′を除去される。Only the tallest structures are removed.

eval−*+、’type(a) →type(a)、ここでtypeはpa r (list)からunifY (list)に至る(alt (list)を除いて)上記リ ストについての式を表わ す 要素Sを含み、その要素Sは上記記憶セルの異なった記憶セルに属する記憶フィ ールドに記憶されている可能性を有し、その記憶セルは種々の範囲に配列され、 全ての識別子Sが同じビヘービアを示す各範囲内にある。eval-*+,’type(a) → type(a), where type is pa unifY from r (list) (list) (alt (except for list)) express the expression for vinegar contains an element S, which element S is a storage file belonging to a different storage cell of the storage cell. may be stored in fields, the storage cells of which may be arranged in various ranges, All identifiers S are within each range exhibiting the same behavior.

Discr pulses nが整数である式discr (n)はn個の原子的ビヘービアを有する並列ビ ヘービアを示す。nが整数である式pulses(n)はn個の原子的ビヘービ アの時間的連鎖を示す。Discr pulses The expression discr(n), where n is an integer, is a parallel behavior with n atomic behaviors. Indicates hevia. The expression pulses(n), where n is an integer, has n atomic behaviors. This shows the temporal chain of A.

次のような書換え規則が用いられるべきである。The following rewriting rules should be used:

拡張構文を用いることができる方法を実証するために、同じボートでの代替的な 読み・書き用のプログラムをより簡単な形で与えることができる。始めに、個別 の値l。To demonstrate how the extended syntax can be used, an alternative Reading and writing programs can be provided in a simpler form. First, individual The value of l.

2および3についての表記5quar(sqr)は次の短かいプログラムによっ て定義される。The notation 5quar (sqr) for 2 and 3 can be expressed by the following short program. Defined as

1息(肛嘘(aqr)虱以n瞼ム(113L!嘘包(42)−嘘包(93] ] (オブジェクト記憶1の閉包の木に記憶されている)。1 breath (anal lie (aqr) lice to n eyelids (113L! lie package (42) - lie package (93)] (stored in the closure tree of object memory 1).

”マシンビヘービア”は唯一のseqとして書くことができる。"Machine behavior" can be written as a unique seq.

!41;!(”””9(” ”)”””;(” 鮎吃匠(symb(sqr)  ”)(during(is x)during(Is 藝躯衣(8ymb(8q r) り 、 、 、 )このseq動作は実行中に上記alt動作に書換えら れる。! 41;! (”””9(” ”)”””;(”Ayu Takumi (symb(sqr) ”) (during (is r) ri, , , ) This seq operation is not rewritten to the above alt operation during execution. It will be done.

こめプログラムでさえ入力データと同じ長さである。これを洗練された態様で扱 う方法は、い(つかの関数および標準的な代替手段をハードウェアにおいて、ま たは問題のプログラムとともにロードされたソフトウェアとして備えることであ る。Even the program is the same length as the input data. Handle this in a sophisticated manner. How to do it (some functions and standard alternatives in hardware) or as software loaded with the program in question. Ru.

例は乗算(X)で、この標準的な動作の助けを借りて値aの二乗が簡単なプログ ラムとして書くことができる。An example is multiplication (X), a program where it is easy to square the value a with the help of this standard operation. It can be written as ram.

unify(syo+b(sqr) lambda(symb(a) appl y(z par(symb(a)symb(a))))) このプログラムはハードウェアによって定義された全ての数を二乗する。unify(syo+b(sqr) lambda(symb(a) appl y(z par(symb(a)symb(a))))) This program squares all numbers defined by the hardware.

リダクション規則に従った書換えの間に上記大きな1見構成に展開される小さな 回帰的プログラムを書くために上記規則を用いてもよい。ハードウェアは不必要 な展開は省略されるようになっている。これは同時係属出願PCT/SE 91 100514に記載された形式の1 コアセルを用いることによって行なうのが よい。A small The above rules may be used to write recursive programs. No hardware required expansions are omitted. This is co-pending application PCT/SE 91 This is done by using a core cell of the type described in 100514. good.

記載された書換え規則を実行する機会を育し、ビヘービアの統一化を用いること による宣言的方法を伴なう計算装置のビヘービアは明示的に特定する経過時間順 序によって特定される。時間的記述はいくぶん記号言語のようだ。Cultivate opportunities to implement written rewrite rules and use behavioral unification. Computing device behavior with a declarative method explicitly specifies elapsed time ordering. Identified by the ordinal sequence. Temporal description is somewhat like a symbolic language.

プログラムをより読みやすくすること 抽象構文は極めて簡単である。しかし残念なからこれで特に読み易くなるわけで はない。プログラムを読み易くするために、より複雑な構文が導入される(人間 はあまりにも低い複雑さを欲している訳ではないから)。Making programs more readable The abstract syntax is extremely simple. Unfortunately, this doesn't make it particularly readable. There isn't. More complex syntax is introduced to make programs easier to read (human (I don't want too low a complexity.)

この変換は多くの方法で行なうことができる。しかし、文字かつ図示的な形式を もつのが自然である。This conversion can be done in many ways. However, in both textual and pictorial form It is natural to have it.

ault ハードウェアが、ある値が正しくないことを、たとえば、計算値のパリティピッ トその他をチェックすることによって検出する時、誤り指示が与えられる。その 場合、式backupが用いられる。ault The hardware can detect that a value is incorrect, for example by using the parity pick of a calculated value. When detected by checking for faults etc., an error indication is given. the , the expression backup is used.

このような要素がそこにない場合、bachupはnothing(無)となる 。If such an element is not there, bachup will be nothing. .

backupに対する書換え規則は、 −曲四□ −>fault −儲四(faultl −−−fault、) −>fault雇ハ凹(fau ltl−−−fault k−1ek””n) −>ek全ての規則に関しても 、これらの規則か能動記憶l。The rewrite rules for backup are: -Track 4□->fault - Fau four (faultl ---fault,) -> fault ltl---fault k-1ek""n) -->ek Regarding all rules , these rules or active memory l.

3と中央制御装置11CUの協同として組込まれる。3 and the central control unit 11CU.

種々の言語表示 上述したところから明らかなように、H言語はいくつかの表示を有している。− 集合の表示が用いられる抽象言語であるコアHa k aをH言語は存している 。主な言語表示は次のとおりである。Display in various languages As is clear from the above, the H language has several representations. − The H language has a core Haka which is an abstract language in which representations of sets are used. . The main language indications are as follows.

H158・・・この言語表示は正式な定義外で利用できる最も基本的なものであ る。これは完全に宣言的である。しかし、ユーザが読むことの可能な構文を育し ない。H158...This linguistic expression is the most basic one that can be used outside of formal definitions. Ru. This is completely declarative. However, it is important to develop a syntax that is readable by the user. do not have.

HI a s l l・・・この言語表示は、計算装置におけるハードウェア誤 りを形成する構成によって拡大されたH a b aである。この言語表示は宣 言的でない。HI a l l...This language is used to indicate hardware errors in computing devices. This is H a b a expanded by the configuration that forms the ridge. This language is Not verbal.

その代わりに、結果は確率的な値であるこの表示は他の残りの全ての言語表示が 基礎とする根言語表示である。ユーザが可読の構文を有しない。Instead, the result is a probabilistic value. This representation is different from all other language representations. This is the underlying root language representation. Does not have a user-readable syntax.

Hs m a r ・・・この言語表示は、整数かつ現実の演算に対しては確立 されたセットで、かつ数値かつ構造の演算に対してはオペレータで増強されたH  Tam11である。言語表示Hw s * rはユーザが可読の構文を育して いない。この表示は、ユーザに見える抽象言語である。Hs m a r ...This linguistic expression is established for integers and real operations. set, and augmented with operators for numerical and structural operations. It is Tam11. The language display Hw s * r develops a user-readable syntax. not present. This representation is an abstract language visible to the user.

Ha a e l 1・・・挿入構文を用いた最も一般的な式以外の全ての構文 に対して通常のアスキー文字および接題辞表記を用いた言語表示である。Ha a e l 1 ...All syntax except for the most common expression using insertion syntax This is a language representation using normal ASCII characters and affix notation for .

本発明は特定の実施例について説明したけれども、本発明の真の精神、IX[か ら逸脱することなく、種々の変更が可能であり、等漬物でその要素を置換ること が可能であるということが当業者に理解されるであろう。また、本発明の主たる 教示内容から離れることなしに変形をなしてもよい。Although the invention has been described with respect to particular embodiments, the true spirit of the invention Various modifications are possible without departing from the It will be understood by those skilled in the art that this is possible. In addition, the main aspect of the present invention Variations may be made without departing from the teachings.

FIG2 ” FIG、8A 全レジスタ FIG、8B II@レジスタ FIG、8C 単純Iまたは 機械l刺子 ルベルII 2L、ベル構造FIG、 6 FIG、7 FIG、10B FIG、10CFIG、10D Fl(3,10E Fl(3,10F し [ [− FIG、 10G F旧11B FIG 11CFIG、11D オブジエクト配憧へ/lう FIG、 12A FIG、 12B 要 約 書 本発明は、各々が動作の実行を生じさせることのできる情報を育する複数個の記 憶セル手段(2)を含む能動記憶手段(cu、1)、前記能動記憶手段に接続さ れた少なくとも1個のボート装置(4,5,6)および前記少なくとも1個のポ ート手段に接続された少なくとも1個の環境手段(7,8,9)を備えた計算装 置。FIG2” FIG. 8A All registers FIG, 8B II@Register FIG, 8C Simple I or Mechanical sashiko Lebel II 2L, bell structure FIG, 6 FIG.7 FIG, 10B FIG, 10CFIG, 10D Fl(3,10E Fl(3,10F death [ [- FIG, 10G F old 11B FIG 11CFIG, 11D To admire objects/l FIG, 12A FIG, 12B Summary book The present invention comprises a plurality of records, each of which carries information capable of causing the execution of an action. active storage means (cu, 1) comprising storage cell means (2), connected to said active storage means; at least one boat device (4, 5, 6) and said at least one port a computing device comprising at least one environment means (7, 8, 9) connected to the Place.

国際調査報告 l”−−A−−−に・ PCT/SE 91100517I、lkr*mr−^ −1―、動PCT/SE 9110O517international search report l”--A---- PCT/SE 91100517I, lkr*mr-^ -1-, dynamic PCT/SE 9110O517

Claims (1)

【特許請求の範囲】 1.計算装置において イ)各々が動作の実行を生じさせることのできる情報を有する複数個の記憶セル 手段(2)を含む能動記憶手段(cu,1)、 ロ)前記能動記憶手段に接続された少なくとも1個のポート装置(4,5,6) および へ)前記少なくとも1個のポート手段に接続された少なくとも1個の環境手段( 7,8,9)を備えたことを特徴とする前記計算装置。 2.請求項1において、ポート手段に与えられた信号系列(第2図)と少なくと も1個の記憶セルに記憶され、可能な未定義系列要素($)を有する系列を前記 能動記憶手段において比較する手段、および 前記比較が明確な差を与えるならば、前記比較系列を無(nothing)すな わち矛盾を表わす何かに書換え、そうでなければ、前記比較系列を特定の系列に 書換える手段(cu、3) を備えたことを特徴とする計算装置。 3.請求項2において、前記比較手段は、所定の数のリスト要素のうち少なくと も2個の要素を含むグループについて比較をなすことを特徴とする計算装置。 4.請求項2において、前記信号系列を時間とともに変化し個別のサンプリング 期間を有するサンプ信号(第2図)として与える手段(3,during;7, 8,9)を備え、前記信号系列は要素のグループのリストであり、各グループは 接続時間とその時間の間の少なくとも1つの信号量を含むことを特徴とする計算 装置。 5.請求項4において、各グループ内の所定の数のリスト要素は、対で2つ与え られ、各対は時間と信号量の組合せを含むことを特徴とする計算装置。 6.請求項1〜6のいずれかにおいて、前記ポートの1つを前記ポートのうちの 少なくとも別のものと同期させ、各持続時間の間に前記ポートからの信号量の並 列表示をなす手段を備えたことを特徴とする計算装置。 7.請求項1〜6のいずれかにおいて、前記記憶セル手段は、抽象構文の明示ま たは暗示の符号化の形式でコンピュータプログラムを記憶するようになっている 前記能動記憶に構造体として備えられ、前記構文は式の助けを借りていくつかの 異なった抽象オブジェクトを記述し、各記憶セル手段は、適当なデータおよび/ またはプログラム構造の形式で1つの前記構文式の少なくも一部を記憶可能であ る、前記計算装置。 8.請求項7において、各種の式はまた、それがプログラム形式であることを示 す対応する種類の式を有し、全てのプログラム形式は、それ自身に簡約されるよ うになっており、従ってそのままである式であることを特徴とする計算装置。 9.請求項9において、構文式を含む前記記憶セルと協同し、所定の書換え規則 に従がって前記構文武を書換える手段(cu)を備えたことを特徴とする前記計 算装置。 10.請求項9において、前記構文は、次の基本的構文式、すなわちport, nothing,alt(list),par(list),seq(list ),unify(list),during(list),coont(r)お よびperiod(v)のうちの少なくとも複数を含み、ここで、(list) はデータ要素(e1…en)のリストで各要素は、前記記憶セル中のリストに対 する空間があるならば、当該リストが属する前記式を含む一つの前記記憶セルの 記憶フィールドに記憶され、さもなければ、少なくとも、前記式を含む前記記憶 セルに対するリンクを有する前記記憶セルに含まれ、vは実数で、during (list)のリストは、次の要素:cont(v),period(v)およ び任意値($)を含み得、式portは前記物理的ポートの1つを表わし、特別 の種類の間接要素であり、nothingは矛盾を表わす特別の種類の値であり 、altは、この式を含む記憶セルが代替要素と考えられるリストされた個別の 要素を含むを表わし、parはこの式を含む記憶セルが並列要素と考えられるリ ストされた個別の要素を含むことを表わし、seqはこの式を含む記憶セルが直 列要素と考えられるリストされた個別の要素を含むことを表わし、unifyは この式を含む記憶セルが統一化要素と考えられるリストされた個別の要素を含み 、duningはこの式を含む記憶セルが接続時間と信号量からなる一対を含む ことを表わし、cont(v)は長さvを含む距離に沿った無限の数の極小の行 動を有する空間量を示し、periodは、持続時間vを有する期間の間の無限 の数の極めて短い行動を有する持続時間を示す、前記計算装置。 11.請求項9,10の組み合わせによる計算装置において、前記書換え規則は 次のもの、すなわちnothing               → not hingalt(e)                → ealt(e1. ..nothing...en)→ alt(e1...en)(1.e.                         すなわち、nothingは                         省略される)alt(e1. ..alt(c1…ck)...en)                       → alt(e1...c1...cx...                         en)par(e1...en)           → nothing(値e1〜en                         のいずれかがnothing                         の場合)par(e1...alt(c1..ck)..ex)                       → alt(par(e1.. c1..                        ex)..par (e1..ck                        ..en) )par(e1..en)           → par(e1..en) 別のや                        り方でseq(e1 ..en)           → nothing(値e1〜en                         のいずれかがnothing                         の場合)seq(e1...al t(c1...ck)...en)                       → alt(seq(e1..c1..                         en)‥seq(e1..ck                         ..en))seq(e1..en)            → seq(e1..en)別のや                         り方でunify( )                not hing9unify(e)                eunify( e1 e2)          → e2(e1=e2の場合)unify( e1 e2)          → nothing(e1がe2と                         異なる場合)unify(e1 e 2 e3....en) → unify(unify(e1e2                         e3....en)unify(c1. ..en)        → nothing(値e1〜en                         のいずれかがnothing                         の場合)unify(e1..alt( c1...ck)...en)                       → aalt(unify(e1..c1..                         en)..unify(e1..                         ck..en))のうちの複数を含む前記計算装置 12.請求項8の計算装置において、前記構文は次のもの、すなわち、 【配列があります】 の中から少なくとも1個の式を含み、各構文式は前記1つのオブジェクト記憶セ ルに式として記憶された演算子であり、(1ist)内の各要素は一つの行動を 示すリスト要素であり、nは整数で、vは実数で、各前記要素は、リストが属す る前記式を含む記憶セル内の記憶フィールドに記憶可能であり、前記式cont (v)は長さvを有する距離に沿った無限の数の極小の行動を含む空間量であり 、前記式period(v)は持続時間vを有する期間の間の無限数の極短行動 を有する持続時間であり、前記式deltaが原子的空間拡張と無限の時間拡張 を有する行動を示すのに対し、前記式deltalは原子的時間拡張と無限の空 間拡張を有する行動を示し、前記式par(list)は、この式を含む記憶セ ルが並列要素と考えられるリストされた個別の要素を含むことを示すのに対し、 前記式seq(list)はこの式を含む記憶セルが直列要素と考えられるリス トされた個別の要素を含むことを示し、語い的要素「′」プログラム形式として の形式を特定し、前記式alt(1ist)は、この式を含む記憶セルが代替要 素と考えられるリストされた個別の要素を含むことを示し、式nothingは 矛盾を表わす特殊な単位の値であり、式con(list)は、少なくともゼロ を有するがいくつかの行動要素も有するリストを含み、そのリスト内の要素が全 て正規的でnothingとは異なる場合、リストの第1の要素と同一であり、 前記式pri(list)は少なくともゼロを有するが、いくつかの行動要素も 有するリストを含み、nothingではないそのリストの第1の正規的要素と 同一であり、前記式unify(list)はこの式を含む記憶セルが統一化要 素と考えられるリストされた個別の要素を含むことを示し、前記lambda( ea eD1・・・epa)は要素eaがep1・・・epnによって置換えら れることを示す規則であり、前記式apply(list)は、第1の要素は関 数命令(+−*/など)、残りの要素は引数である数値的演算のために用いられ るのに対し、erがlambda(en ep1...epn)の場合、前記式 apply(er eargl...eargn)は、各ep1が対応するea rglと統一するならば簡約動作においてe■によって置換えられ、そうでなけ ればnothibgによって置換えられる適用であり、前記式hide(lis t)は生成関数内外の完全変数が分離されている、すなわちお互いから見えない 行動を示し、前記式symbは、正規の式に簡約されるとき識別子となる要素s を有し、その要素sは前記目的記憶内の異なった記憶セルに属する記憶フィール ドに記憶されている可能性を有し、前記記憶セルは種種の有効範囲に配列される ように定義され、各有効範囲内の全ての識別子は同一の行動を表わし、nが整数 である前記式discr(n)はn個の行動の数を有する空間特性を示し、nが 整数である前記式pulses(n)は個の原子的行動の持続時間を示す。 13.請求項12および13による計算装置において、前記書換え規則は、次の 現則、 typc(e1...nothing...en) → nothing,ここ でtypeは                          par( list)から                          ′ap ply(list)までのリ                           ストについての式を表                           わし、e1..enはリス                           ト要素である。 type(e1...alt(cl...ck)...en)→alt(tyr e(e1...c1...en)...type(e1...ck...en) )ここでtypeはpar(list)からunity(list)(alt( list)を除く)までのリストについての式でe1,en.c1,ckはリス ト要素である。 set( )                  → nothingset (a)                  → ′alt(a),(上記リス トに                          おいてaがpar (list)か                          ら′a pply(list)に至る                           式である場合)set(alt(e1...en))       →  ′alt(ea....en)ここで、                           e1..enは任意の特定順                           序で与えられた要素で、                           ea..emは割当て順序                           で与えられる。 set(e1...en)            → set(con(e1 ...en))lambda(alt(e1...en))    → set (alt(e1...en))lamba(e1...en)           → par(e1...en)hide(alt(e1...en))       → set(alt(e1...en))hide(e1...en)            → par(e1...en)apply( )                 → nothingapply(e)                 → evalxeia(e)apply(′alt(b1 ...bn)a2..am)                         → apply(evalmaia′alt                           (b1...bn)a2...am)apply(pa r(b1,..bn)a2..am)                         → nothing,(上記式リスト                           において全てのb1および                           a1がpar(list)から                           ′apply(list)に至る式で                           あり、n#mまたは任意                           のa1#b1(i>1 に対して)                          の場合)a pply(Par(b1...bn)a2..am)                         → b1,(上記式リストにお                           いて全てのb1およびa1が                           par(list)から′apply                           (list)に至る式 であり、                          n#1mまた は全てa1=b1                          (i >1に対して)の場合)apply(seq(b1...bn)a2..am)                         → nothing(上記 式リスト                          において全て のb1および                          a1がp ar(list)から                           ′apply(list)に至る式で                           あり、n#mまたは任意                           のa1#b1(i>1に対して)                           の場合)apply(seq(b1...bn)a 2..am)                        → b1,( 上記式リストにお                          いて 全てのb1およびa1が                           par(list)から′apply                           (list)に至る式であり、                           n#mまたは全てa1=b1                           (i>1に対して)の場合)関数evalma inはプログラム形式(すなわち、“′”を備えている)の式を値形式(“′” がない)に変換する。 最も高い構造のみが“′”を除去される。 evalmeta′type(a)        → type(a),(こ こでtypeは                          par (list)からunify                           (list)に至る(alt                           (list)を除いて)上記リ                           ストについての式を表わ                           す)con( )                   → nothingcon(e1...nohing...en)   →  nothingcon(e1....en)           → e1p ri( )                  → nothingpri( nothing1...nothingn)→ nothingpri(not hing1...nothingk−1 ek...en)                           eLpar(deltat1....de ltan)  → discr(n)seq(deltat1....delt atn) → pulses(n)で拡大されることを特徴とする前記計算装置 。 14.請求項1〜13のいずれかによる計算装置において、各記憶セルは、次の 列挙、すなわち前記セルの式が簡約されるべきかどうかを示すマーク、式が木す なわちその式の諸性質のメンバかどうかを示すマーク、式が生成される方法を示 すマーク、式がいくつかの繰返しの行動を構成するかどうかを示すマーク、およ び当該式のみが、別の記憶セルに記憶された他のリストメンバを有するリストの 一部であるかどうかを示すマーク、に示された性質の少なくとも複数を記憶する ようになっていることを特徴とする前記計算装置。 15.請求項1〜14のいずれかによる計算装置において、前記オブジェクト記 憶セル手段において、抽象構文の明示または暗示の符号化の形式でコンピュータ プログラムを、さらにこの構文に関してリダクション規則の意味論を記憶するこ とを可能にする手段を含むことを特徴とする前記計算装置。 16.請求項15による計算装置において、前記意味論は、いくつかの書換え現 則を含み、各規則は1つの式と1グループの値を有し、そのグループの各々の値 がそのグループの他の値と等価でそれを交換可能であることを意味する、ことを 特徴とする前記計算装置。 17.請求項1〜16のいずれかによる計算装置において、前記能動記憶内の前 記記憶セルと同一の機能構造を持つ記憶セルを含むが読出し専用型であり、所定 の関数と標準的代替物を備えていることを特徴とする前記計算装置。 18.請求項1〜17のいずれかによる計算装置において、誤りの継続したチェ ックをなし、次の書換え規則backup( )                         → faultbackup(fault1...fau ltn)          → faultbackup(fault1.. .faultk−1 ek...en)→ ekに従がうバックアップ性能を有 することを特徴とする前記計算装置。 [Claims] 1. In a computing device a) active storage means (cu, 1) comprising a plurality of storage cells each having information capable of causing the execution of an operation; b) at least one connected to said active storage means; said computing device, characterized in that it comprises one port device (4, 5, 6) and at least one environment means (7, 8, 9) connected to said at least one port means; . 2. In claim 1, the signal sequence applied to the port means (FIG. 2) and at least means for comparing in said active storage means the sequences which are also stored in one storage cell and have a possible undefined sequence element ($); nothing) suna In other words, a computing device characterized by comprising means (cu, 3) for rewriting the comparison series into something that represents a contradiction and, if not, rewriting the comparison series into a specific series. 3. In claim 2, the comparison means includes at least one of the predetermined number of list elements. A computing device characterized in that a comparison is made for a group containing two elements. 4. 3. A device according to claim 2, comprising means (3, during; 7, 8, 9) for providing the signal sequence as a sample signal (FIG. 2) which varies over time and has individual sampling periods, the signal sequence comprising a group of elements. A computing device, wherein each group includes a connection time and at least one signal amount during that time. 5. 5. The computing device according to claim 4, wherein the predetermined number of list elements in each group are provided in pairs, each pair including a combination of time and signal amount. 6. 7. According to any of claims 1 to 6, one of the ports is synchronized with at least another of the ports, and the amount of signals from the port is synchronized during each duration. A computing device characterized by comprising means for displaying columns. 7. In any one of claims 1 to 6, the storage cell means has an abstract syntax specification or The computer program is stored as a structure in the active memory in the form of an implicit or implicit encoding, and the syntax describes several different abstract objects with the help of expressions, each The storage cell means is capable of storing at least a portion of one said syntax expression in the form of suitable data and/or program structures. The computing device. 8. In claim 7, the various formulas also indicate that they are in program form. has a corresponding kind of expression, and every program form reduces to itself. A computing device characterized in that the formula is such that the formula remains unchanged. 9. 10. The computer according to claim 9, characterized in that it comprises means (cu) for cooperating with said storage cell containing a syntax expression and rewriting said syntax expression according to a predetermined rewriting rule. Calculation device. 10. In claim 9, the syntax is the following basic syntax expression: port, nothing, alt(list), par(list), seq(list), unify(list), during(list), coon(r) oh and period(v), where (list) is a list of data elements (e1...en), each element corresponding to a list in said storage cell. If there is space for the list, it is stored in the storage field of one of the storage cells containing the formula to which the list belongs, otherwise it is included in at least one of the storage cells that has a link to the storage cell containing the formula. , v are real numbers, and the list of during (list) has the following elements: cont(v), period(v) and and an arbitrary value ($), the expression port represents one of said physical ports and is a special kind of indirection element, nothing is a special kind of value representing a contradiction, and alt represents this expression , where the storage cell containing this formula contains the listed individual elements that are considered alternate elements, and par represents the storage cell containing this formula that is considered a parallel element. seq indicates that the storage cell containing this formula is directly unify means that the storage cell containing this formula contains listed individual elements that are considered unifying elements, and duning means that the storage cell containing this formula contains listed individual elements that are considered unifying elements. cont(v) is an infinite number of minimal lines along the distance including the length v. said computing device, wherein period denotes a spatial quantity with a movement, and period denotes a duration with an infinite number of very short movements during the period with duration v. 11. In the computing device according to the combination of claims 9 and 10, the rewriting rule is: nothing → not hingalt(e) → ealt(e1. .. .. nothing. .. .. en)→ alt(e1...en) (1.e., that is, nothing is omitted) alt(e1. .. .. alt(c1...ck). .. .. en) → alt(e1...c1...cx...en) par(e1...en) → nothing (if any of the values e1 to en is nothing) par(e1...alt( c1..ck)..ex) → alt(par(e1..c1..ex)..par (e1..ck ..en)) par(e1..en) → par(e1..en) In another way, seq(e1...en) → nothing (if any of the values e1 to en is nothing) seq(e1...alt(c1...ck)...en) → alt (seq(e1..c1..en)‥seq(e1..ck ..en))seq(e1..en) → seq(e1..en)Unify( ) not hing9unify( e) eunify (e1 e2) → e2 (if e1=e2) unify (e1 e2) → nothing (if e1 is different from e2) unify (e1 e 2 e3...en) → unify (unify (e1 e2 e3) ...en) unify (c1. .. .. en) → nothing (if any of the values e1 to en is nothing) unify (e1..alt(c1..ck)...en) → aalt(unify(e1..c1..en).. 12. the computing device including a plurality of unify(e1..ck..en)) 9. The computing device of claim 8, wherein said syntax includes at least one expression from the following: [there is an array], and each syntax expression is associated with said one object storage cell. is an operator stored as an expression in the list, each element in (1ist) is a list element indicating one action, n is an integer, v is a real number, and each said element is the one to which the list belongs. is storeable in a storage field in a storage cell containing said formula containing said formula cont(v) is a spatial quantity containing an infinite number of minimal actions along a distance having length v; and said formula period (v) is a duration with an infinite number of extremely short actions during a period with duration v, and while the above formula delta indicates an action with atomic space extension and infinite time extension, the above equation deltal is atomic time expansion and infinite sky The expression par(list) is a memory cell containing this expression. The formula seq(list) indicates that the storage cell containing this formula contains the listed individual elements that are considered to be serial elements, whereas The expression alt(1ist) indicates that the memory cell containing this expression contains an alternative element. The expression nothing is a special unit value that represents a contradiction, and the expression con(list) indicates a list that has at least zero but also has some behavioral elements. contains all elements in that list. is normal and different from nothing, is identical to the first element of the list, and the expression pri(list) contains a list that has at least zero but also has some action elements, and that list that is not nothing The formula unify(list) is the same as the first regular element of Indicates that the element ea contains the listed individual elements that are considered elementary, and the lambda(ea eD1...epa) indicates that the element ea is replaced by ep1...epn. The formula apply(list) is a rule that indicates that the first element is Number commands (+-*/, etc.), the remaining elements are used for numerical operations as arguments. On the other hand, if er is lambda (en ep1...epn), the above formula apply(er eargl...eargn) will be changed by e■ in the reduction operation if each ep1 is unified with the corresponding ea rgl. replaced, otherwise This is an application that can be replaced by nothibg if has an element s which becomes an identifier when the storage cells are defined to be arranged in various scopes, all identifiers within each scope represent the same action, and n is an integer. The expression discr(n) indicates a spatial property with a number of n actions, and the expression pulses(n), where n is an integer, indicates the duration of atomic actions. 13. In the computing device according to claims 12 and 13, the rewriting rule is as follows: type(e1...nothing...en) → nothing, where type is from par(list) to 'ap Express the expression for the list up to ply(list), e1. .. en is a list element. type(e1...alt(cl...ck)...en) → alt(tyre(e1...c1...en)...type(e1...ck...en) ) Here, type is an expression for the list from par(list) to unity(list) (excluding alt(list)), and is e1, en. c1, ck are squirrels This is an element. set ( ) → nothingset (a) → 'alt (a), (the above list set(alt(e1...en)) → 'alt(ea...en), where a is an expression from par(list) to ′a pply(list) in e1. .. en are elements given in any particular order, ea. .. em is given in the allocation order. set(e1...en) → set(con(e1...en)) lambda(alt(e1...en)) → set(alt(e1...en)) lamba(e1...en ) → par(e1...en)hide(alt(e1...en)) → set(alt(e1...en))hide(e1...en) → par(e1...en) apply( ) → notingapply(e) → evalxeia(e)apply('alt(b1...bn)a2...am) → apply(evalmaia'alt(b1...bn)a2...am)apply( par (b1,...bn) a2...am) → nothing, (in the above expression list, all b1 and a1 are expressions from par(list) to 'apply(list), and n#m or any a1#b1 (for i>1)) a pply(Par(b1...bn)a2...am) → b1, (In the above formula list, all b1 and a1 are par(list) to 'apply (list), and n#1m or are all a1=b1 (for i > 1) apply(seq(b1...bn)a2...am) → nothing (in the above expression list, all b1 and a1 are from par(list) 'apply(list), if n#m or any a1#b1 (for i>1)) apply(seq(b1...bn)a2..am) → b1, (In the above expression list, all b1 and a1 are expressions from par(list) to 'apply(list), and n#m or all a1=b1 (for i>1)) Function evalma in converts an expression in program form (ie, with the "'") to value form (without the "'"). Only the tallest structure has the "'" removed. evalmeta'type(a) → type(a), (this Here type is from par (list) to unify (list) (excluding alt (list)) which represents the expression for the above list) con( ) → nothingcon(e1...nothing...en ) → nothingcon(e1...en) → e1pri( ) → nothingpri( nothing1...nothing) → nothingpri(not hing1...nothingk-1 ek...en) eLpar(de ltat1...de ltan)→discr(n)seq(deltat1...delt atn)→pulses(n). 14. 14. A computing device according to any of claims 1 to 13, in which each storage cell has the following enumeration: a mark indicating whether the formula of said cell is to be simplified; that is, a mark indicating whether the expression is a member of properties of the expression, and an indication of how the expression is generated. mark indicating whether the expression constitutes some repeated action, and and a mark indicating whether the expression is part of a list with other list members stored in separate storage cells. The computing device characterized by: 15. A computing device according to any one of claims 1 to 14, wherein the object memory In the storage means, a computer program is stored in the form of an explicit or implicit encoding of an abstract syntax and also the semantics of the reduction rules with respect to this syntax. The computing device characterized in that it includes means for enabling. 16. 16. The computing device according to claim 15, wherein the semantics comprises a number of rewriting rules, each rule having one expression and one group of values, each value of the group being different from the other values of the group. , meaning that it is equivalent to and interchangeable with it. 17. 17. A computing device according to any one of claims 1 to 16, wherein Computing device as described above, characterized in that it includes a storage cell with the same functional structure as the storage storage cell, but is of read-only type and is provided with predetermined functions and standard substitutes. 18. A computing device according to any one of claims 1 to 17, comprising a continuous error check. Then, the next rewrite rule backup( ) → faultbackup(fault1...fau ltn) → faultbackup(fault1... .. faultk-1 ek. .. .. en) → Has backup performance that follows ek. The computing device characterized in that:
JP91513503A 1990-08-02 1991-08-01 Active storage in reduction processors Pending JPH05508723A (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
SE9002558-6 1990-08-02
SE9002558A SE9002558D0 (en) 1990-08-02 1990-08-02 PROCESSOR
PCT/SE1991/000517 WO1992002877A1 (en) 1990-08-02 1991-08-01 Active storage means in a reduction processor

Publications (1)

Publication Number Publication Date
JPH05508723A true JPH05508723A (en) 1993-12-02

Family

ID=20380081

Family Applications (6)

Application Number Title Priority Date Filing Date
JP91513502A Pending JPH05508722A (en) 1990-08-02 1991-08-01 reduction processor
JP91514005A Pending JPH05508725A (en) 1990-08-02 1991-08-01 Structural calculation unit
JP91513501A Pending JPH05508952A (en) 1990-08-02 1991-08-01 Methods and numerical calculation devices for performing arithmetic processing, logical processing and related processing
JP91513503A Pending JPH05508723A (en) 1990-08-02 1991-08-01 Active storage in reduction processors
JP91513499A Pending JPH05508729A (en) 1990-08-02 1991-08-01 bit storage cell
JP91513500A Pending JPH05508730A (en) 1990-08-02 1991-08-01 associative memory

Family Applications Before (3)

Application Number Title Priority Date Filing Date
JP91513502A Pending JPH05508722A (en) 1990-08-02 1991-08-01 reduction processor
JP91514005A Pending JPH05508725A (en) 1990-08-02 1991-08-01 Structural calculation unit
JP91513501A Pending JPH05508952A (en) 1990-08-02 1991-08-01 Methods and numerical calculation devices for performing arithmetic processing, logical processing and related processing

Family Applications After (2)

Application Number Title Priority Date Filing Date
JP91513499A Pending JPH05508729A (en) 1990-08-02 1991-08-01 bit storage cell
JP91513500A Pending JPH05508730A (en) 1990-08-02 1991-08-01 associative memory

Country Status (23)

Country Link
US (6) US5241491A (en)
EP (6) EP0541685B1 (en)
JP (6) JPH05508722A (en)
KR (1) KR930701818A (en)
CN (6) CN1030019C (en)
AT (5) ATE101933T1 (en)
AU (6) AU8332991A (en)
BG (3) BG97381A (en)
CA (6) CA2086592A1 (en)
DE (5) DE69102065T2 (en)
ES (3) ES2051129T3 (en)
FI (3) FI930434A (en)
HU (3) HUT63710A (en)
IL (6) IL99056A (en)
LT (6) LTIP381A (en)
NO (3) NO930301L (en)
NZ (3) NZ239242A (en)
RO (1) RO109487B1 (en)
SE (1) SE9002558D0 (en)
SK (2) SK402592A3 (en)
TW (5) TW215483B (en)
WO (6) WO1992002876A1 (en)
ZA (6) ZA916118B (en)

Families Citing this family (122)

* 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 (en) * 1992-07-20 2003-02-10 カシオ計算機株式会社 Information management device
IT1270230B (en) 1994-06-16 1997-04-29 Enichem Sintesi CATALYTIC COMPOSITION AND PROCESS FOR ALKYLATION OF AROMATIC COMPOUNDS
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 (en) * 1994-12-14 2000-04-24 川崎製鉄株式会社 Associative memory
FR2736737B1 (en) * 1995-07-12 1997-08-14 Alcatel Nv DEVICE FOR MANAGING RELATIONSHIPS BETWEEN OBJECTS
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
US6103579A (en) 1996-01-31 2000-08-15 Micron Technology, Inc. Method of isolating a SRAM cell
US6750107B1 (en) * 1996-01-31 2004-06-15 Micron Technology, Inc. Method and apparatus for 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 (en) 1996-12-09 1998-06-10 Pact Inf Tech Gmbh Unit for processing numerical and logical operations, for use in processors (CPU's), multi-computer systems, data flow processors (DFP's), digital signal processors (DSP's) or the like
DE19654593A1 (en) 1996-12-20 1998-07-02 Pact Inf Tech Gmbh Reconfiguration procedure for programmable blocks at runtime
DE19654595A1 (en) * 1996-12-20 1998-07-02 Pact Inf Tech Gmbh I0 and memory bus system for DFPs as well as building blocks with two- or multi-dimensional programmable cell structures
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
JP3961028B2 (en) 1996-12-27 2007-08-15 ペーアーツェーテー イクスペーペー テクノロジーズ アクチエンゲゼルシャフト Data flow processor (DFP) automatic dynamic unloading method and modules with 2D or 3D programmable cell structure (FPGA, DPGA, etc.)
DE19654846A1 (en) 1996-12-27 1998-07-09 Pact Inf Tech Gmbh Process for the independent dynamic reloading of data flow processors (DFPs) as well as modules with two- or multi-dimensional programmable cell structures (FPGAs, DPGAs, etc.)
US6374346B1 (en) 1997-01-24 2002-04-16 Texas Instruments Incorporated Processor with conditional execution of every instruction
DE19704044A1 (en) * 1997-02-04 1998-08-13 Pact Inf Tech Gmbh Address generation with systems having programmable modules
US6542998B1 (en) 1997-02-08 2003-04-01 Pact Gmbh Method of self-synchronization of configurable elements of a programmable module
DE19704728A1 (en) 1997-02-08 1998-08-13 Pact Inf Tech Gmbh Method for self-synchronization of configurable elements of a programmable module
DE19704742A1 (en) 1997-02-11 1998-09-24 Pact Inf Tech Gmbh Internal bus system for DFPs, as well as modules with two- or multi-dimensional programmable cell structures, for coping with large amounts of data with high networking effort
DE59802537D1 (en) * 1997-04-15 2002-01-31 Gmd Gmbh FREELY PROGRAMMABLE, UNIVERSAL PARALLEL CALCULATOR SYSTEM FOR PERFORMING GENERAL CALCULATIONS
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 (en) 1997-12-22 2000-02-10 Pact Inf Tech Gmbh Repairing integrated circuits by replacing subassemblies with substitutes
DE19807872A1 (en) 1998-02-25 1999-08-26 Pact Inf Tech Gmbh Method of managing configuration data in data flow processors
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
AU5805300A (en) * 1999-06-10 2001-01-02 Pact Informationstechnologie Gmbh Sequence partitioning in cell structures
US6097651A (en) * 1999-06-30 2000-08-01 Quicklogic Corporation Precharge circuitry in RAM circuit
SE516171C2 (en) * 1999-07-21 2001-11-26 Ericsson Telefon Ab L M Processor architecture is adapted for program languages with sequential instruction flow
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
US6801981B1 (en) 2000-06-14 2004-10-05 Netlogic Microsystems, Inc. Intra-row configurability of content addressable memory
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
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
US6934795B2 (en) * 1999-09-23 2005-08-23 Netlogic Microsystems, Inc. Content addressable memory with programmable word width and programmable priority
US6944709B2 (en) * 1999-09-23 2005-09-13 Netlogic Microsystems, Inc. Content addressable memory with block-programmable mask write mode, word width and priority
EP1107107A1 (en) * 1999-12-10 2001-06-13 Koninklijke Philips Electronics N.V. Parallel data processing and shuffling
KR100655346B1 (en) * 2000-01-13 2006-12-08 유따까 야스꾸라 Electronic information inquiring method
DE50115584D1 (en) 2000-06-13 2010-09-16 Krass Maren PIPELINE CT PROTOCOLS AND COMMUNICATION
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
JP2004517386A (en) 2000-10-06 2004-06-10 ペーアーツェーテー イクスペーペー テクノロジーズ アクチエンゲゼルシャフト Method and apparatus
US8058899B2 (en) 2000-10-06 2011-11-15 Martin Vorbach Logic cell array and bus system
KR100413384B1 (en) * 2000-10-24 2004-01-03 주식회사 삼양제넥스 Method for preparing soluble dietary fiber from corn hull
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.)
US7210129B2 (en) 2001-08-16 2007-04-24 Pact Xpp Technologies Ag Method for translating programs for reconfigurable architectures
US9037807B2 (en) 2001-03-05 2015-05-19 Pact Xpp Technologies Ag Processor arrangement on a chip including data processing, memory, and interface elements
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
US7581076B2 (en) 2001-03-05 2009-08-25 Pact Xpp Technologies Ag Methods and devices for treating and/or processing data
US7058637B2 (en) * 2001-05-15 2006-06-06 Metatomix, Inc. Methods and apparatus for enterprise application integration
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
US6925457B2 (en) * 2001-07-27 2005-08-02 Metatomix, Inc. Methods and apparatus for querying a relational data store using schema-less queries
US7302440B2 (en) * 2001-07-27 2007-11-27 Metatomix, Inc. Methods and apparatus for statistical data analysis and reduction for an enterprise application
US7890517B2 (en) * 2001-05-15 2011-02-15 Metatomix, Inc. Appliance for enterprise information integration and enterprise resource interoperability platform and methods
US7657877B2 (en) 2001-06-20 2010-02-02 Pact Xpp Technologies Ag Method for processing data
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
US7577822B2 (en) 2001-12-14 2009-08-18 Pact Xpp Technologies Ag Parallel task operation in processor and reconfigurable coprocessor configured based on information in link list including termination information for synchronization
WO2003060747A2 (en) 2002-01-19 2003-07-24 Pact Xpp Technologies Ag Reconfigurable processor
WO2003071432A2 (en) 2002-02-18 2003-08-28 Pact Xpp Technologies Ag Bus systems and method for reconfiguration
US8914590B2 (en) 2002-08-07 2014-12-16 Pact Xpp Technologies Ag Data processing method and device
US7657861B2 (en) 2002-08-07 2010-02-02 Pact Xpp Technologies Ag Method and device for processing data
AU2003286131A1 (en) 2002-08-07 2004-03-19 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
CA2501847A1 (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
EP1690210A2 (en) * 2003-07-07 2006-08-16 Metatomix, Inc. Surveillance, monitoring and real-time events platform
EP1676208A2 (en) 2003-08-28 2006-07-05 PACT XPP Technologies AG Data processing device and method
DE102004013180A1 (en) * 2004-03-17 2005-10-06 Giesecke & Devrient Gmbh Garbage collection for 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
WO2007082730A1 (en) 2006-01-18 2007-07-26 Pact Xpp Technologies Ag Hardware definition method
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 (en) * 2008-07-29 2010-08-25 ソニー株式会社 Arithmetic processing apparatus and method, and program
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
GB2470891B (en) 2009-06-05 2013-11-27 Picochip Designs Ltd A method and device in a communication network
GB2470771B (en) 2009-06-05 2012-07-18 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
GB2489716B (en) 2011-04-05 2015-06-24 Intel Corp Multimode base system
GB2489919B (en) 2011-04-05 2018-02-14 Intel Corp Filter
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 (en) * 2012-05-21 2013-12-05 Internatl Business Mach Corp <Ibm> Method, program, and system for code optimization
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
WO2016016726A2 (en) * 2014-07-30 2016-02-04 Linear Algebra Technologies Limited Vector processor
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
KR102305568B1 (en) * 2016-07-17 2021-09-27 쥐에스아이 테크놀로지 인코포레이티드 Finding k extreme values in constant processing time
KR102467698B1 (en) * 2016-07-26 2022-11-16 삼성전자주식회사 Stacked memory device, system including the same and associated method
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 (en) * 2019-09-10 2021-03-19 无锡江南计算技术研究所 Non-blocking network reduction computing device and method based on logic tree
US11567945B1 (en) 2020-08-27 2023-01-31 Pegasystems Inc. Customized digital content generation systems and methods
CN113919580B (en) * 2021-10-19 2024-10-29 南方电网科学研究院有限责任公司 Method for planning peripheral operation of multi-provincial power grid

Family Cites Families (48)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
NL272844A (en) * 1960-12-22
US3253265A (en) * 1961-12-29 1966-05-24 Ibm Associative memory ordered retrieval
DE1921577B2 (en) * 1969-04-28 1972-04-06 Nixdorf Computer Ag, 4790 Paderborn DRUM-LIKE DEVICE ZN BOOKING AND WRITING MACHINES WITH GRIPPING DEVICE FOR CAPTURING AND REMOVING ACCOUNT CARDS O THE LIKE
SE374973B (en) * 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 (en) * 1974-12-19 1984-07-12 Ibm Deutschland Gmbh, 7000 Stuttgart Storage arrangement that can be monolithically integrated
GB1540299A (en) * 1975-02-15 1979-02-07 Mathematik Datenverarbeitung G Computer employing reduction language
FR2337398A1 (en) * 1975-12-30 1977-07-29 Ibm France Write response circuit for flip-flops - has gate providing quick response of cross coupled transistor flip-flops and reduced current consumption
DE3105503A1 (en) * 1981-02-14 1982-09-02 Brown, Boveri & Cie Ag, 6800 Mannheim ASSOCIATIVE ACCESS MEMORY
DE3270597D1 (en) * 1981-06-30 1986-05-22 Fujitsu Ltd 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 (en) * 1982-02-26 1983-09-02 Mitsubishi Electric Corp Semiconductor device
US4709327A (en) * 1983-05-31 1987-11-24 Hillis W Daniel Parallel processor/memory circuit
DE3335423A1 (en) * 1983-09-29 1985-04-04 Siemens AG, 1000 Berlin und 8000 München VOLTAGE MULTIPLE CIRCUIT
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
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
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 (en) * 1984-10-31 1986-05-26 Nec Corp Associative memory
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
US5021945A (en) * 1985-10-31 1991-06-04 Mcc Development, Ltd. Parallel processor system for processing natural concurrencies and method therefor
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
US4777622A (en) * 1985-11-26 1988-10-11 Max-Planck-Gesellschaft Zur Foerderung Der Wissenschaften E.V. Associative data storage system
JPS62134890A (en) * 1985-12-05 1987-06-17 Matsushita Electric Ind Co Ltd Semiconductor memory device
EP0227348A3 (en) * 1985-12-11 1991-09-25 Advanced Micro Devices, Inc. Content addressable memory circuit and method
JPH0810553B2 (en) * 1986-06-13 1996-01-31 松下電器産業株式会社 Memory circuit
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 (en) * 1988-03-01 1989-09-06 Mitsubishi Electric Corp Contents addressing storage device
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 (en) * 1989-01-13 1990-07-24 Mitsubishi Electric Corp Associative memory device
GB8901924D0 (en) * 1989-01-28 1989-03-15 Int Computers Ltd Data processing system
KR910009445B1 (en) * 1989-02-02 1991-11-16 정호선 Associative memory using neural network
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
EP0541683A1 (en) 1993-05-19
DE69101242T2 (en) 1994-06-01
ATE101933T1 (en) 1994-03-15
AU654295B2 (en) 1994-11-03
CA2087023A1 (en) 1992-02-03
AU8331291A (en) 1992-03-02
HUT63505A (en) 1993-08-30
AU8332991A (en) 1992-03-02
EP0541678B1 (en) 1994-05-18
DE69101640D1 (en) 1994-05-11
EP0541684A1 (en) 1993-05-19
JPH05508722A (en) 1993-12-02
ZA916120B (en) 1993-01-27
SE9002558D0 (en) 1990-08-02
IL99056A0 (en) 1992-07-15
ATE116455T1 (en) 1995-01-15
EP0541685B1 (en) 1995-02-15
CA2086592A1 (en) 1992-02-03
JPH05508729A (en) 1993-12-02
AU8325091A (en) 1992-03-02
NO930301D0 (en) 1993-01-28
NO930303L (en) 1993-03-23
AU8390291A (en) 1992-03-02
AU654149B2 (en) 1994-10-27
JPH05508730A (en) 1993-12-02
CA2088577A1 (en) 1992-02-03
FI930434A0 (en) 1993-02-01
IL99052A (en) 1994-12-29
JPH05508725A (en) 1993-12-02
IL99053A0 (en) 1992-07-15
NO930301L (en) 1993-03-23
WO1992002876A1 (en) 1992-02-20
WO1992002932A1 (en) 1992-02-20
AU8331691A (en) 1992-03-02
SK402592A3 (en) 1993-09-09
DE69102065T2 (en) 1994-09-01
CN1059225A (en) 1992-03-04
IL99055A0 (en) 1992-07-15
NZ239240A (en) 1995-03-28
NZ239239A (en) 1994-08-26
NO930303D0 (en) 1993-01-28
ATE104084T1 (en) 1994-04-15
JPH05508952A (en) 1993-12-09
EP0541684B1 (en) 1994-04-06
LTIP379A (en) 1994-11-25
CN1059799A (en) 1992-03-25
IL99052A0 (en) 1992-07-15
WO1992002877A1 (en) 1992-02-20
ZA916121B (en) 1992-05-27
LTIP381A (en) 1994-12-27
HU9204177D0 (en) 1993-03-29
ES2050545T3 (en) 1994-05-16
LTIP380A (en) 1994-12-27
IL99056A (en) 1994-11-11
CN1030019C (en) 1995-10-11
FI930434A (en) 1993-04-02
US5437049A (en) 1995-07-25
TW215960B (en) 1993-11-11
ZA916116B (en) 1992-05-27
TW199926B (en) 1993-02-11
TW199213B (en) 1993-02-01
NO930302D0 (en) 1993-01-28
CA2086539A1 (en) 1992-02-03
EP0541683B1 (en) 1994-02-23
HU9300263D0 (en) 1993-05-28
DE69107460T2 (en) 1995-10-05
CA2087022A1 (en) 1992-02-03
BG97385A (en) 1993-12-24
US5239502A (en) 1993-08-24
TW215959B (en) 1993-11-11
US5555434A (en) 1996-09-10
TW215483B (en) 1993-11-01
EP0548094A1 (en) 1993-06-30
CA2086591A1 (en) 1992-02-03
LTIP385A (en) 1994-11-25
FI930433L (en) 1993-02-01
DE69101640T2 (en) 1994-07-21
CN1027198C (en) 1994-12-28
ES2056655T3 (en) 1994-10-01
EP0541682B1 (en) 1994-12-28
BG97386A (en) 1993-12-24
ES2051129T3 (en) 1994-06-01
CN1061865A (en) 1992-06-10
IL99055A (en) 1994-12-29
HUT63710A (en) 1993-09-28
BG97381A (en) 1993-12-24
US5325501A (en) 1994-06-28
HU9300175D0 (en) 1993-04-28
CN1030018C (en) 1995-10-11
EP0541678A1 (en) 1993-05-19
EP0541685A1 (en) 1993-05-19
FI930435A0 (en) 1993-02-01
LTIP382A (en) 1994-11-25
ZA916123B (en) 1992-04-29
DE69106369D1 (en) 1995-02-09
US5241491A (en) 1993-08-31
DE69107460D1 (en) 1995-03-23
ATE105952T1 (en) 1994-06-15
WO1992002875A1 (en) 1992-02-20
US5379387A (en) 1995-01-03
NO930302L (en) 1993-03-31
FI930435L (en) 1993-04-02
AU8333191A (en) 1992-03-02
EP0541682A1 (en) 1993-05-19
IL99051A0 (en) 1992-07-15
FI930433A0 (en) 1993-02-01
ZA916118B (en) 1992-05-27
LTIP384A (en) 1994-11-25
ATE118640T1 (en) 1995-03-15
IL99054A0 (en) 1992-07-15
CN1062426A (en) 1992-07-01
KR930701818A (en) 1993-06-12
CN1059413A (en) 1992-03-11
CN1058667A (en) 1992-02-12
WO1992002933A1 (en) 1992-02-20
DE69102065D1 (en) 1994-06-23
SK391392A3 (en) 1994-06-08
WO1992002874A1 (en) 1992-02-20
DE69101242D1 (en) 1994-03-31
NZ239242A (en) 1994-12-22
RO109487B1 (en) 1995-02-28
ZA916119B (en) 1992-05-27

Similar Documents

Publication Publication Date Title
JPH05508723A (en) Active storage in reduction processors
Jackson Software Abstractions: logic, language, and analysis
CN103547999B (en) Utilizing special purpose elements to implement a FSM
Ward Structured development for real-time systems: Vol. I: Introduction and tools
US5418942A (en) System and method for storing and managing information
US20070219933A1 (en) Method of and apparatus for realizing synthetic knowledge processes in devices for useful applications
CN103443767A (en) Unrolling quantifications to control in-degree and/or out degree of automaton
CN105210054B (en) Binding of the data source to composite control
KR20070078960A (en) Automatic design device, automatic design method, and automatic design program of digital circuit
CN108279885A (en) A kind of method and device that multiple model codes are carried out with Integrated Simulation
Bolojan Creative AI: augmenting design potency
CN105190632B (en) Construct the Polynomial Method of uncertainty (NP) Turing machine
Mange et al. Von Neumann revisited: A Turing machine with self-repair and self-reproduction properties
CN105930584B (en) A kind of Virtual Experiment Platform Based and its implementation of computer composition and system structure
Ong et al. A graph model and grammar for multi-scale modelling using XL
Wang On the informatics laws of software
Lemmon et al. Object-oriented design of a cotton crop model
Jackson Software abstractions, revised edition: logic, language, and analysis
Anand et al. Creating with Code
CN113360531B (en) Parallel computing data stream structure for signal processing system
Cutler et al. Computational Frameworks for Political and Social Research with Python
Sloman The Evolution of Poplog and Pop-11 at Sussex University
Upadhyay et al. Turing Complete Transformers: Two Transformers Are More Powerful Than One
Addis et al. Drawing programs: the theory and practice of schematic functional programming
Baranwal et al. What's New in TensorFlow 2.0: Use the new and improved features of TensorFlow to enhance machine learning and deep learning