JPH087682B2 - Knowledge-based processor - Google Patents

Knowledge-based processor

Info

Publication number
JPH087682B2
JPH087682B2 JP62057483A JP5748387A JPH087682B2 JP H087682 B2 JPH087682 B2 JP H087682B2 JP 62057483 A JP62057483 A JP 62057483A JP 5748387 A JP5748387 A JP 5748387A JP H087682 B2 JPH087682 B2 JP H087682B2
Authority
JP
Japan
Prior art keywords
data
frame
value
key
pointer
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 - Fee Related
Application number
JP62057483A
Other languages
Japanese (ja)
Other versions
JPS63223832A (en
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.)
Sanyo Electric Co Ltd
Original Assignee
Sanyo Electric 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 Sanyo Electric Co Ltd filed Critical Sanyo Electric Co Ltd
Priority to JP62057483A priority Critical patent/JPH087682B2/en
Publication of JPS63223832A publication Critical patent/JPS63223832A/en
Publication of JPH087682B2 publication Critical patent/JPH087682B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Description

【発明の詳細な説明】 イ)産業上の利用分野 本発明は、知識ベースとしてフレーム型のものを有す
る知識ベース処理装置に関する。
The present invention relates to a knowledge base processing device having a frame type as a knowledge base.

ロ)従来の技術 知識工学の発達に併い、人工知能技術の産業への適用
が著しく広がっており、特に知識ベースシステムはその
代表的なものである。知識ベースシステムは、問題領域
固有の専門知識を一定の形式で格納した知識ベースと、
知識ベースとは分離され知識ベース内の知識を使って推
論を実行するための制御機構である推論機構から構成さ
れる。知識ベースを構築するための知識の表現をモデル
としてミンスキーによって提案されたフレームモデル
は、ルールモデルと並んで代表的なものである(「知識
工学入門」上野晴樹著、オーム社発行参照)。
(B) Conventional technology With the development of knowledge engineering, the application of artificial intelligence technology to industries has expanded remarkably, and the knowledge base system is a typical example. The knowledge base system is a knowledge base that stores specialized knowledge specific to the problem domain in a certain format,
The knowledge base is composed of an inference mechanism which is separated and is a control mechanism for executing inference using the knowledge in the knowledge base. The frame model proposed by Minsky using the representation of knowledge for constructing the knowledge base as a model is a typical one along with the rule model (see "Introduction to Knowledge Engineering" by Haruki Ueno, published by Ohmsha).

フレームモデルを知識表現モデルとして用いたフレー
ム型知識ベースシステムでは、知識や概念の名前はフレ
ームで、1つのフレームにおける知識や概念の種々の属
性および他のフレーム(知識や概念)との関係はスロツ
トで、スロツトの様々な側面(属性、構造的な性質な
ど)はフアセツトで、フアセツトに対応した実際の値は
バリユーで表わされる。つまり、フレーム、スロツト、
フアセツト、バリユーの4つの組で知識あるいは概念が
表現される。フレーム型知識ベースの特徴は、知識・概
念の階属関係をスロツトの継承によって表現できるの
で、抽象的な性質は上位のフレームにおいて記述し、個
別のフレームにはそのフレーム固有の属性や性質のみを
記述すれば良いという差分プログラミングが可能な点に
ある。
In a frame-based knowledge-based system that uses a frame model as a knowledge representation model, the names of knowledge and concepts are frames, and the various attributes of knowledge and concepts in one frame and the relationships with other frames (knowledge and concepts) are slot. Thus, various aspects of the slot (attributes, structural properties, etc.) are represented by the facet, and the actual value corresponding to the facet is represented by the view. In other words, frame, slot,
Knowledge or concept is expressed in four groups, a Fasset and a Valieux. Since the feature of the frame-type knowledge base can express the rank relation of knowledge and concept by inheritance of slot, the abstract property is described in the upper frame, and only the attributes and properties unique to the frame are described in individual frames. The point is that it can be described by differential programming.

フレーム型知識ベースにおいては、多くの場合、複数
のフレーム型データが第4図のようにリンクリストで表
現される。このため、種々の属性を持つデータをスロツ
ト値やフアセツト値に埋め込んだり、フレームやスロツ
ト、フアセツトの新規追加・削除の処理に柔軟なフレー
ム型のデータ構造が実現される。
In the frame type knowledge base, a plurality of frame type data are often represented by a linked list as shown in FIG. Therefore, a flexible frame-type data structure can be realized for embedding data having various attributes in slot values or facet values, and for newly adding / deleting frames, slots, or facets.

ハ)発明が解決しようとする問題点 しかし、第4図に示すようなフレーム型データの表現
は、フレーム、スロツト、フアセツトといった各フイー
ルドの参照や変更時に、リンクリストのポインタを順に
たどる(例えばフアセツト222の値(バリユー222)を参
照するには、フレーム1→フレーム2→スロツト21→ス
ロツト22→フアセツト221→フアセツト222と順にたど
る)必要がある(なぜならば、フレームやスロツト、フ
アセツトは単なる数値ではなく文字列やリンクリストで
表されるため、フアセツト222の値を参照するなら、与
えられるフアセツト222名と同じ文字列を有するフイー
ルドを順々に検索していかなければならない)。このた
め、各フイールドの参照や変更は非常に低速であるとい
う難点を有しており、このリストたどりの操作はフレー
ム型データにおける基本的演算処理の大きな比重を占め
ているので、フレーム型知識ベースシステム全体の処理
効率を低下させる大きな原因となっていた。
(C) Problems to be solved by the invention However, in the representation of frame type data as shown in FIG. 4, the pointers of the linked list are sequentially traced when referencing or changing each field such as a frame, slot, or facet (for example, facet set). To refer to the value of 222 (Variyu 222), it is necessary to follow the sequence frame 1 → frame 2 → slot 21 → slot 22 → facet 221 → facet 222) (because frame, slot, and facet are just numbers) Since it is represented by a character string or a linked list, if you want to refer to the value of facet 222, you have to search sequentially for fields that have the same character string as the given facet 222 name). For this reason, there is a drawback that referencing and changing each field is very slow, and the operation of traversing this list occupies a large proportion of the basic arithmetic processing in frame type data. It has been a major cause of lowering the processing efficiency of the entire system.

