JPS63292333A - Data processor - Google Patents

Data processor

Info

Publication number
JPS63292333A
JPS63292333A JP12930587A JP12930587A JPS63292333A JP S63292333 A JPS63292333 A JP S63292333A JP 12930587 A JP12930587 A JP 12930587A JP 12930587 A JP12930587 A JP 12930587A JP S63292333 A JPS63292333 A JP S63292333A
Authority
JP
Japan
Prior art keywords
data
list
list data
register
sub
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
JP12930587A
Other languages
Japanese (ja)
Inventor
Toshio Shimizu
敏夫 清水
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 JP12930587A priority Critical patent/JPS63292333A/en
Publication of JPS63292333A publication Critical patent/JPS63292333A/en
Pending legal-status Critical Current

Links

Abstract

PURPOSE:To efficiently perform the arithmetic processing by storing the list length, as well of newly appearing table format list data in a main storage device as one item of list data. CONSTITUTION:Table format data where list data and the list structure are expressed with vectors using positions of respective elements is stored in a main storage device 1. In the case of processing of list data, list data is transferred to a structure data register 2 in a structure data arithmetic unit 5, and simultaneously, respective elements of list data are transferred to element registers 7 of each auxiliary arithmetic unit 10 independently of one another by a transfer device 6. When the structure data register 2 is subjected to operation, corresponding element registers 7 are subjected to required operation simultaneously, and the list data length is calculated by a list data length calculating means 4 in accordance with the list structure due to operation results to update a list data length area 22 of list data in the structure data register 2. Thus, the list data operation is efficiently performed.

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が広く使用され
ている。しかし。
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. but.

LISP言語は汎用のコンピュータで実行するのは非効
率であるため様々な工夫を施した専用マシンが開発され
てきた。
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 by approaching the language aspect, and the typical improvements made are shown below.

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

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

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

(参考文献rL I SP?シフJ情報処理Vo1.2
3N181)9752−772) しかしながら、前記したような言語の実行系に関する改
善はなされてきたものの、計算機内部における構造体デ
ータの表現としては基本的には要素の順序関係と結合の
方法をポインタで表現したもの(以下リストと呼ぶ)を
使用している。
(References rL I SP? Schiff J Information Processing Vol. 1.2
3N181) 9752-772) However, although improvements have been made to the execution system of the language as described above, the representation of structure data inside a computer basically uses pointers to represent the order of elements and the method of connection. (hereinafter referred to as the list).

この方法では全てのリスト操作にポインタを逐次たどっ
ていく操作を伴うため、人工知能分野の応用プログラム
に頻繁に現れる以下の操作を行うには本質的に効率が悪
い。
In this method, all list operations involve sequentially following the pointer, so it is essentially inefficient for performing the following operations that frequently appear in application programs in the field of artificial intelligence.

* パターンマツチング リストの分解操作を伴うため非効率である。*Pattern matching It is inefficient because it involves list decomposition.

本 任意の要素へのアクセス、リストの分解。Book Access to arbitrary elements, decomposition of lists.

特定要素の置き換えリストたぐりとなり効率が悪い。This results in a list of replacements for specific elements, which is inefficient.

上記の問題点を解決するために、リストデータの表現方
法をかえる提案がなされている。
In order to solve the above problems, proposals have been made to change the method of expressing list data.

一般に、2進木リストは始点のノードから始まって順次
左右に分岐して行き葉のノードでそれぞれの分岐が終了
する形をとる0葉のノードにはアトムノードとNILノ
ードの2種類がある。′!Jのノードでないノードは分
岐が続行していることを示すリストノードである。この
リストノードは葉のノードの位置を間接的にあられすた
めのものである。
In general, a binary tree list starts from a starting node, branches left and right sequentially, and each branch ends at a leaf node. There are two types of 0-leaf nodes: atom nodes and NIL nodes. ′! Nodes other than J's nodes are list nodes indicating that the branch is continuing. This list node is used to indirectly indicate the position of the leaf node.

