説明

アイソレーションメモリバッファを組み込んだロードリデュースド・デュアル・インライン・メモリ・モジュール(LR−DIMM)を利用したスイッチ/ネットワークアダプタ・ポートインターフェースを含むヘテロジニアスコンピューティングシステム

【課題】アイソレーションメモリバッファを組み込んだLR−DIMMを利用したスイッチ/ネットワークアダプタ・ポートインターフェースを含むヘテロジニアスコンピューティングシステムを提供する。
【解決手段】コンピュータシステム100は、少なくとも1つの高密度ロジックデバイス106及びメモリバスに高密度ロジックデバイスを接続するコントローラを備える。複数のメモリスロットがメモリバスと接続され、アダプタポートが複数のメモリスロットのうちの少なくとも一部と関連付けられ、アダプタポートの各々は、関連付けられたメモリリソースを含む。ダイレクト・エクセキューション・ロジック要素108は、アダプタポートのうちの少なくとも1つと接続される。メモリリソース110は、少なくとも1つの高密度ロジックデバイス及びダイレクト・エクセキューション・ロジック要素によって、選択的にアクセス可能である。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、概して、再構成可能コンピューティングの分野に関する。より詳細には、本発明は、アイソレーションメモリバッファを組み込んだロードリデュースド・デュアル・インライン・メモリ・モジュール(LR−DIMM)を利用したスイッチ/ネットワークアダプタ・ポートインターフェースを含むヘテロジニアスコンピューティングシステムに関する。
【0002】
[関連出願]
本発明は、2010年11月5日出願の米国仮出願61/410,676号明細書の優先権を主張するものであり、前記出願の内容は、参照により本明細書に組み込まれる。
【背景技術】
【0003】
SRC Computers LLC(エス・アール・シー・コンピュータズ社)が登録商標権を所有するスイッチ/ネットワーク・アダプタポートSNAP(登録商標)インターフェースは、市販のマイクロプロセッサボードを、エス・アール・シー・コンピュータズ社製の再構成可能(reconfigurable)MAP(登録商標)プロセッサ及び特定のSRC(登録商標)システムを含むマルチポート共通メモリ(MPCM)ノードに接続し、これらとメモリを共有することを可能にする。SNAPインターフェースを使用して、I/Oサブシステムの替わりに、マイクロプロセッサのメモリサブシステムを接続することにより、SRCシステムは、非常に大きな接続帯域幅を維持することができる。また、SNAPインターフェースは、インテリジェントなダイレクト・メモリ・アクセス(DMA)コントローラを含み、直接1つのMAPプロセッサと接続することができる、又は、システム全体に渡る複数のMAPプロセッサ、マイクロプロセッサ又はMPCMへのアクセスのためのSRC Hi−Bar(登録商標)スイッチと接続することができる。SNAPインターフェースは、市販のマイクロプロセッサボード上で、DIMMコネクタに直接プラグで接続されるように設計されている。組み込みアプリケーションの場合、所望の枠内に収まるように、SNAPインターフェースのフォームファクターを変更してもよい。(SNAP(登録商標)、MAP(登録商標)、SRC(登録商標)及びHi−Bar(登録商標)は、本発明の譲受人であるSRC Computers LLCの登録商標である。)
【0004】
SNAPインターフェースについては、例えば、SRC Computers LLCに譲渡された以下のような米国特許明細書に記載されている。米国特許第6,996,656号"System and Method for Providing an Arbitrated Memory Bus in a Hybrid Computing System(ハイブリッドコンピューティングシステムにおける調停メモリバスを提供するシステム及び方法)"、米国特許第7,124,211号"System and Method for Explicit Communication of Messages Between Processes Running on Different Nodes in a Clustered Multiprocessor System(クラスタ化されたマルチプロセッサシステム内の異なる複数のノードで実行されるプロセス間のメッセージの明示的通信のためのシステム及び方法)"、米国特許第7,197,575号"Switch/Network Adapter Port Coupling a Reconfigurable Processing Element to One or More Microprocessors for use with Interleaved Memory Controllers(インターリーブメモリコントローラを使用した、1以上のマイクロプロセッサと再構成可能処理要素とを接続するスイッチ/ネットワーク・アダプタポート)"、米国特許第7,373,440号"Switch/Network Adapter Port for Clustered Computers Employing a Chain of Multi-Adaptive Processors in a Dual In-Line Memory Module Format(デュアルインラインメモリモジュールフォーマットにおけるマルチアダプティブプロセッサのチェーンを採用したクラスタ化コンピュータのためのスイッチ/ネットワーク・アダプタポート)"、米国特許第7,406,573号"Reconfigurable Processor Element Utilizing Both Coarse and Fine Grained Reconfigurable Elements(コア及び細粒度再構成可能要素の両方を利用した再構成可能プロセッサ要素)"、米国特許第7,421,524号"Switch/Network Adapter Port for Clustered Computers Employing a Chain of Multi-Adaptive Processors in a Dual In-Line Memory Module Format(デュアルインラインメモリモジュールフォーマットにおけるマルチアダプティブプロセッサのチェーンを採用したクラスタ化コンピュータのためのスイッチ/ネットワーク・アダプタポート)"、米国特許第7,424,552号"Switch/Network Adapter Port Incorporating Shared Memory Resources Selectively Accessible by a Direct Execution Logic Element and One or More Dense Logic Devices(ダイレクト実行ロジック要素及び1以上の高密度ロジックデバイスによって選択的にアクセス可能な共有メモリリソースを組み込んだスイッチ/ネットワーク・アダプタポート)"、米国特許第7,565,461号"Switch/Network Adapter Port Coupling a Reconfigurable Processing Element to One or More Microprocessors for use with Interleaved Memory Controllers(インタリーブされたメモリコントローラを備える1以上のマイクロプロセッサと再構成可能処理要素とを接続するスイッチ/ネットワーク・アダプタポート)"、米国特許第7,680,968号"Switch/Network Adapter Port Incorporating Shared Memory Resources Selectively Accessible by a Direct Execution Logic Element and One or More Dense Logic Devices in a Fully Buffered Dual In-Line Memory Module Format (FB-DIMM)(完全にバッファされたデュアル・インライン・メモリ・モジュールフォーマット(FB−DIMM)における、ダイレクト実行ロジック要素及び1以上の高密度実行ロジック要素によって選択的にアクセス可能な共有メモリリソースを組み込んだスイッチ/ネットワーク・アダプタポート)。これら特許文献に開示された内容は、参照により本明細書に組み込まれる。
【0005】
全ての信号線がバッファされる新しいメモリ技術として、近年、LR−DIMMが導入されている。これは、完全バッファDIMM(FB−DIMM)から発展した技術であり、アドレス、クロック及び制御信号が、レジスタを介してバッファされる登録DIMM(registered DIMM: RDIMM)と同様な態様で機能する。しかしながら、RDIMMとの基本的な違いは、LR−DIMMは、双方向ドライバを介してデータ線もバッファする点である。LR−DIMMの基本及びアーキテクチャについては、例えば、カリフォルニア、サンタクララに本社を置くInphi Corporationから入手可能なホワイトペーパー"Increasing Computing Platform Efficiency Through Innovative Memory Architecture(革新的なメモリアーキテクチャを通じたコンピューティングプラットフォーム効率の改善)"及び"Introducing LRDIMM - A New Class of Memory Modules("LRDIMMの導入−メモリモジュールの新しい分類")に記載されている。これらのホワイトペーパーの開示は、参照により本明細書に組み込まれる。
【発明の概要】
【0006】
大容量の高速SDRAMメモリに接続するマイクロプロセッサベースのコンピュータシステムの必要性は、利用可能なプロセッサコアの数が増加している現在、かつてないほど高まっている。しかしながら、SDRAMコンポーネントのスピード及び接続が増加し続けるにつれ、信頼性高く相互接続することができるデバイスの数が減ってきている。これまでも幾つかの対策が試みられているが、この問題に対処し続ける必要がある。マイクロプロセッサ(高密度ロジックデバイス(dense logic device:DLD)及びエス・アール・シー・コンピュータズ社のMAPプロセッサのようなダイレクト・エクセキューション・ロジック(DEL)の両方を利用するコンピュータシステムにおいて、本発明のスイッチ/ネットワーク・アダプタポート・インターフェースは、市販されているLR−DIMMのアイソレーションメモリバッファを有利に利用する。
【0007】
既存のSNAPインターフェースと関連して現在使用されている高速電界効果トランジスタ(FET)スイッチの替わりに、LR−DIMMメモリバッファを使用すると、数多くの有益な効果が生じる。例えば、メモリバッファは物理的な大きさが小さく、又は、メモリバッファによって使用されるパッケージも小さくなることから、SNAPインターフェースのボードレイアウトを単純化することができ、信号品位を改善させることができるため、安価なパッケージで高速オペレーションが可能となる。また、1つの中央デバイスが存在するため、複数のFET制御線の替わりに1つのイネーブル線を敷設すればよく、ボード上の信号経路を簡単にすることができる。
【0008】
LR−DIMMデバイスのアイソレーションメモリバッファは、高速メモリバスのセグメント化及び複製を提供するように設計されており、メモリバッファの3ステート(tri-state)機能により、FETがオン/オフするよりも高速に起動することができる。したがって、従来のFETスイッチで達成できる速度よりも速い、共有メモリの受け渡し(ハンドオフ)を実現することができる。また、LR−DIMMメモリバッファの分離(isolation)効果により、システム内のプライベートメモリ領域の数を増大させる手段を提供する。そして、アイソレーションメモリバッファの出力3ステート機能により、複数のバッファに接続されたデバイスが、共有メモリSNAPインターフェースの核となるコンセプトである、同じメモリコンポーネントへのアクセスを可能とする。
【0009】
このように、高速オペレーションにより、マイクロプロセッサが、SNAPインターフェースを利用するために、特別なコードを実行する又は特別なファームウェアを使用する必要がなくなる。その結果、本発明のスイッチ/ネットワーク・アダプタポート・インターフェースは、インテル、IBM及びAMD等から入手可能なものを含む様々なマイクロプロセッサアーキテクチャと関連して利用することができる。したがって、様々なベンダのコンピュータプラットフォームにアプリケーションを移植することができる。
【0010】
高速メモリハンドオフにより、マイクロプロセッサ及びMAPプロセッサとの高速なやり取りを必要とするアプリケーションの実行が可能となる。このようなアプリケーションとしては、これに限定されるわけではないが、例えば、コンピュータ援用設計/コンピュータ援用エンジニアリング(CAD/CAE)、債務分析、ビジネス分析、パターン検索(テキスト/データ)、デジタル画像処理、データベース・データ分類、データベースキーハッシュ、システム力学シミュレーション(分子、宇宙論、流体等)、システム機能シミュレーション、システムモデル化、データストリーミング、ネットワークトラフィック分析、ネットワーク侵入検出、非線形偏微分方程式解読、統計分析、正規表現検索/マッチング(テキスト/データ)、クラインアント/サーバーアプリケーション、デジタル信号処理、データ暗号化/解読、データ圧縮/解凍、及び、計算流体力学が挙げられる。
【0011】
高速ハンドオフサイクル時間は、黙示的マイクロプロセッサと明示的MAPプロセッサとの固い結合を生み出し、これら2つの処理の種類の一体化も強化される。黙示的及び明示的処理要素の一体化が改善されることにより、これらのプロセッサが単体で動く場合よりも、高いシステム性能を提供することができる。
【0012】
一体化の改善はまた、エス・アール・シー・コンピュータズ社のIMPLICIT+EXPLICIT(登録商標)アーキテクチャ(SRC Computers社の商標)によって、アムダールの法則(Amdahl's law)に属する障壁を取り除くことができるアプリケーションドメインの数を増加させることになる。これが達成できるのは、明示的MAPプロセッサがアプリケーションの並列部分を達成するのに必要とする処理要素の全体の数を減らすことができると同時に、黙示的マイクロプロセッサがアプリケーションのシリアル部分を達成することができることに因る。
【0013】
本発明のスイッチ/ネットワーク・アダプタポート・インターフェースを使用して構成されたシステムは、標準メモリDIMMも使用することができ、メモリの大きさ、速度及び入手可能性の点で選択肢が広がり、フィールドプログラマブルゲートアレイ(FPGA)のような標準的なDIMMインターフェース又はその他の特殊な処理特定用途向け集積回路(ASIC)を有するあらゆる種類の非メモリデバイスとの接続も可能となる。
【0014】
本明細書に開示する本発明のスイッチ/ネットワーク・アダプタポート・インターフェースは、市販されているLR−DIMMを利用し、この種のメモリをサポートするあらゆるシステムと関連して機能する。また、ランク乗算(rank multiplication)を利用して、明示的及び黙示的プロセッサ両方に対する付加メモリを提供することができる。更に、ランク乗算を使用することにより、メモリの1ランクのみをサポートするシステムも利用される。
【0015】
本明細書では、少なくとも1つの高密度ロジックデバイス(dense logic device)と、少なくとも1つの高密度ロジックデバイスを制御バス及びメモリバスに接続するインターリーブコントローラ(interleaved controller)とを備えるコンピュータシステムを開示する。複数のメモリスロットは、メモリバスに接続され、アダプタポートは、複数のメモリスロットのうちの少なくとも2つと関連付けられ、複数のアダプタポートは、関連付けられたメモリリソースを含む。ダイレクト・エクセキューション・ロジック(direct execution logic)要素は、複数のポートのうちの少なくとも1つと接続されて、メモリリソースは、少なくとも1つの高密度ロジックデバイス要素及びダイレクト・エクセキューション・ロジック要素により選択的にアクセス可能である。
【0016】
また、少なくとも1つの高密度ロジックデバイスと、少なくとも1つの高密度ロジックデバイスを制御バス及び1以上のメモリバスに接続する少なくとも1つのコントローラとを備えるコンピュータシステムを開示する。複数のメモリスロットは、メモリバスの1以上と接続され、1以上のアダプタポートが複数のメモリスロットのうちの少なくとも1つと関連付けられ、1以上のアダプタポートの各々は、関連付けられたメモリリソースを含む。ダイレクト・エクセキューション・ロジック要素は、アダプタポートのうちの少なくとも1つと接続されている。メモリリソースは、少なくとも1つの高密度ロジックデバイス及びダイレクト・エクセキューション・ロジック要素によって、選択的にアクセス可能である。
【0017】
また、少なくとも1つの高密度ロジックデバイスと、少なくとも1つの高密度ロジックデバイスを制御バス及び1ランクのメモリをサポートするメモリバスに接続する少なくとも1つのコントローラとを備えるコンピュータシステムを開示する。アイソレーションメモリバッファは、メモリバスと接続され、複数のメモリバスは、アイソレーションバッファと接続されている。1以上のアダプタポートは、メモリバスと関連付けられており、アダプタポートの各々は、関連付けられたメモリリソースを含む。ダイレクト・エクセキューション・ロジック要素は、アダプタポートのうちの少なくとも1つと接続され、メモリリソースは、少なくとも1つの高密度ロジックデバイス及びダイレクト・エクセキューション・ロジック要素によって選択的にアクセス可能である。
【0018】
本発明の上記の及びその他の特徴及び目的、並びに、これらを達成する態様が以下の明細書の記載で明らかとなり、発明自体も、添付の図面と関連した好ましい実施形態を参照することにより理解されるであろう。
【図面の簡単な説明】
【0019】
【図1】コンピュータ一体化システムを実装可能なシステムの及び本発明の方法をIMPLICIT+EXPLICTアーキテクチャの形式で示した代表的な実施形態のハイレベルブロック図である。
【図2】フィールド・プログラマブル・ゲート・アレイを使用した1つ前の図における明示的デバイスとして使用される再構成可能ダイレクト・エクセキューション・ロジックを含むMAP(登録商標)プロセッサの機能ブロック図である。
【図3】市販のマイクロプロセッサ及び最大3つのMAPプロセッサのような高密度ロジックデバイスのサポートを提供するマルチポート共有メモリの機能ブロック図である。
【図4】1つのMAPプロセッサMAPstation(登録商標)の機能ブロック図である。
【図5】マルチポート共有メモリモジュールを介して相互接続される図2のMAPプロセッサのうちの3つを含むMAPstationシステムの機能ブロック図である。
【図6】メモリバッファを有するロードリデュースド・デュアル・インライン・メモリ・モジュール(LR−DIMM)を単純化して示した図である。
【図7】汎用マイクロプロセッサベースのコンピュータシステムにおけるダイレクト・エクセキューション・ロジックを組み込んだ本発明に係るスイッチ/ネットワーク・アダプタポート・インターフェースを含むコンピューティングシステムの代表的な実施形態を示したブロック図である。
【図8】マイクロプロセッサによってアクセスされるLR−DIMMのうちの1つをスイッチ/ネットワーク・アダプタポート・インターフェースで置き換えた本発明の実施形態に係るスイッチ/ネットワーク・アダプタポート・インターフェースを含むコンピューティングシステムの別の代表的な実施形態を示したブロック図である。
【図9】LR−DIMMのランク乗算機能を利用して、スイッチ/ネットワーク・アダプタポート・インターフェースを1ランクのメモリのみをサポートするマイクロプロセッサと接続可能にする本発明に係るスイッチ/ネットワーク・アダプタポート・インターフェースを含むコンピューティングシステムの別の代表的な実施形態を示したブロック図である。
【発明を実施するための形態】
【0020】
図1は、コンピュータ一体化システムを実装可能なシステム100及び本発明の方法をIMPLICIT+EXPLICTアーキテクチャの形式で示した代表的な実施形態のハイレベルブロック図である。
【0021】
システム100は、関連する部分において、例えば、フォートラン(Fortran)又はCプログラミング言語で、アプリケーションソースファイルを入力可能とするCarteプログラミング環境104を通じて、一体化実行可能構成102が生成される。黙示的(implicit)デバイス106及び明示的(explicit)デバイス108は、以下に詳細に説明するCarteプログラミング環境を介してプログラムされ、両デバイスはこの環境と接続して、共有メモリ110へのアクセスを提供する。
【0022】
このようなアーキテクチャでは、明示的及び黙示的プロセッサ106、108は、共有メモリ110の形式でのシステムメモリコンテンツへのアクセスを提供する能力を有する観点では、ピアデバイスである。このような態様により、同じプログラム上で両種類のプロセッサが共に動作することに起因するオーバヘッドを最小にすることができる。そして、SRCCarteプログラミングツールにより、制御を渡すことによる不利益を考慮することなく、アプリケーション全体の所定の部分に最適な方の種類のプロセッサを利用することが可能となる。
【0023】
黙示的デバイス106は、高密度ロジックデバイス(Dense Logic Device:DLD)とも称される場合があり、マイクロプロセッサ、デジタル信号プロセッサ、及び、ASICの一部を含む構成要素の一群を包含する。これらの処理要素は、全て黙示的に制御され、典型的には、ユーザーによって変更されない固定ロジックで構成されている。これらのデバイスは、所定の接続及び機能を有する固定ロジックにおいて、段階的な態様でソフトウェア指示命令(software-directed instruction)を実行する。
【0024】
一方、明示的デバイス108は、ダイレクト・エクセキューション・ロジック(DEL)と称される場合があり、明示的に制御されて典型的には再構成可能な構成要素の一群を包含する。このような構成要素として、FPGA、フィールド・プログラマブル・オブジェクト・アレイ(FPOA)及びコンプレックス・プログラマブル・ロジック・デバイス(CPLD)が含まれる。特定のコードにおける並列処理の特性を最大にするための、所望のコンピュータプリフェッチ及び/又はデータアクセス機能を実装するべく、構成要素のセットにより、選択された機能ユニット間の最適化された接続を確立させるプログラムを可能とする。
【0025】
黙示的デバイス106(DLD)及び明示的デバイス108(DEL)処理要素の両方は、ピアとして、同じ態様で又は別の態様で、共有システムメモリ(例えば、共通メモリ110)と接続され、データ共有は明示的態様で実装することができることから、接続は、キャッシュコヒーレンシをサポートすることを要求されない。
【0026】
明示的デバイス108のDELコンピューティングは、ダイナミックロジックを使用し、1つのサイズが全てに適合しなければならない固定マイクロプロセッサアーキテクチャにアプリケーションが合わせるというよりも、アプリケーションに適合するロジックを使用する。これにより、機能ユニットの正確性及びコードにおける並列性の点において、特定のコードに対する最も効率的な回路を提供することができる。このようにして得られるのが、所定のコードを使用して発展させることが可能であり及び/又は異なるコードを扱う第2部分の一部として再プログラム可能な、ダイナミック・アプリケーションスペシフィック・プロセッサ(動的特定用途向けプロセッサ)である。DELコンピューティングは、特定用途コンピュータの性能及び経済的な汎用機械をユーザーに提供する。
【0027】
エス・アール・シー・コンピュータズ社製の現在の汎用コンピュータシステムには、SRC−7製品ラインとして、MAPstation(登録商標)ワークステーション(エス・アール・シー・コンピュータズ社の登録商標)、高性能ラックベースのシステム及び航空機搭載システムが含まれる。これらのシステムは全て同じ黙示的及び明示的に制御されるシステム構成要素、及び、同じSRCCarteプログラミング環境を使用しており、システム間の完全なアプリケーション移植性を可能としている。
【0028】
Carteプログラミング環境は、プログラマが、黙示的デバイス及び明示的デバイスの両方においてアプリケーションを規定するのにANSI標準フォートラン又はC高級言語を使用可能とすることにより、このようなシステムインテグレーションを可能にしている。Carteプログラミング環境におけるコンパイルからの生成物は、1つの、一体化された、目的のSRCヘテロジニアス(異機種)コンピュータシステムにおいて実行可能な生成物となる。
【0029】
現在入手可能な異機種環境コンピュータシステムでは、低い帯域幅及び高いレイテンシの入出力バスが、FPGAデバイスとCPUとを分離している。SRC IMPLICIT+EXPLICITアーキテクチャは、CPU及びMAPプロセッサが、システムメモリに対してピアとして動作することを可能とすることにより、この制限を排除する。つまり、システムメモリの帯域幅及びレイテンシのみがこれらのデバイスを制限することとなり、SRCシステムにおけるアプリケーションの性能全体を大幅に改善させることができる。標準的な言語、及び、IMPLICIT+EXPLICITアーキテクチャのシステムメモリ特性によってのみ制限される黙示的及び明示的デバイスを使用する一体化プログラミング環境は、今日入手可能なあらゆるワークステーション又はコンピュータクラスタノードでは並ぶものが存在しない程に、利用が容易で高性能なアプリケーションプラットフォームをユーザーに提供できる。
【0030】
IMPLICIT+EXPLICITアーキテクチャは、ユーザーが、現存のコードを実行する又は容易に再コンパイルすることを可能にして、システムの再構成可能MAPプロセッサの力を利用して新しいコードを開発することができるようになる。このハードウェア及びソフトウェアアーキテクチャは、マイクロプロセッサ技術と再構成可能MAPプロセッサとを統合して、性能及び消費電力低減の桁違いの改善をもたらすことができる。SRCCarteプログラミング環境は、コードのマイクロプロセッサ部分と再構成可能プロセッサ部分の協働というプログラマが面してきた歴史的課題を解決した。
【0031】
IMPLICIT+EXPLICITアーキテクチャは、1つのMAPstationワークステーション又は組み込みシステムから、Hi−Barスイッチベースの構成のクラスタにわたる範囲のシステムにおいて利用可能であり、これらについては以下に詳述する。これらの構成の全ては、同じ基本ハードウェア及びソフトウェアの構成要素を使用することから、コードの完全な相互運用性を提供できる。
【0032】
図2は、フィールド・プログラマブル・ゲートアレイを使用した1つ前の図における明示的デバイスとして使用される再構成可能ダイレクト・エクセキューション・ロジックを含むMAPプロセッサ200の機能ブロック図である。
【0033】
MAPプロセッサ200は、関連する部分において、双方向にMAPプロセッサ200を、別のプロセッサモジュール又はHi−Barスイッチポートへと接続するためのコントローラ202を含む。例えば、各々が1GBのスタティックランダムアクセスメモリ(SRAM)である一組の高速オンボード共有メモリアレイ(OBCM)が、利用可能な帯域幅4.2GB/秒を有するバスによってそれぞれ、コントローラ202と双方向接続される。一組のFPGA206(FPGA1及びFPGA2)は、帯域幅14.4GB/秒を有する双方向バスを介してコントローラに接続され、また、帯域幅4.8GB/秒を有するバスによって互いに接続される。FPGA206はまた、帯域幅19.2GB/秒を有するバスによって、約64MBのオンボードメモリアレイ(OBM)208と双方向接続されると同時に、帯域幅12.0GB/秒の帯域幅を有する双方向バスを介して汎用I/O(GPIOX)ポートとも接続される。
【0034】
MAPプロセッサ200は、構成のDELプロセッサを含む。MAPプロセッサ200は、FPGA206の形態で再構成可能構成要素を利用し、制御及びユーザー規定の計算、データプリフェッチ及びデータ機能の両方を達成する。この計算機能は、非常に広帯域幅の、オン及びオフボード接続と組み合わせられる。MAPプロセッサ200は、SRAMオンボードメモリ204の複数のバンクを使用して、ローカルメモリ帯域幅19,200MBs/秒を提供する。MAPプロセッサ200は更に、入力ポート及び出力ポートのセットを2つ含み、各ポートは、データペイロード帯域幅3600MB/秒を維持する。MAPプロセッサ200はまた、システム内のあらゆるプロセッサによってアクセス可能なSDRAMのグローバル共有される共通メモリの2つのバンクを有する。MAPプロセッサ200はそれぞれ、MAPプロセッサ200がMAPプロセッサ200接続を命令する又はデータ入力を検出するための、最大12.0GB/秒の更なるデータペイロードを維持するGPIOXポートを有する。
【0035】
明示的デバイスは、MAPプロセッサ内200に収容される。これらのデバイスには、例えば、互いに直接アクセス可能な2つの150MHzのAltera Stratix(登録商標)II EP2S180 FPGA206、64MBオンボードメモリ(OBM)208、GPIOXポート、及び、インターフェースコントローラ202が含まれてもよい。インターフェースコントローラ202は、その他のプロセッサモジュール及び2GBのオンボード共有メモリ(OBCM)204へのアクセスを提供する。MAPプロセッサ200とその他のプロセッサモジュールとの間の、維持される全ペイロード帯域幅は、各ポートのペア毎に、14.4GB/秒、又は、7.2GB/秒である。
【0036】
SDRAM OBM208は、16個の独立した64ビットメモリ参照を、FPGA206にクロックサイクル毎に提供する。これにより、OBM208とFPGA206との間の最大帯域幅19.2GB/秒を実現している。アプリケーションの明示的に部分に対するデータは、プログラマによってOBM208に割り当てられ、OBM208とFPGA206との間の実際に達成可能な帯域幅は、アプリケーションの必要条件によって決められてもよい。
【0037】
OBCM204の2つのバンクが提供されることにより、プログラマは、アプリケーションに対するデータ局所性の第3レベルを規定することが可能となる。データ局所性の第2レベルは、OBM208であり、第1レベルは、FPGA206内部メモリである。一般的に、大きなアプリケーションデータセットはここに格納されて、好適なデータサブセットは、処理のためにOBM208(又は直接ロジックに)移動される。これらOBCM204バンクは、MAPプロセッサ200ベースのコンピュータシステムにおけるグローバル共有メモリ空間の一部分である。
【0038】
GPIOXポートは、最大12.0GB/秒までの、外部デバイス(例えば、カメラ、A/Dコンバータ、センサ等)へのアクセスを提供する、又は、その他の複数のMAPプロセッサ200のチェーン化(chaining)を提供する。GPIOXインターフェースは、オープンスタンダードであり、GPIOXハードウェア規格書SWP−011−00に記載されている。
【0039】
図3は、市販のマイクロプロセッサ及び最大3つのMAPプロセッサ200(図2)のような高密度ロジックデバイスのサポートを提供するマルチポート共有メモリ300の機能ブロック図である。マルチポート共有メモリ(MPCM)300は、関連する部分に、プロセッサモジュールと最大3つのMAPモジュールとの間の相互接続を提供するコントローラ302を含む。図示した実施形態では、マルチポート共有メモリ300はまた、4GB OBCMメモリアレイを一組含む。
【0040】
SRC−7 MAPstationシステムに対するMPCM300アセンブリの各々は、4つの出力ポート及び入力ポートを有する。これらのポートにより、プログラマは、2つの16GB共有メモリバンクにアクセスすることができる。このポートは、1つのマイクロプロセッサモジュール及び最大3つのMAPプロセッサをサポートする。MPCM300モジュール上のインテリジェントDMAコントローラ302は、システムの接続帯域幅を最大限有効に利用するべく、複雑なDMAプリフェッチ、及び、データパッキング、等間隔アクセス及び分散/収集のようなデータアクセスを実行可能である。これらのオペレーションに対しては、同じ接続を利用したキャッシュベースのマイクロプロセッサよりも、接続効率が10倍程度高くなる。入力ポート及び出力ポートの各々は、1ビットエラー訂正及び2ビットエラー検出(Single Error Correction and Double Error Detection :SECDED)を各ポートに実装した場合、少なくとも3.6GB/秒のデータペイロードを維持する。
【0041】
図4は、1つのMAPプロセッサMAPstation400の機能ブロック図である。MAPstation400は、図2を参照して上記で説明したMAPプロセッサ404と接続されるGPIOXポート402を含む。MAPプロセッサ404は、プロセッサ410のメモリ空間408に直接接続されているSNAP(登録商標)ポート406(エス・アール・シー・コンピュータズ社の登録商標)と相互接続されている。
【0042】
SRC−7 MAPstationシステムのこの構成は、1つのマイクロプロセッサモジュール410、及び、直接相互接続を有する1つのMAPプロセッサ404を収容する。このシステムは、MPCMモジュール300(図3)を収容しないことから、1つのMAPモジュールのみが設置されてもよい。
【0043】
MAPstationにおいて使用される黙示的DLDは、通常、複数の市販のプロセッサのうちの1つである。これら第3者の市販のボードに、SNAP406インターフェースが取り付けられる。SNAPインターフェース406は、市販のマイクロプロセッサボードと、MAPプロセッサ404及びSRCシステムの残りの部分を構成する共有メモリノードとを接続し、これらとメモリを共有する。SNAP406モジュールは、マイクロプロセッサマザーボード上でDIMMコネクタに直接プラグ接続されてもよく、I/Oサブシステムの替わりに、マイクロプロセッサ410のメモリサブシステム408内で直接機能するため、システムは、非常に高い接続帯域幅及びI/Oベースの接続よりも低いレイテンシを維持することができる。SNAP406インターフェースは、別個の入力経路及び出力経路を使用し、各経路は現在のところ、3.6GB/秒のデータペイロード帯域幅を維持している。
【0044】
SNAP406モジュールを使用して、I/Oサブシステムの替わりにマイクロプロセッサ410メモリサブシステム408に接続することにより、システムは、非常に高い接続帯域幅を維持することができる。SNAP406モジュールは、別々の入力ポート及び出力ポートを使用し、各ポートは、3.6GB/秒のオーダーであって最高7.2GB/秒のデータペイロード帯域幅を維持する。SNAP406インターフェースは、1つのMAPプロセッサ又はHi−Bar(登録商標)スイッチのうちのどちらか一方と直接接続することができ、複数のMAPプロセッサ、その他のマイクロプロセッサ又は共有メモリへのシステム全体にわたるアクセスを提供する。
【0045】
図5は、マルチポート共有メモリモジュールを介して相互接続される図2のMAPプロセセッサのうちの3つを含むMAPstationシステム500の機能ブロック図である。MAPstationシステム500は、図3に示したようなマルチポート共有メモリ(MPCM)504と接続される最大3つのMAPプロセッサ502を含む。MPCM504は、図示するように、コントローラ及び関連付けられたメモリアレイ506を含む。MPCM504のプロセッサポートは、例えば、PCIエクスプレスバスインターフェース514を有するプロセッサ512のメモリ510サブシステムと接続されたSNAP508インターフェースと接続されている。MAPstationシステム500が、MPCMモジュールを有するように構成されている場合には、マイクロプロセッサモジュールに加えて、最大3つのシリーズH MAPプロセッサ502を有してもよい。メモリ506を含む2つのOBCMバンクは、最大16GBのSDRAMでポピュレートされてもよい。
【0046】
図6は、メモリバッファを有するロードリデュースド・デュアル・インライン・メモリ・モジュール(LR−DIMM)600をメモリバッファ602を含め単純化して示した図である。LR−DIMM600モジュールは、モジュールに搭載されたメモリバッファ602及びモジュールの両サイドに搭載されたDRAM604の複数のアレイを含む。メモリバッファ602は、コマンド、クロック信号及びアドレス信号並びにホストメモリコントローラからのデータの全てを再起動(re-drive)するべく機能する。メモリバッファ602は、機能的にDRAM604をホストから分離して、電気的負荷を低減させ、その結果、コンピュータシステムが所定のメモリ容量に対して高速で動作することを可能としている。
【0047】
図7は、汎用マイクロプロセッサベースのコンピュータシステム700におけるダイレクト・エクセキューション・ロジックを組み込んだ本発明に係るスイッチ/ネットワーク・アダプタポート・インターフェースを含むコンピューティングシステムの代表的な実施形態を示したブロック図である。
【0048】
コンピュータシステム700は、LR−DIMMメモリ704にアクセスするマイクロプロセッサ702を含み、LR−DIMMメモリ704は、メモリDIMM706のアレイへアクセスする。MAPプロセッサ710の形態で提供されているダイレクト・エクセキューション・ロジック要素は、SNAPインターフェース708を介して、LR−DIMMメモリ704及びメモリDIMM706の両方にアクセスするべく接続されている。
【0049】
図には、コンピューティングシステムの1つの実現可能な実施形態が示されており、システムは、ダイレクト・エクセキューション・ロジック要素(MAPプロセッサ710)及び1つの高密度ロジックデバイス(マイクロプロセッサ702)によって選択的にアクセス可能なスイッチ/ネットワーク・アダプタポート・インターフェースを含み、これら2つのデバイスはLR−DIMM704を使用して接続されて、高速接続が提供されている。データ及びコマンド情報は、マイクロプロセッサ702とMAPプロセッサ710との間でこのインターフェースを介してやり取りされる。メインDRAMメモリ空間(メモリDIMM706)の一領域を、ダイレクト・エクセキューション・プロセッサ710及びマイクロプロセッサ702の両方が共有することを可能とするような態様でメモリサブシステムを構築することにより、インターフェースが形成されている。
【0050】
これは、領域各々が固有の特性を有する3つの個別の領域に分割されたメインDRAMシステム706メモリを備えることで、有効となる。第1領域は、マイクロプロセッサのオペレーティングシステム(OS)が存在する領域であってもよく、システムメモリと称される。第2領域は、MAPプロセッサ710及びマイクロプロセッサ702によって共有される領域であって、共有メモリセグメントと称されてもよい。第3領域は、2つのプロセッシング要素702、710の間の通信を提供し、情報を制御するのに使用される領域であってもよい。この領域は、LR−DIMM704の3ステート機能として利用され、メモリDIMM706の制御の高速受け渡しを可能とする。
【0051】
この実施形態において、マイクロプロセッサ702は、1つのメモリコントローラ及びメモリDIMM706の1つのセットとの接続を有してもよい。しかしながら、これは必須の構成ではなく、マイクロプロセッサ702は、いかなる数のメモリコントローラを有してもよく、そのうちの1以上が、1以上のSNAPインターフェース708によって共有されてもよい。
【0052】
上記した原理は全体として、LR−DIMM704のアイソレーションメモリバッファを使用して、ダブルデータレート3(DDR3)メモリバスで容易に機能するSNAPインターフェース708を形成することである。この点において、一組のLR−DIMM704メモリバッファが使用されてもよい。一組のメモリバッファうちの一方のアップストリームポートは、システムチップセット又はマイクロプロセッサ702におけるメモリコントローラと接続されていてもよい。他方のメモリバッファのアップストリームポートは、SNAPインターフェース708FPGAに接続されてもよい。また、一組のメモリバッファのダウンストリームポートの少なくとも1つは、メモリチップの共通セットに接続されてもよく、この接続により、共有メモリ領域の基礎が形成されてもよい。他方のメモリバッファのダウンストリームポートは、独立したメモリアレイに接続されてもよく、この接続により、マイクロプロセッサ702又はSNAPインターフェース708に対するプライベートメモリを形成してもよい。アップストリームマイクロプロセッサ702メモリ空間の1ランクが、セットアップされて、SNAPインターフェース708における設定/制御レジスタとして機能してもよい。スタートアップシーケンスは、共有メモリ領域の使用が限定されて、システムOSはこの領域を使用しないような態様で行われる。
【0053】
図8は、マイクロプロセッサによってアクセスされるLR−DIMMのうちの1つをスイッチ/ネットワーク・アダプタポート・インターフェースで置き換えた本発明の実施形態に係るスイッチ/ネットワーク・アダプタポート・インターフェースを含むコンピューティングシステムの別の代表的な実施形態を示したブロック図である。
【0054】
コンピューティングシステム800は、LR−DIMM804及び806と接続されたマイクロプロセッサ802を含み、LR−DIMM806は、システムメモリ808と接続されている。SNAPインターフェース810及び関連付けられたMAPプロセッサ812は、LR−DIMM806及びシステムメモリ808の間のバスと接続されている。この実施形態におけるコンピューティングシステム800では、SNAPインターフェース810を使用して、マイクロプロセッサ802と接続されているLR−DIMMのうちの1つを置き換える。したがって、少なくとも1つのメモリコントローラを有するマイクロプロセッサ802は、LR−DIMM804,806の少なくとも1つのセットと接続され、これらLR−DIMMの1以上を、少なくとも1つのSNAPインターフェース810で置き換えられている。
【0055】
図9は、LR−DIMMのランク乗算機能を利用して、スイッチ/ネットワーク・アダプタポート・インターフェースを1ランクのメモリのみをサポートするマイクロプロセッサと接続可能とする本発明に係るスイッチ/ネットワーク・アダプタポート・インターフェースを含むコンピューティングシステムの別の代表的な実施形態を示したブロック図である。
【0056】
コンピューティングシステム900は、メモリバス904によってLR−DIMM906と接続されたマイクロプロセッサ902を含む。LR−DIMM906は、システムメモリ908、910と接続される。SNAPインターフェース912及び関連付けられているMAPプロセッサ914は、システムメモリ910及びLR−DIMM906と接続されている。
【0057】
コンピューティングシステム900においては、LR−DIMM906メモリバッファのランク乗算機能を使用して、SNAPインターフェース912を、メモリの1ランクのみをサポートするマイクロプロセッサ902システムと接続することを可能としている。これは、1ランク以上のメモリの負荷効果をメモリバスのスピードが許容できないことに起因する、又は、マイクロプロセッサ902の設計制限に起因する。マイクロプロセッサ902ベースのシステムが、メインメモリバスにおいて1ランクメモリのみをサポートすることは通常である。すなわち、メモリバス904は、DIMMの1ランクのみをサポートすることができる。LR−DIMM906のメモリバッファをランク乗算器として採用することにより、SNAPインターフェース912は、自身のメモリセグメント上のメモリバッファと接続される。
【0058】
本名発明の原理が特定のハードウェア及びアーキテクチャを参照して説明されたが、上記の説明は、例示のみを目的として記載されており、本発明の範囲を限定することを目的としていない。特に、上記の説明の教示するところから、当業者であれば、その他の変形例を提案することができることは明らかである。このような変形例は、当業者に周知のその他の特徴を伴い、上記で説明した構成に替えて又は加えて使用されてもよい。本願では、特徴の特定の組み合わせを使用して請求項が構成されているが、本開示の範囲は、当業者にとって明らかな一般化された特徴又は変形例若しくは本明細書に明示的に又は黙示的に開示されている特徴の新規な組み合わせ又は新規な特徴を含み、これらの特徴が、添付の特許請求の範囲の請求項に現時点で記載されている同じ発明に関しているか、及び、本発明が直面する同じ技術的な問題の一部又は全てを解決しているかによって、開示の範囲は限定されない。また、出願人は、本願及び本願から派生する出願における審査過程で、このような特徴及びこのような特徴の組み合わせについて、新しい請求項を生成する権利を有する。
【0059】
本明細書で使用される「備える(comprise)」「備えた(comprising)」という用語及びその派生語は、非排他的包含を意図しており、列挙された特定の要素を備えるプロセス、方法、物品又は装置が、必ずしも、これらの要素のみを含むのではなく、明示的に列挙されてないその他の要素又はこのようなプロセス、方法、物品又は装置に本来備わっているその他の要素をも含み得ることを意味している。本願の記載の何れについても、特定の要素、段階又は機能が、特許請求の範囲に含まれなければならないことを指していると解釈されるべきではなく、本発明の特許性を有する特徴の範囲は、特許請求の範囲の記載によってのみ規定される。また、添付の特許請求の範囲において、"means for+分詞(するための手段)"と明記されていない限り、35.U.S.C.セクション112の第6パラグラフを行使することを意図していない。

【特許請求の範囲】
【請求項1】
少なくとも1つの高密度ロジックデバイスと、
前記少なくとも1つの高密度ロジックデバイスを制御バス及びメモリバスに接続するインターリーブコントローラと、
前記メモリバスと接続された複数のメモリスロットと、
関連付けられたメモリリソースをそれぞれ含み、前記複数のメモリスロットのうちの少なくとも2つと関連付けられているアダプタポートと、
前記アダプタポートのうちの少なくとも1つと接続されているダイレクト・エクセキューション・ロジック要素とを備え、
前記メモリリソースは、前記少なくとも1つの高密度ロジックデバイス及び前記ダイレクト・エクセキューション・ロジック要素によって選択的にアクセス可能であるコンピュータシステム。
【請求項2】
前記複数のメモリスロットは、LR−DIMMメモリモジュールスロットを含む請求項1に記載のコンピュータシステム。
【請求項3】
前記複数のメモリスロット及び前記メモリバスは、1以上のアイソレーションメモリバッファを使用して接続されている請求項1に記載のコンピュータシステム。
【請求項4】
前記アダプタポートは、メモリバッファを有する請求項1に記載のコンピュータシステム。
【請求項5】
少なくとも1つの高密度ロジックデバイスと、
前記少なくとも1つの高密度ロジックデバイスを制御バス及び1以上のメモリバスに接続する少なくとも1つのコントローラと、
前記1以上のメモリバスと接続された複数のメモリスロットと、
関連付けられたメモリリソースをそれぞれ含み、前記1以上のメモリバスと接続されている前記複数のメモリスロットのうちの少なくとも1つと関連付けられている1以上のアダプタポートと、
前記アダプタポートの少なくとも1つと接続されているダイレクト・エクセキューションロジック要素とを備え、
前記メモリリソースは、前記少なくとも1つの高密度ロジックデバイス及び前記ダイレクト・エクセキューションロジック要素によって選択的にアクセス可能であるコンピュータシステム。
【請求項6】
前記1以上のメモリバスと接続された前記1以上のメモリスロットは、少なくとも1つのLR−DIMMメモリモジュールスロットを含む請求項5に記載のコンピュータシステム。
【請求項7】
前記複数のメモリスロット及び前記1以上のメモリバスは、1以上のアイソレーションメモリバッファを使用して接続されている請求項5に記載のコンピュータシステム。
【請求項8】
前記少なくとも1つのアダプタポートは、メモリバッファを有する請求項5に記載のコンピュータシステム。
【請求項9】
少なくとも1つの高密度ロジックデバイスと、
前記少なくとも1つの高密度ロジックデバイスを制御バス及び1ランクのメモリをサポートするメモリバスに接続する少なくとも1つのコントローラと、
前記メモリバスと接続されたアイソレーションメモリバッファと、
前記アイソレーションメモリバッファと接続されているその他の複数のメモリバスと、
関連付けられたメモリリソースをそれぞれ含み、前記その他の複数のメモリバスのうちの少なくとも1つと関連付けられている1以上のアダプタポートと、
前記アダプタポートの少なくとも1つと接続されているダイレクト・エクセキューション・ロジック要素とを備え、
前記メモリリソースは、前記少なくとも1つの高密度ロジックデバイス及び前記ダイレクト・エクセキューション・ロジック要素によって選択的にアクセス可能であるコンピュータシステム。
【請求項10】
前記メモリバスは、複数のLR−DIMMメモリモジュールスロットを有する請求項9に記載のコンピュータシステム。
【請求項11】
前記メモリスロット及び前記メモリバスは、1以上のアイソレーションメモリバッファを使用して接続されている請求項10に記載のコンピュータシステム。
【請求項12】
前記1以上のアダプタポートは、メモリバッファを有する請求項9に記載のコンピュータシステム。
【請求項13】
少なくとも1つの高密度ロジックデバイスと、
前記少なくとも1つの高密度ロジックデバイスをメモリモジュールバスに接続するコントローラと、
前記メモリモジュールバスと接続された複数のメモリモジュールスロットと、
前記複数のメモリモジュールスロットの少なくとも1つと接続されているアダプタポートと、
前記アダプタポートと関連付けられているダイレクト・エクセキューション・ロジック要素と、
前記複数のメモリモジュールスロットの別の1つと関連付けられているLR−DIMMメモリモジュールとを備えるコンピュータシステム。
【請求項14】
前記少なくとも1つの高密度ロジックデバイス及び前記アダプタポートと接続されている制御バスを更に備える請求項13に記載のコンピュータシステム。
【請求項15】
前記制御バスは、前記メモリモジュールバスで前記ダイレクト・エクセキューション・ロジック要素にデータが到着したことを前記高密度ロジックデバイスに知らせる請求項14に記載のコンピュータシステム。
【請求項16】
前記アダプタポートは、前記複数のメモリモジュールスロットの前記少なくとも1つ内に保持するための、デユアル・インライン・メモリモジュール・スロットコネクタを有する請求項13に記載のコンピュータシステム。
【請求項17】
データ接続によって、前記ダイレクト・エクセキューション・ロジック要素と接続されている外部デバイスを更に備える請求項13に記載のコンピュータシステム。
【請求項18】
前記外部デバイスは、別のコンピュータシステム、スイッチ又はネットワークのうちの1つを有する請求項17に記載のコンピュータシステム。
【請求項19】
前記ダイレクト・エクセキューション・ロジック要素は、前記データ接続で、前記外部デバイスへの送信が行われる前に、前記メモリモジュール上で前記コントローラから受信したデータを変更することができる請求項17に記載のコンピュータシステム。
【請求項20】
前記ダイレクト・エクセキューション・ロジック要素は、前記メモリモジュールバス上で前記コントローラへの送信が行われる前に、前記データ接続上で前記外部デバイスから受信したデータを変更することができる請求項17に記載のコンピュータシステム。
【請求項21】
前記ダイレクト・エクセキューション・ロジック要素は、
前記メモリモジュールバス及び前記データ接続上で、提供されているオペランドに対して、特定されたアルゴリズムを実行するべく構成される少なくとも1つのフィールド・プログラマブル・ゲート・アレイを含む請求項17に記載のコンピュータシステム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate


【公開番号】特開2012−128838(P2012−128838A)
【公開日】平成24年7月5日(2012.7.5)
【国際特許分類】
【外国語出願】
【出願番号】特願2011−243285(P2011−243285)
【出願日】平成23年11月7日(2011.11.7)
【出願人】(500267099)エス・アール・シィ・コンピューターズ・インコーポレイテッド (20)
【Fターム(参考)】