ニ)問題点を解決するための手段 本発明は、知識ベースとしてフレーム、スロツト、フ
アセツト、バリユーから成るフレーム型のものを有する
知識ベース処理装置であって、任意のフレーム、スロツ
ト、フアセツトの3つから検索子を生成する検索子生成
手段と、検索子と対応して即値データもしくはポインタ
データであるバリユーのデータを記憶する記憶手段と、
バリユーのデータが即値データかポインタデータか判定
する判定手段と、バリユーのポインタデータと対応して
具体的なデータを記憶する補助記憶手段を有するもので
ある。
D) Means for Solving the Problems The present invention is a knowledge base processing apparatus having a frame type of knowledge base consisting of a frame, a slot, a facet, and a version, and includes any one of a frame, a slot, and a facet. Searcher generating means for generating a searcher from the storage means, and storage means for storing the data of the view which is immediate data or pointer data corresponding to the searcher,
It has a judging means for judging whether the value-of-value data is immediate data or pointer data, and an auxiliary storage means for storing concrete data corresponding to the value-value pointer data.

ホ)作用 フレーム、スロツト、フアセツトの3つから生成され
る検索子と対応して、即値データもしくはポインタデー
タであるバリユーのデータを記憶手段に記憶し、ポイン
タデータで示されるバリユーのデータに対しては、具体
的なデータを補助記憶手段に記憶することにより、フレ
ーム、スロツト、フアセツトなどの参照やバリユーの変
更時の各フイールドの検索処理が、従来のリンクリスト
のみによってフレーム型データを保持していた場合のリ
ニアサーチの一種であるリストたどりが不要になり、高
速化される。
E) The action data, the value data of the pointer, or the value data of the pointer, is stored in the storage means in correspondence with the searcher generated from the action frame, the slot, and the facet. By storing specific data in the auxiliary storage means, the frame-type data is retained only by the conventional linked list so that each field search process when referencing a frame, slot, facet, etc. or changing a view can be done. In this case, list traversing, which is a type of linear search, becomes unnecessary and speeds up.

ヘ)実 施 例 第1図は本発明装置の一実施例である概略構成図、第
2図はフレーム、スロツト、フアセツト、バリユーから
成るフレーム型データを格納するフレームデータ構造メ
モリ(3)の概略構成図である。
F) Embodiment FIG. 1 is a schematic configuration diagram showing an embodiment of the device of the present invention, and FIG. 2 is a schematic diagram of a frame data structure memory (3) for storing frame type data consisting of a frame, a slot, a facet and a view. It is a block diagram.

(1)は知識ベース処理装置としてのフレーム型知識
処理を行うCPU、(2)はフレーム型知識ベース解釈・
実行プログラムとユーザ定義のプログラムを格納するシ
ステムメモリ、(3)はフレーム、スロツト、フアセツ
ト、バリユーから成るフレーム型データを格納するフレ
ームデータ構造メモリで、フレーム、スロツト、フアセ
ツトの3つから検索子を生成する検索子生成手段と、検
索子と対応して即値データもしくはポインタデータであ
るバリユーのデータを格納する記憶手段を含んでいる。
(1) is a CPU that performs frame type knowledge processing as a knowledge base processing device, and (2) is frame type knowledge base interpretation /
System memory that stores execution programs and user-defined programs. (3) is a frame data structure memory that stores frame-type data consisting of frames, slots, facets, and versions. It includes a retrieving means for producing, and a storage means for storing the data of the view which is immediate data or pointer data corresponding to the retrieving means.

(4)はリンクリストを記憶する補助記憶手段として
のリンクリストデータ格納メモリ、(5)は文字列やベ
クトル・配列などの構造体データを格納するベクトルデ
ータ格納メモリ、(6)はCPU(1)が構造メモリ
(3)に対してコマンドを発行するための命令レジス
タ、(7)、(8)、(9)は夫々ベクトルデータ格納
メモリ(5)に記憶され、フレーム型データの検索キー
となる任意の文字列で表現されたフレーム名、スロツト
名、フアセツト名に対応したベクトルデータ格納メモリ
(5)内のアドレス情報を保持するフレームポインタレ
ジスタ、スロツトポインタレジスタ、フアセツトポイン
タレジスタ、(10)はスロツト値、フアセツト値の変更
時に用いるバリユーレジスタである。
(4) is a linked list data storage memory as auxiliary storage means for storing a linked list, (5) is a vector data storage memory for storing structure data such as character strings and vectors / arrays, and (6) is a CPU (1 ) Is an instruction register for issuing a command to the structure memory (3), and (7), (8), and (9) are stored in the vector data storage memory (5), respectively, and serve as search keys for frame-type data. A frame pointer register, a slot pointer register, a face pointer register, (10) that holds the address information in the vector data storage memory (5) corresponding to the frame name, slot name, and facet name expressed by any character string ) Is a view register used when changing the slot value and the reset value.

(11)は構造メモリ(3)の出力であるバリユーデー
タのデータ型を示すタグ部とアドレス情報であるポイン
タデータもしくは即値データを示す情報フイールドの分
離を行うタグ・情報フイールド分離回路、(12)は該分
離回路(11)によって分離されたタグ部により情報フイ
ールドのデータ型を判定しシステムデータバスへの出力
制御を行う判定手段としての判定出力制御回路、(13)
は分離回路(11)によって分離された情報フイールドデ
ータを一時的に格納する出力データラツチである。
(11) is a tag / information field separation circuit for separating a tag section indicating the data type of the value data output from the structure memory (3) and an information field indicating pointer data or immediate data as address information, (12) ) Is a judgment output control circuit as judgment means for judging the data type of the information field by the tag section separated by the separation circuit (11) and controlling the output to the system data bus, (13)
Is an output data latch for temporarily storing the information field data separated by the separation circuit (11).

