(57)【要約】  デジタル信号処理集積回路は、相互接続されてプログラムされる又はプログラム可能なデジタル信号プロセッサ（１０）の配列を含む。コンフィギュレーション可能な多重化回路（１２）は、ＩＯ接続（１１ａ，ｂ）と、少なくとも複数のデジタル信号プロセッサ（１０）のＩＯポートとの間に置かれる。前記多重化回路（１２）は、コンフィギュレーションデータの制御下でコンフィギュレーションされ、その結果、前記多重化回路（１２）は、ＩＯ接続部にアクセスすることの効果を、前記コンフィギュレーションデータにより選択されたそれぞれの複数のデジタル信号プロセッサ（１０）の１以上のプロセッサのＩＯポートからのＩＯ信号のみに与える。好ましくは、それぞれのデジタル信号プロセッサ（１０）は、他のデジタル信号処理回路とは別に複数の多重化回路（１２）に共通して結合された自身のＩＯポートを持つ。好ましくは、多重化回路（１２）は、周辺回路に対する制御信号値を、それぞれのデジタル信号プロセッサ（１０）のそれぞれ異なるものからの独立してコンフィギュレーション可能なＩＯ信号値に関連付けるように構成される。
2007522576.tif 000002
【特許請求の範囲】
【請求項１】
-   相互接続され、プログラムされた又はプログラム可能なデジタル信号プロセッサの配列であって、該デジタル信号プロセッサの少なくともいくつかはＩＯポートを持つ配列と、
- 該配列内の信号プロセッサと該配列の外の回路との間で信号ストリームの通信をするＩＯ接続部と、
- 少なくとも複数の前記デジタル信号プロセッサの前記ＩＯポートと前記ＩＯ接続部との間のコンフィギュレーション可能な多重化回路であって、該多重化回路がコンフィギュレーションデータの制御下でコンフィギュレーション可能であり、該多重化回路がコンフィギュレーションデータにより選択されるそれぞれの複数のデジタル信号プロセッサの１以上のもののＩＯポートからのＩＯ信号にのみ、前記ＩＯ接続部にアクセスする効果を付与するように構成される、多重化回路とを有する、デジタル信号処理集積回路。
【請求項２】
前記多重化回路が、前記複数のデジタル信号プロセッサの選択されたものの前記ＩＯポートから前記ＩＯ接続部へ、無条件の仲裁なしでアクセスを付与するように構成される、請求項１に記載のデジタル信号処理集積回路。
【請求項３】
前記ＩＯ接続部を含む複数のＩＯ接続部と、前記コンフィギュレーション可能な多重化回路を含む複数のコンフィギュレーション可能な多重化回路と、を有するデジタル信号処理集積回路であって、それぞれのコンフィギュレーション可能な多重化回路は、それぞれのＩＯ接続を少なくともそれぞれの複数の前記デジタル信号プロセッサのＩＯポートに結合し、それぞれの多重化回路が、コンフィギュレーションデータの制御の下でコンフィギュレーション可能であり、それぞれの多重化回路が、該多重化回路に対するコンフィギュレーションデータによって選択される前記それぞれ複数のデジタル信号プロセッサの１以上のもののＩＯポートからのＩＯ信号のみに、前記ＩＯ接続部へアクセスする効果を与えるように構成され、前記デジタル信号プロセッサの少なくとも１つの前記ＩＯポートが、他のデジタル信号プロセッサの前記ＩＯポートとは別に、複数の前記多重化回路に共通して結合される、請求項１に記載のデジタル信号処理集積回路。
【請求項４】
前記ＩＯ接続のそれぞれ１つに結合された周辺回路を有するデジタル信号処理集積回路であって、該周辺回路は制御入力を持ち、該周辺回路は該制御入力でそれぞれの制御信号値に応答し、前記多重化回路は、各制御信号値を前記コンフィギュレーションデータの制御下で選択されたそれぞれのＩＯ信号値に関連付け、前記多重化回路は、前記周辺回路に供給するため、前記デジタル信号プロセッサの選択された１以上のものの前記ＩＯポートからの前記ＩＯ信号を、前記ＩＯ信号値に関連したそれぞれの制御信号値に変換するように構成された、請求項１に記載のデジタル信号処理集積回路。
【請求項５】
前記多重化回路が、制御信号値を前記それぞれのデジタル信号プロセッサの異なるものから独立してコンフィギュレーション可能なＩＯ信号値にそれぞれに関連付けるように構成される、請求項４に記載のデジタル信号処理集積回路。
【請求項６】
前記デジタル信号プロセッサが、ＩＯアドレスを指定するＩＯ命令を実行するように構成され、前記ＩＯポートは、前記ＩＯアドレスを出力するアドレス線を持ち、前記多重化回路は、該多重化回路に接続される各選択されたデジタル信号プロセッサを、それぞれのコンフィギュレーション可能なＩＯアドレス値にコンフィギュレーション可能に関連付けるように構成され、前記多重化回路は、前記信号処理回路の特定の１つのＩＯポートからの受信に応答して、前記それぞれの接続と、前記デジタル信号プロセッサの特定の１つの前記ＩＯポートとの間のデータの輸送を可能にするように構成され、前記ＩＯアドレス値は、コンフィギュレーション可能に前記信号処理回路の特定の１つと関連付けられる、請求項１に記載のデジタル信号処理集積回路。
【請求項７】
前記多重化回路が
- 複数のコンフィギュレーションデータ格納素子と、
- 複数の比較器であって、各比較器が、前記コンフィギュレーションデータ格納素子のそれぞれ１つに結合される第１入力と、受信ＩＯアドレスに対して前記デジタル信号プロセッサのそれぞれ１つの前記ＩＯポートに結合された第２入力とを持つ、比較器と、
- 制御信号発生回路であって、該比較器の出力に結合され、該比較器が適合の命令を出すこれらのデジタル信号プロセッサの前記ＩＯポートと前記ＩＯ接続との間のデータの輸送を可能にするように構成される入力を持つ、制御信号発生回路と、
を有する、請求項４に記載のデジタル信号処理集積回路。
【請求項８】
前記多重化回路の前記コンフィギュレーションデータが、前記デジタル信号プロセッサの前記ＩＯポートからの信号の制御下でプログラム可能である、請求項１に記載のデジタル信号処理集積回路。
【請求項９】
前記デジタル信号プロセッサが、複数のタスクを有する信号処理動作を実行するようにプログラムされ、各タスクが、デジタル信号プロセッサのそれぞれのものによって実行され、前記集積回路が、前記配列内のデジタル信号処理回路間の近傍相互接続を有し、前記信号処理動作において信号ストリームは、前記相互接続を介してそれぞれのタスク間、並びに前記ＩＯ接続から及び前記ＩＯ接続への前記タスクのフロントエンドタスクへ及び／又はバックエンドタスクからそれぞれ流れ、前記デジタル信号処理集積回路は、構成を確立するようプログラムされ、前記フロントエンド及び／又はバックエンドタスクを実行する前記それぞれ複数のデジタル信号プロセッサの１以上のもののＩＯポートからのＩＯ信号のみが、前記それぞれのＩＯ接続にアクセスする影響を与える、前記多重化回路が構成される、請求項１に記載のデジタル信号処理集積回路。
【請求項１０】
特定のフロントエンド及び／又はバックエンドタスクを実行する各特定のデジタル信号プロセッサは、構成を確立するために前記多重化回路に前記コンフィギュレーションデータを書き込むようにプログラムされ、該多重化回路は、前記特定のデジタル信号プロセッサからのＩＯ信号に応答して前記フロントエンド及び／又はバックエンドタスクを前記信号ストリームと交換してＩＯ接続にアクセスする、請求項９に記載のデジタル信号処理集積回路。
【請求項１１】
信号データのストリームを入力及び／又は出力する信号処理動作を実行する方法であって、
- 集積回路におけるそれぞれのデジタル信号プロセッサのそれぞれのプログラムを実行し、異なるデジタル信号プロセッサにおけるタスク間でデータの中間ストリームを通信することにより、前記信号処理動作の部分である異なるタスクを実行するステップであって、前記デジタル信号プロセッサが、信号データの外部ストリームからの受信及び／又は送信信号に対するＩＯ命令を含むフロントエンド及び／又はバックエンドタスクを実行する、特定のデジタル信号プロセッサを含むステップと、
- 前記実行の前に、少なくとも複数の前記デジタル信号プロセッサのＩＯポート及びＩＯ接続の間に結合された多重化回路のコンフィギュレーションデータをプログラムするステップであって、該コンフィギュレーションデータは、該コンフィギュレーションデータにより選択された前記特定のデジタル信号プロセッサの前記ＩＯポートからのＩＯ信号のみに前記それぞれのＩＯ接続へアクセスする効果を与えるように、前記多重化回路を制御するステップと、
を有する方法。
【請求項１２】
プログラムされた信号処理動作間の切り替えが実行され、該切り替えは前記コンフィギュレーションデータを再プログラムし、その結果、相互に異なる前記デジタル信号プロセッサのものは、前記切り替えの前及び後にフロントエンド及び／又はバックエンドタスクを実行する、請求項１１に記載の方法。
【請求項１３】
信号データのストリームを入力及び／又は出力する信号処理動作を実行する命令を持つコンピュータプログラムであって、該命令は、
- 集積回路におけるそれぞれのデジタル信号プロセッサでそれぞれのプログラムを実行し、異なるデジタル信号プロセッサにおけるタスク間のデータの中間ストリームを通信することにより、前記信号処理動作の部分である異なるタスクを実行するステップであって、前記デジタル信号プロセッサは、信号データの外部ストリームからの受信及び／又は送信信号に対するＩＯ命令を含むフロントエンド及び／又はバックエンドタスクを実行する、特定のデジタル信号プロセッサを含むステップと、
- 前記実行の前に、少なくとも複数の前記デジタル信号プロセッサのＩＯポートとＩＯ接続との間に結合される多重化回路のコンフィギュレーションデータをプログラムするステップであって、該コンフィギュレーションデータにより選択される前記特定のデジタル信号プロセッサの前記ＩＯポートからのＩＯ信号のみに前記それぞれのＩＯ接続をアクセスする効果を与えるように、前記コンフィギュレーションデータが多重化回路を制御するステップと、
を実行する命令を有する、コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、デジタル信号処理に関し、特に並列に動作する複数のプログラムされたデジタル信号プロセッサを持つデジタル信号処理回路に関する。
【背景技術】
【０００２】
デジタル信号処理回路は、現代の民生電子装置の至る所に存在する。信号処理回路は、受信、送信、レンダリング、記録などの目的でオーディオ又はビデオ信号ストリームのような実時間又は実時間に近い信号ストリームを受信する及び／又は出力するという点で、通常のコンピュータとは異なる。同じ処理動作が、無期限にこれらのストリームからのデータに対して何度も繰り返して適用される。特定用途向けの装置は、典型的に単にこれらの処理動作を実行するように恒久的にプログラムされる。
【０００３】
実時間又は実時間に近い信号ストリーム処理は必要とされ、これには高い処理能力が必要とされる。米国特許ＵＳ６，４５６，６２８は、デジタル信号プロセッサを持つ複数の回路基板が、高い処理能力を提供するために、どのように並列で利用されうるのかということを開示している。並列プロセッサの処理能力を最大に利用するために、通信のボトルネックは是正される。このため上記米国特許のデジタル信号プロセッサは、共有のバス接続に加えて、デジタル信号プロセッサの選択された対の間での局部（一つのプロセッサから一つのプロセッサへの）通信接続を有する。更に、それぞれのデジタル信号プロセッサは、それ自身の外部Ｉ／Ｏインタフェイスをドーターボードへの共有のバスの外に有する。これは、デジタル信号処理にとって典型的なことである。通常のコンピュータでは、Ｉ／Ｏインタフェイスは通常前記共有のバスを介して接続されるが、デジタル信号処理システムでは、これは、大半の信号ストリームの実時間性を妨害するだろう。
【０００４】
動作時において、それぞれのデジタル信号プロセッサは、典型的に複雑な処理動作のそれぞれ異なる部分を実行するようにプログラムされている。典型的には、フロントエンドデジタル信号プロセッサは、信号サンプルのストリームを入力し、ストリームのそれぞれのサンプルに対して繰り返し第１処理動作を実行するようにプログラムされる。前記フロントエンドデジタル信号プロセッサは、第１処理動作の結果を、局部接続部を介して、次のデジタル信号プロセッサに渡す。該次のデジタル信号プロセッサは、第２処理動作を実行してその結果などを渡すようにプログラムされ、バックエンドデジタルプロセッサが処理された信号サンプルのストリームを出力する。
【０００５】
明らかに、このタイプのマルチプロセッサシステムのコストは、デジタル信号プロセッサボードの数を用途の必要に整合させることにより制御されうる。所与の用途では、プログラムのセットは、異なる信号プロセッサのために書かれ、必要な数のデジタル信号処理ボードがインストールされ、ストリームの入力及び出力は、システムのフロントエンド及びバックエンドを形成する処理ボードの外部Ｉ／Ｏインタフェイスに結合される。
【０００６】
このような信号処理システムの集積化は、直接的にみえる。単に集積回路の回路基板から回路を実現し、集積回路の入力及び出力ピンをシステムのフロントエンド及びバックエンドを形成するデジタル信号プロセッサの外部Ｉ／Ｏインタフェイスに接続すればよい。
【０００７】
しかしながら、設計コストを削減するため、一度このようなタイプの信号処理集積回路が特定の用途のために設計され製品化のための準備をされても、該設計は、関連した用途のための新しいタイプの信号処理集積回路になるように容易に変更できることが望ましい。これがもともとのタイプのプログラムを置き換えることのみに関連する限り、このような再設計は低コストになりうる。しかし、このような集積回路が再プログラムされなければならない場合、この入力及び出力がもともとの用途のために選択されたデジタル信号プロセッサに特定的に接続される場合、非効率性が生じているということが判明した。再プログラムされたアプリケーションは、フロントエンド及びバックエンド機能が特定のデジタル信号プロセッサから移動することができないならば、非効率になりうる。一方、フロントエンド又はバックエンド処理が、信号ストリームのＩ／Ｏ接続をもつプロセッサから移動される場合、フロントエンド及びバックエンドプロセッサへの及びプロセッサからの信号データを移送するためにデジタル信号プロセッサ間の信号のトラフィックを増加させることもまた非効率である。
【発明の開示】
【発明が解決しようとする課題】
【０００８】
特に本発明の目的は、効率的に再プログラムされうる複数の相互接続されたデジタル信号プロセッサを持つ信号処理集積回路を提供することである。
【０００９】
特に本発明の目的は、複数の相互接続されたデジタル信号プロセッサをもつ集積回路の異なるデジタル信号プロセッサにまたがる機能の移動に対する抑制を緩和することである。
【００１０】
特に本発明の目的は、集積回路の消費電力の低減を促進することである。
【課題を解決するための手段】
【００１１】
本発明によると、信号処理集積回路は、ＩＯ接続部及び複数の信号プロセッサ間にコンフィギュレーション可能な多重化回路を備える。（ここで使われる「ＩＯ接続部」は、集積回路におけるデジタル信号プロセッサへの配列の外部接続部を意味し、該ＩＯ接続部は同じ回路内の周辺回路に接続されうる。）コンフィギュレーション可能な多重化回路は、コンフィギュレーションデータでコンフィギュレーションされうる。多重化回路は、ＩＯ制御信号を複数の信号プロセッサから受信するが、コンフィギュレーションデータにより選択された信号プロセッサからのＩＯ制御信号のみに、影響を与えるだけである。したがって単一の集積回路設計において、異なるデジタル信号プロセッサが、デジタル信号処理回路の配列にまたがるタスクの分配に依存する分配された信号処理動作において、データのストリームを入力するフロントエンドタスクを実行するようにコンフィギュレーションされうる。同じことが、データのストリームを出力するバックエンドタスクにもあてはまる。
【００１２】
好ましくは、デジタル信号プロセッサの少なくとも１つのＩＯポートが、異なるＩＯ接続部に対して、複数のこのようなコンフィギュレーション可能な多重化回路に結合され、多重化回路のせいぜい１つが、デジタル信号プロセッサからのＩＯ制御信号に応答して構成される。したがって、デジタル信号プロセッサは、選択されたＩＯ接続部にコンフィギュレーション可能な様に取り付けられうる。異なるデジタル信号プロセッサ間の衝突は、異なるＩＯ接続部で生じない。なぜならコンフィギュレーションデータは、１つのデジタル信号プロセッサのみがＩＯ接続部へのアクセスをもつことを保証するからである。それゆえ、常にコンフィギュレーションできるように選択されたいかなるデジタル信号プロセッサも無条件アクセスを許可することにより、ＩＯ接続部へのアクセスをする接続されたデジタル信号プロセッサ間のアービトレーションを取り除きうる。これは、時間及び回路面積を節約する。
【００１３】
一実施例では、多重化回路は、選択されたデジタル信号プロセッサのＩＯポートからの選択されたＩＯアドレスに対して応答するようにコンフィギュレーションされる。多重化回路がデジタル信号プロセッサからのコンフィギュレーションされたＩＯアドレスを認識する場合、多重化回路はデジタル信号プロセッサによるアクセスを可能にする。好ましくは異なるＩＯアドレスが、ＩＯ接続部に結合される周辺回路に対して、構成できるように異なる制御信号値に関連付けられる。したがって、デジタル信号プロセッサに周辺の特定の接続部を必要とせず、このことは、フロント又はバックエンドとしてデジタル信号プロセッサの異なるものを用いることを容易にする。
【００１４】
好ましくは、コンフィギュレーションデータは、デジタル信号処理回路それ自身により実行されたプログラムの制御下におかれる。このことは、コンフィギュレーションを自己完結型にする。加えて、プログラム制御下の信号処理タスク間の動的な切り替えの実施を可能にし、そこでフロントエンド及び／又はバックエンドタスクの実施は、あるデジタル信号プロセッサから他のものにシフトされる。
【００１５】
一実施例では、所与の集積回路のデジタル信号プロセッサは、例えばＲＯＭプログラムメモリを用いて恒久的にプログラムされ、多重化回路は、同様にＩＯ接続部を恒久的に単一デジタル信号プロセッサに結合するように恒久的にコンフィギュレーションされる。この場合、接続部がプログラム可能であるという事実は、所与の集積回路における機能を持たないが、単に異なるプログラムの異なる集積回路を製造することを可能にし、そこで、ＩＯ接続部は、最小限の設計変更で他のデジタル信号プロセッサに結合される。
【００１６】
これら及び他の本発明の目的及び有利な効果は、図で示された例の手段により説明されるだろう。
【発明を実施するための最良の形態】
【００１７】
図１は、概略的に集積信号処理回路を示す。この集積信号処理回路は、命令型デジタル信号プロセッサ１０の配列、外部入力１１ａ、外部出力１１ｂ、多重化回路１２、及び周辺回路１４を含む。デジタルプロセッサ１０は、自身の最近傍プロセッサに近接相互接続を持つ（デジタル信号のプロセッサ１０の２×２行列がそれぞれのデジタル信号プロセッサ１０に対する２つの最近傍接続で示されるが、異なる数の近傍の接続部をもち、例えば最近傍のみ又は最近傍及び次の近傍などとなる、異なる大きさにされた行列が利用されることが理解されるだろう。）
【００１８】
外部入力１１ａは、周辺回路１４を介して第１多重化回路１２の第１端子に結合される。第１多重化回路１２は、デジタル信号プロセッサ１０のそれぞれに結合された第２端子を有する。外部出力１１ｂは、周辺回路１４を介して第２多重化回路１２の第１端子に結合される。第２多重化回路１２は、デジタル信号プロセッサ１０のそれぞれに結合された第２端子を有する。単一の線が示されているが、実際にはそれぞれの端子は、並列の複数（例えばそれぞれのデータビットに対する複数のデータ接続部、それぞれのアドレスビットに対する複数のアドレス接続部、並びに読込／書込及び／又はイネーブル接続部のような制御接続部）の接続部を含みうると理解されるべきである。
【００１９】
図２は、デジタル信号プロセッサ１０のアーキテクチャの例を示す。このアーキテクチャでは、デジタル信号プロセッサ１０は、命令処理コア２０、読込専用プログラムメモリ２２、レジスタファイル２４、行列における近傍のデジタル信号プロセッサ（示されていない）に結合する通信ポート２５、多重化回路１２（示されていない）に結合するＩＯポート２６、及びデータメモリ２８を含む[ダブルハーバードアーキテクチャ（double  Harvard  architecture）を利用する場合には、さらに別の係数メモリ（示されていない）を設けることができる]。ＩＯポート２６は、単一の線として示されるが、それぞれが複数の信号導線（例えば、６本のＩＯアドレス導線及び３２本のデータ導線及び制御導線）を表すと理解されるべきである。通信ポート２５は、同様に多くの導線を有しうる。命令処理コア２０は、プログラムメモリ２２に結合された命令フェッチ入力、ポート２５，２６に結合されたオペランド読込及び書込入力及び出力、並びにデータメモリ２８に結合されたデータ読込／書込インタフェイスを有する。
【００２０】
動作において集積回路が起動された場合、信号プロセッサ１０は、多重化回路１２に制御データを書き込む。多重化回路のそれぞれに対する制御データ値は、デジタル信号プロセッサのプログラムメモリ２２からの読込専用データにより決定される。制御データは、周辺回路１４を介してデジタル信号プロセッサ１０と関連する外部接続１１ａ，ｂとの間の選択的接続を確立するために、各多重回路１２を制御する。
【００２１】
続いて、デジタル信号プロセッサは、信号処理動作を実行するために、自身のプログラムメモリ２２からの信号処理命令を実行する。デジタル信号プロセッサ１０の第１及び第２の単一のものに対するプログラムは、第１及び第２多重化回路１２それぞれに結合されたポートから及びポートへ信号データを読み込む及び書き込む命令も含む。典型的に当該回路は、これらの命令が例えば多重化回路１２に接続されたようなＩＯポートからの読込又は書込特有の命令コードを持つ専用のＩＯ読込及び書込命令となるように、構成されるが、しかし、代わりに該回路は、多重化ポートに対応するレジスタアドレスをもつレジスタ読込命令がＩＯポートにアクセスしうるように、又は、適切なアドレスが利用される場合にデータメモリ２８をアドレス指定するために使用し得る、メモリがマップされた読込及び書込命令が、ＩＯポートにアクセスしうるように、構成され得る。
【００２２】
デジタル信号プロセッサ１０は、最近傍の近隣接続部を介しても信号データを通信するので、多重化回路１２に直接読込又は書込をしないデジタル信号プロセッサも、外部入力１１ａでの信号値から計算された中間の信号値を用いて、信号処理動作を実施し、及び外部出力１１ｂにおいて信号値に影響を与えることができる。
【００２３】
図３は、多重化回路１２の一実施例を示し、該回路は、接続回路３０、変換回路３４、及び更新回路３８を含む。それぞれの変換回路３４は、デジタル信号プロセッサ１０（示されていない）のそれぞれ１つのアドレス線及び制御線に結合された入力並びに接続回路３０に結合された出力を有する。デジタル信号プロセッサ１０（示されていない）のそれぞれ１つのデータ線は、接続回路３０に直接結合される。接続回路３０は、ＩＯ制御出力及び周辺回路１４に結合されたデータ入出力（例えば入力あたり３２ビット）を有する。接続回路３０は、デジタル信号処理回路の選択可能な１つと周辺回路１４との間でデータを渡すように構成される。接続回路３０は、変換回路３４から周辺回路１４へも制御データを渡すように構成される。
【００２４】
単一のデータ線及び制御線が、周辺回路１４に接続されて示されるが、実際は１つより多い接続が並列で備えられうるということが理解されるだろう。周辺回路１４への制御線の数さえ、異なる周辺回路に対して、周辺回路１４のタイプに依存して異なりうる。
【００２５】
動作の際、デジタル信号プロセッサ１０は、最初にコンフィギュレーションデータを変換回路３４に書き込む。それぞれの変換回路３４は、デジタル信号プロセッサ１０と周辺回路１４とのそれぞれの組み合わせに対応する。それぞれの特定の変換回路３４に対するコンフィギュレーションデータは、対応するデジタル信号プロセッサからのＩＯ制御信号及び／又はデータが対応する周辺回路１４と交換されるべきかどうかを指定する。もしそうであれば、特定の変換回路３４に対するコンフィギュレーションデータは、対応するプロセッサ１０により自身のＩＯポート２６へ印加される場合、どの１つ又は多くのＩＯアドレスに、特定の変換回路３４が応答すべきなのかを指定する。好ましくは、コンフィギュレーションデータもまた、対応するデジタル信号制御プロセッサ１０がそれぞれのアドレスを供給する場合、特定の変換回路３４が、対応する周辺回路１４に供給しなければならない制御信号を指定する。
【００２６】
例えば、対応するプロセッサ１０がそのＩＯアドレスを提供する場合のみ、特定の変換回路３４がＩＯポート２６からデータを渡すように、１つのＩＯアドレスのみが明確にされ得る。別の例では、いくつかのＩＯアドレスは、対応する周辺回路１４に対する制御信号のそれぞれのセットとのそれぞれ組み合わせで特定され得る。例えば周辺回路１４の状態レジスタからＩＯポート２６へデータを供給するあるアドレス及び周辺回路１４の信号データレジスタからＩＯポート２６へ信号データを供給する別のアドレスである。
【００２７】
典型的にそれぞれのデジタルプロセッサ１０は、周辺回路１４のせいぜい１つに対する変換回路３４が１つ又はそれより多くのデジタル信号プロセッサ１０からのＩＯアドレスに応答するように、コンフィギュレーションデータを書込、異なるデジタル信号プロセッサ１０は、典型的に、異なる周辺回路１４に対する変換回路３４が異なるデジタル信号プロセッサ１０から、１つ又はそれより多くのＩＯアドレスに応答するように、コンフィギュレーションデータを書き込む。したがって、それぞれの周辺回路１４は、デジタル信号プロセッサ１０のそれぞれによりアクセスされる。しかしながら一実施例において、前記コンフィギュレーションデータは、複数のデジタル信号プロセッサ１０が、それぞれ自身の指定のＩＯアドレスを用いて、同じ周辺回路１４にアクセスするのを許可する。本実施例又は別の実施例では、コンフィギュレーションデータは、デジタル信号プロセッサ１０が複数の周辺回路にアクセスすることを許可する。典型的にはこの場合、デジタル信号プロセッサ１０は、異なる周辺回路１４に対する変換回路３４が異なるアドレスに応答するように、コンフィギュレーションデータをセットする。したがって、デジタル信号プロセッサは、異なるＩＯアドレスを出すことによって、異なる周辺回路をアドレス指定できる。しかしながら一実施例において、同じアドレスがコンフィギュレーションされ得、例えば異なる周辺回路からのデータの組み合わせが読み込まれなければならない。
【００２８】
前記実施例において示されたデジタル信号プロセッサ１０は、ＩＯポートのデータ線を介して、コンフィギュレーションデータを供給する。更新回路３８は、コンフィギュレーションの更新に関連する特定のＩＯアドレスが供給されたかどうかを検出し、そうであれば、更新回路３８は、変換回路３４に、デジタル信号プロセッサ１０のＩＯポート２６からのデータで、コンフィギュレーションデータを更新する。例えば、ＩＯポート２６からの既定のＩＯアドレスは、ＩＯポート２６からの添付のデータが、コンフィギュレーションデータが格納されるべき１つ又はより多くのＩＯアドレスを表すことを、通知するよう使用され得る。状況に応じて、別の既定のＩＯアドレスは、ＩＯポート２６からの添付データが事前に指定されたアドレスと関連して格納されるべきコンフィギュレーションデータを表すと、通知するよう使用され得る。
【００２９】
コンフィギュレーションデータを書き込んだ後、信号プロセッサ１０は、プログラムメモリ２２からの信号処理プログラムの実行を開始する。信号処理プログラムの実行時に、デジタル信号プロセッサ１０は、ＩＯ命令を実行し、その結果命令のアプリケーションがＩＯポート２６のＩＯアドレスに依存することになる。ＩＯポートに結合された変換回路３４は、ＩＯアドレスが変換回路３４に対して構成されたアドレスに適合しているかどうかを検出する。もしＩＯアドレスが特定の変換回路３４に適合するならば、変換回路３４は、デジタル信号プロセッサ１０と変換回路に対応する周辺回路との間で、データを通過させるように及び／又はコンフィギュレーションデータによりＩＯアドレスに対して規定された制御信号を通過させるように、接続回路３０を制御する。
【００３０】
例えば、コンフィギュレーションされたアドレスに応答して、変換回路３４は、接続回路３０を介して読込制御データを周辺回路１４に供給し、周辺回路１４からＩＯポート２６へ読込データを通過させるように接続回路３０を制御する。別の例では、コンフィギュレーションされたアドレスに応答して、変換回路３４は、接続回路３０を介して書込制御データを周辺回路１４に供給し、ＩＯポート２６から周辺回路１４へ書込データを通過させるように接続回路３０を制御する。
【００３１】
図４は、接続回路３０の制御部の一実施例を示す。本実施例は、複数のＯＲゲートを含み、それぞれが入力４４ａ‐ｃのセットをもつ。３つのＯＲゲート４０は例により示されるが、ＯＲゲートの数が周辺回路１４の制御接続の数に依存することは、理解されるべきである。各ＯＲゲートの入力４４ａ‐ｃは、変換回路３４のそれぞれの出力に結合される。ＯＲゲート４０の出力は、周辺回路１４に結合される。したがって動作時に、周辺回路１４は、異なるデジタル信号プロセッサ１０に対応する、変換回路３４からの出力信号の論理的ＯＲを受信する。本実施例では、変換回路３４は、コンフィギュレーションされたアドレスを受信しない場合に論理的ゼロを供給するように構成される。
【００３２】
特筆すべき点は、仲裁が実施されないことである。異なるデジタル信号プロセッサ１０のＩＯポート２６における同時ＩＯアドレスによる衝突は、多重化回路１２のコンフィギュレーションにより避けられ、該回路は、デジタル信号プロセッサのコンフィギュレーションされたもののみに応答する。結果として、通常の高速論理回路は、準安定状態を被る３状態のドライバ又はアービターなしで、ＩＯポートと周辺回路１４との間に利用されうる。アクセスは、１又は既定の数の周期内で実時間振る舞い及びシステムの予測可能性を確かにするよう保証される。
【００３３】
図５は、接続回路のデータ部の一実施例を示す。本実施例は、ＩＯデータのそれぞれのビットに対するＮ対１のスイッチ４２を含み（Ｎはデジタル信号プロセッサ１０の数である）、各スイッチ４２の第１側面接続４８ａ‐ｄは、信号プロセッサ１０のそれぞれのもののＩＯポートに結合される。各スイッチ４２の第２側面接続は、周辺回路１４に結合される。スイッチ４２は、変換回路３４からの制御線４６を介して制御され、該変換回路は、スイッチ４２が周辺回路１４への変換回路３４に対応するデジタル信号プロセッサ１０のデータ線を、接続するかどうかを制御する。動作において、変換回路１４は、デジタル信号プロセッサからのＩＯアドレスがコンフィギュレーションされたアドレスに適合するかどうかに依存して、選択的に制御線を稼動する。
【００３４】
一実施例では、スイッチ４２は、２方向のスイッチング素子（示されていない）により実施される。別の実施例では、３状態ドライバが使用され得、これは、もしＩＯポート２６におけるＩＯアドレスがコンフィギュレーションされたアドレスに適合するならば、読込又は書込制御信号がＩＯポートから受信されたかどうかに依存して、周辺回路１４からデジタル信号プロセッサ１０のＩＯポート２６へ、又はその逆に信号を駆動する。通常、仲裁回路は、１つより多くのデジタル信号プロセッサ１０が、同じ周辺回路１４に同時に書き込むということ、又は１つより多い周辺回路１４が、同じ信号プロセッサ１０に同時に接続されるということ、を排他的に提供せず、信号プロセッサは横並びで動作し、そのような衝突が起きない、又は起きたとしても、損傷を与える影響のない結果になるようにプログラムされる。
【００３５】
しかし、他の一実施例では、別の読込及び書込線が、ＩＯポート２６に備えられ得る。本実施例では、論理回路は、周辺回路への書込信号及びデジタル信号プロセッサ１０のＩＯポート２６への読込信号を形成するスイッチの代わりに使用され得る。周辺回路１４に対する書込信号は、例えば異なるデジタル信号プロセッサ１０からのイネーブルにされたデータの論理的ＯＲとして形成され、イネーブル化は変換回路１４により制御される。読込データは、異なる周辺回路１４からのイネーブルにされたデータの論理的ＯＲとして形成され得、イネーブル化は変換回路１４により制御される。
【００３６】
各変換回路１４は、例えば異なるアドレスに対してメモリ位置を持つメモリとして実現され得る。本実施例では、デジタル信号プロセッサ１０からのＩＯアドレスは、メモリにアドレス指定するために使用され、メモリからのデータは、制御データとして接続回路３０に印加される。コンフィギュレーション時に、適切な制御データは、デジタル信号プロセッサ１０により選択されたアドレスのメモリ位置に格納される。
【００３７】
図６は、変換回路の別の実施例を示す。本実施例は、アドレスレジスタ６０、アドレス比較器６２、及び制御信号発生回路６４を含む。アドレス比較器６２は、対応するデジタル信号プロセッサ１０のＩＯポート２６からのアドレス入力に結合された第１入力と、アドレスレジスタ６０の出力に結合された第２入力とを有する。アドレス比較器６２は、制御信号発生回路６４に結合された出力を持つ。アドレスレジスタ６０は、対応するデジタル信号プロセッサ１０のＩＯポート２６のデータ線に結合された入力及び更新回路３８の出力に結合されたクロック入力を持つ。２つの比較器‐レジスタ対が示されるが、いかなる数（例えば１、２、３又はより多く）も使用されえることは理解されるべきである。
【００３８】
動作において、アドレスレジスタ６０は、デジタル信号プロセッサ１０が自身のＩＯポート２６における既定のアドレスを出力する場合、対応するデジタル信号プロセッサ１０のＩＯポート２６のデータ線からのデータをラッチする。典型的にデータとは異なるフィールドは、異なるレジスタにラッチされる。例として３２ビットデータ語とは異なる６ビットアドレスフィールドからの４アドレスは、アドレスレジスタ６０においてラッチされうる。通常の動作時に比較器６２は、ラッチされたアドレスを、対応するデジタル信号プロセッサ１０のＩＯポート２６から印加されたアドレスと比較する。もし適合が発生するならば、信号は制御信号発生回路６４に印加され、該回路は、それに応じて周辺回路１４及び／又は接続回路３０に対する１つ又はそれより多い制御信号を発生させる。一実施例では、制御信号発生回路６４は、信号が特定の入力において比較器から受信された場合、自身の入力のそれぞれのものに対する既定の制御信号を規定し、既定の制御信号を発生させる。別の実施例では、制御信号は更にプログラム可能になり得る。アドレス可能メモリの代わりに比較器を使用することは、追加のクロックサイクルを必要とせずに、より高速な変換が可能であるという利点を持つ。
【００３９】
本発明は特定の実施例を用いて説明されるが、本発明から逸脱することなく多くの変形例が可能であることを理解されるだろう。例えばデジタル信号プロセッサ１０の配列は、すべてのデジタル信号プロセッサがそれぞれの周辺回路１４に対するすべての多重化回路１２に結合されるように示されるが、実際には、特にデジタル信号プロセッサ１０の大きな配列が利用されるならば、デジタル信号プロセッサ１０の複数のサブセットのみが多重化回路１２に結合され得ることが理解されるだろう。例えば、もしデジタル信号プロセッサ１０が行及び列の行列にしたがって相互近傍接続を持つならば、１列のデジタル信号プロセッサ１０は、多重化回路のみに結合され得る。これは、信号処理プログラムの位置における柔軟性を維持するが、例えば変換回路に対して回路を節約する。どんな数のデジタル信号プロセッサ１０も、いかなる可能なトポロジーにおいて使用され、接続され得るということは、理解されるだろう。
【００４０】
別の例として、デジタル信号プロセッサからのコンフィギュレーションデータをプログラムする代わりに、共通の制御プロセッサがコンフィギュレーションデータをプログラムするために利用され得る。マイクロコントローラの中心は、このため前記集積回路に加えられ得、コンフィギュレーションデータを多重化回路１２に書き込むプログラムを実施するよう構成され得る。これは、デジタル信号プロセッサ１０のプログラムが、コンフィギュレーションについてのいかなる情報も含む必要がないという利点を持つ。しかしながら、それは、マイクロコントローラの追加の接続を必要とし、入力又は出力のタスクの移動に関連するデジタル信号プロセッサ１０のプログラムへの変化は、マイクロコントローラのプログラムの変化にも関連する、ということを意味する。別の実施例では、コンフィギュレーションデータは、例えば製造時に多重化回路１２それ自身に恒久的にプログラムされる。
【００４１】
本発明は、信号処理の開始前の１度だけのコンフィギュレーションを説明しているが、動的な再コンフィギュレーションがいくつかの用途に対して提供されうることを理解されるべきである。この場合にはいくらか時間間隔をあけて信号ストリームでの第１信号処理動作を実施した後に、スイッチは、第２信号処理動作、例えばユーザコマンドに応答してつくられる。第１と第２との両方の信号処理動作を実行するプログラムは、デジタル信号プロセッサ１０において供給されうる。信号処理タスクを異なる信号処理回路に分配することは、異なる動作とは異なり、その結果、信号ストリームは、第１及び第２信号処理動作の場合に異なる点でデジタル信号プロセッサ１０の配列へ入る及び／又は配列から去るという場合がありえる。もしそうであれば、デジタル信号プロセッサ１０は、又は共通の制御器は、デジタル信号プロセッサ１０が第２信号処理動作の実行を開始する前に、好ましくは新たなコンフィギュレーションデータを多重化回路に書き込む。
【００４２】
好ましくは、コンフィギュレーションデータは、ＩＯポート２６からのＩＯアドレスが、（アドレスに応答するように１つの周辺回路のみをコンフィギュレーションすることにより、又は異なる周辺回路１４に対して異なるアドレスを用いることによって）同時に単一の周辺回路１４への接続となるように構成される。しかしながら、本発明から逸脱することなく、１つより多い周辺回路１４を同じアドレスでアドレス指定することが可能にされ得る。このように例えばデータが一度に周辺回路１４より多く書かれ得、又は、もし周辺回路１４がＩＯポート２６のデータ線の異なるサブセットを駆動するのならば、１つより多い周辺回路１４からのデータの組み合わせが読まれ得る。
【００４３】
更に本発明は、例の実施の詳細に制限されないことが理解されるだろう。例えばいくつか又は全てのデジタル信号プロセッサ１０は、１つより多いＩＯポートを持ちえて、この場合ＩＯポートの一部は多重化回路の一部と接続され得、他のＩＯポートは他の多重化回路に接続され得る。いかなるアドレス及びデータ語幅及びインタフェイスタイプも、ＩＯポートに対して利用され得る。
【００４４】
一連の信号が原則として無限の時間間隔で継続し得る場合に一連の信号値を生成又は消費するように、周辺回路１４のいかなるタイプも、それ自身の専用のインタフェイスタイプで利用され得る。例えば、オーディオ入力周辺機器が使用され得、左及び右のチャネルに音声サンプル値を流す。この場合異なるＩＯアドレスが、左及び右のチャネルデータの読込に対応し得て、同じ制御信号で繰り返された読込は、連続するサンプリング時間点に対するサンプル値を読むために使用される。他の例では、オーディオ出力周辺機器は利用され得、又はビデオ信号入力／出力、又は周辺機器は、ＤＣＴ変換回路、誤り訂正エンコーダ又はデコーダなどのような専用の処理回路であり得、同じ制御信号とともに繰り返された読込又は書込は、例えば連続的なサンプリング時間点又はイメージ位置に対するサンプル値を読み込むために使用される。それぞれが、制御信号の自身の形態を必要とし得て、これらはすべてＩＯポート２６でそれぞれのアドレスを出すことによってデジタル信号プロセッサ１０により発生される。
【図面の簡単な説明】
【００４５】
【図１】図１は、集積信号処理回路を示す。
【図２】図２は、デジタル信号プロセッサのアーキテクチャを示す。
【図３】図３は、多重化回路を示す。
【図４】図４は、多重化回路における信号制御インタフェイスを示す。
【図５】図５は、多重化回路におけるデータ信号インタフェイスを示す。
【図６】図６は、変換回路の一実施例を示す。
【図１】
2007522576.tif 000003
【図２】
2007522576.tif 000004
【図３】
2007522576.tif 000005
【図４】
2007522576.tif 000006
【図５】
2007522576.tif 000007
【図６】
2007522576.tif 000008
【国際調査報告】
2007522576.tif 000009
2007522576.tif 000010
2007522576.tif 000011