(57)【要約】  本発明は高性能並列コンピューティングシステムのアーキテクチャに関し、ヘテロジニアスなシナジェティックコンピューティングシステムがＮ個の機能ユニットと、Ｌ個のデータ入力、Ｍ個のアドレス入力、およびＭ個のデータ出力を持つ相互スイッチボードとを含む。ここでＭ≧Ｌであり、アドレス入力とデータ出力との間には一対一の対応があり、少なくとも一つの機能ユニットは制御装置、命令メモリ装置、および演算装置から成り、ｍ個のデータ入力、ｍ個のアドレス出力、およびｌ個のデータ出力を有する。ここでｍ≦Ｍ、ｌ≦Ｌである。本発明の目的は、かかる並列コンピューティングシステムの適用領域を広げ、処理されるデータのストリームを拡張することによってそのスループットを高め、かつハードウェア要件を最適化することである。
2005512224.tif 000002
【特許請求の範囲】
【請求項１】
ａ）各々が入力オペランドポートで入力オペランドを受け取りかつ結果ポートに出力を生成する複数の機能ユニットであって、前記複数の機能ユニットの少なくとも一つが制御ユニット、演算ユニット、およびプログラムメモリを備えて成る複数の機能ユニットと、
ｂ）前記機能ユニットの前記入力オペランドポートを他の機能ユニットの各々の結果ポートに選択的に接続するスイッチボードと、
を備えたデータプロセッサ。
【請求項２】
Ｎ個の機能ユニットと、Ｌ個のデータ入力、Ｍ個のアドレス入力、およびＭ個のデータ出力を持つ相互スイッチボードとを備え、Ｍ≧Ｌであり、アドレス入力とデータ出力との間に一対一の対応があるヘテロジニアスなシナジェティックコンピューティングシステムにおいて、少なくとも一つの機能ユニットは制御装置、命令メモリ装置、および演算装置から成り、ｍ個のデータ入力、ｍ個のアドレス出力、およびｌ個のデータ出力を有し、ｍ≦Ｍ、ｌ≦Ｌであり、アドレス出力とデータ入力との間に一対一の対応があり、機能ユニットの各データ入力がスイッチボードのデータ出力の一つに一意に接続され、対応するアドレス出力がそのそれぞれのデータ出力に対応するスイッチボードのアドレス入力に接続され、機能ユニットの各データ出力がスイッチボードのデータ入力に一意に接続され、機能ユニットのデータ入力が制御装置のデータ入力であり、機能ユニットのアドレス出力が制御装置の最初のｍ個のアドレス出力であり、制御装置の（ｍ＋１）番目のアドレス出力が命令メモリ装置のアドレス入力に接続され、制御装置の命令入力／出力が命令メモリ装置の命令入力／出力に接続され、制御装置の制御出力が演算装置の制御入力に接続され、制御装置のｍ個のデータ出力が演算装置のｍ個のデータ入力にそれぞれ接続され、演算装置のｌ個のデータ出力が機能ユニットのデータ出力であり、演算装置が、公知の方法によって接続され、かつｍ種類の入力データを使用してｌ種類のデータ出力を生成する一組のデータ処理手順を実行する、少なくとも一つの入力／出力装置および／または少なくとも一つの算術および論理ユニットおよび／または少なくとも一つのデータメモリ装置を含むことを特徴とする、請求項１に記載のヘテロジニアスなシナジェティックコンピューティングシステム。
【請求項３】
前記機能ユニットが、少なくとも一つの他の機能ユニットの外部制御入力／出力に接続された外部制御入力／出力、および／またはｌ個のローカルデータ入力を有し、前記機能ユニットの外部制御入力／出力がこの機能ユニットの制御装置の外部制御入力／出力であり、機能ユニットのローカルデータ入力が制御装置のローカルデータ入力であり、各ローカルデータ入力が前記機能ユニットの演算装置のデータ出力に一意に接続されることを特徴とする、請求項１または２に記載の装置。
【請求項４】
制御入力／出力を介して接続されたＫ個の機能ユニットのうち、少なくとも一つ、最大でＫ−１個の機能ユニットが命令メモリ装置および演算装置から成り、ｍ個のデータ入力、ｍ個のアドレス出力、およびｌ個のデータ出力を持ち、ｍ≦Ｍ、ｌ≦Ｌであり、アドレス出力とデータ入力との間に一対一の対応があり、機能ユニットの各データ入力がスイッチボードのデータ出力の一つに一意に接続され、対応するアドレス出力がスイッチボードのそれぞれのデータ出力に対応するアドレス入力に接続され、機能ユニットの各データ出力がスイッチボードのデータ入力に一意に接続され、機能ユニットのデータ入力がその演算装置のデータ入力であり、機能ユニットのアドレス出力が命令メモリ装置のアドレス出力であり、機能ユニットの外部制御入力／出力が命令メモリ装置のアドレス入力および演算装置の第一制御入力／出力であり、命令メモリ装置の命令出力が演算装置の第二制御入力に接続され、演算装置の命令出力が命令メモリ装置の命令入力に接続され、演算装置のｌ個のデータ入力が機能ユニットのデータ出力であり、演算装置が、公知の方法によって接続され、かつｍ種類の入力データを使用してｌ種類の出力データを生成する一組のデータ処理手順を実行する、少なくとも一つの入力／出力装置および／または少なくとも一つの算術および論理ユニットおよび／または少なくとも一つのデータメモリ装置を含むことを特徴とする、請求項１、２、または３に記載の装置。
【請求項５】
前記Ｋ個の機能ユニットのうちの少なくとも一つの機能ユニットが制御装置、命令メモリ装置から成り、入力／出力装置を含むことができ、制御装置の外部制御入力／出力である外部制御入力／出力を有し、制御装置のアドレス出力が命令メモリ装置のアドレス入力に接続され、制御装置の命令入力／出力が命令メモリ装置の命令入力／出力に接続され、制御装置の制御出力が入力／出力装置の制御入力に接続され、制御装置のデータ入力が入力／出力装置のデータ出力に接続されることを特徴とする、請求項１ないし４のいずれかに記載の装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はコンピュータに関し、特に高性能並列コンピューティングシステムのアーキテクチャに関する。
【背景技術】
【０００２】
多層形態で表わされるアルゴリズムで定義される高性能並列処理は、相互Ｎ×２Ｎスイッチボードと、二項および単項演算を実現するＮ個の同一機能ユニットとから成るシステムによって達成することができる。ここで、Ｎは入力オペランドの個数である。演算の結果はスイッチボードに送られ、次層の計算のオペランドとして使用される。
【０００３】
そのようなシステムの欠点は次の通りである。
同一機能ユニットおよびそれらの二項および単項演算への制限は、アーキテクチャの適用領域を限定する。
オペランドの主な源としてのスイッチボードの使用は、処理されるデータの流れを制限する。
分散化された制御およびデータストリームを同期化する必要性は、機能ユニットにおける追加ハードウェア（制御装置）およびソフトウェアにおける非生産的遅延命令を必要とする。
【発明の開示】
【０００４】
本発明は、シナジェティックコンピューティングシステムの適用領域を広げ、処理されるデータのストリームを拡張することによってそのスループットを高め、かつハードウェア要件を最適化することを目的とする。
【０００５】
本発明では、ヘテロジニアスなシナジェティックコンピューティングシステムがＮ個の機能ユニットと、Ｌ個のデータ入力、Ｍ個のアドレス入力、およびＭ個のデータ出力を持つ相互スイッチボードとを含む。ここでＭ≧Ｌであり、アドレス入力とデータ出力との間には一対一の対応があり、少なくとも一つの機能ユニットは制御装置、命令メモリ装置、および演算装置から成り、ｍ個のデータ入力、ｍ個のアドレス出力、およびｌ個のデータ出力を有する。ここでｍ≦Ｍ、ｌ≦Ｌである。アドレス出力とデータ入力との間には一対一の対応があり、各データ入力はスイッチボードのデータ出力に一意に接続される一方、対応するアドレス出力は、スイッチボードのそのデータ出力に対応するスイッチボードアドレス入力に接続される。機能ユニットの各データ出力は、スイッチボードのデータ入力に一意に接続される。機能ユニットのデータ入力は制御装置のデータ出力である。機能ユニットのアドレス出力は制御装置の最初のｍ個のアドレス出力であり、その（ｍ＋１）番目のアドレス出力は命令メモリ装置のアドレス入力に接続される。制御装置の命令入力／出力は命令メモリの命令入力／出力に接続される。制御装置の制御出力は演算装置の制御入力に接続され、制御装置のｍ個のデータ出力はそれぞれ演算装置のｍ個のデータ入力に接続され、演算装置のｌ個のデータ出力は機能ユニットのデータ出力である。演算装置は、公知の方法で接続され、かつｍ種類の入力データを使用してｌ種類のデータ出力を生成する一組のデータ処理手順を実現する、少なくとも一つの入力／出力装置および／または少なくとも一つの算術および論理ユニットおよび／または少なくとも一つのデータメモリを含む。
【０００６】
前述の目標を達成するために、前記機能ユニットはまた、少なくとも一つの他の機能ユニットの外部制御入力／出力に接続された外部制御入力／出力、および／またはｌ個のローカルデータ入力を持つこともできる。機能ユニットの外部制御入力／出力はこのユニットの制御装置の外部制御であり、機能ユニットのローカルデータ入力は制御装置のローカルデータ入力であり、各ローカルデータ入力は前記機能ユニットの演算装置のデータ出力に一意に接続される。
【０００７】
加えて、制御入力／出力を介して相互接続されたＫ個の機能ユニットのうち、少なくとも一つ、最大でＫ−１個の機能ユニットが、命令メモリ装置および演算装置から成り、ｍ個のデータ入力、ｍ個のアドレス出力、およびｌ個のデータ出力を持つことができる。ここでｍ≦Ｍ、ｌ≦Ｌである。アドレス出力とデータ入力との間には一対一の対応があり、機能ユニットの各データ入力はスイッチボードのデータ出力の一つに一意に接続される一方、対応するアドレス出力は、スイッチボードのそれぞれのデータ出力に対応するスイッチボードアドレス入力に接続される。機能ユニットの各データ出力はスイッチボードのデータ入力に一意に接続され、機能ユニットのデータ入力はその演算装置のデータ入力であり、機能ユニットのアドレス出力は命令メモリ装置のアドレス出力である。機能ユニットの外部制御入力／出力は、命令メモリ装置のアドレス入力および演算装置の第一制御入力／出力である。命令メモリ装置の命令出力は演算装置の第二制御入力に接続され、演算装置の命令出力は命令メモリ装置の命令入力に接続される。演算装置のｌ個のデータ出力は機能ユニットのデータ出力であり、演算装置は、相互に接続され、かつ一組のデータ処理手順を実現する、少なくとも一つの入力／出力装置および／または少なくとも一つの算術および論理ユニットおよび／または少なくとも一つのデータメモリを含む。
【０００８】
上述の装置の実現変形例は、前記Ｋ個のユニットのうちの少なくとも一つが制御装置、命令メモリ装置、および任意選択的に入力／出力装置から成り、かつその制御装置の外部制御入力／出力である外部制御入力／出力を有する装置である。制御装置のアドレス出力は命令メモリ装置のアドレス入力に接続され、制御装置の命令入力／出力は命令メモリ装置の命令入力／出力に接続される。制御装置の制御出力は入力／出力装置の制御入力に接続され、制御装置のデータ入力は入力／出力装置のデータ出力に接続される。
【０００９】
本装置の構成の特徴は絶対不可欠であり、それらの組合せが、シナジェティックコンピューティングシステムの適用領域を拡張し、システムのスループットを高め、ハードウェア要件を最適化することを可能にする。これらの目標は次の通り達成される。同種性要件の放棄およびｌ個の結果とｍ個のアドレス入力の演算の使用が、シナジェティックコンピューティングシステムにヘテロジニアスな機能ユニット（それらの演算セットが異なる）を含めることを可能にする。演算装置の出力から制御装置の入力への直接フィードバックを機能ユニットの構造に導入することにより、オンラインデータの格納および使用をもたらす汎用レジスタのブロックを制御装置内に編成することが可能になる。これらのレジスタには、スイッチボードを使用せずにアクセスすることができる。追加の外部入力／出力は、機能ユニットの状態を他の機能ユニットによって制御すること、すなわち待機状態に切り替え、次いで再起動することを可能にする。それはまた、特定の機能ユニットから装置または演算装置を除外し、それによってハードウェアの設置面積およびエネルギ消費量を低減することをも可能にする。
【００１０】
図面の簡単な記述
本発明を添付の図面によって詳細に説明する。
図１はヘテロジニアスなシナジェティックコンピューティングシステムのブロック図を示す。
図２は機能ユニットの可能な実現を示すブロック図を示す。
【発明を実施するための最良の形態】
【００１１】
ヘテロジニアスなシナジェティックコンピューティング（図１）は、機能ユニット１．１，…，１．Ｋ，…，１．Ｎと、Ｌ個のデータ入力ｉｌ，…，ｉｊ，…，ｉｉ＋１，…，ｉｉ＋ｌ，…，ｉＬ、Ｍ個のアドレス入力ａｌ，…，ａｊ，…，ａｉ＋１，…，ａｉ＋ｍ，…，ａＭ−１、ａＭ、およびＭ個のデータ出力ｏｌ，…，ｏｊ，…，ｏｉ＋１，…，ｏｉ＋ｍ，…，ｏＭ−１，ｏＭを持つ相互スイッチボード２とを含む。ここでＭ≧Ｌであり、アドレス入力とデータ出力との間には一対一の対応がある（ａｉ⇔ｏｉ）。機能ユニット１．Ｋ（図示）は、制御装置３、命令メモリ４、および演算装置５から成り、ｍ個のデータ入力Ｉ１，…，Ｉｍ、ｍ個のアドレス出力Ａ１，…，Ａｍ、およびｌ個のデータ出力Ｏ１，…，Ｏｌを有する。ここでｍ≦Ｍ、ｌ≦Ｌである。アドレス出力とデータ入力との間には一対一の対応があり（Ａｉ⇔Ｉｉ）、機能ユニットのデータ入力Ｉ１，…，Ｉｍの各々はスイッチボードのデータ出力ｏｉ＋１，…，ｏｉ＋ｍの一つに一意に接続される一方、対応するアドレス出力Ａｉ，…，Ａｍは、スイッチボードのそれぞれのデータ出力のアドレス入力ａｉ＋１，…，ａｉ＋ｍに接続される。機能ユニットのデータ出力Ｏｉ，…，Ｏｌの各々はスイッチボードのデータ入力ｉｉ＋１，…，ｉｉ＋ｌの一つに一意に接続される。機能ユニットのデータ入力は制御装置３のデータ入力であり、機能ユニットのアドレス出力は制御装置３の最初のｍ個のアドレス出力であり、制御装置３の（ｍ＋１）番目のアドレス出力は命令メモリ４のアドレス入力に接続され、制御装置３の命令入力／出力は命令メモリ４の命令入力／出力に接続され、制御装置３の制御出力は演算装置５の制御入力に接続され、制御装置３のｍ個のデータ出力は演算装置５のｍ個のデータ入力にそれぞれ接続され、演算装置５のｌ個のデータ出力は機能ユニットのデータ出力であり、演算装置５は、ｍ種類の入力データを使用してｌ種類の結果を生成する一組のデータ処理動作を実行する、少なくとも一つの入力／出力装置および／または少なくとも一つの算術および論理ユニットおよび／または少なくとも一つのデータメモリを含む。
【００１２】
前記機能ユニットはまた、少なくとも一つの他の機能ユニットの制御入力／出力に接続された外部制御入力／出力ＥＣ、および／またはＬ個のローカルデータ入力ＬＩ１，…，ＬＩｌをも有する。機能ユニットの外部制御入力／出力ＥＣは、この機能ユニットの制御装置３の外部制御入力／出力である。機能ユニットのローカルデータ入力ＬＩ１，…，ＬＩｌは制御装置３のローカルデータ入力であり、各ローカルデータ入力は前記機能ユニットの演算装置５のデータ出力に一意に接続される（ＬＩｉ⇔Ｏｉ）。
【００１３】
図２に示す機能ユニットの実現はユニットの構造を含む。ｌ．Ｐは命令メモリ４．１および演算装置５．１から成り、ｍ個のデータ入力Ｉｌ，…，Ｉｍ、ｍ個のアドレス出力Ａ１，…，Ａｍ、およびｌ個のデータ出力Ｏ１，…，Ｏｌを有する。ここでｍ≦Ｍ、ｌ≦Ｌである。アドレス出力とデータ入力との間には一対一の対応があり（Ａｉ⇔Ｉｉ）、機能ユニットのデータ入力Ｉ１，…，Ｉｍの各々がスイッチボード２のデータ出力の一つに一意に接続される一方、対応するアドレス出力Ａ１，…，Ａｍは、これらのデータ出力に対応するスイッチボード２のそれぞれのアドレス入力に接続される。機能ユニットのデータ出力Ｏ１，…，Ｏｌの各々がスイッチボードのデータ入力に一意に接続される。機能ユニットのデータ入力は演算装置５．１のデータ入力であり、機能ユニットのアドレス出力は命令メモリ４．１のアドレス出力であり、機能ユニットの外部制御入力／出力ＥＣは命令メモリ４．１のアドレス入力および演算装置５．１の最初の制御入力／出力であり、命令メモリ４．１の命令出力は演算装置５．１の第二制御入力に接続され、演算装置５．１の命令出力は命令メモリ４．１の命令出力に接続され、演算装置５．１のｌ個のデータ出力Ｏ１，…，Ｏｌは機能ユニットのデータ出力であり、演算装置５．１は、ｍ種類の入力データを使用してｌ種類の結果を生成する一組のデータ処理動作を実現する、少なくとも一つの入力／出力装置および／または少なくとも一つの算術および論理ユニットおよび／または少なくとも一つのデータメモリを含む。
【００１４】
機能ユニット１．Ｑ（図２）は、制御装置３．１、命令メモリ４．２、および任意選択的に入力／出力装置から成り、制御装置３．１の外部制御入力／出力を使用する外部制御入力／出力ＥＣを有する。制御装置３．１のアドレス出力は命令メモリ４．２のアドレス入力に接続され、制御装置３．１の命令入力／出力は命令メモリ４．２の命令入力／出力に接続され、制御装置３．１の制御出力は入力／出力装置の制御入力に接続され、制御装置３．１のデータ入力は入力／出力装置のデータ出力に接続される。
【００１５】
シナジェティックコンピューティングシステムの動作の原理は公知である。ヘテロジニアスなシナジェティックコンピューティングシステムと先行技術の違いは、アーキテクチャによって提供され、かつ命令セットによって実現される追加的機能性にある。
【００１６】
したがって、ｍ＝４およびｌ＝２の場合のｌ個の結果とｍ個のアドレス入力の演算は、特殊パック形式の複素数を使用することなく、複素数の算術の実現に備えることができる。フォーマットは次の通りである。
【００１７】
＜オプコードニーモニック＞＜数１＞，＜数２＞，＜数３＞，＜数４＞
ここで＜数１＞は第一数の実数部のアドレスであり、＜数２＞は第一数＜数１＞の虚数部のアドレスであり、＜数３＞は第二数の実数部のアドレスであり、＜数４＞は第二数の虚数部のアドレスである。
【００１８】
ローカルデータ入力を使用する最も実践的な方法は、機能ユニットのデータ出力を汎用レジスタのフィールドに送り込み、これに基づいて直交命令セットを形成することである。次いで、オプコードまたは専用フィールドは、スイッチボードからまたはレジスタからの任意の組合せのオペランドの受入れを制御するフラッグを含む。
【００１９】
ヘテロジニアスなシステムにおける機能ユニット間の追加的外部制御チャネルは、ユニット間およびユニット内レベルの両方の計算処理を制御するために使用される。
【００２０】
ユニット間制御はシステムの再構成、すなわち機能ユニットを待機状態に切り替え、その後それらを再起動することである。この機能性を実現するために、Ｎビット幅のレジスタが各機能ユニットに導入され、レジスタのｉ番目のビットはｉ番目の機能ユニットの状態を特徴付ける。例えば、０＝活動中、１＝待機である。機能ユニットはプログラム的にグループに分割される。各グループで、一つのユニットに「マスタ」状態が割り当てられ、状態レジスタに値をセットすることができる。特殊命令でこのレジスタに新しい値がセットされ、こうしてシステムが再構成され、一部の機能ユニットが起動され、残りは一時停止する。
【００２１】
ユニット内制御は、計算処理に対するより深いレベルの制御である。この場合、命令セットは機能ユニットの間で事実上分割され、マスタユニットはスレーブユニットのプログラム開始アドレスをセットし、「次の命令を実行せよ」信号を発行することによって、命令語の取出しを同期化する。演算の終了後に特定のユニットのフラッグレジスタ内の値がマスタユニットに送られ、制御転送を編成するために使用される。
【００２２】
この形の編成では、一部の機能ユニット（マスタユニット）はスイッチボードへの接続を持たないかもしれず、一部は命令メモリ内の命令カウンタを除き、制御装置を持たないかもしれない。
【００２３】
産業上の利用可能性
本発明は、計算集約的科学および工学技術の問題、マルチメディア、およびデジタル信号処理など様々な分野で、高性能並列コンピューティングシステムを設計するために使用することができる。本発明はまた、電気通信システムにおける高スループットの交換局にも使用することができる。
【図面の簡単な説明】
【００２４】
【図１】ヘテロジニアスなシナジェティックコンピューティングシステムのブロック図である。
【図２】機能ユニットの可能な実現を示すブロック図である。
【図１】
2005512224.tif 000003
【図２】
2005512224.tif 000004
【手続補正書】
【提出日】平成16年4月26日(2004.4.26)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
Ｎ個の機能ユニットと、Ｌ個のデータ入力、Ｍ個のアドレス入力、およびＭ個のデータ出力を持つ相互スイッチボードとを備え、Ｍ≧Ｌであり、アドレス入力とデータ出力との間に一対一の対応があるヘテロジニアスなシナジェティックコンピューティングシステムであって、少なくとも一つの機能ユニットは制御装置、命令メモリ装置、および演算装置から成り、ｍ個のデータ入力、ｍ個のアドレス出力、およびｌ個のデータ出力を有し、ｍ≦Ｍ、ｌ≦Ｌであり、アドレス出力とデータ入力との間に一対一の対応があり、機能ユニットの各データ入力がスイッチボードのデータ出力の一つに一意に接続され、対応するアドレス出力がそのそれぞれのデータ出力に対応するスイッチボードのアドレス入力に接続され、機能ユニットの各データ出力がスイッチボードのデータ入力に一意に接続され、機能ユニットのデータ入力が制御装置のデータ入力であり、機能ユニットのアドレス出力が制御装置の最初のｍ個のアドレス出力であり、制御装置の（ｍ＋１）番目のアドレス出力が命令メモリ装置のアドレス入力に接続され、制御装置の命令入力／出力が命令メモリ装置の命令入力／出力に接続され、制御装置の制御出力が演算装置の制御入力に接続され、制御装置のｍ個のデータ出力が演算装置のｍ個のデータ入力にそれぞれ接続され、演算装置のｌ個のデータ出力が機能ユニットのデータ出力または制御装置のローカルデータ入力であり、演算装置が、公知の方法によって接続され、かつｍ種類の入力データを使用してｌ種類のデータ出力を生成する一組のデータ処理手順を実行する、少なくとも一つの入力／出力装置および／または少なくとも一つの算術および論理ユニットおよび／または少なくとも一つのデータメモリ装置を含む、ヘテロジニアスなシナジェティックコンピューティングシステムにおいて、前記機能ユニットの少なくとも一つが、少なくとも一つの他の機能ユニットの外部制御入力／出力に接続された外部制御入力／出力を有し、前記機能ユニットの外部制御入力／出力がこれらの機能ユニットの制御装置の外部制御入力／出力であり、機能ユニットの起動、または制御入力／出力によってそれに接続された他の機能ユニットによる待機状態へのそれの移行を与えることを特徴とするシステム。
【請求項２】
前記制御装置がプログラムメモリの初期状態の生成およびその後のプログラム実行を達成し、前記プログラム実行が、命令メモリ装置から命令を同時に取り出しかつそれらを復号し、前に取り出された命令によって計算した結果を現在の命令によってオペランドとして使用する機能ユニットの番号を含む命令語のアドレスフィールドを選択し、前記機能ユニットの前記番号をアドレス出力を通してスイッチボードに送り出し、その後データ入力を通して前記スイッチボードおよび／または演算装置からオペランドを受け取り、復号の過程で命令語から抽出した演算コードを含む命令語およびオペランド値の両方を生成し、制御出力を通してこの命令語を演算装置に発行することを含むことを特徴とする、請求項１に記載のシステム。
【請求項３】
制御入力／出力を介して接続され、さらにアドレス情報および結果タグの移行を与えるＫ個の機能ユニットのうち、少なくとも一つ、最大でＫ−１個の機能ユニットが命令メモリ装置および演算装置から成り、ｍ個のデータ入力、ｍ個のアドレス出力、およびｌ個のデータ出力を持ち、ｍ≦Ｍ、ｌ≦Ｌであり、アドレス出力とデータ入力との間に一対一の対応があり、機能ユニットの各データ入力がスイッチボードのデータ出力の一つに一意に接続され、対応するアドレス出力がスイッチボードのそれぞれのデータ出力に対応するアドレス入力に接続され、機能ユニットの各データ出力がスイッチボードのデータ入力に一意に接続され、機能ユニットのデータ入力がその演算装置のデータ入力であり、機能ユニットのアドレス出力が命令メモリ装置の命令出力のアドレスフィールドであり、機能ユニットの外部制御入力／出力が命令メモリ装置のアドレス入力および演算装置の第一制御入力／出力であり、命令メモリ装置の命令出力のオプコードフィールドが演算装置の第二制御入力に接続され、演算装置の命令出力が命令メモリ装置の命令入力に接続され、演算装置のｌ個のデータ入力が機能ユニットのデータ出力であり、演算装置が、公知の方法によって接続され、かつｍ種類の入力データを使用してｌ種類の出力データを生成する一組のデータ処理手順を実行する、少なくとも一つの入力／出力装置および／または少なくとも一つの算術および論理ユニットおよび／または少なくとも一つのデータメモリ装置を含み、前記Ｋ個の機能ユニットのうちの少なくとも一つの機能ユニットが制御装置、命令メモリ装置から成り、入力／出力装置を含むことができ、制御装置の外部制御入力／出力である外部制御入力／出力を有し、制御装置のアドレス出力が命令メモリ装置のアドレス入力に接続され、制御装置の命令入力／出力が命令メモリ装置の命令入力／出力に接続され、制御装置の制御出力が入力／出力装置の制御入力に接続され、制御装置のデータ入力が入力／出力装置のデータ出力に接続されることを特徴とする、請求項１または２に記載のシステム。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】０００２
【補正方法】変更
【補正の内容】
【０００２】
多層形態で表わされるアルゴリズムで定義される高性能並列処理は、相互Ｎ×２Ｎスイッチボードと、二項および単項演算を実現するＮ個の同一機能ユニットとから成るシステムによって達成することができる。ここで、Ｎは入力オペランドの個数である。演算の結果はスイッチボードに送られ、次層の計算のオペランドとして使用される。
関連データフローアーキテクチャを備えた上記の種類の装置は、カリフォルニア州サニーベールにおける１９９６年８月９〜１１日のＰＤＰＴＡ’９６国際会議でのＦｒａｎｋ  Ｈｅｎｒｉｔｚｉらの「ＡＤＡＲＣ：Ａ  Ｎｅｗ  Ｍｕｌｔｉ−Ｉｎｓｔｒｕｃｔｉｏｎ  Ｉｓｓｕｅ  Ａｐｐｒｏａｃｈ」から公知である。該装置はＮ個のプロセッサエレメント（ＰＥ）および関連スイッチングモジュール（ＡＣＭ）から成る。各プロセッサエレメントはローカルメモリを有し、自律的におよび他のプロセッサエレメントと共に集団での両方で動作することができ、非同期命令実行のＶＬＩＷ様アーキテクチャを形成する。古典的なＶＬＩＷアーキテクチャとは異なり、ＡＤＡＲＣの各プロセッサエレメントは、ローカルメモリに位置するプログラムメモリ、制御ユニットを有し、関連スイッチングモジュールを介して他のプロセッサエレメントとデータを交換することができる。古典的なＶＬＩＷアーキテクチャでは、データ交換は共用レジスタフィールドを通して行なわれる。
関連スイッチング環境は命令の非同期実行に備えており、ＡＤＡＲＣアーキテクチャのことをデータフロー概念を使用するアーキテクチャと言うことを可能にする。
前層からの命令の結果のフローから現在の層の命令の計算に使用されるオペランドを取り出す関連方法は、ＡＤＡＲＣアーキテクチャの利点および欠点の両方を決定する。疑う余地の無い利点は命令の非同期実行であり、プロセッサエレメントの番号ではなくコードによる結果の識別は、オペランドの一つとして使用される結果を厳密にどのプロセッサが計算したのかをプロセッサエレメントに知らせないことを可能にする。他方、そのような関連特性は、ハードウェア資源を柔軟に使用できなくする。例えば、Ｎ個のプロセッサエレメントを、異なる独立してコンパイルされたタスクを同時にかつ独立して計算する、二つまたはそれ以上のＶＬＩＷ様プロセッサに分割することができない。
上述の欠点は、公知の装置すなわちシナジェティックコンピューティングシステム（２００１年６月８日のＰＣＴ出願＃ＰＣＴ／ＤＫ０１／００３９３）には存在しない。ＡＤＡＲＣアーキテクチャを持つコンピューティングシステムとして、シナジェティックコンピューティングシステムは、アルゴリズムに組み込まれ、マルチレベルの形で表わされた並列性の実現を達成する。このシステムは、各々それ自体の命令メモリおよび制御装置を備えたＮ個の機能ユニットから成る。制御装置はプログラムメモリの初期状態を生成し、その後プログラムを実行する。それは、命令メモリ装置から命令を同時に取り出してそれらを復号し、現在の命令によってオペランドとして使用される結果を前に取り出された命令によって計算した機能ユニットの番号を含む命令語のアドレスフィールドを選択し、機能ユニットの番号をアドレス出力を通してスイッチボードに送り出し、その後データ入力を通してスイッチボードおよび／または演算装置からオペランドを受け取り、復号の過程で命令語から抽出した演算コードを含む命令語およびオペランド値の両方を生成し、制御出力を通してこの命令語を演算装置に発行することを含む。演算装置は算術論理ユニットおよび／または入力／出力ユニットおよび／またはローカルデータメモリから成る。命令の実行の結果はスイッチボードに到着し、次の層の命令でオペランドとして使用することができる。シナジェティックコンピューティングシステムはスイッチング環境として、直接アドレス指定の単方向完全接続スイッチボードを使用する。すなわち、オペランドを受け取るために、オペランドとして使用される前の層からの結果を出した機能ユニットの番号が指定される。直接アドレス指定は、Ｎ個の機能ユニットを幾つかの独立したＶＬＩＷプロセッサに任意選択的にグループ化する可能性を提供し、それは次にきめ細かい並列性、分岐およびタスクレベルの並列性を実現するだけでなく、命令の非同期および順不同の実行を編成することをも可能にする。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】０００３
【補正方法】変更
【補正の内容】
【０００３】
そのようなシステムの欠点は次の通りである。
同一機能ユニットおよびそれらの二項および単項演算への制限は、アーキテクチャの適用領域を限定する。
オペランドの主な源としてのスイッチボードの使用は、処理されるデータの流れを制限する。
完全に分散化された制御およびデータストリームを同期化する必要性は、機能ユニットにおける追加ハードウェア（制御装置）およびソフトウェアにおける非生産的遅延命令を必要とする。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】０００５
【補正方法】変更
【補正の内容】
【０００５】
本発明では、ヘテロジニアスなシナジェティックコンピューティングシステムがＮ個の機能ユニットと、Ｌ個のデータ入力、Ｍ個のアドレス入力、およびＭ個のデータ出力を持つ相互スイッチボードとを含む。ここでＭ≧Ｌであり、アドレス入力とデータ出力との間には一対一の対応があり、少なくとも一つの機能ユニットは制御装置、命令メモリ装置、および演算装置から成り、ｍ個のデータ入力、ｍ個のアドレス出力、およびｌ個のデータ出力を有する。ここでｍ≦Ｍ、ｌ≦Ｌである。アドレス出力とデータ入力との間には一対一の対応があり、各データ入力はスイッチボードのデータ出力に一意に接続される一方、対応するアドレス出力は、スイッチボードのそのデータ出力に対応するスイッチボードアドレス入力に接続される。機能ユニットの各データ出力は、スイッチボードのデータ入力に一意に接続される。機能ユニットのデータ入力は制御装置のデータ出力である。機能ユニットのアドレス出力は制御装置の最初のｍ個のアドレス出力であり、その（ｍ＋１）番目のアドレス出力は命令メモリ装置のアドレス入力に接続される。制御装置の命令入力／出力は命令メモリの命令入力／出力に接続される。制御装置の制御出力は演算装置の制御入力に接続され、制御装置のｍ個のデータ出力はそれぞれ演算装置のｍ個のデータ入力に接続され、演算装置のｌ個のデータ出力は機能ユニットのデータ出力であり、制御装置のローカル情報入力として作用してもよい。制御装置はプログラムメモリの初期状態の生成およびその後のプログラム実行を達成し、前記プログラム実行は、命令メモリ装置から命令を同時に取り出しかつそれらを復号し、前に取り出された命令によって計算した結果を現在の命令によってオペランドとして使用する機能ユニットの番号を含む命令語のアドレスフィールドを選択し、前記機能ユニットの前記番号をアドレス出力を通してスイッチボードに送り出し、その後データ入力を通して前記スイッチボードおよび／または演算装置からオペランドを受け取り、復号の過程で命令語から抽出した演算コードを含む命令語およびオペランド値の両方を生成し、制御出力を通してこの命令語を演算装置に発行することを含む。演算装置は、公知の方法で接続され、かつｍ種類の入力データを使用してｌ種類のデータ出力を生成する一組のデータ処理手順を実現する、少なくとも一つの入力／出力装置および／または少なくとも一つの算術および論理ユニットおよび／または少なくとも一つのデータメモリを含む。
【手続補正５】
【補正対象書類名】明細書
【補正対象項目名】０００６
【補正方法】変更
【補正の内容】
【０００６】
前述の目標を達成するために、前記機能ユニットはまた、少なくとも一つの他の機能ユニットの外部制御入力／出力に接続された外部制御入力／出力、および／またはｌ個のローカルデータ入力を持つこともできる。機能ユニットの外部制御入力／出力はこのユニットの制御装置の外部制御入力／出力であり、機能ユニットの起動、または制御入力／出力によってそれに接続された他の機能ユニットによる待機状態へのそれの移行を与える。機能ユニットのローカルデータ入力は制御装置のローカルデータ入力であり、各ローカルデータ入力は前記機能ユニットの演算装置のデータ出力に一意に接続される。
【手続補正６】
【補正対象書類名】明細書
【補正対象項目名】０００７
【補正方法】変更
【補正の内容】
【０００７】
さらに、制御入力／出力を介して相互接続され、さらにアドレス情報の移行を与えるＫ個の機能ユニットのうち、少なくとも一つ、最大でＫ−１個の機能ユニットが、命令メモリ装置および演算装置から成り、ｍ個のデータ入力、ｍ個のアドレス出力、およびｌ個のデータ出力を持つことができる。ここでｍ≦Ｍ、ｌ≦Ｌである。アドレス出力とデータ入力との間には一対一の対応があり、機能ユニットの各データ入力はスイッチボードのデータ出力の一つに一意に接続される一方、対応するアドレス出力は、スイッチボードのそれぞれのデータ出力に対応するスイッチボードアドレス入力に接続される。機能ユニットの各データ出力はスイッチボードのデータ入力に一意に接続され、機能ユニットのデータ入力はその演算装置のデータ入力であり、機能ユニットのアドレス出力は命令メモリ装置の命令出力のアドレスフィールドである。機能ユニットの外部制御入力／出力は、命令メモリ装置のアドレス入力および演算装置の第一制御入力／出力である。命令メモリ装置の命令出力のオプコードフィールドは演算装置の第二制御入力に接続され、演算装置の命令出力は命令メモリ装置の命令入力に接続される。演算装置のｌ個のデータ出力は機能ユニットのデータ出力であり、演算装置は、相互に接続され、かつ一組のデータ処理手順を実現する、少なくとも一つの入力／出力装置および／または少なくとも一つの算術および論理ユニットおよび／または少なくとも一つのデータメモリを含む。
【手続補正７】
【補正対象書類名】明細書
【補正対象項目名】００１３
【補正方法】変更
【補正の内容】
【００１３】
図２に示す機能ユニットの実現はユニットの構造を含む。ｌ．Ｐは命令メモリ４．１および演算装置５．１から成り、ｍ個のデータ入力Ｉｌ，…，Ｉｍ、ｍ個のアドレス出力Ａ１，…，Ａｍ、およびｌ個のデータ出力Ｏ１，…，Ｏｌを有する。ここでｍ≦Ｍ、ｌ≦Ｌである。アドレス出力とデータ入力との間には一対一の対応があり（Ａｉ⇔Ｉｉ）、機能ユニットのデータ入力Ｉ１，…，Ｉｍの各々がスイッチボード２のデータ出力の一つに一意に接続される一方、対応するアドレス出力Ａ１，…，Ａｍは、これらのデータ出力に対応するスイッチボード２のそれぞれのアドレス入力に接続される。機能ユニットのデータ出力Ｏ１，…，Ｏｌの各々がスイッチボードのデータ入力に一意に接続される。機能ユニットのデータ入力は演算装置５．１のデータ入力であり、機能ユニットのアドレス出力は命令メモリ４．１のアドレス出力であり、機能ユニットの外部制御入力／出力ＥＣは命令メモリ４．１のアドレス入力および演算装置５．１の最初の制御入力／出力であり、命令メモリ４．１の命令出力のオプコードフィールドは演算装置５．１の第二制御入力に接続され、演算装置５．１の命令出力は命令メモリ４．１の命令出力に接続され、演算装置５．１のｌ個のデータ出力Ｏ１，…，Ｏｌは機能ユニットのデータ出力であり、演算装置５．１は、ｍ種類の入力データを使用してｌ種類の結果を生成する一組のデータ処理動作を実現する、少なくとも一つの入力／出力装置および／または少なくとも一つの算術および論理ユニットおよび／または少なくとも一つのデータメモリを含む。
【手続補正８】
【補正対象書類名】明細書
【補正対象項目名】００１５
【補正方法】変更
【補正の内容】
【００１５】
シナジェティックコンピューティングシステムの動作の原理は本明細書の背景技術で最初に記載したように公知である。ヘテロジニアスなシナジェティックコンピューティングシステムと先行技術の違いは、アーキテクチャによって提供され、かつ命令セットによって実現される追加的機能性にある。
【手続補正９】
【補正対象書類名】明細書
【補正対象項目名】００１９
【補正方法】変更
【補正の内容】
【００１９】
ヘテロジニアスなシナジェティックコンピューティングシステムにおける機能ユニット間の追加的外部制御チャネルは、ユニット間およびユニット内レベルの両方の計算処理を制御するために使用される。


【国際調査報告】
2005512224.tif 000005
2005512224.tif 000006