(57)【要約】【課題】ＤＳＰカード上においてＤＳＰは外部割込みを処理できない。【解決手段】一実施形態によれば、第１データバス１６又は第２データバス２０、２６上に発生し発生要因が異なる複数の割込要求の入力により割込発生の通知を出力する割込み制御部１８と、信号処理演算を実行する第１ＤＳＰ２１と、最も優先度の高い外部割込要求を各優先順位により選択する判定処理及び外部割込要求に対応する外部割込み処理を行う第２ＤＳＰ２２とを備え、第２ＤＳＰ２２は一つの期間内で判定処理及び外部割込み処理を繰返し、複数の他の期間内での一つ以上の非同期な外部割込要求のうち最も優先度の高い外部割込要求の処理を他の期間毎に終わらせるディジタルシグナルプロセッサシステム１０が提供される。【選択図】図１
2013114483.tif 000002
【特許請求の範囲】
【請求項１】
第１データバスと、
それぞれこの第１データバスにバスインターフェースを介して接続された複数の第２データバスと、
前記第１データバス又は前記第２データバス上に発生し発生要因が異なる複数の割込要求の割込み要因を持つ一種以上の割込要求の入力により割込発生の通知を出力し、前記第１データバスおよび前記複数の第２データバスに接続された割込み制御部と、
この割込み制御部から出力される信号処理対象のデータの受信割込発生によってこのデータに対して信号処理演算を実行する少なくとも一つの第１ＤＳＰと、
前記割込み制御部からの前記通知によりＤＳＰ外からの複数の外部割込要求のうち最も優先度の高い外部割込要求を各優先順位により選択する判定処理、およびこの外部割込要求に対応する割込みハンドラの実行による外部割込み処理を行う第２ＤＳＰと、を備え、
この第２ＤＳＰは一つの期間内で前記判定処理および前記外部割込み処理を繰返し、複数の他の期間において一つ以上の非同期な外部割込要求のうち前記最も優先度の高い外部割込要求の処理をこれらの他の期間毎に終わらせることを特徴とするディジタルシグナルプロセッサシステム。
【請求項２】
前記第２ＤＳＰは、前記期間内で、前記最も優先度の高い外部割込要求に対する前記外部割込み処理を実行し終えた時点で、前記最も優先度の高い外部割込要求を含む前記一つ以上の非同期な外部割込要求に対する前記判定処理を再度行うことを特徴とする請求項１記載のディジタルシグナルプロセッサシステム。
【請求項３】
第１データバスあるいはそれぞれこの第１データバスにバスインターフェースを介して接続された複数の第２データバス上に発生し発生要因が異なる複数の割込要求の割込み要因を持つ一種以上の割込要求の入力により割込発生の通知を出力し、
前記第２データバス上の第２ＤＳＰが、一つの期間内において前記通知によりＤＳＰ外からの複数の外部割込要求のうち最も優先度の高い外部割込要求を各優先順位により選択する判定処理と、この外部割込要求に対応する割込みハンドラの実行による外部割込み処理とを前記期間が満了するまで繰返し、
前記第２ＤＳＰが、複数の他の期間内での一つ以上の非同期な外部割込要求のうち前記最も優先度の高い外部割込要求の処理をこれらの他の期間毎に終わらせることを特徴とするディジタルシグナルプロセッサシステムにおける割込み処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
一実施形態はディジタルシグナルプロセッサシステム（ＤＳＰ）およびディジタルシグナルプロセッサシステムにおける割込み処理方法に関する。
【背景技術】
【０００２】
パソコンに用いられるＣＰＵは使用可能なメモリ容量が大きい。ＣＰＵは基本ソフトウェア（以下、ＯＳと呼ぶ）による割込み処理を行う。ＣＰＵを対象とした高速割込み応答を実現する技術が知られている（例えば特許文献１、２参照）。
【０００３】
ＤＳＰは信号処理に特化した様々な機能を有しているため、従来ハードウェアで構成されていた多くの信号処理機能をソフトウェア化している。通常、ＤＳＰが使用可能なメモリ資源はＣＰＵのそれと比べて乏しいため、ＤＳＰは、ＣＰＵのようにＯＳを利用することや、複雑な処理を実行することができない。このため、ＤＳＰが行う信号処理は、ディジタルフィルタ処理やＦＦＴ処理などの固定した信号処理を各ＤＳＰに割付け、ＤＳＰ間は専用の高速通信を用いて接続する分散方式のＤＳＰ構成や、巡回的並列処理又はラウンドロビン方式のＤＳＰ構成を取って行われている（例えば特許文献３参照［図１４、図１５］）。
【０００４】
信号処理システムでは、システム全体のタイミングに同期してこのシステムの構成要素が処理を行う。ＤＳＰカードは、多種多様な複数の割込みについて、応答制御を行う必要がある。ＤＳＰには割込みコントローラを含めて必要な装置が全て用意されており、自ＩＣ内で発生する内部割込みについては処理を行える。しかしＤＳＰによる演算処理の適用分野が拡大してきている。この拡大に伴ってＶＭＥバスやＰＣＩバスなど公知規格を有するデータバスをＤＳＰカードに配線し、例えばバスプロトコル変換機能を持つＩＣを介してＶＭＥバス経由で他のＤＳＰカードからの割込みや、あるいはＰＣＩバス経由でＣＰＵからの割込みをＤＳＰが受信処理する信号処理システムが提案されている（例えば特許文献４参照）。
【０００５】
ＤＳＰは使用できるメモリの容量が小さいことから、ＤＳＰ単体は単純で固定的な処理を割当て、複数個のＤＳＰをまとめたＤＳＰカードという単位で、必要な処理を実現させている。従って、ＤＳＰカード上の割込み発生源はＤＳＰＩＣ自身であり、ＤＳＰＩＣ外部からの割込みの発生源が存在しない。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開平７−６０３８号公報
【特許文献２】特開２０００−２８４９７３号公報
【特許文献３】特開２００９−０２０５７３号公報
【特許文献４】特開２０１０−２４４１７４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかし、ＰＣＩバスなどを配線したＤＳＰカードでは、このＤＳＰカード上のＤＳＰがＤＳＰ以外の割込み発生源からの外部割込みを処理する必要がある。互いに非同期な複数の外部割込要求がＰＣＩバスからＤＳＰカードに入力されたとき、このＤＳＰカードは、ＰＣＩバスからの高速応答を要する割込みも、外部バス上のシリアル通信装置（ＵＡＲＴ）などからの高速応答が不要な割込みも、同一レベルで扱っている。このため、非同期かつ複数の割込み発生に対してＤＳＰカードは適切な割込応答を行えない。
【課題を解決するための手段】
【０００８】
このような課題を解決するため、一実施形態によれば、第１データバスと、それぞれこの第１データバスにバスインターフェースを介して接続された複数の第２データバスと、前記第１データバス又は前記第２データバス上に発生し発生要因が異なる複数の割込要求の割込み要因を持つ一種以上の割込要求の入力により割込発生の通知を出力し、前記第１データバスおよび前記複数の第２データバスに接続された割込み制御部と、この割込み制御部から出力される信号処理対象のデータの受信割込発生によってこのデータに対して信号処理演算を実行する少なくとも一つの第１ＤＳＰと、前記割込み制御部からの前記通知によりＤＳＰ外からの複数の外部割込要求のうち最も優先度の高い外部割込要求を各優先順位により選択する判定処理、およびこの外部割込要求に対応する前記割込みハンドラの実行による外部割込み処理を行う第２ＤＳＰと、を備え、この第２ＤＳＰは一つの期間内で前記判定処理および前記外部割込み処理を繰返し、複数の他の期間において一つ以上の非同期な外部割込要求のうち前記最も優先度の高い外部割込要求の処理をこれらの他の期間毎に終わらせることを特徴とするディジタルシグナルプロセッサシステムが提供される。
【０００９】
また、別の一実施形態によれば、（ａ）第１データバスあるいはそれぞれこの第１データバスにバスインターフェースを介して接続された複数の第２データバス上に発生し発生要因が異なる複数の割込要求の割込み要因を持つ一種以上の割込要求の入力により割込発生の通知を出力し、（ｂ）前記第２データバス上の第２ＤＳＰが、一つの期間内において前記通知によりＤＳＰ外からの複数の外部割込要求のうち最も優先度の高い外部割込要求を各優先順位により選択する判定処理と、この外部割込要求に対応する前記割込みハンドラの実行による外部割込み処理とを前記期間が満了するまで繰返し、（ｃ）前記第２ＤＳＰが、複数の他の期間内での一つ以上の非同期な外部割込要求のうち前記最も優先度の高い外部割込要求の処理をこれらの他の期間毎に終わらせることを特徴とするディジタルシグナルプロセッサシステムにおける割込み処理方法が提供される。
【図面の簡単な説明】
【００１０】
【図１】実施の形態に係るディジタルシグナルプロセッサシステムのブロック図である。
【図２】実施の形態に係るディジタルシグナルプロセッサシステムにおける複数種類の割込み要因、割込み制御部及び第２ＤＳＰ間の接続関係を示す図である。
【図３】実施の形態に係るディジタルシグナルプロセッサシステムに用いられる第２ＤＳＰによる起動処理を説明するためのフローチャートである。
【図４】実施の形態に係るディジタルシグナルプロセッサシステムによる外部割込み処理を説明するためのフローチャートである。
【図５】実施の形態に係るディジタルシグナルプロセッサシステムによる外部割込み処理のタイムチャートの一例を示す図である。
【図６】実施の形態に係るディジタルシグナルプロセッサシステムが行う判定処理に用いられるレジスタ群の一例を示す図である。
【発明を実施するための形態】
【００１１】
以下、実施の形態に係るディジタルシグナルプロセッサおよびディジタルシグナルプロセッサにおける割込み処理方法について、図１乃至図６を参照しながら説明する。尚、各図において同一箇所については同一の符号を付すとともに、重複した説明は省略する。
【００１２】
一実施形態に係るディジタルシグナルプロセッサシステムはレーダ装置から周期的に到来する受信信号の信号処理システムであり、それぞれ複数個のＤＳＰを搭載した複数枚のＤＳＰカードにより実行される。一実施形態に係るディジタルシグナルプロセッサシステムにおける割込み処理方法は信号処理システムにおける外部割込み受信処理方法である。この外部割込み受信処理方法は、レーダ装置からの受信完了割込みや、デバッグ用表示データの送信完了割込み、及びＣＰＵボードといった上位装置からの送受信割込みなどの互いに非同期に発生する複数種類の割込要求信号を、このＤＳＰカード上のＤＳＰが受信し、割込み制御を行って処理する方法である。
【００１３】
図１は信号処理システムのブロック図である。信号処理システム１０は、基本周期毎にレーダ波の受信信号を出力するレーダ装置１１と、このレーダ装置１１からの受信信号をＡ／Ｄ（アナログｔｏディジタル）変換するＡ／Ｄ変換器１２と、このＡ／Ｄ変換器１２からの受信ディジタル信号に対しそれぞれＤＳＰプログラムによって信号処理演算を行うＭ枚のＤＳＰカード１３と、これらのＤＳＰカード１３間を接続するＶＭＥバス１４と、ＶＭＥバス１４に接続され各ＤＳＰカード１３の動作を制御するＣＰＵカード１５とを備えている。
【００１４】
レーダ装置１１は例えば５０μｓｅｃ〜１０ｍｓｅｃの基本周期毎に繰返して受信信号を出力する。一基本周期とはレーダ装置が送信、受信をそれぞれ１回行うための時間に実質等しい。Ａ／Ｄ変換器１２は、受信アナログ信号からディジタルビット列を出力し、高速に流れかつ大量のシリアルビット列をＤＳＰカード１３へ送込む。
【００１５】
複数枚のＤＳＰカード１３はそれぞれ基本周期に応じて計算時間を割当てられており、各計算時間内にそれぞれの信号処理演算を完了させるようにしている。これらのＤＳＰカード１３は受信データ列を１ビットも取りこぼさずに信号処理演算を実行する。
【００１６】
一枚目のＤＳＰカード１３は、ＰＣＩバス１６（第１データバス）と、このＰＣＩバス１６に接続されたバスプロトコル変換機能部１９（バスインターフェース）と、それぞれＰＣＩバス１６にバスプロトコル変換機能部１９を介して接続されたデータバス２０、２６（複数の第２データバス）と、ＰＣＩバス１６又はデータバス２６上に発生し発生要因が異なる複数の割込み要因を持つ一種以上の割込要求の入力により割込発生の通知を出力する外部割込み制御装置１８（割込み制御部）と、データバス２０上の複数個のＤＳＰ２１（第１ＤＳＰ）と、同じくデータバス２０に接続され主に外部割込み処理を実行するＤＳＰ２２（第２ＤＳＰ）とを備えている。
【００１７】
更にＤＳＰカード１３は、ＤＳＰ２１、２２の内部プログラムの実行結果をこれらのＤＳＰ２１、２２から信号線２３を介してパソコン２４へ送る汎用のシリアル通信装置２５と、このシリアル通信装置２５、バスプロトコル変換機能部１９及び外部割込み制御装置１８を収容する別のデータバス２６（第２データバス）と、このデータバス２６を介してＤＳＰ２１、２２用の起動プログラムを保持するフラッシュＲＯＭ２７とを備えている。外部割込みとはＤＳＰ２１、２２内部で発生する内部割込みと異なるＤＳＰ外からの割込み要求を指す。
【００１８】
ＰＣＩバス１６及びデータバス２０上には複数種類の割込発生源が物理的に配置されている。割込発生源としてＤＳＰカード１３は、シリアルデータの入出力完了時に割込みを発生させる上記シリアル通信装置２５と、Ａ／Ｄ変換器１２からの受信データの受信完了時に割込みを発生させる高速シリアル通信装置２８と、ＣＰＵカード１５及びＤＳＰカード１３間の信号の送受信完了時に割込みを発生させるＰＣＩ−ＶＭＥブリッジ装置２９とを備えている。
【００１９】
シリアル通信装置２５はＵＡＲＴ（Ｕｎｉｖｅｒｓａｌ Ａｓｙｎｃｈｒｏｎｏｕｓ Ｒｅｃｅｉｖｅｒ Ｔｒａｎｓｍｉｔｔｅｒ）機能を持つＩＣである。シリアル通信装置２５はＤＳＰ２１、２２が実行するＤＳＰプログラムのソースコードに埋込まれたプリント文の文字列を出力する。シリアル通信装置２５はパソコン２４のＲＳ−２３２Ｃインターフェース等により低速のシリアルビット列を送信する。
【００２０】
高速シリアル通信装置２８は割込み要求を出したとき又はその直後に受信データを揮発性の外部記憶装置３０に書込む。高速シリアル通信装置２８は予め決められた個数のビット列を受信すると、一回の受信完了割込みを出力する。ＤＳＰカード１３はこのＤＳＰカード１３上に発生した複数の外部割込み要求のうち、この高速シリアル通信装置２８からの受信データを最も重要なデータとして取扱い、ビット落ちを起こさせずにこの受信データを蓄積するようにしている。高速シリアル通信装置２８による受信完了割込みの出力を契機として、ＤＳＰ２１群は一回の信号処理演算を行うようにしている。受信データに対する外部割込み間隔が、レーダ装置１１側の一基本周期に合うようにＤＳＰカード上での処理タイミングが合わせられている。
【００２１】
ＰＣＩ−ＶＭＥブリッジ装置２９は、ＶＭＥバス１４及びＤＳＰカード１３間の転送割込みを発生させる。ＰＣＩ−ＶＭＥブリッジ装置２９はＣＰＵカード１５上のＣＰＵ３１からＤＳＰカード１３に対して送られた動作制御用の制御信号を受信する。一方ＤＳＰカード１３からＣＰＵカード１５へはバスプロトコル変換機能部１９がデータを転送する。
【００２２】
また、ＤＳＰカード１３は、他の割込発生源としてバスプロトコル変換機能部１９内に設けられたユーティリティプログラムのウォッチドッグタイマ、温度センサ及び電源監視センサなどを備えてもよい。温度センサは環境温度が上限を越えたときに割込みを上げる。電源監視センサは電源電圧値が閾値を下回ったときに割込みを上げる。
【００２３】
外部割込み制御装置１８は割込発生通知用の端子３３を有する。外部割込み制御装置１８は割込み要因を持つ一種以上の割込要求を受信すると、端子３３から割込発生を通知する。外部割込み制御装置１８の機能はＦＰＧＡにより実現される。
【００２４】
図２は実施形態に係るディジタルシグナルプロセッサシステムにおける複数例えば３２種類の割込み要因、外部割込み制御装置１８及びＤＳＰ２２間の接続関係を示す図である。既述の符号はそれらと同じ要素を表す。ＩＮＴ０〜ＩＮＴ３１はＤＳＰ外の複数の割込発生源による外部割込要求信号名を表す。例えばＩＮＴ０〜ＩＮＴ３はＰＣＩバス１６用である。ＩＮＴ４〜ＩＮＴ１０はＶＭＥバス１４用である。ＩＮＴ１１〜ＩＮＴ３１はシリアル通信装置２５や、タイマ割込み、温度センサ、電源監視センサからの割込み等に用いられる。同図の例では最大３２種類まで外部割込み要求を外部割込み制御装置１８は入力可能になっている。外部割込み制御装置１８は、何れかの割込み発生源から入力があった場合、ＤＳＰ２２へ外部割込み発生を通知する。
【００２５】
外部割込み制御装置１８は、内部に割込みマスクレジスタ３４を持ち、この割込みマスクレジスタ３４により割込み応答の可否を制御可能になっている。外部割込み制御装置１８は内部に割込みステータスレジスタ３５を持つ。この割込みステータスレジスタ３５により外部割込み制御部１８は割込み要因を特定し、割込み発生源をＤＳＰ２２へ通知可能になっている。外部割込み制御装置１８は割込み処理が終了したかどうかを識別する割込みＥＯＩ(Ｅｎｄ Ｏｆ Ｉｎｔｅｒｒｕｐｔ)レジスタ３６を持ち、この割込みＥＯＩレジスタ３６により割込み発生源毎に割込み処理を終了させるようにしている。これらの割込みマスクレジスタ３４、割込みステータスレジスタ３５、割込みＥＯＩレジスタ３６により、外部割込み制御装置１８は複数の外部割込みの入力信号のＯＲ結果をＤＳＰ２２へ通知可能になっている。
【００２６】
割込みマスクレジスタ３４、割込みステータスレジスタ３５、及び割込みＥＯＩレジスタ３６は、同じビット割付けパターンを有する。例えばそれぞれが割込発生源を表す３２ビットのハードウェアレジスタをレジスタ３４〜３６（割込みマスクレジスタ３４、割込みステータスレジスタ３５、割込みＥＯＩレジスタ３６）は用いる。ＬＳＢがＩＮＴ０であり、ＭＳＢがＩＮＴ３１を表すように割付けされる。ビット値ハイが割込要求有りを示しビット値ローが割込要求無しを示す。
【００２７】
これらのレジスタ３４〜３６を用いて、外部割込み制御装置１８は、３２本の信号が並列入力される端子３７群の値を取込みしている。
【００２８】
また、ＤＳＰ２１、２２には何れも端子３８が設けられている。端子３８はメーカ仕様により予めＩＣに設けられた端子である。外部割込み制御装置１８が一個のＤＳＰＩＣの端子３８を外部割込みの入力端子として使うことにより、ＤＳＰ２２は外部割込み処理用に動作可能にされる。
【００２９】
図１のバスプロトコル変換機能部１９は互いにバス幅やデータ転送単位が異なるＰＣＩバス１６、データバス２０、２６、４２の間で、これらのバスのプロトコルに応じてデータをプロトコル変換してから転送する。ＤＳＰカード１３が値データ又は制御データをＣＰＵカード１５へ転送する場合、バスプロトコル変換機能部１９内のＤＭＡコントローラ３２が外部記憶装置３０から値データ又は制御データを読出して、読出したデータをＣＰＵカード１５へ転送するようにしている。データバス２０は全部でＮ個のＤＳＰ２１、２２を収容する内部バスである。データバス２６はシリアル通信装置２５を収容する内部バスである。外部記憶装置３０は例えばページメモリのような大容量のメモリである。データバス４２は内部バスである。
【００３０】
信号処理演算用のＤＳＰ２１は外部割込み制御装置１８から出力される信号処理対象のデータの受信割込発生によってこのデータに対して信号処理演算を実行する。ＤＳＰ２１は小容量の記憶領域を有する内部メモリ４０と、データをＤＭＡ転送するＤＭＡコントローラ４１とを有する。内部メモリ４０はプログラム及びデータを格納する。ＤＭＡコントローラ４１はこの内部メモリ４０へフラッシュＲＯＭ２７から実行ファイルを取込み実行する。ＤＭＡコントローラ４１は実行結果のうち必要な結果を外部記憶装置３０に書込む。
【００３１】
外部割込み処理用のＤＳＰ２２も内部メモリ４０及びＤＭＡコントローラ４１を備える。ＤＳＰ２２はこれらのＤＳＰ２１が演算中、判定処理と外部割込み処理とを実行する。判定処理とは、端子３８からの通知信号により一種以上の外部割込要求のうち最も優先度の高い外部割込要求を各優先順位により選択する処理を指す。
【００３２】
ＤＳＰカード１３は、複数Ｎ個のＤＳＰ２１、２２から構成されていることから、ブート対象のＤＳＰ２１、２２は１個または複数個存在する。２枚目からＭ枚目の各ＤＳＰカード１３の構成は１枚目のＤＳＰカード１３の構成と同じである。
【００３３】
構造について述べると、信号処理システム１０は箱状のシャーシに組込まれている。信号処理システム１０は、シャーシと、このシャーシ内面上にＶＭＥバス１４を布線したバックプレーンと、それぞれこのバックプレーン上に列設された複数個のスロットと、最左端側のスロットに差込まれた１枚のＣＰＵカード１５と、それぞれこのＣＰＵカード１５が差込まれたスロット以外のスロットに差込まれたＭ枚のＤＳＰカード１３とを備えて構成されている。各ＤＳＰカード１３上にＰＣＩバス拡張用のコネクタが設けられ、複数種類の内部バス線がカード基板上に配線されている。
【００３４】
上述の構成の信号処理システム１０が起動されると、一枚目のＤＳＰカード１３上のＤＳＰ２１、ＤＳＰ２２の各ＤＭＡコントローラ４１はプログラムを内部メモリ４０に転送する。プログラムの記述によりＤＳＰ２１はスレーブＤＳＰとして機能し、ＤＳＰ２２はマスタＤＳＰとして機能する（以下、ＤＳＰ２２をマスタＤＳＰ２２と呼び、各ＤＳＰ２１をスレーブＤＳＰ２１と呼ぶことがある）。
【００３５】
ＤＳＰカード１３内における、ブート手順のフローチャートを図３に示す。図３は実施形態に係るディジタルシグナルプロセッサシステムに用いられるマスタＤＳＰ２２による起動処理を説明するためのフローチャートである。
【００３６】
ステップＡ１において、マスタＤＳＰ２２へ電源が投入される。ステップＡ２において、マスタＤＳＰ２２は、フラッシュＲＯＭ２７からプログラムを、内部メモリ４０へロードする。ステップＡ３において、予め決められた情報に基づき、外部割込みを受信するため割込みマスクレジスタ３４をマスタＤＳＰ２２は設定する。あるいは外部割込み制御装置１８が必要なマスクを解除設定する。
【００３７】
割込要求信号ＩＮＴ０〜ＩＮＴ３１のうち、一例として、ＩＮＴ０、ＩＮＴ４、ＩＮＴ１１及びＩＮＴ１４等を信号処理システム１０は使っている。これらのＩＮＴ０等に対応する割込みマスクレジスタ３４のビットのマスクを外部割込み制御装置１８は解除する。図６（ａ）は割込みマスクレジスタ３４のマスク例を示す図である。外部割込み制御装置１８は、ＰＣＩバス１６用に割当てしているＩＮＴ０〜ＩＮＴ３のうちＩＮＴ０のマスクを高速シリアル通信装置２８用に解除する。外部割込み制御装置１８は、ＩＮＴ４〜ＩＮＴ１０のうちＩＮＴ４のマスクをＰＣＩ−ＶＭＥブリッジ装置２９用に解除し、ＩＮＴ１１のマスクをシリアル通信装置２５用に解除する。外部割込み制御装置１８は、例えばＩＮＴ１４〜ＩＮＴ１７などにタイマ割込みや、温度センサや、電源監視センサからの割込みのビットを割付けし、これらのビットのマスクを解除してもよい。
【００３８】
ステップＡ４においてマスタＤＳＰ２２はスレーブＤＳＰ２１とともに演算処理を実行する。各スレーブＤＳＰ２１はプログラムの計算命令にしたがって割当てられたＤＳＰソフトウェアの演算処理を開始する。例えばディジタルフィルタ処理やＦＦＴ処理などの演算を各スレーブＤＳＰ２１が実行する。
【００３９】
この演算処理の実行中、ステップＡ５においてマスタＤＳＰ２２は上位装置としてのＣＰＵ３１から終了指令を受けたかどうかを判定している。ステップＡ５においてマスタＤＳＰ２２が終了指令を受けない間、ＮＯルートを通り、マスタＤＳＰ２２は演算処理を続ける（ステップＡ４）。ステップＡ５において、マスタＤＳＰ２２が終了指令を受けると、ＹＥＳルートを通り、ステップＡ６においてマスタＤＳＰ２２は終了処理を行う。マスタＤＳＰ２２は、フラッシュＲＯＭ２７からプログラムを起動した後、演算処理を実行し、外部割込みの発生に併せて割込み処理を行える状態にされる。
【００４０】
次に、マスタＤＳＰ２２における、外部割込み処理を図４、図５に示す。図４はマスタＤＳＰ２２による外部割込み処理を説明するためのフローチャートである。図５はマスタＤＳＰ２２による外部割込み処理のタイムチャートの一例を示す図である。図５ではＤＳＰカード１３内で、割込み（外部割込み要求）１，２，３が発生した例で説明する。割込み優先度は、割込み１＞割込み２＞割込み３とする。具体例として、割込み１は図１の（２）のように高速シリアル通信装置２８の受信完了割込みを表す。割込み２は同図中（１）のようにＣＰＵ３１からＰＣＩ−ＶＭＥブリッジ装置２９への転送割込みを表す。割込み３は同図中（５）のようにシリアル通信装置２５の送信完了割込みを表す。
【００４１】
ステップＢ１において図１の（３）のように外部割込み制御部１８は外部割込みの発生を入力される。このステップＢ１において、同図中の（４）のように、マスタＤＳＰ２２は外部割込み制御装置１８から端子３８を介して外部割込み信号を通知される。マスタＤＳＰ２２は続くステップＢ２〜ステップＢ４の外部割込み処理を実行する。まず、ステップＢ２においてマスタＤＳＰ２２は割込みステータスレジスタ３５をリードする。このリード処理を開始する時点ではＤＳＰカード１３の割込み発生状態は図５（ａ）の状態にある。図５（ａ）に示すように、時刻ｔ０において割込み１、割込み３が発生しているとする。
【００４２】
ステップＢ３においてマスタＤＳＰ２２は割込みステータスレジスタ３５のビット番号を繰返しの変数ｉとするｆｏｒ文の冒頭でビット番号「０」の値をリードする。図６（ｂ）に割込みステータスレジスタ３５及び割込みＥＯＩレジスタ３６の一例を示す。割込みステータスレジスタ３５のビット番号「０」の１をマスタＤＳＰ２２はリードする。
【００４３】
ステップＢ４においてマスタＤＳＰ２２はビット値が１か否かを判定する。１である場合、マスタＤＳＰ２２はＹＥＳルートを通り、ステップＢ５においてマスタＤＳＰ２２はビット番号「０」に対する割込み処理を実行する。図５（ｂ）に示すように、時刻ｔ１から時刻ｔ２までの間に、マスタＤＳＰ２２は外部割込み処理を行う。
【００４４】
ステップＢ５ではマスタＤＳＰ２２は割込み処理を行う。マスタＤＳＰ２２はユーザハンドラ（割込みハンドラ）１を実行する。図５（ｃ）に示すように、時刻ｔ３から時刻ｔ４までの間に、ビット番号「０」に対応するユーザハンドラ１が実行される。時刻ｔ３から時刻ｔ４は、ユーザハンドラ１によるタスクを完了させるために要する時間である。このステップＢ５では図６（ｂ）に示すように割込みＥＯＩレジスタ３６のビット位置に１を外部割込み制御装置１８が書込む。
【００４５】
ユーザハンドラ１の実行後、ステップＢ６において、マスタＤＳＰ２２は割込み１に対応した割込み終了処理を実行する。図６（ｃ）に示すように外部割込み制御装置１８は割込みＥＯＩレジスタ３６の対応ビットに０を書くとともに割込みステータスレジスタ３５の対応のビットに０を書く。外部割込み制御部１８は一旦外部割込み処理を終える。割込み要因の小さい順番にマスタＤＳＰ２２は処理を行うことから、優先度が最も高い割込み１に対応する処理を確実に行える。
【００４６】
時刻ｔ４までに最優先に処理すべき高速シリアル通信装置２８の割込み１の処理をマスタＤＳＰ２２は終える。時刻ｔ３から時刻ｔ４の間に割込み２が発生している。この割込み２を外部割込み制御装置１８が取扱って割込み２を割込みステータスレジスタ３５に書込みしてある（図６（ｃ））。時刻ｔ４においては外部割込み２、３が発生中であることから、マスタＤＳＰ２２は再度外部割込み処理を実行する。図４において、マスタＤＳＰ２２は割込みステータスレジスタ３５を再度ＬＳＢからリードする（ステップＢ２）。割込みステータスレジスタ３５のビット番号「０」は処理済みでクリアされている。ｂｉｔ（ｉ）のｉ＝０、１、２、３までのｆｏｒ文において、マスタＤＳＰ２２は、割込みステータスレジスタ３５のビット番号ｉのビット値がそれぞれローであることをリードし、ＮＯルートを通り、繰返し変数ｉを１つ増やす（ステップＢ３、ステップＢ４、ステップＢ７）。
【００４７】
ｉ＝４について、マスタＤＳＰ２２はビット番号「４」のビット値をリードし（ステップＢ３、ステップＢ４）、ＹＥＳルートを通り、ステップＢ５において、マスタＤＳＰ２２は時刻ｔ５から時刻ｔ６の間（図５（ｂ））、ビット番号「４」に対する割込み処理を実行する。ユーザハンドラ（割込みハンドラ）２をマスタＤＳＰ２２が実行する（図５（ｄ））。ユーザハンドラ２のタスクは時刻ｔ８まで続く。マスタＤＳＰ２２は割込み２の割込み終了処理を実行する（ステップＢ６）。図６（ｄ）に示すように、外部割込み制御装置１８は割込みＥＯＩレジスタ３６及び割込みステータスレジスタ３５のそれぞれのビット番号「４」に０を書く。マスタＤＳＰ２２は一旦外部割込み処理を終える。このように、割込み３が時刻ｔ０で上がっており、この割込み３は割込み２よりも先に上がっているにも関わらず、時刻ｔ４において、後から入った割込み２が割込み３に優先して処理される。マスタＤＳＰ２２は割込み要因の優先順位が小さい順番に処理を行うことから、時系列に入った割込み２、３間の順番に関わらず割込み２に対応する処理が優先的に処理されるようになる。
【００４８】
時刻ｔ８までに割込み１、割込み２の各処理をマスタＤＳＰ２２は終える。引続き、マスタＤＳＰ２２は割込み３に対応した処理を行う。マスタＤＳＰ２２は割込みステータスレジスタ３５を再度ＬＳＢからリードする（ステップＢ２）。図６（ｄ）に示すように、割込みステータスレジスタ３５のビット番号「０」、「４」は処理済みでクリアされている。ｂｉｔ（ｉ）のｉ＝０〜１０までのｆｏｒ文において、マスタＤＳＰ２２は、ビット番号ｉのビット値をリードしていく（ステップＢ３、ステップＢ４、ステップＢ７）。ｉ＝１１について、マスタＤＳＰ２２は割込みステータスレジスタ３５のビット値をリードする（ステップＢ３、ステップＢ４）。ステップＢ５において時刻ｔ９から時刻ｔ１０の間、マスタＤＳＰ２２はビット番号「１１」に対する割込み処理を実行する（図５（ｂ））。時刻ｔ１２までの間、ユーザハンドラ（割込みハンドラ）３をマスタＤＳＰ２２が実行する（図５（ｅ））。引続きマスタＤＳＰ２２は割込み３について割込み終了処理を実行する（ステップＢ６）。外部割込み制御装置１８は割込みＥＯＩレジスタ３６及び割込みステータスレジスタ３５のそれぞれのビット番号「１１」のビット値をクリアする（図６（ｅ））。全ての外部割込み処理をマスタＤＳＰ２２は終える。時刻ｔ１２においては、３つのＥＯＩが全て発行されている。マスタＤＳＰ２２は信号処理演算に制御を移す（図３のステップＡ４）。
【００４９】
割込み３について述べると、割込み３の優先順位は割込み１、２の優先順位に比べて低い。図１の（１）〜（４）のように、割込み１、２の処理が終わった後、（５）のように後回しの処理をされる。割込み３はこの割込み３が上がった後、割込みハンドラ１、２の実行終了までずっと待たされ続ける。本実施形態では、シリアル通信装置２５が記憶しているデータを最悪取り損ねたとしても、それほど重要でないデータとして割り切って、ＤＳＰカード１３に動作を続けさせるようにしている。信号処理システム１０は、必ず高い優先順位から割込要求を処理していくため、たとえ割込み１が連続して発生した場合でも、信号処理システム１０は、全ての割込み１の外部割込み処理を漏れなく実行することができる。以上により、優先度に応じて外部割込み処理を行うことで、ＤＳＰカード１３は外部割込みの取りこぼしを防ぐことが可能である。
【００５０】
従来例に係るディジタルシグナルプロセッサシステムでは、ＤＳＰカード上においてＤＳＰがＤＳＰ以外を割込み発生源とする外部割込みを処理することができない。互いに非同期な複数の外部割込要求がＤＳＰカードに発生したとき、このＤＳＰカードは、ＰＣＩバスなどからの高速応答を要する割込みも、ＵＡＲＴなどからの高速応答が不要な割込みも、同一レベルで扱っている。複数種類の割込み発生に対してＤＳＰカードは高速に割込応答を行えない。
【００５１】
現在は、半導体技術の進歩により、ＤＳＰが使用できるメモリ容量が増え、より複雑な処理を実行できるようになったことから、従来ＣＰＵが行ってきた処理をＤＳＰで置換える信号処理システムが出てきている。これに伴い、ＤＳＰカードが公知規格バスをサポートし、公知規格バスからの割込みを出力するバスプロトコル変換機能ＩＣがＤＳＰカード上に設けられるようになってきている。ＤＳＰにとっての外部割込み発生源がＤＳＰカード上に存在するようになってきている。
【００５２】
従来例に係るディジタルシグナルプロセッサシステムでは、ＤＳＰカードが本来取りこぼすことを許されないレーダ装置からの受信データと、それほど重要でないデバッグ用の文字列データとをＤＳＰカードが同列に扱っている。非同期複数の割込要求の発生に対し、ＤＳＰカードが全て同じ重要度で処理したとすると、ＤＳＰカードは重要でない割込み処理の最中にレーダ装置からの受信割込みが入って受信データを基本周期内に処理を終えない可能性が存在する。
【００５３】
これに対して、本実施形態に係るディジタルシグナルプロセッサシステムおよびディジタルシグナルプロセッサシステムにおける割込み処理方法によれば、ＤＳＰカード１３上においてＤＳＰ２２が外部割込みを処理することができる。割込要因の種別の数が増大したとしても、各基本周期内で優先度の高い外部割込みの発生を確実に発見して優先度の高い外部割込みを処理できる。ＤＳＰ２２は、各基本周期内で、割込みハンドラの実行終了の都度、ｉ＝０に戻ってＬＳＢからｆｏｒ文を回している。ＤＳＰ２２は必ず優先度の高い高速シリアル通信装置２８からの受信割込みが入っているかどうかを判定している。優先順位による評価判定をＤＳＰ２２が処理の都度実行するため、ＤＳＰカード１３は非同期複数の外部割込みに対して高速に割込応答を行えるようになる。
【００５４】
尚、上記の実施形態は実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。例えば図２では外部割込み発生源は、最大３２種類まで登録されているが、外部割込み発生源の種別や個数は種々変更可能である。優先度の高い外部割込要求を選択する判定処理では、優先順位を繰返し評価しているが、この繰返し処理において、図６の割込みマスクレジスタ３４、割込みステータスレジスタ３５、割込みＥＯＩレジスタ３６の割付け方は一例である。プログラム言語の繰返し構造を示す例としてｆｏｒ文を述べたが、他の言語あるいは他の繰返し構造により繰返し処理を記述してもよい。ビット割付けの仕方を変えること、又は上記３本のレジスタ群と実質同じ機能を有する複数本のレジスタを使うことによって判定処理を実施したに過ぎない実施品に対しても本実施形態に係るディジタルシグナルプロセッサシステムの優位性は何ら損なわれるものではない。
【００５５】
いくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである。
【符号の説明】
【００５６】
１０…信号処理システム（ディジタルシグナルプロセッサシステム）１１…レーダ装置、１２…Ａ／Ｄ変換器、１３…ＤＳＰカード、１４…ＶＭＥバス、１５…ＣＰＵカード、１６…ＰＣＩバス（第１データバス）、１８…外部割込み制御装置（割込み制御部）、１９…バスプロトコル変換機能部（バスインターフェース）、２０…データバス（第２データバス）、２１…ＤＳＰ（第１ＤＳＰ）、２２…ＤＳＰ（第２ＤＳＰ）、２３…信号線、２４…パソコン、２５…シリアル通信装置（割込み制御部）、２６…データバス（第２データバス）、２７…フラッシュＲＯＭ、２８…高速シリアル通信装置（割込み発生源）、２９…ＰＣＩ−ＶＭＥブリッジ装置（割込み発生源）、３０…外部記憶装置、３１…ＣＰＵ、３２…ＤＭＡコントローラ、３３…端子、３４…割込みマスクレジスタ、３５…割込みステータスレジスタ、３６…割込みＥＯＩレジスタ、３７，３８，３９…端子、４０…内部メモリ、４１…ＤＭＡコントローラ、４２…データバス。
【図１】
2013114483.tif 000003
【図２】
2013114483.tif 000004
【図３】
2013114483.tif 000005
【図４】
2013114483.tif 000006
【図５】
2013114483.tif 000007
【図６】
2013114483.tif 000008