(57)【要約】【課題】  信号処理装置におけるＤＳＰやＣＰＵなどのマスタプロセッサの処理負荷を軽減する。【解決手段】  本発明の信号処理装置１００において、ＤＳＰ１０などのマスタプロセッサは、装置における各種処理を主体的に実行し、コプロセッサなどのスレーブプロセッサは、実行開始指示に応じて特定の単位処理を実行する。スケジュール管理回路５０は、実行開始指示をマスタプロセッサに替わって発行する。スケジュール管理回路５０は、単位処理ごとにその開始時刻の到来を検出して、その単位処理を実行すべきスレーブプロセッサに実行開始指示を出力する。【選択図】  図３
2006260195.tif 000002
【特許請求の範囲】
【請求項１】
装置における各種処理を主体的に実行するマスタプロセッサと、
実行開始指示に応じて特定の単位処理を実行するスレーブプロセッサと、
前記実行開始指示をマスタプロセッサに替わって発行するスケジュール管理回路と、
を備え、前記スケジュール管理回路は、
前記単位処理ごとにその開始時刻の到来を検出して、その単位処理を実行すべきスレーブプロセッサに実行開始指示を出力することを特徴とする信号処理装置。
【請求項２】
請求項１に記載の信号処理装置において、
前記スケジュール管理回路は、
単位処理ごとに開始時刻を記録するレジスタと、時刻計時用カウンタとを有するタイミング回路と、
前記レジスタに記録された開始時刻と前記時刻計時用カウンタのカウント値によって、単位処理の開始時刻の到来を検出して、実行開始指示を出力する出力回路と、
を備えることを特徴とする信号処理装置。
【請求項３】
請求項２に記載の信号処理装置において、
前記タイミング回路は、前記レジスタにおいて単位処理ごとにその処理の終了通知信号を発行するか否かを指定する情報を記録し、
前記出力回路は、前記時刻計時用カウンタのカウント値によって単位処理ごとにその終了時刻の到来を検出し、前記終了通知信号を発行する旨が指定された単位処理の終了時刻が到来したとき、前記マスタプロセッサに対して終了通知信号を発行することを特徴とする信号処理装置。
【請求項４】
請求項１から３のいずれかに記載の信号処理装置において、
前記マスタプロセッサは、通信制御処理を実行し、
前記タイミング回路は、複数の時刻計時用カウンタを有し、そのうちの少なくとも１つの時刻計時用カウンタは、前記通信制御処理による通信動作タイミングにあわせたカウント値を出力することを特徴とする信号処理装置。
【請求項５】
請求項４に記載の信号処理装置において、
前記タイミング回路は、前記時刻計時用カウンタのカウント値を前記マスタプロセッサの通信制御処理における通信動作タイミングにあわせて調整する調整回路をさらに備えることを特徴とする信号処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、信号処理技術に関し、特にマスタコンピュータとスレーブコンピュータを備えた信号処理装置に関する。
【背景技術】
【０００２】
近年、通信回線のブロードバンド化に伴い、データ通信の高速化への要求が高まっている。この高速化は、有線でのデータ通信のみならず、無線でのデータ通信に対しても同様に要求され、ワイヤレスＬＡＮ、ＣＤＭＡ、ＧＰＲＳ等の種々の通信方式で開発が進んでいる。
【０００３】
図１は、従来の信号処理装置の構成を示す。従来の信号処理装置１では、ＤＳＰ１０が、第１コプロセッサ１２、第２コプロセッサ１６、第３コプロセッサ２０、メモリ２２、ＤＭＡＣ３０およびクロック制御回路４０の動作タイミングを制御する。信号処理装置１における各構成は、バス２により接続されている。なおＤＳＰ１０ではなく、ＣＰＵが各講師の動作タイミングを制御することもある。メモリ１４は第１コプロセッサ１２により使用され、またメモリ１８は第２コプロセッサ１６により使用される。ＤＭＡＣ３０は、ＤＳＰ１０を介さずに、第１コプロセッサ１２と第２コプロセッサ１６の間でデータを転送する。例えば、第１コプロセッサ１２で処理した演算結果を第２コプロセッサ１６で使用する場合、ＤＭＡＣ３０が、第１コプロセッサ１２の処理結果を第２コプロセッサ１６に直接転送する。第３コプロセッサ２０は、機能を動的に変更可能なリコンフィギュラブル回路であり、ＤＳＰ１０から所定のデータを供給されることで、所期の回路を構成する。メモリ２２はＲＡＭなどから構成される。クロック制御回路４０は、信号処理装置１における各構成へのクロック供給のオンオフ機能を有する。
【０００４】
図２は、従来の信号処理装置による信号処理のフローチャートを示す。図２は、第１コプロセッサ１２における信号の処理結果を第２コプロセッサ１６に転送して処理するときの処理フローを示す。まずＤＳＰ１０が第１コプロセッサ１２に対して信号処理の開始指示を送る（Ｓ１）。第１コプロセッサ１２は、処理開始指示を受けて信号処理を実行し（Ｓ２）、信号処理の終了通知をＤＳＰ１０に送る（Ｓ３）。
【０００５】
ＤＳＰ１０は、ＤＭＡＣ３０に対してデータ転送の開始指示を送る（Ｓ４）。ＤＭＡＣ３０は、転送開始指示を受けて、第１コプロセッサ１２の処理結果を第２コプロセッサ１６に転送し（Ｓ５）、転送処理の終了通知をＤＳＰ１０に送る（Ｓ６）。続いて、ＤＳＰ１０は、第２コプロセッサ１６に対して信号処理の開始指示を送る（Ｓ７）。第２コプロセッサ１６は、処理開始指示を受けて信号処理を実行し（Ｓ８）、信号処理の通知をＤＳＰ１０に送る（Ｓ９）。
【特許文献１】特開平７−２７１４１３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
図２に示されるように、従来の信号処理装置１では、ＤＳＰ１０が、第１コプロセッサ１２、ＤＭＡＣ３０、第２コプロセッサ１６のそれぞれに対して指令を送り、またそれぞれから処理の終了通知を受け取る。このようなスケジュール管理を実行するため、従来の信号処理装置１においてはＤＳＰ１０に処理負荷が集中し、ＤＳＰ１０の処理パフォーマンスを低下させる。また、ＤＳＰ１０に割込信号が頻繁に入力されるため、ＤＳＰ本来の処理が中断されることになる。さらに、信号処理データの授受を主目的とするバス２が制御信号に占有されるため、バス２のデータ転送効率が低下し、信号処理装置全体の処理効率を低下させる。
【０００７】
また、ＤＳＰ１０の処理パフォーマンスが低下することで、動的に回路を再構成可能な第３コプロセッサ２０が、その回路構成速度を制限される事態も発生しうる。第３コプロセッサ２０の回路再構成は、動的にリアルタイムで実行されることが好ましく、回路構成速度が低下することで、信号処理装置１におけるリアルタイム処理が損なわれることも予想される。
【０００８】
また、各コプロセッサやＤＭＡＣ３０は、クロック制御回路４０によるクロック供給を停止することで、スリープ状態に入ることができ、低消費電力化を実現できる。しかしながら、クロック制御回路４０はＤＳＰ１０により動作制御されるため、ＤＳＰ１０の処理パフォーマンスが低下することで、クロック制御回路４０によるきめ細かい電力管理が困難となる事態も生じる。特に、信号処理装置１がバッテリ駆動型の携帯端末装置に組み込まれる場合には、可能な限りバッテリの節約を行うことが理想であり、クロック制御回路４０による電力管理能力の低下は、携帯端末装置において深刻な問題となりうる。
【０００９】
本発明はこうした状況に鑑みてなされたものであり、その目的は、ＤＳＰやＣＰＵなどのマスタプロセッサの処理負荷を軽減することのできる信号処理装置を提供することにある。
【課題を解決するための手段】
【００１０】
上記課題を解決するために、本発明のある態様の信号処理装置は、装置における各種処理を主体的に実行するマスタプロセッサと、実行開始指示に応じて特定の単位処理を実行するスレーブプロセッサと、実行開始指示をマスタプロセッサに替わって発行するスケジュール管理回路とを備える。スケジュール管理回路は、単位処理ごとにその開始時刻の到来を検出して、その単位処理を実行すべきスレーブプロセッサに実行開始指示を出力する。
【００１１】
この態様によると、ＤＳＰやＣＰＵなどのマスタプロセッサによるスケジュール管理機能を、別個のハードウエアコンポーネントとして設けられるスケジュール管理回路に任せることができる。これにより、マスタプロセッサの処理負荷を軽減することができ、信号処理装置全体の処理効率を向上することが可能となる。
【００１２】
スケジュール管理回路は、単位処理ごとに開始時刻を記録するレジスタと、時刻計時用カウンタとを有するタイミング回路と、レジスタに記録された開始時刻と時刻計時用カウンタのカウント値によって単位処理の開始時刻の到来を検出して、実行開始指示を出力する出力回路とを備えてもよい。時刻計時用カウンタはタイマとして機能し、出力回路がタイミング回路からの情報をもとに実行開始指示を出力することで、時間管理をスケジュール管理回路で収束させて、マスタプロセッサにかかる処理負荷を軽減することができる。
【００１３】
なおタイミング回路は、レジスタにおいて単位処理ごとにその処理の終了通知信号を発行するか否かを指定する情報を記録してもよい。このとき出力回路は、時刻計時用カウンタのカウント値によって単位処理ごとにその終了時刻の到来を検出し、終了通知信号を発行する旨が指定された単位処理の終了時刻が到来したとき、マスタプロセッサに対して終了通知信号を発行してもよい。この態様によると、マスタプロセッサに対する終了通知信号は、発行することが指定されたものについてのみ発行される。そのため、マスタプロセッサに対して割込信号が供給される頻度を下げることができ、マスタプロセッサにかかる処理負荷を軽減することができる。
【００１４】
マスタプロセッサが通信制御処理を実行する場合、タイミング回路は、複数の時刻計時用カウンタを有し、そのうちの少なくとも１つの時刻計時用カウンタは、通信制御処理による通信動作タイミングにあわせたカウント値を出力してもよい。出力回路が、信号処理に適したカウンタからの出力を選択することで、スレーブプロセッサの動作タイミングを規定したスケジュール情報を修正する必要がなくなるため、スケジュール管理を容易に実現することが可能となる。
【００１５】
タイミング回路は、時刻計時用カウンタのカウント値をマスタプロセッサの通信制御処理における通信動作タイミングにあわせて調整する調整回路をさらに備えてもよい。これにより、時刻計時用カウンタが、通信動作タイミングにあわせたカウント値を出力できるようになる。
【００１６】
なお、以上の構成要素の任意の組合せ、本発明の表現を方法、装置、システム、記録媒体、コンピュータプログラムなどの間で変換したものもまた、本発明の態様として有効である。
【発明の効果】
【００１７】
本発明によれば、ＤＳＰやＣＰＵなどのマスタプロセッサの処理負荷を軽減する信号処理装置を提供することができる。
【発明を実施するための最良の形態】
【００１８】
本発明を具体的に説明する前に、概要を述べる。本発明の実施例の信号処理装置では、該装置における各種処理を主体的に実行するＤＳＰやＣＰＵなどのマスタプロセッサに加えて、該装置に含まれるコプロセッサやＤＭＡＣなどの構成の動作を時間管理するスケジュール管理回路が設けられる。このスケジュール管理回路は、装置内の各構成の動作スケジュールを規定したスケジュール情報をマスタプロセッサから受け取り、スケジュール情報をもとに各構成の動作を時間管理する。
【００１９】
図３は、本発明の実施例にかかる信号処理装置の構成を示す。実施例にかかる信号処理装置１００は、ＤＳＰ（Digital Signal Processor）１０、第１コプロセッサ１２、第２コプロセッサ１６、第３コプロセッサ２０、ＤＭＡＣ（Direct Memory Access Controller）３０、クロック制御回路４０およびスケジュール管理回路５０を備える。信号処理装置１００において、ＤＳＰ１０は、本装置における各種処理を主体的に実行するマスタプロセッサとして機能する。マスタプロセッサは、例えばマイクロコードを内蔵するプロセッサであり、図示していないがＣＰＵ（Central Processing Unit）を含んでよい。以下ではＤＳＰ１０をマスタプロセッサの一例として説明する。信号処理装置１００にＤＳＰ１０とＣＰＵとが設けられる場合には、マスタプロセッサが２つ存在することになる。なお信号処理装置１００における各構成は、バス２で互いに接続されている。
【００２０】
第１コプロセッサ１２、第２コプロセッサ１６、第３コプロセッサ２０、ＤＭＡＣ３０およびクロック制御回路４０は、実行開始指示に応じて特定の単位処理を実行するスレーブプロセッサとして機能する。スレーブプロセッサはマスタプロセッサおよびスケジュール管理回路５０以外の処理回路であり、主体的に処理を実行するのではなく、あくまでも供給される実行開始指示に応じて特定の単位処理を実行する。信号処理装置１００を通信制御装置などの特定用途に用いる場合、スレーブプロセッサの単位処理は既知の処理であり、実行時間は予め算出することができる。第１コプロセッサ１２および第２コプロセッサ１６は処理内容を特化したコプロセッサとして構成され、実行開始指示に応答して特定の単位処理を実行する。
【００２１】
信号処理装置１００は、携帯電話などの無線通信端末装置に組み込まれて、通信信号の処理を可能とするものであってよい。このとき信号処理装置１００は、無線通信制御装置として機能する。例えば、第１コプロセッサ１２は、ＦＩＲなどのディジタルフィルタ処理に特化した演算アクセラレータとして構成される。また第２コプロセッサ１６は、誤り訂正符号の復号処理に特化した演算アクセラレータとして構成される。信号処理装置１００が無線通信制御装置として機能するとき、外部から受信した受信信号は第１コプロセッサ１２にてフィルタ処理を行われ、続いて第２コプロセッサ１６にて誤り訂正符号の復号処理を行われる。
【００２２】
第１コプロセッサ１２にてフィルタ処理された処理結果はメモリ１４に一時記憶される。ＤＭＡＣ３０は、メモリ１４に一時記憶された処理結果を読み出し、第２コプロセッサ１６に転送する。第２コプロセッサ１６は、転送されたデータに含まれる誤り訂正符号を復号処理し、メモリ１８に一時記憶する。復号処理されたデータは、その後、例えばＤＳＰ１０に転送されて、音声再生またはデータ再生に用いられる。
【００２３】
第３コプロセッサ２０は、機能を動的に変更可能なリコンフィギュラブル回路であり、ＤＳＰ１０から所定の設定データを供給されることで、所期の回路を構成する。例えば、第３コプロセッサ２０は、複数のＡＬＵ（Arithmetic and Logic Unit）群を有し、それぞれのＡＬＵ群の機能を逐次設定することで、動的に回路構成を変化させることができる。このとき設定データは、ＡＬＵ群の機能やＡＬＵ群間の接続関係を定義する。
【００２４】
クロック制御回路４０は、第１コプロセッサ１２、第２コプロセッサ１６、第３コプロセッサ２０、ＤＭＡＣ３０などのスレーブプロセッサのクロック制御を行う。クロック制御回路４０は、クロック周波数の制御や、クロック供給のオンオフ制御（クロックゲーティング）を可能とする。特に、信号処理装置１００がバッテリ駆動型の携帯端末装置に組み込まれる場合、長時間の使用を実現するためには、バッテリの浪費を低減する必要がある。そのためクロック制御回路４０は、各スレーブプロセッサが動作しない場合に、クロックの供給を停止して、電力の消費を低減する。
【００２５】
メモリ２２はＲＡＭ（Random Access Memory）などで構成される。メモリ２２には、ＤＳＰ１０で処理されたアプリケーションデータなどが記憶される。
【００２６】
本実施例の信号処理装置１００において、スケジュール管理回路５０は、スレーブプロセッサを動作させる実行開始指示を、ＤＳＰ１０などのマスタプロセッサに替わって発行する役割を果たす。スケジュール管理回路５０は、マスタプロセッサとは別のハードウエアとして構成され、マスタプロセッサに替わって、信号処理装置１００におけるスケジュール管理を実行する。なお、スケジュール管理回路５０は、信号処理装置１００における少なくとも一部のスレーブプロセッサの時間管理を行えばよく、全てのスレーブプロセッサの時間管理を行う必要はない。またスケジュール管理回路５０は、時間管理を行うスレーブプロセッサの全ての処理についてスケジューリングを行う必要はなく、少なくとも一部の処理についてスケジューリングを行うものであってよい。
【００２７】
スケジュール管理回路５０は、スレーブプロセッサの単位処理ごとにその開始時刻の到来を検出して、その単位処理を実行すべきスレーブプロセッサに実行開始指示を出力する。これにより、スレーブプロセッサは、単位処理を実行できる。この開始時刻は絶対的な時刻であってもよく、また相対的な時刻であってもよい。例えば、第１コプロセッサ１２における処理結果を第２コプロセッサ１６に引き渡す場合、第１コプロセッサ１２の単位処理の開始時刻を基準として、ＤＭＡＣ３０による単位処理（データ転送処理）と、第２コプロセッサ１６による単位処理（誤り訂正符号の復号処理）の開始時刻が相対的に設定されていてもよい。
【００２８】
スケジュール管理回路５０が信号処理装置１００のスケジュール管理を担うことで、ＤＳＰ１０などのマスタプロセッサがスケジュール管理にかかる負荷を低減することができ、信号処理装置１００における処理効率を向上することができる。
【００２９】
図４は、スケジュール管理回路の構成を示す。スケジュール管理回路５０は、タイミング回路１２０および出力回路１３０を備える。タイミング回路１２０は、タイマとして機能する複数のカウンタを有して、複数の所望のタイミングを発生することができる。例えば基準となるカウント値を出力するカウンタ、通信制御処理における受信動作タイミングにあわせたカウント値を出力するカウンタ、通信制御処理における送信動作タイミングにあわせたカウント値を出力するカウンタの３つのカウンタが設けられてもよい。
【００３０】
タイミング回路１２０は、設定レジスタ１１０、フリーランカウンタ１１２、時間調整回路１１４、第１オフセットカウンタ１１６および第２オフセットカウンタ１１８を備える。フリーランカウンタ１１２、第１オフセットカウンタ１１６および第２オフセットカウンタ１１８は、外部からクロックの供給を受けて、タイミング回路１２０における時刻計時用カウンタとして機能する。フリーランカウンタ１１２、第１オフセットカウンタ１１６および第２オフセットカウンタ１１８は、所定の周期でカウント値を更新するカウンタである。それぞれのカウンタは、同一の構造を有してもよく、また別個の構造を有してもよい。例えば、カウンタは１２ビット×５段の構造を有し、各段においてきめ細かく周期を設定できるようにしてもよい。
【００３１】
設定レジスタ１１０には、ＤＳＰ１０などのマスタプロセッサから予め提供されるスレーブプロセッサのスケジュール情報が記録されている。スケジュール情報は、動作させるスレーブプロセッサの識別番号と、そのスレーブプロセッサによる単位処理の開始時刻および終了時刻を含む。複数のスレーブプロセッサによる単位処理の開始時刻および終了時刻は時間軸上で定義される。なお、スレーブプロセッサが複数種類の動作を実行可能に構成されている場合には、スケジュール情報が、スレーブプロセッサに実行させる動作を特定する情報を含む。スケジュール情報は、カウント値との比較のために出力回路１３０に供給される。
【００３２】
一例として、外部からの受信信号を第１コプロセッサ１２でフィルタ処理し、その処理結果を第２コプロセッサ１６に転送して、第２コプロセッサ１６にて誤り訂正符号の復号処理を行う場合のスケジュール情報について説明する。このとき、任意の時間Ｔを基準とする。なお、第１コプロセッサ１２によるフィルタ処理にかかる時間を１００クロック、ＤＭＡＣ３０によるデータ転送処理にかかる時間を１０クロック、第２コプロセッサ１６による復号処理にかかる時間を１００クロックとする。第１コプロセッサ１２および第２コプロセッサ１６は、特定の処理を実行する場合を想定しており、その処理時間は正確に算出することができる。時間Ｔが、第１コプロセッサ１２のフィルタ処理の開始時刻に設定される。
【００３３】
スケジュール情報では、第１コプロセッサ１２のフィルタ処理の時間情報に関して、開始時刻が時間Ｔ、終了時刻が時間（Ｔ＋９９）に設定される。ＤＭＡＣ３０のデータ転送処理の時間情報に関しては、開始時刻が時間（Ｔ＋１００）、終了時刻が時間（Ｔ＋１０９）に設定され、第２コプロセッサ１６のフィルタ処理の時間情報に関しては、開始時刻が時間（Ｔ＋１１０）、終了時刻が時間（Ｔ＋２０９）に設定される。ここでは、各スレーブプロセッサの処理時間を正確に算出しているため、単位処理の間に時間マージンをとる必要がない。
【００３４】
また、既述したように、スケジュール情報には、第１コプロセッサ１２、ＤＭＡＣ３０および第２コプロセッサ１６で実行する単位処理の内容が含まれてもよい。第１コプロセッサ１２の単位処理は、受信信号をフィルタ処理することであり、ＤＭＡＣ３０の単位処理は、第１コプロセッサ１２においてフィルタ処理されたデータを第２コプロセッサ１６に転送することであり、第２コプロセッサ１６の単位処理は、転送されたデータを誤り訂正復号処理することである。スケジュール情報において、第１コプロセッサ１２の処理結果を格納するメモリ１４のアドレス領域、第２コプロセッサ１６に転送されるデータを一旦記憶するメモリ１８のアドレス領域が含まれてもよい。なお、第１コプロセッサ１２および第２コプロセッサ１６の処理内容が特定されているのであれば、それぞれの単位処理の内容をスケジュール情報から省略することができる。
【００３５】
初期設定時に、以上のスケジュール情報が設定レジスタ１１０に記録される。初期設定時とは、例えば信号処理装置１００に電源が投入されたときであってよい。ＤＳＰ１０は、スケジュール情報を予め保持しておき、初期設定時に設定レジスタ１１０に提供する。
【００３６】
また、設定レジスタ１１０は、フリーランカウンタ１１２、第１オフセットカウンタ１１６、第２オフセットカウンタ１１８のそれぞれの周期を保持する。この周期も初期設定時にＤＳＰ１０から供給される。設定レジスタ１１０は、設定された周期をそれぞれのカウンタに供給し、各カウンタは、供給された周期に基づいてカウント値を更新する。なお、各カウンタに設定される周期は同一であってもよく、またそれぞれ異なっていてもよい。
【００３７】
フリーランカウンタ１１２は、タイミング回路１２０において基準となるタイミングを示すカウント値を出力する。これに対して、第１オフセットカウンタ１１６および第２オフセットカウンタ１１８は、フリーランカウンタ１１２で生成される基準となるタイミングから、ＤＳＰ１０の通信制御処理による通信動作タイミングにあわせた時間だけオフセットされたタイミングを生成する。通信動作タイミングは、通信信号のトラッキング処理を実行することで定められる。具体的に、第１オフセットカウンタ１１６は、ＤＳＰ１０の通信制御処理による受信動作タイミングにあわせたカウント値を出力する。また第２オフセットカウンタ１１８は、ＤＳＰ１０の通信制御処理による送信動作タイミングにあわせたカウント値を出力する。
【００３８】
時間調整回路１１４は、第１オフセットカウンタ１１６および第２オフセットカウンタ１１８のカウント値を、ＤＳＰ１０の通信制御処理における通信動作タイミングにあわせて調整する調整回路として機能する。具体的に時間調整回路１１４は、設定レジスタ１１０より受信処理のオフセット時間と、送信処理のオフセット時間を受け取る。この２つのオフセット時間は、ＤＳＰ１０が通信制御処理を行うことで判明し、ＤＳＰ１０から設定レジスタ１１０に供給される。なお、通信環境によりオフセット時間は刻々と変動する可能性があり、時間調整回路１１４は、常に最新のオフセット時間を更新して保持することが好ましい。時間調整回路１１４は、受信処理のオフセット時間を第１オフセットカウンタ１１６に供給し、送信処理のオフセット時間を第２オフセットカウンタ１１８に供給する。
【００３９】
第１オフセットカウンタ１１６は、受信処理のオフセット時間をもとに基準タイミングを遅延させ、または進めて、受信処理に同期させたタイミングを生成する。同様に第２オフセットカウンタ１１８は、送信処理のオフセット時間をもとに基準タイミングを遅延させ、または進めて、送信処理に同期したタイミングを生成する。なお、各カウンタのカウント値は位相をずらすものではなく、オフセット時間として決定されるクロック数分を、基準タイミングに対して前または後ろにずらすものである。
【００４０】
出力回路１３０は、コンペアマッチ出力回路として構成され、設定レジスタ１１０に記録された開始時刻と、フリーランカウンタ１１２、第１オフセットカウンタ１１６、第２オフセットカウンタ１１８のいずれかから出力されるカウント値によって、スレーブプロセッサの単位処理の開始時刻の到来を検出する。具体的に出力回路１３０は、フリーランカウンタ１１２、第１オフセットカウンタ１１６、第２オフセットカウンタ１１８のいずれかから出力されるカウント値と、設定レジスタ１１０から供給されるスケジュール情報のうちの時間情報とを比較し、カウント値が時間情報に到達したときに、スレーブプロセッサの単位処理の開始時刻の到来を検出する。出力回路１３０は、開始時刻の到来を検出すると、そのスレーブプロセッサに対して実行開始指示を発行して出力する。既述した例では、スケジュール情報において、時間Ｔで第１コプロセッサ１２の単位処理が開始される時間情報が設定されており、出力回路１３０は、タイミング回路１２０から供給されるカウント値がＴとなったときに、第１コプロセッサ１２に対して、単位処理の実行開始指示を発行する。他のスレーブプロセッサによる単位処理の開始時刻についても同様である。
【００４１】
なお、タイミング回路１２０は、３種類のカウンタ、すなわちフリーランカウンタ１１２、第１オフセットカウンタ１１６、第２オフセットカウンタ１１８を有しており、それぞれ異なるカウント値を出力している。例えば、第１コプロセッサ１２で処理するデータが受信処理に関するものである場合、出力回路１３０は、受信処理に同期したタイミングを生成する第１オフセットカウンタ１１６からのカウント値を選択して、スケジュール情報の時間情報と比較する。また、第１コプロセッサ１２で処理するデータが送信処理に関するものである場合、出力回路１３０が、送信処理に同期したタイミングを生成する第２オフセットカウンタ１１８からのカウント値を選択して、スケジュール情報の時間情報と比較する。また、第１コプロセッサ１２で処理するデータが送受信処理に関係しないものである場合、出力回路１３０が、基準タイミングを生成するフリーランカウンタ１１２からのカウント値を選択して、スケジュール情報の時間情報と比較する。
【００４２】
このように、出力回路１３０が、処理するデータの種類に応じてカウンタを選択することで、適切なタイミングで、スレーブプロセッサの実行開始指示を出力できる。なお、フリーランカウンタ１１２のみで時間管理することも可能であるが、その場合には、トラッキング処理などによる基準タイミングとのオフセット時間をもとに、スケジュール情報の時間情報を修正する必要がある。例えば、時間（Ｔ＋１００）でＤＭＡＣ３０のデータ転送処理が始まるところが、受信処理にクロック２つ分の時間遅延が発生している場合には、データ転送処理の開始時刻を時間（Ｔ＋１０２）に書き換える必要がある。これは、スケジュール管理回路５０におけるスケジュール管理を複雑なものとする。
【００４３】
一方、本実施例のように複数種類のカウンタを予め用意し、例えば信号の送受信に同期したカウンタ値を生成させることで、送受信処理に関するスケジュール情報の時間情報を補正することなく、適切なカウンタを選択することで、そのまま利用することが可能となる。これにより、スケジュール管理を容易にできる。
【００４４】
設定レジスタ１１０は、単位処理ごとにその処理の終了通知信号を発行するか否かを指定する情報を、スケジュール情報の一つとして記録してもよい。第１コプロセッサ１２、ＤＭＡＣ３０、第２コプロセッサ１６のそれぞれの単位処理が一連の受信制御処理として進行する場合、それぞれの単位処理の時間は既知である。出力回路１３０は、カウンタのカウント値によって単位処理ごとにその終了時刻の到来を検出する。例えば出力回路１３０は、タイミング回路１２０から供給されるカウント値が（Ｔ＋９９）となったときに、第１コプロセッサ１２の単位処理の終了時刻の到来を検出する。
【００４５】
このように、出力回路１３０は、単位処理ごとにその終了時刻を検出することができるが、複数のスレーブプロセッサが介在する一連の受信制御処理においては、最後の単位処理が終了したこと以外の情報を、ＤＳＰ１０に通知する必要はない。ＤＳＰ１０に対して、単位処理の終了を通知する処理通知信号を発行すると、それはＤＳＰ１０における割込信号として処理されるため、ＤＳＰ１０における円滑な処理動作を妨害する可能性がある。
【００４６】
そのため、設定レジスタ１１０は、単位処理ごとに終了通知信号を発行するか否かを指定するフラグを設定しておく。例えば、複数の単位処理で構成される一連の受信制御処理については、最後の単位処理に対してのみ、終了通知信号を発行するフラグが設定される。出力回路１３０は、最後の単位処理に対して終了通知信号を発行するフラグが設定されていることを認識すると、最後の単位処理の終了時刻が到来したとき、ＤＳＰ１０に対して終了通知信号を発行する。既述した例では、カウント値が、第２コプロセッサ１６における誤り訂正符号の復号処理が終了する時刻（Ｔ＋２０９）に到達したときに、ＤＳＰ１０に対して終了通知信号を発行し、出力する。
【００４７】
図５は、実施例にかかる信号処理装置による信号処理のフローチャートを示す。図５は、第１コプロセッサ１２における信号の処理結果を第２コプロセッサ１６に転送して処理するときの処理フローを示す。初期設定時にＤＳＰ１０が、スケジュール管理回路５０に対してスケジュール情報を送る（Ｓ１０）。
【００４８】
スケジュール管理回路５０は、スケジュール情報に含まれた時間情報にしたがって、第１コプロセッサ１２に対して単位処理の実行開始指示を送る（Ｓ１２）。第１コプロセッサ１２は、実行開始指示を受け取ると、受信信号のフィルタ処理を実行する（Ｓ１４）。この受信信号は、フィルタ処理の直前にメモリ１４に書き込まれている。フィルタ処理されたデータは、メモリ１４に一時記憶される。
【００４９】
スケジュール管理回路５０は、第１コプロセッサ１２における単位処理が終了し、第１コプロセッサ１２における単位処理の開始時刻の到来を検出すると、ＤＭＡＣ３０に対して単位処理の実行開始指示を送る（Ｓ１６）。ＤＭＡＣ３０は、実行開始指示を受け取ると、フィルタ処理されてメモリ１４に一時記憶されたデータを読み出して、第２コプロセッサ１６のメモリ１８に書き込む（Ｓ１８）。
【００５０】
スケジュール管理回路５０は、ＤＭＡＣ３０における単位処理が終了し、第２コプロセッサ１６における単位処理の開始時刻の到来を検出すると、第２コプロセッサ１６に対して単位処理の実行開始指示を送る（Ｓ２０）。ＤＭＡＣ３０は、実行開始指示を受け取ると、メモリ１８に記憶したデータを読み出して、誤り訂正符号の復号処理を実行する（Ｓ２２）。
【００５１】
スケジュール管理回路５０は、第２コプロセッサ１６における単位処理の終了時刻の到来を検出すると、ＤＳＰ１０に対して終了通知信号を送る。なお、これは、第２コプロセッサ１６における単位処理に対してのみ終了通知信号を発行することが指定されている場合の処理である。
【００５２】
本実施例の信号処理装置１００においては、ＤＳＰ１０の他に、スケジュール管理を実行するスケジュール管理回路５０を別途設けることで、ＤＳＰ１０の処理負荷を大幅に軽減することが可能となる。図２と比較すると明らかであるが、スレーブプロセッサの時間制御をスケジュール管理回路５０に任せることで、ＤＳＰ１０は、スケジュール管理に関する処理から解放されて、主信号の演算処理や制御処理などの他の処理を効率的に実行することができる。
【００５３】
また、スケジュール管理回路５０がＤＳＰ１０に対して送る割込信号の数を減らすことで、ＤＳＰ１０は、円滑な動作状態を維持できる。図５に示す処理フローでは、スケジュール管理回路５０が、第２コプロセッサ１６における単位処理の終了後にのみ終了通知信号をＤＳＰ１０に送っており、それ以外のタイミングでは送らない。このように、ＤＳＰ１０にとって割込信号となる信号の送信頻度を下げることで、ＤＳＰ１０の処理負荷を軽減して、処理効率を向上することが可能となる。
【００５４】
従来、ＤＳＰ１０がスケジュール管理する場合、ソフトウエア制御によるオーバーヘッドが生じることで、正確に時間を管理することが困難であったが、本実施例ではスケジュール管理回路５０を設けることで、その問題を解消することが可能となる。例えば、第３コプロセッサ２０は回路を再構成するコプロセッサであるが、スケジュール管理回路５０により正確なスケジュール管理が可能となることで、第３コプロセッサ２０の処理効率を向上できる。
【００５５】
また、スケジュール管理回路５０は、クロック制御回路４０によるクロック供給のオンオフ制御を正確に実行できる。これにより、信号処理装置１００が組み込まれた装置ないしはシステムの省電力化を効率的に実行することができる。特に、携帯端末装置として構成される場合には、効率的な省電力化を図ることで、バッテリ残存時間を長くできる。
【００５６】
以上、本発明を実施例をもとに説明した。この実施例は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
【図面の簡単な説明】
【００５７】
【図１】従来の信号処理装置の構成を示す図である。
【図２】従来の信号処理装置による信号処理のフローチャートを示す図である。
【図３】本発明の実施例にかかる信号処理装置の構成を示す図である。
【図４】スケジュール管理回路の構成を示す図である。
【図５】実施例にかかる信号処理装置による信号処理のフローチャートを示す図である。
【符号の説明】
【００５８】
２・・・バス、１０・・・ＤＳＰ、１２・・・第１コプロセッサ、１４・・・メモリ、１６・・・第２コプロセッサ、１８・・・メモリ、２０・・・第３コプロセッサ、２２・・・メモリ、３０・・・ＤＭＡＣ、４０・・・クロック制御回路、５０・・・スケジュール管理回路、１００・・・信号処理装置、１１０・・・設定レジスタ、１１２・・・フリーランカウンタ、１１４・・・時間調整回路、１１６・・・第１オフセットカウンタ、１１８・・・第２オフセットカウンタ、１２０・・・タイミング回路、１３０・・・出力回路。
【図１】
2006260195.tif 000003
【図２】
2006260195.tif 000004
【図３】
2006260195.tif 000005
【図４】
2006260195.tif 000006
【図５】
2006260195.tif 000007