JPH02110735A - List data processor - Google Patents

List data processor

Info

Publication number
JPH02110735A
JPH02110735A JP26445988A JP26445988A JPH02110735A JP H02110735 A JPH02110735 A JP H02110735A JP 26445988 A JP26445988 A JP 26445988A JP 26445988 A JP26445988 A JP 26445988A JP H02110735 A JPH02110735 A JP H02110735A
Authority
JP
Japan
Prior art keywords
list
data
list data
processing
atom
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
JP26445988A
Other languages
Japanese (ja)
Inventor
Masakatsu Sugimoto
杉本 正勝
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP26445988A priority Critical patent/JPH02110735A/en
Publication of JPH02110735A publication Critical patent/JPH02110735A/en
Pending legal-status Critical Current

Links

Landscapes

  • Devices For Executing Special Programs (AREA)

Abstract

PURPOSE:To improve the list processing efficiency by processing list data with the construction displayed by a connecting cell arranged two-dimensionally and an atomic cell arranged one-dimensionally. CONSTITUTION:The internal expression of the list data handled by an arithmetic unit 10 is realized by the data construction composed of connecting cells C11 to Cnm to store the connection information of a list and atomic cells A1 to An to store the information of the leaf of the list, namely, the referring information to a data substance called 'atom'. The connecting cells C11 to Cnm are two-dimensionally arranged to the depth direction (X direction) of a list and the number direction (Y direction) of a list element and this is made into a cell matrix memory 17. The atomic cells A1 to An are one-dimensionally arranged in the number direction of the list element and this is made into an atomic memory 18. Thus, the list data can be efficiently processed and the high speed operation can be executed.

Description

【発明の詳細な説明】 〔概要〕 知識情報処理システムや人工知能(AI)の分野で用い
られるリスト構造のデータを処理するリストデータ処理
装置に関し。
[Detailed Description of the Invention] [Summary] The present invention relates to a list data processing device that processes list-structured data used in the fields of knowledge information processing systems and artificial intelligence (AI).

リストデータを効率よく処理し、高速な演算を可能とす
る装置を提供することを目的としリストデータを格納す
るメモリが、リストの接続情報を格納する接続セルと、
リストの葉の情報を格納するアトム・セルとからなり、
上記接続セルは、リストの深さ方向とリスト要素の個数
方向に、二次元的に配置され、上記アトム・セルは。
The purpose is to provide a device that efficiently processes list data and enables high-speed calculation, and a memory that stores list data includes a connection cell that stores list connection information;
It consists of an atom cell that stores the information of the leaves of the list.
The connection cells are arranged two-dimensionally in the depth direction of the list and the number of list elements, and the atom cells are arranged two-dimensionally in the depth direction of the list and the number direction of list elements.

リスト要素の個数方向に一次元的に配置されるように構
成する。
It is configured to be arranged one-dimensionally in the direction of the number of list elements.

〔産業上の利用分野〕[Industrial application field]

本発明は、知識情報処理システムや人工知能(A I 
)の分野で多用されるようなリスト構造のデータを、効
率よく処理するリストデータ処理装置に関する。
The present invention is a knowledge information processing system and an artificial intelligence (AI) system.
The present invention relates to a list data processing device that efficiently processes list-structured data often used in the field of

例えば機械翻訳システム、自然言語解析用ソフトウェア
、知識ベース・システム、グラフィック・エディタとい
うような知識情報処理システムやAI等の分野では、リ
ストデータの処理が盛んに行われている。これは、リス
トデータのデータ構造に柔軟性があり、複雑な形のデー
タ表現が可能で、またデータの追加や削除等がやりやす
いことによる。リストデータは、今後ともその利用の範
囲が拡大されると予想され、その効率的な取り扱いを可
能とする手段が望まれている。
For example, list data processing is actively performed in fields such as machine translation systems, natural language analysis software, knowledge base systems, knowledge information processing systems such as graphic editors, and AI. This is because the data structure of list data is flexible, it is possible to express data in complex forms, and it is easy to add and delete data. It is expected that the scope of use of list data will continue to expand in the future, and a means that enables efficient handling of list data is desired.

〔従来の技術〕[Conventional technology]

第10図および第11図は従来方式によるリストデータ
の格納構造の例を示している。
FIGS. 10 and 11 show examples of list data storage structures according to the conventional method.

従来方式では、計算機システム内でリストの要素を表現
する場合1例えば第10図(イ)に示すように、アドレ
スADIとアドレスAD2の対を用いて表現し、これら
のアドレスによって、他のリストの要素またはアトムと
呼ばれるデータの実体をポイントするようにされていた
。なお3図中のFは、データの種別等を示すフラグであ
る。
In the conventional method, when an element of a list is expressed in a computer system, it is expressed using a pair of address ADI and address AD2, as shown in FIG. It was designed to point to data entities called elements or atoms. Note that F in Figure 3 is a flag indicating the type of data, etc.

例えば第10図(ロ)に示すようなリストデータである
r(A  (X  Y)  B)Jを、計算機のメモリ
に格納する場合には、第10図(ハ)に示すような構造
で格納する。
For example, when storing list data r(A (X Y) B) J as shown in Figure 10 (B) in the memory of a computer, it is stored in the structure shown in Figure 10 (C). do.

ここでポインタとして利用されるアドレスとしては2通
常の計算機では、4バイト程度が用いられている。従っ
て、リストの要素には、フラグ情報を加えて、8〜9バ
イト程度が必要となる。計算機で解こうとする問題の規
模が大きくなってくると、リストデータの格納用のメモ
リも大規模なものが必要となってくる。
Here, the address used as the pointer is 2. In a normal computer, about 4 bytes are used. Therefore, each element of the list requires about 8 to 9 bytes, including flag information. As the scale of the problem to be solved by a computer becomes larger, a larger memory for storing list data is also required.

VLS Iメモリ技術の進展に伴い、メモリの大容量化
に要するコストは、比較的小さくなる傾向にある。しか
し、リストデータを扱う場合に、リスト要素のビット数
が大であることと、関係するリスト要素がメモリ装置中
の各所に点在することは、計算機の処理速度を相対的に
低下させる原因となっている。
As VLSI memory technology advances, the cost of increasing memory capacity tends to be relatively small. However, when handling list data, the large number of bits of list elements and the fact that related list elements are scattered throughout the memory device can cause a relative slowdown in computer processing speed. It has become.

また、現在のリスト処理においては、使用できるリスト
用のメモリが尽きてしまったときには。
Also, when the current list processing runs out of available list memory.

ガーベジコレクションと呼ばれる処理、すなわち。A process called garbage collection, ie.

処理上不要となったリスト要素を集めて、新たに使用す
ることができるようにする必要がある。この処理も、計
算機の処理速度を相対的に低下させている。
It is necessary to collect list elements that are no longer needed for processing so that they can be used again. This processing also relatively reduces the processing speed of the computer.

