JP4437386B2 - 信号処理システム - Google Patents
信号処理システム Download PDFInfo
- Publication number
- JP4437386B2 JP4437386B2 JP2002335107A JP2002335107A JP4437386B2 JP 4437386 B2 JP4437386 B2 JP 4437386B2 JP 2002335107 A JP2002335107 A JP 2002335107A JP 2002335107 A JP2002335107 A JP 2002335107A JP 4437386 B2 JP4437386 B2 JP 4437386B2
- Authority
- JP
- Japan
- Prior art keywords
- signal
- control
- data
- write
- processing system
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Description
【発明の属する技術分野】
本発明は、複数のマイクロプロセッサを搭載する信号処理システムに関する。
【0002】
【従来の技術】
従来から、制御用や通信用のシステムLSIとして、複数のCPUを搭載したマルチプロセッサ構成のものが存在する。単一のCPUを搭載したシステムLSIにおいては、CPUは、プログラム命令を実行している途中で割込み要求を受けた場合、現在実行中の命令のアドレスやステータスレジスタの情報などをスタックに待避させた後で、割込み処理のプログラムを実行する。割込み処理が終了した後は、CPUは、スタックに保存していたステータスレジスタの情報やアドレスを読み出して、割込み要求発生前の処理を継続して実行する。
【0003】
しかしながら、単一のCPUでは、割込み要求が発生してから、割込み処理の結果を出力する迄の応答時間が長くなり易く、高いリアルタイム性を確保できない場合がある。特にリアルタイムOS(リアルタイム・オペレーティング・システム)で動作するシステムLSIには高いリアルタイム性が要求される。そこで、マルチプロセッサ構成が採用されており、メインCPUが通常のプログラム命令を実行している間に割込み要求が発生したときは、サブCPUにその割込み処理を実行させる。これにより、リアルタイム性の高い処理が可能になる。この種のマルチプロセッサ構成は、例えば特許文献1に開示されている。
【0004】
【特許文献1】
特開平07−098692号公報
【0005】
【発明が解決しようとする課題】
一般にシステムLSIは、入出力コントローラや割込みコントローラ、外部インターフェース回路などの複数の周辺モジュールを搭載している。一般的なマルチプロセッサ構成のシステムLSIでは、メインCPUは全ての周辺モジュールを制御できても、サブCPUが直接制御できる周辺モジュールは限定されていた。サブCPUは、メインCPUを介して当該メインCPUの管理する周辺モジュールを制御するという構成が採用されている。このため、システムLSIを設計し製造した後では、メインCPUとサブCPU間で周辺モジュールに対する制御権限を状況に応じて自在に変更できないという自由度の低さがあった。
【0006】
以上の状況に鑑みて本発明の目的は、(1)複数のマイクロプロセッサ間で周辺モジュールに対する制御権限を自在に変更し得るマルチプロセッサ構成の信号処理システムを提供すること、(2)複数のマイクロプロセッサが周辺モジュールに対する制御権限を共有し得るマルチプロセッサ構成の信号処理システムを提供することにある。
【0007】
【課題を解決するための手段】
上記目的を達成するため、第1の発明は、N個(N:2以上の整数)のマイクロプロセッサを搭載する信号処理システムであって、前記N個のマイクロプロセッサに一対一対応で接続される信号伝達用のN本のバスと、前記N本のバスの全てに接続される複数の周辺モジュールと、備え、前記N本のバスは、それぞれ、アドレス信号を伝送するアドレス・バスとデータ信号を伝送するデータ・バスとを備えており、前記複数の周辺モジュールは、それぞれ前記バスを伝達した前記データ信号を保持する記憶回路と、前記記憶回路が保持するデータ信号によって制御される周辺処理を実行する実処理部と、前記N個のマイクロプロセッサの中の少なくとも1個のマイクロプロセッサの制御によって、前記記憶回路に前記データ信号を書き込む書込み権限を、前記N個のマイクロプロセッサの中の少なくとも1個のマイクロプロセッサに設定するライトコントローラと、備え、前記記憶回路は複数のレジスタから構成されており、前記ライトコントローラは、前記N個のマイクロプロセッサの中の少なくとも1個のマイクロプロセッサの制御によって、前記N個のマイクロプロセッサの各々の前記複数のレジスタに対する前記書込み権限の有無を前記レジスタ単位で定める設定値を保持する制御レジスタを備えている。
【0013】
第2の発明は、第1の発明の信号処理システムにおいて、前記ライトコントローラは、前記N個のマイクロプロセッサから発せられ前記N本のバスを伝達したN本の前記アドレス信号をデコードすることで各前記アドレス信号に対応する書込み制御信号を生成するデコーダと、前記制御レジスタが保持する前記設定値に応じて、前記デコーダから出力された複数本の前記書込み制御信号の中から所定の前記書込み制御信号を選択し、選択した当該書込み制御信号を当該設定値に対応する当該レジスタに出力する選択回路と、を更に備え、前記複数のレジスタは、それぞれ、前記書込み制御信号の値に応じて前記データ信号を保持する機能を有する。
【0014】
第3の発明では、第1または第2の発明の信号処理システムにおいて、前記ライトコントローラは、前記N本のアドレス信号に基づいて選択制御信号を生成するアービタと、前記アービタから出力された前記選択制御信号の値に応じて、前記N本のバスを伝達したN本の前記データ信号の中から1本のデータ信号を選択して前記複数のレジスタに出力するセレクタと、を備えたものである。
【0015】
第4の発明は、N個(N:2以上の整数)のマイクロプロセッサを搭載する信号処理システムであって、前記N個のマイクロプロセッサに一対一対応で接続される信号伝達用のN本のバスと、前記N本のバスの全てに接続される複数の周辺モジュールと、備え、前記N本のバスは、それぞれ、アドレス信号を伝送するアドレス・バスとデータ信号を伝送するデータ・バスとを備えており、前記複数の周辺モジュールは、それぞれ前記バスを伝達した前記データ信号を保持する記憶回路と、前記記憶回路が保持するデータ信号によって制御される周辺処理を実行する実処理部と、前記N個のマイクロプロセッサの中の少なくとも1個のマイクロプロセッサの制御によって、前記記憶回路に前記データ信号を書き込む書込み権限を、前記N個のマイクロプロセッサの中の少なくとも1個のマイクロプロセッサに設定するライトコントローラとを備え、前記ライトコントローラは、前記N個のマイクロプロセッサの中の少なくとも1個のマイクロプロセッサの制御によって、前記N個のマイクロプロセッサの各々の前記記憶回路に対する前記書込み権限の有無をビット単位で定める設定値を保持する制御レジスタを備える。
【0016】
第5の発明では、第4の発明の信号処理システムにおいて、前記ライトコントローラは、前記アドレス信号をデコードして生成した書込み制御信号を出力するデコーダと、前記制御レジスタが保持する前記設定値に応じて、前記N本のバスを伝達したN本の前記データ信号から、前記書込み権限を付与された当該マイクロプロセッサから伝達したデータ信号をビット単位で選択して出力する選択回路と、を更に備え、前記記憶回路は、前記書込み制御信号の値に応じて、前記選択回路から出力された信号を保持する機能を有する。
【0017】
第6の発明では、第4または第5の発明の信号処理システムにおいて、前記選択回路は、前記記憶回路から読み出されたデータ信号と前記バスを伝達した前記データ信号とからビット単位で選択した信号を出力する機能を有する。
【0018】
第7の発明は、第5または第6の発明の信号処理システムであって、複数のレジスタからなる前記記憶回路と、供給される選択制御信号の値に応じて、前記複数のレジスタから読み出された複数本のデータ信号の何れか1本のデータ信号を選択して前記選択回路に出力するセレクタと、を備えており、前記デコーダは、前記アドレス信号をデコードすることで各前記レジスタ毎に前記書込み制御信号を生成すると共に前記選択制御信号を生成するものである。
【0019】
次に、第8の発明は、N個(N:2以上の整数)のマイクロプロセッサを搭載する信号処理システムであって、前記N個のマイクロプロセッサに一対一対応で接続される信号伝達用のN本のバスと、前記N本のバスの全てに接続される複数の周辺モジュールと、を備え、前記N本のバスは、それぞれ、アドレス信号を伝送するアドレス・バスとデータ信号を伝送するデータ・バスとを備えており、前記複数の周辺モジュールは、それぞれ前記データ信号を保持する複数のレジスタからなる記憶回路と、選択制御信号の値に応じて、前記複数のレジスタから出力された複数本のデータ信号から選択した信号を出力する選択回路と、前記選択回路から出力された前記信号によって制御される周辺処理を実行する実処理部と、前記N個のマイクロプロセッサの中の少なくとも1個のマイクロプロセッサの制御によって前記選択制御信号を生成するライトコントローラと、を備え、前記ライトコントローラは、前記マイクロプロセッサの制御によって、前記N個のマイクロプロセッサの各々の前記実処理部に対する制御権限の有無を定める設定値を保持する制御レジスタと、前記アドレス信号をデコードして書込み制御信号を生成し前記複数のレジスタに出力するデコーダと、を備えており、前記選択制御信号は前記設定値を含み、前記設定値は前記複数のレジスタから出力された前記データ信号をビット単位で選択する情報を有し、前記複数のレジスタは、それぞれ、前記書込み制御信号の値に応じて前記データ信号を保持する機能を有し、前記選択回路は、前記制御レジスタが保持する前記設定値に応じて、前記複数のレジスタから出力された前記データ信号からビット単位で信号を選択して出力する機能を有するものである。
【0022】
第9の発明では、第1〜第8の発明の何れかの信号処理システムにおいて、前記N個のマイクロプロセッサは、2個のマイクロプロセッサからなるものである。
【0023】
そして、第10の発明では、第1〜第9の発明の何れかの信号処理システムにおいて、前記複数の周辺モジュールは、それぞれ前記記憶回路から出力された前記データ信号を取り込み、前記N本のバスに出力させるリードコントローラ、を更に備える。
【0024】
【発明の実施の形態】
以下、本発明の種々の実施形態について説明する。
【0025】
<第1の実施形態;信号処理システムの構成>
図1は、本発明の第1の実施形態に係る信号処理システム1を概略的に示すブロック図である。この信号処理システム1は、メインCPU10とサブCPU11を搭載したマルチプロセッサ構成を有する集積回路である。なお、本実施形態では、信号処理システム1は2個のマイクロプロセッサ10,11を搭載しているが、本発明では2個に限らずN個(N:3以上の整数)のマイクロプロセッサを搭載した信号処理システムを構築することが可能である。
【0026】
また、本実施形態においては、この信号処理システム1は、デジタル・カメラなどの撮像装置に搭載され、その撮像装置に搭載される各種センサ(オートフォーカス用の測距センサなど)に対する制御処理や画像処理などに好適に使用される。
【0027】
この信号処理システム1は、メインBIU(バス・インターフェース・ユニット;Bus Interface Unit)12、サブBIU13、MIU(メモリ・インターフェース・ユニット;Memory Interface Unit)14、DMA(ダイレクト・メモリ・アクセス)コントローラ15、クロック生成部17、ライト権限コントローラ16、第1〜第4周辺モジュール18〜21及び3本の信号伝達用のバス30,31,32を備えている。
【0028】
第1〜第4周辺モジュール18〜21としては、具体的には、入出力コントローラ、割込みコントローラ、信号圧縮伸長回路に対応するインターフェース回路、カードインターフェース回路、その他各種インターフェース回路などが挙げられる。ライト権限コントローラ16は、メインCPU10の制御により、これら第1〜第4周辺モジュール18〜21に選択制御信号SL1〜SL4を生成し供給している。
【0029】
MIU14は、外部のROM(Read Only Memory)2とRAM(Random Access Memory)3とに接続されている。ROM2は、信号処理システム1を動作させるプログラムや文字データや制御データなどを記憶し、またRAM3は、プログラムの実行過程で発生したデータを一時的に保存する領域やスタック領域として使用される。メインCPU10やサブCPU11はアドレス信号AD1,AD2及び制御信号CT1,CT2を発し、MIU14及びシステムバス30,31を介して、ROM2やRAM3にアドレス信号AD3,AD4及び制御信号CT3,CT4を供給する。これにより、メインCPU10やサブCPU11は、MIU14及びシステムバス30,31を介して、ROM2やRAM3との間でデータ信号DT1,DT2(またはDT3,DT4)をやり取りすることができる。またメインCPU10やサブCPU11は、ROM2に記憶されているプログラムを読み込み、実行する。なお、本実施形態では、ROM2とRAM3は信号処理システム1の外部に配設されるが、本発明ではこの限りでは無く、ROM2及びRAM3の一方または双方を信号処理システム1の内部に組み込んでもよい。また信号処理システム1の内部に、サブCPU11専用のROMやプログラム格納用またはデータ格納用のRAMなどを内蔵してもよい。
【0030】
クロック生成部17は、内蔵するPLL回路(図示せず)が出力する基準クロック信号を用いて、信号処理システム1を構成するすべての機能ブロックに供給するシステムクロックCCK1,CCK2,MCK,PCK1〜PCK4などを生成する。メインCPU10とメインBIU12は、システムクロックCCK1を使用して動作し、サブCPU11とサブBIU13は、システムクロックCCK2を使用して動作する。またMIU14、DMAコントローラ15及び第1〜第4周辺モジュール18〜21は、メモリクロックMCKを共用する。また第1〜第4周辺モジュール18〜21は、それぞれ、モジュールクロックPCK1,PCK2,PCK3,PCK4の供給を受けて動作する。
【0031】
また3本のバス30,31,32は、それぞれ、アドレス信号を伝送するアドレス・バスとデータ信号を伝送するデータ・バスと制御信号を伝送する制御バスとで構成されている。第1システムバス30はメインBIU12を介してメインCPU10に接続され、第2システムバス31はサブBIU13を介してサブCPU11に接続されている。このように本信号処理システム1は、2個のCPU10,11に一対一対応で接続される2本のシステムバス30,31を有している。言い換えれば、2個のCPU10,11はそれぞれ専用のバス30,31を有していることになる。また第1システムバス30及び第2システムバス31の双方に、MIU14および第1〜第4周辺モジュール18〜21が接続されている。
【0032】
またDMAコントローラ15は、第1システムバス30とDMAバス32とに接続されており、第1〜第3周辺モジュール18〜20とMIU14とは、DMAバス32に接続されている。DMAコントローラ15は、メインCPU10の指示により、MIU14および第1〜第3周辺モジュール18〜20のうち任意の機能ブロック間でDMAバス32を介したDMA転送を実行する機能を有する。
【0033】
<第1の実施形態;第1周辺モジュールの構成>
次に、第1の実施形態に係る第1周辺モジュール18の構成を説明する。図2は、第1周辺モジュール18の構成を概略的に示すブロック図である。この第1周辺モジュール18は、第1〜第3同期回路40〜42、第1リードコントローラ43、ライトコントローラ44、第2リードコントローラ45、記憶回路57及び実処理部(Actual processing part)56を備えている。なお、図1に示す他の第2〜第4周辺モジュール19〜21は、それぞれ、実処理部56の機能を除いて第1周辺モジュール18と同一構成及び同一機能を有している。
【0034】
第1同期回路40は、第1CPUクロックCCK1とモジュールクロックPCK1とを用いて、第1周辺モジュール18に対して入出力する信号の同期処理を実行する機能を有し、第2同期回路41は、第2CPUクロックCCK2とモジュールクロックPCK1とを用いて、第1周辺モジュール18に入出力する信号の同期処理を実行する機能を有している。また第1同期回路40は、上記第1システムバス30を伝達するアドレス信号ADR1及びデータ信号RDT1,WDT1の同期処理を実行し、第2同期回路41は、上記第2システムバス31を伝達するアドレス信号ADR2及びデータ信号RDT2,WDT2の同期処理を実行する。また第3同期回路42は、メモリクロックMCKとモジュールクロックPCK1とを用いて、実処理部56と外部の機能ブロックとの間でDMA転送されるデータ信号RDT0,WDT0の同期処理を実行する。
【0035】
第1周辺モジュール18の内部を伝達するデータ信号のビット長と、第1システムバス30のデータ・バスのビット幅とは共に32ビットである。第2同期回路41は、第2システムバス31を構成するデータ・バスのビット幅が32ビット未満である場合に、入力するデータ信号WDT2を32ビット信号に変換する回路と、出力するデータ信号を第2システムバス31を構成するデータ・バスのビット幅の信号RDT2に変換する回路とを備えている。
【0036】
なお、本明細書では、説明の便宜上、第1周辺モジュール18の内部の信号とその外部の信号とを表す記号を区別しないこととする。例えば、第1システムバス30を伝達する外部のデータ信号WDT1は、第1同期回路40で内部信号に変換されても、その内部信号をデータ信号WDT1と呼ぶ。
【0037】
記憶回路57は3個のレジスタ53〜55から構成されており、各レジスタ53〜55は、制御端子CSに入力する書込み制御信号WS1〜WS3のレベルが高レベル(書込み制御信号の論理値が「1」)となる期間に、データ端子Dに入力する32ビットのデータ信号を保持(ラッチ)する機能を有している。なお、レジスタ53〜55は、制御端子CSから入力する書込み制御信号WS1〜WS3のレベルが低レベル(書込み制御信号の論理値が「0」)となる期間にはデータ端子Dへの入力信号を保持しない。
【0038】
実処理部56は、割込みコントローラまたは各種インターフェース回路などの実際の周辺処理を実行する機能ブロックであり、周辺処理は、前記記憶回路57から出力され実処理部56に入力するデータ信号によって制御される。
【0039】
またライトコントローラ44は、メインCPU10の制御によって、前記記憶回路57にデータ信号WDT1またはWDT2を書き込む権限(以下、書込み権限と呼ぶ。)を何れか一方のマイクロプロセッサに設定する機能を有する。このライトコントローラ44は、書込み権限を設定したマイクロプロセッサのみに記憶回路57へのデータ信号の書込みを許可する。
【0040】
具体的には、ライトコントローラ44は、第1セレクタ48、第2セレクタ50及びデコーダ49を備えている。第1セレクタ48と第2セレクタ50は、ライト権限コントローラ16から伝達した選択制御信号SL1の値に応じて、入力端子D0,D1に入力した2本の信号の何れか一方を選択し、出力端子Qから出力する。第1セレクタ48の入力端子D0,D1には、それぞれ、メインCPU10から発せられ第1システムバス30を伝達したアドレス信号ADR1と、サブCPU11から発せられ第2システムバス31を伝達したアドレス信号ADR2とが入力している。第1セレクタ48は、選択制御信号SL1の値に応じてアドレス信号ADR1,ADR2の一方を選択してデコーダ49に出力する。またデコーダ49は、第1セレクタ48が出力したアドレス信号をデコードして、各レジスタ毎に書込み制御信号WS1,WS2,WS3を生成し出力する。一方、第2セレクタ50の入力端子D0,D1には、それぞれ、メインCPU10から発せられ第1システムバス30を伝達したデータ信号WDT1と、サブCPU11から発せられ第2システムバス31を伝達したデータ信号WDT2とが入力している。第2セレクタ50は、選択制御信号SL1の値に応じて2本のデータ信号WDT1,WDT2の何れか一方を選択して記憶回路57に出力する。
【0041】
このような構成により、ライトコントローラ44は、メインCPU10の制御によって発生した選択制御信号SL1の値に応じて、記憶回路57に対する書込み権限をメインCPU10とサブCPU11との何れか一方に設定する。書込み権限がメインCPU10に設定された場合、メインCPU10が発したデータ信号WDT1が記憶回路57に供給され、デコーダ49は、メインCPU10が発したアドレス信号ADR1をデコードして書込み制御信号WS1〜WS3を生成する。したがって、メインCPU10は、レジスタ53〜55にデータ信号WDT1を書き込むことで実処理部56における周辺処理を制御することが可能であり、データ信号WDT1の書込み制御をレジスタ単位で実行できる。同様に、書込み権限がサブCPU11に設定された場合は、サブCPU11は、レジスタ53〜55にデータ信号WDT2を書き込むことで実処理部56における周辺処理を制御できる。
【0042】
また、レジスタ53〜55が出力したデータ信号は、実処理部56に入力させられると共に、第1リードコントローラ43と第2リードコントローラ45とにも入力させられる。また実処理部56は内部の処理状態を示すステータス信号SSを第1リードコントローラ43と第2リードコントローラ45とに出力している。
【0043】
第1リードコントローラ43はデコーダ46とセレクタ47とを備えている。デコーダ46は、メインCPU10から発せられ伝達したアドレス信号ADR1をデコードして選択制御信号を生成し、セレクタ47に出力する。セレクタ47の入力端子D0,D1,D2,D3には、レジスタ53〜55から入力する3本のデータ信号とステータス信号SSとが入力している。このセレクタ47は、デコーダ46から入力する選択制御信号の値に応じて、前記3本のデータ信号及びステータス信号SSの中から何れか1本の信号を選択し、出力端子Qから第1同期回路40に出力する。第1同期回路40は、第1リードコントローラ43から入力した信号をデータ信号RDT1として第1システムバス30のデータ・バスに出力する。この結果、メインCPU10は、レジスタ53〜55が保持するデータ信号の値から、実処理部56に対する制御状態を検出できると共に、ステータス信号SSの値から、実処理部56の内部の処理状態を検出できる。なお、レジスタ53〜55に対するデータの読出しとその書込みの動作時には、リードパルスやライトパルスなどのタイミング信号も必要となるが、説明の便宜上、その種のタイミング信号に関する詳細な説明は省略する。
【0044】
また第2リードコントローラ45は、デコーダ51とセレクタ52とを備えており、第1リードコントローラ43と同様の動作を行う。デコーダ51は、サブCPU11から発せられ伝達したアドレス信号ADR2をデコードして選択制御信号を生成し、セレクタ52に出力する。セレクタ52の入力端子D0,D1,D2,D3には、レジスタ53〜55から入力する3本のデータ信号とステータス信号SSとが入力している。このセレクタ52は、デコーダ51から入力する選択制御信号の値に応じて、前記3本のデータ信号及びステータス信号SSの中から何れか1本の信号を選択し、出力端子Qから第2同期回路41に出力する。第2同期回路41は、第2リードコントローラ45から入力した信号をデータ信号RDT2として第2システムバス31のデータ・バスに出力する。この結果、サブCPU11は、レジスタ53〜55が保持するデータ信号の値から、実処理部56に対する制御状態を検出できると共に、ステータス信号SSの値から、実処理部56の内部の処理状態を検出できる。
【0045】
このように、メインCPU10とサブCPU11は、レジスタ53〜55の保持情報とステータス信号SSの情報とを常に待たされること無く読出すことができるため、信号処理システム1の応答性の向上が可能となる。
【0046】
上述したように上記信号処理システム1によれば、メインCPU10とサブCPU11との各々に専用のバス30,31が配設され、全てのバス30,31が第1周辺モジュール18に接続されているため、バスの競合を回避できる。また第1周辺モジュール18によれば、記憶回路57にデータ信号を書き込む権限を任意のマイクロプロセッサに設定できるため、任意のマイクロプロセッサが実処理部56を直接制御することができる。したがって、第1周辺モジュール18の利用状況や処理状況に応じて当該第1周辺モジュール18に対する制御権限を任意のマイクロプロセッサに切り換えることが可能である。
【0047】
また、第2〜第4周辺モジュール19〜21も、実処理部56の機能を除いて、第1周辺モジュール18と同様の構成及び機能を有することから、本信号処理システム1は、複数の周辺モジュール19〜21に対する制御権限を個別に設定できる。したがって、自由度の高いマルチプロセッサ構成の信号処理システムの構築が可能である。
【0048】
<第2の実施形態>
次に、本発明の第2の実施形態について説明する。第2の実施形態に係る信号処理システムは、第1〜第4周辺モジュール18〜21の構成を除いて、図1に示した信号処理システム1と同じである。また本実施形態では、図1に示すライト権限コントローラ16は必ずしも必要では無い。
【0049】
図3は、第2の実施形態に係る第1周辺モジュール18Aの構成を概略的に示すブロック図である。第1周辺モジュール18Aは、第1〜第3同期回路40〜42、第1リードコントローラ43、ライトコントローラ60、第2リードコントローラ45、記憶回路57及び実処理部56を備えている。この第1周辺モジュール18Aは、ライトコントローラ60を除いて図2に示した第1周辺モジュール18と同一構成及び同一機能を有している。このため、図3に示す構成要素のうち、図2に示す構成要素と同じ符号を付されたものは、当該構成要素と同一構成及び同一機能を有するものとして、その詳細な説明が省略される。
【0050】
ライトコントローラ60は、メインCPU10の制御によって、書込み権限をレジスタ単位で何れか一方のマイクロプロセッサに設定する機能を有する。ライトコントローラ60は、前記レジスタに書込み権限を設定したマイクロプロセッサのみに当該レジスタへのデータ信号の書込みを許可する。図4は、ライトコントローラ60の構成を概略的に示すブロック図である。このライトコントローラ60は、第1デコーダ61、第2デコーダ62、アービタ(調停回路)63、制御レジスタ64、データ・セレクタ65及び選択回路78を備えている。
【0051】
第1デコーダ61は、メインCPU10から発せられ第1システムバス30から入力したアドレス信号ADR1をデコードすることで、当該アドレス信号ADR1に対応する制御信号CTL及び書込み制御信号CS0,CS1,CS2を生成して出力する。また第2デコーダ62は、サブCPU11から発せられ第2システムバス31から入力したアドレス信号ADR2をデコードすることで、当該アドレス信号ADR2に対応する書込み制御信号CS3,CS4,CS5を生成して出力する。そして、アービタ63は、第1デコーダ61のデコード結果と第2デコーダ62のデコード結果とを用いて選択制御信号SCを生成し、データ・セレクタ65に供給する。
【0052】
制御レジスタ64は、メインCPU10の制御によって、メインCPU10及びサブCPU11の各々の複数のレジスタ53,54,55に対する書込み権限の有無をレジスタ単位で定める設定値を保持する。具体的には、制御レジスタ64は、メインCPU10から伝達したアドレス信号ADR1によって発生した制御信号CTLのレベルが高レベル(制御信号CTLの論理値が「1」)である期間に、メインCPU10から発せられた、端子Dに入力するデータ信号WDT1の上位3ビット信号を保持(ラッチ)する。また制御レジスタ64は、保持する上位3ビット信号中の1ビット信号をそれぞれ出力端子Q0,Q1,Q3から選択回路78に出力している。なお、制御レジスタ64は、制御信号CTLのレベルが低レベル(制御信号CTLの論理値が「0」)である期間には、端子Dに入力する信号を保持しない。
【0053】
制御レジスタ64が保持する3ビットの制御データを構成する各ビット値は、それぞれ、レジスタ53,54,55に対する書込み権限の有無を定める設定値を示すものである。図5に制御データ64Dを模式的に例示する。制御データ64Dは、0番目、1番目及び2番目のビット位置にそれぞれ「1」、「0」及び「1」の1ビットの設定値を保持している。本実施形態の場合、「0」の設定値がメインCPU10の書込み権限を、「1」の設定値がサブCPU11の書込み権限をそれぞれ表しており、また、0番目の設定値がレジスタ53に対する書込み権限を、1番目の設定値がレジスタ54に対する書込み権限を、2番目の設定値がレジスタ55に対する書込み権限をそれぞれ表している。よって、図5に示す例では、レジスタ54に対する書込み権限はメインCPU10に設定され、レジスタ53,55に対する書込み権限はサブCPU11に設定されている。そして制御レジスタ64の出力端子Q0からは、0番目の設定値(=1)を持つ1ビット信号が出力され、その出力端子Q1からは、1番目の設定値(=0)を持つ1ビット信号が出力され、その出力端子Q2からは、2番目の設定値(=1)を持つ1ビット信号が出力される。
【0054】
データ・セレクタ65の入力端子D1,D2には、それぞれ、メインCPU10から発せられたデータ信号WDT1と、サブCPU11から発せられたデータ信号WDT2とが入力している。データ・セレクタ65は、アービタ63から入力した選択制御信号SCの値に応じて、データ信号WDT1,WDT2のうち何れか一方を選択し、レジスタ53,54,55に出力している。
【0055】
また選択回路78は、制御レジスタ64から入力した信号が持つ0番目〜2番目の設定値に応じて、第1デコーダ61から入力する書込み制御信号CS0〜CS2と第2デコーダ62から入力する書込み制御信号CS3〜CS5とから、3本の制御信号を選択する。また選択回路78は、選択した制御信号を設定値に対応するレジスタに出力する。図5に示した設定値の例では、選択回路78は、レジスタ53,55に対する書込み権限をサブCPU11に定める設定値(=1)に応じて、第2デコーダ62から出力された書込み制御信号CS3,CS5を選択し、選択した書込み制御信号CS3,CS5をそれぞれレジスタ53,55に出力する。同時に、選択回路78は、レジスタ54に対する書込み権限をメインCPU10に定める設定値(=0)に応じて、第1デコーダ61から出力された書込み制御信号CS1を選択し、レジスタ54に出力する。
【0056】
具体的には、選択回路78は、インバータ66,70,74と、論理積素子(以下、AND素子と呼ぶ。)67,68,71,72,75,76と、論理和素子(以下、OR素子と呼ぶ。)69,73,77とで構成されている。制御レジスタ64から出力された1ビット信号は、それぞれ、インバータ66,70,74に入力すると共に、AND素子68,72,76に入力する。また、AND素子67は、インバータ66の出力信号と第1デコーダ61から入力した書込み制御信号CS0とを論理積演算し、AND素子71は、インバータ70の出力信号と第1デコーダ61から入力した書込み制御信号CS1とを論理積演算し、AND素子75は、インバータ74の出力信号と第1デコーダ61から入力した書込み制御信号CS2とを論理積演算する。また、AND素子68は、制御レジスタ64から入力した1ビット信号と第2デコーダ62から入力した書込み制御信号CS3とを論理積演算し、AND素子72は、制御レジスタ64から入力した1ビット信号と第2デコーダ62から入力した書込み制御信号CS4とを論理積演算し、AND素子76は、制御レジスタ64から入力した1ビット信号と第2デコーダ62から入力した書込み制御信号CS5とを論理積演算する。そして、OR素子69は、AND素子67,68の出力信号を論理和演算して得た書込み制御信号WS1をレジスタ53に出力し、OR素子73は、AND素子71,72の出力信号を論理和演算して得た書込み制御信号WS2をレジスタ54に出力し、OR素子77は、AND素子75,76の出力信号を論理和演算して得た書込み制御信号WS3をレジスタ55に出力する。
【0057】
レジスタ53に書込み制御信号WS1を出力する論理回路群66〜69の動作は以下の通りである。インバータ66に入力する1ビット信号の設定値が「0」の場合、AND素子68の出力信号のレベルは常に低レベルになるため、第1デコーダ61からAND素子67に入力する書込み制御信号CS0が選択され、書込み制御信号WS1としてOR素子69から出力される。他方、インバータ66に入力する1ビット信号の設定値が「1」の場合は、AND素子67の出力信号のレベルは常に低レベルになるため、第2デコーダ62からAND素子68に入力する書き込み制御信号CS3が選択され、書込み制御信号WS1としてOR素子69から出力される。他の論理回路群70〜73及び74〜77も、論理回路群66〜69と同様に動作する。
【0058】
以上の構成により、ライトコントローラ60は、制御レジスタ64に保持される設定値に応じて、複数のレジスタ53〜55に対する書込み権限をレジスタ単位でメインCPU10とサブCPU11との何れか一方に自在に設定できる。よって、或るレジスタ53,55に対する書込み権限をサブCPU11に設定し、他のレジスタ54に対する書込み権限をメインCPU10に設定するといったレジスタ単位の設定処理が可能である。
【0059】
なお、レジスタ53〜55に対してメインCPU10とサブCPU11とが同時にアクセスしようとしたときは、アービタ63が予め定めた規則に基づいて優先順位を決定し、当該優先順位に従ってデータ・セレクタ65に与える選択制御信号SCを生成する。このため、メインCPU10及びサブCPU11によるレジスタ53〜55への同時アクセスを防止できる。
【0060】
以上によって第2の実施形態に係る信号処理システムでは、上記第1の実施形態に係る信号処理システムと同様に、第1周辺モジュール18Aの利用状況や処理状況に応じて当該第1周辺モジュール18Aに対する制御権限を任意のマイクロプロセッサに切り換えることが可能である。さらに、状況に応じて、第1周辺モジュール18Aを複数のマイクロプロセッサで同時に制御することができ、複数のマイクロプロセッサが第1周辺モジュール18Aに対する制御権限を共有することが可能である。
【0061】
また、第2〜第4周辺モジュール19〜21(図1)も、実処理部56の機能を除いて、第1周辺モジュール18Aと同様の構成及び機能を有することから、本信号処理システムは、複数の周辺モジュール18A,19〜21に対する制御権限を個別に設定できる。したがって、周辺処理を制御する点で極めて自由度の高いマルチプロセッサ構成の信号処理システムの構築が可能である。
【0062】
<第3の実施形態>
次に、本発明の第3の実施形態について説明する。第3の実施形態に係る信号処理システムは、第1〜第4周辺モジュールの構成を除いて、図1に示した信号処理システム1と同じである。また本実施形態では、図1に示すライト権限コントローラ16は必ずしも必要では無い。
【0063】
図6は、第3の実施形態に係る第1周辺モジュール18Bの構成を概略的に示すブロック図である。この第1周辺モジュール18Bは、第1〜第3同期回路40〜42、第1リードコントローラ43、ライトコントローラ99、記憶回路57及び実処理部56を備えている。この第1周辺モジュール18Bは、ライトコントローラ99の構成を除いて、図2に示した第1周辺モジュール18と同一構成及び同一機能を有している。このため、図6に示す構成要素のうち、図2に示す構成要素と同じ符号を付されたものは、当該構成要素と同一構成及び同一機能を有するものとして、その詳細な説明が省略される。
【0064】
ライトコントローラ99は、メインCPU10及びサブCPU11のうち少なくとも一方のマイクロプロセッサの制御によって、レジスタ53〜レジスタ55に対する書込み権限をビット単位で何れか一方のマイクロプロセッサに設定する機能を有する。図7は、ライトコントローラ99の構成例を概略的に示すブロック図である。このライトコントローラ99は、アービタ100aを内蔵したデコーダ100、第1〜第3制御レジスタ101〜103、第1セレクタ104、第2セレクタ105、及び、第1選択回路106と第2選択回路107とからなる選択回路を備えている。
【0065】
デコーダ100は、メインCPU10とサブCPU11とから発せられ且つ第1システムバス30と第2システムバス31とから入力したアドレス信号ADR1,ADR2をデコードすることで、3本の書込み制御信号WS1,WS2,WS3を生成する。これら書込み制御信号WS1,WS2,WS3は、それぞれ、レジスタ53,54,55に供給される。レジスタ53〜55は、制御端子CSに入力する信号のレベルが高レベル(書込み制御信号の論理値が「1」)となる期間に、データ端子Dに入力するデータ信号を保持(ラッチ)し、それ以外のレベルの信号が制御端子CSに入力する期間には、入力するデータ信号を保持しない。
【0066】
また、第1〜第3制御レジスタ101〜103は、メインCPU10の制御によって、メインCPU10及びサブCPU11の各々の複数のレジスタ53,54,55に対する書込み権限の有無をビット単位で定める設定値を保持する。具体的には、デコーダ100は、メインCPU10とサブCPU11とが発したアドレス信号ADR1,ADR2に基づいて書込み制御信号CCS1,CCS2,CCS3を生成し、第1〜第3制御レジスタ101〜103に供給している。第1〜第3制御レジスタ101〜103は、それぞれ、制御端子CSに入力する信号CCS1,CCS2,CCS3のレベルが高レベル(書込み制御信号の論理値が「1」)となる期間に、端子Dに入力するデータ信号WDT1を保持(ラッチ)し、それ以外のレベルの信号が制御端子CSに入力する期間には、入力するデータ信号WDT1を保持しない。
【0067】
第1〜第3制御レジスタ101〜103がそれぞれ保持する32ビットの制御データの各ビット値は、レジスタ53,54,55に対する書込み権限の有無を定める設定値を示すものである。第1制御レジスタ101は第1のレジスタ53に対応する制御データを保持し、第2制御レジスタ102は第2のレジスタ54に対応する制御データを保持し、第3制御レジスタ103は第3のレジスタ55に対応する制御データを保持する。図8に、第1制御レジスタ101が保持する制御データ101Dを模式的に例示する。制御データ101Dは、0番目〜31番目のビット位置にそれぞれ「0」〜「0」の1ビットの設定値を有している。本実施形態の場合、「0」の設定値がメインCPU10の書込み権限を、「1」の設定値がサブCPU11の書込み権限をそれぞれ表している。
【0068】
また、図8には、第1のレジスタ53が保持する保持データ53Dを模式的に例示している。同図に示す通り、制御データ101Dの各ビットの設定値がデータ53Dの各ビットに対応している。すなわち、設定値は、メインCPU10及びサブCPU11のレジスタ53の各ビットに対する書込み権限を規定する。同図に示す例では、レジスタ53に対するメインCPU10の書込み権限は、0番目、2番目、…、31番目のビットに設定され、レジスタ53に対するサブCPU11の書込み権限は、1番目、…、9番目、10番目、…のビットに設定されている。
【0069】
図7に示すように、第1セレクタ104は、デコーダ100から供給される選択制御信号SC2の値に応じて、第1〜第3制御レジスタ101〜103から出力された3本の制御データ信号のうち何れかの信号SD1を選択して第1選択回路106に出力する。また第2セレクタ105は、前記選択制御信号SC2の値に応じて、第1〜第3のレジスタ53〜55から読み出されフィードバックした3本の保持データ信号のうち何れかの信号SD2を選択して第1選択回路106に出力する。さらに、第1システムバス30からの入力データ信号WDT1と、第2システムバス31からの入力データ信号WDT2とが第1選択回路106に並列に入力している。
【0070】
第1選択回路106は、第1セレクタ104から入力した制御データ信号SD1の各設定値に応じて、入力データ信号WDT1、WDT2とレジスタ53〜55からフィードバックした保持データ信号SD2とからビット単位で信号を選択して、2本のデータ信号SDA,SDBを生成し出力する機能を有する。
【0071】
具体的には、第1選択回路106は、32個のインバータを有するインバータ回路110,111,112と、32個のAND素子を有するAND回路113,114,115,116と、32個のOR素子を有するOR回路117,118とで構成される。インバータ回路110,111,112は、それぞれ、32ビットの入力信号をビット単位で反転する。またAND回路113,114,115,116は、それぞれ、2本の32ビットの入力信号をビット単位で論理積演算する。すなわち、AND回路113,114,115,116は、一方の入力信号のi番目(i:0〜31の整数)ビットと他方の入力信号のi番目ビットとを論理積演算して得られる演算結果を出力する。そして、OR回路117,118は、2本の32ビットの入力信号をビット単位で論理和演算する。すなわち、OR回路117,118は、一方の入力信号のj番目(j:0〜31の整数)ビットと他方の入力信号のj番目ビットとを論理和演算して得られる演算結果を出力する。
【0072】
この第1選択回路106において、第1セレクタ104からの32ビット信号SD1は、インバータ回路110,112とAND回路115とに入力する。AND回路113は、インバータ回路110の出力信号とデータ信号WDT1とを論理積演算する。またAND回路114は、第2セレクタ105からの32ビット信号SD2とインバータ回路111の出力信号とを論理積演算する。そして、OR回路117は、AND回路113,114の出力信号を論理和演算し、その演算結果であるデータ信号DTAを第2選択回路107に出力する。一方、AND回路115は、第1セレクタ104からの32ビット信号SD1とデータ信号WDT2とを論理積演算する。またAND回路116は、インバータ回路112の出力信号と第2セレクタ105からの32ビット信号SD2とを論理積演算する。そして、OR回路118は、AND回路115,116の出力信号を論理和演算し、その演算結果であるデータ信号DTBを第2選択回路107に出力する。
【0073】
したがって、制御データ信号SD1のi番目(i:0〜31)ビット値が「0」となる場合、第1のOR回路117の出力信号DTAのi番目ビット値は、入力データ信号WDT1のi番目ビット値となり、また第2のOR回路118の出力信号のi番目ビット値は、保持データ信号SD2のi番目ビット値となる。他方、制御データ信号SD1のi番目ビット値が「1」となる場合は、第1のOR回路117の出力信号DTAのi番目ビット値は、保持データ信号SD2のi番目ビット値となり、また第2のOR回路118の出力信号のi番目ビット値は、入力データ信号WDT2のi番目ビット値となる。
【0074】
上記第1選択回路106の出力結果の例を図9に示す。図9には、制御データ信号SD1、保持データ信号SD2、入力データ信号WDT1,WDT2、及び、第2選択回路107に出力されるデータ信号DTA,DTBのデータ構造が模式的に示されている。本例では、制御データ信号SD1は、各ビット位置に「0」,「1」,…の値を有している。また説明の便宜上、保持データ信号SD2は各ビット位置に「B」,…の値を有し、入力データ信号WDT1は各ビット位置に「W」,…の値を有し、データ信号WDT2は各ビット位置に「Z」,…の値を有するものとする(但し、「B」,「W」,「Z」の値は「0」または「1」である)。このとき、図9に示すようにデータ信号DTAは「W」,「B」,「W」,…の値を有し、データ信号DTBは「B」,「Z」,「B」,…の値を有することになる。
【0075】
次に、第2選択回路107は、デコーダ100から供給された1ビットの選択制御信号SC1の値に応じて、第1選択回路106から出力されたデータ信号DTA,DTBからビット単位で信号を選択する機能を有する。図10は、この第2選択回路107の構成を概略的に示すブロック図である。第2選択回路107は、データ信号DTA,DTBのビット長に対応する32個のセレクタ1080〜10831を備えている。全セレクタ1080〜10831の一方の入力端子D0,D0,…には、それぞれ、データ信号DTAを構成する1ビット信号が入力しており、他方の入力端子D1,D1,…には、それぞれ、データ信号DTBを構成する1ビット信号が入力している。またセレクタ1080〜10831の制御端子SEL,SEL,…には、選択制御信号SC1が入力している。セレクタ1080〜10831は、選択制御信号SC1の値に応じて入力端子D0,D1の何れか一方に入力する信号を選択して出力する。したがって、第2選択回路107は、データ信号DTA,DTBのうち何れか一方の32ビット信号をレジスタ53〜55に供給することができる。
【0076】
以上の構成を有するライトコントローラ99によって、第3の実施形態に係る信号処理システムは、上記第1の実施形態に係る信号処理システムと同様に、第1周辺モジュール18Bの利用状況や処理状況に応じて当該第1周辺モジュール18Bに対する制御権限を任意のマイクロプロセッサに切り換えることが可能である。さらに、状況に応じて、第1周辺モジュール18Bを複数のマイクロプロセッサで同時に制御することができ、複数のマイクロプロセッサが第1周辺モジュール18Bに対する制御権限を共有することが可能である。
【0077】
また本実施形態に係る信号処理システムは、上記第2の実施形態と比べると、レジスタ53,54,55(図6,図7)に対する書込み権限をビット単位で任意のマイクロプロセッサに設定できるため、複数のマイクロプロセッサによる周辺モジュールの制御を高度に且つ極めて高い自由度で実行できる。
【0078】
さらに第2〜第4周辺モジュール19〜21(図1)も、実処理部56の機能を除いて、第1周辺モジュール18Bと同様の構成及び機能を有することから、本信号処理システムは、複数の周辺モジュール18B,19〜21に対する制御権限を個別に設定できる。したがって、周辺処理を制御する点で極めて自由度の高いマルチプロセッサ構成の信号処理システムの構築が可能である。
【0079】
<第4の実施形態>
次に、本発明の第4の実施形態について説明する。第4の実施形態に係る信号処理システムは、第1〜第4周辺モジュールの構成を除いて、図1に示した信号処理システム1と同じである。また本実施形態では、図1に示すライト権限コントローラ16は必ずしも必要では無い。
【0080】
図11は、第4の実施形態に係る第1周辺モジュール18Cの構成を概略的に示すブロック図である。この第1周辺モジュール18Cは、第1〜第3同期回路40〜42、第1リードコントローラ43、ライトコントローラ80、第2リードコントローラ45、記憶回路87、第1〜第3選択回路84〜86及び実処理部56を備えている。また、この第1周辺モジュール18Cは、ライトコントローラ80、記憶回路87及び第1〜第3選択回路84〜86の構成を除いて、図2に示した第1周辺モジュール18と同一構成及び同一機能を有している。このため、図11に示す構成要素のうち、図2に示す構成要素と同じ符号を付されたものは、当該構成要素と同一構成及び同一機能を有するものとして、その詳細な説明が省略される。
【0081】
第1〜第3選択回路84〜86は、それぞれ、ライトコントローラ80から供給された選択制御信号C1,C2,C3の値に応じて、記憶回路87から入力するデータ信号からビット単位で信号を選択する機能を有する。
【0082】
また、ライトコントローラ80は、メインCPU10及びサブCPU11のうち少なくとも一方のマイクロプロセッサの制御によって、前記第1〜第3選択回路84〜86に与える選択制御信号C1〜C3を生成する。図12は、ライトコントローラ80の構成例を概略的に示すブロック図である。ライトコントローラ80は、第1及び第2のデコーダ90A,90Bと複数の制御レジスタ91〜93とを備えている。
【0083】
第1のデコーダ90Aは、メインCPU10から発せられ且つ第1システムバス30から入力したアドレス信号ADR1をデコードすることで、3本の書込み制御信号WS1,WS2,WS3を生成する。これら3本の書込み制御信号WS1,WS2,WS3は、それぞれ、第1レジスタ81A、第3レジスタ82A及び第5レジスタ83Aに供給される。また第2のデコーダ90Bは、サブCPU11から発せられ且つ第2システムバス31から入力したアドレス信号ADR2をデコードすることで、3本の書込み制御信号WS4,WS5,WS6を生成する。これら3本の書込み制御信号WS4,WS5,WS6は、それぞれ、第2レジスタ81B,第4レジスタ82B及び第6レジスタ83Bに供給される。これらレジスタ81A〜83Bの中で、第1レジスタ81A、第3レジスタ82A及び第5レジスタ83Aは、書込み制御信号WS1〜WS3の値に応じて、メインCPU10が発した入力データ信号WDT1を保持(ラッチ)し、第2レジスタ81B、第4レジスタ82B及び第6レジスタ83Bは、書込み制御信号WS4〜WS6の値に応じて、サブCPU11が発したデータ信号WDT2を保持(ラッチ)する。なお、レジスタ81A〜83Bは、制御端子CSに入力する信号のレベルが高レベル(書込み制御信号の論理値が「1」)となる期間に、データ端子Dに入力するデータ信号を保持(ラッチ)し、それ以外のレベルの信号が制御端子CSに入力する期間には、入力するデータ信号を保持しない。
【0084】
また、第1〜第3制御レジスタ91〜93は、メインCPU10の制御によって、メインCPU10及びサブCPU11の各々の実処理部56に対する制御権限をビット単位で定める設定値を保持する。具体的には、第1のデコーダ90Aは、メインCPU10が発したアドレス信号ADR1に基づいて書込み制御信号CCS1,CCS2,CCS3を生成し、第1〜第3制御レジスタ91〜93に供給している。第1〜第3制御レジスタ91〜93は、それぞれ、制御端子CSに入力するCCS1,CCS2,CCS3のレベルが高レベル(書込み制御信号の論理値が「1」)となる期間に、データ端子Dに入力するデータ信号WDT1を保持(ラッチ)し、それ以外のレベルの信号が制御端子CSに入力する期間には、入力するデータ信号WDT1を保持しない。
【0085】
第1〜第3制御レジスタ91〜93がそれぞれ保持する32ビットの制御データの各ビット値は、実処理部56に対する制御権限の有無を定める設定値を示すものである。図13に、第1制御レジスタ91が保持する制御データ91Dを模式的に例示する。制御データ91Dは、0番目,1番目〜31番目のビット位置にそれぞれ「0」,「1」〜「0」の1ビットの設定値を有している。本実施形態の場合、「0」の設定値がメインCPU10の制御権限を、「1」の設定値がサブCPU11の制御権限をそれぞれ表している。この制御データ91Dを持つ32ビットの選択制御信号C1が、第1選択回路84に供給される。他の第2制御レジスタ92と第3制御レジスタ93も、第1制御レジスタ91と同様のデータ構造を有し、第2選択回路85と第3選択回路86に選択制御信号C2,C3を供給する。
【0086】
図14は、第1選択回路84の構成を概略的に示すブロック図である。この第1選択回路84は、第1レジスタ81A及び第2レジスタ81Bが保持するデータ信号のビット長に対応する32個のセレクタ840〜8431を備えている。全セレクタ840〜8431の一方の入力端子D0,D0,…には、それぞれ、第1レジスタ81Aの出力信号を構成する1ビット信号が入力しており、他方の入力端子D1,D1,…には、それぞれ、第2レジスタ81Bの出力信号を構成する1ビット信号が入力している。またセレクタ840〜8431の制御端子SEL,SEL,…には、それぞれ、選択制御信号C1を構成する1ビットの制御信号CS0〜CS31が入力している。セレクタ840〜8431は、それぞれ、制御信号CS0〜CS31の値に応じて入力端子D0,D1の何れか一方に入力する信号を選択して出力する。これにより、第1選択回路84は、第1レジスタ81Aと第2レジスタ81Bとの出力信号のビットを混成して得られる32ビット信号を実処理部56に供給することができる。
【0087】
他の第2選択回路85及び第3選択回路86も、第1選択回路84と同じ構成を有しており、第2選択回路85は、選択制御信号C2の各ビット値に応じて、第3レジスタ82Aと第4レジスタ82Bとの出力信号のビットを混成して得られるデータ信号を出力し、第3選択回路86は、選択制御信号C3の各ビット値に応じて、第5レジスタ83Aと第6レジスタ83Bとの出力信号のビットを混成して得られるデータ信号を出力する。
【0088】
したがって、メインCPU10が、第1〜第3制御レジスタ91〜93に制御データを与えて保持させることで、実処理部56に対する制御権限を任意のマイクロプロセッサ(メインCPU10またはサブCPU11)に切り換えることができる。しかも、状況に応じて、第1周辺モジュール18Cを複数のマイクロプロセッサで同時に制御することができ、複数のマイクロプロセッサが第1周辺モジュール18Cに対する制御権限を共有することが可能である。
【0089】
また、本実施形態に係る信号処理システムは、第1〜第3選択回路84〜86が選択する信号をビット単位で制御できるため、上記第3の実施形態と同様に、複数のマイクロプロセッサによる周辺モジュールの制御を高度に且つ極めて高い自由度で実行できる。
【0090】
さらに第2〜第4周辺モジュール19〜21(図1)も、実処理部56の機能を除いて、第1周辺モジュール18Cと同様の構成及び機能を有することから、本信号処理システムは、複数の周辺モジュール18C,19〜21に対する制御権限を個別に設定できる。したがって、周辺処理を制御する点で極めて自由度の高いマルチプロセッサ構成の信号処理システムの構築が可能である。
【0091】
以上、第1〜第4の実施形態について説明した。本発明は、上記各実施形態に係る周辺モジュールを組み合わせた信号処理システムも含む。例えば、図1に示す信号処理システム1において、第2周辺モジュール19が第2の実施形態に係る第1周辺モジュール18Aと同一構成を有し、第3周辺モジュール20が第3の実施形態に係る第1周辺モジュール18Bと同一構成を有し、第4周辺モジュール21が第4の実施形態に係る第1周辺モジュール18Cと同一構成を有する構成を採用してもよい。
【0092】
【発明の効果】
以上の如く、本発明に係る信号処理システムによれば、各マイクロプロセッサ毎にバスが用意され、全てのバスが複数の周辺モジュールに接続されているため、バスの競合を回避できる。また複数の周辺モジュールそれぞれの記憶回路にデータ信号を書き込む権限を任意のマイクロプロセッサに設定できるため、何れのマイクロプロセッサも複数の周辺モジュールを直接制御できる。したがって、複数の周辺モジュールの利用状況や処理状況に応じて当該周辺モジュールに対する制御権限を任意のマイクロプロセッサに切り換えることが可能である。
【図面の簡単な説明】
【図1】本発明の第1の実施形態に係る信号処理システムを概略的に示すブロック図である。
【図2】第1の実施形態に係る第1周辺モジュールの構成を概略的に示すブロック図である。
【図3】本発明の第2の実施形態に係る第1周辺モジュールの構成を概略的に示すブロック図である。
【図4】第2の実施形態に係るライトコントローラの構成を概略的に示すブロック図である。
【図5】制御レジスタが保持するデータを模式的に例示する図である。
【図6】本発明の第3の実施形態に係る第1周辺モジュールの構成を概略的に示すブロック図である。
【図7】第3の実施形態に係るライトコントローラと記憶回路と選択回路との構成を概略的に示すブロック図である。
【図8】第3の実施形態に係るライトコントローラの制御レジスタが保持する制御データを模式的に例示する図である。
【図9】第3の実施形態に係るライトコントローラの第1選択回路の出力結果を説明するための図である。
【図10】第3の実施形態に係るライトコントローラの第2選択回路の構成を概略的に示すブロック図である。
【図11】第4の実施形態に係る第1周辺モジュールの構成を概略的に示すブロック図である。
【図12】第4の実施形態に係る第1周辺モジュールのライトコントローラの構成を概略的に示すブロック図である。
【図13】第4の実施形態に係る第1周辺モジュールの第1制御レジスタが保持する制御データを模式的に例示する図である。
【図14】第4の実施形態に係る第1周辺モジュールの第1選択回路の構成を概略的に示すブロック図である。
【符号の説明】
1 信号処理システム
2 ROM
3 RAM
10,11 CPU
12,13 BIU
14 MIU
15 DMAコントローラ
16 ライト権限コントローラ
17 クロック生成部
18〜21 周辺モジュール
30,31 システムバス
32 DMAバス
Claims (10)
- N個(N:2以上の整数)のマイクロプロセッサを搭載する信号処理システムであって、
前記N個のマイクロプロセッサに一対一対応で接続される信号伝達用のN本のバスと、
前記N本のバスの全てに接続される複数の周辺モジュールと、
を備え、
前記N本のバスは、それぞれ、アドレス信号を伝送するアドレス・バスとデータ信号を伝送するデータ・バスとを備えており、
前記複数の周辺モジュールは、それぞれ
前記バスを伝達した前記データ信号を保持する記憶回路と、
前記記憶回路が保持するデータ信号によって制御される周辺処理を実行する実処理部と、
前記N個のマイクロプロセッサの中の少なくとも1個のマイクロプロセッサの制御によって、前記記憶回路に前記データ信号を書き込む書込み権限を、前記N個のマイクロプロセッサの中の少なくとも1個のマイクロプロセッサに設定するライトコントローラと、
を備え、
前記記憶回路は複数のレジスタから構成されており、
前記ライトコントローラは、前記N個のマイクロプロセッサの中の少なくとも1個のマイクロプロセッサの制御によって、前記N個のマイクロプロセッサの各々の前記複数のレジスタに対する前記書込み権限の有無を前記レジスタ単位で定める設定値を保持する制御レジスタを備える、
信号処理システム。 - 請求項1記載の信号処理システムにおいて、前記ライトコントローラは、
前記N個のマイクロプロセッサから発せられ前記N本のバスを伝達したN本の前記アドレス信号をデコードすることで各前記アドレス信号に対応する書込み制御信号を生成するデコーダと、
前記制御レジスタが保持する前記設定値に応じて、前記デコーダから出力された複数本の前記書込み制御信号の中から所定の前記書込み制御信号を選択し、選択した当該書込み制御信号を当該設定値に対応する当該レジスタに出力する選択回路と、
を更に備え、
前記複数のレジスタは、それぞれ、前記書込み制御信号の値に応じて前記データ信号を保持する機能を有する、
信号処理システム。 - 請求項1または請求項2記載の信号処理システムにおいて、前記ライトコントローラは、
前記N本のアドレス信号に基づいて選択制御信号を生成するアービタと、
前記アービタから出力された前記選択制御信号の値に応じて、前記N本のバスを伝達したN本の前記データ信号の中から1本のデータ信号を選択して前記複数のレジスタに出力するセレクタと、
を備える、
信号処理システム。 - N個(N:2以上の整数)のマイクロプロセッサを搭載する信号処理システムであって、
前記N個のマイクロプロセッサに一対一対応で接続される信号伝達用のN本のバスと、
前記N本のバスの全てに接続される複数の周辺モジュールと、
を備え、
前記N本のバスは、それぞれ、アドレス信号を伝送するアドレス・バスとデータ信号を伝送するデータ・バスとを備えており、
前記複数の周辺モジュールは、それぞれ
前記バスを伝達した前記データ信号を保持する記憶回路と、
前記記憶回路が保持するデータ信号によって制御される周辺処理を実行する実処理部と、
前記N個のマイクロプロセッサの中の少なくとも1個のマイクロプロセッサの制御によって、前記記憶回路に前記データ信号を書き込む書込み権限を、前記N個のマイクロプロセッサの中の少なくとも1個のマイクロプロセッサに設定するライトコントローラと、
を備え、
前記ライトコントローラは、前記N個のマイクロプロセッサの中の少なくとも1個のマイクロプロセッサの制御によって、前記N個のマイクロプロセッサの各々の前記記憶回路に対する前記書込み権限の有無をビット単位で定める設定値を保持する制御レジスタを備える、
信号処理システム。 - 請求項4記載の信号処理システムにおいて、前記ライトコントローラは、
前記アドレス信号をデコードして生成した書込み制御信号を出力するデコーダと、
前記制御レジスタが保持する前記設定値に応じて、前記N本のバスを伝達したN本の前記データ信号から、前記書込み権限を付与された当該マイクロプロセッサから伝達したデータ信号をビット単位で選択して出力する選択回路と、
を更に備え、
前記記憶回路は、前記書込み制御信号の値に応じて、前記選択回路から出力された信号を保持する機能を有する、
信号処理システム。 - 請求項4または請求項5記載の信号処理システムにおいて、前記選択回路は、前記記憶回路から読み出されたデータ信号と前記バスを伝達した前記データ信号とからビット単位で選択した信号を出力する機能を有する、信号処理システム。
- 請求項5または請求項6記載の信号処理システムであって、
複数のレジスタからなる前記記憶回路と、
供給される選択制御信号の値に応じて、前記複数のレジスタから読み出された複数本のデータ信号の何れか1本のデータ信号を選択して前記選択回路に出力するセレクタと、
を備えており、
前記デコーダは、前記アドレス信号をデコードすることで各前記レジスタ毎に前記書込み制御信号を生成すると共に前記選択制御信号を生成する、
信号処理システム。 - N個(N:2以上の整数)のマイクロプロセッサを搭載する信号処理システムであって、
前記N個のマイクロプロセッサに一対一対応で接続される信号伝達用のN本のバスと、
前記N本のバスの全てに接続される複数の周辺モジュールと、
を備え、
前記N本のバスは、それぞれ、アドレス信号を伝送するアドレス・バスとデータ信号を伝送するデータ・バスとを備えており、
前記複数の周辺モジュールは、それぞれ
前記データ信号を保持する複数のレジスタからなる記憶回路と、
選択制御信号の値に応じて、前記複数のレジスタから出力された複数本のデータ信号から選択した信号を出力する選択回路と、
前記選択回路から出力された前記信号によって制御される周辺処理を実行する実処理部と、
前記N個のマイクロプロセッサの中の少なくとも1個のマイクロプロセッサの制御によって前記選択制御信号を生成するライトコントローラと、
を備え、
前記ライトコントローラは、
前記マイクロプロセッサの制御によって、前記N個のマイクロプロセッサの各々の前記実処理部に対する制御権限の有無を定める設定値を保持する制御レジスタと、
前記アドレス信号をデコードして書込み制御信号を生成し前記複数のレジスタに出力するデコーダと、
を備えており、
前記選択制御信号は前記設定値を含み、前記設定値は前記複数のレジスタから出力された前記データ信号をビット単位で選択する情報を有し、
前記複数のレジスタは、それぞれ、前記書込み制御信号の値に応じて前記データ信号を保持する機能を有し、
前記選択回路は、前記制御レジスタが保持する前記設定値に応じて、前記複数のレジスタから出力された前記データ信号からビット単位で信号を選択して出力する機能を有する、
信号処理システム。 - 請求項1〜請求項8の何れか1項に記載の信号処理システムにおいて、前記N個のマイクロプロセッサは、2個のマイクロプロセッサからなる信号処理システム。
- 請求項1〜請求項9の何れか1項に記載の信号処理システムにおいて、
前記複数の周辺モジュールは、それぞれ
前記記憶回路から出力された前記データ信号を取り込み、前記N本のバスに出力させるリードコントローラ、
を更に備える、信号処理システム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002335107A JP4437386B2 (ja) | 2002-11-19 | 2002-11-19 | 信号処理システム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002335107A JP4437386B2 (ja) | 2002-11-19 | 2002-11-19 | 信号処理システム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004171194A JP2004171194A (ja) | 2004-06-17 |
JP4437386B2 true JP4437386B2 (ja) | 2010-03-24 |
Family
ID=32699324
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002335107A Expired - Fee Related JP4437386B2 (ja) | 2002-11-19 | 2002-11-19 | 信号処理システム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4437386B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102006055512A1 (de) | 2006-05-24 | 2007-11-29 | Robert Bosch Gmbh | Mehrprozessor-Gateway |
-
2002
- 2002-11-19 JP JP2002335107A patent/JP4437386B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2004171194A (ja) | 2004-06-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7165133B2 (en) | Multiprocessor system having shared buses, prioritized arbitration, and clock synchronization circuitry | |
JP5102789B2 (ja) | 半導体装置及びデータプロセッサ | |
JP5360061B2 (ja) | マルチプロセッサシステム及びその制御方法 | |
Bainbridge et al. | Asynchronous macrocell interconnect using MARBLE | |
US7581049B2 (en) | Bus controller | |
JP2007219816A (ja) | マルチプロセッサシステム | |
US6516378B1 (en) | Microprocessor for controlling busses | |
US8239600B2 (en) | Data processing system with selectable interrupt control | |
JP5382113B2 (ja) | 記憶制御装置及びその制御方法 | |
JP4437386B2 (ja) | 信号処理システム | |
JP5932261B2 (ja) | メモリ制御装置、メモリ制御方法 | |
JP2006079394A (ja) | データ処理装置 | |
JP5528939B2 (ja) | マイクロコンピュータ | |
KR100389030B1 (ko) | 다중 채널을 가진 고속 직접 메모리 억세스 컨트롤러 | |
WO1992006432A1 (en) | Device for controlling bus | |
JP3094944B2 (ja) | アービトレーション方法及びその装置 | |
JP4599524B2 (ja) | データ処理装置及び方法 | |
JP4249741B2 (ja) | バスシステム及びバスシステムを含む情報処理システム | |
JP2006031227A (ja) | Dma転送を用いたコンピュータシステム | |
JPH1185673A (ja) | 共有バスの制御方法とその装置 | |
JP4102740B2 (ja) | 情報処理装置 | |
JP2007026367A (ja) | システムlsi用マルチタスクos | |
JP2002278753A (ja) | データ処理システム | |
JP4609540B2 (ja) | マルチプロセサシステム | |
US20040064625A1 (en) | Processor system containing CPU core |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20051118 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20081209 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090123 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20090123 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090623 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090811 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20091222 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20091222 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130115 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4437386 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130115 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130115 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20160115 Year of fee payment: 6 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |