(57)【要約】  複数のプロセッサと論理装置とを接続するためのシステムが提供される。このシステムは、それぞれが共有記憶装置に接続された、中央プロセッサユニット・ノードと、再構成可能接続ノードとを含む。このシステムは更に中央プロセッサユニット・ノードと再構成可能接続ノードの間の信号通信に用いる個別の入出力バスを含む。【選択図】  図１
2008503806.tif 000002
【特許請求の範囲】
【請求項１】
プロセッサと論理装置と共有記憶装置とからなり、
データ及び結果を前記プロセッサと前記論理装置間でパスするために、前記プロセッサが前記論理装置に前記共有記憶装置を介して接続されていることを特徴とする、
システム。
【請求項２】
請求項１に記載のシステムにおいて、
前記共有記憶装置が、第１のポートが前記プロセッサに接続され、第２のポートが前記論理装置に接続されたデュアルポート記憶装置であることを特徴とする、
システム。
【請求項３】
請求項１に記載のシステムにおいて、
前記論理装置が、フィールドプログラム可能ゲートアレイであることを特徴とする、
システム。
【請求項４】
請求項１に記載のシステムにおいて、
前記プロセッサが、中央処理装置ノードからなり、
前記論理装置が、再構成可能計算機ノードからなることを特徴とする、
システム。
【請求項５】
電子システムにおいてプロセッサと論理装置間でデータ通信をする方法であって、
前記プロセッサでデータを生成するステップと、
前記プロセッサからデータを共有記憶装置の第１のポートに供給するステップと、
前記共有記憶装置の第２のポートから前記データを前記論理装置内へ読み出すステップと、
前記データを前記論理装置で処理するステップと、
からなる方法。
【請求項６】
請求項５に記載の方法において、
前記データを前記論理装置で処理するステップが、前記データをフィールドプログラム可能ゲートアレイで処理することからなることを特徴とする方法。
【請求項７】
請求項５に記載の方法において、更に、
結果を前記論理装置で生成するステップと、
前記論理装置から結果を共有記憶装置の第１のポートに供給するステップと、
前記共有記憶装置の第２のポートから前記結果を前記プロセッサ内へ読み出すステップと、
前記結果を前記プロセッサで処理するステップと、
を含むことを特徴とする方法。
【請求項８】
請求項５に記載の方法において、
前記プロセッサでデータを生成するステップが、前記データを中央処理装置ノードで生成することからなり、
前記データを前記論理装置で処理するステップが、前記データを再構成可能計算ノードで処理することからなる、
ことを特徴とする方法。
【請求項９】
請求項５に記載の方法において、
前記共有記憶装置から前記データを読み出すステップが、前記中央処理装置によって前記データが前記共有記憶装置に供給されると実質的に同時に前記データを読み出すことからなることを特徴とする方法。
【請求項１０】
請求項８に記載の方法において、
前記データを中央処理装置ノードで生成することが、前記データを放射線耐性中央処理装置ノードで生成することからなることを特徴とする方法。
【請求項１１】
請求項８に記載の方法において、
前記データを再構成可能計算ノードで処理することが、前記データを放射線耐性論理装置を有する再構成可能計算ノードで処理することからなることを特徴とする方法。
【請求項１２】
請求項５に記載の方法において、
前記プロセッサでデータを生成するステップが、第１のデータを記憶された命令に基づいて前記プロセッサで処理することからなり、
前記データを前記論理装置で処理するステップが、他のデータを前記論理装置のハードウエア構成に基づいて前記論理装置で処理することからなる、
ことを特徴とする方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は一般的に電子システムに関し、特に電子システム内のプロセッサと論理装置との接続に関する。
【背景技術】
【０００２】
電子システムにおいては、種々のサブシステム要素をデータ経路を用いて接続する必要がある。フィールド・プログラム可能ゲートアレイ（ＦＰＧＡ）のような論理装置は、以前から種々の方法でマイクロプロセッサと接続されて来た。典型的にはＦＰＧＡは標準バス（例えばＰＣＩバス）を用いてプロセッサと接続された。
【０００３】
最近の技術は中央プロセッサユニット（ＣＰＵ）ノードを再構成可能接続（ＲＣＣ）ノードに入出力バスを用いて接続する構造を有する。ＣＰＵノードはプロセッサを有し、ＲＣＣノードはＦＰＧＡからなる。通常ソフトウエア実装プロセスがＣＰＵ内で実行され、ハードウエア実装タスクがＦＰＧＡ内で実現される。この形式の構造は、多くのデータをやりとりする必要があり、そのためプロセッサと論理装置の間を入出力バスを介してデータが行ったり来たりするという本質的な欠点を有する。その結果入出力バスにボトルネックが生じ、これらの装置間の実質的通信速度が低下する。
【０００４】
またこの形式の構造は、通信オーバーヘッドの一般的な問題も欠点として持つ。通信オーバーヘッドの存在は、プロセッサとＦＰＧＡ間のデータ及び結果の移動のために要する時間をかなり長くする。加えてＦＰＧＡ内で実行される処理に必要な時間は、ＦＰＧＡとプロセッサ間でのデータ及び結果の移動を待つ時間よりかなり小さい。これはＦＰＧＡをかなりの時間にわたってアイドル状態にし、その結果その待ち時間中の利用を妨げる。従って、処理中のＦＰＧＡの能率が損なわれる。この問題を克服する１つの選択肢はより高速のバスを開発することである。しかしながら、プロセッサとＦＰＧＡ間のデータ及び結果の移動をするためのより高速のバスを開発することは、簡単なことではない。
【０００５】
ＦＰＧＡとプロセッサ間の通信速度を増加するもう１つの提案は、プロセッサとＦＰＧＡを共通の基板内に製造することである。これは実際上、装置提供技術の情勢的提案である。しかしながら、これは放射線に曝される電子装置に可能な製作技術における制限のため、宇宙空間に基づく電子装置実装に対しては現在実現性が無い。再度この結果を成し遂げるための基礎的半導体プロセスの進歩も簡単なことではない。
【発明の開示】
【発明が解決しようとする課題】
【０００６】
上述の理由と、本願明細書を読んで理解することによって当業者に分るであろう以降の他の理由によって、論理装置とプロセッサを接続してシステム性能を向上させるための進歩した方法及び構造の技術の必要がある。
【課題を解決するための手段】
【０００７】
論理装置とプロセッサとの接続の上述の問題が本発明の実施例によって扱われ、以下の記述を読んで調べることによって理解できる。本発明の実施例は、プロセッサと論理装置間のデータ及び結果の移動における遅延の問題を扱う。本発明の実施例は、改善したデータ転送をするためにプロセッサと論理装置間の密結合の接続を、規格品の構成要素を用いて達成する。
【０００８】
１つの実施例では、プロセッサと論理装置及び共有記憶装置を有し、プロセッサが共有記憶装置を介して論理装置と接続され、プロセッサと論理装置間をデータ及び結果が共有記憶装置を通して渡されるシステムが提供される。
【０００９】
以下の好適な実施例の説明において、その部分から関連する図面を参照するが、この図面は本発明の特定の実施例を例示するためであることを理解されたい。他の実施例も利用可能であり本発明の範囲から離れずに構造的変更を行うことも可能である。本願明細書の目的に対して、用語「直接接続」は２つの構成要素がバス無しに、例えば複数の装置間の共通の経路やチャネル無しに相互に接続されることを意味する。
【００１０】
図１は一般的に１００で表わされた、中央処理ユニット（ＣＰＵ）ノード１１０及び再構成可能計算（ＲＣＣ）ノード１２０を有するアーキテクチャのシステムの１つの実施例を示す。１つの実施例において、ＣＰＵノード１１０及びＲＣＣノード１２０は同一のカード上に実装される。１つの実施例において、ＲＣＣノード１２０はデュアルインライン記憶モジュール（ＤＩＭＭ）内に含まれる。１つの実施例において、中央処理ユニットノード１１０はプロセッサ１０２、システム制御装置１０４及び記憶装置１０５を含む。１つの実施例において、記憶装置１０５はセグメント化記憶装置であってＲＡＭ、ＲＯＭ又はフラッシュメモリーのような関連する記憶装置１０３と、デュアルポート記憶装置（ＤＰＭ）のような共有記憶装置１０６とを含む。共有記憶装置１０６を実装するために記憶装置１０５の部分を用いることによって、システム１００はシステム制御装置１０４及びマイクロプロセッサ１０２内の既存の記憶装置インターフェース能力を有利に再利用する。１つの実施例において、記憶装置１０５は放射線耐性である。１つの実施例において、ＲＣＣ１２０は論理装置１０８を含む。１つの実施例において、論理装置１０８はフィールド・プログラム可能ゲートアレイ（ＦＰＧＡ）からなり、ハードウエアで特定の機能を実行するようにされている。
【００１１】
１つの実施例において、システム制御装置１０４はマイクロプロセッサ１０２に対する支持装置である。システム制御装置１０４は通常多くの機能を実行し、それには記憶装置インターフェース制御装置、割り込み多重化、入出力（Ｉ／Ｏ）バスインターフェース、等を含む。この状況において、システム制御装置１０４はプロセッサ１０２に対する記憶装置制御装置として機能し、それによってマイクロプロセッサ１０２のデータ及び命令記憶装置へのアクセスを促進する。システム制御装置は一般的に特定のマイクロプロセッサの配置を支持する「チップセット」の一部として利用可能である。
【００１２】
加えてシステム制御装置１０４は、マイクロプロセッサ１０２上のソフトウエアに制御ワードを個別のＩ／Ｏ１１２を介して論理装置１０８と通信する事を許す、個別の信号レジスタを実装する。特にシステム制御装置１０４は個別の信号レジスタを用いて、論理装置１０８に信号して共有記憶装置１０６内でデータを処理することを要求する。共有記憶装置１０６はメモリー１０５内の多数のメモリーバンクの内の１つであり得るので、システム制御装置１０４の使用は論理装置１０８への新型のインターフェースの必要をなくす。
【００１３】
プロセッサ１０２は特定用途或いは汎用のプロセッサ、マイクロプロセッサ、マイクロ制御装置などのいずれでも良い。プロセッサ１０２はプログラム可能であり、マシン内或いは関連するメモリー１０３のようなコンピュータ可読な媒体内に記憶された命令で動作する。
【００１４】
１つの実施例において、プロセッサ１０２と論理装置１０８は一緒に動作しシステム１００のための特定の機能を実行する。これは多くの場合、プロセッサ１０２と論理装置１０８がデータを共有するか又は共通のデータを操作することを必要とする。有利なことには、このデータがプロセッサ１０２と論理装置１０８間のバス上におかれることを除去することによって、このデータはこれらの装置間を共有記憶装置１０６を介して行き来する。
【００１５】
システム１００には個別のＩ／Ｏ１１２も含まれ、これがＦＰＧＡに、追加の処理が必要なデュアルポート記憶装置内でデータが利用可能であることを信号する。同様に、結果がデュアルポート記憶装置内でアクセス可能である時、ＦＰＧＡは個別のＩ／Ｏを用いてプロセッサ１０２に信号する。
【００１６】
１つの実施例において、システム１００は規格品の放射線耐性構成要素を用いて作られる。規格品の構成要素を用いることは、より高速のバスを設計したりプロセッサ及び論理装置を同じウエハ上に集積することを許すための新しい作成技術を開発する必要なく、データの高速通信を許す。
【００１７】
一般的に、システムの動作中ある機能はプロセッサ１０２内で実行され他の機能は論理装置１０８内で実行される。アプリケーションとアルゴリズムは、ソフトウエア実装プロセスはＣＰＵ１０２内で実行され、ハードウエア実装タスクは論理装置１０８内で実行されるような方法で分離される。ＣＰＵノード１１０及びＲＣＣノード１２０はデュアルポート記憶装置（ＤＰＭ）１０６である共有資源を共有する。データと結果はＩ／Ｏバスを用いてでなくデュアルポート記憶装置１０６を介してやりとりされる。データの単一のコピーがＣＰＵノード１１０とＲＣＣノード１２０によって共有される。加えて同一の実行タスクに対して、データがＣＰＵノード１１０からＲＣＣノード１２０へ移動するための時間は、この設計の場合通常のＩ／Ｏバスアーキテクチャを用いる設計に比較して少なくとも５０パーセント削減される。プロセッサ１０２があるデータを生成した時、論理装置１０８は同時にそのデータを読むことが出来る。これは個別のＩ／Ｏ１１２を用いてＣＰＵノード１１０とＲＣＣノード１２０との間で、ある形式のハンドシェーキングを用いることによって成し遂げられる。
【００１８】
１つの実施例において、システム制御装置１０４は、ハードウエア又はソフトウエアで実装される個別のＩ／Ｏ１１２を用いて論理装置１０８に接続される。個別Ｉ／Ｏはシステム制御装置１０４と論理装置１０８間の必要なハンドシェーキングを提供し、データが共有記憶装置１０６内にあることを示す。これは共有記憶装置１０６内のデータと結果のコピー及び読み出しを調整するために必要である。１つの実施例において、ＦＰＧＡのような論理装置１０８は、データがシステム記憶装置内にプロセッサ１０２によって生成されコピーされるのと同時に、共有記憶装置１０６からそのデータを処理のために取り出すことができる。
【００１９】
図２ａは共有記憶装置を用いて論理装置に直接接続されたプロセッサからのデータの処理の実行方法の１つの実施例の流れ図２００である。図２ａの方法はブロック２０２で始まり、更にＦＰＧＡのような論理装置で処理される必要があるデータがプロセッサで生成される。この機能を実行するために、ブロック２０４でデータは、例えばシステム制御装置を用いて共有記憶装置内にコピーされる。ブロック２０６で、論理装置はデータをその上で必要な処理を実行するために読み出す。１つの実施例において、記憶されたデータはそのデータが共有記憶装置内にコピーされると同時に読み出される。ブロック２０８で、データは論理装置内で処理される。
【００２０】
図２ｂは共有記憶装置を用いてプロセッサに直接接続された論理装置からの結果の処理の実行方法の１つの実施例の流れ図２２０である。ブロック２０８における論理装置でのデータの処理に続いて、ブロック２１０で結果が論理装置で生成される。これらの結果はプロセッサへ運ばれなければならない。この機能を実行するために、結果はブロック２１２に示されるように、共有記憶装置内にコピーされる。最後にプロセッサがブロック２１４に示されるように、結果を共有記憶装置から読み出す。１つの実施例において、プロセッサは記憶された結果を、その結果が共有記憶装置内にコピーされると同時に読み出す。
【００２１】
１つの実施例において、上述のアーキテクチャは、アナログ−デジタル及びデジタル−アナログ変換のような外部インターフェースにＦＰＧＡを接続する事による応用で用いることが出来る。１つの実施例において、ＦＰＧＡはハードウエア内に実装されたオペレーティングシステムをホストする。オペレーティングシステムがＦＰＧＡ上に在り、プロセッサ１０２の削減された合計時間を用いるために、これは非常に低いオーバーヘッドのコンテクストスイッチングを許すであろう。
【００２２】
本願発明の実施例を説明した。１つの実施例は共有記憶装置を用いて論理装置とプロセッサとを接続するアーキテクチャを提供する。この実施例はデータ及び結果がプロセッサの記憶装置と論理装置との間を移動するための時間を削減する。
【００２３】
この明細書においては特定の実施例が例示され説明されたが、この特定の実施例の示すのと同様の目的を実現するために当業者が任意の修正で置き換え得ることは明らかであろう。この出願は本願発明の任意の翻案や変形をも包含することを意図するものである。
【図面の簡単な説明】
【００２４】
【図１】図１はプロセッサと論理装置がシステム記憶装置で直接接続されている接続構造の実施例を示す図である。
【図２Ａ】図２Ａは共有記憶装置を用いて論理装置と直接接続されているプロセッサからのデータ処理の動作方法の実施例の流れ図である。
【図２Ｂ】図２Ｂは共有記憶装置を用いてプロセッサと直接接続されている論理装置からの結果処理の動作方法の実施例の流れ図である。
【図３】図３はプロセッサ及び論理装置間の命令、データ及び結果の取り扱い方法の実施例の流れ図である。
【図１】
2008503806.tif 000003
【図２Ａ】
2008503806.tif 000004
【図２Ｂ】
2008503806.tif 000005
【図３】
2008503806.tif 000006
【国際調査報告】
2008503806.tif 000007
2008503806.tif 000008
2008503806.tif 000009