ポインタ表現ではこの構造表現をそのままの形で全ての
ノードをアドレスで接続したセルで表現している。この
結果、各要素へのアクセスには常にアドレスの間接参照
の繰り返しが必要となっている。
In the pointer representation, this structural representation is expressed as is by cells in which all nodes are connected by addresses. As a result, access to each element always requires repeated indirect references to the address.

しかし、葉のノードの位置を直接的にあられすことがで
きれば、リストノードの情報を持つ必要はない、したが
って、葉の位置情報と葉自身の情報を順次並べた表で、
等価なリストデータを表現することができる0葉のノー
ド位置を表現する方法として長さ方向に順次番号を付け
、深さ方向に順次項目を割り当てた一次元ベクトル表現
が提案されている。したがって、リストデータは葉の位
置情報を示すベクトルと葉自身の情報を組としたデータ
の集合で表現される。この表現法ではポインタ表現のよ
うにリストの解釈を2進木リストに限る必要がない。
However, if you can directly determine the position of a leaf node, there is no need to have list node information. Therefore, in a table that sequentially arranges leaf position information and leaf information,
A one-dimensional vector representation in which numbers are sequentially assigned in the length direction and items are sequentially assigned in the depth direction has been proposed as a method for expressing the node position of the 0th leaf that can represent equivalent list data. Therefore, the list data is expressed as a set of data that includes a vector indicating leaf position information and information about the leaf itself. With this representation method, there is no need to limit the interpretation of a list to a binary tree list, as is the case with pointer representations.

