(57)【要約】高容量のダイナミックランダムアクセスメモリ（「ＤＲＡＭ」）のバンクとデュアルポートのスタティックランダムアクセスメモリ（「ＳＲＡＭ」）のバンクとに関連して少なくとも１つの組込型プロセッサコアを有するフィールドプログラマブルゲートアレイ（「ＦＰＧＡ」）制御要素とユーザアレイを形成する１対のユーザＦＰＧＡとを組込んだ多重適応プロセッサ要素アーキテクチャを開示する。動作の際に、ＤＲＡＭはその高速の連続バーストモードを用いて「読出」され、より低容量のＳＲＡＭバンクはランダムにロードされて、ユーザＦＰＧＡが極めて大きな仮想ＳＲＡＭであるように見えるものから極めて高速のランダムアクセスデータレートを経験することが可能となる。ユーザＦＰＧＡがデータをＳＲＡＭバンクに「書込」んでいる際にその逆のことも起こる。これらの全体的な制御機能は制御ＦＰＧＡにおいて実現されるオンチップＤＭＡエンジンによって管理されてもよい。
2005524906.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータシステムのための適応プロセッサ要素であって、
第１の制御ＦＰＧＡと、
前記制御ＦＰＧＡに結合され、前記プロセッサ要素を前記コンピュータシステムに結合するためのシステムインターフェイスバスと、
前記制御ＦＰＧＡに結合されるダイナミックランダムアクセスメモリ（ＤＲＡＭ）と、
その第１のポートが前記制御ＦＰＧＡに結合されているデュアルポートのスタティックランダムアクセスメモリ（ＳＲＡＭ）と、
前記デュアルポートＳＲＡＭの第２のポートに結合される少なくとも１つの第２のユーザＦＰＧＡを含むユーザアレイとを含む、適応プロセッサ要素。
【請求項２】
前記第１の制御ＦＰＧＡは少なくとも１つの組込型マイクロプロセッサコアを含む、請求項１に記載のプロセッサ要素。
【請求項３】
前記少なくとも１つの組込型マイクロプロセッサコアは前記システムインターフェイスバスに結合される、請求項２に記載のプロセッサ要素。
【請求項４】
前記少なくとも１つの組込型マイクロプロセッサコアは周辺インターフェイスバスに結合される、請求項２に記載のプロセッサ要素。
【請求項５】
前記周辺インターフェイスバスに結合される少なくとも１つの記憶要素をさらに含む、請求項４に記載のプロセッサ要素。
【請求項６】
前記周辺インターフェイスバスに結合されるストレージエリアネットワークをさらに含む、請求項４に記載のプロセッサ要素。
【請求項７】
前記システムインターフェイスバスはスイッチネットワークによって前記コンピュータシステムに結合される、請求項１に記載のプロセッサ要素。
【請求項８】
前記スイッチネットワークに結合される少なくとも１つのプロセッサをさらに含む、請求項７に記載のプロセッサ要素。
【請求項９】
前記スイッチネットワークに結合される共有メモリリソースをさらに含む、請求項７に記載のプロセッサ要素。
【請求項１０】
前記システムインターフェイスバスはスイッチネットワークアダプタポートによってプロセッサに結合される、請求項１に記載のプロセッサ要素。
【請求項１１】
前記プロセッサはスイッチネットワークによって別のプロセッサに結合される、請求項１０に記載のプロセッサ要素。
【請求項１２】
前記デュアルポートＳＲＡＭは複数のデュアルポートＳＲＡＭ装置を含む、請求項１に記載のプロセッサ要素。
【請求項１３】
前記デュアルポートＳＲＡＭは６個のデュアルポートＳＲＡＭ装置を含む、請求項１２に記載のプロセッサ要素。
【請求項１４】
前記ユーザアレイは第２および第３のユーザＦＰＧＡを含む、請求項１に記載のプロセッサ要素。
【請求項１５】
前記第２および第３のユーザＦＰＧＡは、複数の相互接続ビアが通っている回路基板の両面上に装着される、請求項１４に記載のプロセッサ要素。
【請求項１６】
前記ユーザアレイに結合され、前記コンピュータシステムの少なくとも１つの他のプロセッサ要素に直接アクセスするためのチェーンポートをさらに含む、請求項１に記載のプロセッサ要素。
【請求項１７】
コンピュータシステムであって、
スイッチネットワークと、
少なくとも１つの適応プロセッサ要素とを含み、前記少なくとも１つの適応プロセッサ要素は、第１の制御ＦＰＧＡと、前記制御ＦＰＧＡに結合され、前記プロセッサ要素を前記スイッチネットワークに結合するためのシステムインターフェイスバスと、前記制御ＦＰＧＡに結合されるダイナミックランダムアクセスメモリ（ＤＲＡＭ）と、その第１のポートが前記制御ＦＰＧＡに結合されているデュアルポートのスタティックランダムアクセスメモリ（ＳＲＡＭ）と、前記デュアルポートＳＲＡＭの第２のポートに結合される少なくとも１つの第２のユーザＦＰＧＡを含むユーザアレイとを含み、前記コンピュータシステムはさらに、
前記スイッチネットワークに結合される少なくとも１つのプロセッサと、
前記スイッチネットワークに結合される共有メモリリソースとを含む、コンピュータシステム。
【請求項１８】
前記第１の制御ＦＰＧＡは少なくとも１つの組込型マイクロプロセッサコアを含む、請求項１７に記載のコンピュータシステム。
【請求項１９】
前記少なくとも１つの組込型マイクロプロセッサコアは前記システムインターフェイスバスに結合される、請求項１８に記載のコンピュータシステム。
【請求項２０】
前記少なくとも１つの組込型マイクロプロセッサコアは周辺インターフェイスバスに結合される、請求項１８に記載のコンピュータシステム。
【請求項２１】
前記周辺インターフェイスバスに結合される少なくとも１つの記憶要素をさらに含む、請求項２０に記載のコンピュータシステム。
【請求項２２】
前記周辺インターフェイスバスに結合されるストレージエリアネットワークをさらに含む、請求項２０に記載のコンピュータシステム。
【請求項２３】
前記少なくとも１つのプロセッサは別の適応プロセッサ要素を含む、請求項１７に記載のコンピュータシステム。
【請求項２４】
前記少なくとも１つのプロセッサは複数のプロセッサを含む、請求項１７に記載のコンピュータシステム。
【請求項２５】
前記少なくとも１つのプロセッサは前記スイッチネットワークによって前記複数のプロセッサのうちの別のプロセッサに結合される、請求項２４に記載のコンピュータシステム。
【請求項２６】
前記デュアルポートＳＲＡＭは複数のデュアルポートＳＲＡＭ装置を含む、請求項１７に記載のコンピュータシステム。
【請求項２７】
前記デュアルポートＳＲＡＭは６個のデュアルポートＳＲＡＭ装置を含む、請求項２６に記載のコンピュータシステム。
【請求項２８】
前記ユーザアレイは第２および第３のユーザＦＰＧＡを含む、請求項１７に記載のコンピュータシステム。
【請求項２９】
前記第２および第３のユーザＦＰＧＡは、複数の相互接続ビアが通っている回路基板の両面上に装着される、請求項２８に記載のコンピュータシステム。
【請求項３０】
前記ユーザアレイに結合され、前記コンピュータシステムの少なくとも１つの他のプロセッサ要素に直接アクセスするためのチェーンポートをさらに含む、請求項１７に記載のコンピュータシステム。
【請求項３１】
コンピュータシステムであって、
ネットワークと、
前記ネットワークに結合される少なくとも１つのプロセッサと、
前記少なくとも１つのプロセッサに動作的に関連したスイッチネットワークアダプタポートと、
少なくとも１つの適応プロセッサ要素とを含み、前記少なくとも１つの適応プロセッサ要素は、第１の制御ＦＰＧＡと、前記制御ＦＰＧＡに結合され、前記プロセッサ要素を前記スイッチネットワークアダプタポートに結合するためのシステムインターフェイスバスと、前記制御ＦＰＧＡに結合される周辺インターフェイスバスと、前記制御ＦＰＧＡに結合されるダイナミックランダムアクセスメモリ（ＤＲＡＭ）と、その第１のポートが前記制御ＦＰＧＡに結合されているデュアルポートのスタティックランダムアクセスメモリ（ＳＲＡＭ）と、前記デュアルポートＳＲＡＭの第２のポートに結合される少なくとも１つの第２のユーザＦＰＧＡを含むユーザアレイとを含み、前記コンピュータシステムはさらに、
前記周辺インターフェイスバスに結合される少なくとも１つの記憶要素を含む、コンピュータシステム。
【請求項３２】
前記第１の制御ＦＰＧＡは少なくとも１つの組込型マイクロプロセッサコアを含む、請求項３１に記載のコンピュータシステム。
【請求項３３】
前記少なくとも１つの組込型マイクロプロセッサコアは前記システムインターフェイスバスに結合される、請求項３２に記載のコンピュータシステム。
【請求項３４】
前記少なくとも１つの組込型マイクロプロセッサコアは前記周辺インターフェイスバスに結合される、請求項３２に記載のコンピュータシステム。
【請求項３５】
前記少なくとも１つの記憶要素は、前記周辺インターフェイスバスに結合されるストレージエリアネットワークを含む、請求項３１に記載のコンピュータシステム。
【請求項３６】
前記少なくとも１つのプロセッサはまた前記ストレージエリアネットワークに結合される、請求項３５に記載のコンピュータシステム。
【請求項３７】
前記少なくとも１つのプロセッサは別の適応プロセッサ要素を含む、請求項３１に記載のコンピュータシステム。
【請求項３８】
前記少なくとも１つのプロセッサは、複数のプロセッサと、前記複数のプロセッサの各々に動作的に関連したスイッチネットワークアダプタポートとを含む、請求項３１に記載
のコンピュータシステム。
【請求項３９】
前記複数のプロセッサの各々は前記ネットワークによって前記複数のプロセッサのうちの別のプロセッサに結合される、請求項３８に記載のコンピュータシステム。
【請求項４０】
前記デュアルポートＳＲＡＭは複数のデュアルポートＳＲＡＭ装置を含む、請求項３１に記載のコンピュータシステム。
【請求項４１】
前記デュアルポートＳＲＡＭは６個のデュアルポートＳＲＡＭ装置を含む、請求項４０に記載のコンピュータシステム。
【請求項４２】
前記ユーザアレイは第２および第３のユーザＦＰＧＡを含む、請求項３１に記載のコンピュータシステム。
【請求項４３】
前記第２および第３のユーザＦＰＧＡは、複数の相互接続ビアが通っている回路基板の両面上に装着される、請求項４２に記載のコンピュータシステム。
【請求項４４】
前記ユーザアレイに結合され、前記コンピュータシステムの少なくとも１つの他のプロセッサ要素に直接アクセスするためのチェーンポートをさらに含む、請求項３１に記載のコンピュータシステム。
【請求項４５】
対向する第１および第２の面を有する回路基板であって、
前記回路基板の前記対向する第１および第２の面上にそれぞれ、概して互いに鏡像の関係で取付けられた第１および第２の複数のボンディングパッドと、
プログラム可能な入出力ピンがそれぞれ前記第１および第２の複数のボンディングパッドのサブセットに接着されている第１および第２の集積回路装置と、
前記サブセットの前記第１および第２の複数のボンディングパッドのうちの対向するものを電気的に相互接続するための、前記回路基板の前記対向する第１および第２の面の中間に形成される複数のビアとを含む、回路基板。
【請求項４６】
前記第１および第２の集積回路装置は適応プロセッサ要素のためのユーザアレイを含む、請求項４５に記載の回路基板。
【請求項４７】
前記第１および第２の集積回路装置は第１および第２のＦＰＧＡを含む、請求項４５に記載の回路基板。
【発明の詳細な説明】
【技術分野】
【０００１】
発明の背景
この発明は概して適応プロセッサまたは再構成可能なプロセッサの分野に関する。より特定的には、この発明は、少なくとも１つの組込型プロセッサコアを有するフィールドプログラマブルゲートアレイ（「ＦＰＧＡ」）制御要素を組込んだ多重適応プロセッサ（「ＭＡＰTM」（登録商標）はこの発明の譲受人であるエス・アール・シィ・コンピューターズ・インコーポレイテッド（SRC Computers, Inc.）の登録商標である）要素アーキテクチャに関する。
【背景技術】
【０００２】
適応プロセッサはときに再構成可能なプロセッサと称されるが、それらが実行しているプログラムに基づいてそのハードウェア機能を変える能力を有するプロセッサ要素である。予め実現された論理を連続的に実行することしかできない標準的なマイクロプロセッサと比べて、適応プロセッサは所与のプログラムで何千倍も効率的に実行する能力を有する。次のプログラムが実行されると、この論理がソフトウェアによって再構成されてさらに非常に効率的に実行する。これらの適応プロセッサにおいて用いられる集積回路はこれまで２つのカテゴリ、すなわち、特別仕様のコプロセッサの特定用途向け集積回路（「ＡＳＩＣ」）とＦＰＧＡとに分けられてきた。
【発明の開示】
【発明が解決しようとする課題】
【０００３】
マイクロプロセッサの特徴およびプログラム可能な論理部分をともに含む特別仕様の集積回路チップのために多くのアーキテクチャが提案されてきた。しかしながら、これらのチップは高性能の汎用適応計算の実現についての品質が低い。というのも、これらチップは高性能の特別仕様のＡＳＩＣに伴う経常外費用が極めて高く、このため採算が取れるようにするには極めて大規模な市場が必要となるからである。加えて、標準的なマイクロプロセッサおよびプログラム可能な論理がともに同じダイ上で形成されるので、再構成可能な論理の量は、それらが各々別個の部分として備えられている場合よりも必然的にはるかに少なくなるだろう。適応プロセッサの性能はそれが利用することのできるゲートの数に正比例しているので、この解決策は大幅に制限されてしまい、用途が限られた専用の適応プロセッサに最も適することとなる。
【０００４】
この方策に対する代替例は適応計算機能を達成するＦＰＧＡを用いることである。しかしながら、これらのチップは従来、ゲート数の点から見て比較的小さいものであった。加えて、ＦＰＧＡのゲートの何らかの部分が、システムの残りの部分と通信するのに必要な制御機能のために用いられる必要もあった。これにより、入出力（「Ｉ／Ｏ」）機能が制限されているアプリケーションの特定のファミリを対象にして設計された基板レベルの製品で主に使用されることとなった。しかしながら、ＦＰＧＡの幾何学的形態、特徴およびパッケージングにおける近年の進歩により、現在、大規模で高性能の汎用適応計算を達成するのに用いることのできる新しい基板レベルのアーキテクチャを実現することが可能となった。エス・アール・シィ・コンピューターズ・インコーポレイテッドによる、この明細書中に開示される独自のＭＡＰTM（登録商標）多重適応プロセッサ要素アーキテクチャに基づいたこのような１つのコンピュータがある。
【課題を解決するための手段】
【０００５】
発明の概要
少なくとも１つの組込型プロセッサコアを有し得るＦＰＧＡ制御要素を組込んだ多重適応プロセッサ要素アーキテクチャがこの明細書中に開示される。全体的なアーキテクチャはその主要な構成要素としてＦＰＧＡ、ＤＲＡＭおよびデュアルポートＳＲＡＭバンクの３つを有し、その設計の中心は所望の処理を実行するのに必要とされる論理がロードされたユーザＦＰＧＡである。ディスクリートなＦＰＧＡを用いることにより再構成可能な回路の量を最大にすることができ、この明細書中に開示される特定の実施例においては、多重適応プロセッサ要素の性能は、好ましくはユーザアレイを形成するこのような２つのＦＰＧＡを用いることによりさらに向上させることができる。
【０００６】
２つのチップを用いることにより、これらは、基板を通る共通ビアを共有するボール・グリッド・アレイ（「ＢＧＡ」）パッケージの接点で互いに対向するプリント回路基板の両面上に有利に配置され得る。これらの装置のＩ／Ｏピンはプログラム可能であるので、ユーザアレイの２つのユーザＦＰＧＡは鏡像機能ピン構成としてセットアップされ得る。これによりチップ間の経路指定をほとんど無くすが、さもなければ、このチップ間の経路指定がその相互接続のためにより大きな１つの装置として有効に機能させ得るのに必要な程度にまで必要とされることとなる。さらに、この態様では、回路基板層の数および費用も最小限にされる。
【０００７】
この装着技術はまた、利用可能な最大のピン数のパッケージを有効に使用できるようにし、これによりユーザアレイのＩ／Ｏ能力が最大となるだろう。この態様でユーザＦＰＧＡを相互接続することにより、チップに接続するトレースによって形成される伝送線上の単一の電気的な終端としてこれら２つのチップの電気的なローディングを発生させる。これにより、高性能のプロセッサに必要とされるような高速のデータレートでは、これらの線の終端が極めて単純化されて信号の品質が高められ、データレートが最大限にされる。現在の技術では、パッケージごとに１５００ほどの数のピンを用いることができ、この装着技術により、高帯域幅のチップ間の接続性、異なる多重適応プロセッサ要素上における１つのユーザアレイからもう１つのユーザアレイへの直接的な高帯域幅の接続性、およびディスクリートなデュアルポートＳＲＡＭの複数のバンクへの高帯域幅の接続を同時に実現することが可能となる。
【０００８】
デュアルポートＳＲＡＭバンクは、ユーザアレイを支援する極めて高速のバルクメモリを設けるために用いられる。その容量を最大にするために、ディスクリートなＳＲＡＭチップが、独立して接続された複数のバンクに配置されてもよい。これにより、ＳＲＡＭがＦＰＧＡに直接組込まれるだけである場合に達成され得るよりもはるかに高い容量が得られる。さらに、現在、この明細書中で採用されかつ開示される特定のパッケージングによって達成される多くの入出力（「Ｉ／Ｏ」）数により、汎用ＦＰＧＡが６個の６４ビット幅のＳＲＡＭバンクに相互接続されて、現在利用可能な装置および技術を用いて４．８Ｇバイト／秒の総メモリ帯域幅を達成することが可能となる。
【０００９】
動作においては、高容量のＤＲＡＭがその高速の連続バーストモードを用いて「読出」され、より低容量のＳＲＡＭバンクがランダムにロードされて、ユーザＦＰＧＡが、極めて大きな仮想ＳＲＡＭであるように見えるものから極めて高速のランダムアクセスデータレートを経験することが可能となる。ユーザＦＰＧＡがデータをＳＲＡＭバンクに「書込」んでいるときにその逆のことも起こる。これらの全体的な制御機能は、制御ＦＰＧＡにおいて実現されるオンチップＤＭＡエンジンによって管理されてもよい。
【００１０】
コンピュータシステムのための適応プロセッサ要素がこの明細書中に具体的に開示されるが、当該適応プロセッサ要素は、第１の制御ＦＰＧＡと、制御ＦＰＧＡに結合され、プロセッサ要素をコンピュータシステムに結合するためのシステムインターフェイスバスと、制御ＦＰＧＡに結合されるダイナミックランダムアクセスメモリ（ＤＲＡＭ）と、その
第１のポートが制御ＦＰＧＡに結合されているデュアルポートのスタティックランダムアクセスメモリ（ＳＲＡＭ）と、デュアルポートＳＲＡＭの第２のポートに結合される少なくとも１つの第２のユーザＦＰＧＡを含むユーザアレイとを含む。この明細書中に開示されるこの発明の適応プロセッサ要素のさまざまなコンピュータシステム実現例がまた提供される。可能なシステムレベルの実現例の各々においては、マイクロプロセッサは適応プロセッサ要素とともに用いることができるが、別個のマイクロプロセッサを用いずに適応プロセッサ要素だけを用いて計算システムを構成することも可能であることに留意されたい。
【００１１】
この明細書中にさらに開示される適応プロセッサは、組込型プロセッサと、システムインターフェイスと、周辺インターフェイスと、ディスクリートなＤＲＡＭへの接続と、ディスクリートなデュアルポートＳＲＡＭの１つのポートへの接続とを有するディスクリートな制御ＦＰＧＡを用い、さらに、ユーザアレイを形成し、当該ユーザアレイを形成するＦＰＧＡ間の接続と、デュアルポートのディスクリートなＳＲＡＭの第２のポートへの接続と、他の適応プロセッサへのチェーンポート接続とを備えたディスクリートなＦＰＧＡを用いる。適応プロセッサは、チップ間の相互接続の複雑さと基板層の数とを最小限にしつつ最大限のユーザアレイおよび最高の帯域幅をもたらすために、回路基板の両面上に同軸に位置する複数のディスクリートなＦＰＧＡを含み得る。デュアルポートＳＲＡＭを用い、これを制御チップに接続されるＤＲＡＭとともに制御チップとユーザアレイとに接続して、高速の循環転送バッファを形成し得る。
【００１２】
前述の適応プロセッサはさらに制御ＦＰＧＡにおいて組込型プロセッサを含んでもよく、これにより高速の直列Ｉ／Ｏチャネルが作られて、システムインターフェイス上で必要とされる帯域幅を低減させる目的で適応プロセッサがディスクドライブなどの周辺装置に直接接続することが可能となる。それは制御ＦＰＧＡにおいて実現される論理をさらに含んでもよく、これにより高速の直列Ｉ／Ｏチャネルが作られて、システムインターフェイス上で必要とされる帯域幅を低減させる目的で適応プロセッサがディスクドライブなどの周辺装置に直接接続することが可能となる。システムインターフェイスにより、各適応プロセッサに対するホストマイクロプロセッサを必要とせずに多重適応プロセッサを相互接続することが可能となり、制御チップにおける組込型マイクロプロセッサを用いて、システムインターフェイスを介して到達するコマンドをデコードすることができる。
【００１３】
さらに、前述の適応プロセッサは、共通のメモリとして用いられユーザアレイにおけるすべてのＦＰＧＡによって共有されるＳＲＡＭを含み、システムスケーラビリティおよびＩ／Ｏ帯域幅を向上させる目的で別個の周辺Ｉ／Ｏおよびシステム相互接続ポートを用い得る。さらにＤＲＡＭを用いて、システムにおける他のすべてのプロセッサによってもアクセス可能な大きなオンボード記憶装置を設けることもできる。
【００１４】
添付の図面に関連して好ましい実施例の以下の説明を参照することにより、この発明の上述および他の特徴および目的ならびにこれらを達成する態様がより明らかとなり、この発明自体が最もよく理解されるだろう。
【発明を実施するための最良の形態】
【００１５】
代表的な実施例の説明
ここで図１Ａを参照すると、多重適応プロセッサ要素１００の特定の代表的な実施例の機能ブロック図が示される。多重適応プロセッサ要素１００は、関連部分において、１対の別個のユーザＦＰＧＡ１０４0および１０４1とともに動作するディスクリートな制御ＦＰＧＡ１０２を含む。制御ＦＰＧＡ１０２ならびにユーザＦＰＧＡ１０４0および１０４1は、この特定の実現例においてデュアルポートＳＲＡＭバンク１０６0〜１０６5として示されるいくつかのＳＲＡＭバンク１０６を介して結合される。ＤＲＡＭ１０８を含む付加
的なメモリブロックがまた、制御ＦＰＧＡ１０２に関連付けられる。
【００１６】
制御ＦＰＧＡ１０２は、μＰ１  １１２を含むいくつかの組込型マイクロプロセッサコアを含み、このμＰ１  １１２は電気光学コンバータ１１６によって周辺インターフェイスバス１１４に結合されて、いずれかの接続された周辺装置（図示せず）を駆動するようバス１１４に対する付加的な物理的長さに対する能力を提供する。第２のマイクロプロセッサコアμＰ０  １１８を用いて多重適応プロセッサ要素１００のシステムインターフェイスバス１０２を管理し、これは、単純にするために単一の双方向バスとして示されるが、実際には１対の平行な単一方向バスを含み得る。図示のとおり、チェーンポート１２２を設けて、付加的な多重適応プロセッサ要素１００が図示の多重適応プロセッサ要素１００と直接通信できるようにすることもできる。
【００１７】
図示および上述される全体的な多重適応プロセッサ要素１００アーキテクチャは、その主要な構成要素としてＦＰＧＡ１０２、１０４0、１０４1、ＤＲＡＭ１０８およびデュアルポートＳＲＡＭバンク１０６の３つを有する。その設計の中心は、所望の処理を実行するのに必要な論理がロードされたユーザＦＰＧＡ１０４0および１０４1である。ディスクリートなＦＰＧＡ１０４0、１０４1を用いることにより、再構成可能な回路の量を最大にすることが可能となる。この多重適応プロセッサ要素１００の性能は、ユーザアレイを形成するこのようなＦＰＧＡ１０４を最大で２つ用いることによりさらに高めることができる。２つのチップを用いることにより、これらは、後にさらに十分に説明されるように互いに回路基板の両面上に配置され得る。
【００１８】
デュアルポートＳＲＡＭバンク１０６は、ユーザアレイ１０４を支援する極めて高速のバルクメモリを設けるために用いられる。その容量を最大にするために、ディスクリートなＳＲＡＭチップが、図示される独立して接続された複数のバンク１０６0〜１０６5に配置されてもよい。これにより、ＳＲＡＭがＦＰＧＡ１０２および／または１０４に直接組込まれるだけである場合に達成され得るよりもはるかに高い容量が得られる。さらに、現在、この明細書中で採用されかつ開示される特定のパッケージングによって達成される多くの入出力（「Ｉ／Ｏ」）数により、汎用ＦＰＧＡが６個の６４ビット幅のＳＲＡＭバンク１０６0〜１０６5に相互接続されて、４．８Ｇｂｙｔｅｓ／ｓｅｃの総メモリ帯域幅を達成することが可能となる。
【００１９】
典型的には、高速のＳＲＡＭ装置の費用は比較的高く、その密度は比較的低い。この事実に対応するために、デュアルポートＳＲＡＭはアドレスおよびデータのための２つの別個のポートを有する各ＳＲＡＭチップとともに用いられてもよい。各チップからの一方のポートは２つのユーザアレイＦＰＧＡ１０４0および１０４1に接続され、他方のポートは制御ＦＰＧＡ１０２として機能する第３のＦＰＧＡに接続される。この制御ＦＰＧＡ１０２はまた、はるかに大きな高速のＤＲＡＭ１０８メモリのデュアル・インライン・メモリ・モジュール（「ＤＩＭＭ」）に接続する。このＤＲＡＭ１０８のＤＩＭＭは、或るバーストモードで用いられる場合、同様の帯域幅を有するＳＲＡＭバンク１０６の１００倍の密度を容易に有し得る。これにより、後にさらに十分に記載されるように、多重適応プロセッサ要素１００が、ＤＲＡＭ１０８からのデータが制御ＦＰＧＡ１０２によって供給される循環バッファとしてＳＲＡＭ１０６を用いることが可能となる。
【００２０】
制御ＦＰＧＡ１０２はまた他のいくつかの機能を実行する。好ましい実施例においては、制御ＦＰＧＡ１０２は、カリフォルニア州（California）、サンノゼ（San Jose）のザイリンクス（Xilinx）から入手可能であり組込型パワーＰＣマイクロプロセッサコアを有するバーテックス・プロ（Virtex Pro）のファミリから選択されてもよい。これらのコアのうちの１つ（μＰ０  １１８）を用いて、システムインターフェイスバス１２０を介して受信される制御コマンドをデコードする。このインターフェイスは、複数の多重適応プ
ロセッサ要素１００を一緒に相互接続することを可能にする毎秒マルチ・ギガバイトのインターフェイスである。それはまた、ＳＲＣ  ＳＮＡＰTM（登録商標）カードを用いることにより標準的なマイクロプロセッサボードを多重適応プロセッサ要素１００に相互接続することを可能にする。（「ＳＮＡＰ」はこの発明の譲受人であるエス・アール・シィ・コンピューターズ・インコーポレイテッドの登録商標であり、このようなＳＮＡＰカードの代表的な実現例が、エス・アール・シィ・コンピューターズ・インコーポレイテッドに譲渡された「デュアル・インライン・メモリ・モジュール・フォーマットの多重適応プロセッサのチェーンを用いるクラスタ化されたコンピュータのためのスイッチ／ネットワークアダプタポート（“Switch/Network Adapter Port for Clustered Computers Employing a Chain of Multi-Adaptive Processors in a Dual In-Line Memory Module Format”）と題され２００１年８月１７日に出願された米国特許出願連続番号第０９／９３２，３３０号に開示され、その開示はその全体が引用によりこの明細書中に特定的に援用される。）このインターフェイスを介して受信されるパケットは局所および周辺ダイレクトメモリアクセス（「ＤＭＡ」）コマンドならびにユーザアレイ１０４の構成命令を含んださまざまな機能を実行する。これらのコマンドは、制御ＦＰＧＡ１０２内の組込型マイクロプロセッサコアのうちの１つによって、および／またはさもなければＦＰＧＡ１０２において実現される論理によって処理され得る。
【００２１】
システムインターフェイスバス１２０の有効な帯域幅を増大させるために、いくつかの高速の直列周辺Ｉ／Ｏポートがまた実現されてもよい。これらの各々は、別のマイクロプロセッサコア（たとえばμＰ１  １１２）または制御ＦＰＧＡ１０２において実現される別個の論理のいずれかによって制御され得る。これらにより、多重適応プロセッサ要素１００がハードディスク、ディスクのストレージエリアネットワークまたは他のコンピュータ大容量記憶周辺装置に直接接続することが可能となるだろう。この態様では、システムインターフェイスバス１２０の帯域幅をほんの少しだけ用いてデータを移動させることにより、多数の多重適応プロセッサ要素１００へのスケーリングを支援する極めて効率的なシステム相互接続がもたらされる。いずれかの多重適応プロセッサ要素１００に搭載されたＤＲＡＭ１０８はシステムインターフェイスバス１２０を介して別の多重適応プロセッサ要素１００によってアクセスされ得るので、いくつかの多重適応プロセッサ要素１００にわたって分割されるデータベース探索におけるようなデータの共有が可能となる。
【００２２】
ここでさらに図１Ｂを参照すると、前述の図の代表的な実施例のＤＲＡＭ１０８の部分とＳＲＡＭバンク１０６の部分との間における「読出」および「書込」動作の全体的なシーケンスを説明する簡略化されたフローチャートが示される。ステップ１５０で、順次アドレスを用いて最大限の帯域幅を達成する制御ＦＰＧＡ１０２においてＤＭＡ論理によるＤＲＡＭ１０８からの読出が実行される。ステップ１５２で、ＤＭＡ論理は、任意の数のＳＲＡＭバンク１０６においてランダムなアドレス位置への「書込」を実行する。
【００２３】
その後、ステップ１５４で、デュアルポートＳＲＡＭを用いることにより、制御ＦＰＧＡ１０２が連続してＳＲＡＭバンク１０６に「書込」を行う一方で、ユーザＦＰＧＡ１０４が連続してそれらから「読出」を行なうことも可能となる。ステップ１５６で、ユーザＦＰＧＡ１０４における論理は、複数のＳＲＡＭバンク１０６におけるランダムなアドレスからの高速の「読出」を同時に実行する。ステップ１５８に示されるように、ユーザアレイを含むユーザＦＰＧＡ１０４からの「書込」中に前述のプロセスが逆にされる。
【００２４】
簡潔に述べると、高容量のＤＲＡＭ１０８がその高速の連続バーストモードを用いて「読出」され、より低容量のＳＲＡＭバンク１０６がランダムにロードされて、ユーザＦＰＧＡ１０４が、極めて大きな仮想ＳＲＡＭであるように見えるものから極めて高速のランダムアクセスデータレートを経験することが可能となる。ユーザＦＰＧＡがデータをＳＲＡＭバンク１０６に「書込」んでいるときにその逆のことも起こる。これらの全体的な制
御機能は、制御ＦＰＧＡ１０２において実現されるオンチップＤＭＡエンジンによって管理されてもよい。
【００２５】
ここでさらに図２を参照すると、コンピュータシステム２００の具体的な実現例のシステムレベルのブロック図が示される。コンピュータシステム２００のこの特定の実施例は、１つ以上のマイクロプロセッサ２０２0〜２０２Mおよびメモリサブシステムバンク２０６0〜２０６Mとともに図１Ａの多重適応プロセッサ要素１００0〜１００Nのうちの１つ以上を利用し得るが、これらはメモリ相互接続構造２０４によって機能的に結合されている。
【００２６】
ここでさらに図３を参照すると、コンピュータシステム３００の別の具体的な実現例のさらなるシステムレベルのブロック図が示される。コンピュータシステム３００のこの特定の実施例はまた、１つ以上のマイクロプロセッサ３０２0〜３０２Mとともに図１Ａの多重適応プロセッサ要素１００0〜１００Nのうちの１つ以上を利用し得るが、これらはシステムインターフェイスバス３２０によってスイッチネットワーク３０４と、さらに共有メモリリソース３０６とに機能的に結合されている。個々の周辺インターフェイスバス３１４を設けることにより、多重適応プロセッサ要素１００0〜１００Nの各々は、周辺バス３１２を介するマイクロプロセッサ３０２0〜３０２Mのうちの１つ以上と同様に、取付けられたストレージリソース３０８に直接アクセスし得る。いくつかのチェーンポート３２２は、個々の多重適応プロセッサ要素１００0〜１００Nの間を直接的に結合し得る。
【００２７】
ここでさらに図４を参照すると、コンピュータシステム４００のさらに別の具体的な実現例の付加的なシステムレベルのブロック図が示される。コンピュータシステム４００のこの特定の実現例はさらに、それぞれのシステムインターフェイスバス４２０と前述のＳＮＡＰカード４１６とを介して多重適応処理要素１００に結合される１つ以上のマイクロプロセッサ４０２0〜４０２Mとともに図１Ａの多重適応プロセッサ要素１００0〜１００Nのうちの１つ以上を利用し得る。多重適応プロセッサ要素１００0〜１００Nは、図示のとおりチェーンポート４２２によって互いに直接結合されてもよい。
【００２８】
この実現例においては、マイクロプロセッサ４０２0〜４０２Mはネットワーク４０４によって結合され、多重適応プロセッサ要素１００0〜１００Nおよびマイクロプロセッサ４０２0〜４０２Mは各々、直接結合された記憶要素４０８が周辺インターフェイス４１４または４１２にそれぞれ結合されていてもよい。代替的には、多重適応プロセッサ要素１００0〜１００Nおよびマイクロプロセッサ４０２0〜４０２Mは各々、共有記憶装置４１０にアクセスするためにストレージエリアネットワーク（「ＳＡＮ」）に結合されてもよい。
【００２９】
ここでさらに図５を参照すると、特定のプリント回路基板５００の部分的な断面図が示される。図示される装着構成に従うと、２つのユーザＦＰＧＡ１０４0および１０４1（図１Ａ）は、特にボール・グリッド・アレイ（「ＢＧＡ」）構成に備え付けられる場合、図示のとおりに装着されかつ相互接続され得る。ユーザＦＰＧＡ１０４0および１０４1の接点は、関連付けられたオフセット接触パッド５０６を備えたいくつかの基板貫通ビア５０４を含む多層のプリント回路基板５０２の両面にはんだ付けされる。いくつかの電気相互接続５０８により、ビア５０４および接触パッド５０６と、さらにユーザＦＰＧＡ１０４0および１０４1の両方とに電気的に接続される。
【００３０】
ディスクリートなＦＰＧＡ１０４をユーザアレイに対して用いることにより再構成可能な回路の量を最大にすることが可能となる。この多重適応要素１００（図１Ａ）の性能は、ユーザアレイを形成するこのような好ましい２つのＦＰＧＡ１０４を用いることによりさらに高められる。２つのチップを用いることにより、これらは、基板を通る共通ビア５０４を共有するＢＧＡパッケージの接点で互いに対向するプリント回路基板５０２の両面
上に配置され得る。これらの装置のＩ／Ｏピンがプログラム可能であるので、２つのユーザＦＰＧＡ１０４0および１０４1は鏡像機能ピン構成としてセットアップされ得る。これによりチップ間の経路指定をほとんど無くすが、さもなければ、このチップ間の経路指定がその相互接続のためにより大きな１つの装置として有効に機能させ得るのに必要な程度にまで必要とされることとなる。さらに、この態様では、回路基板５０２の層の数および費用も最小限にされる。この装着技術はまた、利用可能な最大のピン数のパッケージを有効に使用できるようにし、これによりユーザアレイのＩ／Ｏ能力が最大となるだろう。この態様でユーザアレイのユーザＦＰＧＡ１０４を相互接続することにより、チップに接続するトレースによって形成される伝送線上の単一の電気的な終端としてこれら２つのチップの電気的なローディングを発生させる。これにより、高性能のプロセッサに必要とされるような高速のデータレートでは、これらの線の終端が極めて単純化されて信号の品質が高められ、データレートが最大限にされる。現在の技術では、パッケージごとに１５００ほどの数のピンを用いることができ、この装着技術により、高帯域幅のチップ間の接続性、異なる多重適応プロセッサ要素１００上における１つのユーザアレイからもう１つのユーザアレイへの直接的な高帯域幅の接続性、およびディスクリートなデュアルポートＳＲＡＭ１０６の複数のバンクへの高帯域幅の接続を同時に実現することが可能となる。
【００３１】
コンピュータシステム２００（図２）、３００（図３）および４００（図４）の具体的な実現例に関して、マイクロプロセッサ２０２、３０２および４０２はそれぞれ市販の集積回路マイクロプロセッサとして備え付けることができるが、このようなプロセッサまたは処理要素のための他の実現例、たとえばこの明細書中に開示される多重適応プロセッサ要素１００も用いることができることに留意されたい。
【００３２】
特定のコンピュータシステムアーキテクチャおよび多重適応プロセッサ要素構成に関連してこの発明の原理を以上に記載してきたが、上述の記載は例示としてのみなされたものであり、この発明の範囲を限定するものではないことが明瞭に理解されるべきである。特に、以上の開示の教示が当業者に対して他の変形を示唆することが認識される。このような変形はそれ自体が既に公知であり、この明細書中に既に記載されている特徴の代わりにまたはこれに加えて用いることのできる他の特徴を含み得る。本願では、請求項は特定の特徴の組合せに対して作成されているが、この明細書中の開示の範囲が明示的または暗示的に開示されているいかなる新規の特徴もしくは特徴のいかなる新規な組合せ、または当業者にとって明らかであるそのいかなる一般化または変形をも含み、これらがいずれの請求項においても現在クレームされている同じ発明に関するか否か、およびこれらがこの発明が直面する同様の技術的な問題のいずれかまたはすべてを軽減するか否かにかかわらないことを理解すべきである。出願人は、この出願またはこれより発生する出願すべての審査手続において、そのような特徴および／またはそのような特徴の組合せに対して新しい請求項を作成する権利をこれにより留保する。
【図面の簡単な説明】
【００３３】
【図１Ａ】１対のユーザＦＰＧＡおよびデュアルポートのスタティックランダムアクセスメモリ（「ＳＲＡＭ」）の６個のバンクとともに組込型プロセッサコアを有するフィールドプログラマブルゲートアレイ（「ＦＰＧＡ」）制御要素を組込んだ多重適応プロセッサ要素の特定の代表的な実施例を示す機能的なブロック図である。
【図１Ｂ】ダイナミックランダムアクセスメモリ（「ＤＲＡＭ」）と上述の図の代表的な実施例のＳＲＡＭ部分との間における「読出」および「書込」動作の全体的なシーケンスを示す簡略化されたフローチャートである。
【図２】メモリ相互接続構造によって機能的に結合される１つ以上のマイクロプロセッサとメモリサブシステムバンクとともに図１Ａの多重適応プロセッサ要素のうちの１つ以上を利用するコンピュータシステムの代表的な実現例を示すシステムレベルのブロック図である。
【図３】スイッチネットワークによって共有メモリリソースに機能的に結合される１つ以上のマイクロプロセッサとともに図１Ａの多重適応プロセッサ要素のうちの１つ以上を利用するコンピュータシステムの別の具体的な実現例を示すさらなるシステムレベルのブロック図である。
【図４】１つ以上のマイクロプロセッサとともに図１Ａの多重適応プロセッサ要素のうちの１つ以上を利用し、かつストレージエリアネットワーク（「ＳＡＮ」）を介して共有される周辺記憶装置を有するコンピュータシステムのさらに別の具体的な実現例を示すさらなるシステムレベルのブロック図である。
【図５】図１Ａの代表的な多重適応プロセッサ要素において使用可能な１対のユーザＦＰＧＡの装着および相互接続のための技術についての特定のプリント回路基板の実現例を示す一部断面図である。
【図１Ａ】
2005524906.tif 000003
【図１Ｂ】
2005524906.tif 000004
【図２】
2005524906.tif 000005
【図３】
2005524906.tif 000006
【図４】
2005524906.tif 000007
【図５】
2005524906.tif 000008
【国際調査報告】
2005524906.tif 000009
2005524906.tif 000010
2005524906.tif 000011