JPS6361335A - Data processor - Google Patents
Data processorInfo
- Publication number
- JPS6361335A JPS6361335A JP20541386A JP20541386A JPS6361335A JP S6361335 A JPS6361335 A JP S6361335A JP 20541386 A JP20541386 A JP 20541386A JP 20541386 A JP20541386 A JP 20541386A JP S6361335 A JPS6361335 A JP S6361335A
- Authority
- JP
- Japan
- Prior art keywords
- data
- list
- node
- memory
- list data
- 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
Links
- 239000013598 vector Substances 0.000 claims abstract description 7
- 238000010586 diagram Methods 0.000 description 4
- 238000000034 method Methods 0.000 description 4
- 238000013473 artificial intelligence Methods 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 238000000354 decomposition reaction Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 239000003795 chemical substances by application Substances 0.000 description 1
- 238000004883 computer application Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 238000000547 structure data Methods 0.000 description 1
Landscapes
- Devices For Executing Special Programs (AREA)
Abstract
Description
【発明の詳細な説明】
産業上の利用分野
本発明は主に人工知能分野へ使用することを目的とした
データ処理装置に関するものである。DETAILED DESCRIPTION OF THE INVENTION Field of Industrial Application The present invention relates to a data processing device mainly intended for use in the field of artificial intelligence.
従来の技術
近年、コンピュータ応用の一つとして人工知能分野が盛
んに研究されている。この分野においては構造を持った
データを処理する必要があり、そのため構造データを取
り扱うことのできる言語であるLISPが広く使用され
ている。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 LISP, 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.
fil CAR,CDR等、原始的関数はマイクロプ
ログラムレベルで実行する。Primitive functions such as fil 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.
(参考文献[[、ISPマシン]情報処理Vol、23
No、8 pp752−772)発明が解決しよ
うとする問題点
しかしながら、前記したような言語の実行系に関する改
善はなされてきたものの、計算機内部における構造体デ
ータの表現としては基本的には要素の順序関係と結合の
方法をポインタで表現したもの(以下リストと呼ぶ)を
使用しているため次のような問題があった。(References [[, ISP Machine] Information Processing Vol. 23
No. 8 pp. 752-772) Problems to be Solved by the Invention However, although improvements have been made regarding 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 going through 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 memory means for storing list data as tabular data in which node positions are expressed as vectors; The apparatus includes arithmetic means for manipulating the stored tabular data, and processes the list data 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図は本発明の実施例にお
けるデータ処理装置の構成を示すものである。第1図に
おいて、11はすべてのりストデータを表形式で表現し
て蓄えるメモリ手段、12はメモリ手段11に蓄えられ
た表形式データを操作する演算手段である。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. In FIG. 1, 11 is a memory means for expressing and storing all list data in a tabular format, and 12 is an arithmetic means for operating the tabular data stored in the memory means 11.
以上のように構成されたデータ処理装置について、以下
第1図、第2図、第3図、及び第4図を用いてその動作
を説明する。The operation of the data processing apparatus configured as described above will be explained below with reference to FIGS. 1, 2, 3, and 4.
第2図は第1メモリ手段11におけるメモリ領域の構成
、第3図はリストデータの図形表現、第4図は同データ
のメモリ手段11におけるメモリ内表現を示すものであ
って、第2図において21は全体のメモリ領域、22は
一つのリストが占めるリストデータ領域、第3図におい
て31はリストのノード、32は値、第4図において4
1はメモリ内リストデータのcon ten を部、4
2はvalue部である。メモリ内ではリストデータの
ノードの中で要素を指しているもののみを抜き出し、リ
ストの長さ方向に順次番号を付は深さ方向に順次項目を
割り当てたノードの位置を表す一次元ベクトルをcon
ten を部、要素データをvalue部とした表形
式で表される。第3図(a)、第4図(alはリストデ
ータX: (A (B (C))D)を、第3図(b
)、第4図(1))はりストデータY: (B CC
”) )をそれぞれ表現したもので、例えばリストデー
タXの要素”C′はcontent address
2−2 1 1で表される。またリストデータX、Y
は第2図に示すようにメモリ手段11内にそれぞれ連続
領域に格納して先頭アドレスと大きさによって管理され
、内部では第3図と同様の形式の表をすべて値として持
っている。FIG. 2 shows the structure of the memory area in the first memory means 11, FIG. 3 shows a graphical representation of list data, and FIG. 4 shows an in-memory representation of the same data in the memory means 11. 21 is the entire memory area, 22 is the list data area occupied by one list, 31 is the list node in FIG. 3, 32 is the value, and 4 is the list data area in FIG. 4.
1 is the content of list data in memory, 4
2 is a value section. In memory, only those nodes in the list data that point to elements are extracted, and numbers are added sequentially in the length direction of the list, and con 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 ten as a section and element data as a value section. Figure 3(a), Figure 4 (al is list data X: (A (B (C))D), Figure 3(b)
), Figure 4 (1)) Beam strike data Y: (B CC
”) ), for example, element “C’ of list data X is content address
It is expressed as 2-2 1 1. Also list data X, Y
As shown in FIG. 2, they are stored in consecutive areas in the memory means 11 and managed by the start address and size, and internally they all have a table in the same format as FIG. 3 as values.
(1) リストデータXの要素”B”すなわちリスト
データXのCDR部のCAR部のCAR部をアクセスす
る場合、演ゴγ手段12はメモリ手段11内のりストデ
ータ領域21のcontentaddress 2
]、 1とのマツチングが行われて第2要素が取り出
されることに、より実行される。(1) When accessing element "B" of list data X, that is, the CAR part of the CDR part of list data
], 1 is performed and the second element is extracted.
(2) リストデータYを他のりストデータZと比較
する場合、演算手段12はメモリ手段11内のリストデ
ータYの各要素を順に取り出し、それぞれのconte
nt address部とvalue部とをセットとし
てメモリ手段11内のりストデータZの領域に対してア
クセスし、マツチングを試みる。(2) When comparing the list data Y with other list data Z, the calculation means 12 sequentially takes out each element of the list data Y in the memory means 11 and compares each content
The nt address section and the value section are used as a set to access the area of the list data Z in the memory means 11 and attempt matching.
リストデータYのすべての要素に対してマツチングが成
功した場合に両データは等しいと判定され、−要素でも
一致しない場合にはその時点で等しくないと判定される
。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部
のCAR部とリストデータYを比較する場合、演算手段
12はメモリ手段11内のリストデータYの各要素を順
に取り出し、それぞれのcontent addres
s部に2−を付加してva lue部とともにメモリ手
段11内のリストデータXの領域に対してアクセスして
同様の判定を下す。Further, when comparing the CADR part of list data
A similar determination is made by adding 2- to the s part and accessing the list data X area in the memory means 11 together with the value part.
(3) ガーヘージが発生する場合、例えばリストX
の内容が更新されて以前にメモリ手段11内にXの値と
して占めていたリストデータ領域21が不要となった場
合は、その領域にマークを付加し、大きさを記録してお
く、第1メモリ手段11の領域不足が生じた時、マーク
を付加した領域のみを取り除いて有効なりストデータ領
域を集めることでガーベージコレクションが行える。(3) If garhage occurs, for example, list
When the contents of the list data area 21 previously occupied as the value of When the memory means 11 runs out of space, garbage collection can be performed by removing only the marked areas and collecting valid data areas.
以上のように本実施例によれば、リストデータを表形式
で表現し、メモリ内に蓄え、そのデータに対して演算手
段で操作することにより、(11リスト内部の個々の要
素に対してトップからのりストたぐりを行わずにノード
位置を直接アクセスすることができ、(2)リストのマ
ツチングをリスト分解を行わずに要素の数だけ比較操作
を行うだけで処理でき、さらにリストの一部に対するマ
ツチングも部分リストを取り出すことなくデータの一部
補正のみで行うことができ、(3)ガーベージコレクシ
ョンを行う時に、ガーベージとなる個々のリストはそれ
ぞれ連続領域に格納されているので、マーク付けのため
のリストたぐりを行う必要がなく容易にこれらを回収す
ることができる。As described above, according to this embodiment, by expressing list data in a table format, storing it in memory, and manipulating the data with arithmetic means, (11) It is possible to directly access the node position without performing a search from the list, and (2) it is possible to perform list matching by simply performing a comparison operation for the number of elements without list decomposition, and it is also possible to perform matching on a part of the list. (3) When garbage collection is performed, each list that becomes garbage is stored in a contiguous area, so it is possible to perform marking without extracting the partial list. These can be easily collected without having to go through the list.
発明の効果
以上のように本発明はリストデータをノーどの位置をベ
クトルで表現した表形式のデータとして記t9するメモ
リ手段と、該メモリ手段に蓄えられた上記表形式のデー
タを操作する演算手段とを備えたもので、リストデータ
を表形式データとして処理するようにしたものであり、
要素データへのアクセスやリストの比較がリストたぐり
やリスト分解を行うことなしに実行することができるよ
うにしたものであり、高速にリストデータの処理を行う
ことができる。Effects of the Invention As described above, the present invention provides a memory means for recording list data as tabular data in which positions of nodes are expressed as vectors, and an arithmetic means for manipulating the tabular data stored in the memory means. It is designed to process list data as tabular data.
This allows access to element data and comparison of lists without performing list traversal or list decomposition, allowing list data to be processed at high speed.
第1図は本発明の一実施例におけるデータ処理装置の構
成図、第2図は第1図の第1メモリ手段におけるメモリ
領域の構成図、第3図は第1メモリ手段に蓄えられるリ
ストデータの図形表現した模式図、第4図は同データの
第2メモリ手段に蓄えられる連想メモリ内表現した模式
図である。
11・・・・・・メモリ手段、12・・・・・・演算手
段、41・・・・・・表形式con ten を部、4
2・・・・・・表形式value部。
代理人の氏名 弁理士 中尾敏男 はか1名第1図
第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...Memory means, 12...Calculation means, 41...Table format content, 4
2...Tabular value section. Name of agent: Patent attorney Toshio Nakao (1 person) Figure 1 Figure 3 Figure 4
Claims (1)
式のデータとして記憶するメモリ手段と、上記メモリ手
段に蓄えられた上記表形式のデータを操作する演算手段
とを具備することを特徴とするデータ処理装置。Data processing characterized by comprising memory means for storing list data as tabular data representing node positions in vectors, and arithmetic means for manipulating the tabular data stored in the memory means. Device.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP20541386A JPS6361335A (en) | 1986-09-01 | 1986-09-01 | Data processor |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP20541386A JPS6361335A (en) | 1986-09-01 | 1986-09-01 | Data processor |
Publications (1)
Publication Number | Publication Date |
---|---|
JPS6361335A true JPS6361335A (en) | 1988-03-17 |
Family
ID=16506434
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP20541386A Pending JPS6361335A (en) | 1986-09-01 | 1986-09-01 | Data processor |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPS6361335A (en) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS60160444A (en) * | 1984-02-01 | 1985-08-22 | Hitachi Ltd | List processing method |
-
1986
- 1986-09-01 JP JP20541386A patent/JPS6361335A/en active Pending
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS60160444A (en) * | 1984-02-01 | 1985-08-22 | Hitachi Ltd | List processing method |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Courtial et al. | A co-word study of artificial intelligence | |
JP3270459B2 (en) | Unification system and method | |
JP2977260B2 (en) | Information presentation device | |
JPS6361335A (en) | Data processor | |
JPS6361334A (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 | |
JPS6219940A (en) | High-speed processing system for inference | |
JP2792270B2 (en) | Search device | |
JPS6365523A (en) | Data processor | |
JPS63291127A (en) | Data processor | |
JP2705166B2 (en) | Data processing device | |
JPS63118943A (en) | Data processor | |
JPS6325774A (en) | Information registering/retrieving device | |
JPH01145727A (en) | Data processor | |
JPH01287745A (en) | Data processor | |
JPS63292330A (en) | Data processor | |
JPH0231278A (en) | Data processor | |
JPH02158836A (en) | Data processing device | |
JPH01161440A (en) | Data processor | |
JPH0215332A (en) | Data processor | |
JPS63276129A (en) | Data processor | |
JPH0128981B2 (en) | ||
JPH03256124A (en) | Method for executing logical type language program | |
JP3018579B2 (en) | Name search processor |