第5図にリストデータの表現例を示す、これは8式で表
記した場合(A (B (C) ’) D)となるリス
トデータの図式表現(1)、および表形式表現(2)を
示したものである0図式表現において丸印はリストノー
ドを表し、四角で囲ったものは葉のノードを示している
。また各ノードの上に付記した数字列は上記した方法に
したがって表したノード位置を示すものである。この葉
の部分を抜きだして表の形で表現したものが表形式表現
(2)であって、ADDRIESS部にノード位置ベク
トルが、VALUE部に葉の要素が入った表で構成され
ている。このような表現形式をとることにより、リスト
データをポインタをたぐることな(各要素に対し並列に
処理することが可能になり、前述の操作を高速に行うこ
とができる。
Figure 5 shows an example of the expression of list data, which shows the graphical expression (1) and tabular expression (2) of list data, which becomes (A (B (C) ') D) when expressed in 8 formulas. In the diagrammatic representation shown, circles represent list nodes, and squares represent leaf nodes. Further, the number string added above each node indicates the node position expressed according to the above-described method. The tabular representation (2) is a table representation (2) in which this leaf part is extracted and is made up of a table in which the ADDRESS section contains the node position vector and the VALUE section contains the leaf elements. By adopting such an expression format, it is possible to process list data in parallel for each element without passing through pointers, and the above-mentioned operations can be performed at high speed.

以下図面を参照しながら、この表現に基づいた従来のデ
ータ処理装置の一例について説明する。
An example of a conventional data processing device based on this expression will be described below with reference to the drawings.

第6図は従来例におけるデータ処理装置の一構成を示す
図である。
FIG. 6 is a diagram showing the configuration of a conventional data processing device.

第6図において、1は主記憶装置、61はレジスタ、6
2は演算手段であり、主演算装置63は複数のレジスタ
61と演算手段62の総称である。
In FIG. 6, 1 is the main memory, 61 is a register, 6
2 is an arithmetic means, and the main arithmetic unit 63 is a general term for the plurality of registers 61 and the arithmetic means 62.

6は転送装置である。7は要素レジスタ、8は副記憶装
置、9は要素演算手段である。副演算装置lOは複数の
要素レジスタ7、副記憶装置8および要素演算手段9の
総称であり複数個存在する。
6 is a transfer device. 7 is an element register, 8 is a sub-storage device, and 9 is an element calculation means. The sub-processing unit IO is a general term for a plurality of element registers 7, sub-storage devices 8, and element calculation means 9, and a plurality of sub-processing units 1O exist.

また、第7図は従来のリストデータの基本形を示す。第
7図において、21はデータタイプがリストデータであ
ることを示すタグ領域、23は表形式で表現された実際
のリスト構造データへのポインタ領域である。
Further, FIG. 7 shows the basic form of conventional list data. In FIG. 7, 21 is a tag area indicating that the data type is list data, and 23 is a pointer area to actual list structure data expressed in table format.

以上のように構成されたデータ処理装置について、以下
その動作を説明する。リストデータは、第7図の形で主
記憶装置1に格納されており、処理が必要な場合には、
主記憶装置1から主演算袋M63のレジスタ61にロー
ドされる。リストデータの各要素は要素別に副演算装置
lOに転送装置7により転送され、並列に処理される。
The operation of the data processing apparatus configured as described above will be described below. The list data is stored in the main storage device 1 in the form shown in FIG. 7, and if processing is required,
It is loaded from the main memory device 1 into the register 61 of the main operation bag M63. Each element of the list data is transferred element by element to the sub-processing unit IO by the transfer device 7 and processed in parallel.

実行すべき演算命令は主記憶装置1に格納されている。Arithmetic instructions to be executed are stored in the main memory 1.

演算手段62と要素演算手段9は主記憶装置lから転送
された演算命令を実行する。たとえば、LISP言語の
基本関数であり、しばしば使用される関数APPEND
 (リストの結合)と関数REVEPSE(リストの反
転)というリスト演算を取り上げて考える。
The arithmetic means 62 and the element arithmetic means 9 execute the arithmetic instructions transferred from the main memory l. For example, the function APPEND, which is a basic function of the LISP language and is often used,
Let us consider list operations such as (combining lists) and the function REVEPSE (reversing lists).

まずくAPPEND’  (ABC)’  (DB(F
)))を実行する場合を考える。?!数のレジスタ61
のある一つのレジスタ#1に(A13C)に関するリス
トデータが、別のレジスタ#2に(DB(F))に関す
るリストデータが格納される。リスト(ABC)、(D
B (F))の要素については、複数の副演算装置10
のある副演算装置#1の複数の要素レジスタ7のある要
素レジスタ#11に要素Aに別の要素レジスタ外12に
Dが格納され14下副演算装置#2の要素レジスタ#2
1にB、要素レジスタ#22にE、副演算装置#3の要
素レジスタ#31に01要素レジスタ#32にFがそれ
ぞれ格納されている。へPPI!NO関数は表形式表現
においては、第2引数の先!IADDRESS部に第1
引数のリストデータ長を加えて得られた表形式と第1引
数の表形式をマージすることにより実行される。すなわ
ち、演算手段62と要素演算手段9による^PPIIN
D操作の結果のリストデータがレジスタ#lに格納され
、複数の副演算装置10のある副演算装置#lの複数の
要素レジスタ7の要素レジスタ#ll〜#13までは実
行前と同じで、要素レジスタ#14に要素りが格納され
、以下要素レジスタ#15にE、要素レジスタ#16に
Fがそれぞれ格納される。
Bad APPEND'(ABC)' (DB(F
))). ? ! number register 61
List data related to (A13C) is stored in one register #1, and list data related to (DB(F)) is stored in another register #2. List (ABC), (D
For the elements of B (F)), a plurality of sub-processing units 10
Element A is stored in a certain element register #11 of a plurality of element registers 7 of a certain sub-processing unit #1, and D is stored in another element register outside 12.
1 is stored in B, E is stored in element register #22, 0 is stored in element register #31 of sub-processing unit #3, and F is stored in element register #32. To PPI! In the tabular representation, the NO function goes beyond the second argument! 1st in IADDRESS department
This is executed by merging the table format obtained by adding the list data length of the argument and the table format of the first argument. That is, ^PPIIN by the calculation means 62 and the element calculation means 9
The list data of the result of the D operation is stored in register #l, and element registers #ll to #13 of the plurality of element registers 7 of sub-processing device #l, which has a plurality of sub-processing devices 10, are the same as before execution, Element 1 is stored in element register #14, E is stored in element register #15, and F is stored in element register #16.

