JPS63118940A - デ−タ処理装置 - Google Patents
デ−タ処理装置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
- memory 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
Landscapes
- Devices For Executing Special Programs (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
産業上の利用分野
本発明は主に人工知能分野へ使用することを目的とした
データ処理装置に関するものである。
データ処理装置に関するものである。
従来の技術
近年、コンピュータ応用の一つとして人工知能分野が盛
んに研究されている。この分野においては構造を持った
データを処理する必要があり、そのため構造データを取
り扱うことのできる言語であるLTSPが広く使用され
ている。LISP言語は汎用のコンピュータで実行する
のは非効率であるため様々な工夫を施した専用マシンが
開発されてきた。
んに研究されている。この分野においては構造を持った
データを処理する必要があり、そのため構造データを取
り扱うことのできる言語であるLTSPが広く使用され
ている。LISP言語は汎用のコンピュータで実行する
のは非効率であるため様々な工夫を施した専用マシンが
開発されてきた。
(例えばrLIsPマシン」 情報処理vo1.23
No、 8 pp752−772)。
No、 8 pp752−772)。
これら専用マシンは主に言語的側面からアプローチを行
ったもので、その改善の内容の代表的なものを以下に示
す。+IICAR,CDR等、原始的関数はマイクロプ
ログラムレベルで実行する。(2)ジェネリックデータ
タイプを扱うためTAG付きデータ形式とする。(3)
スタック処理を高速にするためハードウェアコントロー
ルスタックを設ける。
ったもので、その改善の内容の代表的なものを以下に示
す。+IICAR,CDR等、原始的関数はマイクロプ
ログラムレベルで実行する。(2)ジェネリックデータ
タイプを扱うためTAG付きデータ形式とする。(3)
スタック処理を高速にするためハードウェアコントロー
ルスタックを設ける。
しかしながら、上記したような言語の実行系に関する改
善はなされてきたものの、計算機内部における構造体デ
ータの表現としては基本的には要素の順序関係と結合の
方法をポインタで表現したもの(以下リストと呼ぶ)を
使用しているため次のような問題があった。(1)任意
の要素へのアクセスがリストたぐりとなり効率が悪い。
善はなされてきたものの、計算機内部における構造体デ
ータの表現としては基本的には要素の順序関係と結合の
方法をポインタで表現したもの(以下リストと呼ぶ)を
使用しているため次のような問題があった。(1)任意
の要素へのアクセスがリストたぐりとなり効率が悪い。
(2)リストマツチングはリストの分解操作を伴うため
非効率である。(3)ガーベソジコレクションが困難で
ある。(4)メモリ参照の局所性が悪く、キャッシュの
ヒント率が下がる。また、基本的には共有構造をとるた
め以下の問題が生じた。151RPLACA。
非効率である。(3)ガーベソジコレクションが困難で
ある。(4)メモリ参照の局所性が悪く、キャッシュの
ヒント率が下がる。また、基本的には共有構造をとるた
め以下の問題が生じた。151RPLACA。
RPLACD等、直接リスト操作を行うと陰に他のデー
タも変更してしまうといった思いがけない副作用が生じ
る。(6)並列処理時、変数のロックが困難である。一
方、これらの問題点を解決するためには、基本的にリス
トデータの表現をかえる試みが提案されている。
タも変更してしまうといった思いがけない副作用が生じ
る。(6)並列処理時、変数のロックが困難である。一
方、これらの問題点を解決するためには、基本的にリス
トデータの表現をかえる試みが提案されている。
一般に2進木リストは始点のノードから始まって順次左
右に分岐して行き、葉のノードでそれぞれの分岐が終了
する形をとる。葉のノードにはアトムノードとNILノ
ードの2種類がある。葉のノードでないノードは分岐が
続行している事を示すリストノードである。このリスト
ノードは葉のノードの位置を間接的にあられすためのも
のである。
右に分岐して行き、葉のノードでそれぞれの分岐が終了
する形をとる。葉のノードにはアトムノードとNILノ
ードの2種類がある。葉のノードでないノードは分岐が
続行している事を示すリストノードである。このリスト
ノードは葉のノードの位置を間接的にあられすためのも
のである。
ポインタ表現ではこの構造表現をそのままの形で全ての
ノードをアドレスで接続したセルで表現している。
ノードをアドレスで接続したセルで表現している。
しかしながら、葉のノードの位置を直接的にあられすこ
とができれば、リストノードの情報を持つ必要はない。
とができれば、リストノードの情報を持つ必要はない。
したがって、葉の位置情報と葉自身の情報を順次並べた
表で、等価なりストデータを表現することができる。葉
のノード位置を表現する方法としてCDR方向に順次番
号を付け、CAR方向に順次項目を割り当てた一次元ベ
クトル表現が提案されている。
表で、等価なりストデータを表現することができる。葉
のノード位置を表現する方法としてCDR方向に順次番
号を付け、CAR方向に順次項目を割り当てた一次元ベ
クトル表現が提案されている。
(例えば、「構造を持ったデータの高速マツチング方式
」 情報処理学会 第33口金国大会7D−2) 従ってリストデータは葉の位置情報を示すベクトルと葉
自身の情報を組としたデータの集合で表現される。
」 情報処理学会 第33口金国大会7D−2) 従ってリストデータは葉の位置情報を示すベクトルと葉
自身の情報を組としたデータの集合で表現される。
第3図にリストデータの表現例を示す。これは5式で表
記した場合(A (B (C) ) D)となるリスト
データの図式表現f8+、および、表形式表現(blを
示したものである。図式表現において丸印はリストノー
ドを表し、四角で囲ったものは葉のノードを示している
。また各ノードの上に付記した数字列は前記した方法に
従って表したノード位置を示すものである。この葉の部
分を抜きだして表の形で表現したものが表形式表現山)
であって、ADDRESS部にノード位置ベクトルが、
VALUE部に葉の要素が入った表で構成されている。
記した場合(A (B (C) ) D)となるリスト
データの図式表現f8+、および、表形式表現(blを
示したものである。図式表現において丸印はリストノー
ドを表し、四角で囲ったものは葉のノードを示している
。また各ノードの上に付記した数字列は前記した方法に
従って表したノード位置を示すものである。この葉の部
分を抜きだして表の形で表現したものが表形式表現山)
であって、ADDRESS部にノード位置ベクトルが、
VALUE部に葉の要素が入った表で構成されている。
リストをこのような表形式で表現した場合、ポインタ表
現の多くの欠点は免れることができるが、当然、その演
算体系は従来のポインタ表現とは異なる。
現の多くの欠点は免れることができるが、当然、その演
算体系は従来のポインタ表現とは異なる。
第4図にLISPの基本リスト操作関数における裏操作
の一例を示す。
の一例を示す。
第4図で明かなようにCAR関数はADIlRESS部
の先頭が1の要素を抜き出し、2番目以下のAD、DR
ESSを先頭方向にシフトすることにより(これを以下
CARシフトと呼ぶ)実行することができる。CDR関
数はCAR関数とは逆に先頭ADDRESSが1の要素
を取り除き、残った要素の先頭ADDRESSから1を
減じることにより (以下これをCDRシフトと呼ぶ)
実行される。
の先頭が1の要素を抜き出し、2番目以下のAD、DR
ESSを先頭方向にシフトすることにより(これを以下
CARシフトと呼ぶ)実行することができる。CDR関
数はCAR関数とは逆に先頭ADDRESSが1の要素
を取り除き、残った要素の先頭ADDRESSから1を
減じることにより (以下これをCDRシフトと呼ぶ)
実行される。
C0N5関数についてはもう少し複雑である。
まずC0N5関数の第一引数について、ADDRESS
部を先頭方向とは逆の方向にシフトし、先頭ADDRE
SSを1とする。これは前記したCARシフトとは逆の
演算であり、以下RCARシフトと呼ぶ。第二引数につ
いては先頭ADDRESSに1を加算する(以下これを
RCARと同じ理由でRCDRシフトと呼ぶ)。次にこ
の二つの引数を一つの表としてまとめればC0N5関数
は実行される。
部を先頭方向とは逆の方向にシフトし、先頭ADDRE
SSを1とする。これは前記したCARシフトとは逆の
演算であり、以下RCARシフトと呼ぶ。第二引数につ
いては先頭ADDRESSに1を加算する(以下これを
RCARと同じ理由でRCDRシフトと呼ぶ)。次にこ
の二つの引数を一つの表としてまとめればC0N5関数
は実行される。
発明が解決しようとする問題点
しかしながら上記のような構成では、ポインタ表現では
極めて容易に行えるCAR,CDR。
極めて容易に行えるCAR,CDR。
C0N5といったLTSPの基本関数が表形式では全て
の要素に対しての演算を必要とするので、リストデータ
処理に対するパフォーマンスが劣るという問題点を有し
ていた。
の要素に対しての演算を必要とするので、リストデータ
処理に対するパフォーマンスが劣るという問題点を有し
ていた。
本発明は上記問題点に鑑み、簡単な構成で効率良く表形
式のリストデータを処理することのできるデータ処理装
置を提供するものである。
式のリストデータを処理することのできるデータ処理装
置を提供するものである。
問題点を解決するための手段
上記問題点を解決するために本発明のデータ処理装置は
、リストデータをノードの位置を示すADDRESS部
とデータ値へのリファレンスを示すVALUE部とで構
成した表形式のデータとして記憶するメモリ装置と、前
記表形式データの要素を記憶するレジスタ装置と、前記
メモリ装置から転送されるデータと前記レジスタ装置か
らのフi゛二下バ・ツクされるデータとを選択して出力
する入力選択回路と前記入力選択回路から出力されたデ
ータのADDRESS部データを左右方向へシフトする
バレルシフト回路と前記バレルシフト回路の出力に接続
されADDRESS部データの先頭値を1だけ増減する
加算回路から構成されるシフト装置とを具備したもので
ある。
、リストデータをノードの位置を示すADDRESS部
とデータ値へのリファレンスを示すVALUE部とで構
成した表形式のデータとして記憶するメモリ装置と、前
記表形式データの要素を記憶するレジスタ装置と、前記
メモリ装置から転送されるデータと前記レジスタ装置か
らのフi゛二下バ・ツクされるデータとを選択して出力
する入力選択回路と前記入力選択回路から出力されたデ
ータのADDRESS部データを左右方向へシフトする
バレルシフト回路と前記バレルシフト回路の出力に接続
されADDRESS部データの先頭値を1だけ増減する
加算回路から構成されるシフト装置とを具備したもので
ある。
作用
本発明は上記した構成によって、表形式のリストデータ
に対する操作、例えば前記したCARシフト、CDRシ
フト、RCARシフト、RCDRCD上などの操作をバ
レルシフト回路、加算回路を用いて効率良く実現できる
こととなる。
に対する操作、例えば前記したCARシフト、CDRシ
フト、RCARシフト、RCDRCD上などの操作をバ
レルシフト回路、加算回路を用いて効率良く実現できる
こととなる。
実施例
以下本発明の一実施例のデータ処理装置について、図面
を参照しながら説明する。第1図は本発明の実施例にお
けるデータ処理装置の構成を示すものである。
を参照しながら説明する。第1図は本発明の実施例にお
けるデータ処理装置の構成を示すものである。
第1図において1はメモリ装置、2は転送装置、3はシ
フト装置、4はレジスタ装置である。第2図は上記実施
例におけるシフト装置の内部構成を示すものである。
フト装置、4はレジスタ装置である。第2図は上記実施
例におけるシフト装置の内部構成を示すものである。
第2図において21は入力選択回路、22はバレルシフ
ト回路、23は加算回路である。
ト回路、23は加算回路である。
以上のように構成されたデータ処理装置につき、以下第
1図および第2図をもちいてその動作を説明する。
1図および第2図をもちいてその動作を説明する。
第1図においてメモリ装置1に蓄えられたりストデータ
は処理される場合、転送装置2によりレジスタ装置4ヘ
シフト装置3を通して転送される。
は処理される場合、転送装置2によりレジスタ装置4ヘ
シフト装置3を通して転送される。
第2図において入力選択回路21は、メモリ装置lから
の転送データとレジスタ装置4からのフィードハックさ
れたデータとを選択信号SELにより切り替えて出力す
るもので、メモリ装置1からの転送時はM!をレジスタ
内演算の場合はAIの信号を出力する。入力選択回路2
1から出力されたデータはADDRESS部とVALU
E部に分離され、ADDRESS部データADはバレル
シフト回路22の入力となり、一方VALUE部データ
VDはそのままシフト装置3の出力RDの一部となる。
の転送データとレジスタ装置4からのフィードハックさ
れたデータとを選択信号SELにより切り替えて出力す
るもので、メモリ装置1からの転送時はM!をレジスタ
内演算の場合はAIの信号を出力する。入力選択回路2
1から出力されたデータはADDRESS部とVALU
E部に分離され、ADDRESS部データADはバレル
シフト回路22の入力となり、一方VALUE部データ
VDはそのままシフト装置3の出力RDの一部となる。
バレルシフト回路はADDRESS部のデータを左右方
向ヘシフトする回路で、シフト選択信号SHCにより制
御される。CARシフト時には前記したように先頭方向
へのシフトであるが、この場合最後部のアドレスにはO
が入る。
向ヘシフトする回路で、シフト選択信号SHCにより制
御される。CARシフト時には前記したように先頭方向
へのシフトであるが、この場合最後部のアドレスにはO
が入る。
RCARシフト時は反対に先頭部に0が入る。
CDRシフト、RCDRCD上はいわゆるシフト操作で
はなく、ADDRESS部の先頭値が1だけ増減する操
作であるから、バレルシフト回路でのシフトは受けず、
その出力に接続され、加算制御信号ACにより制御され
る加算回路23でこの処理が行われる。
はなく、ADDRESS部の先頭値が1だけ増減する操
作であるから、バレルシフト回路でのシフトは受けず、
その出力に接続され、加算制御信号ACにより制御され
る加算回路23でこの処理が行われる。
以上のように本実施例によれば、リストデータをノード
の位置を示すADDRESS部とデータ値へのリファレ
ンスを示すVALUE部とで構成した表形式のデータと
して記憶するメモリ装置と、前記表形式データの要素を
記憶するレジスタ装置と、前記メモリ装置から転送され
るデータと前記レジスタ装置からのフィードバックされ
るデータとを選択して出力する入力選択回路と前記入力
選択回路から出力されたデータのADDRESS部デー
タを左右方向へシフトするバレルシフト回路と前記バレ
ルシフト回路の出力に接続されADDRESS部データ
の先頭値を1だけ増減する加算回路から構成されるシフ
ト装置とを設けることにより、表形式で表現されたリス
トデータのシフト処理を効率よく行うことが出来る。
の位置を示すADDRESS部とデータ値へのリファレ
ンスを示すVALUE部とで構成した表形式のデータと
して記憶するメモリ装置と、前記表形式データの要素を
記憶するレジスタ装置と、前記メモリ装置から転送され
るデータと前記レジスタ装置からのフィードバックされ
るデータとを選択して出力する入力選択回路と前記入力
選択回路から出力されたデータのADDRESS部デー
タを左右方向へシフトするバレルシフト回路と前記バレ
ルシフト回路の出力に接続されADDRESS部データ
の先頭値を1だけ増減する加算回路から構成されるシフ
ト装置とを設けることにより、表形式で表現されたリス
トデータのシフト処理を効率よく行うことが出来る。
発明の効果
以上のように本発明はりストデータをノードの位置を示
すADDRESS部とデータ値へのリファレンスを示す
VALUE部とで構成した表形式のデータとして記憶す
るメモリ装置と、前記表形式データの要素を記憶するレ
ジスタ装置と、前記メモリ装置から転送されるデータと
前記レジスタ装置からのフィードバックされるデータと
を選択して出力する入力選択回路と前記入力選択回路か
ら出力されたデータのADDRESS部データを左右方
向へシフトするバレルシフト回路と前記バレルシフト回
路の出力に接続されADDRESS部データの先頭値を
1だけ増減する加算回路から構成されるシフト装置とを
設けることにより、表形式で表現されたリストデータの
シフト処理を効率よく行うことが可能となる。
すADDRESS部とデータ値へのリファレンスを示す
VALUE部とで構成した表形式のデータとして記憶す
るメモリ装置と、前記表形式データの要素を記憶するレ
ジスタ装置と、前記メモリ装置から転送されるデータと
前記レジスタ装置からのフィードバックされるデータと
を選択して出力する入力選択回路と前記入力選択回路か
ら出力されたデータのADDRESS部データを左右方
向へシフトするバレルシフト回路と前記バレルシフト回
路の出力に接続されADDRESS部データの先頭値を
1だけ増減する加算回路から構成されるシフト装置とを
設けることにより、表形式で表現されたリストデータの
シフト処理を効率よく行うことが可能となる。
第1図は本発明の一実施例におけるデータ処理装置の構
成図、第2図は第1図のシフト装置の内部構成図、第3
図はリストデータの表形式表現の一例を示す図、第4図
はLISPの基本リスト操作関数における裏操作の一例
を示す図である。 l・・・・・・メモリ装置、2・・・・・・転送装置、
3・・・・・・シフト装置、4・・・・・・レジスタ装
置、21・・・・・・入力選択回路、22・・・・・・
バレルシフト装置、23・・・・・・加算回路。 代理人の氏名 弁理士 中尾敏男 はか1名第3図 (A(日(C))D) 第4図
成図、第2図は第1図のシフト装置の内部構成図、第3
図はリストデータの表形式表現の一例を示す図、第4図
はLISPの基本リスト操作関数における裏操作の一例
を示す図である。 l・・・・・・メモリ装置、2・・・・・・転送装置、
3・・・・・・シフト装置、4・・・・・・レジスタ装
置、21・・・・・・入力選択回路、22・・・・・・
バレルシフト装置、23・・・・・・加算回路。 代理人の氏名 弁理士 中尾敏男 はか1名第3図 (A(日(C))D) 第4図
Claims (1)
- 【特許請求の範囲】 リストデータをノードの位置を示すADDRESS部と
データ値へのリファレンスを示すVALUE部とで構成
した表形式のデータとして記憶するメモリ装置と、前記
表形式データの要素を記憶するレジスタ装置と、前記メ
モリ装置から転送されるデータと前記レジスタ装置から
のフィードバックされるデータとを選択して出力する入
力選択回路と前記入力選択回路から出力されたデータの ADDRESS部データを左右方向へシフトするバレル
シフト回路と前記バレルシフト回路の出力に接続されA
DDRESS部データの先頭値を1だけ増減する加算回
路から構成されるシフト装置とを具備し、表形式で表現
されたリストデータのシフト処理を行うことを特徴とす
るデータ処理装置。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP61266011A JPS63118940A (ja) | 1986-11-07 | 1986-11-07 | デ−タ処理装置 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP61266011A JPS63118940A (ja) | 1986-11-07 | 1986-11-07 | デ−タ処理装置 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPS63118940A true JPS63118940A (ja) | 1988-05-23 |
Family
ID=17425133
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP61266011A Pending JPS63118940A (ja) | 1986-11-07 | 1986-11-07 | デ−タ処理装置 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPS63118940A (ja) |
-
1986
- 1986-11-07 JP JP61266011A patent/JPS63118940A/ja active Pending
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| Kam et al. | A fully implicit algorithm for exact state minimization | |
| JP3137117B2 (ja) | 高速処理計算機 | |
| JPS59111569A (ja) | ベクトル処理装置 | |
| JPS63118940A (ja) | デ−タ処理装置 | |
| US4924377A (en) | Pipelined instruction processor capable of reading dependent operands in parallel | |
| RU2066067C1 (ru) | Центральный процессор для многопроцессорной вычислительной системы | |
| JPS63118943A (ja) | デ−タ処理装置 | |
| JP2705166B2 (ja) | データ処理装置 | |
| JPS63118941A (ja) | デ−タ処理装置 | |
| JPH0231232A (ja) | データ処理装置 | |
| JPS63118942A (ja) | デ−タ処理装置 | |
| JPS63292333A (ja) | デ−タ処理装置 | |
| Hollaar | An architecture for the efficient combining of linearly ordered lists | |
| JPS63136168A (ja) | ベクトル計算機 | |
| JP2735255B2 (ja) | ハツシング処理方法 | |
| JPH01287745A (ja) | データ処理装置 | |
| JPS63255741A (ja) | デ−タ処理装置 | |
| JPS63292331A (ja) | デ−タ処理装置 | |
| JPH0231278A (ja) | データ処理装置 | |
| JPS63291127A (ja) | デ−タ処理装置 | |
| JPS63219037A (ja) | デ−タ処理装置 | |
| JPS59189474A (ja) | 高速フ−リエ変換演算装置 | |
| JPH01213756A (ja) | 演算装置 | |
| JPS6361334A (ja) | デ−タ処理装置 | |
| JPH01305424A (ja) | 撮像装置 |