JP2705166B2 - データ処理装置 - Google Patents

データ処理装置

Info

Publication number
JP2705166B2
JP2705166B2 JP31340988A JP31340988A JP2705166B2 JP 2705166 B2 JP2705166 B2 JP 2705166B2 JP 31340988 A JP31340988 A JP 31340988A JP 31340988 A JP31340988 A JP 31340988A JP 2705166 B2 JP2705166 B2 JP 2705166B2
Authority
JP
Japan
Prior art keywords
data
address
list
register
storing
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.)
Expired - Lifetime
Application number
JP31340988A
Other languages
English (en)
Other versions
JPH02158835A (ja
Inventor
英明 石松
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 JP31340988A priority Critical patent/JP2705166B2/ja
Publication of JPH02158835A publication Critical patent/JPH02158835A/ja
Application granted granted Critical
Publication of JP2705166B2 publication Critical patent/JP2705166B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Description

【発明の詳細な説明】 産業上の利用分野 本発明は主に人工知能分野へ使用することを目的とし
たデータ処理装置に関するものである。
従来の技術 近年、コンピュータ応用の一つとして人工知能分野が
盛んに研究されている。この分野においては構造を持っ
たデータを処理する必要があり、そのため構造データを
取り扱うことのできる言語であるLISPが広く使用されて
いる。LISP言語は汎用のコンピュータで実行するのは非
効率であるため様々な工夫を施した専用マシンが開発さ
れてきた。
これら専用マシンは主に言語的側面からアプローチを
行って改善を行ったものでその改善の内容の代表的なも
のを以下に示す。
(1) CAR,CDR等、原子的関数はマイクロプログラム
レベルで実行する。
(2) ジェネリックデータタイプを扱うためTAG付き
データ形式とする。
(3) スタック処理を高速にするためハードウエアコ
ントロールスタックを設ける(たとえば「LISPマシン」
情報処理Vol.23 No.8pp752−772)。
このように、言語の実行系に関する改善はなされてき
たもの、計算機内部における構造体データの表現として
は基本的には要素の順序関係と結合の方法をポインタで
表現したもの(以下リストと呼ぶ)を使用しているため
次のような問題があった。
(1) 任意の要素へのアクセスがリストたぐりとなる
効率が悪い。
(2) リストマッチングはリストの分解操作を伴うた
め非効率である。
(3) ガーベッジコレクションが困難である。
(4) メモリ参照の局所性が悪く、キャッシュのヒッ
ト率が下がる。また、基本的には共有構造をとるため以
下の問題が生じた。
(5) RPLACA,PRLACD等、直接リスト操作を行うと陰
に他のデータも変更してしまうといった思いがけない副
作用が生じる。
(6) 並列処理時、変数のロックが困難である。これ
らの問題点を解決するためには、基本的にリストデータ
の表現をかえる必要がある。2進木リストは始点のノー
ドから始まって順次左右に分岐して行き葉のノードでそ
れぞれの分岐が終了する形をとる。葉のノードにはアト
ムノードとNILノードの2種類がある。葉のノードでな
いノードは分岐が続行している事を示すリストノードで
ある。このリストノードは葉のノードの位置を間接的に
あらわすためのものである。
ポインタ表現ではこの構造表現をそのままの形で全て
のノードをアドレスで接続したセルで表現している。
しかしながら、葉のノードの位置を直接的にあらわす
ことができれば、リストノードの情報を持つ必要はな
い。したがって葉の位置情報と葉自身の情報を順次並べ
た表で、等価なリストデータを表現することができる。
我々はこの葉のノード位置を表現する方法としてCDR方
向に順次番号を付け、CAR方向に順次項目を割り当てた
一次元ベクトル表現を採用した。したがってリストデー
タは葉の位置情報を示すベクトルと葉自身の情報を組と
したデータの集合で表現される。
第3図にリストデータの表現例を示す。これはS式で
表記した場合(A(B(C))D)となるリストデータ
の図式表現(a)、および、表形式表現(b)を示した
ものである。図式表現において丸印はリストノードを表
し、四角で囲ったものは葉のノードを示している。また
各ノードの上に付記した数字列は上記した方法に従って
表したノード位置を示すものである。この葉の部分を抜
きだして表の形で表現したものが表形式表現(b)であ
って、アドレス部にノード位置ベクトルが、バリュー部
に葉の要素が入った表で構成されている。
リストをこのような表形式で表現した場合、前記した
ポインタ表現の多くの欠点は免れることができ、さらに
各要素の演算を並列に行なうことによって、パターンマ
ッチングなどのリスト処理を高速におこなうことができ
る。
以下図面を参照しながら上述した従来のデータ処理装
置の一例について説明する。第4図は従来のデータ処理
装置の構成を示すものである。
第4図において24は主データメモリ装置、25は主デー
タレジスタ装置、26は主データ演算装置、28は要素メモ
リ装置、29は要素レジスタ装置、30は要素演算装置、32
はデータ制御部であり、主データメモリ装置24と主デー
タレジスタ装置25と主データ演算装置26より構成される
主データ処理部27と、要素メモリ装置28と要素レジスタ
装置29と要素演算装置30より構成される要素処理部31に
よって構成される。
以上のように構成されたデータ処理装置につき、以下
第3図,第4図および第5図を用いてその動作を説明す
る。
まず、第5図は主データメモリ装置と要素メモリ装置
との関係を示す図である。
第5図において、24は主メモリ装置、28は要素メモリ
装置、33はリスト識別アドレスであり、34は要素アドレ
ス部、35はバリュー部、36は単位アドレス記憶域であ
る。
リストデータは、識別情報と複数の要素データからな
る。リスト識別アドレス33は、要素メモリ内のアドレス
であり、主データメモリ装置24に記憶されている。ま
た、リストの要素データは、各々複数の単位アドレス記
憶域36からなる要素アドレス部34とバリュー部35からな
り、同一のリストデータを構成する複数の要素データ
は、複数の要素メモリ装置28においてリストデータの識
別情報33に示される同一アドレスに記憶されている。
同様に、主データレジスタ装置25と各要素レジスタ装
置29も対応関係を持つ。
リストデータに対する処理が必要なときには、リスト
識別アドレス33を主データメモリ装置24から主レジスタ
装置25に転送すると同時に、データ制御装置32により各
要素処理部31に対して同一のアドレスに各要素を転送
し、各要素処理部31において、要素メモリ装置28の指示
されたアドレスから要素データを要素レジスタ装置29に
転送する。さらに、主データ演算装置26に対する演算命
令と同時に、データ制御装置32により各要素処理部31に
対し同一の演算命令を転送し、複数の要素演算装置30に
より複数の要素データに対し、並列に演算を施すことが
できる。
発明が解決しようとする課題 しかしながら、前記した表形式では、アドレス部の単
位アドレス記憶域に設定できるアドレスのベクトル長の
大きさに制限があり、その制限より大きなアドレスのベ
クトル長を有するリストは、処理することができないと
いう問題点を有していた。
本発明は上記問題点に鑑みてなされたもので、簡単な
構成でアドレスのベクトル長の制限なく大きなリストも
表形式のリストデータとして処理することのできるデー
タ処理装置を提供するものである。
課題を解決するための手段 上記問題点を解決するために本発明のデータ処理装置
は、リストデータを木構造で表現したときのノードの位
置を示すアドレス部とデータ値へのリファレンスを示す
バリュー部とで構成した表形式のデータとして記憶する
要素メモリ装置と、上記表形式データの要素を転送して
記憶するアドレス部とバリュー部からなる要素レジスタ
装置と、上記要素レジスタ装置に記録された要素に演算
を行なう要素演算装置と、上記要素演算装置の演算結果
を格納する要素演算フラグ記憶装置から構成される複数
の要素データ処理部と、リストデータの識別情報と非リ
ストデータを記憶する主データメモリ装置と、上記主デ
ータメモリ装置に記憶されたリストデータの識別情報と
非リストデータを転送して記憶する主データレジスタ装
置と、上記主データレジスタ装置に記録されたリストデ
ータの識別情報と非リストデータに演算を行なう主デー
タ演算装置と、上記主データ演算装置の演算結果や上記
要素演算フラグ記憶装置の論理和を格納する主演算フラ
グ記憶装置から構成される主データ処理部と、上記要素
レジスタ装置にノード位置を示すアドレスのベクトル長
がオーバーフローしている要素があることを示すフラグ
を記憶するレジスタ対応フラグ記憶装置とオーバーフロ
ーしたアドレス値の拡張部分の記憶場所を示すポンイン
タを記憶するレジスタ対応ポインタ記憶装置と、上記要
素メモリ装置にノード位置を示得すアドレスのベクトル
長がオーバーフローしている要素があることを示すフラ
グを記憶するメモリ対応フラグ記憶装置とオーバーフロ
ーしたアドレス値の拡張部分の記憶場所を示すポインタ
を記憶するメモリ対応ポインタ記憶装置とから構成され
るオーバーフロー記憶部と、上記主データ処理部と上記
複数の要素データ処理部と上記オーバーフロー記憶部間
の処理の制御を行ない、すべての要素演算フラグ記憶装
置に格納された演算結果を読み出し論理和を取り主演算
フラグ記憶装置に論理和の結果を書き込むデータ制御部
という構成を備えたものである。
作用 本発明は上記した構成によって、リストのアドレスの
ベクトル長のオーバーフローが発生した場合は、アドレ
スのベクトル長のオーバーフローを示すフラグとオーバ
ーフローしたアドレス値の拡張部分の記憶場所を示すポ
インタをオーバーフロー記憶部に格納し、オーバーフロ
ー記憶部の格納内容を参照して、処理することにより、
リストのアドレスのベクトル長による制限をなくし、ア
ドレスのベクトル長の大きなリストを処理することがで
きるようにし、各要素処理部の演算結果を格納し、その
結果を集計して主データ処理部に格納することにより演
算結果を残して次の演算で前の演算結果を利用できる。
実 施 例 以下本発明の一実施例のデータ処理装置について、図
面を参照しながら説明する。
第1図は本発明の実施例におけるデータ処理装置の構
成を示すものである。
第1図において1は主データメモリ装置、2は主デー
タレジスタ装置、3は主データ演算装置、4は主演算フ
ラグ記憶装置、5は主データメモリ装置1、主データレ
ジスタ装置2、主データ演算装置3、主演算フラグ記憶
装置4より構成される主データ処理部、6はメモリ対応
フラグ記憶装置、7はメモリ対応ポインタ記憶装置、8
はレジスタ対応フラグ記憶装置、9はレジスタ対応ポイ
ンタ記憶装置、10はメモリ対応フラグ記憶装置6、メモ
リ対応ポインタ記憶装置7、レジスタ対応フラグ記憶装
置8、レジスタ対応ポインタ記憶装置9より構成される
オーバーフロー記憶部、11は要素メモリ装置、12は要素
レジスタ装置、13は要素演算装置、14は要素演算フラグ
記憶装置、15は要素メモリ装置11、要素レジスタ装置1
2、要素演算装置13、要素演算フラグ記憶装置14より構
成される複数の要素処理部、16はデータ制御装置であ
る。
以上のように構成されたデータ処理装置につき、以下
第1図および第2図を用いてその動作を説明する。
まず、第2図は上記実施例のデータ処理装置におい
て、アドレスのベクトル長が単位アドレス記憶域の制限
を越えたリストデータの記憶方法を示す図である。
第2図において1は主メモリ装置、6はメモリ対応フ
ラグ記憶装置、7はメモリ対応ポインタ記憶装置、11は
要素メモリ装置、17はリスト識別アドレス、18は要素ア
ドレス部、19はバリュー部、20は単位アドレス記憶域で
あり格納できるアドレスの最大ベクトル長をNとする。
さらに、21はフラグ記憶域、22はポインタ記憶域、23は
バリュー記憶域である。メモリ対応ポインタ記憶装置7
の各ポインタ記憶域22と要素メモリ装置11の同じアドレ
スの各単位アドレス記憶域20とバリュー記憶域23は対応
し、メモリ対応ポインタ記憶装置7の各ポインタ記憶域
22とメモリ対応フラグ記憶域6の各フラグ記憶域21も対
応する。同様に、第1図においてレジスタ対応フラグ記
憶装置8とレジスタ対応ポインタ記憶装置9と各要素レ
ジスタ装置12も対応関係を持つ。
リストを構成する複数の要素データのアドレスのベク
トル長が、全て単位アドレス記憶域のアドレスの最大ベ
クトル長の制限内に収まる場合には、そのリストのリス
ト識別アドレス17のポインタがさすフラグ記憶域21の値
はOであり、他は要素データの記憶方法、処理方法は従
来例と同じである。
リストを構成する要素データのうち、そのアドレスの
ベクトル長が、単位アドレス記憶域の最大アドレスの制
限内に収まらない要素データが存在する場合、そのリス
トのリスト識別アドレス17のポインタがさすフラグ記憶
域21の値は1であり、アドレスの最大ベクトル長に収ま
る単位アドレス記憶部20ばかりを持つ要素アドレス部18
の要素も、アドレスの最大ベクトル長に収まらない単位
アドレス記憶域を持つ要素アドレス部18の要素も、その
要素のバリューは、従来と同じくそのリストのリスト識
別アドレス17のさすバリュー部19に持つ。さらに、リス
ト識別アドレス17のさすフラグ記憶域21に対応するポイ
ンタ記憶域22には、要素データの単位アドレス記憶域の
最大ベクトル長Nを越えたアドレスの越えた部分の値を
記憶する要素メモリ装置11のアドレスが書かれている。
このアドレス値と同一の各要素メモリ装置11のアドレス
には、同じ要素メモリ装置の要素データのアドレス部18
の単位アドレス記憶域20に対応する単位アドレス記憶域
20に最大ベクトル長Nを越えたアドレスの値を、N以内
のベクトル長の値とNを越えたベクトル長の値にわけて
記憶する。わけた値がさらに単位アドレス記憶域の最大
ベクトル長Nを越えた場合、さらにポインタ記憶域22が
さすフラグ記憶域21を1にし、そのフラグ記憶域21に対
応するポインタ記憶域22に要素データの単位アドレス記
憶域20のアドレス値をN以内のベクトル長の値とNを越
えたベクトル長の値にわけて記憶し、その値を記憶する
要素メモリ装置11のアドレスを設定する。これを繰返す
ことにより、アドレスのベクトル長の大きなリストを処
理することができる。
このように、単位アドレス記憶域20で記憶できないア
ドレス値をオーバーフロー記憶部10により、1つのアド
レスについて複数の単位アドレス記憶域20を持てるよう
にし、それらのアドレスを合わせることにより、大きな
ベクトル長のアドレス値に対応したものである。
したがって上記の構成によって、任意のアドレス値の
リストデータを処理できる。
2つのリストのパターンマッチング処理を行う場合、
まず、主演算フラグ記憶装置4とすべての要素演算フラ
グ記憶装置14に0の値を格納し、2つのリストデータを
主データメモリ装置1と各要素メモリ装置11から主デー
タレジスタ装置2と各要素レジスタ装置12に転送する。
リストのパターンマッチングは各要素処理15内で2つの
リストの各要素のアドレス部とバリュー部の比較演算を
行う。等価でなければ、その要素処理部15内の要素演算
フラグ記憶装置14に1を格納する。データ制御装置16
は、すべての要素処理部15内の要素演算フラグ記憶装置
14の値の論理和を取り、その結果を主演算フラグ記憶装
置4に格納する。これらの処理後、主演算フラグ記憶装
置4に0が格納されていれば、2つのリストはパターン
マッチングしていることが確認できる。
発明の効果 以上のように本発明は、リストデータを木構造で表現
したときのノードの位置を示すアドレス部とデータ値へ
のリファレンスを示すバリュー部とで構成した表形式の
データとして記憶する要素メモリ装置と、上記表形式デ
ータの要素を転送して記憶するアドレス部とバリュー部
からなる要素レジスタ装置と、上記要素レジスタ装置に
記録された要素に演算を行なう要素演算装置と、上記要
素演算装置の演算結果を格納する要素演算フラグ記憶装
置から構成される複数の要素データ処理部と、リストデ
ータの識別情報と非リストデータを記憶する主データメ
モリ装置と、上記主データメモリ装置に記憶されたリス
トデータの識別情報と非リストデータを転送して記憶す
る主データレジスタ装置と、上記主データレジスタ装置
に記録されたリストデータの識別情報と非リストデータ
に演算を行なう主データ演算装置と、上記主データ演算
装置の演算結果や上記要素演算フラグ記憶装置の論理和
を可能する主演算フラグ記憶装置から構成される主デー
タ処理部と、上記要素レジスタ装置にノード位置を示す
アドレスのベクトル長がオーバーフローしている要素が
あることを示すフラグを記憶するレジスタ対応フラグ記
憶装置とオーバーフローしたアドレス値の拡張部分の記
憶場所を示すポインタを記憶するレジスタ対応ポインタ
記憶装置と、上記要素メモリ装置にノード位置を示すア
ドレスのベクトル長がオーバーフローしている要素があ
ることを示すフラグを記憶するメモリ対応フラグ記憶装
置とオーバーフローしたアドレス値の拡張部分の記憶場
所を示すポインタを記憶するメモリ対応ポインタ記憶装
置とから構成されるオーバーフロー記憶部と、上記主デ
ータ処理部と上記複数の要素データ処理部と上記オーバ
ーフロー記憶部間の処理の制御を行ない、すべての要素
演算フラグ記憶装置に格納された演算結果を読み出し論
理和を取り主演算フラグ記憶装置に論理和の結果を書き
込むデータ制御部を具備し、リストのアドレスのベクト
ル長による制限をなくし、アドレスのベクトル長の大き
なリストを処理することができるようにし、演算結果を
残し次の演算で利用できるようになる。
【図面の簡単な説明】
第1図は本発明の一実施例におけるデータ処理装置の構
成図、第2図は本発明の一実施例におけるデータ処理装
置でのアドレス値が単位アドレス記憶域の制限を越えた
リストデータの記憶方法を示す図、第3図はリストデー
タの表形式表現の一例を示す図、第4図は従来のデータ
処理装置の構成図、第5図は従来例における主データメ
モリ装置と要素メモリ装置との関係を示す図である。 1……主データメモリ装置、2……主データレジスタ装
置、3……主データ演算装置、4……主演算フラグ記憶
装置、5……主データ処理部、6……レジスタ対応フラ
グ記憶装置、7……レジスタ対応ポインタ記憶装置、8
……メモリ対応フラグ記憶装置、9……メモリ対応ポイ
ンタ記憶装置、10……オーバーフロー記憶部、11……要
素メモリ装置、12……要素レジスタ装置、13……要素演
算装置、14……要素演算フラグ記憶装置、15……要素処
理部、16……データ制御装置。

Claims (1)

    (57)【特許請求の範囲】
  1. 【請求項1】リストデータを木構造で表現したときのノ
    ードの位置を示すアドレス部とデータ値へのリファレン
    スを示すバリュー部とで構成した表形式のデータとして
    記憶する要素メモリ装置と、上記表形式データの要素を
    転送して記憶するアドレス部とバリュー部からなる要素
    レジスタ装置と、上記要素レジスタ装置に記録された要
    素に演算を行なう要素演算装置と、上記要素演算装置の
    演算結果を格納する要素演算フラグ記憶装置から構成さ
    れる複数の要素データ処理部と、リストデータの識別情
    報と非リストデータを記憶する主データメモリ装置と、
    上記主データメモリ装置に記憶されたリストデータの識
    別情報と非リストデータを転送して記憶する主データレ
    ジスタ装置と、上記主データレジスタ装置に記録された
    リストデータの識別情報と非リストデータに演算を行な
    う主データ演算装置と、上記データ演算装置の演算結果
    や上記要素演算フラグ記憶装置の論理和を格納する主演
    算フラグ記憶装置から構成される主データ処理部と、上
    記要素レジスタ装置にノード位置を示すアドレスのベク
    トル長がオーバーフローしている要素があることを示す
    フラグを記憶するレジスタ対応フラグ記憶装置とオーバ
    ーフローしたアドレス値の拡張部分の記憶場所を示すポ
    インタを記憶するレジスタ対応ポインタ記憶装置と、上
    記要素メモリ装置にノード位置を示すアドレスのベクト
    ル長がオーバーフローしている要素があることを示すフ
    ラグを記憶するメモリ対応フラグ記憶装置とオーバーフ
    ローしたアドレス値の拡張部分の記憶場所を示すポイン
    タを記憶するメモリ対応ポインタ記憶装置とから構成さ
    れるオーバーフロー記憶部と、上記主データ処理部と上
    記複数の要素データ処理部と上記オーバーフロー記憶部
    間の処理の制御を行ない、すべての要素演算フラグ記憶
    装置に格納された演算結果を読み出し論理和を取り主演
    算フラグ記憶装置に論理和の結果を書き込むデータ制御
    部を具備したことを特徴とするデータ処理装置。
JP31340988A 1988-12-12 1988-12-12 データ処理装置 Expired - Lifetime JP2705166B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP31340988A JP2705166B2 (ja) 1988-12-12 1988-12-12 データ処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP31340988A JP2705166B2 (ja) 1988-12-12 1988-12-12 データ処理装置

Publications (2)

Publication Number Publication Date
JPH02158835A JPH02158835A (ja) 1990-06-19
JP2705166B2 true JP2705166B2 (ja) 1998-01-26

Family

ID=18040932

Family Applications (1)

Application Number Title Priority Date Filing Date
JP31340988A Expired - Lifetime JP2705166B2 (ja) 1988-12-12 1988-12-12 データ処理装置

Country Status (1)

Country Link
JP (1) JP2705166B2 (ja)

Also Published As

Publication number Publication date
JPH02158835A (ja) 1990-06-19

Similar Documents

Publication Publication Date Title
JP3363292B2 (ja) データベース管理システム
JP2705166B2 (ja) データ処理装置
JP2606305B2 (ja) データ処理装置
JPH0444140A (ja) 仮想メモリ制御方法
JPH0231278A (ja) データ処理装置
JPS63118943A (ja) デ−タ処理装置
JPH01287745A (ja) データ処理装置
JPS63219037A (ja) デ−タ処理装置
JPS6478361A (en) Data processing system
JPS63291127A (ja) デ−タ処理装置
JPS63292331A (ja) デ−タ処理装置
JPH03296838A (ja) 履歴データ管理方式
JPH0991195A (ja) ブロックメモリ管理装置
JPS63292330A (ja) デ−タ処理装置
JP2895892B2 (ja) データ処理装置
JPS63261430A (ja) 情報処理方式および装置
JPS63255741A (ja) デ−タ処理装置
JPH01145727A (ja) データ処理装置
JPS61148536A (ja) 情報処理システム
JPS63276129A (ja) デ−タ処理装置
JPS62204338A (ja) Lisp言語処理システム
JPS6035692B2 (ja) バッファ管理方式
JPS62115531A (ja) ル−ル処理方式
JPH0215332A (ja) データ処理装置
JP2002530785A (ja) ディジタル・メモリ構造と装置及びそれの管理方法