(14)、(15)は夫々リンクリストデータ格納メモリ
(4)、ベクトルデータ格納メモリ(5)に対するアド
レスを選択するアドレスマルチプレクサ1、アドレスマ
ルチプレクサ2、(16)、(17)、(18)は夫々出力デ
ータラツチ(13)、リンクリストデータ格納メモリ
(4)、ベクトルデータ格納メモリ(5)とシステムデ
ータバスとの間のデータバツフア1、データバツフア
2、データバツフア3である。また、(C)、(D)、
(A)は夫々CPU(1)がシステムメモリ(2)、リン
クリストデータ格納メモリ(4)、ベクトルデータ格納
メモリ(5)に対し直接読み書きするためのシステムコ
マンドバス、システムデータバス、システムアドレスバ
スである。
(14) and (15) are the address list multiplexer 1, the address multiplexer 2, (16), (17), and (18), which select addresses for the linked list data storage memory (4) and the vector data storage memory (5), respectively. These are an output data latch (13), a link list data storage memory (4), a data buffer 1, a data buffer 2 and a data buffer 3 between the vector data storage memory (5) and the system data bus, respectively. Also, (C), (D),
(A) is a system command bus, system data bus, and system address bus for the CPU (1) to directly read and write to the system memory (2), linked list data storage memory (4), and vector data storage memory (5), respectively. Is.

いま、あるフアセツトの値(すなわちバリユー)を参
照する場合について説明する。このフアセツトバリユー
は(frame−a、slot−b、facet−c)の3つで表され
る。まずCPU(1)はフアセツト参照処理をフレームデ
ータ構造メモリ(3)に依頼するためにフアセツト参照
関数get−facetに対応した命令コードを命令レジスタ
(6)にセツトする。更にCPU(1)は、検索キーとな
るframe−a、slot−b、facet−cの3つの文字列夫々
に対応したベクトルデータ格納メモリ(5)内のアドレ
ス情報を、システムメモリ(2)内に登録されている文
字アトムの名前表から、システムコマンドバス(C)、
システムデータバス(D)、システムアドレスバス
(A)を用いて読み込み、フレームポインタレジスタ
(7)、スロツトポインタレジスタ(8)、フアセツト
ポインタレジスタ(9)にセツトする。
Now, a case of referring to a certain value (that is, a value) will be described. This face value is represented by three (frame-a, slot-b, facet-c). First, the CPU (1) sets an instruction code corresponding to the facet reference function get-facet in the instruction register (6) in order to request the frame data structure memory (3) to perform the facet reference processing. Further, the CPU (1) stores the address information in the vector data storage memory (5) corresponding to each of the three character strings of frame-a, slot-b and facet-c, which are search keys, in the system memory (2). From the name table of the character atom registered in the system command bus (C),
The data is read using the system data bus (D) and the system address bus (A) and set in the frame pointer register (7), the slot pointer register (8), and the reset pointer register (9).

而して、フレームデータ構造メモリ(3)は、内蔵さ
れた連想型データ検索機構によって検索キー(frame−
a、slot−b、facet−c)から検索子(アドレス)を
生成し、この検索子に対応したフアセツトバリユーを検
索し、タグ・情報フイールド分離回路(11)に出力す
る。このフレームデータ構造メモリ(3)については後
で詳述する。
Thus, the frame data structure memory (3) is searched by the built-in associative data search mechanism.
a, slot-b, facet-c), a searcher (address) is generated, a facet value corresponding to this searcher is searched for, and output to the tag / information field separation circuit (11). The frame data structure memory (3) will be described in detail later.

出力されるフアセツトバリユーのデータは、例えば第
3図Aの如く、データの実体を示す情報フイールド
(i)と、第3図Bの様に情報フイールドの属性(デー
タ型、即値データ、ポインタ情報の区別)を示すタグフ
イールド(t)から構成されており、タグ・情報フイー
ルド分離回路(11)によって2つのフイールドが分離さ
れる。
The output of the asset value data is, for example, an information field (i) indicating the substance of the data as shown in FIG. 3A, and an attribute of the information field (data type, immediate data, pointer as shown in FIG. 3B). It is composed of a tag field (t) indicating information) and two fields are separated by a tag / information field separation circuit (11).

分離されたタグ情報は判定出力制御回路(12)に送ら
れ、一方情報フイールドのデータはいったん、出力デー
タラツチ(13)にラツチされる。判定出力制御回路(1
2)はタグ情報をデコードし情報フイールドのデータが
即値である場合にはデータバツフア1(16)をイネーブ
ルにすることによって、出力データラツチ(13)に保持
されている即値データがシステムデータバス(D)に出
力される。同時に、出力制御回路(12)によってデコー
ドされたタグ情報(この場合は即値データであるという
こと)はシステムコマンドバス(C)経由でCPU(1)
に送られるので、CPU(1)はシステムデータバス
(D)に出力されているデータを即値データとして1回
読み込むことだけでフアセツト参照関数get−facetの実
行を終了する。なおCPU(1)がシステムデータバス
(D)上のデータを読み込むべきタイミングは、判定出
力制御回路(12)からのシステムコマンドバス(C)に
含まれるack信号によってCPU(1)に知らされる。
The separated tag information is sent to the judgment output control circuit (12), while the data of the information field is once latched in the output data latch (13). Judgment output control circuit (1
2) decodes the tag information and enables the data buffer 1 (16) when the data of the information field is an immediate value, so that the immediate data held in the output data latch (13) is transferred to the system data bus (D). Is output to. At the same time, the tag information (in this case, immediate data) decoded by the output control circuit (12) is sent to the CPU (1) via the system command bus (C).
Since the CPU (1) reads the data output to the system data bus (D) once as immediate data, the CPU (1) finishes executing the facet reference function get-facet. The timing at which the CPU (1) should read the data on the system data bus (D) is notified to the CPU (1) by the ack signal included in the system command bus (C) from the judgment output control circuit (12). .