例えば、リスト処理用の計算機として現在用いられてい
るLISPマシンの中には、必要なメモリを節約するた
めに、CDRコーディングと呼ばれる手法を採用し、リ
スト要素に必要なメモリ量を、はぼ半減することを狙っ
たものがある。これを採用した装置では9例えば第11
図(イ)に示すようなリストデータをメモリに格納する
場合に。
For example, some LISP machines currently used as list processing calculators employ a technique called CDR coding to save memory, reducing the amount of memory required for list elements by about half. There is something that aims to do that. In a device adopting this, for example, the 11th
When storing list data in memory as shown in figure (a).

第11図(ロ)に示すように格納するのではなく。Rather than storing it as shown in FIG. 11(b).

第11図(ハ)に示すように格納し、各要素の前半部分
を連続した領域に並べることにより、後半部分のアドレ
ス領域を削減する。
By storing the data as shown in FIG. 11(c) and arranging the first half of each element in a continuous area, the address area of the second half can be reduced.

しかし、この方式も、リスト型のデータの追加・削除が
頻繁に行われると、その効果を失ってしまうという欠点
がある。
However, this method also has the drawback that it loses its effectiveness if list-type data is frequently added or deleted.

〔発明が解決しようとする課題〕[Problem to be solved by the invention]

以上のように、従来方式によれば、必要とするメモリ量
が大きくなるとか、ガーベジコレクション等によるオー
バヘッドが大きいという問題があった。また、リストデ
ータの作成、サブリストの追加・削除、リストまたはサ
ブリストの置き換え。
As described above, the conventional method has problems such as a large amount of memory being required and a large overhead due to garbage collection and the like. You can also create list data, add/delete sublists, and replace lists or sublists.

複数のリストのマツチング処理、ユニフィケーション処
理などを効率的に実行することができないという問題が
あった。
There was a problem in that matching processing of multiple lists, unification processing, etc. could not be efficiently executed.

本発明は上記問題点の解決を図り、リストデータを効率
よく処理し、高速な演算を可能とする装置を提供するこ
とを目的としている。
SUMMARY OF THE INVENTION An object of the present invention is to solve the above-mentioned problems and provide an apparatus that can efficiently process list data and perform high-speed calculations.

〔課題を解決するための手段〕[Means to solve the problem]

第F図は本発明の構成例を示す。 FIG. F shows an example of the configuration of the present invention.

第1図において、10はリスト処理に関する演算を実行
する演算装置、11はリストの追加、削除、置き換え、
マツチング、ユニフィケーション等を行う論理演算部、
12はファームウェアが格納された制御メモリ、13a
、13bは演算対象となるリストデータが設定されるリ
ストデータレジスタ、14はリストデータが格納される
リストデータ格納メモリ、15はリストの深さ方向のア
ドレスを示すXアドレスレジスタ、16はリスト要素の
個数方向のアドレスを示すYアドレスレジスタ、17は
セル行列メモリ、18はアトム・メモリ、C1l〜Cn
mは接続セル、Al 〜Anはアトム・セルを表す。
In FIG. 1, 10 is an arithmetic unit that performs operations related to list processing; 11 is an arithmetic unit that performs operations related to list processing;
A logic operation unit that performs matching, unification, etc.
12 is a control memory in which firmware is stored; 13a;
, 13b is a list data register in which list data to be calculated is set, 14 is a list data storage memory in which list data is stored, 15 is an X address register indicating the address in the depth direction of the list, and 16 is a list element register. Y address register indicating address in number direction, 17 is cell matrix memory, 18 is atom memory, C1l to Cn
m represents a connection cell, and Al to An represent an atom cell.

本発明では5演算装置10が扱うリストデータの内部表
現を、リストの接続情報を格納する接続セルC1l〜C
nmと、リストの葉の情報、すなわちアトムと呼ばれる
データ実体への参照情報を格納するアトム・セルA1〜
Anとからなるデータ構造によって実現する。
In the present invention, the internal representation of the list data handled by the five arithmetic units 10 is expressed as
nm, and atom cell A1 to store leaf information of the list, that is, reference information to a data entity called an atom.
This is realized by a data structure consisting of An.

そして、接続セルCIl〜Cnmは、リストの深さ方向
(X方向)と、リスト要素の個数方向(Y方向)に、二
次元的に配置し、これをセル行列メモリ17とする。ア
トム・セルA1〜Anは。
The connected cells CIl to Cnm are two-dimensionally arranged in the depth direction of the list (X direction) and the number direction of list elements (Y direction), and this is defined as the cell matrix memory 17. Atom cells A1 to An are.

リスト要素の個数方向に一次元的に配置し、これをアト
ム・メモリ18とする。
The list elements are arranged one-dimensionally in the direction of the number of list elements, and this is referred to as the atom memory 18.

リストデータ格納メモリ14は1以上のセル行列メモリ
17およびアトム・メモリ18から構成されるメモリで
ある。リストデータ格納メモリ14は、複数枚のプレー
ンからなり、1枚のプレーンに、1つのリストデータが
格納されるようになっている。
The list data storage memory 14 is a memory composed of one or more cell matrix memories 17 and an atom memory 18. The list data storage memory 14 consists of a plurality of planes, and one list data is stored in one plane.

リストデータレジスタ13a、13bは、リストデータ
格納メモリ14におけるセル行列メモリ17およびアト
ム・メモリ18の内容が、同様な形式で格納される構造
になっている。論理演算部11は、制御メモリ12に格
納されているマイクロ命令の実行により、リストデータ
レジスタ13a、13b等に設定されているデータにつ
いて。
The list data registers 13a and 13b have a structure in which the contents of the cell matrix memory 17 and the atom memory 18 in the list data storage memory 14 are stored in a similar format. The logic operation unit 11 processes data set in the list data registers 13a, 13b, etc. by executing microinstructions stored in the control memory 12.

X軸方向への同時シフト Y軸方向への同時シフト、比
較、マツチングその他のリスト処理に関連する操作を行
う機能を有する。
It has functions for simultaneous shifting in the X-axis direction, simultaneous shifting in the Y-axis direction, comparison, matching, and other operations related to list processing.

〔作用〕[Effect]

本発明は、従来方式によるリスト構造を表現するために
用いられているセル(リスト要素)が。
The present invention uses cells (list elements) that are used to express a list structure according to the conventional method.

セル間またはセルとアトム間の接続関係を表すものであ
ることに着目して、その接続関係を示す部分だけを抽出
し、その接続関係を示す情報を、二次元的に配置した接
続セルC1l〜Cnmによって表現することにより、リ
ストデータ全体の縮小化および高速なデータ操作を実現
するようにしたものである。リスト要素が各所に点在す
ることがなくなるので、ガーベジコレクシジン等の処理
も簡素化される。
Focusing on the fact that it represents the connection relationship between cells or between cells and atoms, only the part showing the connection relationship is extracted, and the information showing the connection relationship is arranged two-dimensionally in the connected cells C1l~ By expressing it in Cnm, it is possible to reduce the size of the entire list data and to perform high-speed data manipulation. Since list elements are no longer scattered all over the place, processing of garbage collectors and the like is also simplified.

〔実施例〕〔Example〕

