JPH061442B2 - ユニフイケ−シヨンの並列処理装置 - Google Patents

ユニフイケ−シヨンの並列処理装置

Info

Publication number
JPH061442B2
JPH061442B2 JP60290832A JP29083285A JPH061442B2 JP H061442 B2 JPH061442 B2 JP H061442B2 JP 60290832 A JP60290832 A JP 60290832A JP 29083285 A JP29083285 A JP 29083285A JP H061442 B2 JPH061442 B2 JP H061442B2
Authority
JP
Japan
Prior art keywords
unification
arguments
argument
list
unifier
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
JP60290832A
Other languages
English (en)
Other versions
JPS62151939A (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.)
National Institute of Advanced Industrial Science and Technology AIST
Original Assignee
Agency of Industrial Science and Technology
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 Agency of Industrial Science and Technology filed Critical Agency of Industrial Science and Technology
Priority to JP60290832A priority Critical patent/JPH061442B2/ja
Publication of JPS62151939A publication Critical patent/JPS62151939A/ja
Publication of JPH061442B2 publication Critical patent/JPH061442B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Devices For Executing Special Programs (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

【発明の詳細な説明】 〔発明の利用分野〕 本発明は、ユニフィケーションの並列処理装置に係る。
〔発明の背景〕
従来、述語論理型言語の処理系は汎用計算機上に構築さ
れていた。このため、プログラムの実行も、当然のこと
ながら逐次的に実行されていた。そこで、1対の引数に
対してのみユニフィケーションを行なうユニファイアを
複数ならべて処理性能を上げる方式が提案された(特開
昭60−74040)。しかし実際のプログラムは引数
の数が2〜3程度と少ないため、上記方式では、処理性
能の高速化にはつながらない。ユニフィケーションの実
行で時間がかかるのは、引数がともにリスト形式のデー
タで形成されている場合である。リストは可変長のデー
タをポインタを使って結合しているため、メモリ上にデ
ータをバラバラにして持てるという利点がある。即ち、
可変長のデータをまとめて記憶する場合に発生する記憶
領域の大きさの不均一及びこれにより派生する記憶領域
のめんどうな管理を回避できる。一方、リスト形式で表
現したデータは、ポインタをたどる必要があるため、メ
モリからのデータの読み出しに時間がかかる。したがっ
て、リスト形式のデータのユニフィケーションが成功す
る場合では、その成功検出に時間がかかる。一方、定数
のユニフィケーションは、その成功・失敗の検出は短時
間で行なえる。したがって、リスト形式のデータユニフ
ィケーションが終わってから定数のユニフィケーション
を行なう方式では、定数のユニフィケーションが失敗す
る場合の失敗の検出が遅くなる。
〔発明の目的〕
本発明の目的は、ユニフィケーションの失敗を早く検出
することができるユニフィケーション並列処理装置を提
供することにある。
〔発明の概要〕
引数のユニフィケーションには、リスト同士のユニフィ
ケーションのように負荷の重いものと、変数や定数のユ
ニフィケーションのように負荷の軽いものがある。リス
ト同士のユニフィケーションは、リスト構造を次々とた
どってデータを読み出し、その読み出したデータ同士を
比較するために負荷が重くなる。一方、定数同士のユニ
フィケーションは読み出したデータ同士を比較すれば、
同一のデータか否かが直ちに判別できる。また、変数
は、どんな値でもとり得るため、ユニフィケーションは
常に成功し、引数には新たな値が書き込まれるだけであ
る。したがって、定数又は変数のユニフィケーションの
負荷は軽い。しかるに、リスト同士のユニフィケーショ
ンが失敗する確率と、定数同士のユニフィケーションが
失敗する確率は同程度とみなすことができる。
以上述べた内容から、プログラム実行時のボトルネッ
クは、リスト同士のユニフィケーションにあること、
定数同士のユニフィケーションを優先的に実行すれば、
ユニフィケーション失敗が早く見つかり、リスト同士の
ユニフィケーションのように負荷の重い処理を行なわな
くて済む、との結論を得た。
従来汎用計算機上でソフト的に実現されているような、
引数同士の詳細なユニフィケーションを行なうユニファ
イアの他にもう1つ引数同士のタグ部が定数又は変数の
場合のみユニフィケーションを実行するユニフィケーシ
ョンを優先的に実行し、後者のユニファイアで定数同士
のユニフィケーションが失敗した場合に前者のユニファ
イアに割込みを発生するユニファイアを設けた。
〔発明の実施例〕
以下、本発明の一実施例を第1図により説明する。
第1図はユニフィケーションの並列処理装置の装置構成
図である。プログラム実行部101は、ユニフィケーシ
ョンを行なうプログラムや引数のメモリ102における
格納番地をデータ線105、制御線107,108を通
してユニファイアA103、ユニファイアB104に送
信する。第2図にメモリに格納されているプログラムの
例を示す。201は質問であり、202は質問に対する
解の候補節である。プログラムは、質問とそれと同一名
称の関数を左辺に持つ候補節との間で引数のユニフィケ
ーションを行なうことにより実行される。質問は、3引
数を持ち、第1引数はリスト:第2引数は変数、第3引
数は定数1である。候補節は、同じく3引数を持つが、
第1引数はリスト、第2引数は定数1、第3引数は定数
2である。第3図はこれら引数のデータ形成である。引
数はタグ部とデータ部で構成される。第4図は、引数が
リストの場合のデータ形式例である。リストは、第1ワ
ード(以下carと略記)部401,403,405,4
07と第2ワード(以下cdrと略記)部402,40
4,406,408により構成され、cdr部は次のリス
トのcar部へのポインタとなっている。
第5図は:ユニファイアAの制御論理である。ユニファ
イアAは、質問のすべての引数について(リスト形式の
引数を含めて)、その出現順に順次、候補節との間でユ
ニフィケーションを行うものである。第6図は、ユニフ
ァイアBの制御論理である。ユニフィケーション制御部
A501は、プログラム実行制御部からユニファイ開始
の指令を510を通して受信すると、質問および候補節
のメモリからの読み出し番地を505に出力する一方、
読み出した結果を記憶するためのタイミング信号50
7,508を出力する。502,503はレジスタであ
り、メモリからデータ線506を通して読み出された質
問および候補節の引数のデータ部を保持する。ユニフィ
ケーション制御部Aは、質問および候補節のタグ部のチ
ェックを第1引数から順に行なう。第2図のように、引
数がリストの場合は、第4図のチェインを順次たどって
タグ部を比較する。引数が定数の場合は、タグ部の他、
データ部を比較器504で比較し、一致したかどうかを
信号509でチェックする。引数のうち一方が変数だっ
た場合は、比較したもう一方の引数の情報をメモリの変
数を読み出した場所に書き込む。
ユニファイアBは、質問内のすべての引数の内、リスト
形式の引数については、リスト内の各引数についてユニ
フィケーションを行うことなく、そのリスト形式の引数
について、候補節例の引数との一致が検出されたものと
して処理するもので、これによりリスト形式以外の引数
のユニフィケーションをユニファイアAより早期に行う
ようになっている。これにより、リスト形式以外の引数
についての不一致をユニファイアAより早期に検出し、
不一致が検出されたときには、ユニファイアAに割り込
みにより不一致を通知するようになっている。ユニフィ
ケーション制御部B601は、プログラム実行制御部か
らユニファイア開始の指令を618を通して受信する
と、質問および候補節の第1レベルの引数のメモリから
の読み出し番地606を出力する一方、読み出した結果
を記憶するためのタイミング信号608,609を出力
する。602,603はレジスタであり、メモリからデ
ータ線607を通して読み出された質問および候補節の
第1レベルの引数情報を保持する。保持された情報のタ
グ部同士は信号線610,612を通してプログラムロ
ジックアレイ(PLA)604に送出される。データ部
同士は、信号線611,613を通して比較器606に
送出される。タグ部が共に定数を表わしている場合は、
信号615はtrueとなる。タグ部が、リストと定数のよ
うにユニファイ不能な場合、信号614はtrueとなる。
タグ部のみの比較でユニファイ不能が検出された場合お
よびタグ部が共に定数を表わしていてもデータ部が不一
致でユニファイ不能が検出された場合には信号617は
trueとなる。以上で述べた場合以外にはPLA(60
4)は信号615を1にする。より具体的には、比較さ
れるべき一対の引数がともにリスト形式の場合、リスト
内の各引数についての比較を行なわないで一致が成立し
たものとして処理することになる。信号617がtrueに
なると、ユニファイアBは以後の引数のチェックを中止
し、ユニファイアAにユニフィケーション中止を要求す
る信号619を送出する。ユニファイアAは信号619
を受信すると、ユニフィケーションを終了し、プログラ
ム実行制御部に、ユニフィケーション失敗の信号108
を送信する。以上の動作により、第2図に示すプログラ
ムのユニフィケーションは、第1引数のユニフィケーシ
ョンをユニファイアAで完了する以前に、第3引数のユ
ニフィケーション失敗をユニファイアBで検出すること
ができ、プログラムの実行を終了することができる。
〔発明の効果〕
本発明によれば、引数のユニフィケーションの失敗を早
く検出できるので、プログラムが無駄な、即ち失敗する
とわかつている処理を実行しないで済む。
【図面の簡単な説明】
第1図は装置構成図、第2図は、メモリに格納されるプ
ログラムの例を示す図、第3図は、プログラムの引数部
のデータ形式を示す図、第4図は、引数がリストの場合
のデータ形式を示す図、第5図は、ユニファイアAの制
御論理を示す図、第6図はユニファイアBの制御論理を
示す図である。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 岩▲崎▼ 正明 東京都国分寺市東恋ヶ窪1丁目280番地 株式会社日立製作所中央研究所内 (72)発明者 坂部 俊文 神奈川県秦野市堀山下1番地 株式会社日 立製作所神奈川工場内 審査官 佐藤 秀一

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】プログラム中の関数呼出しを行う側の複数
    の引数と呼び出される側の複数の引数とに対するパター
    ンマッチング(以後ユニフィケーションと呼ぶ)の実行
    を指示する処理装置と、 該処理装置からの上記実行指示により起動され、そのプ
    ログラム中の関数呼出しを行なう側の複数の引数と呼び
    出される側の複数の引数に対してユニフィケーションを
    順次行い、呼出し側のいずれかの引数がリスト形式の場
    合、リスト内の各引数について、呼び出される側の対応
    するリスト内の引数との比較を順次行い、その結果、不
    一致を検出したとき、および実行中のユニフィケーショ
    ンの中止を求める割込み信号が入力されたときに、実行
    中のユニフィケーションを中止し、該処理装置にユニフ
    ィケーションの失敗を通知する第1のユニファイアと、 該処理装置からの上記実行指示により、該第1のユニフ
    ァイアと同時に起動され、該プログラム中の呼出し側の
    複数の引数と呼び出される側の複数の引数を順次比較
    し、次に比較すべき引数の組が、ともにリスト形式の場
    合、そのリスト内の各引数について、比較を行うことな
    く、そのリスト形式の引数について一致が成立したもの
    として処理し、リスト形式でない引数の組についての比
    較の結果、不一致が検出された場合には、該第1のユニ
    ファイアに、そこで実行中のユニフィケーションの中止
    を求める割込み信号を出力する第2のユニファイアとを
    有することを特徴とするユニフィケーションの並列処理
    装置。
JP60290832A 1985-12-25 1985-12-25 ユニフイケ−シヨンの並列処理装置 Expired - Lifetime JPH061442B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP60290832A JPH061442B2 (ja) 1985-12-25 1985-12-25 ユニフイケ−シヨンの並列処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP60290832A JPH061442B2 (ja) 1985-12-25 1985-12-25 ユニフイケ−シヨンの並列処理装置

Publications (2)

Publication Number Publication Date
JPS62151939A JPS62151939A (ja) 1987-07-06
JPH061442B2 true JPH061442B2 (ja) 1994-01-05

Family

ID=17761059

Family Applications (1)

Application Number Title Priority Date Filing Date
JP60290832A Expired - Lifetime JPH061442B2 (ja) 1985-12-25 1985-12-25 ユニフイケ−シヨンの並列処理装置

Country Status (1)

Country Link
JP (1) JPH061442B2 (ja)

Also Published As

Publication number Publication date
JPS62151939A (ja) 1987-07-06

Similar Documents

Publication Publication Date Title
US5386565A (en) Method and system for controlling/monitoring computer system having plural operating systems to run thereon
JPH061442B2 (ja) ユニフイケ−シヨンの並列処理装置
JPH01286029A (ja) マイクロプログラムのパッチ方式
JPS59172044A (ja) 命令制御方式
JP2743889B2 (ja) プログラム評価の方法および装置
JPH11167500A (ja) エミュレータ装置のイベント回路及びデバッグシステム
JPS59183443A (ja) デバツグ装置
JPH0147818B2 (ja)
JPS60254331A (ja) デ−タ処理システムにおける障害処理方式
JPH08137714A (ja) マルチタスクプログラムのデバッグ方法およびデバッグシステム
JPH02309435A (ja) キャッシュミス判定方式
JPS5942331B2 (ja) プロセツサソウチノセイギヨホウシキ
JPS6116338A (ja) 仮想計算機システムにおける割込み処理方式
JPH03156659A (ja) ダイレクトメモリアクセスコントローラ
JPH0581020A (ja) データ処理装置
JPH0335323A (ja) 命令実行制御方式
JPH04242832A (ja) 情報処理装置
JPH01284941A (ja) 情報処理装置
JPS6270942A (ja) 情報処理装置の試験方式
JPS61282937A (ja) 情報処理装置
JPS638841A (ja) 割込み受取り装置
JPS62233841A (ja) ユニフイケ−シヨンの並列処理装置
JPH05108402A (ja) デバツグ装置
JPS6212534B2 (ja)
JPH0452937A (ja) 実行形式ソフトウェア動作不可回避方式

Legal Events

Date Code Title Description
EXPY Cancellation because of completion of term