JPS6361334A - Data processor - Google Patents

Data processor

Info

Publication number
JPS6361334A
JPS6361334A JP20541286A JP20541286A JPS6361334A JP S6361334 A JPS6361334 A JP S6361334A JP 20541286 A JP20541286 A JP 20541286A JP 20541286 A JP20541286 A JP 20541286A JP S6361334 A JPS6361334 A JP S6361334A
Authority
JP
Japan
Prior art keywords
data
list
memory
memory means
node
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
JP20541286A
Other languages
Japanese (ja)
Inventor
Masato Honma
本間 真人
Ryoichi Wada
良一 和田
Satoshi Emura
江村 里志
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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co 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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP20541286A priority Critical patent/JPS6361334A/en
Publication of JPS6361334A publication Critical patent/JPS6361334A/en
Pending legal-status Critical Current

Links

Landscapes

  • Devices For Executing Special Programs (AREA)

Abstract

PURPOSE:To attain the high speed processing by providing a first memory storing list data as the data of a table form expressed the position of a node by a vector, transferring a part of the first memory to a second memory and operating it. CONSTITUTION:List data are vector-displayed by the position and a value 32 of a node 31 and stored into the first memory 11. In the memory 11, the node to point out an element in the node of list data is extracted, a number is successively given in the length direction of a list, and an one-dimensional vector to display the position of a node to assign an item successively in the depth direction is accommodated at a Content part 41 and element data are accommodated at a value part 42 with a table form. For example, an element C is displayed by a content address 2-2-1-1. A part is transferred from the first memory 11 to the second memory 12 by a transferring means 13 and processed by an arithmetic means 14. Thus, the access to the element data and the comparison of the list are facilitated and the processing of the list data is executed at high speed.

Description

【発明の詳細な説明】 産業上の利用分野 本発明は主に人工知能分野で使用することを目的とした
データ処理装置に関するものである。
DETAILED DESCRIPTION OF THE INVENTION Field of Industrial Application The present invention relates to a data processing device primarily intended for use in the field of artificial intelligence.

従来の技術 近年、コンピュータ応用の一つとして人工知能分野が盛
んに研究されている。この分野においては構造を持った
データを処理する必要があり、そのため構造データを取
り扱うことのできる言語であるLIMPが広く使用され
ている。LISP言語は汎用のコンピュータで実行する
のは非効率であるため様々な工夫を施した専用マシンが
開発されてきた。
BACKGROUND OF THE INVENTION In recent years, the field of artificial intelligence has been actively researched as one of computer applications. In this field, it is necessary to process structured data, and therefore LIMP, a language that can handle structured data, is widely used. Since it is inefficient to execute the LISP language on a general-purpose computer, special-purpose machines with various improvements have been developed.

これら専用マシンは主に言語的側面からアプローチを行
って改善を行ったものでその改善の内容の代表的なもの
を以下に示す。
These dedicated machines were improved mainly from a linguistic perspective, and the typical improvements made are shown below.

+11  CAR,CDR等、原始的関数はマイクロプ
ログラムレベルで実行する。
+11 Primitive functions such as CAR and CDR are executed at the microprogram level.

(2)  ジェネリックデータタイプを扱うためTAG
付きデータ形式とする。
(2) TAG for handling generic data types
data format.

(3)スタック処理を高速にするためハードウェアコン
トロールスタックを設ける。
(3) Provide a hardware control stack to speed up stack processing.

