(57)【要約】【課題】信号処理を行なう多種多様なアルゴリズムを、単一のシステムとして実現でき、高速性と動作周波数を下げることを両立させる信号処理回路を提供する。【解決手段】ＭＰＵ１からの入力信号に対して、任意の演算処理を施し、回路２への出力信号を生成する信号処理回路において、信号処理の特徴を抽出しディジタルデータ化したコンテンツを記憶するコンテンツ記憶部１１と、基本的な演算機能を持つ演算回路から構成されコンテンツ記憶部１１のデータを元に演算機能の調整を行ない並列動作が可能な複数の基本演算ブロック１２〜１４と、入力信号と、出力信号、コンテンツ記憶部１１、基本演算ブロック１２〜１５間を、任意の組み合わせで接続可能な配線ネットワーク１５と、コンテンツ記憶部１１のデータを元に配線ネットワーク１５の組合わせと、基本演算ブロック１２〜１４の動作順序の制御を行なう制御信号を生成するグローバル順序回路１６とを備えた。【選択図】　　　　　図１
2004110528.tif 000002
【特許請求の範囲】
【請求項１】
前段のプロセッサもしくは回路から与えられる入力信号に対して、任意の演算処理を施し、後段のプロセッサもしくは回路へ与える指令となる出力信号を生成する信号処理回路において、
信号処理の特徴を抽出しディジタルデータ化したコンテンツを記憶し、外部回路からアクセス可能なコンテンツ記憶部と、
外部回路からアクセス可能であり、基本的な演算機能を持つ演算回路から構成され、前記コンテンツ記憶部のデータに基づいて演算機能の調整を行ない、並列動作が可能な複数の基本演算ブロックと、
前記入力信号と、前記出力信号、前記コンテンツ記憶部、および前記基本演算ブロック間を、任意の組み合わせで接続することが可能な配線ネットワークと、
前記コンテンツ記憶部のデータを元に前記配線ネットワークの組合わせと、前記基本演算ブロックの動作順序の制御を行なう制御信号を生成するグローバル順序回路と
を備えたことを特徴とする信号処理回路。
【請求項２】
前記基本演算ブロックは、
前記コンテンツ記憶部のデータを一方の入力として利用する、少なくとも一つの算術演算回路および前記コンテンツ記憶部のデータをシフト量として利用するシフト回路を、布線論理で構成する演算処理部と、
前記配線ネットワークに接続され、前記演算処理部の結果を保持し、外部回路からアクセス可能な結果レジスタ部と、
前記入力信号および他の任意の前記基本演算ブロックから、前記配線ネットワークを経由し、前記演算処理部への入力を保持し、外部回路からアクセス可能な入力レジスタ部とで構成される基本演算部を備え、
前記グローバル順序回路により生成された制御信号を起動信号とし、前記コンテンツ記憶部のデータを状態の制御に利用し、前記基本演算部の制御を行なう制御信号を生成するローカル順序回路を備えた
ことを特徴とする請求項１記載の信号処理回路。
【請求項３】
前記入力レジスタ部は、一つの前記演算処理部を重複して利用し、演算処理をｎ（ｎ＞１）回行なうために、前記配線ネットワークを介して前記外部回路からアクセス可能なｎ個のレジスタからなる入力ベクトルレジスタ部と、所定の演算への入力となるように前記入力ベクトルレジスタ部の出力をｎ対１にマルチプレクスするマルチプレクサ部とから構成され、
前記結果レジスタ部は、前記演算処理部の各処理の結果を１対ｎにデマルチプレクスするデマルチプレクサ部と、該デマルチプレクサ部の出力を保持する、配線ネットワークに接続され、外部回路からアクセス可能な、ｎ個のレジスタからなる、結果ベクトルレジスタ部とから構成され、
前記ローカル順序回路は、前記コンテンツ記憶部のデータを重複処理の回数Ｎ（ｎ≧Ｎ）として利用し、前記演算処理部をＮ回重複動作させるため、前記グローバル順序回路により生成された制御信号を起動信号とし、前記コンテンツ記憶部のデータを状態の制御に利用し、前記入力レジスタ部を制御する信号を生成する入力制御部と、前記結果レジスタ部を制御する信号を生成する出力制御部と、前記演算処理部を制御する信号を生成する演算制御部とから構成された
ことを特徴とする請求項２記載の信号処理回路。
【請求項４】
前記基本演算ブロックの基本演算部に、外部回路からアクセス可能であり、任意の基本演算ブロックの任意の時点での演算結果を保存し、将来の予測値を次回以降の演算に利用可能とするバッファメモリを備えたことを特徴とする請求項２または３に記載の信号処理回路。
【請求項５】
前記配線ネットワークはクロスバスイッチを備え、
前記グローバル順序回路は前記コンテンツ記憶部のデータを元に前記クロスバスイッチの開閉を制御する信号を生成するクロスバスイッチ制御部を備え、
前記コンテンツ記憶部のデータを元に前記基本演算ブロックの動作順序を制御する制御信号を生成するブロック制御部を備えたこと
を特徴とする請求項１記載の信号処理回路。
【請求項６】
前記配線ネットワークは、任意の前記基本演算ブロックからアクセス可能なｎポートの共有メモリを備え、
前記グローバル順序回路は、前記コンテンツ記憶部のデータを元に前記共有メモリへのアドレスや制御信号を生成する共有メモリ制御部と、前記コンテンツ記憶部のデータを元に前記基本演算ブロックの動作順序を制御する制御信号を生成するブロック制御部とを備えたこと
を特徴とする請求項１記載の信号処理回路。
【請求項７】
前記配線ネットワークは、共有バスを備え、
前記グローバル順序回路は、前記コンテンツ記憶部のデータを元に共有バスの状態を制御する信号を生成する共有バス制御部と、前記コンテンツ記憶部のデータを元に前記基本演算ブロックの動作順序を制御する制御信号を生成するブロック制御部とを備えたこと
を特徴とする請求項１記載の信号処理回路。
【請求項８】
前記配線ネットワークは、複数の前記配線ネットワークを備えたことを特徴とする請求項１記載の信号処理回路。
【請求項９】
前記コンテンツ記憶部に記憶されるディジタルデータであるコンテンツのデータ構造として、グローバル順序回路データ部と、複数の基本演算ブロックデータ部とを有し、
前記グローバル順序回路データ部は、前記グローバル順序回路において、前記配線ネットワークの組合わせおよび前記基本演算ブロックの動作順序の決定に利用され、前記基本演算ブロックデータ部を頂点の要素とするデータフローグラフを表現する、グローバル順序回路データを保存したものであり、
前記基本演算ブロックデータ部は、前記グローバル順序回路データ部のフローグラフ各頂点に対応するためのタグ部と、前記演算処理部の演算機能の調節を行なうために利用される演算処理データ部と、前記ローカル順序回路の状態を制御するために利用されるローカル順序回路データ部とを有する、
請求項１記載の信号処理回路。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、入力された信号を元に後段に接続された回路への指令となる出力信号を生成する信号処理回路、特に組み込み機器分野における信号処理回路に関するものである。
【０００２】
【従来の技術】
従来の技術の代表例として、モータの制御を行なうシステムを中心に話を進める。マイクロプロセッサ（ＭＰＵ）を利用し、信号処理を行なうシステム構成を図１０に示す。ＭＰＵ１０１と、プログラムを格納したＲＯＭ１０２、作業領域として利用されるＲＡＭ１０３、および一定時間毎にＭＰＵ１０１に対して割り込み信号を発生するタイマ１０４が、バスＢ１を介して接続される。これらは、モータ制御以外の映像や音声等の信号処理においても共通に見られる構成である。
図１０において点線で囲まれた部分は、信号処理の対象により構成が異なる。モータ制御の例では、制御対象であるモータ１０７、モータ１０７をドライブするドライバ１０６、制御対象であるモータ１０７の動きを観測するセンサ１０８、センサ１０８の出力を取得するカウンタ１０５から構成される。
ＲＯＭ１０２には、オペレーティングシステム（ＯＳ）とアプリケーションプログラムが格納されており、モータ１０７の制御はＯＳ上の一つのタスクとして、アプリケーションプログラムにより実行される。組み込みシステムの場合には、リアルタイム性が要求されるために、リアルタイムＯＳが一般的に利用される。
【０００３】
この、アプリケーションプログラムが信号処理の本体であり、モータ制御の例では制御アルゴリズムがプログラムとして記述されている。例えば、図１１に示されている比例要素ＫＰを設けた比例制御や、図１２に示されている比例要素ＫＰおよび積分定数ＫＩを有する積分要素∫を設けた比例積分制御、図１３に示されている比例要素ＫＰおよび積分定数ＫＩを有する積分要素∫ならびに微分定数ＫＤを有する微分要素ｄ／ｄｔを設けた比例積分微分制御等がある。
このように、制御の性能を高めるために、同じ目的に対して複数のアルゴリズムが考えられ、実際に利用されている。しかし、性能を高めるために、信号処理の内容が複雑になる。さらに、内部の状態を変数として利用したり、多入力多出力になるなど、性能向上を図るために、処理内容は複雑になるばかりである。
【０００４】
ディジタル処理を基本とする信号処理においては、微分が差分に、積分が和分で処理されるので、積和演算が多用される傾向にある。そのため、ＭＰＵではなく、積和演算を高速に実行できるように設計されているディジタルシグナルプロセッサ（ＤＳＰ）が利用されることも多い。そのため、ＤＳＰの演算処理部に対してデータの依存性をなくすことにより、連続して実行される信号処理を高速に行なうようにしている。また、ＭＰＵで高速な信号処理を行なうため、ＡＬＵ（算術論理演算器）以外に乗算器、さらに積和演算器を持たせたものもある。
さらに、アルゴリズムを変更することが必要なくなり固定化できると、ＭＰＵやＤＳＰ上のアプリケーションプログラムで実現していたアルゴリズムを、専用ＬＳＩとしてハードウェア化することができる。これにより、信号処理速度やコストといった要求に対応する。
しかしながら、ＭＰＵやＤＳＰを用いてプログラムにより処理を行なう従来の信号処理回路では、いくつかの問題点を持っている。
【０００５】
複数のアプリケーションに対応するためには、その数だけの信号処理のアルゴリズムを必要とするという問題がある。モータの制御に限っても、モータの負荷の種類により、多種多様なアルゴリズムがあり、従って、アプリケーションプログラムも複数必要となる。しかし、組み込み機器の場合には、ＭＰＵや、ＲＯＭ、ＲＡＭ等の利用できるリソースが制限されており、２、３種類のアルゴリズム程度しかプログラムとしてＲＯＭ上に搭載することができない。これは、アプリケーションに対応した、カスタマイズを行なうことを困難とする。そのため、少量多品種のシステムを作ることになり、開発と現場の双方ともメンテナンスが煩雑になり、システムの信頼性を落とす要因となる。また、個別対応となるため、製造コストも増加する。
次に、信号処理にかかる処理時間の問題がある。基本的に、ＭＰＵやＤＳＰは処理が逐次的であり、処理の高速化はクロック周波数に依存する。そのため、信号処理にかかる時間を短縮する場合には、クロック周波数を上げる必要がある。しかし、クロック周波数を上げることにより、消費電力や不要輻射ノイズが増大する。これは、システムの開発を困難とし、さらに、システムとしての信頼性を損なう。一方、信号処理は処理時間がかかると同時に、優先度がつけにくいものである。また、信号処理が終了し処理結果が得られないと、次の処理にかかれないという性質を持つ。そのため、信号処理が動作している間は、割り込みが禁止した上で、ＭＰＵやＤＰＳを占有して信号処理を行なう。そのため、優先度の高い処理であっても処理がブロックされ、リアルタイム性を損なう大きな要因となっている。
【０００６】
また、アルゴリズム自体はどのシステムでも共通であるが、システムに依存した形で、プログラム化しなければいけないという問題がある。アルゴリズムはＣ言語等の高級言語で記述し、ＭＰＵやＤＳＰで動作する機械語のプログラムに翻訳され、最終的にＲＯＭに搭載される。この際、ＭＰＵやＤＳＰの変更はもちろん、ＯＳやコンパイラなど、システムのどこかが変更された場合、翻訳された機械語は、システム構成は同じでも、そのままでは、そのプログラムは動作しないという問題を持つ。この問題は、専用品になり易い組み込みシステムほど顕著である。
同じアルゴリズムにも関わらず、プログラムがシステムに依存するため、アルゴリズムを蓄積し、再利用することが困難となる。さらに、カスタマイズはプログラム全体を交換する必要があり、ネットワーク特にインターネットを介して、プログラムを取得するには、プログラムサイズの問題もある。組み込みシステムでは、リソースが限定されているが、それでも数百キロバイト程度あり、電話回線を利用したＰＰＰ（Ｐｏｉｎｔ−ｔｏ−Ｐｏｉｎｔ　Ｐｒｏｔｏｃｏｌ）では、非常に大きなサイズといえる。
信号処理にかかる処理時間の問題を解決するために、アルゴリズムをハードウェア化したＬＳＩによるアプローチがある。しかし、専用化しハードウェア化しているため、他のアプリケーションに対応するカスタマイズが行なえない、という問題は依然として持っている。カスタマイズ可能とすると、マイクロコード方式をとるため、ＭＰＵやＤＳＰと同じ問題が現れることになる。
【０００７】
このような問題を解消するために、乗算や加算、データ転送、およびシーケンスコントロール等の基本演算処理を行なうと共に、各種データや命令信号を出力するＤＳＰ（ディジタルシグナルプロセッサ）コアと、このＤＳＰコアと接続されたデータバスと、このデータバスを共有し、命令信号に対応した基本演算処理以外の特殊処理をそれぞれ実行する複数の機能ブロックと、内部ステータス信号によって、一つまたは複数の機能ブロックを選択して、命令信号に対応した特殊処理を実行可能にする選択回路とを備えた信号処理演算器が提案されている（例えば、特許文献１参照）。これにより、コスト上昇を伴うハードウェアの大幅な変更なしに、種々のアプリケーションに適応することができる信号処理演算回路が得られる。
【特許文献１】
特開平８−１０６３７５号公報（第３−４頁、図１、図２）
【０００８】
【発明が解決しようとする課題】
しかしながら、この特許文献１に開示された信号処理においては、基本演算処理をＤＳＰコアにおいて行ない、複数の機能ブロックにおいてはＤＳＰコアで扱うのが困難な特殊処理を実行するという役割分担を行なっているため、特殊処理以外の基本演算処理の処理速度が、ＤＳＰコアを構成するメモリの容量や演算回路等の処理速度で制限され、それ以上の高速化が困難であるという問題があった。
したがってこの発明の目的は、以上述べた問題点を解消するために、信号処理を行なう多種多様なアルゴリズムを、単一のシステムとして実現でき、カスタマイズ性と、柔軟性、高速性を備え、同時に消費電力と不要輻射ノイズの低減を実現するため、高速性と動作周波数を下げることを両立するアーキテクチャを備えた信号処理回路を提供することである。
【０００９】
【課題を解決するための手段】
上記問題を解決するため、本発明の第１の構成に係る信号処理回路は、前段のプロセッサもしくは回路から与えられる入力信号に対して、任意の演算処理を施し、後段のプロセッサもしくは回路へ与える指令となる出力信号を生成する信号処理回路において、信号処理の特徴を抽出しディジタルデータ化したコンテンツを記憶し、外部回路からアクセス可能なコンテンツ記憶部と、外部回路からアクセス可能であり、基本的な演算機能を持つ演算回路から構成され、前記コンテンツ記憶部のデータに基づいて演算機能の調整を行ない、並列動作が可能な複数の基本演算ブロックと、前記入力信号と、前記出力信号、前記コンテンツ記憶部、および前記基本演算ブロック間を、任意の組み合わせで接続することが可能な配線ネットワークと、前記コンテンツ記憶部のデータを元に前記配線ネットワークの組合わせと、前記基本演算ブロックの動作順序の制御を行なう制御信号を生成するグローバル順序回路とを備えたことを特徴とする。
この第１の構成の信号処理回路においては、コンテンツ記憶部と、複数の基本演算ブロックと、配線ネットワークと、グローバル順序回路の間で信号処理を行なうことにより、多種多様なアルゴリズムを、単一のアーキテクチャとして実現でき、多種多様なアルゴリズムの特徴を、データとして抽出したコンテンツにより、コンテンツに対応したアルゴリズムに最適なアーキテクチャとすることができる。そして、複数の基本演算ブロックを並列に動作させることで、高速な信号処理を行なえ、システムの動作周波数を下げることができる。
【００１０】
本発明の第２の構成に係る信号処理回路は、第１の構成における基本演算ブロックを、前記コンテンツ記憶部のデータを一方の入力として利用する、少なくとも一つの算術演算回路および前記コンテンツ記憶部のデータをシフト量として利用するシフト回路を、布線論理で構成する演算処理部と、前記配線ネットワークに接続され、前記演算処理部の結果を保持し、外部回路からアクセス可能な結果レジスタ部と、前記入力信号および他の任意の前記基本演算ブロックから、前記配線ネットワークを経由し、前記演算処理部への入力を保持し、外部回路からアクセス可能な入力レジスタ部とで構成される基本演算部を備えたものとし、前記グローバル順序回路により生成された制御信号を起動信号とし、前記コンテンツ記憶部のデータを状態の制御に利用し、前記基本演算部の制御を行なう制御信号を生成するローカル順序回路を備えたものとした信号処理回路である。
この第２の構成の信号処理回路においては、演算処理部の処理回路自体は固定であるが、コンテンツを演算式の乗算、加算、シフタへの入力とすることで、処理回路が表現する演算式としての働きを簡単に変更できる。さらに、演算処理部のデータパスと制御回路を簡単にすることができるために、実装が容易となる。
【００１１】
本発明の第３の構成に係る信号処理回路は、第２の構成における入力レジスタ部は、一つの前記演算処理部を重複して利用し、演算処理をｎ（ｎ＞１）回行なうために、前記配線ネットワークを介して前記外部回路からアクセス可能なｎ個のレジスタからなる入力ベクトルレジスタ部と、所定の演算への入力となるように前記入力ベクトルレジスタ部の出力をｎ対１にマルチプレクスするマルチプレクサ部とから構成され、前記結果レジスタ部は、前記演算処理部の各処理の結果を１対ｎにデマルチプレクスするデマルチプレクサ部と、該デマルチプレクサ部の出力を保持する、配線ネットワークに接続され、外部回路からアクセス可能な、ｎ個のレジスタからなる、結果ベクトルレジスタ部とから構成され、前記ローカル順序回路は、前記コンテンツ記憶部のデータを重複処理の回数Ｎ（ｎ≧Ｎ）として利用し、前記演算処理部をＮ回重複動作させるため、前記グローバル順序回路により生成された制御信号を起動信号とし、前記コンテンツ記憶部のデータを状態の制御に利用し、前記入力レジスタ部を制御する信号を生成する入力制御部と、前記結果レジスタ部を制御する信号を生成する出力制御部と、前記演算処理部を制御する信号を生成する演算制御部とから構成されたことを特徴とする。この第３の構成の信号処理回路においては、任意の基本演算ブロックの演算処理部を重複して信号処理に利用することにより、実装に必要とする回路規模を減らし、行列演算のような繰り返しが要求される処理を高速化することができる。
【００１２】
本発明の第４の構成に係る信号処理回路は、第２または第３の構成において、基本演算ブロックの基本演算部に、外部回路からアクセス可能であり、任意の基本演算ブロックの任意の時点での演算結果を保存し、将来の予測値を次回以降の演算に利用可能とするバッファメモリを備えたことを特徴とする。
この第４の構成においては、任意の時点での演算結果を利用したフィードバック処理や、予測値を利用したフィードフォワード処理ができるために、精度の高い信号処理を行なえる。
【００１３】
本発明の第５の構成に係る信号処理回路は、第１の構成において、前記配線ネットワークとして、クロスバスイッチを備え、前記グローバル順序回路として、前記コンテンツ記憶部のデータを元にクロスバスイッチの開閉を制御する信号を生成するクロスバスイッチ制御部を備え、前記コンテンツ記憶部のデータを元に前記基本演算ブロックの動作順序を制御する制御信号を生成する、ブロック制御部を備えたことを特徴とする。
この第５の構成においては、基本演算ブロック部や、コンテンツ記憶部、グローバル順序回路、入力、出力間の通信を、他のリソースに依存せずクロスバスイッチの開閉により通信を行なうので、信号処理に掛かる処理時間を短縮し、入力から出力までの遅延を抑えることができる。
【００１４】
本発明の第６の構成に係る信号処理回路は、第１の構成において、前記配線ネットワークとして、任意の前記基本演算ブロックからアクセス可能なｎポートの共有メモリを備え、前記グローバル順序回路として、前記コンテンツ記憶部のデータを元に共有メモリへのアドレスや制御信号を生成する共有メモリ制御部を備え、前記コンテンツ記憶部のデータを元に前記基本演算ブロックの動作順序を制御する制御信号を生成する、ブロック制御部を備えたことを特徴とする。
この第６の構成においては、複数の共有メモリに与えるアドレスとストローブ信号のみで通信を行なうので、簡単な制御により、基本演算ブロック部や、コンテンツ記憶部、グローバル順序回路、入力、出力間の通信を行なうことができる。
【００１５】
本発明の第７の構成に係る信号処理回路は、第１の構成において、前記配線ネットワークとして、共有バスを備え、前記グローバル順序回路として、前記コンテンツ記憶部のデータを元に共有バスの状態を制御する信号を生成する共有バス制御部を備え、前記コンテンツ記憶部のデータを元に前記基本演算ブロックの動作順序を制御する制御信号を生成する、ブロック制御部を備えたことを特徴とする。
この第７の構成においては、バス結合により通信を行なうので、基本演算ブロック部や、コンテンツ記憶部、グローバル順序回路、入力、出力間の通信を簡単な制御により行なうことができるうえ、さらにシステムリソースを抑えた回路の実装ができる。
【００１６】
本発明の第８の構成に係る信号処理回路は、第１の構成において、前記配線ネットワークとして、複数の記配線ネットワークを備えたことを特徴とする。
この第８の構成においては、基本演算ブロック部や、コンテンツ記憶部、グローバル順序回路、入力、出力間の通信を、異なる配線ネットワークを用いて並列に行なうので、他のリソースに依存に関係なく通信を行なうことができるようになり、信号処理にかかる処理時間を短縮し、入力から出力までの遅延を抑えることができる。
【００１７】
本発明の第９の構成に係る信号処理回路は、第１の構成において、前記コンテンツ記憶部に記憶されるディジタルデータであるコンテンツのデータ構造として、グローバル順序回路データ部と、複数の基本演算ブロックデータ部とを有し、前記グローバル順序回路データ部は、前記グローバル順序回路において、前記配線ネットワークの組合わせおよび前記基本演算ブロックの動作順序の決定に利用され、前記基本演算ブロックデータ部を頂点の要素とするデータフローグラフを表現する、グローバル順序回路データを保存したものであり、前記基本演算ブロックデータ部は、前記グローバル順序回路データ部のフローグラフ各頂点に対応するためのタグ部と、前記演算処理部の演算機能の調節を行なうために利用される演算処理データ部と、前記ローカル順序回路の状態を制御するために利用されるローカル順序回路データ部とを有することを特徴とする。
この第９の構成においては、信号処理のアルゴリズムという定性的な情報を、アーキテクチャの動作の決定と、最適化のための調整値という形で、特徴を抽出しディジタルデータ化することにより、システムに依存しないデータ（コンテンツ）という形で、アルゴリズムのデータベース化を行なえるようになり、アルゴリズムの再利用を簡単にすることができる。
【００１８】
【発明の実施の形態】
以下、本発明の実施の形態を、図１から図９を用いて説明する。
＜第１実施形態＞
図１に示す第１実施形態は、本発明の信号処理回路の基本的な概念を説明するものである。基本演算ブロック１２，１３，１４、コンテンツ記憶部１１、マイクロプロセッサ（ＭＰＵ）１からの入力信号Ｓ１、回路２への出力信号Ｓ２の各リソースが配線ネットワーク１５に接続されている。
コンテンツ記憶部１１は、信号処理の特徴を抽出しディジタルデータ化したコンテンツを記憶し、配線ネットワーク１５を介して、外部回路からアクセス可能な構成となっている。
【００１９】
基本演算ブロック１２，１３，１４は、配線ネットワーク１５を介して外部回路からアクセス可能であり、基本的な演算機能を持つ演算回路から構成され、コンテンツ記憶部１１のデータＳ３に基づいて演算機能の調整を行ない、並列動作が可能な構成となっている。基本演算ブロック１２，１３，１４は、様々な演算パターンを提供し、信号処理の演算式を構成する基本的なパーツとして利用される。演算パターンと信号処理の演算式は、素数と合成数の関係にたとえることができる。すなわち、上限の数を任意にとった場合、任意の素数を除く合成数は、それよりも小さい素数の集合で表現することができる。つまり、この素数の集合となるような基本演算ブロックを選択することで、少数の基本演算ブロックを組合わせ、多種多様な演算式を構成することができるようになる。そして、この組合わせはコンテンツ記憶部１１のデータＳ３により決定する。
グローバル順序回路１６は、コンテンツ記憶部１１のデータＳ３を元に配線ネットワーク１５の組合わせと、基本演算ブロック１２，１３，１４の動作順序の制御を行なう制御信号Ｓ４を生成する機能を有している。
【００２０】
次に、この第１実施形態の動作について説明する。
外部回路であるＭＰＵ１から所定の入力信号Ｓ１、たとえばモータを所定の動作で制御するための指令信号が信号処理回路に入力されると、配線ネットワーク１５を介して、コンテンツ記憶部１１にその信号が伝達される。コンテンツ記憶部１１は、入力信号Ｓ１に応じた信号処理の内容および順序を表すデータＳ３を基本演算ブロック１２，１３，１４およびグローバル順序回路１６に出力する。各基本演算ブロック１２，１３，１４では、それぞれ、コンテンツ記憶部１１のデータＳ３に基づいて演算を行なう。またグローバル順序回路１６は、コンテンツ記憶部１１のデータＳ３を元に、基本演算ブロック１２，１３，１４の動作順序の状態遷移を決定し、配線ネットワーク１５の組み合わせを決定する制御信号Ｓ４を生成する。配線ネットワーク１５からは、回路２への出力信号Ｓ２が出力される。
この第１実施形態の信号処理回路によれば、信号処理を行なう多種多様なアルゴリズムを、単一のアーキテクチャとして実現でき、多種多様なアルゴリズムの特徴を、コンテンツ記憶部１１のデータとして抽出したコンテンツにより、コンテンツに対応したアルゴリズムに最適なアーキテクチャとすることができる。そして、複数の基本演算ブロック１２，１３，１４を並列に動作させることで、高速な信号処理を行なえ、システムの動作周波数を下げることができる。
【００２１】
＜第２実施形態＞
本発明の第２実施形態の信号処理回路について、図２を用いて説明する。図２は、基本演算ブロック１２，１３，１４の具体的構成について説明するものである。
本実施形態において、基本演算ブロック１２，１３，１４、コンテンツ記憶部１１、入力信号Ｓ１、出力信号Ｓ２の各リソースが配線ネットワーク１５に接続されている。グローバル順序回路１６はコンテンツ記憶部１１のデータＳ３を元に、配線ネットワーク１５の組合わせと、基本演算ブロック１２，１３，１４の動作順序の制御を行なう制御信号Ｓ４を生成する。この制御信号Ｓ４は、ローカル順序回路１２２の起動信号となる。
基本演算ブロック１２，１３，１４は、基本演算部１２１とローカル順序回路１２２から構成される。さらに、基本演算部１２１は、入力レジスタ部１２１２，１２１３と、結果レジスタ部１２１４、演算処理部１２１１から構成される。演算処理部１２１１は、信号処理の演算を行なう基本的なパターンを提供する。ローカル順序回路１２２は、グローバル順序回路１６により生成された制御信号Ｓ４を起動信号とし、コンテンツ記憶部１１のデータを状態の制御に利用し、基本演算部１２１の制御を行なう制御信号Ｓ１０を生成する。
【００２２】
本実施形態では、基本的なパターンとして、積和演算を布線論理で実現した演算処理部１２１１で説明する。基本演算部１２１の入力は、入力レジスタ部１２１２，１２１３で記憶され、乗算器１２１５，１２１６の被乗数として利用され、乗数はコンテンツ記憶部１１のデータＳ３が利用される。乗算器１２１５，１２１６の出力は、演算精度を調節するため、バレルシフタ１２１７，１２１８に入力される。バレルシフタ１２１７，１２１８のシフト量は、ここでもコンテンツ記憶部１６のデータが利用される。バレルシフタ１２１７，１２１８の出力が、加算器１２１９で加算され、結果レジスタ部１２１４で演算結果が記憶される。演算パターンである演算処理部１２１は、コンテンツ記憶部１１のデータＳ３を利用することで、演算処理の最適化が行なえるのである。例えば、乗数の一方を０とすることで、演算処理部１２１１を単純な乗算器として利用できるようになる。また、乗数の一方を１、もう一方を−１とすることで、入力の差分を得ることができる。
この第２実施形態においては、演算処理部１２１の処理回路自体は固定であるが、コンテンツを演算式の乗算、加算、シフタへの入力とすることで、処理回路が表現する演算式としての働きを容易に変更することができる。
【００２３】
＜第３実施形態＞
本発明の第３実施形態に係る信号処理回路を、図３を用いて説明する。図３は、演算処理部１２１１を重複させて動作させる実施例である。このような構成にすることにより、行列の扱いを容易にすることができる。基本演算ブロック１２，１３，１４、コンテンツ記憶部１１、入力信号Ｓ１、出力信号Ｓ２の各リソースが配線ネットワーク１５に接続されている。グローバル順序回路１６はコンテンツ記憶部データを元に、基本演算ブロック１２，１３，１４の動作順序の制御と各リソースの制御を行なう制御信号Ｓ４を生成する。この制御信号は、ローカル順序回路１２２の起動信号となる。
ローカル順序回路１２２は、入力制御部１２２１、出力制御部１２２２、演算制御部１２２３で構成される。
【００２４】
基本演算部１２１は入力レジスタ部１２１２，１２１３と、演算処理部１２１１、結果レジスタ部１２１４から構成される。
さらに、入力レジスタ部１２１２，１２１３は、入力ベクトルレジスタ部１２１１０，１２１１１，１２１１２，１２１１３，１２１１４，１２１１５とマルチプレクサ部１２１１６，１２１１７から構成され、結果レジスタ部１２１４は、デマルチプレクサ部１２１１８と結果ベクトルレジスタ部１２１１９，１２１２０，１２１２１から構成される。コンテンツ記憶部データを元に、ローカル順序回路の入力制御部は入力レジスタ部の入力の切り替えと記憶を制御するための制御信号Ｓ１０１を、演算制御部は入力レジスタ部の値を利用した演算を制御するための制御信号Ｓ１０３を、出力制御部は演算処理部の結果を適切なレジスタへ記憶させるための制御を行なう制御信号Ｓ１０２をそれぞれ生成する。この入力レジスタ部と、演算処理部、結果レジスタ部を対応させて制御することで、演算処理部を重複させても正しい演算結果を得ることができる。
【００２５】
＜第４実施形態＞
本発明の第４実施形態に係る信号処理回路を、図４を用いて説明する。図４は、基本演算ブロック１２，１３，１４内の基本演算部１２１として、バッファメモリ１２１２２を用いる例である。基本演算ブロック１２、コンテンツ記憶部１１、入力信号Ｓ１、出力信号Ｓ２の各リソースが配線ネットワーク１５に接続されている。グローバル順序回路１６が各リソースの制御を行なう制御信号Ｓ４を生成する。この制御信号は、ローカル順序回路１２２の起動信号となる。ローカル順序回路１２２は基本演算ブロック１２を制御する制御信号Ｓ１０を生成する。グローバル順序回路１６、ローカル順序回路１２２は、コンテンツ記憶部１１のデータＳ３を元に、基本演算ブロック１２，１３，１４の動作順序の制御を行なう制御信号Ｓ４を出力する。
ここで、基本演算ブロック１２，１３，１４の演算結果を記憶することに、バッファメモリ１２１２２を利用すると、信号処理のアルゴリズムをフィードバックシステムとすることができる。また、未来の予測値を格納することに、バッファメモリ１２１２２を利用すると、信号処理のアルゴリズムをフィードフォワードシステムとすることができる。バッファメモリ１２１２２に記憶する内容は、どちらか一方だけでなく、混在してもかまわない。
【００２６】
＜第５実施形態＞
本発明の第５実施形態に係る信号処理回路を、図５を用いて説明する。図５は、配線ネットワーク１５としてクロスバスイッチ１５１を用いる例である。基本演算ブロック１２，１３，１４、コンテンツ記憶部１１、入力信号Ｓ１、出力信号Ｓ２の各リソースがクロスバスイッチ１５１に接続されている。
グローバル順序回路１６内のクロスバスイッチ制御部１６２は、クロスバスイッチ１５１につながるリソース間で通信を行なうクロスポイントのスイッチと、以前通信が行なわれたが不要となったスイッチの開閉の制御を行なう制御信号Ｓ４２を生成する。また、ブロック制御部１６１は、基本演算ブロック１２，１３，１４で行なう制御の基準信号となる制御信号Ｓ４１を生成する。
コンテンツ記憶部データＳ３は、ブロック制御部１６１とクロスバスイッチ制御部１６２の双方で、動作順序の状態遷移の制御に利用される。クロスバスイッチ１５１の特性により、入力と基本ブロック１２の通信と、基本ブロック１３，１４間の通信が同時に行なえる。
このようにリソース間の通信を複数行なうことができるため、入力から信号処理の出力までの遅延を最小にすることができる。
【００２７】
＜第６実施形態＞
本発明の第６実施形態に係る信号処理回路を、図６を用いて説明する。図６は、配線ネットワーク１５として共有メモリ１５２を用いる例である。基本演算ブロック１２，１３，１４、コンテンツ記憶部１１、入力信号Ｓ１、出力信号Ｓ２の各リソースが共有メモリ１５２の共有バスに接続されている。
グローバル順序回路１６内の共有メモリ制御部１６３は、共有メモリ１５２につながるリソース間で通信を行なうため、アドレスとストローブ信号を生成し、通信の制御を行なう制御信号Ｓ４３を生成する。
ブロック制御部１６１は、基本演算ブロック１２，１３，１４で行なう制御の基準信号となる制御信号Ｓ４１を生成する。
コンテンツ記憶部データＳ３は、ブロック制御部１６１と共有メモリ制御部１６３の双方で、動作順序の状態遷移の制御に利用される。
共有メモリ１５２の場合も、第５実施形態のクロスバスイッチ１５１のように、リソース間の通信を複数行なうことができるため、入力から信号処理の出力までの遅延を小さくすることができる。ただし、メモリという緩衝帯を一段含むことになるため、クロスバスイッチの場合より遅延が多少増加する。しかし、アドレスにより通信の制御ができるために、制御回路を簡単にすることができる。
【００２８】
＜第７実施形態＞
本発明の第７実施形態に係る信号処理回路を、図７を用いて説明する。図７は、配線ネットワーク１５として共有バス１５３を用いる例である。基本演算ブロック１２，１３，１４、コンテンツ記憶部１１、入力信号Ｓ１、出力信号Ｓ２の各リソースが共有バス１５３に接続されている。
グローバル順序回路１６内の共有バス制御部１６４は、共有バス１５３につながるリソース間で通信を行なうため、通信を行なうリソースとその方向を制御する制御信号Ｓ４４を生成する。
ブロック制御部１６１は、基本演算ブロック１２，１３，１４で行なう制御の基準信号となる制御信号Ｓ４１を生成する。
コンテンツ記憶部データＳ３は、ブロック制御部１６１と共有バス制御部１６４の双方で、回路の動作順序の状態遷移の制御に利用される。クロスバスイッチや共有メモリのように、リソース間の通信を複数行なうことができないが、共有バス方式は制御が容易でかつ回路規模も小さくできる。
【００２９】
＜第８実施形態＞
本発明の第８実施形態に係る信号処理回路を、図８を用いて説明する。図８は、配線ネットワークを複数持つ場合の構成を示すものであり、この例では２つ持つ。配線ネットワーク１５−１、配線ネットワーク１５−２は、それぞれ独立に存在しており、基本演算ブロック１２，１３，１４、コンテンツ記憶部１１、グローバル順序回路１６、入力信号Ｓ１、出力信号Ｓ２は、配線ネットワーク１５−１，１５−２にそれぞれ接続されている。そのため、２つの入力や、２つの出力、入力と出力のように、通信を並行して行なうことができる。
コンテンツ記憶部データＳ３は、基本演算ブロック１２，１３，１４、配線ネットワーク１５−１と１５−２、グローバル順序回路１６に接続され、各ブロックの調整最適化を行なう。また、グローバル順序回路１６からは制御信号が生成され、基本演算ブロック１２，１３，１４、配線ネットワーク１５−１と１５−２の組合わせや動作を決定する。
【００３０】
＜第９実施形態＞
本発明の第９実施形態に係る信号処理回路を、図９を用いて説明する。図９は、コンテンツデータＤ１の構造を示すものである。
コンテンツデータＤ１は、グローバル順序回路データ部Ｄ１１と、基本演算ブロックデータ部Ｄ１２，Ｄ１３，Ｄ１４，Ｄ１５を有している。
グローバル順序回路データ部Ｄ１１は、入力信号と、出力信号、基本演算ブロックのデータフローグラフを表現する。これは、並列性を含む、時間軸の成分も表現される。このデータグラフの頂点が、各基本演算ブロックに対応する。
基本演算ブロックデータ部Ｄ１２，Ｄ１３，Ｄ１４，Ｄ１５は、それぞれ、グローバル順序回路データ部Ｄ１１のデータグラフの頂点との関係を示すタグ部Ｄ１２１，Ｄ１３１，Ｄ１４１，Ｄ１５１と、演算処理部１２１１の回路を最適に調整する演算処理部データ部Ｄ１２２，Ｄ１３２，Ｄ１４２，Ｄ１５２と、基本演算部１２１内の制御を行なうローカル順序回路１２２の動作を決定するために利用されるローカル順序回路データ部Ｄ１２３，Ｄ１３３，Ｄ１４３，Ｄ１５３を持っている。
【００３１】
基本演算ブロックデータ部Ｄ１２，Ｄ１３，・・・の個数は、グローバル順序回路データ部Ｄ１１のデータグラフの頂点の数である。
この第９実施形態においては、信号処理のアルゴリズムという定性的な情報を、アーキテクチャの動作の決定と、最適化のための調整値という形で、特徴を抽出しディジタルデータ化できる。これにより、システムに依存しないデータ（コンテンツ）という形で、アルゴリズムのデータベース化を行なえるようになり、アルゴリズムの再利用を簡単にすることができる。さらに、アルゴリズムを表現したプログラムと異なり、システムに依存しないデータのため、本信号処理回路を利用すると、どのようなシステム構成においても、データ（コンテンツ）の修正の必要無しに、アルゴリズムが動作可能であり、さらにコンテンツのサイズを非常に小さくできるので、インターネットを介した通信に最適となる。
【００３２】
【発明の効果】
本発明によれば、次の効果を奏する。
（１）本発明の第１の構成によれば、信号処理を行なう多種多様なアルゴリズムを、単一のアーキテクチャとして実現でき、多種多様なアルゴリズムの特徴を、データとして抽出したコンテンツにより、コンテンツに対応したアルゴリズムに最適なアーキテクチャとすることができる。そして、複数の基本演算ブロックを並列に動作させることで、高速な信号処理を行なえ、システムの動作周波数を下げることができる。
これにより、定性的なアルゴリズムを、定量的なディジタルデータであるコンテンツとして表現できるとともに、最適なアーキテクチャの決定をコンテンツにより行なえ、カスタマイズ性と柔軟性に非常に優れた信号処理回路が提供できる。また、並列処理による処理の高速化と同時に、動作周波数を下げることにより、消費電力と不要輻射ノイズを低減でき、信頼性を向上でき、さらに、システムの低コスト化を図ることができる。
【００３３】
（２）本発明の第２の構成によれば、演算処理部の処理回路自体は固定であるが、コンテンツを演算式の乗算、加算、シフタへの入力とすることで、処理回路が表現する演算式としての働きを簡単に変更することができる。さらに、演算処理部のデータパスと制御回路を簡単にすることができるために、実装が容易となる。
【００３４】
（３）本発明の第３の構成によれば、任意の基本演算ブロックを重複して信号処理に利用することができるために、実装に必要とする回路規模を減らし、行列演算のような繰り返しが要求される処理を高速化することができる。
【００３５】
（４）本発明の第４の構成によれば、基本演算ブロックの基本演算部として、外部回路からアクセス可能であり、任意の基本演算ブロックの任意の時点での演算結果や将来の予測値を、次回以降の演算に利用可能とするバッファメモリを備えたことにより、任意の時点での演算結果を利用したフィードバック処理や、予測値を利用したフィードフォワード処理ができるために、精度の高い信号処理を行なえる。
【００３６】
（５）本発明の第５の構成によれば、基本演算ブロック部や、コンテンツ記憶部、グローバル順序回路、入力、出力間の通信を、他のリソースに依存せずに通信を行なうことができるようになるために、信号処理にかかる処理時間を短縮し、入力から出力までの遅延を抑えることができる。
【００３７】
（６）本発明の第６の構成によれば、メモリに与えるアドレストスとストローブ信号のみで通信ができるために、簡単な制御により、基本演算ブロック部や、コンテンツ記憶部、グローバル順序回路、入力、出力間の通信を行なうことができる。
【００３８】
（７）本発明の第７の構成によれば、バス結合により通信を行なうことができるために、基本演算ブロック部や、コンテンツ記憶部、グローバル順序回路、入力、出力間の通信を簡単な制御により行なうことができるうえ、さらにシステムリソースを抑えた回路の実装ができる。
【００３９】
（８）本発明の第８の構成によれば、基本演算ブロック部や、コンテンツ記憶部、グローバル順序回路、入力、出力間の通信を、異なる配線ネットワークを用いて並列に行なうことができるため、他のリソースに依存に関係なく通信を行なうことができるようになり、信号処理にかかる処理時間を短縮し、入力から出力までの遅延を抑えることができる。特に、共有メモリと共有バスを用いた場合に効果が大きい。
【００４０】
（９）本発明の第９の構成によれば、信号処理のアルゴリズムという定性的な情報を、アーキテクチャの動作の決定と、最適化のための調整値という形で、特徴を抽出しディジタルデータ化できる。これにより、システムに依存しないデータ（コンテンツ）という形で、アルゴリズムのデータベース化を行なえるようになり、アルゴリズムの再利用を簡単にすることができる。さらに、アルゴリズムを表現したプログラムと異なり、システムに依存しないデータのため、本信号処理回路を利用すると、どのようなシステム構成においても、データ（コンテンツ）の修正の必要無しに、アルゴリズムが動作可能となり、さらにコンテンツのサイズは非常に小さくできるので、インターネットを介した通信に最適となる。
【図面の簡単な説明】
【図１】本発明の第１実施形態の構成を示すブロック図である。
【図２】本発明の第２実施形態の構成を示すブロック図である。
【図３】本発明の第３実施形態の構成を示すブロック図である。
【図４】本発明の第４実施形態の構成を示すブロック図である。
【図５】本発明の第５実施形態の構成を示すブロック図である。
【図６】本発明の第６実施形態の構成を示すブロック図である。
【図７】本発明の第７実施形態の構成を示すブロック図である。
【図８】本発明の第８実施形態の構成を示すブロック図である。
【図９】本発明の第９実施形態の構成を示すブロック図である。
【図１０】従来の信号処理回路の一例の構成を示すブロック図である。
【図１１】従来のモータ制御の比例制御の構成を示すブロック線図である。
【図１２】従来のモータ制御の比例積分の構成ブロック線図である。
【図１３】従来のモータ制御の比例積分微分示すブロック線図である。
【符号の説明】
１：ＭＰＵ
２：回路
１１：コンテンツ記憶部
１２：基本演算ブロック
１２１：基本演算部
１２１１：演算処理部
１２１２，１２１３：入力レジスタ部
１２１４：結果レジスタ部
１２１５，１２１６：乗算器
１２１７，１２１８：バレルシフタ
１２１９：加算器
１２１１０〜１２１１５：入力ベクトルレジスタ部
１２１１６，１２１１７：マルチプレクサ部
１２１１８：デマルチプレクサ部
１２１１９〜１２１２１：結果ベクトルレジスタ部
１２１２２：バッファメモリ
１２２：ローカル順序回路
１２２１：入力制御部
１２２２：出力制御部
１２２３：演算制御部
１３，１４：基本演算ブロック
１５，１５−１，１５−２：配線ネットワーク
１５１：クロスバスイッチ
１５２：共有メモリ
１５３：共有バス
１６：グローバル順序回路
１６１：ブロック制御部
１６２：クロスバスイッチ制御部
１６３：共有メモリ制御部
１６４：共有バス制御部
Ｄ１：コンテンツデータ
Ｄ１１：グローバル順序回路データ部
Ｄ１２〜Ｄ１５：基本演算ブロックデータ部
Ｄ１２１，Ｄ１３１，Ｄ１４１，Ｄ１５１：タグ部
Ｄ１２２，Ｄ１３２，Ｄ１４２，Ｄ１５２：演算処理部データ部
Ｄ１２３，Ｄ１３３，Ｄ１４３，Ｄ１５３：ローカル順序回路データ部
【図１】
2004110528.tif 000003
【図２】
2004110528.tif 000004
【図３】
2004110528.tif 000005
【図４】
2004110528.tif 000006
【図５】
2004110528.tif 000007
【図６】
2004110528.tif 000008
【図７】
2004110528.tif 000009
【図８】
2004110528.tif 000010
【図９】
2004110528.tif 000011
【図１０】
2004110528.tif 000012
【図１１】
2004110528.tif 000013
【図１２】
2004110528.tif 000014
【図１３】
2004110528.tif 000015