JPS6285332A - Arithmetic method for rule-based systems - Google Patents
Arithmetic method for rule-based systemsInfo
- Publication number
- JPS6285332A JPS6285332A JP60224713A JP22471385A JPS6285332A JP S6285332 A JPS6285332 A JP S6285332A JP 60224713 A JP60224713 A JP 60224713A JP 22471385 A JP22471385 A JP 22471385A JP S6285332 A JPS6285332 A JP S6285332A
- Authority
- JP
- Japan
- Prior art keywords
- data
- memory
- rule
- search
- 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
Links
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Devices For Executing Special Programs (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。(57) [Summary] This bulletin contains application data before electronic filing, so abstract data is not recorded.
Description
【発明の詳細な説明】
〔発明の利用分野〕
本発明は、ルールで記述された制御論理に従い各設備の
状態に応じ条件を判定し制御指令を決定する制m方式や
、ルールで記述された生産計画論理で計画変数を処理す
るような生産計画等に通したルール型システムの演算方
式に関する。[Detailed Description of the Invention] [Field of Application of the Invention] The present invention provides a control system that determines conditions and determines control commands according to the state of each equipment according to control logic described in rules, and This paper relates to a calculation method for a rule-based system that processes planning variables using production planning logic.
FAシステムでは製品のライフサイクルの短期化、製品
楕類の多様化に伴い、製造ラインの変更運用の変更が頻
繁に行なわれる。このため制(財)プログラムの迅速な
開発、保守が斐求されている。In FA systems, production lines and operations are frequently changed as product life cycles become shorter and product types become more diverse. For this reason, prompt development and maintenance of institutional programs is required.
ここで従来は制御プログラムをFOR,TI(、AN等
の汎用言語で開発する方法がとられている。この方法で
は制御プログラムの開発、理解、変更に時間がかかる、
−に1専門のプログラミング要員を必要とするという問
題があシ、上記斐求に充分対処できないという欠点があ
った。これに対し、論理の記述、理解、変更が容易な「
設備群制御方式」(%開閉59−163605号1%開
閉59−205604号)を提案した。本方式はルール
型ソフトと呼ばれるもので、論理を任意の日本語文字列
でrIF(条件)、THEN(結論or動作)」型ノル
ール形式(以下IF−THENルール又は、ルールと呼
ぶ)に記述するだけでプログラムが作成できるものであ
り、プログラムの開発が容易で論3J+の理解、変更性
に優れている。ここで前記提案方式に加えIF部部のA
ND条件の処理を実行する専用装fを方式におけるAN
I)φ注の処理全実行する専用装置では、莫大な状態数
が連想記憶装置の中に格納されなければならないという
問題点があった。以下、ルール型ソフトの動作原理及び
状1暢量が多い場合でもルールを晶速に処理することの
できる既提案の演算装置の動作原理を第1 H2g 3
図を用いて既説し、問題点を説明する。Conventionally, control programs have been developed using general-purpose languages such as FOR, TI(, AN, etc.).This method takes time to develop, understand, and change control programs.
- There was a problem that a specialized programming staff was required, and there was a drawback that the above-mentioned requirements could not be satisfactorily met. In contrast, “
``Equipment Group Control System'' (% Open/Close No. 59-163605, 1% Open/Close No. 59-205604). This method is called rule-based software, and the logic is written in arbitrary Japanese character strings in the ``rIF (condition), THEN (conclusion or action)'' type rule format (hereinafter referred to as IF-THEN rule or rule). Programs can be created simply by using this software, making it easy to develop programs and excel in understanding and modifying Theory 3J+. Here, in addition to the proposed method, A of the IF section
AN in the method uses a dedicated device f that executes processing of ND conditions.
I) A dedicated device that executes all the processes of φNote has a problem in that an enormous number of states must be stored in the content addressable memory device. Below, we will explain the operating principle of rule-based software and the operating principle of an already proposed arithmetic device that can process rules at crystal speed even when the number of rules is large.
This will be explained using diagrams and the problems will be explained.
第1図は「設備群制御方式」の機iヒブロック図である
。FIG. 1 is a functional block diagram of the "equipment group control system".
11はルール記憶部、12はルール運用部、13は状態
記憶部である。IF−THENルールによる制御指令の
決定は、あるルールの結論を、さらに別のルールの条件
判定に用いるという処理を順次繰シ返し、最終的にルー
ルのTHEN部に動作(制御指令)の記述されたルール
の条件が満足され、割出1指令が決定されるという原理
で行われる。すなわち、第1図に2いて、ルール運用部
12は、ルールを記憶しているルール記憶部11からル
ールを1つずつ取出し、対象の状態を記憶している状態
記憶部13の内容と、取出したルールのIF部の条件と
を比較し、条件が満足されるか否かを判定する。条件が
満足されれば、取出したルールのT HE N部の結論
を状態記憶部13に追加していく。ここで、IF部の条
件判定では、IF部に記憶された1つ1つのIFの文章
(条件)と一致する文章(状態)がすべて状態記憶部1
3中に存在するか否かを判定し、さらに変数(Xty、
z等)K対しては、IF部に記述された全条件を同時に
満足する(AND条件)値が存在するか否かを判定し、
存在すればその値を生成する。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 the action (control command) is written in the THEN part of the rule. This is performed on the principle that the conditions of the specified rules are satisfied and the index 1 command is determined. That is, at 2 in FIG. 1, 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 state storage unit 13 that stores the target state and the extracted rules. It is compared with the conditions of the IF part of the rule that has been set, and it is determined whether the conditions are satisfied. If the conditions are satisfied, the conclusion of the T HE N part of the extracted rule is added to the state storage unit 13. Here, in the condition judgment of the IF section, all the sentences (states) that match the sentences (conditions) of each IF stored in the IF section are
3, and further determines whether the variables (Xty,
z, etc.) For K, determine whether there is a value that simultaneously satisfies all the conditions described in the IF section (AND condition),
If it exists, generate that value.
第2図は、第1図の装置において、ルールのパラメータ
部に変数が記述されている場合の処理の詳細図である。FIG. 2 is a detailed diagram of the process in the apparatus shown in FIG. 1 when a variable is described in the parameter section of a rule.
21〜25は、ルール運用部12内のワーク・テーブル
である。ルール記憶部11の内には、いまルール運用部
12が処理している(J4y、り出した)1つのルール
のみ示している。ルール運用部12は、先ずルールのI
F部の最初のI Fの文字列”(A<X><Y>)”と
状態記憶部13に格納されている文字列との一致判定を
行う。この際の一致判定は、文字列のパラメータ部を除
いた部分、すなわち″(八)″で行う。一致する文字列
が状態記憶部13中に存在すれば、一致する文字列中の
パラメータ部の値を、IFの文字列中の対応するパラメ
ータ部に記述しである変数の値としてワーク・テープ/
I/21に取り込む(■)。さらにルール運用部12は
、次のIFの文字列“(B<Z>くY〉)”に対して同
じ処理を行い、状態記憶部13の文字列のパラメータ部
の値をIF部の文字列の変数値として別のワーク・テー
ブル22に取p込む(■)。その後、両ワーク・テーブ
ル21゜22に取り込1れた変数値を組合せ、AND条
件を満足する変数値を生成しくルールのIF部の条件は
AND条件として扱う)、別のワーク・テーブル23に
格納する(■)(本演算は、JOIN演算と呼ばれ、以
下でもそう呼ぶ)。IF部の文字列が3つ以上存在する
場合、さらに次のIF部の文字列に対して変数値を取り
込み(■)、取択込んだ変数値と、それまでに生成した
AND条件を満足する変数値(この場合、ワーク・テー
ブル23に格納されているもの)とを組合せ、いま取込
んだ変数値をも含めた上で、AND条件を満足する変数
値を生成し、ワーク・テーブルに格納する(■)。21 to 25 are work tables within the rule operation section 12. In the rule storage unit 11, only one rule currently being processed (J4y, exported) by the rule operation unit 12 is shown. The rule operation unit 12 first
A match between the first IF character string "(A<X><Y>)" of the F part and the character string stored in the state storage section 13 is determined. The match determination at this time is performed using the part of the character string excluding the parameter part, that is, "(8)". If a matching character string exists in the status storage unit 13, the value of the parameter part in the matching character string is written in the corresponding parameter part of the IF character string, and the value of the variable is written to the work tape/
Import into I/21 (■). Furthermore, the rule operation unit 12 performs the same process on the next IF character string “(B<Z>kuY>)” and converts the value of the parameter part of the character string in the state storage unit 13 into the character string of the IF part. It is imported into another work table 22 as a variable value (■). After that, the variable values imported into both work tables 21 and 22 are combined to generate a variable value that satisfies the AND condition (the conditions in the IF part of the rule are treated as AND conditions), and the variables are transferred to another work table 23. Store (■) (This operation is called a JOIN operation, and will be referred to as such below as well). 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 AND condition generated so far is satisfied with the imported variable value. Combines the variable values (in this case, those stored in the work table 23), includes the variable values just imported, generates a variable value that satisfies the AND condition, and stores it in the work table. Do (■).
この処理は、3つ目以上のIFの文字列すべてに対して
繰り返される。その後、最終的にAND条件を満足する
変数値が存在すれば、その値tTHTHEN部の文字列
の対応する変数に賽込んだものを、新たに状態記憶部1
3に書き加える(■)。This process is repeated for all character strings of the third or more IFs. After that, if there is a variable value that finally satisfies the AND condition, that value is added to the corresponding variable of the character string in the tTHTHEN section, and the value is added to the state storage section 1.
Add to 3 (■).
既提案のルール型システムの演算装置(特願昭60−1
2079号)は、上記のAND条件を満足する変数値の
生成処理を高速に行なうものである。本装置では、変数
値を連想記憶装置CAM(以下、連想記憶装置をCAM
と呼ぶ。)に取り込み、CAMの並列検索機能によシ、
複数の条件間のAND条件処理を高速に実行する方式で
ある。第3図を用い説明する。41は通常の記憶装置、
42.43はCAM、44はCAM内の比較部、45は
行データ重ね合せ処理を行うための行データ重ね合せ用
専用回路である。Arithmetic device for the already proposed rule-based system (Patent application 1986-1)
No. 2079) performs high-speed generation processing of variable values that satisfy the above AND condition. In this device, variable values are stored in a content addressable memory device CAM (hereinafter referred to as content addressable memory device CAM).
It is called. ) and use the parallel search function of CAM.
This is a method for quickly executing AND condition processing between multiple conditions. This will be explained using FIG. 41 is a normal storage device,
Reference numerals 42 and 43 designate a CAM, 44 a comparison section within the CAM, and 45 a dedicated circuit for row data overlapping for performing row data overlapping processing.
先ず、JOIN演算を行うべきワーク・テーブルの一方
を通常の記憶装置t41に、もう一方を1つのCAM4
2に、それぞれ格納する。さらに、JOIN演算の結果
のテーブル・データは、別のCAM43に格納する。動
作は、次の通シである。First, one of the work tables on which the JOIN operation is to be performed is stored in the normal storage device t41, and the other is stored in one CAM4.
2, respectively. Further, table data resulting from the JOIN operation is stored in another CAM 43. The operation is as follows.
すなわち、通常の記憶部[41よりテーブル・データを
1行ずつ取り出し、これをCAM42の検索データとす
る(なお、この際、共通変数Y以外のデータX、Zはマ
スクする)。CAM42では、比較部44によりCAM
42内のテーブル・データのすべての行に対し、データ
の比較処理を同時に行う。検索データと共通データの値
が一致したCAM42内テーブルの行は、1つずつ取り
出され、行データ重ね合せ用専用回路45により検索デ
ータと重ね合わされ、別のCAM43に順次格!される
。本装置では、CAMを2つ用意することにより、ルー
ル型ソフトウェアのルールにおいて、IF部の条件を記
述した文字列が3つ以上あり、いま生成したAND条件
を満足する変数値と、さらに次のIFの条件に対し取込
んだ新しい変数値とを組合せ、再びJOIN処理を線り
返さなければならないような場合に、新しい変数値を記
憶装置41に取込み、CAM42.43の役割を適宜切
換えることによって、JOIN演算をデータの転送を行
うことなく、連続して実行することができる。これによ
り、ルール型ソフトウェアのルールの処理を高速に実行
することが可能となった。That is, the table data is taken out line by line from the normal storage section [41] and used as search data for the CAM42 (at this time, data X and Z other than the common variable Y are masked). In the CAM 42, the comparison unit 44
Data comparison processing is performed simultaneously on all rows of table data in 42. 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 sequentially stored in another CAM 43! be done. In this device, by preparing two CAMs, in the rule of the rule-based software, there are three or more character strings that describe the conditions of the IF part, and the variable value that satisfies the AND condition just generated and the next When it is necessary to combine the imported new variable value with the IF condition and repeat the JOIN process again, by importing the new variable value into the storage device 41 and switching the roles of the CAMs 42 and 43 as appropriate. , JOIN operations can be executed continuously without data transfer. This has made it possible to execute rule processing in rule-based software at high speed.
しかし、本方式で多量のデータを高速に処理するために
は、CAM42.43内に大容量のメモリセルとそのメ
モリセルの行数に対応した行データ比較ハードが必要で
あるという問題が起ってきた。However, in order to process a large amount of data at high speed with this method, a problem arises in that a large capacity memory cell and row data comparison hardware corresponding to the number of rows of the memory cell are required in the CAM42.43. It's here.
このため、装置が非常に高価になシ、また大型化すると
いった問題がある。また、先願のルール型ソフトウェア
では、前述のAND条件を満足する変数値の生成処理に
おいて、取込まれた2組のワーク・テーブルのデータの
すべての組合せを作るために、JOIN演算の結果とし
て格納すべきデータが取り込まれたデータの積にまで増
大する可Hし性がある。このため、オーバフローしない
ためには、史に大規模なCAMを必要とする。一方、A
ND処理では2つのワーク・テーブルのデータ量は対象
の状態によってさまざまに変化する。したがってオーバ
フローしない最大容量のCAMを用意しておいても、実
際にFicAMの使用効率が悪いなどの問題が起ってき
ている。Therefore, there are problems in that the device becomes very expensive and large in size. In addition, in the rule-based software of the earlier application, in the process of generating variable values that satisfy the above-mentioned AND condition, in order to create all combinations of the data of the two imported work tables, the result of the JOIN operation is There is a possibility that the data to be stored will grow to the product of the data captured. Therefore, in order to prevent overflow, a historically large-scale CAM is required. On the other hand, A
In ND processing, the amount of data in the two work tables varies depending on the state of the object. Therefore, even if a CAM with a maximum capacity that does not overflow is prepared, problems such as inefficient use of FicAM have actually occurred.
本発明の目的は、このような問題点を排除し、ルールを
用いる可読性、理解性、及び変更容易性の高い論理記述
方式を多量の状態量を取り扱う必要のある対象にも適用
可能とするために、大容量のワークのJOIN演算lr
来行し得る演算方式を安価に提供するところにある。The purpose of the present invention is to eliminate such problems and to make a logical description method using rules that is highly readable, understandable, and easy to change applicable to objects that need to handle a large amount of state quantities. JOIN operation for large-volume work lr
The aim is to provide a computational method that can be used in the past at low cost.
従来、ルール型システムの演算装[(4’!j−願昭6
0−12079号)は1つのCAM内に、1つのワーク
・テーブルの全データを格納していたために、オーバフ
ローしない大容量のCAMが必要であった。大容量のC
AMを用いた装置を作っても、CAM内に取り込まれる
データ量は、常に大容量ワーク・データとは限らない(
データ量は2つのワーク・テーブルの組み合せによシ増
加したυ、AND粂件により減少したりする。)。した
がって大容量のCAMを使っても効率よく、そのCAM
を使用しているとは言えない。そこで本装置では、AN
D粂汗を取るだめの2つのワーク・テーブルとその結果
を格納する1つのテーブルを3つの通常のメモリに格納
し、多葉のデータに対してはそのテーブルを分割処理す
ることにより、比較的小規模のCAMを効率良く用い、
AND処理を実行することを可能とする。次に本装置の
動作方式を第4図を用いて説明する。Conventionally, the arithmetic unit of a rule-based system [(4'!j - Gansho 6
No. 0-12079) stored all data of one work table in one CAM, so a large-capacity CAM that would not overflow was required. Large capacity C
Even if you create a device using AM, the amount of data captured in CAM is not always large-volume work data (
The amount of data increases by combining two work tables, and decreases by combining AND items. ). Therefore, even if a large capacity CAM is used, the CAM
I cannot say that I am using it. Therefore, in this device, AN
By storing two work tables for removing sweat and one table for storing the results in three ordinary memories, and splitting the table for multi-leaf data, the process is relatively simple. Using small-scale CAM efficiently,
It is possible to perform AND processing. Next, the operating system of this device will be explained using FIG. 4.
第4図で、50は分割して処理されるワーク・テーブル
、51は一行ずつ取り出されて処理されるワーク・テー
ブル、52はその結果を格納するワーク・テーブルであ
る。また53はCAM。In FIG. 4, 50 is a work table that is divided and processed, 51 is a work table that is extracted and processed one line at a time, and 52 is a work table that stores the results. Also, 53 is CAM.
45は一致したデータを重ね合せる行データ重ね合せ器
(第3図と同じもの)、55はCAM内のメモリセル、
56はメモリセル55と比較する検索データレジスタ(
詳細は後述)である。ワーク・テーブル50に、CAM
内のメモリセル55の容量を越えるようなデータが取り
込まれた時Vこは、第4図に示したようなワーク分割処
理を行う。第1回目の分割処理は、CAM53内のメモ
リセル55に入るだけのデータをワーク・テーブル50
から取り出し、メモリセル55内に送出する。次にワー
ク・テーブル・51の第1回目の検索データf、 CA
M 53内の検索デ・・−夕1/ジスタ56に送出し、
CAM 53 f:作動させ、一致したデータを行デー
タ重ね合せ器54全通してテーブル52に格納する。次
に、ワーク・テーブル51より第2行目のデータを検索
レジスタ56に送出し、CA、M2Sを作動させ、結果
をテーブル52に格納する。45 is a row data superimposer (same as in FIG. 3) that superimposes matched data; 55 is a memory cell in the CAM;
56 is a search data register (
(Details will be described later). CAM on the work table 50
When data exceeding the capacity of the memory cell 55 in the memory cell 55 is fetched, work division processing as shown in FIG. 4 is performed. In the first division process, the data that will fit into the memory cells 55 in the CAM 53 are stored in the work table 50.
and sends it into the memory cell 55. Next, the first search data f, CA of work table 51
Send the search data in M 53 to 1/registration 56,
CAM 53 f: Activates and stores matched data in table 52 through all row data superimposers 54 . Next, the second row of data from the work table 51 is sent to the search register 56, CA and M2S are activated, and the results are stored in the table 52.
この動作を第n回目の検索まで!J!シ返しCAM53
を作動させる。次に2回目の分割処理はワーク・テーブ
ル50に残っている第2回目の分割処理データfiI:
cAM53内のメモリセル55に新しく送出し、n個の
検索データについてCAM53を作動させ、テーブル5
2に結果を格納する。同様にして、ワーク・テーブル5
0のデータがなくなるまで分割処理をt回繰り返す。以
上のデータ処理方式により、大容量のワーク・データが
読み込まれた時でも、比較的小容量のCAMでJOIN
演算をすることが可能となる。Continue this operation until the nth search! J! Shigaeshi CAM53
Activate. Next, for the second division process, the second division process data fiI remaining in the work table 50:
A new data is sent to the memory cell 55 in the cAM 53, the CAM 53 is activated for n pieces of search data, and the table 5 is
Store the result in 2. Similarly, work table 5
The division process is repeated t times until there is no 0 data. With the above data processing method, even when a large amount of work data is read, JOIN can be performed using a relatively small amount of CAM.
It becomes possible to perform calculations.
本方式によれば、JOIN演算を行なうデータ量がnn
、n行であるとすると、処理時間は演與装fを用いない
場合にはmxnに、2つのCAM’を便用した従来の演
算装置を用いた場合にはm+ n。According to this method, the amount of data for performing JOIN operation is nn
, n lines, the processing time will be mxn if the processor f is not used, and m+n if a conventional arithmetic unit using two CAM's is used.
本願発明で提案した演算装置を用いた場合には、平均分
割処理回数をαとしてαm + 2 nに、それぞれ比
例することになる。本願発明で提案した演算装置は、2
つのCAMを使用したものより処理速度が遅くなるが、
JOIN演算によって変動するデータの量がわかれば、
ワーク・テーブルとして使用した通常のメモリの容量と
CA、Mの容量を決める事によって、比較的小容量のC
AMを用いて、CAへ1の使用効率のよいJOIN演算
g置が装現できる。When the arithmetic device proposed in the present invention is used, the average number of times of division processing is α, which is proportional to αm + 2 n. The arithmetic device proposed in the present invention has two
Although the processing speed is slower than that using two CAMs,
If you know the amount of data that changes due to JOIN operation,
By determining the capacity of normal memory used as a work table and the capacity of CA and M, a relatively small capacity C
Using AM, one highly efficient JOIN calculation device can be installed in CA.
以上、前述の原理に基づく本発明の一実施例を図面を用
いて説明する。An embodiment of the present invention based on the above-mentioned principle will be described above with reference to the drawings.
第5図は本発明の一実施例を示すJ OI N演算装置
のブロック構成図である。本装置はメモIJ 1501
10、メモリ1150120.メモリ150130、C
AM502、内部データバス504、内部アドレスバス
505、外部データバス506、外部アドレスバス50
7、バス切換側(財)部508、内部アドレス発生部5
10、外部アクセス割出1部509、テーブル指定フラ
グ511、モードフラグ512、転送終了フラグ512
0、メモリ内データ量レジスタ51310,51320
,51330、検索データレジスタ514、検索結果レ
ジスタ515、データ重ね合せ器516、動作制御部5
17、IJ上セツト518、その他の信号線から構成さ
れる。以下、各部及び信号線について詳しく説明する。FIG. 5 is a block diagram of a J OI N calculation device showing an embodiment of the present invention. This device is Memo IJ 1501
10. Memory 1150120. Memory 150130, C
AM502, internal data bus 504, internal address bus 505, external data bus 506, external address bus 50
7. Bus switching side (corporate) section 508, internal address generation section 5
10, external access index 1 section 509, table specification flag 511, mode flag 512, transfer end flag 512
0, memory data amount register 51310, 51320
, 51330, search data register 514, search result register 515, data superimposer 516, operation control unit 5
17, an IJ upper set 518, and other signal lines. Each part and signal line will be explained in detail below.
内部データバス504、及び、内部アドレスバス505
けそれぞれ、本装置内部のデータ信号用のパスライン、
アドレス信号用のパスラインである。また、外部データ
バス506、外部アドレスバス507は、それぞれ、本
装置内部のメモリl50110、メモリ7750120
、メモリl[50130、CAM502、その他フラグ
レジスタ等を外部からアクセスするためのデータ信号、
アドレス信号用のパスラインである。Internal data bus 504 and internal address bus 505
respectively, a pass line for data signals inside this device,
This is a pass line for address signals. In addition, the external data bus 506 and the external address bus 507 are connected to the memory 150110 and the memory 7750120 inside this device, respectively.
, a data signal for externally accessing the memory l[50130, CAM502, and other flag registers, etc.
This is a pass line for address signals.
本装置には、外部アドレスバス507に外部からアドレ
スを指定し、外部データバス506上のデータを本装置
の内部に誉き込む、あるいは本装置内部のデータを外部
データバス506上に読み出すことのできる外部アクセ
スモードと第4図に示した処理方式に従って大容量のワ
ークを分割し自動的にJOIN演算を実行する内部動作
モードとがある。モードの切換えは、モードフラグ51
2によって指定される。モードフラグ″′θ″時は外部
アクセスモード、1″′時は内部動作モードを示してい
る。モードフラグ512は信号線5002のラッチ信号
によって、内部データバス504の信号を信号線5oo
3t−=しラッチすることによって”l”にセットされ
、信号線5004のリセット信号によってリセットされ
る。またモードフラグの状態は信号線5001に送出さ
れる。通常モードフラグは”0”の状態であり、外部ア
クセスモードとなっている。This device has the ability to specify an address from the outside to the external address bus 507, read data on the external data bus 506 into the device, or read data inside the device onto the external data bus 506. There is an external access mode in which a large amount of work is divided according to the processing method shown in FIG. 4, and an internal operation mode in which a JOIN operation is automatically executed. To switch the mode, use the mode flag 51.
2. The mode flag 512 indicates an external access mode when it is ``θ'', and an internal operation mode when it is 1''.
It is set to "l" by latching 3t-= and is reset by the reset signal on the signal line 5004. Further, the state of the mode flag is sent to the signal line 5001. The normal mode flag is in the state of "0", indicating external access mode.
バス切換制御部508は、モードフラグ512の状態を
示す信号線5001の信号に応じ、外部アクセスモード
時は外部データバス506、外部アドレスバス507を
、それぞれ、内部データバス504、内部アドレスバス
505に結合し、内部動作モード時は、これらを切り離
し、内部アドレス発生部509のアドレス信号線500
6f、内部アドレスバス505に結合する動作を行なう
。Bus switching control unit 508 switches external data bus 506 and external address bus 507 to internal data bus 504 and internal address bus 505, respectively, in external access mode in response to a signal on signal line 5001 indicating the state of mode flag 512. When in the internal operation mode, these are separated and the address signal line 500 of the internal address generation section 509 is connected.
6f, performs an operation of coupling to internal address bus 505;
内部アドレス発生部509は内部動作モード時、メモリ
150110、メモリ[50120、メモリ■5013
0、CAM502のデータを読み誉きするアドレスを発
生する部分である。メモリ150110、メモリ[50
120、メモリn150130、CAM502内レジス
タ、メモリセルのどれか1つを指定する制御信号を信号
線5005に動作制御部517が発生するとそれぞれに
対応するアドレスを発生させ、信号線5006上に送出
する。アドレスの発生は、メモリ150110、メモリ
1150120、メモ1J11150130、CAMの
メモリセルに対してはアドレス空間の先頭から順にアク
セスするように行なわれる。すなわち、第6図に示すよ
うにメモリ150110、メモリI[50120、メモ
リ■50130、CAM1502のアクセスを指定する
たびに、次に発生されるアドレスは、それぞれ、必要量
インクリメントされている。また、CAM502内のレ
ジスタについては、それぞれに割当てられているアドレ
スを発生する。なお、信号線5007のリセット信号に
よシ、メモリl 50110、メモリll50120、
メモリlll’50130、CAM502のメモリセル
に対する発生アドレスは、メモリ空間の先頭にリセット
される。In the internal operation mode, the internal address generation unit 509 stores memory 150110, memory [50120, memory ■5013
0. This is a part that generates an address for reading data in the CAM 502. Memory 150110, Memory [50
When the operation control unit 517 generates a control signal on the signal line 5005 specifying any one of the memory n150130, the register in the CAM 502, and the memory cell, it generates the corresponding address and sends it on the signal line 5006. Addresses are generated by sequentially accessing the memory cells of memory 150110, memory 1150120, memory 1J11150130, and CAM from the beginning of the address space. That is, as shown in FIG. 6, each time access to memory 150110, memory I[50120, memory 50130, and CAM 1502 is designated, the next generated address is incremented by the required amount. Further, for the registers in the CAM 502, addresses assigned to each register are generated. In addition, depending on the reset signal of the signal line 5007, the memory I 50110, the memory I 50120,
The generated addresses for the memory cells of the memory Ill'50130 and the CAM502 are reset to the beginning of the memory space.
メモIJ I 50110は第4図に示したように、J
OIN演算を行なう一方のワーク・テーブル51を格納
するためのものである。アドレス信号線50081上の
アドレス信号のさすメモリ内データを制御信号線501
01上の制御信号に応じ、データ信号線50091を通
し、アクセスできる。なお、メモリ内データ量レジスタ
51310は、メモIJ150110内に格納したワー
ク・テーブル51に実際にデータが格納されている行数
を示すものである。本レジスタは内部データバス504
のデータを信号線50111上のラッチ信号によシ、信
号線50121を通してラッチすることによってセット
される。また、その内容は信号1i!50131上に送
出される。Memo IJ I 50110, as shown in Figure 4,
It is used to store one work table 51 that performs OIN calculations. The data in the memory pointed to by the address signal on the address signal line 50081 is transferred to the control signal line 501.
It can be accessed through data signal line 50091 in response to a control signal on 01. Note that the in-memory data amount register 51310 indicates the number of lines in which data is actually stored in the work table 51 stored in the memo IJ150110. This register is connected to the internal data bus 504.
is set by latching the data to the latch signal on the signal line 50111 and through the signal line 50121. Also, the contents are signal 1i! 50131.
メモリ[50120、メモリ■50130は第4図に示
したように、JOIN演算を行なうもう一方のワーク・
テーブル50、及び、JOIN演算を行った結果のワー
ク・テーブル52を格納するためのものであシ、メモ!
7150110と同様に内部データバス504のデータ
を信号線50092゜50093を通してアクセスされ
る。なお、信号線50082.50102,50112
,50083゜50103.50113の信号線はメモ
リ150110の場合と同様である。またメモリ内デー
タレジスタ51320,51330は51310と同様
に、メモリ7750120、メモリ1l150130に
格納されているデータの行数を示す。なお、信号線50
122゜50132 、50123 、50133の意
味は、メモリ内データレジスタ51320の場合と同様
である。As shown in FIG.
This is for storing the table 50 and the work table 52 resulting from the JOIN operation. Memo!
Similarly to 7150110, data on internal data bus 504 is accessed through signal lines 50092 and 50093. In addition, signal lines 50082, 50102, 50112
, 50083°50103.50113 are the same as in the case of the memory 150110. Similarly to 51310, in-memory data registers 51320 and 51330 indicate the number of rows of data stored in memory 7750120 and memory 1l150130. In addition, the signal line 50
The meanings of 122°50132, 50123, and 50133 are the same as in the case of the in-memory data register 51320.
CAM502はアドレス信号線5014、データ信号線
5015、制御信号線5016を用いてアクセスされる
と同時に、リセット信号線5017、検索信号、[50
18、検索結果信号線5019によって連想検索機能を
コントロールされる。CAMの連想検索機能を第7図に
て説明する。第7図はCAM内のレジスタのブロック図
である。メモリセル63には連想検索されるべきデータ
を格納する。マスクデータレジスタ62は検索データレ
ジスタ61のデータのうち、検索時考慮しない部分のマ
スクを指定するものである。マスクデータレジスタ62
で”0”が格納されている部分に対応する検索データレ
ジスタ61のデータはマスクされ、検索時、データ一致
比較対象とならない(”1″が格納されている部分のみ
比較対象となる。)これらのレジスタ、メモリセルは通
常のメモリと同様に信号線5014,5015.501
6を用いてアクセスされる。これらのレジスタ、メモリ
セルにデータを格納した後、検索信号線5018をON
することにより連想検索が行なわれる。すなわち、検索
データレジスタ61とメモリセル63内のデータのうち
、マスクデータレジスタ62で′1″′が指定されてい
る部分の一致比較がメモリセル63内の全データ同時に
行なわれ、一致したデータのメモリセル63の行に対応
する検索結果7ラグ64に1″が立つ。検索結果フラグ
64に1つでも1”が立てば、そのことは検索結果信号
線5019上に示され外部に伝えられる。1つも“1”
が立たなければ、信号線5019には検索結果の無いこ
とが示される。また、検索結果フラグ64でl”の立っ
ている最初の行のメモリセル63内のデータが、データ
信号[5015に送出される。次に再び、検索信号線5
018がONされると検索結果7ラグ64で2査ff1
K” 1 ”の立っている行のメモリセル63内のデー
タがデータ信号+15015に送出され、1査目の7ラ
グは消される。なお、リセット信号5017をONにす
ることにより、全メモリセルの内容がクリアーされる。The CAM 502 is accessed using an address signal line 5014, a data signal line 5015, and a control signal line 5016, and at the same time, a reset signal line 5017, a search signal, and a [50
18. The associative search function is controlled by the search result signal line 5019. The associative search function of CAM will be explained with reference to FIG. FIG. 7 is a block diagram of registers within the CAM. The memory cell 63 stores data to be associatively searched. The mask data register 62 specifies a mask for a portion of the data in the search data register 61 that is not considered during a search. Mask data register 62
The data in the search data register 61 corresponding to the part where "0" is stored is masked and is not subject to data matching comparison during a search (only the part where "1" is stored is subject to comparison). The registers and memory cells are connected to signal lines 5014, 5015, and 501 like normal memory.
6. After storing data in these registers and memory cells, turn on the search signal line 5018.
By doing this, an associative search is performed. That is, among the data in the search data register 61 and the memory cell 63, a match comparison of the part designated as ``1'' in the mask data register 62 is performed simultaneously for all data in the memory cell 63, and the matched data is compared. 1'' is set in the search result 7 lag 64 corresponding to the row of the memory cell 63. If even one of the search result flags 64 is set to 1, this fact is indicated on the search result signal line 5019 and communicated to the outside.
If it does not rise, the signal line 5019 indicates that there are no search results. Further, the data in the memory cell 63 of the first row for which l" is set in the search result flag 64 is sent to the data signal [5015. Next, again, the search signal line 5
When 018 is turned on, search result 7 lag 64 and 2 scans ff1
The data in the memory cell 63 in the row where K"1" is set is sent to the data signal +15015, and the 7 lags in the first scan are erased. Note that by turning on the reset signal 5017, the contents of all memory cells are cleared.
メモリ1150120、メモリ71150130のうち
どちらをJOIN演算を行なうワーク・テーブル50用
に、どちらをJOIN演算の結果を格納するワーク・テ
ーブル52用に使用するかは、テーブル指定フラグ51
1によって指定される。本フラグが1″の時、メモリ[
50120をJOIN演算を行なうワーク・テーブル5
oとして、メモIJ ■50130をJOIN演算の結
果を格納するワーク・テーブル52として使用する。′
0”の時には、その逆となる。テーブル指定フラグ51
1は信号線5020のラッチ信号にょシ、内部データバ
ス504の信号を信号線5o21を通してラッチするこ
とによってセットされる。また、その内容は信号線50
22に送出される。The table specification flag 51 determines which of the memory 1150120 and the memory 71150130 is used for the work table 50 that performs the JOIN operation, and which is used for the work table 52 that stores the result of the JOIN operation.
Specified by 1. When this flag is 1″, memory [
Work table 5 for performing JOIN operation on 50120
50130 is used as the work table 52 for storing the result of the JOIN operation. ′
0”, the opposite is true.Table specification flag 51
1 is set by latching the latch signal on signal line 5020 and the signal on internal data bus 504 through signal line 5o21. Also, the contents are signal line 50
22.
転送終了フラグ512oは分割してJOIN演算処理が
行なわれるワーク・テーブル50(メモリ■50120
またはメモリlll50130)のすべてのデータがC
AM502内にセットされたかを指定する。本フラグが
0”の時はワーク・テーブルに未処理のデータが残され
ていることを示す。The transfer end flag 512o is divided into a work table 50 (memory 50120) on which JOIN calculation processing is performed.
or memory llll50130) all data in C
Specify whether it is set in AM502. When this flag is 0'', it indicates that unprocessed data remains in the work table.
01″の時はワーク・テーブルのすべてのデータをCA
M502内に分割してセットしたことを示す。転送終了
フラグ5120は動作制御部517のラッチ信号512
3によシ、信号線5121によってセットされ、その内
容は信号線5121によって動作制御部に送出される。01'', all data in the work table is CA
Indicates that it is divided and set in M502. The transfer end flag 5120 is the latch signal 512 of the operation control unit 517.
3, it is set via the signal line 5121, and its contents are sent to the operation control section via the signal line 5121.
本フラグは動作制御部517が、モードフラグ512を
0″にセット(外部動作モード)する前に信号線512
1を通して′0″にセットされる。This flag is set by the operation control unit 517 on the signal line 512 before setting the mode flag 512 to 0'' (external operation mode).
It is set to '0'' through 1.
外部アクセス制御部510は以上までに説明したメモリ
l50110、メモリ150!20、メモリ[7501
30、CAM502、モードフラグ512、テーブル指
定7ラグ511、メモリ内データ量レジスタ51310
.51320.51330を外部からアクセスするだめ
の制御を行なう部分である。本部分において外部アドレ
スバス507上の信号がデコードされ、前記のどれをア
クセスするのかが決定され、信号i5023のリード/
ライト信号に応じ、アクセス対象に制御信号、ラッチ信
号を送出する。また、外部アクセス制却部510はJO
IN演算の終了時(モードフラグ512がONからOF
Fに変った時)外部に対し、JOIN演算の終了を示す
割込み信号を信号線5024上に送出する。The external access control unit 510 includes the memory 150110, memory 150!20, and memory [7501] described above.
30, CAM502, mode flag 512, table specification 7 lag 511, data amount register in memory 51310
.. This is the part that controls access to 51320 and 51330 from the outside. In this part, the signals on the external address bus 507 are decoded, which of the above is to be accessed is determined, and the read/write of the signal i5023 is determined.
In response to the write signal, a control signal and a latch signal are sent to the access target. In addition, the external access control unit 510
At the end of the IN operation (mode flag 512 changes from ON to OFF)
(When the JOIN operation changes to F), an interrupt signal indicating the end of the JOIN operation is sent to the outside on the signal line 5024.
検索データレジスタ514はメモリ150110内に格
納されているワーク・テーブルの一行のデータを取り出
し格納するレジスタである。検索結果レジスタ515は
、検索データレジスタ514のデータとCAM502内
のメモリセルのデータを連想検索して一致したデータを
格納する。また、検索データレジスタ514と検索結果
データレジスタ515のデータはデータ重ね合せ器に5
028゜5027をimして送出される。これらのレジ
スタは信号線5025上のラッチ信号により、内部デー
タバス504の信号を、信号#5026を通してラッチ
することによってセットされる。その内容は、それぞれ
信号1115027.5028に送出される。また検索
データレジスタ514では、信号線50282をONす
ることによシその内容を信号線50281を通し、内部
データバス504上に送出できる。The search data register 514 is a register that retrieves and stores one row of data from the work table stored in the memory 150110. The search result register 515 performs an associative search between the data in the search data register 514 and the data in the memory cells in the CAM 502, and stores the matched data. Furthermore, the data in the search data register 514 and the search result data register 515 are sent to the data superimposer.
028°5027 is sent as im. These registers are set by the latch signal on signal line 5025 by latching the signal on internal data bus 504 through signal #5026. Its contents are sent on signals 1115027.5028, respectively. Further, in the search data register 514, by turning on the signal line 50282, the contents can be sent onto the internal data bus 504 through the signal line 50281.
データ重ね合せ器516は、検索データレジスタ514
と検索結果データレジスタ515のデータの重ね合せを
行なう部分である。信号線5027゜5028の信号を
重ね合わせ、信号線5029のタイミング信号により、
重ね合わされた結果の信号を信号#J5030上に送出
する。The data superimposer 516 is connected to the search data register 514.
This is the part that superimposes the data in the search result data register 515 and the data in the search result data register 515. By superimposing the signals on signal lines 5027 and 5028, and using the timing signal on signal line 5029,
The superimposed resultant signal is sent out on signal #J5030.
動作制御部517はI動作モード時、以上までに説明し
た各部の動作タイミングを制御し、JOIN演算を進行
させる部分である。モードフラグ512、テーブル指定
フラグ511の状態、メモリ内データ量レジスタ513
10,51320゜51330の内容、CAM502の
連想検索の結果(検索結果信号線5019の状態)、転
送終了フラグ5120の状態に応じて、適宜、他の各部
に信号を発信し制@を行なう。なお動作制御部517は
内部にメモリ内データ量カウンタ5171金持ち、JO
IN演算の結果のデータ量をカウントする。本カウンタ
はJOIN演算結果を格納するワーク・テーブル52に
格納されているデータの行数を示す。本カウンタの内容
は外部アクセスモード時に外部アドレスバス507に本
レジスタに割り轟てられたアドレスを指定し、リード信
号を信号線5023に発生することにより、外部アクセ
ス制御部510が読み出し信号を信号線5172に発生
させ、信号i5173を通し外部データバス506に睨
み出すことができる。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 I operation mode. Mode flag 512, table specification flag 511 status, in-memory data amount register 513
According to the contents of 10, 51320 and 51330, the result of the associative search of the CAM 502 (the state of the search result signal line 5019), and the state of the transfer end flag 5120, signals are sent to other parts as appropriate to perform control. Note that the operation control unit 517 has an internal memory data amount counter 5171.
Count the amount of data resulting from the IN operation. This counter indicates the number of rows of data stored in the work table 52 that stores JOIN operation results. The contents of this counter are determined by specifying the address assigned to this register on the external address bus 507 in the external access mode and generating a read signal on the signal line 5023. 5172 and output to external data bus 506 through signal i5173.
処理データ量カウンタ5132は第4図に示した分割Q
+、理をする際に用いられるものである。メモリ115
0120もしくはメモリ■50130のデータがCAM
502内のメモリセル63に転送されるたびにカウント
アツプされる。まだメモリ内データ量レジスタ5132
0もしくは51330の内容より本カウンタが大きくな
った時動作制御部517は転送終了フラグ5120を1
”(転送終了)にセットする。The processing data amount counter 5132 is divided by the division Q shown in FIG.
+ is used when doing reasoning. memory 115
0120 or memory ■50130 data is CAM
Each time it is transferred to the memory cell 63 in 502, it is counted up. Still in memory data amount register 5132
When this counter becomes larger than 0 or the contents of 51330, the operation control unit 517 sets the transfer end flag 5120 to 1.
” (transfer complete).
リセット部518は本JOIN演算装置の初期状態をセ
ットする部分であシ、外部のリセット信号線5031の
リセット信号により、モード7ラグ512、CAM50
2、転送終了フラグ5120をリセットする信号を発生
させる。The reset unit 518 is a part that sets the initial state of this JOIN calculation device, and uses a reset signal from an external reset signal line 5031 to reset the mode 7 lag 512 and the CAM50.
2. Generate a signal to reset the transfer end flag 5120.
次に、本実施例の動作を第4図から第15図を用いて説
明する。第8図から第15図は、本実施例の動作時のデ
ータフローを示す図である。図中、番号は第4.5.7
図を参照されたい。JOIN演算を開始する前に、ユー
ザはまず、信号線5031にリセット信号を送シ、本装
置の初期状態をセットする。リセット信号によシ、リセ
ット部518は内部りセット信号を信号線5017゜5
004.5123に発生させ、CAM502内部のメモ
リセル63、フラグ64をクリアし、モードフラグ51
2を0″にセット(第8図■、以下第8図)する。また
転送終了フラグ5120を′0′″にセットする。モー
ドフラグ512が0”Kセットされることで、バス切換
1RIJ (i11部508は、外部データバス506
と内部データバス504及び、外部アドレスバス507
と内部アドレスバス505を結合し、外部からデータを
セットできる状態とする。次にユーザは、JOIN演算
を行なうべき2つのワーク・テーブルをメモリ1501
10、メモリ■50120にセットする(■、■)。以
下メモリ■50120にJOIN演算を行うべきデータ
をセットし、メモリ1i50130にJOIN演算の結
果のデータをセットする場合について説明する。ユーザ
はJOIN演算を行なうべきデータをセットする際、メ
モリl 5 Q 110゜メモリ1150120にセッ
トした行数をメモリ内データ曾レジスタ51310.5
1320にセット(■。Next, the operation of this embodiment will be explained using FIGS. 4 to 15. FIGS. 8 to 15 are diagrams showing data flows during operation of this embodiment. In the diagram, the number is 4.5.7
Please refer to the figure. Before starting the JOIN operation, the user first sends a reset signal to the signal line 5031 to set the initial state of the device. Depending on the reset signal, the reset section 518 sends an internal reset signal to the signal line 5017゜5.
004.5123, clears the memory cell 63 and flag 64 inside the CAM 502, and clears the mode flag 51.
2 is set to 0'' (FIG. 8 (2), hereinafter referred to as FIG. 8). Also, the transfer end flag 5120 is set to 0''. By setting the mode flag 512 to 0”K, bus switching 1RIJ (i11 section 508
, internal data bus 504 and external address bus 507
and an internal address bus 505, so that data can be set from outside. Next, the user stores the two work tables on which the JOIN operation is to be performed in the memory 1501.
10. Set in memory ■50120 (■, ■). The case where data to be subjected to a JOIN operation is set in the memory 1i 50120 and data as a result of the JOIN operation is set in the memory 1i 50130 will be described below. When the user sets the data to perform the JOIN operation, the user sets the number of rows set in the memory 1150120 in the memory data register 51310.5.
Set to 1320 (■.
■)する。本レジスタへのセットは外部アクセス制御部
510によって行なわれる。すなわち、七ッ卜すべきデ
ータを外部データバス506に送出し、データは内部デ
ータバス504に伝達される。■) Do. Setting to this register is performed by external access control section 510. That is, the data to be recorded is sent to external data bus 506, and the data is transmitted to internal data bus 504.
更にメモリ内データ量レジスタ513i0.51320
に割当てられているアドレスを外部アドレスバス507
にセットし、ライト信号を信号@5023に発信するこ
とで、外部アクセス制紛11部510がメモリ1501
10とメモリ[50m、20のメモリ内データ量レジス
タ51310.51320の信号線50111.501
12上にラッチ信号を発生し内部データバス上のデータ
を信号線5012J、、50122全通して取り込む。Furthermore, the data amount register in memory 513i0.51320
The address assigned to the external address bus 507
By setting the write signal to the signal @5023, the external access control unit 11 510 reads the memory 1501.
10 and memory [50m, signal line 50111.501 of data amount register 51310.51320 in memory of 20
A latch signal is generated on 12, and data on the internal data bus is taken in through all signal lines 5012J, 50122.
なおテーブル指定7ラグ511、モードフラグ512の
外部からのセットも全く同様である。ユーザは、以上の
ことをセットした後、JOIN演算すべき2組の共11
11変数値(第3図の説明参照)以外をマスクするデー
タをCAM502のマスクデータレジスタ62に格納し
く第9図■、以下第9図)JOIN演算を行なうべきデ
ータの格納されている方のメモリ(この場合メモリ■5
0120 )を、メモリ150110のJOIN演算相
手としてテーブル指定フラグ511に指定しく■)、モ
ードフラグ512を1″′にし、内部動作モードにする
。モードフラグ512に1″がセットされることで、バ
ス切換制却部508は、外部データバス506と内部デ
ータバス504、外部アドレスバス507と内部アドレ
スバス505’を切り離し、内部アドレスバス505に
内部アドレス発生部509が発生させるアドレス信号の
信号線5006を結合する。動作制御部517は、信号
線5001の信号が1″(内部制作モード、■)となる
ことでJOIN演算を制御する動作を開始する。動作制
餌部517はまず、リセット信号を信号線5007に発
生させ、内部アドレス発生部509をリセットする(リ
セットの内容は前述内部アドレス発生部の説明を参照)
。次にメモIJ ll50120にセットされたデータ
をCAM内のメモリセルにセットするために動作割当1
部517はメモリ内データ景レジスタ51320とあら
かじめユーザによって指定されたメモリセル63の容量
(メモリセルの行数)を比較し、メモリ■50120か
らCAM502内のメモリセルにセットするデータの行
数(メモIJ 1150120のデータの行数CAM5
02のメモリセル63の行数の少ない方)を決定する。Note that the table designation 7 lag 511 and mode flag 512 are set from outside in exactly the same way. After setting the above, the user selects the joint 11 of the two sets to be JOIN operated.
11 Store data that masks variables other than the values (see explanation in Figure 3) in the mask data register 62 of the CAM 502. (In this case, memory ■5
0120) as the JOIN operation partner of the memory 150110 in the table specification flag 511), the mode flag 512 is set to 1'', and the internal operation mode is set. By setting the mode flag 512 to 1'', the bus The switching control unit 508 disconnects the external data bus 506 from the internal data bus 504 and the external address bus 507 from the internal address bus 505', and connects the signal line 5006 of the address signal generated by the internal address generating unit 509 to the internal address bus 505. Join. The operation control section 517 starts the operation of controlling the JOIN calculation when the signal on the signal line 5001 becomes 1'' (internal production mode, ■).The operation control section 517 first sends a reset signal to the signal line 5007. The internal address generating unit 509 is reset (see the explanation of the internal address generating unit above for details of the reset).
. Next, in order to set the data set in the memo IJll50120 to the memory cell in the CAM, operation assignment 1 is performed.
The unit 517 compares the capacity of the memory cell 63 (the number of rows of memory cells) specified in advance by the user with the in-memory datascape register 51320, and determines the number of rows of data to be set from the memory 50120 to the memory cells in the CAM 502. Number of rows of data for IJ 1150120 CAM5
02 (the one with the smaller number of rows of memory cells 63) is determined.
そして、動作制御部517は信号線50141を通して
CA−M2O3内のメモリセル63のアドレスを送出し
、また内部アドレス発生部509にメモリ■50120
のアドレスを発生さぜた上でメモリ■よシ内部データバ
スを通して、CAM内のメモリセルに、JOIN演算ヲ
行う1つのワークデータを分割してセット(第10図■
以下第10図)する。また、動作制御部517内の処理
カウンタ5132はメモリ[50120よりCAM50
2内のメモリセルにセットされた行数をカウントアツプ
する0)。動作別N1部517は処理データ曾カウンタ
5132の内容(CAM502内で処理されるメモ+7
Hs o 120内のワークデータの行数)とメモリ
内データ量レジスタ51320の内容を信号IVj15
0131を通して比較し、一致した時には、信号線51
21全通して転送終了フラグf:”i″セツト、一致し
ない時(すなわち、メモリ■内にJOIN演算すべきデ
ータが残されている時)には+v Onをセットする。Then, the operation control unit 517 sends the address of the memory cell 63 in the CA-M2O3 through the signal line 50141, and also sends the address of the memory cell 63 in the CA-M2O3 to the internal address generation unit 509.
After generating the address of , one piece of work data for performing a JOIN operation is divided and set into memory cells in the CAM through the memory and internal data bus (Fig. 10).
(Figure 10 below). In addition, the processing counter 5132 in the operation control unit 517 is input from the memory [50120 to CAM50].
0) to count up the number of rows set in the memory cells in 2. The operation-specific N1 section 517 contains the contents of the processed data counter 5132 (memo processed within the CAM 502 +7
The number of rows of work data in Hs o 120) and the contents of the data amount register 51320 in memory are sent to signal IVj15.
0131, and when they match, the signal line 51
21, the transfer end flag f: "i" is set, and +v On is set when there is no match (that is, when data to be subjected to the JOIN operation remains in the memory 2).
その後、動作制御部517は第4図の手順に従ってJO
IN演算を実施する。すなわち、メモリ150110内
に格納されているワーク・テーブル51のデータを先頭
から1行ずつIlgに取り出し、そのデータに対し以下
の処理をメモリ内データh1−レジスタ51310に指
定された回数繰り返す。動作側H+部517は、まず内
部のメモリ内データ量カウンタ5171をゼロクリアす
る。次に、信号線5005にメモリ150110を指定
する信号を発信し、内部アドレス発生部509にメモリ
150110をアクセスするためのアドレスを発生させ
る(アドレスの発生方法は前述の内部アドレス発生部5
09の説、明参照)。その後、信号線50101にメモ
リリードの制御信号を発生させ、メモ!7150110
に格納されているワーク・テーブルのデータの一行の内
容を内部データバス上に読み出す。読み出されたデータ
は、検索データレジスタ514の信号線5025にラッ
チ信号を発信することで、信号線5026を通し、検索
データレジスタ514にラッチされる(第11図◎、以
下第11図)。その後、動作制御部517は、信号線5
0282にデータ送出信号を発信し、検索データレジス
タ514の内容を信号線50281を通し、再び、内部
データバス504上に送出する。After that, the operation control unit 517 executes the JO according to the procedure shown in FIG.
Perform an IN operation. That is, the data of the work table 51 stored in the memory 150110 is retrieved line by line from the beginning to Ilg, and the following process is repeated for the data a number of times specified by the in-memory data h1-register 51310. The operating side H+ unit 517 first clears the internal memory data amount counter 5171 to zero. Next, a signal specifying the memory 150110 is sent to the signal line 5005, and the internal address generation section 509 generates an address for accessing the memory 150110 (the address generation method is as described above in the internal address generation section 509).
09, see Akira). After that, a memory read control signal is generated on the signal line 50101, and the memo! 7150110
Reads the contents of one row of work table data stored in the internal data bus onto the internal data bus. The read data is latched by the search data register 514 through the signal line 5026 by sending a latch signal to the signal line 5025 of the search data register 514 (◎ in FIG. 11, hereinafter shown in FIG. 11). After that, the operation control unit 517 controls the signal line 5
0282, the contents of the search data register 514 are sent out again onto the internal data bus 504 through the signal line 50281.
送出されたデータはCAM502内の検索データレジス
タ61に読み込まれる。すなわち、動作制御部517は
、CAM502の検索データレジスタ61を指定する信
号を信号線5005に発信し、内部アドレス発生部50
9にCAIM502め検索データレジスタ61のアドレ
スを発生させ、CAM502の信号IIM5016にラ
イト信号を発信することでCAM502内に取り込む(
0)。The sent data is read into the search data register 61 in the CAM 502. That is, the operation control unit 517 sends a signal specifying the search data register 61 of the CAM 502 to the signal line 5005, and the internal address generation unit 50
9 generates an address for the search data register 61 of the CAIM 502, and captures it into the CAM 502 by sending a write signal to the signal IIM 5016 of the CAM 502 (
0).
以上、メモリ150110.メモリ■50120、メモ
リ■50130、CAM502、その他のレジスタのア
クセス手順は同様なので、記述は避ける。That's all for memory 150110. The access procedures for memory ■50120, memory ■50130, CAM502, and other registers are the same, so descriptions thereof will be avoided.
動作制御部517はCAM502の検索データレジスタ
61にデータを格納した後、CAM502の信号線50
18に検索信号を発信し連想検索を行なわせる(第12
図0、以下第12図)。動作制御部517は、CAMの
検索結果信号(信号線5019)がOFFになるまで以
下を繰返し、JOIN演算結果をメモリ1li5013
0に格納して行く。すなわち、検索信号(信号+Ij1
5018)を順次ONにし、検索結果データを内部デー
タバス504上に送出し、検索結果レジスタ515にラ
ッチする(0)。その後、検索データレジスタ514の
内容と、検索結果レジスタ515の内容を、データ重ね
合せ器516で夏ね合せ(◎)、信号線5029に送出
信号を発信することで信号線5030全通し、データの
重ね合せ結果を内部データバス504に送出する。送出
されたデータは、メモリ[50130の先頭から順に格
納される(0)。なお、格納アドレスは内部アドレス発
生部509が前述した手順で発生させる。またデータ格
納時、メモリ内データ餉・カウンタ5171をカウント
アツプする(0)。以上までの動作を検索結果信号(信
号線5019)がOFFになる1で、繰り返す。次に動
作制御部517は、信号線5121を通し、転送フラグ
の内容がθ″(メモリn50120内にJ(JIN演算
すべき分割された未処理のデータが残っている状B)で
あれば、信号線5017を通してCAM502にリセッ
ト信号を送、9、CAM502内のメモリセル63、結
果検索フラグ64をクリアにする(0第13図、以下、
第13図)。次に未処理のデータの転送を行う。)処理
データ量カウンタ5132の内容がメモリ内レジスタ5
1320の値より小さければ、動作制御部は処理データ
量カウンタをカウントアツプ(Q)L、その内容をメモ
リ■50120のアドレスとし、内部アドレス発生部5
09によって内部アドレスバス505に送出する。それ
に対し、CAM502内のメモリセル63のアドレスは
動作制御部517が信号線50141を通して、CAN
502内に送出される。After storing the data in the search data register 61 of the CAM 502, the operation control unit 517 transfers the data to the signal line 50 of the CAM 502.
18 to perform an associative search (12th
Figure 0, hereafter Figure 12). The operation control unit 517 repeats the following until the CAM search result signal (signal line 5019) turns OFF, and stores the JOIN operation result in the memory 1li5013.
Store it at 0. That is, the search signal (signal +Ij1
5018) are sequentially turned on, the search result data is sent onto the internal data bus 504, and latched in the search result register 515 (0). Thereafter, the contents of the search data register 514 and the contents of the search result register 515 are combined (◎) by the data superimposer 516, and a send signal is sent to the signal line 5029, thereby passing the entire signal line 5030 and transmitting the data. The superposition result is sent to internal data bus 504. The sent data is stored in order from the beginning of the memory [50130 (0). Note that the storage address is generated by the internal address generation unit 509 according to the procedure described above. Also, when data is stored, the in-memory data counter 5171 is counted up (0). The above operations are repeated at 1 when the search result signal (signal line 5019) turns OFF. Next, the operation control unit 517 transmits the data through the signal line 5121, and if the content of the transfer flag is θ'' (state B that J (divided unprocessed data to be subjected to JIN calculation remains) in the memory n50120, Send a reset signal to the CAM 502 through the signal line 5017, and clear the memory cell 63 and result search flag 64 in the CAM 502 (see FIG. 13 below).
Figure 13). Next, unprocessed data is transferred. ) The contents of the processed data amount counter 5132 are stored in the memory register 5.
If it is smaller than the value of 1320, the operation control section counts up the processing data amount counter (Q)L, sets the contents as the address of the memory 50120, and sets the internal address generation section 5.
09 to the internal address bus 505. On the other hand, the address of the memory cell 63 in the CAM 502 is determined by the operation control unit 517 through the signal line 50141.
502.
メモリセル63のアドレスはメモリセル63の先頭から
順次指定される。転送されるべきデータはメモリ115
0120より信号線50092を通して内部データバス
504に送出され、信号線5015全通してCAM50
2内のメモリセル63にデータが送出される。このよう
にして、データの転送が行なわれ、CAM502内のメ
モリセル63がデータで一杯になった場合か、処理デー
タ量カウンタ5132の内容がメモリ内レジスタ513
20の内容(メモリ[50120のデータ量)よシ大き
くなった場合に転送が停止する。なお、後者の場合には
動作制御部517は信号線5121全通して転送終了フ
ラグ512を“1”(転送終了)にセットする([相]
)。CAM502内のメモリセル63にデータがセット
されたならば、第4図のデータ処理方式に従って動作制
御部517はJOIN演算を再実施し、結果をメモ1J
III50130に格納する(第14図]。The addresses of the memory cells 63 are specified sequentially from the beginning of the memory cells 63. The data to be transferred is stored in the memory 115
0120 to the internal data bus 504 through the signal line 50092, and is sent to the CAM50 through the entire signal line 5015.
Data is sent to the memory cell 63 in 2. In this way, when the data is transferred and the memory cell 63 in the CAM 502 becomes full of data, the contents of the processed data amount counter 5132 are transferred to the in-memory register 513.
If the content of the memory becomes larger than the content of 20 (data amount of memory [50120]), the transfer will stop. In the latter case, the operation control unit 517 sets the transfer end flag 512 to "1" (transfer end) through the entire signal line 5121 ([phase]
). Once the data is set in the memory cell 63 in the CAM 502, the operation control unit 517 re-executes the JOIN operation according to the data processing method shown in FIG.
III50130 (FIG. 14).
上記のようにして、第13図、第14図の動作を動作制
御部が転送終了フラグを′1”にセットするまで繰返し
、メモIJ It 50120のすべてのワークデータ
の処理を終了したならば、動作制御部517は、リセッ
ト信号をCAM502の信号線5017、信号線500
4に発生させ、CAM502及びモードフラグ512を
クリアにする。As described above, the operations shown in FIGS. 13 and 14 are repeated until the operation control unit sets the transfer end flag to '1', and once all the work data in the memo IJ It 50120 has been processed, The operation control unit 517 sends the reset signal to the signal line 5017 of the CAM 502 and the signal line 500.
4 to clear the CAM 502 and mode flag 512.
(第15図01以下第15図)。これによシ再び、本装
置内を外部からアクセスすることが可能となる。JOI
N演算の終了は、モードフラグ512が1″から“0”
に変化した時点で外部アクセス制御部510が割込み信
号を信号#5024に発信することで通知される。この
まま演算結果を取り出す場合は、外部からテーブル指定
フラグ511が示すメモリ[750130の内容全メモ
リ内データ量カウンタ5171に示される行数分読み出
せばよい。外部からの読2み出しは、前述のように外部
アクセス制御部510にて制御される。また、ルール型
ソフトにおけるルールのIP部に条件が3つ以上指定さ
れ、再びJOIN演算ヲ実行せねばならない場合は、3
つ目以上のIF文に対して外部より取り込まれるワーク
・テーブル51のデータを第9図■、■と同様にユーザ
が外部アクセス制御部510を用いてメモlj l 5
0110にセットする。(第15図、■)。また、メモ
リ内データ貴レジスタ51310 (@))及び、C
AM502内のマスクデータレジスタ62にそれぞれメ
モリ内データ量、マスクデータをセットする。そして、
指定7ラグ512金切り換えていく(“1”→“0”、
“0”→゛1”〕こと(O)によって、前回のJOIN
演算結果を格納したテーブル52をJOIN演算を行う
テーブル5工に切り換え、第9図〜第14図の動作を繰
シ返す。このことによって3つ以上のIF文で示される
JOIN演算を何うことができる。(Fig. 15 01 et seq. Fig. 15). This makes it possible to access the inside of the device from the outside again. JOI
At the end of the N operation, the mode flag 512 changes from 1'' to “0”.
When the change occurs, the external access control unit 510 sends an interrupt signal to signal #5024 to be notified. If the calculation result is to be retrieved as is, it is sufficient to read from the outside the contents of the memory [750130 indicated by the table designation flag 511 for the number of rows indicated by the total memory data amount counter 5171. External reading 2 is controlled by the external access control unit 510 as described above. In addition, if three or more conditions are specified in the IP part of a rule in rule-based software and the JOIN operation must be executed again,
The data of the work table 51 that is imported from the outside for the first IF statement or more is stored in the memory by the user using the external access control unit 510, as shown in FIG.
Set to 0110. (Figure 15, ■). In addition, the memory data precious register 51310 (@)) and C
The amount of data in memory and the mask data are set in the mask data register 62 in the AM 502, respectively. and,
Specified 7 lugs 512 gold switching (“1” → “0”,
“0”→゛1”] By (O), the previous JOIN
The table 52 storing the calculation results is switched to the table 5 for performing the JOIN calculation, and the operations shown in FIGS. 9 to 14 are repeated. This allows any JOIN operation indicated by three or more IF statements to be performed.
本実施例では、大容量のワーク・テーブルを第4図のよ
うに分割処理していくことによって、比較的小容量の連
想記憶装置でも、その並列検索機能を利用することがで
きる。In this embodiment, by dividing a large-capacity work table as shown in FIG. 4, even a relatively small-capacity content addressable memory device can utilize its parallel search function.
以上説明したように本発明によれば、連想記憶装置の並
列検索機能および2つのワーク・テーブルのうち一つの
データテーブルを分割して連想記憶装置にデータを記憶
させることによって、高速かつ大容量のワークデータを
処理する装置を提供することができる。これによシルー
ル型ソフトにおいて美大な葉の状態数のある対象の処理
を開運に処理できるようになり、ルールを用いる可読性
。As explained above, according to the present invention, by using the parallel search function of the associative memory device and dividing one data table out of two work tables and storing data in the associative memory device, high-speed and large-capacity processing can be performed. An apparatus for processing work data can be provided. This makes it possible to process objects with a large number of leaf states in rule-based software, and improves readability using rules.
理解性、変吏性の高い論理記述方式で多量の状態を取り
扱う必要のある対象にも適用することが可能となる。It is possible to apply this method to objects that require handling a large number of states using a logical description method that is highly understandable and highly variable.
第1図はルール型ソフトの機能構成図、第2図はルール
型ソフトのルールの処理の説明図、第4図はJOIN演
算装置の説明図、第・を図は本発明のJOIN演算方式
の説明図、第5図は本発明の一実施例のブロック機成図
、第6図は本装置のメモリ空間説明図、第7図は連想記
憶装置内のレジスタの構成図、第8〜15図は実施例の
動作を示すデータフロー図である。Fig. 1 is a functional configuration diagram of the rule-based software, Fig. 2 is an explanatory diagram of the rule processing of the rule-based software, Fig. 4 is an explanatory diagram of the JOIN calculation device, and Fig. 2 shows the JOIN calculation method of the present invention. 5 is a block configuration diagram of an embodiment of the present invention, FIG. 6 is an explanatory diagram of the memory space of this device, FIG. 7 is a configuration diagram of registers in the associative memory device, and FIGS. 8 to 15 is a data flow diagram showing the operation of the embodiment.
Claims (1)
ル記憶部、設備群の状態と実行すべき作業内容とルール
で結論された内容を格納する状態記憶部、該状態記憶部
に格納された情報と上記ルール記憶部に格納された条件
とを比較照合し、条件が満足されたルールの結論を上記
状態記憶部に格納するルール運用部を有し、設備群に対
する制御指令を決定するルール型システムにおいて、上
記ルールのある1つに記述された複数の条件内容のうち
のある2組と合致する状態記憶部情報からなる2組のデ
ータの集合に対し、該2組の条件内容のうちの共通な項
目に対応する値が等しい上記両データのすべての組合せ
からなる集合データを作成するJOIN演算に対し、そ
れぞれのデータを保持する2組の入力バッファ、JOI
N演算の結果を保持、出力する出力バッファ、連想記憶
装置と、2つのデータから項目値を意味のある方の値に
置き換え1つのデータを作り出すデータ重ね合せ器を具
備し、一方の入力バッファのデータを分割し、分割した
データを順に連想記憶装置に記憶させ、もう1つの入力
バッファからデータを1つずつ取り出し、該データを検
索データとし共通項目を検索キーと連想記憶装置のデー
タを連想検索し、取出されたデータをデータ重ね合せ器
で重ね合せ結果を出力バッファに格納することを繰返し
JOIN演算を実行することを特徴とするルール型シス
テムの演算方式。 2、上記出力バッファ、一方の入力バッファを切り換え
ながら連続的にJOIN演算を実行することを特徴とす
る第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 operation unit that compares and matches the information stored in the storage unit with the conditions stored in the rule storage unit, and stores the conclusion of the rule in which the conditions are satisfied in the status storage unit, and controls the equipment group. In a rule-based system that determines commands, for two sets of data consisting of state storage information that match two sets of condition contents described in one of the above rules, the two sets are For the JOIN operation that creates set data consisting of all combinations of the above data that have the same value corresponding to the common item among the condition contents, two sets of input buffers that hold the respective data, JOI
It is equipped with an output buffer that holds and outputs the results of N operations, an associative memory device, and a data superimposition device that replaces the item value with a meaningful value from two data to create one data. Divide the data, store the divided data in the associative memory in order, take out the data one by one from another input buffer, use the data as search data, and use the search key for common items to associatively search the data in the associative memory. An arithmetic method for a rule-based system, characterized in that a JOIN operation is repeatedly executed by combining the retrieved data with a data superimposer and storing the result in an output buffer. 2. The calculation method of the rule-based system according to item 1, characterized in that the JOIN calculation is executed continuously while switching between the output buffer and one of the input buffers.
Priority Applications (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP60224713A JPS6285332A (en) | 1985-10-11 | 1985-10-11 | Arithmetic method for rule-based systems |
| 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 |
|---|---|---|---|
| JP60224713A JPS6285332A (en) | 1985-10-11 | 1985-10-11 | Arithmetic method for rule-based systems |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPS6285332A true JPS6285332A (en) | 1987-04-18 |
Family
ID=16818081
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP60224713A Pending JPS6285332A (en) | 1985-01-21 | 1985-10-11 | Arithmetic method for rule-based systems |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPS6285332A (en) |
-
1985
- 1985-10-11 JP JP60224713A patent/JPS6285332A/en active Pending
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| KR20230169684A (en) | Pim computing system and method for pim arithmetic offloading thereof | |
| CN106055454A (en) | Monitoring method for server mainboard | |
| JPH0248747A (en) | Microprocessor | |
| JPS5839357A (en) | Address method of ram | |
| US4592010A (en) | Memory-programmable controller | |
| JPS6285332A (en) | Arithmetic method for rule-based systems | |
| JPH02500692A (en) | Integration of computational elements in multiprocessor computers | |
| JPS60107137A (en) | Data processor with tag | |
| JPS61170861A (en) | Arithmetic device for rule-based system | |
| JPS63621A (en) | Arithmetic device for rule-based system | |
| JPS5987509A (en) | Programmable controller | |
| JPH03105543A (en) | Multi-processing system | |
| JPS60153568A (en) | High speed picture processor | |
| JPH03204744A (en) | Address converting mechanism | |
| JPS5840273B2 (en) | Data search | |
| JPH02162456A (en) | Microprocessor | |
| JPS59216262A (en) | Address converting device | |
| JPH0418658A (en) | Functionally distributed computer system | |
| JPH0383139A (en) | Fuzzy arithmetic processing device | |
| GB2261537A (en) | Computer | |
| JPS6293742A (en) | Inter-processor interface system | |
| JPS61251904A (en) | Sequence controller | |
| JPS62194545A (en) | Program rewriting device for data flow type computer | |
| JPH03286352A (en) | Hierarchical command chain type data transfer device | |
| JPH02304653A (en) | Memory access mode switching system |