JPS63118940A - Data processor - Google Patents

Data processor

Info

Publication number
JPS63118940A
JPS63118940A JP61266011A JP26601186A JPS63118940A JP S63118940 A JPS63118940 A JP S63118940A JP 61266011 A JP61266011 A JP 61266011A JP 26601186 A JP26601186 A JP 26601186A JP S63118940 A JPS63118940 A JP S63118940A
Authority
JP
Japan
Prior art keywords
data
shift
circuit
list
value
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
JP61266011A
Other languages
Japanese (ja)
Inventor
Toshio Shimizu
敏夫 清水
Ryoichi Wada
良一 和田
Yutaka Aoki
豊 青木
Masato Honma
本間 真人
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 JP61266011A priority Critical patent/JPS63118940A/en
Publication of JPS63118940A publication Critical patent/JPS63118940A/en
Pending legal-status Critical Current

Links

Abstract

PURPOSE:To efficiently perform a shift operation, by performing the shift operation for a list data expressed in a list form by using a barrel shift circuit and an adder circuit. CONSTITUTION:The list data outputted selectively at an input selection circuit 21 is separated to an address part which represents the node position of the list data, and a value part which represents reference to a data value. And the data Ad of the address part is inputted to the barrel shift circuit 22, and the data VD of the value part becomes a part of the output RD of a shift device 3 as it is. Furthermore, the data AD inputted to the circuit 22 is outputted after being shifted in a right and a left directions corresponding to a shift selection signal SHC, however, the forefront value of the data AD is added/subtracted by 1 at the adder circuit 23 at the time of CDR shift and RCDR shift, then, it is outputted.

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.

従来の技術 近年、コンピュータ応用の一つとして人工知能分野が盛
んに研究されている。この分野においては構造を持った
データを処理する必要があり、そのため構造データを取
り扱うことのできる言語であるLTSPが広く使用され
ている。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 LTSP, 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.

(例えばrLIsPマシン」 情報処理vo1.23 
 No、  8  pp752−772)。
(For example, rLIsP machine” Information processing vol. 1.23
No. 8 pp752-772).

これら専用マシンは主に言語的側面からアプローチを行
ったもので、その改善の内容の代表的なものを以下に示
す。+IICAR,CDR等、原始的関数はマイクロプ
ログラムレベルで実行する。(2)ジェネリックデータ
タイプを扱うためTAG付きデータ形式とする。(3)
スタック処理を高速にするためハードウェアコントロー
ルスタックを設ける。
These dedicated machines were mainly approached from a linguistic perspective, and the typical improvements made are shown below. Primitive functions such as +IICAR and CDR are executed at the microprogram level. (2) Data format with TAG is used to handle generic data types. (3)
A hardware control stack is provided to speed up stack processing.

しかしながら、上記したような言語の実行系に関する改
善はなされてきたものの、計算機内部における構造体デ
ータの表現としては基本的には要素の順序関係と結合の
方法をポインタで表現したもの(以下リストと呼ぶ)を
使用しているため次のような問題があった。(1)任意
の要素へのアクセスがリストたぐりとなり効率が悪い。
However, although improvements have been made to the execution system of the language mentioned above, the basic representation of structure data inside a computer is to express the order relationship and connection method of elements using pointers (hereinafter referred to as lists). The following problems occurred because of the use of (1) Access to any element requires going through a list, which is inefficient.

(2)リストマツチングはリストの分解操作を伴うため
非効率である。(3)ガーベソジコレクションが困難で
ある。(4)メモリ参照の局所性が悪く、キャッシュの
ヒント率が下がる。また、基本的には共有構造をとるた
め以下の問題が生じた。151RPLACA。
(2) List matching is inefficient because it involves a list decomposition operation. (3) Garbage collection is difficult. (4) Locality of memory references is poor and cache hint rate decreases. Additionally, since it basically uses a shared structure, the following problems arose. 151 RPLACA.

RPLACD等、直接リスト操作を行うと陰に他のデー
タも変更してしまうといった思いがけない副作用が生じ
る。(6)並列処理時、変数のロックが困難である。一
方、これらの問題点を解決するためには、基本的にリス
トデータの表現をかえる試みが提案されている。
Direct list operations such as in RPLACD cause unexpected side effects such as secretly changing other data. (6) It is difficult to lock variables during parallel processing. On the other hand, in order to solve these problems, attempts have been made to basically change the expression of list data.

