(57)【要約】【課題】大容量のデータを高速で演算しなければならない信号処理時であっても、外部メモリヘのアクセス量を軽減させ且つ処理データのデータ転送を効率的に行うことで高速演算を可能とするマルチプロセッサ信号処理装置を提供すること。【解決手段】並設された第1プロセッサ２と、第２プロセッサ４と、第３プロセッサ６と、外部バス１２に接続され且つ前記第１プロセッサ２と第２プロセッサ４とが共有するメモリである第１ローカル共有メモリ８と、外部バス１２に接続され且つ前記第２プロセッサ４と第３プロセッサ６とが共有するメモリである第２ローカル共有メモリ１０と、を具備し、前記第１ローカル共有メモリ８は、第１バンク８Ａと第２バンク８Ｂと第３バンク８Ｃとを有し、前記第２ローカル共有メモリ１０は、第１バンク１０Ａと第２バンク１０Ｂと第３バンク１０Ｃとを有することを特徴とするマルチプロセッサ信号処理装置。【選択図】      図１
2008090455.tif 000002
【特許請求の範囲】
【請求項１】
並設された複数個のプロセッサを具備するマルチプロセッサ信号処理装置であって、
外部バスに接続され、且つ前記複数個のプロセッサのうち隣接するプロセッサ同士が共有するメモリであるローカル共有メモリと、
前記外部バスに接続され、前記複数個のプロセッサを制御する為のコントロール用プロセッサと、
前記外部バスに接続されたメモリである外部メモリと、
前記外部バスに接続され、前記外部メモリと前記ローカル共有メモリとの間のデータ転送を行うＤＭＡコントローラと、
を具備し、
前記ローカル共有メモリは、複数個のバンクを有することを特徴とするマルチプロセッサ信号処理装置。
【請求項２】
前記並設された複数個のプロセッサのうち両端に位置するプロセッサには、他の前記プロセッサと共有しないメモリであるローカル端メモリが接続して設けられており、
前記ローカル端メモリは、複数のバンクを有することを特徴とする請求填１に記載のマルチプロセッサ信号処環装置。
【請求項３】
前記の各プロセッサと前記外部バスとに接続されているメモリであるローカル非共有メモリを更に具備することを特徴とする請求項１または２に記載のマルチプロセッサ信号処理装置。
【請求項４】
前記の各ローカル共有メモリ及び前記の各ローカル端メモリには、それぞれに接続されている前記の各プロセッサ毎に、バンクを選択する為のバンク選択レジスタが接続して設けられており、
前記バンク選択レジスタは、仮想アドレスによって前記の各プロセッサから前記の各ローカル共有メモリまたは前記のローカル端メモリへアクセスする際のバンクを選択することを特徴とする請求項１乃至３のうち何れか１つに記載のマルチプロセッサ信号処理装置。
【請求項５】
前記バンク選択レジスタは、仮想アドレスによって前記外部バスから前記の各ローカル共有メモリまたは前記のローカル端メモリへアクセスする際のバンクを選択することを特徴とする請求項４に記載のマルチプロセッサ信号処理装置。
【請求項６】
並設された複数個のプロセッサを具備するマルチプロセッサ信号処理装置であって、
外部バスに接続され、且つ隣接するプロセッサ同士が共有するメモリであるローカル共有メモリと、
前記外部バスに接続されたメモリである外部メモリと、
前記外部バスに接続され、前記外部メモリと前記ローカル共有メモリとの間のデータ転送を行うＤＭＡコントローラと、
を具備し、
前記ローカル共有メモリはそれぞれ複数個のバンクを有し、且つ前記複数個のプロセッサのうち少なくとも何れか１つのプロセッサは前記外部バスに接続され、前記外部バスに接続されたプロセッサは、当該プロセッサを除く前記複数個のプロセッサを制御することを特徴とするマルチプロセッサ信号処理装置。
【請求項７】
前記複数個のプロセッサのうち少なくとも１つは、ハードアクセラレータであることを特徴とする請求項４乃至６のうち何れか１つに記載のマルチプロセッサ信号処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のプロセッサを具備するマルチプロセッサ信号処理装置に関する。
【背景技術】
【０００２】
従来より、画像処理のように大容量のデータを高速に扱う信号処理においては、マルチプロセッサによるパイプライン処理によって演算を行うことで演算スピードを上げる技術が知られている。
【０００３】
このような技術を用いる場合、１つのプロセッサからの出力を、もう１つのプロセッサに入力する為には、全てのプロセッサがアクセスできる外部メモリを経由して入出力を行う方法が考えられる。しかしながら、この方法によれば、画像処理のように扱うデータ量が大きい場合、外部メモリのアクセス量が大きくなり過ぎ、外部メモリが稼動周波数の限界に達してしまいやすい。
【０００４】
このような事情から、例えば特許文献１に開示されているマルチプロセッサ信号処理装置においては、互いに隣接するプロセッサ間でのみ共有するメモリ（共有メモリ）を具備することで、特定のメモリヘのアクセス量が増大することを防いでいる。
【特許文献１】特開２００２―２０７７１０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、前記特許文献１に開示されている技術では、プロセッサ間通信を利用している為、プロセッサ間通信中には各プロセッサは演算不可能な状態となる。つまり、前記特許文献１に開示されている技術により提供されるマルチプロセッサ信号処理装置は、演算効率が悪い。
【０００６】
さらに、前記共有メモリは、高速アクセス機能を要することを考慮すると、前記共有メモリには比較的高価なメモリを使用しなければならない。したがって、現実的には、前記共有メモリには、あまり大きな容量を期待できない。
【０００７】
また、前記共有メモリとは別に、アクセスはあまり速くないが比較的低価格で大きな容量のメモリを具備させる場合、該メモリと前記共有メモリとの間でデータを効率的に転送する為の手段が新たに必要になる。
【０００８】
本発明は、前記の事情に鑑みてなされたもので、大容量のデータを高速で演算しなければならない信号処理時であっても、外部メモリヘのアクセス量を軽減させ且つ処理データのデータ転送を効率的に行うことで高速演算を可能とするマルチプロセッサ信号処理装置を提供することを目的とする。
【課題を解決するための手段】
【０００９】
上記の目的を達成するために、本発明の第１の態様によるマルチプロセッサ信号処理装置は、並設された複数個のプロセッサを具備するマルチプロセッサ信号処理装置であって、外部バスに接続され、且つ前記複数個のプロセッサのうち隣接するプロセッサ同士が共有するメモリであるローカル共有メモリと、前記外部バスに接続され、前記複数個のプロセッサを制御する為のコントロール用プロセッサと、前記外部バスに接続されたメモリである外部メモリと、前記外部バスに接続され、前記外部メモリと前記ローカル共有メモリとの間のデータ転送を行うＤＭＡコントローラと、を具備し、前記ローカル共有メモリは、複数個のバンクを有することを特徴とする。
【００１０】
上記の目的を達成するために、本発明の第２の態様によるマルチプロセッサ信号処理装置は、前記第１の態様によるマルチプロセッサ信号処理装置であって、前記並設された複数個のプロセッサのうち両端に位置するプロセッサには、他の前記プロセッサと共有しないメモリであるローカル端メモリが接続して設けられており、前記ローカル端メモリは、複数のバンクを有することを特徴とする
上記の目的を達成するために、本発明の第３の態様によるマルチプロセッサ信号処理装置は、前記第１の態様または前記第2の態様によるマルチプロセッサ信号処理装置であって、前記の各プロセッサと前記外部バスとに接続されているメモリであるローカル非共有メモリを更に具備することを特徴とする。
【００１１】
上記の目的を達成するために、本発明の第４の態様によるマルチプロセッサ信号処理装置は、前記第１の態様乃至前記第３の態様のうち何れかの態様によるマルチプロセッサ信号処理装置であって、前記の各ローカル共有メモリ及び前記の各ローカル端メモリには、それぞれに接続されている前記の各プロセッサ毎に、バンクを選択する為のバンク選択レジスタが接続して設けられており、前記バンク選択レジスタは、仮想アドレスによって前記の各プロセッサから前記の各ローカル共有メモリまたは前記のローカル端メモリへアクセスする際のバンクを選択することを特徴とする。
【００１２】
上記の目的を達成するために、本発明の第５の態様によるマルチプロセッサ信号処理装置は、前記第４の態様によるマルチプロセッサ信号処理装置であって、前記バンク選択レジスタは、仮想アドレスによって前記外部バスから前記の各ローカル共有メモリまたは前記のローカル端メモリへアクセスする際のバンクを選択することを特徴とする。
【００１３】
上記の目的を達成するために、本発明の第６の態様によるマルチプロセッサ信号処理装置は、並設された複数個のプロセッサを具備するマルチプロセッサ信号処理装置であって、外部バスに接続され、且つ隣接するプロセッサ同士が共有するメモリであるローカル共有メモリと、前記外部バスに接続されたメモリである外部メモリと、前記外部バスに接続され、前記外部メモリと前記ローカル共有メモリとの間のデータ転送を行うＤＭＡコントローラと、を具備し、前記ローカル共有メモリはそれぞれ複数個のバンクを有し、且つ前記複数個のプロセッサのうち少なくとも何れか１つのプロセッサは前記外部バスに接続され、前記外部バスに接続されたプロセッサは、当該プロセッサを除く前記複数個のプロセッサを制御することを特徴とする。
【００１４】
上記の目的を達成するために、本発明の第７の態様によるマルチプロセッサ信号処理装置は、前記第４の態様乃至前記第６の態様によるマルチプロセッサ信号処理装置であって、前記複数個のプロセッサのうち少なくとも１つは、ハードアクセラレータであることを特徴とする。
【発明の効果】
【００１５】
本発明によれば、大容量のデータを高速で演算しなければならない信号処理時であっても、外部メモリヘのアクセス量を軽減させ且つ処理データのデータ転送を効率的に行うことで高速演算を可能とするマルチプロセッサ信号処理装置を提供することができる。
【発明を実施するための最良の形態】
【００１６】
以下、図面を参照して本発明の実施形態を説明する。  
[第１実施形態]
以下、本発明の第１実施形態に係るマルチプロセッサ信号処理装置を説明する。ここでは、説明の便宜上、３つの信号処理用プロセッサを具備するマルチプロセッサ信号処理装置を例に説明する。
【００１７】
図１は、本第１実施形態に係るマルチプロセッサ信号処理装置の構成を示すブロック図である。本第１実施形態に係るマルチプロセッサ信号処理装置は、図１に示すように、
第１信号処理用プロセッサ２と、第２信号処理用プロセッサ４と、第３信号処理用プロセッサ６と、前記第１信号処理用プロセッサ２及び前記第２信号処理用プロセッサ４によって共有される第１ローカル共有メモリ８と、前記第２信号処理用プロセッサ４及び前記第３信号処理用プロセッサ６によって共有される第２ローカル共有メモリ１０と、コントロール用プロセッサ１４と、ＤＭＡ（Ｄｉｒｅｃｔ  Ｍｅｍｏｒｙ  Ａｃｃｅｓｓ）コントローラ１６と、外部メモリ１８とを具備する。
【００１８】
ここで、前記第１共有メモリ８は、第１バンク８Ａと第２バンク８Ｂと第３バンク８Ｃとを有する。同様に、前記第２共有メモリ１０は、第１バンク１０Ａと第２バンク１０Ｂと第３バンク１０Ｃとを有する。
【００１９】
なお、前記第１信号処理用プロセッサ２と前記第１ローカル共有メモリ８とは内部バス１１Ａによって接続され、前記第１ローカル共有メモリ８と前記第２信号処理用プロセッサ４とは内部バス１１Ｂによって接続され、前記第２信号処理用プロセッサ４と前記第２ローカル共有メモリ１０とは内部バス１１Ｃによって接続され、前記第２ローカル共有メモリ１０と前記第３信号処理用プロセッサ６とは内部バス１１Ｄによって接続されている。
【００２０】
また、前記第１ローカル共有メモリ８及び前記第２ローカル共有メモリ１０は、外部バス１２によって、コントロール用プロセッサ１４、ＤＭＡコントローラ１６、及び外部メモリ１８に接続されている。
【００２１】
上述した構成のマルチプロセッサ信号処理装置において、例えば次のような信号処理を行う場合を考える。すなわち、前記外部メモリ１８に格納されている容量の大きいデータである画像データをいくつかの部分に分割したブロックデータを、順次前記第１信号処理用プロセッサ２に入力して第１の処理を施し、前記第１信号処理用プロセッサ２からの出力を前記第２信号処理用プロセッサ４に入力して第２の処理を施し、さらに前記第２信号処理用プロセッサ４からの出力を前記第３信号処理用プロセッサ６に入力して第３の処理を施し、前記第３信号処理用プロセッサ６からの出力を、最後に前記外部メモリ１８に保存するという処理を考える。
【００２２】
以下、このような処理におけるデータの流れを、図２乃至図４を参照して説明する。
【００２３】
前記外部メモリ１８に格納されているブロックデータが、前記ＤＭＡコントローラ１６によって、前記第１ローカル共有メモリ８の第３バンク８ＣへＤＭＡ転送される（処理ａ）。
【００２４】
前記処理ａと同時に、前回のＤＭＡ転送によって既に転送されて前記第２バンク８Ｂに格納されているブロックデータは、前記第１信号処理用プロセッサ２によって前記第１の処理を施され、該処理結果が前記第２バンク８Ｂに出力される（処理ｂ）。
【００２５】
なお、前回の前記第１信号処理用プロセッサ２による前記第１の処理の処理結果は、前記第１バンク８Ａに格納されている。
【００２６】
前記処理ｂと同時に、前回の前記第１信号処理用プロセッサ２による前記第１の処理の処理結果が、前記第１バンク８Ａから前記第２信号処理用プロセッサ４に出力され（処理ｃ）、且つ前記第２信号処理用プロセッサ４によって前記第２の処理が施されて、該処理結果が前記第２ローカル共有メモリ１０における前記第３バンク１０Ｃに出力される（処理ｄ）。
【００２７】
なお、前回の前記第２信号処理用プロセッサ４による前記第２の処理の処理結果は、既に前記第２ローカル共有メモリ１０の前記第２バンク１０Ｂに格納されている。
【００２８】
前記処理ｄと同時に、前回の前記第２信号処理用プロセッサ４による前記第２の処理結果が、前記第２バンク１０Ｂから前記第３信号処理用プロセッサ６に出力され、且つ前記第３信号処理用プロセッサ６によって前記第３の処理が施されて、該処理結果が前記第２ローカル共有メモリ１０における前記第２バンク１０Ｂに出力される（処理ｅ）。
【００２９】
なお、前回の第３信号処理用プロセッサ６による前記第３の処理の処理結果は、既に前記第２ローカル共有メモリの前記第１バンク１０Ａに格納されている。
【００３０】
前記処理ｅと同時に、前回の第３信号処理用プロセッサ６による前記第３の処理の処理結果は、前記ＤＭＡコントローラ１６によって、前記第１バンク１０Ａから前記外部メモリ１８へＤＭＡ転送される（処理ｆ）。
【００３１】
そして、前記処理a乃至前記処理ｆにおける処理全てが終了した旨が、例えば割り込み信号等の手段によって、前記コントロール用プロセッサ１４に伝達される。
【００３２】
なお、前記処理a乃至前記処理ｆを実行する際の図２に示すバスアクセスの状態を、フェイズ１と称する。
【００３３】
ここで、次回のブロックデータの処理の際には、図３に示すように、前記第１信号処理用プロセッサ２、前記第２信号処理用プロセッサ４、前記第３信号処理用プロセッサ６及び前記ＤＭＡコントローラ１６がアクセスするバンクを１個づつずらして、再び同様の処理を実行する。なお、図３に示すバスアクセスの状態をフェイズ２と称する。
【００３４】
そして、更に次回のブロックデータの処理の際には、図４に示すように、前記第１信号処理用プロセッサ２、前記第２信号処理用プロセッサ４、前記第３信号処理用プロセッサ６及び前記ＤＭＡコントローラ１６がアクセスするバンクを、更に１つづつずらして、再び同様の処理を実行する。なお、図４に示すバスアクセスの状態をフェイズ３と称する。
【００３５】
したがって、その次のブロックデータの処理の際にも、前記第１信号処理用プロセッサ２、前記第２信号処理用プロセッサ４、前記第３信号処理用プロセッサ６及び前記ＤＭＡコントローラ１６がアクセスするバンクを１個づつずらすので、バンクアクセスの状態は図２に示すフェイズ１の状態に戻る。このようにして、各ブロックデータによって構成される画像データ全体に、上述した処理が施されるまで繰り返される。
【００３６】
このような手順にて処理を行うことで、前記外部メモリ１８ヘのアクセス量を低減することができ、且つ前記第１信号処理用プロセッサ２、前記第２信号処理用プロセッサ４、及び前記第３信号処理用プロセッサ６での信号処理を行いながら同時にデータ転送をも行うことができる。
【００３７】
なお、ここでは容量の大きいデータとして画像データを想定して説明したが、処理するデータは画像データに限られないことは勿論である。
【００３８】
また、本第１実施形態に係るマルチプロセッサ信号処理装置においては、ＤＭＡ転送の為のパラメータ設定、ＤＭＡ転送開始の為のレジスタ設定、及び前記第１信号処理用プロセッサ２、前記第２信号処理用プロセッサ４、前記第３信号処理用プロセッサ６における処理開始のレジスタ設定等は、前記コントロール用プロセッサ１４によって行われる。
【００３９】
以上説明したように、本第１実施形態によれば、大容量のデータを高速で演算しなければならない信号処理時であっても、外部メモリヘのアクセス量を軽減させ且つ処理データのデータ転送を効率的に行うことで高速演算を可能とするマルチプロセッサ信号処理装置を提供することができる。
【００４０】
具体的には、前記第１ローカル共有メモリ８及び前記第２ローカル共有メモリ１０における異なるバンクには、それぞれに隣接する２個の前記信号処理用プロセッサと前記コントロール用プロセッサ１４と前記ＤＭＡコントローラ１６とが同時にアクセスすることができる。これにより、前記外部メモリ１８ヘのアクセス量を低減させることができ、且つ前記第１信号処理用プロセッサ２、前記第２信号処理用プロセッサ４、及び前記第３信号処理用プロセッサ６が演算中であっても、前記ＤＭＡコントローラ１６や前記コントロール用プロセッサ１４によって、次回の演算で前記第１信号処理用プロセッサ２、前記第２信号処理用プロセッサ４、及び前記第３信号処理用プロセッサ６が使用するデータを、前記外部メモリ１８から前記第１ローカル共有メモリ８及び前記第２ローカル共有メモリ１０に送ったり、前記第１信号処理用プロセッサ２、前記第２信号処理用プロセッサ４、及び前記第３信号処理用プロセッサ６の演算結果を、前記第１ローカル共有メモリ８及び前記第２ローカル共有メモリ１０から前記外部メモリ１８へ送ることが可能となる。
【００４１】
上述したように、本第１実施形態に係るマルチプロセッサ信号処理装置によれば、前記第１信号処理用プロセッサ２、前記第２信号処理用プロセッサ４、及び前記第３信号処理用プロセッサ６にて信号処理を行いながら処理データのデータ転送を行うことができる。したがって、図５に示すように、前記第１信号処理用プロセッサ２、前記第２信号処理用プロセッサ４、及び前記第３信号処理用プロセッサ６での処理時間（図５に示す“第１信号処理用プロセッサ２”、“第２信号処理用プロセッサ４”、及び“第３信号処理用プロセッサ６”が相当）が、データ転送の時間（図５に示す“入力ＤＭＡ”及び“出力ＤＭＡ”が相当）よりも長い場合には、実質的にデータ転送に掛かる時間を無視することができる。
【００４２】
[第２実施形態]
次に、本発明の第２実施形態に係るマルチプロセッサ信号処理装置について説明する。なお、前記第１実施形態に係るマルチプロセッサ信号処理装置との相違点のみを説明する。図６は、本第２実施形態に係るマルチプロセッサ信号処理装置の構成を示すブロック図である。
【００４３】
本第２実施形態に係るマルチプロセッサ信号処理装置は、図６に示すように前記第１信号処理用プロセッサ２には、内部バス１１Ｅによって第１ローカル端メモリ２０が接続されている。同様に、前記第３信号処理用プロセッサ６には、内部バス１１Ｆによってローカル端メモリ２２が接続されている。なお、前記第１ローカル端メモリ２０及び前記第２ローカル端メモリ２２は、前記ローカル共有メモリと同じ仕様のメモリである。
【００４４】
すなわち、前記第１ローカル端メモリ２０は、第１バンク２０Ａと第２バンク２０Ｂと第３バンク２０Ｃとを有する。同様に、前記第２ローカル端メモリ２２は、第１バンク２２Ａと第２バンク２２Ｂと第３バンク２２Ｃとを有する。
【００４５】
以上説明したように、本第２実施形態によれば、前記第１実施形態に係るマルチプロセッサ信号処理装置と同様の効果を奏する上に、更に効率のよいデータフローを実現するマルチプロセッサ信号処理装置を提供することができる。
【００４６】
具体的には、本第２実施形態に係るマルチプロセッサ信号処理装置においては、前記第１ローカル端メモリ２０及び前記第２ローカル端メモリ２２を設けることで、より効率の良いデータフローを実現する。
【００４７】
なお、ここではローカル端メモリとして、前記第１ローカル端メモリ２０及び前記第２ローカル端メモリ２２の２つのローカル端メモリを設けたが、どちらか一方のみを設ける構成としても勿論よい。
【００４８】
［第３実施形態］
次に、本発明の第３実施形態に係るマルチプロセッサ信号処理装置について説明する。なお、前記第２実施形態に係るマルチプロセッサ信号処理装置との相違点のみを説明する。図７は、本第３実施形態に係るマルチプロセッサ信号処理装置の構成を示すブロック図である。
【００４９】
前記第１実施形態において説明したように、図２に示すバンクアクセスの状態から図３に示すバンクアクセスの状態に移る場合、例えば前記第１信号処理用プロセッサ２がアクセスする前記第１ローカル共有メモリ８におけるバンクは、前記第２バンク８Ｂから前記第３バンク８Ｃに切り替わる。
【００５０】
したがって、例えば前記フェイズ１の状態における前記第１信号処理用プロセッサ２による処理結果の一部を、前記フェイズ２の状態においても前記第１信号処理用プロセッサ２が使用したい場合には、前記第１ローカル共有メモリ８にではなく、前記第１信号処理用プロセッサ２に付随させた非共有のメモリを設けたほうが効率のよいデータフローとなる。
【００５１】
つまり、前記第１ローカル共有メモリ８及び前記第２ローカル共有メモリ１０以外に、前記第１信号処理用プロセッサ２、前記第２信号処理用プロセッサ４、及び前記第３信号処理用プロセッサ６にそれぞれ付随させた非共有のメモリであるローカル非共有メモリを設けることで、より効率のよいデータフローを実現することができる。
【００５２】
そこで、本第３実施形態に係るマルチプロセッサ信号処理装置においては、図７に示すように、前記第１信号処理用プロセッサ２に付随させて第１ローカル非共有メモリ２４を設け、前記第２信号処理用プロセッサ４に付随させて第２ローカル非共有メモリ２６を設け、前記第３信号処理用プロセッサ６に付随させて第３ローカル非共有メモリ２８を設ける。
【００５３】
これにより、例えば、前記第１信号処理用プロセッサ２が、図２乃至図４に示す何れのフェイズの状態においても共通に使用するパラメータがある場合に、同じパラメータを前記第１ローカル共有メモリ８における全てのバンクに保存する必要がなくなり、前記第１ローカル非共有メモリ２４のみに保存することで、効率のよいデータフローを実現することができる。
【００５４】
また、演算途中のデータの保存に関しても、前記第１ローカル非共有メモリ２４、前記第２ローカル非共有メモリ２６、及び前記第３ローカル非共有メモリ２８を利用することによって、より効率のよいデータフローを実現することができる。
【００５５】
以上説明したように、本第３実施形態によれば、前記第２実施形態に係るマルチプロセッサ信号処理装置と同様の効果を奏する上に、より効率の良いデータフローを実現することができるマルチプロセッサ信号処理装置を提供することができる。
【００５６】
具体的には、前記第１ローカル非共有メモリ２４、前記第２ローカル非共有メモリ２６、及び前記第３ローカル非共有メモリ２８に、例えば図２に示す前記フェイズ１における計算結果の一部であって、図３に示す前記フェイズ２においても使用するデータを保存したり、どのフェイズにおいても共通に使用するパラメータを保存することで、より効率の良いデータフローを実現することができる。
【００５７】
つまり、本第３実施形態に係るマルチプロセッサ信号処理装置によれば、前記第１ローカル共有メモリ８及び前記第２ローカル共有メモリ１０のメモリ容量を小さく抑えることができ、且つ様々な信号処理に対応することができる。
【００５８】
［第４実施形態］
次に、本発明の第４実施形態に係るマルチプロセッサ信号処理装置について説明する。なお、前記第３実施形態に係るマルチプロセッサ信号処理装置との相違点のみを説明する。
【００５９】
図８は、本第４実施形態に係るマルチプロセッサ信号処理装置の構成を示すブロック図である。同図に示すように、本第４実施形態に係るマルチプロセッサ信号処理装置においては、前記第１ローカル端メモリ２０に対してバンク選択レジスタ３０が、前記第１ローカル共有メモリ８に対してバンク選択レジスタ３２が、前記第２ローカル共有メモリ１０に対してバンク選択レジスタ３４が、前記第２ローカル端メモリ２２に対してバンク選択レジスタ３６が、それぞれ接続されて設けられている。つまり、本第４実施形態に係るマルチプロセッサ信号処理装置においては、前記の各メモリごとに、当該メモリのバンク番号（第１乃至第３）を指示する為のレジスタが設けられている。
【００６０】
図９は、本第４実施形態に係るマルチプロセッサ信号処理装置における前記第２信号処理用プロセッサ４のアドレス空間の一構成例を示す図である。また、図１０は、仮想アドレスが前記第１ローカル共有メモリ８のどのバンクを指すかを選択するレジスタを示す図である。図１１は、仮想アドレスが前記第２ローカル共有メモリ１０どのバンクを指すかを選択するレジスタを示している。
【００６１】
ここで、図９に示す前記第２信号処理用プロセッサ４のアドレス空間のうち、０ｘ０００００及び０ｘ０４０００は仮想のアドレスである。また、同図に示すように０ｘ０１０００は前記第１ローカル共有メモリ８の第１バンク８Ａに対応し、０ｘ０２０００は前記第１ローカル共有メモリ８の第２バンク８Ｂに対応し、０ｘ０３０００は前記第１ローカル共有メモリ８の第３バンク８Ｃに対応している。
【００６２】
そして、仮想アドレスである０ｘ０００００がどのバンクを指すかは、図１０に示すレジスタ設定によって決定される。すなわち、レジスタの２ビットの値、００、０１、１０は、それぞれ第１バンク８Ａ、第２バンク８Ｂ、第３バンク８Ｃを指し示している。なお、２ビットの値１１は、使用しない。
【００６３】
例えば、図１０に示すように前記第２信号処理用プロセッサ４から前記第１ローカル共有メモリ８にアクセスする際の仮想アドレスは２進数で１０となっているので、前記第３バンク８Ｃに対応している。
【００６４】
一方、０ｘ０５０００は前記第２ローカル共有メモリ１０の第１バンク１０Ａに対応し、０ｘ０６０００は前記第２ローカル共有メモリ１０の第２バンク１０Ｂに対応し、０ｘ０７０００は前記第３ローカル共有メモリ１０の第３バンク１０Ｃに対応している。
【００６５】
そして、仮想アドレスである０ｘ０４０００がどのバンクを指すかは、図１１に示すレジスタ設定によって決定される。すなわち、レジスタの２ビットの値、００、０１、１０は、それぞれ第１バンク１０Ａ、第２バンク１０Ｂ、第３バンク１０Ｃを指し示している。なお、２ビットの値１１は、使用しない。
【００６６】
例えば、図１１に示すように、前記第２信号処理用プロセッサ４から前記第２ローカル共有メモリ１０へアクセスする際の仮想アドレスは２進数で００となっているので、前記第１バンク１０Ａに対応している。
【００６７】
なお、前記第１ローカル端メモリ２０及び前記第２ローカル端メモリ２２にアクセスする際の仮想アドレスに関しても、前記第１ローカル共有メモリ８及び前記第２ローカル共有メモリ１０の場合と同様にして、どのバンクを指すかのレジスタ設定ができることは勿論である。
【００６８】
以上説明したように、本第４実施形態によれば、前記第３実施形態に係るマルチプロセッサ信号処理装置と同様の効果を奏する上に、より効率の良いデータフローを実現することができるマルチプロセッサ信号処理装置を提供することができる。
【００６９】
すなわち、本第４実施形態に係るマルチプロセッサ信号処理装置によれば、フェイズが変わる際に前記バンク選択レジスタ３０，３２，３４，３６の設定を切り替えることで、アドレスを書き換えることなく、フェイズが変わる前と同様のプログラムを動かすことができる。換言すれば、所定のプログラムを組む際に、前記３つのフェイズに分けてアドレスを書く必要がなくなる。
【００７０】
［第５実施形態］
次に、本発明の第５実施形態に係るマルチプロセッサ信号処理装置について説明する。なお、前記第４実施形態に係るマルチプロセッサ信号処理装置との相違点のみを説明する。本第５実施形態に係るマルチプロセッサ信号処理装置の構成は、図８に示す前記第４実施形態に係るマルチプロセッサ信号処理装置の構成と同様である。
【００７１】
図１２は、本第５実施形態に係るマルチプロセッサ信号処理装置において、前記外部バス１２からアクセスする際に使用するアドレス空間を示す図である。換言すれば、図１２は、前記コントロール用プロセッサ１４または前記ＤＭＡコントローラ１６からアクセスする際のアドレス空間を示す図である。
【００７２】
また、図１３は、仮想アドレスが前記第１ローカル共有メモリ８のどのバンクを指すかを選択するレジスタを示す図である。そして、図１４は、仮想アドレスが前記第２ローカル共有メモリ１０のどのバンクを指すかを選択するレジスタを示す図である。
【００７３】
ここで、図１２に示す前記外部バス１２からアクセスする際のアドレスのうち、０ｘ８０００００と０ｘ８０４０００は、仮想のアドレスである。また、同図に示すように０ｘ８０１０００は前記第１ローカル共有メモリ８の第１バンク８Ａに対応し、０ｘ８０２０００は前記第１ローカル共有メモリ８の第２バンク８Ｂに対応し、０ｘ８０３０００は前記第１ローカル共有メモリ８の第３バンク８Ｃに対応している。
【００７４】
そして、仮想アドレスである０ｘ８０００００がどのバンクを指すかは、図１３に示すレジスタ設定によって決定される。すなわち、レジスタの２ビットの値、００、０１、１０は、それぞれ第１バンク８Ａ、第２バンク８Ｂ、第３バンク８Ｃを指し示している。なお、２ビットの値１１は、使用しない。
【００７５】
例えば、図１３に示すように、前記外部バス１２から前記第１ローカル共有メモリ８へアクセスする際の仮想アドレスは２進数で００となっているので、前記第１バンク８Ａに対応する。
【００７６】
一方、０ｘ８０５０００は前記第２ローカル共有メモリ１０の第１バンク１０Ａに対応し、０ｘ８０６０００は前記第２ローカル共有メモリ１０の第２バンク１０Ｂに対応し、０ｘ８０７０００は前記第３ローカル共有メモリ１０の第３バンク１０Ｃに対応している。
【００７７】
そして、仮想アドレスである０ｘ８０４０００がどのバンクを指すかは、図１４に示すレジスタ設定によって決定される。すなわち、レジスタの２ビットの値、００、０１、１０は、それぞれ第１バンク１０Ａ、第２バンク１０Ｂ、第３バンク１０Ｃを指し示している。なお、２ビットの値１１は、使用しない。
【００７８】
例えば、前記外部バス１２から前記第２ローカル共有メモリ１０へアクセスする際の仮想アドレスは、２進数で１０となっているので、前記第３バンク１０Ｃに対応している。
【００７９】
なお、前記第１ローカル端メモリ２０及び前記第２ローカル端メモリ２２にアクセスする際の仮想アドレスに関しても、前記第１ローカル共有メモリ８及び前記第２ローカル共有メモリ１０の場合と同様にして、どのバンクを指すかのレジスタ設定ができることは勿論である。
【００８０】
以上説明したように、本第５実施形態によれば、前記第４実施形態に係るマルチプロセッサ信号処理装置と同様の効果を奏する上に、より効率の良いデータフローを実現することができるマルチプロセッサ信号処理装置を提供することができる。
【００８１】
具体的には、本第５実施形態に係るマルチプロセッサ信号処理装置によれば、前記外部バス１２から、前記第１共有メモリ８、前記第２ローカル共有メモリ１０、前記第１ローカル端メモリ２０、前記第２ローカル端メモリ２２へアクセスする際にも仮想アドレスを用いることが可能となる。
【００８２】
［第６実施形態］
次に、本発明の第６実施形態に係るマルチプロセッサ信号処理装置について説明する。なお、前記第５実施形態に係るマルチプロセッサ信号処理装置との相違点のみを説明する。
【００８３】
図１５は、本第６実施形態に係るマルチプロセッサ信号処理装置の構成を示すブロック図である。
【００８４】
同図に示すように、本第６実施形態に係るマルチプロセッサ信号処理装置では、前記第５実施形態に係るマルチプロセッサ信号処理装置の具備する前記コントロール用プロセッサ１４は設けられず、代わりに前記第２信号処理用プロセッサ４が、バス４０によって前記外部バス１２に接続される。
【００８５】
そして、本第６実施形態に係るマルチプロセッサ信号処理装置においては、前記第２信号処理用プロセッサ４が、前記外部バス１２及び前記バス４０を通して、前記コントロール用プロセッサ１４としての処理を行う。
【００８６】
ここで、前記コントロール用プロセッサ１４としての処理とは、例えば、ＤＭＡのコントロール、前記第１信号処理用プロセッサ２及び前記第２信号処理用プロセッサ４のコントロール、前記の各バンク選択レジスタの設定、前記第１ローカル共有メモリ８及び前記第２ローカル共有メモリ１０ヘのアクセス、前記第１ローカル端メモリ２０及び前記第２ローカル端メモリ２２ヘのアクセス、前記第１ローカル非共有メモリ２４、前記第２ローカル非共有メモリ２６、及び前記第３ローカル非共有メモリ２８ヘのアクセス等の処理のことである。
【００８７】
以上説明したように、本第６実施形態によれば、前記コントロール用プロセッサ１４を設けずして、前記第５実施形態に係るマルチプロセッサ信号処理装置と同様の効果を奏するマルチプロセッサ信号処理装置を提供することができる。
【００８８】
なお、以上説明したように、前記第２信号処理用プロセッサ４に、前記コントロール用プロセッサ１４としての機能を担わせるのではなく、前記第１信号処理用プロセッサ２または前記第３信号処理用プロセッサ６に、前記コントロール用プロセッサ１４の機能を担わせても勿論よい。
【００８９】
また、複数の信号処理用プロセッサを前記外部バス１２に接続することで、複数の信号処理用プロセッサが協働して前記コントロール用プロセッサ１４としての処理を行うとしても勿論よい。
【００９０】
［第７実施形態］
本発明の第７実施形態に係るマルチプロセッサ信号処理装置について説明する。なお、前記第５実施形態に係るマルチプロセッサ信号処理装置との相違点のみを説明する。
【００９１】
図１６は、本第７実施形態に係るマルチプロセッサ信号処理装置の構成を示すブロック図である。
【００９２】
同図に示すように、本第７実施形態に係るマルチプロセッサ信号処理装置は、前記第３信号処理用プロセッサ６の代わりに、特殊な処理に特化したハードアクセラレータ５０を具備する。すなわち、該ハードアクセラレータ５０は、前記第２ローカル端メモリ２２と前記第２ローカル共有メモリ１０と前記第３ローカル非共有メモリ２８とに接続されている。
【００９３】
このような構成の下、前記コントロール用プロセッサ１４によって、前記ハードアクセラレータ５０に対応するレジスタに、予め定められた値が書き込まれることで、前記ハードアクセラレータ５０に特殊な処理を実行させることができる。
【００９４】
以上説明したように、本第７実施形態によれば、前記第５実施形態に係るマルチプロセッサ信号処理装置と同様の効果を奏する上に、前記ハードアクセラレータ５０によって特殊な処理を行うことができるマルチプロセッサ信号処理装置を提供することができる。
【００９５】
以上、第１実施形態乃至第７実施形態に基づいて本発明を説明したが、本発明は上述した実施形態に限定されるものではなく、本発明の要旨の範囲内で種々の変形及び応用が可能なことは勿論である。
【００９６】
例えば、前記第１実施形態乃至前記第７実施形態においては、信号処理用プロセッサとして３個の信号処理用プロセッサを想定して説明したが、信号処理用プロセッサの個数は２個以上であれば何個であっても構わないことは勿論である。
【００９７】
また、前記第１信号処理用プロセッサ２、前記第２信号処理用プロセッサ４、及び前記第３信号処理用プロセッサ６として実際に使用するプロセッサには、例えばＲＩＳＣプロセッサ、ＤＳＰ、ＳＩＭＤ等様々なプロセッサを挙げることができるが、上述した各実施形態は、何れの種類のプロセッサであっても適用可能であることは勿論である。さらに、前記第１信号処理用プロセッサ２、前記第２信号処理用プロセッサ４、及び前記第３信号処理用プロセッサ６には、互いに同じ種類のプロセッサを用いる必要はなく、互いに異なる種類のプロセッサを用いても勿論よい。
【００９８】
なお、前記コントロール用プロセッサ１４として実際に使用するプロセッサにも、例えばＲＩＳＣプロセッサ、ＤＳＰ、ＳＩＭＤ等様々なプロセッサを挙げることができる。
【００９９】
さらに、上述した実施形態には種々の段階の発明が含まれており、開示される複数の構成要件の適当な組み合わせにより種々の発明が抽出され得る。例えば、実施形態に示される全構成要件からいくつかの構成要件が削除されても、発明が解決しようとする課題の欄で述べた課題が解決でき、発明の効果の欄で述べられている効果が得られる場合には、この構成要件が削除された構成も発明として抽出され得る。
【図面の簡単な説明】
【０１００】
【図１】本発明の第１実施形態に係るマルチプロセッサ信号処理装置の構成を示すブロック図。
【図２】本発明の第１実施形態に係るマルチプロセッサ信号処理装置による信号処理におけるデータの流れを示す図。
【図３】本発明の第１実施形態に係るマルチプロセッサ信号処理装置による信号処理におけるデータの流れを示す図。
【図４】本発明の第１実施形態に係るマルチプロセッサ信号処理装置による信号処理におけるデータの流れを示す図。
【図５】本発明の第１実施形態に係るマルチプロセッサ信号処理装置による信号処理時間を模式的に示す図。
【図６】本発明の第２実施形態に係るマルチプロセッサ信号処理装置の構成を示すブロック図。
【図７】本発明の第３実施形態に係るマルチプロセッサ信号処理装置の構成を示すブロック図。
【図８】本発明の第４実施形態に係るマルチプロセッサ信号処理装置の構成を示すブロック図。
【図９】本発明の第４実施形態に係るマルチプロセッサ信号処理装置における第２信号処理用プロセッサのアドレス空間の一構成例を示す図。
【図１０】仮想アドレスが第１ローカル共有メモリのどのバンクを指すかを選択するレジスタを示す図。
【図１１】仮想アドレスが第２ローカル共有メモリのどのバンクを指すかを選択するレジスタを示す図。
【図１２】本発明の第５実施形態に係るマルチプロセッサ信号処理装置において、外部バスからアクセスする際に使用するアドレス空間を示す図。
【図１３】仮想アドレスが第１ローカル共有メモリのどのバンクを指すかを選択するレジスタを示す図。
【図１４】仮想アドレスが第２ローカル共有メモリのどのバンクを指すかを選択するレジスタを示す図。
【図１５】本発明の第６実施形態に係るマルチプロセッサ信号処理装置の構成を示すブロック図。
【図１６】本発明の第７実施形態に係るマルチプロセッサ信号処理装置の構成を示すブロック図。
【符号の説明】
【０１０１】
２…第１信号処理用プロセッサ、  ４…第２信号処理用プロセッサ、  ６…第３信号処理用プロセッサ、  ８…第１ローカル共有メモリ、  ８Ａ…第１バンク、  ８Ｂ…第２バンク、  ８Ｃ…第３バンク、  １０…第２ローカル共有メモリ、  １０Ａ…第１バンク、  １０Ｂ…第２バンク、  １０Ｃ…第３バンク、  １１Ａ，１１Ｂ，１１Ｃ，１１Ｄ，１１Ｅ，１１Ｆ…内部バス、  １２…外部バス、  １４…コントロール用プロセッサ、  １６…ＤＭＡコントローラ、  １８…外部メモリ、  ２０…第１ローカル端メモリ、  ２０Ａ…第１バンク、  ２０Ｂ…第２バンク、  ２０Ｃ…第３バンク、  ２２…第２ローカル端メモリ、  ２２Ａ…第１バンク、  ２２Ｂ…第２バンク、  ２２Ｃ…第３バンク、  ２４…第１ローカル非共有メモリ、  ２６…第２ローカル非共有メモリ、  ２８…第３ローカル非共有メモリ、  ３０，３２，３４，３６…バンク選択レジスタ、  ４０…バス、  ５０…ハードアクセラレータ。
【図１】
2008090455.tif 000003
【図２】
2008090455.tif 000004
【図３】
2008090455.tif 000005
【図４】
2008090455.tif 000006
【図５】
2008090455.tif 000007
【図６】
2008090455.tif 000008
【図７】
2008090455.tif 000009
【図８】
2008090455.tif 000010
【図９】
2008090455.tif 000011
【図１０】
2008090455.tif 000012
【図１１】
2008090455.tif 000013
【図１２】
2008090455.tif 000014
【図１３】
2008090455.tif 000015
【図１４】
2008090455.tif 000016
【図１５】
2008090455.tif 000017
【図１６】
2008090455.tif 000018