JPS6293731A - Arithmetic system for rule type system - Google Patents

Arithmetic system for rule type system

Info

Publication number
JPS6293731A
JPS6293731A JP60233298A JP23329885A JPS6293731A JP S6293731 A JPS6293731 A JP S6293731A JP 60233298 A JP60233298 A JP 60233298A JP 23329885 A JP23329885 A JP 23329885A JP S6293731 A JPS6293731 A JP S6293731A
Authority
JP
Japan
Prior art keywords
data
rule
register
cam
signal
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
Application number
JP60233298A
Other languages
Japanese (ja)
Inventor
Ryoji Maekawa
前川 亮二
Tsutomu Tashiro
勤 田代
Norihisa Komoda
薦田 憲久
Isao Toshima
都島 功
Kuniaki Matsumoto
松本 邦顕
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.)
Hitachi Microcomputer System Ltd
Hitachi Ltd
Original Assignee
Hitachi Ltd
Hitachi Microcomputer Engineering 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 Hitachi Ltd, Hitachi Microcomputer Engineering Ltd filed Critical Hitachi Ltd
Priority to JP60233298A priority Critical patent/JPS6293731A/en
Priority to KR1019860000316A priority patent/KR940001563B1/en
Priority to US06/820,386 priority patent/US4901229A/en
Publication of JPS6293731A publication Critical patent/JPS6293731A/en
Pending legal-status Critical Current

Links

Landscapes

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

Abstract

PURPOSE:To apply a logical describing system which uses a rule and has high readability, understandability and changeability, to even an object which requires a large quantity of states, by having both of two table data for executing a JOIN operation, on an associative storage CAM and fetching a retrieval data from the CAM whose data quantity is smaller. CONSTITUTION:An operation control part 517 compares the contents of a data quantity register in a CAMI501 and a data quantity register in a CAMII502, and writes the contents of a mask data register 524 in a mask data register in the cam whose data quantity is larger. That is to say, the operation control part 517 generates a data sending-out signal to a signal line 5035, and sends out the contents of the mask data register 524 to an internal data bus 504. A data is inputted into the CAMII by generating an address of the mask data register of the CAMII502, and transmitting a write signal to a signal line 5016 of the CAMII502. Subsequently, a work table data which has been stored in the CAMI501 whose data quantity is smaller is fetched successively by one line each from the head, and the processing is repeated by the designated number of times.

Description

【発明の詳細な説明】 〔発明の利用分野〕 本発明はルール型システムの演算装置に関し、特にルー
ルで記述された制御δ−理に従い、各設備の状態に応じ
て条件を判定し、制用l指令を決足する方式、およびル
ールで記述された生産財lff11M1理に従い、与え
られた注文データと材料データから注文と材料を割付け
るような生産計画等に適したルール型システムの演算方
式に関する。
[Detailed Description of the Invention] [Field of Application of the Invention] The present invention relates to an arithmetic device for a rule-based system, and in particular, it determines conditions according to the state of each piece of equipment in accordance with the control δ-principle described in the rules, The present invention relates to a method for deciding l directives, and a calculation method for a rule-based system suitable for production planning, etc., which allocates orders and materials from given order data and material data according to the production goods lff11M1 principle described in the rules. .

〔発明の背景〕[Background of the invention]

FA (pactory Automation )シ
ステムでは、製品のライフサイクルの短期化、製品の柚
類の多様化に伴って、製造ラインの変更、運用の変更が
頻繁に行われる。このために、制御プログラムの迅速な
開発、保守が費求される。
In factory automation (FA) systems, changes in production lines and operations are frequently made as product life cycles become shorter and product types become more diverse. This requires rapid development and maintenance of control programs.

従来は、割筒1プログラムを1・゛o几T几AN等の汎
用言語で開発する方法がとられていた。しかし、この方
法では、制御プログラムの開発、理解、変更に時間がか
がシ、まだ専門のプログラム要員が必要である等の問題
があるため、上記要求を満足させられなかった。そこで
、本発明者等は、論理の記述、理解、変更が容易な「設
備群制御方式」(特願昭58−79341号明細書参照
)を提案した。上記方式は、ルール型システムと呼ばれ
るもので、論理を任意の日本語文字列でrIF(条件)
、THEN (結緬、動作)」型のルール形式に記述す
るのみで、プログラムが作成できるものである(以下、
IP−THENルール、または単にルールと呼ぶ)。こ
の方法によれば、プログラムの開発が容易であり、かつ
調理の理解と変更に優れている。
Conventionally, a method has been adopted in which a split tube program is developed in a general-purpose language such as 1. However, this method cannot satisfy the above requirements because it takes time to develop, understand, and change the control program, and still requires specialized program personnel. Therefore, the present inventors proposed an "equipment group control method" (see Japanese Patent Application No. 79341/1983) whose logic is easy to describe, understand, and change. The above method is called a rule-based system, and the logic is expressed as an rIF (condition) using any Japanese character string.
, THEN (bound, action)" type rule format to create a program (hereinafter,
IP-THEN rules, or simply rules). According to this method, program development is easy and cooking is easy to understand and change.

