(57)【特許請求の範囲】
【請求項１】
プログラミング可能なモジュール（Ｍ１〜Ｍ３）を高度集積システム（ＶＩＰ）において階層的および分散的に制御するための装置において、
多数の制御モジュール（Ｃ１〜Ｃ６）と１つの同期ユニット（ＳＹＮＣ）とを有し、
該制御モジュールは、上位の制御ユニット（ＤＳＰ）と制御情報（Ｓ）を交換し、それぞれの制御モジュールに固定的に配属されている処理モジュール（Ｍ１〜Ｍ３）を制御線路（ＣＬ）を介して制御し、
前記同期ユニットは、同期線路（Ｓ１〜Ｓ６）を介して全ての制御モジュール（Ｃ１〜Ｃ６）と接続されており、
前記制御モジュールのそれぞれに、固有の命令キャッシュメモリ（ＩＣ１〜ＩＣｎ）が配属されており、
前記制御モジュールを上位の制御ユニット（ＤＳＰ）によって投入接続および遮断し、および／または処理モジュールを制御線路（ＣＬ１〜ＣＬｎ）上の相応の制御信号によって投入接続および遮断することを特徴とする、プログラミング可能なモジュールを高度集積システムにおいて階層的および分散的に制御するための装置。
【請求項２】
前記制御モジュールは、ＦＩＦＯメモリ（ＦＩＦＯ１〜ＦＩＦＯｎ）と前記同期ユニット（ＳＹＮＣ）とを介して前記制御線路（ＣＬ１〜ＣＬｎ）と接続されている、請求項１記載の装置。
【請求項３】
前記制御モジュールは、ＦＩＦＯメモリ（ＦＩＦＯ１〜ＦＩＦＯｎ）と前記同期ユニット（ＳＹＮＣ）とを介して別の制御モジュール（ＣＣ１〜ＣＣｎ）と接続されており、
該別の制御モジュールの出力側は前記制御線路（ＣＬ１〜ＣＬｎ）と接続されている、
請求項１または２記載の装置。
【請求項４】
下位の制御モジュール（Ｃ６）を有し、
該下位制御モジュール（Ｃ６）は、制御情報（ＳＣ１、ＳＣ２）を受け取り、情報を前記同期ユニット（ＳＹＮＣ）と交換し、制御情報を下位の制御モジュールに配属されている処理モジュールに制御線路を介して供給する、
請求項１〜３いづれか１項記載の装置。
【請求項５】
前記制御モジュールは実質的に、マイクロプログラムと同期ユニットと、場合によっては下位の制御モジュールとによって固定配線されている、
請求項１〜４いづれか１項記載の装置。
【発明の詳細な説明】
【０００１】
本発明は、機能性と複雑性の異なる一連の個別モジュールを有し、システムの適用に応じてフレキシブルに構成可能またはプログラミング可能である高度集積回路に関する。これらの個別モジュールに、一方ではできるだけわずかな命令帯域幅でプログラムを供給することでき、もう一方では、調整もしくは同期することができる。個別モジュールの同期特性は、例えば非常に簡単に次のように達成することができる。すなわち、非常に長い命令語ＶＬＩＷ（ｖｅｒｙ  ｌｏｎｇ  ｉｎｓｔｒｕｃｉｏｎ  ｗｏｒｄ）の中で個々のビットがそれぞれの個別モジュールに固定的に配属されていることによって達成することができる。
【０００２】
このような高度集積システムが例えば２次元画像の処理のために用いられる場合、演算装置の他にアドレスゼネレータが画像メモリの読み取りと書き込みのために必要である。２次元画像の処理では、画素（ピクセル）が画像メモリから部分ごとに読み出され、演算装置でピクセルごとに処理され、そして最後に再び画像メモリに書き戻される。アドレスゼネレータは処理すべき対象物の２次元性をアドレス計算の際に考慮しなくてはならず、これは例えば２つの入れ子構造のプログラムループによって行われる。その一方、演算装置は処理すべきピクセルの総数のみを知れば良く、メモリ内のそれの配置を知る必要はない。それ故に、ただ１つのプログラムループだけで演算装置にとっては十分である。しかし、アドレスゼネレータに対する命令と演算装置に対する命令が相応の長い命令語ＶＬＩＷにまとめられる場合、結果として生じるプログラムは不必要にも演算装置の部分に対しても２つの入れ子構造のループを有する。
【０００３】
さらに、そのようなシステムを適用する場合にはしばしば次のような状況が生じる。すなわち、すべてのモジュールが同時には動作しておらず、そのため、通常は集積回路の外部にある命令メモリへの伝送帯域幅が浪費される状況が生じる。なぜなら、ちょうど今不要のモジュールに対して比較的多くのいわゆるＮＯＰ命令（無動作）が共に伝送されるからである。命令メモリへの帯域幅を節約するための手段は、命令語を圧縮した形で、つまりＮＯＰ命令を十分に除去して命令メモリにファイルし、個々のモジュールへ送る途中で初めて欠けているＮＯＰ命令を再び補充するのである。
【０００４】
ヨーロッパ特許公開ＥＰ０７６８６０２Ａ２から、プログラミング可能なモジュールを階層的および分散的に制御するための装置が公知である。ここでは多数の制御モジュールが存在し、これらの制御モジュールは上位の制御ユニットと制御情報の交換をし、それぞれの制御モジュールに固定的に配属されている処理モジュールを制御線路を介して制御する。
【０００５】
Ｇｕｎｔｈｅｒ，Ｂｅｒｎｈａｒｄ  Ｋ．の出版物「Ｍｕｌｔｉｔｈｒｅａｄｉｎｇ  ｗｉｔｈ  Ｄｉｓｔｒｉｂｕｔｅｄ  Ｆｕｎｃｔｉｏｎａｌ  Ｕｎｉｔｓ．  ＩＥＥＥ  Ｔｒａｎｓａｃｔｉｏｎｓ  ｏｎ  Ｃｏｍｐｕｔｅｒｓ，Ｖｏｌ．４６，Ｎｏ．４，Ａｐｒｉｌ  １９９７」の３９９ページから４１１ページに、制御モジュールと処理モジュールを多数有する装置のための同期ユニットが開示されている。
【０００６】
本発明の課題は、
外部の命令メモリと高度集積システムとの間の命令ストリームの伝送帯域幅をできるだけ小さくし、
さらに高度集積システムの損失電力ができるだけ少なくなるように、
プログラミング可能なモジュールを高度集積システムにおいて階層的および分散的に制御するための装置を構成することである。
【０００７】
本発明の課題は、請求項１の特徴によって解決される。本発明の有利な実施形態は従属項に記載されている。
【０００８】
本発明は、特に、個々のモジュールがモジュール式にプログラミング可能であるという利点を有し、このことは特に、多くの個別モジュールを有する高度集積システムの場合、開発と欠陥保証の点で非常に重要である。
【０００９】
本発明の実施例が、次に図を用いて説明されている。
【００１０】
図１は、プログラミング可能なモジュールを有する、高度集積されたヴィジョン・インストラクション・プロセッサ（Ｖｉｓｉｏｎ  Ｉｎｓｔｒｕｃｔｉｏｎ  Ｐｒｏｃｅｓｓｏｒ）を示す図である。
【００１１】
図２は、制御ユニットの階層を解説するブロック図である。
【００１２】
図３は、個々の制御ユニットにおいて別個に実行される命令処理とそれらの同期を示すブロック図である。
【００１３】
図４は、個々の制御ユニットにおいて別個に実行される命令処理とそれらの同期の別の実施例を示すブロック図である。
【００１４】
本発明では、実質的に、システムのプログラミング可能なモジュールに対する比較的長い命令語ＶＬＩＷを有する共通の命令ストリームの代わりに、比較的短い命令語を有するそれぞれ個別の命令ストリームを使用し、モジュールの同期は専用の同期ユニットを介して行う。この同期ユニットは例えばハンドシェークとセマフォに基づいて構成することができる。個々の処理モジュールに制御信号が制御モジュール（コントローラ）の階層から供給され、個別コントローラはマイクロコントローラまたはＲＩＳＣプロセッサによって管理もしくは制御され、同期ユニットを介して同期される。命令ストリームが分離されることによってＮＯＰ命令の数は低減される。このことは補遺にある例によって明らかにされる。さらに、個々の制御ユニットは固有の命令メモリ（インストラクション・キャッシュ）を有し、制御プログラムを変更すべき制御モジュールの命令キャッシュメモリで命令だけを交換すればよい。このことによって伝送帯域幅はさらに低減される。命令ストリームを分離することによって、非常に長い共通の命令語を使用した場合よりも強力なモジュールの分離が可能であり、全てのモジュールが常時必要ではなくなるので、ちょうど今不要なモジュールが遮断またはスタンバイ状態に切り換えられる。これによって高度集積システムの電力消費が格段に低減される。
【００１５】
図１に例としてヴィジョン・インストラクション・プロセッサＶＩＰが示されており、このヴィジョン・インストラクション・プロセッサは外部のメモリＸＭへのインタフェースを有する。外部メモリＸＭからとりわけ命令語Ｗがメモリインタフェースを介して複数の命令キャッシュメモリＩＣに読み込まれる。それぞれのそのようなキャッシュメモリは、複数の制御モジュールＣのそれぞれ１つに配属されている。個々の処理モジュールＭ１〜Ｍ３、例えば、チップ上に分散されて存在するメモリまたはプロセッサフィールドは、それぞれに配属されている制御モジュールと、別個の線路１〜３を介してデータを交換する。制御モジュールＣ１〜Ｃ６の所期の活性化と、そしてそれに伴う処理モジュールＭ１〜Ｍ３の活性化は、通常、自由にプログラミングが可能な上位の制御ユニットＤＳＰ、例えばＲＩＳＣコアまたはＤＳＰコアが担当する。活性化または非活性化はそれぞれのモジュールの全てが完全に投入接続または遮断されるまで続けることもでき、それぞれのモジュールの一部だけを活性化または非活性化することもできる。
【００１６】
図２に制御モジュールの階層が示されており、ここでは、上位の制御ユニットＤＳＰが下位の制御モジュールＣ１〜Ｃ５に制御データＳを供給する。上位の制御ユニットの制御プログラムは例えば高級言語でプログラミングされている。これらの下位の制御モジュールは、所定の処理モジュール、例えばプロセッサフィールド、メモリまたは出力ユニットに配属されており、さらに、それらの中で形成される制御情報によって、制御線路ＣＬを介して処理モジュールを制御することも、またはそうでなければ制御モジュールの下位につく制御モジュールＣ６を制御することもできる。制御線路ＣＬは図１でのデータ接続１〜３の一部である。この制御の際、階層のなかでそれよりも上位に位置する複数の制御モジュールが制御情報ＳＣ１とＳＣ２を下位の制御モジュールＣ６に伝送することができる。上位の制御ユニットＤＳＰから直接制御される制御モジュールは、通常、マイクロプログラムの形態で実現され、これに対して下位の制御モジュール、例えばＣ６は多くの場合純粋なハードウエアで実現されている。上位の制御ユニットから直接制御される制御モジュールＣ１〜Ｃ５も下位の制御モジュールも、共通の同期ユニットＳＹＮＣを介して時間的に同期される。この同期ユニットＳＹＮＣは実質的にはハードウエアから成り、双方向性の制御線路Ｓ１〜Ｓ６を介して制御モジュールと接続されている。必要ならば、１クロック精度での同期調整が、例えばハンドシェーク線路を介して実現される。比較的ルーズな同期調整は、場合によってはハードウエアの支援を得て、セマフォ、イベントカウンタ、または同等なものによって実現することができる。
【００１７】
図３から、複数の命令キャッシュメモリＩＣ１〜ＩＣｎが順次に命令メモリＩＭをアドレッシングし、そしてそれぞれの命令メモリに対して、語幅の比較的短い１つの命令語Ｉが順次に個々の命令キャッシュメモリに読み込まれることが明らかになる。それぞれの制御モジュールではそれぞれの命令語から、例えば制御モジュールＣ１においては命令語ＩＢ１が、制御線路ＣＬ１’のための制御部分ＣＣ１と、シーケンス制御部分ＦＣ１とに変換される。後者は命令アドレスが命令キャッシュメモリを制御するようにするためである。このために同期ユニットＳＹＮＣは、個々の制御モジュールの出力側で形成される制御情報ＣＬ１’〜ＣＬｎ’を同期して、制御線路ＣＬ１〜ＣＬｎに割り込ませる。
【００１８】
分離をより良好にするために、図４に示されているようにさらに別の実施例では、付加的に制御モジュールと同期ユニットＳＹＮＣとの間にＦＩＦＯメモリＦＩＦＯ１〜ＦＩＦＯｎが設けられており、これらのＦＩＦＯメモリはそれぞれのシーケンス制御部分ＦＣ１〜ＦＣｎと同期ユニットによって制御される。同期ユニットＳＹＮＣは、それぞれのＦＩＦＯメモリの出力側で生じる制御信号ＣＬ１’’〜ＣＬｎ’’を同期して、制御線路ＣＬ１〜ＣＬｎに割り込ませる。
【００１９】
第２の別の実施例では、図４に破線で示してあるように、同期ユニットＳＹＮＣは制御信号を制御線路に直接には割り込ませず、制御信号ＣＬ１’’’〜ＣＬｎ’’’が別の制御モジュールＣＣ１’〜ＣＣｎ’を制御し、そしてこれらが初めて制御線路ＣＬ１〜ＣＬｎに対して制御信号を送出する。
【００２０】
【表１】
0003571295.tif 000002
【００２１】
【表２】
0003571295.tif 000003
【図面の簡単な説明】
【図１】プログラミング可能なモジュールを有する、高度集積されたヴィジョン・インストラクション・プロセッサを示した図である。
【図２】制御ユニットの階層を解説するブロック図である。
【図３】個々の制御ユニットにおいて分離して実行する命令処理とそれらの同期調整を示すブロック図である。
【図４】個々の制御ユニットにおいて分離して実行する命令処理とそれらの同期調整の別の実施例を示すブロック図である。
【図１】
0003571295.tif 000004
【図２】
0003571295.tif 000005
【図３】
0003571295.tif 000006
【図４】
0003571295.tif 000007