一般に2進木リストは始点のノードから始まって順次左
右に分岐して行き、葉のノードでそれぞれの分岐が終了
する形をとる。葉のノードにはアトムノードとNILノ
ードの2種類がある。葉のノードでないノードは分岐が
続行している事を示すリストノードである。このリスト
ノードは葉のノードの位置を間接的にあられすためのも
のである。
Generally, a binary tree list starts from a starting node and branches left and right sequentially, with each branch ending at a leaf node. There are two types of leaf nodes: atom nodes and NIL nodes. Nodes that are not leaf nodes are list nodes that indicate 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.

しかしながら、葉のノードの位置を直接的にあられすこ
とができれば、リストノードの情報を持つ必要はない。
However, if the positions of leaf nodes can be directly determined, there is no need to have list node information.

したがって、葉の位置情報と葉自身の情報を順次並べた
表で、等価なりストデータを表現することができる。葉
のノード位置を表現する方法としてCDR方向に順次番
号を付け、CAR方向に順次項目を割り当てた一次元ベ
クトル表現が提案されている。
Therefore, equivalent first data can be expressed by a table in which leaf position information and leaf information are sequentially arranged. A one-dimensional vector representation has been proposed as a method for expressing leaf node positions, in which numbers are sequentially assigned in the CDR direction and items are sequentially assigned in the CAR direction.

(例えば、「構造を持ったデータの高速マツチング方式
」 情報処理学会 第33口金国大会7D−2) 従ってリストデータは葉の位置情報を示すベクトルと葉
自身の情報を組としたデータの集合で表現される。
(For example, "High-speed matching method for structured data" Information Processing Society of Japan 33rd National Conference 7D-2) Therefore, list data is a set of data that includes vectors indicating leaf position information and information about the leaf itself. expressed.

第3図にリストデータの表現例を示す。これは5式で表
記した場合(A (B (C) ) D)となるリスト
データの図式表現f8+、および、表形式表現(blを
示したものである。図式表現において丸印はリストノー
ドを表し、四角で囲ったものは葉のノードを示している
。また各ノードの上に付記した数字列は前記した方法に
従って表したノード位置を示すものである。この葉の部
分を抜きだして表の形で表現したものが表形式表現山)
であって、ADDRESS部にノード位置ベクトルが、
VALUE部に葉の要素が入った表で構成されている。
FIG. 3 shows an example of list data representation. This is a graphical representation f8+ of list data that becomes (A (B (C)) D) when expressed in formula 5, and a tabular representation (bl). In the diagrammatic representation, circles indicate list nodes. The squares in the table indicate leaf nodes.The number strings added above each node indicate the node positions expressed according to the method described above.This leaf part is extracted and displayed. The one expressed in the form of a tabular expression mountain)
, the node position vector is in the ADDRESS part,
It consists of a table with leaf elements in the VALUE section.

リストをこのような表形式で表現した場合、ポインタ表
現の多くの欠点は免れることができるが、当然、その演
算体系は従来のポインタ表現とは異なる。
When a list is represented in such a tabular format, many of the drawbacks of pointer representation can be avoided, but the arithmetic system is naturally different from that of conventional pointer representation.

第4図にLISPの基本リスト操作関数における裏操作
の一例を示す。
FIG. 4 shows an example of a behind-the-scenes operation in the basic list operation function of LISP.

第4図で明かなようにCAR関数はADIlRESS部
の先頭が1の要素を抜き出し、2番目以下のAD、DR
ESSを先頭方向にシフトすることにより(これを以下
CARシフトと呼ぶ)実行することができる。CDR関
数はCAR関数とは逆に先頭ADDRESSが1の要素
を取り除き、残った要素の先頭ADDRESSから1を
減じることにより (以下これをCDRシフトと呼ぶ)
実行される。
As is clear from Figure 4, the CAR function extracts the element with the first 1 in the ADIlRESS part, and
This can be performed by shifting the ESS toward the beginning (hereinafter referred to as CAR shift). The CDR function is the opposite of the CAR function, by removing the element with the first ADDRESS of 1 and subtracting 1 from the first ADDRESS of the remaining elements (hereinafter referred to as CDR shift).
executed.

C0N5関数についてはもう少し複雑である。The C0N5 function is a little more complicated.

