(57)【特許請求の範囲】
【請求項１】
基本帯域幅ＢＢの倍数の帯域幅ＢＢＵＳ(但し、（ＢＢＵＳ／ＢＢ）は、ＩＮ＞１の要素であり、”／”は整数除算を表し、ＩＮ＞１は、１より大きな自然数を表す)で、基本帯域幅ＢＢを持つ多重データセットを同時に転送する可能性を実現するための、パイプラインバスをリングに形成したパイプラインリングネットワークと、
前記パイプラインリングネットワークに異なる帯域幅接続（ｘＰＥ＊ＢＢ）（但し、ｘＰＥは、ＩＮ＞０の要素であり、ＩＮ＞０は自然数を表す）が可能なプロセシングエレメントと、
グループ化されて共通制御される１つ又は複数のプロセシングエレメントから形成され、前記パイプラインリングネットワークと異なる帯域幅接続（ｘＰＵ＊ＢＢ）（但し、ｘＰＵは、ＩＮ＞０の要素である）されるプロセシングユニットと、
前記パイプラインリングネットワーク上で、
１つの送信プロセシングユニットと、複数の受信プロセシングユニットを有し、送信プロセシングユニットの接続帯域幅が、複数の受信プロセシングユニットの接続帯域幅の合計に等しいデータ配信転送モードおよび／または、
複数の送信プロセシングユニットと、１つの受信プロセシングユニットを有し、複数の送信プロセシングユニットの接続帯域幅の合計が、受信プロセシングユニットの接続帯域幅に等しいデータ集信転送モードを制御する制御装置と、を有することを特徴とする基本帯域幅ＢＢのアーキテクチャを有するプロセシングシステム。
【請求項２】
前記プロセシングユニットは、単一命令多重データ（ＳＩＭＤ）形式で動作することが可能なことを特徴とする請求項１に記載のプロセシングシステム。
【請求項３】
アクセス制御線を持ち、データフロー制御シーケンスを実行することにより、前記プロセシングユニットから来るデータ転送要求の制御及び調停を行うグローバル制御ユニットをさらに含むことを特徴とする請求項１または２に記載のプロセシングシステム。
【請求項４】
前記グローバル制御ユニットは、データが、前記データ配信転送モードで、１つの前記プロセシングユニットから、多くの前記プロセシングユニットに、送信側と受信側で等しい帯域幅Ｂで、
ａ．）（Ｂ％ＢＢ）＝＝０、かつ、
ｂ．）（Ｂ／ＢＢ）∈ＩＮ＞１、かつ、
ｃ．）（Ｂ＜＝ＢＢＵＳ）
で、転送されるデータフロー制御シーケンスを実行する、ことを特徴とする請求項３に記載のプロセシングシステム。
【請求項５】
前記グローバル制御ユニットは、データが、前記データ集信転送モードで、多くの前記プロセシングユニットから、１つの前記プロセシングユニットに、送信側と受信側で等しい帯域幅Ｂで、
ａ．）（Ｂ％ＢＢ）＝＝０、かつ、
ｂ．）（Ｂ／ＢＢ）∈ＩＮ＞１、かつ、
ｃ．）（Ｂ＜＝ＢＢＵＳ）
で、転送されるデータフロー制御シーケンスを実行する、ことを特徴とする請求項３に記載のプロセシングシステム。
【請求項６】
プロセシングエレメントの複数のグループが、実行時に、プロセシングユニットに割り当てられることが可能であることを特徴とする請求項４または５に記載のプロセシングシステム。
【請求項７】
複数のプロセシングエレメントは、実行時に、単一命令多重データ（ＳＩＭＤ）形式または非ＳＩＭＤ形式に構成可能であることを特徴とする請求項６に記載のプロセシングシステム。
【請求項８】
基本帯域幅ＢＢのアーキテクチャを用いた処理方法であって、
基本帯域幅ＢＢの倍数の帯域幅ＢＢＵＳ（但し、（ＢＢＵＳ／ＢＢ）は、ＩＮ＞１の要素であり、”／”は、整数除算を表し、ＩＮ＞１は、１より大きな自然数を表す）で、基本帯域幅ＢＢを持つ多重データセットを同時に転送する可能性を実現するための、パイプラインバスをリングに形成したパイプラインリングネットワークを用意すること、
異なる帯域幅接続（ｘＰＥ＊ＢＢ）（但し、ｘＰＥは、ＩＮ＞０の要素であり、ＩＮ＞０は自然数を表す）が可能なプロセシングエレメントを前記パイプラインリングネットワークに接続すること、
グループ化されて共通制御される１つ又は複数のプロセシングエレメントから形成されるプロセシングユニットを、前記パイプラインリングネットワーク及び制御装置に異なる帯域幅接続（ｘＰＵ＊ＢＢ）（但し、ｘＰＵは、ＩＮ＞０の要素である）で接続すること、
前記制御装置は、前記パイプラインリングネットワーク上で、
１つの送信プロセシングユニットと、複数の受信プロセシングユニットを有し、送信プロセシングユニットの接続帯域幅が、複数の受信プロセシングユニットの接続帯域幅の合計に等しいデータ配信転送モードおよび／または、
複数の送信プロセシングユニットと、１つの受信プロセシングユニットを有し、複数の送信プロセシングユニットの接続帯域幅の合計が、受信プロセシングユニットの接続帯域幅に等しいデータ集信転送モードを制御すること、を特徴とする処理方法。
【請求項９】
前記プロセシングユニットは、単一命令多重データ（ＳＩＭＤ）形式で動作することが可能であることを特徴とする請求項８に記載の処理方法。
【請求項１０】
データフロー制御シーケンスを実行することにより、前記複数のプロセシングユニットから来るデータ転送要求を制御し、調停することを、さらに含むことを特徴とする請求項８または９に記載の処理方法。
【請求項１１】
前記データ転送要求の制御は、データが、前記データ配信転送モードで、１つの前記プロセシングユニットから、多くの前記プロセシングユニットに、送信側と受信側で等しい帯域幅Ｂで、
ａ．）（Ｂ％ＢＢ）＝＝０、かつ、
ｂ．）（Ｂ／ＢＢ）∈ＩＮ＞１、かつ、
ｃ．）（Ｂ＜＝ＢＢＵＳ）
で、転送されるデータフロー制御シーケンスを実行する、ことを特徴とする請求項１０に記載の処理方法。
【請求項１２】
前記データ転送要求の制御は、データが、前記データ集信転送モードで、多くの前記プロセシングユニットから、１つの前記プロセシングユニットに、送信側と受信側で等しい帯域幅Ｂで、
ａ．）（Ｂ％ＢＢ）＝＝０、かつ、
ｂ．）（Ｂ／ＢＢ）∈ＩＮ＞１、かつ、
ｃ．）（Ｂ＜＝ＢＢＵＳ）
で、転送されるデータフロー制御シーケンスを実行する、ことを特徴とする請求項１０に記載の処理方法。
【請求項１３】
プロセシングエレメントのグループは、実行時に、複数のプロセシングユニットに割り当てられることが可能であることを特徴とする請求項１１または１２に記載の処理方法。
【請求項１４】
複数のプロセシングエレメントは、実行時に、単一命令多重データ（ＳＩＭＤ）形式または非ＳＩＭＤ形式に構成可能であることを特徴とする請求項１３に記載の処理方法。
【請求項１５】
１つのプロセシングユニットで生成されたデータが、多数のプロセシングユニットに同時に転送される小さな部分に分割されることを特徴とする請求項８乃至１４のいずれか１項に記載の処理方法。
【請求項１６】
多数のプロセシングユニットで生成されたデータが、１つのプロセシングユニットに、同時に転送され、更なる処理のために集められることを特徴とする請求項８乃至１４のいずれか１項に記載の処理方法。
【請求項１７】
データ及び関連する制御データが、１つのプロセシングユニットで生成された後に分割され、更なる処理のために必要とされる異なるプロセシングユニットに、同時に転送されることを特徴とする請求項８乃至１４のいずれか１項に記載の処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プロセシングユニット間の高速なデータ交換能力を達成するために、各々が基本帯域幅ＢＢのｘ∈ＩＮ＞０倍の帯域幅で、プロセシングユニットにグループ化されて接続でき、プロセシングユニットは、順次、パイプラインリングバスに配置されるプロセシングエレメントを持つアーキテクチャにおける制御装置に関する。
【背景技術】
【０００２】
今まで、単一命令、多重データ（ＳＩＭＤ）（特許文献１）や、複数命令、多重データ（ＭＩＭＤ）（特許文献２）の形式で動作する多くのプロセッサが提案されてきた。Ｈ．２６４のような多くの最新のアルゴリズムは、部分的にＳＩＭＤ、部分的にＭＩＭＤの制御形式に従う多くのサブアルゴリズムから構成されている。従って、多くの異なるデュアルモードのＳＩＭＤ／ＭＩＭＤアーキテクチャが開発されてきた（特許文献３〜８、非特許文献１）。しかしながら、全てのこれらのアーキテクチャは、通常、多くの配線面積を必要とする複雑なデータ転送ネットワークを含んでいる。別の方法として、Ｃｅｌｌプロセッサ内部で使用されているものがある。それは、データネットワークとして、パイプラインリングバスを使用しているプロセッサで（非特許文献２）、データ転送ネットワークに必要な配線面積を減らすことができている。
【０００３】
上述の全てのデザインは、一般的には、プロセシングユニット（ＰＵ）が、データ転送ネットワークに対して同じ帯域幅で接続されるようになっている。しかしながら、例えば、Ｈ．２６４のような近年の複雑なアルゴリズムを見てみると、アルゴリズムのある部分は、他の部分よりも高いデータ帯域幅を必要としていることがわかる。また、非特許文献３で説明されている例のような新しく出現したアーキテクチャを見てみると、ＳＩＭＤモードで動作するプロセシングエレメント（ＰＥ）と、ＭＩＭＤモードで動作する４つのＰＥから構成された自律的に動作するプロセシングユニット（ＡＰＵ）とでは、異なるデータ帯域幅で、データ転送ネットワークと接続がされているのを見ることができる。
【０００４】
引用文献を以下に示す。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】米国特許第３５３７０７４号明細書
【特許文献２】米国特許第４８３７６７６号明細書
【特許文献３】米国特許第５２１２７７７号明細書
【特許文献４】米国特許第５２３９６５４号明細書
【特許文献５】米国特許第５５２２０８３号明細書
【特許文献６】米国特許第５９０３７７１号明細書
【特許文献７】米国特許第５３５５５０８号明細書
【特許文献８】米国特許第６４８７６５１号明細書
【非特許文献】
【０００６】
【非特許文献１】E. Weingold, "Baring it all to software: The Raw Machine", MIT/LCS Technical Report TR-709, March 1997
【非特許文献２】J. A. Kahle, "Introduction to the Cell multiprocessor", IBM Journal of Research and Development Volume 49, Number 4/5, July/September 2005, p.589
【非特許文献３】S. Kyo, "A Low Cost Mixed-mode Parallel Processor Architecture for Embedded Systems", ICS, June 2007
【発明の概要】
【発明が解決しようとする課題】
【０００７】
以下の分析は、本発明により与えられる。上述の先行技術文献による全ての開示は、引用により本明細書に組み込まれる。
【０００８】
全てのこれらの方法は、転送ネットワークに対して、同じ帯域幅で接続されているか、違う帯域幅で接続されているかにかかわらず、一般的には、１つのソース制御ユニットと、１つのデスティネーション制御ユニットを用いて、各々のデータ転送を、別々に制御する。あるいは、同じデータをブロードキャストする時には、１つのソース制御ユニットと、幾つかのデスティネーション制御ユニットを用いて、各々のデータ転送を別々に制御する。
【０００９】
本発明の目的は、利用可能なネットワークデータの帯域幅をより効率的に使用することである。他の目的は、全開示を通じて、明らかになるであろう。
【課題を解決するための手段】
【００１０】
低帯域幅接続ＢＬｉの独立に制御されるｉ番目のプロセシングユニットを面積効率よく共通制御することにより、パイプラインリングバス上で、このプロセシングユニットの集合と、より高帯域幅接続ＢＨの１つのプロセシングユニットの間で、以下の条件になるようにデータ転送を行う場合に、最適化がなされる。
【００１１】
【数１】
0005402938.tif 000002
（ｓｅｔ＝集合）
【００１２】
より具体的には、本発明の第１の視点において、基本帯域幅ＢＢのアーキテクチャを持つプロセシングシステムが提供される。そのプロセシングシステムは、基本帯域幅ＢＢの倍数の帯域幅ＢＢＵＳ（但し、（ＢＢＵＳ／ＢＢ）∈ＩＮ＞１）で、基本帯域幅ＢＢを持った多重データセットを同時に転送する可能性を実現するための、パイプラインバスをリングに形成したパイプラインリングネットワークを有している。ここで、”／”は、整数の除算を表し、ＩＮ＞１は１より大きな自然数を表す。より厳密には、帯域幅ＢＢＵＳは、（ＢＢＵＳ％ＢＢ）＝＝０で定義される。ここで、”％”は、剰余演算（modulo operation）を表しており、ＢＢＵＳが、ＢＢの整数倍（multiple）に確実になるようにするためである。
【００１３】
当該システムは、パイプラインリングネットワークと異なる帯域幅接続（ｘＰＥ＊ＢＢ）（但し、ｘＰＥ∈ＩＮ＞０、ＩＮ＞０は自然数を表す。）が可能なプロセシングエレメントと、１つ又は複数（one or several）のプロセシングエレメントから形成され、グループ化されて共通制御され、パイプラインリングネットワークと異なる帯域幅接続（ｘＰＵ＊ＢＢ）（但し、ｘＰＵ∈ＩＮ＞０）するプロセシングユニットと、をさらに有している。システムは、パイプラインリングネットワーク上で、１つの送信プロセシングユニットと、複数の受信プロセシングユニットを有し、送信プロセシングユニットの接続帯域幅が、複数の受信プロセシングユニットの接続帯域幅の合計に等しいデータ配信転送モードおよび／または、複数の送信プロセシングユニットと、１つの受信プロセシングユニットを有し、複数の送信プロセシングユニットの接続帯域幅の合計が、受信プロセシングユニットの接続帯域幅に等しいデータ集信転送モードを制御する制御装置を有している。
【００１４】
本発明の第２の視点において、基本帯域幅ＢＢを持つアークテクチャを用いた処理方法が提供される。該方法は、基本帯域幅ＢＢの倍数の帯域幅ＢＢＵＳで、（ＢＢＵＳ／ＢＢ）∈ＩＮ＞１  （但し、”／”は、整数除算を表し、ＩＮ＞１は１より大きな自然数を表す）で、基本帯域幅ＢＢを持つ多重データセットを同時に転送する可能性を実現するための、パイプラインバスをリングに形成したパイプラインリングネットワークを用意することを含んでいる。該方法は、異なる帯域接続（ｘＰＥ＊ＢＢ）（但し、ｘＰＥ∈ＩＮ＞０で、ＩＮ＞０は、自然数を表す）が可能なプロセシングエレメント有すること、グループ化されて共通制御される１つ又は複数のプロセシングエレメントから形成されるプロセシングユニットを、パイプラインリングネットワークに異なる帯域幅接続（ｘＰＵ＊ＢＢ）（但し、ｘＰＵ∈ＩＮ＞０）で、接続すること、をさらに含んでいる。制御装置は、パイプラインリングネットワーク上で、１つの送信プロセシングユニットと、複数の受信プロセシングユニットを有し、送信プロセシングユニットの接続帯域幅が、複数の受信プロセシングユニットの接続帯域幅の合計に等しいデータ配信転送モードおよび／または、複数の送信プロセシングユニットと、１つの受信プロセシングユニットを有し、複数の送信プロセシングユニットの接続帯域幅の合計が、受信プロセシングユニットの接続帯域幅に等しいデータ集信転送モードを制御する。
【発明の効果】
【００１５】
本発明の顕著な効果を以下に纏める。
【００１６】
本発明によれば、異なる帯域幅接続の要件を満たし、独立に制御されるプロセシングユニットがパイプラインリングバスに接続されるシステムにおいて、ネットワーク帯域幅は、より効率的に利用できるという積極的効果がある。
【００１７】
本発明のさらに有効な特徴は、従属請求項において記載されている。
プロセシングユニットのうちの任意の１つは、単一命令多重データ（ＳＩＭＤ）形式で動作させることができる。
【００１８】
プロセシングシステムは、データフロー制御シーケンス（複数）を実行することにより、複数のプロセシングユニットから来る複数のデータ転送要求を制御し、調停するアクセス制御線を持ったグローバル制御ユニットを、さらに含むことができる。
【００１９】
コントローラは、データが１つのプロセシングユニットから多くのプロセシングユニットに対し、送信側と受信側が共に等しい帯域幅Ｂ（但し、下記の条件とする）で、高速データ転送モードで転送されるデータフロー制御シーケンスを実行することができる。
ここで、
ａ．）（Ｂ％ＢＢ）＝＝０、かつ、
ｂ．）（Ｂ／ＢＢ）∈ＩＮ＞１、かつ、
ｃ．）（Ｂ＜＝ＢＢＵＳ）
【００２０】
コントローラは、また、データが多くのプロセシングユニットから１つのプロセシングユニットに対し、送信側と受信側が等しい帯域幅Ｂ（但し、下記の条件とする）で、高速データ転送モードで転送されるデータフロー制御シーケンスを実行することができる。ここで、
ａ．）（Ｂ％ＢＢ）＝＝０、かつ、
ｂ．）（Ｂ／ＢＢ）∈ＩＮ＞１、かつ、
ｃ．）（Ｂ＜＝ＢＢＵＳ）
【００２１】
プロセシングエレメントの１つ又は複数のグループを、実行時（run time）に、複数のプロセシングユニットに割り当てるようにすることができる。プロセシングエレメント（複数）は、実行時に、ＳＩＭＤまたは非ＳＩＭＤに構成可能である。
【００２２】
１つのプロセシングユニットで生成されたデータは、小さい部分に分割され、これらの部分は同時に多数のプロセシングユニットに転送することができる。多数のプロセシングユニットで生成されたデータは、同時に１つのプロセシングユニットに転送され、そこで更なる処理をするために集めることができる。データ及び関連した制御データは、１つのプロセシングユニットで生成された後、分割され、更なる処理が必要とされる異なるプロセシングユニットに、同時に転送することができる。
【図面の簡単な説明】
【００２３】
【図１】図１は、ＧＣＵ、パイプラインリングバス、グループ化されて大きなＰＵとなる１６個のＰＥから構成されるアーキテクチャの一例を示す略図である。
【図２】図２は、そのアーキテクチャの一例に関し、データ及びデータフロー制御信号をより詳細に示した図である。
【図３】図３は、サポートされている従来の転送モードでのＧＣＵの概略図である。
【図４】図４は、サポートされている従来の転送モード及び新しく提案された転送モードでのＧＣＵの概略図である。
【図５】図５は、従来の転送モードでのデータの配信転送に関する（比較例における）タイミングチャートである。
【図６】図６は、新しく提案された転送モードでのデータの配信転送に関するタイミングチャートの一例である。
【図７】図７は、従来の転送モードでのデータ集信転送の（比較例における）タイミングチャートである。
【図８】図８は、新しく提案された転送モードでのデータ集信転送のタイミングチャートの一例である。
【図９】図９は、従来の転送モードでのデータ転送及び関連した制御信号の（比較例における）タイミングチャートである。
【図１０】図１０は、新しく提案された転送モードでのデータの転送及び関連した制御信号のタイミングチャートの一例である。
【発明を実施するための形態】
【００２４】
図１は、グローバル制御ユニット（ＧＣＵ）（１０１）、１６個のプロセシングエレメント（ＰＥ）（１０２）のアレイ、レジスタＲ（１０４）を持つリング（１０３）に形成された一方向のパイプラインバスシステムを持ったアーキテクチャ実装の一例である。このアーキテクチャ例は、実行時に設定が変更可能（configurable）で、ここに示したのは１つの可能な設定例であり、下部の８個のＰＥが、１つのプロセシングユニット（ＰＵ）にグループ化されていて、ＧＣＵ（１０６）によって制御される単一命令多重データ（ＳＩＭＤ）形式で動作する。上部の８個のＰＥは、また、より大きなユニットで自律的に動作する複数のプロセシングユニット（ＡＰＵ）（１０５）にグループ化される。この例では、２個のＰＥの２セットによりＡＰＵ（ＡＰＵ０とＡＰＵ１）が構成され、４個のＰＥの１セットによりＡＰＵ２が構成される。基本帯域幅ＢＢは、１個のＰＥがバスシステムＢＢ＝ＢＰＥに接続されるときの帯域幅と等しい。これにより、ＡＰＵ０、ＡＰＵ１に対しては、ＢＡＰＵ０＝ＢＡＰＵ１＝２＊ＢＢの帯域幅となり、ＡＰＵ２に対しては、ＢＡＰＵ２＝４＊ＢＢの帯域幅となる。このアーキテクチャ例では、全データ帯域を持つＡＰＵ２を提供するために、パイプラインリングバスは、また、ＧＣＵと同様に、ＢＢＵＳ＝ＢＧＣＵ＝４＊ＢＢの帯域を持っている。
【００２５】
図２は、各々のＰＵとパイプラインリングバスを帯域幅ＢＢＵＳ＝４＊ＢＢ（２０１）で接続するアーキテクチャ例を、より詳細に示している。リングバスと同じ帯域を持っている複数のモジュールは、固定的に接続される（２０２）が、他の全てのユニットは、マルチプレクサ（データ送信の場合）や、デマルチプレクサ（データ受信の場合）（２０３）を介してリングバスと接続される。ここで、リングバスは、全リングバス帯域幅でのアクセスを可能にするため、データフロー制御ユニット（ＤＦＣＴＲＬ）から制御される。この種のアーキテクチャによる従来のデータ転送は、以下の条件を満たす。
ａ．）データ転送の帯域幅は、転送に関わる全てのユニット（送信側のＰＵ、ネットワーク、受信側のＰＵ）でサポートされる最小の帯域幅に設定される。
ｂ．）データは、１つの送信側のＰＵから送信される。
ｃ．）データワードは、１つの受信側ＰＵで受信されるか、あるいは、ブロードキャストモードの場合には、同じデータワードが、多くの受信側ＰＵで受信される。
【００２６】
さらに、複数の制御線（２０４）が、ＧＣＵとプロセシングユニット（ＰＵ）の間に示されている。１つのＡＰＵに対し、これらの制御線を介して、２種類の信号が送信される。１つ目は、ＡＰＵ  ＤＦＣＴＲＬからＧＣＵに転送されるリクエストパラメータである。２つ目は、ＧＣＵからＡＰＵ  ＤＦＣＴＲＬに転送されるマルチプレクサの設定を含むアクノリッジパラメータである。ＳＩＭＤ  ＰＵ内のＰＥアレイに対しては、その制御は、ＧＣＵ内部のＳＩＭＤ  ＤＦＣＴＲＬでなされ、マルチプレクサの設定のみが、ＧＣＵからＰＥアレイ（すなわち、ＰＥの各々）に送信される。
【００２７】
図３は、サポートされている従来の転送モードでのＧＣＵの概略図である。ＧＣＵは２つのユニットを含んでおり、その１つは、ＳＩＭＤ  ＤＦＣＴＲＬユニット（３０２）で、グローバル制御されるＰＥアレイから出入りするデータの流れを制御する役目を担っており、２つ目は、ＭＡＩＮ  ＤＦＣＴＲＬユニット（３０１）であり、全てのＤＦＣＴＲＬからのデータ転送リクエスト信号を受信し、ある正しい時刻に、リクエストしているＤＦＣＴＲＬに、アクノリッジパラメータを送信することにより、データ転送の仕方（ないし方法 way）を指示する。サポートされている従来の２つの転送モードは、「１対１」（３０３）と、「１対ｎ  ｂｃ」（３０４）の転送モードである。「１対１」転送モードでは、データは１つの送信側ＤＦＣＴＲＬと１つの受信側ＤＦＣＴＲＬにより制御されて送信がなされるのに対し、「１対ｎ  ｂｃ」転送モードでは、同じデータが、１つの送信側ＤＦＣＴＲＬと多くの受信側ＤＦＣＴＲＬにより制御されてブロードキャストモードで送信がなされる。
【００２８】
図４は、サポートされている従来の転送モード及び新しく提案された転送モードを有するＧＣＵの概略図である。従来の２つの転送モード「１対１」、「１対ｎ  ｂｃ」に加えて、さらに、２つの新しい転送モード「１対ｎ」（４０１）、「ｎ対１」（４０２）がサポートされる（但し、ｎ∈ＩＮ＞１）。「１対ｎ」転送モードでは、同じ時刻に異なるデータが、１つの送信側ＤＦＣＴＲＬと多くの受信側ＤＦＣＴＲＬにより制御されて転送される。一方、「ｎ対１」転送モードでは、同じ時刻に異なるデータが、多くの送信側ＤＦＣＴＲＬと、１つの受信側ＤＦＣＴＲＬにより制御されて転送される。
【実施例】
【００２９】
これらの新しい転送モードが効果的に使用される典型的な種類のアルゴリズム（複数）は、データが１つのＰＵで生成された後、その出力データが、小さな部分（parts）に分割されて、他のＰＵに送信される場合（データ配信 data spreading）、あるいは、多数のＰＵがデータを生成した後、更なる処理のために、当該データが、それらのＰＵから１つのＰＵに転送される場合（データ集信 data collection）である。我々のアーキテクチャによるデータ配信転送の例では、ＡＰＵ２が、出力データとして、ビット帯域ＢＢの１６データワードを生成している。この出力データは、各々、８データワードを必要とするＡＰＵ０とＡＰＵ１の入力データとして要求される。
【比較例１】
【００３０】
従来のアーキテクチャの場合、図５に示すように、その転送は、各々のクロックサイクルで、２つのデータワードを転送することにより、リングバス帯域の半分のみを使用する。ここで、両方の転送は、最初のＡＰＵ２からＡＰＵ０への８データワードの転送と、その後のＡＰＵ２からＡＰＵ１への８データワードの転送を、交互に実行する。その転送における転送先ユニットは、アドレス信号の上位ビットで指定される。ＧＣＵ  ＝  ０ｘ０、ＡＰＵ０＝０ｘ１、ＡＰＵ１＝０ｘ２、ＡＰＵ２＝０ｘ４、ＰＥアレイ＝０ｘ８。信号間のエッジの関係については、図５〜１０で示した矢印を参照されたい。
【００３１】
図５の５０３で表しているように、０ｘ１０００と０ｘ２０００は、アドレス信号と制御信号が結合した信号である。最後の１２ｂｉｔは、アドレスで、最初のほうのビットは、転送先ユニットを指定する制御信号である。ここで、０ｘ１０００は、ＡＰＵ０のアドレス０を意味し、０ｘ２０００はＡＰＵ１のアドレス０を意味している。まず、リクエストが転送先アドレスを持ったＡＰＵ２からＭＡＩＮ  ＤＦＣＴＲＬに送信される。このタイミングで、ＭＡＩＮ  ＤＦＣＴＲＬは、アクノリッジ信号を送信し、リクエストは除去される。さらに、２つの制御信号が、”１”に設定される。信号ＳＴＡＰＵ２は、ＡＰＵ２がデータをリングバスに置くようにし、信号ＢＵＳ＿ＳＦＴは、データをリングバス上にシフトさせる。ＳＴＡＰＵ２は１に設定されるので、ＡＰＵ２ＤＡＴＡは、ＡＰＵ２からリングバスに置かれる。そのデータが、パイプラインレジスタを通って、ＡＰＵ２ＡＤＲで定義される転送先ユニットに到達したとき、信号ＬＤＡＰＵ０、ＬＤＡＰＵ１は各々、１に設定されて、データはバスから読み出される。ＡＰＵ２からＡＰＵ０／ＡＰＵ１までの途中にある４つのパイプラインレジスタＲ２、Ｒ３、Ｒ４、Ｒ０で、合計１６クロックサイクルがかかる。
【実施例１】
【００３２】
図６を参照すると、新しく提案した転送シーケンス「１対ｎ」（図４の４０１）を用いた場合、リングバスの全帯域を用いて、クロックサイクル毎に４データワードを転送することにより、データをＡＰＵ２からＡＰＵ０とＡＰＵ１に、同時に送信することができる。同時送信は、アドレス信号ＡＰＵ２ＡＤＲの上位４ビットにおいて、両方の転送ビットを同時に選択することにより、ＡＰＵ２から起動される。図６におけるＡＰＵ２ＡＤＲの「０ｘ３０００」は、アドレス信号と制御信号が結合されたもので、ＡＰＵ０とＡＰＵ１のアドレス０を意味する。これにより、クロックサイクル数は、１０まで減少する。
【比較例２】
【００３３】
図７を参照すると、従来のアーキテクチャにおいて、ＡＰＵ０とＡＰＵ１の並列データ処理の最後にＡＰＵ２へデータ集信転送をする場合、データは、ＡＰＵ２に対して順番に転送されなければならない。ここでは、まず、ＡＰＵ０からのデータが、次に、ＡＰＵ１からのデータが転送され、それらは、１３クロックサイクルになる。まず、ＡＰＵ０とＡＰＵ１は、信号ＡＰＵ０ＲＥＱとＡＰＵ１ＲＥＱを”１”に設定し、転送先アドレスＡＰＵ０ＡＤＲ、ＡＰＵ１ＡＤＲの上位４ビットを４（ＡＰＵ２）に設定することにより、ＡＰＵ２へのデータ転送を要求する。各々のユニットは、リングバス上でデータ転送をスタートさせるＭＡＩＮ  ＤＦＣＴＲＬユニットからのアクノリッジ信号を待っている。従来のアーキテクチャでは、これらのアクノリッジ信号は、交互にやって来る。それにより、この例で示したように、最初にＡＰＵ０、次にＡＰＵ１が、データをＡＰＵ２に転送することができる。
【実施例２】
【００３４】
図８を参照すると、新しく提案した転送シーケンス「ｎ対１」を用いた場合、この転送を並列に行うことができる。これは、パイプラインリングバスに必要なクロックサイクル数を７まで減少させる。このアーキテクチャは、多重ソースの転送制御をサポートしているため、この並列転送が、可能なのである。
【比較例３】
【００３５】
新しく提案された転送モード「１対ｎ」が効果的に使用されるもう一つの典型的な種類のアルゴリズムは、データとそれに関連した制御信号が１つのＰＵで生成され、その後、その出力データが、異なるＰＵで更に処理されなければならないデータと制御信号に分割される場合である。
例えば、ＡＰＵ２は、１６ワードの出力データを生成し、それらは、表１で示すように使用される。
【００３６】
【表１】
0005402938.tif 000003
【００３７】
図９を参照すると、従来のアーキテクチャの場合、転送は、各クロックサイクルで２データワードを転送することで、リングバス帯域の半分だけを使用しているだけであり、ここで、２つの転送は、まず、ＡＰＵ２からＳＩＭＤ  ＰＥアレイに８データワードを転送し、その後、ＡＰＵ２からＡＰＵ０に８ワードを転送することにより、交互に実行される。プロセシングユニット間のパイプラインレジスタで、これは、全部で１６クロックサイクルかかる。
【実施例３】
【００３８】
図１０を参照すると、新しく提案された転送シーケンスを用いた場合、リングバスの全帯域を使用して、データをクロックサイクルごとに、４データワード転送することによって、ＡＰＵ２からＳＩＭＤ  ＰＥアレイとＡＰＵ０に、同時に送信することができる。これは、必要なクロックサイクル数を１０まで、減少する。
【産業上の利用可能性】
【００３９】
本発明は、組み込みシステムにおいて、低コストで高パフォーマンスのプロセッサデザインを実現するのに利用することができる。
本発明のその他の目的、特徴、および視点は、全開示（請求の範囲を含む）に表されていることに留意されたい。また、開示した本発明及び添付した請求の範囲に記載された主旨及び範囲に捉われることなく、変更・調整が可能である。
また、本発明の請求の範囲の枠内において種々の開示要素の多様な組み合わせないし選択が可能である。すなわち、本発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得るであろう各種変形、修正を含むことは勿論である。
【符号の説明】
【００４０】
１０１：グローバル制御ユニット（ＧＣＵ）
１０２：プロセシングエレメントＰＥ
１０３：パイプラインリングバス
１０４：リングバスレジスタ
１０５：複数のＰＥで構成される自律動作を行うプロセシングユニット（ＡＰＵ）
１０６：ＰＥアレイで形成され、ＧＣＵで制御され、ＳＩＭＤ形式で動作するプロセシングユニット
２０１：帯域がＢＢＵＳ＝４＊ＢＢであるパイプラインリングバス
２０２：ＰＵとパイプラインリングバス間の帯域ＢＢＵＳ＝４＊ＢＢでの固定化接続。
２０３：ＰＵとパイプラインリングバス間のデータ帯域ｘ＊ＢＢの多重化接続、ここで、ｘ∈ＩＮ＞０
２０４：データフロー制御信号（線）
２０５：ＡＰＵデータフロー制御ユニットＡＰＵ  ＤＦＣＴＲＬ
３０１：メインデータフロー制御ユニットＭＡＩＮ  ＤＦＣＴＲＬ
３０２：ＳＩＭＤデータフロー制御ユニットＳＩＭＤ  ＤＦＣＴＲＬ
３０３：メインＤＦＣＴＲＬがサポートしている「１対１」シーケンス。ここに、データは、１つの送信かつ１つの受信ＤＦＣＴＲＬ制御により送信される。
３０４：メインＤＦＣＴＲＬがサポートしている「１対ｎ  ｂｃ」シーケンス。ここに、同じデータが１つの送信かつ多くの受信ＤＦＣＴＲＬの制御により、ブロードキャストモードで送信される。
４０１：メインＤＦＣＴＲＬがサポートしている「１対ｎ」シーケンス（但し、ｎ∈ＩＮ＞１）。ここに、異なるデータが、１つの送信かつ多くの受信ＤＦＣＴＲＬの制御で同時に送信される。
４０２：メインＤＦＣＴＲＬがサポートしている「ｎ対１」シーケンス（但し、ｎ∈ＩＮ＞１）。
５０１：ＡＰＵから送信されるデータ転送の要求信号
５０２：ＭＡＩＮ  ＤＦＣＴＲＬから送信されるデータ転送アクノリッジ信号
５０３：転送先ユニットを指定するアドレス信号の上位ビット：ＧＣＵ  ＝  ０ｘ０、ＡＰＵ０＝０ｘ１、ＡＰＵ１＝０ｘ２、ＡＰＵ２＝０ｘ４、ＳＩＭＤ  ＰＥアレイ＝０ｘ８
５０４：ＭＡＩＮ  ＤＦＣＴＲＬから送信されるバスシフト信号
５０５：インデックスされたＤＦＣＴＲＬから送信されるロードマルチプレクサ制御信号
５０６：インデックスされたＤＦＣＴＲＬから送信されるストアマルチプレクサ制御信号
【図１】
0005402938.tif 000004
【図２】
0005402938.tif 000005
【図３】
0005402938.tif 000006
【図４】
0005402938.tif 000007
【図５】
0005402938.tif 000008
【図６】
0005402938.tif 000009
【図７】
0005402938.tif 000010
【図８】
0005402938.tif 000011
【図９】
0005402938.tif 000012
【図１０】
0005402938.tif 000013