(参考文献(LIMPマシン〕情報処理Vol。(References (LIMP Machine) Information Processing Vol.

23 魚8  pp752−772) 発明が解決しようとする問題点 しかしながら、前記したような言語の実行系に関する改
善はなされてきたものの、計算機内部における構造体デ
ータの表現としては基本的には要素の順序関係と結合の
方法をポインタで表現したもの(以下リストと呼ぶ)を
使用しているため次のような問題があった。
23 Fish 8 pp752-772) Problems to be Solved by the Invention However, although improvements have been made to the execution system of the language as described above, the representation of structure data inside a computer is basically based on the order of elements. Because it uses pointers (hereinafter referred to as lists) to express relationships and connections, the following problems arise.

(11個々の要素へのアクセスがリストのトップからの
リストたくりとなり非効率である。
(11) Accessing individual elements involves building the list from the top of the list, which is inefficient.

(2)  マツチング処理はリストを順次要素に分解し
て行わなければならないため時間がかかる。
(2) Matching processing takes time because it must sequentially break down the list into elements.

(3)  ガーベージコレクションが困難である。(3) Garbage collection is difficult.

本発明は上記問題点に鑑みてなされたもので、簡単な構
成で効率良くリスト処理を行うことのできるデータ処理
装置を提供するものである。
The present invention has been made in view of the above-mentioned problems, and it is an object of the present invention to provide a data processing device that can perform list processing efficiently with a simple configuration.

問題点を解決するための手段 上記問題点を解決するために本発明のデータ処理装置は
、リストデータのノードの位置をベクトルで表現した表
形式のデータとして記憶する第一のメモリ手段と、連想
メモリで構成され、上記第一のメモリ手段に蓄えられた
上記表形式のデータの一部を記憶する第二のメモリ手段
と、上記第一のメモリ手段と第二のメモリ手段との間で
データを転送する転送手段と、上記第二のメモリ手段に
蓄えられた表形式のデータを操作する演算手段とを備え
、リストデータを表形式データとして高速に処理するよ
うにしたものである。
Means for Solving the Problems In order to solve the above problems, the data processing device of the present invention includes a first memory means for storing the positions of nodes of list data as tabular data expressed in vectors, and an associative memory means. a second memory means comprising a memory and storing a portion of the tabular data stored in the first memory means; and arithmetic means for manipulating the tabular data stored in the second memory means, so that the list data can be processed at high speed as tabular data.

作用 本発明は上記した構成によって、リストデータをリスト
の長さ方向に順次番号を付は深さ方向に順次項目を割り
当てた一次元ベクトルでノードの位置を表し、その中で
要素を指しているものを抜きだして要素データと共に表
の形に展開したものに対して処理を行うもので、要素デ
ータへのアクセスやリストの比較がリストたぐりやリス
ト分解を行うことなしに実行できる。
Effect of the present invention With the above-described configuration, the list data is numbered sequentially in the length direction of the list, and the position of a node is represented by a one-dimensional vector to which items are sequentially assigned in the depth direction, and points to an element within the list data. It extracts things and processes them by expanding them into a table with element data, and allows access to element data and comparison of lists without going through lists or decomposing lists.

実施例 以下本発明の一実施例のデータ処理装置について、図面
を参照しながら説明する。第1図は本発明の一実施例に
おけるデータ処理装置の構成を示すものである。
Embodiment Hereinafter, a data processing apparatus according to an embodiment of the present invention will be described with reference to the drawings. FIG. 1 shows the configuration of a data processing device in an embodiment of the present invention.

第1図において、11はすべてのりストデータを表形式
で表現して蓄える第1メモリ手段、12は第1メモリ手
段11に蓄えられたデータの一部を記憶するために連想
メモリで構成された第2メモリ手段、13は第1メモリ
手段11と第2メモリ手段12の間で表形式データを転
送する転送手段、14は第2メモリ手段12に蓄えられ
た表形式データを操作する演算手段である。
In FIG. 1, 11 is a first memory means for expressing and storing all list data in a table format, and 12 is an associative memory for storing part of the data stored in the first memory means 11. A second memory means; 13 is a transfer means for transferring tabular data between the first memory means 11 and the second memory means 12; and 14 is an arithmetic means for operating the tabular data stored in the second memory means 12. be.

以上のように構成されたデータ処理装置について、以下
第1図、第2図、第3図および第4図を用いてその動作
を説明する。
The operation of the data processing apparatus configured as described above will be described below with reference to FIGS. 1, 2, 3, and 4.

第2図は第1メモリ手段11におけるメモリ領域の構成
、第3図はリストデータの図形表現、第4図は同データ
の第2メモリ手段12における連想メモリ内表現を示す
ものであって、第2図において21は全体のメモリ領域
、22は一つのリストが占めるリストデータ領域、第3
図において31はリストのノード、32は値、第4図に
おいて41は連想メモリのcon ten を部、42
はValue部である。連想メモリ内ではリストデータ
のノードの中で要素を指しているもののみを抜き出し、
リストの長さ方向に順次番号を付は深さ方向に順次項目
を割り当てたノードの位置を表す一次元ベクトルをco
n ten を部、要素データをvalue部とした表
形式で表される。第3図(δ)、第4図fatはリスト
データX:  (A (B (C))D)を、第3図i
bl 。
FIG. 2 shows the structure of the memory area in the first memory means 11, FIG. 3 shows the graphic representation of list data, and FIG. 4 shows the representation of the same data in the associative memory in the second memory means 12. In Figure 2, 21 is the entire memory area, 22 is the list data area occupied by one list, and 22 is the list data area occupied by one list.
In the figure, 31 is a list node, 32 is a value, in FIG.
is the Value section. In the associative memory, only those nodes in the list data that point to elements are extracted,
Sequential numbering in the length direction of the list is a one-dimensional vector representing the position of the node to which items are sequentially assigned in the depth direction.
It is expressed in a table format with n ten as a section and element data as a value section. Figure 3 (δ) and Figure 4 fat represent list data X: (A (B (C))D), Figure 3 i
bl.

第4図(blはリストデータY:  (B (C))を
それぞれ表現したもので、たとえばリストデータXの要
素N″C″ばcontent address 2−2
−1 1で表される。またリストデータX、  Yは第
2図に示すように第1メモリ手段Il内にそれぞれ連v
t領域に格納して先頭アドレスと大きさによって管理さ
れ、内部では第3図と同様の形式の表をすべて値として
持っている。
FIG. 4 (bl is a representation of list data Y: (B (C)), for example, if element N"C" of list data X is content address 2-2
−1 Represented by 1. The list data X and Y are stored in the first memory means Il as shown in FIG.
It is stored in the t area and managed by the start address and size, and internally it has a table in the same format as in FIG. 3 as all values.

+11  リストデータXの要素“B”すなわちリスト
データXのCDR部のCAR部のCAR部をアクセスす
る場合、第1メモリ手段11内のリストデータ領域21
の該当データは転送手段13によって第2メモリ手段1
2に転送され、第4図f8)に示すような連想メモリの
形式に変換して格納される。次に演算手段14は第2メ
モリ手段12に対してcontent address
 2 1−1でアクセスすると、con ten を部
41とのマツチングが行われて第2要素が取り出される
+11 When accessing element "B" of list data X, that is, the CAR part of the CAR part of the CDR part of list data
The corresponding data is transferred to the second memory means 1 by the transfer means 13.
2, and is converted into an associative memory format as shown in FIG. 4 f8) and stored. Next, the calculation means 14 inputs the content address to the second memory means 12.
When accessed at 2 1-1, content is matched with part 41 and the second element is extracted.

(2)  リストデータYを他のりストデータZと比較
する場合、同様に第1メモリ手段11内のりストデータ
領域21の両データは転送手段13によって第2メモリ
手段12に転送され、それぞれ第4図に示すような連想
メモリの形式に変換して格納される。次に演算手段14
は第2メモリ手段12内のリストデータYの各要素を順
に取り出し、それぞれのcontent addres
s部とvalue部とをセントとして第2メモリ手段1
2内のリストデータZの領域に対してアクセスし、マツ
チングを試みる。リストデータYのすべての要素に対し
てマツチングが成功した場合に両データは等しいと判定
され、−要素でも一致しない場合にはその時点で等しく
ないと判定される。
(2) When comparing the list data Y with other list data Z, both data in the list data area 21 in the first memory means 11 are similarly transferred to the second memory means 12 by the transfer means 13, respectively, as shown in FIG. It is converted and stored in the associative memory format shown in . Next, calculation means 14
sequentially takes out each element of the list data Y in the second memory means 12 and stores each content address.
The second memory means 1 stores the s part and the value part as cents.
The area of list data Z in 2 is accessed and matching is attempted. If matching is successful for all elements of list data Y, both data are determined to be equal, and if even the - element does not match, it is determined that they are not equal at that point.

またリストデータXのCADR部すなわちCDR部のC
AR部とリストデータYを比較する場合、同様にして第
1メモリ手段11内の両データは第2メモリ手段12に
第4図fal、 fblに示すような連想メモリの形式
に変換して格納される0次に演算手段14は第2メモリ
手段12内のりストデータYの各要素を順に取り出し、
それぞれのcontent address部に2−を
付加してvalue部とともに第2メモリ手段12内の
リストデータXの領域に対してアクセスして同様の判定
を下す。
Also, C of the CADR part of list data X, that is, the CDR part.
When comparing the AR section and the list data Y, both data in the first memory means 11 are similarly converted into the associative memory format as shown in FIG. 4 fal and fbl and stored in the second memory means 12. The calculation means 14 sequentially takes out each element of the list data Y in the second memory means 12,
A similar determination is made by adding 2- to each content address section and accessing the area of list data X in the second memory means 12 together with the value section.

(3)ガーベージが発生する場合、たとえばリストXの
内容が更新されて以前に第1メモリ手段11内にXの値
として占めていたリストデータ領域21が不要となった
場合は、その領域にマークを付加し、大きさを記録して
おく。第1メモリ手段11の領域不足が生した時、マー
クを付加した領域のみを取り除いて有効なリストデータ
領域を集めることでガーベージコレクションが行える。
(3) When garbage occurs, for example, when the contents of list X are updated and the list data area 21 previously occupied as the value of Add and record the size. When an area shortage occurs in the first memory means 11, garbage collection can be performed by removing only the areas to which marks have been added and collecting valid list data areas.

以上のように本実施例によれば、リストデータを表形式
で表現し、連想メモリ内に転送して演算手段で操作する
ことにより、fi+リスト内部の個々の要素に対してト
ップからのりストたぐりを行わずにノード位置をアドレ
スとして直接アクセスすることができ、(2)リストの
マツチングをリスト分解を行わずに要素の数だけ連想メ
モリにアクセスするだけで処理でき、さらにリストの一
部に対するマツチングも部分リストを取り出すことなく
アドレスの補正のみで行うことができ、(3)ガーベー
  7ジコレクシヨンを行う時に、ガーベージとなる個
々のリストはそれぞれ連続領域に格納されているので、
マーク付けのためのりストたぐりを行う必要がなく容易
にこれらを回収することができる。
As described above, according to this embodiment, list data is expressed in a table format, transferred to an associative memory, and manipulated by a calculation means, so that each element in the fi+ list can be accessed from the top. (2) List matching can be performed by simply accessing the associative memory for the number of elements without performing list decomposition, and matching on part of a list is also possible. This can be done by only correcting the addresses without extracting the partial list, and (3) Garbage When performing 7-di collection, each list that becomes garbage is stored in a continuous area, so
These can be easily collected without having to carry out a search for marks.

発明の効果 以上のように本発明はリストデータのノードの位置をベ
クトルで表現した表形式のデータとして記憶する第一の
メモリ手段と、連想メモリで構成され、前記第一のメモ
リ手段に蓄えられた上記表形式のデータの一部を記憶す
る第二のメモリ手段と、上記第一のメモリ手段と第二の
メモリ手段との間でデータを転送する転送手段と、上記
第二のメモリ手段に蓄えられた表形式のデータを操作す
る演算手段とを備えたもので、リストデータを表形式デ
ータとして処理するようにしたものであり、要素データ
へのアクセスやリストの比較がリストたぐりやリスト分
解を行うことなしに実行することができるようにしたも
のであり、高速にリストデータの処理を行うことができ
る。
Effects of the Invention As described above, the present invention comprises a first memory means for storing the positions of nodes of list data as tabular data expressed in vectors, and an associative memory, and the first memory means stores data in the first memory means. a second memory means for storing a part of the data in the tabular form; a transfer means for transferring data between the first memory means and the second memory means; It is equipped with arithmetic means for manipulating stored tabular data, and is designed to process list data as tabular data. Access to element data and comparison of lists can be performed using list traversal or list decomposition. This allows the processing of list data to be performed at high speed.

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

第1図は本発明の一実施例におけるデータ処理装置の構
成図、第2図は第1図の第1メモリ手段におけるメモリ
領域の構成図、第3図は第1メモリ手段に蓄えられるリ
ストデータの図形表現した模式図、第4図は同データの
第2メモリ手段に蓄えられる連想メモリ内表現した模式
図である。 11・・・・・・第1メモリ手段、12・・・・・・第
2メモリ手段、13・・・・・・転送手段、14・・・
・・・演算手段、41・・・・・・表形式con te
n を部、42・・・・・・表形式value部。 代理人の氏名 弁理士 中尾敏男 ほか1名cy 区  〜 q 第3図 第 4 図
FIG. 1 is a block diagram of a data processing device according to an embodiment of the present invention, FIG. 2 is a block diagram of a memory area in the first memory means of FIG. 1, and FIG. 3 is a block diagram of list data stored in the first memory means. FIG. 4 is a schematic diagram in which the same data is expressed in an associative memory stored in the second memory means. 11...First memory means, 12...Second memory means, 13...Transfer means, 14...
...Arithmetic means, 41...Tabular format conte
n is part, 42...Tabular value part. Name of agent: Patent attorney Toshio Nakao and one other person cy ward ~ q Figure 3 Figure 4

Claims (1)

【特許請求の範囲】[Claims] リストデータのノードの位置をベクトルで表現した表形
式のデータとして記憶する第一のメモリ手段と、連想メ
モリで構成され、上記第一のメモリ手段に蓄えられた上
記表形式のデータの一部を記憶する第二のメモリ手段と
、上記第一のメモリ手段と第二のメモリ手段との間でデ
ータを転送する転送手段と、上記第二のメモリ手段に蓄
えられた表形式のデータを操作する演算手段とを具備す
ることを特徴とするデータ処理装置。
It is composed of a first memory means for storing the positions of nodes of the list data as tabular data expressed in vectors, and an associative memory, and stores a part of the tabular data stored in the first memory means. a second memory means for storing; a transfer means for transferring data between the first memory means and the second memory means; and a data transfer means for manipulating tabular data stored in the second memory means. A data processing device comprising: arithmetic means.
JP20541286A 1986-09-01 1986-09-01 Data processor Pending JPS6361334A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP20541286A JPS6361334A (en) 1986-09-01 1986-09-01 Data processor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP20541286A JPS6361334A (en) 1986-09-01 1986-09-01 Data processor

Publications (1)

Publication Number Publication Date
JPS6361334A true JPS6361334A (en) 1988-03-17

Family

ID=16506416

Family Applications (1)

Application Number Title Priority Date Filing Date
JP20541286A Pending JPS6361334A (en) 1986-09-01 1986-09-01 Data processor

Country Status (1)

Country Link
JP (1) JPS6361334A (en)

Similar Documents

Publication Publication Date Title
JP3270459B2 (en) Unification system and method
JPH0128980B2 (en)
JPS6361334A (en) Data processor
JPS6361335A (en) Data processor
US6055529A (en) Method, apparatus and computer program product for extracting known patterns from a data structure in a single pass
JP2606305B2 (en) Data processing device
JPS63118943A (en) Data processor
JPS6365523A (en) Data processor
JPS63292331A (en) Data processor
JP2705166B2 (en) Data processing device
Williams A multiprocessing system for the direct execution of LISP
JPS63291127A (en) Data processor
JPS63292330A (en) Data processor
JPS6280766A (en) Graphic data retrieving device
JPS63219037A (en) Data processor
JPH0231278A (en) Data processor
JPS63276129A (en) Data processor
JPH01287745A (en) Data processor
JPH01145727A (en) Data processor
JPH02158836A (en) Data processing device
JPH0128981B2 (en)
JPH01161440A (en) Data processor
JPH1125142A (en) Method and device for registering/retrieving cad data
JPS63118942A (en) Data processor
JPS63118940A (en) Data processor