(57)【要約】回路基板上に配置される複数のプログラム可能な処理モジュールを備える、再構成可能な処理システムが提供される。プログラム可能な処理モジュールのそれぞれは、多様な処理能力のプログラム可能な集積回路によって装着可能である。回路基板上の導電性トレースは、プログラム可能な処理モジュールに接続され、導電性トレースは、回路基板上に配置されることにより、プログラム可能な処理モジュールに対して回路基板上の導電性トレースのフットプリントを変更する必要なしに、プログラム可能な処理モジュールにおいて処理能力が変更されるプログラム可能な集積回路の使用に適応する。回路基板上に少なくとも１つのインターフェース回路が配置されて、回路基板への信号および回路基板からの信号のインターフェースをとる。
2009543232.tif 000002
【特許請求の範囲】
【請求項１】
再構成可能な処理システムであって、
ａ．回路基板と、
ｂ．該回路基板上に配置される複数のプログラム可能な処理モジュールであって、該プログラム可能な処理モジュールのそれぞれは、多様な処理能力のプログラム可能な集積回路によって装着可能である、処理モジュールと、
ｃ．該回路基板への信号および該回路基板からの信号のインターフェースをとるために、該回路基板上に配置される少なくとも１つのインターフェース回路と、
ｄ．該プログラム可能な処理モジュールに接続する該回路基板上の導電性トレースであって、該導電性トレースは、該回路基板上に配置されることにより、該プログラム可能な処理モジュールに対して該回路基板上の導電性トレースのフットプリントを変更する必要なしに、該プログラム可能な処理モジュールにおいて処理能力が変更される該プログラム可能な集積回路の使用に適応する、導電性トレースと
を備える、処理システム。
【請求項２】
前記複数のプログラム可能な処理モジュールにおける前記プログラム可能な集積回路は、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）である、請求項１に記載の再構成可能な処理システム。
【請求項３】
前記処理モジュールをプログラムするための前記回路基板上の前記導電性トレースのフットプリントは、容量が変更されるＦＰＧＡに適応することができる、請求項２に記載の再構成可能な処理システム。
【請求項４】
前記各プログラム可能な処理モジュールは、少なくとも１つのフィールドプログラマブルゲートアレイ（ＦＰＧＡ）、少なくとも２つのランダムアクセスメモリデバイス、および少なくとも２つのＦＬＡＳＨメモリデバイスを備え、該ＦＰＧＡ、該ランダムアクセスメモリデバイスおよび該ＦＬＡＳＨメモリデバイスは、該プログラム可能な処理モジュールを分割する仮想線の周囲に対称的に配置される、請求項１に記載の再構成可能な処理システム。
【請求項５】
前記少なくとも１つのプログラム可能な処理モジュールにおけるＦＰＧＡは、２つのウエハスケール信号プロセッサ（ＷＳＳＰ）によってプログラムされる、請求項４に記載の再構成可能な処理システム。
【請求項６】
前記回路基板上に搭載されるスイッチモジュールであって、該回路基板上の前記導電性トレースは、該スイッチモジュールを前記プログラム可能な処理モジュールのそれぞれと前記少なくとも１つの外部インターフェース回路とに接続する、スイッチモジュールをさらに備える、請求項１に記載の再構成可能な処理システム。
【請求項７】
前記スイッチモジュールは、フィールドプログラマブルゲートアレイ（ＦＧＰＡ）デバイスおよびメモリデバイスを備え、該スイッチモジュールにおける該メモリデバイスは、１つ以上の前記プログラム可能な処理モジュールに対してグローバルメモリとして機能する、請求項６に記載の再構成可能な処理システム。
【請求項８】
前記スイッチモジュールは、前記メモリデバイスを受けるためのソケットを備える、請求項７に記載の再構成可能な処理システム。
【請求項９】
前記スイッチモジュールは、前記回路基板の中心位置に配置され、前記プログラム可能な処理モジュールは、該スイッチモジュールの周囲の該回路基板上に配置される、請求項６に記載の再構成可能な処理システム。
【請求項１０】
前記スイッチモジュールは、前記複数のプログラム可能な処理モジュールのそれぞれにおける前記プログラム可能な集積回路をプログラムするためのプログラミングデバイスに接続するために少なくとも１つのコネクタを備える、請求項６に記載の再構成可能な処理システム。
【請求項１１】
前記各プログラム可能な処理モジュールにおけるプログラム可能な集積回路は、同じまたは異なる容量のフィールドプログラマブルゲートアレイ（ＦＰＧＡ）である、請求項１に記載の再構成可能な処理システム。
【請求項１２】
オンボード型輸送手段制御システムであって、
ａ．輸送手段のナビゲーションおよび動きを管理する輸送手段管理サブシステムと、
ｂ．該無人輸送手段の周囲のアクティビティを監視し、該アクティビティに関係するデータを収集する１つ以上の特殊用途サブシステムと、
ｃ．遠隔にあるシステムへのデータおよび制御の伝達と、該遠隔にあるシステムからのデータおよび制御の伝達とを行う通信トランシーバサブシステムと、
ｄ．該１つ以上の特殊用途サブシステムおよび該輸送手段管理サブシステムによって作成されるデータを処理する再構成可能な処理サブシステムであって、該再構成可能な処理サブシステムは、
該回路基板上に配置される複数のプログラム可能な処理モジュールであって、該プログラム可能な処理モジュールのそれぞれは、多様な処理能力のプログラム可能な集積回路によって装着可能である、処理モジュールと、
該回路基板への信号および該回路基板からの信号のインターフェースをとるために、該回路基板上に配置される少なくとも１つのインターフェース回路と、
該プログラム可能な処理モジュールに接続する該回路基板上の導電性トレースと
を備え、
該導電性トレースを該回路基板上に配置することにより、該プログラム可能な処理モジュールに対して該回路基板上の導電性トレースのフットプリントを変更する必要なしに、該プログラム可能な処理モジュールにおいて処理能力が変更される該プログラム可能な集積回路の使用に適応する、処理サブシステムと
を備える、制御システム。
【請求項１３】
前記複数のプログラム可能な処理モジュールにおける前記プログラム可能な集積回路は、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）であり、該処理モジュールをプログラムするための前記回路基板上の前記導電性トレースのフットプリントは、容量が変更されるＦＰＧＡに適応することができる、請求項１２に記載の制御システム。
【請求項１４】
前記各プログラム可能な処理モジュールは、少なくとも１つのフィールドプログラマブルゲートアレイ（ＦＰＧＡ）、少なくとも２つのランダムアクセスメモリデバイス、および少なくとも２つのＦＬＡＳＨメモリデバイスを備え、該ＦＰＧＡ、該ランダムアクセスメモリデバイスおよび該ＦＬＡＳＨメモリデバイスは、該プログラム可能な処理モジュールを分割する仮想線の周囲に対称的に配置される、請求項１３に記載の制御システム。
【請求項１５】
前記少なくとも１つのプログラム可能な処理モジュールにおけるＦＰＧＡは、２つのウエハスケール信号プロセッサ（ＷＳＳＰ）によってプログラムされる、請求項１４に記載の制御システム。
【請求項１６】
前記回路基板上に搭載されるスイッチモジュールであって、該回路基板上の前記導電性トレースは、該スイッチモジュールを前記プログラム可能な処理モジュールのそれぞれと前記少なくとも１つの外部インターフェース回路とに接続する、スイッチモジュールをさらに備える、請求項１２に記載の制御システム。
【請求項１７】
前記スイッチモジュールは、フィールドプログラマブルゲートアレイ（ＦＧＰＡ）デバイスおよびメモリデバイスを備え、該スイッチモジュールにおける該メモリデバイスは、１つ以上の前記プログラム可能な処理モジュールに対してグローバルメモリとして機能する、請求項１６に記載の制御システム。
【請求項１８】
前記スイッチモジュールは、前記回路基板の中心位置に配置され、前記プログラム可能な処理モジュールは、該スイッチモジュールの周囲の該回路基板上に配置される、請求項１２に記載の制御システム。
【請求項１９】
前記輸送手段は、無人の空中輸送手段であり、前記輸送手段管理サブシステムは、該無人の空中輸送手段の動きを制御する飛行体管理サブシステムである、請求項１２に記載の制御システム。
【請求項２０】
前記再構成可能な処理サブシステムは、前記１つ以上の特殊用途サブシステムによって作成された前記データを分析する１つ以上の処理アルゴリズムによってプログラムされ、該データの分析に基づいて関連する状況が検出された場合にのみ、遠隔にあるシステムに送信するための情報を前記通信トランシーバサブシステムに供給する、請求項１２に記載の制御システム。
【請求項２１】
前記再構成可能な処理サブシステムは、ターゲットを検出するために前記１つ以上の特殊用途サブシステムによって作成されるデータを分析するようにプログラムされており、該ターゲットの検出に応答して、該再構成可能な処理サブシステムは、外部から供給される制御なしに、さらなる調査のために該ターゲットに接近するように前記輸送手段を制御するために該輸送手段のナビゲーションプランを変更する、請求項１２に記載の制御システム。
【請求項２２】
再構成可能な処理システムであって、
ａ．回路基板と、
ｂ．該回路基板上に配置される複数のプログラム可能な処理モジュールであって、該プログラム可能な処理モジュールのそれぞれは、多様な容量のフィールドプログラマブルゲートアレイ（ＦＰＧＡ）デバイスによって装着可能である、処理モジュールと、
ｃ．該プログラム可能な処理モジュールに接続する該回路基板上の導電性トレースであって、該導電性トレースは、該回路基板上に配置されることにより、該プログラム可能な処理モジュールに対して該回路基板上の導電性トレースのフットプリントを変更する必要なしに、該プログラム可能な処理モジュールにおいて容量が変更される該ＦＰＧＡの使用に適応する、導電性トレースと、
ｄ．該回路基板上に搭載されるスイッチモジュールおよび少なくとも１つの外部インターフェース回路であって、該回路基板上の該導電性トレースは、該スイッチモジュールを該プログラム可能な処理モジュールのそれぞれと該少なくとも１つの外部インターフェース回路とに接続し、該スイッチモジュールは、該回路基板の中心位置に配置され、該プログラム可能な処理モジュールは、該スイッチモジュールの周囲の該回路基板上に配置される、モジュールおよび回路と
を備える、システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラム可能な処理システムに関し、特に、サイズ、電力および重量に制約があるアプリケーションにおいて有用なプログラム可能な処理システムに関する。
【背景技術】
【０００２】
リアルタイムアプリケーションのデータ処理速度および処理能力は、特定のアプリケーションによって変化し得る。デバイスまたはシステムは、種々のアプリケーションに対応するように設計し得るが、システムのデータ処理コンポーネントは、一般的にサイズ、電力消費および性能に関して固定されている。しかしながら、各アプリケーションに対する種々の構成および種々のアーキテクチャに適応する必要がある。
【０００３】
例えば、これに限定するわけではないが、無人の空中輸送手段（ｕｎｍａｎｎｅｄ  ａｅｒｉａｌ  ｖｅｈｉｃｌｅ；ＵＡＶ）において、サイズ、重量、および電力（ｓｉｚｅ，ｗｅｉｇｈｔ，ａｎｄ  ｐｏｗｅｒ；ＳＷＡＰ）は、ペイロードシステムのいずれの部分の設計においても重要な要素となる。したがって、処理コンポーネントは、小型化、軽量化、および比較的低い電力消費が必要となる。種々のシナリオに対応するための実現可能な解決法は、特定のアプリケーションの目的またはホストデバイス（例えば、ＵＡＶ）のミッションにしたがって、動的に再構成される処理基板を構築することである。この解決法は、種々のアプリケーションと、ＵＡＶの飛行セッション中にＵＡＶのミッションを変更し得る多重ミッションモードとに対処するように適合し、ハードウェアアーキテクチャを再構成するための柔軟性を有することが必要である。
【発明の概要】
【課題を解決するための手段】
【０００４】
（本発明の概要）
概して、回路基板上に配置される複数のプログラム可能な処理モジュールを備える、再構成可能な処理システムが提供される。プログラム可能な処理モジュールのそれぞれは、種々の処理能力のプログラム可能な集積回路によって装着（ｐｏｐｕｌａｔｅ）されることが可能である。回路基板上の導電性トレースは、プログラム可能な処理モジュールに接続し、導電性トレースは、回路基板上に配置されることにより、プログラム可能な処理モジュールに対して回路基板上の導電性トレースのフットプリントを変更する必要なしに、プログラム可能な処理モジュールにおいて処理能力が変更されるプログラム可能な集積回路の使用に適応する。回路基板上に少なくとも１つのインターフェース回路が配置されて、回路基板への信号および回路基板からの信号のインターフェースをとる。
【図面の簡単な説明】
【０００５】
【図１】図１は、本発明の一実施形態による再構成可能な処理システムのブロック図である。
【図２】図２は、処理モジュールのブロック図であり、この複数の例が、本発明の一実施形態による再構成可能な処理システムにおいて提供される。
【図３】図３は、本発明の一実施形態による、再構成可能な処理システムに含まれるスイッチモジュールのブロック図である。
【図４】図４は、一実施形態による、再構成可能な処理システムにおいて有用な第１のインターフェースモジュールのブロック図である。
【図５】図５は、一実施形態による、再構成可能な処理システムにおいて有用な第２のインターフェースモジュールのブロック図である。
【図６】図６は、プログラム可能な処理モジュールが、一実施形態による２つのウエハスケール信号プロセッサによってプログラムされている、再構成可能な処理システムの一部分を形成するプログラム可能な処理モジュールを示すブロック図である。
【図７】図７は、本発明の一実施形態による、再構成可能な処理システムを備える無人の空中輸送手段のブロック図である。
【発明を実施するための形態】
【０００６】
（詳細な説明）
まず図１を参照すると、再構成可能な処理システム１０は、複数の処理モジュール２００（１）から２００（４）が上にある印刷回路基板（ＰＣＢ）１００の形態で提供される。４つの処理モジュールが示されているが、本発明はこの数に限定されず、本発明の範囲および精神から逸脱しない限り、特定のアプリケーションに応じて、これより多い処理モジュールまたは少ない処理モジュールが存在してもよいことを理解されたい。処理モジュール２００（１）から２００（４）は同一であり得、対称的な設計を作り出すためにそれぞれ同様な方法で構成され得る。あるいは、各モジュールは、特有のタスクを遂行するように、また複雑なアプリケーションのための高性能なフロントエンドハードウェアアクセラレータを実装可能なように構成され得る。
【０００７】
中心にクロスバースイッチモジュール３００が配置されており、その周囲に処理モジュール２００（１）〜２００（４）が配置されている。クロスバースイッチモジュール３００は、処理モジュール２００（１）から２００（４）の全ての間の複数対複数（ａｌｌ−ｔｏ−ａｌｌ）通信を可能にするように構成される。クロスバースイッチモジュール３００は、外部インターフェースモジュール４００（１）および４００（２）を介する外部へのゲートウェイでもある。このインターフェースモジュールは、ＶＭＥバス、ＰＣ１０４バス、イーサネット（登録商標）、またはＲＳ２３２コネクタ等の１つ以上の規格にしたがって、データのインターフェースをとるために必要な処理を実行する。クロスバースイッチモジュール３００はまた、特定のアプリケーションのアーキテクチャによって要求される場合、フロントエンドアクセラレータとして構成され得る。さらに、クロスバーモジュールは、４つのモジュールの任意の１つによってアクセス可能な、シンクロナスダイナミックランダムアクセスメモリ（ＳＤＲＡＭ）チップ等のグローバルメモリチップを有する。グローバルメモリに加えて、各モジュールは、ローカルな動作のためのコードおよびデータを格納するために使用可能な、モジュール自身用のローカルメモリチップ（ＳＲＡＭ）を有する。さらに、各モジュールは、スタンドアロン動作モードのためのコードを格納するためにＦＬＡＳＨメモリを含んでいる。
【０００８】
設計の性質上、再構成可能な処理基板は、汎用マルチプロセッサシステムである。これは、並列のリアルタイムデータ処理アルゴリズムまたはプロセス、および単純なシングルプロセッサのアプリケーションに対して有用である。大型の複雑なリアルタイムアプリケーションはまた、処理速度を上げるために、処理モジュール２００（１）から２００（４）の１つ以上をハードウェアアクセラレータとして使用することもできる。
【０００９】
再構成可能な処理システム１０は、種々のハードウェアアーキテクチャに対してプログラム可能なフィールドプログラマブルゲートアレイ（ＦＰＧＡ）等のプログラム可能なデバイスによって構築される。ＰＣＢ１００は、より高い計算能力を達成するためのハイエンドな製品として、必要な場合、全てのコンポーネントによって装着され得る。あるいは、要求事項がより少なく、より安価なアプリケーションに対処するために、ローエンドの製品として、より少ないパーツによって装着され得る。
【００１０】
処理モジュール２００（１）から２００（４）のそれぞれは、Ｘｉｌｉｎｘ，Ｉｎｃによって構築された、ＸＣ２Ｖｘ０００  Ｖｉｒｔｅｘ  ＩＩ  ＦＰＧＡ等の同じＦＰＧＡパーツに集中してもよい。このＦＰＧＡチップの製造者は、種々の容量を有するけれども同じフットプリントである一連のＦＰＧＡパーツを構築している。したがって、この基板は、同じフットプリントを使用する、より大きな容量にアップグレード可能なＦＰＧＡパーツを使用する。これはつまり、該基板が、トレースまたはフットプリントを変更する必要なしに、変更可能な容量のＦＰＧＡチップを使用するように設計されていることを意味する。
【００１１】
例えば、ＰＣＢ１００は、以下のＦＰＧＡパーツに適合する処理モジュール２００（１）〜２００（４）に対して、図１に示される各位置において１つのフットプリントによって設計される。
・３百万ゲートのＦＰＧＡ、ＸＣ２Ｖ３０００
・４百万ゲートのＦＰＧＡ、ＸＣ２Ｖ４０００
・６百万ゲートのＦＰＧＡ、ＸＣ２Ｖ６０００
・８百万ゲートのＦＰＧＡ、ＸＣ２Ｖ８０００
したがって、処理モジュール２００（１）から２００（４）のそれぞれは、３百万、４百万、６百万、または８百万ゲートのＦＰＧＡチップによって装着され得る。処理モジュール２００（１）から２００（４）で使用される各ＦＰＧＡは、２つの汎用浮動小数点プロセッサを含むようにプログラムされ得る。例えば、処理モジュール２００（１）から２００（４）の１つ以上におけるＦＰＧＡは、２つのウエハスケール信号プロセッサ（Ｗａｆｅｒ  Ｓｃａｌｅ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｏｒ；ＷＳＳＰ）と共にプログラムされ得る。このことは、より高い計算能力を基板に追加するためにクロスバースイッチモジュール３００をも使用する場合、１０個のプロセッサまで増加可能な８つの浮動小数点信号プロセッサを使用する能力を提供する。ＷＳＳＰプロセッサは、より少ない電力消費で高い計算能力を付与するように最適化されている。ユーザ定義の命令は、ＷＳＳＰプロセッサのユーザマニュアルに示されるように、特定のアプリケーションで通常使用される特定の演算（例えば、行列乗算および相関関数）に合わせることが可能である。各ＦＰＧＡは２つのプロセッサのためにプログラムされ得ることから、各処理モジュールは、各プロセッサに対して同一のリソースを与えるように、対称的な様態で構築され得る。
【００１２】
外部インターフェースモジュール４００（１）および４００（２）は、システム１０のアプリケーションに依存して、任意の望ましい能力を有し得る。例えば、これに限定されるわけではないが、外部インターフェースモジュール４００（１）は、ＰＣ１０４インターフェース規格を実装し、外部インターフェースモジュール４００（２）は、ＶＭＥスケーラブルバス規格を実装する。したがって、ＰＣＢ１０は、６Ｕ規格ＶＭＥカードに準拠し、任意の６Ｕ  ＶＭＥシャーシに収納され得る。さらに、外部インターフェースモジュール４００（１）はまた、１００メガビット／秒の速度でデータを交換するために、１００／１０Ｂａｓｅ−Ｔイーサネット（登録商標）コネクタ規格等のイーサネット（登録商標）接続インターフェースを含み得、該インターフェースは、標準的なＴＣＰ／ＩＰプロトコルを介して基板への通信および基板からの通信を容易にする。イーサネット（登録商標）インターフェース機能は、標準的なＴＣＰ／ＩＰプロトコルの最上部で、カスタマイズされた通信を使用するように構成され得る。さらに、システム１０のハードウェア／ソフトウェアのデバッグのために、外部インターフェースモジュール４００（２）は、ダム（ｄｕｍｂ）端末に接続可能なＲＳ２３２コネクタを含む。
【００１３】
図２を参照して、示されている処理モジュール２００（ｉ）を詳細に説明する。各処理モジュールは、スタティックランダムアクセスメモリ（ＳＲＡＭ）２１０および２１２等の２つのスタティックメモリ、２つのＦＬＡＳＨメモリ２２０および２２２、ＦＰＧＡチップ２３０およびテストコネクタ２４０を含む。ＳＲＡＭチップのサイズおよびＦＬＡＳＨチップのサイズは、特定のアプリケーションによって変化する。処理モジュール２００（ｉ）のコンポーネントは、仮想的な水平線の周囲に対称的に配置されている。１つのＦＰＧＡチップにプログラム可能な、上記の、２つのＷＳＳＰプロセッサをサポートするために、対称的に設計されている。しかし、対称性は、その他のハードウェア処理アーキテクチャに対して有用であり得る。
【００１４】
ＳＲＡＭメモリチップ２１０および２１２は、アプリケーション実行中のアプリケーションデータと中間結果の一時的な格納とに対して使用される。ＳＲＡＭチップは、高速デバイスであるために、レベル２のキャッシュとして機能し得る。
【００１５】
ＦＬＡＳＨメモリチップ２２０および２２２は、ブートストラップおよびアプリケーションプログラムの格納専用である。システム１０への電力が失われる場合に、ＦＬＡＳＨを利用していると、プログラムコードの損失を防止する。さらに、ＦＬＡＳＨメモリチップ２２０および２２２は、イーサネット（登録商標）接続を介してプログラムされ得る。
【００１６】
テストコネクタまたはソケット２４０は、ＦＰＧＡチップ２３０の入力／出力ピンに接続され、任意の標準的なロジックアナライザを介して、ＦＰＧＡチップ２３０内の任意の信号を監視するために使用される。
【００１７】
電力は、ＰＣＢ１００（図１）をわたって供給されることにより、各処理モジュール２００（１）から２００（４）は、それ自身の局所的な電源を有する。電力の分散は、基板周囲の均一な温度の分散に役立ち、処理モジュールをＰＣＢ１００に部分的に装着することが容易になる。
【００１８】
回路基板上の導電性トレース２３２および２３４は、プログラム可能な処理モジュールに接続され、導電性トレースは、回路基板上に配置されることにより、プログラム可能な処理モジュールに対して回路基板上の導電性トレースのフットプリントを変更する必要なしに、プログラム可能な処理モジュールにおいて処理能力が変更されるプログラム可能な集積回路の使用に適応する。
【００１９】
図３を参照して、クロスバースイッチモジュール３００についてより詳細に説明する。クロスバースイッチモジュール３００は、外部インターフェースモジュール４００（１）および４００（２）を介して、その他の処理モジュール間の接続および外部デバイスへの接続を提供する。
【００２０】
クロスバースイッチモジュール３００は、ＦＰＧＡチップ３１０、ＦＬＡＳＨメモリ３２０、スタティックメモリ（例えば、ＳＲＡＭ）チップ３３０およびダイナミックメモリ（例えば、シンクロナスダイナミックランダムアクセスメモリ（ＳＤＲＡＭ）チップ）用ソケット３４０を含む。さらに、クロスバースイッチモジュール３００は、少なくとも２つのＪＴＡＧ（ｊｏｉｎｔ  ｔｅｓｔ  ａｃｔｉｖｉｔｙ  ｇｒｏｕｐ）コネクタ３５０および３６０を含む。クロスバースイッチモジュール３００は、システム１０の特定のアプリケーションがさらなる計算能力を要求する場合、汎用プロセッサとして構成され得る。ＳＲＡＭ３３０およびローカルＦＬＡＳＨメモリ３２０は、汎用プロセッサとしてのモジュール３００の構成を支援するために提供される。ソケット３４０は、ＰＣＢ１００上の全てのプロセッサモジュール２００（１）から２００（４）のためのグローバルメモリとして機能するＳＤＲＡＭチップを受けることができる。ソケット３４０のＳＤＲＡＭの１つの利用法は、ＶＭＥバスを介する外部へのゲートウェイである。データキューブ（ｃｕｂｅ）またはグローバルデータストレージは、ソケット３４０のＳＤＲＡＭを利用し得ることにより、各プロセッサモジュールが、その割り当てデータを取得し、そのローカルメモリにデータを格納する。あるいは、ソケット３４０のＳＤＲＡＭは、クロスバースイッチモジュール３００が、上記のように汎用プロセッサとして構成される場合、クロスバースイッチモジュール３００のために利用可能なローカルメモリとして使用され得る。
【００２１】
ＪＴＡＧコネクタ３５０および３６０は、各処理モジュール２００（１）から２００（４）内のＦＰＧＡチップか、または処理モジュール２００（１）から２００（４）のそれぞれのＦＰＧＡに関連付けられた、構成用ＦＬＡＳＨメモリのいずれかをプログラムするために使用される。ＪＴＡＧコネクタ３５０および３６０は、２つのデイジーチェーンを形成する。ＪＴＡＧデイジーチェーンは、ローエンドアプリケーションの場合に装着されていないパーツに対して補正するためのジャンパを有する。
【００２２】
次に、外部インターフェースモジュール４００（１）についてのより詳細な説明のために、図４を参照する。外部インターフェースモジュール４００（１）は、参照番号４１０の業界標準のＰＣ１０４インターフェースコネクタＰＣ１０４−Ｊ１、および参照番号４１２のインターフェースコネクタＰＣ１０４−Ｊ２等の、業界標準のインターフェースコネクタを含む。全てのＰＣ１０４信号および標準的なコネクタサイズが実装されることにより、ＰＣＢ１００は、標準的なＰＣ１０４のリボンケーブルまたはスタッカブルカードを介して、任意のＰＣ１０４システムとのインターフェースをとり得る。ＰＣ１０４コネクタ４１０および４１２上のピンを、クロスバースイッチモジュールＦＰＧＡ３１０に接続する、３つの５Ｖ／３．３Ｖコンバータ４０５（１）、４０５（２）および４０５（３）がある。
【００２３】
外部インターフェースモジュール４００（１）はさらに、ＲＳ２３２コネクタ４２０およびＲＪ４５イーサネット（登録商標）コネクタ４２２ならびに関連するドライバ回路４３０および４３２を含み、ＴＣＰ／ＩＰプロトコルを用いて１００メガビット／秒までサポートすることが可能である。ＲＳ２３２  ＤＢ９コネクタ４２０およびドライバ回路４３０は、システム１０のデバッグおよびテストの際に有用である。ＲＳ２３２の送受信信号は、クロスバースイッチモジュールＦＧＰＡ３１０に接続され、次いでＰＣＢ１０上の残りのモジュールに接続される。イーサネット（登録商標）ドライバ回路４３２は、ＰＣＢ１００上の残りのモジュールへのインターフェースを提供するために、クロスバースイッチモジュール３００の入力／出力ピンに接続される。さらに、ＪＴＡＧに準拠したプログラムおよびテストデバイスに接続可能なＪＴＡＧコネクタ４４０も存在する。
【００２４】
図５を参照して、外部インターフェースモジュール４００（２）について説明する。外部インターフェースモジュール４００（２）は、基板を、ＶＭＥバスを介して外部へ接続する。外部インターフェースモジュール４００（２）は、バックプレーンコネクタ４６０および４６２を含む。外部インターフェースモジュール４００（２）はさらに、５Ｖ／３．３Ｖコンバータ４７０（１）および４７０（２）を含み、それらを介してバックプレーンコネクタ４６０が、クロスバースイッチモジュール３００に接続され、また、５Ｖ／３．３Ｖコンバータ４７０（３）および４７０（４）を含み、それらを介してバックプレーンコネクタ４６２が、クロスバースイッチモジュールＦＰＧＡ３１０に接続される。
【００２５】
構成可能な処理モジュールの設計方法は、ハードウェアアーキテクチャの構築においてユーザの全体的な柔軟性を提供することに基づいている。各処理モジュールは、同種のシステムを形成するために全く同じ方法で構成され得る。あるいは、各処理モジュールは、特定のアプリケーションを実行する異種のシステムを形成するために、アプリケーションのニーズに応じて異なるように構成され得る。
【００２６】
完全な浮動小数点プロセッサが不要なアプリケーションでは、ＦＰＧＡチップを、単純なローエンドの整数プロセッサに類似するようにプログラムされ得る。例えば、４つの処理モジュール２００（１）から２００（４）のそれぞれは、８ビットの単純な計算ユニットとしてプログラムされ得、したがって大規模な並列の計算ユニットのネットワークが生成される。これは、イメージ処理またはイメージ／データ圧縮のための８ビット整数演算のみを必要とするようなアプリケーションに対して非常に有用である。アプリケーションの定義域（ｄｏｍａｉｎ）をデータのサブセットに分割し得る場合にも有用であることにより、イメージまたはデータの各サブセットが同様な方法で並列に処理されて、ソフトウェアアプリケーションの目的を達成する。このタイプのアーキテクチャは、Ｓｉｎｇｌｅ  Ｉｎｓｔｒｕｃｔｉｏｎ  Ｍｕｌｔｉｐｌｅ  Ｄａｔａ（ＳＩＭＤ）と呼ばれる。
【００２７】
ハードウェアアーキテクチャを構成する別の方法に、Ｍｕｌｔｉｐｌｅ  Ｉｎｓｔｒｕｃｔｉｏｎ  Ｍｕｌｔｉｐｌｅ  Ｄａｔａ（ＭＩＭＤ）がある。このタイプのアーキテクチャでは、大型のプロセッサのそれぞれは、全く同様にプログラムする必要はない。並列プロセッサのいくつかは、特定のアプリケーションを実行するために、異なる方法でプログラムされ得る。
【００２８】
Ｍｕｌｔｉｐｌｅ  Ｉｎｓｔｒｕｃｔｉｏｎ  Ｓｉｎｇｌｅ  Ｄａｔａ（ＭＩＳＤ）およびＳｉｎｇｌｅ  Ｉｎｓｔｒｕｃｔｉｏｎ  Ｓｉｎｇｌｅ  Ｄａｔａ（ＳＩＳＤ）等のさらにその他の並列プロセッサアーキテクチャが、同様に構成され得る。
【００２９】
並列プロセッサアーキテクチャに加えて、いくつかのアプリケーションは、増大された実行速度を有することのほかに、シーケンシャルなハードウェアアーキテクチャを要求し得る。こうしたアプリケーションでは、ソフトウェアモジュールのいくつかは、クロスバースイッチモジュールからオフロード（ｏｆｆｌｏａｄ）され、別個の処理モジュールのＦＰＧＡチップ上に実装され得ることにより、処理モジュール２００（１）から２００（４）のうちの１つ以上が、フロントエンドプロセッサまたはハードウェアアクセラレータとして機能する。例えば、クロスバースイッチモジュール３００のＦＰＧＡチップに到達する前にオンザフライでデータを処理するように、高速フーリエ変換（ＦＦＴ）エンジンを、ＦＰＧＡチップの１つに実装し得る。あるいは、相関エンジンは、時間が重要となるアプリケーションの実行時間を短縮するために、プロセッサモジュール２００（１）から２００（４）の１つにおけるＦＰＧＡチップ内にプログラム可能である。さらに、プロセッサモジュール２００（１）から２００（４）の１つのＦＰＧＡチップは、別の時間が重要なアプリケーションの実行時に何度も呼び出される行列乗算関数を実行するようにプログラム可能である。これらは、実行可能な多数の構成のうちのいくつかの例にすぎない。
【００３０】
次に、図６を参照する。構成可能な処理システム１０で有用な１つのプロセッサは、上記のＷＳＳＰアーキテクチャである。図６は、プロセッサＡおよびプロセッサＢとして示される、処理モジュール２００（ｉ）のＦＰＧＡチップ２３０内に実装される２つのＷＳＳＰの種々のコンポーネントを示す。各ＷＳＳＰプロセッサは、４つの浮動小数点演算ユニット、つまり、２つの乗算器５００および２つの加算器５１０、ならびに上位データパス論理５２０、下位データパス論理５３０および制御ストア５４０を含む制御論理セクションを有する。入力／出力（Ｉ／Ｏ）インターフェース論理ブロック６００が存在する。
【００３１】
４つの並列の浮動小数点演算ユニットによって、各ＷＳＳＰは、最大で４ＦＬＯＰＳ／クロックの最高性能を可能にする。その例外的な浮動小数点演算性能に加えて、ＷＳＳＰのアセンブリ命令セットが、信号処理機能に対して最適化される。高速フーリエ変換、および複素数内積等の完全な機能を実行する、いくつかのベクトル化されたアセンブリ命令が存在する。アセンブリ命令は、ＷＳＳＰのアーキテクチャによって最大のパフォーマンスをもたらすように最適化され、同時に低い電力消費を維持する。
【００３２】
ＷＳＳＰはまた、アプリケーションのパフォーマンスを最適化するために、ユーザが固有のアセンブリ命令を構築し得るメカニズムを備えている。これは、ＷＳＳＰのコア内に常駐するマイクロコードＲＡＭを介して行われる。ユーザは、マイクロＲＡＭにダウンロード可能なユーザ独特の機能を書き込み得る。こうして、独自のアセンブリ命令が、新しいマイクロコードの機能に割り当てられる。プログラムの実行中に、任意の通常のアセンブリ命令と同様に、新しい機能が呼び出され得る。
【００３３】
ＷＳＳＰプロセッサは、オープンソースのＧＮＵソフトウェアツールに基づく、ソフトウェアツールスイート一式と共に提供される。ＷＳＳＰプロセッサのＧＮＵツールは、Ｃ、Ｃ＋＋、およびＦＯＲＴＲＡＮのコンパイラを含む。コンパイラおよびアセンブラに加えて、ＷＳＳＰソフトウェアスイートは、命令セットアーキテクチャ（ＩＳＡ）シミュレータを有する。ＩＳＡシミュレータは、アプリケーションの実行を命令ごとにシミュレーションし、テストおよびデバッグの段階で有用なツールである。ＩＳＡシミュレータは、実際のハードウェアを構築する前にアプリケーションに適用され得る。
【００３４】
問題を特定するだけでなく、ＩＳＡシミュレータは、任意のアプリケーションの実行速度の正確な予測レポートを生成可能である。実行速度は、アプリケーションプログラム全体の各アセンブリ命令にかかるクロックのサイクル数によって正確に計測可能である。ＩＳＡシミュレータは、全ての機能呼び出しのレポートおよびメモリ／キャッシュアクセス統計の生成だけでなく、プロファイリング機能を有する。
【００３５】
図７を参照すると、一実施形態による再構成可能な処理システム１０の１つのアプリケーションが、参照番号７００で示される無人の空中輸送手段（ＵＡＶ）に存在する。ＵＡＶ５００は、ＵＡＶの周囲のアクティビティを監視し、デジタル静止画および動画ビデオ画像、天候データ、無線周波数受信器のデータ等の情報を収集する、種々のオンボード型のデバイスまたはサブシステムを含む。したがって、ＵＡＶは、参照番号７１０（１）から７１０（Ｎ）で示される、１つ以上のいわゆる特殊用途（ｓｐｅｃｉａｌ  ａｐｐｌｉｃａｔｉｏｎ）コンポーネントまたはサブシステム、および１つ以上の飛行体管理サブシステムを有し得、そのうちの１つが参照番号７２０で示される。再構成可能な処理システム１０は、生成するデータを処理するために特殊用途コンポーネントに接続し、また飛行管理サブシステム７２０にも接続する。結果として、ＵＡＶ７００は、地上への送信が必要なデータ量が少なくなるように、基板上のデータ処理を実行可能である。ＵＡＶ７００は、参照番号８００において示される地上機器にデータを送信し、地上機器からデータおよび制御を受信するために使用される、通信トランシーバサブシステム７３０を含む。
【００３６】
ＵＡＶは、軍による偵察および天候監視の（その他の）アプリケーションにおいて、有用である。こうした種類のＵＡＶアプリケーションにおいて、ＵＡＶによって収集された未加工の情報は、ほぼリアルタイムまたはリアルタイム処理と地上職員による評価とのために、地上ステーションに受け渡される。いくつかの状況では、地上ステーションに未加工の情報を同時に送信するいくつかのＵＡＶが存在する。したがって、ＵＡＶから地上へ送信されるデータ量を低減するために、処理能力の一部または全てと知的な判断とをＵＡＶ上へ移動させることが望ましい。
【００３７】
ＵＡＶが送信する情報量を低減させるための一技術は、関連する状況が検出された場合にのみ情報を送信することである。再構成可能な処理サブシステムは、１つ以上の特殊用途サブシステムによって作成されたデータを分析する、１つ以上の処理アルゴリズムによってプログラムされ、データの分析に基づいて関連する状況が検出された場合にのみ、遠隔にあるシステムに送信するための情報を通信トランシーバに供給する。したがって、関連性の通知（ｉｎｆｏｒｍａｔｉｏｎ  ｏｆ  ｒｅｌｅｖａｎｃｅ；ＩＯＲ）という概念が導入され、これは、ＵＡＶが関連性のある情報のみを送信するということを意味する。例えば、再構成可能な処理システム１０は、移動する地上のターゲットを検出し、地上への（ビデオおよびその他の）データ送信をトリガするか、またはパターン認識を使って、対象の特定の事象（例えば、ミサイル打ち上げ）を検出するか、あるいは大きな天候イベントが検出されると天候の状況を計測しデータを送信する、処理アルゴリズムによってプログラムされ得る。
【００３８】
オンボード型の再構成可能な処理サブシステムは、ＵＡＶが自律的な挙動をとり得るようにしてもよい。例えば、ＵＡＶに搭載された再構成可能な処理サブシステム１０は、特殊用途サブシステムの１つ以上によって供給されるデータに基づいて疑いのあるターゲットを検出し、外部の干渉（外部から行われる制御）なしに行動し得、ターゲットを旋回（接近）し、より詳細に調査するために、ＵＡＶの飛行またはナビゲーション経路／プランを変更する。ターゲットは、ミサイルまたはその他の種類の武器または施設等の特定の種類の脅威にしてもよい。また、こうしたナビゲーションの変更を行うための知能は、ＵＡＶに搭載された処理サブシステム１０内に構成されるプログラム制御命令内に含まれる。
【００３９】
さらに、ＵＡＶの動作およびミッションの変化は、各ミッションに対する種々の構成および種々のアーキテクチャを要求する。したがって、多重ミッションのシナリオを処理するための実現可能な解決法は、各ミッションの目的によって動的に再構成可能な処理基板を使用することである。例えば、ＵＡＶのミッションは、飛行中に変更し得る。
【００４０】
ＵＡＶ環境において、サイズ、重量、および電力（ＳＷＡＰ）は、ペイロードシステムのいずれのパーツの設計においても重要な要素である。これは、ＵＡＶシステムまたはコンポーネントは、サイズが小さく、軽量で、比較的消費電力を低くしなければならないことを意味する。ＵＡＶの場合、処理基板１００は、一例においてサイズがおよそ６インチ×７インチであるが、そのサイズは、特定のホストデバイス等によって変わり得る。
【００４１】
基板上の処理のための再構成可能な基板は、低電力、小型サイズのフットプリントにおける高い計算能力から利益を得られる、システムの完全な潜在能力の実現に貢献する。基板上の計算能力を駆使することによって、ＵＡＶ５００は、現在の状況に関する情報を決定し、適切な措置をとり得る。計算能力を上げながらＳＷＡＰを低下させることによって、再構成可能なオンボード型の処理技術は、現行および将来的なＵＡＶが、同じかまたはより小型のパッケージにおいてミッション能力を向上させることを可能にするが、これはチェーン（ｃｈａｉｎ）内の利害関係者に利益となる。
【００４２】
再構成可能な処理システム１０のその他のアプリケーションの例には、無人の地上用輸送手段（Ｕｎｍａｎｎｅｄ  Ｇｒｏｕｎｄ  Ｖｅｈｉｃｌｅ；ＵＧＶ）、無人の水中用輸送手段（Ｕｎｍａｎｎｅｄ  Ｕｎｄｅｒｗａｔｅｒ  Ｖｅｈｉｃｌｅ；ＵＵＶ）、サテライト、航空機通信およびデータネットワーク、宇宙空間ベースのアプリケーション、ソフトウェア無線（Ｓｏｆｔｗａｒｅ  Ｄｅｆｉｎｅｄ  Ｒａｄｉｏ；ＳＤＲ）等の通信アプリケーション、大型のプロセッサアーキテクチャを必要とする認識計算アプリケーション、高い処理能力を必要とする携帯可能デバイス、および、概して多重ミッション、高い帯域幅、または高い処理要件を有し得る任意のデバイスまたはシステムが含まれる（が、これに限定されない）。
【００４３】
本明細書で記載されるシステムおよび方法は、本発明の精神または本質的な特性から逸脱しない限り、その他の特定の形態で実施してもよい。したがって、上記の実施形態は、あらゆる面において、例示的であり、限定することを目的としない。
【図１】
2009543232.tif 000003
【図２】
2009543232.tif 000004
【図３】
2009543232.tif 000005
【図４】
2009543232.tif 000006
【図５】
2009543232.tif 000007
【図６】
2009543232.tif 000008
【図７】
2009543232.tif 000009
【国際調査報告】
2009543232.tif 000010
2009543232.tif 000011