JPS63223826A - デ−タ処理装置 - Google Patents
デ−タ処理装置Info
- Publication number
- JPS63223826A JPS63223826A JP62057101A JP5710187A JPS63223826A JP S63223826 A JPS63223826 A JP S63223826A JP 62057101 A JP62057101 A JP 62057101A JP 5710187 A JP5710187 A JP 5710187A JP S63223826 A JPS63223826 A JP S63223826A
- Authority
- JP
- Japan
- Prior art keywords
- data
- register
- shift
- list
- register device
- 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
- 230000006870 function Effects 0.000 abstract description 19
- 238000010586 diagram Methods 0.000 description 8
- 238000000034 method Methods 0.000 description 8
- 238000010276 construction Methods 0.000 description 5
- 230000000694 effects Effects 0.000 description 3
- 238000000926 separation method Methods 0.000 description 3
- 238000013473 artificial intelligence Methods 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 1
- 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
- 230000010365 information processing Effects 0.000 description 1
Landscapes
- Devices For Executing Special Programs (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
産業上の利用分野
本発明は主に人工知能分野へ使用することを目的とした
データ処理装置に関するものである。
データ処理装置に関するものである。
従来の技術
近年、コンピュータ応用の一つとして人工知能分野が盛
んに研究されている。この分野においては構造を持った
データを処理する必要があり、そのため構造データを取
り扱うことのできる言語である1、 I S Pが広(
使用されている。l−I S P言語は汎用のコンピュ
ータで実行するのは非効率であるため、様々な工夫を施
した専用マシンが開発されてきた(たとえば、rLIs
Pマシン」 情1処理 Vol、 23 m8
pp752〜772.)これら専用マシンは主に言語的
側面からアプローチを行って改善を図ったものであるが
、構造体データであるリストの計算機内部における表現
を、通常のポインタによる表現ではなく、表形式を用い
るようにした研究も行われている(たとえば、「構造を
もったデータの高速マツチング方式」情報処理学会第3
3回合国大会 7D−2)。
んに研究されている。この分野においては構造を持った
データを処理する必要があり、そのため構造データを取
り扱うことのできる言語である1、 I S Pが広(
使用されている。l−I S P言語は汎用のコンピュ
ータで実行するのは非効率であるため、様々な工夫を施
した専用マシンが開発されてきた(たとえば、rLIs
Pマシン」 情1処理 Vol、 23 m8
pp752〜772.)これら専用マシンは主に言語的
側面からアプローチを行って改善を図ったものであるが
、構造体データであるリストの計算機内部における表現
を、通常のポインタによる表現ではなく、表形式を用い
るようにした研究も行われている(たとえば、「構造を
もったデータの高速マツチング方式」情報処理学会第3
3回合国大会 7D−2)。
以下図面を参照しながら、上述したリストの表形式表現
を用いた従来のデータ処理装置について説明する。表形
式表現では、リストの葉のノード位置を表現する方法と
してCDR方向に順次番号を付け、CAR方向に順次項
目を割り当てた一次元ベクトル表現を採用することによ
り、葉の位置情報と葉自身の情報を順次並べた表で、リ
ストデータを表現する。すなわち、リストデータは葉の
位置情報を示すベクトルと葉自身の情報を組としたデー
タの集合で表現される。
を用いた従来のデータ処理装置について説明する。表形
式表現では、リストの葉のノード位置を表現する方法と
してCDR方向に順次番号を付け、CAR方向に順次項
目を割り当てた一次元ベクトル表現を採用することによ
り、葉の位置情報と葉自身の情報を順次並べた表で、リ
ストデータを表現する。すなわち、リストデータは葉の
位置情報を示すベクトルと葉自身の情報を組としたデー
タの集合で表現される。
第3図にリストデータの表現例を示す、これは3式で表
記した場合(A (B (C) ) D)となるリスト
データの図式表現(a)、および、表形式表現Q)lを
示したものである0図式表現Talにおいて丸印は葉で
ないリストノードを表し、四角で囲ったものは葉のノー
ドを示している。また各ノードの上に付記した数字列は
、上記した方法にしたがって表したノード位置を示すも
のである。この葉の部分を抜きだして表の形で表現した
ものが表形式表現(blであって、アドレス部にノード
位置ベクトルが、バリュー部に葉の要素が入った表で構
成されている。
記した場合(A (B (C) ) D)となるリスト
データの図式表現(a)、および、表形式表現Q)lを
示したものである0図式表現Talにおいて丸印は葉で
ないリストノードを表し、四角で囲ったものは葉のノー
ドを示している。また各ノードの上に付記した数字列は
、上記した方法にしたがって表したノード位置を示すも
のである。この葉の部分を抜きだして表の形で表現した
ものが表形式表現(blであって、アドレス部にノード
位置ベクトルが、バリュー部に葉の要素が入った表で構
成されている。
リストをこのような表形式で表現すると、当然のことに
その演算方式は通常のポインタ表現の場合と異なるもの
になり、このような表形式データを処理する従来のデー
タ処理装置は以下に示すような裏操作を必要とする。
その演算方式は通常のポインタ表現の場合と異なるもの
になり、このような表形式データを処理する従来のデー
タ処理装置は以下に示すような裏操作を必要とする。
第4図にLISPの基本リスト操作関数における裏操作
の一例を示す。
の一例を示す。
第4図で明らかなように、CAR関数はアドレス部の先
頭が1の要素を抜き出し、2番目以下のアドレスを先頭
方向にシフトすることにより (これを以下CARシフ
トと呼ぶ)実行することができる。CDR関数はCAR
関数とは逆に先頭アドレスが1の要素を取り除き、残っ
た要素の先頭アドレスから1を減じることにより(以下
これをCDRシフトと呼ぶ)実行される。
頭が1の要素を抜き出し、2番目以下のアドレスを先頭
方向にシフトすることにより (これを以下CARシフ
トと呼ぶ)実行することができる。CDR関数はCAR
関数とは逆に先頭アドレスが1の要素を取り除き、残っ
た要素の先頭アドレスから1を減じることにより(以下
これをCDRシフトと呼ぶ)実行される。
C0N5関数についてはもう少し複雑である。
まずC0N5関数の第一引数について、アドレス部を先
頭方向とは逆の方向にシフトし、先頭アドレスを1とす
る。これは前記したCARシフトとは逆の演算であり、
以下RCARシフトと呼ぶ。
頭方向とは逆の方向にシフトし、先頭アドレスを1とす
る。これは前記したCARシフトとは逆の演算であり、
以下RCARシフトと呼ぶ。
第二引数については先頭アドレスに1を加算する(以下
これをRCARと同じ理由でRCDRシフトと呼ぶ)。
これをRCARと同じ理由でRCDRシフトと呼ぶ)。
次にこの二つの引数を一つの表としてまとめればC0N
5関数は実行される。
5関数は実行される。
第5図にリスト内の部分リストを取り出すASSOC関
数のサーチ処理における裏操作の一例を示す、要素のマ
ツチングはCAR部のCAR部(アドレス1−1−1)
に対してのみ行うため、マツチングが成功するまで順次
対象データにCDR関数を作用させる。
数のサーチ処理における裏操作の一例を示す、要素のマ
ツチングはCAR部のCAR部(アドレス1−1−1)
に対してのみ行うため、マツチングが成功するまで順次
対象データにCDR関数を作用させる。
発明が解決しようとする問題点
しかしながら、ポインタ表現では極めて容易に行えるC
AR,CDR,C0N5といったLISPの基本関数が
、表形式表現では全ての要素に対しての演算を必要とす
る欠点があり、さらにL[SPでよく用いられる部分リ
ストに対するサーチやマツチング等の演算も、これらの
基本関数の組合せによって行われるため、表形式表現に
基づいた従来のデータ処理装置は非効率的であるという
問題点を有していた。
AR,CDR,C0N5といったLISPの基本関数が
、表形式表現では全ての要素に対しての演算を必要とす
る欠点があり、さらにL[SPでよく用いられる部分リ
ストに対するサーチやマツチング等の演算も、これらの
基本関数の組合せによって行われるため、表形式表現に
基づいた従来のデータ処理装置は非効率的であるという
問題点を有していた。
本発明は上記問題点に鑑みてなされたもので、簡単な構
成で効率良く表形式のリストデータに対するサーチやマ
ツチングを処理することのできるデータ処理装置を提供
するものである。
成で効率良く表形式のリストデータに対するサーチやマ
ツチングを処理することのできるデータ処理装置を提供
するものである。
問題点を解決するための手段
上記問題点を解決するために本発明のデータ処理装置は
、表形式のリストデータを比較する比較装置を備え、前
記比較装置は入力データのアドレス部をシフトした後の
データを比較することができるようにしたものである。
、表形式のリストデータを比較する比較装置を備え、前
記比較装置は入力データのアドレス部をシフトした後の
データを比較することができるようにしたものである。
作用
本発明は上記した構成によって、アドレス部をシフトし
てから表形式のりストデータを比較することができ、リ
ストデータ内の要素や部分リストのサーチを高速に行え
るので、効率良くリストデ−夕を処理することが可能と
なる。
てから表形式のりストデータを比較することができ、リ
ストデータ内の要素や部分リストのサーチを高速に行え
るので、効率良くリストデ−夕を処理することが可能と
なる。
実施例
以下本発明の一実施例のデータ処理装置について、図面
を参照しながら説明する。第1図は、本発明の一実施例
におけるデータ処理装置の構成を示すブロック図である
。第1図において1はメモリ装置、2は転送装置、3は
データレジスタ装置、4は比較装置、5はシフト装置、
6はゲート装置、7は条件レジスタ装置である。8は表
形式のリストデータの一要素の演算を行う処理ユニット
で、本発明の一実施例におけるデータ処理装置は複数の
処理ユニットを含む、第2図は、上記実施例における比
較装置4の内部構成の一部を示すブロック図で、11は
分離回路、12はシフト回路、13はアドレス部−数構
出回路、14はバリュー部−数構出回路、15はアンド
ゲート回路である。
を参照しながら説明する。第1図は、本発明の一実施例
におけるデータ処理装置の構成を示すブロック図である
。第1図において1はメモリ装置、2は転送装置、3は
データレジスタ装置、4は比較装置、5はシフト装置、
6はゲート装置、7は条件レジスタ装置である。8は表
形式のリストデータの一要素の演算を行う処理ユニット
で、本発明の一実施例におけるデータ処理装置は複数の
処理ユニットを含む、第2図は、上記実施例における比
較装置4の内部構成の一部を示すブロック図で、11は
分離回路、12はシフト回路、13はアドレス部−数構
出回路、14はバリュー部−数構出回路、15はアンド
ゲート回路である。
以上のように構成されたデータ処理装置につき、以下第
1図および第2図を用いてその動作を説明する。
1図および第2図を用いてその動作を説明する。
メモリ装置Iに蓄えられたリストデータは、処理に先立
って転送装置2により処理ユニット8のデータレジスタ
装置3へ、シフト装置5を通して転送される。この場合
、表形式データの各要素はそれぞれ別々の処理ユニット
へ転送される。前記したリストの各種の演算は、データ
レジスタ装置3内のデータを対象に行われる。CAR閏
数の場合、アドレス部の先頭要素が1のものだけを必要
とするので、比較装置4の制御によりゲート装置6を介
して該当するもののみを転送装置2に転送し、再びデー
タレジスタ装置3にそのデータを格納する。さらに、デ
ータレジスタ装置3の内容は比較装置4を通ってシフト
装置5へ入力され、そこで前記したCARシフトを受け
、データレジスタ装置3に再入力される。CDR関数の
場合も同様で、アドレス部の先頭要素が1以外のものを
切り出してCDRシフトを行えばよい。
って転送装置2により処理ユニット8のデータレジスタ
装置3へ、シフト装置5を通して転送される。この場合
、表形式データの各要素はそれぞれ別々の処理ユニット
へ転送される。前記したリストの各種の演算は、データ
レジスタ装置3内のデータを対象に行われる。CAR閏
数の場合、アドレス部の先頭要素が1のものだけを必要
とするので、比較装置4の制御によりゲート装置6を介
して該当するもののみを転送装置2に転送し、再びデー
タレジスタ装置3にそのデータを格納する。さらに、デ
ータレジスタ装置3の内容は比較装置4を通ってシフト
装置5へ入力され、そこで前記したCARシフトを受け
、データレジスタ装置3に再入力される。CDR関数の
場合も同様で、アドレス部の先頭要素が1以外のものを
切り出してCDRシフトを行えばよい。
前記CAR,CDR等のシフトを行う場合、メモリ装置
1からリストデータを転送する際に同時に行うこともで
きる。すなわち、転送装置2によって処理ユニット8の
データレジスタ装置3ヘリストデータが転送される際、
シフト装置5を通過するため、この時前記シフト操作を
行えば良い。
1からリストデータを転送する際に同時に行うこともで
きる。すなわち、転送装置2によって処理ユニット8の
データレジスタ装置3ヘリストデータが転送される際、
シフト装置5を通過するため、この時前記シフト操作を
行えば良い。
この場合、転送と同時にシフト処理が行えるため処理を
高速に行うことができる。
高速に行うことができる。
次に、第5図に示したASSOC関数の例における比較
装置の4の動作を説明する。まず最初に、(ASSoC
′ CX)の第一引数に対応する表形式のリストデータ
をメモリ装置1から、転送装置2、シフト装置5、デー
タレジスタ装W3、ゲート装置6を介して、条件レジス
タ装W7に人力する。そして、第二引数についても同様
にして、データレジスタ装置3に転送を行う、データレ
ジスタ装置3の出力REDおよび条件レジスタ装置7の
出力CDは、それぞれ分離回路11でアドレス部とバリ
ュー部に分けられ、両者のバリュー部はバリュー部−数
構出回路14で同一かどうか比較される。一方、両者の
アドレス部はシフト回路L2によりCARシフトを受け
た後、アドレス部−数構出回路13で一致検出を行う、
そして、アドレス部−数構出回路13およびバリュー部
−数構出回路14の両方で一致を検出したかどうかをア
ンドゲート回路15で演算し、その結果をFLAGとし
て出力する。第6図は、第5図のASSOC関数の例を
演算する場合に、比較装置4においてCARシフトを行
った後の比較データを示したものである。同図において
、(alは第2図のSAC地点のデータとバリュー部、
(b)は第2図のSAR地点のデータとバリュー部を複
数の処理ユニット8についてまとめたものをそれぞれ示
している。第6図から明らかなように、同図中の※印の
データの部分でマツチングが成功し、それに対応するF
LAG出力が論理値の真となる。
装置の4の動作を説明する。まず最初に、(ASSoC
′ CX)の第一引数に対応する表形式のリストデータ
をメモリ装置1から、転送装置2、シフト装置5、デー
タレジスタ装W3、ゲート装置6を介して、条件レジス
タ装W7に人力する。そして、第二引数についても同様
にして、データレジスタ装置3に転送を行う、データレ
ジスタ装置3の出力REDおよび条件レジスタ装置7の
出力CDは、それぞれ分離回路11でアドレス部とバリ
ュー部に分けられ、両者のバリュー部はバリュー部−数
構出回路14で同一かどうか比較される。一方、両者の
アドレス部はシフト回路L2によりCARシフトを受け
た後、アドレス部−数構出回路13で一致検出を行う、
そして、アドレス部−数構出回路13およびバリュー部
−数構出回路14の両方で一致を検出したかどうかをア
ンドゲート回路15で演算し、その結果をFLAGとし
て出力する。第6図は、第5図のASSOC関数の例を
演算する場合に、比較装置4においてCARシフトを行
った後の比較データを示したものである。同図において
、(alは第2図のSAC地点のデータとバリュー部、
(b)は第2図のSAR地点のデータとバリュー部を複
数の処理ユニット8についてまとめたものをそれぞれ示
している。第6図から明らかなように、同図中の※印の
データの部分でマツチングが成功し、それに対応するF
LAG出力が論理値の真となる。
以上述べたように、本実施例によればリストデータの比
較の際に特にシフト装置5によるシフトを実行する必要
がなくなるので、高速に比較を行うことができる。
較の際に特にシフト装置5によるシフトを実行する必要
がなくなるので、高速に比較を行うことができる。
発明の効果
以上のように本発明は、リストデータをノードの位置を
示すアドレス部とデータ値へのリファレンスを示すバリ
ュー部とで構成した表形式のデー夕として記憶するメモ
リ装置と、上記表形式データの要素を記憶するデータレ
ジスタ装置と、上記メモリ装置と上記データレジスタ装
置とのデータ転送を行う転送装置と、上記ガータレジス
タ装置に記憶されたデータと比較するデータを記憶する
条件レジスタ装置と、上記データレジスタ装置と上記条
件レジスタ装置の出力データを比較する比較装置と、上
記比較装置の出力によって上記データレジスタ装置の出
力を制御するゲート装置と、上記データレジスタ装置の
人力に接続され、上記メモリ装置や上記データレジスタ
装置から出力されたリストデータのアドレス部のシフト
操作を行うシフト装置を具備し、上記比較装置において
人力データのアドレス部をシフトしてから比較ができる
ようにしたことにより、リストデータ内の要素や部分リ
ストのサーチを容易にかつ高速に行うことが可能となる
ので、部分リストの取り出しやマツチングなどの処理を
効率良く行えるという優れた効果が得られる。
示すアドレス部とデータ値へのリファレンスを示すバリ
ュー部とで構成した表形式のデー夕として記憶するメモ
リ装置と、上記表形式データの要素を記憶するデータレ
ジスタ装置と、上記メモリ装置と上記データレジスタ装
置とのデータ転送を行う転送装置と、上記ガータレジス
タ装置に記憶されたデータと比較するデータを記憶する
条件レジスタ装置と、上記データレジスタ装置と上記条
件レジスタ装置の出力データを比較する比較装置と、上
記比較装置の出力によって上記データレジスタ装置の出
力を制御するゲート装置と、上記データレジスタ装置の
人力に接続され、上記メモリ装置や上記データレジスタ
装置から出力されたリストデータのアドレス部のシフト
操作を行うシフト装置を具備し、上記比較装置において
人力データのアドレス部をシフトしてから比較ができる
ようにしたことにより、リストデータ内の要素や部分リ
ストのサーチを容易にかつ高速に行うことが可能となる
ので、部分リストの取り出しやマツチングなどの処理を
効率良く行えるという優れた効果が得られる。
第1図は本発明の一実施例におけるデータ処理装置の構
成を示すブロック図、第2図は第1図における比較装置
4の内部構成の一部を示すブロック図、第3図Ca1.
fblはリストデータの表形式表現の一例を示す説明
図、第4図はLISPの基本リスト操作関数における表
操作の一例を示す説明図、第5図はASSOC関数にお
ける表操作の一例を示す説明図、第6図(al、 Fb
lは本発明の一実施例におけるデータ処理装置の比較装
置において、比較データの一例を示す説明図である。 l・・・・・・メモリ装置、2・・・・・・転送装置、
3・・・・・・データレジスタ装置、4・・・・・・比
較装置、5・・・・・・シフト装置、6・・・・・・ゲ
ート装置、7・・・・・・条件レジスタ装置、8・・・
・・・処理ユニット、11・・・・・・分離回路、12
・・・・・・シフト回路、13・・・・・・アドレス部
−数構。 出回路、14・・・・・・バリュー部−数構出回路、1
5・・・・・・アンドゲート回路。 代理人の氏名 弁理士 中尾敏男 はか1名第3図 (A(e(c))す アドレス部 バソユー即 第4図 第6図
成を示すブロック図、第2図は第1図における比較装置
4の内部構成の一部を示すブロック図、第3図Ca1.
fblはリストデータの表形式表現の一例を示す説明
図、第4図はLISPの基本リスト操作関数における表
操作の一例を示す説明図、第5図はASSOC関数にお
ける表操作の一例を示す説明図、第6図(al、 Fb
lは本発明の一実施例におけるデータ処理装置の比較装
置において、比較データの一例を示す説明図である。 l・・・・・・メモリ装置、2・・・・・・転送装置、
3・・・・・・データレジスタ装置、4・・・・・・比
較装置、5・・・・・・シフト装置、6・・・・・・ゲ
ート装置、7・・・・・・条件レジスタ装置、8・・・
・・・処理ユニット、11・・・・・・分離回路、12
・・・・・・シフト回路、13・・・・・・アドレス部
−数構。 出回路、14・・・・・・バリュー部−数構出回路、1
5・・・・・・アンドゲート回路。 代理人の氏名 弁理士 中尾敏男 はか1名第3図 (A(e(c))す アドレス部 バソユー即 第4図 第6図
Claims (1)
- リストデータをノードの位置を示すアドレス部とデータ
値へのリファレンスを示すバリュー部とで構成した表形
式のデータとして記憶するメモリ装置と、上記表形式デ
ータの要素を記憶するデータレジスタ装置と、上記メモ
リ装置と上記データレジスタ装置とのデータ転送を行う
転送装置と、上記データレジスタ装置に記憶されたデー
タと比較するデータを記憶する条件レジスタ装置と、上
記データレジスタ装置と上記条件レジスタ装置の出力デ
ータを比較する比較装置と、上記比較装置の出力によっ
て上記データレジスタ装置の出力を制御するゲート装置
と、上記データレジスタ装置の入力に接続され、上記メ
モリ装置や上記データレジスタ装置から出力されたリス
トデータのアドレス部のシフト操作を行うシフト装置と
を具備し上記比較装置において入力データのアドレス部
をシフトしてから比較ができるようにしたことを特徴と
するデータ処理装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP62057101A JPS63223826A (ja) | 1987-03-12 | 1987-03-12 | デ−タ処理装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP62057101A JPS63223826A (ja) | 1987-03-12 | 1987-03-12 | デ−タ処理装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPS63223826A true JPS63223826A (ja) | 1988-09-19 |
Family
ID=13046114
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP62057101A Pending JPS63223826A (ja) | 1987-03-12 | 1987-03-12 | デ−タ処理装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPS63223826A (ja) |
-
1987
- 1987-03-12 JP JP62057101A patent/JPS63223826A/ja active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPS61210478A (ja) | ベクトル処理装置 | |
JPS63223826A (ja) | デ−タ処理装置 | |
JPS6137654B2 (ja) | ||
JPS63118941A (ja) | デ−タ処理装置 | |
JP2606305B2 (ja) | データ処理装置 | |
JPS63276129A (ja) | デ−タ処理装置 | |
JP2705166B2 (ja) | データ処理装置 | |
JPS6361334A (ja) | デ−タ処理装置 | |
JP2674301B2 (ja) | ビット転記方式 | |
JPS63118943A (ja) | デ−タ処理装置 | |
JPS63118942A (ja) | デ−タ処理装置 | |
JP2735255B2 (ja) | ハツシング処理方法 | |
JPS63292332A (ja) | デ−タ処理装置 | |
JPH01161440A (ja) | データ処理装置 | |
JPH0231278A (ja) | データ処理装置 | |
JPH0357089A (ja) | データ駆動型演算装置 | |
JPS6365523A (ja) | デ−タ処理装置 | |
JPS63118944A (ja) | デ−タ処理装置 | |
JPS63118940A (ja) | デ−タ処理装置 | |
JPH0285921A (ja) | 併合処理装置 | |
JPS6361335A (ja) | デ−タ処理装置 | |
JPS63291127A (ja) | デ−タ処理装置 | |
JPH01145727A (ja) | データ処理装置 | |
JPH0398163A (ja) | ベクトルデータ処理装置 | |
JPH01300741A (ja) | 伝送データ径路履歴格納方式 |