(57)【特許請求の範囲】
【請求項１】
ユーザによって変更されない固定ロジックを有し、少なくとも１つの高密度ロジックデバイスと、
前記少なくとも１つの高密度ロジックデバイスを他のプロセッサ及びメモリバスに接続するコントローラと、
前記メモリバスと接続された複数のメモリスロットと、
接続されたメモリをそれぞれ含み、前記複数のメモリスロットのうちの少なくとも２つと関連付けられているアダプタポートと、
前記アダプタポートのうちの少なくとも１つと接続されている再構築可能なダイレクト・エクセキューション・ロジック要素とを備え、
前記メモリは、前記少なくとも１つの高密度ロジックデバイス及び前記ダイレクト・エクセキューション・ロジック要素によって選択的にアクセス可能であって、
前記メモリは、前記高密度ロジックデバイスと前記ダイレクト・エクセキューション・ロジック要素との間に配置されているコンピュータシステム。
【請求項２】
前記複数のメモリスロットは、ＬＲ−ＤＩＭＭメモリモジュールスロットを含む請求項１に記載のコンピュータシステム。
【請求項３】
前記複数のメモリスロット及び前記メモリバスは、１以上のアイソレーションメモリバッファを使用して接続されている請求項１または２に記載のコンピュータシステム。
【請求項４】
前記アダプタポートは、メモリバッファを有する請求項１から３のいずれか１項に記載のコンピュータシステム。
【請求項５】
ユーザによって変更されない固定ロジックを有し、少なくとも１つの高密度ロジックデバイスと、
前記少なくとも１つの高密度ロジックデバイスを１以上のメモリバスに接続する少なくとも１つのコントローラと、
前記１以上のメモリバスと接続された複数のメモリスロットと、
接続されたメモリをそれぞれ含み、前記１以上のメモリバスと接続されている前記複数のメモリスロットのうちの少なくとも１つと関連付けられている１以上のアダプタポートと、
前記アダプタポートの少なくとも１つと接続されている再構築可能なダイレクト・エクセキューション・ロジック要素とを備え、
前記メモリは、前記少なくとも１つの高密度ロジックデバイス及び前記ダイレクト・エクセキューション・ロジック要素によって選択的にアクセス可能であって、
前記メモリは、前記高密度ロジックデバイスと前記ダイレクト・エクセキューション・ロジック要素との間に配置されているコンピュータシステム。
【請求項６】
前記１以上のメモリバスと接続された前記１以上のメモリスロットは、少なくとも１つのＬＲ−ＤＩＭＭメモリモジュールスロットを含む請求項５に記載のコンピュータシステム。
【請求項７】
前記複数のメモリスロット及び前記１以上のメモリバスは、１以上のアイソレーションメモリバッファを使用して接続されている請求項５または６に記載のコンピュータシステム。
【請求項８】
前記少なくとも１つのアダプタポートは、メモリバッファを有する請求項５から７のいずれか１項に記載のコンピュータシステム。
【請求項９】
ユーザによって変更されない固定ロジックを有し、少なくとも１つの高密度ロジックデバイスと、
前記少なくとも１つの高密度ロジックデバイスを他のプロセッサ及び１ランクのメモリをサポートするメモリバスに接続する少なくとも１つのコントローラと、
前記メモリバスと接続されたアイソレーションメモリバッファと、
前記アイソレーションメモリバッファと接続されているその他の複数のメモリバスと、
接続されたメモリをそれぞれ含み、前記その他の複数のメモリバスのうちの少なくとも１つと関連付けられている１以上のアダプタポートと、
前記アダプタポートの少なくとも１つと接続されている再構築可能なダイレクト・エクセキューション・ロジック要素とを備え、
前記メモリは、前記少なくとも１つの高密度ロジックデバイス及び前記ダイレクト・エクセキューション・ロジック要素によって選択的にアクセス可能であって、
前記メモリは、前記高密度ロジックデバイスと前記ダイレクト・エクセキューション・ロジック要素との間に配置されているコンピュータシステム。
【請求項１０】
前記メモリバスは、複数のＬＲ−ＤＩＭＭメモリモジュールスロットを有する請求項９に記載のコンピュータシステム。
【請求項１１】
前記メモリモジュールスロット及び前記メモリバスは、１以上のアイソレーションメモリバッファを使用して接続されている請求項１０に記載のコンピュータシステム。
【請求項１２】
前記１以上のアダプタポートは、メモリバッファを有する請求項９から１１のいずれか１項に記載のコンピュータシステム。
【請求項１３】
ユーザによって変更されない固定ロジックを有し、少なくとも１つの高密度ロジックデバイスと、
前記少なくとも１つの高密度ロジックデバイスをメモリバスに接続するコントローラと、
前記メモリバスと接続された複数のメモリモジュールスロットと、
前記複数のメモリモジュールスロットの少なくとも１つと接続されているアダプタポートと、
前記アダプタポートと関連付けられている再構築可能なダイレクト・エクセキューション・ロジック要素と、
前記複数のメモリモジュールスロットの別の１つと関連付けられているＬＲ−ＤＩＭＭメモリモジュールとを備え、
前記ＬＲ−ＤＩＭＭメモリモジュールは、前記高密度ロジックデバイスと前記ダイレクト・エクセキューション・ロジック要素との間に配置されているコンピュータシステム。
【請求項１４】
前記コントローラは、前記少なくとも１つの高密度ロジックデバイス及び前記アダプタポートと接続されている請求項１３に記載のコンピュータシステム。
【請求項１５】
前記コントローラは、前記メモリバスで前記ダイレクト・エクセキューション・ロジック要素にデータが到着したことを前記高密度ロジックデバイスに知らせる請求項１４に記載のコンピュータシステム。
【請求項１６】
前記アダプタポートは、前記複数のメモリモジュールスロットの前記少なくとも１つ内に保持するための、デユアル・インライン・メモリモジュール・スロットコネクタを有する請求項１３から１５のいずれか１項に記載のコンピュータシステム。
【請求項１７】
データ接続によって、前記ダイレクト・エクセキューション・ロジック要素と接続されている外部デバイスを更に備える請求項１３から１６のいずれか１項に記載のコンピュータシステム。
【請求項１８】
前記外部デバイスは、別のコンピュータシステム、スイッチ又はネットワークのうちの１つを有する請求項１７に記載のコンピュータシステム。
【請求項１９】
前記ダイレクト・エクセキューション・ロジック要素は、
前記メモリバス及び前記データ接続上で、提供されているオペランドに対して、特定されたアルゴリズムを実行するべく構成される少なくとも１つのフィールド・プログラマブル・ゲート・アレイを含む請求項１７または１８に記載のコンピュータシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、概して、再構成可能コンピューティングの分野に関する。より詳細には、本発明は、アイソレーションメモリバッファを組み込んだロードリデュースド・デュアル・インライン・メモリ・モジュール（ＬＲ−ＤＩＭＭ）を利用したスイッチ／ネットワークアダプタ・ポートインターフェースを含むヘテロジニアスコンピューティングシステムに関する。
【０００２】
［関連出願］
本発明は、２０１０年１１月５日出願の米国仮出願６１／４１０，６７６号明細書の優先権を主張するものであり、前記出願の内容は、参照により本明細書に組み込まれる。
【背景技術】
【０００３】
SRC Computers LLC（エス・アール・シー・コンピュータズ社）が登録商標権を所有するスイッチ／ネットワーク・アダプタポートＳＮＡＰ（登録商標）インターフェースは、市販のマイクロプロセッサボードを、エス・アール・シー・コンピュータズ社製の再構成可能（reconfigurable）ＭＡＰ（登録商標）プロセッサ及び特定のＳＲＣ（登録商標）システムを含むマルチポート共通メモリ（ＭＰＣＭ）ノードに接続し、これらとメモリを共有することを可能にする。ＳＮＡＰインターフェースを使用して、Ｉ／Ｏサブシステムの替わりに、マイクロプロセッサのメモリサブシステムを接続することにより、ＳＲＣシステムは、非常に大きな接続帯域幅を維持することができる。また、ＳＮＡＰインターフェースは、インテリジェントなダイレクト・メモリ・アクセス（ＤＭＡ）コントローラを含み、直接１つのＭＡＰプロセッサと接続することができる、又は、システム全体に渡る複数のＭＡＰプロセッサ、マイクロプロセッサ又はＭＰＣＭへのアクセスのためのＳＲＣ  Ｈｉ−Ｂａｒ（登録商標）スイッチと接続することができる。ＳＮＡＰインターフェースは、市販のマイクロプロセッサボード上で、ＤＩＭＭコネクタに直接プラグで接続されるように設計されている。組み込みアプリケーションの場合、所望の枠内に収まるように、ＳＮＡＰインターフェースのフォームファクターを変更してもよい。（ＳＮＡＰ（登録商標）、ＭＡＰ（登録商標）、ＳＲＣ（登録商標）及びＨｉ−Ｂａｒ（登録商標）は、本発明の譲受人であるSRC Computers LLCの登録商標である。）
【０００４】
ＳＮＡＰインターフェースについては、例えば、SRC Computers LLCに譲渡された以下のような米国特許明細書に記載されている。米国特許第６，９９６，６５６号"System and Method for Providing an Arbitrated Memory Bus in a Hybrid Computing System（ハイブリッドコンピューティングシステムにおける調停メモリバスを提供するシステム及び方法）"、米国特許第７，１２４，２１１号"System and Method for Explicit Communication of Messages Between Processes Running on Different Nodes in a Clustered Multiprocessor System（クラスタ化されたマルチプロセッサシステム内の異なる複数のノードで実行されるプロセス間のメッセージの明示的通信のためのシステム及び方法）"、米国特許第７，１９７，５７５号"Switch/Network Adapter Port Coupling a Reconfigurable Processing Element to One or More Microprocessors for use with Interleaved Memory Controllers（インターリーブメモリコントローラを使用した、１以上のマイクロプロセッサと再構成可能処理要素とを接続するスイッチ／ネットワーク・アダプタポート）"、米国特許第７，３７３，４４０号"Switch/Network Adapter Port for Clustered Computers Employing a Chain of Multi-Adaptive Processors in a Dual In-Line Memory Module Format（デュアルインラインメモリモジュールフォーマットにおけるマルチアダプティブプロセッサのチェーンを採用したクラスタ化コンピュータのためのスイッチ／ネットワーク・アダプタポート）"、米国特許第７，４０６，５７３号"Reconfigurable Processor Element Utilizing Both Coarse and Fine Grained Reconfigurable Elements（コア及び細粒度再構成可能要素の両方を利用した再構成可能プロセッサ要素）"、米国特許第７，４２１，５２４号"Switch/Network Adapter Port for Clustered Computers Employing a Chain of Multi-Adaptive Processors in a Dual In-Line Memory Module Format（デュアルインラインメモリモジュールフォーマットにおけるマルチアダプティブプロセッサのチェーンを採用したクラスタ化コンピュータのためのスイッチ／ネットワーク・アダプタポート）"、米国特許第７，４２４，５５２号"Switch/Network Adapter Port Incorporating Shared Memory Resources Selectively Accessible by a Direct Execution Logic Element and One or More Dense Logic Devices（ダイレクト実行ロジック要素及び１以上の高密度ロジックデバイスによって選択的にアクセス可能な共有メモリリソースを組み込んだスイッチ／ネットワーク・アダプタポート）"、米国特許第７，５６５，４６１号"Switch/Network Adapter Port Coupling a Reconfigurable Processing Element to One or More Microprocessors for use with Interleaved Memory Controllers（インタリーブされたメモリコントローラを備える１以上のマイクロプロセッサと再構成可能処理要素とを接続するスイッチ／ネットワーク・アダプタポート）"、米国特許第７，６８０，９６８号"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)（完全にバッファされたデュアル・インライン・メモリ・モジュールフォーマット（ＦＢ−ＤＩＭＭ）における、ダイレクト実行ロジック要素及び１以上の高密度実行ロジック要素によって選択的にアクセス可能な共有メモリリソースを組み込んだスイッチ／ネットワーク・アダプタポート）。これら特許文献に開示された内容は、参照により本明細書に組み込まれる。
【０００５】
全ての信号線がバッファされる新しいメモリ技術として、近年、ＬＲ−ＤＩＭＭが導入されている。これは、完全バッファＤＩＭＭ（ＦＢ−ＤＩＭＭ）から発展した技術であり、アドレス、クロック及び制御信号が、レジスタを介してバッファされる登録ＤＩＭＭ（registered DIMM: ＲＤＩＭＭ）と同様な態様で機能する。しかしながら、ＲＤＩＭＭとの基本的な違いは、ＬＲ−ＤＩＭＭは、双方向ドライバを介してデータ線もバッファする点である。ＬＲ−ＤＩＭＭの基本及びアーキテクチャについては、例えば、カリフォルニア、サンタクララに本社を置くInphi Corporationから入手可能なホワイトペーパー"Increasing Computing Platform Efficiency Through Innovative Memory Architecture（革新的なメモリアーキテクチャを通じたコンピューティングプラットフォーム効率の改善）"及び"Introducing LRDIMM - A New Class of Memory Modules（"ＬＲＤＩＭＭの導入−メモリモジュールの新しい分類"）に記載されている。これらのホワイトペーパーの開示は、参照により本明細書に組み込まれる。
【発明の概要】
【０００６】
大容量の高速ＳＤＲＡＭメモリに接続するマイクロプロセッサベースのコンピュータシステムの必要性は、利用可能なプロセッサコアの数が増加している現在、かつてないほど高まっている。しかしながら、ＳＤＲＡＭコンポーネントのスピード及び接続が増加し続けるにつれ、信頼性高く相互接続することができるデバイスの数が減ってきている。これまでも幾つかの対策が試みられているが、この問題に対処し続ける必要がある。マイクロプロセッサ（高密度ロジックデバイス（dense logic device：DLD）及びエス・アール・シー・コンピュータズ社のＭＡＰプロセッサのようなダイレクト・エクセキューション・ロジック（ＤＥＬ）の両方を利用するコンピュータシステムにおいて、本発明のスイッチ／ネットワーク・アダプタポート・インターフェースは、市販されているＬＲ−ＤＩＭＭのアイソレーションメモリバッファを有利に利用する。
【０００７】
既存のＳＮＡＰインターフェースと関連して現在使用されている高速電界効果トランジスタ（ＦＥＴ）スイッチの替わりに、ＬＲ−ＤＩＭＭメモリバッファを使用すると、数多くの有益な効果が生じる。例えば、メモリバッファは物理的な大きさが小さく、又は、メモリバッファによって使用されるパッケージも小さくなることから、ＳＮＡＰインターフェースのボードレイアウトを単純化することができ、信号品位を改善させることができるため、安価なパッケージで高速オペレーションが可能となる。また、１つの中央デバイスが存在するため、複数のＦＥＴ制御線の替わりに１つのイネーブル線を敷設すればよく、ボード上の信号経路を簡単にすることができる。
【０００８】
ＬＲ−ＤＩＭＭデバイスのアイソレーションメモリバッファは、高速メモリバスのセグメント化及び複製を提供するように設計されており、メモリバッファの３ステート（tri-state）機能により、ＦＥＴがオン／オフするよりも高速に起動することができる。したがって、従来のＦＥＴスイッチで達成できる速度よりも速い、共有メモリの受け渡し（ハンドオフ）を実現することができる。また、ＬＲ−ＤＩＭＭメモリバッファの分離（isolation）効果により、システム内のプライベートメモリ領域の数を増大させる手段を提供する。そして、アイソレーションメモリバッファの出力３ステート機能により、複数のバッファに接続されたデバイスが、共有メモリＳＮＡＰインターフェースの核となるコンセプトである、同じメモリコンポーネントへのアクセスを可能とする。
【０００９】
このように、高速オペレーションにより、マイクロプロセッサが、ＳＮＡＰインターフェースを利用するために、特別なコードを実行する又は特別なファームウェアを使用する必要がなくなる。その結果、本発明のスイッチ／ネットワーク・アダプタポート・インターフェースは、インテル、ＩＢＭ及びＡＭＤ等から入手可能なものを含む様々なマイクロプロセッサアーキテクチャと関連して利用することができる。したがって、様々なベンダのコンピュータプラットフォームにアプリケーションを移植することができる。
【００１０】
高速メモリハンドオフにより、マイクロプロセッサ及びＭＡＰプロセッサとの高速なやり取りを必要とするアプリケーションの実行が可能となる。このようなアプリケーションとしては、これに限定されるわけではないが、例えば、コンピュータ援用設計／コンピュータ援用エンジニアリング（ＣＡＤ／ＣＡＥ）、債務分析、ビジネス分析、パターン検索（テキスト／データ）、デジタル画像処理、データベース・データ分類、データベースキーハッシュ、システム力学シミュレーション（分子、宇宙論、流体等）、システム機能シミュレーション、システムモデル化、データストリーミング、ネットワークトラフィック分析、ネットワーク侵入検出、非線形偏微分方程式解読、統計分析、正規表現検索／マッチング（テキスト／データ）、クラインアント／サーバーアプリケーション、デジタル信号処理、データ暗号化／解読、データ圧縮／解凍、及び、計算流体力学が挙げられる。
【００１１】
高速ハンドオフサイクル時間は、黙示的マイクロプロセッサと明示的ＭＡＰプロセッサとの固い結合を生み出し、これら２つの処理の種類の一体化も強化される。黙示的及び明示的処理要素の一体化が改善されることにより、これらのプロセッサが単体で動く場合よりも、高いシステム性能を提供することができる。
【００１２】
一体化の改善はまた、エス・アール・シー・コンピュータズ社のIMPLICIT+EXPLICIT（登録商標）アーキテクチャ（SRC Computers社の商標）によって、アムダールの法則（Amdahl's law）に属する障壁を取り除くことができるアプリケーションドメインの数を増加させることになる。これが達成できるのは、明示的ＭＡＰプロセッサがアプリケーションの並列部分を達成するのに必要とする処理要素の全体の数を減らすことができると同時に、黙示的マイクロプロセッサがアプリケーションのシリアル部分を達成することができることに因る。
【００１３】
本発明のスイッチ／ネットワーク・アダプタポート・インターフェースを使用して構成されたシステムは、標準メモリＤＩＭＭも使用することができ、メモリの大きさ、速度及び入手可能性の点で選択肢が広がり、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）のような標準的なＤＩＭＭインターフェース又はその他の特殊な処理特定用途向け集積回路（ＡＳＩＣ）を有するあらゆる種類の非メモリデバイスとの接続も可能となる。
【００１４】
本明細書に開示する本発明のスイッチ／ネットワーク・アダプタポート・インターフェースは、市販されているＬＲ−ＤＩＭＭを利用し、この種のメモリをサポートするあらゆるシステムと関連して機能する。また、ランク乗算（rank multiplication）を利用して、明示的及び黙示的プロセッサ両方に対する付加メモリを提供することができる。更に、ランク乗算を使用することにより、メモリの１ランクのみをサポートするシステムも利用される。
【００１５】
本明細書では、少なくとも１つの高密度ロジックデバイス（dense logic device）と、少なくとも１つの高密度ロジックデバイスを制御バス及びメモリバスに接続するインターリーブコントローラ（interleaved controller）とを備えるコンピュータシステムを開示する。複数のメモリスロットは、メモリバスに接続され、アダプタポートは、複数のメモリスロットのうちの少なくとも２つと関連付けられ、複数のアダプタポートは、関連付けられたメモリリソースを含む。ダイレクト・エクセキューション・ロジック（direct execution logic）要素は、複数のポートのうちの少なくとも１つと接続されて、メモリリソースは、少なくとも１つの高密度ロジックデバイス要素及びダイレクト・エクセキューション・ロジック要素により選択的にアクセス可能である。
【００１６】
また、少なくとも１つの高密度ロジックデバイスと、少なくとも１つの高密度ロジックデバイスを制御バス及び１以上のメモリバスに接続する少なくとも１つのコントローラとを備えるコンピュータシステムを開示する。複数のメモリスロットは、メモリバスの１以上と接続され、１以上のアダプタポートが複数のメモリスロットのうちの少なくとも１つと関連付けられ、１以上のアダプタポートの各々は、関連付けられたメモリリソースを含む。ダイレクト・エクセキューション・ロジック要素は、アダプタポートのうちの少なくとも１つと接続されている。メモリリソースは、少なくとも１つの高密度ロジックデバイス及びダイレクト・エクセキューション・ロジック要素によって、選択的にアクセス可能である。
【００１７】
また、少なくとも１つの高密度ロジックデバイスと、少なくとも１つの高密度ロジックデバイスを制御バス及び１ランクのメモリをサポートするメモリバスに接続する少なくとも１つのコントローラとを備えるコンピュータシステムを開示する。アイソレーションメモリバッファは、メモリバスと接続され、複数のメモリバスは、アイソレーションバッファと接続されている。１以上のアダプタポートは、メモリバスと関連付けられており、アダプタポートの各々は、関連付けられたメモリリソースを含む。ダイレクト・エクセキューション・ロジック要素は、アダプタポートのうちの少なくとも１つと接続され、メモリリソースは、少なくとも１つの高密度ロジックデバイス及びダイレクト・エクセキューション・ロジック要素によって選択的にアクセス可能である。
【００１８】
本発明の上記の及びその他の特徴及び目的、並びに、これらを達成する態様が以下の明細書の記載で明らかとなり、発明自体も、添付の図面と関連した好ましい実施形態を参照することにより理解されるであろう。
【図面の簡単な説明】
【００１９】
【図１】コンピュータ一体化システムを実装可能なシステムの及び本発明の方法をＩＭＰＬＩＣＩＴ＋ＥＸＰＬＩＣＴアーキテクチャの形式で示した代表的な実施形態のハイレベルブロック図である。
【図２】フィールド・プログラマブル・ゲート・アレイを使用した１つ前の図における明示的デバイスとして使用される再構成可能ダイレクト・エクセキューション・ロジックを含むＭＡＰ（登録商標）プロセッサの機能ブロック図である。
【図３】市販のマイクロプロセッサ及び最大３つのＭＡＰプロセッサのような高密度ロジックデバイスのサポートを提供するマルチポート共有メモリの機能ブロック図である。
【図４】１つのＭＡＰプロセッサＭＡＰｓｔａｔｉｏｎ（登録商標）の機能ブロック図である。
【図５】マルチポート共有メモリモジュールを介して相互接続される図２のＭＡＰプロセッサのうちの３つを含むＭＡＰｓｔａｔｉｏｎシステムの機能ブロック図である。
【図６】メモリバッファを有するロードリデュースド・デュアル・インライン・メモリ・モジュール（ＬＲ−ＤＩＭＭ）を単純化して示した図である。
【図７】汎用マイクロプロセッサベースのコンピュータシステムにおけるダイレクト・エクセキューション・ロジックを組み込んだ本発明に係るスイッチ／ネットワーク・アダプタポート・インターフェースを含むコンピューティングシステムの代表的な実施形態を示したブロック図である。
【図８】マイクロプロセッサによってアクセスされるＬＲ−ＤＩＭＭのうちの１つをスイッチ／ネットワーク・アダプタポート・インターフェースで置き換えた本発明の実施形態に係るスイッチ／ネットワーク・アダプタポート・インターフェースを含むコンピューティングシステムの別の代表的な実施形態を示したブロック図である。
【図９】ＬＲ−ＤＩＭＭのランク乗算機能を利用して、スイッチ／ネットワーク・アダプタポート・インターフェースを１ランクのメモリのみをサポートするマイクロプロセッサと接続可能にする本発明に係るスイッチ／ネットワーク・アダプタポート・インターフェースを含むコンピューティングシステムの別の代表的な実施形態を示したブロック図である。
【発明を実施するための形態】
【００２０】
図１は、コンピュータ一体化システムを実装可能なシステム１００及び本発明の方法をＩＭＰＬＩＣＩＴ＋ＥＸＰＬＩＣＴアーキテクチャの形式で示した代表的な実施形態のハイレベルブロック図である。
【００２１】
システム１００は、関連する部分において、例えば、フォートラン（Fortran）又はＣプログラミング言語で、アプリケーションソースファイルを入力可能とするＣａｒｔｅプログラミング環境１０４を通じて、一体化実行可能構成１０２が生成される。黙示的（implicit）デバイス１０６及び明示的（explicit）デバイス１０８は、以下に詳細に説明するＣａｒｔｅプログラミング環境を介してプログラムされ、両デバイスはこの環境と接続して、共有メモリ１１０へのアクセスを提供する。
【００２２】
このようなアーキテクチャでは、明示的及び黙示的プロセッサ１０６、１０８は、共有メモリ１１０の形式でのシステムメモリコンテンツへのアクセスを提供する能力を有する観点では、ピアデバイスである。このような態様により、同じプログラム上で両種類のプロセッサが共に動作することに起因するオーバヘッドを最小にすることができる。そして、ＳＲＣＣａｒｔｅプログラミングツールにより、制御を渡すことによる不利益を考慮することなく、アプリケーション全体の所定の部分に最適な方の種類のプロセッサを利用することが可能となる。
【００２３】
黙示的デバイス１０６は、高密度ロジックデバイス（Dense Logic Device：ＤＬＤ）とも称される場合があり、マイクロプロセッサ、デジタル信号プロセッサ、及び、ＡＳＩＣの一部を含む構成要素の一群を包含する。これらの処理要素は、全て黙示的に制御され、典型的には、ユーザーによって変更されない固定ロジックで構成されている。これらのデバイスは、所定の接続及び機能を有する固定ロジックにおいて、段階的な態様でソフトウェア指示命令（software-directed instruction）を実行する。
【００２４】
一方、明示的デバイス１０８は、ダイレクト・エクセキューション・ロジック（ＤＥＬ）と称される場合があり、明示的に制御されて典型的には再構成可能な構成要素の一群を包含する。このような構成要素として、ＦＰＧＡ、フィールド・プログラマブル・オブジェクト・アレイ（ＦＰＯＡ）及びコンプレックス・プログラマブル・ロジック・デバイス（ＣＰＬＤ）が含まれる。特定のコードにおける並列処理の特性を最大にするための、所望のコンピュータプリフェッチ及び／又はデータアクセス機能を実装するべく、構成要素のセットにより、選択された機能ユニット間の最適化された接続を確立させるプログラムを可能とする。
【００２５】
黙示的デバイス１０６（ＤＬＤ）及び明示的デバイス１０８（ＤＥＬ）処理要素の両方は、ピアとして、同じ態様で又は別の態様で、共有システムメモリ（例えば、共通メモリ１１０）と接続され、データ共有は明示的態様で実装することができることから、接続は、キャッシュコヒーレンシをサポートすることを要求されない。
【００２６】
明示的デバイス１０８のＤＥＬコンピューティングは、ダイナミックロジックを使用し、１つのサイズが全てに適合しなければならない固定マイクロプロセッサアーキテクチャにアプリケーションが合わせるというよりも、アプリケーションに適合するロジックを使用する。これにより、機能ユニットの正確性及びコードにおける並列性の点において、特定のコードに対する最も効率的な回路を提供することができる。このようにして得られるのが、所定のコードを使用して発展させることが可能であり及び／又は異なるコードを扱う第２部分の一部として再プログラム可能な、ダイナミック・アプリケーションスペシフィック・プロセッサ（動的特定用途向けプロセッサ）である。ＤＥＬコンピューティングは、特定用途コンピュータの性能及び経済的な汎用機械をユーザーに提供する。
【００２７】
エス・アール・シー・コンピュータズ社製の現在の汎用コンピュータシステムには、ＳＲＣ−７製品ラインとして、ＭＡＰｓｔａｔｉｏｎ（登録商標）ワークステーション（エス・アール・シー・コンピュータズ社の登録商標）、高性能ラックベースのシステム及び航空機搭載システムが含まれる。これらのシステムは全て同じ黙示的及び明示的に制御されるシステム構成要素、及び、同じＳＲＣＣａｒｔｅプログラミング環境を使用しており、システム間の完全なアプリケーション移植性を可能としている。
【００２８】
Ｃａｒｔｅプログラミング環境は、プログラマが、黙示的デバイス及び明示的デバイスの両方においてアプリケーションを規定するのにＡＮＳＩ標準フォートラン又はＣ高級言語を使用可能とすることにより、このようなシステムインテグレーションを可能にしている。Ｃａｒｔｅプログラミング環境におけるコンパイルからの生成物は、１つの、一体化された、目的のＳＲＣヘテロジニアス（異機種）コンピュータシステムにおいて実行可能な生成物となる。
【００２９】
現在入手可能な異機種環境コンピュータシステムでは、低い帯域幅及び高いレイテンシの入出力バスが、ＦＰＧＡデバイスとＣＰＵとを分離している。ＳＲＣ ＩＭＰＬＩＣＩＴ＋ＥＸＰＬＩＣＩＴアーキテクチャは、ＣＰＵ及びＭＡＰプロセッサが、システムメモリに対してピアとして動作することを可能とすることにより、この制限を排除する。つまり、システムメモリの帯域幅及びレイテンシのみがこれらのデバイスを制限することとなり、ＳＲＣシステムにおけるアプリケーションの性能全体を大幅に改善させることができる。標準的な言語、及び、ＩＭＰＬＩＣＩＴ＋ＥＸＰＬＩＣＩＴアーキテクチャのシステムメモリ特性によってのみ制限される黙示的及び明示的デバイスを使用する一体化プログラミング環境は、今日入手可能なあらゆるワークステーション又はコンピュータクラスタノードでは並ぶものが存在しない程に、利用が容易で高性能なアプリケーションプラットフォームをユーザーに提供できる。
【００３０】
ＩＭＰＬＩＣＩＴ＋ＥＸＰＬＩＣＩＴアーキテクチャは、ユーザーが、現存のコードを実行する又は容易に再コンパイルすることを可能にして、システムの再構成可能ＭＡＰプロセッサの力を利用して新しいコードを開発することができるようになる。このハードウェア及びソフトウェアアーキテクチャは、マイクロプロセッサ技術と再構成可能ＭＡＰプロセッサとを統合して、性能及び消費電力低減の桁違いの改善をもたらすことができる。ＳＲＣＣａｒｔｅプログラミング環境は、コードのマイクロプロセッサ部分と再構成可能プロセッサ部分の協働というプログラマが面してきた歴史的課題を解決した。
【００３１】
ＩＭＰＬＩＣＩＴ＋ＥＸＰＬＩＣＩＴアーキテクチャは、１つのＭＡＰｓｔａｔｉｏｎワークステーション又は組み込みシステムから、Ｈｉ−Ｂａｒスイッチベースの構成のクラスタにわたる範囲のシステムにおいて利用可能であり、これらについては以下に詳述する。これらの構成の全ては、同じ基本ハードウェア及びソフトウェアの構成要素を使用することから、コードの完全な相互運用性を提供できる。
【００３２】
図２は、フィールド・プログラマブル・ゲートアレイを使用した１つ前の図における明示的デバイスとして使用される再構成可能ダイレクト・エクセキューション・ロジックを含むＭＡＰプロセッサ２００の機能ブロック図である。
【００３３】
ＭＡＰプロセッサ２００は、関連する部分において、双方向にＭＡＰプロセッサ２００を、別のプロセッサモジュール又はＨｉ−Ｂａｒスイッチポートへと接続するためのコントローラ２０２を含む。例えば、各々が１ＧＢのスタティックランダムアクセスメモリ（ＳＲＡＭ）である一組の高速オンボード共有メモリアレイ（ＯＢＣＭ）が、利用可能な帯域幅４．２ＧＢ／秒を有するバスによってそれぞれ、コントローラ２０２と双方向接続される。一組のＦＰＧＡ２０６（ＦＰＧＡ１及びＦＰＧＡ２）は、帯域幅１４．４ＧＢ／秒を有する双方向バスを介してコントローラに接続され、また、帯域幅４．８ＧＢ／秒を有するバスによって互いに接続される。ＦＰＧＡ２０６はまた、帯域幅１９．２ＧＢ／秒を有するバスによって、約６４ＭＢのオンボードメモリアレイ（ＯＢＭ）２０８と双方向接続されると同時に、帯域幅１２．０ＧＢ／秒の帯域幅を有する双方向バスを介して汎用Ｉ／Ｏ（ＧＰＩＯＸ）ポートとも接続される。
【００３４】
ＭＡＰプロセッサ２００は、構成のＤＥＬプロセッサを含む。ＭＡＰプロセッサ２００は、ＦＰＧＡ２０６の形態で再構成可能構成要素を利用し、制御及びユーザー規定の計算、データプリフェッチ及びデータ機能の両方を達成する。この計算機能は、非常に広帯域幅の、オン及びオフボード接続と組み合わせられる。ＭＡＰプロセッサ２００は、ＳＲＡＭオンボードメモリ２０４の複数のバンクを使用して、ローカルメモリ帯域幅１９，２００ＭＢｓ／秒を提供する。ＭＡＰプロセッサ２００は更に、入力ポート及び出力ポートのセットを２つ含み、各ポートは、データペイロード帯域幅３６００ＭＢ／秒を維持する。ＭＡＰプロセッサ２００はまた、システム内のあらゆるプロセッサによってアクセス可能なＳＤＲＡＭのグローバル共有される共通メモリの２つのバンクを有する。ＭＡＰプロセッサ２００はそれぞれ、ＭＡＰプロセッサ２００がＭＡＰプロセッサ２００接続を命令する又はデータ入力を検出するための、最大１２．０ＧＢ／秒の更なるデータペイロードを維持するＧＰＩＯＸポートを有する。
【００３５】
明示的デバイスは、ＭＡＰプロセッサ内２００に収容される。これらのデバイスには、例えば、互いに直接アクセス可能な２つの１５０ＭＨｚのＡｌｔｅｒａ Ｓｔｒａｔｉｘ（登録商標）ＩＩ  ＥＰ２Ｓ１８０  ＦＰＧＡ２０６、６４ＭＢオンボードメモリ（ＯＢＭ）２０８、ＧＰＩＯＸポート、及び、インターフェースコントローラ２０２が含まれてもよい。インターフェースコントローラ２０２は、その他のプロセッサモジュール及び２ＧＢのオンボード共有メモリ（ＯＢＣＭ）２０４へのアクセスを提供する。ＭＡＰプロセッサ２００とその他のプロセッサモジュールとの間の、維持される全ペイロード帯域幅は、各ポートのペア毎に、１４．４ＧＢ／秒、又は、７．２ＧＢ／秒である。
【００３６】
ＳＤＲＡＭ  ＯＢＭ２０８は、１６個の独立した６４ビットメモリ参照を、ＦＰＧＡ２０６にクロックサイクル毎に提供する。これにより、ＯＢＭ２０８とＦＰＧＡ２０６との間の最大帯域幅１９．２ＧＢ／秒を実現している。アプリケーションの明示的に部分に対するデータは、プログラマによってＯＢＭ２０８に割り当てられ、ＯＢＭ２０８とＦＰＧＡ２０６との間の実際に達成可能な帯域幅は、アプリケーションの必要条件によって決められてもよい。
【００３７】
ＯＢＣＭ２０４の２つのバンクが提供されることにより、プログラマは、アプリケーションに対するデータ局所性の第３レベルを規定することが可能となる。データ局所性の第２レベルは、ＯＢＭ２０８であり、第１レベルは、ＦＰＧＡ２０６内部メモリである。一般的に、大きなアプリケーションデータセットはここに格納されて、好適なデータサブセットは、処理のためにＯＢＭ２０８（又は直接ロジックに）移動される。これらＯＢＣＭ２０４バンクは、ＭＡＰプロセッサ２００ベースのコンピュータシステムにおけるグローバル共有メモリ空間の一部分である。
【００３８】
ＧＰＩＯＸポートは、最大１２．０ＧＢ／秒までの、外部デバイス（例えば、カメラ、Ａ／Ｄコンバータ、センサ等）へのアクセスを提供する、又は、その他の複数のＭＡＰプロセッサ２００のチェーン化（chaining）を提供する。ＧＰＩＯＸインターフェースは、オープンスタンダードであり、ＧＰＩＯＸハードウェア規格書ＳＷＰ−０１１−００に記載されている。
【００３９】
図３は、市販のマイクロプロセッサ及び最大３つのＭＡＰプロセッサ２００（図２）のような高密度ロジックデバイスのサポートを提供するマルチポート共有メモリ３００の機能ブロック図である。マルチポート共有メモリ（ＭＰＣＭ）３００は、関連する部分に、プロセッサモジュールと最大３つのＭＡＰモジュールとの間の相互接続を提供するコントローラ３０２を含む。図示した実施形態では、マルチポート共有メモリ３００はまた、４ＧＢ  ＯＢＣＭメモリアレイを一組含む。
【００４０】
ＳＲＣ−７  ＭＡＰｓｔａｔｉｏｎシステムに対するＭＰＣＭ３００アセンブリの各々は、４つの出力ポート及び入力ポートを有する。これらのポートにより、プログラマは、２つの１６ＧＢ共有メモリバンクにアクセスすることができる。このポートは、１つのマイクロプロセッサモジュール及び最大３つのＭＡＰプロセッサをサポートする。ＭＰＣＭ３００モジュール上のインテリジェントＤＭＡコントローラ３０２は、システムの接続帯域幅を最大限有効に利用するべく、複雑なＤＭＡプリフェッチ、及び、データパッキング、等間隔アクセス及び分散／収集のようなデータアクセスを実行可能である。これらのオペレーションに対しては、同じ接続を利用したキャッシュベースのマイクロプロセッサよりも、接続効率が１０倍程度高くなる。入力ポート及び出力ポートの各々は、１ビットエラー訂正及び２ビットエラー検出（Single Error Correction and Double Error Detection ：ＳＥＣＤＥＤ）を各ポートに実装した場合、少なくとも３．６ＧＢ／秒のデータペイロードを維持する。
【００４１】
図４は、１つのＭＡＰプロセッサＭＡＰｓｔａｔｉｏｎ４００の機能ブロック図である。ＭＡＰｓｔａｔｉｏｎ４００は、図２を参照して上記で説明したＭＡＰプロセッサ４０４と接続されるＧＰＩＯＸポート４０２を含む。ＭＡＰプロセッサ４０４は、プロセッサ４１０のメモリ空間４０８に直接接続されているＳＮＡＰ（登録商標）ポート４０６（エス・アール・シー・コンピュータズ社の登録商標）と相互接続されている。
【００４２】
ＳＲＣ−７  ＭＡＰｓｔａｔｉｏｎシステムのこの構成は、１つのマイクロプロセッサモジュール４１０、及び、直接相互接続を有する１つのＭＡＰプロセッサ４０４を収容する。このシステムは、ＭＰＣＭモジュール３００（図３）を収容しないことから、１つのＭＡＰモジュールのみが設置されてもよい。
【００４３】
ＭＡＰｓｔａｔｉｏｎにおいて使用される黙示的ＤＬＤは、通常、複数の市販のプロセッサのうちの１つである。これら第３者の市販のボードに、ＳＮＡＰ４０６インターフェースが取り付けられる。ＳＮＡＰインターフェース４０６は、市販のマイクロプロセッサボードと、ＭＡＰプロセッサ４０４及びＳＲＣシステムの残りの部分を構成する共有メモリノードとを接続し、これらとメモリを共有する。ＳＮＡＰ４０６モジュールは、マイクロプロセッサマザーボード上でＤＩＭＭコネクタに直接プラグ接続されてもよく、Ｉ／Ｏサブシステムの替わりに、マイクロプロセッサ４１０のメモリサブシステム４０８内で直接機能するため、システムは、非常に高い接続帯域幅及びＩ／Ｏベースの接続よりも低いレイテンシを維持することができる。ＳＮＡＰ４０６インターフェースは、別個の入力経路及び出力経路を使用し、各経路は現在のところ、３．６ＧＢ／秒のデータペイロード帯域幅を維持している。
【００４４】
ＳＮＡＰ４０６モジュールを使用して、Ｉ／Ｏサブシステムの替わりにマイクロプロセッサ４１０メモリサブシステム４０８に接続することにより、システムは、非常に高い接続帯域幅を維持することができる。ＳＮＡＰ４０６モジュールは、別々の入力ポート及び出力ポートを使用し、各ポートは、３．６ＧＢ／秒のオーダーであって最高７．２ＧＢ／秒のデータペイロード帯域幅を維持する。ＳＮＡＰ４０６インターフェースは、１つのＭＡＰプロセッサ又はＨｉ−Ｂａｒ（登録商標）スイッチのうちのどちらか一方と直接接続することができ、複数のＭＡＰプロセッサ、その他のマイクロプロセッサ又は共有メモリへのシステム全体にわたるアクセスを提供する。
【００４５】
図５は、マルチポート共有メモリモジュールを介して相互接続される図２のＭＡＰプロセセッサのうちの３つを含むＭＡＰｓｔａｔｉｏｎシステム５００の機能ブロック図である。ＭＡＰｓｔａｔｉｏｎシステム５００は、図３に示したようなマルチポート共有メモリ（ＭＰＣＭ）５０４と接続される最大３つのＭＡＰプロセッサ５０２を含む。ＭＰＣＭ５０４は、図示するように、コントローラ及び関連付けられたメモリアレイ５０６を含む。ＭＰＣＭ５０４のプロセッサポートは、例えば、ＰＣＩエクスプレスバスインターフェース５１４を有するプロセッサ５１２のメモリ５１０サブシステムと接続されたＳＮＡＰ５０８インターフェースと接続されている。ＭＡＰｓｔａｔｉｏｎシステム５００が、ＭＰＣＭモジュールを有するように構成されている場合には、マイクロプロセッサモジュールに加えて、最大３つのシリーズＨ  ＭＡＰプロセッサ５０２を有してもよい。メモリ５０６を含む２つのＯＢＣＭバンクは、最大１６ＧＢのＳＤＲＡＭでポピュレートされてもよい。
【００４６】
図６は、メモリバッファを有するロードリデュースド・デュアル・インライン・メモリ・モジュール（ＬＲ−ＤＩＭＭ）６００をメモリバッファ６０２を含め単純化して示した図である。ＬＲ−ＤＩＭＭ６００モジュールは、モジュールに搭載されたメモリバッファ６０２及びモジュールの両サイドに搭載されたＤＲＡＭ６０４の複数のアレイを含む。メモリバッファ６０２は、コマンド、クロック信号及びアドレス信号並びにホストメモリコントローラからのデータの全てを再起動（re-drive）するべく機能する。メモリバッファ６０２は、機能的にＤＲＡＭ６０４をホストから分離して、電気的負荷を低減させ、その結果、コンピュータシステムが所定のメモリ容量に対して高速で動作することを可能としている。
【００４７】
図７は、汎用マイクロプロセッサベースのコンピュータシステム７００におけるダイレクト・エクセキューション・ロジックを組み込んだ本発明に係るスイッチ／ネットワーク・アダプタポート・インターフェースを含むコンピューティングシステムの代表的な実施形態を示したブロック図である。
【００４８】
コンピュータシステム７００は、ＬＲ−ＤＩＭＭメモリ７０４にアクセスするマイクロプロセッサ７０２を含み、ＬＲ−ＤＩＭＭメモリ７０４は、メモリＤＩＭＭ７０６のアレイへアクセスする。ＭＡＰプロセッサ７１０の形態で提供されているダイレクト・エクセキューション・ロジック要素は、ＳＮＡＰインターフェース７０８を介して、ＬＲ−ＤＩＭＭメモリ７０４及びメモリＤＩＭＭ７０６の両方にアクセスするべく接続されている。
【００４９】
図には、コンピューティングシステムの１つの実現可能な実施形態が示されており、システムは、ダイレクト・エクセキューション・ロジック要素（ＭＡＰプロセッサ７１０）及び１つの高密度ロジックデバイス（マイクロプロセッサ７０２）によって選択的にアクセス可能なスイッチ／ネットワーク・アダプタポート・インターフェースを含み、これら２つのデバイスはＬＲ−ＤＩＭＭ７０４を使用して接続されて、高速接続が提供されている。データ及びコマンド情報は、マイクロプロセッサ７０２とＭＡＰプロセッサ７１０との間でこのインターフェースを介してやり取りされる。メインＤＲＡＭメモリ空間（メモリＤＩＭＭ７０６）の一領域を、ダイレクト・エクセキューション・プロセッサ７１０及びマイクロプロセッサ７０２の両方が共有することを可能とするような態様でメモリサブシステムを構築することにより、インターフェースが形成されている。
【００５０】
これは、領域各々が固有の特性を有する３つの個別の領域に分割されたメインＤＲＡＭシステム７０６メモリを備えることで、有効となる。第１領域は、マイクロプロセッサのオペレーティングシステム（ＯＳ）が存在する領域であってもよく、システムメモリと称される。第２領域は、ＭＡＰプロセッサ７１０及びマイクロプロセッサ７０２によって共有される領域であって、共有メモリセグメントと称されてもよい。第３領域は、２つのプロセッシング要素７０２、７１０の間の通信を提供し、情報を制御するのに使用される領域であってもよい。この領域は、ＬＲ−ＤＩＭＭ７０４の３ステート機能として利用され、メモリＤＩＭＭ７０６の制御の高速受け渡しを可能とする。
【００５１】
この実施形態において、マイクロプロセッサ７０２は、１つのメモリコントローラ及びメモリＤＩＭＭ７０６の１つのセットとの接続を有してもよい。しかしながら、これは必須の構成ではなく、マイクロプロセッサ７０２は、いかなる数のメモリコントローラを有してもよく、そのうちの１以上が、１以上のＳＮＡＰインターフェース７０８によって共有されてもよい。
【００５２】
上記した原理は全体として、ＬＲ−ＤＩＭＭ７０４のアイソレーションメモリバッファを使用して、ダブルデータレート３（ＤＤＲ３）メモリバスで容易に機能するＳＮＡＰインターフェース７０８を形成することである。この点において、一組のＬＲ−ＤＩＭＭ７０４メモリバッファが使用されてもよい。一組のメモリバッファうちの一方のアップストリームポートは、システムチップセット又はマイクロプロセッサ７０２におけるメモリコントローラと接続されていてもよい。他方のメモリバッファのアップストリームポートは、ＳＮＡＰインターフェース７０８ＦＰＧＡに接続されてもよい。また、一組のメモリバッファのダウンストリームポートの少なくとも１つは、メモリチップの共通セットに接続されてもよく、この接続により、共有メモリ領域の基礎が形成されてもよい。他方のメモリバッファのダウンストリームポートは、独立したメモリアレイに接続されてもよく、この接続により、マイクロプロセッサ７０２又はＳＮＡＰインターフェース７０８に対するプライベートメモリを形成してもよい。アップストリームマイクロプロセッサ７０２メモリ空間の１ランクが、セットアップされて、ＳＮＡＰインターフェース７０８における設定／制御レジスタとして機能してもよい。スタートアップシーケンスは、共有メモリ領域の使用が限定されて、システムＯＳはこの領域を使用しないような態様で行われる。
【００５３】
図８は、マイクロプロセッサによってアクセスされるＬＲ−ＤＩＭＭのうちの１つをスイッチ／ネットワーク・アダプタポート・インターフェースで置き換えた本発明の実施形態に係るスイッチ／ネットワーク・アダプタポート・インターフェースを含むコンピューティングシステムの別の代表的な実施形態を示したブロック図である。
【００５４】
コンピューティングシステム８００は、ＬＲ−ＤＩＭＭ８０４及び８０６と接続されたマイクロプロセッサ８０２を含み、ＬＲ−ＤＩＭＭ８０６は、システムメモリ８０８と接続されている。ＳＮＡＰインターフェース８１０及び関連付けられたＭＡＰプロセッサ８１２は、ＬＲ−ＤＩＭＭ８０６及びシステムメモリ８０８の間のバスと接続されている。この実施形態におけるコンピューティングシステム８００では、ＳＮＡＰインターフェース８１０を使用して、マイクロプロセッサ８０２と接続されているＬＲ−ＤＩＭＭのうちの１つを置き換える。したがって、少なくとも１つのメモリコントローラを有するマイクロプロセッサ８０２は、ＬＲ−ＤＩＭＭ８０４，８０６の少なくとも１つのセットと接続され、これらＬＲ−ＤＩＭＭの１以上を、少なくとも１つのＳＮＡＰインターフェース８１０で置き換えられている。
【００５５】
図９は、ＬＲ−ＤＩＭＭのランク乗算機能を利用して、スイッチ／ネットワーク・アダプタポート・インターフェースを１ランクのメモリのみをサポートするマイクロプロセッサと接続可能とする本発明に係るスイッチ／ネットワーク・アダプタポート・インターフェースを含むコンピューティングシステムの別の代表的な実施形態を示したブロック図である。
【００５６】
コンピューティングシステム９００は、メモリバス９０４によってＬＲ−ＤＩＭＭ９０６と接続されたマイクロプロセッサ９０２を含む。ＬＲ−ＤＩＭＭ９０６は、システムメモリ９０８、９１０と接続される。ＳＮＡＰインターフェース９１２及び関連付けられているＭＡＰプロセッサ９１４は、システムメモリ９１０及びＬＲ−ＤＩＭＭ９０６と接続されている。
【００５７】
コンピューティングシステム９００においては、ＬＲ−ＤＩＭＭ９０６メモリバッファのランク乗算機能を使用して、ＳＮＡＰインターフェース９１２を、メモリの１ランクのみをサポートするマイクロプロセッサ９０２システムと接続することを可能としている。これは、１ランク以上のメモリの負荷効果をメモリバスのスピードが許容できないことに起因する、又は、マイクロプロセッサ９０２の設計制限に起因する。マイクロプロセッサ９０２ベースのシステムが、メインメモリバスにおいて１ランクメモリのみをサポートすることは通常である。すなわち、メモリバス９０４は、ＤＩＭＭの１ランクのみをサポートすることができる。ＬＲ−ＤＩＭＭ９０６のメモリバッファをランク乗算器として採用することにより、ＳＮＡＰインターフェース９１２は、自身のメモリセグメント上のメモリバッファと接続される。
【００５８】
本名発明の原理が特定のハードウェア及びアーキテクチャを参照して説明されたが、上記の説明は、例示のみを目的として記載されており、本発明の範囲を限定することを目的としていない。特に、上記の説明の教示するところから、当業者であれば、その他の変形例を提案することができることは明らかである。このような変形例は、当業者に周知のその他の特徴を伴い、上記で説明した構成に替えて又は加えて使用されてもよい。本願では、特徴の特定の組み合わせを使用して請求項が構成されているが、本開示の範囲は、当業者にとって明らかな一般化された特徴又は変形例若しくは本明細書に明示的に又は黙示的に開示されている特徴の新規な組み合わせ又は新規な特徴を含み、これらの特徴が、添付の特許請求の範囲の請求項に現時点で記載されている同じ発明に関しているか、及び、本発明が直面する同じ技術的な問題の一部又は全てを解決しているかによって、開示の範囲は限定されない。また、出願人は、本願及び本願から派生する出願における審査過程で、このような特徴及びこのような特徴の組み合わせについて、新しい請求項を生成する権利を有する。
【００５９】
本明細書で使用される「備える（comprise）」「備えた（comprising）」という用語及びその派生語は、非排他的包含を意図しており、列挙された特定の要素を備えるプロセス、方法、物品又は装置が、必ずしも、これらの要素のみを含むのではなく、明示的に列挙されてないその他の要素又はこのようなプロセス、方法、物品又は装置に本来備わっているその他の要素をも含み得ることを意味している。本願の記載の何れについても、特定の要素、段階又は機能が、特許請求の範囲に含まれなければならないことを指していると解釈されるべきではなく、本発明の特許性を有する特徴の範囲は、特許請求の範囲の記載によってのみ規定される。また、添付の特許請求の範囲において、"ｍｅａｎｓ ｆｏｒ＋分詞（するための手段）"と明記されていない限り、３５．Ｕ．Ｓ．Ｃ．セクション１１２の第６パラグラフを行使することを意図していない。
【図１】
0005408677.tif 000002
【図２】
0005408677.tif 000003
【図３】
0005408677.tif 000004
【図４】
0005408677.tif 000005
【図５】
0005408677.tif 000006
【図６】
0005408677.tif 000007
【図７】
0005408677.tif 000008
【図８】
0005408677.tif 000009
【図９】
0005408677.tif 000010