第2図は本発明の実施例に係る接続セルの構成例、第3
図は本発明の実施例によるリストデータの内部表現例、
第4図は本発明の実施例によるリストデータレジスタの
構成例、第5図は本発明の実施例に係るサブリスト追加
・抽出処理説明図。
FIG. 2 shows an example of the configuration of a connection cell according to an embodiment of the present invention;
The figure shows an example of internal representation of list data according to an embodiment of the present invention.
FIG. 4 is a configuration example of a list data register according to an embodiment of the present invention, and FIG. 5 is an explanatory diagram of sub-list addition/extraction processing according to an embodiment of the present invention.

第6図は本発明の実施例に係るユニフィケーション処理
説明図、第7図は本発明の実施例に係るユニフィケーシ
ゴン関連ブロック図、第8図は第7図に示すrmcpロ
ジック説明図、第9図は本発明の適用システムの構成例
を示す。
6 is an explanatory diagram of unification processing according to an embodiment of the present invention, FIG. 7 is a block diagram related to unification processing according to an embodiment of the present invention, and FIG. 8 is an explanatory diagram of the rmcp logic shown in FIG. FIG. 9 shows an example of the configuration of a system to which the present invention is applied.

第1図に示すリストデータ格納メモリ14において、二
次元的に配置される接続セルC1l〜Cnmは、各々2
例えば第2図に示すように構成され2 リストの深さ方
向(以下、この方向を水平方向またはX方向という)お
よびリスト要素の個数方向(以下、この方向を垂直方向
またはY方向という)のそれぞれの接続関係を示す接続
情報20と、その接続セルがリストの葉に相当するか否
かを示すアトム・フラグ21とを保持するようになって
いる。
In the list data storage memory 14 shown in FIG.
For example, it is configured as shown in FIG. It is designed to hold connection information 20 indicating the connection relationship of , and an atom flag 21 indicating whether the connected cell corresponds to a leaf of the list.

この接続情報20.アトム・フラグ21は、X選択信号
およびY選択信号によって選択した接続セルについて、
制御信号に応じて、設定または参照できるようになって
いる。
This connection information 20. The atom flag 21 indicates the connection cell selected by the X selection signal and the Y selection signal.
It can be set or referenced according to the control signal.

ところで、リストの外部表現は1例えばLISP言語で
は3式と呼ばれ、このS弐では、左括弧。
By the way, the external representation of a list is called a 3 expression in the LISP language, and in this S2, it is a left parenthesis.

右括弧およびアトムを用いて、任意のリスト構造を表す
ことができるようにしている。
Right parentheses and atoms are used to allow arbitrary list structures to be represented.

例えば2次のようなリストの外部表現。For example, an external representation of a list such as quadratic.

((A  B)(CD)(E(F  G(H))))は
1本発明による内部表現では、第3図に示すようになる
((A B) (CD) (E (F G (H)))) is 1 The internal representation according to the present invention is as shown in FIG.

第3図に示すセル行列メモリ17において9点線の交差
する点が1つの接続セルに相当する。ここで、黒丸・が
、アトム・フラグがOFF、すなわちリストの葉ではな
いノード(リスト情報を持つセル)を表し、白丸○が、
アトム・フラグがON、すなわちリストの葉に相当する
ものを表す。
In the cell matrix memory 17 shown in FIG. 3, a point where nine dotted lines intersect corresponds to one connected cell. Here, the black circle represents a node (cell with list information) whose atom flag is OFF, that is, it is not a leaf of the list, and the white circle ○ represents
The atom flag is ON, indicating that it corresponds to a leaf of the list.

これらの間を結ぶ線が接続情報を示している。A line connecting these indicates connection information.

アトム・メモリ18には、リストの各葉に対応して、ア
トム文字列が格納されたアトム・テーブル30へのアド
レス情報等が格納される。
The atom memory 18 stores address information and the like to the atom table 30 in which atom character strings are stored, corresponding to each leaf of the list.

このようなリストの外部表現から内部表現への変換は1
次のような論理により、実現できる。
The conversion from external representation to internal representation of such a list is 1
This can be achieved using the following logic.

■ レジスタ、テーブル等の初期化を行う。すなわち9
作業用のレジスタやアトム・テーブル30等をクリアす
る。
■ Initialize registers, tables, etc. i.e. 9
Clears work registers, atom table 30, etc.

■ 作業用変数に初期値を設定する。■ Set initial values for work variables.

i←1    (i−行カウンタ) j←1    (j−列カウンタ) k←0  (k−アトム・テーブル・インデックス) ■ 外部表現データが尽きるまで、以下の■と■の操作
を繰り返す。
i←1 (i-row counter) j←1 (j-column counter) k←0 (k-atom table index) ■ Repeat the following operations ■ and ■ until the external expression data is exhausted.

■ リスト・データの入力操作を行う。左括弧右括弧3
アトムを1回の読み込み単位とする。
■ Perform list data input operations. left parenthesis right parenthesis 3
Atom is the unit of one read.

■ 読み込み単位の種別ごとの処理。■ Processing for each type of read unit.

(a)“(→ スクッキング ・現在のセル位置の「水平方向接続」フラグをONにす
る。
(a) "(→ Skooking - Turn on the "horizontal connection" flag of the current cell position.

・現在のセル位置のアトム・フラグをOFF。・Turn off the atom flag at the current cell position.

・j←j+1(水平方向右側へ)。・j←j+1 (horizontally to the right).

)→ アンスクツキング ・j=j−1(水平方向左側へ)。) → Unskating ・j=j-1 (horizontally to the left).

(C)  その他の場合 → ・現在のセル位置がサブリストの先頭であるか否かなど
により、現在のセル位置または左側のセル位置の「垂直
方向接続」フラグをONにする。
(C) In other cases → - Depending on whether the current cell position is the head of the sublist, etc., turn on the "vertical connection" flag of the current cell position or the left cell position.

・そのアトムが、既に登録されているものであるか否か
をチエツクする。
- Check whether the atom is already registered.

登録済みの場合には、そのインデックスをmとする。未
登録である場合には、アトム・テーブルに登録し。
If it has been registered, its index is set to m. If it is not registered, register it in the atom table.

k4−に+1.   m4−k  とする。+1 to k4-. Let it be m4-k.

・現在のセル位置の7トム・フラグをONに(b) する。・Turn ON the 7 Tom flag at the current cell position (b) do.

・アトム・セル(i)6m とする。・Atom cell (i) 6m.

・14−i+l(垂直方向下方へ)。・14-i+l (vertically downward).

以上の処理によって変換された内部表現の形式を、トポ
ロジー標準形という。
The format of the internal representation converted through the above processing is called the topology standard form.

このようなトポロジー標準形を、第4図に示すように、
リストデータレジスタ13a、13b上でも実現する。
As shown in Figure 4, such a topology standard form is
This is also realized on the list data registers 13a and 13b.

このようなレジスタを複数組用いて、リストデータに対
する各種の操作を行う。例えば、第4図(イ)に示す2
つのレジスタREG1、REC;2のつき合わせにより
、ユニフィケーション処理等を行うことができる。
A plurality of such registers are used to perform various operations on list data. For example, 2 shown in Figure 4 (a)
By matching the two registers REG1 and REC;2, unification processing and the like can be performed.

