(57)【要約】      （修正有）【課題】高い処理速度で処理素子全体にデータを分配する。【解決手段】データ処理システムは、データの処理を行い、データ通信を管理する制御手段を経てバスに並列に結合された複数の処理素子を具える。前記制御手段は、複数のバッファ手段を具え、これらのバッファ手段の各々は、複数のバッファセグメントを含む。前記制御手段は、各々の前記バッファ手段におけるある１つの前記バッファセグメントを、各々の前記処理素子に選択的に接続する。これは、セグメント内のデータを予め宛て先に従って分類することによって、素子全体のデータの分配を効果的に可能にする。【選択図】  図１
2006294049.tif 000002
【特許請求の範囲】
【請求項１】
−  データポート手段と、
−  前記データポート手段と並列に結合されシーケンシャルデータの処理を行う複数の処理素子と、
−  前記データポート手段および前記処理素子の間に結合されデータ通信を管理する制御手段とを具えるデータ処理システムにおいて、
−  前記制御手段が、
複数のバッファ手段とを具え、これらのバッファ手段の各々が複数のバッファセグメントを含み、
−  前記制御手段が前記バッファ手段の各々におけるバッファセグメントの１つを前記処理素子の１つに接続させることを特徴とするデータ処理システム。
【請求項２】
請求項１に記載のデータ処理システムにおいて、前記バッファ手段を前記データポート手段に並列に接続するＩ／Ｏバスを具え、前記制御手段が前記バッファセグメントを前記Ｉ／Ｏバスに選択的に接続させることを特徴とするデータ処理システム。
【請求項３】
請求項２に記載のデータ処理システムにおいて、前記Ｉ／Ｏバスは、前記データポート手段と少なくとも前記バッファ手段の第１バッファ手段および前記バッファ手段の第２バッファ手段との各々の間に、各々第１および第２速度でシーケンシャルデータを転送するための第１および第２Ｉ／Ｏバスを具えることを特徴とするデータ処理システム。
【請求項４】
請求項３に記載のデータ処理システムにおいて、前記第１バッファのバッファセグメントが第１の容量を有し、前記第２バッファのバッファセグメントが前記第１の容量と異なった第２の容量を有することを特徴とするデータ処理システム。
【請求項５】
請求項１に記載のデータ処理システムにおいて、各々の前記処理素子がメモリユニットを具えることを特徴とするデータ処理システム。
【請求項６】
請求項５に記載のデータ処理システムにおいて、各々のメモリユニットがランダムアクセスメモリを含むことを特徴とするデータ処理システム。
【請求項７】
請求項６に記載のデータ処理システムにおいて、前記ランダムアクセスメモリがページモードＤＲＡＭを含むことを特徴とするデータ処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データポート手段と、前記データポート手段と並列に結合されシーケンシャルデータの処理を行う複数の処理素子と、前記処理素子および前記データポート手段の間に結合されデータ通信を管理する制御手段とを具えるデータ処理システムに関するものである。
【背景技術】
【０００２】
高速データ処理のボトルネックのひとつは、メモリおよびＣＰＵ間のような別個のデータ処理ユニット間のインタフェースである。このインタフェースは、プログラム命令およびデータの絶え間ない流れを伝送する責任がある、処理システム全体において欠くことのできない経路である。並列処理は、一方では速度を増加させるが、他方では、特別なデータ処理タスクに依存するデータの適切な分配に関しては時間管理の問題をもたらす恐れがある。
【０００３】
上述したような並列アーキテクチャをサポートするシステムは、米国特許明細書第５１０３３１１号（ＰＨＮ１２３７６）により既知である。この文献は、モジュールによる階層的なアーキテクチャに基づいて、実時間におけるビデオ標本を処理するプロセッサシステムを開示している。このシステムは、複数の処理素子を有する少なくとも１つのモジュールを有する少なくとも１つの処理ユニットを有する。前記素子は、モジュールの素子への入力信号と素子からの出力信号とを適切に経路選択するクロスバスイッチに接続され、並列に動作する。好適には、クロスバスイッチの各スイッチ位置にレジスタを設け、同一の処理素子への同時のアクセス要求によって発生する恐れのある衝突を解決する。このシステムにおけるすべてのレベルにおける標本周波数とクロック周波数との間には、一定の関係が存在する。
【０００４】
上述した形式の他のシステムは、米国特許明細書第４５２１８７４号により既知であり、相互接続ノードにおいて追加のメモリ素子を有する相互接続クロスバマトリックスに関係する。このメモリ素子の配列は、並列プロセッサ構造の動作およびプログラミングを容易にする。素子ごとの記憶プロトコルは、圧密すなわち、読み出し時にメモリから個々のデータ記憶が取り除かれた後の機能的に隣接したメモリ位置において格納されたデータ記憶の再圧縮に基づく。このデータ再圧縮は、追加の回路網を必要とする。前回の読み出し命令の実行と次の書き込み命令の実行との間に追加の時間が必要であることから、データ再圧縮は、動作速度の上限も決定する。したがってこのシステムは、実時間基準のビデオ信号の処理には適していない。
【０００５】
先行技術のシステムにおいて、各処理素子は、特定のＩ／Ｏチャネルにクロスバスイッチを経て限定された期間接続される。次に他の処理素子が、同じＩ／Ｏチャネルに切り換えられる。第１の素子は、前記Ｉ／Ｏチャネルに接続されるのを、他の素子の同一のチャネルによる取り扱いが終了するまで待機しなければならない。この既知のシステムは、ビデオ処理におけるような連続的なデータのブロックを処理するのに、または実時間より遅い速度におけるデータを処理するのに好適である。この先行技術のシステムは、任意の方法における、またはランダムアクセス原理における、処理素子全体に分配されたデータの処理には適合しない。
【０００６】
本発明の目的は、高い処理速度を妨げることなく任意の方法において処理素子全体にデータを分配することができる並列アーキテクチャを有するデータ処理装置を提供することである。
【発明の開示】
【発明が解決しようとする課題】
【０００７】
この目的のために、本発明は、制御手段が複数のバッファ手段を具え、これらのバッファ手段の各々が複数の並列バッファセグメントを含むことを特徴とする、上述したようなデータ処理システムを提供する。この制御手段が、前記バッファ手段の各々のバッファセグメントの１つを前記処理素子の各々に選択的に接続する。
【０００８】
第１および第２処理素子と第１および第２バッファ手段を有するアーキテクチャを考える。第１処理素子が第１バッファ手段から第２バッファ手段に切り換えられ、第２処理素子が第１バッファ手段に接続された場合、第１バッファ手段を通るデータチャネルを、第１処理素子は利用できない。これは、前記の先行技術のシステムにおいても同様である。しかしながら本発明において、第２バッファ手段は、並列バッファセグメントを有し、前記並列バッファセグメントのうちの１つは、第１処理素子との通信に関係する限り、第１バッファ手段の役割を引き継ぐように制御される。したがってデータポート手段を経て供給されるデータは、それらの宛て先に応じて予め分類されている。
【０００９】
実際は、バッファ手段のある１つのみが一度に個々の処理素子に接続されることができる一方、データポート手段は、特定の処理素子と通信するたびごとに各々のバッファ手段において位置する各々のバッファセグメントの集合の異なった一つによって通信する。本発明のアーキテクチャは、処理素子のアイドリングと、パイプライン化によってデータにアクセス出来ないこととを回避する。本発明のアーキテクチャは、より高度なモジュールアーキテクチャを許容する。このアーキテクチャは、処理素子とデータポート手段との間の双方向データ通信を可能にする。
【００１０】
速度は、処理素子の数Ｍと処理素子のアクセス速度Ｖとによって決定されることに注意されたい。したがってアーキテクチャの最大平均処理能力比は、Ｍ掛けるＶでＭＶに等しい。素子の数が増加すると、処理能力比が比例して増加する。
【課題を解決するための手段】
【００１１】
第１の実施例において、本システムは、バッファ手段をデータポート手段に並列に接続するバスを具え、制御手段がバッファセグメントをバスに選択的に接続する。したがって制御手段は、データポート手段からバッファセグメントへのデータ経路とバッファセグメントから処理素子へのデータ経路の双方を管理する。制御手段は、例えば、処理素子とバッファセグメントとの間の相互接続のスケジューリングを行うマイクロコードを有するコントローラを含んでもよい。
【００１２】
第２の実施例において、本システムは、データポート手段と、少なくとも第１のバッファ手段および第２のバッファ手段との間でシーケンシャルデータを各々第１速度および第２速度で転送する第１および第２バスを具える。転送速度の差は、処理素子によるデータの処理には現れてこない。
【００１３】
好適には第１バッファ手段のバッファセグメントは、第１の容量を有し、第２バッファ手段のバッファセグメントは、第１の容量と異なる第２の容量を有する。速い方の速度に対応するデータを緩衝記憶するバッファセグメントが、より低い速度のデータ用のバッファセグメントより、単位時間あたりより多くのデータ記憶を受けるとともに供給しなければならないので、後者は、前者より少ないバッファ容量ですむ。
【００１４】
制御手段は、例えば、処理素子およびバッファセグメント間の相互接続と、バッファセグメントおよびデータポート手段間の相互接続とのスケジューリングを行うマイクロコードを有するコントローラを含んでもよい。
【００１５】
特定の実施例において、処理素子の各々は、各々のメモリユニット、例えばランダムアクセスメモリ（ＳＲＡＭ、ＤＲＡＭ）を具えてもよい。本発明におけるシステムは、高速画像処理や、ランダムアクセスな選択による任意の画素ずつの配置におけるビデオデータとグラフィックスデータとの結合に好適である。好適には、ランダムアクセスメモリは、ページモードＤＲＡＭを含み、ラスタスキャンイメージのビデオおよび／またはグラフィックスデータを処理する。分類および緩衝記憶動作は、システムの使用者に対して完全に明白であり、ランダムアクセスな動作もラスタスキャンアクセスな動作も待機状態を必要としないことに注意されたい。
【００１６】
各々のバッファ手段の並列バッファセグメントへの分割は、繰り返すことができる。すなわち、バッファセグメントそれ自身を、次の低い構造レベルにおいて再び分割し、高速データ経路選択のための階層的バッファセグメントアーキテクチャを提供することができる。
【発明を実施するための最良の形態】
【００１７】
本発明を、例として、添付した図の参照と共に、より詳細に説明する。
【００１８】
これらの図を通して、同様のまたは対応する特徴を、同じ参照符によって示す。
【００１９】
第１の例
図１は、本発明によるデータ処理システム１００の第１の例を示す。本例においてシステム１００は、画像処理システムの一部である。システム１００は、例えばビデオデータの転送用の高速Ｉ／Ｏバス１０２と、例えばグラフィックスデータの転送用の標準速度Ｉ／Ｏバス１０４とを具える。システム１００には、複数の処理素子１０６、１０８、１１０、１１２および１１４を組み込む。本例において、処理素子１０６−１１４の各々は、各々のメモリ、好適にはページモードを有するＤＲＡＭを含む。制御入力端子″Ａ″および″Ｅ″は、″アドレス″および″読み出し／書き込み許可″を、各々示す。さらにシステム１００は、バス１０２−１０４とメモリ１０６−１１４との間のデータ通信を管理する制御手段１１６を具える。
【００２０】
画像処理に関係する本例に関して、ランダムアクセスメモリを１０６−１１４のようないくつかのバンクに組み込み、記憶容量とアクセス速度とを増加させることは、既知である。バンクあたりの速度を、バンク切り換え技術を用いて低下させることができる。
【００２１】
制御手段１１６は、複数のバッファ手段１１８、１２０、１２２、１２４および１２６と、複数の中間並列バス１２８と、複数の（デ）マルチプレクサ１３０、１３２、１３４、１３６および１３８とを具える。バッファ手段１１８−１２４を、Ｉ／Ｏバス１０２に並列に接続し、バッファ手段１２６を、Ｉ／Ｏバス１０４に接続する。バッファ手段１１８−１２６の各々を、中間バス１２８の各々に結合する。（デ）マルチプレクサ１３０−１３８の各々を、メモリ１０６−１１４の各々に接続するとともにすべての中間バス１２８に接続する。
【００２２】
明白にするために、図２は、バッファ手段１１８−１２６のある１つをより詳細に示す。バッファ手段１１８−１２６は、機能的に同一なものであり、バッファ手段１１８−１２６の各々は、他の（デ）マルチプレクサの各組の間に並列に配置された複数のバッファセグメントを具える。図２のバッファ手段は、Ｉ／Ｏバス１０２に接続する（デ）マルチプレクサ２０２と、中間バス１２８の各々と接続する（デ）マルチプレクサ２０４と、（デ）マクチプレクサ２０２および２０４間に並列に配置された複数のバッファセグメント２０６、２０８、２１０、１２１および２１４とを含む。バッファセグメント２０６−２１４を、バス１０２および１０４からメモリ１０６−１１４へのデータ流れ、およびその逆方向のデータ流れを処理するために、双方向のものとすることができる。
【００２３】
（デ）マルチプレクサ１３０、１３２、１３４、１３６、１３８、２０２および２０４を、メモリ１０６−１１４とバッファ手段１１８−１２６内のバッファセグメント２０６−２１４との間の相互接続と、バッファセグメント２０６−２１４とバス１０２および１０４との間の相互接続とのスケジューリングを行うマイクロコードを有するコントローラ（図示せず）によって制御する。
【００２４】
バス１０２−１０４からメモリ１０６−１１４へのデータ流れがある場合、バッファ手段１１８−１２６の（デ）マルチプレクサ２０２は、バス１０２および１０４からのデータをバッファセグメント２０６−２１４の適切な１つへ導く働きをし、したがってデータの宛て先に従った分類を行う。（デ）マルチプレクサ２０４および１３０−１３８を使用し、バッファセグメントからのデータストリームを、各々の宛て先すなわち各々のメモリ１０６−１１４に送る。各々の中間バス１２８は、各々のバッファ手段１１８−１２６内のバッファセグメント２０６−２１４の特定の１つと、メモリ１０６−１１４各々との間のデータを伝送する。
【００２５】
好適には、メモリ１０６−１１４にいわゆるページモードＤＲＡＭを使用することによって、能力を向上させる。ＤＲＡＭにおいて、各セルのアクセスは、関連した行アドレスおよび列アドレスを供給することによって行われる。アドレスストローブは、次のデコードのために各アドレスをＤＲＡＭの内部レジスタ内にラッチする。行アドレスおよび列アドレスの双方は、同じ入力ラインを共有するので、ＤＲＡＭは、どちらのアドレスが与えられているかを判別する２つの別個のストローブを必要とする。これらのストローブは、行アドレスストローブ（ＲＡＳ）および列アドレスストローブ（ＣＡＳ）と呼称され、これらの相対的なタイミングがＤＲＡＭの動作を管理する。ページモードを持つＤＲＡＭは、行アドレスのただ１回の要求によって、同じ行のどのような数のセルへのアクセスも許可する。ＲＡＳを有効に保つと、次のアクセスは、適切な列アドレスをストロービングインすることによって行われる。したがってＲＡＳの周期は、１つの行のセルが含まれる間は回避される。ここで性能は、ＣＡＳ復帰時間を含むＤＲＡＭのサイクルタイムと、同じ行から検索された順次のデータと異なった行から検索された順次のデータとの比とによって制限される。
【００２６】
第２の例
図３は、本発明によるシステム３００の第２の例のブロック図である。図１および２のもとに上述したシステム１００と異なって、システム３００は、２０２、２０４および１３０−１３８のような分離した（デ）マルチプレクサを使用しない。代わりにシステム３００は、分割されたバッファ手段３０２、３０４、３０６、３０８および３１０を具え、これらの各々を、各々の中間バス１２８とＩ／Ｏバス１０２または１０４との間に配置する。各々の分割バッファ手段は、アクセス制御ロジックと三状態出力ドライバ（図示せず）とを含む。加えてシステム３００は、他の三状態ドライバ３１２、３１４、３１６、３１８および３２０を、中間バス１２８と処理素子１０６−１１４との間に使用し、中間バス１２８が短絡するのを防止する。ドライバ３１２、３１４、３１６、３１８および３２０と、分割バッファ手段３０２、３０４、３０６、３０８および３１０のアクセス制御ロジックとを、適切なマイクロコードプログラムを有するコントローラ（図示せず）によって制御する。
【００２７】
第３の例
図４は、本発明によるシステム４００の第３の例のブロック図である。システム１００および３００を、双方向システムとして動作させることもできる。すなわち、データを、バス１０２および１０４から処理素子１０６−１１４（例えばメモリ）に転送することができ、同様に素子１０６−１１４からバス１０２および１０４に転送することができる。したがって処理素子１０６−１１４とバス１０２および１０４とは、データ源およびデータの宛て先としてのそれらの機能に関して交換することができる。このことはシステム４００によって反映され、そのアーキテクチャは、図３のシステム３００のアーキテクチャに関して、大体において逆である。ここで、各々の分割バッファ手段３０２−３１０は、処理素子１０６−１１４の特定の１つをすべての中間バス１２８に結合する。
【００２８】
５つの内部バス１２８のうちの４つを、高速バス１０２に複数の双方向三状態バスドライバ４０２を介して結合し、５つめのバスを、通常速度バス１０４に直接結合する。バス１０２に並列に結合された多数の中間バス１２８が存在することから、ドライバ４０２は、中間バスが互いに短絡するのを防止するために必要である。このドライバを、適切なマイクロコードプログラムを有するコントローラ（図示せず）によって制御する。
【００２９】
第４の例
図５は、本発明によるシステム５００の第４の例を示す。システム５００のアーキテクチャは、ネットワークにおける能動的なデータ経路と、処理素子１０６−１１０の各々とバッファ手段３０２−３１０のバッファセグメントの各々との間の同時の通信とを考慮することによって、システム３００および４００をさらに発展させたものである。システム３００および４００における中間バス１２８の各々は、分割バッファ手段３０２−３１０内に位置する並列バッファセグメントのある１つから、処理素子１０６−１１４のある１つにデータを伝送する（そして逆に素子１０６−１１４が、例えばメモリの場合も同様である）。したがって相互接続構造の再配置の結果システム５００となり、システム５００においては分割バッファ手段３０２−３１０の各々において、個々のバッファセグメントを、内部バス１２８の各々とＩ／Ｏバス１０２または１０４との間に接続する。
【００３０】
第５の例
図６は、上述したシステム５００をさらに発展させたものである本発明によるシステム６００の第５の例を示す。更なる最適化は、バッファ手段３０２−３１０の異なったバッファ手段に分配され、中間バス１２８のうちの同じバスに接続されているいくつかのまたはすべてのバッファセグメントを合併することによって達成することができる。例えば、バス１０２と図５における中間バス１２８のうちの上の１つのバスとの間に接続されたバッファセグメント同士を合併し、システム６００における１つの集合バッファセグメント６０２を形成する。同様に、図５におけるバス１０２と中間バス１２８のうちの他の１つのバスとの間に接続されたバッファセグメントを合併し、６０４のような集合バッファセグメントを形成する。このような合併は、バッファが十分に高速な場合常に可能であり、これは例えば２、３キロバイトの大きさのビデオ環境において、小さい容量のバッファに対して一般に正しい。これは、高速ＳＲＡＭ技術を用いることを可能にする。６０２および６０４のような各々の集合バッファセグメントは、上述したアクセス制御ロジックおよび三状態出力ドライバ（図示せず）を含む形式のものとする。
【００３１】
第６の例
前記した例において、バッファ手段例えば１１８−１２６のひとつ当たりのバッファセグメント例えば２０６−２１４の数を、中間バス１２８の数または処理素子１０６−１１４の数と等しく選択する。図７は、図１のシステム１００の（デ）マルチプレクサのアプローチと、図６のシステム６００における集合バッファセグメントの形成とを組み合わせた、ハイブリッドアーキテクチャによるシステム７００の例を示し、バッファセグメントの数を処理素子の数と等しくする必要はないことを示す。システム７００において、Ｉ／Ｏバス１０２を、中間バス１２８に、第１バッファセグメント７０２および第１（デ）マルチプレクサ７０４の縦続と、第２バッファセグメント７０６および第２（デ）マルチプレクサ７０６の他の縦続とによって接続する。Ｉ／Ｏバス１０２および１０４間のデータ流れが単方向の場合、（デ）マルチプレクサ７０４および７０８は、多重化機能を省くことができる。
【００３２】
双方向バッファセグメント
双方向バッファセグメントを、種々の方法において実現することができる。図８は、第１および第２三路スイッチ８０６および８０８間に逆並列方法において接続された第１単方向バッファ８０２および第２単方向バッファ８０４を具える双方向バッファセグメント８００の例を示す。図９は、並列に接続された第１単方向バッファ９０２および第２単方向バッファ９０４を具える他の双方向バッファセグメント９００を示す。バッファ９０２および９０４は、アクセス制御および三状態出力を有する。図１０は、マルチプレクサ１００４およびデマルチプレクサ１００６間に接続された１つの単方向バッファ１００２を具える他の双方向バッファセグメント１０００を示す。マルチプレクサ１００４を、互いに接続されるとともにバッファ１００２の入力端子１００８に接続された出力端子を有する２つの三状態ドライバ（図示せず）に置き換えることができ、マルチプレクサ１００６を、互いに接続されるとともにバッファ１００２の出力端子１０１０に接続された出力端子を有する２つの三状態ドライバ（図示せず）に置き換えることができることに注意されたい。
【００３３】
産業上の利用可能性
図に示した例において、処理素子１０６−１１４を、例えば画像処理システムにおいて使用され、例えばマルチメディア用途において、ビデオデータをコンピュータによって生成されたグラフィックスデータに結合するメモリとすることができる。本発明は、処理素子のすべてをメモリとする必要はなく、処理素子のすべてを機能的に同様のものとする必要はなく、用途が画像処理に限定されず、特に２つのバスを経て供給されるデータの処理に限定されないことは、当業者には明らかであろう。処理システムを、上述したいくつかの例におけるような双方向のものとする必要はない。
【００３４】
例えば、分割バッファ手段１１８−１２６、３０２−３１０と局所的に並列なバッファセグメント２０６−２１４との概念を、例えは、各々の処理素子１０６−１１４が、単一のポートから中間バス１２８およびバッファ手段１１８−１２６、３０２−３１０を経て受けたデータに計算、例えばダイアディック演算を実行し、その結果を他の処理手段に他の中間バス１２８を経て供給するコンピュータにおいて、有利に使用することができる。このようなシステムは、少なくとも局所的に単方向である。
【図面の簡単な説明】
【００３５】
【図１】図１は、本発明によるシステムの第１の例を示すブロック図である。
【図２】図２は、本発明によるシステムの第１の例を示すブロック図である。
【図３】図３は、本発明によるシステムの他の例のブロック図である。
【図４】図４は、本発明によるシステムの他の例のブロック図である。
【図５】図５は、本発明によるシステムの他の例のブロック図である。
【図６】図６は、本発明によるシステムの他の例のブロック図である。
【図７】図７は、本発明によるシステムの他の例のブロック図である。
【図８】図８は、双方向バッファセグメントの例である。
【図９】図９は、双方向バッファセグメントの例である。
【図１０】図１０は、双方向バッファセグメントの例である。
【符号の説明】
【００３６】
１０２…高速Ｉ／Ｏバス、                １０４…標準速度Ｉ／Ｏバス、
１１８、１２０、１２２、１２４，１２６…バッファ手段、
１２８…中間並列バス、
１３０、１３２、１３４、１３６、１３８…（デ）マルチプレクサ、
１０６、１０８、１１０、１１２、１１４…データ処理素子、
２０２、２０４…（デ）マルチプレクサ、
２０６、２０８、２１０、２１２、２１４…バッファセグメント
【図１】
2006294049.tif 000003
【図２】
2006294049.tif 000004
【図３】
2006294049.tif 000005
【図４】
2006294049.tif 000006
【図５】
2006294049.tif 000007
【図６】
2006294049.tif 000008
【図７】
2006294049.tif 000009
【図８】
2006294049.tif 000010
【図９】
2006294049.tif 000011
【図１０】
2006294049.tif 000012