(57)【要約】【課題】 入力に対して一連の演算処理を行って出力する演算装置に関し、高速に、かつ、柔軟に処理を行える演算装置を提供することを目的とする。【解決手段】 入力に対して所定の演算を行ってから出力する演算ユニットを複数備えている。演算ユニットは、そのうちの少なくとも複数を直列に接続することによって、最も上流側のものが接続された入力線からの入力に対して複数の演算を行ってから、下流側の演算ユニットに流し、最も下流側のものに接続された出力線から出力を行うパイプラインとして機能する。【選択図】    図３
2004171593.tif 000002
【特許請求の範囲】
【請求項１】
そのそれぞれが入力部、及び出力部を有しており、前記入力部からの入力に対して演算を行い、前記出力部から出力するようにされている複数の演算ユニットと、
前記複数の演算ユニットの入力部のそれぞれにその先端を分岐させて接続されている、外部からの入力を行う入力線と、
前記複数の演算ユニットの入力部のそれぞれにその先端を分岐させて接続されている、前記複数の演算ユニットと同数の入力バスと、
前記複数の演算ユニットの出力部のそれぞれにその基端を分岐させて接続されている、前記複数の演算ユニットと同数の出力バスであって、前記入力バスと一対一対応させた状態で接続されたものと、
前記複数の演算ユニットの出力部のそれぞれにその基端を分岐させて接続されている、外部への出力を行う出力線と、
を備えているとともに、
前記入力線及び入力バスと、前記出力線及び出力バスは、所定のバス選択情報によって、前者は、前記入力線及び前記入力バスのどれが前記入力部に接続されるか、又は接続されないかが、後者は、前記出力線及び前記出力バスのどれが前記出力部に接続されるか、又は接続されないかが決定されるようにされており、
バス選択情報にしたがって直列に接続された前記複数の演算ユニットのうちの少なくとも複数は、入力線からの入力に対して複数の演算を行って出力線から出力するパイプラインとして機能するようになっている、
演算装置。
【請求項２】
前記複数の演算ユニットのそれぞれは、固定の演算を行うようになっている、
請求項１記載の演算装置。
【請求項３】
前記複数の演算ユニットのそれぞれは、互いに異なる演算を行うようになっている、
請求項２記載の演算装置。
【請求項４】
前記バス選択情報は、予め設定されたプログラムにより動的に生成されるようになっている、
請求項１記載の演算装置。
【請求項５】
前記複数の演算ユニットのそれぞれは、所定の演算選択情報によって、それが行う演算の種類が決定されるようになっている、
請求項１記載の演算装置。
【請求項６】
前記演算選択情報は、予め設定されたプログラムにより動的に生成されるようになっている、
請求項５記載の演算装置。
【請求項７】
入力に対して所定の演算を行ってから出力する演算ユニットを複数備えているとともに、
前記演算ユニットは、そのうちの少なくとも複数を直列に接続することによって、最も上流側のものが接続された入力線からの入力に対して複数の演算を行ってから、下流側の演算ユニットに流し、最も下流側のものに接続された出力線から出力を行うパイプラインとして機能するようになっている、
演算装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は演算装置に係り、特に、入力に対して一連の演算処理を行って出力する演算装置に関する。
【背景技術】
【０００２】
従来、ディジタルデータを演算処理するための演算装置としてはＣＰＵ（central processing unit）、ＤＳＰ（digital signal processor）などがある。
【０００３】
このような、演算装置ではプログラムに従ってデータがＡＬＵ（arithmetic and logic unit）をループして一連の処理が実現されていた。
【０００４】
また、専用回路を用いて演算処理を行う場合には、データを予め決められた演算処理手順に従って設計した演算処理部を順次に通過させることにより高速な処理を可能としていた。
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかるに、従来のＣＰＵやＤＳＰなどのデータ処理装置では、プログラムに基づいてデータがＡＬＵ（arithmetic and logic unit）をループして一連の処理が実現されていた。このため、実行したい処理に応じてプログラムを組むことにより、柔軟に処理を行うことができるが、処理手順が複雑であり、データをＡＬＵでループさせる必要があるため、データ間のタイミングを一致させるため、データの待ち時間が必要となり、高速での処理は行えなかった。
【０００６】
また、専用回路では、所定の演算処理しか行えず、処理を柔軟に行えないなどの問題点があった。
【０００７】
本発明は上記の点に鑑みてなされたもので、高速に、かつ、柔軟に処理を行える演算装置を提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明は、そのそれぞれが入力部、及び出力部を有しており、前記入力部からの入力に対して演算を行い、前記出力部から出力するようにされている複数の演算ユニットと、前記複数の演算ユニットの入力部のそれぞれにその先端を分岐させて接続されている、外部からの入力を行う入力線と、前記複数の演算ユニットの入力部のそれぞれにその先端を分岐させて接続されている、前記複数の演算ユニットと同数の入力バスと、前記複数の演算ユニットの出力部のそれぞれにその基端を分岐させて接続されている、前記複数の演算ユニットと同数の出力バスであって、前記入力バスと一対一対応させた状態で接続されたものと、前記複数の演算ユニットの出力部のそれぞれにその基端を分岐させて接続されている、外部への出力を行う出力線と、を備えている演算装置である。そして、前記入力線及び入力バスと、前記出力線及び出力バスは、所定のバス選択情報によって、前者は、前記入力線及び前記入力バスのどれが前記入力部に接続されるか、又は接続されないかが、後者は、前記出力線及び前記出力バスのどれが前記出力部に接続されるか、又は接続されないかが決定されるようにされており、バス選択情報にしたがって直列に接続された前記複数の演算ユニットのうちの少なくとも複数は、入力線からの入力に対して複数の演算を行って出力線から出力するパイプラインとして機能するようになっている。
前記複数の演算ユニットのそれぞれは、固定の演算を行うようになっていてもよい。この場合、前記複数の演算ユニットのそれぞれは、互いに異なる演算を行うようになっていてもよい。
前記バス選択情報は、予め設定されたプログラムにより動的に生成されるようになっていてもよい。
前記複数の演算ユニットのそれぞれは、所定の演算選択情報によって、それが行う演算の種類が決定されるようになっていてもよい。この場合、前記演算選択情報は、予め設定されたプログラムにより動的に生成されるようになっていてもよい。
本発明による演算装置は、また、  入力に対して所定の演算を行ってから出力する演算ユニットを複数備えているとともに、前記演算ユニットは、そのうちの少なくとも複数を直列に接続することによって、最も上流側のものが接続された入力線からの入力に対して複数の演算を行ってから、下流側の演算ユニットに流し、最も下流側のものに接続された出力線から出力を行うパイプラインとして機能するようなものとされていてもよい。
【０００９】
本発明によれば、複数の演算ユニットに予め処理を割り当てておき、予め決められた順番でデータを流すことにより一連の処理をパイプライン的に実行できるため、処理速度を高速化できる。
【発明の効果】
【００１０】
上述の如く、本発明によれば、複数の演算ユニットに予め処理を割り当てておき、予め決められた順番でデータを流すことにより一連の処理をパイプライン的に実行できるため、処理速度を高速化できる等の特長を有する。
【発明を実施するための最良の形態】
【００１１】
まず、本発明の演算装置が適用される情報処理システムについて説明する。
【００１２】
図１は本発明の一実施例のブロック構成図を示す。
【００１３】
本実施例の情報処理システム１は、情報処理装置本体１１、入力装置１２、ディスプレイ１３から構成される。
【００１４】
情報処理装置本体１１は、ＣＰＵ２１、チップセット２２、２３、メモリ２４、ビデオチップ２５、ＰＣＩバス２６、ＰＣＩスロット２７、ハードディスクドライブ２８、ＲＯＭ２９、ＩＳＡバス３０、ＩＳＡスロット３１、ＵＳＢポート３２を有する構成とされている。
【００１５】
ＣＰＵ２１は、チップセット２２からデータを受け取り、演算処理を行い、その演算結果をチップセット２２に返す。チップセット２２は、メモリ２４、ビデオチップ２５とデータをやり取りするとともに、ＰＣＩバス２６とでデータのやり取りをする。メモリ２４は、ＤＲＡＭモジュールなどから構成されており、ＣＰＵ２１の作業用記憶領域として用いられる。ビデオチップ２５は、チップセット２２からのデータに基づいてディスプレイ１３に表示データを供給する。ディスプレイ１３は、ビデオチップ２５からの表示データに基づいた画面を表示する。
【００１６】
ＰＣＩバス２６にはＰＣＩスロット２７が接続されている。ＰＣＩスロット２７には、演算装置１００を含むＰＣＩボードが装着される。
【００１７】
また、ＰＣＩバス２６には、チップセット２３が接続されている。チップセット２３は、ＰＣＩバス２６とハードディスクドライブ２８、ＲＯＭ２９、ＩＳＡバス３０、ＵＳＢポート３２とのインタフェースをとる。
【００１８】
次に、演算装置１００について詳細に説明する。
【００１９】
図２は演算装置１００のブロック構成図を示す。
【００２０】
演算装置１００は、いわゆる、ＰＣＩボードであり、入力アンプ１０１、出力アンプ１０２、外部入出力部（Ｉ／Ｏ）１０３、演算部１０４、メモリ１０５、設定レジスタ１０６、インタフェース部１０７、マイコン１０８、通信レジスタ１０９、ＲＯＭ１１０、ＲＡＭ１１１、マイコン入出力部１１２（Ｉ／Ｏ）が一つのプリント配線板１２０上に搭載された構成とされている。
【００２１】
図３は演算部１０４のブロック構成図を示す。
【００２２】
演算部１０４は、Ｎ（２以上の整数）個の演算ユニット２０１−１〜２０１−Ｎ、バス２０２−１〜２０２−(N+3)、出力部２０３、２０４を含む構成とされている。
【００２３】
バス２０２−１には、演算ユニット２０１−１の出力データが供給され、バス２０２−２には演算ユニット２０１−２の出力データが供給され、同様にバス２０２−３〜２０２−(N-1)には演算ユニット２０１−３〜２０１−（N-1）の出力データが供給され、バス２０２−Ｎには演算ユニット２０１−Ｎの出力データが供給される。さらに、バス２０２−(N+1)には入力アンプ１０１の出力データが供給され、バス２０２−(N+2)には外部入出力部１０３からのデータが供給され、バス２０２−(N+3)にはメモリ１０５の出力データが供給される。
【００２４】
また、バス２０２−１〜２０２−(N+3)は演算ユニット２０１−１〜２０２−Ｎ及び出力部２０３、２０４の入力に接続されている。演算ユニット２０１−１〜２０１−Ｎは、バス２０２−１〜２０２−(N+3)のうち予め設定されたバスからデータを入力し、予め設定された演算を行う。また、出力部２０３は、バス２０２−１〜２０２−(N+３)のうち予め設定されたバスからデータをメモリ１０５に出力する。出力部２０４は、バス２０２−１〜２０２−(N+3)のうち予め設定されたバスのデータを外部入出力部１０３に出力する。
【００２５】
次に、演算ユニット２０１−１について詳細に説明する。
【００２６】
図４は演算ユニット２０１−１のブロック構成図を示す。
【００２７】
演算ユニット２０１−１は、選択回路３０１、演算回路部３０２を含む構成とされている。
【００２８】
選択回路３０１には、バス２０２−１〜２０２−(N+3)が接続されている。選択回路３０１は、設定レジスタ１０６に設定されたバス選択情報に基づいてバス２０２−１〜２０２−(N+3)から１又は２のバスを選択し、選択されたバス上のデータを演算回路部３０２に供給する。
【００２９】
演算回路部３０２には、選択回路３０１で選択された１又は２のバスからのデータが供給される。演算回路部３０２は、ＡＬＵ（arithmetic and logic unit）などから構成されており、設定レジスタ１０６に設定された演算選択情報に基づいた演算方法で選択回路３０１から供給されたデータを演算した演算結果を出力する。演算回路部３０２から出力されたデータは、バス２０２−１に供給される。
【００３０】
なお、他の演算ユニット２０１−２〜２０１−Ｎも同様な構成とされており、次に、演算回路部３０２の機能について説明する。
【００３１】
図５は演算回路部３０２の動作を説明するための図である。
【００３２】
演算回路部３０２には、設定レジスタ１０６に予め設定された演算選択情報Ｃ１〜Ｃ20が供給される。演算回路部３０２は、設定レジスタ１０６に設定された演算選択情報Ｃ１〜Ｃ20に応じた演算を実行する。
【００３３】
演算回路部３０２は、設定レジスタ１０６から演算選択情報Ｃ１が供給されている場合には、選択回路３０１で選択された２つのバスからのデータの加算／減算を行う。また、演算回路部３０２は、設定レジスタ１０６から演算選択情報Ｃ２が供給されている場合には、選択回路３０１で選択された２つのバスからのデータの乗算を行う。
【００３４】
演算回路部３０２は、設定レジスタ１０６から演算選択情報Ｃ３が供給されている場合には、選択回路３０１で選択された２つのバスからのデータの除算を行う。また、演算回路部３０２は、設定レジスタ１０６から演算選択情報Ｃ４が供給されている場合には、選択回路３０１で選択された２つのバスからのデータに対して各ビット毎にＡＮＤ論理演算を行う。
【００３５】
さらに、演算回路部３０２は、設定レジスタ１０６から演算選択情報Ｃ５が供給されている場合には、選択回路３０１で選択された２つのバスからのデータに対して各ビット毎にＯＲ論理演算を行う。また、演算回路部３０２は、設定レジスタ１０６から演算選択情報Ｃ６が供給されている場合には、選択回路３０１で選択された２つのバスからのデータに対して各ビット毎にＸＯＲ論理演算を行う。
【００３６】
さらに、演算回路部３０２は、設定レジスタ１０６から演算選択情報Ｃ７が供給されている場合には、選択回路３０１で選択された１つのバスからのデータの各ビットの論理を反転して出力する。また、演算回路部３０２は、設定レジスタ１０６から演算選択情報Ｃ８が供給されている場合には、選択回路３０１で選択された１つのデータを予め設定されたビット数分、ビットシフトする。
【００３７】
さらに、演算回路部３０２は，設定レジスタ１０６から演算選択情報Ｃ９が供給されている場合には、選択回路３０１で選択された１つのバスからのデータを遅延させる。また、演算回路部３０２は、設定レジスタ１０６から演算選択情報Ｃ10が供給されている場合には、選択回路３０１で選択された１つのデータを選択的にバス２０２−１又は入出力制御部に供給する。
【００３８】
演算回路部３０２は、設定レジスタ１０６から演算選択情報Ｃ11が供給されている場合には、選択回路３０１で選択された１つのバスのデータをアナログ信号に変換して、アナログ信号出力線Ｌaoutに出力する。アナログ信号出力線Ｌaoutは、出力アンプ１０２に接続されている。出力アンプ１０２は、アナログ信号出力線Ｌaoutからのアナログ信号を増幅して出力する。また、演算回路部３０２は、設定レジスタ１０６から演算選択情報Ｃ12が供給されている場合には、選択回路３０１で選択されたアナログ信号入力線Ｌainからのアナログ信号をディジタルデータに変換する。演算回路部３０２でディジタルデータに変換された信号は、バス２０２−１に供給される。
【００３９】
演算回路部３０２は、設定レジスタ１０６から演算選択情報Ｃ13が供給されている場合には、選択回路３０１で選択された１つのバスのデータに対して予め設定されたフィルタ特性に基づいた処理を行い、出力する。すなわち、所望の特性のディジタルフィルタとして用いられる。また、演算回路部３０２は、設定レジスタ１０６から演算選択情報Ｃ14が供給されている場合には、選択回路３０１で選択された１つのバスのデータをマイコン１０８の第１ポートＰ1に出力する。マイコン１０８は、第１ポートＰ1に供給されたデータに対して予め設定されたプログラムに基づいた処理を行い、演算回路部３０２に供給する。演算回路部３０２は、マイコン１０８からのデータをバス２０２−１に供給する。
【００４０】
演算回路部３０２は、設定レジスタ１０６から演算選択情報Ｃ15が供給されている場合には、選択回路３０１で選択された１つのバスのデータをマイコン１０８の第２ポートＰ2に出力する。マイコン１０８は、第２ポートＰ2に供給されたデータに対して予め設定されたプログラムに基づいた処理を行い、演算回路部３０２に供給する。演算回路部３０２は、マイコン１０８からのデータをバス２０２−１に供給する。演算回路部３０２は、設定レジスタ１０６から演算選択情報Ｃ16が供給されている場合には、選択回路３０１で選択された１つのバスのデータをマイコン１０８の第３ポートＰ3に出力する。マイコン１０８は、第１ポートＰ3に供給されたデータに対して予め設定されたプログラムに基づいた処理を行い、演算回路部３０２に供給する。演算回路部３０２は、マイコン１０８からのデータをバス２０２−１に供給する。
【００４１】
演算回路部３０２は、設定レジスタ１０６から演算選択情報Ｃ17が供給されている場合には、選択回路３０１で選択された１つのバスからのデータに対して予め設定されたローパスフィルタ特性に応じた処理を行う。また、演算回路部３０２は、設定レジスタ１０６から演算選択情報Ｃ18が供給されている場合には、選択回路３０１で選択された１つのバスからのデータに対して予め設定されたローパスフィルタ特性に応じた処理を行う。
【００４２】
演算回路部３０２は、設定レジスタ１０６から演算選択情報Ｃ19が供給されている場合には、選択回路３０１で選択された１つのバスからのデータの絶対値を出力する。演算回路部３０２は、設定レジスタ１０６から演算選択情報Ｃ20が供給されている場合には、選択回路３０１で選択された２つのバスからのデータの＞、＜、＝、＞＝、＜＝等の大小比較を行い、比較結果に応じたデータを出力する。
【００４３】
以上のように設定レジスタ１０６に演算選択情報Ｃ１〜Ｃ20を設定することにより所望のバスが選択され、選択されたバスからのデータに所望の演算を行うことができる。
【００４４】
なお、以上は演算ユニット２０１−１について説明したが、他の演算ユニット２０１−２〜２０１−Ｎから出力部２０３は、バス２０２−１〜２０２−Ｎからのデータを選択して出力する。
【００４５】
図６は出力部２０３のブロック構成図を示す。
【００４６】
出力部２０３は、選択部４０１から供給される。選択部４０１には、バス２０２−１〜２０２−（N+3）Ｎが接続されている。また、選択部４０１には設定レジスタ１０６から出力選択情報が供給される。選択部４０１は、設定レジスタ１０６に設定された出力選択情報に応じたバスのデータをメモリ１０５に供給する。
【００４７】
また、出力部２０４は、出力部２０３と同様な構成とされており、出力データは、メモリ１０５にアドレスとして供給される。メモリ１０５には、アドレスを入力とし、データを出力としたとき、その入出力が所定の関係となるようにされたデータがマイコンにより予め記憶されている。メモリ１０５の出力データは、バス２０２−（N+3）に供給され、演算ユニット２０１−１〜２０１−Ｎ及び出力部２０３の入力に帰還される。
【００４８】
次に本実施例の演算装置により具体的な演算処理を行う場合について説明する。
【００４９】
図７、図８は演算装置により具体的な演算処理を行うときの動作説明図を示す。
【００５０】
ここでは、ＡＭ（amplitude modulation）検波のための処理について説明する。ＡＭ検波は、図７に示すようにアナログディジタル変換処理５０１、選局処理５０２、絶対値処理５０３、ノイズ除去処理５０４、包絡線検出処理５０５、増幅処理５０６、ミュート処理５０７、ディジタルアナログ変換処理５０８により実現される。
【００５１】
アナログディジタル変換処理５０１は、入力アナログ信号をディジタルデータに変換する。選局処理５０２は、ディジタルフィルタにより実現され、アナログディジタル変換処理５０１からのディジタルデータにディジタルフィルタ処理を施して出力する。選局処理５０２の出力ディジタルデータは、絶対値処理５０３で絶対値とされて出力される。絶対値処理されたディジタルデータは、ノイズ除去処理５０４される。ノイズ除去処理５０４は、ディジタルローパスフィルタにより実現されており、信号成分以外の不要な成分を除去する。包絡線検出処理５０５は、ディジタルローパスフィルタにより構成されており、ノイズ除去処理５０４でノイズ除去されたディジタルデータから包絡線を検出する。増幅処理５０６は、ディジタルデータに定数を乗算することにより、増幅を行う。ミュート処理５０７は、ミュート指示があったときにディジタルデータの出力をカットする。ディジタルアナログ変換処理５０８は、ディジタル処理により検波されたＡＭ検波データをアナログ信号に変換する。
【００５２】
上記アナログディジタル変換処理５０１、選局処理５０２、絶対値処理５０３、ノイズ除去処理５０４、包絡線検出処理５０５、増幅処理５０６、ミュート処理５０７、ディジタルアナログ変換処理５０８が演算ユニット２０１−１〜２０１−８により順次に実行されるように設定レジスタ１０６にバス選択情報及び演算選択情報が設定される。設定レジスタ１０６には、例えば、ユーザが入力装置１２を操作して、演算装置用のドライバ、あるいはアプリケーションプログラムを実行し、予め設定されたＡＭ検波処理を選択することにより、ＡＭ検波処理に応じて予め設定されたバス選択情報及び演算選択情報が設定レジスタ１０６に設定される。このとき、設定レジスタ１０６には、演算ユニット２０１−１〜２０１−Ｎの各々にバス選択情報及び演算選択情報が設定される。
【００５３】
図８に示すように演算ユニット２０１−１の選択部３０１によりアナログ信号入力線Ｌainが選択されるようにバス選択情報が設定され、また、演算回路部３０２でアナログディジタル変換処理が行われるように演算選択情報Ｃ12が設定される。また、演算ユニット２０１−２の選択部３０１により演算ユニット２０１−１の出力が供給されるバス２０２−１が選択されるようにバス選択情報が設定され、また、演算回路部３０２ではディジタルフィルタ処理が行われるように演算選択情報Ｃ13が設定される。
【００５４】
さらに、演算ユニット２０１−３の選択部３０１により演算ユニット２０１−２の出力が供給されるバス２０２−２が選択されるようにバス選択情報が設定され、また、演算回路部３０２では絶対値処理が行われるように演算選択情報Ｃ19が設定される。演算ユニット２０１−４の選択部３０１により演算ユニット２０１−３の出力が供給されるバス２０２−３が選択されるようにバス選択情報が設定され、また、演算回路部３０２ではローパスフィルタ処理が行われるように演算選択情報Ｃ17が設定される。
【００５５】
演算ユニット２０１−５の選択部３０１により演算ユニット２０１−４の出力が供給されるバス２０２−４が選択されるようにバス選択情報が設定され、また、演算回路部３０２ではローパスフィルタ処理が行われるように演算選択情報Ｃ18が設定される。演算ユニット２０１−６の選択部３０１により演算ユニット２０１−５の出力が供給されるバス２０２−５が選択されるようにバス選択情報が設定され、また、演算回路部３０２では乗算処理が行われるように演算選択情報Ｃ２が設定される。
【００５６】
演算ユニット２０１−７の選択部３０１により演算ユニット２０１−６の出力が供給されるバス２０２−６が選択されるようにバス選択情報が設定され、また、演算回路部３０２ではマイコン１０８によりミュート処理が行われるように演算選択情報Ｃ14が設定される。演算ユニット２０１−８の選択部３０１により演算ユニット２０１−７の出力が供給されるバス２０２−７が選択されるようにバス選択情報が設定され、また、演算回路部３０２ではディジタルアナログ変換処理が行われるように演算選択情報Ｃ11が設定される。
【００５７】
以上の設定により、アナログ信号入力線Ｌainに供給されたアナログ信号は、演算ユニット２０１−１でアナログディジタル変換されてバス２０２−１を介して演算ユニット２０１−２に供給される。演算ユニット２０１−２は、バス２０２−１からのディジタルデータにディジタルフィルタ処理を実行し、所望のチャンネル成分を抽出する。演算ユニット２０１−２でディジタルフィルタ処理されたディジタルデータは、バス２０２−２を介して演算ユニット２０１−３に供給される。
【００５８】
演算ユニット２０１−３は、バス２０２−２からのディジタルデータの絶対値を生成する。演算ユニット２０１−３で絶対値処理されたディジタルデータは、バス２０２−３を介して演算ユニット２０１−４に供給される。演算ユニット２０１−４は、バス２０２−３からのディジタルデータを所定のフィルタ特性のローパスフィルタにかけることによりノイズ成分を除去する。演算ユニット２０１−４でノイズ成分が除去されたディジタルデータは、バス２０２−４を介して演算ユニット２０１−５に供給される。
【００５９】
演算ユニット２０１−５は、バス２０２−４からのディジタルデータを所定のフィルタ特性のローパスフィルタにかけることにより包絡線のディジタルデータを生成する。演算ユニット２０１−５で生成されたディジタルデータは、バス２０２−５を介して演算ユニット２０１−６に供給される。
【００６０】
演算ユニット２０１−６は、バス２０２−５からのディジタルデータに所定の係数を乗算する。演算ユニット２０１−６で係数が乗算されたディジタルデータは、バス２０２−６を介して演算ユニット２０１−７に供給される。演算ユニット２０１−７は、バス２０２−６からのディジタルデータをマイコン１０８に供給する。マイコン１０８では、外部からのミュート指示がないときには、供給されたディジタルデータをそのまま、演算ユニット２０１−７に返し、ミュート指示があったときにはディジタルデータにミュート処理を行い、演算ユニット２０１−７へのディジタルデータの供給をカットする。演算ユニット２０１−７は、マイコン１０８からのディジタルデータをバス２０２−７を介して演算ユニット２０１−８に供給する。演算ユニット２０１−８は、バス２０２−７からのディジタルデータをアナログ信号に変換し、アナログ信号出力線Ｌaoutに供給する。
【００６１】
以上によりアナログ信号入力線Ｌainに供給された信号をＡＭ検波した信号をアナログ信号出力線Ｌaoutより出力できる。このとき、本実施例によれば、最初に設定レジスタ１０６にバス選択情報及び演算選択情報を設定することにより演算ユニット２０１−１〜２０１−８の処理を直列的に実行、すなわち、パイプライン的に実行できるので、高速に処理を行える。
【００６２】
また、設定レジスタ１０６のバス選択情報及び演算選択情報を変えることにより、各種処理を汎用的に実行できる。
【００６３】
なお、本実施例の演算装置は、パーソナルコンピュータのＰＣＩスロットに接続されるＰＣＩボードで実現したが、ＩＳＡスロットやＵＳＢ、ＩＥＥＥ１３９４などのシリアルバスで実現してもよい。
【００６４】
なお、本実施例では、演算ユニット２０１−１〜２０１−Ｎは、マイコン入出部１１２から設定可能とされている。例えば、マイコン入出力部１１２を介してマイコン１０８と通信を行うことにより、メモリ１０５の内容を変更、設定レジスタ１０６のバス選択情報及び演算選択情報の設定を変更可能とされている。
【００６５】
また、本実施例の動作説明では、説明を簡単にするために各演算ユニット２０１−１〜２０１−Ｎを１回だけ通過して一連の演算を行う例について説明したが、設定レジスタ１０６に記憶されるバス選択情報及び演算選択情報をパーソナルコンピュータに予めインストールされたプログラムにより動的に設定することにより、複数の演算毎にバス選択情報及び演算選択情報を再設定することにより、Ｎ回以上の演算を連続して実行できる。よって、演算規模の大きい演算も高速に行える。
【００６６】
このように、プログラムにより演算手順を自在に設定できるため、ＦＰＧＡなどのように回路を設計する必要がない。また、プログラム開発ツールを提供することによりユーザが自在にプログラムを開発して、ユーザ独自の高速な演算装置として使用することができる。
【００６７】
また、上記実施例では、演算ユニット２０１−１〜２０１−Ｎは演算回路部３０２を搭載しており、各演算ユニット２０１−１〜２０１Ｎは設定により複数の演算から一の演算を選択して演算を行うようにしているが、演算ユニット２０１−１〜２０１−Ｎで実行可能な演算を互いに異なるようにして固定としてもよい。
【００６８】
また、メモリ１０５には、例えば、アドレスに対して記憶データが所望の関数となるようにデータが予め記憶されている。メモリ１０５のアドレスに入力データを供給し、その記憶データを得ることにより、複雑な演算を行うことなく、関数の演算結果を迅速に得られる構成とされている。
【００６９】
なお、このような演算方法は本出願人が特願２００１−１２６４５８で既に提案している。上記実施例では、説明を簡単にするためにメモリ１０５により特願２００１−１２６４５８で提案した最も単純な例について説明したが、特願２００１−１２６４５８に記載された他の例を本実施例に適用するようにしてもよい。これによりさらに複雑な処理を高速に実行できるようになる。
【００７０】
また、本実施例は、演算部１０４をＰＣＩボード上に１つだけ搭載した例を説明したが、基板上に複数個設けるようにしてもよい。
【００７１】
図９は本発明の一実施例の第１変形例のブロック構成図を示す。同図中、図２と同一構成部分には同一符号を付し、その説明は省略する。
【００７２】
演算装置２００には、Ｍ個（Ｍは２以上の整数）の演算部１０４−１〜１０４−Ｍが実装されている。演算部１０４〜１０４−Ｍには情報処理装置本体１１のＣＰＵ２１から処理が割り当てられ、各々別々に処理が設定される。各演算部１０４−１〜１０４−Ｍは、情報処理装置本体１１のＣＰＵ２１により割り当てられた各処理を前述の如くパイプライン的に実行する。
【００７３】
各演算部１０４−１〜１０４−Ｍでの処理結果は、マイコン１０８を介して情報処理装置本体１１のＣＰＵ２１に供給される。情報処理装置本体１１のＣＰＵ２１では、各演算部１０４−１〜１０４−Ｍからの処理結果を統合して一連の処理を実現する。
【００７４】
なお、上記変形例では、演算部１０４を単一のＰＣＩボードに複数個設けたが、情報処理装置本体１１のＰＣＩスロットに演算部１０４が搭載されたＰＣＩボードを複数実装する演算システムも考えられる。
【００７５】
図１０は本発明の一実施例の第２変形例のブロック構成図を示す。同図中、図１と同一構成部分には同一符号を付し、その説明は省略する。
【００７６】
本変形例の演算システムは、情報処理装置本体１１のｋ個（ｋは２以上の整数）のＰＣＩスロット６０１−１〜６０１−ｋに演算部１０４が実装されたＰＣＩボード６０２−１〜６０２−ｋが装着されている。各ＰＣＩボード６０２−１〜６０２−ｋに情報処理装置本体１１のＣＰＵ２１から処理が割り当てられ、各々別々に処理が設定される。ＰＣＩボード６０２−１〜６０２−ｋに実装された各演算部１０４は、情報処理装置本体１１のＣＰＵ２１により割り当てられた各処理を前述の如くパイプライン的に実行する。
【００７７】
各ＰＣＩボード６０２−１〜６０２−ｋでの処理結果は、情報処理装置本体１１のＣＰＵ２１に供給される。情報処理装置本体１１のＣＰＵ２１では、各ＰＣＩボード６０２−１〜６０２−ｋからの処理結果を統合して一連の処理を実現する。
【００７８】
また、上記変形例では情報処理装置本体１１に装着される複数のＰＣＩボード６０２−１〜６０２−ｋは、夫々に１個の演算部１０４を搭載しているが、各ＰＣＩボードに複数個の演算部１０４を搭載し、並列に演算を行う演算システムも考えられる。
【００７９】
図１１は本発明の一実施例の第３変形例のブロック構成図を示す。同図中、図１、図１０と同一構成部分には同一符号を付し、その説明は省略する。
【００８０】
本変形例の演算システムは、ｉ個（ｉは２以上の整数）の演算部１０４−１〜１０４−ｉが実装されたｊ個（ｊは２以上の整数）のＰＣＩボード７０１−１〜７０１−ｊを情報処理装置本体１１のＰＣＩスロット７０２−１〜７０２−ｊに装着した構成とされている。
【００８１】
各ＰＣＩボード７０１−１〜７０１−ｊに情報処理装置本体１１のＣＰＵ２１から処理が割り当てられ、各々にｉ個の処理が設定される。ＰＣＩボード７０１−１〜７０１−ｊでは、各々に設定されたｉ個の処理を実装された各演算部１０４−１〜１０４−ｉに割り当て、各処理を前述の如くパイプライン的に実行する。
【００８２】
本変形例によれば、（ｉ×ｊ）個の演算をｊ個のＰＣＩボード７０１−１〜７０１−ｊで略同時に並列に実行できるため、処理を高速に行える。
【００８３】
また、上記変形例では、単一のコンピュータに搭載した例を説明したが、複数のコンピュータをネットワークで接続して、複数のコンピュータに搭載されたＰＣＩボードで処理を分散して実行するような演算システムも考えられる。
【００８４】
図１２は本発明の一実施例の第４変形例のブロック構成図を示す。同図中、図１、図１１と同一構成部分には同一符号を付し、その説明は省略する。
【００８５】
本変形例の演算システムは、パーソナルコンピュータ８０１−１〜８０１−ｈは、ネットワーク８０２により通信可能とされている。パーソナルコンピュータ８０１−１〜８０１−ｈの夫々には、ｉ個の演算部１０４−１〜１０４−ｉが実装されたｊ枚のＰＣＩボード７０１−１〜７０１−ｊが装着されている。
【００８６】
本変形例によれば、複数のパーソナルコンピュータ８０１−１〜８０１−ｈの夫々に設けられた演算部１０４−１〜１０４−ｉにより処理を協働して行えるため、複雑な処理を夫々の演算部１０４−１〜１０４−ｉで並列に高速で処理することができる。よって、膨大な演算を高速に処理できる。
【図面の簡単な説明】
【００８７】
【図１】本発明の一実施例のブロック構成図である。
【図２】演算装置のブロック構成図である。
【図３】演算部のブロック構成図である。
【図４】演算ユニットのブロック構成図である。
【図５】演算選択情報と選択結果との関係を示す図である。
【図６】演算回路部のブロック構成図である。
【図７】演算装置により具体的な演算処理を行うときの動作説明図である。
【図８】演算装置により具体的な演算処理を行うときの動作説明図である。
【図９】本発明の一実施例の第１変形例のブロック構成図である。
【図１０】本発明の一実施例の第２変形例のブロック構成図である。
【図１１】本発明の一実施例の第３変形例のブロック構成図である。
【図１２】本発明の一実施例の第４変形例のブロック構成図である。
【符号の説明】
【００８８】
１ 情報処理システム
１１ 情報処理装置本体
１２ 入力装置
１３ ディスプレイ
２１ ＣＰＵ
２２、２３ チップセット
２４ メモリ
２５ ビデオチップ
２６ ＰＣＩバス
２７ ＰＣＩスロット
２８ ハードディスクドライブ
２９ ＲＯＭ
３０ ＩＳＡバス
３１ ＩＳＡスロット
３２ ＵＳＢポート
１００ 演算装置
１０１ 入力アンプ
１０２ 出力アンプ
１０３ 外部入出力部
１０４ 演算部
１０５ メモリ
１０６ 設定レジスタ
１０７ インタフェース部
１０８ マイコン
１０９ 通信レジスタ
１１０ ＲＯＭ
１１１ ＲＡＭ
１１２ マイコン入出力部
１２０ プリント配線板
【図１】
2004171593.tif 000003
【図２】
2004171593.tif 000004
【図３】
2004171593.tif 000005
【図４】
2004171593.tif 000006
【図５】
2004171593.tif 000007
【図６】
2004171593.tif 000008
【図７】
2004171593.tif 000009
【図８】
2004171593.tif 000010
【図９】
2004171593.tif 000011
【図１０】
2004171593.tif 000012
【図１１】
2004171593.tif 000013
【図１２】
2004171593.tif 000014