つぎに命令(REVER3E’  (ABC))を実行
する場合を考える。複数のレジスタ61のある一つのレ
ジスタ#1に(ABC)に関するリストデータが格納さ
れる。リスト(ABC)の要素については、複数の副演
算装置10のある副演算装置#lの複数の要素レジスタ
7のある要素レジスタ#11に要素Aに格納され、以下
副演算装置#2の要素レジスタ#21にB、副演算装置
#3の要素レジスタ#31にCがそれぞれ格納されてい
る。 REVER5E関数は引数の先頭ADDR[!S
S99部ニラ2の補数をとり、さらに引数の(リストデ
ータ長+1)を加える操作として演算手段62と要素演
算手段9により実行される。
Next, consider the case where the command (REVER3E' (ABC)) is executed. List data regarding (ABC) is stored in one register #1 of the plurality of registers 61. The elements of the list (ABC) are stored as element A in element register #11, which has a plurality of element registers 7, of sub-processing unit #l, which has a plurality of sub-processing units 10, and thereafter in the element register of sub-processing unit #2. B is stored in #21, and C is stored in element register #31 of sub-processing unit #3. The REVER5E function starts with ADDR[! S
The S99 part is executed by the calculation means 62 and the element calculation means 9 as an operation of taking the two's complement number and adding the argument (list data length+1).

コノヨうに関数APPEND、REVEPSEを実行す
るには、引数のリストデータ長を計算する必要がある。
In order to execute the functions APPEND and REVEPSE, it is necessary to calculate the length of the argument list data.

発明が解決しようとする問題点 しかしながら上記のような構成では、たとえばLISP
言語の基本関数であるAPPIIZNDとREVER3
Eのような命令を実行するときには、常に引数のリスト
データ長を計算により求めるという処理が必要であるの
で、処理効率の上でボトルネックが発生するという問題
点を有していた。
Problems to be Solved by the Invention However, with the above configuration, for example, LISP
APPIIZND and REVER3, which are the basic functions of the language
When executing an instruction such as E, it is necessary to always calculate the argument list data length, which poses a problem in that a bottleneck occurs in terms of processing efficiency.

本発明は上記問題点に濫み、表形式で表現されたリスト
データに対するLISP言語でのAPPEND、REV
ER3Bといった演算処理において処理効率のよいデー
タ処理装置を提供するものである。
The present invention solves the above-mentioned problems, and solves the problems described above.
The present invention provides a data processing device with high processing efficiency in arithmetic processing such as ER3B.

問題点を解決するための手段 上記問題点を解決するために本発明のデータ処理装置は
、リストデータを各要素の位置を用いたベクトルで表現
した表形式のデータとして記憶する主記憶装置と、リス
トデータを記憶する複数の構造データレジスタとリスト
データに対して演算を行う構造データ演算手段とリスト
データに対してリスト長を演算するリストデータ長演算
手段からなる構造データ演算装置と、表形式のリストデ
ータの各要素を記憶する複数の要素レジスタと要素に対
して演算を行う要素演算手段と副記憶装置を備え、前記
構造データ演算装置の制御のもとに表形式のリストデー
タの各要素を並列に処理する複数個の副演算装置と、前
記各副演算装置に対し前記主記憶装置に蓄えられた表形
式データの要素を順次割り当てる転送装置という構成を
備えたものである。
Means for Solving the Problems In order to solve the above problems, the data processing device of the present invention includes a main storage device that stores list data as tabular data expressed in vectors using the position of each element; A structured data calculation device includes a plurality of structured data registers that store list data, structured data calculation means that performs calculations on the list data, list data length calculation means that calculates the list length for the list data, and a table-format It is equipped with a plurality of element registers for storing each element of list data, an element calculation means for performing calculations on the elements, and a sub-storage device, and each element of the list data in tabular form is stored under the control of the structure data calculation device. The apparatus includes a plurality of sub-processing units that perform parallel processing, and a transfer unit that sequentially allocates elements of the tabular data stored in the main memory to each of the sub-processing units.

作用 本発明は上記した構成によって、新たに出現する表形式
のリストデータに対してはそのリスト長を演算し、リス
ト演算対象となる構造データレジスタ上のリストデータ
に対しても演算実行後のリスト長を演算し、リスト長も
リストデータの1項目として主記憶装置に記憶しておく
ことにより、LISP言語でのAPPEND、REVE
R3Eといったリスト演算処理を効率よく行えることと
なる。
Operation With the above-described configuration, the present invention calculates the list length of newly appearing list data in table format, and also calculates the list length after the calculation is performed on the list data on the structured data register that is the target of the list calculation. By calculating the list length and storing the list length in the main memory as one item of list data, APPEND and REVE in the LISP language can be easily performed.
List calculation processing such as R3E can be performed efficiently.

実施例 以下本発明の一実施例のデータ処理装置について、図面
を参照しながら説明する。第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図において、1は主記憶装置、2は構造データレジ
スタ、3は構造データ演算手段、4はリストデータ長演
算手段、5は構造データ演算装置で、複数の構造データ
レジスタ2と構造データ演算手段3の総称である。6は
転送装置、7は要素レジスタ、8は副記憶装置、9は要
素演算手段、lOは副演算装置で要素レジスタ7、副記
憶装置8および要素演算手段9の総称である。
In FIG. 1, 1 is a main memory, 2 is a structured data register, 3 is a structured data calculation means, 4 is a list data length calculation means, and 5 is a structured data calculation device, which operates with a plurality of structured data registers 2 and structured data. This is a general term for means 3. Reference numeral 6 denotes a transfer device, 7 an element register, 8 a sub-storage device, 9 an element operation means, and 1O a sub-operation device, which is a general term for the element register 7, the sub-storage device 8 and the element operation means 9.

第2図は取り扱うリストデータの基本形を示したもので
ある。21はタグ領域、22はリストデータ長M域、2
3はポインタ領域である。タグ領域21はデータタイプ
がリストデータであることを示し、リストデータ長領域
22はそのリストデータのリスト長を示し、ポインタ領
域23は表形式で表現された実際のリスト構造データへ
のポインタを格納する。
FIG. 2 shows the basic form of list data handled. 21 is a tag area, 22 is a list data length M area, 2
3 is a pointer area. The tag area 21 indicates that the data type is list data, the list data length area 22 indicates the list length of the list data, and the pointer area 23 stores a pointer to the actual list structure data expressed in table format. do.

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

リストデータの処理は、構造データ演算装置5と副演算
装置lGによって行われる。構造データ演算装置5の一
つの構造データレジスタ2に対し、各副演算装置10内
の要素レジスタ7の一つが対応する。すなわち、構、造
データレジスタ2内にリストデータが格納され、対応す
る複数の要素レジスタ7内にリストデータの各要素が格
納され、全体で一つのリストデータを表現している。
Processing of the list data is performed by the structured data calculation device 5 and the sub-processing device 1G. One structure data register 2 of the structure data calculation device 5 corresponds to one of the element registers 7 in each sub-processing device 10. That is, list data is stored in the structural data register 2, and each element of the list data is stored in a plurality of corresponding element registers 7, representing one list data as a whole.

主記憶装置lにはリストデータとリスト構造を各要素の
位置を用いたベクトルで表現した表形式のデータが記憶
されている。リストデータが処理される場合、まず構造
データ演算装置5内の構造データレジスタ2にリストデ
ータが転送され、それと同時にリストデータの各要素が
転送装!6により各副演算!JfIOの要素レジスタ7
に対し別々に転送される。そして構造データレジスタ2
に対し演算が施されると、対応する要素レジスタ7に対
し必要な演算が同時に施されると共に、演算結果から生
じるリスト構造から、リストデータ長演算手段4により
リストデータ長を演算し、構造データレジスタ2のリス
トデータのリストデータ長領域22を更新する。
The main storage device l stores list data and tabular data in which the list structure is expressed as a vector using the position of each element. When list data is processed, the list data is first transferred to the structured data register 2 in the structured data calculation device 5, and at the same time each element of the list data is transferred to the structured data register 2 in the structured data calculation device 5. Each sub-operation by 6! JfIO element register 7
are transferred separately. and structure data register 2
When the operation is performed on the corresponding element register 7, the necessary operation is simultaneously performed on the corresponding element register 7, and the list data length calculation means 4 calculates the list data length from the list structure generated from the operation result, and the structure data The list data length area 22 of the list data in the register 2 is updated.

第3図は上記実施例においてLISP関数APPEND
を取り上げ (APPEND’  (ABC) ’  (DE (F
) ) )を実行したときの動作を示す、複数の構造デ
ータレジスタ2のある一つの構造データレジスタ#lに
(ABC)に関するリストデータが、別の構造データレ
ジスタ#2に(DB (F)) に関するリストデータ
が格納される。リスト(ABC)。
Figure 3 shows the LISP function APPEND in the above embodiment.
Take up (APPEND' (ABC) ' (DE (F
) List data related to (ABC) in one structure data register #l of multiple structure data registers 2, which indicates the operation when executing ) ) ), is stored in another structure data register #2 (DB (F)). List data related to is stored. List (ABC).

(DB (F))の要素については、複数の副演算装置
lOのある副演算装置#lの複数の要素レジスタ7のあ
る要素レジスタ#11に要素Aに別の要素レジスタ#1
2にDが格納され、以下副演算装置#2の要素レジスタ
#21にB、要素レジスタ#22にE1副演算装冨#3
の要素レジスタ#31に01要素レジスタ#32にFが
それぞれ格納されている。関数APPENDは第1引数
のリストデータが格納されている構造データレジスタ#
lのリストデータ長領域22から得られるリストデータ
長を第2引数のリストデータの表現における先頭ADD
RESS部に加え、その後各々の表現をマージすること
により実行される。すなわち、構造データ演算手段3と
要素演算手段9によるAPPEND操作の結、果の更新
されたリストデータ長領域22を持つリストデータが構
造データレジスタ#1に格納され、複数の副演算装置l
Oのある副演算装置#1の複数の要素レジスタ7の要素
レジスタ#11〜#13までは実行前と同じで、要素レ
ジスタ#14に要素りが格納され、以下要素レジスタ#
15にE、要素レジスタ#16にFがそれぞれ格納され
る。この表現を8式で示すと (ABCDE (F)) となり、関数APPENDが実行されたことになる。
For the elements of (DB (F)), element register #11 with multiple element registers 7 of sub-processing unit #l with multiple sub-processing units 10, and element register #1 with element A
D is stored in element register #2 of sub-processing unit #2, B is stored in element register #22 of sub-processing unit #2, and E1 is stored in element register #22 of sub-processing unit #3.
0 is stored in element register #31 and F is stored in element register #32. The function APPEND uses the structure data register # that stores the list data of the first argument.
The list data length obtained from the list data length area 22 of l is the first ADD in the list data expression of the second argument.
This is done by adding the RESS part and then merging each representation. That is, as a result of the APPEND operation by the structure data calculation means 3 and the element calculation means 9, the list data having the updated list data length area 22 is stored in the structure data register #1, and the list data having the updated list data length area 22 is stored in the structure data register #1, and the result is stored in the structure data register #1.
Element registers #11 to #13 of the plurality of element registers 7 of sub-processing unit #1 with O are the same as before execution, the element register is stored in element register #14, and the following element registers #1
E and F are stored in element register #15 and element register #16, respectively. If this expression is expressed using equation 8, it becomes (ABCDE (F)), which means that the function APPEND has been executed.

第4図は上記実施例においてLISP関数REVER3
Eを取り上げ (R[!VER3E ’  (AI3C) )を実行し
たときの動作を示す、複数の構造データレジスタ2のあ
る一つの構造データレジスタ#1に(ABC)に関する
リストデータが格納される。
Figure 4 shows the LISP function REVER3 in the above example.
List data regarding (ABC) is stored in one structure data register #1 of the plurality of structure data registers 2, which indicates the operation when E is taken and (R[!VER3E' (AI3C)) is executed.

リス) (ABC)の要素については、複数の副演算装
置10のある副演算装置#1の複数の要素レジスタ7の
ある要素レジスタ#11に要素人に格納され、以下副演
算装置#2の要素レジスタ#21に81副演算装置#3
の要素レジスタ#31にCがそれぞれ格納されている。
The elements of (ABC) are stored in the element register #11, which has the plurality of element registers 7, of the sub-processing device #1, which has the plurality of sub-processing devices 10, and are stored as elements in the element register #11, which has the plurality of element registers 7 of the sub-processing device #1, which has the plurality of sub-processing devices 10. 81 sub-processing unit #3 in register #21
C is stored in each element register #31.

関数REνI!R3Eは引数のリストデータの表現にお
ける先頭ADDRESS部の2の補数を取り、さらにリ
ストデータが格納されている構造データレジスタ#1の
リストデータ長領域22から得られる(リストデータ長
+1)を加える操作として構造データ演算手段3と要素
演算手段9により実行される。得られた表現を8式で示
すと (CB A) となり、関数REVER3Eが実行されたことになる。
Function REνI! R3E is an operation that takes the two's complement of the first ADDRESS part in the expression of the list data of the argument and further adds (list data length + 1) obtained from the list data length area 22 of structure data register #1 where list data is stored. This is executed by the structure data calculation means 3 and the element calculation means 9 as follows. When the obtained expression is expressed by Equation 8, it becomes (CB A), which means that the function REVER3E has been executed.

発明の効果 以上のように本発明は、リストデータを各要素の位置を
用いたベクトルで表現した表形式のデータとして記憶す
る主記憶装置と、リストデータを記憶する複数の構造デ
ータレジスタとリストデータに対して演算を行う構造デ
ータ演算手段とリストデータに対してリスト長を演算す
るリストデータ長演真手段からなる構造データ演算装置
と、表形式のリストデータの各要素を記憶する複数の要
素レジスタと要素に対して演算を行う要素演算手段と副
記憶装置を備え、前記構造データ演算装置の制御のもと
に表形式のリストデータの各要素を並列に処理する複数
個の副演算装置と、前記各副演算装置に対し前記主記憶
装置に蓄えられた表形式データの要素を順次割り当てる
転送装置とを備えることにより、各要素を同時に処理し
、LISP言語でのAPPEND、REVEPSEとい
ったリストデータ操作を効率よく行えることとなる。
Effects of the Invention As described above, the present invention includes a main storage device that stores list data as tabular data expressed as a vector using the position of each element, a plurality of structured data registers that store list data, and list data. a structured data calculation device consisting of a structured data calculation means for calculating a list length for the list data, a list data length calculation means for calculating the list length for the list data, and a plurality of element registers for storing each element of the list data in a tabular format. and a plurality of sub-processing devices, which are provided with element calculation means and a sub-storage device for performing calculations on the elements, and process each element of the tabular list data in parallel under the control of the structured data calculation device; By providing a transfer device that sequentially allocates elements of the tabular data stored in the main memory to each of the sub-processing units, each element can be processed simultaneously and list data operations such as APPEND and REVEPSE in the LISP language can be performed. This can be done efficiently.

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

第1図は本発明の一実施例におけるデータ処理装置の構
成図、第2図は本発明の一実施例におけるリストデータ
の基本形の説明図、第3図はLISP関数APPEND
の本発明における一動作例を示す図、第4図はLISP
関数REV[!R3!! (7)本発明における一動作
例の説明図、第5図はリストデータの表形式表現の一例
の説明図、第6図は従来のデータ処理装置の構成図、第
7図は従来のデータ処理装置におけるリストデータの基
本形の説明図である。 1・・・・・・主記憶装置、2・・・・・・構造データ
レジスタ、3・・・・・・構造データ演算手段、4・・
・・・・リストデータ長演算手段、5・・・・・・構造
データ演算装置、6・・・・・・転送装置、7・・・・
・・要素レジスタ、8・・・・・・副記憶装置、9・・
・・・・要素演算手段、10・・・・・・副演算装置、
21・・・・・・タグ領域、22・・・・・・リストデ
ータ長、23・・・・・・ポインタ領域、61・・・・
・・レジスタ、62・・・・・・演算装置、63・旧・
・主演算装置。
FIG. 1 is a configuration diagram of a data processing device in an embodiment of the present invention, FIG. 2 is an explanatory diagram of the basic form of list data in an embodiment of the present invention, and FIG. 3 is a diagram of the LISP function APPEND.
FIG. 4 is a diagram showing an example of the operation in the present invention.
Function REV[! R3! ! (7) An explanatory diagram of an example of the operation in the present invention, FIG. 5 is an explanatory diagram of an example of tabular representation of list data, FIG. 6 is a configuration diagram of a conventional data processing device, and FIG. 7 is a diagram of conventional data processing. FIG. 3 is an explanatory diagram of the basic form of list data in the device. 1... Main memory device, 2... Structure data register, 3... Structure data calculation means, 4...
... List data length calculation means, 5 ... Structure data calculation device, 6 ... Transfer device, 7 ...
...Element register, 8...Sub-storage device, 9...
...Element calculation means, 10...Sub calculation device,
21...Tag area, 22...List data length, 23...Pointer area, 61...
・・Register, 62・・・・Arithmetic unit, 63・Old・
・Main processing unit.

Claims (1)

【特許請求の範囲】[Claims] リストデータを各要素の位置を用いたベクトルで表現し
た表形式のデータとして記憶する主記憶装置と、リスト
データを記憶する複数の構造データレジスタとリストデ
ータに対して演算を行う構造データ演算手段とリストデ
ータに対してリスト長を演算するリストデータ長演算手
段からなる構造データ演算装置と、表形式のリストデー
タの各要素を記憶する複数の要素レジスタと要素に対し
て演算を行う要素演算手段と副記憶装置を備え、前記構
造データ演算装置の制御のもとに表形式のリストデータ
の各要素を並列に処理する複数個の副演算装置と、前記
各副演算装置に対し前記主記憶装置に蓄えられた表形式
データの要素を順次割り当てる転送装置とを備えリスト
データ演算時、各要素を同時に処理することを特徴とす
るデータ処理装置。
A main storage device that stores list data as tabular data expressed as a vector using the position of each element, a plurality of structured data registers that store list data, and structured data calculation means that performs calculations on list data. A structured data calculation device comprising a list data length calculation means for calculating a list length for list data, a plurality of element registers for storing each element of list data in a tabular format, and an element calculation means for performing calculations on the elements. a plurality of sub-processing devices each having a sub-storage device and processing each element of tabular list data in parallel under the control of the structured data processing device; What is claimed is: 1. A data processing device comprising: a transfer device that sequentially allocates elements of stored tabular data; and processing each element simultaneously when calculating list data.
JP12930587A 1987-05-26 1987-05-26 Data processor Pending JPS63292333A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP12930587A JPS63292333A (en) 1987-05-26 1987-05-26 Data processor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP12930587A JPS63292333A (en) 1987-05-26 1987-05-26 Data processor

Publications (1)

Publication Number Publication Date
JPS63292333A true JPS63292333A (en) 1988-11-29

Family

ID=15006277

Family Applications (1)

Application Number Title Priority Date Filing Date
JP12930587A Pending JPS63292333A (en) 1987-05-26 1987-05-26 Data processor

Country Status (1)

Country Link
JP (1) JPS63292333A (en)

Similar Documents

Publication Publication Date Title
JP3270459B2 (en) Unification system and method
JPS6024985B2 (en) Data processing method
van Emden An Interpreting Algorithm for Prolog Programs.
JPH036546B2 (en)
JPS59111569A (en) Vector processing device
JPS6314378B2 (en)
JPS63292333A (en) Data processor
JPS63292330A (en) Data processor
JP2606305B2 (en) Data processing device
JPS63118942A (en) Data processor
JPH01287745A (en) Data processor
JPS63118943A (en) Data processor
JPH0231278A (en) Data processor
JPS63255741A (en) Data processor
JPS63291127A (en) Data processor
JPS63292331A (en) Data processor
JPH0215332A (en) Data processor
JP3296489B2 (en) Operation method in associative memory device
JPH02158835A (en) Data processing device
JPS63219037A (en) Data processor
Potter et al. Basic Concepts of Associative Programming
JPH02158836A (en) Data processing device
JPS62175868A (en) Matrix arithmetic processing system
Nepomniaschaya An Associative Version of the Edmonds-Karp-Ford Shortest Path Algorithm
JPH04149637A (en) Information processor