まずC0N5関数の第一引数について、ADDRESS
部を先頭方向とは逆の方向にシフトし、先頭ADDRE
SSを1とする。これは前記したCARシフトとは逆の
演算であり、以下RCARシフトと呼ぶ。第二引数につ
いては先頭ADDRESSに1を加算する(以下これを
RCARと同じ理由でRCDRシフトと呼ぶ)。次にこ
の二つの引数を一つの表としてまとめればC0N5関数
は実行される。
First, regarding the first argument of the C0N5 function, ADDRESS
Shift the section in the opposite direction to the beginning, and add the beginning ADDRE.
Let SS be 1. This is an operation opposite to the above-mentioned CAR shift, and is hereinafter referred to as RCAR shift. For the second argument, 1 is added to the first ADDRESS (hereinafter this will be referred to as RCDR shift for the same reason as RCAR). Next, the C0N5 function is executed by combining these two arguments into one table.

発明が解決しようとする問題点 しかしながら上記のような構成では、ポインタ表現では
極めて容易に行えるCAR,CDR。
Problems to be Solved by the Invention However, in the above configuration, CAR and CDR can be performed extremely easily using pointer representation.

C0N5といったLTSPの基本関数が表形式では全て
の要素に対しての演算を必要とするので、リストデータ
処理に対するパフォーマンスが劣るという問題点を有し
ていた。
Since LTSP basic functions such as C0N5 require calculations for all elements in table format, there has been a problem in that the performance for list data processing is poor.

本発明は上記問題点に鑑み、簡単な構成で効率良く表形
式のリストデータを処理することのできるデータ処理装
置を提供するものである。
In view of the above problems, the present invention provides a data processing device that has a simple configuration and can efficiently process list data in a tabular format.

問題点を解決するための手段 上記問題点を解決するために本発明のデータ処理装置は
、リストデータをノードの位置を示すADDRESS部
とデータ値へのリファレンスを示すVALUE部とで構
成した表形式のデータとして記憶するメモリ装置と、前
記表形式データの要素を記憶するレジスタ装置と、前記
メモリ装置から転送されるデータと前記レジスタ装置か
らのフi゛二下バ・ツクされるデータとを選択して出力
する入力選択回路と前記入力選択回路から出力されたデ
ータのADDRESS部データを左右方向へシフトする
バレルシフト回路と前記バレルシフト回路の出力に接続
されADDRESS部データの先頭値を1だけ増減する
加算回路から構成されるシフト装置とを具備したもので
ある。
Means for Solving the Problems In order to solve the above problems, the data processing device of the present invention uses list data in a tabular format configured with an ADDRESS section indicating the position of a node and a VALUE section indicating a reference to a data value. a memory device to store the data as data, a register device to store the elements of the tabular data, data to be transferred from the memory device, and data to be backed up from the register device. and a barrel shift circuit that shifts the ADDRESS section data of the data outputted from the input selection circuit in the horizontal direction; and a barrel shift circuit that is connected to the output of the barrel shift circuit and increases or decreases the leading value of the ADDRESS section data by 1. The shift device is comprised of an adder circuit.

作用 本発明は上記した構成によって、表形式のリストデータ
に対する操作、例えば前記したCARシフト、CDRシ
フト、RCARシフト、RCDRCD上などの操作をバ
レルシフト回路、加算回路を用いて効率良く実現できる
こととなる。
Effect: With the above-described configuration, the present invention can efficiently implement operations on list data in table format, such as operations on the above-mentioned CAR shift, CDR shift, RCAR shift, and RCDRCD, using a barrel shift circuit and an addition circuit. .

実施例 以下本発明の一実施例のデータ処理装置について、図面
を参照しながら説明する。第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はレジスタ装置である。第2図は上記実施
例におけるシフト装置の内部構成を示すものである。
In FIG. 1, 1 is a memory device, 2 is a transfer device, 3 is a shift device, and 4 is a register device. FIG. 2 shows the internal structure of the shift device in the above embodiment.

第2図において21は入力選択回路、22はバレルシフ
ト回路、23は加算回路である。
In FIG. 2, 21 is an input selection circuit, 22 is a barrel shift circuit, and 23 is an adder circuit.

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

第1図においてメモリ装置1に蓄えられたりストデータ
は処理される場合、転送装置2によりレジスタ装置4ヘ
シフト装置3を通して転送される。
In FIG. 1, when data stored in a memory device 1 or stored in a memory device 1 is to be processed, it is transferred by a transfer device 2 to a register device 4 through a shift device 3.