本発明者等は、更に、上記ルール型システムの処理速度
の向上を目的に、ルールのIF部の条件の評価において
、パラメータ部(条件や結論を記述した文字列情報で”
く”、′〉”でくくってije述した部分)の変数(X
、Y、Z等)値の評価を連想記憶装置(一般に(:on
tent AddrescableM e m o r
 y等の名前で呼ばれている。以下CA Aiと)呼ぶ
)を用い高速に行える「ルール型システムの演算装置」
(特願昭60−12079号)を提案した。しかし、こ
の方式では、評価する一方の変数値を取シ出すバッファ
が固定されており、変数値を評価する回数を最少にする
という点については配慮されていなかった。そのために
、入力バッファ内のデータ量によっては処理効率が悪い
という問題がある。
In order to improve the processing speed of the above-mentioned rule-based system, the present inventors further developed a parameter section (character string information describing conditions and conclusions) in evaluating the conditions of the IF section of the rule.
The variable (X
, Y, Z, etc.) values are stored in an associative memory (generally (:on
Tent Addressable M e m o r
It is called by the name y etc. "A calculation device for rule-based systems" that can be performed at high speed using CA Ai (hereinafter referred to as CA Ai)
(Patent Application No. 60-12079). However, in this method, the buffer that takes out the value of one of the variables to be evaluated is fixed, and no consideration is given to minimizing the number of times the variable value is evaluated. Therefore, there is a problem that processing efficiency is poor depending on the amount of data in the input buffer.

以下、ルール型システムの動作原理の概要を説明した後
で、従来の「ルール型システムの演型装置」の動作原理
及び問題点を詳しく説明する。
Hereinafter, after an overview of the operating principle of the rule-based system is explained, the operating principle and problems of the conventional "rule-based system modeling device" will be explained in detail.

第3図は、先願の「設備群制御方式」の機能ブロック図
である。
FIG. 3 is a functional block diagram of the "equipment group control system" of the prior application.

11はルール記憶部、12はルール運用部、13は状態
記憶部である。IF−THENルールによる制御指令の
決定は、あるルールの結論を、さらに別のルールの条件
判定に用いるという処理を順次性り返えし、最終的にル
ールのTHEN部に動作(制御指令)の記述されたルー
ルの条件が満足され、制御指令が決定されるという原理
で行われる。すなわち、第3図において、ルール運用部
12は、ルールを記憶しているルール記憶部11からル
ールを1つずつ取出し、対象の状態を記憶している連想
記憶部13の内容と、取出したルールのIF部の条件と
を比較し、条件が満足されるか否かを判定する。条件が
満足されれば、取出したルールのTHEN部の結論を状
態記憶部13に追加していく。ここで、IF部の条件判
定では、IF部に記憶された1つ1つのIFの文章(条
件)と一致する文章(状態)がすべて状、標記憶部13
中に存在するか否かを判定し、さらに変数(x。
11 is a rule storage section, 12 is a rule operation section, and 13 is a state storage section. Determining a control command using an IF-THEN rule involves sequentially repeating the process of using the conclusion of one rule to determine the conditions of another rule, and finally determining the action (control command) in the THEN part of the rule. It is performed on the principle that the conditions of the written rules are satisfied and the control command is determined. That is, in FIG. 3, the rule operation unit 12 retrieves the rules one by one from the rule storage unit 11 that stores the rules, and extracts the rules from the content of the associative storage unit 13 that stores the target state and the retrieved rules. It is determined whether or not the conditions are satisfied. If the conditions are satisfied, the conclusion of the THEN section of the extracted rule is added to the state storage section 13. Here, in the condition judgment of the IF section, if all the sentences (states) that match the sentences (conditions) of each IF stored in the IF section are in the state, the target storage section 13
It is determined whether the variable (x.

y、z等)に対しては、IF部に記述された全条件を同
時に満足する(AND条件)値が存在するか否かを判定
し、存在すればその値を生成する。
y, z, etc.), it is determined whether there is a value that simultaneously satisfies all the conditions described in the IF section (AND condition), and if it exists, that value is generated.

第4図は、第3図の装置において、ルールのパラメータ
部に変数が記述されている場合の処理の詳細図である。
FIG. 4 is a detailed diagram of the process in the apparatus shown in FIG. 3 when variables are described in the parameter section of the rule.

21〜25は、ルール運用部12内のワーク・テーブル
である。ルール記憶部11の内には、いまルール運用部
12が処理している(J4!2り出した)1つのルール
のみ示している。ルール運用部12は、先ずルールのI
 1”部の最初のI l”の文字列″’ (A<X><
Y>)” と状態記憶部13に格納されている文字列と
の一致判定を行う。この際の一致判定は、文字列のパラ
メータ部を除いた部分、すなわち゛(A)”で行う。一
致する文字列が状態Hピ憶部工3中に存在すれば、一致
する文字列中のパラメータ部の値を、■Fの文字列中の
対応するパラメータ部に記述しである変数の値としてワ
ーク・テーブル21に取り込む(■)。さらにルール運
用部12は、次の1.Fの文字列” CB<Z>くY〉
)”に対して同じ処理を行い、状、四記憶部13の文字
列のパラメータ部の埴をIF部部の文字列の変数値とし
て別のワーク・テーブル22に取り込む(■)。その(
f、両ワーク・テーブル21゜22に取り込まれた変数
値全組合せ、AND条件を満足する変数値を生成しくル
ールのIF部の条件はAND条件として扱う)、別のワ
ーク・テーブル23に格納する(■)。AND条件を満
足する変侵値の生成処理とは、1つのワーク・テーブル
のある1行と、他の1つのワーク・テーブルのある1行
において、共通変数(2つのテーブルで共に1直が取込
1れた変数)の瞳が一致する行の組合せをすべて探し出
し、それぞれの組合せに対し、共通変数の値はそのまま
、他の変数は値を持つ方の変数の値とした新しい変数値
を生成すること(これを行データの重ね合せと呼ぶ)で
ある。例えは、第4図の例では、ワーク・テーブル21
の第1行目とワーク・テーフ゛ル22の第2イ了目にお
いて、共消変DYの値が共にa″で一致し、これから新
しい変数値としてワーク・テーブル23の第1行目のX
=34.Y=a、 Z==oが生成されている。この処
理は、いわゆるテーブル・データのJOIN演算である
。IF部部の文字列が3つ以上存在する場合、さらに次
のIF部の文字列に対して変数値を取り込み(■)、取
り込んだ変数値と、それまでに生成したAND条件を満
足する変数値(この場合、ワーク・テーブル23に積結
されているもの)とを組合せ、いま取込んだ変数1−4
をも包めた上で、AND条件全満足する変数値を生成し
、ワーク・テーブルに格納する(■)。
21 to 25 are work tables within the rule operation section 12. In the rule storage section 11, only one rule currently being processed by the rule operation section 12 (J4!2 has been exported) is shown. The rule operation unit 12 first
The character string "''(A<X><
A match is determined between "Y>)" and the character string stored in the state storage unit 13. At this time, the match is determined using the part of the character string excluding the parameter part, that is, "(A)". If a matching character string exists in the state H memory section 3, write the value of the parameter part in the matching character string in the corresponding parameter part of the character string in ■F as the value of the variable. Import into work table 21 (■). Furthermore, the rule operation unit 12 performs the following 1. Character string of F” CB<Z>kuY>
)", and import the parameter part of the character string in the 4th storage part 13 into another work table 22 as the variable value of the character string in the IF part (■).
f. All combinations of variable values taken into both work tables 21 and 22, generate variable values that satisfy the AND condition (conditions in the IF section of the rule are treated as AND conditions), and store in another work table 23. (■). The process of generating a transgressive value that satisfies the AND condition means that one row in one work table and one row in another work table have a common variable (one shift is taken in both tables). Finds all combinations of rows where the pupils of the variables included in the variable) match, and for each combination, generates a new variable value with the value of the common variable unchanged and other variables set to the value of the variable that has the value. (This is called overlapping row data.) For example, in the example of FIG. 4, the work table 21
In the first row of
=34. Y=a, Z==o are generated. This process is a so-called JOIN operation of table data. If there are three or more character strings in the IF part, the variable value is imported (■) for the next character string in the IF part, and the variable value is added to the variable that satisfies the AND condition generated so far. The values (in this case, those stored in the work table 23) are combined with the variables 1-4 that have just been imported.
Then, a variable value that satisfies all AND conditions is generated and stored in the work table (■).

この処理は、3つ目星上のI Pの文字列すべてに対し
て、讃シ返される。その後、最終的にA N D条件を
満足する変数値が存在すれば、その値をTHEN部の文
字列の対応する変数に1・込んたものを、新たに状態記
憶部13に書き加える(■)。
This process is returned for all IP character strings on the third star. After that, if there is a variable value that finally satisfies the A N D condition, that value is added to the corresponding variable of the THEN part by 1, and a new value is written to the state storage part 13 (■ ).

先願の「ルール型システムの演算装置[は、上記AND
条件満足変数値生成処理(J OI N演算)をCAM
を用い尚速に行うものである。以下、従来のJOIN演
算の処理内容をW、5図を用いて説明する。
The earlier application's "arithmetic device for a rule-based system [is the above AND
CAM the condition satisfaction variable value generation process (J OI N calculation)
This is done quickly using the . The processing contents of the conventional JOIN operation will be explained below using FIG. W.5.

第5(a)図において、41は通常の記憶装置、42.
43はCAM、44はCAM内の比較部、45は行デー
タ重ね合せ処理を行うだめの行データ重ね合せ用専用回
路である。
In FIG. 5(a), 41 is a normal storage device, 42.
43 is a CAM, 44 is a comparison section within the CAM, and 45 is a circuit dedicated to row data overlapping for performing row data overlapping processing.

先ず、JOIN側算を行うべきワーク・テーブルの一方
を通常の記憶装置41に、もう一方を1つのCAM42
に、それぞれ格納する。さらに、JOIN演算の結果の
テーブル・データは、別のCAM43に格納する。動作
は、次の通りである。
First, one of the work tables on which the JOIN calculation is to be performed is stored in a normal storage device 41, and the other is stored in one CAM 42.
, respectively. Further, table data resulting from the JOIN operation is stored in another CAM 43. The operation is as follows.

すなわち、通常の記憶装置41よりテーブル・データを
1行ずつI!Zり出し、これをCAM42の検索データ
とする(なお、この際、共洩俊数Y以外のデータX、z
はマスクする)。CAM42では、比較部44によりC
AM42内のテーブル・データのすべての行に対し、デ
ータの比較処理を同時に行う。検索データと共通データ
の値が一致したCAM42内テーブルの行は、1つずつ
取り出され、行データ重ね合せ用専用回路45により検
索データと重ね合わされ、別のCAM43にll1c4
次格納される。
That is, I! table data is stored one row at a time from the normal storage device 41. Z, and use this as the search data of CAM42 (at this time, data X, z other than the common number Y)
mask). In the CAM 42, the comparator 44 selects C
Data comparison processing is performed simultaneously on all rows of table data in AM42. The rows of the table in the CAM 42 where the values of the search data and the common data match are taken out one by one, superimposed on the search data by the dedicated circuit 45 for row data superimposition, and transferred to another CAM 43.
Stored next.

以上示したように、データの比較処理を行う回数は、C
AM42内のテーブル・データの行数に関係なく、通常
の記憶装f41のテーブル・データの行数すなわち検索
データの個数によって決定される。したがって、通常の
記憶装置41のテーブル・データ数がCAM42のテー
ブル・データ数よりも多くなると、比較処理の19;数
が栢し処理速度が遅くなる。本例の場合は比較処理の回
数は第5(a)図■■に示すように2回であるが、第6
図に示すように、第5図と同一データでも、テーブル・
データの内容が入れかわると、比較処理が4回必要とな
る(第5(b)図[F]、■、■、■)。このように、
従来の方式では、通常の記憶装置41上にあるテーブル
・データを常に検索データとしていたために、通常の記
憶装置41のデータ数がCAM42のデータ数よシ多い
場合比軟処理の回数がこの逆のも合に比べて多くなシ、
処理効率が悲くなるという問題があった。
As shown above, the number of times data comparison processing is performed is C
Regardless of the number of rows of table data in AM42, it is determined by the number of rows of table data in normal storage f41, that is, the number of search data. Therefore, if the number of table data in the normal storage device 41 is greater than the number of table data in the CAM 42, the number of comparison processes will be reduced and the processing speed will be slowed down. In this example, the number of times the comparison process is performed is two times as shown in Figure 5(a).
As shown in the figure, even with the same data as in Figure 5, the table
If the data contents change, the comparison process will be required four times (FIG. 5(b) [F], ■, ■, ■). in this way,
In the conventional method, table data on the normal storage device 41 is always used as search data, so if the number of data in the normal storage device 41 is greater than the number of data in the CAM 42, the number of times of soft processing is reversed. There are many cases compared to the number of cases.
There was a problem with poor processing efficiency.

〔発明の目的〕[Purpose of the invention]

