JPS6285332A - ル−ル型システムの演算方式 - Google Patents
ル−ル型システムの演算方式Info
- 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
- Devices For Executing Special Programs (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔発明の利用分野〕
本発明は、ルールで記述された制御論理に従い各設備の
状態に応じ条件を判定し制御指令を決定する制m方式や
、ルールで記述された生産計画論理で計画変数を処理す
るような生産計画等に通したルール型システムの演算方
式に関する。
状態に応じ条件を判定し制御指令を決定する制m方式や
、ルールで記述された生産計画論理で計画変数を処理す
るような生産計画等に通したルール型システムの演算方
式に関する。
FAシステムでは製品のライフサイクルの短期化、製品
楕類の多様化に伴い、製造ラインの変更運用の変更が頻
繁に行なわれる。このため制(財)プログラムの迅速な
開発、保守が斐求されている。
楕類の多様化に伴い、製造ラインの変更運用の変更が頻
繁に行なわれる。このため制(財)プログラムの迅速な
開発、保守が斐求されている。
ここで従来は制御プログラムを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
図を用いて既説し、問題点を説明する。
の汎用言語で開発する方法がとられている。この方法で
は制御プログラムの開発、理解、変更に時間がかかる、
−に1専門のプログラミング要員を必要とするという問
題があシ、上記斐求に充分対処できないという欠点があ
った。これに対し、論理の記述、理解、変更が容易な「
設備群制御方式」(%開閉59−163605号1%開
閉59−205604号)を提案した。本方式はルール
型ソフトと呼ばれるもので、論理を任意の日本語文字列
でrIF(条件)、THEN(結論or動作)」型ノル
ール形式(以下IF−THENルール又は、ルールと呼
ぶ)に記述するだけでプログラムが作成できるものであ
り、プログラムの開発が容易で論3J+の理解、変更性
に優れている。ここで前記提案方式に加えIF部部のA
ND条件の処理を実行する専用装fを方式におけるAN
I)φ注の処理全実行する専用装置では、莫大な状態数
が連想記憶装置の中に格納されなければならないという
問題点があった。以下、ルール型ソフトの動作原理及び
状1暢量が多い場合でもルールを晶速に処理することの
できる既提案の演算装置の動作原理を第1 H2g 3
図を用いて既説し、問題点を説明する。
第1図は「設備群制御方式」の機iヒブロック図である
。
。
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条件)値が存在するか否かを判定し、
存在すればその値を生成する。
記憶部である。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条件)値が存在するか否かを判定し、
存在すればその値を生成する。
第2図は、第1図の装置において、ルールのパラメータ
部に変数が記述されている場合の処理の詳細図である。
部に変数が記述されている場合の処理の詳細図である。
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条件を満足する変数
値を生成し、ワーク・テーブルに格納する(■)。
である。ルール記憶部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条件を満足する変数
値を生成し、ワーク・テーブルに格納する(■)。
この処理は、3つ目以上のIFの文字列すべてに対して
繰り返される。その後、最終的にAND条件を満足する
変数値が存在すれば、その値tTHTHEN部の文字列
の対応する変数に賽込んだものを、新たに状態記憶部1
3に書き加える(■)。
繰り返される。その後、最終的にAND条件を満足する
変数値が存在すれば、その値tTHTHEN部の文字列
の対応する変数に賽込んだものを、新たに状態記憶部1
3に書き加える(■)。
既提案のルール型システムの演算装置(特願昭60−1
2079号)は、上記のAND条件を満足する変数値の
生成処理を高速に行なうものである。本装置では、変数
値を連想記憶装置CAM(以下、連想記憶装置をCAM
と呼ぶ。)に取り込み、CAMの並列検索機能によシ、
複数の条件間のAND条件処理を高速に実行する方式で
ある。第3図を用い説明する。41は通常の記憶装置、
42.43はCAM、44はCAM内の比較部、45は
行データ重ね合せ処理を行うための行データ重ね合せ用
専用回路である。
2079号)は、上記のAND条件を満足する変数値の
生成処理を高速に行なうものである。本装置では、変数
値を連想記憶装置CAM(以下、連想記憶装置をCAM
と呼ぶ。)に取り込み、CAMの並列検索機能によシ、
複数の条件間のAND条件処理を高速に実行する方式で
ある。第3図を用い説明する。41は通常の記憶装置、
42.43はCAM、44はCAM内の比較部、45は
行データ重ね合せ処理を行うための行データ重ね合せ用
専用回路である。
先ず、JOIN演算を行うべきワーク・テーブルの一方
を通常の記憶装置t41に、もう一方を1つのCAM4
2に、それぞれ格納する。さらに、JOIN演算の結果
のテーブル・データは、別のCAM43に格納する。動
作は、次の通シである。
を通常の記憶装置t41に、もう一方を1つのCAM4
2に、それぞれ格納する。さらに、JOIN演算の結果
のテーブル・データは、別のCAM43に格納する。動
作は、次の通シである。
すなわち、通常の記憶部[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演算をデータの転送を行
うことなく、連続して実行することができる。これによ
り、ルール型ソフトウェアのルールの処理を高速に実行
することが可能となった。
1行ずつ取り出し、これをCAM42の検索データとす
る(なお、この際、共通変数Y以外のデータX、Zはマ
スクする)。CAM42では、比較部44によりCAM
42内のテーブル・データのすべての行に対し、データ
の比較処理を同時に行う。検索データと共通データの値
が一致したCAM42内テーブルの行は、1つずつ取り
出され、行データ重ね合せ用専用回路45により検索デ
ータと重ね合わされ、別のCAM43に順次格!される
。本装置では、CAMを2つ用意することにより、ルー
ル型ソフトウェアのルールにおいて、IF部の条件を記
述した文字列が3つ以上あり、いま生成したAND条件
を満足する変数値と、さらに次のIFの条件に対し取込
んだ新しい変数値とを組合せ、再びJOIN処理を線り
返さなければならないような場合に、新しい変数値を記
憶装置41に取込み、CAM42.43の役割を適宜切
換えることによって、JOIN演算をデータの転送を行
うことなく、連続して実行することができる。これによ
り、ルール型ソフトウェアのルールの処理を高速に実行
することが可能となった。
しかし、本方式で多量のデータを高速に処理するために
は、CAM42.43内に大容量のメモリセルとそのメ
モリセルの行数に対応した行データ比較ハードが必要で
あるという問題が起ってきた。
は、CAM42.43内に大容量のメモリセルとそのメ
モリセルの行数に対応した行データ比較ハードが必要で
あるという問題が起ってきた。
このため、装置が非常に高価になシ、また大型化すると
いった問題がある。また、先願のルール型ソフトウェア
では、前述のAND条件を満足する変数値の生成処理に
おいて、取込まれた2組のワーク・テーブルのデータの
すべての組合せを作るために、JOIN演算の結果とし
て格納すべきデータが取り込まれたデータの積にまで増
大する可Hし性がある。このため、オーバフローしない
ためには、史に大規模なCAMを必要とする。一方、A
ND処理では2つのワーク・テーブルのデータ量は対象
の状態によってさまざまに変化する。したがってオーバ
フローしない最大容量のCAMを用意しておいても、実
際にFicAMの使用効率が悪いなどの問題が起ってき
ている。
いった問題がある。また、先願のルール型ソフトウェア
では、前述のAND条件を満足する変数値の生成処理に
おいて、取込まれた2組のワーク・テーブルのデータの
すべての組合せを作るために、JOIN演算の結果とし
て格納すべきデータが取り込まれたデータの積にまで増
大する可Hし性がある。このため、オーバフローしない
ためには、史に大規模なCAMを必要とする。一方、A
ND処理では2つのワーク・テーブルのデータ量は対象
の状態によってさまざまに変化する。したがってオーバ
フローしない最大容量のCAMを用意しておいても、実
際にFicAMの使用効率が悪いなどの問題が起ってき
ている。
本発明の目的は、このような問題点を排除し、ルールを
用いる可読性、理解性、及び変更容易性の高い論理記述
方式を多量の状態量を取り扱う必要のある対象にも適用
可能とするために、大容量のワークのJOIN演算lr
来行し得る演算方式を安価に提供するところにある。
用いる可読性、理解性、及び変更容易性の高い論理記述
方式を多量の状態量を取り扱う必要のある対象にも適用
可能とするために、大容量のワークのJOIN演算lr
来行し得る演算方式を安価に提供するところにある。
従来、ルール型システムの演算装[(4’!j−願昭6
0−12079号)は1つのCAM内に、1つのワーク
・テーブルの全データを格納していたために、オーバフ
ローしない大容量のCAMが必要であった。大容量のC
AMを用いた装置を作っても、CAM内に取り込まれる
データ量は、常に大容量ワーク・データとは限らない(
データ量は2つのワーク・テーブルの組み合せによシ増
加したυ、AND粂件により減少したりする。)。した
がって大容量のCAMを使っても効率よく、そのCAM
を使用しているとは言えない。そこで本装置では、AN
D粂汗を取るだめの2つのワーク・テーブルとその結果
を格納する1つのテーブルを3つの通常のメモリに格納
し、多葉のデータに対してはそのテーブルを分割処理す
ることにより、比較的小規模のCAMを効率良く用い、
AND処理を実行することを可能とする。次に本装置の
動作方式を第4図を用いて説明する。
0−12079号)は1つのCAM内に、1つのワーク
・テーブルの全データを格納していたために、オーバフ
ローしない大容量のCAMが必要であった。大容量のC
AMを用いた装置を作っても、CAM内に取り込まれる
データ量は、常に大容量ワーク・データとは限らない(
データ量は2つのワーク・テーブルの組み合せによシ増
加したυ、AND粂件により減少したりする。)。した
がって大容量のCAMを使っても効率よく、そのCAM
を使用しているとは言えない。そこで本装置では、AN
D粂汗を取るだめの2つのワーク・テーブルとその結果
を格納する1つのテーブルを3つの通常のメモリに格納
し、多葉のデータに対してはそのテーブルを分割処理す
ることにより、比較的小規模のCAMを効率良く用い、
AND処理を実行することを可能とする。次に本装置の
動作方式を第4図を用いて説明する。
第4図で、50は分割して処理されるワーク・テーブル
、51は一行ずつ取り出されて処理されるワーク・テー
ブル、52はその結果を格納するワーク・テーブルであ
る。また53はCAM。
、51は一行ずつ取り出されて処理されるワーク・テー
ブル、52はその結果を格納するワーク・テーブルであ
る。また53は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に格納する。
(第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に格納する。
この動作を第n回目の検索まで!J!シ返しCAM53
を作動させる。次に2回目の分割処理はワーク・テーブ
ル50に残っている第2回目の分割処理データfiI:
cAM53内のメモリセル55に新しく送出し、n個の
検索データについてCAM53を作動させ、テーブル5
2に結果を格納する。同様にして、ワーク・テーブル5
0のデータがなくなるまで分割処理をt回繰り返す。以
上のデータ処理方式により、大容量のワーク・データが
読み込まれた時でも、比較的小容量のCAMでJOIN
演算をすることが可能となる。
を作動させる。次に2回目の分割処理はワーク・テーブ
ル50に残っている第2回目の分割処理データfiI:
cAM53内のメモリセル55に新しく送出し、n個の
検索データについてCAM53を作動させ、テーブル5
2に結果を格納する。同様にして、ワーク・テーブル5
0のデータがなくなるまで分割処理をt回繰り返す。以
上のデータ処理方式により、大容量のワーク・データが
読み込まれた時でも、比較的小容量のCAMでJOIN
演算をすることが可能となる。
本方式によれば、JOIN演算を行なうデータ量がnn
、n行であるとすると、処理時間は演與装fを用いない
場合にはmxnに、2つのCAM’を便用した従来の演
算装置を用いた場合にはm+ n。
、n行であるとすると、処理時間は演與装fを用いない
場合にはmxnに、2つのCAM’を便用した従来の演
算装置を用いた場合にはm+ n。
本願発明で提案した演算装置を用いた場合には、平均分
割処理回数をαとしてαm + 2 nに、それぞれ比
例することになる。本願発明で提案した演算装置は、2
つのCAMを使用したものより処理速度が遅くなるが、
JOIN演算によって変動するデータの量がわかれば、
ワーク・テーブルとして使用した通常のメモリの容量と
CA、Mの容量を決める事によって、比較的小容量のC
AMを用いて、CAへ1の使用効率のよいJOIN演算
g置が装現できる。
割処理回数をαとしてαm + 2 nに、それぞれ比
例することになる。本願発明で提案した演算装置は、2
つのCAMを使用したものより処理速度が遅くなるが、
JOIN演算によって変動するデータの量がわかれば、
ワーク・テーブルとして使用した通常のメモリの容量と
CA、Mの容量を決める事によって、比較的小容量のC
AMを用いて、CAへ1の使用効率のよいJOIN演算
g置が装現できる。
以上、前述の原理に基づく本発明の一実施例を図面を用
いて説明する。
いて説明する。
第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、その他の信号線から構成さ
れる。以下、各部及び信号線について詳しく説明する。
のブロック構成図である。本装置はメモ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、その他の信号線から構成さ
れる。以下、各部及び信号線について詳しく説明する。
内部データバス504、及び、内部アドレスバス505
けそれぞれ、本装置内部のデータ信号用のパスライン、
アドレス信号用のパスラインである。また、外部データ
バス506、外部アドレスバス507は、それぞれ、本
装置内部のメモリl50110、メモリ7750120
、メモリl[50130、CAM502、その他フラグ
レジスタ等を外部からアクセスするためのデータ信号、
アドレス信号用のパスラインである。
けそれぞれ、本装置内部のデータ信号用のパスライン、
アドレス信号用のパスラインである。また、外部データ
バス506、外部アドレスバス507は、それぞれ、本
装置内部のメモリl50110、メモリ7750120
、メモリl[50130、CAM502、その他フラグ
レジスタ等を外部からアクセスするためのデータ信号、
アドレス信号用のパスラインである。
本装置には、外部アドレスバス507に外部からアドレ
スを指定し、外部データバス506上のデータを本装置
の内部に誉き込む、あるいは本装置内部のデータを外部
データバス506上に読み出すことのできる外部アクセ
スモードと第4図に示した処理方式に従って大容量のワ
ークを分割し自動的にJOIN演算を実行する内部動作
モードとがある。モードの切換えは、モードフラグ51
2によって指定される。モードフラグ″′θ″時は外部
アクセスモード、1″′時は内部動作モードを示してい
る。モードフラグ512は信号線5002のラッチ信号
によって、内部データバス504の信号を信号線5oo
3t−=しラッチすることによって”l”にセットされ
、信号線5004のリセット信号によってリセットされ
る。またモードフラグの状態は信号線5001に送出さ
れる。通常モードフラグは”0”の状態であり、外部ア
クセスモードとなっている。
スを指定し、外部データバス506上のデータを本装置
の内部に誉き込む、あるいは本装置内部のデータを外部
データバス506上に読み出すことのできる外部アクセ
スモードと第4図に示した処理方式に従って大容量のワ
ークを分割し自動的にJOIN演算を実行する内部動作
モードとがある。モードの切換えは、モードフラグ51
2によって指定される。モードフラグ″′θ″時は外部
アクセスモード、1″′時は内部動作モードを示してい
る。モードフラグ512は信号線5002のラッチ信号
によって、内部データバス504の信号を信号線5oo
3t−=しラッチすることによって”l”にセットされ
、信号線5004のリセット信号によってリセットされ
る。またモードフラグの状態は信号線5001に送出さ
れる。通常モードフラグは”0”の状態であり、外部ア
クセスモードとなっている。
バス切換制御部508は、モードフラグ512の状態を
示す信号線5001の信号に応じ、外部アクセスモード
時は外部データバス506、外部アドレスバス507を
、それぞれ、内部データバス504、内部アドレスバス
505に結合し、内部動作モード時は、これらを切り離
し、内部アドレス発生部509のアドレス信号線500
6f、内部アドレスバス505に結合する動作を行なう
。
示す信号線5001の信号に応じ、外部アクセスモード
時は外部データバス506、外部アドレスバス507を
、それぞれ、内部データバス504、内部アドレスバス
505に結合し、内部動作モード時は、これらを切り離
し、内部アドレス発生部509のアドレス信号線500
6f、内部アドレスバス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のメモリセル
に対する発生アドレスは、メモリ空間の先頭にリセット
される。
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のメモリセル
に対する発生アドレスは、メモリ空間の先頭にリセット
される。
メモIJ I 50110は第4図に示したように、J
OIN演算を行なう一方のワーク・テーブル51を格納
するためのものである。アドレス信号線50081上の
アドレス信号のさすメモリ内データを制御信号線501
01上の制御信号に応じ、データ信号線50091を通
し、アクセスできる。なお、メモリ内データ量レジスタ
51310は、メモIJ150110内に格納したワー
ク・テーブル51に実際にデータが格納されている行数
を示すものである。本レジスタは内部データバス504
のデータを信号線50111上のラッチ信号によシ、信
号線50121を通してラッチすることによってセット
される。また、その内容は信号1i!50131上に送
出される。
OIN演算を行なう一方のワーク・テーブル51を格納
するためのものである。アドレス信号線50081上の
アドレス信号のさすメモリ内データを制御信号線501
01上の制御信号に応じ、データ信号線50091を通
し、アクセスできる。なお、メモリ内データ量レジスタ
51310は、メモIJ150110内に格納したワー
ク・テーブル51に実際にデータが格納されている行数
を示すものである。本レジスタは内部データバス504
のデータを信号線50111上のラッチ信号によシ、信
号線50121を通してラッチすることによってセット
される。また、その内容は信号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の場合と同様
である。
したように、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の場合と同様
である。
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にす
ることにより、全メモリセルの内容がクリアーされる。
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にす
ることにより、全メモリセルの内容がクリアーされる。
メモリ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に送出される。
どちらをJOIN演算を行なうワーク・テーブル50用
に、どちらをJOIN演算の結果を格納するワーク・テ
ーブル52用に使用するかは、テーブル指定フラグ51
1によって指定される。本フラグが1″の時、メモリ[
50120をJOIN演算を行なうワーク・テーブル5
oとして、メモIJ ■50130をJOIN演算の結
果を格納するワーク・テーブル52として使用する。′
0”の時には、その逆となる。テーブル指定フラグ51
1は信号線5020のラッチ信号にょシ、内部データバ
ス504の信号を信号線5o21を通してラッチするこ
とによってセットされる。また、その内容は信号線50
22に送出される。
転送終了フラグ512oは分割してJOIN演算処理が
行なわれるワーク・テーブル50(メモリ■50120
またはメモリlll50130)のすべてのデータがC
AM502内にセットされたかを指定する。本フラグが
0”の時はワーク・テーブルに未処理のデータが残され
ていることを示す。
行なわれるワーク・テーブル50(メモリ■50120
またはメモリlll50130)のすべてのデータがC
AM502内にセットされたかを指定する。本フラグが
0”の時はワーク・テーブルに未処理のデータが残され
ていることを示す。
01″の時はワーク・テーブルのすべてのデータをCA
M502内に分割してセットしたことを示す。転送終了
フラグ5120は動作制御部517のラッチ信号512
3によシ、信号線5121によってセットされ、その内
容は信号線5121によって動作制御部に送出される。
M502内に分割してセットしたことを示す。転送終了
フラグ5120は動作制御部517のラッチ信号512
3によシ、信号線5121によってセットされ、その内
容は信号線5121によって動作制御部に送出される。
本フラグは動作制御部517が、モードフラグ512を
0″にセット(外部動作モード)する前に信号線512
1を通して′0″にセットされる。
0″にセット(外部動作モード)する前に信号線512
1を通して′0″にセットされる。
外部アクセス制御部510は以上までに説明したメモリ
l50110、メモリ150!20、メモリ[7501
30、CAM502、モードフラグ512、テーブル指
定7ラグ511、メモリ内データ量レジスタ51310
.51320.51330を外部からアクセスするだめ
の制御を行なう部分である。本部分において外部アドレ
スバス507上の信号がデコードされ、前記のどれをア
クセスするのかが決定され、信号i5023のリード/
ライト信号に応じ、アクセス対象に制御信号、ラッチ信
号を送出する。また、外部アクセス制却部510はJO
IN演算の終了時(モードフラグ512がONからOF
Fに変った時)外部に対し、JOIN演算の終了を示す
割込み信号を信号線5024上に送出する。
l50110、メモリ150!20、メモリ[7501
30、CAM502、モードフラグ512、テーブル指
定7ラグ511、メモリ内データ量レジスタ51310
.51320.51330を外部からアクセスするだめ
の制御を行なう部分である。本部分において外部アドレ
スバス507上の信号がデコードされ、前記のどれをア
クセスするのかが決定され、信号i5023のリード/
ライト信号に応じ、アクセス対象に制御信号、ラッチ信
号を送出する。また、外部アクセス制却部510はJO
IN演算の終了時(モードフラグ512がONからOF
Fに変った時)外部に対し、JOIN演算の終了を示す
割込み信号を信号線5024上に送出する。
検索データレジスタ514はメモリ150110内に格
納されているワーク・テーブルの一行のデータを取り出
し格納するレジスタである。検索結果レジスタ515は
、検索データレジスタ514のデータとCAM502内
のメモリセルのデータを連想検索して一致したデータを
格納する。また、検索データレジスタ514と検索結果
データレジスタ515のデータはデータ重ね合せ器に5
028゜5027をimして送出される。これらのレジ
スタは信号線5025上のラッチ信号により、内部デー
タバス504の信号を、信号#5026を通してラッチ
することによってセットされる。その内容は、それぞれ
信号1115027.5028に送出される。また検索
データレジスタ514では、信号線50282をONす
ることによシその内容を信号線50281を通し、内部
データバス504上に送出できる。
納されているワーク・テーブルの一行のデータを取り出
し格納するレジスタである。検索結果レジスタ515は
、検索データレジスタ514のデータとCAM502内
のメモリセルのデータを連想検索して一致したデータを
格納する。また、検索データレジスタ514と検索結果
データレジスタ515のデータはデータ重ね合せ器に5
028゜5027をimして送出される。これらのレジ
スタは信号線5025上のラッチ信号により、内部デー
タバス504の信号を、信号#5026を通してラッチ
することによってセットされる。その内容は、それぞれ
信号1115027.5028に送出される。また検索
データレジスタ514では、信号線50282をONす
ることによシその内容を信号線50281を通し、内部
データバス504上に送出できる。
データ重ね合せ器516は、検索データレジスタ514
と検索結果データレジスタ515のデータの重ね合せを
行なう部分である。信号線5027゜5028の信号を
重ね合わせ、信号線5029のタイミング信号により、
重ね合わされた結果の信号を信号#J5030上に送出
する。
と検索結果データレジスタ515のデータの重ね合せを
行なう部分である。信号線5027゜5028の信号を
重ね合わせ、信号線5029のタイミング信号により、
重ね合わされた結果の信号を信号#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に睨
み出すことができる。
た各部の動作タイミングを制御し、JOIN演算を進行
させる部分である。モードフラグ512、テーブル指定
フラグ511の状態、メモリ内データ量レジスタ513
10,51320゜51330の内容、CAM502の
連想検索の結果(検索結果信号線5019の状態)、転
送終了フラグ5120の状態に応じて、適宜、他の各部
に信号を発信し制@を行なう。なお動作制御部517は
内部にメモリ内データ量カウンタ5171金持ち、JO
IN演算の結果のデータ量をカウントする。本カウンタ
はJOIN演算結果を格納するワーク・テーブル52に
格納されているデータの行数を示す。本カウンタの内容
は外部アクセスモード時に外部アドレスバス507に本
レジスタに割り轟てられたアドレスを指定し、リード信
号を信号線5023に発生することにより、外部アクセ
ス制御部510が読み出し信号を信号線5172に発生
させ、信号i5173を通し外部データバス506に睨
み出すことができる。
処理データ量カウンタ5132は第4図に示した分割Q
+、理をする際に用いられるものである。メモリ115
0120もしくはメモリ■50130のデータがCAM
502内のメモリセル63に転送されるたびにカウント
アツプされる。まだメモリ内データ量レジスタ5132
0もしくは51330の内容より本カウンタが大きくな
った時動作制御部517は転送終了フラグ5120を1
”(転送終了)にセットする。
+、理をする際に用いられるものである。メモリ115
0120もしくはメモリ■50130のデータがCAM
502内のメモリセル63に転送されるたびにカウント
アツプされる。まだメモリ内データ量レジスタ5132
0もしくは51330の内容より本カウンタが大きくな
った時動作制御部517は転送終了フラグ5120を1
”(転送終了)にセットする。
リセット部518は本JOIN演算装置の初期状態をセ
ットする部分であシ、外部のリセット信号線5031の
リセット信号により、モード7ラグ512、CAM50
2、転送終了フラグ5120をリセットする信号を発生
させる。
ットする部分であシ、外部のリセット信号線5031の
リセット信号により、モード7ラグ512、CAM50
2、転送終了フラグ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にセット(■。
明する。第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にセット(■。
■)する。本レジスタへのセットは外部アクセス制御部
510によって行なわれる。すなわち、七ッ卜すべきデ
ータを外部データバス506に送出し、データは内部デ
ータバス504に伝達される。
510によって行なわれる。すなわち、七ッ卜すべきデ
ータを外部データバス506に送出し、データは内部デ
ータバス504に伝達される。
更にメモリ内データ量レジスタ513i0.51320
に割当てられているアドレスを外部アドレスバス507
にセットし、ライト信号を信号@5023に発信するこ
とで、外部アクセス制紛11部510がメモリ1501
10とメモリ[50m、20のメモリ内データ量レジス
タ51310.51320の信号線50111.501
12上にラッチ信号を発生し内部データバス上のデータ
を信号線5012J、、50122全通して取り込む。
に割当てられているアドレスを外部アドレスバス507
にセットし、ライト信号を信号@5023に発信するこ
とで、外部アクセス制紛11部510がメモリ1501
10とメモリ[50m、20のメモリ内データ量レジス
タ51310.51320の信号線50111.501
12上にラッチ信号を発生し内部データバス上のデータ
を信号線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の行数の少ない方)を決定する。
外部からのセットも全く同様である。ユーザは、以上の
ことをセットした後、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の行数の少ない方)を決定する。
そして、動作制御部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をセットする。
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をセットする。
その後、動作制御部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上に送出する。
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上に送出する。
送出されたデータはCAM502内の検索データレジス
タ61に読み込まれる。すなわち、動作制御部517は
、CAM502の検索データレジスタ61を指定する信
号を信号線5005に発信し、内部アドレス発生部50
9にCAIM502め検索データレジスタ61のアドレ
スを発生させ、CAM502の信号IIM5016にラ
イト信号を発信することでCAM502内に取り込む(
0)。
タ61に読み込まれる。すなわち、動作制御部517は
、CAM502の検索データレジスタ61を指定する信
号を信号線5005に発信し、内部アドレス発生部50
9にCAIM502め検索データレジスタ61のアドレ
スを発生させ、CAM502の信号IIM5016にラ
イト信号を発信することでCAM502内に取り込む(
0)。
以上、メモリ150110.メモリ■50120、メモ
リ■50130、CAM502、その他のレジスタのア
クセス手順は同様なので、記述は避ける。
リ■50130、CAM502、その他のレジスタのア
クセス手順は同様なので、記述は避ける。
動作制御部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内に送出される。
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内に送出される。
メモリセル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図]。
順次指定される。転送されるべきデータはメモリ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図]。
上記のようにして、第13図、第14図の動作を動作制
御部が転送終了フラグを′1”にセットするまで繰返し
、メモIJ It 50120のすべてのワークデータ
の処理を終了したならば、動作制御部517は、リセッ
ト信号をCAM502の信号線5017、信号線500
4に発生させ、CAM502及びモードフラグ512を
クリアにする。
御部が転送終了フラグを′1”にセットするまで繰返し
、メモIJ It 50120のすべてのワークデータ
の処理を終了したならば、動作制御部517は、リセッ
ト信号をCAM502の信号線5017、信号線500
4に発生させ、CAM502及びモードフラグ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演算を何うことができる。
置内を外部からアクセスすることが可能となる。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演算を何うことができる。
本実施例では、大容量のワーク・テーブルを第4図のよ
うに分割処理していくことによって、比較的小容量の連
想記憶装置でも、その並列検索機能を利用することがで
きる。
うに分割処理していくことによって、比較的小容量の連
想記憶装置でも、その並列検索機能を利用することがで
きる。
以上説明したように本発明によれば、連想記憶装置の並
列検索機能および2つのワーク・テーブルのうち一つの
データテーブルを分割して連想記憶装置にデータを記憶
させることによって、高速かつ大容量のワークデータを
処理する装置を提供することができる。これによシルー
ル型ソフトにおいて美大な葉の状態数のある対象の処理
を開運に処理できるようになり、ルールを用いる可読性
。
列検索機能および2つのワーク・テーブルのうち一つの
データテーブルを分割して連想記憶装置にデータを記憶
させることによって、高速かつ大容量のワークデータを
処理する装置を提供することができる。これによシルー
ル型ソフトにおいて美大な葉の状態数のある対象の処理
を開運に処理できるようになり、ルールを用いる可読性
。
理解性、変吏性の高い論理記述方式で多量の状態を取り
扱う必要のある対象にも適用することが可能となる。
扱う必要のある対象にも適用することが可能となる。
第1図はルール型ソフトの機能構成図、第2図はルール
型ソフトのルールの処理の説明図、第4図はJOIN演
算装置の説明図、第・を図は本発明のJOIN演算方式
の説明図、第5図は本発明の一実施例のブロック機成図
、第6図は本装置のメモリ空間説明図、第7図は連想記
憶装置内のレジスタの構成図、第8〜15図は実施例の
動作を示すデータフロー図である。
型ソフトのルールの処理の説明図、第4図はJOIN演
算装置の説明図、第・を図は本発明のJOIN演算方式
の説明図、第5図は本発明の一実施例のブロック機成図
、第6図は本装置のメモリ空間説明図、第7図は連想記
憶装置内のレジスタの構成図、第8〜15図は実施例の
動作を示すデータフロー図である。
Claims (1)
- 【特許請求の範囲】 1、設備群の条件と結論からなるルールを格納するルー
ル記憶部、設備群の状態と実行すべき作業内容とルール
で結論された内容を格納する状態記憶部、該状態記憶部
に格納された情報と上記ルール記憶部に格納された条件
とを比較照合し、条件が満足されたルールの結論を上記
状態記憶部に格納するルール運用部を有し、設備群に対
する制御指令を決定するルール型システムにおいて、上
記ルールのある1つに記述された複数の条件内容のうち
のある2組と合致する状態記憶部情報からなる2組のデ
ータの集合に対し、該2組の条件内容のうちの共通な項
目に対応する値が等しい上記両データのすべての組合せ
からなる集合データを作成するJOIN演算に対し、そ
れぞれのデータを保持する2組の入力バッファ、JOI
N演算の結果を保持、出力する出力バッファ、連想記憶
装置と、2つのデータから項目値を意味のある方の値に
置き換え1つのデータを作り出すデータ重ね合せ器を具
備し、一方の入力バッファのデータを分割し、分割した
データを順に連想記憶装置に記憶させ、もう1つの入力
バッファからデータを1つずつ取り出し、該データを検
索データとし共通項目を検索キーと連想記憶装置のデー
タを連想検索し、取出されたデータをデータ重ね合せ器
で重ね合せ結果を出力バッファに格納することを繰返し
JOIN演算を実行することを特徴とするルール型シス
テムの演算方式。 2、上記出力バッファ、一方の入力バッファを切り換え
ながら連続的にJOIN演算を実行することを特徴とす
る第1項のルール型システムの演算方式。
Priority Applications (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP60224713A JPS6285332A (ja) | 1985-10-11 | 1985-10-11 | ル−ル型システムの演算方式 |
| 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 |
|---|---|---|---|
| JP60224713A JPS6285332A (ja) | 1985-10-11 | 1985-10-11 | ル−ル型システムの演算方式 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPS6285332A true JPS6285332A (ja) | 1987-04-18 |
Family
ID=16818081
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP60224713A Pending JPS6285332A (ja) | 1985-01-21 | 1985-10-11 | ル−ル型システムの演算方式 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPS6285332A (ja) |
-
1985
- 1985-10-11 JP JP60224713A patent/JPS6285332A/ja active Pending
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| KR20230169684A (ko) | 프로세싱-인-메모리 컴퓨팅 시스템 및 그의 pim 연산 오프로딩 방법 | |
| CN106055454A (zh) | 一种服务器主板的监控方法 | |
| JPH0248747A (ja) | マイクロプロセツサ | |
| JPS6285332A (ja) | ル−ル型システムの演算方式 | |
| JPS60107137A (ja) | タグ付デ−タ処理装置 | |
| JPS61170861A (ja) | ル−ル型システムの演算装置 | |
| JPS6293731A (ja) | ル−ル型システムの演算方式 | |
| JPH03137736A (ja) | マイクロプロセッサ動作トレース方式 | |
| JP2798109B2 (ja) | ファジィ集合処理用演算装置、記憶装置および計算機システム | |
| JPS63621A (ja) | ル−ル型システムの演算装置 | |
| JPH03105543A (ja) | マルチプロセッシングシステム | |
| JPS60153568A (ja) | 高速画像処理装置 | |
| CN108733625A (zh) | 运算装置及方法 | |
| JPH03204744A (ja) | アドレス変換機構 | |
| JPS5840273B2 (ja) | デ−タシヨリソウチ | |
| JPS59216262A (ja) | アドレス変換装置 | |
| JPH0418658A (ja) | 機能分散型計算機システム | |
| JPH0383139A (ja) | ファジイ演算処理装置 | |
| GB2261537A (en) | Computer | |
| JPS6293742A (ja) | プロセツサ間インタフエ−ス方式 | |
| JPS61251904A (ja) | シ−ケンス制御装置 | |
| JPS6086654A (ja) | 他cpuからのシステムリモ−トロ−デイング方式 | |
| JPH03286352A (ja) | 階層型コマンドチェイン式データ転送装置 | |
| JPH01307849A (ja) | データアクセス装置 | |
| JPS61202231A (ja) | マイクロプロセツサを有するデ−タ処理装置 |