第2図において入力選択回路21は、メモリ装置lから
の転送データとレジスタ装置4からのフィードハックさ
れたデータとを選択信号SELにより切り替えて出力す
るもので、メモリ装置1からの転送時はM!をレジスタ
内演算の場合はAIの信号を出力する。入力選択回路2
1から出力されたデータはADDRESS部とVALU
E部に分離され、ADDRESS部データADはバレル
シフト回路22の入力となり、一方VALUE部データ
VDはそのままシフト装置3の出力RDの一部となる。
In FIG. 2, the input selection circuit 21 switches and outputs transfer data from the memory device 1 and feed-hacked data from the register device 4 using a selection signal SEL. ! In the case of a register operation, the AI signal is output. Input selection circuit 2
The data output from 1 is the ADDRESS section and VALU.
The ADDRESS part data AD becomes the input of the barrel shift circuit 22, while the VALUE part data VD becomes part of the output RD of the shift device 3 as it is.

バレルシフト回路はADDRESS部のデータを左右方
向ヘシフトする回路で、シフト選択信号SHCにより制
御される。CARシフト時には前記したように先頭方向
へのシフトであるが、この場合最後部のアドレスにはO
が入る。
The barrel shift circuit is a circuit that shifts data in the ADDRESS section in the left-right direction, and is controlled by a shift selection signal SHC. During CAR shift, the shift is towards the beginning as described above, but in this case, the last address is O
enters.

RCARシフト時は反対に先頭部に0が入る。Conversely, during RCAR shift, 0 is entered at the beginning.

CDRシフト、RCDRCD上はいわゆるシフト操作で
はなく、ADDRESS部の先頭値が1だけ増減する操
作であるから、バレルシフト回路でのシフトは受けず、
その出力に接続され、加算制御信号ACにより制御され
る加算回路23でこの処理が行われる。
On CDR shift and RCDRCD, it is not a so-called shift operation, but an operation that increases or decreases the leading value of the ADDRESS part by 1, so it is not shifted by the barrel shift circuit,
This processing is performed in an adder circuit 23 connected to its output and controlled by an adder control signal AC.

以上のように本実施例によれば、リストデータをノード
の位置を示すADDRESS部とデータ値へのリファレ
ンスを示すVALUE部とで構成した表形式のデータと
して記憶するメモリ装置と、前記表形式データの要素を
記憶するレジスタ装置と、前記メモリ装置から転送され
るデータと前記レジスタ装置からのフィードバックされ
るデータとを選択して出力する入力選択回路と前記入力
選択回路から出力されたデータのADDRESS部デー
タを左右方向へシフトするバレルシフト回路と前記バレ
ルシフト回路の出力に接続されADDRESS部データ
の先頭値を1だけ増減する加算回路から構成されるシフ
ト装置とを設けることにより、表形式で表現されたリス
トデータのシフト処理を効率よく行うことが出来る。
As described above, according to this embodiment, there is provided a memory device that stores list data as tabular data including an ADDRESS section indicating the position of a node and a VALUE section indicating a reference to a data value; an input selection circuit that selects and outputs data transferred from the memory device and data fed back from the register device; and an ADDRESS section for data output from the input selection circuit. By providing a shift device consisting of a barrel shift circuit that shifts data in the horizontal direction and an adder circuit that is connected to the output of the barrel shift circuit and increases or decreases the leading value of the ADDRESS section data by 1, the data can be expressed in a table format. Shift processing of list data can be performed efficiently.

発明の効果 以上のように本発明はりストデータをノードの位置を示
すADDRESS部とデータ値へのリファレンスを示す
VALUE部とで構成した表形式のデータとして記憶す
るメモリ装置と、前記表形式データの要素を記憶するレ
ジスタ装置と、前記メモリ装置から転送されるデータと
前記レジスタ装置からのフィードバックされるデータと
を選択して出力する入力選択回路と前記入力選択回路か
ら出力されたデータのADDRESS部データを左右方
向へシフトするバレルシフト回路と前記バレルシフト回
路の出力に接続されADDRESS部データの先頭値を
1だけ増減する加算回路から構成されるシフト装置とを
設けることにより、表形式で表現されたリストデータの
シフト処理を効率よく行うことが可能となる。
Effects of the Invention As described above, the present invention provides a memory device for storing first data as tabular data constituted by an ADDRESS section indicating a node position and a VALUE section indicating a reference to a data value, and a memory device for storing first data as tabular data. a register device that stores elements; an input selection circuit that selects and outputs data transferred from the memory device and data fed back from the register device; and ADDRESS part data of the data output from the input selection circuit. By providing a shift device consisting of a barrel shift circuit that shifts the data in the horizontal direction and an adder circuit that is connected to the output of the barrel shift circuit and increases or decreases the leading value of the ADDRESS part data by 1, the data can be expressed in a tabular format. It becomes possible to perform shift processing of list data efficiently.

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