本実施例では、各レジスタREGI  REC2に、1
語55ビツトのデータが最大32語設定することができ
るようになっている。その内部構成は、第4図(ロ)に
示すようになっており、13×32個の接続セルを持つ
セル行列メモリ17と。
In this embodiment, each register REGI REC2 has 1
A maximum of 32 words of 55-bit data can be set. Its internal configuration is as shown in FIG. 4(b), and includes a cell matrix memory 17 having 13×32 connected cells.

32個のアトム・セルを持つアトム・メモリ18とから
構成される。
It is composed of an atom memory 18 having 32 atom cells.

第4図(ロ)に示すセル行列メモリ17の1っのOが、
1つの接続セルに対応し、各接続セルは3ビツトを持つ
One O of the cell matrix memory 17 shown in FIG. 4(b) is
Corresponding to one connection cell, each connection cell has 3 bits.

■ この第1ピントは「垂直方向接続」フラグであり9
次の意味を持つ。
■ This first focus is the "vertical connection" flag, which is 9
It has the following meaning.

第1ビツトがOのとき、垂直方向接続なし1のとき、垂
直方向接続あり。
When the first bit is O, there is no vertical connection.When it is 1, there is vertical connection.

■ 第2ビツトは「水平方向接続」フラグであり。■ The second bit is the "horizontal connection" flag.

次の意味を持つ。It has the following meaning.

第2ビツトがOのとき、水平方向接続なし1のとき、水
平方向接続あり。
When the second bit is O, there is no horizontal connection.When it is 1, there is horizontal connection.

■ 第3ビツトはアトム・フラグであり2次の意味を持
つ。
■ The third bit is an atom flag and has a secondary meaning.

第3ビツトが0のとき1葉でないか、またはリスト情報
なし 1のとき1葉である。
When the third bit is 0, it is not the first leaf, or when it is 1 without list information, it is the first leaf.

この第3ビツトのアトム・フラグが0であり。The atom flag of this third bit is 0.

