JPS6293731A - ル−ル型システムの演算方式 - Google Patents
ル−ル型システムの演算方式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
Links
Landscapes
- Devices For Executing Special Programs (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔発明の利用分野〕
本発明はルール型システムの演算装置に関し、特にルー
ルで記述された制御δ−理に従い、各設備の状態に応じ
て条件を判定し、制用l指令を決足する方式、およびル
ールで記述された生産財lff11M1理に従い、与え
られた注文データと材料データから注文と材料を割付け
るような生産計画等に適したルール型システムの演算方
式に関する。
ルで記述された制御δ−理に従い、各設備の状態に応じ
て条件を判定し、制用l指令を決足する方式、およびル
ールで記述された生産財lff11M1理に従い、与え
られた注文データと材料データから注文と材料を割付け
るような生産計画等に適したルール型システムの演算方
式に関する。
FA (pactory Automation )シ
ステムでは、製品のライフサイクルの短期化、製品の柚
類の多様化に伴って、製造ラインの変更、運用の変更が
頻繁に行われる。このために、制御プログラムの迅速な
開発、保守が費求される。
ステムでは、製品のライフサイクルの短期化、製品の柚
類の多様化に伴って、製造ラインの変更、運用の変更が
頻繁に行われる。このために、制御プログラムの迅速な
開発、保守が費求される。
従来は、割筒1プログラムを1・゛o几T几AN等の汎
用言語で開発する方法がとられていた。しかし、この方
法では、制御プログラムの開発、理解、変更に時間がか
がシ、まだ専門のプログラム要員が必要である等の問題
があるため、上記要求を満足させられなかった。そこで
、本発明者等は、論理の記述、理解、変更が容易な「設
備群制御方式」(特願昭58−79341号明細書参照
)を提案した。上記方式は、ルール型システムと呼ばれ
るもので、論理を任意の日本語文字列でrIF(条件)
、THEN (結緬、動作)」型のルール形式に記述す
るのみで、プログラムが作成できるものである(以下、
IP−THENルール、または単にルールと呼ぶ)。こ
の方法によれば、プログラムの開発が容易であり、かつ
調理の理解と変更に優れている。
用言語で開発する方法がとられていた。しかし、この方
法では、制御プログラムの開発、理解、変更に時間がか
がシ、まだ専門のプログラム要員が必要である等の問題
があるため、上記要求を満足させられなかった。そこで
、本発明者等は、論理の記述、理解、変更が容易な「設
備群制御方式」(特願昭58−79341号明細書参照
)を提案した。上記方式は、ルール型システムと呼ばれ
るもので、論理を任意の日本語文字列でrIF(条件)
、THEN (結緬、動作)」型のルール形式に記述す
るのみで、プログラムが作成できるものである(以下、
IP−THENルール、または単にルールと呼ぶ)。こ
の方法によれば、プログラムの開発が容易であり、かつ
調理の理解と変更に優れている。
本発明者等は、更に、上記ルール型システムの処理速度
の向上を目的に、ルールのIF部の条件の評価において
、パラメータ部(条件や結論を記述した文字列情報で”
く”、′〉”でくくってije述した部分)の変数(X
、Y、Z等)値の評価を連想記憶装置(一般に(:on
tent AddrescableM e m o r
y等の名前で呼ばれている。以下CA Aiと)呼ぶ
)を用い高速に行える「ルール型システムの演算装置」
(特願昭60−12079号)を提案した。しかし、こ
の方式では、評価する一方の変数値を取シ出すバッファ
が固定されており、変数値を評価する回数を最少にする
という点については配慮されていなかった。そのために
、入力バッファ内のデータ量によっては処理効率が悪い
という問題がある。
の向上を目的に、ルールのIF部の条件の評価において
、パラメータ部(条件や結論を記述した文字列情報で”
く”、′〉”でくくってije述した部分)の変数(X
、Y、Z等)値の評価を連想記憶装置(一般に(:on
tent AddrescableM e m o r
y等の名前で呼ばれている。以下CA Aiと)呼ぶ
)を用い高速に行える「ルール型システムの演算装置」
(特願昭60−12079号)を提案した。しかし、こ
の方式では、評価する一方の変数値を取シ出すバッファ
が固定されており、変数値を評価する回数を最少にする
という点については配慮されていなかった。そのために
、入力バッファ内のデータ量によっては処理効率が悪い
という問題がある。
以下、ルール型システムの動作原理の概要を説明した後
で、従来の「ルール型システムの演型装置」の動作原理
及び問題点を詳しく説明する。
で、従来の「ルール型システムの演型装置」の動作原理
及び問題点を詳しく説明する。
第3図は、先願の「設備群制御方式」の機能ブロック図
である。
である。
11はルール記憶部、12はルール運用部、13は状態
記憶部である。IF−THENルールによる制御指令の
決定は、あるルールの結論を、さらに別のルールの条件
判定に用いるという処理を順次性り返えし、最終的にル
ールのTHEN部に動作(制御指令)の記述されたルー
ルの条件が満足され、制御指令が決定されるという原理
で行われる。すなわち、第3図において、ルール運用部
12は、ルールを記憶しているルール記憶部11からル
ールを1つずつ取出し、対象の状態を記憶している連想
記憶部13の内容と、取出したルールのIF部の条件と
を比較し、条件が満足されるか否かを判定する。条件が
満足されれば、取出したルールのTHEN部の結論を状
態記憶部13に追加していく。ここで、IF部の条件判
定では、IF部に記憶された1つ1つのIFの文章(条
件)と一致する文章(状態)がすべて状、標記憶部13
中に存在するか否かを判定し、さらに変数(x。
記憶部である。IF−THENルールによる制御指令の
決定は、あるルールの結論を、さらに別のルールの条件
判定に用いるという処理を順次性り返えし、最終的にル
ールのTHEN部に動作(制御指令)の記述されたルー
ルの条件が満足され、制御指令が決定されるという原理
で行われる。すなわち、第3図において、ルール運用部
12は、ルールを記憶しているルール記憶部11からル
ールを1つずつ取出し、対象の状態を記憶している連想
記憶部13の内容と、取出したルールのIF部の条件と
を比較し、条件が満足されるか否かを判定する。条件が
満足されれば、取出したルールのTHEN部の結論を状
態記憶部13に追加していく。ここで、IF部の条件判
定では、IF部に記憶された1つ1つのIFの文章(条
件)と一致する文章(状態)がすべて状、標記憶部13
中に存在するか否かを判定し、さらに変数(x。
y、z等)に対しては、IF部に記述された全条件を同
時に満足する(AND条件)値が存在するか否かを判定
し、存在すればその値を生成する。
時に満足する(AND条件)値が存在するか否かを判定
し、存在すればその値を生成する。
第4図は、第3図の装置において、ルールのパラメータ
部に変数が記述されている場合の処理の詳細図である。
部に変数が記述されている場合の処理の詳細図である。
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条件全満足する変数値を生成し
、ワーク・テーブルに格納する(■)。
である。ルール記憶部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条件全満足する変数値を生成し
、ワーク・テーブルに格納する(■)。
この処理は、3つ目星上のI Pの文字列すべてに対し
て、讃シ返される。その後、最終的にA N D条件を
満足する変数値が存在すれば、その値をTHEN部の文
字列の対応する変数に1・込んたものを、新たに状態記
憶部13に書き加える(■)。
て、讃シ返される。その後、最終的にA N D条件を
満足する変数値が存在すれば、その値をTHEN部の文
字列の対応する変数に1・込んたものを、新たに状態記
憶部13に書き加える(■)。
先願の「ルール型システムの演算装置[は、上記AND
条件満足変数値生成処理(J OI N演算)をCAM
を用い尚速に行うものである。以下、従来のJOIN演
算の処理内容をW、5図を用いて説明する。
条件満足変数値生成処理(J OI N演算)をCAM
を用い尚速に行うものである。以下、従来のJOIN演
算の処理内容をW、5図を用いて説明する。
第5(a)図において、41は通常の記憶装置、42.
43はCAM、44はCAM内の比較部、45は行デー
タ重ね合せ処理を行うだめの行データ重ね合せ用専用回
路である。
43はCAM、44はCAM内の比較部、45は行デー
タ重ね合せ処理を行うだめの行データ重ね合せ用専用回
路である。
先ず、JOIN側算を行うべきワーク・テーブルの一方
を通常の記憶装置41に、もう一方を1つのCAM42
に、それぞれ格納する。さらに、JOIN演算の結果の
テーブル・データは、別のCAM43に格納する。動作
は、次の通りである。
を通常の記憶装置41に、もう一方を1つのCAM42
に、それぞれ格納する。さらに、JOIN演算の結果の
テーブル・データは、別のCAM43に格納する。動作
は、次の通りである。
すなわち、通常の記憶装置41よりテーブル・データを
1行ずつI!Zり出し、これをCAM42の検索データ
とする(なお、この際、共洩俊数Y以外のデータX、z
はマスクする)。CAM42では、比較部44によりC
AM42内のテーブル・データのすべての行に対し、デ
ータの比較処理を同時に行う。検索データと共通データ
の値が一致したCAM42内テーブルの行は、1つずつ
取り出され、行データ重ね合せ用専用回路45により検
索データと重ね合わされ、別のCAM43にll1c4
次格納される。
1行ずつI!Zり出し、これをCAM42の検索データ
とする(なお、この際、共洩俊数Y以外のデータX、z
はマスクする)。CAM42では、比較部44によりC
AM42内のテーブル・データのすべての行に対し、デ
ータの比較処理を同時に行う。検索データと共通データ
の値が一致したCAM42内テーブルの行は、1つずつ
取り出され、行データ重ね合せ用専用回路45により検
索データと重ね合わされ、別のCAM43にll1c4
次格納される。
以上示したように、データの比較処理を行う回数は、C
AM42内のテーブル・データの行数に関係なく、通常
の記憶装f41のテーブル・データの行数すなわち検索
データの個数によって決定される。したがって、通常の
記憶装置41のテーブル・データ数がCAM42のテー
ブル・データ数よりも多くなると、比較処理の19;数
が栢し処理速度が遅くなる。本例の場合は比較処理の回
数は第5(a)図■■に示すように2回であるが、第6
図に示すように、第5図と同一データでも、テーブル・
データの内容が入れかわると、比較処理が4回必要とな
る(第5(b)図[F]、■、■、■)。このように、
従来の方式では、通常の記憶装置41上にあるテーブル
・データを常に検索データとしていたために、通常の記
憶装置41のデータ数がCAM42のデータ数よシ多い
場合比軟処理の回数がこの逆のも合に比べて多くなシ、
処理効率が悲くなるという問題があった。
AM42内のテーブル・データの行数に関係なく、通常
の記憶装f41のテーブル・データの行数すなわち検索
データの個数によって決定される。したがって、通常の
記憶装置41のテーブル・データ数がCAM42のテー
ブル・データ数よりも多くなると、比較処理の19;数
が栢し処理速度が遅くなる。本例の場合は比較処理の回
数は第5(a)図■■に示すように2回であるが、第6
図に示すように、第5図と同一データでも、テーブル・
データの内容が入れかわると、比較処理が4回必要とな
る(第5(b)図[F]、■、■、■)。このように、
従来の方式では、通常の記憶装置41上にあるテーブル
・データを常に検索データとしていたために、通常の記
憶装置41のデータ数がCAM42のデータ数よシ多い
場合比軟処理の回数がこの逆のも合に比べて多くなシ、
処理効率が悲くなるという問題があった。
本発明の目的は、このような従来の問題を解決し、JO
IN演を効率よ〈実行して、ルールを用いる可読性、理
解性、および変更容易性の高い論理記述方式を多量の状
悲金取り扱う必はのある対象にも適用できるようにした
ルール型システムの演算方式を提供することにある。
IN演を効率よ〈実行して、ルールを用いる可読性、理
解性、および変更容易性の高い論理記述方式を多量の状
悲金取り扱う必はのある対象にも適用できるようにした
ルール型システムの演算方式を提供することにある。
上記目的を達成するため、本発明によるルール型システ
ムの演算装置は、設備群の条件と結論からなるルールを
格納するルール記憶部、設備群の状態と実行すべき作業
内容とルールで結論された内容を格納する状態記憶部、
該状態記憶部に格納された情報と上記ルール記憶部に格
納されたルールの結論を上記状態記憶部に格納するルー
ル運用部を有し、設備群に対する制御指令を決定するル
ール型システムにおいて、上記ルールのある1つに記述
された複数の条件内容のうちのある2組と合致する状標
ハ1億部情報からなる2組のデータの集合に対し、該2
組の条件内容のうちの共通な項目に対応する頭が等しい
上記両データのすべての組合せからなる集合データを作
成するJOIN演算に対し、上記2つの集合データをそ
れぞれ保持する2組の連想記憶手段と、JOIN演算の
結果を保持する出力バッファと、両データから項目イ直
を意味ある方の値に□□□゛き=えて1つのデータを作
成するデータ亜ね合せ手段とを具備し、2つの連想2d
憶手段のうちデータの少ない方からデータを1つずつ取
り出し、該データを検索データ、上記共通項目を検索キ
ーとしてもう一方の連想記憶手段のデータを連想検索し
、取り出されたデータと検索データを上古[′、重ね合
せた結果を、出力バッファに格納するという一浬の動作
を挾り返して実行することに%iがある。
ムの演算装置は、設備群の条件と結論からなるルールを
格納するルール記憶部、設備群の状態と実行すべき作業
内容とルールで結論された内容を格納する状態記憶部、
該状態記憶部に格納された情報と上記ルール記憶部に格
納されたルールの結論を上記状態記憶部に格納するルー
ル運用部を有し、設備群に対する制御指令を決定するル
ール型システムにおいて、上記ルールのある1つに記述
された複数の条件内容のうちのある2組と合致する状標
ハ1億部情報からなる2組のデータの集合に対し、該2
組の条件内容のうちの共通な項目に対応する頭が等しい
上記両データのすべての組合せからなる集合データを作
成するJOIN演算に対し、上記2つの集合データをそ
れぞれ保持する2組の連想記憶手段と、JOIN演算の
結果を保持する出力バッファと、両データから項目イ直
を意味ある方の値に□□□゛き=えて1つのデータを作
成するデータ亜ね合せ手段とを具備し、2つの連想2d
憶手段のうちデータの少ない方からデータを1つずつ取
り出し、該データを検索データ、上記共通項目を検索キ
ーとしてもう一方の連想記憶手段のデータを連想検索し
、取り出されたデータと検索データを上古[′、重ね合
せた結果を、出力バッファに格納するという一浬の動作
を挾り返して実行することに%iがある。
以下、本発明の一実施例を、図面により説明する。第6
図は、本発明の動作原理を示す説明図である。
図は、本発明の動作原理を示す説明図である。
既提案の「ルール型システムの演算装置」におけるJO
IN演算処理では、JOIN演算する2つのワーク・テ
ーブルのうち一方は、通常の記憶装置上に、他方はCA
M上にあり、通常の記憶装置上のテーブル・データを常
に検索データとしていた。そのために、検索データ数が
、CAMのテーブル・データ数よりも多くなる場合があ
シ、比較処理の回数を常に最少にするということができ
ず、処理上のネックとなっていた。これに対して、本発
明は、JOIN演算する2つのワーク・テーブルを共に
CAM上に置き、2つのワーク・テーブルのうちで、変
数直の格納されている行数が少ないワーク・テーブルを
検索データとすることにより、比較処理の回数を常に最
少とし、JOIN演算を商運に行うものである。
IN演算処理では、JOIN演算する2つのワーク・テ
ーブルのうち一方は、通常の記憶装置上に、他方はCA
M上にあり、通常の記憶装置上のテーブル・データを常
に検索データとしていた。そのために、検索データ数が
、CAMのテーブル・データ数よりも多くなる場合があ
シ、比較処理の回数を常に最少にするということができ
ず、処理上のネックとなっていた。これに対して、本発
明は、JOIN演算する2つのワーク・テーブルを共に
CAM上に置き、2つのワーク・テーブルのうちで、変
数直の格納されている行数が少ないワーク・テーブルを
検索データとすることにより、比較処理の回数を常に最
少とし、JOIN演算を商運に行うものである。
第6図において、41,42.43はCAM。
44.45.46は、CAM内の比較部、47は行デー
タ重ね合せ処理を行う専用回路、48゜49.50は、
それぞれのテーブル・データの行数を記憶するデータ量
レジスタである。
タ重ね合せ処理を行う専用回路、48゜49.50は、
それぞれのテーブル・データの行数を記憶するデータ量
レジスタである。
本発明では、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内のテーブル・データ
のすべての行に対し、データの比較処理を同時に行う。
ル及びデータ量を、それぞれCAM41、CAM42、
データ量レジスタ48、データ量1/ジスタ49に格納
する。なお、JOIN演算の結果のテーブル・データは
CAM43に、そのデータ量はデータ量レジスタ50に
格納する。動作は次の通りである。2つのデータ量レジ
スタ48゜490内容を比較し、データ量の少いワーク
・テーブルが格納されているCAMから検索データを1
行ずつ取り出す(この際、共通変数Y以外のデータX、
Zはマスクする)。なお、データ量が同一の場合は、C
AM41から検索データを取り出す。第6図の例では、
CAM41から検索データを取り出す。CA、M42で
は、比較部55によりCAM42内のテーブル・データ
のすべての行に対し、データの比較処理を同時に行う。
検索データと共通データの値が一致したCAM42内の
テーブルの行は、1つずつ取り出され、行データ重ね合
せ用専用回路49により検索データと重ね合わされ、別
のCAM43に1p次格納される。この際、データ量レ
ジスタ50は、CAM43に格納されたデータ数を憶え
ておく。本装置では、CAMを3つ用いることで、ルー
ル型ソフトのルールにおいて、IF部の条件を記述した
文字列が3つ以上あシ、今生酸したAND条件を満足す
る変数値と更に、次のIFの条件に対し取シ込んだ新し
い変数値とを組合せ、再びJOIN処理を〈シ返さなけ
ればならないような場合に、新しい変数値をCAM41
に取り込み、CAM42とCAM43の役割を適宜切り
変えることで、JOIN演算をデータの転送を行うこと
なく連続して実行することが可能である。また、それぞ
れのCAM内に格納されているデータ量を記憶すること
によシ、JOIN演算を行うさい、常にデータ量の少な
いほうから検索データを取り出すことができ、比軟処理
の回数を常に最少にすることが可能である。
テーブルの行は、1つずつ取り出され、行データ重ね合
せ用専用回路49により検索データと重ね合わされ、別
のCAM43に1p次格納される。この際、データ量レ
ジスタ50は、CAM43に格納されたデータ数を憶え
ておく。本装置では、CAMを3つ用いることで、ルー
ル型ソフトのルールにおいて、IF部の条件を記述した
文字列が3つ以上あシ、今生酸したAND条件を満足す
る変数値と更に、次のIFの条件に対し取シ込んだ新し
い変数値とを組合せ、再びJOIN処理を〈シ返さなけ
ればならないような場合に、新しい変数値をCAM41
に取り込み、CAM42とCAM43の役割を適宜切り
変えることで、JOIN演算をデータの転送を行うこと
なく連続して実行することが可能である。また、それぞ
れのCAM内に格納されているデータ量を記憶すること
によシ、JOIN演算を行うさい、常にデータ量の少な
いほうから検索データを取り出すことができ、比軟処理
の回数を常に最少にすることが可能である。
以上のことから、ルール型ソフトのルールの処理を効率
的に実行することが可能となる。
的に実行することが可能となる。
第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は、そ
れぞれ本装置内部のデータ信号用のパスライン、アドレ
ス信号用のパスラインである。
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は、そ
れぞれ本装置内部のデータ信号用のパスライン、アドレ
ス信号用のパスラインである。
一方、外部データバス506、外部アドレスバス507
は、それぞれ本装置内部(7)CAM I 501゜C
AMII 502、CAMII503、その他フラグ、
レジスタ等を外部からアクセスするためのデータ信号用
のパスラインである。本装置では、外部アクセス・モー
ドと内部動作モードの2つがある。
は、それぞれ本装置内部(7)CAM I 501゜C
AMII 502、CAMII503、その他フラグ、
レジスタ等を外部からアクセスするためのデータ信号用
のパスラインである。本装置では、外部アクセス・モー
ドと内部動作モードの2つがある。
外部アクセス・モードは、外部アドレスバス507に外
部からアドレスを指定し、外部データバス506上のデ
ータを本装置内部に書込むこと、あるいは本装置内部の
データを外部データバス506上に読み出すことができ
るモードであシ、内部動作モードは第6図に示した原理
に基づいて自動的にJOIN演算を実行するモードであ
る。モードの切換えは、モード7ラグ512によって指
定される。すなわち、モードフラグ″0″のときは外部
アクセス・モード、モードフラグ″′1″のときには内
部動作モードを示す。モードフラグ512は、信号線5
002のラッチ信号によって内部データバス504の信
号を信号線5003を通しラッチすることによって′1
″′にセットされ、信号線5004のリセット信号によ
って0”にリセットされる。また、モードフラグの状態
は、信号線5001に送出される。通常、モードフラグ
は”0”の状態にあシ、外部アクセス・モードとなって
いる。
部からアドレスを指定し、外部データバス506上のデ
ータを本装置内部に書込むこと、あるいは本装置内部の
データを外部データバス506上に読み出すことができ
るモードであシ、内部動作モードは第6図に示した原理
に基づいて自動的にJOIN演算を実行するモードであ
る。モードの切換えは、モード7ラグ512によって指
定される。すなわち、モードフラグ″0″のときは外部
アクセス・モード、モードフラグ″′1″のときには内
部動作モードを示す。モードフラグ512は、信号線5
002のラッチ信号によって内部データバス504の信
号を信号線5003を通しラッチすることによって′1
″′にセットされ、信号線5004のリセット信号によ
って0”にリセットされる。また、モードフラグの状態
は、信号線5001に送出される。通常、モードフラグ
は”0”の状態にあシ、外部アクセス・モードとなって
いる。
バス切換制御部508は、モードフラグ512の状、髄
を示す信号線5001の信号に応じ、外部アクセス・モ
ード時には外部データバス506、外部アドレスバス5
07を、それぞれ内部データバス504、内部アドレス
バス505に結合し、内部動作モード時にはこれらを切
離し、内部アドレス発生時509のアドレス信号線50
06’に内部アドレスバス505に結合する動作を行う
。
を示す信号線5001の信号に応じ、外部アクセス・モ
ード時には外部データバス506、外部アドレスバス5
07を、それぞれ内部データバス504、内部アドレス
バス505に結合し、内部動作モード時にはこれらを切
離し、内部アドレス発生時509のアドレス信号線50
06’に内部アドレスバス505に結合する動作を行う
。
内部アドレス発生部509は、内部動作モード時、CA
M1501、CAMII502、CAMII[503の
データを読み誉きするアドレスを発生する部分である。
M1501、CAMII502、CAMII[503の
データを読み誉きするアドレスを発生する部分である。
この内部アドレス発生部509は、信号線5005上に
CAM I 501 、CAMII502、CAMII
I 503内のレジスタ、メモリセルのいずれか1つを
指定する制御信号を動作制御部517が発生すると、こ
れらの信号にそれぞれ対応するアドレスを発生して、信
号線5006上に送出する。アドレスの発生は、CAM
I501のメモリセル、CAMn502のメモリセル、
CAMIII503のメモリセルに対しては、アドレス
空間の先頭から順にアクセスするように行われる。
CAM I 501 、CAMII502、CAMII
I 503内のレジスタ、メモリセルのいずれか1つを
指定する制御信号を動作制御部517が発生すると、こ
れらの信号にそれぞれ対応するアドレスを発生して、信
号線5006上に送出する。アドレスの発生は、CAM
I501のメモリセル、CAMn502のメモリセル、
CAMIII503のメモリセルに対しては、アドレス
空間の先頭から順にアクセスするように行われる。
第2図は、第1図の3個のCA Mのアドレスの関係を
示す図である。
示す図である。
第2図に示すように、CAM1501のメモリセル、C
AMl1502のメモリセル、CAM■503のメモリ
セルのアクセスを指定するたびに、次に発生されるアド
レスは、それぞれ必要量だけインクリメントされている
。また、CAM1501、CAM[502、CAMII
I503内のレジスタ類については、それぞれに割当て
られているアドレスを発生する。なお、信号線5007
のリセット信号により、CA M I 501 、CA
M II 502、CAM]ll503のメモリセル
に対する発生アドレスは、メモリ空間の先頭にリセット
される。
AMl1502のメモリセル、CAM■503のメモリ
セルのアクセスを指定するたびに、次に発生されるアド
レスは、それぞれ必要量だけインクリメントされている
。また、CAM1501、CAM[502、CAMII
I503内のレジスタ類については、それぞれに割当て
られているアドレスを発生する。なお、信号線5007
のリセット信号により、CA M I 501 、CA
M II 502、CAM]ll503のメモリセル
に対する発生アドレスは、メモリ空間の先頭にリセット
される。
CAMI501は、第6図に示すように、JOIN演算
を行う一方のワーク・テーブルを格納するだめのもので
あり、CAMII502、CAMll1503は、第6
図に示したように、JOIN演算を行う他方のワーク・
テーブル、およびJOIN演算を行った結果のワーク・
テーブルを格納するだめのものである。CAMI501
、CAMn502、CAMIII503、はアドレス信
号5014上のアドレス16号の指定するCAM内メセ
メモリセルデータ御信号5016上の制御信号に応じ、
データ信号線5015を通じてアクセスできると同時に
、リセット信号線5017、検索信号線5018、検索
結果信号線5019によって連想検索機能がコントロー
ルされる。
を行う一方のワーク・テーブルを格納するだめのもので
あり、CAMII502、CAMll1503は、第6
図に示したように、JOIN演算を行う他方のワーク・
テーブル、およびJOIN演算を行った結果のワーク・
テーブルを格納するだめのものである。CAMI501
、CAMn502、CAMIII503、はアドレス信
号5014上のアドレス16号の指定するCAM内メセ
メモリセルデータ御信号5016上の制御信号に応じ、
データ信号線5015を通じてアクセスできると同時に
、リセット信号線5017、検索信号線5018、検索
結果信号線5019によって連想検索機能がコントロー
ルされる。
第7図は、CAM内の各レジスタの配置図である。CA
、Mの連想検索機能を第7図により脱明する。
、Mの連想検索機能を第7図により脱明する。
61は検索データレジスタ、62はマスクデータレジス
タ、63はメモリセル、64は検索結果フラグである。
タ、63はメモリセル、64は検索結果フラグである。
メモリセル63には、連想検索されるべきデータが格納
される。また、検索データレジスタ61には、検索すべ
きデータが格納される。マスクデータレジスタ62は、
検索データレジスタ61のデータのうち、検索時に考慮
しない部分のマスクを指定するものである。マスクデー
タレジスタ62で、0″が格納されている部分に対応す
る検索データレジスタ61のデータはマスクされ、検索
時、データ一致の比較対象とならない(”1”が@納さ
れている部分のみ比較対象となる)。これらのレジスタ
61,62、メモリセル63は、通常のメモリと同じよ
うに、信号線5014.5015.5016を用いてア
クセスされる。
される。また、検索データレジスタ61には、検索すべ
きデータが格納される。マスクデータレジスタ62は、
検索データレジスタ61のデータのうち、検索時に考慮
しない部分のマスクを指定するものである。マスクデー
タレジスタ62で、0″が格納されている部分に対応す
る検索データレジスタ61のデータはマスクされ、検索
時、データ一致の比較対象とならない(”1”が@納さ
れている部分のみ比較対象となる)。これらのレジスタ
61,62、メモリセル63は、通常のメモリと同じよ
うに、信号線5014.5015.5016を用いてア
クセスされる。
これらのレジスタ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の内容がクリ
アされる。
を@納した後、検索信号線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の内容がクリ
アされる。
CAM[502、CAMIII503のうち、いずれを
JOIN演算を行うワーク・テーブルに、いずれをJO
IN演算結演算結納するワーク・テーブルに、それぞれ
便用するかは、テーブル指定フラグ511によって指定
される。このフラグが′1”のとき、CAMII502
をJOIN演算を行うワーク・テーブルとして、CAM
IIJ503をJOIN演算の結果を格納するワーク・
テーブルとして、それぞれ使用する。”0”のときには
、その逆となる。テーブル指定フラグ511は、信号線
5020のラッチ信号によシ、内部データバス504の
信号を信号線5021全通してラッチすることによって
、セットされる。!、た、その内容は、信号線5022
に送出される。
JOIN演算を行うワーク・テーブルに、いずれをJO
IN演算結演算結納するワーク・テーブルに、それぞれ
便用するかは、テーブル指定フラグ511によって指定
される。このフラグが′1”のとき、CAMII502
をJOIN演算を行うワーク・テーブルとして、CAM
IIJ503をJOIN演算の結果を格納するワーク・
テーブルとして、それぞれ使用する。”0”のときには
、その逆となる。テーブル指定フラグ511は、信号線
5020のラッチ信号によシ、内部データバス504の
信号を信号線5021全通してラッチすることによって
、セットされる。!、た、その内容は、信号線5022
に送出される。
外部アクセス制御部510は、これまでに述べたCAM
I501.CAM11502、CAMIII503、モ
ードフラグ512、テーブル指定フラグ511、CAM
I内データ量レジスタ521、CAMII内データ量レ
ジスタ522、CAMIII内データ量レジスタ523
、マスクデータレジスタ524yFr:外部からアクセ
スするだめの制御を行う部分である。
I501.CAM11502、CAMIII503、モ
ードフラグ512、テーブル指定フラグ511、CAM
I内データ量レジスタ521、CAMII内データ量レ
ジスタ522、CAMIII内データ量レジスタ523
、マスクデータレジスタ524yFr:外部からアクセ
スするだめの制御を行う部分である。
この外部アクセス制御部510において、外部アドレス
バス507上の信号がデコードされ、前記のいずれをア
クセスするかが決定され、信号線5023のリード/ラ
イト信号に応じて、アクセス対象に制御信号、ラッチ信
号を送出する。また、JOIN演算の終了時(モードフ
ラグ512がオンからオフに変った時)、外部に対しJ
OIN演算の終了を示す割込み信号を信号線5024上
に送出する。
バス507上の信号がデコードされ、前記のいずれをア
クセスするかが決定され、信号線5023のリード/ラ
イト信号に応じて、アクセス対象に制御信号、ラッチ信
号を送出する。また、JOIN演算の終了時(モードフ
ラグ512がオンからオフに変った時)、外部に対しJ
OIN演算の終了を示す割込み信号を信号線5024上
に送出する。
マスクデータレジスタ524は、外部アドレスバス50
7にこのレジスタ524に割当てられたアドレスを指定
し、ライト信号t−信号+i5023に発生させること
により蓄き込むことが可能である。すなわち、上記ライ
ト信号により、外部アクセス制御部510は信号線50
33に書き込み信号を発生させ、信号線s 034を介
して外部データバス506の内容をレジスタに書き込む
ことができる。また、レジスタの内容は、信号線503
5の読み出し信号により、内部バス504に送出される
。
7にこのレジスタ524に割当てられたアドレスを指定
し、ライト信号t−信号+i5023に発生させること
により蓄き込むことが可能である。すなわち、上記ライ
ト信号により、外部アクセス制御部510は信号線50
33に書き込み信号を発生させ、信号線s 034を介
して外部データバス506の内容をレジスタに書き込む
ことができる。また、レジスタの内容は、信号線503
5の読み出し信号により、内部バス504に送出される
。
検索データレジスタ514は、J(、JIN演算を行う
2つのワーク・テーブルでデータ重の少ないCAMに格
納されているワーク・テーブルの1行のデータを取り出
して格納するレジスタ、検索結果レジスタ515は、J
OIN演寞ヲ行う2つのワーク・テーブルでデータ量の
多いCAMk、このレジスタの内容と同じデータを検索
データとして連想検索した際に、一致した検索結果デー
タをCAMから取り出して格納するレジスタである。
2つのワーク・テーブルでデータ重の少ないCAMに格
納されているワーク・テーブルの1行のデータを取り出
して格納するレジスタ、検索結果レジスタ515は、J
OIN演寞ヲ行う2つのワーク・テーブルでデータ量の
多いCAMk、このレジスタの内容と同じデータを検索
データとして連想検索した際に、一致した検索結果デー
タをCAMから取り出して格納するレジスタである。
これらのレジスタは、信号線5025上のランチ信号に
より、内部データバス504の信号を信号線5026’
i通しランチすることによってセットされる。その内容
は、それぞれ信号線5027゜5028に送出される。
より、内部データバス504の信号を信号線5026’
i通しランチすることによってセットされる。その内容
は、それぞれ信号線5027゜5028に送出される。
また、検索データレジスタ514では、信号15028
2をオンすることKよす、その内容を信号線50281
全通して内部データバス504上に送出できる。
2をオンすることKよす、その内容を信号線50281
全通して内部データバス504上に送出できる。
CAMI内データ量レジスタ521、CAMII内テー
タ菫デースタ522、CAMIII内データ量レジスタ
523は、それぞれCAM内に格納したワーク・テーブ
ル内に実際にデータが格納されている行数を示すもので
ある。これらのレジスタ521.522,523は、外
部アクセスモード時に、外部アドレスバス507にそれ
ぞれのレジスタに割当てられたアドレスを指定し、ライ
ト信号全信号線5023に発生させることによシ簀き込
みが可能である。すなわち、上記ライト信号により、外
部アクセス制御部510は信号線5011に書き込み信
号を発生させ、信号線5012を介して外部データバス
506の内容をレジスタに書き込むことができる。同様
に上記信号線を介しレジスタの内容を外部データバス5
06に読み出すこともできる。1だ、これらのレジスタ
には、JOIN演算結果のデータ量が信号線5032を
介し格納される。なお、レジスタの内容は信号線501
3上へ送出される。
タ菫デースタ522、CAMIII内データ量レジスタ
523は、それぞれCAM内に格納したワーク・テーブ
ル内に実際にデータが格納されている行数を示すもので
ある。これらのレジスタ521.522,523は、外
部アクセスモード時に、外部アドレスバス507にそれ
ぞれのレジスタに割当てられたアドレスを指定し、ライ
ト信号全信号線5023に発生させることによシ簀き込
みが可能である。すなわち、上記ライト信号により、外
部アクセス制御部510は信号線5011に書き込み信
号を発生させ、信号線5012を介して外部データバス
506の内容をレジスタに書き込むことができる。同様
に上記信号線を介しレジスタの内容を外部データバス5
06に読み出すこともできる。1だ、これらのレジスタ
には、JOIN演算結果のデータ量が信号線5032を
介し格納される。なお、レジスタの内容は信号線501
3上へ送出される。
データ重ね合せ器516は、データ重ね合せの演與を行
う部分である。イぎ号+15027,5028の信号を
合ね合せ、信号線5029のタイミング信号により、重
ね合された結果の信号を信号線5030上に送出する。
う部分である。イぎ号+15027,5028の信号を
合ね合せ、信号線5029のタイミング信号により、重
ね合された結果の信号を信号線5030上に送出する。
動作制御部517は、内部動作モード時、これまで述べ
た各部の動作タイミングを制御し、JOIN演算を進行
させる部分である。モードフラグ512、テーブル指定
7ラグ511の状態、CAM内データ量レジスタ521
,522,523、CAMI 501、CAMII 5
02、CAMI[l503、連想検索の結果(検索結果
信号線5019の状態)に応じて、適宜、他の部分に信
号を発信することにより、制御を行う。
た各部の動作タイミングを制御し、JOIN演算を進行
させる部分である。モードフラグ512、テーブル指定
7ラグ511の状態、CAM内データ量レジスタ521
,522,523、CAMI 501、CAMII 5
02、CAMI[l503、連想検索の結果(検索結果
信号線5019の状態)に応じて、適宜、他の部分に信
号を発信することにより、制御を行う。
リセット部518は、このJOIN演算装置の初期状態
をセットする部分であp1外部のりセツト信号5sos
xのリセット信号によシ、モードフラグ512、CAM
1501、CAMII502、CAMll1503をリ
セットする信号を発生させる。
をセットする部分であp1外部のりセツト信号5sos
xのリセット信号によシ、モードフラグ512、CAM
1501、CAMII502、CAMll1503をリ
セットする信号を発生させる。
第8図〜第13図は、本発明の動作時のデータフロー図
である。以下、第1図、第2図、第7図および第8図〜
第13図を参照しながら、本実施例の動作を説明する。
である。以下、第1図、第2図、第7図および第8図〜
第13図を参照しながら、本実施例の動作を説明する。
第8図〜第13図における記号1番号は、第1図、第2
図と同じである。
図と同じである。
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に発
信する。
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に発
信する。
データおよびアドレスは、内部データバス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を介して取り込む。
び内部アドレスバス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を介して取り込む。
同じようにして、CAM1501、CAMIII503
、CAMI内データ量レジスタ521、CAMIII内
データ量レジスタ523、テーブル指定フラグ511、
モードフラグ512、マスクデータレジスタ524に対
しても、外部アクセス制御部510によりアクセスして
データが格納される。ユーザはさらにJOIN演算を行
うべき残りの一方のデータ及びその行数をそれぞれCA
M1501、CAMI内データ量レジスタ524にそれ
ぞれセットする(第8図の■及び■)。
、CAMI内データ量レジスタ521、CAMIII内
データ量レジスタ523、テーブル指定フラグ511、
モードフラグ512、マスクデータレジスタ524に対
しても、外部アクセス制御部510によりアクセスして
データが格納される。ユーザはさらにJOIN演算を行
うべき残りの一方のデータ及びその行数をそれぞれCA
M1501、CAMI内データ量レジスタ524にそれ
ぞれセットする(第8図の■及び■)。
ユーザは、これらのデータをセットした後、JOINす
べき2組のデータの共通変数値以外の変数(第5図にお
けるX、zを参照)をマスクするデータを、マスクデー
タレジスタ524に格納しく第9図の■)、JOIN演
算を行うべきデータが格納されている方のCAM(ここ
では、CAM11502)を、CAn1501のJOI
N演算相手としてテーブル指定7ラグ511に指定しく
第9図の■)、さらにモードフラグ512を′1″′に
セットし、JOIN演算を開始させる(第9図の■)。
べき2組のデータの共通変数値以外の変数(第5図にお
けるX、zを参照)をマスクするデータを、マスクデー
タレジスタ524に格納しく第9図の■)、JOIN演
算を行うべきデータが格納されている方のCAM(ここ
では、CAM11502)を、CAn1501のJOI
N演算相手としてテーブル指定7ラグ511に指定しく
第9図の■)、さらにモードフラグ512を′1″′に
セットし、JOIN演算を開始させる(第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
演算を実行する。
制御部508は、外部データバス506ト内部データバ
ス504、外部アドレスパス507と内部アドレスバス
505を切り離し、内部アドレスバス505に信号i[
5006’を結合して、内部アドレス発生部509で発
生したアドレス信号を送出する。動作制御部517は、
信号線5001の信号が01″′(内部動作モードとな
ることにより、JOIN演算の制御動作を開始する。動
作制御11部517は、先ずリセット信号を信号線50
07に発生させ、内部アドレス発生部509をリセット
する(なお、リセットの内容は、前述した内部アドレス
発生部509の説明を参照)。その後、動作別e4i部
517は、第6図で説明した動作原理に従ってJOIN
演算を実行する。
以下では、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図■)
。
、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図■)
。
次に、データ量の少ないほうのCAMすなわちCAM1
501内に格納されているワーク・テーブルデータを先
頭から1行ずつ順次取り出し、次の処理をCAMI内デ
ータ量レジスタ521に指定された回数だけ凍り返す。
501内に格納されているワーク・テーブルデータを先
頭から1行ずつ順次取り出し、次の処理をCAMI内デ
ータ量レジスタ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に格納していく。
ジスタ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に格納していく。
すなわち、検索信号(信号線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演算を開始させればよい。
ンにして、検索結果データを内部データバス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演算を開始させればよい。
以上述べたように、本実施例によれば、JOIN演算を
行う際に、データ量の少ないテーブル・データから検索
データ全敗り出すことにより、常に比較処理の回数を最
少にすることが可能となり、ルールの処理速度を向上す
ることができる。
行う際に、データ量の少ないテーブル・データから検索
データ全敗り出すことにより、常に比較処理の回数を最
少にすることが可能となり、ルールの処理速度を向上す
ることができる。
以上説明したように、本発明によれば、JOIN演算を
行う2組のテーブル・データを、どちらもCAM上に持
ち、2つのCAMのうちデータ量の少ないほうのCAM
から検索データを取り出すので、比較処理の回数を最少
限で済ますことができ、ルールの処理を高速に実行する
ことができる。したがって、ルール型ソフトウェアにお
いて、変数のあるルールの処理速度を大幅に向上でき、
ルールを用いる可読性、理解性、変更性の高い論理記述
方式を、多量の状態を取扱う必要がある対象にも適用す
ることが可能となる。
行う2組のテーブル・データを、どちらもCAM上に持
ち、2つのCAMのうちデータ量の少ないほうのCAM
から検索データを取り出すので、比較処理の回数を最少
限で済ますことができ、ルールの処理を高速に実行する
ことができる。したがって、ルール型ソフトウェアにお
いて、変数のあるルールの処理速度を大幅に向上でき、
ルールを用いる可読性、理解性、変更性の高い論理記述
方式を、多量の状態を取扱う必要がある対象にも適用す
ることが可能となる。
第1図は本発明の一実施例を示すJOIN演算装置のブ
ロック図、第2図は第1図のメモリとCAMのアドレス
配置図、第3図はルール型ソフトウェアの機能説明図、
第4図はルール型ソフトウェアのルール処理の説明図、
第5(a)図、第5(b)図は従来の「ルール型システ
ムの演算装置」にお図、第8図〜第13図はそれぞれ本
発明の実施例を示すデータフローでアル。 代理人 弁理士 小川勝男 ゝ 第5(L)口
ロック図、第2図は第1図のメモリとCAMのアドレス
配置図、第3図はルール型ソフトウェアの機能説明図、
第4図はルール型ソフトウェアのルール処理の説明図、
第5(a)図、第5(b)図は従来の「ルール型システ
ムの演算装置」にお図、第8図〜第13図はそれぞれ本
発明の実施例を示すデータフローでアル。 代理人 弁理士 小川勝男 ゝ 第5(L)口
Claims (1)
- 【特許請求の範囲】 1、設備群の条件と結論からなるルールを格納するルー
ル記憶部、設備群の状態と実行すべき作業内容とルール
で結論された内容を格納する状態記憶部、該状態記憶部
に格納された情報と上記ルール記憶部に格納された条件
と比較照合し、条件が満足されたルールの結論を上記状
態記憶部に格納するルール運用部を有し、設備群に対す
る制御指令を決定するルール型システムにおいて、上記
ルールのある1つに記述された複数の条件内容のうちの
ある2組と合致する状態記憶部情報からなる2組のデー
タの集合に対し、該2組の条件内容のうちの共通な項目
に対応する値が等しい上記両データを作成するJOIN
演算に対し、2組のデータの集合をそれぞれ保持する2
つの連想記憶手段とJOIN演算の結果を保持する出力
バッファと、両データから項目値を意味ある方の値に置
き換えて1つのデータを作成するデータ重ね合せ手段と
を具備し、上記2つの連想記憶手段のうちデータ量の少
ない連想記憶手段からデータを1つずつ取り出し、該デ
ータを検索データ、上記共通項目を検索キーとして、も
う一方の連想記憶手段のデータを連想検索し、取り出さ
れたデータと検索データを上記重ね合せ手段により重ね
合せた結果を、出力バッファに格納するという一連の動
作を繰り返し実行することを特徴とするルール型システ
ムの演算方式。 2、上記出力バッファは、連想記憶手段であり、2つ以
上のJOIN演算を上記連想記憶手段ともう1つの連想
記憶手段を切り換えながら、連続的に実行することを特
徴とする特許請求の範囲第1項記載のルール型システム
の演算方式。
Priority Applications (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP60233298A JPS6293731A (ja) | 1985-10-21 | 1985-10-21 | ル−ル型システムの演算方式 |
| KR1019860000316A KR940001563B1 (ko) | 1985-01-21 | 1986-01-20 | 룰 베이스 시스템 |
| 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 (ja) | 1985-10-21 | 1985-10-21 | ル−ル型システムの演算方式 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPS6293731A true JPS6293731A (ja) | 1987-04-30 |
Family
ID=16952912
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP60233298A Pending JPS6293731A (ja) | 1985-01-21 | 1985-10-21 | ル−ル型システムの演算方式 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPS6293731A (ja) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2019525333A (ja) * | 2016-07-22 | 2019-09-05 | アリババ グループ ホウルディング リミテッド | 端末規則エンジンデバイス及び端末規則運用方法 |
-
1985
- 1985-10-21 JP JP60233298A patent/JPS6293731A/ja active Pending
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2019525333A (ja) * | 2016-07-22 | 2019-09-05 | アリババ グループ ホウルディング リミテッド | 端末規則エンジンデバイス及び端末規則運用方法 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| KR930006383B1 (ko) | 병렬처리방법 | |
| US7565343B2 (en) | Search apparatus and search management method for fixed-length data | |
| JPS6028015B2 (ja) | 情報処理装置 | |
| JPH01188951A (ja) | データフロープログラムの実行制御方式 | |
| US4901229A (en) | Parallelized rules processing system using associative memory for pipelined execution of plural join operations and concurrent condition comparing | |
| JPS62502997A (ja) | ブ−ル表現またはそれに類似の表現を評価するために用いられるコンパイラ,およびコンパイルされたプログラムを実行するコンピュ−タ | |
| JPS6293731A (ja) | ル−ル型システムの演算方式 | |
| US6931518B1 (en) | Branching around conditional processing if states of all single instruction multiple datapaths are disabled and the computer program is non-deterministic | |
| JPH06208490A (ja) | 結合メモリ−構造 | |
| JPS60107137A (ja) | タグ付デ−タ処理装置 | |
| JPS61170861A (ja) | ル−ル型システムの演算装置 | |
| US8683177B2 (en) | Content addressable memory (CAM) device and method for updating data | |
| JPS62115531A (ja) | ル−ル処理方式 | |
| JPH03269728A (ja) | パイプライン計算機における命令実行制御方式 | |
| JP2716254B2 (ja) | リストベクトル処理装置 | |
| JP2798109B2 (ja) | ファジィ集合処理用演算装置、記憶装置および計算機システム | |
| JPH01188949A (ja) | メモリアクセス制御装置 | |
| JPH0328929A (ja) | 推論方法及び推論装置並びに定理証明方法及び定理証明装置 | |
| JPS60220424A (ja) | 配列要素の演算方式 | |
| JPH05233854A (ja) | データ駆動型情報処理装置 | |
| JPH03229381A (ja) | データ駆動形計算機 | |
| JPS62139040A (ja) | ユニフイケ−シヨン処理装置 | |
| JPS6069748A (ja) | 情報処理装置 | |
| JPS584442A (ja) | 乱数の発生装置 | |
| JPH04367084A (ja) | データ駆動形計算機 |