(57)【要約】【課題】複数のマイクロプロセッサ間で周辺モジュールの制御権限を自在に変更し得る。【解決手段】信号処理システム１は、メインＣＰＵ１０と、サブＣＰＵ１１と、これらＣＰＵ１０，１１に一対一対応で接続される２本のバス３０，３１と、周辺処理を実行する周辺モジュール１８〜２１とを備える。周辺モジュール１８は、記憶回路と、この記憶回路が保持するデータ信号によって制御される周辺処理を実行する実処理部と、ライトコントローラとを備える。ライトコントローラは、２個のＣＰＵ１０，１１のうち少なくとも一方のＣＰＵの制御によって、前記記憶回路にデータ信号を書き込む権限をメインＣＰＵ１０とサブＣＰＵ１１との何れか一方のＣＰＵに設定する機能を有する。【選択図】        図１
2004171194.tif 000002
【特許請求の範囲】
【請求項１】
Ｎ個（Ｎ：２以上の整数）のマイクロプロセッサを搭載する信号処理システムであって、
前記Ｎ個のマイクロプロセッサに一対一対応で接続される信号伝達用のＮ本のバスと、
前記Ｎ本のバスの全てに接続される周辺モジュールと、
を備え、
前記Ｎ本のバスは、それぞれ、アドレス信号を伝送するアドレス・バスとデータ信号を伝送するデータ・バスとを備えており、
前記周辺モジュールは、
前記バスを伝達した前記データ信号を保持する記憶回路と、
前記記憶回路が保持するデータ信号によって制御される周辺処理を実行する実処理部と、
前記Ｎ個のマイクロプロセッサの中の少なくとも１個のマイクロプロセッサの制御によって、前記記憶回路に前記データ信号を書き込む書込み権限を、前記Ｎ個のマイクロプロセッサの中の少なくとも１個のマイクロプロセッサに設定するライトコントローラと、
を備えることを特徴とする信号処理システム。
【請求項２】
請求項１記載の信号処理システムにおいて、複数の前記周辺モジュールを備える信号処理システム。
【請求項３】
請求項１または請求項２記載の信号処理システムにおいて、前記ライトコントローラは、
前記マイクロプロセッサの制御によって、前記Ｎ本のバスから伝達したＮ本の前記データ信号の何れかを選択して前記記憶回路に出力するセレクタと、
前記アドレス信号をデコードして生成した書込み制御信号を前記記憶回路に出力するデコーダと、
を備えており、
前記記憶回路は、前記書込み制御信号の値に応じて前記セレクタから出力されたデータ信号を保持する機能を有する、
信号処理システム。
【請求項４】
請求項３記載の信号処理システムにおいて、前記ライトコントローラは、前記マイクロプロセッサの制御によって、前記Ｎ本のバスを伝達したＮ本の前記アドレス信号の何れかを選択して出力する第２のセレクタ、を更に備え、
前記デコーダは、前記第２のセレクタから出力されたアドレス信号をデコードして生成した前記書込み制御信号を前記記憶回路に出力する、
信号処理システム。
【請求項５】
請求項３または請求項４記載の信号処理システムにおいて、
前記記憶回路は複数のレジスタから構成されており、
前記デコーダは、各前記レジスタ毎に前記書込み制御信号を生成して出力し、
前記複数のレジスタは、それぞれ、前記書込み制御信号の値に応じて前記セレクタから出力されたデータ信号を保持する機能を有する、
信号処理システム。
【請求項６】
請求項１または請求項２記載の信号処理システムにおいて、
前記記憶回路は複数のレジスタから構成されており、
前記ライトコントローラは、前記Ｎ個のマイクロプロセッサの中の少なくとも１個のマイクロプロセッサの制御によって、前記Ｎ個のマイクロプロセッサの各々の前記複数のレジスタに対する前記書込み権限の有無を前記レジスタ単位で定める設定値を保持する制御レジスタを備える、
信号処理システム。
【請求項７】
請求項６記載の信号処理システムにおいて、前記ライトコントローラは、
前記Ｎ個のマイクロプロセッサから発せられ前記Ｎ本のバスを伝達したＮ本の前記アドレス信号をデコードすることで各前記アドレス信号に対応する書込み制御信号を生成するデコーダと、
前記制御レジスタが保持する前記設定値に応じて、前記デコーダから出力された複数本の前記書込み制御信号の中から所定の前記書込み制御信号を選択し、選択した当該書込み制御信号を当該設定値に対応する当該レジスタに出力する選択回路と、
を更に備え、
前記複数のレジスタは、それぞれ、前記書込み制御信号の値に応じて前記データ信号を保持する機能を有する、
信号処理システム。
【請求項８】
請求項６または請求項７記載の信号処理システムにおいて、前記ライトコントローラは、
前記Ｎ本のアドレス信号に基づいて選択制御信号を生成するアービタと、
前記アービタから出力された前記選択制御信号の値に応じて、前記Ｎ本のバスを伝達したＮ本の前記データ信号の中から１本のデータ信号を選択して前記複数のレジスタに出力するセレクタと、
を備える、
信号処理システム。
【請求項９】
請求項１または請求項２記載の信号処理システムにおいて、前記ライトコントローラは、前記Ｎ個のマイクロプロセッサの中の少なくとも１個のマイクロプロセッサの制御によって、前記Ｎ個のマイクロプロセッサの各々の前記記憶回路に対する前記書込み権限の有無をビット単位で定める設定値を保持する制御レジスタを備える、
信号処理システム。
【請求項１０】
請求項９記載の信号処理システムにおいて、前記ライトコントローラは、
前記アドレス信号をデコードして生成した書込み制御信号を出力するデコーダと、
前記制御レジスタが保持する前記設定値に応じて、前記Ｎ本のバスを伝達したＮ本の前記データ信号から、前記書込み権限を付与された当該マイクロプロセッサから伝達したデータ信号をビット単位で選択して出力する選択回路と、
を更に備え、
前記記憶回路は、前記書込み制御信号の値に応じて、前記選択回路から出力された信号を保持する機能を有する、
信号処理システム。
【請求項１１】
請求項９または請求項１０記載の信号処理システムにおいて、前記選択回路は、前記記憶回路から読み出されたデータ信号と前記バスを伝達した前記データ信号とからビット単位で選択した信号を出力する機能を有する、信号処理システム。
【請求項１２】
請求項１０または請求項１１記載の信号処理システムであって、
複数のレジスタからなる前記記憶回路と、
供給される選択制御信号の値に応じて、前記複数のレジスタから読み出された複数本のデータ信号の何れか１本のデータ信号を選択して前記選択回路に出力するセレクタと、
を備えており、
前記デコーダは、前記アドレス信号をデコードすることで各前記レジスタ毎に前記書込み制御信号を生成すると共に前記選択制御信号を生成する、
信号処理システム。
【請求項１３】
Ｎ個（Ｎ：２以上の整数）のマイクロプロセッサを搭載する信号処理システムであって、
前記Ｎ個のマイクロプロセッサに一対一対応で接続される信号伝達用のＮ本のバスと、
前記Ｎ本のバスの全てに接続される周辺モジュールと、
を備え、
前記Ｎ本のバスは、それぞれ、アドレス信号を伝送するアドレス・バスとデータ信号を伝送するデータ・バスとを備えており、
前記周辺モジュールは、
前記データ信号を保持する複数のレジスタからなる記憶回路と、
供給される選択制御信号の値に応じて、前記複数のレジスタから出力された複数本のデータ信号から選択した信号を出力する選択回路と、
前記選択回路から出力された前記信号によって制御される周辺処理を実行する実処理部と、
前記Ｎ個のマイクロプロセッサの中の少なくとも１個のマイクロプロセッサの制御によって前記選択制御信号を生成するライトコントローラと、
を備えることを特徴とする信号処理システム。
【請求項１４】
請求項１３記載の信号処理システムにおいて、複数の前記周辺モジュールを備える信号処理システム。
【請求項１５】
請求項１３または請求項１４記載の信号処理システムにおいて、
前記ライトコントローラは、
前記マイクロプロセッサの制御によって、前記Ｎ個のマイクロプロセッサの各々の前記実処理部に対する制御権限の有無を定める設定値を保持する制御レジスタと、
前記アドレス信号をデコードして書込み制御信号を生成し前記複数のレジスタに出力するデコーダと、
を備えており、
前記複数のレジスタは、それぞれ、前記書込み制御信号の値に応じて前記データ信号を保持する機能を有し、
前記選択回路は、前記制御レジスタが保持する前記設定値に応じて、前記複数のレジスタから出力された前記データ信号からビット単位で信号を選択して出力する機能を有する、
信号処理システム。
【請求項１６】
請求項１〜請求項１５の何れか１項に記載の信号処理システムにおいて、前記Ｎ個のマイクロプロセッサは、２個のマイクロプロセッサからなる信号処理システム。
【請求項１７】
請求項１〜請求項１６の何れか１項に記載の信号処理システムにおいて、
前記周辺モジュールは、
前記記憶回路から出力された前記データ信号を取り込み、前記Ｎ本のバスに出力させるリードコントローラ、
を更に備える、信号処理システム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、複数のマイクロプロセッサを搭載する信号処理システムに関する。
【０００２】
【従来の技術】
従来から、制御用や通信用のシステムＬＳＩとして、複数のＣＰＵを搭載したマルチプロセッサ構成のものが存在する。単一のＣＰＵを搭載したシステムＬＳＩにおいては、ＣＰＵは、プログラム命令を実行している途中で割込み要求を受けた場合、現在実行中の命令のアドレスやステータスレジスタの情報などをスタックに待避させた後で、割込み処理のプログラムを実行する。割込み処理が終了した後は、ＣＰＵは、スタックに保存していたステータスレジスタの情報やアドレスを読み出して、割込み要求発生前の処理を継続して実行する。
【０００３】
しかしながら、単一のＣＰＵでは、割込み要求が発生してから、割込み処理の結果を出力する迄の応答時間が長くなり易く、高いリアルタイム性を確保できない場合がある。特にリアルタイムＯＳ（リアルタイム・オペレーティング・システム）で動作するシステムＬＳＩには高いリアルタイム性が要求される。そこで、マルチプロセッサ構成が採用されており、メインＣＰＵが通常のプログラム命令を実行している間に割込み要求が発生したときは、サブＣＰＵにその割込み処理を実行させる。これにより、リアルタイム性の高い処理が可能になる。この種のマルチプロセッサ構成は、例えば特許文献１に開示されている。
【０００４】
【特許文献１】
特開平０７−０９８６９２号公報
【０００５】
【発明が解決しようとする課題】
一般にシステムＬＳＩは、入出力コントローラや割込みコントローラ、外部インターフェース回路などの複数の周辺モジュールを搭載している。一般的なマルチプロセッサ構成のシステムＬＳＩでは、メインＣＰＵは全ての周辺モジュールを制御できても、サブＣＰＵが直接制御できる周辺モジュールは限定されていた。サブＣＰＵは、メインＣＰＵを介して当該メインＣＰＵの管理する周辺モジュールを制御するという構成が採用されている。このため、システムＬＳＩを設計し製造した後では、メインＣＰＵとサブＣＰＵ間で周辺モジュールに対する制御権限を状況に応じて自在に変更できないという自由度の低さがあった。
【０００６】
以上の状況に鑑みて本発明の目的は、（１）複数のマイクロプロセッサ間で周辺モジュールに対する制御権限を自在に変更し得るマルチプロセッサ構成の信号処理システムを提供すること、（２）複数のマイクロプロセッサが周辺モジュールに対する制御権限を共有し得るマルチプロセッサ構成の信号処理システムを提供することにある。
【０００７】
【課題を解決するための手段】
上記目的を達成するため、第１の発明は、Ｎ個（Ｎ：２以上の整数）のマイクロプロセッサを搭載する信号処理システムであって、前記Ｎ個のマイクロプロセッサに一対一対応で接続される信号伝達用のＮ本のバスと、前記Ｎ本のバスの全てに接続される周辺モジュールと、を備え、前記Ｎ本のバスは、それぞれ、アドレス信号を伝送するアドレス・バスとデータ信号を伝送するデータ・バスとを備えており、前記周辺モジュールは、前記バスを伝達した前記データ信号を保持する記憶回路と、前記記憶回路が保持するデータ信号によって制御される周辺処理を実行する実処理部と、前記Ｎ個のマイクロプロセッサの中の少なくとも１個のマイクロプロセッサの制御によって、前記記憶回路に前記データ信号を書き込む書込み権限を、前記Ｎ個のマイクロプロセッサの中の少なくとも１個のマイクロプロセッサに設定するライトコントローラと、を備えることを特徴としている。
【０００８】
第２の発明は、第１の発明の信号処理システムにおいて、複数の前記周辺モジュールを備えたものである。
【０００９】
第３の発明では、第１または第２の発明の信号処理システムにおいて、前記ライトコントローラは、前記マイクロプロセッサの制御によって、前記Ｎ本のバスから伝達したＮ本の前記データ信号の何れかを選択して前記記憶回路に出力するセレクタと、前記アドレス信号をデコードして生成した書込み制御信号を前記記憶回路に出力するデコーダと、を備えており、前記記憶回路は、前記書込み制御信号の値に応じて前記セレクタから出力されたデータ信号を保持する機能を有する。
【００１０】
第４の発明では、第３の発明の信号処理システムにおいて、前記ライトコントローラは、前記マイクロプロセッサの制御によって、前記Ｎ本のバスを伝達したＮ本の前記アドレス信号の何れかを選択して出力する第２のセレクタ、を更に備え、前記デコーダは、前記第２のセレクタから出力されたアドレス信号をデコードして生成した前記書込み制御信号を前記記憶回路に出力する。
【００１１】
第５の発明では、第３または第４の発明の信号処理システムにおいて、前記記憶回路は複数のレジスタから構成されており、前記デコーダは、各前記レジスタ毎に前記書込み制御信号を生成して出力し、前記複数のレジスタは、それぞれ、前記書込み制御信号の値に応じて前記セレクタから出力されたデータ信号を保持する機能を有するものである。
【００１２】
第６の発明では、第１または第２の発明の信号処理システムにおいて、前記記憶回路は複数のレジスタから構成されており、前記ライトコントローラは、前記Ｎ個のマイクロプロセッサの中の少なくとも１個のマイクロプロセッサの制御によって、前記Ｎ個のマイクロプロセッサの各々の前記複数のレジスタに対する前記書込み権限の有無を前記レジスタ単位で定める設定値を保持する制御レジスタを備える。
【００１３】
第７の発明は、第６の発明の信号処理システムにおいて、前記ライトコントローラは、前記Ｎ個のマイクロプロセッサから発せられ前記Ｎ本のバスを伝達したＮ本の前記アドレス信号をデコードすることで各前記アドレス信号に対応する書込み制御信号を生成するデコーダと、前記制御レジスタが保持する前記設定値に応じて、前記デコーダから出力された複数本の前記書込み制御信号の中から所定の前記書込み制御信号を選択し、選択した当該書込み制御信号を当該設定値に対応する当該レジスタに出力する選択回路と、を更に備え、前記複数のレジスタは、それぞれ、前記書込み制御信号の値に応じて前記データ信号を保持する機能を有する。
【００１４】
第８の発明では、第６または第７の発明の信号処理システムにおいて、前記ライトコントローラは、前記Ｎ本のアドレス信号に基づいて選択制御信号を生成するアービタと、前記アービタから出力された前記選択制御信号の値に応じて、前記Ｎ本のバスを伝達したＮ本の前記データ信号の中から１本のデータ信号を選択して前記複数のレジスタに出力するセレクタと、を備えたものである。
【００１５】
第９の発明では、第１または第２の発明の信号処理システムにおいて、前記ライトコントローラは、前記Ｎ個のマイクロプロセッサの中の少なくとも１個のマイクロプロセッサの制御によって、前記Ｎ個のマイクロプロセッサの各々の前記記憶回路に対する前記書込み権限の有無をビット単位で定める設定値を保持する制御レジスタを備える。
【００１６】
第１０の発明では、第９の発明の信号処理システムにおいて、前記ライトコントローラは、前記アドレス信号をデコードして生成した書込み制御信号を出力するデコーダと、前記制御レジスタが保持する前記設定値に応じて、前記Ｎ本のバスを伝達したＮ本の前記データ信号から、前記書込み権限を付与された当該マイクロプロセッサから伝達したデータ信号をビット単位で選択して出力する選択回路と、を更に備え、前記記憶回路は、前記書込み制御信号の値に応じて、前記選択回路から出力された信号を保持する機能を有する。
【００１７】
第１１の発明では、第９または第１０の発明の信号処理システムにおいて、前記選択回路は、前記記憶回路から読み出されたデータ信号と前記バスを伝達した前記データ信号とからビット単位で選択した信号を出力する機能を有する。
【００１８】
第１２の発明は、第１０または第１１の発明の信号処理システムであって、複数のレジスタからなる前記記憶回路と、供給される選択制御信号の値に応じて、前記複数のレジスタから読み出された複数本のデータ信号の何れか１本のデータ信号を選択して前記選択回路に出力するセレクタと、を備えており、前記デコーダは、前記アドレス信号をデコードすることで各前記レジスタ毎に前記書込み制御信号を生成すると共に前記選択制御信号を生成するものである。
【００１９】
次に、第１３の発明は、Ｎ個（Ｎ：２以上の整数）のマイクロプロセッサを搭載する信号処理システムであって、前記Ｎ個のマイクロプロセッサに一対一対応で接続される信号伝達用のＮ本のバスと、前記Ｎ本のバスの全てに接続される周辺モジュールと、を備え、前記Ｎ本のバスは、それぞれ、アドレス信号を伝送するアドレス・バスとデータ信号を伝送するデータ・バスとを備えており、前記周辺モジュールは、前記データ信号を保持する複数のレジスタからなる記憶回路と、供給される選択制御信号の値に応じて、前記複数のレジスタから出力された複数本のデータ信号から選択した信号を出力する選択回路と、前記選択回路から出力された前記信号によって制御される周辺処理を実行する実処理部と、前記Ｎ個のマイクロプロセッサの中の少なくとも１個のマイクロプロセッサの制御によって前記選択制御信号を生成するライトコントローラと、を備えることを特徴としている。
【００２０】
第１４の発明は、第１３の発明の信号処理システムにおいて、複数の前記周辺モジュールを備えるものである。
【００２１】
第１５の発明では、第１３または第１４の発明の信号処理システムにおいて、前記ライトコントローラは、前記マイクロプロセッサの制御によって、前記Ｎ個のマイクロプロセッサの各々の前記実処理部に対する制御権限の有無を定める設定値を保持する制御レジスタと、前記アドレス信号をデコードして書込み制御信号を生成し前記複数のレジスタに出力するデコーダと、を備えており、前記複数のレジスタは、それぞれ、前記書込み制御信号の値に応じて前記データ信号を保持する機能を有し、前記選択回路は、前記制御レジスタが保持する前記設定値に応じて、前記複数のレジスタから出力された前記データ信号からビット単位で信号を選択して出力する機能を有するものである。
【００２２】
第１６の発明では、第１〜第１５の発明の何れかの信号処理システムにおいて、前記Ｎ個のマイクロプロセッサは、２個のマイクロプロセッサからなるものである。
【００２３】
そして、第１７の発明では、第１〜第１６の発明の何れかの信号処理システムにおいて、前記周辺モジュールは、前記記憶回路から出力された前記データ信号を取り込み、前記Ｎ本のバスに出力させるリードコントローラ、を更に備える。
【００２４】
【発明の実施の形態】
以下、本発明の種々の実施形態について説明する。
【００２５】
＜第１の実施形態；信号処理システムの構成＞
図１は、本発明の第１の実施形態に係る信号処理システム１を概略的に示すブロック図である。この信号処理システム１は、メインＣＰＵ１０とサブＣＰＵ１１を搭載したマルチプロセッサ構成を有する集積回路である。なお、本実施形態では、信号処理システム１は２個のマイクロプロセッサ１０，１１を搭載しているが、本発明では２個に限らずＮ個（Ｎ：３以上の整数）のマイクロプロセッサを搭載した信号処理システムを構築することが可能である。
【００２６】
また、本実施形態においては、この信号処理システム１は、デジタル・カメラなどの撮像装置に搭載され、その撮像装置に搭載される各種センサ（オートフォーカス用の測距センサなど）に対する制御処理や画像処理などに好適に使用される。
【００２７】
この信号処理システム１は、メインＢＩＵ（バス・インターフェース・ユニット；Ｂｕｓ  Ｉｎｔｅｒｆａｃｅ  Ｕｎｉｔ）１２、サブＢＩＵ１３、ＭＩＵ（メモリ・インターフェース・ユニット；Ｍｅｍｏｒｙ  Ｉｎｔｅｒｆａｃｅ  Ｕｎｉｔ）１４、ＤＭＡ（ダイレクト・メモリ・アクセス）コントローラ１５、クロック生成部１７、ライト権限コントローラ１６、第１〜第４周辺モジュール１８〜２１及び３本の信号伝達用のバス３０，３１，３２を備えている。
【００２８】
第１〜第４周辺モジュール１８〜２１としては、具体的には、入出力コントローラ、割込みコントローラ、信号圧縮伸長回路に対応するインターフェース回路、カードインターフェース回路、その他各種インターフェース回路などが挙げられる。ライト権限コントローラ１６は、メインＣＰＵ１０の制御により、これら第１〜第４周辺モジュール１８〜２１に選択制御信号ＳＬ１〜ＳＬ４を生成し供給している。
【００２９】
ＭＩＵ１４は、外部のＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）２とＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）３とに接続されている。ＲＯＭ２は、信号処理システム１を動作させるプログラムや文字データや制御データなどを記憶し、またＲＡＭ３は、プログラムの実行過程で発生したデータを一時的に保存する領域やスタック領域として使用される。メインＣＰＵ１０やサブＣＰＵ１１はアドレス信号ＡＤ１，ＡＤ２及び制御信号ＣＴ１，ＣＴ２を発し、ＭＩＵ１４及びシステムバス３０，３１を介して、ＲＯＭ２やＲＡＭ３にアドレス信号ＡＤ３，ＡＤ４及び制御信号ＣＴ３，ＣＴ４を供給する。これにより、メインＣＰＵ１０やサブＣＰＵ１１は、ＭＩＵ１４及びシステムバス３０，３１を介して、ＲＯＭ２やＲＡＭ３との間でデータ信号ＤＴ１，ＤＴ２（またはＤＴ３，ＤＴ４）をやり取りすることができる。またメインＣＰＵ１０やサブＣＰＵ１１は、ＲＯＭ２に記憶されているプログラムを読み込み、実行する。なお、本実施形態では、ＲＯＭ２とＲＡＭ３は信号処理システム１の外部に配設されるが、本発明ではこの限りでは無く、ＲＯＭ２及びＲＡＭ３の一方または双方を信号処理システム１の内部に組み込んでもよい。また信号処理システム１の内部に、サブＣＰＵ１１専用のＲＯＭやプログラム格納用またはデータ格納用のＲＡＭなどを内蔵してもよい。
【００３０】
クロック生成部１７は、内蔵するＰＬＬ回路（図示せず）が出力する基準クロック信号を用いて、信号処理システム１を構成するすべての機能ブロックに供給するシステムクロックＣＣＫ１，ＣＣＫ２，ＭＣＫ，ＰＣＫ１〜ＰＣＫ４などを生成する。メインＣＰＵ１０とメインＢＩＵ１２は、システムクロックＣＣＫ１を使用して動作し、サブＣＰＵ１１とサブＢＩＵ１３は、システムクロックＣＣＫ２を使用して動作する。またＭＩＵ１４、ＤＭＡコントローラ１５及び第１〜第４周辺モジュール１８〜２１は、メモリクロックＭＣＫを共用する。また第１〜第４周辺モジュール１８〜２１は、それぞれ、モジュールクロックＰＣＫ１，ＰＣＫ２，ＰＣＫ３，ＰＣＫ４の供給を受けて動作する。
【００３１】
また３本のバス３０，３１，３２は、それぞれ、アドレス信号を伝送するアドレス・バスとデータ信号を伝送するデータ・バスと制御信号を伝送する制御バスとで構成されている。第１システムバス３０はメインＢＩＵ１２を介してメインＣＰＵ１０に接続され、第２システムバス３１はサブＢＩＵ１３を介してサブＣＰＵ１１に接続されている。このように本信号処理システム１は、２個のＣＰＵ１０，１１に一対一対応で接続される２本のシステムバス３０，３１を有している。言い換えれば、２個のＣＰＵ１０，１１はそれぞれ専用のバス３０，３１を有していることになる。また第１システムバス３０及び第２システムバス３１の双方に、ＭＩＵ１４および第１〜第４周辺モジュール１８〜２１が接続されている。
【００３２】
またＤＭＡコントローラ１５は、第１システムバス３０とＤＭＡバス３２とに接続されており、第１〜第３周辺モジュール１８〜２０とＭＩＵ１４とは、ＤＭＡバス３２に接続されている。ＤＭＡコントローラ１５は、メインＣＰＵ１０の指示により、ＭＩＵ１４および第１〜第３周辺モジュール１８〜２０のうち任意の機能ブロック間でＤＭＡバス３２を介したＤＭＡ転送を実行する機能を有する。
【００３３】
＜第１の実施形態；第１周辺モジュールの構成＞
次に、第１の実施形態に係る第１周辺モジュール１８の構成を説明する。図２は、第１周辺モジュール１８の構成を概略的に示すブロック図である。この第１周辺モジュール１８は、第１〜第３同期回路４０〜４２、第１リードコントローラ４３、ライトコントローラ４４、第２リードコントローラ４５、記憶回路５７及び実処理部（Ａｃｔｕａｌ  ｐｒｏｃｅｓｓｉｎｇ  ｐａｒｔ）５６を備えている。なお、図１に示す他の第２〜第４周辺モジュール１９〜２１は、それぞれ、実処理部５６の機能を除いて第１周辺モジュール１８と同一構成及び同一機能を有している。
【００３４】
第１同期回路４０は、第１ＣＰＵクロックＣＣＫ１とモジュールクロックＰＣＫ１とを用いて、第１周辺モジュール１８に対して入出力する信号の同期処理を実行する機能を有し、第２同期回路４１は、第２ＣＰＵクロックＣＣＫ２とモジュールクロックＰＣＫ１とを用いて、第１周辺モジュール１８に入出力する信号の同期処理を実行する機能を有している。また第１同期回路４０は、上記第１システムバス３０を伝達するアドレス信号ＡＤＲ１及びデータ信号ＲＤＴ１，ＷＤＴ１の同期処理を実行し、第２同期回路４１は、上記第２システムバス３１を伝達するアドレス信号ＡＤＲ２及びデータ信号ＲＤＴ２，ＷＤＴ２の同期処理を実行する。また第３同期回路４２は、メモリクロックＭＣＫとモジュールクロックＰＣＫ１とを用いて、実処理部５６と外部の機能ブロックとの間でＤＭＡ転送されるデータ信号ＲＤＴ０，ＷＤＴ０の同期処理を実行する。
【００３５】
第１周辺モジュール１８の内部を伝達するデータ信号のビット長と、第１システムバス３０のデータ・バスのビット幅とは共に３２ビットである。第２同期回路４１は、第２システムバス３１を構成するデータ・バスのビット幅が３２ビット未満である場合に、入力するデータ信号ＷＤＴ２を３２ビット信号に変換する回路と、出力するデータ信号を第２システムバス３１を構成するデータ・バスのビット幅の信号ＲＤＴ２に変換する回路とを備えている。
【００３６】
なお、本明細書では、説明の便宜上、第１周辺モジュール１８の内部の信号とその外部の信号とを表す記号を区別しないこととする。例えば、第１システムバス３０を伝達する外部のデータ信号ＷＤＴ１は、第１同期回路４０で内部信号に変換されても、その内部信号をデータ信号ＷＤＴ１と呼ぶ。
【００３７】
記憶回路５７は３個のレジスタ５３〜５５から構成されており、各レジスタ５３〜５５は、制御端子ＣＳに入力する書込み制御信号ＷＳ１〜ＷＳ３のレベルが高レベル（書込み制御信号の論理値が「１」）となる期間に、データ端子Ｄに入力する３２ビットのデータ信号を保持（ラッチ）する機能を有している。なお、レジスタ５３〜５５は、制御端子ＣＳから入力する書込み制御信号ＷＳ１〜ＷＳ３のレベルが低レベル（書込み制御信号の論理値が「０」）となる期間にはデータ端子Ｄへの入力信号を保持しない。
【００３８】
実処理部５６は、割込みコントローラまたは各種インターフェース回路などの実際の周辺処理を実行する機能ブロックであり、周辺処理は、前記記憶回路５７から出力され実処理部５６に入力するデータ信号によって制御される。
【００３９】
またライトコントローラ４４は、メインＣＰＵ１０の制御によって、前記記憶回路５７にデータ信号ＷＤＴ１またはＷＤＴ２を書き込む権限（以下、書込み権限と呼ぶ。）を何れか一方のマイクロプロセッサに設定する機能を有する。このライトコントローラ４４は、書込み権限を設定したマイクロプロセッサのみに記憶回路５７へのデータ信号の書込みを許可する。
【００４０】
具体的には、ライトコントローラ４４は、第１セレクタ４８、第２セレクタ５０及びデコーダ４９を備えている。第１セレクタ４８と第２セレクタ５０は、ライト権限コントローラ１６から伝達した選択制御信号ＳＬ１の値に応じて、入力端子Ｄ０，Ｄ１に入力した２本の信号の何れか一方を選択し、出力端子Ｑから出力する。第１セレクタ４８の入力端子Ｄ０，Ｄ１には、それぞれ、メインＣＰＵ１０から発せられ第１システムバス３０を伝達したアドレス信号ＡＤＲ１と、サブＣＰＵ１１から発せられ第２システムバス３１を伝達したアドレス信号ＡＤＲ２とが入力している。第１セレクタ４８は、選択制御信号ＳＬ１の値に応じてアドレス信号ＡＤＲ１，ＡＤＲ２の一方を選択してデコーダ４９に出力する。またデコーダ４９は、第１セレクタ４８が出力したアドレス信号をデコードして、各レジスタ毎に書込み制御信号ＷＳ１，ＷＳ２，ＷＳ３を生成し出力する。一方、第２セレクタ５０の入力端子Ｄ０，Ｄ１には、それぞれ、メインＣＰＵ１０から発せられ第１システムバス３０を伝達したデータ信号ＷＤＴ１と、サブＣＰＵ１１から発せられ第２システムバス３１を伝達したデータ信号ＷＤＴ２とが入力している。第２セレクタ５０は、選択制御信号ＳＬ１の値に応じて２本のデータ信号ＷＤＴ１，ＷＤＴ２の何れか一方を選択して記憶回路５７に出力する。
【００４１】
このような構成により、ライトコントローラ４４は、メインＣＰＵ１０の制御によって発生した選択制御信号ＳＬ１の値に応じて、記憶回路５７に対する書込み権限をメインＣＰＵ１０とサブＣＰＵ１１との何れか一方に設定する。書込み権限がメインＣＰＵ１０に設定された場合、メインＣＰＵ１０が発したデータ信号ＷＤＴ１が記憶回路５７に供給され、デコーダ４９は、メインＣＰＵ１０が発したアドレス信号ＡＤＲ１をデコードして書込み制御信号ＷＳ１〜ＷＳ３を生成する。したがって、メインＣＰＵ１０は、レジスタ５３〜５５にデータ信号ＷＤＴ１を書き込むことで実処理部５６における周辺処理を制御することが可能であり、データ信号ＷＤＴ１の書込み制御をレジスタ単位で実行できる。同様に、書込み権限がサブＣＰＵ１１に設定された場合は、サブＣＰＵ１１は、レジスタ５３〜５５にデータ信号ＷＤＴ２を書き込むことで実処理部５６における周辺処理を制御できる。
【００４２】
また、レジスタ５３〜５５が出力したデータ信号は、実処理部５６に入力させられると共に、第１リードコントローラ４３と第２リードコントローラ４５とにも入力させられる。また実処理部５６は内部の処理状態を示すステータス信号ＳＳを第１リードコントローラ４３と第２リードコントローラ４５とに出力している。
【００４３】
第１リードコントローラ４３はデコーダ４６とセレクタ４７とを備えている。デコーダ４６は、メインＣＰＵ１０から発せられ伝達したアドレス信号ＡＤＲ１をデコードして選択制御信号を生成し、セレクタ４７に出力する。セレクタ４７の入力端子Ｄ０，Ｄ１，Ｄ２，Ｄ３には、レジスタ５３〜５５から入力する３本のデータ信号とステータス信号ＳＳとが入力している。このセレクタ４７は、デコーダ４６から入力する選択制御信号の値に応じて、前記３本のデータ信号及びステータス信号ＳＳの中から何れか１本の信号を選択し、出力端子Ｑから第１同期回路４０に出力する。第１同期回路４０は、第１リードコントローラ４３から入力した信号をデータ信号ＲＤＴ１として第１システムバス３０のデータ・バスに出力する。この結果、メインＣＰＵ１０は、レジスタ５３〜５５が保持するデータ信号の値から、実処理部５６に対する制御状態を検出できると共に、ステータス信号ＳＳの値から、実処理部５６の内部の処理状態を検出できる。なお、レジスタ５３〜５５に対するデータの読出しとその書込みの動作時には、リードパルスやライトパルスなどのタイミング信号も必要となるが、説明の便宜上、その種のタイミング信号に関する詳細な説明は省略する。
【００４４】
また第２リードコントローラ４５は、デコーダ５１とセレクタ５２とを備えており、第１リードコントローラ４３と同様の動作を行う。デコーダ５１は、サブＣＰＵ１１から発せられ伝達したアドレス信号ＡＤＲ２をデコードして選択制御信号を生成し、セレクタ５２に出力する。セレクタ５２の入力端子Ｄ０，Ｄ１，Ｄ２，Ｄ３には、レジスタ５３〜５５から入力する３本のデータ信号とステータス信号ＳＳとが入力している。このセレクタ５２は、デコーダ５１から入力する選択制御信号の値に応じて、前記３本のデータ信号及びステータス信号ＳＳの中から何れか１本の信号を選択し、出力端子Ｑから第２同期回路４１に出力する。第２同期回路４１は、第２リードコントローラ４５から入力した信号をデータ信号ＲＤＴ２として第２システムバス３１のデータ・バスに出力する。この結果、サブＣＰＵ１１は、レジスタ５３〜５５が保持するデータ信号の値から、実処理部５６に対する制御状態を検出できると共に、ステータス信号ＳＳの値から、実処理部５６の内部の処理状態を検出できる。
【００４５】
このように、メインＣＰＵ１０とサブＣＰＵ１１は、レジスタ５３〜５５の保持情報とステータス信号ＳＳの情報とを常に待たされること無く読出すことができるため、信号処理システム１の応答性の向上が可能となる。
【００４６】
上述したように上記信号処理システム１によれば、メインＣＰＵ１０とサブＣＰＵ１１との各々に専用のバス３０，３１が配設され、全てのバス３０，３１が第１周辺モジュール１８に接続されているため、バスの競合を回避できる。また第１周辺モジュール１８によれば、記憶回路５７にデータ信号を書き込む権限を任意のマイクロプロセッサに設定できるため、任意のマイクロプロセッサが実処理部５６を直接制御することができる。したがって、第１周辺モジュール１８の利用状況や処理状況に応じて当該第１周辺モジュール１８に対する制御権限を任意のマイクロプロセッサに切り換えることが可能である。
【００４７】
また、第２〜第４周辺モジュール１９〜２１も、実処理部５６の機能を除いて、第１周辺モジュール１８と同様の構成及び機能を有することから、本信号処理システム１は、複数の周辺モジュール１９〜２１に対する制御権限を個別に設定できる。したがって、自由度の高いマルチプロセッサ構成の信号処理システムの構築が可能である。
【００４８】
＜第２の実施形態＞
次に、本発明の第２の実施形態について説明する。第２の実施形態に係る信号処理システムは、第１〜第４周辺モジュール１８〜２１の構成を除いて、図１に示した信号処理システム１と同じである。また本実施形態では、図１に示すライト権限コントローラ１６は必ずしも必要では無い。
【００４９】
図３は、第２の実施形態に係る第１周辺モジュール１８Ａの構成を概略的に示すブロック図である。第１周辺モジュール１８Ａは、第１〜第３同期回路４０〜４２、第１リードコントローラ４３、ライトコントローラ６０、第２リードコントローラ４５、記憶回路５７及び実処理部５６を備えている。この第１周辺モジュール１８Ａは、ライトコントローラ６０を除いて図２に示した第１周辺モジュール１８と同一構成及び同一機能を有している。このため、図３に示す構成要素のうち、図２に示す構成要素と同じ符号を付されたものは、当該構成要素と同一構成及び同一機能を有するものとして、その詳細な説明が省略される。
【００５０】
ライトコントローラ６０は、メインＣＰＵ１０の制御によって、書込み権限をレジスタ単位で何れか一方のマイクロプロセッサに設定する機能を有する。ライトコントローラ６０は、前記レジスタに書込み権限を設定したマイクロプロセッサのみに当該レジスタへのデータ信号の書込みを許可する。図４は、ライトコントローラ６０の構成を概略的に示すブロック図である。このライトコントローラ６０は、第１デコーダ６１、第２デコーダ６２、アービタ（調停回路）６３、制御レジスタ６４、データ・セレクタ６５及び選択回路７８を備えている。
【００５１】
第１デコーダ６１は、メインＣＰＵ１０から発せられ第１システムバス３０から入力したアドレス信号ＡＤＲ１をデコードすることで、当該アドレス信号ＡＤＲ１に対応する制御信号ＣＴＬ及び書込み制御信号ＣＳ０，ＣＳ１，ＣＳ２を生成して出力する。また第２デコーダ６２は、サブＣＰＵ１１から発せられ第２システムバス３１から入力したアドレス信号ＡＤＲ２をデコードすることで、当該アドレス信号ＡＤＲ２に対応する書込み制御信号ＣＳ３，ＣＳ４，ＣＳ５を生成して出力する。そして、アービタ６３は、第１デコーダ６１のデコード結果と第２デコーダ６２のデコード結果とを用いて選択制御信号ＳＣを生成し、データ・セレクタ６５に供給する。
【００５２】
制御レジスタ６４は、メインＣＰＵ１０の制御によって、メインＣＰＵ１０及びサブＣＰＵ１１の各々の複数のレジスタ５３，５４，５５に対する書込み権限の有無をレジスタ単位で定める設定値を保持する。具体的には、制御レジスタ６４は、メインＣＰＵ１０から伝達したアドレス信号ＡＤＲ１によって発生した制御信号ＣＴＬのレベルが高レベル（制御信号ＣＴＬの論理値が「１」）である期間に、メインＣＰＵ１０から発せられた、端子Ｄに入力するデータ信号ＷＤＴ１の上位３ビット信号を保持（ラッチ）する。また制御レジスタ６４は、保持する上位３ビット信号中の１ビット信号をそれぞれ出力端子Ｑ０，Ｑ１，Ｑ３から選択回路７８に出力している。なお、制御レジスタ６４は、制御信号ＣＴＬのレベルが低レベル（制御信号ＣＴＬの論理値が「０」）である期間には、端子Ｄに入力する信号を保持しない。
【００５３】
制御レジスタ６４が保持する３ビットの制御データを構成する各ビット値は、それぞれ、レジスタ５３，５４，５５に対する書込み権限の有無を定める設定値を示すものである。図５に制御データ６４Ｄを模式的に例示する。制御データ６４Ｄは、０番目、１番目及び２番目のビット位置にそれぞれ「１」、「０」及び「１」の１ビットの設定値を保持している。本実施形態の場合、「０」の設定値がメインＣＰＵ１０の書込み権限を、「１」の設定値がサブＣＰＵ１１の書込み権限をそれぞれ表しており、また、０番目の設定値がレジスタ５３に対する書込み権限を、１番目の設定値がレジスタ５４に対する書込み権限を、２番目の設定値がレジスタ５５に対する書込み権限をそれぞれ表している。よって、図５に示す例では、レジスタ５４に対する書込み権限はメインＣＰＵ１０に設定され、レジスタ５３，５５に対する書込み権限はサブＣＰＵ１１に設定されている。そして制御レジスタ６４の出力端子Ｑ０からは、０番目の設定値（＝１）を持つ１ビット信号が出力され、その出力端子Ｑ１からは、１番目の設定値（＝０）を持つ１ビット信号が出力され、その出力端子Ｑ２からは、２番目の設定値（＝１）を持つ１ビット信号が出力される。
【００５４】
データ・セレクタ６５の入力端子Ｄ１，Ｄ２には、それぞれ、メインＣＰＵ１０から発せられたデータ信号ＷＤＴ１と、サブＣＰＵ１１から発せられたデータ信号ＷＤＴ２とが入力している。データ・セレクタ６５は、アービタ６３から入力した選択制御信号ＳＣの値に応じて、データ信号ＷＤＴ１，ＷＤＴ２のうち何れか一方を選択し、レジスタ５３，５４，５５に出力している。
【００５５】
また選択回路７８は、制御レジスタ６４から入力した信号が持つ０番目〜２番目の設定値に応じて、第１デコーダ６１から入力する書込み制御信号ＣＳ０〜ＣＳ２と第２デコーダ６２から入力する書込み制御信号ＣＳ３〜ＣＳ５とから、３本の制御信号を選択する。また選択回路７８は、選択した制御信号を設定値に対応するレジスタに出力する。図５に示した設定値の例では、選択回路７８は、レジスタ５３，５５に対する書込み権限をサブＣＰＵ１１に定める設定値（＝１）に応じて、第２デコーダ６２から出力された書込み制御信号ＣＳ３，ＣＳ５を選択し、選択した書込み制御信号ＣＳ３，ＣＳ５をそれぞれレジスタ５３，５５に出力する。同時に、選択回路７８は、レジスタ５４に対する書込み権限をメインＣＰＵ１０に定める設定値（＝０）に応じて、第１デコーダ６１から出力された書込み制御信号ＣＳ１を選択し、レジスタ５４に出力する。
【００５６】
具体的には、選択回路７８は、インバータ６６，７０，７４と、論理積素子（以下、ＡＮＤ素子と呼ぶ。）６７，６８，７１，７２，７５，７６と、論理和素子（以下、ＯＲ素子と呼ぶ。）６９，７３，７７とで構成されている。制御レジスタ６４から出力された１ビット信号は、それぞれ、インバータ６６，７０，７４に入力すると共に、ＡＮＤ素子６８，７２，７６に入力する。また、ＡＮＤ素子６７は、インバータ６６の出力信号と第１デコーダ６１から入力した書込み制御信号ＣＳ０とを論理積演算し、ＡＮＤ素子７１は、インバータ７０の出力信号と第１デコーダ６１から入力した書込み制御信号ＣＳ１とを論理積演算し、ＡＮＤ素子７５は、インバータ７４の出力信号と第１デコーダ６１から入力した書込み制御信号ＣＳ２とを論理積演算する。また、ＡＮＤ素子６８は、制御レジスタ６４から入力した１ビット信号と第２デコーダ６２から入力した書込み制御信号ＣＳ３とを論理積演算し、ＡＮＤ素子７２は、制御レジスタ６４から入力した１ビット信号と第２デコーダ６２から入力した書込み制御信号ＣＳ４とを論理積演算し、ＡＮＤ素子７６は、制御レジスタ６４から入力した１ビット信号と第２デコーダ６２から入力した書込み制御信号ＣＳ５とを論理積演算する。そして、ＯＲ素子６９は、ＡＮＤ素子６７，６８の出力信号を論理和演算して得た書込み制御信号ＷＳ１をレジスタ５３に出力し、ＯＲ素子７３は、ＡＮＤ素子７１，７２の出力信号を論理和演算して得た書込み制御信号ＷＳ２をレジスタ５４に出力し、ＯＲ素子７７は、ＡＮＤ素子７５，７６の出力信号を論理和演算して得た書込み制御信号ＷＳ３をレジスタ５５に出力する。
【００５７】
レジスタ５３に書込み制御信号ＷＳ１を出力する論理回路群６６〜６９の動作は以下の通りである。インバータ６６に入力する１ビット信号の設定値が「０」の場合、ＡＮＤ素子６８の出力信号のレベルは常に低レベルになるため、第１デコーダ６１からＡＮＤ素子６７に入力する書込み制御信号ＣＳ０が選択され、書込み制御信号ＷＳ１としてＯＲ素子６９から出力される。他方、インバータ６６に入力する１ビット信号の設定値が「１」の場合は、ＡＮＤ素子６７の出力信号のレベルは常に低レベルになるため、第２デコーダ６２からＡＮＤ素子６８に入力する書き込み制御信号ＣＳ３が選択され、書込み制御信号ＷＳ１としてＯＲ素子６９から出力される。他の論理回路群７０〜７３及び７４〜７７も、論理回路群６６〜６９と同様に動作する。
【００５８】
以上の構成により、ライトコントローラ６０は、制御レジスタ６４に保持される設定値に応じて、複数のレジスタ５３〜５５に対する書込み権限をレジスタ単位でメインＣＰＵ１０とサブＣＰＵ１１との何れか一方に自在に設定できる。よって、或るレジスタ５３，５５に対する書込み権限をサブＣＰＵ１１に設定し、他のレジスタ５４に対する書込み権限をメインＣＰＵ１０に設定するといったレジスタ単位の設定処理が可能である。
【００５９】
なお、レジスタ５３〜５５に対してメインＣＰＵ１０とサブＣＰＵ１１とが同時にアクセスしようとしたときは、アービタ６３が予め定めた規則に基づいて優先順位を決定し、当該優先順位に従ってデータ・セレクタ６５に与える選択制御信号ＳＣを生成する。このため、メインＣＰＵ１０及びサブＣＰＵ１１によるレジスタ５３〜５５への同時アクセスを防止できる。
【００６０】
以上によって第２の実施形態に係る信号処理システムでは、上記第１の実施形態に係る信号処理システムと同様に、第１周辺モジュール１８Ａの利用状況や処理状況に応じて当該第１周辺モジュール１８Ａに対する制御権限を任意のマイクロプロセッサに切り換えることが可能である。さらに、状況に応じて、第１周辺モジュール１８Ａを複数のマイクロプロセッサで同時に制御することができ、複数のマイクロプロセッサが第１周辺モジュール１８Ａに対する制御権限を共有することが可能である。
【００６１】
また、第２〜第４周辺モジュール１９〜２１（図１）も、実処理部５６の機能を除いて、第１周辺モジュール１８Ａと同様の構成及び機能を有することから、本信号処理システムは、複数の周辺モジュール１８Ａ，１９〜２１に対する制御権限を個別に設定できる。したがって、周辺処理を制御する点で極めて自由度の高いマルチプロセッサ構成の信号処理システムの構築が可能である。
【００６２】
＜第３の実施形態＞
次に、本発明の第３の実施形態について説明する。第３の実施形態に係る信号処理システムは、第１〜第４周辺モジュールの構成を除いて、図１に示した信号処理システム１と同じである。また本実施形態では、図１に示すライト権限コントローラ１６は必ずしも必要では無い。
【００６３】
図６は、第３の実施形態に係る第１周辺モジュール１８Ｂの構成を概略的に示すブロック図である。この第１周辺モジュール１８Ｂは、第１〜第３同期回路４０〜４２、第１リードコントローラ４３、ライトコントローラ９９、記憶回路５７及び実処理部５６を備えている。この第１周辺モジュール１８Ｂは、ライトコントローラ９９の構成を除いて、図２に示した第１周辺モジュール１８と同一構成及び同一機能を有している。このため、図６に示す構成要素のうち、図２に示す構成要素と同じ符号を付されたものは、当該構成要素と同一構成及び同一機能を有するものとして、その詳細な説明が省略される。
【００６４】
ライトコントローラ９９は、メインＣＰＵ１０及びサブＣＰＵ１１のうち少なくとも一方のマイクロプロセッサの制御によって、レジスタ５３〜レジスタ５５に対する書込み権限をビット単位で何れか一方のマイクロプロセッサに設定する機能を有する。図７は、ライトコントローラ９９の構成例を概略的に示すブロック図である。このライトコントローラ９９は、アービタ１００ａを内蔵したデコーダ１００、第１〜第３制御レジスタ１０１〜１０３、第１セレクタ１０４、第２セレクタ１０５、及び、第１選択回路１０６と第２選択回路１０７とからなる選択回路を備えている。
【００６５】
デコーダ１００は、メインＣＰＵ１０とサブＣＰＵ１１とから発せられ且つ第１システムバス３０と第２システムバス３１とから入力したアドレス信号ＡＤＲ１，ＡＤＲ２をデコードすることで、３本の書込み制御信号ＷＳ１，ＷＳ２，ＷＳ３を生成する。これら書込み制御信号ＷＳ１，ＷＳ２，ＷＳ３は、それぞれ、レジスタ５３，５４，５５に供給される。レジスタ５３〜５５は、制御端子ＣＳに入力する信号のレベルが高レベル（書込み制御信号の論理値が「１」）となる期間に、データ端子Ｄに入力するデータ信号を保持（ラッチ）し、それ以外のレベルの信号が制御端子ＣＳに入力する期間には、入力するデータ信号を保持しない。
【００６６】
また、第１〜第３制御レジスタ１０１〜１０３は、メインＣＰＵ１０の制御によって、メインＣＰＵ１０及びサブＣＰＵ１１の各々の複数のレジスタ５３，５４，５５に対する書込み権限の有無をビット単位で定める設定値を保持する。具体的には、デコーダ１００は、メインＣＰＵ１０とサブＣＰＵ１１とが発したアドレス信号ＡＤＲ１，ＡＤＲ２に基づいて書込み制御信号ＣＣＳ１，ＣＣＳ２，ＣＣＳ３を生成し、第１〜第３制御レジスタ１０１〜１０３に供給している。第１〜第３制御レジスタ１０１〜１０３は、それぞれ、制御端子ＣＳに入力する信号ＣＣＳ１，ＣＣＳ２，ＣＣＳ３のレベルが高レベル（書込み制御信号の論理値が「１」）となる期間に、端子Ｄに入力するデータ信号ＷＤＴ１を保持（ラッチ）し、それ以外のレベルの信号が制御端子ＣＳに入力する期間には、入力するデータ信号ＷＤＴ１を保持しない。
【００６７】
第１〜第３制御レジスタ１０１〜１０３がそれぞれ保持する３２ビットの制御データの各ビット値は、レジスタ５３，５４，５５に対する書込み権限の有無を定める設定値を示すものである。第１制御レジスタ１０１は第１のレジスタ５３に対応する制御データを保持し、第２制御レジスタ１０２は第２のレジスタ５４に対応する制御データを保持し、第３制御レジスタ１０３は第３のレジスタ５５に対応する制御データを保持する。図８に、第１制御レジスタ１０１が保持する制御データ１０１Ｄを模式的に例示する。制御データ１０１Ｄは、０番目〜３１番目のビット位置にそれぞれ「０」〜「０」の１ビットの設定値を有している。本実施形態の場合、「０」の設定値がメインＣＰＵ１０の書込み権限を、「１」の設定値がサブＣＰＵ１１の書込み権限をそれぞれ表している。
【００６８】
また、図８には、第１のレジスタ５３が保持する保持データ５３Ｄを模式的に例示している。同図に示す通り、制御データ１０１Ｄの各ビットの設定値がデータ５３Ｄの各ビットに対応している。すなわち、設定値は、メインＣＰＵ１０及びサブＣＰＵ１１のレジスタ５３の各ビットに対する書込み権限を規定する。同図に示す例では、レジスタ５３に対するメインＣＰＵ１０の書込み権限は、０番目、２番目、…、３１番目のビットに設定され、レジスタ５３に対するサブＣＰＵ１１の書込み権限は、１番目、…、９番目、１０番目、…のビットに設定されている。
【００６９】
図７に示すように、第１セレクタ１０４は、デコーダ１００から供給される選択制御信号ＳＣ２の値に応じて、第１〜第３制御レジスタ１０１〜１０３から出力された３本の制御データ信号のうち何れかの信号ＳＤ１を選択して第１選択回路１０６に出力する。また第２セレクタ１０５は、前記選択制御信号ＳＣ２の値に応じて、第１〜第３のレジスタ５３〜５５から読み出されフィードバックした３本の保持データ信号のうち何れかの信号ＳＤ２を選択して第１選択回路１０６に出力する。さらに、第１システムバス３０からの入力データ信号ＷＤＴ１と、第２システムバス３１からの入力データ信号ＷＤＴ２とが第１選択回路１０６に並列に入力している。
【００７０】
第１選択回路１０６は、第１セレクタ１０４から入力した制御データ信号ＳＤ１の各設定値に応じて、入力データ信号ＷＤＴ１、ＷＤＴ２とレジスタ５３〜５５からフィードバックした保持データ信号ＳＤ２とからビット単位で信号を選択して、２本のデータ信号ＳＤＡ，ＳＤＢを生成し出力する機能を有する。
【００７１】
具体的には、第１選択回路１０６は、３２個のインバータを有するインバータ回路１１０，１１１，１１２と、３２個のＡＮＤ素子を有するＡＮＤ回路１１３，１１４，１１５，１１６と、３２個のＯＲ素子を有するＯＲ回路１１７，１１８とで構成される。インバータ回路１１０，１１１，１１２は、それぞれ、３２ビットの入力信号をビット単位で反転する。またＡＮＤ回路１１３，１１４，１１５，１１６は、それぞれ、２本の３２ビットの入力信号をビット単位で論理積演算する。すなわち、ＡＮＤ回路１１３，１１４，１１５，１１６は、一方の入力信号のｉ番目（ｉ：０〜３１の整数）ビットと他方の入力信号のｉ番目ビットとを論理積演算して得られる演算結果を出力する。そして、ＯＲ回路１１７，１１８は、２本の３２ビットの入力信号をビット単位で論理和演算する。すなわち、ＯＲ回路１１７，１１８は、一方の入力信号のｊ番目（ｊ：０〜３１の整数）ビットと他方の入力信号のｊ番目ビットとを論理和演算して得られる演算結果を出力する。
【００７２】
この第１選択回路１０６において、第１セレクタ１０４からの３２ビット信号ＳＤ１は、インバータ回路１１０，１１２とＡＮＤ回路１１５とに入力する。ＡＮＤ回路１１３は、インバータ回路１１０の出力信号とデータ信号ＷＤＴ１とを論理積演算する。またＡＮＤ回路１１４は、第２セレクタ１０５からの３２ビット信号ＳＤ２とインバータ回路１１１の出力信号とを論理積演算する。そして、ＯＲ回路１１７は、ＡＮＤ回路１１３，１１４の出力信号を論理和演算し、その演算結果であるデータ信号ＤＴＡを第２選択回路１０７に出力する。一方、ＡＮＤ回路１１５は、第１セレクタ１０４からの３２ビット信号ＳＤ１とデータ信号ＷＤＴ２とを論理積演算する。またＡＮＤ回路１１６は、インバータ回路１１２の出力信号と第２セレクタ１０５からの３２ビット信号ＳＤ２とを論理積演算する。そして、ＯＲ回路１１８は、ＡＮＤ回路１１５，１１６の出力信号を論理和演算し、その演算結果であるデータ信号ＤＴＢを第２選択回路１０７に出力する。
【００７３】
したがって、制御データ信号ＳＤ１のｉ番目（ｉ：０〜３１）ビット値が「０」となる場合、第１のＯＲ回路１１７の出力信号ＤＴＡのｉ番目ビット値は、入力データ信号ＷＤＴ１のｉ番目ビット値となり、また第２のＯＲ回路１１８の出力信号のｉ番目ビット値は、保持データ信号ＳＤ２のｉ番目ビット値となる。他方、制御データ信号ＳＤ１のｉ番目ビット値が「１」となる場合は、第１のＯＲ回路１１７の出力信号ＤＴＡのｉ番目ビット値は、保持データ信号ＳＤ２のｉ番目ビット値となり、また第２のＯＲ回路１１８の出力信号のｉ番目ビット値は、入力データ信号ＷＤＴ２のｉ番目ビット値となる。
【００７４】
上記第１選択回路１０６の出力結果の例を図９に示す。図９には、制御データ信号ＳＤ１、保持データ信号ＳＤ２、入力データ信号ＷＤＴ１，ＷＤＴ２、及び、第２選択回路１０７に出力されるデータ信号ＤＴＡ，ＤＴＢのデータ構造が模式的に示されている。本例では、制御データ信号ＳＤ１は、各ビット位置に「０」，「１」，…の値を有している。また説明の便宜上、保持データ信号ＳＤ２は各ビット位置に「Ｂ」，…の値を有し、入力データ信号ＷＤＴ１は各ビット位置に「Ｗ」，…の値を有し、データ信号ＷＤＴ２は各ビット位置に「Ｚ」，…の値を有するものとする（但し、「Ｂ」，「Ｗ」，「Ｚ」の値は「０」または「１」である）。このとき、図９に示すようにデータ信号ＤＴＡは「Ｗ」，「Ｂ」，「Ｗ」，…の値を有し、データ信号ＤＴＢは「Ｂ」，「Ｚ」，「Ｂ」，…の値を有することになる。
【００７５】
次に、第２選択回路１０７は、デコーダ１００から供給された１ビットの選択制御信号ＳＣ１の値に応じて、第１選択回路１０６から出力されたデータ信号ＤＴＡ，ＤＴＢからビット単位で信号を選択する機能を有する。図１０は、この第２選択回路１０７の構成を概略的に示すブロック図である。第２選択回路１０７は、データ信号ＤＴＡ，ＤＴＢのビット長に対応する３２個のセレクタ１０８０〜１０８３１を備えている。全セレクタ１０８０〜１０８３１の一方の入力端子Ｄ０，Ｄ０，…には、それぞれ、データ信号ＤＴＡを構成する１ビット信号が入力しており、他方の入力端子Ｄ１，Ｄ１，…には、それぞれ、データ信号ＤＴＢを構成する１ビット信号が入力している。またセレクタ１０８０〜１０８３１の制御端子ＳＥＬ，ＳＥＬ，…には、選択制御信号ＳＣ１が入力している。セレクタ１０８０〜１０８３１は、選択制御信号ＳＣ１の値に応じて入力端子Ｄ０，Ｄ１の何れか一方に入力する信号を選択して出力する。したがって、第２選択回路１０７は、データ信号ＤＴＡ，ＤＴＢのうち何れか一方の３２ビット信号をレジスタ５３〜５５に供給することができる。
【００７６】
以上の構成を有するライトコントローラ９９によって、第３の実施形態に係る信号処理システムは、上記第１の実施形態に係る信号処理システムと同様に、第１周辺モジュール１８Ｂの利用状況や処理状況に応じて当該第１周辺モジュール１８Ｂに対する制御権限を任意のマイクロプロセッサに切り換えることが可能である。さらに、状況に応じて、第１周辺モジュール１８Ｂを複数のマイクロプロセッサで同時に制御することができ、複数のマイクロプロセッサが第１周辺モジュール１８Ｂに対する制御権限を共有することが可能である。
【００７７】
また本実施形態に係る信号処理システムは、上記第２の実施形態と比べると、レジスタ５３，５４，５５（図６，図７）に対する書込み権限をビット単位で任意のマイクロプロセッサに設定できるため、複数のマイクロプロセッサによる周辺モジュールの制御を高度に且つ極めて高い自由度で実行できる。
【００７８】
さらに第２〜第４周辺モジュール１９〜２１（図１）も、実処理部５６の機能を除いて、第１周辺モジュール１８Ｂと同様の構成及び機能を有することから、本信号処理システムは、複数の周辺モジュール１８Ｂ，１９〜２１に対する制御権限を個別に設定できる。したがって、周辺処理を制御する点で極めて自由度の高いマルチプロセッサ構成の信号処理システムの構築が可能である。
【００７９】
＜第４の実施形態＞
次に、本発明の第４の実施形態について説明する。第４の実施形態に係る信号処理システムは、第１〜第４周辺モジュールの構成を除いて、図１に示した信号処理システム１と同じである。また本実施形態では、図１に示すライト権限コントローラ１６は必ずしも必要では無い。
【００８０】
図１１は、第４の実施形態に係る第１周辺モジュール１８Ｃの構成を概略的に示すブロック図である。この第１周辺モジュール１８Ｃは、第１〜第３同期回路４０〜４２、第１リードコントローラ４３、ライトコントローラ８０、第２リードコントローラ４５、記憶回路８７、第１〜第３選択回路８４〜８６及び実処理部５６を備えている。また、この第１周辺モジュール１８Ｃは、ライトコントローラ８０、記憶回路８７及び第１〜第３選択回路８４〜８６の構成を除いて、図２に示した第１周辺モジュール１８と同一構成及び同一機能を有している。このため、図１１に示す構成要素のうち、図２に示す構成要素と同じ符号を付されたものは、当該構成要素と同一構成及び同一機能を有するものとして、その詳細な説明が省略される。
【００８１】
第１〜第３選択回路８４〜８６は、それぞれ、ライトコントローラ８０から供給された選択制御信号Ｃ１，Ｃ２，Ｃ３の値に応じて、記憶回路８７から入力するデータ信号からビット単位で信号を選択する機能を有する。
【００８２】
また、ライトコントローラ８０は、メインＣＰＵ１０及びサブＣＰＵ１１のうち少なくとも一方のマイクロプロセッサの制御によって、前記第１〜第３選択回路８４〜８６に与える選択制御信号Ｃ１〜Ｃ３を生成する。図１２は、ライトコントローラ８０の構成例を概略的に示すブロック図である。ライトコントローラ８０は、第１及び第２のデコーダ９０Ａ，９０Ｂと複数の制御レジスタ９１〜９３とを備えている。
【００８３】
第１のデコーダ９０Ａは、メインＣＰＵ１０から発せられ且つ第１システムバス３０から入力したアドレス信号ＡＤＲ１をデコードすることで、３本の書込み制御信号ＷＳ１，ＷＳ２，ＷＳ３を生成する。これら３本の書込み制御信号ＷＳ１，ＷＳ２，ＷＳ３は、それぞれ、第１レジスタ８１Ａ、第３レジスタ８２Ａ及び第５レジスタ８３Ａに供給される。また第２のデコーダ９０Ｂは、サブＣＰＵ１１から発せられ且つ第２システムバス３１から入力したアドレス信号ＡＤＲ２をデコードすることで、３本の書込み制御信号ＷＳ４，ＷＳ５，ＷＳ６を生成する。これら３本の書込み制御信号ＷＳ４，ＷＳ５，ＷＳ６は、それぞれ、第２レジスタ８１Ｂ，第４レジスタ８２Ｂ及び第６レジスタ８３Ｂに供給される。これらレジスタ８１Ａ〜８３Ｂの中で、第１レジスタ８１Ａ、第３レジスタ８２Ａ及び第５レジスタ８３Ａは、書込み制御信号ＷＳ１〜ＷＳ３の値に応じて、メインＣＰＵ１０が発した入力データ信号ＷＤＴ１を保持（ラッチ）し、第２レジスタ８１Ｂ、第４レジスタ８２Ｂ及び第６レジスタ８３Ｂは、書込み制御信号ＷＳ４〜ＷＳ６の値に応じて、サブＣＰＵ１１が発したデータ信号ＷＤＴ２を保持（ラッチ）する。なお、レジスタ８１Ａ〜８３Ｂは、制御端子ＣＳに入力する信号のレベルが高レベル（書込み制御信号の論理値が「１」）となる期間に、データ端子Ｄに入力するデータ信号を保持（ラッチ）し、それ以外のレベルの信号が制御端子ＣＳに入力する期間には、入力するデータ信号を保持しない。
【００８４】
また、第１〜第３制御レジスタ９１〜９３は、メインＣＰＵ１０の制御によって、メインＣＰＵ１０及びサブＣＰＵ１１の各々の実処理部５６に対する制御権限をビット単位で定める設定値を保持する。具体的には、第１のデコーダ９０Ａは、メインＣＰＵ１０が発したアドレス信号ＡＤＲ１に基づいて書込み制御信号ＣＣＳ１，ＣＣＳ２，ＣＣＳ３を生成し、第１〜第３制御レジスタ９１〜９３に供給している。第１〜第３制御レジスタ９１〜９３は、それぞれ、制御端子ＣＳに入力するＣＣＳ１，ＣＣＳ２，ＣＣＳ３のレベルが高レベル（書込み制御信号の論理値が「１」）となる期間に、データ端子Ｄに入力するデータ信号ＷＤＴ１を保持（ラッチ）し、それ以外のレベルの信号が制御端子ＣＳに入力する期間には、入力するデータ信号ＷＤＴ１を保持しない。
【００８５】
第１〜第３制御レジスタ９１〜９３がそれぞれ保持する３２ビットの制御データの各ビット値は、実処理部５６に対する制御権限の有無を定める設定値を示すものである。図１３に、第１制御レジスタ９１が保持する制御データ９１Ｄを模式的に例示する。制御データ９１Ｄは、０番目，１番目〜３１番目のビット位置にそれぞれ「０」，「１」〜「０」の１ビットの設定値を有している。本実施形態の場合、「０」の設定値がメインＣＰＵ１０の制御権限を、「１」の設定値がサブＣＰＵ１１の制御権限をそれぞれ表している。この制御データ９１Ｄを持つ３２ビットの選択制御信号Ｃ１が、第１選択回路８４に供給される。他の第２制御レジスタ９２と第３制御レジスタ９３も、第１制御レジスタ９１と同様のデータ構造を有し、第２選択回路８５と第３選択回路８６に選択制御信号Ｃ２，Ｃ３を供給する。
【００８６】
図１４は、第１選択回路８４の構成を概略的に示すブロック図である。この第１選択回路８４は、第１レジスタ８１Ａ及び第２レジスタ８１Ｂが保持するデータ信号のビット長に対応する３２個のセレクタ８４０〜８４３１を備えている。全セレクタ８４０〜８４３１の一方の入力端子Ｄ０，Ｄ０，…には、それぞれ、第１レジスタ８１Ａの出力信号を構成する１ビット信号が入力しており、他方の入力端子Ｄ１，Ｄ１，…には、それぞれ、第２レジスタ８１Ｂの出力信号を構成する１ビット信号が入力している。またセレクタ８４０〜８４３１の制御端子ＳＥＬ，ＳＥＬ，…には、それぞれ、選択制御信号Ｃ１を構成する１ビットの制御信号ＣＳ０〜ＣＳ３１が入力している。セレクタ８４０〜８４３１は、それぞれ、制御信号ＣＳ０〜ＣＳ３１の値に応じて入力端子Ｄ０，Ｄ１の何れか一方に入力する信号を選択して出力する。これにより、第１選択回路８４は、第１レジスタ８１Ａと第２レジスタ８１Ｂとの出力信号のビットを混成して得られる３２ビット信号を実処理部５６に供給することができる。
【００８７】
他の第２選択回路８５及び第３選択回路８６も、第１選択回路８４と同じ構成を有しており、第２選択回路８５は、選択制御信号Ｃ２の各ビット値に応じて、第３レジスタ８２Ａと第４レジスタ８２Ｂとの出力信号のビットを混成して得られるデータ信号を出力し、第３選択回路８６は、選択制御信号Ｃ３の各ビット値に応じて、第５レジスタ８３Ａと第６レジスタ８３Ｂとの出力信号のビットを混成して得られるデータ信号を出力する。
【００８８】
したがって、メインＣＰＵ１０が、第１〜第３制御レジスタ９１〜９３に制御データを与えて保持させることで、実処理部５６に対する制御権限を任意のマイクロプロセッサ（メインＣＰＵ１０またはサブＣＰＵ１１）に切り換えることができる。しかも、状況に応じて、第１周辺モジュール１８Ｃを複数のマイクロプロセッサで同時に制御することができ、複数のマイクロプロセッサが第１周辺モジュール１８Ｃに対する制御権限を共有することが可能である。
【００８９】
また、本実施形態に係る信号処理システムは、第１〜第３選択回路８４〜８６が選択する信号をビット単位で制御できるため、上記第３の実施形態と同様に、複数のマイクロプロセッサによる周辺モジュールの制御を高度に且つ極めて高い自由度で実行できる。
【００９０】
さらに第２〜第４周辺モジュール１９〜２１（図１）も、実処理部５６の機能を除いて、第１周辺モジュール１８Ｃと同様の構成及び機能を有することから、本信号処理システムは、複数の周辺モジュール１８Ｃ，１９〜２１に対する制御権限を個別に設定できる。したがって、周辺処理を制御する点で極めて自由度の高いマルチプロセッサ構成の信号処理システムの構築が可能である。
【００９１】
以上、第１〜第４の実施形態について説明した。本発明は、上記各実施形態に係る周辺モジュールを組み合わせた信号処理システムも含む。例えば、図１に示す信号処理システム１において、第２周辺モジュール１９が第２の実施形態に係る第１周辺モジュール１８Ａと同一構成を有し、第３周辺モジュール２０が第３の実施形態に係る第１周辺モジュール１８Ｂと同一構成を有し、第４周辺モジュール２１が第４の実施形態に係る第１周辺モジュール１８Ｃと同一構成を有する構成を採用してもよい。
【００９２】
【発明の効果】
以上の如く、本発明に係る信号処理システムによれば、各マイクロプロセッサ毎にバスが用意され、全てのバスが周辺モジュールに接続されているため、バスの競合を回避できる。また周辺モジュールの記憶回路にデータ信号を書き込む権限を任意のマイクロプロセッサに設定できるため、何れのマイクロプロセッサも周辺モジュールを直接制御できる。したがって、周辺モジュールの利用状況や処理状況に応じて当該周辺モジュールに対する制御権限を任意のマイクロプロセッサに切り換えることが可能である。
【図面の簡単な説明】
【図１】本発明の第１の実施形態に係る信号処理システムを概略的に示すブロック図である。
【図２】第１の実施形態に係る第１周辺モジュールの構成を概略的に示すブロック図である。
【図３】本発明の第２の実施形態に係る第１周辺モジュールの構成を概略的に示すブロック図である。
【図４】第２の実施形態に係るライトコントローラの構成を概略的に示すブロック図である。
【図５】制御レジスタが保持するデータを模式的に例示する図である。
【図６】本発明の第３の実施形態に係る第１周辺モジュールの構成を概略的に示すブロック図である。
【図７】第３の実施形態に係るライトコントローラと記憶回路と選択回路との構成を概略的に示すブロック図である。
【図８】第３の実施形態に係るライトコントローラの制御レジスタが保持する制御データを模式的に例示する図である。
【図９】第３の実施形態に係るライトコントローラの第１選択回路の出力結果を説明するための図である。
【図１０】第３の実施形態に係るライトコントローラの第２選択回路の構成を概略的に示すブロック図である。
【図１１】第４の実施形態に係る第１周辺モジュールの構成を概略的に示すブロック図である。
【図１２】第４の実施形態に係る第１周辺モジュールのライトコントローラの構成を概略的に示すブロック図である。
【図１３】第４の実施形態に係る第１周辺モジュールの第１制御レジスタが保持する制御データを模式的に例示する図である。
【図１４】第４の実施形態に係る第１周辺モジュールの第１選択回路の構成を概略的に示すブロック図である。
【符号の説明】
１  信号処理システム
２  ＲＯＭ
３  ＲＡＭ
１０，１１  ＣＰＵ
１２，１３  ＢＩＵ
１４  ＭＩＵ
１５  ＤＭＡコントローラ
１６  ライト権限コントローラ
１７  クロック生成部
１８〜２１  周辺モジュール
３０，３１  システムバス
３２  ＤＭＡバス
【図１】
2004171194.tif 000003
【図２】
2004171194.tif 000004
【図３】
2004171194.tif 000005
【図４】
2004171194.tif 000006
【図５】
2004171194.tif 000007
【図６】
2004171194.tif 000008
【図７】
2004171194.tif 000009
【図８】
2004171194.tif 000010
【図９】
2004171194.tif 000011
【図１０】
2004171194.tif 000012
【図１１】
2004171194.tif 000013
【図１２】
2004171194.tif 000014
【図１３】
2004171194.tif 000015
【図１４】
2004171194.tif 000016