(57)【要約】      （修正有）【課題】信号処理回路に関し、たとえば、複数のプログラマブル・シーケンサで共通に使用される共通演算器を備えることにより、回路面積が小さい信号処理回路を提供する。【解決手段】共通演算器７は、複数の演算シーケンス制御部１−０，１−１で共有される。調停回路４は、複数の演算シーケンス制御部１−０，１−１が同時に共通演算器７を使用する演算要求を発生した場合に、複数の演算シーケンス制御部１−０，１−１の優先順位情報に基づき、所定のシーケンス制御部を選択して、選択した演算シーケンス制御部からの演算要求を共通演算器７に実行させ、演算結果を選択した演算シーケンス制御部に返す。【選択図】図２
2013222364.tif 000002
【特許請求の範囲】
【請求項１】
各々が、データと命令に基づいてシーケンス制御を行なう複数のシーケンス制御部と、
前記複数のシーケンス制御部からの演算要求に基づき、演算処理を行なう演算処理部を備え、
前記演算処理部は
前記複数のシーケンス制御部で共有される共通演算器と、
前記複数のシーケンス制御部が同時に前記共通演算器を使用する演算要求を発生した場合に、前記各シーケンス制御部の優先順位情報に基づいて、所定のシーケンス制御部を選択して、前記選択したシーケンス制御部からの演算要求を前記共通演算器に実行させ、演算結果を前記選択したシーケンス制御部に返す調停回路とを備えた信号処理回路。
【請求項２】
前記複数のシーケンス制御部で共有される共通演算器のうち第１群の演算種類の共通演算器は複数備えられており、
前記調停回路は、前記複数のシーケンス制御部が同時に前記第１群の演算種類の共通演算器を使用する演算要求を発生した場合、前記各シーケンス制御部の優先順位情報に基づき複数のシーケンス制御部を選択して、前記選択した複数のシーケンス制御部からの演算要求を各々割り当てられた第１群の演算種類の共通演算器に実行させ、演算結果をそれぞれ前記選択したシーケンス制御部に返す、請求項１記載の信号処理回路。
【請求項３】
前記複数のシーケンス制御部は、複数の演算種類の演算要求を発生し、
前記信号処理回路は、
演算種類ごとに１つの前記共通演算器を備え、
前記調停回路は、前記複数のシーケンス制御部が同じ演算種類の演算要求を同時に発生した場合に、前記各シーケンス制御部の優先順位情報に基づき、いずれか１つのシーケンス制御部を選択して、前記選択したシーケンス制御部からの演算要求を前記演算種類に対応する共通演算器に実行させ、演算結果を前記選択したシーケンス制御部に返す、請求項１記載の信号処理回路。
【請求項４】
前記調停回路は、前記複数のシーケンス制御部が同じ演算種類の演算要求を同時に発生した場合に、前記演算種類に対応する演算器が未使用の場合に限り、前記各シーケンス制御部の優先順位情報に基づきいずれか１つのシーケンス制御部を選択して、前記選択したシーケンス制御部からの演算要求を前記演算種類に対応する共通演算器に実行させ、演算結果を前記選択したシーケンス制御部に返す、請求項３記載の信号処理回路。
【請求項５】
前記調停回路は、前記演算種類のディレイ情報で示される演算処理時間後に得られる演算結果を前記選択されたシーケンス制御部に返す、請求項２記載の信号処理回路。
【請求項６】
前記調停回路は、前記シーケンス制御部を選択後、前記演算種類に対応する共通演算器を使用中に設定し、前記選択したシーケンス制御部に演算要求を受け付けたことを通知するための応答信号を返す、請求項２記載の信号処理回路。
【請求項７】
前記調停回路は、前記選択したシーケンス制御部に、ディレイ情報で示される演算処理時間後に演算が完了したことを通知するための完了信号を返す、請求項２記載の信号処理回路。
【請求項８】
前記信号処理回路は、シーケンス制御部ごとに、実行する命令群を保持する記憶部を備え、
前記シーケンス制御部は、前記完了信号を受けた後、対応する前記記憶部から次の命令を読み出す、請求項７記載の信号処理回路。
【請求項９】
前記信号処理回路は、シーケンス制御部ごとに、演算に適用される値の入力元または出力先に指定できるデータ記憶部を備え、
前記シーケンス制御部は、命令記憶部から読み出される命令に従い、データ記憶部から値の読み出しとデータ記憶部への値の書き込みが指定できる、請求項８記載の信号処理回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、信号処理回路に関し、たとえば、複数のプログラマブル・シーケンサで共通に使用される共通演算器を備えた信号処理回路に関する。
【背景技術】
【０００２】
従来から、複数本のシーケンスプログラムを並列して実行可能なプログラマブルコントローラが知られている。たとえば、特許文献１（特開２００９−１１６４４５号公報）のプログラマブルコントローラは、シーケンスプログラムの中で所定の第１の命令をハードウェアで実行できる複数の専用のＬＳＩであるプログラム実行回路（３ａ1〜３ａn）と、並行して実行されている複数の独立したシーケンスプログラムの中で、プログラム実行回路で実行できない第２の命令を実行するＣＰＵ（１）を備える。このプログラマブルコントローラは、さらにプログラム実行回路で発生した少なくとも１つの第２の命令の情報を発生した順にＣＰＵ（１）に転送する第１の転送手段と、ＣＰＵ（１）が実行した第２の命令の情報をプログラム実行回路に転送する第２の転送手段とを有する。また、このプログラマブルコントローラは、複数のプログラム実行回路から同時にＦＩＦＯへの書き込み要求があると優先順位の高いプログラム実行回路の要求を優先する優先制御を行なう。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００９−１１６４４５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１のプログラマブルコントローラでは、複数の専用のＬＳＩを搭載する必要がある。専用ＬＳＩは、実行する演算処理の種類に応じた演算器が搭載される方式のため短時間で処理が可能である。しかしながら、専用ＬＳＩごとに演算器を実装することによって、回路面積が大きくなるという問題がある。
【０００５】
その他の課題と新規な特徴は、本明細書の記述および添付図面から明らかであろう。
【課題を解決するための手段】
【０００６】
一実施の形態の信号処理回路は、複数のシーケンス制御部で共有される共通演算器と調停回路とを備える。調停回路は、複数のシーケンス制御部が同時に共通演算器を使用する演算要求を発生した場合に、各シーケンス制御部の優先順位情報に基づいて、いずれか１つのシーケンス制御部を選択して、選択したシーケンス制御部からの演算要求を共通演算器に実行させ、演算結果を選択したシーケンス制御部に返す。
【発明の効果】
【０００７】
一実施の形態の信号処理回路によれば、回路面積を小さくすることができる。
【図面の簡単な説明】
【０００８】
【図１】複数のセンシング機能を有するセンサシステムの例を表わす図である。
【図２】図１の信号処理回路の概略を表わす図である。
【図３】第１の実施形態の信号処理回路の詳細を表わす図である。
【図４】演算シーケンス制御部１−０の詳細な構成を表わす図である。
【図５】演算要求から受付応答および完了応答までの処理を表わすタイムチャートである。
【図６】プログラム読み出し制御回路の動作手順を表わすフローチャートである。
【図７】リクエスト／コマンド生成回路の動作手順を表わすフローチャートである。
【図８】入力ＲＥＧ選択回路の動作手順を表わすフローチャートである。
【図９】出力ＲＥＧ選択回路の動作手順を表わすフローチャートである。
【図１０】受付応答部の動作手順を表わすフローチャートである。
【図１１】完了応答部の動作手順を表わすフローチャートである。
【図１２】（ａ）は、データＲＥＧ群５５＿０および５５＿１のデータＲＥＧ＃０〜データＲＥＧ＃４に格納されるデータの例を表わす図である。（ｂ）は、４次のＦＩＲフィルタ処理を実行する命令群を表わす図である。
【図１３】２つの演算シーケンス制御部が、図１２に示される４次のＦＩＲフィルタ処理のための命令群をそれぞれ実行する場合のタイムチャートである。
【図１４】第２の実施形態の信号処理回路の詳細を表わす図である。
【図１５】第３の実施形態の信号処理回路の詳細を表わす図である。
【図１６】第４の実施形態の信号処理回路の詳細を表わす図である。
【発明を実施するための形態】
【０００９】
以下、本発明の実施形態について図面を参照して説明する。
［第１の実施形態］
図１は、複数のセンシング機能を有するセンサシステムの例を表わす図である。
【００１０】
図１のセンサシステムは、外界の温度を検出して電気信号に変換する温度センサ素子１０と、外界の光を検出した電気信号に変換する光電センサ素子１２と、その他のセンサ素子１４と、温度センサ素子１０からの信号を増幅するアンプ１６ａと、光電センサ素子１２からの信号を増幅するアンプ１６ｂと、その他のセンサ素子１４からの信号を増幅するアンプ１６ｃと、マイコン２２とを備える。
【００１１】
マイコン２２は、Ａ／Ｄコンバータ１１ａ，１１ｂ，１１ｃと、信号処理回路８０と、レジスタ１８ａ，１８ｂ，１８ｃと、マイコン２２全体を制御するＣＰＵコア６と、データを記憶するメモリ８とを備える。
【００１２】
Ａ／Ｄコンバータ１１ａ，１１ｂ，１１ｃは、それぞれアンプ１６ａ，１６ｂ，１６ｃからのアナログデータをデジタルデータに変換して、レジスタ１８ａ，１８ｂ，１８ｃに記憶させる。
【００１３】
信号処理回路８０は、レジスタ１８ａ，１８ｂ，１８ｃに記憶されたデータに対して各種の信号処理を実行して、処理結果をレジスタ１８ａ，１８ｂ，１８ｃに記憶させる。信号処理回路８０は、センサ素子１０，１２，１４に応じて電気エネルギーの出力特性が相違する場合には、微弱信号を増幅する処理やノイズ除去のために、ＦＩＲ（Finite Impulse Response）フィルタ処理、ＩＩＲ（Infinite Impulse Response）フィルタ処理などを行なう。また、信号処理回路８０は、センサ素子１０，１２，１４が検出対象の外界エネルギー変化に対して複雑にカーブした出力特性を持つ場合は、線形となるように補正処理を行なう。
【００１４】
（信号処理回路の概略）
図２は、図１の信号処理回路の概略を表わす図である。
【００１５】
図２を参照して、この信号処理回路８０は、フロー処理部３と、演算処理部５とを備える。
【００１６】
フロー処理部３は、データＲＥＧ群５５＿０，５５＿１と、命令ＲＡＭ５４＿０，５４＿１と、演算シーケンス制御部１−０と、演算シーケンス制御部１−１とを含む。
【００１７】
データＲＥＧ群５５＿０，５５＿１は、ＣＰＵコア６から出力され演算処理部５での演算の対象となるデータ、または演算処理部５での演算結果を表わすデータを記憶する。
【００１８】
命令ＲＡＭ５４＿０，５４＿１は、ＣＰＵコア６から出力された複数の命令を記憶する。この命令は、「演算種類とデータ入出力」の指示を含む。命令（「演算種類とデータ入出力」の指示）の設定および変更することは、デジタル信号処理の実装と等価であると考えることができ、専用回路の実装よりも短い設計工期で対応することができる。
【００１９】
命令ＲＡＭ５４＿０，５４＿１、データＲＥＧ群５５＿０，５５＿１は、ＣＰＵコア６からバス９９を通じて読み書きが可能なように、ＣＰＵコア６のアドレス空間上にマッピングされる。
【００２０】
演算シーケンス制御部１−０は、命令ＲＡＭ５４＿０に記憶された命令に基づき、データＲＥＧ群５５＿０に記憶されたデータを読み出し、読み出したデータに対する演算を演算処理部５に要求する。演算シーケンス制御部１−０は、演算処理部５で実行された演算結果を表わすデータをデータＲＥＧ群５５＿０に記憶させる。
【００２１】
演算シーケンス制御部１−１は、命令ＲＡＭ５４＿１に記憶された命令に基づき、データＲＥＧ群５５＿１に記憶されたデータを読み出し、読み出したデータに対する演算を演算処理部５に要求する。演算シーケンス制御部１−１は、演算処理部５で実行された演算結果を表わすデータをデータＲＥＧ群５５＿１に記憶させる。
【００２２】
演算処理部５は、調停回路４と共通演算器７とを含む。
共通演算器７は、演算シーケンス制御部１−０と演算シーケンス制御部１−１の間で共有化される。このように演算器を複数の演算シーケンス制御部で共有することによって、演算器の搭載数を節約することができ、その結果面積規模を抑えることができる。
【００２３】
調停回路４は、演算シーケンス制御部１−０，１−１が同時に共通演算器７を使用する演算要求を発生した場合に、演算シーケンス制御部１−０，１−０の優先順位情報に基づいて、いずれか１つの演算シーケンス制御部を選択して、選択した演算シーケンス制御部からの演算要求を共通演算器７に実行させ、演算結果を選択した演算シーケンス制御部に返す。
【００２４】
（信号処理回路の詳細）
図３は、第１の実施形態の信号処理回路の詳細を表わす図である。
【００２５】
信号処理回路８０は、フロー処理部３と、演算処理部５とを備える。
フロー処理部３は、データＲＥＧ群５５＿０，５５＿１，５５＿５と、命令ＲＡＭ５４＿０，５４＿１，５４＿５と、上位シーケンス制御部１＿５と、演算シーケンス制御部１−０と、演算シーケンス制御部１−１と、ＤＥ＿ＭＵＸ５１＿０，５１＿１，５１＿５と、ＭＵＸ５２＿０，５２＿１，５２＿５，５３＿０，５３＿１，５３＿５と、システムＲＥＧ１９とを備える。
【００２６】
システムＲＥＧ１９は、ＣＰＵコア６から出力されるシステムの制御に関する命令およびデータを記憶する。
【００２７】
上位シーケンス制御部１＿５は、命令ＲＡＭ５４＿５から読み出した命令をデコードし、デコードした命令に従って、処理の開始を指示するシーケンス起動信号ＳＴＡＲＴ０，ＳＴＡＴ１をそれぞれ演算シーケンス制御部１−０，１−１へ出力する。上位シーケンス制御部１＿５は、処理の終了を示すシーケンス完了信号ＥＮＤ０，ＥＮＤ１をそれぞれ演算シーケンス制御部１−０，１−１から受ける。また、上位シーケンス制御部１＿５は、デコードした命令に従って、複数のデータＲＥＧ群５５＿５のいずれかのレジスタを選択し、選択したレジスタから出力されるデータをＭＵＸ５２＿５に入力として選択させる。また、上位シーケンス制御部１＿５は、デコードした命令に従って、複数のデータＲＥＧ群５５＿５のいずれかのレジスタを選択し、選択したレジスタから出力されるデータをＭＵＸ５３＿５に入力として選択させる。上位シーケンス制御部１＿５は、デコードした命令に従って、データＲＥＧ群５５＿５のいずれかのレジスタを選択し、選択したレジスタを演算処理部５から出力されるデータの出力先としてＤＥＭＵＸ５１＿５に選択させる。
【００２８】
演算シーケンス制御部１−０は、命令ＲＡＭ５４＿０から読み出した命令をデコードし、デコードした命令に従って、演算要求信号ＲＥＱ０、演算種類信号ＣＭＤ０を出力する。また、演算シーケンス制御部１−０は、デコードした命令に従って、複数のデータＲＥＧ群５５＿０のいずれかのレジスタを選択し、選択したレジスタから出力されるデータをＭＵＸ５２＿０に入力として選択させる。また、演算シーケンス制御部１−０は、デコードした命令に従って、複数のデータＲＥＧ群５５＿０のいずれかのレジスタを選択し、選択したレジスタから出力されるデータをＭＵＸ５３＿０に入力として選択させる。ただし、演算シーケンス制御部１−０は、デコードした命令の演算種類がＳＦＴの場合には、ＭＵＸ５３＿０の選択制御は行なわない。演算シーケンス制御部１−０は、ＭＵＸ５２＿０から送られるデータを第１データＤＩＮ０ａとして出力し、ＭＵＸ５３＿０から送られるデータを第２データＤＩＮ０ｂとして出力する。また、演算シーケンス制御部１−０は、デコードした命令に従って、データＲＥＧ群５５＿０のいずれかのレジスタを選択し、選択したレジスタを演算処理部５から出力される演算結果ＤＯＵＴ０の出力先としてＤＥＭＵＸ５１＿０に選択させる。演算シーケンス制御部１−０は、演算処理部５から応答信号ＡＣＫ０、完了信号ＣＰＬ０、演算結果ＤＯＵＴ０を受ける。演算シーケンス制御部１−０は、上位シーケンス制御部１＿５から処理の開始を指示するシーケンス起動信号ＳＴＡＲＴ０を受ける。演算シーケンス制御部１−０は、読み出した命令がＨＡＬＴ命令の場合には、シーケンス完了信号ＥＮＤ０を上位シーケンス制御部１＿５へ出力する。
【００２９】
演算シーケンス制御部１−１は、命令ＲＡＭ５４＿１から読み出した命令をデコードし、デコードした命令に従って、演算要求信号ＲＥＱ１、演算種類信号ＣＭＤ１を出力する。また、演算シーケンス制御部１−１は、デコードした命令に従って、複数のデータＲＥＧ群５５＿１のいずれかのレジスタを選択し、選択したレジスタから出力されるデータをＭＵＸ５２＿１に入力として選択させる。また、演算シーケンス制御部１−１は、デコードした命令に従って、複数のデータＲＥＧ群５５＿１のいずれかのレジスタを選択し、選択したレジスタから出力されるデータをＭＵＸ５３＿１に入力として選択させる。ただし、演算シーケンス制御部１−１は、デコードした命令の演算種類がＳＦＴの場合には、ＭＵＸ５３＿１の選択制御は行なわない。演算シーケンス制御部１−１は、ＭＵＸ５２＿１から送られるデータを第１データＤＩＮ１ａとして出力し、ＭＵＸ５３＿１から送られるデータを第２データＤＩＮ１ｂとして出力する。また、演算シーケンス制御部１−１は、デコードした命令に従って、データＲＥＧ群５５＿１のいずれかのレジスタを選択し、選択したレジスタを演算処理部５から出力される演算結果ＤＯＵＴ１の出力先としてＤＥＭＵＸ５１＿１に選択させる。演算シーケンス制御部１−１は、演算処理部５から応答信号ＡＣＫ１、完了信号ＣＰＬ１、演算結果ＤＯＵＴ１を受ける。演算シーケンス制御部１−１は、上位シーケンス制御部１＿５から処理の開始を指示するシーケンス起動信号ＳＴＡＲＴ１を受ける。演算シーケンス制御部１−１は、読み出した命令がＨＡＬＴ命令の場合には、シーケンス完了信号ＥＮＤ１を上位シーケンス制御部１＿５へ出力する。
【００３０】
演算処理部５は、調停回路４と、共通演算器７とを備える。
調停回路４は、演算シーケンス制御部１−０，１−１が同じ演算種類の演算要求を同時に発生した場合に、その演算種類に対応する共通演算器７が未使用の場合に限り、シーケンス制御部１−０，１−１の優先順位情報に基づき、いずれか１つの演算シーケンス制御部を選択する。調停回路４は、選択した演算シーケンス制御部からの演算要求を演算要求に係わる演算種類に対応する共通演算器７に実行させ、演算結果を選択した演算シーケンス制御部に返す。
【００３１】
調停回路４は、テーブル記憶部２１と、受付応答部３１と、完了応答部３２と、ＭＵＸ３８〜４４とを備える。
【００３２】
テーブル記憶部２１は、優先情報テーブルと、空き情報テーブルと、ディレイ情報テーブルを記憶する。
【００３３】
優先情報テーブルは、演算シーケンス制御部１−０，１−１の処理が競合した場合の優先順位を定める。優先順位の数値が低いほど処理が優先される。図３の例では、演算シーケンス制御部１−０に優先順位が「０」に定められ、演算シーケンス制御部１−１に優先順位「１」が定められており、演算シーケンス制御部１−０の処理が演算シーケンス制御部１−１の処理に優先する。
【００３４】
空き情報テーブルは、演算器３３〜３７が使用中であるか否かの状態値を定める。使用中の場合には状態値は「０」となり、未使用の場合には状態値は「１」となる。図３の例では、シフト演算器（ＳＦＴ）３３、加算器（ＡＤＤ）３４、減算器（ＳＵＢ）３５、乗算器（ＭＵＬ）３６、除算器（ＤＩＶ）３７の状態値が「１」であり、いずれも未使用である。
【００３５】
ディレイ情報テーブルは、演算器３３〜３７のディレイ値を定める。ディレイ値が「ｎ」の場合には、（ｎ＋１）クロックで演算が終了することを表わす。つまり、ｎクロック分だけ待たされる。
【００３６】
図３の例では、シフト演算器（ＳＦＴ）３３、加算器（ＡＤＤ）３４、減算器（ＳＵＢ）３５のディレイ値が「０」であるため、これらの演算器の演算は、１クロックで終了する（待ち時間はない）。乗算器（ＭＵＬ）３６のディレイ値は「１」であるため、乗算器３６の演算は２クロックで終了する（１クロック分待たなければならない）。除算器（ＤＩＶ）３７のディレイ値は「６」であり、除算器３７の演算は７クロックで終了する（６クロック分待たなければならない）。
【００３７】
受付応答部３１は、演算シーケンス制御部１−０，１−１から演算要求信号ＲＥＱ０，ＲＥＱ１と、演算種類信号ＣＭＤ０，ＣＯＭ１，第１データＤＩＮ０ａ，ＤＩＮ１ａ、第２データＤＩＮ０ｂ，ＤＩＮ１ｂを受信する。
【００３８】
受付応答部３１は、１つの演算要求信号ＲＥＱｉ（ｉ＝０または１）を受けたときには、空き情報テーブルを参照して、演算種類信号ＣＭＤｉで指定される演算器が使用中であるか否かを調べ、未使用の場合に、演算シーケンス制御部１−ｉからの演算要求を受け付け、使用中の場合に、演算シーケンス制御部１−ｉからの演算要求を受け付けない。
【００３９】
受付応答部３１は、２つの演算要求信号ＲＥＱ０およびＲＥＱ１を同時に受けたときには、演算種類信号ＣＭＤ０およびＣＭＤ１が同一であるかどうかを調べる。演算種類信号ＣＭＤ０およびＣＭＤ１が相違する場合には、受付応答部３１は、空き情報テーブルを参照して、演算種類信号ＣＭＤ０で指定される演算器が使用中であるか否かを調べ、未使用の場合に、演算シーケンス制御部１−０からの演算要求を受け付け、使用中の場合に、演算シーケンス制御部１−０からの演算要求を受け付けない。また、受付応答部３１は、空き情報テーブルを参照して、演算種類信号ＣＭＤ１で指定される演算器が使用中であるか否かを調べ、未使用の場合に、演算シーケンス制御部１−１からの演算要求を受け付け、使用中の場合に、演算シーケンス制御部１−１からの演算要求を受け付けない。
【００４０】
一方、演算種類信号ＣＭＤ０およびＣＭＤ１が同一の場合には、受付応答部３１は、空き情報テーブルを参照して、演算種類信号ＣＭＤ０（ＣＭＤ１）で指定される演算器が使用中であるか否かを調べ、使用中の場合に、演算シーケンス制御部１−０および１−１からの演算要求を受け付けない。受付応答部３１は、未使用の場合には、優先情報テーブルを参照して、演算シーケンス制御部１−０と演算シーケンス制御部１−１のうち優先順位の高い方を選択する。受付応答部３１は、選択した演算シーケンス制御部からの演算要求を受け付け、選択しなかった演算シーケンス制御部からの演算要求を受け付けない。
【００４１】
受付応答部３１は、要求を受け付けた演算シーケンス制御部へ応答信号ＡＣＫ０またはＡＣＫ１を返信する。受付応答部３１は、要求を受け付けた演算シーケンス制御部から出力される第１データおよび第２データを、演算器３３〜３７のうち、要求を受け付けた演算シーケンス制御部から出力される演算種類信号ＣＭＤで示される演算器に出力させる。受付応答部３１の処理の詳細は後述する。
【００４２】
完了応答部３２は、受付応答部３１から演算種類信号ＣＭＤ０またはＣＭＤ１が送られてきた場合には、ディレイ情報テーブルを参照して、演算種類信号ＣＭＤ０またはＣＭＤ１で示される演算器の遅延時間を特定する。完了応答部３２は、特定した遅延時間が経過した場合には、完了信号ＣＰＬ０またはＣＰＬ１を演算シーケンス制御部１−０または１−１へ返信する。また、完了応答部３２は、演算種類信号ＣＭＤ０またはＣＭＤ１で示される演算器の空き情報を未使用を表わす「１」に設定する。完了応答部３２の処理の詳細は後述する。
【００４３】
ＭＵＸ３８は、演算シーケンス制御部１−０から第１データＤＩＮ０ａ、演算シーケンス制御部１−１から第１データＤＩＮ１ａを受けて、受付応答部３１の指定に従って、いずれかを選択して、シフト演算器３３へ出力する。ＭＵＸ３９は、演算シーケンス制御部１−０から第１データＤＩＮ０ａと第２データＤＩＮ０ｂのセットを受け、演算シーケンス制御部１−１から第１データＤＩＮ１ａと第２データＤＩＮ１ｂのセットを受け、いずれかのセットを加算器３４へ出力する。ＭＵＸ４０は、演算シーケンス制御部１−０から第１データＤＩＮ０ａと第２データＤＩＮ０ｂのセットを受け、演算シーケンス制御部１−１から第１データＤＩＮ１ａと第２データＤＩＮ１ｂのセットを受け、いずれかのセットを減算器３５へ出力する。ＭＵＸ４１は、演算シーケンス制御部１−０から第１データＤＩＮ０ａと第２データＤＩＮ０ｂのセットを受け、演算シーケンス制御部１−１から第１データＤＩＮ１ａと第２データＤＩＮ１ｂのセットを受け、いずれかのセットを乗算器３６へ出力する。ＭＵＸ４２は、演算シーケンス制御部１−０から第１データＤＩＮ０ａと第２データＤＩＮ０ｂのセットを受け、演算シーケンス制御部１−１から第１データＤＩＮ１ａと第２データＤＩＮ１ｂのセットを受け、いずれかのセットを除算器３７へ出力する。
【００４４】
共通演算器７は、演算種類ごとに１つ設けられる。すなわち、共通演算器７には、２ビットシフト演算用のシフト演算器３３と、加算用の加算器３４と、減算用の減算器３５と、乗算用の乗算器３６と、除算用の除算器３７とがある。
【００４５】
シフト演算器３３は、演算種類がＳＦＴのときにＭＵＸ３８から出力された信号を２ビット右シフトして、ＭＵＸ４３およびＭＵＸ４４へ出力する。加算器３４は、演算種類がＡＤＤ（加算）のときにＭＵＸ３９から出力されるセットの加算（第１データ＋第２データ）を実行して、ＭＵＸ４３およびＭＵＸ４４へ出力する。減算器３５は、演算種類がＭＵＸ４０から出力されるセットの減算（第１データ−第２データ）を実行して、ＭＵＸ４３およびＭＵＸ４４へ出力する。乗算器３６は、ＭＵＸ４１から出力されるセットの乗算（第１データ×第２データ）を実行して、ＭＵＸ４３およびＭＵＸ４４へ出力する。除算器３７は、ＭＵＸ４２から出力されるセットの除算（第１データ÷第２データ）を実行して、ＭＵＸ４３およびＭＵＸ４４へ出力する。
【００４６】
ＭＵＸ４３は、完了応答部３２からの指示に従って、５つの演算器３３〜３７から出力される信号のいずれか１つを演算結果ＤＯＵＴ０として演算シーケンス制御部１−０へ出力する。ＭＵＸ４４は、完了応答部３２からの指示に従って、５つの演算器３３〜３７から出力される信号のいずれか１つを演算結果ＤＯＵＴ１として演算シーケンス制御部１−１へ出力する。
【００４７】
（演算シーケンス制御部）
図４は、演算シーケンス制御部１−０の詳細な構成を表わす図である。演算シーケンス制御部１−１の構成も同様である。
【００４８】
プログラム読み出し制御回路６６は、上位シーケンス制御部１＿５からシーケンス起動信号ＳＴＡＲＴ０を受けると、プログラムカウンタ（ＰＣ）６７の指定に従って、命令ＲＡＭ５４＿０内の命令を順次読み出す。命令は、「演算種類」、「入力元第１データレジスタ」、「入力元第２データレジスタ」、「出力先データレジスタ」の指定を含む。ただし、「演算種類」がＳＦＴ（２ビット右シフト）の場合には、「入力元第２データレジスタ」は指定されない。プログラム読み出し制御回路６６は、読み出した命令がＨＡＬＴ命令の場合には、上位シーケンス制御部１＿５へシーケンス完了信号ＥＮＤ０を送る。プログラム読み出し制御回路６６は、完了信号ＣＰＬ０を受けるごとに、命令ＲＡＭ５４＿０から次の命令を読み出す。
【００４９】
入力ＲＥＧ選択回路６３は、読み出された命令に含まれる「入力元第１データレジスタ」指定に従って、第１入力選択信号ＤＩＮａ＿ｓｅｌをＭＵＸ５２＿０へ出力する。ＭＵＸ５２＿０は、第１入力選択信号ＤＩＮａ＿ｓｅｌに従って、データＲＥＧ＃０，＃１，＃２・・・のうちのいずれかのデータを選択して、第１データＤＩＮ０ａとして演算処理部５へ出力する。ＭＵＸ５２＿０は、応答信号ＣＰＬ０を受け取るまで、第１データＤＩＮ０ａの出力を継続する。
【００５０】
入力ＲＥＧ選択回路６４は、読みだされた命令に含まれる「入力元第２データレジスタ」指定に従って、第２入力選択信号ＤＩＮｂ＿ｓｅｌをＭＵＸ５３＿０へ出力する。ＭＵＸ５３＿０は、第２入力選択信号ＤＩＮｂ＿ｓｅｌに従って、データＲＥＧ＃０，＃１，＃２・・・のうちのいずれかのデータを選択して、第２データＤＩＮ０ｂとして演算処理部５へ出力する。ＭＵＸ５３＿０は、応答信号ＣＰＬ０を受け取るまで、第２データＤＩＮ０ｂの出力を継続する。
【００５１】
出力ＲＥＧ選択回路６２は、読み出された命令に含まれる「出力先データレジスタ」指定に従って、出力選択信号ＤＯＵＴ＿ｓｅｌを論理積回路６１へ出力する。論理積回路６１は、出力選択信号ＤＯＵＴ＿ｓｅｌと完了信号ＣＰＬ０の論理積を選択信号ＳＥＬとしてＤＥＭＵＸ５１＿０へ出力する。つまり、完了信号ＣＰＬ０を受けたとき（ＣＰＬ０がＨレベルに活性化されたとき）に、出力選択信号ＤＯＵＴ＿ｓｅｌによってＤＥＭＵＸ５１＿０が制御される。ＤＥＭＵＸ５１＿０は、選択信号ＳＥＬに従って、演算処理部５からの演算結果ＤＯＵＴ０をデータＲＥＧ＃０，＃１，＃２・・・のいずれかへ出力する。
【００５２】
リクエスト／コマンド生成回路６５は、応答信号ＡＣＫ０を受け取るまで、演算要求信号ＲＥＱ０を調停回路４へ出力し続ける。リクエスト／コマンド生成回路６５は、完了信号ＣＰＬ０を受け取るまで、演算種類信号ＣＭＤ０を調停回路４へ出力し続ける。
【００５３】
（処理タイミング）
図５は、演算要求から受付応答および完了応答までの処理を表わすタイムチャートである。
【００５４】
図５（ａ）は、演算要求が競合せず、かつ演算種類がディレイなしの演算の場合の処理タイミングを表わす図である。
【００５５】
演算要求が競合しない場合、演算要求信号ＲＥＱ０の後、即座に応答信号ＡＣＫ０が返信される。また、演算種類がディレイなしの演算の場合には、応答信号ＡＣＫ０の返信後即座に完了信号ＣＰＬ０が返信される。
【００５６】
図５（ｂ）は、演算要求が競合し、かつ演算種類がディレイなしの演算の場合の処理タイミングを表わす図である。
【００５７】
演算要求が競合する場合、演算要求信号ＲＥＱ０の後、応答信号ＡＣＫ０が即座に返信されない。この例では、１クロックのみ遅延した後、応答信号ＡＣＫ０が返信されている。また、演算種類ディレイなしの演算の場合には、応答信号ＡＣＫ０の返信後即座に完了信号ＣＰＬ０が返信される。
【００５８】
図５（ｃ）は、演算要求が競合せず、かつ演算種類がディレイありの演算の場合の処理タイミングを表わす図である。
【００５９】
演算要求が競合しない場合、演算要求信号ＲＥＱ０の後、即座に応答信号ＡＣＫ０が返信される。また、演算種類がディレイありの演算の場合には、応答信号ＡＣＫ０が返信されてからディレイ情報で示されるクロック分だけ完了信号ＣＰＬ０の返信が遅延する。この例では、１クロックのみ遅延した後、完了信号ＣＰＬ０が返信されている。
【００６０】
図５（ｄ）は、演算要求が競合し、かつ演算種類がディレイありの演算の場合の処理タイミングを表わす図である。
【００６１】
演算要求が競合する場合、演算要求信号ＲＥＱ０の後、応答信号ＡＣＫ０が即座に返信されない。この例では、１クロックのみ遅延した後、応答信号ＡＣＫ０が返信されている。また、演算種類がディレイありの演算の場合には、応答信号ＡＣＫ０が返信されてからディレイ情報で示されるクロック分だけ完了信号ＣＰＬ０の返信が遅延する。この例では、１クロックのみ遅延した後、完了信号ＣＰＬ０が返信されている。
【００６２】
（プログラム読み出し制御回路の動作）
図６は、図４のプログラム読み出し制御回路の動作手順を表わすフローチャートである。
【００６３】
図６を参照して、まず、プログラム読み出し制御回路６６が、上位シーケンス制御部１５＿０からシーケンス起動信号ＳＴＡＲＴ０を受け付けた場合に（ステップＳ１０１でＹＥＳ）、プログラムカウンタ６７の値に基づいて、命令ＲＡＭ５４＿０から命令を読み出す（ステップＳ１０２）。
【００６４】
次に、読み出した命令がＨＡＬＴ命令以外の場合には（ステップＳ１０３でＹＥＳ）、調停回路４から完了信号ＣＰＬ０が返信されたときには（ステップＳ１０５でＹＥＳ）、プログラム読み出し制御回路６６は、プログラムカウンタ６７の値をインクリメントする（ステップＳ１０６）。
【００６５】
また、読み出した命令がＨＡＬＴ命令の場合には（ステップＳ１０３でＮＯ）、プログラム読み出し制御回路６６は、プログラムカウンタ６７の値を初期値にリセットし、シーケンス完了信号ＥＮＤ０を上位シーケンス制御部１５＿０へ出力する。
【００６６】
（リクエスト／コマンド生成回路の動作）
図７は、図４のリクエスト／コマンド生成回路の動作手順を表わすフローチャートである。
【００６７】
まず、プログラム読み出し制御回路６６から新たに命令が供給された場合に（ステップＳ２０１でＹＥＳ）、リクエスト／コマンド生成回路６５は、供給された命令をデコードし、デコード結果に基づいて、演算要求信号ＲＥＱ０および演算種類信号ＣＭＤ０を調停回路４へ出力する（ステップＳ２０２）。
【００６８】
調停回路４から応答信号ＡＣＫ０を受けた場合に（ステップＳ２０３でＹＥＳ）、リクエスト／コマンド生成回路６５は、演算要求信号ＲＥＱ０の出力を停止する。ただし、次のサイクルで新たな命令（ＨＡＬＴ命令以外の命令）が供給される場合には、演算要求信号ＲＥＱ０の出力を継続する（ステップＳ２０４）。
【００６９】
調停回路４から完了信号ＣＰＬ０を受けた場合に（ステップＳ２０５でＹＥＳ）、リクエスト／コマンド生成回路６５は、演算種類信号ＣＭＤ０の出力を停止する（ステップＳ２０６）。
【００７０】
（入力ＲＥＧ選択回路の動作）
図８は、図４の入力ＲＥＧ選択回路の動作手順を表わすフローチャートである。
【００７１】
まず、プログラム読み出し制御回路６６から新たに命令が供給された場合に（ステップＳ３０１でＹＥＳ）、入力ＲＥＧ選択回路６２は、供給された命令をデコードし、デコード結果に基づいて、第１入力選択信号ＤＩＮａ＿ｓｅｌをＭＵＸ５２＿０へ出力する。また、入力ＲＥＧ選択回路６４は、命令をデコードし、デコード結果に基づいて、第２入力選択信号ＤＩＮｂ＿ｓｅｌをＭＵＸ５３＿０へ出力する。ただし、命令がＳＦＴの場合には、入力ＲＥＧ選択回路６４は、第２入力選択信号ＤＩＮｂ＿ｓｅｌを出力しない（ステップＳ３０２）。
【００７２】
調停回路４から完了信号ＣＰＬ０を受けた場合に（ステップＳ３０３でＹＥＳ）、入力ＲＥＧ選択回路６２は、第１入力選択信号ＤＩＮａ＿ｓｅｌのＭＵＸ５２＿０への出力を停止し、入力ＲＥＧ選択回路６４は、第２入力選択信号ＤＩＮｂ＿ｓｅｌのＭＵＸ５３＿０への出力を停止する（ステップＳ３０４）。
【００７３】
（出力ＲＥＧ選択回路の動作）
図９は、図４の出力ＲＥＧ選択回路の動作手順を表わすフローチャートである。
【００７４】
まず、プログラム読み出し制御回路６６から新たに命令が供給された場合に（ステップＳ４０１でＹＥＳ）、調停回路４から完了信号ＣＰＬ０を受けたときに（ステップＳ４０２でＹＥＳ）、出力ＲＥＧ選択回路６２は、供給された命令をデコードする。出力ＲＥＧ選択回路６２は、デコード結果に基づいて、完了信号ＣＰＬを受けている期間だけ論理積回路６１へ出力選択信号ＤＯＵＴ＿ｓｅｌを出力する。論理積回路６１は、選択信号ＳＥＬをＤＥＭＵＸ５１＿０へ出力する（ステップＳ４０３）。
【００７５】
（受付応答部の動作）
図１０は、図３の受付応答部の動作手順を表わすフローチャートである。
【００７６】
図１０を参照して、受付応答部３１は、演算要求信号ＲＥＱ０および／またはＲＥＱ１を受信した場合には（ステップＳ５０１でＹＥＳ）、優先情報テーブルおよび空き情報テーブルを参照して、演算要求を受付可能か否かを判断する。
【００７７】
受付可能な場合には（ステップＳ５０２でＹＥＳ）、受付応答部３１は、受け付け可能な要求元の演算シーケンス制御部ｉ（ｉ＝０または１）へ応答信号ＡＣＫｉを返信する。また、受付応答部３１は、空き情報テーブルにおける、演算種類信号ＣＭＤｉで示される演算器の空き情報を使用中を表わす「０」に設定する。また、受付応答部３１は、演算種類信号ＣＭＤｉを完了応答部３２へ出力する（ステップＳ５０３）。
【００７８】
受付応答部３１は、ＭＵＸ３８〜４２のいずれかを指示して、演算シーケンス制御部ｉから出力される第１データＤＩＮｉａおよび第２データＤＩＮｉｂを演算種類信号ＣＭＤｉで示される演算器３３〜３７のいずれかの入力に出力させる（ステップＳ５０４）。
【００７９】
完了応答部３２が、完了信号ＣＰＬｉを演算シーケンス制御部ｉへ返信した場合には（ステップＳ５０５でＹＥＳ）、受付応答部３１は、上記のＭＵＸ３８〜４２のいずれかへの指示を終了する（ステップＳ５０６）。
【００８０】
（完了応答部の動作）
図１１は、図３の完了応答部の動作手順を表わすフローチャートである。
【００８１】
図１１を参照して、受付応答部３１から演算種類信号ＣＭＤｉが送られてきた場合には、完了応答部３２は、ディレイ情報テーブルを参照して、演算種類信号ＣＭＤｉで示される演算器の遅延時間を特定し、特定した遅延時間が経過した場合には（ステップ６０２でＹＥＳ)、完了信号ＣＰＬｉを演算シーケンス制御部ｉへ返信する。また、完了応答部３２は、演算種類信号ＣＭＤｉで示される演算器の空き情報を未使用を表わす「１」に設定する（ステップＳ６０３）。
【００８２】
完了応答部３２は、完了信号ＣＰＬｉが出力されている期間だけ、ＭＵＸ４３，４４のうちの演算シーケンス制御部ｉに対応する方を指示して、演算種類信号ＣＭＤｉで示される演算器からの出力を選択して受け取るように指示する（ステップＳ６０４）。
【００８３】
（例）
次に、本実施の形態の信号処理回路８０の具体的な動作例について説明する。ここでは、信号処理回路８０が、４次のフィルタ処理を実行する場合の例を説明する。
【００８４】
図１２（ａ）は、データＲＥＧ群５５＿０および５５＿１のデータＲＥＧ＃０〜データＲＥＧ＃４に格納されるデータの例を表わす図である。
【００８５】
データＲＥＧ＃０には、時刻ｉのデータＸ［ｉ−０］が格納されている。データＲＥＧ＃１には、時刻（ｉ−１）のデータＸ［ｉ−１］が格納されている。データＲＥＧ＃２には、時刻（ｉ−２）のデータＸ［ｉ−２］が格納されている。データＲＥＧ＃３には、時刻（ｉ−３）のデータＸ［ｉ−３］が格納されている。データＲＥＧ＃４には、「０」が格納されている。
【００８６】
図１２（ｂ）は、４次のＦＩＲフィルタ処理を実行する命令群を表わす図である。
図１２を参照して、命令ＲＡＭ５４＿０および５４＿１には、４次のＦＩＲフィルタ処理のための第１〜９命令が格納されている。第１命令は、演算種類がＳＦＴ（２ビット右シフト）、入力元第１データレジスタがデータＲＥＧ＃０、出力先データレジスタがデータレジスタ＃０であることを表わす。第２命令は、演算種類がＡＤＤ（加算）、入力元第１データレジスタがデータＲＥＧ＃０、入力元第２データレジスタがデータＲＥＧ＃４、出力先データレジスタがデータレジスタ＃４であることを表わす。第３命令は、演算種類がＳＦＴ（２ビット右シフト）、入力元第１データレジスタがデータＲＥＧ＃１、出力先データレジスタがデータレジスタ＃１であることを表わす。第４命令は、演算種類がＡＤＤ（加算）、入力元第１データレジスタがデータＲＥＧ＃１、入力元第２データレジスタがデータＲＥＧ＃４、出力先データレジスタがデータレジスタ＃４であることを表わす。第５命令は、演算種類がＳＦＴ、入力元第１データレジスタがデータＲＥＧ＃２、出力先データレジスタがデータレジスタ＃２であることを表わす。第６命令は、演算種類がＡＤＤ（加算）、入力元第１データレジスタがデータＲＥＧ＃２、入力元第２データレジスタがデータＲＥＧ＃４、出力先データレジスタがデータレジスタ＃４であることを表わす。第７命令は、演算種類がＳＦＴ、入力元第１データレジスタがデータＲＥＧ＃３、出力先データレジスタがデータレジスタ＃３であることを表わす。第８命令は、演算種類がＡＤＤ（加算）、入力元第１データレジスタがデータＲＥＧ＃３、入力元第２データレジスタがデータＲＥＧ＃４、出力先データレジスタがデータレジスタ＃４であることを表わす。第９命令は、ＦＩＲフィルタ処理の終了を表すＨＡＬＴ命令である。
【００８７】
図１３は、２つの演算シーケンス制御部が、図１２に示される４次のＦＩＲフィルタ処理のための命令群をそれぞれ実行する場合のタイムチャートである。
【００８８】
図１３を参照して、時刻ｔ１において、演算シーケンス制御部１−０は、命令ＲＡＭ５４＿０に記憶された図１２（ｂ）に示す第１命令を読み出して、演算要求信号ＲＥＱ０と、演算種類信号ＣＭＤ０としてＳＦＴ（２ビット右シフト）と、第１入力選択信号ＤＩＮａ０＿ｓｅｌとしてデータＲＥＧ＃０を指定した信号を調停回路４へ出力する。また、同時に演算シーケンス制御部１−１は、命令ＲＡＭ５４＿１に記憶された図１２（ｂ）に示す第１命令を読み出して、演算要求信号ＲＥＱ１と、演算種類信号ＣＭＤ１としてＳＦＴ（２ビット右シフト）と、第１入力選択信号ＤＩＮａ１＿ｓｅｌとしてデータＲＥＧ＃０を指定した信号を調停回路４へ出力する。
【００８９】
調停回路４内の受付応答部３１は、同時に２つの演算要求信号ＲＥＱ０，ＲＥＱ１を受けると、演算種類信号ＣＭＤ０，ＣＭＤ１、優先情報テーブル、および空き情報テーブルを参照して、２つの演算シーケンス制御部からの命令のいずれを受け付けるか、またはいずれも受け付けないかを決定する。この例では、演算種類信号ＣＭＤ０、ＣＭＤ１がいずれもＳＦＴであり、空き情報テーブルがシフト演算器３３が使用されていないことを表わし、優先情報テーブルが演算シーケンス制御部１−０の優先順位が高いことを表わしているとする。このような場合には、受付応答部３１は、演算シーケンス制御部１−０からの命令を受け付け可能であると判断し、演算シーケンス制御部１−０へ応答信号ＡＣＫ０を返信する。さらに、完了応答部３２は、ディレイ情報テーブルを参照して、ＳＦＴがディレイなしの演算であることを特定して、演算シーケンス制御部１−０へ完了信号ＣＰＬ０を即座に返信する。
【００９０】
時刻ｔ２において、演算シーケンス制御部１−０は、命令ＲＡＭ５４−０に記憶された図１２（ｂ）に示す第２命令を読み出す。演算シーケンス制御部１−０は、応答信号ＡＣＫ０および完了信号ＣＰＬ０を受信するが、第２命令がＨＡＬＴ命令でないため、演算要求信号ＲＥＱ０の出力を停止しない。演算シーケンス制御部１−０は、演算種類信号ＣＭＤ０としてＡＤＤと、第１入力選択信号ＤＩＮａ０＿ｓｅｌとしてデータＲＥＧ＃０を指定した信号と、第２入力選択信号ＤＩＮｂ０＿ｓｅｌとしてデータＲＥＧ＃４を指定した信号を調停回路４へ出力する。演算シーケンス制御部１−１は、演算要求信号ＲＥＱ１と、演算種類信号ＣＭＤ１（ＳＦＴ）と、第１入力選択信号ＤＩＮａ１＿ｓｅｌ（データＲＥＧ＃０を指定）の調停回路４への出力を継続する。調停回路４内の受付応答部３１は、同時に２つの演算要求信号ＲＥＱ０，ＲＥＱ１を受けると、演算種類信号ＣＭＤ０，ＣＭＤ１、優先情報テーブル、および空き情報テーブルを参照して、２つの演算シーケンス制御部からの命令のいずれを受け付けるか、またはいずれも受け付けないかを決定する。この例では、演算種類信号ＣＭＤ０、ＣＭＤ１はＡＤＤとＳＦＴであり、空き情報テーブルがシフト演算器３３が使用されていないことを表わし、加算器３４が使用されていないことを表わしている。受付応答部３１は、演算シーケンス制御部１−０および演算シーケンス制御部１−１からの命令を受け付け可能であると判断し、演算シーケンス制御部１−０への応答信号ＡＣＫ０の返信を継続し、演算シーケンス制御部１−１へ応答信号ＡＣＫ１を返信する。完了応答部３２は、ディレイ情報テーブルを参照して、ＳＦＴおよびＡＤＤがディレイなしの演算であることを特定して、演算シーケンス制御部１−０への完了信号ＣＰＬ０の返信を継続し、演算シーケンス制御部１−１へ完了信号ＣＰＬ１を返信する。
【００９１】
時刻ｔ３において、演算シーケンス制御部１−０は、命令ＲＡＭ５４−０に記憶された図１２（ｂ）に示す第３命令を読み出す。演算シーケンス制御部１−０は、応答信号ＡＣＫ０および完了信号ＣＰＬ０を受信するが、第３命令がＨＡＬＴ命令でないため、演算要求信号ＲＥＱ０の出力を停止しない。演算シーケンス制御部１−０は、演算種類信号ＣＭＤ０としてＳＦＴと、第１入力選択信号ＤＩＮａ０＿ｓｅｌとしてデータＲＥＧ＃１を指定した信号を調停回路４へ出力する。演算シーケンス制御部１−１は、命令ＲＡＭ５４−１に記憶された図１２（ｂ）に示す第２命令を読み出す。演算シーケンス制御部１−１は、応答信号ＡＣＫ１および完了信号ＣＰＬ１を受信するが、第２命令がＨＡＬＴ命令でないため、演算要求信号ＲＥＱ１の出力を停止しない。演算シーケンス制御部１−１は、演算種類信号ＣＭＤ１としてＡＤＤと、第１入力選択信号ＤＩＮａ１＿ｓｅｌとしてデータＲＥＧ＃０を指定した信号と、第２入力選択信号ＤＩＮｂ１＿ｓｅｌとしてデータＲＥＧ＃４を指定した信号を調停回路４へ出力する。調停回路４内の受付応答部３１は、同時に２つの演算要求信号ＲＥＱ０，ＲＥＱ１を受けると、演算種類信号ＣＭＤ０，ＣＭＤ１、優先情報テーブル、および空き情報テーブルを参照して、２つの演算シーケンス制御部からの命令のいずれを受け付けるか、またはいずれも受け付けないかを決定する。この例では、演算種類信号ＣＭＤ０、ＣＭＤ１はＳＦＴとＡＤＤであり、空き情報テーブルがシフト演算器３３が使用されていないことを表わし、加算器３４が使用されていないことを表わしている。受付応答部３１は、演算シーケンス制御部１−０および演算シーケンス制御部１−１からの命令を受け付け可能であると判断し、演算シーケンス制御部１−０への応答信号ＡＣＫ０の返信を継続し、演算シーケンス制御部１−１への応答信号ＡＣＫ１の返信を継続する。完了応答部３２は、ディレイ情報テーブルを参照して、ＳＦＴおよびＡＤＤがディレイなしの演算であることを特定して、演算シーケンス制御部１−０への完了信号ＣＰＬ０の返信を継続し、演算シーケンス制御部１−１への完了信号ＣＰＬ１の返信を継続する。
【００９２】
時刻ｔ４において、演算シーケンス制御部１−０は、命令ＲＡＭ５４−０に記憶された図１２（ｂ）に示す第４命令を読み出す。演算シーケンス制御部１−０は、応答信号ＡＣＫ０および完了信号ＣＰＬ０を受信するが、第４命令がＨＡＬＴ命令でないため、演算要求信号ＲＥＱ０の出力を停止しない。演算シーケンス制御部１−０は、演算種類信号ＣＭＤ０としてＡＤＤと、第１入力選択信号ＤＩＮａ０＿ｓｅｌとしてデータＲＥＧ＃１を指定した信号と、第２入力選択信号ＤＩＮｂ０＿ｓｅｌとしてデータＲＥＧ＃４を指定した信号を調停回路４へ出力する。演算シーケンス制御部１−１は、命令ＲＡＭ５４−１に記憶された図１２（ｂ）に示す第３命令を読み出す。演算シーケンス制御部１−１は、応答信号ＡＣＫ１および完了信号ＣＰＬ１を受信するが、第３命令がＨＡＬＴ命令でないため、演算要求信号ＲＥＱ１の出力を停止しない。演算シーケンス制御部１−１は、演算種類信号ＣＭＤ１としてＳＦＴと、第１入力選択信号ＤＩＮａ１＿ｓｅｌとしてデータＲＥＧ＃１を指定した信号を調停回路４へ出力する。調停回路４内の受付応答部３１は、同時に２つの演算要求信号ＲＥＱ０，ＲＥＱ１を受けると、演算種類信号ＣＭＤ０，ＣＭＤ１、優先情報テーブル、および空き情報テーブルを参照して、２つの演算シーケンス制御部からの命令のいずれを受け付けるか、またはいずれも受け付けないかを決定する。この例では、演算種類信号ＣＭＤ０、ＣＭＤ１はＡＤＤとＳＦＴであり、空き情報テーブルがシフト演算器３３が使用されていないことを表わし、加算器３４が使用されていないことを表わしている。受付応答部３１は、演算シーケンス制御部１−０および演算シーケンス制御部１−１からの命令を受け付け可能であると判断し、演算シーケンス制御部１−０への応答信号ＡＣＫ０の返信を継続し、演算シーケンス制御部１−１への応答信号ＡＣＫ１の返信を継続する。完了応答部３２は、ディレイ情報テーブルを参照して、ＳＦＴおよびＡＤＤがディレイなしの演算であることを特定して、演算シーケンス制御部１−０への完了信号ＣＰＬ０の返信を継続し、演算シーケンス制御部１−１への完了信号ＣＰＬ１の返信を継続する。
【００９３】
時刻ｔ５において、演算シーケンス制御部１−０は、命令ＲＡＭ５４−０に記憶された図１２（ｂ）に示す第５命令を読み出す。演算シーケンス制御部１−０は、応答信号ＡＣＫ０および完了信号ＣＰＬ０を受信するが、第５命令がＨＡＬＴ命令でないため、演算要求信号ＲＥＱ０の出力を停止しない。演算シーケンス制御部１−０は、演算種類信号ＣＭＤ０としてＳＦＴと、第１入力選択信号ＤＩＮａ０＿ｓｅｌとしてデータＲＥＧ＃２を指定した信号を調停回路４へ出力する。演算シーケンス制御部１−１は、命令ＲＡＭ５４−１に記憶された図１２（ｂ）に示す第４命令を読み出す。演算シーケンス制御部１−１は、応答信号ＡＣＫ１および完了信号ＣＰＬ１を受信するが、第４命令がＨＡＬＴ命令でないため、演算要求信号ＲＥＱ１の出力を停止しない。演算シーケンス制御部１−１は、演算種類信号ＣＭＤ１としてＡＤＤと、第１入力選択信号ＤＩＮａ１＿ｓｅｌとしてデータＲＥＧ＃１を指定した信号と、第２入力選択信号ＤＩＮｂ１＿ｓｅｌとしてデータＲＥＧ＃４を指定した信号を調停回路４へ出力する。調停回路４内の受付応答部３１は、同時に２つの演算要求信号ＲＥＱ０，ＲＥＱ１を受けると、演算種類信号ＣＭＤ０，ＣＭＤ１、優先情報テーブル、および空き情報テーブルを参照して、２つの演算シーケンス制御部からの命令のいずれを受け付けるか、またはいずれも受け付けないかを決定する。この例では、演算種類信号ＣＭＤ０、ＣＭＤ１はＳＦＴとＡＤＤであり、空き情報テーブルがシフト演算器３３が使用されていないことを表わし、加算器３４が使用されていないことを表わしている。受付応答部３１は、演算シーケンス制御部１−０および演算シーケンス制御部１−１からの命令を受け付け可能であると判断し、演算シーケンス制御部１−０への応答信号ＡＣＫ０の返信を継続し、演算シーケンス制御部１−１への応答信号ＡＣＫ１の返信を継続する。完了応答部３２は、ディレイ情報テーブルを参照して、ＳＦＴおよびＡＤＤがディレイなしの演算であることを特定して、演算シーケンス制御部１−０への完了信号ＣＰＬ０の返信を継続し、演算シーケンス制御部１−１への完了信号ＣＰＬ１の返信を継続する。
【００９４】
時刻ｔ６において、演算シーケンス制御部１−０は、命令ＲＡＭ５４−０に記憶された図１２（ｂ）に示す第６命令を読み出す。演算シーケンス制御部１−０は、応答信号ＡＣＫ０および完了信号ＣＰＬ０を受信するが、第６命令がＨＡＬＴ命令でないため、演算要求信号ＲＥＱ０の出力を停止しない。演算シーケンス制御部１−０は、演算種類信号ＣＭＤ０としてＡＤＤと、第１入力選択信号ＤＩＮａ０＿ｓｅｌとしてデータＲＥＧ＃２を指定した信号と、第２入力選択信号ＤＩＮｂ０＿ｓｅｌとしてデータＲＥＧ＃４を指定した信号を調停回路４へ出力する。演算シーケンス制御部１−１は、命令ＲＡＭ５４−１に記憶された図１２（ｂ）に示す第５命令を読み出す。演算シーケンス制御部１−１は、応答信号ＡＣＫ１および完了信号ＣＰＬ１を受信するが、第５命令がＨＡＬＴ命令でないため、演算要求信号ＲＥＱ１の出力を停止しない。演算シーケンス制御部１−１は、演算種類信号ＣＭＤ１としてＳＦＴと、第１入力選択信号ＤＩＮａ１＿ｓｅｌとしてデータＲＥＧ＃２を指定した信号を調停回路４へ出力する。調停回路４内の受付応答部３１は、同時に２つの演算要求信号ＲＥＱ０，ＲＥＱ１を受けると、演算種類信号ＣＭＤ０，ＣＭＤ１、優先情報テーブル、および空き情報テーブルを参照して、２つの演算シーケンス制御部からの命令のいずれを受け付けるか、またはいずれも受け付けないかを決定する。この例では、演算種類信号ＣＭＤ０、ＣＭＤ１はＡＤＤとＳＦＴであり、空き情報テーブルがシフト演算器３３が使用されていないことを表わし、加算器３４が使用されていないことを表わしている。受付応答部３１は、演算シーケンス制御部１−０および演算シーケンス制御部１−１からの命令を受け付け可能であると判断し、演算シーケンス制御部１−０への応答信号ＡＣＫ０の返信を継続し、演算シーケンス制御部１−１への応答信号ＡＣＫ１の返信を継続する。完了応答部３２は、ディレイ情報テーブルを参照して、ＳＦＴおよびＡＤＤがディレイなしの演算であることを特定して、演算シーケンス制御部１−０への完了信号ＣＰＬ０の返信を継続し、演算シーケンス制御部１−１への完了信号ＣＰＬ１の返信を継続する。
【００９５】
時刻ｔ７において、演算シーケンス制御部１−０は、命令ＲＡＭ５４−０に記憶された図１２（ｂ）に示す第７命令を読み出す。演算シーケンス制御部１−０は、応答信号ＡＣＫ０および完了信号ＣＰＬ０を受信するが、第７命令がＨＡＬＴ命令でないため、演算要求信号ＲＥＱ０の出力を停止しない。演算シーケンス制御部１−０は、演算種類信号ＣＭＤ０としてＳＦＴと、第１入力選択信号ＤＩＮａ０＿ｓｅｌとしてデータＲＥＧ＃３を指定した信号を調停回路４へ出力する。演算シーケンス制御部１−１は、命令ＲＡＭ５４−１に記憶された図１２（ｂ）に示す第６命令を読み出す。演算シーケンス制御部１−１は、応答信号ＡＣＫ１および完了信号ＣＰＬ１を受信するが、第６命令がＨＡＬＴ命令でないため、演算要求信号ＲＥＱ１の出力を停止しない。演算シーケンス制御部１−１は、演算種類信号ＣＭＤ１としてＡＤＤと、第１入力選択信号ＤＩＮａ１＿ｓｅｌとしてデータＲＥＧ＃２を指定した信号と、第２入力選択信号ＤＩＮｂ１＿ｓｅｌとしてデータＲＥＧ＃４を指定した信号を調停回路４へ出力する。調停回路４内の受付応答部３１は、同時に２つの演算要求信号ＲＥＱ０，ＲＥＱ１を受けると、演算種類信号ＣＭＤ０，ＣＭＤ１、優先情報テーブル、および空き情報テーブルを参照して、２つの演算シーケンス制御部からの命令のいずれを受け付けるか、またはいずれも受け付けないかを決定する。この例では、演算種類信号ＣＭＤ０、ＣＭＤ１はＳＦＴとＡＤＤであり、空き情報テーブルがシフト演算器３３が使用されていないことを表わし、加算器３４が使用されていないことを表わしている。受付応答部３１は、演算シーケンス制御部１−０および演算シーケンス制御部１−１からの命令を受け付け可能であると判断し、演算シーケンス制御部１−０への応答信号ＡＣＫ０の返信を継続し、演算シーケンス制御部１−１への応答信号ＡＣＫ１の返信を継続する。完了応答部３２は、ディレイ情報テーブルを参照して、ＳＦＴおよびＡＤＤがディレイなしの演算であることを特定して、演算シーケンス制御部１−０への完了信号ＣＰＬ０の返信を継続し、演算シーケンス制御部１−１への完了信号ＣＰＬ１の返信を継続する。
【００９６】
時刻ｔ８において、演算シーケンス制御部１−０は、命令ＲＡＭ５４−０に記憶された図１２（ｂ）に示す第８命令を読み出す。演算シーケンス制御部１−０は、応答信号ＡＣＫ０および完了信号ＣＰＬ０を受信するが、第８命令がＨＡＬＴ命令でないため、演算要求信号ＲＥＱ０の出力を停止しない。演算シーケンス制御部１−０は、演算種類信号ＣＭＤ０としてＡＤＤと、第１入力選択信号ＤＩＮａ０＿ｓｅｌとしてデータＲＥＧ＃３を指定した信号と、第２入力選択信号ＤＩＮｂ０＿ｓｅｌとしてデータＲＥＧ＃４を指定した信号を調停回路４へ出力する。演算シーケンス制御部１−１は、命令ＲＡＭ５４−１に記憶された図１２（ｂ）に示す第７命令を読み出す。演算シーケンス制御部１−１は、応答信号ＡＣＫ１および完了信号ＣＰＬ１を受信するが、第７命令がＨＡＬＴ命令でないため、演算要求信号ＲＥＱ１の出力を停止しない。演算シーケンス制御部１−１は、演算種類信号ＣＭＤ１としてＳＦＴと、第１入力選択信号ＤＩＮａ１＿ｓｅｌとしてデータＲＥＧ＃３を指定した信号を調停回路４へ出力する。調停回路４内の受付応答部３１は、同時に２つの演算要求信号ＲＥＱ０，ＲＥＱ１を受けると、演算種類信号ＣＭＤ０，ＣＭＤ１、優先情報テーブル、および空き情報テーブルを参照して、２つの演算シーケンス制御部からの命令のいずれを受け付けるか、またはいずれも受け付けないかを決定する。この例では、演算種類信号ＣＭＤ０、ＣＭＤ１はＡＤＤとＳＦＴであり、空き情報テーブルがシフト演算器３３が使用されていないことを表わし、加算器３４が使用されていないことを表わしている。受付応答部３１は、演算シーケンス制御部１−０および演算シーケンス制御部１−１からの命令を受け付け可能であると判断し、演算シーケンス制御部１−０への応答信号ＡＣＫ０の返信を継続し、演算シーケンス制御部１−１への応答信号ＡＣＫ１の返信を継続する。完了応答部３２は、ディレイ情報テーブルを参照して、ＳＦＴおよびＡＤＤがディレイなしの演算であることを特定して、演算シーケンス制御部１−０への完了信号ＣＰＬ０の返信を継続し、演算シーケンス制御部１−１への完了信号ＣＰＬ１の返信を継続する。
【００９７】
時刻ｔ９において、演算シーケンス制御部１−０は、命令ＲＡＭ５４−０に記憶された図１２（ｂ）に示す第９命令を読み出す。第９命令がＨＡＬＴ命令であるため、演算要求信号ＲＥＱ０の出力を停止する。演算シーケンス制御部１−１は、命令ＲＡＭ５４−１に記憶された図１２（ｂ）に示す第８命令を読み出す。演算シーケンス制御部１−１は、応答信号ＡＣＫ１および完了信号ＣＰＬ１を受信するが、第７命令がＨＡＬＴ命令でないため、演算要求信号ＲＥＱ１の出力を停止しない。演算シーケンス制御部１−１は、演算種類信号ＣＭＤ１としてＡＤＤと、第１入力選択信号ＤＩＮａ１＿ｓｅｌとしてデータＲＥＧ＃３を指定した信号と、第２入力選択信号ＤＩＮｂ１＿ｓｅｌとしてデータＲＥＧ＃４を指定した信号を調停回路４へ出力する。調停回路４内の受付応答部３１は、演算要求信号ＲＥＱ０が停止されたため、演算シーケンス制御部１−１への応答信号ＡＣＫ０および完了信号ＣＰＬ１の出力を停止する。受付応答部３１は、演算要求信号ＲＥＱ１を受けると、演算種類信号ＣＭＤ１、優先情報テーブル、および空き情報テーブルを参照して、演算シーケンス制御部１−１からの命令を受け付け可能かを決定する。この例では、演算種類信号はＣＭＤ１はＡＤＤであり、空き情報テーブルが加算器３４が使用されていないことを表わしている。受付応答部３１は、演算シーケンス制御部１−１からの命令を受け付け可能であると判断し、演算シーケンス制御部１−１への応答信号ＡＣＫ１の返信を継続する。完了応答部３２は、ディレイ情報テーブルを参照して、ＡＤＤがディレイなしの演算であることを特定して、演算シーケンス制御部１−１への完了信号ＣＰＬ１の返信を継続する。
【００９８】
時刻ｔ１０において、演算シーケンス制御部１−１は、命令ＲＡＭ５４−１に記憶された図１２（ｂ）に示す第９命令を読み出す。第９命令がＨＡＬＴ命令であるため、演算要求信号ＲＥＱ１の出力を停止する。調停回路４内の受付応答部３１は、演算要求信号ＲＥＱ１が停止されたため、演算シーケンス制御部１−１への応答信号ＡＣＫ０および完了信号ＣＰＬ１の出力を停止する。
【００９９】
以上のように、演算シーケンス制御部１−１からのシフト演算の受付が遅延された結果、演算シーケンス制御部１−０，１−１からの演算要求がシフト演算と加算演算を互い違いに繰り返す。その結果、加算器３４とシフト演算器３３の使用が重複せず、９個のサイクルで４次のＦＩＲフィルタ処理が２回完了する。
【０１００】
以上のように、本実施の形態によれば、複数のデジタル信号処理を並行して実行する場合に、共通演算器で演算を実行することによって、回路面積を小さくすることができる。複数の演算シーケンス制御部が同時に動作することで、同じ演算器呼び出しが同時に発生する場合にも、シーケンス制御部間の競合を調停することができる。
【０１０１】
［第２の実施形態］
第１の実施形態では、搭載する演算器の数を抑えることで回路面積の増大が抑えられることができたが、複数の演算シーケンス制御部からの演算器呼び出しの要求の競合が多発し、演算シーケンス制御部が相互に待たされることが多くなるという問題が発生する場合がある。第２の実施形態では、演算器の搭載数を増加することで同時に処理できる数を拡張する。
【０１０２】
図１４は、第２の実施形態の信号処理回路の詳細を表わす図である。
この信号処理回路８１が、第１の実施形態の信号処理回路８０と相違する点は、以下である。
【０１０３】
第１群の演算種類について、演算種類ごとに複数の共通演算器が設けられる。ここでは、一例として、第１群の演算種類は乗算とする。つまり、第２の実施形態では、共通演算器１０７には、２つの乗算器３６，９２が含まれる。また、乗算器９２の追加に従って、調停回路１０４に、乗算器９２へデータを供給するＭＵＸ９１が追加され、ＭＵＸ１４３，ＭＵＸ１４４は、５つの演算器３３，３４，３５，３６，９２，３７からの信号を受けるように変更されている。
【０１０４】
テーブル記憶部１２１の空き情報テーブルは、演算器３３〜３７，９２が使用中であるか否かの状態値を定める。使用中の場合には状態値は「０」となり、未使用の場合には状態値は「１」または「２」となる。状態値が「１」は１個が未使用であることを表わし、状態値が「２」は２個が未使用であることを表わす。図１４の例では、シフト演算器（ＳＦＴ）、加算器（ＡＤＤ）、減算器（ＳＵＢ）、除算器（ＤＩＶ）の状態値が「１」であり、いずれも１個が未使用である。また、乗算器（ＭＵＬ）の状態値が「２」であり、２個が未使用である。
【０１０５】
受付応答部１３１は、演算シーケンス制御部１−０，１−１が、第１群の演算種類（乗算）の演算要求を同時に発生した場合に、その演算種類に対応する複数の共通演算器３６,９２のうち未使用のものがある場合に、優先順位情報に基づきいずれか１つの演算シーケンス制御部１−０，１−１を選択する。調停回路１０４は、選択した演算シーケンス制御部からの演算要求を未使用の共通演算器に実行させ、演算結果を選択した演算シーケンス制御部に返す。
【０１０６】
受付応答部１３１は、演算要求に係わる演算種類が乗算の場合に、空き情報テーブルの状態値が「２」の場合に、乗算器３６を使用する演算器として割り当て、状態値を「１」に更新する。受付応答部１３１は、演算要求に係わる演算種類が乗算の場合に、空き情報テーブルの状態値が「１」の場合に、乗算器９２を使用する演算器として割り当て、状態値を「０」に更新する。
【０１０７】
以上のように、本実施の形態によれば、複数の同じ演算要求を同時に処理することによって、各演算シーケンス制御部へ実装されるデジタル信号処理の処理時間を一定に保つことが可能である。特に、センサ素子を用いた測定についての精度向上等を目的とするにあたっては、ＣＰＵコアなどへの負荷を減らすことによって、センサシステム全体として高速処理が可能となる。
【０１０８】
［第３の実施形態］
図１５は、第３の実施形態の信号処理回路の詳細を表わす図である。
【０１０９】
この信号処理回路８２が、フロー処理部３０と、調停回路２０４とを備える。
フロー処理部３０は、データＲＥＧ群５５＿０，５５＿１，５５＿２と、５５＿５と、命令ＲＡＭ５４＿２，５４＿５と、上位シーケンス制御部２＿５と、演算ステートマシン部２−０，２−１と、演算シーケンス制御部１−２と、ＤＥ＿ＭＵＸ５１＿０，５１＿１，５１＿２，５１＿５と、ＭＵＸ５２＿０，５２＿１，５２＿２，５２＿５，５３＿０，５３＿１，５３＿２，５３＿５と、システムＲＥＧ１９とを備える。
【０１１０】
フロー処理部３０が、第１の実施形態のフロー処理部３と相違する具体的な点は以下である。
【０１１１】
第１の実施形態の演算シーケンス制御部１−０，１−１が、第３の実施形態では、演算ステートマシン部２−０，２−１に置き換えられている。演算ステートマシン部２−０，２−１は、シーケンス処理内容がハードワイヤで固定されるため、第３の実施形態のフロー処理部３０は、第１の実施形態のような命令ＲＡＭ５４＿０，５４＿１を含まない。
【０１１２】
一方、第３の実施形態のフロー処理部３０は、第１の実施形態の演算シーケンス制御部１＿０，１＿１と同様の演算シーケンス制御部１＿２を含む。これは、信号処理回路を設計後に、演算ステートマシン部２−０，２−１に実装済みの処理とは別のシーケンス処理を追加することができるようにするためである。命令ＲＡＭ５４＿２内の命令を書き換えることで別のシーケンス処理を追加することができる。
【０１１３】
第３の実施形態の調停回路２０４が、第１の実施形態の調停回路４と相違する点は、以下である。
【０１１４】
第１の実施形態では、出力用に２つのＭＵＸ４３，４４が設けられるが、第３の実施形態では、３つのシーケンス制御部（１つの演算シーケンス制御部と２つの演算ステートマシン部）に応答を返すために、出力用の３つのＭＵＸ２４３，２４４，２４５が設けられる。
【０１１５】
受付応答部２３１は、３つのシーケンス制御部からの演算要求ＲＥＱ０，ＲＥＱ１，ＲＥＱ２、演算種類信号ＣＭＤ０，ＣＭＤ１，ＣＭＤ２を受け付ける。
【０１１６】
完了応答部２３２は、３つのシーケンス制御部へ完了信号ＣＰＬ０，ＣＰＬ１，ＣＰＬ２を返信する。
【０１１７】
ＭＵＸ２３８〜２４２は、それぞれ第１データＤＩＮ０ａ，ＤＩＮ１ａ，ＤＩＮ２ａおよび第２データＤＩＮ０ｂ、ＤＩＮ１ｂ，ＤＩＮ２ｂを受ける。
【０１１８】
以上のように、本実施の形態では、変更することのない一般的なシーケンス処理については、演算ステートマシンで実装することによって回路面積を小さくすることができる。
【０１１９】
［第４の実施形態］
第２の実施形態では、乗算について複数の共通演算器を設けることで、乗算器呼び出しの要求の競合が多発する場合であっても、同時に処理できる数を拡張することができたが、複数の演算シーケンス制御部からの演算器呼び出しの要求によっては、各々の演算器に対しても競合が多発し、演算シーケンス制御部が相互に待たされることが多くなるという問題が発生する場合がある。第４の実施形態では、演算種類ごとの演算器の搭載数を増加することで同時に処理できる数を拡張する。
【０１２０】
図１６は、第４の実施形態の信号処理回路の詳細を表わす図である。
この信号処理回路８３が、フロー処理部３００と、調停回路３０４とを備える。
【０１２１】
フロー処理部３００は、データＲＥＧ群５５＿０，５５＿１，５５＿２，５５＿３，５５＿５と、命令ＲＡＭ５４＿０，５４＿１，５４＿２，５４＿３，５４＿５と、上位シーケンス制御部３＿５と、演算シーケンス制御部１−０，１−１，１−２，１−３と、ＤＥ＿ＭＵＸ５１＿０，５１＿１，５１＿２，５１＿３，５１＿５と、ＭＵＸ５２＿０，５２＿１，５２＿２，５２＿３，５２＿５，５３＿０，５３＿１，５３＿２，５３＿３，５３＿５と、システムＲＥＧ１９とを備える。
【０１２２】
第４の実施形態では、共通演算器３０７には、２つのシフト演算器３３，３６１と、２つの加算器３４，３６２と、２つの減算器３５，３６３と、２つの乗算器３６，９２と、２つの除算器３７，３６４が含まれる。
【０１２３】
第４の実施形態では、フロー処理部３００に４つの演算シーケンス制御部１−０，１−１，１−２，１−３が含まれることに対応して、調停回路３０４に１０つの演算器３３，３６１，３４，３６２，３５，３６３，３６，９２，３７，３６４へデータを供給するＭＵＸ３３８，３３９，３４０，３４１，３４２，３４３，３４４，３４５，３４６，３４７が設けられる。４つの演算シーケンス制御部１−０，１−１，１−２，１−３に応答を返すために、出力用の４つのＭＵＸ３４８，３４９，３５０，３５１が設けられる。
【０１２４】
受付応答部３３１は、４つの演算シーケンス制御部からの演算要求ＲＥＱ０，ＲＥＱ１，ＲＥＱ２，ＲＥＱ３、演算種類信号ＣＭＤ０，ＣＭＤ１，ＣＭＤ２，ＣＭＤ３を受け付ける。
【０１２５】
完了応答部３３２は、４つの演算シーケンス制御部へ完了信号ＣＰＬ０，ＣＰＬ１，ＣＰＬ２，ＣＰＬ４を返信する。
【０１２６】
ＭＵＸ３３８〜３４７は、それぞれ第１データＤＩＮ０ａ，ＤＩＮ１ａ，ＤＩＮ２ａ，ＤＩＮ３ａおよび第２データＤＩＮ０ｂ、ＤＩＮ１ｂ，ＤＩＮ２ｂ，ＤＩＮ３ｂを受ける。
【０１２７】
テーブル記憶部３２１の空き情報テーブルは、演算器３３〜３７，９２，３６１〜３６４が使用中であるか否かの状態値を定める。使用中の場合には状態値は「０」となり、未使用の場合には状態値は「１」または「２」となる。状態値が「１」は１個が未使用であることを表わし、状態値が「２」は２個が未使用であることを表わす。図１６の例では、シフト演算器（ＳＦＴ）、加算器（ＡＤＤ）、減算器（ＳＵＢ）、乗算器（ＭＵＬ）、除算器（ＤＩＶ）の状態値が「２」であり、いずれも２個が未使用である。
【０１２８】
受付応答部３３１は、演算シーケンス制御部１−０，１−１，１−２，１−３が、ある演算種類の演算要求を同時に発生した場合に、その演算種類に対応する複数の共通演算器のうち未使用のものがある場合に、演算シーケンス制御部の優先順位情報に基づき、その未使用の演算器の数の分だけ演算シーケンス制御部１−０，１−１，１−２，１−４を選択する。調停回路３０４は、選択した演算シーケンス制御部からの演算要求を未使用の共通演算器に実行させ、演算結果を選択した演算シーケンス制御部に返す。
【０１２９】
受付応答部３３１は、演算シーケンス制御部１−０，１−１，１−２，１−３が、ある別々の演算種類それぞれについて演算要求を同時に発生した場合に、その演算種類それぞれに対応する複数の複数の共通演算器のうち未使用のものがある場合に、演算シーケンス制御部の優先順位情報に基づき、その未使用の演算器の数の分だけ演算シーケンス制御部１−０，１−１，１−２，１−４を選択する。調停回路３０４は、選択した演算シーケンス制御部からの演算要求を未使用の共通演算器に実行させ、演算結果を選択した演算シーケンス制御部に返す。
【０１３０】
以上のように、本実施の形態によれば、何れの演算種類についても複数の同じ演算要求を同時に処理することによって、第２の実施形態よりもさらに、各演算シーケンス制御部へ実装されるデジタル信号処理の処理時間を一定に保つことが可能である。
【０１３１】
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
【符号の説明】
【０１３２】
１−０，１−１，１−２，１−３  演算シーケンス制御部、１＿５，２＿５，３＿５  上位シーケンス制御部、２−０，２−１  演算ステートマシン部、３，３０，３００  フロー処理部、４，１０４，２０４，３０４  調停回路、５  演算処理部、６  ＣＰＵコア、７，１０７，３０７  共通演算器、８  メモリ、１０  温度センサ素子、１１ａ，１１ｂ，１１ｃ  Ａ／Ｄコンバータ、１２  光電センサ素子、１４  その他のセンサ素子、１６ａ，１６ｂ，１６ｃ  アンプ、１８ａ，１８ｂ，１８ｃ  レジスタ、１９  システムＲＥＧ、２１，１２１，２２１，３２１  テーブル記憶部、３１，１３１，２３１，３３１  受付応答部、３２，１３２，２３２，３３２  完了応答部、３３，３６１  シフト演算器、３４，３６２  加算器、３５，３６３  減算器、３６，９２  乗算器、３７，３６４  除算器、３８〜４４，５２＿０，５２＿１，５２＿２，５２＿３，５２＿５，５３＿０，５３＿１，５３＿２，５３＿３，５３＿５，９１，１４３，１４４，２３８〜２４５，３３８〜３５１  ＭＵＸ、２２  マイコン、５４＿０，５４＿１，５４＿２，５４＿３，５４＿５  命令ＲＡＭ、５５＿０，５５＿１，５５＿２，５５＿３，５５＿５  データＲＥＧ群、５１＿０，５１＿１，５１＿２，５１＿３，５１＿５  ＤＥＭＵＸ、６１  論理積回路、６２  出力ＲＥＧ選択回路、６３，６４  入力ＲＥＧ選択回路、６５  リクエスト／コマンド生成回路、６６  プログラム読み出し制御回路、６７  プログラムカウンタ（ＰＣ）、８０，８１，８２，８３  信号処理回路、９９  バス。
【図１】
2013222364.tif 000003
【図２】
2013222364.tif 000004
【図３】
2013222364.tif 000005
【図４】
2013222364.tif 000006
【図５】
2013222364.tif 000007
【図６】
2013222364.tif 000008
【図７】
2013222364.tif 000009
【図８】
2013222364.tif 000010
【図９】
2013222364.tif 000011
【図１０】
2013222364.tif 000012
【図１１】
2013222364.tif 000013
【図１２】
2013222364.tif 000014
【図１３】
2013222364.tif 000015
【図１４】
2013222364.tif 000016
【図１５】
2013222364.tif 000017
【図１６】
2013222364.tif 000018