(57)【要約】【課題】演算回路の高速化を図る。【解決手段】演算方法が入力データの値によって複数の演算方法の内の１つに決まる単位演算を行い、該単位演算の演算結果を次の単位演算の入力データとして演算することを繰り返し、該繰り返しによって得られる前記単位演算の連続する１〜ｎ段目までの各段の演算結果を更新機会ごとに保持し出力する演算回路において、前記単位演算を１段の演算で得る１又は２以上の単位演算回路２と、前記単位演算を複数段繰り返して得られる結果を一括して１段の演算で得る１又は２以上の一括演算回路５とを備え、前記単位演算回路２の演算結果および前記一括演算回路５の演算結果を、それぞれ前記１〜ｎ段目までの演算結果の内の所定の段数目の演算結果とする。【選択図】図１
2011013928.tif 000002
【特許請求の範囲】
【請求項１】
演算方法が入力データの値によって複数の演算方法の内の１つに決まる単位演算を行い、該単位演算の演算結果を次の単位演算の入力データとして演算することを繰り返し、該繰り返しによって得られる１〜ｎ（ｎ：３以上の正の整数）段目までの各段の演算結果を更新機会ごとに保持し出力する演算回路において、
前記単位演算を１段の演算で得る１又は２以上の単位演算回路と、前記単位演算を複数段繰り返して得られる結果を一括して１段の演算で得る１又は２以上の一括演算回路とを備え、
前記単位演算回路の演算結果および前記一括演算回路の演算結果を、それぞれ前記１〜ｎ段目までの演算結果の内の所定の段数目の演算結果とすることを特徴とする演算回路。
【請求項２】
請求項１に記載の演算回路において、
前記一括演算回路と、１又は２以上が縦続接続され該一括演算回路の演算結果が先頭に入力する前記単位演算回路とからなる組を有することを特徴とする演算回路。
【請求項３】
請求項１に記載の演算回路において、
１又は２以上が縦続接続された前記単位演算回路と、該縦続接続された該単位演算回路の途中又は最後の単位演算回路の演算結果を入力する前記一括演算回路とからなる組を有することを特徴とする演算回路。
【請求項４】
請求項２又は３に記載の演算回路において、
前記組を複数組だけ入力側に対して並列接続したことを特徴とする演算回路。
【請求項５】
請求項１乃至４のいずれか１つに記載の演算回路において、
前記１〜ｎ段目までの全部の演算結果が所定の時間内に得られるように、前記一括演算回路の個数、前記一括演算回路が担う演算段数、および前記単位演算回路の個数を設定したことを特徴とする演算回路。
【請求項６】
演算方法が入力データの値によって複数の演算方法の内の１つに決まる単位演算を行い、該単位演算の演算結果を次の単位演算の入力データとして演算することを繰り返し、該繰り返しによって得られる１〜ｎ（ｎ：３以上の正の整数）段目までの各段の演算結果を更新機会ごとに保持し出力する演算回路において、
前記単位演算を１又は２段以上回繰り返して得られる結果を一括して１段の演算で得る１又は２以上の一括演算回路を備え、
前記一括演算回路を２以上縦続接続し、
それぞれの前記一括演算回路の演算結果を、それぞれ前記１〜ｎ段目までの演算結果の内の所定の段数目の演算結果とすることを特徴とする演算回路。
【請求項７】
請求項６に記載の演算回路において、
２以上縦続接続した前記一括演算回路の組を複数組だけ入力側に対して並列接続したことを特徴とする演算回路。
【請求項８】
請求項６又は７のいずれか１つに記載の演算回路において、
前記１〜ｎ段目までの演算結果が所定の時間内に得られるように、前記一括演算回路の個数および前記一括演算回路が担う演算段数を設定したことを特徴とする演算回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、初段から最終段までのｎ段（ｎ：３以上の正の整数）の一連の演算結果を一斉に更新して保持し出力する演算回路に係り、詳しくは、演算方法が入力データの値によって複数の演算方法の内の１つに決まる単位演算を行い、該単位演算の演算結果を次の単位演算の入力データとして演算することを繰り返し、該繰り返しによって得られるｎ段分の各段の演算結果を更新機会ごとに保持し出力する演算回路に関する。
【背景技術】
【０００２】
図６に従来の演算回路を示す。図６において、１は入力データを保持する入力ラッチ回路、２は単位演算回路、３は条件によって入力を選択するセレクタ、４は演算結果を保持する出力ラッチ回路である。単位演算回路２は、単位演算の結果を１段の演算で得る演算回路であり、実行する演算方法が入力データによって複数の演算方法の内の１つに決まる演算回路である。すなわち、単位演算回路２は、複数の演算方法に対応する構成を有していて、入力データによってそのいずれかの演算方法を選択して演算する構成を有し、演算が完了し次第、演算結果を出力する。
【０００３】
図６の演算回路は、セレクタ３を介して単位演算回路２を８段だけエンドレスに縦続接続して、各単位演算回路２における演算結果を各段の出力とするものである。すなわち、初回の演算では、セレクタ３によって入力ラッチ回路１の出力が選択されて１段目の演算結果（出力データ）が得られ、その１段目の演算結果が２段目の単位演算回路２に入力して演算が実行されて２段目の演算結果が得られ、以後同様の演算が８段目まで繰り返される。なお、このとき１段目の演算結果は、入力ラッチ回路１の出力データそのものである。
【０００４】
そして、１段目から８段目までの一連の逐次演算結果が一斉に各段の出力ラッチ回路４によって保持され出力される。このとき、各段の出力ラッチ回路４のラッチタイミングは、８段目の出力ラッチ回路４に演算結果が入力した後となる。
【０００５】
次回の演算では、セレクタ３によって、８段目の単位演算回路２の演算結果を保持する８段目の出力ラッチ回路４の出力が入力されている１段目の単位演算回路２の出力が選択され、同様の繰り返し演算が行われ、２回目の８個の演算結果が各段の出力ラッチ回路４で保持されることで出力データの更新が行われる。以下、同様にして各段の出力ラッチ回路４で出力データの更新が所望回数行われる。各出力ラッチ回路４の最短のラッチ周期は、８個の単位演算回路２の合計演算時間相当となる。以上のような演算回路は、例えば、暗号におけるハッシュ鍵計算等に用いられる。
【０００６】
図７の演算回路は、図６の演算回路をより発展させて、３２個の単位演算回路２をセレクタ３を介してエンドレスに縦続接続して、３２段の演算結果を出力ラッチ回路４によって一斉に更新できるようにしたものである。ここでの各出力ラッチ回路４の最短のラッチ周期は、３２個の単位演算回路２の合計演算時間となる。
【０００７】
なお、上記したような単位演算回路２による単位演算を複数回実行して得られる演算結果を、１段の演算で一括して得る一括演算回路については、特許文献１等により検討が行われている。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２００９−９４６３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
ところで、システムの処理能力を向上させるために、演算回路間で授受するデータの配線の並列数を増やし（例えば、図６で説明した８並列であったものを図７で説明した３２並列にするなど）、且つデータの入出力に要する時間を短く（例えば３２クロックかかっていたものを１／４の８クロックに短縮すると、全体としてスループットを４倍に高めることができる）する構成をとることがある。
【００１０】
データの入出力の速度が向上するメリットを生かして、データ速度に見合う処理能力を実現するには、演算回路の演算所要時間も併せて短縮することが必要である。そこで、従来では、遂次演算の各回の演算結果を得る演算回路において、各段の演算結果を出力するために、演算回路の段数を少なくすることなく、１段あたりの演算時間（図６、図７では単位演算回路２の演算速度）を短くすることによって高速化を図っていた。しかし、このような手法では、総演算所要時間を大幅に（例えば数分の１に）短くすることは難しかった。
【００１１】
本発明の目的は、一括演算回路を用いることにより、入出力のデータ速度向上に見合う高い処理能力を実現した高速の演算回路を提供することである。
【課題を解決するための手段】
【００１２】
上記目的を達成するために、請求項１にかかる発明は、演算方法が入力データの値によって複数の演算方法の内の１つに決まる単位演算を行い、該単位演算の演算結果を次の単位演算の入力データとして演算することを繰り返し、該繰り返しによって得られる１〜ｎ（ｎ：３以上の正の整数）段目までの各段の演算結果を更新機会ごとに保持し出力する演算回路において、前記単位演算を１段の演算で得る１又は２以上の単位演算回路と、前記単位演算を複数段繰り返して得られる結果を一括して１段の演算で得る１又は２以上の一括演算回路とを備え、前記単位演算回路の演算結果および前記一括演算回路の演算結果を、それぞれ前記１〜ｎ段目までの演算結果の内の所定の段数目の演算結果とすることを特徴とする。
【００１３】
請求項２にかかる発明は、請求項１に記載の演算回路において、前記一括演算回路と、１又は２以上が縦続接続され該一括演算回路の演算結果が先頭に入力する前記単位演算回路とからなる組を有することを特徴とする。
【００１４】
請求項３にかかる発明は、請求項１に記載の演算回路において、１又は２以上が縦続接続された前記単位演算回路と、該縦続接続された該単位演算回路の途中又は最後の単位演算回路の演算結果を入力する前記一括演算回路とからなる組を有することを特徴とする。
【００１５】
請求項４にかかる発明は、請求項２に記載の演算回路において、前記組を複数組だけ入力側に対して並列接続したことを特徴とする。
【００１６】
請求項５にかかる発明は、請求項１乃至４のいずれか１つに記載の演算回路において、前記１〜ｎ段目までの全部の演算結果が所定の時間内に得られるように、前記一括演算回路の個数、前記一括演算回路が担う演算段数、および前記単位演算回路の個数を設定したことを特徴とする。
【００１７】
請求項６にかかる発明は、演算方法が入力データの値によって複数の演算方法の内の１つに決まる単位演算を行い、該単位演算の演算結果を次の単位演算の入力データとして演算することを繰り返し、該繰り返しによって得られる１〜ｎ（ｎ：３以上の正の整数）段目までの各段の演算結果を更新機会ごとに保持し出力する演算回路において、前記単位演算を１又は２段以上回繰り返して得られる結果を一括して１段の演算で得る１又は２以上の一括演算回路を備え、前記一括演算回路を２以上縦続接続し、それぞれの前記一括演算回路の演算結果を、それぞれ前記１〜ｎ段目までの演算結果の内の所定の段数目の演算結果とすることを特徴とする。
【００１８】
請求項７にかかる発明は、請求項６に記載の演算回路において、２以上縦続接続した前記一括演算回路の組を複数組だけ入力側に対して並列接続したことを特徴とする。
【００１９】
請求項８にかかる発明は、請求項６又は７のいずれか１つに記載の演算回路において、
前記１〜ｎ段目までの演算結果が所定の時間内に得られるように、前記一括演算回路の個数および前記一括演算回路が担う演算段数を設定したことを特徴とする。
【発明の効果】
【００２０】
本発明によれば、一括演算回路の演算によって加速した分だけラッチ出力の更新周期を短くすることができ、データの入出力の速度向上に見合う高速な演算回路を実現できる。このとき、一括演算回路の演算によってスキップした出力段の演算結果については、単位演算回路又は別の一括演算回路の演算によって相補うことができる。また、一括演算回路に縦続接続される後段の回路を、同じ段数分の演算を行う一括演算回路で構成することができ、この場合は、一括演算回路の演算段数が少なく、また一括演算回路の種類も少なくて済み、小規模な回路の組合せで高速な演算回路を実現できる。
【図面の簡単な説明】
【００２１】
【図１】本発明の第１の実施例の演算回路の回路図である。
【図２】本発明の第２の実施例の演算回路の回路図である。
【図３】本発明の第３の実施例の演算回路の回路図である。
【図４】本発明の第４の実施例の演算回路の回路図である。
【図５】本発明の第５の実施例の演算回路の回路図である。
【図６】８並列出力の従来の演算回路の回路図である。
【図７】３２並列出力の従来の演算回路の回路図である。
【発明を実施するための形態】
【００２２】
本発明では、単位演算を１段の演算で得る１又は２以上の単位演算回路と、単位演算回路による単位演算を複数段実行して得られる演算結果を一括して１段の演算で得る１又は２以上の一括演算回路とを組合せて、一括演算回路により演算速度を加速する。このとき、一括演算回路の演算によってスキップした演算結果は単位演算回路又は別の一括演算回路により求めて相補う。このとき、
【００２３】
(ａ)．一括演算回路の演算結果を、繰り返し演算で得られるｎ段の内の１つの段の演算結果とする。
【００２４】
(ｂ)．一括演算回路の演算結果を１又は２以上縦続接続された単位演算回路の先頭に入力して得たそれぞれの単位演算回路の演算結果を、前記ｎ段の内のそれぞれの段の演算結果とする。
【００２５】
(ｃ)．単位演算回路を１又は２以上縦続接続し、終段の単位演算回路の後段に一括演算回路を１又は２以上縦続接続し、各単位演算回路および各一括演算回路の演算結果を、前記ｎ段の内のそれぞれの段の演算結果とする。
【００２６】
(ｄ)．これら(ａ)、(ｂ)、(ｃ)の処理の幾つかを縦続に行う処理の内の複数を、組合せて同時並行して実行し、一括演算回路の演算によって演算速度を加速する。一括演算回路の演算によってスキップした段の演算結果は、単位演算回路の演算又は別の一括演算回路の演算で相補って、前記ｎ段の内のそれぞれの段の演算結果とする。
【００２７】
(ｅ)．(ｃ)の構成を並列に接続する際には、単位演算回路の複数縦続接続の途中回の演算結果を分岐して、一括演算回路に入力する。これにより、単位演算回路の共用化を図り、回路規模を小さくする。
【００２８】
(ｆ)．前記ｎ段の内の各段の演算結果のラッチ出力の更新周期を、一括演算回路の採用と並列化によって短縮することによって短くし、入出力の速度向上に見合う処理能力の向上を実現する。
【００２９】
＜第１の実施例＞
図１に本発明の第１の実施例の演算回路を示す。１は入力データをラッチする入力ラッチ回路、２は単位演算回路、３は条件によって入力を選択するセレクタ、４は演算結果の出力データをラッチする出力ラッチ回路、５は一括演算回路である。
【００３０】
単位演算回路２は、単位演算の結果を１段の演算で得る演算回路であり、実行する演算方法が入力データによって複数の演算方法の内の１つに決まる演算回路である。すなわち、単位演算回路２は、複数の演算方法に対応する構成を有していて、入力データによってそのいずれかの演算方法を選択して演算する構成を有し、演算が完了し次第、演算結果を出力する。
【００３１】
一括演算回路５（ｋ）は、単位演算回路２による単位演算をｋ段実行して得られる演算結果を一括して１段の演算で行い、その演算が完了し次第、演算結果を出力するもので、図１では、ｋ＝８、１６、２４の一括演算回路５（８），５（１６），５（２４）を使用している。この一括演算回路５（ｋ）は、単位演算回路２と同等の所要時間でｋ段分の演算を可能とし演算のスループットを高めることを可能とする構成、例えば、特許文献１に記載の内容を適用することができる。
【００３２】
１１はセレクタ３を介して８個の単位演算回路２を縦続接続した組、１２はセレクタ３の出力を入力する一括演算回路５（８）の後段に７個の単位演算回路２を縦続接続した組、１３はセレクタ３の出力を入力する一括演算回路５（１６）の後段に７個の単位演算回路２を縦続接続した組、１４はセレクタ３の出力を入力する一括演算回路５（２４）の後段に７個の単位演算回路２を縦続接続した組である。
【００３３】
本実施例は、８個の単位演算回路２を縦続接続し第１段目〜第８段目の演算結果を出力する組１１の２段目から８段目に対して、前段に一括演算回路５を設けその後段に７個の単位演算回路２を縦続接続した組１２〜１４を、入力側が並列となるよう接続して、出力側が１段目〜３２段目として並ぶように組み合わせたものである。組１２〜１４では、ｋ段分の単位演算を実行する１個の一括演算回路５（ｋ）の後段に７個の単位演算回路２を縦続接続することにより、第ｋ＋１段出力以降の連続する８段分の演算結果が得られる。
【００３４】
すなわち、一括演算回路５（８）の演算機能は、単位演算回路２の８段分であるので、組１２では、第９段目〜第１６段目までの連続する各部分演算の結果を得ることができる。また、一括演算回路５（１６）の演算機能は、単位演算回路２の１６段分であるので、組１３では、第１７段目〜第２４段目までの連続する各部分演算の結果を得ることができる。さらに、一括演算回路５（２４）の演算機能は、単位演算回路２の２４段分であるので、組１４では、第２５段目〜第３２段目までの連続する各部分演算結果を得ることができる。９段目、１７段目、２５段目の演算結果は、一括演算回路５（８）、５（１６）、５（２４）により得られ、その間の演算結果はスキップされるが、そのスキップ分はそれぞれ単位演算回路２により相補われる。以上において、１段目〜８段目、９段目〜１６段目、１７段目〜２４段目、２５段目〜３２段目の何れも、演算の所要時間は８回路分である。
【００３５】
すなわち、組１１〜１４の演算の所要時間はそれぞれ８回路分であり、それらが並列に接続されて同時に演算を開始するので、第１段目から第３２段目までの連続する３２個の演算結果を得る演算を、８回路分の所要時間で完了することができる。したがって、高速演算が可能となり、図７で説明した演算回路に対して演算時間を１／４に短縮することができる。
【００３６】
なお、図１の演算回路の動作は、図６で説明したのと同様に、最初は入力ラッチ回路１からの入力データをセレクタ３で取り込んで繰り返し演算して各段の出力ラッチ回路４に保持し、次回からは最上段の単位演算回路２の出力データ（図１では３２段目の演算結果）をセレクタ３で取り込んで、繰り返し演算して各段の出力ラッチ回路４の内容を更新し、以後これを繰り返す。
【００３７】
＜第２の実施例＞
図２に第２の実施例の演算回路を示す。図１の演算回路では、ｎ＝３２個の部分演算結果を８回路分ずつ４並列で処理する構成例であったが、図２の演算回路は、組２１〜２８のそれぞれを４回路分として、８並列で処理するよう構成したものである。すなわち、図２では、ｋ＝４、８、１２、１６、２０、２４、２８の一括演算回路５（４），５（８），５（１２），５（１６），５（２０），５（２４），５（２８）を使用している。
【００３８】
組２１はセレクタ３を介して４個の単位演算回路２を縦続接続して、第１段目〜第４段目の演算結果を出力するよう構成される。組２２は一括演算回路５（４）の後段に３個の単位演算回路２を縦続接続して、第５段目〜第８段目の演算結果を出力するよう構成される。組２３は一括演算回路５（８）の後段に３個の単位演算回路２を縦続接続して、第９段目〜第１２段目の演算結果を出力するよう構成される。組２４は一括演算回路５（１２）の後段に３個の単位演算回路２を縦続接続して、第１３段目〜第１６段目の演算結果を出力するよう構成される。組２５は一括演算回路５（１６）の後段に３個の単位演算回路２を縦続接続して、第１７段目〜第２０段目の演算結果を出力するよう構成される。組２６は一括演算回路５（２０）の後段に３個の単位演算回路２を縦続接続して、第２１段目〜第２４段目の演算結果を出力するよう構成される。組２７は一括演算回路５（２４）の後段に３個の単位演算回路２を縦続接続して、第２５段目〜第２８段目の演算結果を出力するよう構成される。組２８は一括演算回路５（２８）の後段に３個の単位演算回路２を縦続接続して、第２９段目〜第３２段目の演算結果を出力するよう構成される。以上において、１段目〜４段目、５段目〜８段目、９段目〜１２段目、１３段目〜１６段目、１７段目〜２０段目、２１段目〜２４段目、２５段目〜２８段目、２９段目〜３２段目の何れも、演算の所要時間は４回路分である。
【００３９】
すなわち、組２１〜２８の演算の所要時間はそれぞれ４回路分であり、それらが並列に接続されて同時に演算を開始するので、第１段目から第３２段目までの連続する３２個の演算結果を得る演算を、４回路分の所要時間で完了することができる。したがって、高速演算が可能となり、図７で説明した演算回路に対して演算時間を１／８に短縮することができる。
【００４０】
＜第３の実施例＞
図３に第３の実施例の演算回路を示す。図１および図２の演算回路では、一括演算回路５の後段に縦続接続する単位演算回路２の数が同一であったが、一括演算回路５の後段に縦続接続する単位演算回路２の数は統一されている必要はない。
【００４１】
組３１はセレクタ３を介して４個の単位演算回路２を縦続接続して、第１段目〜第４段目の演算結果を出力するよう構成される。組３２は一括演算回路５（４）の後段に１個の単位演算回路２を縦続接続して、第５段目〜第６段目の演算結果を出力するよう構成される。組３３は一括演算回路５（６）の後段に２個の単位演算回路２を縦続接続して、第７段目〜第９段目の演算結果を出力するよう構成される。組３４は一括演算回路５（９）の後段に３個の単位演算回路２を縦続接続して、第１０段目〜第１３段目の演算結果を出力するよう構成される。組３５は一括演算回路５（１３）の後段に４個の単位演算回路２を縦続接続して、第１４段目〜第１８段目の演算結果を出力するよう構成される。組３６は一括演算回路５（１８）の後段に５個の単位演算回路２を縦続接続して、第１９段目〜第２４段目の演算結果を出力するよう構成される。組３７は一括演算回路５（２４）の後段に７個の単位演算回路２を縦続接続して、第２５段目〜第３２段目の演算結果を出力するよう構成される。
【００４２】
本実施例では、第１段目から第３２段目までの連続する３２個の演算結果を得る演算を、縦続接続段数が最大の組３７の８回路分の所要時間で完了することができる。したがって、高速演算が可能となり、図１と同様に、図７で説明した演算回路に対して演算時間を１／４に短縮することができる。
【００４３】
＜第４の実施例＞
図４に第４の実施例の演算回路を示す。本実施例は、一括演算回路５と、その後段に７個の一括演算回路５（４）を縦続に接続したものを１組として、組４１〜４４を構成し、セレクタ３の出力に対して４並列したものである。本実施例によれば、第ｎ段目の演算結果と第ｎ＋４段目の演算結果以降につき４段の間隔を隔てて、最大合計８回路の各段の演算結果を得ることができる。すなわち、段数目によらず演算の所要時間は最大で８回路分となる。
【００４４】
組４１は、演算結果を２段目に出力する一括演算回路５（１）の後段に、一括回路５（４）が、６段目、１０段目、１４段目、１８段目、２２段目、２６段目、３０段目の演算結果を出力するよう、７個縦続接続されている。
【００４５】
組４２は、演算結果を３段目に出力する一括演算回路５（２）の後段に、一括回路５（４）が、７段目、１１段目、１５段目、１９段目、２３段目、２７段目、３１段目の演算結果を出力するよう、７個縦続接続されている。
【００４６】
組４３は、４段目の演算結果を出力する一括演算回路５（３）の後段に、一括回路５（４）が、８段目、１２段目、１６段目、２０段目、２４段目、２８段目、３２段目の演算結果を出力するよう、７個縦続接続されている。
【００４７】
組４４は、一括演算回路５（４）が、５段目、９段目、１３段目、１７段目、２１段目、２５段目、２９段目の演算結果を出力するよう、７個縦続接続されている。
【００４８】
組４１、４２、４３の演算の所要時間はいずれも８回路分、組４４の演算の所要時間は７回路分であり、これらがセレクタ３の出力に対して並列接続されているので、同時に演算を開始し実行すれば、第１段目から３２段目までの連続する３２個の部分演算の結果を得る演算を、８回路分の所要時間で完了することができる。
【００４９】
なお、組４１の先頭の一括演算回路５（１）の演算段数ｋは１であり、これは１個の単位演算回路２と等価であるので、前記した(ｃ)の形態である。また、組４１、４２、４３、４４の先頭の一括演算回路５の演算回数ｋは１、２、３、４であるので、何れの組も一括演算回路５のみの縦続接続であるから(a)の縦続接続の形態である。すなわち、第４の実施例は、（ａ）の縦続接続と（ｃ）を同時並行して、又は（ａ）の縦続接続を同時並行して実施する構成例であり、２段目〜３２段目の出力はすべて一括演算回路５（ｋ）の演算結果となる。図１の第１の実施例の構成では、単位演算回路２の演算を２４回分実行する演算機能を有する一括演算回路５（２４）が必要となるが、第４の実施例では、一括演算回路５で行う演算の段数は１、２、３、４の最大４回迄でよく、演算回数の小さい小規模な一括演算回路の組合せで実現できる。
【００５０】
＜第５の実施例＞
図５に第５の実施例の演算回路を示す。図４の第４の実施例の構成では、並列処理における各組４１〜４４が、演算段数ｋが４の一括演算回路５（４）でほとんど統一されているが、統一されている必要はなく、図５のように、１段目〜３２段目の演算結果の出力が得られるよう、任意の演算段数ｋを担う一括演算回路５を組み合せる構成としても良い。図５において、セレクタ３の出力側に縦続接続される回路数は、組５１が６回路分となるが、組５２〜５６は５回路分となる。また、最大演算段数をもつ一括演算回路は１４段分の一括演算回路５（１４）である。
【００５１】
＜その他の実施例＞
なお、図１〜図３の第１〜第３の実施例では、一括演算回路５とその一括演算回路５の演算結果を入力する１又は２以上が縦続接続された単位演算回路との組を設け、これを入力側に並列接続したが、１又は２以上が縦続接続された単位演算回路２とその単位演算回路の途中又は最後の演算結果を入力する一括演算回路５の組を設け、これを入力側に並列接続しても、同様に演算の高速化を図ることができる。また、上記各実施例では、１段目〜３２段目の合計３２段分の演算出力を得る演算回路を例にして説明したが、これに限られるものではなく、ｎ＝３以上の演算結果を得る演算回路において本発明を適用することができる。また、並列に実行する各組の演算の最終結果が所定の時間以内に得られるように、一括演算回路の個数、各一括演算回路が担う演算段数、単位演算回路の個数等を定めて、それらを組合せて各組の演算回路を構成し、かつ縦続演算の全段の演算結果を得られるように、各部分演算回路の並列数を定めれば良い。
【符号の説明】
【００５２】
１：入力ラッチ回路
２：単位演算回路
３：セレクタ
４：出力ラッチ回路
５：一括演算回路
【図１】
2011013928.tif 000003
【図２】
2011013928.tif 000004
【図３】
2011013928.tif 000005
【図４】
2011013928.tif 000006
【図５】
2011013928.tif 000007
【図６】
2011013928.tif 000008
【図７】
2011013928.tif 000009