本発明の目的は、このような従来の問題を解決し、JO
IN演を効率よ〈実行して、ルールを用いる可読性、理
解性、および変更容易性の高い論理記述方式を多量の状
悲金取り扱う必はのある対象にも適用できるようにした
ルール型システムの演算方式を提供することにある。
The purpose of the present invention is to solve such conventional problems and to
A rule-based system that efficiently executes IN operations and makes it possible to apply a logical description method using rules that is highly readable, easy to understand, and easy to change, even to objects that need to handle a large amount of money. The objective is to provide a calculation method.

〔発明の概要〕[Summary of the invention]

上記目的を達成するため、本発明によるルール型システ
ムの演算装置は、設備群の条件と結論からなるルールを
格納するルール記憶部、設備群の状態と実行すべき作業
内容とルールで結論された内容を格納する状態記憶部、
該状態記憶部に格納された情報と上記ルール記憶部に格
納されたルールの結論を上記状態記憶部に格納するルー
ル運用部を有し、設備群に対する制御指令を決定するル
ール型システムにおいて、上記ルールのある1つに記述
された複数の条件内容のうちのある2組と合致する状標
ハ1億部情報からなる2組のデータの集合に対し、該2
組の条件内容のうちの共通な項目に対応する頭が等しい
上記両データのすべての組合せからなる集合データを作
成するJOIN演算に対し、上記2つの集合データをそ
れぞれ保持する2組の連想記憶手段と、JOIN演算の
結果を保持する出力バッファと、両データから項目イ直
を意味ある方の値に□□□゛き=えて1つのデータを作
成するデータ亜ね合せ手段とを具備し、2つの連想2d
憶手段のうちデータの少ない方からデータを1つずつ取
り出し、該データを検索データ、上記共通項目を検索キ
ーとしてもう一方の連想記憶手段のデータを連想検索し
、取り出されたデータと検索データを上古[′、重ね合
せた結果を、出力バッファに格納するという一浬の動作
を挾り返して実行することに%iがある。
In order to achieve the above object, the arithmetic device of the rule-based system according to the present invention includes a rule storage section that stores rules consisting of conditions and conclusions of equipment groups, and a rule storage unit that stores rules consisting of conditions and conclusions of equipment groups; a state memory section for storing contents;
In the rule-based system, the rule operating unit stores information stored in the status storage unit and the conclusion of the rule stored in the rule storage unit in the status storage unit, and determines a control command for a group of equipment. For two sets of data consisting of 100 million pieces of information, a letter that matches two sets of multiple condition contents described in one rule is
Two sets of associative memory means each holding the above two sets of data for a JOIN operation that creates set data consisting of all combinations of the above two sets of data that have the same head corresponding to a common item among the condition contents of the sets. and an output buffer for holding the result of the JOIN operation, and a data sub-matching means for creating one data by changing the value of item I from both data to a meaningful value, 2 two associations 2d
Data is retrieved one by one from the memory means with less data, and the data is used as search data.The data in the other associative memory means is associatively searched using the above common items as search keys, and the retrieved data and search data are searched. %i lies in the repeated execution of the first operation of storing the superimposed results in the output buffer.

〔発明の実施例〕[Embodiments of the invention]

以下、本発明の一実施例を、図面により説明する。第6
図は、本発明の動作原理を示す説明図である。
An embodiment of the present invention will be described below with reference to the drawings. 6th
The figure is an explanatory diagram showing the operating principle of the present invention.

既提案の「ルール型システムの演算装置」におけるJO
IN演算処理では、JOIN演算する2つのワーク・テ
ーブルのうち一方は、通常の記憶装置上に、他方はCA
M上にあり、通常の記憶装置上のテーブル・データを常
に検索データとしていた。そのために、検索データ数が
、CAMのテーブル・データ数よりも多くなる場合があ
シ、比較処理の回数を常に最少にするということができ
ず、処理上のネックとなっていた。これに対して、本発
明は、JOIN演算する2つのワーク・テーブルを共に
CAM上に置き、2つのワーク・テーブルのうちで、変
数直の格納されている行数が少ないワーク・テーブルを
検索データとすることにより、比較処理の回数を常に最
少とし、JOIN演算を商運に行うものである。
JO in the previously proposed “arithmetic unit for rule-based systems”
In IN operation processing, one of the two work tables to be JOIN operated on is on the normal storage device, and the other is on the CA
M, and table data on a normal storage device was always used as search data. As a result, the number of search data may be greater than the number of table data in the CAM, and the number of comparison processes cannot always be minimized, creating a bottleneck in processing. In contrast, in the present invention, two work tables to be subjected to a JOIN operation are placed together on the CAM, and of the two work tables, the work table that stores the fewest rows of direct variables is used as the search data. By doing so, the number of times of comparison processing is always minimized, and JOIN calculations are carried out efficiently.

第6図において、41,42.43はCAM。In FIG. 6, 41, 42, and 43 are CAM.

44.45.46は、CAM内の比較部、47は行デー
タ重ね合せ処理を行う専用回路、48゜49.50は、
それぞれのテーブル・データの行数を記憶するデータ量
レジスタである。
44, 45, and 46 are comparison sections in the CAM, 47 is a dedicated circuit that performs row data overlapping processing, and 48° and 49.50 are
This is a data amount register that stores the number of rows of each table data.

本発明では、JOIN演算を行う2つのワーク・テーブ
ル及びデータ量を、それぞれCAM41、CAM42、
データ量レジスタ48、データ量1/ジスタ49に格納
する。なお、JOIN演算の結果のテーブル・データは
CAM43に、そのデータ量はデータ量レジスタ50に
格納する。動作は次の通りである。2つのデータ量レジ
スタ48゜490内容を比較し、データ量の少いワーク
・テーブルが格納されているCAMから検索データを1
行ずつ取り出す(この際、共通変数Y以外のデータX、
Zはマスクする)。なお、データ量が同一の場合は、C
AM41から検索データを取り出す。第6図の例では、
CAM41から検索データを取り出す。CA、M42で
は、比較部55によりCAM42内のテーブル・データ
のすべての行に対し、データの比較処理を同時に行う。
In the present invention, two work tables and data amounts for performing JOIN operations are stored in CAM41, CAM42, and
It is stored in the data amount register 48 and the data amount 1/register 49. The table data resulting from the JOIN operation is stored in the CAM 43, and the amount of data is stored in the data amount register 50. The operation is as follows. Compare the contents of the two data amount registers 48° and 490, and retrieve one search data from the CAM that stores the work table with a small amount of data.
Extract row by row (at this time, data X other than the common variable Y,
Z is masked). In addition, if the amount of data is the same, C
Retrieve the search data from AM41. In the example in Figure 6,
Retrieve data from CAM41. In the CA and M42, the comparison unit 55 simultaneously performs data comparison processing on all rows of table data in the CAM42.

検索データと共通データの値が一致したCAM42内の
テーブルの行は、1つずつ取り出され、行データ重ね合
せ用専用回路49により検索データと重ね合わされ、別
のCAM43に1p次格納される。この際、データ量レ
ジスタ50は、CAM43に格納されたデータ数を憶え
ておく。本装置では、CAMを3つ用いることで、ルー
ル型ソフトのルールにおいて、IF部の条件を記述した
文字列が3つ以上あシ、今生酸したAND条件を満足す
る変数値と更に、次のIFの条件に対し取シ込んだ新し
い変数値とを組合せ、再びJOIN処理を〈シ返さなけ
ればならないような場合に、新しい変数値をCAM41
に取り込み、CAM42とCAM43の役割を適宜切り
変えることで、JOIN演算をデータの転送を行うこと
なく連続して実行することが可能である。また、それぞ
れのCAM内に格納されているデータ量を記憶すること
によシ、JOIN演算を行うさい、常にデータ量の少な
いほうから検索データを取り出すことができ、比軟処理
の回数を常に最少にすることが可能である。
The rows of the table in the CAM 42 in which the values of the search data and the common data match are taken out one by one, superimposed on the search data by the dedicated circuit 49 for row data superimposition, and stored in another CAM 43 in the 1p order. At this time, the data amount register 50 stores the number of data stored in the CAM 43. In this device, by using three CAMs, in the rules of the rule-based software, if there are three or more character strings describing the conditions in the IF section, then the variable value that satisfies the AND condition, and the following If you have to combine the imported new variable values with the IF conditions and return to the JOIN process again, you can import the new variable values into the CAM41.
By importing the information into the CAM 42 and changing the roles of the CAM 42 and CAM 43 as appropriate, it is possible to execute JOIN operations continuously without data transfer. In addition, by storing the amount of data stored in each CAM, when performing a JOIN operation, the search data can always be retrieved from the side with the least amount of data, and the number of soft processing operations can always be minimized. It is possible to

以上のことから、ルール型ソフトのルールの処理を効率
的に実行することが可能となる。
From the above, it becomes possible to efficiently execute rule processing of rule-based software.

第1図において、501はCA M 1 % 502は
CAMn、503はCAMIII、504は内部データ
バス、505は内部アドレスバス、506は外部データ
バス、507は外部アドレスバス、508はバス切換制
御部、509は内部アドレス発生部、510は外部アク
セス制脚部、511はテーブル指定フラグ、512はモ
ードフラグ、521はCAMI内データ量レジスタ、5
22はCAMII内データ量レジスタ、523はCA 
M [1内データ量レジスタ、524はマスクデータレ
ジスタ、514は検索データレジスタ、515は検索結
果レジスタ、516にデータ重ね合せ器、517は動作
制御部、518rfi、リセット部である。また、内部
データバス504および内部バドレスバス505は、そ
れぞれ本装置内部のデータ信号用のパスライン、アドレ
ス信号用のパスラインである。
In FIG. 1, 501 is CAM1%, 502 is CAMn, 503 is CAMIII, 504 is an internal data bus, 505 is an internal address bus, 506 is an external data bus, 507 is an external address bus, 508 is a bus switching control unit, 509 is an internal address generation unit, 510 is an external access control unit, 511 is a table specification flag, 512 is a mode flag, 521 is a CAMI internal data amount register, 5
22 is the data amount register in CAMII, 523 is CA
M[1 data amount register, 524 is a mask data register, 514 is a search data register, 515 is a search result register, 516 is a data superimposer, 517 is an operation control section, 518 rfi, a reset section. Further, the internal data bus 504 and the internal bus address bus 505 are a pass line for data signals and a pass line for address signals inside the device, respectively.

一方、外部データバス506、外部アドレスバス507
は、それぞれ本装置内部(7)CAM I 501゜C
AMII 502、CAMII503、その他フラグ、
レジスタ等を外部からアクセスするためのデータ信号用
のパスラインである。本装置では、外部アクセス・モー
ドと内部動作モードの2つがある。
On the other hand, an external data bus 506 and an external address bus 507
are respectively inside this device (7) CAM I 501°C
AMII 502, CAMII503, other flags,
This is a pass line for data signals to access registers etc. from the outside. This device has two modes: an external access mode and an internal operating mode.

外部アクセス・モードは、外部アドレスバス507に外
部からアドレスを指定し、外部データバス506上のデ
ータを本装置内部に書込むこと、あるいは本装置内部の
データを外部データバス506上に読み出すことができ
るモードであシ、内部動作モードは第6図に示した原理
に基づいて自動的にJOIN演算を実行するモードであ
る。モードの切換えは、モード7ラグ512によって指
定される。すなわち、モードフラグ″0″のときは外部
アクセス・モード、モードフラグ″′1″のときには内
部動作モードを示す。モードフラグ512は、信号線5
002のラッチ信号によって内部データバス504の信
号を信号線5003を通しラッチすることによって′1
″′にセットされ、信号線5004のリセット信号によ
って0”にリセットされる。また、モードフラグの状態
は、信号線5001に送出される。通常、モードフラグ
は”0”の状態にあシ、外部アクセス・モードとなって
いる。
In the external access mode, an address is specified from the outside to the external address bus 507, and data on the external data bus 506 can be written into the device, or data inside the device can be read out onto the external data bus 506. The internal operation mode is a mode in which JOIN operations are automatically executed based on the principle shown in FIG. Mode switching is specified by mode 7 lag 512. That is, when the mode flag is "0", it indicates an external access mode, and when the mode flag is "'1", it indicates an internal operation mode. The mode flag 512 indicates the signal line 5
By latching the signal of the internal data bus 504 through the signal line 5003 by the latch signal of 002, '1
``'', and is reset to 0'' by a reset signal on signal line 5004. Further, the state of the mode flag is sent to the signal line 5001. Normally, the mode flag is in the state of "0", which is the external access mode.

バス切換制御部508は、モードフラグ512の状、髄
を示す信号線5001の信号に応じ、外部アクセス・モ
ード時には外部データバス506、外部アドレスバス5
07を、それぞれ内部データバス504、内部アドレス
バス505に結合し、内部動作モード時にはこれらを切
離し、内部アドレス発生時509のアドレス信号線50
06’に内部アドレスバス505に結合する動作を行う
The bus switching control unit 508 controls the external data bus 506, external address bus 5,
07 are connected to the internal data bus 504 and internal address bus 505, respectively, and are disconnected in the internal operation mode, and when an internal address is generated, the address signal line 509 is connected to the internal data bus 504 and the internal address bus 505.
At 06', an operation is performed to connect to the internal address bus 505.

内部アドレス発生部509は、内部動作モード時、CA
M1501、CAMII502、CAMII[503の
データを読み誉きするアドレスを発生する部分である。
Internal address generator 509 generates CA in internal operation mode.
This is a part that generates an address for reading the data of M1501, CAMII502, and CAMII[503.

この内部アドレス発生部509は、信号線5005上に
CAM I 501 、CAMII502、CAMII
I 503内のレジスタ、メモリセルのいずれか1つを
指定する制御信号を動作制御部517が発生すると、こ
れらの信号にそれぞれ対応するアドレスを発生して、信
号線5006上に送出する。アドレスの発生は、CAM
I501のメモリセル、CAMn502のメモリセル、
CAMIII503のメモリセルに対しては、アドレス
空間の先頭から順にアクセスするように行われる。
This internal address generation section 509 generates CAM I 501, CAM II 502, CAM II on the signal line 5005.
When the operation control unit 517 generates a control signal specifying one of the registers and memory cells in the I 503, it generates addresses corresponding to these signals and sends them onto the signal line 5006. The address is generated by CAM
I501 memory cell, CAMn502 memory cell,
The memory cells of the CAM III 503 are accessed in order from the beginning of the address space.

第2図は、第1図の3個のCA Mのアドレスの関係を
示す図である。
FIG. 2 is a diagram showing the relationship between the addresses of the three CAMs in FIG. 1.

第2図に示すように、CAM1501のメモリセル、C
AMl1502のメモリセル、CAM■503のメモリ
セルのアクセスを指定するたびに、次に発生されるアド
レスは、それぞれ必要量だけインクリメントされている
。また、CAM1501、CAM[502、CAMII
I503内のレジスタ類については、それぞれに割当て
られているアドレスを発生する。なお、信号線5007
のリセット信号により、CA M I 501 、CA
 M II 502、CAM]ll503のメモリセル
に対する発生アドレスは、メモリ空間の先頭にリセット
される。
As shown in FIG. 2, the memory cell of CAM1501, C
Each time an access to a memory cell of the AMl 1502 or a memory cell of the CAMl 503 is specified, the next generated address is incremented by the required amount. Also, CAM1501, CAM[502, CAMII
For the registers in I503, addresses assigned to each are generated. In addition, the signal line 5007
By the reset signal of CA M I 501, CA
The generated address for the memory cell in MII 502, CAM]ll 503 is reset to the beginning of the memory space.

CAMI501は、第6図に示すように、JOIN演算
を行う一方のワーク・テーブルを格納するだめのもので
あり、CAMII502、CAMll1503は、第6
図に示したように、JOIN演算を行う他方のワーク・
テーブル、およびJOIN演算を行った結果のワーク・
テーブルを格納するだめのものである。CAMI501
、CAMn502、CAMIII503、はアドレス信
号5014上のアドレス16号の指定するCAM内メセ
メモリセルデータ御信号5016上の制御信号に応じ、
データ信号線5015を通じてアクセスできると同時に
、リセット信号線5017、検索信号線5018、検索
結果信号線5019によって連想検索機能がコントロー
ルされる。
As shown in FIG. 6, CAMI 501 is for storing one work table for performing JOIN operations, and CAM II 502 and CAMll 1503 are for storing the sixth work table.
As shown in the figure, the other work area that performs the JOIN operation
table and the work result of the JOIN operation.
It is not meant to store tables. CAMI501
, CAMn502, CAMIII503, respond to the control signal on the CAM meme memory cell data control signal 5016 specified by address No. 16 on the address signal 5014,
It can be accessed through a data signal line 5015, and at the same time, an associative search function is controlled by a reset signal line 5017, a search signal line 5018, and a search result signal line 5019.

第7図は、CAM内の各レジスタの配置図である。CA
、Mの連想検索機能を第7図により脱明する。
FIG. 7 is a layout diagram of each register in the CAM. CA
, M's associative search function is explained in FIG.

61は検索データレジスタ、62はマスクデータレジス
タ、63はメモリセル、64は検索結果フラグである。
61 is a search data register, 62 is a mask data register, 63 is a memory cell, and 64 is a search result flag.

メモリセル63には、連想検索されるべきデータが格納
される。また、検索データレジスタ61には、検索すべ
きデータが格納される。マスクデータレジスタ62は、
検索データレジスタ61のデータのうち、検索時に考慮
しない部分のマスクを指定するものである。マスクデー
タレジスタ62で、0″が格納されている部分に対応す
る検索データレジスタ61のデータはマスクされ、検索
時、データ一致の比較対象とならない(”1”が@納さ
れている部分のみ比較対象となる)。これらのレジスタ
61,62、メモリセル63は、通常のメモリと同じよ
うに、信号線5014.5015.5016を用いてア
クセスされる。
The memory cell 63 stores data to be associatively searched. Further, the search data register 61 stores data to be searched. The mask data register 62 is
This designates a mask for the portion of the data in the search data register 61 that is not considered during the search. The data in the search data register 61 that corresponds to the part where 0'' is stored in the mask data register 62 is masked and is not compared for data matching during a search (only the part where ``1'' is stored is compared). These registers 61, 62 and memory cell 63 are accessed using signal lines 5014, 5015, and 5016 in the same way as a normal memory.

これらのレジスタ61,62、メモリセル63にデータ
を@納した後、検索信号線5018をオンすることによ
り、連想検索が行われる。すなわち、検索データレジス
タ61とメモリセル63内のデータのうち、マスクデー
タレジスタ62で?+111が指定されている部分のデ
ータの一致比較が、メモリセル63内の全データ同時に
行われ、一致したデータのメモリセル63の行に対応す
る検索結果フラグ64に1″が立つ。検索結果フラグ6
4に1つでも1″が立てば、そのことは検索結果信号線
5019上に示され、外部に伝えられる。また、1つも
1”が立たなければ、信号線5019には検索結果の無
いことが示される。また、検索結果フラグ64で1”の
立っている最初の行のメモリセル63内のデータが、デ
ータ信号線5015に送出される。次に、再び検索信号
115018がオンされると、模索結果フラグ64で、
2査目に1″の立っている行のメモリセル63内のデー
タが、データ信号線s 015に送出され、1査目のフ
ラグはγ角される。なお、リセット信%Jj15017
をオンすることにより、全メモリセル63の内容がクリ
アされる。
After data is stored in these registers 61, 62 and memory cells 63, an associative search is performed by turning on the search signal line 5018. That is, among the data in the search data register 61 and the memory cell 63, which data is in the mask data register 62? A match comparison of the data in the portion where +111 is specified is performed simultaneously for all data in the memory cell 63, and 1'' is set in the search result flag 64 corresponding to the row of the memory cell 63 containing the matched data.Search result flag 6
If 1" is set for even one of the search results, this is indicated on the search result signal line 5019 and communicated to the outside. If no 1" is set, it means that there is no search result on the signal line 5019. is shown. Further, the data in the memory cell 63 of the first row for which 1" is set in the search result flag 64 is sent to the data signal line 5015. Next, when the search signal 115018 is turned on again, the search result flag At 64,
In the second scan, the data in the memory cell 63 in the row where 1'' is set is sent to the data signal line s015, and the flag in the first scan is set to γ angle.The reset signal %Jj15017
By turning on, the contents of all memory cells 63 are cleared.

CAM[502、CAMIII503のうち、いずれを
JOIN演算を行うワーク・テーブルに、いずれをJO
IN演算結演算結納するワーク・テーブルに、それぞれ
便用するかは、テーブル指定フラグ511によって指定
される。このフラグが′1”のとき、CAMII502
をJOIN演算を行うワーク・テーブルとして、CAM
IIJ503をJOIN演算の結果を格納するワーク・
テーブルとして、それぞれ使用する。”0”のときには
、その逆となる。テーブル指定フラグ511は、信号線
5020のラッチ信号によシ、内部データバス504の
信号を信号線5021全通してラッチすることによって
、セットされる。!、た、その内容は、信号線5022
に送出される。
Which of CAM[502 and CAMIII503 should be used as the work table for JOIN operation, and which should be used as JO
Whether or not each work table is used for concatenating IN operations and conjunctive operations is specified by a table designation flag 511. When this flag is '1', CAMII502
CAM as a work table for JOIN operation.
IIJ503 is a work area that stores the results of JOIN operations.
Use each as a table. When it is "0", the opposite is true. The table designation flag 511 is set by latching the signal on the internal data bus 504 through the entire signal line 5021 in response to the latch signal on the signal line 5020. ! , the contents are the signal line 5022
will be sent to.

外部アクセス制御部510は、これまでに述べたCAM
I501.CAM11502、CAMIII503、モ
ードフラグ512、テーブル指定フラグ511、CAM
I内データ量レジスタ521、CAMII内データ量レ
ジスタ522、CAMIII内データ量レジスタ523
、マスクデータレジスタ524yFr:外部からアクセ
スするだめの制御を行う部分である。
The external access control unit 510 is the CAM described above.
I501. CAM11502, CAMIII503, mode flag 512, table specification flag 511, CAM
I internal data amount register 521, CAMII internal data amount register 522, CAMIII internal data amount register 523
, mask data register 524yFr: This is a part that controls access from the outside.

この外部アクセス制御部510において、外部アドレス
バス507上の信号がデコードされ、前記のいずれをア
クセスするかが決定され、信号線5023のリード/ラ
イト信号に応じて、アクセス対象に制御信号、ラッチ信
号を送出する。また、JOIN演算の終了時(モードフ
ラグ512がオンからオフに変った時)、外部に対しJ
OIN演算の終了を示す割込み信号を信号線5024上
に送出する。
In this external access control section 510, the signal on the external address bus 507 is decoded, which of the above is to be accessed is determined, and depending on the read/write signal on the signal line 5023, the access target is a control signal, a latch signal, etc. Send out. Also, at the end of the JOIN operation (when the mode flag 512 changes from on to off), J
An interrupt signal indicating the end of the OIN calculation is sent onto signal line 5024.

マスクデータレジスタ524は、外部アドレスバス50
7にこのレジスタ524に割当てられたアドレスを指定
し、ライト信号t−信号+i5023に発生させること
により蓄き込むことが可能である。すなわち、上記ライ
ト信号により、外部アクセス制御部510は信号線50
33に書き込み信号を発生させ、信号線s 034を介
して外部データバス506の内容をレジスタに書き込む
ことができる。また、レジスタの内容は、信号線503
5の読み出し信号により、内部バス504に送出される
The mask data register 524 is connected to the external address bus 50.
It is possible to store data by specifying the address assigned to this register 524 in 7 and generating the write signal t-signal +i5023. That is, the write signal causes the external access control unit 510 to switch the signal line 50
A write signal can be generated at 33 to write the contents of external data bus 506 to the register via signal line s034. Also, the contents of the register are stored on the signal line 503.
The read signal of No. 5 is sent to the internal bus 504.

検索データレジスタ514は、J(、JIN演算を行う
2つのワーク・テーブルでデータ重の少ないCAMに格
納されているワーク・テーブルの1行のデータを取り出
して格納するレジスタ、検索結果レジスタ515は、J
OIN演寞ヲ行う2つのワーク・テーブルでデータ量の
多いCAMk、このレジスタの内容と同じデータを検索
データとして連想検索した際に、一致した検索結果デー
タをCAMから取り出して格納するレジスタである。
The search data register 514 is a register that extracts and stores one row of data from two work tables that perform JIN operations and is stored in a CAM with low data weight.The search result register 515 is J
CAMk is the two work tables that perform OIN operations, and has a large amount of data.When an associative search is performed using the same data as the contents of this register as search data, the matched search result data is retrieved from the CAM and stored.

これらのレジスタは、信号線5025上のランチ信号に
より、内部データバス504の信号を信号線5026’
i通しランチすることによってセットされる。その内容
は、それぞれ信号線5027゜5028に送出される。
These registers transfer the signals on the internal data bus 504 to the signal line 5026' by the launch signal on the signal line 5025.
It is set by having lunch all day long. The contents are sent to signal lines 5027 and 5028, respectively.

また、検索データレジスタ514では、信号15028
2をオンすることKよす、その内容を信号線50281
全通して内部データバス504上に送出できる。
Also, in the search data register 514, the signal 15028
Turn on 2, send its contents to signal line 50281
The entire data can be sent on the internal data bus 504.

CAMI内データ量レジスタ521、CAMII内テー
タ菫デースタ522、CAMIII内データ量レジスタ
523は、それぞれCAM内に格納したワーク・テーブ
ル内に実際にデータが格納されている行数を示すもので
ある。これらのレジスタ521.522,523は、外
部アクセスモード時に、外部アドレスバス507にそれ
ぞれのレジスタに割当てられたアドレスを指定し、ライ
ト信号全信号線5023に発生させることによシ簀き込
みが可能である。すなわち、上記ライト信号により、外
部アクセス制御部510は信号線5011に書き込み信
号を発生させ、信号線5012を介して外部データバス
506の内容をレジスタに書き込むことができる。同様
に上記信号線を介しレジスタの内容を外部データバス5
06に読み出すこともできる。1だ、これらのレジスタ
には、JOIN演算結果のデータ量が信号線5032を
介し格納される。なお、レジスタの内容は信号線501
3上へ送出される。
The CAMI internal data amount register 521, the CAMII internal data violet data register 522, and the CAMIII internal data amount register 523 each indicate the number of rows in which data is actually stored in the work table stored in the CAM. These registers 521, 522, and 523 can be stored in the external access mode by specifying the address assigned to each register on the external address bus 507 and generating a write signal on all signal lines 5023. It is. That is, in response to the write signal, the external access control unit 510 can generate a write signal on the signal line 5011 and write the contents of the external data bus 506 to the register via the signal line 5012. Similarly, the contents of the register are transferred to the external data bus 5 via the above signal line.
It can also be read out on 06. 1, the data amount of the JOIN operation result is stored in these registers via the signal line 5032. Note that the contents of the register are shown on the signal line 501.
3 is sent up.

データ重ね合せ器516は、データ重ね合せの演與を行
う部分である。イぎ号+15027,5028の信号を
合ね合せ、信号線5029のタイミング信号により、重
ね合された結果の信号を信号線5030上に送出する。
The data superposition unit 516 is a part that performs data superposition. Signals of +15027 and 5028 are combined, and the combined resultant signal is sent onto a signal line 5030 in response to a timing signal on a signal line 5029.

動作制御部517は、内部動作モード時、これまで述べ
た各部の動作タイミングを制御し、JOIN演算を進行
させる部分である。モードフラグ512、テーブル指定
7ラグ511の状態、CAM内データ量レジスタ521
,522,523、CAMI 501、CAMII 5
02、CAMI[l503、連想検索の結果(検索結果
信号線5019の状態)に応じて、適宜、他の部分に信
号を発信することにより、制御を行う。
The operation control section 517 is a section that controls the operation timing of each section described above and advances the JOIN calculation in the internal operation mode. Mode flag 512, table specification 7 lag 511 status, CAM data amount register 521
, 522, 523, CAMI 501, CAMII 5
02, CAMI [l503, Control is performed by appropriately transmitting signals to other parts according to the result of the associative search (state of the search result signal line 5019).

リセット部518は、このJOIN演算装置の初期状態
をセットする部分であp1外部のりセツト信号5sos
xのリセット信号によシ、モードフラグ512、CAM
1501、CAMII502、CAMll1503をリ
セットする信号を発生させる。
The reset unit 518 is a part that sets the initial state of this JOIN arithmetic unit, and receives the p1 external reset signal 5sos.
x reset signal, mode flag 512, CAM
1501, CAMII502, and CAMll1503.

第8図〜第13図は、本発明の動作時のデータフロー図
である。以下、第1図、第2図、第7図および第8図〜
第13図を参照しながら、本実施例の動作を説明する。
8 to 13 are data flow diagrams during operation of the present invention. Below, Fig. 1, Fig. 2, Fig. 7, and Fig. 8~
The operation of this embodiment will be explained with reference to FIG.

第8図〜第13図における記号1番号は、第1図、第2
図と同じである。
Symbol 1 numbers in Figures 8 to 13 refer to Figures 1 and 2.
Same as the figure.

JOIN演算の開始に先立ち、ユーザは、先ず信号線5
031にリセット信号を送り、本装置の初期状態をセッ
トする。リセット信号によシ、リセット部518は、内
部リセット信号を信号線5017.5004に発生させ
、CAMI501゜CAMII 502、CAMIII
503の内部のレジスタ61,62、メモリセル63.
7ラグ64をクリアし、モードフラグ512を′0″に
セットする(第8図の■)。モードフラグ512が”0
”にセットされることによシ、バス切換制御部508は
、外部データバス506と内部データバス504、およ
び外部アドレスバス507と内部アドレスバス505を
結合し、外部からデータをセットできる状態とする。次
に、ユーザは、JOIN演算を行うべき2つのワーク・
テーブルのうち、一方のワーク・テーブルのデータをC
AMl1502のメモリセル63にセットする(第8図
の■)。以下では、CAMl[502にJOIN演算を
行うべきデータをセットし、CAMITI503にJO
IN演算の結果のデータをセットする場合について説明
スル。CAMl1502のメモリセル63へのデータの
セットの制御は、外部アクセス制御部51Oによって行
われる。ユーザは、外部データバス506上にデータを
セットし、さらにデータを格納すべきCAM1502の
メモリセル63に割当てられたアドレスを外部アドレス
バス507に送出し、ライト信号を信号線5023に発
信する。
Prior to starting the JOIN operation, the user first connects the signal line 5.
031 to set the initial state of this device. In response to the reset signal, the reset unit 518 generates an internal reset signal on the signal lines 5017.
503 internal registers 61, 62, memory cells 63 .
7 Clear the lag 64 and set the mode flag 512 to '0'' (■ in Figure 8).
”, the bus switching control unit 508 connects the external data bus 506 and internal data bus 504, and the external address bus 507 and internal address bus 505, making it possible to set data from the outside. .Next, the user selects two work pieces for which a JOIN operation is to be performed.
The data in one of the work tables is C.
It is set in the memory cell 63 of the AMl 1502 (■ in FIG. 8). In the following, data to be subjected to JOIN operation is set in CAMl[502, and JOIN operation is performed in CAMITI503.
Let me explain how to set the data resulting from the IN operation. Setting of data to the memory cell 63 of the CAMl 1502 is controlled by the external access control unit 51O. The user sets data on the external data bus 506, sends the address assigned to the memory cell 63 of the CAM 1502 in which the data is to be stored to the external address bus 507, and sends a write signal to the signal line 5023.

データおよびアドレスは、内部データバス504、およ
び内部アドレスバス505に伝達され、CAMII 5
02の信号線5015.5014に伝えられる。外部ア
クセス制御部510は、CAMII502のアクセス制
御信号1cAM[502の信号線5016に対して発生
させ、データをCAM■502のメモリセル63に格納
する。同時に、CAM1502のセットした行数を、C
AMn内データ量レジスタ522にセットする(第8図
の■)。このレジスタ522へのセットは、CAMn5
02へのセットと同じように、外部アクセス制御部51
0によって行われる。すなわち、七ッ卜すべきデータを
外部データバス50Gに送出することにより、データは
内部データバス504に伝達される。さらに、CAMn
内データ量レジスタ522に割当てられているアドレス
を外部アドレスバス507にセットし、信号線5023
にライト信号を発信することによシ、外部アクセス制御
部510はメモリ内データ量レジスタ513の信号線5
011上にラッチ信号を発生し、内部データバス504
上のデータを信号線5012を介して取り込む。
Data and addresses are communicated to an internal data bus 504 and an internal address bus 505,
02 signal lines 5015.5014. The external access control unit 510 generates an access control signal 1cAM[502 of the CAMII 502 on the signal line 5016, and stores the data in the memory cell 63 of the CAMII 502. At the same time, change the number of rows set in CAM1502 to
It is set in the AMn internal data amount register 522 (■ in FIG. 8). Setting this register 522 is CAMn5
02, the external access control unit 51
It is done by 0. That is, by sending the data to be transferred to the external data bus 50G, the data is transmitted to the internal data bus 504. Furthermore, CAMn
The address assigned to the internal data amount register 522 is set to the external address bus 507, and the signal line 5023
By transmitting a write signal to
011 and generates a latch signal on internal data bus 504.
The above data is taken in via the signal line 5012.

同じようにして、CAM1501、CAMIII503
、CAMI内データ量レジスタ521、CAMIII内
データ量レジスタ523、テーブル指定フラグ511、
モードフラグ512、マスクデータレジスタ524に対
しても、外部アクセス制御部510によりアクセスして
データが格納される。ユーザはさらにJOIN演算を行
うべき残りの一方のデータ及びその行数をそれぞれCA
M1501、CAMI内データ量レジスタ524にそれ
ぞれセットする(第8図の■及び■)。
In the same way, CAM1501, CAMIII503
, CAMI internal data amount register 521, CAMIII internal data amount register 523, table specification flag 511,
The mode flag 512 and mask data register 524 are also accessed by the external access control unit 510 and data is stored therein. The user also CA the remaining data to perform the JOIN operation and the number of rows.
M1501 and CAMI internal data amount register 524, respectively (■ and ■ in FIG. 8).

ユーザは、これらのデータをセットした後、JOINす
べき2組のデータの共通変数値以外の変数(第5図にお
けるX、zを参照)をマスクするデータを、マスクデー
タレジスタ524に格納しく第9図の■)、JOIN演
算を行うべきデータが格納されている方のCAM(ここ
では、CAM11502)を、CAn1501のJOI
N演算相手としてテーブル指定7ラグ511に指定しく
第9図の■)、さらにモードフラグ512を′1″′に
セットし、JOIN演算を開始させる(第9図の■)。
After setting these data, the user sets data to mask variables other than the common variable values of the two sets of data to be joined (see X and z in FIG. 5) in the mask data register 524. ■) in Figure 9), the CAM (in this case, CAM11502) that stores the data to be subjected to the JOIN operation is used as the JOI of CAn1501.
The table specification 7 lag 511 is designated as the N operation partner (■ in FIG. 9), and the mode flag 512 is set to ``1'''' to start the JOIN operation (■ in FIG. 9).

モードフラグ512にl″がセットされると、バス切換
制御部508は、外部データバス506ト内部データバ
ス504、外部アドレスパス507と内部アドレスバス
505を切り離し、内部アドレスバス505に信号i[
5006’を結合して、内部アドレス発生部509で発
生したアドレス信号を送出する。動作制御部517は、
信号線5001の信号が01″′(内部動作モードとな
ることにより、JOIN演算の制御動作を開始する。動
作制御11部517は、先ずリセット信号を信号線50
07に発生させ、内部アドレス発生部509をリセット
する(なお、リセットの内容は、前述した内部アドレス
発生部509の説明を参照)。その後、動作別e4i部
517は、第6図で説明した動作原理に従ってJOIN
演算を実行する。
When l'' is set in the mode flag 512, the bus switching control unit 508 disconnects the external data bus 506, internal data bus 504, external address path 507, and internal address bus 505, and sends the signal i[ to the internal address bus 505.
5006' and sends out the address signal generated by the internal address generation section 509. The operation control unit 517
When the signal on the signal line 5001 becomes 01'' (internal operation mode), the control operation of the JOIN calculation is started.
07 to reset the internal address generating section 509 (for details of the reset, refer to the above-mentioned explanation of the internal address generating section 509). After that, the operation-specific e4i unit 517 performs JOIN according to the operation principle explained in FIG.
Perform calculations.

以下では、JOIN演算を行うデータがCAMI501
、CAMl1502にセットされておシ、CAM150
1にセットされているデータ量がCAMI502にセッ
トされているデータ量よりも少ない場合について説明す
る。まず、動作制御部517は、信号線5013を介し
CAM1501内データ量レジスタとCAM■502内
f−夕景レジスタの内容を取シ込み、そしてその内容を
比較し、データ量の多いほうのCAM内のマスクデータ
レジスタ62に、マスクデータレジスタ524の内容を
曹き込む。すなわち、動作制御部517は信号線503
5にデータ送出信号を発生し、マスクデータレジスタ5
24の内容を信号線5034を介し、内部データバス5
04に送出する。そして、CAM、11502のマスク
データレジスタ62のアドレスを発生させ、CAMII
502の信号線5016にライト信号を発信することに
より、CAMII内にデータを取り込む(第10図■)
In the following, the data on which the JOIN operation is performed is CAMI501
, set in CAM1502, CAM150
A case where the amount of data set to 1 is smaller than the amount of data set to CAMI 502 will be explained. First, the operation control unit 517 inputs the contents of the data amount register in the CAM 1501 and the f-sunset register in the CAM 502 via the signal line 5013, compares the contents, and selects the data amount register in the CAM with the larger amount of data. The contents of the mask data register 524 are written into the mask data register 62. That is, the operation control unit 517
5, and generates a data sending signal to mask data register 5.
The contents of 24 are sent to the internal data bus 5 via the signal line 5034.
Send on 04. Then, it generates the address of the mask data register 62 of CAM, 11502, and
By sending a write signal to the signal line 5016 of 502, data is imported into CAMII (Fig. 10 ■)
.

次に、データ量の少ないほうのCAMすなわちCAM1
501内に格納されているワーク・テーブルデータを先
頭から1行ずつ順次取り出し、次の処理をCAMI内デ
ータ量レジスタ521に指定された回数だけ凍り返す。
Next, select the CAM with the smaller amount of data, that is, CAM1.
The work table data stored in CAMI 501 is sequentially retrieved line by line from the beginning, and the next process is frozen the number of times specified in CAMI internal data amount register 521.

動作制御部517は、先ず、CAMIII内データ量レ
ジスタ522をゼロクリアする。次に、信号線5005
にCAMI501のメモリセル63を指定する制御信号
を発信し、内部アドレス発生部509にCAM1501
のメモリセル63をアクセスするためのアドレスを発生
させる(なお、アドレスの発生方法は、前述の内部アド
レス発生部509の説明参照)。その後、信号線501
0にメモリリードの制御信号を発生させ、CAMI50
1のメモリセル63に格納されているワーク・テーブル
データの1行の内容を内部データバス504上に読み出
す。読み出されたデータは、検索データレジスタ514
の信号線5025にラッチ信号を発信することにより、
信号線5025を介して検索データレジスタ514にラ
ッチされる(第10図の@)。次に、動作制御部517
は、信号[50282にデータ送出信号を発生し、検索
データレジスタ514の内容を信号線50281を介し
て再び内部データバス504上に送出する。送出された
データは、CAMn502内の検索データレジスタ61
に読込まれる。すなわち、動作制御部517は、CAM
■502の検索データレジスタ61のアドレスを発生さ
せ、CAMII502の信号線5016にライト信号を
発信することによシ、CAMI[502内にデータを取
込む(第11 o図cv o) 、 以下、CAM■5
02、CAMIII503、その他のレジスタのアクセ
ス手順は、前述と同じであるため説明を省略する。動作
制御部517は、CAMn502の検索データレジスタ
61にデータを格納した後、CAM1502の信号線5
018に検索信号を発生し、連想検索を行わせる。動作
制御部517は、CAMn502の検索結果信号(信号
m5ox9)がオフになるまで、以下の動作を繰り返し
、JOIN演算結果をCAMu503に格納していく。
The operation control unit 517 first clears the CAM III internal data amount register 522 to zero. Next, the signal line 5005
A control signal specifying the memory cell 63 of CAMI 501 is sent to the internal address generator 509 to
generates an address for accessing the memory cell 63 (see the above-mentioned explanation of the internal address generation unit 509 for the method of generating the address). After that, the signal line 501
Generates a memory read control signal to CAMI50
The contents of one row of work table data stored in memory cell 63 of No. 1 are read onto internal data bus 504. The read data is stored in the search data register 514.
By sending a latch signal to the signal line 5025 of
It is latched into the search data register 514 via the signal line 5025 (@ in FIG. 10). Next, the operation control section 517
generates a data sending signal on signal [50282, and sends the contents of search data register 514 onto internal data bus 504 via signal line 50281. The sent data is stored in the search data register 61 in the CAMn502.
is read into. That is, the operation control unit 517
■By generating the address of the search data register 61 of the CAM II 502 and sending a write signal to the signal line 5016 of the CAM II 502, data is fetched into the CAMI [502 (Fig. 11 o cv o). ■5
The access procedures for the registers 02, CAMIII 503, and other registers are the same as described above, and therefore the description thereof will be omitted. After storing the data in the search data register 61 of the CAMn502, the operation control unit 517 stores the data in the search data register 61 of the CAMn502, and then stores the data in the signal line 5 of the CAM1502.
A search signal is generated at 018 to perform an associative search. The operation control unit 517 repeats the following operation and stores the JOIN calculation result in the CAMu 503 until the search result signal (signal m5ox9) of the CAMn 502 turns off.

すなわち、検索信号(信号線5o1s)′lt+m次オ
ンにして、検索結果データを内部データバス504上に
送出し、検索結果レジスタ515にラッチする(第11
図の@)。その後、検索データレジスタ514の内容と
、検索結果レジスタ515の内容をデータ重ね合せ器5
16で重ね合せ、信号線5029に送出信号を発信する
ことによシ信号Ivi15030を介してデータ重ね合
せ結果を内部データバス504に送出する。送出された
データは、CAMl[503のメモリセル63の先頭か
ら順に格納される(第11図のO)。なお、格納アドレ
スは、内部アドレス発生部509が前述した手順により
発生させる。また、データ全納時、CAMII内データ
量レジスタ521の値を信号線5032によりカウント
アツプする。ここまでの動作を、CAMI内データ量レ
ジスタ521に指定された回数だけ繰シ返すと、動作制
輯j部517は、リセット信号をCAMl1502の信
号線5017、信号線5004に発生し、CAMII5
02iクリアして、モードフラグ512を′0″にリセ
ットする(第12図参照)。これによシ、再びこの装置
の内部を外部からアクセスすることが可能となる。なお
、JOIN演算の終了は、モードフラグ512が”1”
から0”に変化した時点で、外部アクセス制御部510
が割込み信号を信号線5024に発信することによシ、
通知される。このままJOIN演算の結果を取シ出す場
合には、外部からテーブル指定フラグ511で指定した
内容で決まるCAMIIr503のメモリセル63の内
容を、CAMIII内データ量レジスタ522に示され
る桁数分だけ読み出せばよい。外部からの読み出しは、
前述のように、外部アクセス制御部510によって制御
される。また、ルール型ソフトウェアにおけるルールの
IF部に条件が3個以上指定されており、再びJOIN
演算を実行しなければならない場合には、3つ目以上の
IFに対して取込まれたワーク・テーブルデ〜りをCA
M1501にセツル(第13図のO)、CAMI内デー
タ量レジスタ521にその行数(第13図では■)をセ
ットした後(第13図のO)、マスクデータをマスクデ
ータレジスタ524にセットして(第13図のO)、そ
のCAMをJOIN浄1相手として指定しく第13図の
O)、JOIN演算を開始させればよい。
That is, the search signal (signal line 5o1s)'lt+m is turned on, the search result data is sent onto the internal data bus 504, and is latched into the search result register 515 (11th
Figure @). Thereafter, the contents of the search data register 514 and the contents of the search result register 515 are transferred to the data superimposer 5.
16, and by sending a sending signal to the signal line 5029, the data superimposing result is sent to the internal data bus 504 via the signal Ivi15030. The sent data is stored in order from the beginning of the memory cell 63 of CAMl[503 (O in FIG. 11). Note that the storage address is generated by the internal address generation unit 509 according to the procedure described above. Further, when all the data is delivered, the value of the CAMII internal data amount register 521 is counted up by the signal line 5032. When the operation up to this point is repeated the number of times specified in the CAMI internal data amount register 521, the operation control unit 517 generates a reset signal to the signal line 5017 and the signal line 5004 of the CAM11502, and the CAMII5
02i is cleared and the mode flag 512 is reset to '0'' (see Figure 12).This makes it possible to access the inside of this device from the outside again.The end of the JOIN operation is , mode flag 512 is “1”
At the point when the value changes from 0 to 0, the external access control unit 510
by sending an interrupt signal to signal line 5024,
Be notified. If you want to retrieve the result of the JOIN operation as it is, read the contents of the memory cell 63 of the CAMIIr 503, which is determined by the contents specified by the table specification flag 511 from the outside, by the number of digits indicated in the CAMIII internal data amount register 522. good. Reading from the outside is
As described above, it is controlled by the external access control unit 510. In addition, if three or more conditions are specified in the IF part of the rule in rule-based software, JOIN will be executed again.
If calculations must be performed, the work table data captured for the third or more IFs must be CA
After setting M1501 (O in Figure 13) and the number of lines (■ in Figure 13) in the CAMI internal data amount register 521 (O in Figure 13), set the mask data in the mask data register 524. (O in Fig. 13), designate that CAM as the JOIN target (O in Fig. 13), and start the JOIN operation.

以上述べたように、本実施例によれば、JOIN演算を
行う際に、データ量の少ないテーブル・データから検索
データ全敗り出すことにより、常に比較処理の回数を最
少にすることが可能となり、ルールの処理速度を向上す
ることができる。
As described above, according to this embodiment, when performing a JOIN operation, it is possible to always minimize the number of comparison processes by starting from table data with a small amount of data and losing all search data. The processing speed of rules can be improved.

〔発明の効果〕〔Effect of the invention〕

以上説明したように、本発明によれば、JOIN演算を
行う2組のテーブル・データを、どちらもCAM上に持
ち、2つのCAMのうちデータ量の少ないほうのCAM
から検索データを取り出すので、比較処理の回数を最少
限で済ますことができ、ルールの処理を高速に実行する
ことができる。したがって、ルール型ソフトウェアにお
いて、変数のあるルールの処理速度を大幅に向上でき、
ルールを用いる可読性、理解性、変更性の高い論理記述
方式を、多量の状態を取扱う必要がある対象にも適用す
ることが可能となる。
As explained above, according to the present invention, two sets of table data for performing a JOIN operation are both stored in the CAM, and the CAM with the smaller amount of data is
Since the search data is retrieved from , the number of comparison processes can be minimized, and rule processing can be executed at high speed. Therefore, in rule-based software, the processing speed of rules with variables can be greatly improved.
It becomes possible to apply a highly readable, understandable, and modifiable logical description method using rules to objects that require handling a large number of states.

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

第1図は本発明の一実施例を示すJOIN演算装置のブ
ロック図、第2図は第1図のメモリとCAMのアドレス
配置図、第3図はルール型ソフトウェアの機能説明図、
第4図はルール型ソフトウェアのルール処理の説明図、
第5(a)図、第5(b)図は従来の「ルール型システ
ムの演算装置」にお図、第8図〜第13図はそれぞれ本
発明の実施例を示すデータフローでアル。 代理人 弁理士 小川勝男  ゝ 第5(L)口
FIG. 1 is a block diagram of a JOIN calculation device showing an embodiment of the present invention, FIG. 2 is an address layout diagram of the memory and CAM in FIG. 1, and FIG. 3 is a functional explanatory diagram of rule-based software.
Figure 4 is an explanatory diagram of rule processing of rule-based software.
FIGS. 5(a) and 5(b) show a conventional "arithmetic device for a rule-based system", and FIGS. 8 to 13 show data flows showing embodiments of the present invention, respectively. Agent: Patent Attorney Katsuo Ogawa 5th (L)

Claims (1)

【特許請求の範囲】 1、設備群の条件と結論からなるルールを格納するルー
ル記憶部、設備群の状態と実行すべき作業内容とルール
で結論された内容を格納する状態記憶部、該状態記憶部
に格納された情報と上記ルール記憶部に格納された条件
と比較照合し、条件が満足されたルールの結論を上記状
態記憶部に格納するルール運用部を有し、設備群に対す
る制御指令を決定するルール型システムにおいて、上記
ルールのある1つに記述された複数の条件内容のうちの
ある2組と合致する状態記憶部情報からなる2組のデー
タの集合に対し、該2組の条件内容のうちの共通な項目
に対応する値が等しい上記両データを作成するJOIN
演算に対し、2組のデータの集合をそれぞれ保持する2
つの連想記憶手段とJOIN演算の結果を保持する出力
バッファと、両データから項目値を意味ある方の値に置
き換えて1つのデータを作成するデータ重ね合せ手段と
を具備し、上記2つの連想記憶手段のうちデータ量の少
ない連想記憶手段からデータを1つずつ取り出し、該デ
ータを検索データ、上記共通項目を検索キーとして、も
う一方の連想記憶手段のデータを連想検索し、取り出さ
れたデータと検索データを上記重ね合せ手段により重ね
合せた結果を、出力バッファに格納するという一連の動
作を繰り返し実行することを特徴とするルール型システ
ムの演算方式。 2、上記出力バッファは、連想記憶手段であり、2つ以
上のJOIN演算を上記連想記憶手段ともう1つの連想
記憶手段を切り換えながら、連続的に実行することを特
徴とする特許請求の範囲第1項記載のルール型システム
の演算方式。
[Claims] 1. A rule storage unit that stores rules consisting of conditions and conclusions for equipment groups; a status storage unit that stores the status of the equipment group, the content of work to be performed, and the content concluded by the rules; and the status of the equipment group. It has a rule operating unit that compares the information stored in the storage unit with the conditions stored in the rule storage unit and stores the conclusion of the rule whose conditions are satisfied in the status storage unit, and issues control commands to equipment groups. In a rule-based system that determines the condition, for two sets of data consisting of state storage information that match two sets of condition contents described in one of the above rules, JOIN to create both of the above data with the same values corresponding to common items in the condition contents
2, which holds two sets of data for each operation.
the two associative memories, an output buffer for holding the result of the JOIN operation, and a data superimposition means for creating one data by replacing the item value from both data with a meaningful value; Among the means, data is retrieved one by one from the associative memory means with a small amount of data, and using the data as search data, the data in the other associative memory means is associatively searched using the above common item as a search key, and the retrieved data and the data are retrieved one by one. An arithmetic method for a rule-based system, characterized in that a series of operations in which search data is superimposed by the superimposing means and the result is stored in an output buffer is repeatedly executed. 2. The output buffer is an associative memory means, and continuously executes two or more JOIN operations while switching between the associative memory means and another associative memory means. The calculation method of the rule-based system described in Section 1.
JP60233298A 1985-01-21 1985-10-21 Arithmetic system for rule type system Pending JPS6293731A (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP60233298A JPS6293731A (en) 1985-10-21 1985-10-21 Arithmetic system for rule type system
KR1019860000316A KR940001563B1 (en) 1985-01-21 1986-01-20 Rule base system
US06/820,386 US4901229A (en) 1985-01-21 1986-01-21 Parallelized rules processing system using associative memory for pipelined execution of plural join operations and concurrent condition comparing

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP60233298A JPS6293731A (en) 1985-10-21 1985-10-21 Arithmetic system for rule type system

Publications (1)

Publication Number Publication Date
JPS6293731A true JPS6293731A (en) 1987-04-30

Family

ID=16952912

Family Applications (1)

Application Number Title Priority Date Filing Date
JP60233298A Pending JPS6293731A (en) 1985-01-21 1985-10-21 Arithmetic system for rule type system

Country Status (1)

Country Link
JP (1) JPS6293731A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019525333A (en) * 2016-07-22 2019-09-05 アリババ グループ ホウルディング リミテッド Terminal rule engine device and terminal rule operating method

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019525333A (en) * 2016-07-22 2019-09-05 アリババ グループ ホウルディング リミテッド Terminal rule engine device and terminal rule operating method

Similar Documents

Publication Publication Date Title
Yau et al. Associative processor architecture—A survey
JPH01188951A (en) Control system for execution of data flow program
JPS62502997A (en) Compilers used to evaluate Boolean or similar expressions, and computers that run compiled programs.
JPS6293731A (en) Arithmetic system for rule type system
US6931518B1 (en) Branching around conditional processing if states of all single instruction multiple datapaths are disabled and the computer program is non-deterministic
JPS61170861A (en) Arithmetic unit of rule type system
US5819081A (en) Method of executing a branch instruction of jumping to a subroutine in a pipeline control system
US8683177B2 (en) Content addressable memory (CAM) device and method for updating data
JPS6285332A (en) Operating system for rule type system
JPS63621A (en) Arithmetic unit for rule type system
JPS62115531A (en) Rule processing system
JPS6041102A (en) Sequence control device
JPH01123328A (en) Computer system
JPS60220424A (en) Arithmetic system of array element
JPH0740257B2 (en) Memory access controller
JPS61177547A (en) Rule processing system
JPH10308787A (en) Communication protocol processing method and processor
JPS62117035A (en) Rule processor
JPH03229381A (en) Data drive type computer
JPS6069748A (en) Information processor
JPS584442A (en) Generator of random number
JPH04367084A (en) Data driving type calculator
JPH02227732A (en) Inference device
JPH0452732A (en) Fuzzy inference mechanism
JPH04367937A (en) Inference method