一方、情報フイールドのデータがリンクリストデータ
のポインタである場合には、判定出力制御回路(12)に
よってデコードされたタグ情報(この場合はリンクリス
トデータポインタであるということ)がシステムコマン
ドバス(C)経由でCPU(1)に送られるとともに、出
力データラツチ(13)に保持されているリンクリストポ
インタ値が、アドレスマルチプレクサ1(14)に送ら
れ、さらに判定出力制御回路(12)からアドレスマルチ
プレクサ1(14)に対するSELLIST信号がオンとなっ
て、アドレスマルチプレクサ1(14)への2のアドレス
入力(システムアドレスバス(A)からの入力と出力デ
ータラツチ(12)からの入力)のうち、出力データラツ
チ(12)からの入力が選択され、リンクリスト格納メモ
リ(4)に出力される。リンクリストデータ格納メモリ
(4)内にはフアセツトバリユーに対応したリンクリス
トデータが記憶されており、アドレスマルチプレクサ1
(14)からのリンクリストポインタ値に対応したセルな
内容がリンクリストデータ格納メモリ(4)からデータ
バツファ2(17)に出力される。判定出力制御回路(1
2)はこの時点でデータバツファ2(17)をイネーブル
にするとともに、CPU(1)にack信号を送る。CPU
(1)はシステムデータバス(D)に出力されるデータ
がリンクリストデータの先頭のセルということをあらか
じめ判定出力制御回路(12)から知らされているので、
データバツファ2(17)からシステムデータバス(D)
に出力されたデータを二進木セルとして読み込む。その
後、リンクリスト読み出しはシステムデータバス(D)
経由で、CPU(1)からデータバツファ2(17)を介し
て直接行なわれる。ただしこのときのリンクリストデー
タ格納メモリ(4)に対するアドレスは、CPU(1)か
らのSELLISTD信号がオンとなることによってシステムア
ドレスバス(A)からのアドレスがアドレスマルチプレ
クサ1(14)によって選択され、リンクリストデータ格
納メモリ(4)に与えられる。
On the other hand, when the data of the information field is the pointer of the linked list data, the tag information decoded by the judgment output control circuit (12) (in this case, the linked list data pointer) is the system command bus (C). ) Is sent to the CPU (1) and the link list pointer value held in the output data latch (13) is sent to the address multiplexer 1 (14), which is further sent from the judgment output control circuit (12) to the address multiplexer 1 (14). When the SELLIST signal for (14) is turned on, the output data latch (input from the system address bus (A) and the output data latch (12)) of the two address inputs to the address multiplexer 1 (14) is output ( The input from 12) is selected and output to the linked list storage memory (4). The link list data storage memory (4) stores the link list data corresponding to the preset value.
The cell contents corresponding to the linked list pointer value from (14) are output from the linked list data storage memory (4) to the data buffer 2 (17). Judgment output control circuit (1
At this point, 2) enables the data buffer 2 (17) and sends an ack signal to the CPU (1). CPU
In (1), since the judgment output control circuit (12) has previously notified that the data output to the system data bus (D) is the head cell of the linked list data,
Data buffer 2 (17) to system data bus (D)
The data output to is read as a binary tree cell. After that, read the linked list from the system data bus (D).
Directly from the CPU (1) via the data buffer 2 (17). However, the address for the linked list data storage memory (4) at this time is selected by the address multiplexer 1 (14) from the system address bus (A) when the SELLISTD signal from the CPU (1) is turned on. It is given to the link list data storage memory (4).

