JP2819842B2 - デジタル・シグナル・プロセッサ - Google Patents
デジタル・シグナル・プロセッサInfo
- Publication number
- JP2819842B2 JP2819842B2 JP1787391A JP1787391A JP2819842B2 JP 2819842 B2 JP2819842 B2 JP 2819842B2 JP 1787391 A JP1787391 A JP 1787391A JP 1787391 A JP1787391 A JP 1787391A JP 2819842 B2 JP2819842 B2 JP 2819842B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- data bus
- register
- accumulator
- output
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
Landscapes
- Complex Calculations (AREA)
- Devices For Executing Special Programs (AREA)
- Feedback Control In General (AREA)
Description
【0001】
【産業上の利用分野】この発明は、デジタル・シグナル
・プロセッサに関し、特にファジィ制御用に適したデジ
タル・シグナル・プロセッサの構成に関する。
・プロセッサに関し、特にファジィ制御用に適したデジ
タル・シグナル・プロセッサの構成に関する。
【0002】
【従来の技術】従来のデジタル・シグナル・プロセッサ
としては、例えばμPD7720(日本電気株式会社
製)がある。以下、デジタル・シグナル・プロセッサの
特徴を明確にするため、通常のマイクロプロセッサと対
比して説明する。図9はマイクロプロセッサの内部構成
の概略を示すブロック図、図10は上記のデジタル・シ
グナル・プロセッサの内部構成の概略を示すブロック図
である。図9と図10とを比較してみると、大きな相違
は並列乗算器1がデジタル・シグナル・プロセッサにだ
け実装されている点である。これにより、デジタル・シ
グナル・プロセッサは、1マシン・サイクルでハードウ
ェア的に乗算を行なうことが可能になる。これに対して
マイクロプロセッサは、10数マシン・サイクルでマイ
クロコードによってソフトウェア的に演算を行なうた
め、デジタル・シグナル・プロセッサに比べて多くの処
理時間が必要になる。またデジタル・シグナル・プロセ
ッサでは、ROM、RAMを内蔵し、バスをいろいろな
部分に接続することで制御の並列化を行なっている。こ
れに対してマイクロプロセッサは、内部データ・バスを
ベースにして順次外部のROM、RAMからプログラム
やデータを操作する逐次処理型の構成となっている。
としては、例えばμPD7720(日本電気株式会社
製)がある。以下、デジタル・シグナル・プロセッサの
特徴を明確にするため、通常のマイクロプロセッサと対
比して説明する。図9はマイクロプロセッサの内部構成
の概略を示すブロック図、図10は上記のデジタル・シ
グナル・プロセッサの内部構成の概略を示すブロック図
である。図9と図10とを比較してみると、大きな相違
は並列乗算器1がデジタル・シグナル・プロセッサにだ
け実装されている点である。これにより、デジタル・シ
グナル・プロセッサは、1マシン・サイクルでハードウ
ェア的に乗算を行なうことが可能になる。これに対して
マイクロプロセッサは、10数マシン・サイクルでマイ
クロコードによってソフトウェア的に演算を行なうた
め、デジタル・シグナル・プロセッサに比べて多くの処
理時間が必要になる。またデジタル・シグナル・プロセ
ッサでは、ROM、RAMを内蔵し、バスをいろいろな
部分に接続することで制御の並列化を行なっている。こ
れに対してマイクロプロセッサは、内部データ・バスを
ベースにして順次外部のROM、RAMからプログラム
やデータを操作する逐次処理型の構成となっている。
【0003】上記のように、デジタル・シグナル・プロ
セッサは、リアルタイム信号処理専用に開発されたプロ
セッサであり、ハードウェア的に次のような特徴を持っ
ている。(1)並列乗算器をもち、乗算の高速処理が可
能である。(2)全体の高速性を追及して、実行のパイ
プライン化等を行なっている。(3)インストラクショ
ンとデータのメモリが明確に分離されたハーバード・ア
ーキテクチャを採用している。(4)内部にRAM、R
OM、さらには入出力インターフェース部分も内蔵して
おり、スタンドアロンで動作可能である。加えて、デジ
タル・シグナル・プロセッサでは、図11に示すよう
に、乗算器2の出力を直接に加減算ユニット3へ接続す
るというアーキテクチャをとるものが多い。これは、デ
ジタル信号処理で多用されている積和演算を高速に処理
するためである。なお、積和演算とは、次式で示される
ような2数の積を連続して加算していく演算形式を指
す。 y=a1×b1+a2×b2+a3×b3+……+an×bn また、デジタル・シグナル・プロセッサでは、その動作
の高速性を追求するため、余分なものは切り捨てた設計
を行なっている。このため、ソフトウェア上では、命令
が計算に必要な最低限のものに限定されている。また、
命令はマイクロ・コードであり、プログラムは全体の細
かい処理動作を考慮にいれて作る必要がある。また、デ
ジタル・シグナル・プロセッサには汎用と専用があり、
専用には通信用、画像処理用などがある。また、制御用
にも使用されるが、制御用としての専用デジタル・シグ
ナル・プロセッサはなく、汎用デジタル・シグナル・プ
ロセッサが用いられている。
セッサは、リアルタイム信号処理専用に開発されたプロ
セッサであり、ハードウェア的に次のような特徴を持っ
ている。(1)並列乗算器をもち、乗算の高速処理が可
能である。(2)全体の高速性を追及して、実行のパイ
プライン化等を行なっている。(3)インストラクショ
ンとデータのメモリが明確に分離されたハーバード・ア
ーキテクチャを採用している。(4)内部にRAM、R
OM、さらには入出力インターフェース部分も内蔵して
おり、スタンドアロンで動作可能である。加えて、デジ
タル・シグナル・プロセッサでは、図11に示すよう
に、乗算器2の出力を直接に加減算ユニット3へ接続す
るというアーキテクチャをとるものが多い。これは、デ
ジタル信号処理で多用されている積和演算を高速に処理
するためである。なお、積和演算とは、次式で示される
ような2数の積を連続して加算していく演算形式を指
す。 y=a1×b1+a2×b2+a3×b3+……+an×bn また、デジタル・シグナル・プロセッサでは、その動作
の高速性を追求するため、余分なものは切り捨てた設計
を行なっている。このため、ソフトウェア上では、命令
が計算に必要な最低限のものに限定されている。また、
命令はマイクロ・コードであり、プログラムは全体の細
かい処理動作を考慮にいれて作る必要がある。また、デ
ジタル・シグナル・プロセッサには汎用と専用があり、
専用には通信用、画像処理用などがある。また、制御用
にも使用されるが、制御用としての専用デジタル・シグ
ナル・プロセッサはなく、汎用デジタル・シグナル・プ
ロセッサが用いられている。
【0004】本発明においては、上記のごときデジタル
・シグナル・プロセッサをファジィ制御に応用すること
を考える。まず、ファジィ制御の特徴について説明す
る。ファジィ制御方式は、人間のもつ制御知識をファジ
ィルールによって表現し、ファジィ推論によって操作量
を決定する方式である。例えば、図12に示すようなフ
ァジィ制御系で、対象システム7の状態に関する情報を
x1、x2、対象システム7への入力である操作量をuと
すると、制御知識は次のようなif-then形式のファジィ
ルールで表わされ、ファジィ制御装置4の知識ベース5
に格納される。 if x1 is high and x2 is low, then u is medium if x1 is low and x2 is medium, then u is low これらの制御ルールにおいて、ifの部分は条件部(前件
部)、thenの部分は結論部(後件部)と呼ばれる。その
なかの変数x1、x2はファジィ制御装置4にとって入力
であり、uは出力である。また、high、low、mediumは
x1、x2、uがとるファジィ値であり、あいまいさを表
現するメンバシップ関数で定義されるファジィ集合であ
る。ファジィ制御装置4は、対象システム7から情報x
1、x2を入力として取り込み、知識ベース5にあるファ
ジィルールを使ってファジィ推論を行ない、操作量uを
決定して対象システム7へ出力する。ファジィ制御にお
けるファジィ推論は、知識工学のプロダクションルール
で用いる多段の推論とは違って一段の推論である。ま
た、条件部の入力変数を、測定にあいまいさが存在する
ファジィ値として扱うこともできるが、確定した数値と
して扱うこともできる。
・シグナル・プロセッサをファジィ制御に応用すること
を考える。まず、ファジィ制御の特徴について説明す
る。ファジィ制御方式は、人間のもつ制御知識をファジ
ィルールによって表現し、ファジィ推論によって操作量
を決定する方式である。例えば、図12に示すようなフ
ァジィ制御系で、対象システム7の状態に関する情報を
x1、x2、対象システム7への入力である操作量をuと
すると、制御知識は次のようなif-then形式のファジィ
ルールで表わされ、ファジィ制御装置4の知識ベース5
に格納される。 if x1 is high and x2 is low, then u is medium if x1 is low and x2 is medium, then u is low これらの制御ルールにおいて、ifの部分は条件部(前件
部)、thenの部分は結論部(後件部)と呼ばれる。その
なかの変数x1、x2はファジィ制御装置4にとって入力
であり、uは出力である。また、high、low、mediumは
x1、x2、uがとるファジィ値であり、あいまいさを表
現するメンバシップ関数で定義されるファジィ集合であ
る。ファジィ制御装置4は、対象システム7から情報x
1、x2を入力として取り込み、知識ベース5にあるファ
ジィルールを使ってファジィ推論を行ない、操作量uを
決定して対象システム7へ出力する。ファジィ制御にお
けるファジィ推論は、知識工学のプロダクションルール
で用いる多段の推論とは違って一段の推論である。ま
た、条件部の入力変数を、測定にあいまいさが存在する
ファジィ値として扱うこともできるが、確定した数値と
して扱うこともできる。
【0005】ファジィ制御におけるファジィ推論の方法
は、三つのステップ、すなわち、(1)条件部の適合度
を求める、(2)ルールごとに推論結果を求める、
(3)全体の推論結果を求める、からなるが、いくつか
の実現方法がある。以下、一般に使われている実現方法
の概略を、2入力、1出力の場合を例として説明する。
図13は、上記の推論方法を示した特性図である。この
例の場合、次の二つの制御ルールだけからなるものとす
る。 if x1 is A11 and x2 is A12, then u is B1 if x1 is A21 and x2 isA22, then u is B2 1入力、1出力をもつプロセスの定置制御を考え、制御
装置への入力を目標値からの偏差e(=x1)とその偏差
の時間的変化分Δe(=x2)、出力を操作量の変化分Δ
v(=u)と選んだ場合は、上記のような定式化にな
る。以下、前記(1)〜(3)のステップについて説明
する。
は、三つのステップ、すなわち、(1)条件部の適合度
を求める、(2)ルールごとに推論結果を求める、
(3)全体の推論結果を求める、からなるが、いくつか
の実現方法がある。以下、一般に使われている実現方法
の概略を、2入力、1出力の場合を例として説明する。
図13は、上記の推論方法を示した特性図である。この
例の場合、次の二つの制御ルールだけからなるものとす
る。 if x1 is A11 and x2 is A12, then u is B1 if x1 is A21 and x2 isA22, then u is B2 1入力、1出力をもつプロセスの定置制御を考え、制御
装置への入力を目標値からの偏差e(=x1)とその偏差
の時間的変化分Δe(=x2)、出力を操作量の変化分Δ
v(=u)と選んだ場合は、上記のような定式化にな
る。以下、前記(1)〜(3)のステップについて説明
する。
【0006】(1)条件部の適合度を求める。 入力値を確定値としたとき、制御ルールの条件部“x1
is A11”、“x2 isA12”に対する入力x1=x 1、x2
=x 2の適合度をファジィ値A11、A12のメンバシップ
関数の値μA11(x 1)、μA12(x 2)とする。なお、ファ
ジィ集合Aのメンバシップ関数をμA(x)と書くことに
する。また、x 1およびx 2は、それぞれx1、x2の入力
値を示す。そして、“x1 is Ai1 and x2 is Ai2”
に対してその適合度を ωi=μAi1(x 1)∧μAi2(x 2) i=1,2 …(数1) によって計算する。なお、∧は最小値をとる演算であ
る。
is A11”、“x2 isA12”に対する入力x1=x 1、x2
=x 2の適合度をファジィ値A11、A12のメンバシップ
関数の値μA11(x 1)、μA12(x 2)とする。なお、ファ
ジィ集合Aのメンバシップ関数をμA(x)と書くことに
する。また、x 1およびx 2は、それぞれx1、x2の入力
値を示す。そして、“x1 is Ai1 and x2 is Ai2”
に対してその適合度を ωi=μAi1(x 1)∧μAi2(x 2) i=1,2 …(数1) によって計算する。なお、∧は最小値をとる演算であ
る。
【0007】(2)ルールごとに推論結果を求める。 i番目のルールによる推論結果を、i番目のルールの結
果部のファジィ値を定義するメンバシップ関数μBiをω
i倍したメンバシップ関数ωi・μBiとする。なお、ωi∧
μBiとする場合もある。
果部のファジィ値を定義するメンバシップ関数μBiをω
i倍したメンバシップ関数ωi・μBiとする。なお、ωi∧
μBiとする場合もある。
【0008】(3)全体の推論結果を求める。 推論結果の適合度による重み平均として出力値を計算す
る。二つのルールによる推論結果の統合uは、各ルール
の結果部のメンバシップ関数ω1・μB1、ω2・μB2から
メンバシップ関数μB(=ω1・μB1∪ω2・μB2)を求め、
その重心として、すなわち、各ルールの適合度ωiによ
る重み付き平均 u=∫μB(u)udu/∫μB(u)du …(数2) として求める。なお、∪は最大値をとる演算である。し
たがって、ファジィ推論は各ルールの適合度を用いた総
合判断となる。
る。二つのルールによる推論結果の統合uは、各ルール
の結果部のメンバシップ関数ω1・μB1、ω2・μB2から
メンバシップ関数μB(=ω1・μB1∪ω2・μB2)を求め、
その重心として、すなわち、各ルールの適合度ωiによ
る重み付き平均 u=∫μB(u)udu/∫μB(u)du …(数2) として求める。なお、∪は最大値をとる演算である。し
たがって、ファジィ推論は各ルールの適合度を用いた総
合判断となる。
【0009】以上のようなファジィ制御において、ファ
ジィ制御装置4としてデジタル・シグナル・プロセッサ
を使用することを考える。或る程度の汎用性、低コスト
性を持ちつつ高速の推論演算を行なうにはデジタル・シ
グナル・プロセッサは最適である。まず、(数2)式の
重み付き平均(重心演算)をデジタル処理で行なうと、
下記(数3)式に示すようになる。
ジィ制御装置4としてデジタル・シグナル・プロセッサ
を使用することを考える。或る程度の汎用性、低コスト
性を持ちつつ高速の推論演算を行なうにはデジタル・シ
グナル・プロセッサは最適である。まず、(数2)式の
重み付き平均(重心演算)をデジタル処理で行なうと、
下記(数3)式に示すようになる。
【0010】
【数3】
【0011】上式において、uk、μBkはそれぞれデジ
タル値の出力値とメンバーシップ関数(μB)である。
(数3)式は除算も含むが、分子と分母はそれぞれ下記
(数4)式に示すごとき積和演算であり、デジタル・シ
グナル・プロセッサのアーキテクチャで効率的に演算で
きる。
タル値の出力値とメンバーシップ関数(μB)である。
(数3)式は除算も含むが、分子と分母はそれぞれ下記
(数4)式に示すごとき積和演算であり、デジタル・シ
グナル・プロセッサのアーキテクチャで効率的に演算で
きる。
【0012】
【数4】
【0013】しかし、その他の適合度を求める演算やメ
ンバーシップ関数μBを求める演算を同時に行なうこと
は出来ず、従って演算時間のオーバーヘッドとなる。
ンバーシップ関数μBを求める演算を同時に行なうこと
は出来ず、従って演算時間のオーバーヘッドとなる。
【0014】
【発明が解決しようとする課題】上記のように、デジタ
ル・シグナル・プロセッサは、低コストであり、かつ積
和演算を高速で行なうことが出来るなど、ファジィ制御
用として従来のマイクロプロセッサよりも有利な点があ
る。しかし、上記のように、非ファジィ化演算(重心計
算等)などでは積和演算を効果的に行なうことが出来る
が、その他の推論演算部分では、ファジィ制御に適する
構成が考慮されておらず、ファジィ制御用としては不満
足なものであった。
ル・シグナル・プロセッサは、低コストであり、かつ積
和演算を高速で行なうことが出来るなど、ファジィ制御
用として従来のマイクロプロセッサよりも有利な点があ
る。しかし、上記のように、非ファジィ化演算(重心計
算等)などでは積和演算を効果的に行なうことが出来る
が、その他の推論演算部分では、ファジィ制御に適する
構成が考慮されておらず、ファジィ制御用としては不満
足なものであった。
【0015】本発明は、上記のごとき従来技術の問題を
解決するためになされたものであり、ファジィ制御用と
して最適なデジタル・シグナル・プロセッサの構成を提
供することを目的とする。
解決するためになされたものであり、ファジィ制御用と
して最適なデジタル・シグナル・プロセッサの構成を提
供することを目的とする。
【0016】
【課題を解決するための手段】上記の目的を達成するた
め、本発明においては、特許請求の範囲に記載するよう
に構成している。すなわち、請求項1に記載の発明にお
いては、比較器と、並列乗算器と、算術論理ユニット
(ALU)とのセットで演算ブロックを構成し、このブ
ロックで比較演算、比較−積和演算、積−積和演算を行
なうように構成したものである。このように構成すれ
ば、上記の演算ブロックでファジィ演算の殆どを効率的
に行なうことが出来る。なお、請求項1は後記第1図の
実施例の相当する。
め、本発明においては、特許請求の範囲に記載するよう
に構成している。すなわち、請求項1に記載の発明にお
いては、比較器と、並列乗算器と、算術論理ユニット
(ALU)とのセットで演算ブロックを構成し、このブ
ロックで比較演算、比較−積和演算、積−積和演算を行
なうように構成したものである。このように構成すれ
ば、上記の演算ブロックでファジィ演算の殆どを効率的
に行なうことが出来る。なお、請求項1は後記第1図の
実施例の相当する。
【0017】また、請求項2に記載の発明は、第1のデ
ータ・バスを前件部データ、第2のデータ・バスを後件
部データに限ったものであり、前件部の最小値演算では
比較器から直接に第1のデータ・バスに戻し、ルール毎
の推論結果μBiおよび推論結果μBは第3のレジスタお
よび第4のレジスタによって第2のデータ・バスに戻す
ように構成している。このように二つのデータ・バスを
完全に分離して使用することにより、並列性と高速化を
より一層推進することが出来る。なお、請求項2は後記
第3図の実施例に相当する。
ータ・バスを前件部データ、第2のデータ・バスを後件
部データに限ったものであり、前件部の最小値演算では
比較器から直接に第1のデータ・バスに戻し、ルール毎
の推論結果μBiおよび推論結果μBは第3のレジスタお
よび第4のレジスタによって第2のデータ・バスに戻す
ように構成している。このように二つのデータ・バスを
完全に分離して使用することにより、並列性と高速化を
より一層推進することが出来る。なお、請求項2は後記
第3図の実施例に相当する。
【0018】また、請求項3に記載の発明は、第1と第
2の二つの比較器を用いて、前件部と後件部の演算を別
の演算ブロックで行なうことによって並列化を図ったも
のである。すなわち、前件部の最小値演算と後件部の最
小値演算は第1の比較器で行ない、後件部の最大値演
算、積和演算は第2の比較器、並列乗算器および算術論
理ユニット等で行なう。このように、本発明の演算ブロ
ックを並列化(例えばルールごとに作る)すれば、デー
タ・バスの専有時間を少なくしてさらに高速化すること
が出来る。なお、請求項3は後記第4図の実施例に相当
する。
2の二つの比較器を用いて、前件部と後件部の演算を別
の演算ブロックで行なうことによって並列化を図ったも
のである。すなわち、前件部の最小値演算と後件部の最
小値演算は第1の比較器で行ない、後件部の最大値演
算、積和演算は第2の比較器、並列乗算器および算術論
理ユニット等で行なう。このように、本発明の演算ブロ
ックを並列化(例えばルールごとに作る)すれば、デー
タ・バスの専有時間を少なくしてさらに高速化すること
が出来る。なお、請求項3は後記第4図の実施例に相当
する。
【0019】また、請求項4に記載の発明は、比較器と
して、最小値モード比較器と、最大値モード比較器との
一対の比較器を用いたものである。このように構成すれ
ば、ファジィ制御演算をさらに高速に、かつ比較的低コ
ストで行なうことが可能になる。なお、請求項4は後記
第7図の実施例に相当する。
して、最小値モード比較器と、最大値モード比較器との
一対の比較器を用いたものである。このように構成すれ
ば、ファジィ制御演算をさらに高速に、かつ比較的低コ
ストで行なうことが可能になる。なお、請求項4は後記
第7図の実施例に相当する。
【0020】
【発明の実施例】図1はこの発明の一実施例を示すブロ
ック図である。まず構成を説明すると、第1のデータ・
バス11と第2のデータ・バス12があり、原則として
第1のデータ・バスは前件部のデータ、第2のデータ・
バスは後件部のデータを扱うものとする(図1では例外
の場合がある)。また、RAM10aがデータバス11
に、RAM10bがデータ・バス12にそれぞれ接続さ
れている。また、レジスタ13aは第1のデータ・バス
11に、レジスタ13bは第1と第2のデータ・バス1
1、12に接続されている(もちろん多重化されてい
る)。また、レジスタ13a、13bを受けて、比較器
14があり、その出力はレジスタ13cに出力される。
なお、比較器14の構成例は図5(詳細後述)に示され
ている。また、レジスタ13cは並列乗算器15の一つ
の入力に接続される。また、第2のデータ・バス12に
接続されたレジスタ13eのデータをマルチプレクス部
16で変換した後のデータが並列乗算器15の他の入力
にはいる。並列乗算器15の出力はレジスタ13dを通
じて、算術論理ユニット(以下、ALUと記す)17の
一つの入力バス11に入る。ALU17はレジスタ13
dの出力と、それ自身の出力をアキュムレータ18で蓄
積した結果とを加減算する。そしてアキュムレータ18
の出力は第2のデータ・バス12に接続されている。
ック図である。まず構成を説明すると、第1のデータ・
バス11と第2のデータ・バス12があり、原則として
第1のデータ・バスは前件部のデータ、第2のデータ・
バスは後件部のデータを扱うものとする(図1では例外
の場合がある)。また、RAM10aがデータバス11
に、RAM10bがデータ・バス12にそれぞれ接続さ
れている。また、レジスタ13aは第1のデータ・バス
11に、レジスタ13bは第1と第2のデータ・バス1
1、12に接続されている(もちろん多重化されてい
る)。また、レジスタ13a、13bを受けて、比較器
14があり、その出力はレジスタ13cに出力される。
なお、比較器14の構成例は図5(詳細後述)に示され
ている。また、レジスタ13cは並列乗算器15の一つ
の入力に接続される。また、第2のデータ・バス12に
接続されたレジスタ13eのデータをマルチプレクス部
16で変換した後のデータが並列乗算器15の他の入力
にはいる。並列乗算器15の出力はレジスタ13dを通
じて、算術論理ユニット(以下、ALUと記す)17の
一つの入力バス11に入る。ALU17はレジスタ13
dの出力と、それ自身の出力をアキュムレータ18で蓄
積した結果とを加減算する。そしてアキュムレータ18
の出力は第2のデータ・バス12に接続されている。
【0021】次に作用を説明する。図1のデジタル・シ
グナル・プロセッサのアーキテクチャが、ファジィ制御
・ファジィ推論においてどのように機能するかを図2に
基づいて説明する。なお、図2は、図1に説明のための
矢印〜(演算の経路を示す)を加えたものであり、
その他は図1と同一である。まず、前件部データ(前記
図13のμA11〜μA22に対応)がRAM10aのアクセ
スによってデータ・バス11に出力される。RAM10
aにはμA11〜μA22の形状がデジタル・データで記憶さ
れている。これはμA11〜μA22をシリアルにアクセスし
ても良いし、パラレルでも良い。ただし、後者の場合に
はデータ・バス11のビット数は膨大なものとなる。こ
こではシリアルにアクセスすると仮定する。従って、ま
ずμA11とμA21がシリアルにデータ・バス11に現わ
れ、レジスタ13aとレジスタ13bにそれぞれ取り込
まれる。それらのデータは比較器14に送られ、比較器
14を最小値演算モード(比較器のモードと回路構成例
は後述)にして、出力の小さい方のデータをレジスタ1
3cに送出する。レジスタ13cの最小値データはデー
タ・バス11に出力され、RAM10aに一時記憶され
るか、レジスタ13aあるいはレジスタ13bに取り込
まれて次の演算のために準備される。以上のシーケンス
(図2の経路)で、ファジィ推論の前件部の最小値演
算が第1のルールに対して行なわれ、第1のルールの適
合度がデータ・バス11に出力されたことになる。上記
の演算を各ルールに対して繰り返せば良い(適合度をR
AM10aに入れた場合)。
グナル・プロセッサのアーキテクチャが、ファジィ制御
・ファジィ推論においてどのように機能するかを図2に
基づいて説明する。なお、図2は、図1に説明のための
矢印〜(演算の経路を示す)を加えたものであり、
その他は図1と同一である。まず、前件部データ(前記
図13のμA11〜μA22に対応)がRAM10aのアクセ
スによってデータ・バス11に出力される。RAM10
aにはμA11〜μA22の形状がデジタル・データで記憶さ
れている。これはμA11〜μA22をシリアルにアクセスし
ても良いし、パラレルでも良い。ただし、後者の場合に
はデータ・バス11のビット数は膨大なものとなる。こ
こではシリアルにアクセスすると仮定する。従って、ま
ずμA11とμA21がシリアルにデータ・バス11に現わ
れ、レジスタ13aとレジスタ13bにそれぞれ取り込
まれる。それらのデータは比較器14に送られ、比較器
14を最小値演算モード(比較器のモードと回路構成例
は後述)にして、出力の小さい方のデータをレジスタ1
3cに送出する。レジスタ13cの最小値データはデー
タ・バス11に出力され、RAM10aに一時記憶され
るか、レジスタ13aあるいはレジスタ13bに取り込
まれて次の演算のために準備される。以上のシーケンス
(図2の経路)で、ファジィ推論の前件部の最小値演
算が第1のルールに対して行なわれ、第1のルールの適
合度がデータ・バス11に出力されたことになる。上記
の演算を各ルールに対して繰り返せば良い(適合度をR
AM10aに入れた場合)。
【0022】一方、第1のルールの適合度をレジスタ1
3aに格納した時の次の演算を考える。RAM10bか
ら後件部データ(μB1の中にあるuのデータ)をデータ
・バス12に出力し、レジスタ13bに取り込む。ルー
ルごとの推論結果としてμBi∧ωiという最小値演算
(頭切り)を行なうとすると、上記のデータで比較器1
4で最小値を出力し、それをレジスタ13cに入れてデ
ータ・バス11に出力する。推論結果μBiがこうしてデ
ータ・バス11に出るので、再びRAM10aに一時記
憶されるか、あるいは次の演算に備えてレジスタ13a
に取り込まれる(図2の経路)。
3aに格納した時の次の演算を考える。RAM10bか
ら後件部データ(μB1の中にあるuのデータ)をデータ
・バス12に出力し、レジスタ13bに取り込む。ルー
ルごとの推論結果としてμBi∧ωiという最小値演算
(頭切り)を行なうとすると、上記のデータで比較器1
4で最小値を出力し、それをレジスタ13cに入れてデ
ータ・バス11に出力する。推論結果μBiがこうしてデ
ータ・バス11に出るので、再びRAM10aに一時記
憶されるか、あるいは次の演算に備えてレジスタ13a
に取り込まれる(図2の経路)。
【0023】次に、前記図13のように、ルールごとの
推論結果としてμBi・ωiという乗算で出す(頭切り
2)推論方法でのシーケンスを考える。適合度ωiは再
びレジスタ13aに格納されている。ここで、レジスタ
13bに例えばFFFF(16ビットの場合の最大値)
を入れて、比較器14で最小値演算を行なうと、レジス
タ13aの適合度がそのままレジスタ13cに出る。次
にレジスタ13eに後件部データ(μB1)を入れて、マ
ルチプレクス部16で変換(この場合は等価変換、すな
わち入力をそのまま出力すれば良い)した後、レジスタ
13cの適合度ωiと共に並列乗算器15へ送る。従っ
て並列乗算器15はμBi・ωiの乗算を行なって、その
結果をレジスタ13dに出力する。レジスタ13dは前
と同様にデータ・バス11に結果を出力して、一時記憶
か次の演算のためにレジスタに格納する(図2の経路
)。
推論結果としてμBi・ωiという乗算で出す(頭切り
2)推論方法でのシーケンスを考える。適合度ωiは再
びレジスタ13aに格納されている。ここで、レジスタ
13bに例えばFFFF(16ビットの場合の最大値)
を入れて、比較器14で最小値演算を行なうと、レジス
タ13aの適合度がそのままレジスタ13cに出る。次
にレジスタ13eに後件部データ(μB1)を入れて、マ
ルチプレクス部16で変換(この場合は等価変換、すな
わち入力をそのまま出力すれば良い)した後、レジスタ
13cの適合度ωiと共に並列乗算器15へ送る。従っ
て並列乗算器15はμBi・ωiの乗算を行なって、その
結果をレジスタ13dに出力する。レジスタ13dは前
と同様にデータ・バス11に結果を出力して、一時記憶
か次の演算のためにレジスタに格納する(図2の経路
)。
【0024】最後に、ルール毎の推論結果μBiから最終
結論uを出すシーケンスを考える。図2の経路によっ
て、ルールごとの推論結果μBiが或るu(ここではui
とする)に対してレジスタ13aに格納されているもの
とする(レジスタ13cからか、或いは一時記憶された
RAMからレジスタ13aに転送されている)。次に別
のルールの推論結果μBjを一時記憶されたRAMから
か、他のレジスタからレジスタ13bに取り込む。そう
して、比較器14を最大値モードで動作させると、レジ
スタ13cにμBiとμBjでの最大値が出力される。これ
を各ルールに対して繰り返すと、与えられたuiに対す
る最終のメンバシップ関数μBがレジスタ13cに残
る。次に前記(数3)式に当る重心演算を行なうが、こ
れは汎用のデジタル・シグナル・プロセッサに見られる
積和演算と同一である。すなわちレジスタ13cに格納
されたμB(u=ui)と、レジスタ13eとマルチプレ
クス部16で生成されたuiを並列乗算器14で乗算
し、μB・uiをレジスタ13dに出力する。異なるuiに
対して次々にこの動作を行ない(図2の経路、経路
を繰り返す)、最後にALU17とアキュムレータ18
で下記(数5)式に示すごとき和演算を行ない、アキュ
ムレータ18の最終結果をデータ・バス12に出力す
る。
結論uを出すシーケンスを考える。図2の経路によっ
て、ルールごとの推論結果μBiが或るu(ここではui
とする)に対してレジスタ13aに格納されているもの
とする(レジスタ13cからか、或いは一時記憶された
RAMからレジスタ13aに転送されている)。次に別
のルールの推論結果μBjを一時記憶されたRAMから
か、他のレジスタからレジスタ13bに取り込む。そう
して、比較器14を最大値モードで動作させると、レジ
スタ13cにμBiとμBjでの最大値が出力される。これ
を各ルールに対して繰り返すと、与えられたuiに対す
る最終のメンバシップ関数μBがレジスタ13cに残
る。次に前記(数3)式に当る重心演算を行なうが、こ
れは汎用のデジタル・シグナル・プロセッサに見られる
積和演算と同一である。すなわちレジスタ13cに格納
されたμB(u=ui)と、レジスタ13eとマルチプレ
クス部16で生成されたuiを並列乗算器14で乗算
し、μB・uiをレジスタ13dに出力する。異なるuiに
対して次々にこの動作を行ない(図2の経路、経路
を繰り返す)、最後にALU17とアキュムレータ18
で下記(数5)式に示すごとき和演算を行ない、アキュ
ムレータ18の最終結果をデータ・バス12に出力す
る。
【0025】
【数5】
【0026】前記(数3)式の分母は、マルチプレクス
部16の出力に0001や他の単位一定デジタル量を出
力することによって得られる。実際には、(数3)式の
割算をするわけであるが、これは汎用のデジタル・シグ
ナル・プロセッサと同様にALUを使って減算を行なう
か、またはALUにシフタを付加して効率的に行なうこ
ともできる。あるいは、図6に示すように、バッファ回
路30を使って分子データ31と分母データ32を別々
に出力し、外部でD/A変換する時にアナログ的に割算
する方が、速度としては速くなると考えられる。
部16の出力に0001や他の単位一定デジタル量を出
力することによって得られる。実際には、(数3)式の
割算をするわけであるが、これは汎用のデジタル・シグ
ナル・プロセッサと同様にALUを使って減算を行なう
か、またはALUにシフタを付加して効率的に行なうこ
ともできる。あるいは、図6に示すように、バッファ回
路30を使って分子データ31と分母データ32を別々
に出力し、外部でD/A変換する時にアナログ的に割算
する方が、速度としては速くなると考えられる。
【0027】以上のように、汎用の積和演算ブロックに
最小値/最大値モード付の比較器を接続することによ
り、ファジィ推論を効率的に行なうことが出来る。すな
わち、図2のように接続すれば、比較動作がレジスタ間
の転送で逐次的に出来ることになり、一命令サイクルで
複数個のルールについてμBを与えられたuiで計算する
ことが出来、uiについて繰り返すと、さらにレジスタ
からの転送で積和演算を行なうことが出来る。それらを
すべて一命令サイクルで行なうことは不可能であるが、
uiの個数+1命令程度で可能である。
最小値/最大値モード付の比較器を接続することによ
り、ファジィ推論を効率的に行なうことが出来る。すな
わち、図2のように接続すれば、比較動作がレジスタ間
の転送で逐次的に出来ることになり、一命令サイクルで
複数個のルールについてμBを与えられたuiで計算する
ことが出来、uiについて繰り返すと、さらにレジスタ
からの転送で積和演算を行なうことが出来る。それらを
すべて一命令サイクルで行なうことは不可能であるが、
uiの個数+1命令程度で可能である。
【0028】次に、図5は、比較器14の構成の一実施
例を示す図であり、(a)は回路図、(b)は演算ブロ
ックの回路図、(c)は比較器14の動作を説明するた
めのブロック図である。図5(a)に示すように、比較
器14は、演算ブロック20a〜20d、複数のORゲ
ート21、複数のANDゲート22およびインバータ2
3から構成されている。そして演算ブロック20a〜2
0dは、図5(b)に示すように、パス・トランジスタ
24で構成されている(例えばELECTRONICS,1983.9.13
参照)。なお、aj~、bj~、dj~、MAX~は、それぞ
れaj、bj、dj、MAXの反転信号である。図5に示
す比較器14においては、演算ブロックの直列接続で
(a3〜a0)と(b3〜b0)の大小比較を行なう。すな
わちc4が“1”のとき(a3〜a0)>(b3〜b0)で
あり、d4が“1”のとき(a3〜a0)≦(b3〜b0)
である。このとき選択信号MIN/MAX~により、
(a3〜a0)と(b3〜b0)のうち最小(MIN/MA
X~=“1”)、あるいは最大(MIN/MAX~=
“0”)のものが(x3〜x0)に出力される。図5
(c)は上記の状態を示している。以上の全ての動作は
コントロール回路19(図1または図2参照)で制御さ
れる。なお、図5は4ビットの比較の例であるが、さら
に多ビットでも同様に構成することができる。
例を示す図であり、(a)は回路図、(b)は演算ブロ
ックの回路図、(c)は比較器14の動作を説明するた
めのブロック図である。図5(a)に示すように、比較
器14は、演算ブロック20a〜20d、複数のORゲ
ート21、複数のANDゲート22およびインバータ2
3から構成されている。そして演算ブロック20a〜2
0dは、図5(b)に示すように、パス・トランジスタ
24で構成されている(例えばELECTRONICS,1983.9.13
参照)。なお、aj~、bj~、dj~、MAX~は、それぞ
れaj、bj、dj、MAXの反転信号である。図5に示
す比較器14においては、演算ブロックの直列接続で
(a3〜a0)と(b3〜b0)の大小比較を行なう。すな
わちc4が“1”のとき(a3〜a0)>(b3〜b0)で
あり、d4が“1”のとき(a3〜a0)≦(b3〜b0)
である。このとき選択信号MIN/MAX~により、
(a3〜a0)と(b3〜b0)のうち最小(MIN/MA
X~=“1”)、あるいは最大(MIN/MAX~=
“0”)のものが(x3〜x0)に出力される。図5
(c)は上記の状態を示している。以上の全ての動作は
コントロール回路19(図1または図2参照)で制御さ
れる。なお、図5は4ビットの比較の例であるが、さら
に多ビットでも同様に構成することができる。
【0029】次に、図3は、本発明の第2の実施例のブ
ロック図である。この実施例は、データ・バス11を前
件部データ、データ・バス12を後件部データに限った
例である。前件部の最小値演算では比較器14から直接
データ・バス11に戻し、ルール毎の推論結果μBiおよ
び推論結果μBはレジスタ13cおよびレジスタ13d
によってデータ・バス12に戻す。その他は図1と同様
である。
ロック図である。この実施例は、データ・バス11を前
件部データ、データ・バス12を後件部データに限った
例である。前件部の最小値演算では比較器14から直接
データ・バス11に戻し、ルール毎の推論結果μBiおよ
び推論結果μBはレジスタ13cおよびレジスタ13d
によってデータ・バス12に戻す。その他は図1と同様
である。
【0030】次に、図4は、本発明の第3の実施例のブ
ロック図である。この実施例は、二つの比較器14a、
14bを用いて、前件部と後件部の演算を別の演算ブロ
ックで行なって並列化を図った例である。前件部の最小
値演算と後件部の最小値演算は比較器14aで行ない、
データ・バス12を受けて後件部の最大値演算、積和演
算は比較器14b、並列乗算器15、ALU17等で行
なう。このように、本発明の演算ブロックを並列化(例
えばルールごとに作る)すれば、高速化を図ることが出
来るが、回路規模は増大することになる。
ロック図である。この実施例は、二つの比較器14a、
14bを用いて、前件部と後件部の演算を別の演算ブロ
ックで行なって並列化を図った例である。前件部の最小
値演算と後件部の最小値演算は比較器14aで行ない、
データ・バス12を受けて後件部の最大値演算、積和演
算は比較器14b、並列乗算器15、ALU17等で行
なう。このように、本発明の演算ブロックを並列化(例
えばルールごとに作る)すれば、高速化を図ることが出
来るが、回路規模は増大することになる。
【0031】次に、図7は、本発明の第4の実施例のブ
ロック図である。この実施例は、比較器14として、最
小値モード比較器すなわちmin演算器14aと、最大
値モード比較器すなわちmax演算器14bとの一対の
比較器を用い、図7のように接続することにより、さら
にファジィ推論に適したデジタル・シグナル・プロセッ
サを実現するものである。
ロック図である。この実施例は、比較器14として、最
小値モード比較器すなわちmin演算器14aと、最大
値モード比較器すなわちmax演算器14bとの一対の
比較器を用い、図7のように接続することにより、さら
にファジィ推論に適したデジタル・シグナル・プロセッ
サを実現するものである。
【0032】以下、前記と同様に従来技術で説明したフ
ァジィ推論の方法に基づいて、図7の実施例を説明す
る。まず、前件部(条件部)の適合度を計算するわけで
あるが、そのためにRAM10aに格納されている前件
部メンバシップ関数の値μAijを入力値xi(すなわちR
AM10aのアドレス)に応じてデータ・バス11に出
力し、min演算器14aの一方の入力に入れる(ある
いは図示しない補助バスによってRAM10aから直接
min演算器14aに入力する)。次に、min演算器
14aでアキュムレータ18aの値と比較し、最小値を
再びアキュムレータ18aに出力する。最初のμAijに
対しては、アキュムレータ18aには例えばFFFFが
入っており、min演算の結果、アキュムレータ18a
にμAijが格納される。このシーケンスが一つのルール
の前件部の変数x1、x2、…xi…の数だけ繰り返され
ると、アキュムレータ18aに適合度ωj(j番目のル
ールに対して)が残る。
ァジィ推論の方法に基づいて、図7の実施例を説明す
る。まず、前件部(条件部)の適合度を計算するわけで
あるが、そのためにRAM10aに格納されている前件
部メンバシップ関数の値μAijを入力値xi(すなわちR
AM10aのアドレス)に応じてデータ・バス11に出
力し、min演算器14aの一方の入力に入れる(ある
いは図示しない補助バスによってRAM10aから直接
min演算器14aに入力する)。次に、min演算器
14aでアキュムレータ18aの値と比較し、最小値を
再びアキュムレータ18aに出力する。最初のμAijに
対しては、アキュムレータ18aには例えばFFFFが
入っており、min演算の結果、アキュムレータ18a
にμAijが格納される。このシーケンスが一つのルール
の前件部の変数x1、x2、…xi…の数だけ繰り返され
ると、アキュムレータ18aに適合度ωj(j番目のル
ールに対して)が残る。
【0033】次に、与えられた出力値uに対して後件部
のメンバシップ関数がRAM10bからデータ・バス1
2に出され、レジスタ13aに格納される。出力値uは
まだ決まっているわけではなく、ファジィ推論では全て
の可能なuの値についてメンバシップ関数を計算する。
例えばuとして0000〜FFFFの範囲を順次計算す
る。k番目の出力値uをukとすると、ukに対応するj
番目のルールの後件部メンバシップ関数μBjをRAM
10bより読み出すことになる。このようにしてレジス
タ13aに格納されたμBjと、アキュムレータ18aの
適合度ωjをmin演算器14aで最小値を取って再び
アキュムレータ18aに出力すると、ルール毎の推論結
果ωj∧μBjがj番目のルールに対してアキュムレータ
18aに残る。このようにアキュムレータ18aには、
ルールごとの推論結果が次々に現われる。これを受けて
アキュムレータ18aにルールごとの推論結果ωj∧μ
Bjが現われた時に、max演算器14bでアキュムレー
タ18bの値と比較して最大値を再びアキュムレータ1
8bに出力する。最初のルールの推論結果がアキュムレ
ータ18aに現われた時には、アキュムレータ18bに
は、例えば“0000”が入っていて、ルールごとの推
論結果ω1∧μB1がアキュムレータ18bにそのまま格
納される。このように、或るukに対してアキュムレー
タ18bに全体の推論結果μBが残る。なお、μBは下記
(数6)で示される。
のメンバシップ関数がRAM10bからデータ・バス1
2に出され、レジスタ13aに格納される。出力値uは
まだ決まっているわけではなく、ファジィ推論では全て
の可能なuの値についてメンバシップ関数を計算する。
例えばuとして0000〜FFFFの範囲を順次計算す
る。k番目の出力値uをukとすると、ukに対応するj
番目のルールの後件部メンバシップ関数μBjをRAM
10bより読み出すことになる。このようにしてレジス
タ13aに格納されたμBjと、アキュムレータ18aの
適合度ωjをmin演算器14aで最小値を取って再び
アキュムレータ18aに出力すると、ルール毎の推論結
果ωj∧μBjがj番目のルールに対してアキュムレータ
18aに残る。このようにアキュムレータ18aには、
ルールごとの推論結果が次々に現われる。これを受けて
アキュムレータ18aにルールごとの推論結果ωj∧μ
Bjが現われた時に、max演算器14bでアキュムレー
タ18bの値と比較して最大値を再びアキュムレータ1
8bに出力する。最初のルールの推論結果がアキュムレ
ータ18aに現われた時には、アキュムレータ18bに
は、例えば“0000”が入っていて、ルールごとの推
論結果ω1∧μB1がアキュムレータ18bにそのまま格
納される。このように、或るukに対してアキュムレー
タ18bに全体の推論結果μBが残る。なお、μBは下記
(数6)で示される。
【0034】
【数6】
【0035】μBはukの関数であり、μB(uk)と書く
ことにする。このμB(uk)が全てのukに対して求めら
れれば、あとは、非ファジィ化、すなわち(数2)式の
重心計算〔ディジタルでは(数3)式のような積和演
算〕を行なえば良い。従って、或るukに対して、並列
乗算器15の一方の入力15aにukの値を、他方の入
力にアキュムレータ18bからμB(uk)を入力すれ
ば、並列乗算器15の出力にμB(uk)・ukが現われ
る。これをALU17とアキュムレータ18cで和演算
をすると、下記(数7)式に示す値が計算され、(数
3)式の分子がアキュムレータ18cに残る。
ことにする。このμB(uk)が全てのukに対して求めら
れれば、あとは、非ファジィ化、すなわち(数2)式の
重心計算〔ディジタルでは(数3)式のような積和演
算〕を行なえば良い。従って、或るukに対して、並列
乗算器15の一方の入力15aにukの値を、他方の入
力にアキュムレータ18bからμB(uk)を入力すれ
ば、並列乗算器15の出力にμB(uk)・ukが現われ
る。これをALU17とアキュムレータ18cで和演算
をすると、下記(数7)式に示す値が計算され、(数
3)式の分子がアキュムレータ18cに残る。
【0036】
【数7】
【0037】(数3)式の分母も入力15aをuk=1
とすれば計算することが出来、あとは除算すればよい。
以上のように、ファジィ制御用のデジタル・シグナル・
プロセッサの演算部のアーキテクチャとして、図7のよ
うに構成すると、ファジィ推論を効率的に行なうことが
出来る。本実施例では前記の実施例に比べてさらにファ
ジィ制御に最適化されているので、高速化が図れる。た
だし前記の実施例では、多少汎用性が残されており、例
えばディジタル・フィルタとしても使いたい場合(ファ
ジィ推論の入力に対してフィルタをかけるような場合)
にも比較的容易に対応できる利点がある。
とすれば計算することが出来、あとは除算すればよい。
以上のように、ファジィ制御用のデジタル・シグナル・
プロセッサの演算部のアーキテクチャとして、図7のよ
うに構成すると、ファジィ推論を効率的に行なうことが
出来る。本実施例では前記の実施例に比べてさらにファ
ジィ制御に最適化されているので、高速化が図れる。た
だし前記の実施例では、多少汎用性が残されており、例
えばディジタル・フィルタとしても使いたい場合(ファ
ジィ推論の入力に対してフィルタをかけるような場合)
にも比較的容易に対応できる利点がある。
【0038】次に、図7の実施例について、さらに具体
的な例を説明し、演算フローの詳細を明確にし、その利
点を具体的に示す。ここでは、次のファジィ規則を考え
る(前記従来例における説明と同じ)。 if x1 is high and x2 is low, then u is medium …(R1) if x1 is low and x2 is medium, then u is low …(R2) high、low、medium、low等のあいまい量に対するメンバ
シップ関数は図8のように与えられるとする。これら
は、例えば、アドレス関数としてRAM10a、RAM
10bにディジタル・データの形で記憶されている。こ
こで、或る時刻でx1=8、x2=4という入力値が入力
されたとする(もちろん、対応するディジタル量で)。
そこで各ルールに対して、推論を行なうことになる。ま
ずルールR1に対して、x1=8のアドレスに対応する
“high”のメンバシップ関数の値μ1H=0.8(対応す
るディジタル量を意味する。以下同様)をRAM10a
からデータ・バス11に出力し、min演算器14aの
一方の入力に送る。アキュムレータ18aには初期値と
してμH=1.0が入っている(リセット信号で入力して
も良い)。すると、min演算器14aはμH=1.0と
μ1H=0.8とを比較して、μH=0.8をアキュムレー
タ18aに出力する。次に、x2=4に対してアドレス
をコントロール部19から送出し、“low”に対応する
メンバシップ関数μ2Lの値μ2L=0.6をRAM10a
から送出して、データ・バス11に出力する。これを再
び、min演算器14aの一方の入力に入れ、アキュム
レータ18aのμ1H=0.8と比較して、アキュムレー
タ18aに再びμ2L=0.6を出力する。これが第1番
目のルールR1の前件部の適合度である。
的な例を説明し、演算フローの詳細を明確にし、その利
点を具体的に示す。ここでは、次のファジィ規則を考え
る(前記従来例における説明と同じ)。 if x1 is high and x2 is low, then u is medium …(R1) if x1 is low and x2 is medium, then u is low …(R2) high、low、medium、low等のあいまい量に対するメンバ
シップ関数は図8のように与えられるとする。これら
は、例えば、アドレス関数としてRAM10a、RAM
10bにディジタル・データの形で記憶されている。こ
こで、或る時刻でx1=8、x2=4という入力値が入力
されたとする(もちろん、対応するディジタル量で)。
そこで各ルールに対して、推論を行なうことになる。ま
ずルールR1に対して、x1=8のアドレスに対応する
“high”のメンバシップ関数の値μ1H=0.8(対応す
るディジタル量を意味する。以下同様)をRAM10a
からデータ・バス11に出力し、min演算器14aの
一方の入力に送る。アキュムレータ18aには初期値と
してμH=1.0が入っている(リセット信号で入力して
も良い)。すると、min演算器14aはμH=1.0と
μ1H=0.8とを比較して、μH=0.8をアキュムレー
タ18aに出力する。次に、x2=4に対してアドレス
をコントロール部19から送出し、“low”に対応する
メンバシップ関数μ2Lの値μ2L=0.6をRAM10a
から送出して、データ・バス11に出力する。これを再
び、min演算器14aの一方の入力に入れ、アキュム
レータ18aのμ1H=0.8と比較して、アキュムレー
タ18aに再びμ2L=0.6を出力する。これが第1番
目のルールR1の前件部の適合度である。
【0039】次に、後件部のuに対して、例えばu=
0、1、2、3、4、5の値のみをとることにする(対
応するディジタル量を意味する。以下同様)。まず、u
=0に対応する後件部メンバシップ関数(ルールR1の
もの)の値μu1=0.0をRAM10bからデータ・バ
ス12に出力する。これをレジスタ13aに取り込み、
min演算器14aで、アキュムレータ18aにあるμ
2L=0.6と比較し、再びアキュムレータ18aに最小
値μu1=0.0を出力する。これがu=0のときの、頭
切りされたルールR1の推論結果である。なお、この場
合には、実際には頭切りはされていないが、u=2、
3、4に対しては、図8の一点鎖線のように「頭切り」
が行なわれる。ルールR1の推論結果0.0がu=0に
対してアキュムレータ18aに格納された後、max演
算器14bに送られ、アキュムレータ18bと比較され
る。最初、アキュムレータ18bには、0.0が入って
いて、アキュムレータ18aの値がmax演算でそのま
まアキュムレータ18bに入る(上の例では0.0と0.
0で値は同じである)。
0、1、2、3、4、5の値のみをとることにする(対
応するディジタル量を意味する。以下同様)。まず、u
=0に対応する後件部メンバシップ関数(ルールR1の
もの)の値μu1=0.0をRAM10bからデータ・バ
ス12に出力する。これをレジスタ13aに取り込み、
min演算器14aで、アキュムレータ18aにあるμ
2L=0.6と比較し、再びアキュムレータ18aに最小
値μu1=0.0を出力する。これがu=0のときの、頭
切りされたルールR1の推論結果である。なお、この場
合には、実際には頭切りはされていないが、u=2、
3、4に対しては、図8の一点鎖線のように「頭切り」
が行なわれる。ルールR1の推論結果0.0がu=0に
対してアキュムレータ18aに格納された後、max演
算器14bに送られ、アキュムレータ18bと比較され
る。最初、アキュムレータ18bには、0.0が入って
いて、アキュムレータ18aの値がmax演算でそのま
まアキュムレータ18bに入る(上の例では0.0と0.
0で値は同じである)。
【0040】次に、ルールR2に移る。ルールR1と同
様に、x1=8、x2=4に対してRAM10aから、順
次μ1L=0.1、μ2H=0.2(図8参照)を読み出し
て、min演算器14aで比較し、さらにu=0に対す
る後件部μu2=1.0をRAMM10bから読み出して
min演算器14aで頭切りをすると、μ1L=0.1が
アキュムレータ18aに残る。これでルールR2に関す
るu=0での推論結果が得られる。ここで、アキュムレ
ータ18aの値μ1L=0.1と、上で格納されたアキュ
ムレータ18bの値μu1=0.0とをmax演算器14
bで比較すると、再びアキュムレータ18bにμ1L=
0.1が送出され、u=0での全体推論結果が得られ
る。並列演算器15で、μ1L=0.1と、信号15aに
u=0に対応する座標値を入れると、(数3)式の分子
の最初の積演算がALU17に送られる。以上のシーケ
ンスをu=0、1、2、3、4、5について繰り返す
と、アキュムレータ18cには、(数3)式の分子の値
が残るわけである。以上のようにして、min演算器1
4a、max演算器14b、並列乗算器15、ALU1
7の一連の流れで、ファジィ推論を効率良く行なうこと
が出来る。このような演算部を持つデジタル・シグナル
・プロセッサを用いることにより、ファジィ制御を高速
に、かつ比較的低コストで行なうことが可能となる。
様に、x1=8、x2=4に対してRAM10aから、順
次μ1L=0.1、μ2H=0.2(図8参照)を読み出し
て、min演算器14aで比較し、さらにu=0に対す
る後件部μu2=1.0をRAMM10bから読み出して
min演算器14aで頭切りをすると、μ1L=0.1が
アキュムレータ18aに残る。これでルールR2に関す
るu=0での推論結果が得られる。ここで、アキュムレ
ータ18aの値μ1L=0.1と、上で格納されたアキュ
ムレータ18bの値μu1=0.0とをmax演算器14
bで比較すると、再びアキュムレータ18bにμ1L=
0.1が送出され、u=0での全体推論結果が得られ
る。並列演算器15で、μ1L=0.1と、信号15aに
u=0に対応する座標値を入れると、(数3)式の分子
の最初の積演算がALU17に送られる。以上のシーケ
ンスをu=0、1、2、3、4、5について繰り返す
と、アキュムレータ18cには、(数3)式の分子の値
が残るわけである。以上のようにして、min演算器1
4a、max演算器14b、並列乗算器15、ALU1
7の一連の流れで、ファジィ推論を効率良く行なうこと
が出来る。このような演算部を持つデジタル・シグナル
・プロセッサを用いることにより、ファジィ制御を高速
に、かつ比較的低コストで行なうことが可能となる。
【0041】次に、本実施例のデジタル・シグナル・プ
ロセッサが、通常の汎用デジタル・シグナル・プロセッ
サでファジィ推論を行なう場合に比べてどの程度高速化
されるかを簡単に評価してみる。汎用のデジタル・シグ
ナル・プロセッサでは、図10のように並列乗算器とA
LU、アキュムレータの組み合わせであるので、このA
LUを使って推論を行なうことになる。ALUに直接入
力する補助バスがないとすると、並列乗算器を通して入
力することになる。通常、積和演算は一命令で出来るの
で、これ自体はそれほどオーバヘッドにならない。従っ
て、ALUの二つの入力にメンバシップ関数を入れて差
を取り、その符号を判定して、最大か最小値をメモリに
格納する。プログラムやデータをどこから読み込むか
で、これらの演算が何サイクルかかるか違うが、一番速
いものを考えると、ALUで1サイクル、判別で3サイ
クル、メモリ・ロードで1サイクル、つまり一回の比較
で5サイクルかかる。前記の推論の例で考えると、比較
が20回行なわれるので、都合100サイクルとなる。
これに対して、図7に示す実施例においては、各比較は
ロードも含めて1サイクルで可能であるから、全体で2
0サイクルで行なわれ、80サイクル分は高速化され
る。従って、前記のルール例では、例えば1サイクル1
00nsとすると、10μs→2μs、すなわち5倍高速化
されることが判る。
ロセッサが、通常の汎用デジタル・シグナル・プロセッ
サでファジィ推論を行なう場合に比べてどの程度高速化
されるかを簡単に評価してみる。汎用のデジタル・シグ
ナル・プロセッサでは、図10のように並列乗算器とA
LU、アキュムレータの組み合わせであるので、このA
LUを使って推論を行なうことになる。ALUに直接入
力する補助バスがないとすると、並列乗算器を通して入
力することになる。通常、積和演算は一命令で出来るの
で、これ自体はそれほどオーバヘッドにならない。従っ
て、ALUの二つの入力にメンバシップ関数を入れて差
を取り、その符号を判定して、最大か最小値をメモリに
格納する。プログラムやデータをどこから読み込むか
で、これらの演算が何サイクルかかるか違うが、一番速
いものを考えると、ALUで1サイクル、判別で3サイ
クル、メモリ・ロードで1サイクル、つまり一回の比較
で5サイクルかかる。前記の推論の例で考えると、比較
が20回行なわれるので、都合100サイクルとなる。
これに対して、図7に示す実施例においては、各比較は
ロードも含めて1サイクルで可能であるから、全体で2
0サイクルで行なわれ、80サイクル分は高速化され
る。従って、前記のルール例では、例えば1サイクル1
00nsとすると、10μs→2μs、すなわち5倍高速化
されることが判る。
【0042】
【発明の効果】以上説明したように、本発明において
は、二つのデータ・バスを持ち、比較器と、並列演算
器、ALU、アキュムレータなどからなる演算ブロック
を配置した構成としたことにより、ファジィ推論におけ
る殆どの推論演算を効率的にデジタル・シグナル・プロ
セッサの範囲内で行なうことが出来る。そのため適切な
汎用性と高速推論を兼ね備えた制御用のデジタル・シグ
ナル・プロセッサを提供することが出来る、という効果
が得られる。
は、二つのデータ・バスを持ち、比較器と、並列演算
器、ALU、アキュムレータなどからなる演算ブロック
を配置した構成としたことにより、ファジィ推論におけ
る殆どの推論演算を効率的にデジタル・シグナル・プロ
セッサの範囲内で行なうことが出来る。そのため適切な
汎用性と高速推論を兼ね備えた制御用のデジタル・シグ
ナル・プロセッサを提供することが出来る、という効果
が得られる。
【0043】また、図3に示した実施例においては、二
つのデータ・バスを完全に分離して使用することによ
り、並列性と高速化をより一層推進することが出来、ま
た、図4に示した実施例は、複数の比較器を用いて並列
性を推進したものであり、共にデータ・バスの専有時間
を少なくして高速化を実現することが出来る、という効
果が得られる。
つのデータ・バスを完全に分離して使用することによ
り、並列性と高速化をより一層推進することが出来、ま
た、図4に示した実施例は、複数の比較器を用いて並列
性を推進したものであり、共にデータ・バスの専有時間
を少なくして高速化を実現することが出来る、という効
果が得られる。
【0044】また、図7に示した実施例においては、最
小値モード比較器と、最大値モード比較器との一対の比
較器を用いることにより、ファジィ制御演算をさらに高
速に、かつ比較的低コストで行なうことが可能になる、
という効果が得られる。
小値モード比較器と、最大値モード比較器との一対の比
較器を用いることにより、ファジィ制御演算をさらに高
速に、かつ比較的低コストで行なうことが可能になる、
という効果が得られる。
【図1】本発明の第1の実施例のブロック図。
【図2】第1の実施例の作用を説明するためのブロック
図。
図。
【図3】本発明の第2の実施例のブロック図。
【図4】本発明の第3の実施例のブロック図。
【図5】比較器14の一実施例図。
【図6】図1の実施例の一部の構成を示すブロック図。
【図7】本発明の第4の実施例のブロック図。
【図8】第4の実施例の作用を説明するための特性図。
【図9】従来のマイクロプロセッサの一例のブロック
図。
図。
【図10】従来のデジタル・シグナル・プロセッサの一
例のブロック図。
例のブロック図。
【図11】従来のデジタル・シグナル・プロセッサの演
算ユニットの一例図。
算ユニットの一例図。
【図12】ファジィ制御装置の一例のブロック図。
【図13】ファジィ推論を説明するための特性図。
10a、10b…RAM(あるいはROM) 11、12…データ・バス 13a〜13e…レジスタ 14、14、14…比較器 15…並列乗算器 16…マルチプレクサ 17…算術論理ユニット(ALU) 18、18a〜18c…アキュムレータ 19…コントロール回路
Claims (4)
- 【請求項1】並列乗算器、算術論理ユニットおよびイン
ストラクションとデータの一対のバスラインを備えたデ
ジタル・シグナル・プロセッサにおいて、上記データ・
バスラインが第1のデータ・バスと第2のデータ・バス
から成り、 上記第1のデータ・バスから第1のレジス
タを介して入力されるデータと、上記第1のデータ・バ
スあるいは上記第2のデータ・バスから第2のレジスタ
を介して入力されるデータとを比較し、最大または最小
のどちらか一方のデータを出力する比較器と、上記比較
器の出力を上記第1のデータ・バスに戻す第3のレジス
タと、上記第2のデータバスから第5のレジスタを介し
て入力されるデータを変換して出力するマルチプレクサ
と、上記第3のレジスタの出力データと上記マルチプレ
クサの出力データとの乗算を行なう並列乗算器と、上記
並列乗算器の出力データを上記第1のデータ・バスに戻
す第4のレジスタと、与えられたデータを蓄積してその
結果を上記第2のデータバスに出力するアキュムレータ
と、上記第4のレジスタの出力データと上記アキュムレ
ータの出力データとを入力として加減算を行い、その結
果を上記アキュムレータに出力する算術論理ユニット
と、を備え、上記並列乗算器と上記算術論理ユニットと
で積和演算を実行可能に構成したことを特徴とするデジ
タル・シグナル・プロセッサ。 - 【請求項2】並列乗算器、算術論理ユニットおよびイン
ストラクションとデータの一対のバスラインを備えたデ
ジタル・シグナル・プロセッサにおいて、上記データ・
バスラインが第1のデータ・バスと第2のデータ・バス
から成り、 上記第1のデータ・バスから第1のレジス
タを介して入力されるデータと、上記第1のデータ・バ
スあるいは上記第2のデータ・バスから第2のレジスタ
を介して入力されるデータとを比較し、最大または最小
のどちらか一方のデータを出力し、それを上記第1のデ
ータバスへ送出する比較器と、上記比較器の出力を上記
第2のデータ・バスに戻す第3のレジスタと、上記第2
のデータバスから第5のレジスタを介して入力されるデ
ータを変換して出力するマルチプレクサと、上記第3の
レジスタの出力データと上記マルチプレクサの出力デー
タとの乗算を行なう並列乗算器と、上記並列乗算器の出
力データを上記第1のデータ・バスに戻す第4のレジス
タと、与えられたデータを蓄積してその結果を上記第2
のデータバスに出力するアキュムレータと、上記第4の
レジスタの出力データと上記アキュムレータの出力デー
タとを入力として加減算を行い、その結果を上記アキュ
ムレータに出力する算術論理ユニットと、を備え、上記
並列乗算器と上記算術論理ユニットとで積和演算を実行
可能に構成したことを特徴とするデジタル・シグナル・
プロセッサ。 - 【請求項3】並列乗算器、算術論理ユニットおよびイン
ストラクションとデータの一対のバスラインを備えたデ
ジタル・シグナル・プロセッサにおいて、上記データ・
バスラインが第1のデータ・バスと第2のデータ・バス
から成り、 上記第1のデータ・バスから第1のレジス
タを介して入力されるデータと、上記第1のデータ・バ
スあるいは上記第2のデータ・バスから第2のレジスタ
を介して入力されるデータとを比較し、最大または最小
のどちらか一方のデータを出力し、それを上記第2のデ
ータバスへ送出する第1の比較器と、上記比較器の出力
を上記第1のデータ・バスに戻す第3のレジスタと、自
身の出力データと上記第2のデータ・バスのデータとを
比較し、最大または最小のどちらか一方のデータを出力
する第2の比較器と、上記第2のデータバスから第5の
レジスタを介して入力されるデータを変換して出力する
マルチプレクサと、上記第2の比較器の出力データと上
記マルチプレクサの出力データとの乗算を行なう並列乗
算器と、上記並列乗算器の出力データを上記第2のデー
タ・バスに戻す第4のレジスタと、与えられたデータを
蓄積してその結果を上記第2のデータバスに出力するア
キュムレータと、上記第4のレジスタの出力データと上
記アキュムレータの出力データとを入力として加減算を
行い、その結果を上記アキュムレータに出力する算術論
理ユニットと、を備え、上記並列乗算器と上記算術論理
ユニットとで積和演算を実行可能に構成したことを特徴
とするデジタル・シグナル・プロセッサ。 - 【請求項4】並列乗算器、算術論理ユニットおよびイン
ストラクションとデータの一対のバスラインを備えたデ
ジタル・シグナル・プロセッサにおいて、上記データ・
バスラインが第1のデータ・バスと第2のデータ・バス
から成り、 上記第1のデータ・バスから入力されるデ
ータと上記第2のデータバスから第1のレジスタを介し
て入力されるデータと、第1のアキュムレータの値とを
比較し、最小値を上記第1のアキュムレータに出力する
第1の比較器と、上記第1のアキュムレータの値と第2
のアキュムレータの値とを比較し、最大値を上記第2の
アキュムレータに出力する第2の比較器と、上記第2の
アキュムレータの値と他の入力との乗算を行なう並列乗
算器と、与えられたデータを蓄積してその結果を上記第
2のデータバスに出力する第3のアキュムレータと、上
記並列乗算器と上記第3のアキュムレータの出力データ
とを入力として加減算を行い、その結果を上記第3のア
キュムレータに出力する算術論理ユニットと、を備え、
上記並列乗算器と上記算術論理ユニットとで積和演算を
実行可能に構成したことを特徴とするデジタル・シグナ
ル・プロセッサ。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP1787391A JP2819842B2 (ja) | 1991-02-08 | 1991-02-08 | デジタル・シグナル・プロセッサ |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP1787391A JP2819842B2 (ja) | 1991-02-08 | 1991-02-08 | デジタル・シグナル・プロセッサ |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH04256168A JPH04256168A (ja) | 1992-09-10 |
JP2819842B2 true JP2819842B2 (ja) | 1998-11-05 |
Family
ID=11955800
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP1787391A Expired - Lifetime JP2819842B2 (ja) | 1991-02-08 | 1991-02-08 | デジタル・シグナル・プロセッサ |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2819842B2 (ja) |
-
1991
- 1991-02-08 JP JP1787391A patent/JP2819842B2/ja not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JPH04256168A (ja) | 1992-09-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPS6347874A (ja) | 算術演算装置 | |
EP0530372B1 (en) | Numerical expression converter and vector processor using the same | |
JP7292297B2 (ja) | 確率的丸めロジック | |
JP2634994B2 (ja) | ファジィ論理電子制御器及びそのメモリ動作方法 | |
JP2819842B2 (ja) | デジタル・シグナル・プロセッサ | |
EP3716043A1 (en) | Information processor, information processing method, and program | |
JPH0690668B2 (ja) | ファジイ演算装置 | |
KR102208274B1 (ko) | 특히 함수 모델을 순수 하드웨어에 기초하여 연산하기 위한 함수 모델 유닛 내에서 사용하기 위한 fma 유닛 | |
JP3778489B2 (ja) | プロセッサ、演算装置及び演算方法 | |
JPS63133270A (ja) | 浮動小数点演算処理装置 | |
JPH07152569A (ja) | 電子コントローラの入力部及びメモリ、並びに所属関係関数値発生方法及び所属関係関数記憶且つ取り出し方法 | |
KR0175974B1 (ko) | 파이프라인 구조에 근거한 곱셈/나눗셈 공유 처리기 구조 | |
US20100030836A1 (en) | Adder, Synthesis Device Thereof, Synthesis Method, Synthesis Program, and Synthesis Program Storage Medium | |
SU1532947A1 (ru) | Устройство дл вычислени свертки | |
CN113033798B (zh) | 一种降低精度损失的装置及方法 | |
JP3435744B2 (ja) | 乗算回路 | |
JPS6395535A (ja) | 演算処理方式 | |
JP2605792B2 (ja) | 演算処理装置 | |
JPH0320864A (ja) | ファジィ計算用ベクトル命令セットを有する情報処理装置 | |
JP2675087B2 (ja) | マイクロコンピュータ | |
Kerlooza et al. | MSB-First Interval-Bounded Variable-Precision Real-Time Arithmetic Unit | |
KR950013120B1 (ko) | 병렬처리에 의한 비퍼지화 회로 | |
US5958001A (en) | Output-processing circuit for a neural network and method of using same | |
JP2798109B2 (ja) | ファジィ集合処理用演算装置、記憶装置および計算機システム | |
JP3017300B2 (ja) | ファジー推論装置 |