第1図は本発明の一実施例におけるデータ処理装置の構
成図、第2図は第1図のシフト装置の内部構成図、第3
図はリストデータの表形式表現の一例を示す図、第4図
はLISPの基本リスト操作関数における裏操作の一例
を示す図である。 l・・・・・・メモリ装置、2・・・・・・転送装置、
3・・・・・・シフト装置、4・・・・・・レジスタ装
置、21・・・・・・入力選択回路、22・・・・・・
バレルシフト装置、23・・・・・・加算回路。 代理人の氏名 弁理士 中尾敏男 はか1名第3図 (A(日(C))D) 第4図
FIG. 1 is a block diagram of a data processing device according to an embodiment of the present invention, FIG. 2 is an internal block diagram of the shift device shown in FIG. 1, and FIG.
The figure shows an example of a tabular representation of list data, and FIG. 4 is a diagram showing an example of behind-the-scenes operations in the basic list operation functions of LISP. l...Memory device, 2...Transfer device,
3...Shift device, 4...Register device, 21...Input selection circuit, 22...
Barrel shift device, 23...addition circuit. Name of agent: Patent attorney Toshio Nakao (1 person) Figure 3 (A (Japanese (C)) D) Figure 4

Claims (1)

【特許請求の範囲】 リストデータをノードの位置を示すADDRESS部と
データ値へのリファレンスを示すVALUE部とで構成
した表形式のデータとして記憶するメモリ装置と、前記
表形式データの要素を記憶するレジスタ装置と、前記メ
モリ装置から転送されるデータと前記レジスタ装置から
のフィードバックされるデータとを選択して出力する入
力選択回路と前記入力選択回路から出力されたデータの ADDRESS部データを左右方向へシフトするバレル
シフト回路と前記バレルシフト回路の出力に接続されA
DDRESS部データの先頭値を1だけ増減する加算回
路から構成されるシフト装置とを具備し、表形式で表現
されたリストデータのシフト処理を行うことを特徴とす
るデータ処理装置。
[Scope of Claims] A memory device that stores list data as tabular data consisting of an ADDRESS section that indicates the position of a node and a VALUE section that indicates a reference to a data value, and a memory device that stores elements of the tabular data. a register device, an input selection circuit that selects and outputs data transferred from the memory device and data fed back from the register device, and an ADDRESS portion of data output from the input selection circuit in the left and right direction; connected to the barrel shift circuit to be shifted and the output of said barrel shift circuit;
1. A data processing device comprising: a shift device constituted by an adder circuit that increases or decreases a leading value of DDRESS part data by 1, and performs shift processing of list data expressed in a tabular format.
JP61266011A 1986-11-07 1986-11-07 Data processor Pending JPS63118940A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP61266011A JPS63118940A (en) 1986-11-07 1986-11-07 Data processor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP61266011A JPS63118940A (en) 1986-11-07 1986-11-07 Data processor

Publications (1)

Publication Number Publication Date
JPS63118940A true JPS63118940A (en) 1988-05-23

Family

ID=17425133

Family Applications (1)

Application Number Title Priority Date Filing Date
JP61266011A Pending JPS63118940A (en) 1986-11-07 1986-11-07 Data processor

Country Status (1)

Country Link
JP (1) JPS63118940A (en)

Similar Documents

Publication Publication Date Title
JPS6024985B2 (en) Data processing method
JPS59111569A (en) Vector processing device
JPS63118940A (en) Data processor
JPS63118943A (en) Data processor
JPS63276129A (en) Data processor
JP2606305B2 (en) Data processing device
JPS63118941A (en) Data processor
JPS63118944A (en) Data processor
JP2705166B2 (en) Data processing device
JPS5958580A (en) Masked vector arithmetic processor
JPS6365523A (en) Data processor
JPS63118942A (en) Data processor
JPH01161440A (en) Data processor
JPS63292333A (en) Data processor
KR100303136B1 (en) Structure for microprocessor having digital signal processor
JP2735255B2 (en) Hatching treatment method
JPS63255741A (en) Data processor
JPS6162174A (en) Information processor
JPH01287745A (en) Data processor
JPS63223826A (en) Data processor
Stickel The programmable strategy theorem prover: an implementation of the linear MESON procedure
JPS6361334A (en) Data processor
JPS5870359A (en) Data flow controlling circuit
JPS63291127A (en) Data processor
JPS63292331A (en) Data processor