(57)【特許請求の範囲】
【請求項１】
変数として整数が与えられるｎ次関数を演算するｎ次関数演算装置において、
縦続接続されたｎ個の級数演算器と、
縦続接続された前記各級数演算器の間及び最終段の前記級数演算器と出力端子との間にそれぞれ接続されたｎ個の積算用加算器と、
初段の前記級数演算器及び前記各積算用加算器に前記ｎ次関数の１つまたは複数の係数に応じた所定の定数をそれぞれ供給する定数発生器と、
前記各級数演算器に前記変数の値に応じた所定の回数のクロック信号をそれぞれ供給して前記所定の回数だけ積算動作を行なわせるタイミング回路と
を有し、前記級数演算器は入力端と出力端との間に縦続接続された加算器とレジスタとを含み、初段の前記級数演算器の加算器には上記所定の定数と初段の前記級数演算器のレジスタの出力とが入力され、初段以外の前記各級数演算器の加算器には前記各積算用加算器の出力と初段以外の前記各級数演算器のレジスタの出力とが入力され、前記各級数演算器のレジスタに前記クロック信号が供給され、前記クロック信号の供給が初段の前記級数演算器のレジスタから後段の前記級数演算器のレジスタに順次に開始されて最終段の前記級数演算器のレジスタに前記変数の値と同じ数のクロック信号が供給されるｎ次関数演算装置。
【請求項２】
変数として整数が与えられるｎ次関数を演算するｎ次関数演算装置において、
縦続接続されたｎ個の級数演算器と、
前記各級数演算器に前記ｎ次関数の１つまたは複数の係数に応じた所定の定数を供給する定数発生器と、
前記各級数演算器に所定のスイッチング信号をそれぞれ供給するスイッチング回路と、
前記各級数演算器に前記変数の値に応じた所定の回数のクロック信号をそれぞれ供給して前記所定の回数だけ積算動作を行なわせるタイミング回路と
を有し、前記級数演算器は入力端と出力端との間に縦続接続された加算器とスイッチとレジスタとを含み、初段の前記級数演算器の加算器には上記所定の定数と初段の前記級数演算器のレジスタの出力とが入力され、初段以外の前記各級数演算器の加算器には前段の前記級数演算器のレジスタの出力と初段以外の前記各級数演算器のレジスタの出力とが入力され、前記各級数演算器のレジスタに前記クロック信号が供給され、前記各級数演算器のスイッチには前記各級数演算器の加算器の出力と前記所定の定数とが入力され、前記スイッチング信号に応じて前記加算器の出力又は前記所定の定数の一方を前記レジスタに供給し、前記クロック信号の供給が初段の前記級数演算器のレジスタから後段の前記級数演算器のレジスタに順次に開始されて最終段の前記級数演算器のレジスタに前記変数の値と同じ数のクロック信号が供給されるｎ次関数演算装置。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
本発明は、変数として整数が与えられるｎ次関数を演算するｎ次関数演算装置に関する。
【０００２】
【従来の技術】
ｎ次関数は、一般にｆ(x) ＝ａ0 ＋ａ1・ｘ＋ａ2・ｘ2 ……＋ａn・ｘn と表される。この一般式において、０次項（初項）のａ0 は定数であり、１次項のａ1・ｘは係数ａ1 と変数ｘとの積であり、２次項のａ2・ｘ2 は係数ａ2 と変数ｘの２乗ｘ2 との積であり、…ｎ次項のａn・ｘn は係数ａn と変数ｘのｎ乗ｘn との積であり、ｎ次関数ｆ(x) はこれらｎ項の和である。
【０００３】
図１０に、一例として２次関数ｆ(x) ＝ａ0 ＋ａ1・ｘ＋ａ2・ｘ2 を演算する従来の２次関数演算装置の回路構成を示す。この２次関数演算装置は、３つの乗算器２０２，２０４，２０６と２つの加算器２０８，２１０とから構成される。乗算器２０４，２０６および加算器２１０の一方の入力端子には、係数発生器（図示せず）より各項の係数ａ2 ，ａ1 ，ａ0 の値がそれぞれ与えられる。
【０００４】
装置入力端子２００に入力された変数ｘの値は、乗算器２０２の両入力端子と乗算器２０６の他方の入力端子とに与えられる。乗算器２０２は、その両入力端子に与えられたｘ，ｘを乗算し、積ｘ2 を出力する。乗算器２０２の出力ｘ2 は乗算器２０４の他方の入力端子に与えられる。乗算器２０４は、乗算器２０２からのｘ2 と係数発生器からのａ2 とを乗算し、積ａ2・ｘ2 を出力する。乗算器２０４の出力ａ2・ｘ2 は加算器２０８の一方の入力端子に与えられる。
【０００５】
他方、乗算器２０６は、装置入力端子２００からのｘと係数発生器からのａ1 とを乗算し、積ａ1・ｘを出力する。乗算器２０６の出力ａ1・ｘは加算器２０８の他方の入力端子に与えられる。加算器２０８は、乗算器２０４からのａ2・ｘ2 と乗算器２０６からのａ1・ｘとを加算し、和（ａ1・ｘ＋ａ2・ｘ2 ）を出力する。加算器２０８の出力（ａ1・ｘ＋ａ2・ｘ2 ）は加算器２１０の他方の入力端子に与えられる。加算器２１０は、加算器２０８からの（ａ1・ｘ＋ａ2・ｘ2 ）と係数発生器からのａ0 とを加算し、和（ａ0 ＋ａ1・ｘ＋ａ2・ｘ2 ）を出力する。
【０００６】
このように、この２次関数演算装置においては、第１サイクルで乗算器２０２が乗算（ｘ×ｘ）を行い、第２サイクルで乗算器２０４が乗算（ａ2 ×ｘ2 ）を行い、第１〜第２サイクルで乗算器２０６が乗算（ａ1 ×ｘ）を行い、第３サイクルで加算器２０８が加算（ａ1・ｘ＋ａ2・ｘ2 ）を行い、第４サイクルで加算器２１０が加算（ａ0 ＋ａ1・ｘ＋ａ2・ｘ2 ）を行う。したがって、１つの変数値に対する全演算時間は４サイクルであり、変数ｘが入力される度毎に４サイクルの演算動作が繰り返される。
【０００７】
【発明が解決しようとする課題】
このように、従来のｎ次関数演算装置は、入力された変数ｘの値に対してｎ次関数ｆ(x) ＝ａ0 ＋ａ1・ｘ＋ａ2・ｘ2 ……＋ａn・ｘn の１次項からｎ次項までの各項の値ａi・ｘi を乗算器によって演算し、それら各項の値ａi・ｘi の和さらにはそれに初項ａo を加えた和を加算器によって演算する回路構成であった。かかる回路構成においては、ｎ（ｎ＋１）／２個の乗算器を必要とする。実際、上記した従来の２次関数演算装置では、３個の乗算器（２０２，２０４，２０６）を用いている。しかし、乗算器は加算器と比較して回路面積が格段に大きく、コストもずっと高い。このため、従来のｎ次関数演算装置は、回路規模が大きく、装置価格が高くついていた。
【０００８】
また、従来のｎ次関数演算装置では、変数ｘが入力される度毎に最初（リセット状態）から演算動作を行うため、変数ｘの値がたとえば１０，１１，１２，…と連続的にインクリメントする場合でも、１つの変数値に対する演算時間（二次関数の場合は４サイクル）を毎回繰り返されなければならず、高速演算ができなかった。
【０００９】
本発明は、かかる問題点に鑑みてなされたもので、乗算器を用いない小規模・低コストな回路構成であって、変数ｘの値が連続的にインクリメントするようなｎ次関数を高速演算できるｎ次関数演算装置を提供することを目的とする。
【００１０】
【課題を解決するための手段】
上記目的を達成するために、本発明の第１のｎ次関数演算装置は、変数として整数が与えられるｎ次関数を演算するｎ次関数演算装置であって、縦続接続されたｎ個の級数演算器と、縦続接続された前記各級数演算器の間及び最終段の前記級数演算器と出力端子との間にそれぞれ接続されたｎ個の積算用加算器と、初段の前記級数演算器及び前記各積算用加算器に前記ｎ次関数の１つまたは複数の係数に応じた所定の定数をそれぞれ供給する定数発生器と、前記各級数演算器に前記変数の値に応じた所定の回数のクロック信号をそれぞれ供給して前記所定の回数だけ積算動作を行なわせるタイミング回路とを有し、前記級数演算器は入力端と出力端との間に縦続接続された加算器とレジスタとを含み、初段の前記級数演算器の加算器には上記所定の定数と初段の前記級数演算器のレジスタの出力とが入力され、初段以外の前記各級数演算器の加算器には前記各積算用加算器の出力と初段以外の前記各級数演算器のレジスタの出力とが入力され、前記各級数演算器のレジスタに前記クロック信号が供給され、前記クロック信号の供給が初段の前記級数演算器のレジスタから後段の前記級数演算器のレジスタに順次に開始されて最終段の前記級数演算器のレジスタに前記変数の値と同じ数のクロック信号が供給される構成とした。
また、本発明の第２のｎ次関数演算装置は、変数として整数が与えられるｎ次関数を演算するｎ次関数演算装置であって、縦続接続されたｎ個の級数演算器と、前記各級数演算器に前記ｎ次関数の１つまたは複数の係数に応じた所定の定数を供給する定数発生器と、前記各級数演算器に所定のスイッチング信号をそれぞれ供給するスイッチング回路と、前記各級数演算器に前記変数の値に応じた所定の回数のクロック信号をそれぞれ供給して前記所定の回数だけ積算動作を行なわせるタイミング回路とを有し、前記級数演算器は入力端と出力端との間に縦続接続された加算器とスイッチとレジスタとを含み、初段の前記級数演算器の加算器には上記所定の定数と初段の前記級数演算器のレジスタの出力とが入力され、初段以外の前記各級数演算器の加算器には前段の前記級数演算器のレジスタの出力と初段以外の前記各級数演算器のレジスタの出力とが入力され、前記各級数演算器のレジスタに前記クロック信号が供給され、前記各級数演算器のスイッチには前記各級数演算器の加算器の出力と前記所定の定数とが入力され、前記スイッチング信号に応じて前記加算器の出力又は前記所定の定数の一方を前記レジスタに供給し、前記クロック信号の供給が初段の前記級数演算器のレジスタから後段の前記級数演算器のレジスタに順次に開始されて最終段の前記級数演算器のレジスタに前記変数の値と同じ数のクロック信号が供給される構成とした。
【００１１】
【作用】
本発明では、第１段の級数演算器の出力が第２段の級数演算器によって積算され、第２段の級数演算器の出力が第３段の級数演算器によって積算され、……、第（ｎ−１）段の級数演算器の出力が第ｎ段の級数演算器によって積算される。各段の級数演算器に入力される定数は、加算器より与えられてもよく、前段の級数演算器の出力の中に含まれるデータとして与えられてもよい。
【００１２】
通常は、最初に第１段の級数演算器に１つ目のクロックが与えられ、次に第１段の級数演算器に２つ目のクロックが与えられると同時に第２段の級数演算器に１つ目のクロックが与えられ、次に第１段および第２段の級数演算器にそれぞれ３つ目のクロックおよび２つ目のクロックが与えられると同時に第３段の級数演算器に１つ目のクロックが与えられるというようなタイミング制御が行われる。
【００１３】
変数ｘ（整数）が与えられると、第１段の級数演算器が｛ｘ＋（ｎ−１）｝回だけ積算動作を行い、第２段の級数演算器が｛ｘ＋（ｎ−２）｝回だけ積算動作を行い、……、第ｎ段の級数演算器がｘ回だけ積算動作を行った時点で、第ｎ段の級数演算器の出力側にｎ次関数の演算結果が得られる。
【００１４】
【実施例】
以下、図１〜図９を参照して本発明の実施例を説明する。
【００１５】
先ず、図１〜図３につき本発明の基本的技法を説明する。初項ｂo 、公差ｄの等差数列において、初項からＮ項までの和は次の級数で表される。
(k=1〜N)Σｅk ＝Ｎ｛２ｂo ＋（Ｎ＋１）ｄ｝／２    ……（１）
【００１６】
公差ｄが０の場合、初項ｂo をａ1 （定数）とおくと、上式（１）から次の式が導かれる。
(k=1〜N)Σａ1 ＝ａ1・Ｎ                ……（２）
【００１７】
式（２）において、Ｎ（整数）を変数のｘ（整数）に置き換えて、左辺と右辺を互いに置き換えると、次のようになる。
ａ1・ｘ＝(k=1〜x)Σａ1                 ……（３）
【００１８】
つまり、変数ｘが整数であるｎ次関数ｆ(x) ＝ａ0 ＋ａ1・ｘ＋ａ2・ｘ2 ……＋ａn・ｘn の１次項ａ1・ｘは、係数ａ1 の級数（ｋ＝１〜ｘ）として表される。ハードウェアレベルでみると、係数ａ1 と変数ｘとを乗算する乗算器を、図１に示すような級数演算器１０に置き換えることができる。
【００１９】
図１において、この級数演算器１０は、１つの加算器１２と１つのレジスタ１４とから構成される。加算器１２の一方の入力端子には定数発生器（図示せず）より係数ａ1 に相当する定数ａ1 が与えられる。加算器１２の出力端子はレジスタ１４の入力端子に接続され、レジスタ１４の出力端子は加算器１２の他方の入力端子に接続されている。レジスタ１４にはクロック回路（図示せず）よりクロックＣＬＫが与えられる。
【００２０】
この級数演算器１０の動作は次のようになる。リセット状態で、加算器１２の出力はａ1 、レジスタ１４の保持内容または出力は０になっている。先ず、レジスタ１４に１つの目のクロックＣＬＫが与えられると、加算器１２の出力ａ1 がレジスタ１４にロードされ、レジスタ１４の出力はａ1 になる。レジスタ１４の出力ａ1 は加算器１２の他方の入力端子に与えられ、加算器１２は両入力ａ1 ，ａ1 を加算してその和２ａ1 を出力する。２つ目のクロックＣＬＫがレジスタ１４に与えられると、加算器１２の出力２ａ1 がレジスタ１４にロードされ、レジスタ１４の出力が２ａ1 に更新され、この直後に加算器１２の出力が３ａ1 になる。このように、レジスタ１４にＮ個のクロックＣＬＫが与えられると、その時点で、レジスタ１４の出力はＮ・ａ1 になる。
【００２１】
したがって、レジスタ１４に変数ｘ（整数）の値に等しい数のクロックＣＬＫを与えて、級数演算器１０にｘ回の積算動作を行わせることで、ｎ次関数ｆ(x) の１次項ａ1・ｘの演算結果を得ることができる。
【００２２】
再び式（１）において、公差ｄを１、初項ａo を０とすると、次の式が導かれる。
(k=1〜N)Σｋ＝Ｎ・（Ｎ＋１）／２        ……（４）
【００２３】
式（４）において、Ｎ（整数）を変数のｘ（整数）に置き換えると、次のようになる。
(k=1〜x)Σｋ＝ｘ・（ｘ＋１）／２        ……（５）
【００２４】
式（５）は次の式に変形できる。
ｘ2 ＝２(k=1〜x)Σｋ−ｘ
＝(k=1〜x)Σ２ｋ−ｘ
＝(k=1〜x)Σ｛(i=1〜k)Σ２｝−(k=1〜x)Σ１
＝(k=1〜x)Σ｛(i=1〜k)Σ２−１｝            ……（６）
【００２５】
式（６）の左辺および右辺にそれぞれ係数ａ2 を乗算すると、次の式が得られる。
ａ2・ｘ2 ＝ａ2・(k=1〜x)Σ｛(i=1〜k)Σ２−１｝
＝(k=1〜x)Σ｛(i=1〜k)Σ２ａ2 −ａ2 ｝    ……（７）
【００２６】
つまり、変数ｘが整数であるｎ次関数ｆ(x) ＝ａ0 ＋ａ1・ｘ＋ａ2・ｘ2 ……＋ａn・ｘn の２次項ａ2・ｘ2 は、式（７）の右辺の級数として表される。式（７）の右辺の級数を演算するハードウェアは、図２に示すような演算回路１６によって実現される。
【００２７】
図２において、この演算回路１６は、２つのレジスタ１８，２０と３つの加算器２２，２４，２６とからなる。加算器２２とレジスタ１８とが第１段の級数演算器２８を構成し、加算器２６とレジスタ２０とが第２段の級数演算器３０を構成し、これら第１段の級数演算器２８と第２段の級数演算器３０は加算器２４を介して縦続接続される。加算器２２，２４の一方の入力端子には、定数発生器（図示せず）より係数ａ2 に応じた定数２ａ2 ，−ａ2 がそれぞれ与えられる。両レジスタ１８，２０には、クロック回路（図示せず）より同期したクロックＣＬＫi ，ＣＬＫk がそれぞれ与えられる。
【００２８】
図３のテーブルを参照してこの演算回路１６の動作を説明する。リセット状態で第１段の級数演算器２８の出力＃１は０、加算器２４の出力＃２は０、第２段の級数演算器３０の出力＃３は０になっている。ただし、第１段の級数演算器２８において加算器２２の出力は２ａ2 になっている。
【００２９】
先ず、第１段の級数演算器２８において、レジスタ１８に１つ目のクロックＣＬＫi が与えられると、加算器２２の出力２ａ2 がレジスタ１８にロードされ、レジスタ１８の出力が２ａ2 になる。このレジスタ１８の出力２ａ2 は加算器２２，２４に与えられる。加算器２２は両入力２ａ2 ，２ａ2 を加算して和４ａ2 を出力する。加算器２４は両入力２ａ2 ，−ａ2 を加算して和ａ2 を出力する。この加算器２４の出力ａ2 は第２段の級数演算器３０の加算器２６に与えられ、加算器２６の出力はａ2 になる。
【００３０】
次に、第１段の級数演算器２８において、レジスタ１８に２つの目のクロックＣＬＫi が与えられと、加算器２４の出力４ａ2 がレジスタ１８にロードされ、レジスタ１８の出力が４ａ2 になり、その直後に加算器２４の出力が６ａ2 （４ａ2 ＋２ａ2 ）になる。レジスタ１８の出力が４ａになることによって、加算器２４の出力は３ａ2 になる。一方、第２段の級数演算器３０において、レジスタ２０に１つの目のクロックＣＬＫk が与えられると、加算器２６の出力ａ2 がレジスタ２０にロードされ、レジスタ２０の出力はａ2 になり、その直後に加算器２６の出力が４ａ2 （３ａ2 ＋ａ2 ）になる。
【００３１】
次に、第１段の級数演算器２８においてレジスタ１８に３つの目のクロックＣＬＫi が与えられると同時に、第２段の級数演算器３０においてレジスタ２０に２つ目のクロックＣＬＫk が与えられると、各部で上記と同様の動作が行われることにより、レジスタ１８の出力は６ａ2 、加算器２２の出力は８ａ2 （６ａ2 ＋２ａ2 ）、加算器２４の出力は５ａ2 、レジスタ２０の出力は４ａ2 、加算器２６の出力は９ａ2 （５ａ2 ＋４ａ2 ）になる。以下、クロックＣＬＫi ，ＣＬＫk をレジスタ１８，２０に与える度毎に、上記と同様の動作が繰り返され、各部に図３に示すようなデータが得られる。レジスタ２０の出力つまり第２段の級数演算器３０の出力＃３に注目すると、クロックＣＬＫk が変数ｘの値に対応する数だけ与えられた時点で、ａ2・ｘ2 の演算結果が得られることがわかる。
【００３２】
このように、図２の演算装置１６においては、レジスタ１８に変数ｘの値よりも１つ多い（ｘ＋１）個のクロックＣＬＫi を与えて第１段の級数演算器２８に積算動作を（ｘ＋１）回だけ行わせるとともに、これと同期してレジスタ２０に変数ｘの値に相当するｘ個のクロックＣＬＫk を与えて第２段の級数演算器３０に積算動作をｘ回だけ行わせることによって、ｎ次関数ｆ(x) の２次項ａ2・ｘ2 の演算結果が得られる。したがって、変数ｘが１つずつインクリメントする場合は、そのインクリメントに合わせてクロックＣＬＫi ，ＣＬＫk をそれぞれ１個ずつレジスタ１８，２０に与えることで、図３に示すように、１クロック周期で各変数値ｘに対するａ2・ｘ2 の演算結果を得ることができる。
【００３３】
次に、ｎ次関数ｆ(x) ＝ａ0 ＋ａ1・ｘ＋ａ2・ｘ2 ……＋ａn・ｘn の各項を同時に演算する本発明のｎ次関数演算装置について説明する。先ず、本発明による２次関数演算装置について説明する。上式（３）、（７）より、２次関数ｆ(x) ＝ａ0 ＋ａ1・ｘ＋ａ2・ｘ2 は次のように変形できる。
ｆ(x) ＝ａ0 ＋(k=1〜x)Σａ1 ＋(k=1〜x)Σ｛(i=1〜k)Σ２ａ2 −ａ2 ｝
＝ａ0 ＋(k=1〜x)Σ｛(i=1〜k)Σ２ａ2 ＋（ａ1 −ａ2 ）｝……（８）
【００３４】
図４は、上式（８）の右辺を演算する本発明の一実施例による２次関数演算装置の回路構成を示す。この２次関数演算装置は、縦続接続された２つの級数演算器３２，３８を有する。第１段の級数演算器３２は１つの加算器３４と１つのレジスタ３６とからなり、第２段の級数演算器３８は１つの加算器４０と１つのレジスタ４２とからなる。これら２つの級数演算器３２，３８の間には加算器４４が挿入され、第２段の級数演算器３８の出力端子と装置出力端子４６との間には加算器４８が挿入されている。
【００３５】
第１段の級数演算器３２の加算器３４の一方の入力端子には、定数発生器５０より２次関数ｆ(x) の２次項の係数ａ2 に応じた定数２ａ2 が与えられる。加算器４４の一方の入力端子には、定数発生器５２より２次関数ｆ(x) の１次項の係数ａ1 と２次項の係数ａ2 に応じた定数（ａ1 −ａ2 ）が与えられる。加算器４８の一方の入力端子には、定数発生器５４より２次関数ｆ(x) の０次項（初項）の係数ａ0 に応じた定数ａ0 が与えられる。第１段の級数演算器３２のレジスタ３６には、クロック回路５６より変数ｘ（整数）の値より１つ多い数のクロックＣＬＫi が与えられる。第２段の級数演算器３８のレジスタ４２には、クロック回路５６より変数ｘ（整数）の値に等しい数のクロックＣＬＫk が与えられる。クロック回路５６は、入力端子５８より変数ｘ（整数）を入力すると、最初にクロックＣＬＫi を１個だけレジスタ３６に与え、次に両クロックＣＬＫi ，ＣＬＫk を同期させてｘ個だけ両レジスタ３６，４２に与えるようになっている。
【００３６】
この２次関数演算装置では、２次項ａ2・ｘ2 に対しては、縦続接続された第１段および第２段の級数演算器３２，３８において上記した図２の演算装置１６と同様な動作が行われる。１次項ａ1・ｘについては、定数発生器５２より加算器４４に与えられる定数（ａ1 −ａ2 ）に１次項の係数ａ1 が含まれることにより、第２段の級数演算器３８において上記した図１の級数演算器１０と同様な動作が行われる。初項ａ0 については、第２段の級数演算器３８の出力側に設けられた加算器４８において定数発生器５４からの定数ａ0 が加えられる。
【００３７】
図５は、この２次関数演算装置において、変数ｘ（整数）に対してクロックＣＬＫi ，ＣＬＫk がそれぞれ（ｘ＋１）個、ｘ個与えられた時点でレジスタ３６の出力＃１、加算器４４の出力＃２、レジスタ４２の出力＃３、加算器４８の出力＃４にそれぞれ得られるデータの値を示す。加算器４８の出力＃４つまり装置出力端子４６に得られるデータに注目すると、クロックＣＬＫk が変数ｘの値に対応する数だけ与えられた時点で、変数ｘに対する２次関数ｆ(x) ＝ａ0 ＋ａ1・ｘ＋ａ2・ｘ2 の演算結果が得られることがわかる。
【００３８】
このように、この実施例の２次関数演算装置においては、レジスタ３６に変数ｘの値よりも１つ多い（ｘ＋１）個のクロックＣＬＫi を与えて第１段の級数演算器３２に（ｘ＋１）回だけ積算動作を行わせるとともに、これと同期してレジスタ４２に変数ｘの値に相当するｘ個のクロックＣＬＫk を与えて第２段の級数演算器３８にｘ回だけ積算動作を行わせることで、２次関数ｆ(x) ＝ａ0 ＋ａ1・ｘ＋ａ2・ｘ2 の演算結果が得られる。したがって、変数ｘが１つずつインクリメントする場合は、そのインクリメントに合わせてクロックＣＬＫi ，ＣＬＫk をそれぞれ１個ずつレジスタ３６，４２に与えることで、図５に示すように、１クロック周期で各変数値ｘに対する２次関数ｆ(x) ＝ａ0 ＋ａ1・ｘ＋ａ2・ｘ2 の演算結果を得ることができる。
【００３９】
図６は、図４の２次関数演算装置の一変形例を示す。この変形例では、図４の演算装置に含まれていた加算器４４，４８が削除され、代わりに第１段および第２段の級数演算器３２，３８内にスイッチ６０，６２が設けられている。第１段の級数演算器３２において、スイッチ６０の一方の入力端子は加算器３４の出力端子に接続され、他方の入力端子は定数発生器５２の出力端子に接続され、出力端子はレジスタ３６の入力端子に接続されている。第２段の級数演算器３８において、スイッチ６２の一方の入力端子は加算器４０の出力端子に接続され、他方の入力端子は定数発生器５４の出力端子に接続され、出力端子はレジスタ４２の入力端子に接続されている。両スイッチ６０，６２はスイッチ制御回路６４からのスイッチ制御信号ＳＷ1 ，ＳＷ2 によって制御される。
【００４０】
図７に、クロックＣＬＫi ，ＣＬＫk とスイッチ制御信号ＳＷ1 ，ＳＷ2 間のタイミング関係を示す。リセット状態では、スイッチ制御信号ＳＷ1 ，ＳＷ2 がそれぞれＨレベルで、スイッチ６０，６２はそれぞれ定数発生器５２，５４側に切り替わっており、レジスタ３６，４２にはそれぞれ定数（ａ1 −ａ2 ），ａ0 が初期値として格納されている。
【００４１】
そして、クロック回路５６より１つ目のクロックＣＬＫi(1)が出力される直前にスイッチ制御信号ＳＷ1 がＨレベルからＬレベルに変わり、スイッチ６０が加算器３４側に切り替わる。これにより、１つ目のクロックＣＬＫi がレジスタ３６に与えられて、加算器３４の出力２ａ2 がレジスタ３６にロードされると、レジスタ３６の保持内容は（ａ1 ＋ａ2 ）になり、このレジスタ３６の出力（ａ1 ＋ａ2 ）が第２段の級数演算器３８の加算器４０に与えられる。
【００４２】
次に、クロック回路５６よりクロックＣＬＫi ，ＣＬＫk が出力される直前にスイッチ制御信号ＳＷ2 がＨレベルからＬレベルに変わり、スイッチ６２が加算器４０側に切り替わる。これにより、２つ目のクロックＣＬＫi(2)がレジスタ３６に与えられると同時に１つ目のクロックＣＬＫk(1)がレジスタ４２に与えられると、レジスタ３６の保持内容および出力は（ａ1 ＋３ａ2 ）になり、レジスタ４２の保持内容および出力は（ａ0 ＋ａ1 ＋ａ2 ）になる。次に、３つ目のクロックＣＬＫi(3)がレジスタ３６に与えられ、それと同時に２つ目のクロックＣＬＫk(2)がレジスタ４２に与えられると、レジスタ３６の保持内容および出力は（ａ1 ＋５ａ2 ）になり、レジスタ４２の保持内容および出力は（ａ0 ＋２ａ1 ＋４ａ2 ）になる。
【００４３】
このように、この２次関数演算装置においては、第１段の級数演算器３２の出力に図４の２次関数演算装置における加算器４４の出力と同じ演算値が得られ、第２段の級数演算器３８の出力に図４の２次関数演算装置における加算器４８の出力と同じ演算値（演算結果）が得られる。
【００４４】
次に、本発明による３次関数演算装置について説明する。本発明によれば、３次関数ｆ(x) ＝ａ0 ＋ａ1・ｘ＋ａ2・ｘ2 ＋ａ3・ａ3 は次のように変形できる。
ｆ(x) ＝ａ0 ＋(k=1〜x)Σａ1 ＋(k=1〜x)Σ｛(j=1〜k)Σ２ａ2 −ａ2 ｝
＋(k=1〜x)Σ［(j=1〜k)Σ｛(i=1〜j)Σ６ａ3 −６ａ3 ｝＋ａ3
＝ａ0 ＋(k=1〜x)Σ［(j=1〜k)Σ｛(i=1〜j)Σ６ａ3
＋（２ａ2 −６ａ3 ）｝＋（ａ1 −ａ2 ＋ａ3 ）］    ……（９）
【００４５】
図８は、上式（９）の右辺を演算する本発明の一実施例による３次関数演算装置の回路構成を示す。この３次関数演算装置は、縦続接続された３つの級数演算器７０，７６，８２を有する。第１段の級数演算器７０は１つの加算器７２と１つのレジスタ７４とからなり、第２段の級数演算器７６は１つの加算器７８と１つのレジスタ８０とからなり、第３段の級数演算器８２は１つの加算器８４と１つのレジスタ８６とからなる。第１段の級数演算器７０と第２段の級数演算器７６との間に加算器８８が挿入され、第２段の級数演算器７６と第３段の級数演算器８２との間に加算器９０が挿入され、第３段の級数演算器８２の出力端子と装置出力端子９２との間に加算器９４が挿入されている。
【００４６】
第１段の級数演算器７０の加算器７２の一方の入力端子には、定数発生器９６より３次関数ｆ(x) の３次項の係数ａ3 に応じた定数６ａ3 が与えられる。加算器８８の一方の入力端子には、定数発生器９８より３次関数ｆ(x) の２次項および３次項の係数ａ2 ，ａ3 に応じた定数（２ａ2 −６ａ3 ）が与えられる。加算器９０の一方の入力端子には、定数発生器１００より３次関数ｆ(x) の１次項、２次項および３次項の係数ａ1 ，ａ2 ，ａ3 に応じた定数（ａ1 −ａ2 ＋ａ3 ）が与えられる。加算器９４の一方の入力端子には、定数発生器１０２より３次関数ｆ(x) の０次項（初項）の係数ａ0 に応じた定数ａ0 が与えられる。
【００４７】
第１段の級数演算器７０のレジスタ７４には、クロック回路１０４より変数ｘ（整数）の値よりも２つ多い数のクロックＣＬＫi が与えられる。第２段の級数演算器７６のレジスタ８０には、クロック回路１０４より変数ｘ（整数）の値よりも１つ多い数のクロックＣＬＫj が与えられる。第３段の級数演算器８２のレジスタ８６には、クロック回路１０４より変数ｘ（整数）の値に等しい数のクロックＣＬＫk が与えられる。クロック回路１０４は、入力端子１０６より変数ｘ（整数）を入力すると、最初に１つの目のクロックＣＬＫi をレジスタ７４に与え、次に２つ目のクロックＣＬＫi と１つ目のクロックＣＬＫj を同期させてレジスタ７４，８０に与え、次に３つ目のクロックＣＬＫi と２つ目のクロックＣＬＫj と１つ目のクロックＣＬＫk を同期させてレジスタ７４，８０，８６に与え、以下クロックＣＬＫi ，ＣＬＫj ，ＣＬＫk を同期させてそれぞれ（ｘ−１）個だけレジスタ７４，８０，８６に与える。
【００４８】
図９は、この３次関数演算装置において、変数ｘ（整数）に対してクロックＣＬＫi ，ＣＬＫj ，ＣＬＫk がレジスタ７４，８０，８６にそれぞれ（ｘ＋２）個、（ｘ＋１）個、ｘ個与えられた時点で、レジスタ７４の出力＃１、加算器８８の出力＃２、レジスタ８０の出力＃３、加算器９０の出力＃４、レジスタ８６の出力＃５および加算器９４の出力＃６にそれぞれ得られるデータの値を示す。
【００４９】
第１段の級数演算器７０は、クロックＣＬＫi に応動して定数発生器９６からの定数６ａ3 を積算し、レジスタ７４の出力＃１に(i=1〜j)Σ６ａ3 の演算値を得る。加算器８８は、レジスタ７４の出力＃１に定数（２ａ2 −６ａ3 ）を加算し、出力＃２に｛(i=1〜j)Σ６ａ3 ＋（２ａ2 −６ａ3 ）｝の演算値を得る。
【００５０】
第２段の級数演算器７６は、クロックＣＬＫj に応動して加算器８８の出力＃２つまり｛(i=1〜j)Σ６ａ3 ＋（２ａ2 −６ａ3 ）｝を積算し、レジスタ８０の出力＃３に(j=1〜k)Σ｛(i=1〜j)Σ６ａ3 −（２ａ2 −６ａ3 ）｝の演算値を得る。加算器９０は、レジスタ８０の出力＃３に定数（ａ1 −ａ2 ＋ａ3 ）を加算し、その出力＃４に［(j=1〜k)Σ｛(i=1〜j)Σ６ａ3 ＋（２ａ2 −６ａ3 ）｝＋（ａ1 −ａ2 ＋ａ3 ）］の演算値を得る。
【００５１】
第３段の級数演算器８２は、クロックＣＬＫk に応動して加算器９０の出力＃４つまり［(j=1〜k)Σ｛(i=1〜j)Σ６ａ3 ＋（２ａ2 −６ａ3 ）｝＋（ａ1 −ａ2 ＋ａ3 ）］を積算し、レジスタ８６の出力＃５に(k=1〜x)Σ［(j=1〜k)Σ｛(i=1〜j)Σ６ａ3 ＋（２ａ2 −６ａ3 ）｝＋（ａ1 −ａ2 ＋ａ3 ）］の演算値を得る。加算器９４は、レジスタ８６の出力＃５に定数ａ0 を加算し、その出力＃６に上式（９）の右辺の演算値を得る。図９に示すように、加算器９４の出力＃６つまり装置出力端子９２に得られるデータに注目すると、クロックＣＬＫk が変数ｘの値に対応する数だけ与えられた時点で、変数ｘに対する３次関数ｆ(x) ＝ａ0 ＋ａ1・ｘ＋ａ2・ｘ2 ＋ａ3・ｘ3 の演算結果が得られることがわかる。
【００５２】
このように、この実施例の３次関数演算装置においては、レジスタ７４，８０に変数ｘの値よりもそれぞれ２つ多い（ｘ＋２）個、１つ多い（ｘ＋１）個のクロックＣＬＫi ，ＣＬＫj を与えて第１段および第２段の級数演算器７０，７６に積算動作をそれぞれ（ｘ＋２）、（ｘ＋１）回だけ行わせるとともに、それらと同期してレジスタ８６に変数ｘの値に相当するｘ個のクロックＣＬＫk を与えて第３段の級数演算器８２に積算動作をｘ回だけ行わせることによって、３次関数ｆ(x) ＝ａ0 ＋ａ1・ｘ＋ａ2・ｘ2 ＋ａ3・ｘ3 の演算結果が得られる。したがって、変数ｘが１つずつインクリメントする場合は、そのインクリメントに合わせてクロックＣＬＫi ，ＣＬＫj ，ＣＬＫk をそれぞれ１個ずつレジスタ７４，８０，８６に与えることによって、図９に示すように、１クロック周期で各変数値ｘに対する３次関数ｆ(x) ＝ａ0 ＋ａ1・ｘ＋ａ2・ｘ2 ＋ａ3・ｘ3 の演算結果を得ることができる。
【００５３】
この３次関数演算装置についても、上記２次関数演算装置と同様にして、各段の級数演算器間の加算器８８，９０，９４を削除することができる。また、４次以上のｎ次関数についても、上記と同様の原理で本発明のｎ次関数演算装置を構成することができる。
【００５４】
【発明の効果】
以上説明したように、本発明によれば、級数演算器をｎ段に縦続接続して、定数発生器より各段の級数演算器にｎ次関数の１つまたは複数の係数に応じた所定の定数を与え、各段の級数演算器に変数の値に応じた所定の回数だけ積算動作を行わせることによってｎ次関数の演算結果を得るようにしたので、乗算器が不要であり、小規模の回路構成で低コストなｎ次関数演算装置を実現することができる。さらに、本発明のｎ次関数演算装置は、変数がインクリメントする場合に、クロック周期でｎ次関数の演算結果を逐次出力することができるという格別な効果を奏する。
【図面の簡単な説明】
【図１】本発明で用いられる級数演算器の回路構成を示すブロック図である。
【図２】ｎ次関数の２次項を級数演算する演算装置の構成を示すブロック図である。
【図３】図２の演算装置においてクロックをｉ個与えたときの各部のデータの値を示す表である。
【図４】本発明の一実施例による２次関数演算装置の構成を示すブロック図である。
【図５】図４の２次関数演算装置において第１および第２段の級数演算器にそれぞれクロックＣＬＫi,ＣＬＫk を同期させて（ｘ＋１）個、ｘ個与えたときの各部のデータの値を示す表である。
【図６】一変形例による２次関数演算装置の構成を示すブロック図である。
【図７】図５の２次関数演算装置におけるスイッチ制御のタイミングを示すタイミング図である。
【図８】本発明の一実施例による３次関数演算装置の構成を示すブロック図である。
【図９】図８の３次関数演算装置において第１、第２および第３段の級数演算器にそれぞれクロックＣＬＫi,ＣＬＫj,ＣＬＫk を同期させて（ｘ＋２）個、（ｘ＋１）個、ｘ個与えたときの各部のデータの値を示す表である。
【図１０】従来の２次関数演算装置の構成を示すブロック図である。
【符号の説明】
３２，７４      第１段の級数演算器
３８，７６      第２段の級数演算器
８２      第３段の級数演算器
５０，５２，５４，９６，９８，１００，１０２      定数発生器
５６，１０４      クロック回路
【図１】
0003867279.tif 000002
【図２】
0003867279.tif 000003
【図３】
0003867279.tif 000004
【図４】
0003867279.tif 000005
【図５】
0003867279.tif 000006
【図６】
0003867279.tif 000007
【図７】
0003867279.tif 000008
【図８】
0003867279.tif 000009
【図１０】
0003867279.tif 000010
【図９】
0003867279.tif 000011