かつ第1ビツトおよび第2ビツトが共に0であるとき、
「リスト情報なし」を意味し、アトム・フラグが0であ
って、第1ビツトまたは第2ビツトが1である場合、[
集取外のリスト情報」を意味する。
and when both the first bit and the second bit are 0,
means "no list information", and if the atom flag is 0 and the first or second bit is 1, then [
"List information outside of collection".

アトム・セルは、1ビツトの変数フラグ■と15ビツト
のアトム・テーブル参照情報REFとからなる。この変
数フラグ■は次の意味を持つ。
The atom cell consists of a 1-bit variable flag ■ and 15-bit atom table reference information REF. This variable flag ■ has the following meaning.

変数フラグ■が0のとき2通常のアトム1のとき、変数
When the variable flag ■ is 0, it is 2. When the normal atom is 1, it is a variable.

以上のようなトポロジー標準形のリストデータについて
1次のようにサブリストの追加、抽出。
Add and extract sublists as follows for the list data in the topology standard form as described above.

コピー、マツチング、ユニフィケーション等の処理を行
うことができるようになっている。
It is now possible to perform processing such as copying, matching, and unification.

[サブリストの追加処理] サブリストの追加では、追加すべき位置(XO2yO)
の指定と、追加すべきサブリストの置かれているサブリ
スト・レジスタの番号(i)の指定のもとで2例えば第
5図(イ)に示すデータを第5図(ロ)に示すデータに
変換する処理を行う。
[Sublist addition process] When adding a sublist, the position to be added (XO2yO)
and the number (i) of the sublist register where the sublist to be added is located, 2 For example, the data shown in Figure 5 (a) is changed to the data shown in Figure 5 (b). Performs processing to convert to .

処理ロジックは、以下のようになる。The processing logic is as follows.

■(y<yO−1)であるy行は変化なしとする。(2) The y row where (y<yO-1) is left unchanged.

■(y≧yO)であるy行については、サブリストの高
さだけ、下方シフトシながら、順次、サブリストを追加
する。
(2) For y rows where (y≧yO), sublists are added one by one while shifting downward by the height of the sublist.

(a)(y−yO)の行についての処理。(a) Processing for the row (y-yO).

(x<xO)については、リスト情報を持つ接続セル(
以下、継続セルという)であれば、継続セルとする。
For (x<xO), the connected cell with list information (
(hereinafter referred to as a continuation cell), it is considered a continuation cell.

(x=xO)については、サブレジスタの内容を挿入し
、それに垂直方向接続情報を設定する。
For (x=xO), insert the contents of the sub-register and set vertical connection information to it.

(X>XO)については、サブリストの内容を入れる。For (X>XO), enter the contents of the sublist.

(b)(y>yO)の行については yO→yO+1.yO+1→yo+2・・・・・・とな
るように、下方ヘシフトする。
(b) For the row (y>yO), yO→yO+1. Shift downward so that yO+1→yo+2...

(C)  サブリスト・レジスタから1行を取り出すと
き、下方への接続があれば、垂直方向接続フラグを“1
”にし、なければ、そのフラグを“0゛′にする。
(C) When fetching one line from the sublist register, if there is a downward connection, set the vertical connection flag to “1”.
”, and if not, set the flag to “0゛′.

(d)  上記(C)で設定した垂直方向接続フラグの
論理和が“1パであれば、サブリスト・レジスタ側に残
りの行があるので、上記(a)〜(C)を繰り返す。そ
うでなければ、処理を終了する。
(d) If the logical sum of the vertical connection flags set in (C) above is "1 pass", there are remaining rows on the sublist register side, so repeat (a) to (C) above. Otherwise, the process ends.

しサブリストの抽出処理] サブリストの抽出処理では、抽出すべきサブリストのあ
る位置(xo、yO)の指定と、抽出したサブリストを
置くべきサブリスト・レジスタの番号(i)の指定のも
とで、追加とは逆に、第5図(ロ)に示すデータを、第
5図(イ)に示すデータに変換する処理を行う。
sublist extraction process] In the sublist extraction process, the location (xo, yO) of the sublist to be extracted and the number (i) of the sublist register where the extracted sublist should be placed are specified. At this point, contrary to the addition process, the data shown in FIG. 5(B) is converted into the data shown in FIG. 5(B).

処理ロジックは、以下のようになる。The processing logic is as follows.

■(y<yO−1)であるy行は変化なしとする。(2) The y row where (y<yO-1) is left unchanged.

■(y≧yO)であるy行については、サブリストの高
さだけ、データを抽出して、その内容をサブリスト・レ
ジスタに置く。
(2) For the y row where (y≧yO), data is extracted for the height of the sublist and the contents are placed in the sublist register.

(a)(y=yo)の行についての処理。(a) Processing for the row (y=yo).

(x=xO)については、その内容をサブリスト・レジ
スタへ送る。その垂直方向接続情報の設定は不要である
For (x=xO), send its contents to the sublist register. It is not necessary to set the vertical connection information.

(x>xO)については、サブリスト・レジスタへ送る
For (x>xO), send to the sublist register.

(b)(y>yO)の行については yO+1→yO,yO+2→yO+1・・・・・・とな
るように、上方ヘシフトする。
(b) The row (y>yO) is shifted upward so that it becomes yO+1→yO, yO+2→yO+1, and so on.

(C)  サブリスト中から1行を取り出すとき、下方
への接続があれば、垂直方向接続フラグを1°”にし、
なければ、そのフラグを“0“にする。
(C) When extracting one line from the sublist, if there is a downward connection, set the vertical connection flag to 1°",
If not, the flag is set to "0".

(d)  上記(C)で設定した垂直方向接続フラグの
論理和が“l”であれば、サブリストに残りの行がある
ので、上記(a)〜(C)を繰り返す。そうでなければ
、処理を終了する。
(d) If the logical sum of the vertical connection flags set in (C) above is "l", there are remaining rows in the sublist, so repeat (a) to (C) above. Otherwise, the process ends.

[サブリストのコピー処理] サブリストのコピーでは、コピーすべきサブリストのあ
る位置(xO,yO)の指定と、コピーを置くべきサブ
リスト・レジスタの番号(i)の指定のもとで、コピー
処理を行う。コピ一対象元のデータに変化がないこと以
外は、上記の抽出処理と同様である。
[Sublist Copy Processing] In sublist copying, specifying the location (xO, yO) of the sublist to be copied and the number (i) of the sublist register where the copy is to be placed, Perform copy processing. This is the same as the extraction process described above, except that there is no change in the original data to be copied.

[サブリストの削除処理コ サブリストの削除では、削除すべきサブリストのある位
置(xo、yO)の指定のもとで、そのサブリストを除
去する処理を行う。サブリスト・レジスタ等に影響しな
いこと以外は、上記の抽出処理と同様である。
[Sublist Deletion Processing] When deleting a co-sublist, a process is performed to delete the sublist based on the specification of the position (xo, yO) of the sublist to be deleted. This is the same as the extraction process described above, except that it does not affect sublist registers, etc.

[(サブ)リストのマツチング処理コ リストまたはサブリストのマツチング処理では。[(Sub)list matching processing command In list or sublist matching operations.

2つのリストまたはサブリストが一致するかどうかを調
べる。一致を調べる対象について、それぞれの位置を指
定する。一致する場合には、一致を示すフラグを“°1
”にし、一致しない場合には。
Check whether two lists or sublists match. Specify the location of each target to be checked for a match. If they match, set the match flag to “°1”.
” and if they don't match.

一致を示すフラグを“0”′にして、結果を通知する。The flag indicating a match is set to "0"' and the result is notified.

[リストのユニフィケーション処理] ユニフィケーション処理は、リストの形態である2つの
木構造データに対する一致処理の拡張である。木の葉の
位置に変数があるときには、他方の木の対応する位置が
変数またはあるサブリストであれば、一致したとみなさ
れる。この関係が。
[List Unification Processing] Unification processing is an extension of matching processing for two tree-structured data in the form of a list. When a variable is located at a leaf position in a tree, if the corresponding position in the other tree is a variable or some sublist, it is considered a match. This relationship.

2つの木構造データに対称的に適用される。一致した場
合、ユニファイ(Unify)成功、不一致の場合、ユ
ニファイ失敗となる。
It is applied symmetrically to two tree-structured data. If they match, Unify is successful; if they do not match, Unify has failed.

このユニフィケーション処理は、PROLOG言語等の
論理型言語の処理系の中で重要な部分を占めるものであ
り、さらに詳しく説明する。
This unification processing occupies an important part in the processing system of a logical language such as the PROLOG language, and will be explained in more detail.

例えば、第6図(イ)に示すリストデータと。For example, the list data shown in FIG. 6(a).

第6図(ロ)に示すリストデータのユニフィケーション
を行うとする。
Suppose that the list data shown in FIG. 6(b) is to be unified.

まず、これらのデータを、それぞれリストデータレジス
タREGI、REG2にロードする。そして、以下の処
理を行う。
First, these data are loaded into list data registers REGI and REG2, respectively. Then, the following processing is performed.

■ i←1(リストデータレジスタに対するインデック
スiを1に初期化する)。
■ i←1 (initializes the index i for the list data register to 1).

■ 論理演算部11の内部レジスタR1,R2に。■ To the internal registers R1 and R2 of the logic operation unit 11.

リストデータレジスタの1語分を読み込む。Read one word from the list data register.

R1←リストデータレジスタREGI (i)R2←リ
ストデータレジスタREG2 (i)■ 以下の場合分
けによる処理を行う。
R1←List data register REGI (i) R2←List data register REG2 (i)■ Processing is performed in the following cases.

(a)R1,R2が共に、空であるとき。(a) When both R1 and R2 are empty.

Return true  (ユニファイ成功)とする
Return true (unification success).

(b)R1,R2のいずれか一方が空で、他方が空でな
いとき。
(b) When either R1 or R2 is empty and the other is not.

Return false (ユニファイ失敗)とする
Return false (unification failure).

(C)R1,R2の双方が、空でないとき。(C) When both R1 and R2 are not empty.

次の処理■を実行する。Execute the following process ■.

ここで、R1,R2が、「空」とは、セル行列メモリと
アトム・メモリとを横に結合したデータについて、1行
の値がすべて0であることを意味する。
Here, when R1 and R2 are "empty", it means that the values in one row are all 0 for data obtained by horizontally combining the cell matrix memory and the atom memory.

■ R1=R2のとき、ここまでは1部分的にユニファ
イ成功であるので、処理■へ移り、残りの部分を調べる
(2) When R1=R2, one part of the unification has been successful up to this point, so proceed to process (2) and check the remaining part.

R1≠R2のとき、以下の処理(1)、 (2)を行う
When R1≠R2, the following processes (1) and (2) are performed.

(1)R1,R2のいずれかが変数指定であるならば(
2)へ、そうでないならば、 Return fals
e(ユニファイ失敗)とする。
(1) If either R1 or R2 is a variable specification (
2), otherwise Return false
Set as e (unification failure).

(2)左から(rmcp−1)の位置まで9等しいかど
うかをチエツクする。
(2) Check whether 9 is equal to the position (rmcp-1) from the left.

rmcpとは、最右端(right−most cel
lposition)の略であり、変数に対応するリス
トの葉に相当するセルの水平位置をいう。
rmcp is the right-most cel
It is an abbreviation for "lposition" and refers to the horizontal position of the cell corresponding to the leaf of the list corresponding to the variable.

(a)  等しくない場合、 Return fals
e (ユニフアイ失敗)とする。
(a) If not equal, Return false
Set as e (UNIFI failure).

(b)  等しい場合。(b) If they are equal.

・変数に相当するサブリストの高さhを求める。- Find the height h of the sublist corresponding to the variable.

・変数側のレジスタに関して、第1行より下方の行をh
だけ、下方シフトを行う。
・Regarding the register on the variable side, the lines below the first line are h
Just do a downward shift.

この下方へのシフトにおいて、レジスタの下方へとオー
バーフローする場合には。
In this downward shift, if the register overflows downward.

ユニファイは失敗であり、 Return false
とする。
Unify is a failure and Return false
shall be.

■ i=n (nは最終行番号)のとき。■ When i=n (n is the last line number).

Return true (ユニファイ成功)とする。Return true (unification success).

i′4−nのとき。When i'4-n.

+ 4− i + 1とし、処理■へ制御を戻す。+4-i +1, and control is returned to process (2).

以上のような処理を行う演算装置10のブロック図を、
第7図に示す。
A block diagram of the arithmetic device 10 that performs the above processing is shown below.
It is shown in FIG.

第7図に示す装置により、リストデータレジスタREG
I、REG2に格納されているトポロジー標準形をした
リストデータをもとにして、以下に説明するようにユニ
フィケーション処理を行う。
By the device shown in FIG. 7, the list data register REG
Based on the list data in the topology standard form stored in I, REG2, unification processing is performed as described below.

この装置を起動する前に9通常のメモリまたは第1図に
示すリストデータ格納メモリ14から。
9 from a normal memory or list data storage memory 14 shown in FIG.

トポロジー標準形をしたユニフィケーション対象のリス
トデータを格納しておく。この格納方式は。
Stores list data of unification targets in topology standard form. This storage method.

通常のメモリ・バス等を経由したデータ転送で行つ。This is done by data transfer via a normal memory bus, etc.

装置の制御は、ファームウェアで行い、起動信号を受け
ると、あらかじめ決められたアドレスから、制御メモリ
MMEMに格納されたマイクロ命令が動き出す。
The device is controlled by firmware, and upon receiving an activation signal, microinstructions stored in the control memory MMEM start operating from a predetermined address.

装置が動作を終了すると2本装置は、ENDFLAGを
゛1パにセットする。また、装置の動作結果を、TRU
E−FLAGで表示する。TRUE−FLAGは、ユニ
フィケーションが成功したときに°“1″となり、成功
しないときに“0°゛となる。
When the device completes its operation, the device sets ENDFLAG to 1. In addition, the operation results of the device can be
Display with E-FLAG. TRUE-FLAG becomes "1" when unification is successful, and becomes "0" when unification is not successful.

ファームウェアを制御する部分は、制御メモリMMEM
、このメモリにアクセスするためのアドレス・レジスタ
MMAR,およびアクセスされたマイクロ命令を格納す
るマイクロ命令レジスタMIR等から構成される。マイ
クロ命令レジスタMIR中の命令は、デコーダDECで
デコードされ命令に応じた制御信号が出力される。
The part that controls the firmware is the control memory MMEM
, an address register MMAR for accessing this memory, and a microinstruction register MIR for storing accessed microinstructions. The instruction in the microinstruction register MIR is decoded by a decoder DEC, and a control signal corresponding to the instruction is output.

リストデータレジスタREGI、REG2は。List data registers REGI and REG2.

例えば第4図に示したような1語55ビツトで最大32
語のデータを保持することができるようになっているも
のである。これらのレジスタに対応して、それぞれアク
セス用のアドレス・レジスタRARI、RAR2を持つ
For example, as shown in Figure 4, a maximum of 32 bits per word is 55 bits.
It is designed to hold word data. Corresponding to these registers, there are address registers RARI and RAR2 for access, respectively.

マイクロ命令として用意されたREAD−R1命令で、
レジスタRAR1で示される番号の語を。
The READ-R1 instruction is prepared as a microinstruction.
The word with the number indicated in register RAR1.

レジスタR1に読み出す。同様に、READ−R2命令
で、レジスタRAR2で示される番号の語を、レジスタ
R2に読み出す。
Read into register R1. Similarly, the READ-R2 instruction reads the word numbered by register RAR2 into register R2.

レジスタR1とレジスタR2に格納されたデータは、レ
ジスタ内容チエツク・比較ロジック部(COMP)7G
で、チエツクと比較がなされる。
The data stored in register R1 and register R2 is stored in register content check/comparison logic section (COMP) 7G.
Then, checks and comparisons are made.

その結果が、CASE−FLAGにセットされる。The result is set in CASE-FLAG.

そのセット条件は、以下のとおりである。The set conditions are as follows.

CASE−FLAG ”000” −(R1=null)  & (R2=n
ull)”010”−(R1≠null ) 、& (
R2=null)”001” −(R1=null)&
 (R2≠null)” 111 ” ・(R1≠nu
ll) &(R2≠null) &(R1=R2)” 
011 ” ・=  (R1≠null) &(R2≠
null) &(R1≠R2)ここで nullはレジ
スタ(55ビツト)がOであること、&はアンド論理を
意味する。
CASE-FLAG "000" - (R1=null) & (R2=n
ull)"010"-(R1≠null), &(
R2=null)"001"-(R1=null)&
(R2≠null)"111" ・(R1≠nu
ll) &(R2≠null) &(R1=R2)”
011 ” ・= (R1≠null) &(R2≠
null) &(R1≠R2) Here, null means that the register (55 bits) is O, and & means AND logic.

レジスタR1とR2にあるデータの中で、左から39ビ
ツト目(最左端を0ビツト目とする)は。
Among the data in registers R1 and R2, the 39th bit from the left (the leftmost bit is the 0th bit) is.

“1°゛のとき変数、“0゛のとき変数でないことを示
すビットである。
This bit indicates that it is a variable when it is “1°” and that it is not a variable when it is “0”.

VAR−FLAGは、R1の39ビツト目と。VAR-FLAG is the 39th bit of R1.

R2の39ビツト目とを結合した値を持つようにしてい
る。
It has a value that is a combination of the 39th bit of R2.

変数を含むユニファイの処理に関しては、  rmcp
(変数に対応するリストの葉に相当するセルの水平位置
)までの一致を調べる必要がある。その処理は、rmc
pロジック71により行う。処理の結果は、MATCH
−TO−RMCP−FLAGに表示される。
For unified processing including variables, use rmcp
It is necessary to check for a match up to (the horizontal position of the cell corresponding to the leaf of the list corresponding to the variable). The process is rmc
This is done by p logic 71. The result of the processing is MATCH
-TO-RMCP-FLAG.

r m c pロジック71は1例えば第8図に示すよ
うに構成される。第8図において、80はR1とR2の
選択を行う選択部、81はアンド論理。
The r m c p logic 71 is configured as shown in FIG. 8, for example. In FIG. 8, 80 is a selection section that selects R1 and R2, and 81 is an AND logic.

82はオア論理、83は各セルの相互比較部、84はr
mcp設定部、85はオア論理、86はアンド論理であ
る。
82 is an OR logic, 83 is a mutual comparison section of each cell, and 84 is an r
In the mcp setting section, 85 is OR logic, and 86 is AND logic.

各セルの相互比較部83は、レジスタR1とR2のθ〜
38ビット目までを、3ビツトのセル単位で比較し、r
mcpの位置の1つ左の位置まで等しいか否かを求める
。rmcp設定部84の出力は、セル位置に対応する1
3ビツトに関してrmcpの位置から右側がすべて“1
′であり。
The mutual comparison section 83 of each cell compares θ to θ of registers R1 and R2.
Compare up to the 38th bit in 3-bit cell units, and r
Find out whether the positions one position to the left of mcp are equal. The output of the rmcp setting unit 84 is 1 corresponding to the cell position.
All 3 bits to the right from the rmcp position are “1”.
′ is.

その他は“0”である。これにより、rmcpの位置ま
で各セルの内容が一致するとき、オア論理85、アンド
論理86を介して、MATCH−TO−RMCP−FL
AGがセットされる。
Others are "0". As a result, when the contents of each cell match up to the rmcp position, MATCH-TO-RMCP-FL is sent via the OR logic 85 and the AND logic 86.
AG is set.

V[RTICAL−FLAGは、変数にユニファイされ
るサブリストが下方に続いているかどうかを示すフラグ
である。レジスタR1とR2の各々について、13個の
セルから、垂直方向の接続を表す最初のビットを取り出
し、R1,R2の39ビツト目により3選択部80によ
って変数になっているレジスタではない側を選択し、さ
らにrmcp設定部84の出力と論理積をとって、下方
に続いているかどうかを調べる。
V[RTICAL-FLAG is a flag indicating whether the sublist unified to the variable continues downward. For each of registers R1 and R2, take out the first bit representing vertical connection from 13 cells, and select the side that is not a register that is a variable by the 3 selection unit 80 using the 39th bit of R1 and R2. Then, it is logically ANDed with the output of the rmcp setting unit 84 to check whether it continues downward.

VBRT I CAL−FLAGが1”のとき。When VBRT I CAL-FLAG is 1”.

下方接続があり、°“0“′のとき、下方接続がないも
のとしている。
There is a downward connection, and when it is 0, it is assumed that there is no downward connection.

以上のロジックに関するファームウェアの内容は、以下
のとおりである。
The contents of the firmware regarding the above logic are as follows.

歓作皿雉: END−FLAG ニー“′0°゛TRU
E−FLAG : −”0” 死10=:  (R1:=)READ−R1(R2:=
)READ−R2 CASE−FLAGによる分岐 000“°の場合、玉三ヱL不戒豆へ分岐“010”の
場合、王三スL不夫敗へ分岐“001′”の場合、王三
スL不火敗へ分岐” 111 ”の場合、葦分炭坊へ分
岐“’011”の場合、久皇且肌へ分岐 次■■肌: VAR−FLAGによる分岐” o o 
”の場合、王と21不失政へ分岐′“01′の場合、旦
y旦を二重処理へ分岐“′10”の場合21棒(兄二旦
処理へ分岐”11’“の場合1皿分虞典へ分岐 λM旦ヱニλ処理: MATCH−To−FLAGによる分岐′“0″゛の場
合、王三ヱL不失敗へ分岐L!i: VERTI CA
L−FLAGによる分岐“′0°′の場合9皿分虞隻へ
分岐 RARIをカウント・アップ (R1: −) READ−R1 処理Iへ分岐 且基旦を二■処旧: MATCH−To−FLAGによる分岐“0”の場合、
王土ヱL不失敗へ分岐 処且立: VERTI CAL−FLAGによる分岐“
0゛の場合9遍分底隻へ分岐 RAR2をカウント・アップ (R2ニー)READ−R2 処理主へ分岐 皿分威功: RARlをカウント・アップRAR2をカ
ウント・アップ 処1上へ分岐 三三グエ不底功: TRUE−FLAC; : =“1
′”ENI)−FLAG : = ”1” 丘玉秋用へ分岐 三=77(:TRUE−FLAGニー”0”END−F
LAC,ニー”1” 待1秋皿へ分岐 片方共基:起動信号ありならば、劾詐皿泣へ分岐待1状
里へ分岐 以上、ユニフィケーション処理ロジックのファームウェ
アについて、詳細に説明したが、前述したサブリストの
追加・削除等のファームウェアについても2以上のロジ
ックの類推から容易に構成できることは明らかである。
Kansaku plate pheasant: END-FLAG knee “'0°゛TRU
E-FLAG: -”0” Death 10=: (R1:=) READ-R1(R2:=
)READ-R2 CASE-FLAG branch 000"°, branch to Tama Sane L Fukai Bean "010", branch to Wang Sansu L Fufubai "001''', Wang Sansu L If it is "111", it will be branched to Ashibu Tanbo. If it is "011", it will be branched to Hisao Katsuhada.
”, branch to the King and 21 Fugoku; ``01'', branch to double processing of ``10'', 21 sticks (branch to brother 2nd processing; ``11'', 1 plate) Branch to classification λM dan ni λ processing: If branch by MATCH-To-FLAG is ``0'', branch to Wang Sane L failure L!i: VERTI CA
If the branch by L-FLAG is "0°", count up the branch RARI to 9 plates (R1: -) READ-R1 Branch to processing I and set the basic date to 2: MATCH-To-FLAG In the case of branch “0” by
Branch processing and establishment to Odo EL failure: Branching by VERTI CAL-FLAG"
If 0゛, branch to the bottom ship 9 times, count up RAR2 (R2 knee) READ-R2 Branch to the processing master, count up RAR1, count up RAR2, branch to the top of the place 1, 33 times Unsuccessful success: TRUE-FLAC; : = “1
'”ENI)-FLAG: = “1” Branch to Okatamaaki use 3 = 77 (:TRUE-FLAG knee”0”END-F
LAC, Knee "1" Branch to wait 1 autumn plate One side co-base: If there is a start signal, branch to gai lie plate cry Wait 1 branch to state ri We have explained the firmware of the unification processing logic in detail above, but as mentioned above. It is clear that firmware for adding and deleting sublists can be easily configured by analogy with two or more logics.

第9図は本発明に係るリストデータ処理装置を用いたシ
ステムの全体構成例を示している。
FIG. 9 shows an example of the overall configuration of a system using the list data processing device according to the present invention.

第9図において、90はCPUを備えた汎用計算機、9
1は主記憶装置、92は本発明に係るリストデータ処理
装置を表す。
In FIG. 9, 90 is a general-purpose computer equipped with a CPU;
1 represents a main storage device, and 92 represents a list data processing device according to the present invention.

この例では、リストデータ処理装置92を、汎用計算機
90のバックエンドプロセッサとして用いている。リス
トデータ処理装置92は、第1図に示すような演算装置
10.リストデータ格納メモリ14を備えており、リス
トデータ処理装置92と主記憶袋W91との間で、リス
トデータの授受が可能になっている。汎用計算機90は
、リストデータ処理装置92に対する起動命令等によっ
て、演算部W10を制御する。
In this example, list data processing device 92 is used as a back-end processor of general-purpose computer 90. The list data processing device 92 includes an arithmetic device 10. as shown in FIG. A list data storage memory 14 is provided, and list data can be exchanged between the list data processing device 92 and the main memory bag W91. The general-purpose computer 90 controls the calculation unit W10 by issuing a startup command to the list data processing device 92 and the like.

なお、主記憶袋M91に格納されているリストデータを
、トポロジー標準形に変換して、演算装置10が持つリ
ストデータレジスタに設定する装置等を設けることによ
り、リストデータ格納メモリ14を省略した構成とする
ことが可能である。
Note that the list data storage memory 14 can be omitted by providing a device or the like that converts the list data stored in the main memory bag M91 into a topology standard form and sets it in the list data register of the arithmetic unit 10. It is possible to do so.

また、汎用計算機90に相当するものを、リストデータ
処理装置92の内部に設け、リストデータ処理装置92
が単独で動作できるようにすることもできる。
Additionally, a device equivalent to the general-purpose computer 90 is provided inside the list data processing device 92, and the list data processing device 92
can also be made to operate independently.

〔発明の効果〕〔Effect of the invention〕

以上説明したように1本発明によれば、リストデータが
、二次元的に配置された接続セルと。
As explained above, according to one aspect of the present invention, list data is connected to connected cells arranged two-dimensionally.

次元的に配置されたアトム・セルとにより表された構造
で処理されるので、リスト処理に関するスペース効率お
よび処理効率のよい装置を実現することができるように
なる。
Since processing is performed using a structure represented by dimensionally arranged atom cells, it becomes possible to realize a device with good space efficiency and processing efficiency regarding list processing.

【図面の簡単な説明】[Brief explanation of drawings]

第1図は本発明の構成例。 第2図は本発明の実施例に係る接続セルの構成例。 第3図は本発明の実施例によるリストデータの内部表現
例。 第4図は本発明の実施例によるリストデータレジスタの
構成例。 第5図は本発明の実施例に係るサブリスト追加・抽出処
理説明図。 第6図は本発明の実施例に係るユニフィケーション処理
説明図。 第7図は本発明の実施例に係るユニフィケーション関連
ブロック図。 第8図は第7図に示すr m c pロジック説明図。 第9図は本発明の適用システムの構成例。 第10図および第11図は従来方式によるリストデータ
の格納構造の例を示す。 図中、10は演算装置、11は論理演算部、12は制御
メモリ、13a、13bはリストデータレジスタ、14
はリストデータ格納メモリ、15はXアドレスレジスタ
、16はYアドレスレジスタ、17はセル行列メモリ、
18はアトム・メモリ、C1l 〜Cnmは接続セル、
A1〜Anはアトム・セルを表す。
FIG. 1 shows a configuration example of the present invention. FIG. 2 shows an example of the configuration of a connected cell according to an embodiment of the present invention. FIG. 3 is an example of internal representation of list data according to an embodiment of the present invention. FIG. 4 shows an example of the configuration of a list data register according to an embodiment of the present invention. FIG. 5 is an explanatory diagram of sub-list addition/extraction processing according to the embodiment of the present invention. FIG. 6 is an explanatory diagram of unification processing according to an embodiment of the present invention. FIG. 7 is a unification-related block diagram according to an embodiment of the present invention. FIG. 8 is an explanatory diagram of the r m c p logic shown in FIG. 7. FIG. 9 shows an example of the configuration of a system to which the present invention is applied. FIGS. 10 and 11 show examples of list data storage structures according to the conventional method. In the figure, 10 is an arithmetic unit, 11 is a logic operation unit, 12 is a control memory, 13a and 13b are list data registers, and 14
is a list data storage memory, 15 is an X address register, 16 is a Y address register, 17 is a cell matrix memory,
18 is an atom memory, C1l to Cnm are connection cells,
A1 to An represent atom cells.

Claims (1)

【特許請求の範囲】 [1]リスト構造のデータを処理するリストデータ処理
装置において、 リストデータを格納するメモリ(14)が、リストの接
続情報を格納する接続セル(C11〜Cnm)と、リス
トの葉の情報を格納するアトム・セル(A1〜An)と
からなり、 上記接続セルは、リストの深さ方向とリスト要素の個数
方向に、二次元的に配置され、 上記アトム・セルは、リスト要素の個数方向に一次元的
に配置されたことを特徴とするリストデータ処理装置。 [2]リスト構造のデータを処理するリストデータ処理
装置において、 リストの接続情報を格納する接続セルと、リストの葉の
情報を格納するアトム・セルとからなり、上記接続セル
は、リストの深さ方向とリスト要素の個数方向に、二次
元的に配置され、上記アトム・セルは、リスト要素の個
数方向に一次元的に配置されたリストデータが設定され
るリストデータレジスタ(13a、13b)と、 これらのリストデータレジスタに設定されたデータにつ
いて、マイクロ命令によりリスト処理に関する演算を行
う論理演算部(11)と を有する演算装置(10)を備えたことを特徴とするリ
ストデータ処理装置。
[Scope of Claims] [1] In a list data processing device that processes list-structured data, a memory (14) that stores list data includes connection cells (C11 to Cnm) that store connection information of the list, and connection cells (C11 to Cnm) that store list connection information, and It consists of atom cells (A1 to An) that store leaf information, the connection cells are arranged two-dimensionally in the depth direction of the list and the direction of the number of list elements, and the atom cells are A list data processing device characterized in that the list data processing device is arranged one-dimensionally in the direction of the number of list elements. [2] A list data processing device that processes list-structured data consists of a connection cell that stores list connection information and an atom cell that stores list leaf information. List data registers (13a, 13b) are arranged two-dimensionally in the vertical direction and in the direction of the number of list elements, and the atom cells are set with list data arranged one-dimensionally in the direction of the number of list elements. A list data processing device comprising: and a logic operation unit (11) that performs operations related to list processing using microinstructions on data set in these list data registers.
JP26445988A 1988-10-20 1988-10-20 List data processor Pending JPH02110735A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP26445988A JPH02110735A (en) 1988-10-20 1988-10-20 List data processor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP26445988A JPH02110735A (en) 1988-10-20 1988-10-20 List data processor

Publications (1)

Publication Number Publication Date
JPH02110735A true JPH02110735A (en) 1990-04-23

Family

ID=17403504

Family Applications (1)

Application Number Title Priority Date Filing Date
JP26445988A Pending JPH02110735A (en) 1988-10-20 1988-10-20 List data processor

Country Status (1)

Country Link
JP (1) JPH02110735A (en)

Similar Documents

Publication Publication Date Title
CA1233269A (en) Data structure for a document processing system
US4633430A (en) Control structure for a document processing system
US4992936A (en) Address translation method and apparatus therefor
US4334269A (en) Data processing system having an integrated stack and register machine architecture
EP0148478B1 (en) A data processor with control of the significant bit lenghts of general purpose registers
JPH113269A (en) System and method for assisting accurate garbage collection by separating contents of stack into sub-stacks
US4901274A (en) Method and system for data driven information processing
Brown Issues in selective perception
Onai et al. Architecture of a reduction-based parallel inference machine: PIM-R
JPH02110735A (en) List data processor
US20210373859A1 (en) Instruction translation support method and information processing apparatus
JPH0430062B2 (en)
Dobrian et al. Oblio: a sparse direct solver library for serial and parallel computations
JP2000020318A (en) Device for reducing memory access instruction and storage medium
JP2606305B2 (en) Data processing device
JPH0721766B2 (en) FORTRAN I / O control processor
JPS63261430A (en) Method and apparatus for information processing
US20230221876A1 (en) Computational ssd accelerating deep learning service on large-scale graphs
JPH07110769A (en) Vliw type computer
JPS60134937A (en) Address extension device
Packer et al. The OPIT system I. A file-handling scheme for data in large applications programs
Peck et al. The construction of a portable editor
JP3424430B2 (en) Processor
JPH04288593A (en) Image display device
JP2705166B2 (en) Data processing device