また情報フイールドのデータがベクトルデータのポイ
ンタである場合には、判定出力制御回路(12)によって
デコードされたタグ情報(この場合はベクトルデータポ
インタであるということ)がシステムコマンドバス
(C)経由でCPU(1)に送られ、さらに出力データラ
ツチ(13)に保持されているベクトルポインタ値が、デ
ータバツファ1(16)を経由してシステムデータバス
(D)に出力されCPU(1)が読み込むとともに、出力
データラツチ(13)に保持されているベクトルポインタ
値がアドレスマルチプレクサ2(15)に送られる。さら
に判定出力制御回路(12)からアドレスマルチプレクサ
2(15)に対するSelvector信号がオンとなって、アド
レスマルチプレクサ2(15)への2つのアドレス入力
(システムアドレスバス(A)からの入力と出力データ
ラツチ(13)からの入力)のうち、出力データラツチ
(13)からの入力が選択され、ベクトルデータ格納メモ
リ(5)に出力される。ベクトルデータ格納メモリ
(5)内にはフアセツトバリユーに対応したベクトルデ
ータ(ベクトルデータヘツダ情報としてのベクトルデー
タ数n、それ以下にn個のベクトルデータ列)が記憶さ
れている。アドレスマルチプレクサ2(15)からのベク
トルポインタ値がセツトされた時点で、これに対応した
ベクトルデータヘツダ情報(ベクトルデータ数n)がベ
クトルデータ格納メモリ(5)からデータバツフア3
(18)に出力される。判定出力制御回路(12)はこの
時、データバツフア3(18)をイネーブルにするととも
に、CPU(1)にack信号を送る。CPU(1)はシステム
データバス(D)に出力されるデータがベクトルデータ
数nであるということをあらかじめ判定出力制御回路
(12)から知らされているので、データバツフア3(1
8)からシステムデータバス(D)に出力されたデータ
をベクトルデータ数nとして読み込む。その後、CPU
(1)は先にデータバツフア1(16)経由で読み込んだ
ベクトルポインタ値(ベクトルデータ先頭アドレス値)
と、次にデータバツフア3(18)経由で読み込んだベク
トルデータ数nをもとに、n個のベクトルデークをシス
テムデータバス(D)経由で、データバツフア3(18)
を介して連続的に直接読み込む(バーストデータ転
送)。ただしこのときのベクトルデータ格納メモリ
(5)に対するアドレスは、CPU(1)からのSELVECTOR
D信号がオンとなることによってシステムアドレスバス
(A)からのアドレスがアドレスマルチプレクサ2(1
5)によって選択されベクトルデータ格納メモリ(5)
に与えられる。
When the information field data is a vector data pointer, the tag information (in this case, a vector data pointer) decoded by the determination output control circuit (12) is transferred via the system command bus (C). The vector pointer value sent to the CPU (1) and held in the output data latch (13) is output to the system data bus (D) via the data buffer 1 (16) and read by the CPU (1). At the same time, the vector pointer value held in the output data latch (13) is sent to the address multiplexer 2 (15). Furthermore, the Selvector signal from the judgment output control circuit (12) to the address multiplexer 2 (15) is turned on, and two address inputs to the address multiplexer 2 (15) (input from the system address bus (A) and output data latch ( Of the inputs (13), the inputs from the output data latch (13) are selected and output to the vector data storage memory (5). The vector data storage memory (5) stores vector data (the number of vector data n as vector data header information, and n vector data strings below that) corresponding to the cassette version. When the vector pointer value from the address multiplexer 2 (15) is set, the corresponding vector data header information (vector data number n) is transferred from the vector data storage memory (5) to the data buffer 3
It is output to (18). At this time, the judgment output control circuit (12) enables the data buffer 3 (18) and sends an ack signal to the CPU (1). Since the CPU (1) has previously been notified from the determination output control circuit (12) that the data output to the system data bus (D) is the vector data number n, the data buffer 3 (1
The data output from 8) to the system data bus (D) is read as the number of vector data n. Then the CPU
(1) is the vector pointer value previously read via the data buffer 1 (16) (vector data start address value)
Then, based on the number n of vector data read via the data buffer 3 (18), n vector data are transferred via the system data bus (D) to the data buffer 3 (18).
Continuously read directly via (burst data transfer). However, the address for the vector data storage memory (5) at this time is SELVECTOR from the CPU (1).
When the D signal is turned on, the address from the system address bus (A) is transferred to the address multiplexer 2 (1
Vector data storage memory (5) selected by 5)
Given to.

以上、フアセツトバリユーの参照処理について説明し
たが、フアセツトバリユーの代入(変更)処理(たとえ
ば3つ組みの検索キー(frame−a slot−b facet−
c)に対応したフアセツトにバリユー“facet−value"
を代入する関数 (put−facet frame−a slot−b facet−c “fa
cet−value") の実行)の場合でも、CPU(1)が第3図Aのようにタ
グ表現されたフアセツトバリユーをバリユーレジスタ
(10)にセツトし、具体的なフレーム型データに対する
代入処理をフレームデータ構造メモリ(3)に依頼する
ことで、フアセツト参照処理の場合と全く同様に高速に
実現することが可能である。フアセツトバリユー代入処
理の場合には、書き込み終了信号がフレームデータ構造
メモリ(3)からCPU(1)に送られた時点で処理が終
了する。
In the above, the reference process of the asset value has been described. However, the assignment (change) process of the asset value (for example, a search key (frame-a slot-b facet
Use the facet-value "variable" in the facet corresponding to c).
A function that substitutes (put-facet frame-a slot-b facet-c "fa
cet-value ") execution), the CPU (1) also sets the facet-value represented by the tag as shown in Fig. 3A to the value register (10), and By requesting the substitution process to the frame data structure memory (3), it is possible to realize exactly the same high speed as in the case of the reset reference process. The process ends when the data is sent from the frame data structure memory (3) to the CPU (1).

次に第2図を参照しつつフレームデータ構造メモリ
(3)について説明する。(19)は命令レジスタ(6)
からの命令をデコードしフレームデータ構造メモリ
(3)全体の制御を行う構造メモリ制御回路、(20)、
(21)、(22)、(23)は構造メモリ(3)に対する入
力レジスタであるフレームポインタレジスタ(7)、ス
ロツトポインタレジスタ(8)、フアセツトポインタレ
ジスタ(9)、バリユーレジスタ(10)の値を一旦保持
するキーバツフアA1、キーバツフアA2、キーバツフアA
3、バリユーバツフアA、(24)はキーバツフアA1(2
0)、キーバツフアA2(21)、キーバツフアA3(22)に
格納された検索キーであるフレームポインタ、スロツト
ポインタ、フアセツトポインタから検索子としてのアド
レスを生成する検索子生成手段であるハツシユアドレス
生成回路、(25)はハツシユアドレス生成回路(24)で
生成されるハツシユアドレス(検索子)と対応してフア
セツトバリユーが記憶されている記憶手段としてのバル
クメモリで、1つのハツシユアドレスによってアクセス
されるバケツトはステイタス(各バケツト内の状態を示
すコードで空白状態、削除状態、キーが格納されている
占有状態のいずれかをとる)、フレームポインタ値、ス
ロツトポインタ値、フアセツトポインタ値、フアセツト
バリユー値の5つから構成される。(26)、(27)、
(28)、(29)、(30)は夫々、バルクメモリ(25)か
ら読み出された1バケツト内のステイタス、フレームポ
インタ値(格納キー)、スロツトポインタ値(格納キ
ー)、フアセツトポインタ値(格納キー)、フアセツト
バリユー値を一旦保持するスタイタスバツフア、キーバ
ツフアB1、キーバツフアB2、キーバツフアB3、バリユー
バツフアBであり、(31)はステイタスバツフア(26)
に保持されたステイタス(空白状態、削除状態、占有状
態)を検出する語検出回路、(32)はキーバツフアA1
(20)、キーバツフアA2(21)、キーバツフアA3(22)
に保持された検索キーと、キーバツフアB1(27)、キー
バツフアB2(28)、キーバツフアB3(29)に保持された
格納キーとの夫々を比較し、一致検出を行うキー一致検
出回路、(33)は語検出回路(31)とキー一致検出回路
(32)の出力状態によってフレーム型構造データの登
録、削除、再配置、キー衝突時のリハツシユ処理やハツ
シユアドレス生成回路(24)の制御を行うハツシユ演算
制御回路である。
Next, the frame data structure memory (3) will be described with reference to FIG. (19) is the instruction register (6)
Structure memory control circuit (20), which decodes the instructions from and controls the entire frame data structure memory (3),
(21), (22) and (23) are frame pointer register (7), slot pointer register (8), face pointer register (9) and view register (10) which are input registers to the structure memory (3). ) Value is held once, key buffer A1, key buffer A2, key buffer A
3 、 Variyu buffer A, (24) is key buffer A1 (2
0), key pointer A2 (21), key pointer which is a search key stored in key buffer A3 (22), a frame pointer, a slot pointer, and a hash pointer. A generating circuit, (25) is a bulk memory as a storage means for storing a customized value corresponding to the hash address (searcher) generated by the hash address generating circuit (24). The bucket accessed by the cache address is status (a code indicating the status in each bucket, which is either blank, deleted, or occupied with the key stored), frame pointer value, slot pointer value, and forward pointer. It is composed of five values, a set pointer value and a reset value. (26), (27),
(28), (29) and (30) are the status, frame pointer value (storing key), slot pointer value (storing key) and face pointer in one bucket read from the bulk memory (25), respectively. Status (store key), reset value Status buffer that temporarily holds the value, key buffer B1, key buffer B2, key buffer B3, key buffer B (31) is status buffer (26)
The word detection circuit that detects the status (blank state, deleted state, occupied state) held in the, (32) is the key buffer A1.
(20), Key buffer A2 (21), Key buffer A3 (22)
(33) A key match detection circuit that compares the search key held in the key and the stored key held in key buffer B1 (27), key buffer B2 (28), and key buffer B3 (29) to detect a match, (33) Performs registration, deletion, rearrangement of frame type structure data, rehash processing at the time of key collision, and control of the hash address generation circuit (24) according to the output states of the word detection circuit (31) and the key coincidence detection circuit (32). This is a hash calculation control circuit.

さて、前述と同様にframe−a、slot−b、facet−c
で表わされるフアセツトバリユーを参照するフアセツト
参照処理について説明する。CPU(1)によって命令コ
ードが命令レジスタ(6)に、検索キーデータとしての
frame−a、slot−b、facet−cに対応したフレームポ
インタ値、スロツトポインタ値、フアセツトポインタ値
がフレームポインタレジスタ(7)、スロツトポインタ
レジスタ(8)、フアセツトポインタレジスタ(9)に
格納されると、夫々構造メモリ制御回路(19)、キーバ
ツフアA1(20)、キーバツフアA2(21)、キーバツフア
A3(22)に入力される。命令レジスタ(6)からの命令
コードは構造メモリ制御回路(19)でデコードされ、構
造メモリ内の各ブロツクに対する制御信号を生成するた
めに用いられる。
Now, similar to the above, frame-a, slot-b, facet-c
A description will be given of the process of referring to the subset value represented by. The instruction code is stored in the instruction register (6) by the CPU (1) as search key data.
The frame pointer value corresponding to frame-a, slot-b, facet-c, the slot pointer value, and the facet pointer value are the frame pointer register (7), the slot pointer register (8), and the facet pointer register (9). When stored in the memory, the structure memory control circuit (19), the key buffer A1 (20), the key buffer A2 (21), and the key buffer, respectively.
Input to A3 (22). The instruction code from the instruction register (6) is decoded by the structure memory control circuit (19) and used to generate a control signal for each block in the structure memory.

キーバツフアA1(20)、キーバツフアA2(21)、キー
バツフアA3(22)に保持されたキーデータはハツシユア
ドレス生成回路(24)に送られ、ここでフレームポイン
タ値、スロツトポインタ値、フアセツトポインタ値の3
つの組みデータから生成されるハツシユアドレスが計算
される(ハツシユアドレスの具体的な計算方法は例えば
「情報処理」Vol.24.No.4、1983の第391頁乃至第395頁
の“ハツシユ法”井田哲夫著参考)。
The key data held in the key buffer A1 (20), key buffer A2 (21), and key buffer A3 (22) is sent to the hash address generation circuit (24), where the frame pointer value, slot pointer value, and reset pointer are set. Value 3
A hash address generated from one set of data is calculated. (For a specific calculation method of the hash address, see “Information Processing” Vol. 24. No. 4, 1983, pp. 391 to 395, “Hash hash address”. Law "Reference by Tetsuo Ida).

ハツシユアドレス生成回路(24)で計算されたハツシ
ユアドレスはバルクメモリ(25)に与えられ、与えられ
たハツシユアドレスに対応したバケツト((ステイタ
ス、フレームポインタ値、スロツトポインタ値、フアセ
ツトポインタ値、フアセツトバリユー値)の5つの組)
がバルクメモリ(25)からまとめて読み出されそれぞれ
ステイタスバツフア(26)、キーバツフアB1(27)、キ
ーバツフアB2(28)、キーバツフアB3(29)、およびバ
リユーバツフアB(30)に保持される。ステイタスバツ
フア(26)に保持されたステイタスコードは語検出回路
(31)によってデコードされ、もし空白状態もしくは削
除状態であれば、フアセツト値参照処理 (get−facet frame−a slot−b facet−c) の検索キー(frame−a slot−b facet−c)に対応
した、フアセツトがフレーム型データ内に存在しないと
いうことであるので、そのことを示すエラーコードが語
検出回路(31)から構造メモリ制御回路(19)経由でCP
U(1)に送られる。
The hash address calculated by the hash address generation circuit (24) is given to the bulk memory (25), and the bucket ((status, frame pointer value, slot pointer value, face set value 5 sets of pointer value and reset value))
Are collectively read from the bulk memory (25) and stored in the status buffer (26), the key buffer B1 (27), the key buffer B2 (28), the key buffer B3 (29), and the valid buffer B (30), respectively. The status code held in the status buffer (26) is decoded by the word detection circuit (31), and if it is blank or deleted, the facet value reference processing (get-facet frame-a slot-b facet-c) is performed. ), The facet corresponding to the search key (frame-a slot-b facet-c) does not exist in the frame-type data. Therefore, an error code indicating that is found from the word detection circuit (31) in the structure memory. CP via control circuit (19)
Sent to U (1).

ステイタスコードが占有状態の場合には、検索キー
(キーバツフアA1(20)、キーバツフアA2(21)、キー
バツフアA3(22)の内容)と格納キー(キーバツフアB1
(27)、キーバツフアB2(28)、キーバツフアB3(29)
の内容)がキー一致検出回路(32)によって比較され
る。これは、検索キーとハツシユアドレス値との単射性
(1対1対応)が必ずしもとられないからである。キー
一致検出回路(32)により、検索キーと格納キーが一致
している場合にはキーの衝突が生じていないので一致検
出信号が構造メモリ制御回路(19)に送られる。同時に
バリユーバツフアB(30)に対する出力イネーブル信号
OUTENがキー一致検出回路(32)から送られ、バリユー
バツフア(30)に保持されているフアセツトバリユーが
タグ・情報フイールド分離回路(11)に出力されるとと
もに、データレデイ信号がタグ・情報フイールド分離回
路(11)に送られ、フアセツトバリユーが取り込まれ
る。
If the status code is occupied, the search key (contents of key buffer A1 (20), key buffer A2 (21), key buffer A3 (22)) and storage key (key buffer B1
(27), Key buffer B2 (28), Key buffer B3 (29)
Content) is compared by the key coincidence detection circuit (32). This is because the injectivity (one-to-one correspondence) between the search key and the hash address value is not necessarily taken. When the search key and the stored key are matched by the key match detection circuit (32), there is no key collision, so a match detection signal is sent to the structure memory control circuit (19). At the same time, the output enable signal for the variable buffer B (30)
OUTEN is sent from the key match detection circuit (32), the preset value held in the valid buffer (30) is output to the tag / information field separation circuit (11), and the data ready signal is sent to the tag / information field. It is sent to the separation circuit (11) and the facet valley is taken in.

一方、キー一致検出回路(32)により、検索キーと格
納キーが一致していない場合には、検索キーとハツシユ
アドレス値との1対1対応がとれていない状態(これを
キーの衝突状態と呼ぶ)なので、キー一致検出回路(3
2)はキー不一致検出信号を構造メモリ制御回路(19)
とハツシユ演算制御回路(33)に送る。ハツシユ演算制
御回路(33)はリハツシユ(ハツシユアドレス値の再計
算)の指示をハツシユアドレス生成回路(24)に対して
送る。ハツシユアドレス生成回路(24)は直前に計算さ
れたハツシユアドレス値とリハツシユの回数をもとに、
次のハツシユアドレス値を計算し、バルクメモリ(25)
に与える。この処理は、検索キーと格納キーが一致する
まで行なわれる。このような検索処理をリハツシユ法と
呼ぶ。
On the other hand, if the search key and the storage key do not match by the key match detection circuit (32), there is no one-to-one correspondence between the search key and the hash address value (this is the key collision state). Therefore, the key match detection circuit (3
2) The key mismatch detection signal is a structural memory control circuit (19)
To the hash operation control circuit (33). The hash operation control circuit (33) sends a rehash instruction (recalculation of the hash address value) to the hash address generation circuit (24). The hash address generation circuit (24) uses the hash address value calculated immediately before and the number of rehashes to calculate
Calculate the next hash address value and bulk memory (25)
Give to. This process is performed until the search key and the storage key match. Such a retrieval process is called a rehashing method.

リハツシユ法による検索処理において、平均探索回数
(参照値が発見されるまでのハツシユ回数probの平均)
E(prob)は、例えば「日本経営工学会誌」Vol.30,No.
3,1979の第224頁乃至第230頁の“コンパクトな処理系が
可能な連想情報モデルについて”井田昌之著に記載され
ているようなリハツシユ法のアルゴニズムを用いると、 E(prob)=−(1/ρ)ln(1−ρ) で与えられる。
Average number of searches (an average of hash count prob until the reference value is found) in the search process by the rehashing method
E (prob) is, for example, "Journal of Japan Society for Management Engineering" Vol.30, No.
3, 1979, p. 224 to p. 230, "Associative information model capable of compact processing system" Using the algorithm of rehashing method as described in Masayuki Ida, E (prob) =-( 1 / ρ) ln (1-ρ).

但しρはハツシユ領域中のすべてのバケツトの占める
比率である。
Here, ρ is the ratio of all buckets in the hash area.

上式よりρが80%以上であっても平均探索回数は約2
回で済む。
From the above equation, the average number of searches is about 2 even if ρ is 80% or more.
It only needs to be done once.

以上はフアセツト参照処理について述べたが、フアセ
ツト値代入処理についてもほぼ同様に行われる。
Although the above description has been made of the hue reference processing, the hue value substituting processing is almost the same.

ト)発明の効果 本発明は、フレーム、スロット、フアセツトの3つか
ら検索子を生成し、この検索子と対応させて即値データ
もしくはポインタデータであるバリユーのデータをバル
クメモリに記憶させ、バリユーのポインタデータが指し
示す基本的なデータをリンクリストデータ格納メモリや
ベクトルデータ格納メモリに記憶させることにより、リ
ンクリストデータやベクトルデータなどの任意のデータ
構造をバリユーに埋め込むことができ、リンクリスト表
現の利点である情報の任意性や柔軟性を備えたまま、従
来リンクスリストのみによってフレーム型データを保持
していた場合に必要であった各フイールドの参照や変更
時のリストたどり処理を不要にすることができる。そし
て、各フイールドの参照処理やバリユーの変更処理をCP
Uからの命令により、高速の連想型データ検索機構を内
蔵するフレームデータ構造メモリ内で処理させてCPU
(1)の負担を軽減させつつ、フレームの生成・消去や
スロツト、フアセツト値の参照や変更などの基本的な処
理が高速で行なえる。結果として知識ベースシステム全
体の処理効率の向上が図れる。
According to the present invention, a retrieval element is generated from three elements of a frame, a slot, and a facet, and the retrieval data is stored in the bulk memory in association with the retrieval element, which is immediate data or pointer data. By storing the basic data pointed to by the pointer data in the linked list data storage memory or vector data storage memory, any data structure such as linked list data or vector data can be embedded in the view, and the advantages of linked list representation It is possible to eliminate the need for referencing each field and list traversing process at the time of modification, which was required when frame type data was held only by the links list while maintaining the arbitrariness and flexibility of information. it can. Then, CP reference processing for each field and change processing for the view
A command from U causes the CPU to process in the frame data structure memory that has a built-in high-speed associative data search mechanism.
While reducing the burden of (1), basic processing such as frame generation / erasure, slot, and reference or change of facet value can be performed at high speed. As a result, the processing efficiency of the entire knowledge base system can be improved.

【図面の簡単な説明】[Brief description of drawings]

第1図は本発明装置の一実施例を示す概略構成図、第2
図は本発明に係るフレームデータ構造メモリの概略構成
図、第3図A、Bはフアセツトバリユーのデータ構造を
示す図、第4図はリンクリスト表現の説明図である。 (1)……CPU、(2)……システムメモリ、(3)…
…フレームデータ構造メモリ、(4)……リンクリスト
データ格納メモリ(補助記憶手段)、(5)……ベクト
ルデータ格納メモリ(補助記憶手段)、(11)……タグ
・情報フイールド分離回路、(12)……判定出力制御回
路(判定手段)、(19)……構造メモリ制御回路、(2
4)……ハツシユアドレス生成回路(検索子生成手
段)、(25)……バルクメモリ(記憶手段)、(32)…
…キー一致検出回路、(33)……ハツシユ演算制御回
路。
FIG. 1 is a schematic configuration diagram showing an embodiment of the device of the present invention, and FIG.
FIG. 3 is a schematic configuration diagram of a frame data structure memory according to the present invention, FIGS. 3A and 3B are diagrams showing a data structure of a reset value, and FIG. (1) ... CPU, (2) ... system memory, (3) ...
... frame data structure memory, (4) ... linked list data storage memory (auxiliary storage means), (5) ... vector data storage memory (auxiliary storage means), (11) ... tag / information field separation circuit, ( 12) …… Judgment output control circuit (judgment means), (19) …… Structure memory control circuit, (2
4) ... hash address generation circuit (searcher generation means), (25) ... bulk memory (storage means), (32) ...
… Key match detection circuit, (33) …… Hash operation control circuit.

Claims (1)

【特許請求の範囲】[Claims] 【請求項1】知識ベースとしてフレーム、スロツト、フ
アセツト、バリユーから成るフレーム型のものを有する
知識ベース処理装置において、 任意のフレーム、スロツト、フアセツトの3つから検索
子を生成する検索子生成手段と、検索子と対応して即値
データもしくはポインタデータであるバリユーのデータ
を記憶する記憶手段と、バリユーのデータが即値データ
かポインタデータか判定する判定手段と、バリユーのポ
インタデータと対応して具体的なデータを記憶する補助
記憶手段とを有することを特徴とする知識ベース処理装
置。
1. A knowledge base processing apparatus having a frame-type knowledge base consisting of a frame, a slot, a facet, and a view, and a searcher generating means for generating a searcher from three arbitrary frames, a slot and a facet. , Storing means for storing the value data of the immediate data or pointer data corresponding to the searcher, determining means for determining whether the value data of the value data is immediate data or pointer data, and concretely corresponding to the pointer data of the value Knowledge-based processing device, comprising: auxiliary storage means for storing various data.
JP62057483A 1987-03-12 1987-03-12 Knowledge-based processor Expired - Fee Related JPH087682B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP62057483A JPH087682B2 (en) 1987-03-12 1987-03-12 Knowledge-based processor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP62057483A JPH087682B2 (en) 1987-03-12 1987-03-12 Knowledge-based processor

Publications (2)

Publication Number Publication Date
JPS63223832A JPS63223832A (en) 1988-09-19
JPH087682B2 true JPH087682B2 (en) 1996-01-29

Family

ID=13056956

Family Applications (1)

Application Number Title Priority Date Filing Date
JP62057483A Expired - Fee Related JPH087682B2 (en) 1987-03-12 1987-03-12 Knowledge-based processor

Country Status (1)

Country Link
JP (1) JPH087682B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0287230A (en) * 1988-09-24 1990-03-28 Toyo Commun Equip Co Ltd Storage device
JP2017123119A (en) * 2016-01-08 2017-07-13 株式会社デンソー Electronic control device

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
情報処理学会第29回(昭和59年後期)全国大会講演論文集(II)P.1355−1356

Also Published As

Publication number Publication date
JPS63223832A (en) 1988-09-19

Similar Documents

Publication Publication Date Title
US5737732A (en) Enhanced metatree data structure for storage indexing and retrieval of information
Morrison PATRICIA—practical algorithm to retrieve information coded in alphanumeric
Aoe An efficient digital search algorithm by using a double-array structure
Pugh et al. Incremental computation via function caching
Brown Implementation and analysis of binomial queue algorithms
Willard New trie data structures which support very fast search operations
JP3771271B2 (en) Apparatus and method for storing and retrieving ordered collections of keys in a compact zero complete tree
Amble et al. Ordered hash tables
US4922417A (en) Method and apparatus for data hashing using selection from a table of random numbers in combination with folding and bit manipulation of the selected random numbers
US5293616A (en) Method and apparatus for representing and interrogating an index in a digital memory
EP0595064A2 (en) Method and means providing static dictionary structures for compressing character data and expanding compressed data
US5487166A (en) Computer with two-dimensional merge tournament sort using offset-value coding
EA005641B1 (en) Database (variants) and methods for organizing same (variants)
US5659739A (en) Skip list data structure enhancements
US5347652A (en) Method and apparatus for saving and retrieving functional results
Du et al. An approach to designing very fast approximate string matching algorithms
US4780810A (en) Data processor with associative memory storing vector elements for vector conversion
Lee A word-parallel, bit-serial signature processor for superimposed coding
JPH087682B2 (en) Knowledge-based processor
CN103793522B (en) Fast signature scan
JP2675958B2 (en) Information retrieval computer system and method of operating storage device thereof
Ferragina Dynamic text indexing under string updates
US7315862B1 (en) Concurrent lock-free access to a record by write and read processes
JP2990312B2 (en) Data access method and device
JP2722684B2 (en) File system search device

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees