JP2005500621A - デュアル・インライン・メモリモジュール・フォーマットにおいて一連のマルチアダプティブプロセッサを採用したクラスタ型コンピュータ用スイッチ/ネットワークアダプタポート - Google Patents
デュアル・インライン・メモリモジュール・フォーマットにおいて一連のマルチアダプティブプロセッサを採用したクラスタ型コンピュータ用スイッチ/ネットワークアダプタポート Download PDFInfo
- Publication number
- JP2005500621A JP2005500621A JP2003521956A JP2003521956A JP2005500621A JP 2005500621 A JP2005500621 A JP 2005500621A JP 2003521956 A JP2003521956 A JP 2003521956A JP 2003521956 A JP2003521956 A JP 2003521956A JP 2005500621 A JP2005500621 A JP 2005500621A
- Authority
- JP
- Japan
- Prior art keywords
- bus
- computer system
- memory module
- processor element
- processor
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 230000009977 dual effect Effects 0.000 title abstract description 4
- 230000002093 peripheral effect Effects 0.000 claims abstract description 18
- 238000004422 calculation algorithm Methods 0.000 claims description 16
- 230000005540 biological transmission Effects 0.000 claims 6
- 230000014759 maintenance of location Effects 0.000 claims 6
- 230000008878 coupling Effects 0.000 claims 3
- 238000010168 coupling process Methods 0.000 claims 3
- 238000005859 coupling reaction Methods 0.000 claims 3
- 238000012546 transfer Methods 0.000 abstract description 16
- 230000008859 change Effects 0.000 abstract description 2
- 238000000034 method Methods 0.000 description 12
- 238000010586 diagram Methods 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 4
- 230000006872 improvement Effects 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 238000000354 decomposition reaction Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 239000003795 chemical substances by application Substances 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 239000012556 adjustment buffer Substances 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/78—Architectures of general purpose stored program computers comprising a single central processing unit
- G06F15/7867—Architectures of general purpose stored program computers comprising a single central processing unit with reconfigurable architecture
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4004—Coupling between buses
- G06F13/4027—Coupling between buses using bus bridges
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Multi Processors (AREA)
Abstract
Description
【0001】
発明の背景
この発明は一般的に、多数のプロセッサ要素を組込んだコンピュータアーキテクチャの分野に関する。より特定的には、この発明は、クラスタ型コンピュータ用スイッチ/ネットワークアダプタポート(SNAP)であって、デュアル・インライン・メモリモジュール(Dual In-line Memory Module:DIMM)フォーマットにおいて一連のマルチアダプティブプロセッサ(Multi-Adaptive Processor:MAP(R)、エス・アール・シィ・コンピューターズ・インコーポレイテッド(SRC Computers Inc.)の登録商標)を採用することで、データ転送レートを周辺構成要素相互接続(Peripheral Component Interconnect:PCI)バスで利用可能であったレートに対して大幅に向上させたものに関する。
【背景技術】
【0002】
プロセッサカウントが大きくて経済的なコンピュータをもたらす現在最も有望な方法の中には、パーソナルコンピュータ(PC)で一般的に見られるような比較的低価格のマイクロプロセッサベースのボードをいくつかまとめてクラスタ化することに関する方法がある。次にこれらさまざまなボードを、利用可能なクラスタ化ソフトウェアを用いて動作させ、こうしてこれらは1つ以上の大きな問題を解くように一斉に実行を行なう。このように問題を解くプロセスの際、プロセッサボード間で中間計算結果が共有されることが多い。
【発明の開示】
【発明が解決しようとする課題】
【0003】
現在利用可能な技術を利用した場合、この共有は周辺構成要素相互接続(PCI)バス経由で行なわれることになるが、これは現在のPCで一般的に見られる最も高性能の外部インターフェイスバスである。このバスにはさまざまな利用可能なバージョンがあるが、これらはすべて1GB/秒未満の帯域幅に限定され、かつこれらはプロセッサバスよりも数レベル下のチップに位置するため、いずれも極めて長い待ち時間を呈する。低価格PCにおいては、このバスは典型的に256MB/秒のオーダの帯域幅を提供するに過ぎない。
【0004】
これらの要因は、個々としても全体としても、クラスタの全体的な有効性を大幅に制限するおそれがあり、より高速のインターフェイスを見つけることができれば、クラスタが大きな問題を解く能力は大幅に増大するであろう。残念ながら、このようなポートを与えることができる新たな専用のチップセットを設計することは極めて高価であるばかりでなく、遭遇するクラスタ化相互接続の種類ごとに特化しなければならないであろう。当然のことながら、これによってチップセットのいずれの1バージョンについても潜在的な売上量は比較的少なくなり、非経済的となるであろう。
【課題を解決するための手段】
【0005】
発明の概要
この発明の技術に従い、既存の標準PCメモリバスをマルチアダプティブプロセッサ(MAP(R)、SRCコンピューターズ・インコーポレイテッドの登録商標)との関連で用いて、このデータ転送レートの問題を一般的に適用可能な態様で解決することを可能にするシステムおよび方法が提供される。この目的のために、クラスタ型コンピュータ用スイッチ/ネットワークアダプタポートであって、DIMMフォーマットにおいて一連のマルチアダプティブプロセッサを採用することで、データ転送レートをPCIバスで利用可能であったレートに対して大幅に向上させたものがここに開示される。
【0006】
今日のPCにおいて最も一般的に用いられるメモリフォーマットの1つとしてデュアル・インライン・メモリモジュール(DIMM)フォーマットがある。このモジュールは現在、ダブルデータレート(Double Data Rate:DDR)フォーマットと呼ばれるものにおいて利用可能であり、このフォーマットを使用したPCは今日最大1.6GB/秒の帯域幅を提供できるメモリバスを組込む。近い将来、このバスはさらに拡張されて最大3.2GB/秒の帯域幅を有するクワッドデータレート(Quad Data Rate:QDR)DIMMをサポートすることになるであろう。現在利用可能な代替的なメモリの形態としてはRambusDIMM(RIMM)がある。RIMMの基本的な特徴は標準的なDIMMと類似であるため、先の議論および後の開示のためには、DIMMという用語を両方のメモリの形態を表わすために用いる。
【0007】
DIMMメモリはPCマイクロプロセッサのための主記憶場所を構成するので、プロセッサバスに対して電気的に極めて「近く」設計されるため、極めて短い待ち時間を呈し、DIMMに関連する待ち時間はPCIバスのわずか25%のオーダであることも珍しくない。本質的にこの帯域幅をコンピュータ間の相互接続として活用することで、大幅に増大したクラスタ性能が実現可能である。
【0008】
この目的のために、MAP要素を(たとえばDIMM物理フォーマットで)PCのDIMMスロットの1つに置くことにより、このMAP要素のフィールド・プログラマブル・ゲートアレイ(Field Programmable Gate Array:FPGA)は、通常のメモリ「読出」および「書込」トランザクションを受入れて、これらを相互接続スイッチまたはネットワークの用いるフォーマットに変換することができる。
【0009】
上述の特許および特許出願に開示するように、各MAP要素は、これを他のMAP要素と結合できるようにするためのチェーンポートを含み得る。このチェーンポートを用いて外部クラスタ化構造との接続を行なうことで、データパケットを遠隔ノードに送ることが可能となり、ここでこれらのパケットは同一のボードによって受けられ得る。この特定の応用例では、MAP要素はパケットからデータを抽出して、受信側プロセッサが必要とするまでこれを記憶することになる。
【0010】
この技術の結果として、データ転送レートは現在入手可能ないずれのPCインターフェイスよりも数倍高くなる。しかしDIMMの電気プロトコルでは、データが一旦受信側に到着すると、これが到着したことをDIMMモジュールがマイクロプロセッサに通知することはできず、これができないため、MAP要素の連続的なポーリングを用いてデータが到着したかどうかを判断することでプロセッサの活動を同期化しなければならない。このような技術はマイクロプロセッサを完全に消費し、かつそのバス帯域幅のほとんどを消費してしまうため、その他のバスエージェントすべてをストールしてしまう。
【0011】
この状況を回避するため、DIMM MAP要素にはさらに、これが既存のPCIバスと通信できるようにするための接続を設けることができ、こうしてDIMM MAP要素は通信制御パケットを生成して、PCIバス経由でプロセッサに送ることができる。これらパケットは動かされるデータ全体のうち極めて小さな割合しか占めないため、PCIバスの帯域幅が小さいことの影響は最小限に抑えられ、さらに従来のPCI中断信号を用いてデータが到着したことをプロセッサに通知することもできる。この発明の別の実現例に従うと、システム管理(SM)バスを用いてプロセッサに通知を行なうこともできる。SMバスは直列カレントモードのバスであり、従来のやり方でプロセッサボード上のさまざまな装置がプロセッサを中断できるようにする。
【0012】
MAP要素を、DIMMスロット全体であり得るものと関連付けることによって、PCは、典型的に1GBのオーダの大きなブロックのアドレスを、MAP要素による使用に割当てることになる。これらアドレスのうちいくつかは、(上述の特許および特許出願に開示するように)コマンドとしてデコードされ得るが、多くは記憶場所としてなお使用可能である。少なくとも、データを周辺機器から転送するのに用いる通常の入力/出力(I/O)ブロックサイズと同数のアドレス場所を設けることで、ほとんどのPCで使用される従来のインテル(Intel)(R)チップセットはMAP要素への直接のI/O転送を可能にする。そしてこれにより、データはたとえばディスクから到着して直接MAP要素に入ることができる。次にこれは所望の任意の態様で変更を加えられ、パケット化されて遠隔ノードへ送信され得る。ディスクのPCIポートも、MAP要素のDIMMスロットも、PCメモリコントローラで制御されるため、この転送によりプロセッサバス帯域幅は消費されない。
【0013】
なお、いくつかのPCにおいては、いくつかのDIMMをインタリーブしてメモリアクセス能力を拡大し、こうしてメモリ帯域幅を増加させることもできる。これらシステムにおいては、上述の技術をいくつかのDIMMスロットで並行的に用いることもできる。それでも特定の選択した実現例にかかわらず最終的な結果としては、PCIバスおよび外部スイッチまたはネットワークへの1つ以上の接続を有するDIMMベースのMAP要素が得られ、その結果、PCIベースの接続のみの数倍の性能が得られ、さらにデータが相互接続構造を通過する際にこのデータを処理する能力もまた数倍となる。
【0014】
ここで特定的に開示されるのは、マイクロプロセッサベースのコンピュータシステムであって、外部スイッチ、ネットワークまたはその他の装置との接続を実現することを目的として、DIMMまたはRIMMベースのMAP要素を利用したものである。さらに、DIMMまたはRIMMベースのMAP要素であって、制御情報をホストマイクロプロセッサまたは他の制御チップに渡すことを目的としたPCIまたはSMバスへの接続を有するMAP要素がここで開示される。さらに、DIMMまたはRIMMベースのMAP要素であって、ここを通過して外部相互接続構造または装置に出入りするデータを変更させることができるMAP要素がここで開示される。
【0015】
この発明の上述およびその他の特徴および目的、ならびにこれらを達成する態様は、添付の図面と関連させながら好ましい実施例の以下の説明を参照することでさらに明らかになり、かつ発明それ自体が最もよく理解されるであろう。
【発明を実施するための最良の形態】
【0016】
例示的な実施例の説明
まず、図1を参照して、上述の特許および特許出願の開示に従うマルチプロセッサコンピュータ10のアーキテクチャを示す。マルチプロセッサコンピュータ10は、メモリ相互接続構造14と双方向に結合されたN個のプロセッサ120〜12Nを組込む。メモリ相互接続構造14はさらに、メモリバンクサブシステム160(バンク0)〜16M(バンクM)を含むM個のメモリバンクに結合される。或る数のマルチアダプティブプロセッサ要素(MAP(R))112(続く図面でより具体的に示す)が1つ以上のメモリバンク16と関連付けられる。やはり上述の特許および特許出願で開示するように、MAP要素112はチェーンポートを含み得る。
【0017】
次に図2を参照して、この発明に従い複数のマルチアダプティブプロセッサ要素112を組込んだマルチプロセッサコンピュータアーキテクチャ100についての代表的なアプリケーションプログラム分解を示す。コンピュータアーキテクチャ100は、分解における粗粒部分において、4つの並列領域1021から1024までのうち(単に例として)1つに対して選択的に向けられたユーザ命令およびデータに応答して動作する。並列領域1021〜1024の各々からの命令およびデータ出力は、データ区域1041〜1044および命令区域1061〜1064となるよう分離された並列領域にそれぞれ入力される。データ区域1041〜1044内に維持されたデータ、および命令区域1061〜1064内に維持された命令は、次に、たとえば図示するように対応するプロセッサ対1081,1082(P1およびP2)、1083,1084(P3およびP4)、1085,1086(P5およびP6)、ならびに1087,1088(P7およびP8)に供給される。この時点で、命令およびデータの中程度のきめの分解が達成されている。
【0018】
さらなるアルゴリズム分解によってきめの細かい分解または並列性が実行され、ここでプロセッサ1081〜1088の各プロセッサの出力はばらばらにされて、たとえば図示するように或る数の基本アルゴリズム1101A,1101B,1102A,1102B〜1108Bになる。次に各アルゴリズムはMAP要素1121A,1121B,1122A,1122B〜1128Bのうち対応する1つに供給される。これらはコンピュータアーキテクチャ100のメモリ空間内に位置してここで実行を行なうことができるが、これについては後により詳細に説明する。
【0019】
次に図3をさらに参照して、MAP要素ベースのシステムのコンピュータアーキテクチャ100におけるメモリバンク120の例示的な実現例を、先の図面に例示したMAP要素112のうち代表的なものについて示す。各メモリバンク120は、コンピュータシステム中継線たとえば72線バス124と双方向に結合されたバンク制御ロジックブロック122を含む。バンク制御ロジックブロック122は双方向データバス126(たとえば256線)に結合され、さらに、メモリアレイ130内の指定された場所にあるデータにアクセスするためのアドレスをアドレスバス128(たとえば17線)に供給する。
【0020】
データバス126およびアドレスバス128はさらにMAP要素112に結合される。MAP要素112は、アドレスバス128に結合された制御ブロック132を含む。制御ブロック132はさらに、或る数の信号線136を用いてユーザ・フィールド・プログラマブル・ゲートアレイ(FPGA)134と双方向に結合される。ユーザFPGA134はデータバス126に直接結合される。或る特定の実施例では、FPGA134はルーセント・テクノロジーズ(Lucent Technologies)OR3T80デバイスとして設けられ得る。
【0021】
例示的なコンピュータアーキテクチャ100は、メモリサブシステムまたはメモリ空間内に位置し得る1つ以上のMAP要素112を有する共通の共有メモリにわたって一様なメモリアクセスを採用したマルチプロセッサシステムを含む。上述のように、各MAP要素112は、再構成可能な機能ユニットとして用いられる少なくとも1つの比較的大きなFPGA134を含む。加えて、制御ブロック132および予めプログラミングされたまたは動的プログラミング可能な構成ROM(これについては後により詳細に説明する)は、再構成可能MAP要素112が特定のアルゴリズムを実行できるようにするのに必要な情報を含む。ユーザがプログラム制御下でFPGA134内に新たな構成を直接ダウンロードすることも可能であるが、場合によってはこれはいくつかのメモリアクセスを消費することがあり、結果として、アルゴリズムが一時的なものである場合、システム性能に全体的な低下を引起し得る。
【0022】
FPGAはここに示す出願においていくつかの理由から特に有利である。第1に、市場で入手可能なFPGAは今や、意味のある計算機能を実行するために十分な内部ロジックセルを含んでいる。第2には、マイクロプロセッサに匹敵するバス速度での動作が可能であり、このため速度調整用バッファの必要性がなくなる。さらに、FPGAの内部のプログラミング可能ルーティング資源は今や、入力/出力(I/O)ピンの場所を再割当てする必要なしに、意味のあるアルゴリズムをプログラミングできるのに十分大きいものとなっている。
【0023】
たとえばMAP要素112をメモリサブシステムまたはメモリ空間内に置くことで、これはメモリ「読出」および「書込」コマンドを用いて容易にアクセス可能となり、このためさまざまな標準オペレーティングシステムを使用することが可能である。対照的に、その他の従来の実現例は、再構成可能ロジックをプロセッサ内またはその近くに置くことを提案していることもあるが、これら従来の実現例はマルチプロセッサ環境では一般的にはるかに有効性が低い。それは、これに対する高速アクセスを有し得るのがただ1つのプロセッサだけであるからである。したがってマルチプロセッサシステムでは再構成可能ロジックはあらゆるプロセッサの側に置かれる必要があり、このため全体的なシステムコストが増加する。MAP要素112はDMA能力を有し(こうしてこれはメモリへの書込をすることができ)、これはそのオペランドをメモリへの書込を通じて受取るので、MAP要素112がチェーンポートを用いて別のMAP要素112に結果を入力できるようにすることが可能である。これは極めて強力な特徴点であり、これによって大きなタスクを極めて大規模にパイプライン化および並列化することが可能となり、こうしてこれらがより高速で完了できるようにする。
【0024】
実現され得るアルゴリズムの多くはオペランドを受取り、結果を生成するのに多くのクロックサイクルを必要とする。このような例の1つが乗算であり得るが、これには64クロックサイクルかかる。この同じ乗算が何千ものオペランドに対して実行されなければならないこともあり得る。この状況において、入来するオペランドは逐次的に提示されることになり、第1のオペランドは出力に結果を生成するのに64クロックサイクルを必要とし、一方で第2のオペランドは入力に1クロックサイクル遅く到着して、出力において1クロックサイクル遅く結果を示すことになる。したがって最初の64クロックサイクルの遅延の後、最後のオペランドの結果が現われるまであらゆる連続的なクロックサイクルにおいて新たな出力データが現われることになる。これは「パイプライン化」と呼ばれる。
【0025】
マルチプロセッサシステムにおいては、オペレーティングシステムがタスクの途中でプロセッサを止めて、これをより高い優先順位のタスクに再割当てし、該または別のプロセッサを元に戻して最初のタスクを完了させることが極めて多い。これがパイプライン化されたアルゴリズムと組合されると、(プロセッサがリストの途中でオペランドの発行を止め、かつ結果を受付けることを止めた場合に)既に発行されているがまだパイプラインを通り過ぎていないオペランドに関して問題が生じる。この事柄に対処するために、上述の特許および特許出願に開示のとおり、ソフトウェアとハードウェアとの組合せに関連する解決策が提供される。
【0026】
任意の種類の従来の再構成可能ハードウェアを利用するために、プログラマは自分のアプリケーションプログラムコード内に必要なコマンドを埋込むことがある。この手法の問題は、MAPハードウェア専用となるようにプログラムを特化しなければならないことである。ここに開示のシステムはこの問題をなくす。マルチプロセッサコンピュータはパラレライザと称されるソフトウェアをしばしば使用する。このソフトウェアの目的は、ユーザのアプリケーションコードを分析して、これをプロセッサ間でどのように分割すれば最良かを判断することである。ここに開示の技術は従来のパラレライザに対して顕著な利点を提供し、ユーザコードのうち、このシステムのためにMAP要素112内に存在するアルゴリズムを表わす部分をパラレライザが認識して、MAP要素112を別の計算要素として取扱うことができるようにする。次にパラレライザは、MAP要素112を利用するのに必要なコードを自動的に生成する。これによりユーザはアルゴリズムを直接自分のコードに書込むことができ、こうしてその移植性を増大させ、MAP要素112の利用に必要なシステムハードウェアの知識を減少させる。
【0027】
次に図4をさらに参照して、MAP制御ブロック132のブロック図をより詳細に示す。制御ブロック132は、コマンドデコーダ150において或る数のコマンドビット(たとえば17個)をアドレスバス128から受取るように結合される。次にコマンドデコーダ150は、或る数のレジスタ制御ビットを、8ビットバス154を介して一群の状態レジスタ152に供給する。コマンドデコーダ150は、線156を介して単一ビットの最終オペランドフラグをパイプラインカウンタ158に供給する。パイプラインカウンタ158は、バス162を介して8ビット出力を同等性比較器160に供給する。同等性比較器160はさらに、FPGA134からバス136を介して、パイプライン深さを表わす8ビット信号を受取る。同等性比較器160は、パイプラインが空であると判断すると、状態レジスタ152に入力するための単一ビットのパイプライン空フラグを線164に与える。状態レジスタ152はさらに、バス136を介してFPGA134から8ビット状態信号を受取るように結合され、バス136、バス154および線164上の信号に応答して64ビット状態ワード出力をバス166に生成する。
【0028】
コマンドデコーダ150はさらに、図示するように、線168を介して構成マルチプレクサ(MUX)170に5ビット制御信号を供給する。構成MUX170は、線176を介して256ビット並列直列変換器172の単一ビット出力を受取る。256ビット並列直列変換器172の入力は256ビットユーザ構成パターンバス174に結合される。構成MUX170はさらに、バス178を介して構成ROM(ROM182で例示する)から16個の単一ビット入力を受取り、バス168を介したコマンドデコーダ150からの制御信号によって選択されるように、単一ビット構成ファイル信号を線180を介してユーザFPGA134に与える。
【0029】
動作においては、プロセッサ108がオペレーティングシステムによって止められると、オペレーティングシステムは最終オペランドコマンドを、アドレスフィールドに埋込まれたコマンドビットを用いて、バス128を介しMAP要素112に対して発行する。このコマンドは制御ブロック132のコマンドデコーダ150によって認識され、これはハードウェアパイプラインカウンタ158を開始させる。アルゴリズムが最初にFPGA134にロードされたとき、制御ブロック132に接続されたいくつかの出力ビットは、同等性比較器160に対するバス136の入力において、そのパイプラインを通り抜けるのに必要なクロックサイクル数(すなわちパイプライン「深さ」)の2進値表現を示すように構成されている。制御ブロック132のパイプラインカウンタ158は、最終オペランドコマンドを受取った後、クロックサイクルをカウントし、そのカウントがこの特定のアルゴリズムについてのパイプライン深さと等しくなるまでこれを行なう。この時点で、制御ブロック132の同等性比較器160は、状態レジスタ152の内部群において線164を介してビジービットをデアサートする。プロセッサ108は、最終オペランド信号を発行した後、状態レジスタ152を繰返し読出し、バス166上のあらゆる出力データを受入れる。ビジーフラグがデアサートされると、タスクを止めてMAP要素112を異なるタスクのために利用することが可能となる。なお、MAP要素112を構成されたままにし、プログラムを異なるプロセッサ108に転送して、タスクを止めたところから再開させることもまた可能である。
【0030】
所与の応用例でのMAP要素112の使用の有効性を評価するには、使用に対する或る形のフィードバックが必要となる。このため、MAP要素112に制御ブロック132の内部レジスタを備えさせることがあり、これにより効率に関係する要因、たとえば出力データに対する入力オペランドの数、或る期間にわたるアイドルサイクルの数、および或る期間にわたって受取られたシステムモニタ中断の数などを、MAP要素が監視できるようにする。MAP要素112が有する利点の1つは、その再構成可能な性質のため、アルゴリズムが変わるにつれて、監視される実際の機能および機能の種類もまた変えることができる。このためユーザには、すべての要因を常に監視する必要なしに、考えられ得るほとんど無限数の監視要因が与えられる。
【0031】
次に図5をさらに参照して、この発明に従うコンピュータシステム200の例示的な実施例の機能ブロック図を示し、これは、クラスタ型コンピュータ用スイッチ/ネットワークアダプタポートであって、DIMMフォーマットにおいて一連のマルチアダプティブプロセッサを採用することで、データ転送レートを周辺構成要素相互接続(PCI)バスで利用可能であったレートに対して大幅に向上させたものを含んでいる。
【0032】
例示する特定の実施例では、コンピュータシステム200は1つ以上のプロセッサ2020〜2021を含み、これらは関連のPCメモリおよびI/Oコントローラ204に結合される。動作においては、コントローラ204はPCI制御ブロック206と制御情報を送受信する。なお、この発明の代替的な実施例では、制御ブロック206はAGPまたはSM制御ブロックであることもある。PCI制御ブロック206は1つ以上のPCIカードスロット208に結合されるが、ここで実質的に256MP/秒のレートでデータ転送が可能な比較的小さな帯域幅のPCIバス210を用いる。上述のこの発明の代替実施例においては、カードスロット208はアクセラレーテッド・グラフィックス・ポート(Accelerated Graphics Port:AGP)バス接続またはシステム管理(System Maintenance:SM)バス接続を代替的に含み得る。
【0033】
コントローラ204はまた従来のやり方で、実質的に2.1GB/秒以上のデータ転送レートが可能なはるかに大きな帯域幅のDIMMバス216を用いて、或る数のDIMMスロット214に結合される。この発明の特定の実現例に従うと、DIMM MAP要素212は、DIMMスロット214の1つと関連付けられ、または物理的にこの中に位置する。DIMM MAP要素212への、またはここからの制御情報は、PCIバス210とDIMM MAP要素212とを相互接続する接続218を用いて与えられる。次にDIMM MAP要素212を別のクラスタ型コンピュータMAP要素に結合でき、ここでMAPチェーンポートに接続されたクラスタ相互接続構造接続220が用いられ得る。上述のようにDIMM MAP要素212はRIMM MAP要素を含むこともある。
【0034】
DIMMスロット214内に位置するDIMMメモリは、PCマイクロプロセッサ2020,2021のための主記憶場所を構成するので、プロセッサバスに対して電気的に極めて「近く」設計されるため、極めて短い待ち時間を呈する。上述のように、DIMMに関連する待ち時間はPCIバス210のわずか25%のオーダであることも珍しくない。本質的にこの帯域幅をコンピュータシステム200間の相互接続として活用することで、大幅に増大したクラスタ性能が実現可能である。
【0035】
この目的のために、DIMM MAP要素212をPCのDIMMスロット214の1つに置くことにより、このMAP要素のFPGA134(図3)は通常のメモリ「読出」および「書込」トランザクションを受入れて、これらを相互接続スイッチまたはネットワークの用いるフォーマットに変換することができる。上述の特許および特許出願に開示するように、各MAP要素212は、これを他のMAP要素212と結合できるようにするためのチェーンポートを含む。このチェーンポートを用いて接続220経由で外部クラスタ化構造との接続を行なうことで、データパケットを遠隔ノードに送ることが可能となり、ここでこれらのパケットは同一のボードに受けられ得る。この特定の応用例では、DIMM MAP要素212はパケットからデータを抽出して、受信側プロセッサ202が必要とするまでこれを記憶することになる。
【0036】
この技術の結果として、データ転送レートは、PCIバス210など現在入手可能ないずれのPCインターフェイスよりも数倍高くなる。しかしDIMMの電気的プロトコルでは、データが一旦受信側に到着すると、これが到着したことをDIMMスロット214内のDIMMモジュールがマイクロプロセッサ202に通知することはできず、これができないため、DIMM MAP要素212の連続的なポーリングを用いてデータが到着したかどうかを判断することでプロセッサ202の活動を同期化しなければならない。このような技術はマイクロプロセッサ202を完全に消費し、かつそのバス帯域幅のほとんどを消費してしまうため、その他のバスエージェントすべてをストールしてしまう。
【0037】
この状況を回避するため、DIMM MAP要素212にはさらに、これが既存のPCIバス210と通信できるようにするための接続218を設けることができ、こうしてこれは通信パケットを生成して、PCIバス210経由でプロセッサ202に送ることができる。これらパケットは動かされるデータ全体のうち極めて小さな割合しか占めないため、PCIバス210の帯域幅が小さいことの影響は最小限に抑えられ、さらに従来のPCI中断信号を用いてデータが到着したことをプロセッサ202に通知することもできる。この発明の別の実現例に従うと、システム管理(SM)バス(図示せず)を用いてプロセッサ202に通知を行なうこともできる。SMバスは直列カレントモードのバスであり、従来のやり方でプロセッサボード上のさまざまな装置がプロセッサ202を中断できるようにする。代替的な実施例では、アクセラレーデッド・グラフィックス・ポート(AGP)を用いてプロセッサ202に通知を行なうこともある。
【0038】
DIMM MAP要素212を、DIMMスロット214全体であり得るものと関連付けることによって、PCは、典型的に1GBのオーダの大きなブロックのアドレスを、DIMM MAP要素212による使用に割当てることになる。これらアドレスのうちいくつかは、(上述の特許および特許出願に開示するように)コマンドとしてデコードされ得るが、多くは記憶場所としてなお使用可能である。少なくとも、データを周辺機器から転送するのに用いる通常の入力/出力(I/O)ブロックサイズと同数のアドレス場所を設けることで、ほとんどのPCで使用される(コントローラ204を含む)従来のインテル(R)チップセットは、DIMM MAP要素212への直接のI/O転送を可能にする。そしてこれにより、データはたとえばディスクから到着して直接DIMM MAP要素212に入ることができる。次にこれは所望の任意の態様で変更を加えられ、パケット化されて接続220経由で遠隔ノードへ送信され得る。ディスクのPCIバス210も、DIMM MAP要素212およびDIMMスロット214も、PCメモリコントローラ204で制御されるため、この転送によりプロセッサバス帯域幅は消費されない。
【0039】
なお、いくつかのPCにおいては、DIMMスロット214内のいくつかのDIMMをインタリーブしてメモリアクセス能力を拡大し、こうしてメモリ帯域幅を増加させることもできる。これらシステムにおいては、上述の技術をいくつかのDIMMスロット214で並行的に用いることもできる。それでも特定の選択した実現例にかかわらず最終的な結果としては、PCIバス210への、および接続220経由で外部スイッチまたはネットワークへの1つ以上の接続を有するDIMMベースのMAP要素212が得られ、その結果、PCIベースの接続のみの数倍の性能が得られ、さらにデータが相互接続構造を通過する際にこのデータを処理する能力もまた数倍となる。
【0040】
以上、特定のコンピュータアーキテクチャとの関連でこの発明の原理を説明したが、以上の記載は例としてなされたにすぎず、この発明の範囲を限定するものではないことが明らかに理解されるであろう。特に、上述の開示の教示は当業者に他の変形例を示唆するであろうと認められる。このような変形例は、それ自体で既に公知であって、既にここに記載された特徴の代わりにまたはこれに加えて使用され得る他の特徴も含み得る。この出願における請求項は特徴の特定の組合せに対して立てられているが、ここにおける開示の範囲は、当業者に明らかであろう明示的または黙示的に開示されたあらゆる新規の特徴もしくはあらゆる新規の特徴の組合せ、またはこれを一般化もしくは変形したものをも含み、
このことはこれがいずれかの請求項で現在請求されている同じ発明に関しているかどうかにはかかわらず、かつこれがこの発明の対処するのと同じ技術的問題のいくらかまたはすべてを軽減するかどうかにはかかわらないことを理解されたい。ここに出願人は、この出願またはここから導き出されるあらゆるさらなる出願の審査の間に、このような特徴および/またはこのような特徴の組合せに対して新たな請求項を立てる権利を留保する。
【図面の簡単な説明】
【0041】
【図1】上述の特許および特許出願の開示に従うマルチアダプティブプロセッサ(MAP)を採用したマルチプロセッサコンピュータアーキテクチャを簡略化して示す高次の機能ブロック図であり、直接メモリアクセス(DMA)技術を用いて、データに加えコマンドをMAP要素に送ることができる特定の実施例におけるものである。
【図2】たとえばコンピュータシステムメモリ空間に位置する或る数のMAP要素を用いたマルチプロセッサコンピュータアーキテクチャとの関連で用いられる、考えられ得るコンピュータアプリケーションプログラム分解シーケンスを簡略化して示す論理ブロック図である。
【図3】先の図のMAP要素の例示的な1個をより詳細に示す機能ブロック図であって、バンク制御ロジック、メモリアレイおよびMAPアセンブリを例示するものである。
【図4】或る特定の実施例における、ユーザFPGAとの相互接続を例示する、先の図面のMAPアセンブリの制御ブロックをより詳細に示す機能ブロック図である。
【図5】この発明の例示的な一実施例を示す機能ブロック図であって、DIMMフォーマットにおいて一連のマルチアダプティブプロセッサを採用することで、データ転送レートを周辺構成要素相互接続(PCI)バスで利用可能であったレートに対して大幅に向上させた、クラスタ型コンピュータ用スイッチ/ネットワークアダプタポートを含むものである。
Claims (51)
- 少なくとも1つのプロセッサと、
前記少なくとも1つのプロセッサを周辺バス制御ブロックおよびメモリモジュールバスに結合するためのコントローラと、
周辺バスによって前記周辺バス制御ブロックに結合された少なくとも1つの周辺バススロットと、
前記メモリモジュールバスに結合された少なくとも1つのメモリモジュールスロットと、
プロセッサ要素とを備え、前記プロセッサ要素は、前記少なくとも1つのメモリモジュールスロットに関連付けられて、前記プロセッサ要素に結合された外部装置にデータ接続をもたらす、コンピュータシステム。 - さらに、
前記周辺バスに結合されて、前記プロセッサ要素への前記データ接続を介したデータの到着を、前記少なくとも1つのプロセッサに示すための、前記プロセッサ要素への制御接続を備える、請求項1に記載のコンピュータシステム。 - 前記メモリモジュールバスはDIMMバスを含む、請求項1に記載のコンピュータシステム。
- 前記プロセッサ要素は、前記少なくとも1つのメモリモジュールスロット内での保持のためのDIMM物理フォーマットを含む、請求項3に記載のコンピュータシステム。
- 前記メモリモジュールバスはRIMMバスを含む、請求項1に記載のコンピュータシステム。
- 前記プロセッサ要素は、前記少なくとも1つのメモリモジュールスロット内での保持のためのRIMM物理フォーマットを含む、請求項5に記載のコンピュータシステム。
- 前記外部装置は、別のコンピュータシステム、スイッチまたはネットワークのうち1つを含む、請求項1に記載のコンピュータシステム。
- 前記周辺バスはPCIバスを含む、請求項1に記載のコンピュータシステム。
- 前記プロセッサ要素は、前記データ接続を介した前記外部装置への送信前に、前記メモリモジュールバスを介して前記コントローラから受取ったデータを変更するように動作する、請求項1に記載のコンピュータシステム。
- 前記プロセッサ要素は、前記メモリモジュールバスを介した前記コントローラへの送信前に、前記外部装置から前記データ接続を介して受取ったデータを変更するように動作する、請求項1に記載のコンピュータシステム。
- 前記プロセッサ要素は
フィールド・プログラマブル・ゲートアレイを含み、前記フィールド・プログラマブル・ゲートアレイは、前記メモリモジュールバスおよび前記データ接続を介して前記フィールド・プログラマブル・ゲートアレイに与えられたオペランドに対して、識別されたアルゴリズムを実行するように構成可能である、請求項1に記載のコンピュータシステム。 - 前記少なくとも1つのプロセッサは複数のプロセッサを含む、請求項1に記載のコンピュータシステム。
- 少なくとも1つのプロセッサと、
前記少なくとも1つのプロセッサをグラフィックス制御ブロックおよびメモリモジュールバスに結合するためのコントローラと、
グラフィックスバスによって前記グラフィックス制御ブロックに結合された少なくとも1つのグラフィックスバス接続と、
前記メモリモジュールバスに結合された少なくとも1つのメモリモジュールスロットと、
プロセッサ要素とを備え、前記プロセッサ要素は、前記少なくとも1つのメモリモジュールスロットに関連付けられて、前記プロセッサ要素に結合された外部装置にデータ接続をもたらす、コンピュータシステム。 - さらに、
前記グラフィックスバスに結合されて、前記プロセッサ要素への前記データ接続を介したデータの到着を、前記少なくとも1つのプロセッサに示すための、前記プロセッサ要素への制御接続を備える、請求項13に記載のコンピュータシステム。 - 前記メモリモジュールバスはDIMMバスを含む、請求項13に記載のコンピュータシステム。
- 前記プロセッサ要素は、前記少なくとも1つのメモリモジュールスロット内での保持のためのDIMM物理フォーマットを含む、請求項15に記載のコンピュータシステム。
- 前記メモリモジュールバスはRIMMバスを含む、請求項13に記載のコンピュータシステム。
- 前記プロセッサ要素は、前記少なくとも1つのメモリモジュールスロット内での保持のためのRIMM物理フォーマットを含む、請求項17に記載のコンピュータシステム。
- 前記外部装置は、別のコンピュータシステム、スイッチまたはネットワークのうち1つを含む、請求項13に記載のコンピュータシステム。
- 前記周辺バスはAGPバスを含む、請求項13に記載のコンピュータシステム。
- 前記プロセッサ要素は、前記データ接続を介した前記外部装置への送信前に、前記メモリモジュールバスを介して前記コントローラから受取ったデータを変更するように動作する、請求項13に記載のコンピュータシステム。
- 前記プロセッサ要素は、前記メモリモジュールバスを介した前記コントローラへの送信前に、前記外部装置から前記データ接続を介して受取ったデータを変更するように動作する、請求項13に記載のコンピュータシステム。
- 前記プロセッサ要素は
フィールド・プログラマブル・ゲートアレイを含み、前記フィールド・プログラマブル・ゲートアレイは、前記メモリモジュールバスおよび前記データ接続を介して前記フィールド・プログラマブル・ゲートアレイに与えられたオペランドに対して、識別されたアルゴリズムを実行するように構成可能である、請求項13に記載のコンピュータシステム。 - 前記少なくとも1つのプロセッサは複数のプロセッサを含む、請求項13に記載のコンピュータシステム。
- 少なくとも1つのプロセッサと、
前記少なくとも1つのプロセッサをシステム管理制御ブロックおよびメモリモジュールバスに結合するためのコントローラと、
システム管理バスによって前記システム管理制御ブロックに結合された少なくとも1つのシステム管理バス接続と、
前記メモリモジュールバスに結合された少なくとも1つのメモリモジュールスロットと、
プロセッサ要素とを備え、前記プロセッサ要素は、前記少なくとも1つのメモリモジュールスロットに関連付けられて、前記プロセッサ要素に結合された外部装置にデータ接続をもたらす、コンピュータシステム。 - さらに、
前記システム管理バスに結合されて、前記プロセッサ要素への前記データ接続を介したデータの到着を、前記少なくとも1つのプロセッサに示すための、前記プロセッサ要素への制御接続を備える、請求項25に記載のコンピュータシステム。 - 前記メモリモジュールバスはDIMMバスを含む、請求項25に記載のコンピュータシステム。
- 前記プロセッサ要素は、前記少なくとも1つのメモリモジュールスロット内での保持のためのDIMM物理フォーマットを含む、請求項27に記載のコンピュータシステム。
- 前記メモリモジュールバスはRIMMバスを含む、請求項25に記載のコンピュータシステム。
- 前記プロセッサ要素は、前記少なくとも1つのメモリモジュールスロット内での保持のためのRIMM物理フォーマットを含む、請求項29に記載のコンピュータシステム。
- 前記外部装置は、別のコンピュータシステム、スイッチまたはネットワークのうち1つを含む、請求項25に記載のコンピュータシステム。
- 前記周辺バスはSMバスを含む、請求項25に記載のコンピュータシステム。
- 前記プロセッサ要素は、前記データ接続を介した前記外部装置への送信前に、前記メモリモジュールバスを介して前記コントローラから受取ったデータを変更するように動作する、請求項25に記載のコンピュータシステム。
- 前記プロセッサ要素は、前記メモリモジュールバスを介した前記コントローラへの送信前に、前記外部装置から前記データ接続を介して受取ったデータを変更するように動作する、請求項25に記載のコンピュータシステム。
- 前記プロセッサ要素は
フィールド・プログラマブル・ゲートアレイを含み、前記フィールド・プログラマブル・ゲートアレイは、前記メモリモジュールバスおよび前記データ接続を介して前記フィールド・プログラマブル・ゲートアレイに与えられたオペランドに対して、識別されたアルゴリズムを実行するように構成可能である、請求項25に記載のコンピュータシステム。 - 前記少なくとも1つのプロセッサは複数のプロセッサを含む、請求項25に記載のコンピュータシステム。
- コンピュータシステムのメモリモジュールバスのためのプロセッサ要素であって、前記プロセッサ要素は、
フィールド・プログラマブル・ゲートアレイを備え、前記フィールド・プログラマブル・ゲートアレイは、前記フィールド・プログラマブル・ゲートアレイに与えられたオペランドに対して、識別されたアルゴリズムを実行するように構成可能であり、かつ前記メモリモジュールバスを介して前記フィールド・プログラマブル・ゲートアレイに与えられたデータを変更するように動作し、前記プロセッサ要素はさらに
データ接続を備え、前記データ接続は、前記フィールド・プログラマブル・ゲートアレイに結合されて、前記プロセッサ要素に結合された外部装置に前記変更されたデータを与える、プロセッサ要素。 - さらに、
前記プロセッサ要素に結合されて、前記外部装置からの前記データ接続を介したデータの到着を前記コンピュータシステムのプロセッサに示すための制御接続を備える、請求項37に記載のプロセッサ要素。 - 前記制御接続は、周辺バスを用いて前記データの到着を前記プロセッサに示す、請求項38に記載のプロセッサ要素。
- 前記周辺バスはPCIバスを含む、請求項39に記載のプロセッサ要素。
- 前記制御接続は、グラフィックスバスを用いて前記データの到着を前記プロセッサに示す、請求項38に記載のプロセッサ要素。
- 前記グラフィックスバスはAGPバスを含む、請求項41に記載のプロセッサ要素。
- 前記制御接続は、システム管理バスを用いて前記データの到着を前記プロセッサに示す、請求項38に記載のプロセッサ要素。
- 前記グラフィックスバスはSMバスを含む、請求項43に記載のプロセッサ要素。
- 前記メモリモジュールバスはDIMMバスを含む、請求項37に記載のプロセッサ要素。
- 前記プロセッサ要素はDIMM物理フォーマットを含む、請求項45に記載のプロセッサ要素。
- 前記メモリモジュールバスはRIMMバスを含む、請求項37に記載のプロセッサ要素。
- 前記プロセッサ要素はRIMM物理フォーマットを含む、請求項47に記載のプロセッサ要素。
- 前記外部装置は、別のコンピュータシステム、スイッチまたはネットワークのうち1つを含む、請求項37に記載のプロセッサ要素。
- 前記コンピュータシステムの前記プロセッサは複数のプロセッサを含む、請求項37に記載のプロセッサ要素。
- 前記フィールド・プログラマブル・ゲートアレイはさらに、前記データ接続を介して前記外部装置から前記フィールド・プログラマブル・ゲートアレイに与えられたデータを変更して、前記変更されたデータを前記メモリモジュールバスに与えるように動作する、請求項37に記載のプロセッサ要素。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/932,330 US7373440B2 (en) | 1997-12-17 | 2001-08-17 | Switch/network adapter port for clustered computers employing a chain of multi-adaptive processors in a dual in-line memory module format |
PCT/US2002/014574 WO2003017118A1 (en) | 2001-08-17 | 2002-05-06 | Switch/network adapter port for clustered computers employing a chain of multiadaptive processors in a dual in-line memory module format |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2005500621A true JP2005500621A (ja) | 2005-01-06 |
JP4128956B2 JP4128956B2 (ja) | 2008-07-30 |
Family
ID=25462158
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003521956A Expired - Fee Related JP4128956B2 (ja) | 2001-08-17 | 2002-05-06 | デュアル・インライン・メモリモジュール・フォーマットにおいて一連のマルチアダプティブプロセッサを採用したクラスタ型コンピュータ用スイッチ/ネットワークアダプタポート |
Country Status (7)
Country | Link |
---|---|
US (2) | US7373440B2 (ja) |
EP (1) | EP1442378B1 (ja) |
JP (1) | JP4128956B2 (ja) |
AT (1) | ATE417321T1 (ja) |
CA (1) | CA2456179A1 (ja) |
DE (1) | DE60230309D1 (ja) |
WO (1) | WO2003017118A1 (ja) |
Families Citing this family (37)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040236877A1 (en) * | 1997-12-17 | 2004-11-25 | Lee A. Burton | 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) |
US7197575B2 (en) * | 1997-12-17 | 2007-03-27 | Src Computers, Inc. | Switch/network adapter port coupling a reconfigurable processing element to one or more microprocessors for use with interleaved memory controllers |
US7464295B2 (en) * | 2002-10-11 | 2008-12-09 | Broadcom Corporation | Software programmable verification tool having multiple built-in self-test (BIST) modules for testing and debugging multiple devices under test (DUT) |
US8108564B2 (en) | 2003-10-30 | 2012-01-31 | International Business Machines Corporation | System and method for a configurable interface controller |
US7389375B2 (en) * | 2004-07-30 | 2008-06-17 | International Business Machines Corporation | System, method and storage medium for a multi-mode memory buffer device |
US7296129B2 (en) | 2004-07-30 | 2007-11-13 | International Business Machines Corporation | System, method and storage medium for providing a serialized memory interface with a bus repeater |
US7224595B2 (en) * | 2004-07-30 | 2007-05-29 | International Business Machines Corporation | 276-Pin buffered memory module with enhanced fault tolerance |
US20060095620A1 (en) * | 2004-10-29 | 2006-05-04 | International Business Machines Corporation | System, method and storage medium for merging bus data in a memory subsystem |
US7331010B2 (en) | 2004-10-29 | 2008-02-12 | International Business Machines Corporation | System, method and storage medium for providing fault detection and correction in a memory subsystem |
US7512762B2 (en) | 2004-10-29 | 2009-03-31 | International Business Machines Corporation | System, method and storage medium for a memory subsystem with positional read data latency |
US7441060B2 (en) * | 2004-10-29 | 2008-10-21 | International Business Machines Corporation | System, method and storage medium for providing a service interface to a memory system |
US7299313B2 (en) * | 2004-10-29 | 2007-11-20 | International Business Machines Corporation | System, method and storage medium for a memory subsystem command interface |
US7305574B2 (en) * | 2004-10-29 | 2007-12-04 | International Business Machines Corporation | System, method and storage medium for bus calibration in a memory subsystem |
US7478259B2 (en) * | 2005-10-31 | 2009-01-13 | International Business Machines Corporation | System, method and storage medium for deriving clocks in a memory system |
US7685392B2 (en) * | 2005-11-28 | 2010-03-23 | International Business Machines Corporation | Providing indeterminate read data latency in a memory system |
US8984256B2 (en) * | 2006-02-03 | 2015-03-17 | Russell Fish | Thread optimized multiprocessor architecture |
US7640386B2 (en) * | 2006-05-24 | 2009-12-29 | International Business Machines Corporation | Systems and methods for providing memory modules with multiple hub devices |
US7493439B2 (en) * | 2006-08-01 | 2009-02-17 | International Business Machines Corporation | Systems and methods for providing performance monitoring in a memory system |
US7669086B2 (en) * | 2006-08-02 | 2010-02-23 | International Business Machines Corporation | Systems and methods for providing collision detection in a memory system |
US7587559B2 (en) * | 2006-08-10 | 2009-09-08 | International Business Machines Corporation | Systems and methods for memory module power management |
US7870459B2 (en) | 2006-10-23 | 2011-01-11 | International Business Machines Corporation | High density high reliability memory module with power gating and a fault tolerant address and command bus |
US7721140B2 (en) * | 2007-01-02 | 2010-05-18 | International Business Machines Corporation | Systems and methods for improving serviceability of a memory system |
US7606988B2 (en) * | 2007-01-29 | 2009-10-20 | International Business Machines Corporation | Systems and methods for providing a dynamic memory bank page policy |
US7603526B2 (en) * | 2007-01-29 | 2009-10-13 | International Business Machines Corporation | Systems and methods for providing dynamic memory pre-fetch |
KR20080105390A (ko) * | 2007-05-30 | 2008-12-04 | 삼성전자주식회사 | 플래시 메모리에 사용되는 명령어들을 제어하는 방법 및장치 |
US9081901B2 (en) * | 2007-10-31 | 2015-07-14 | Raytheon Company | Means of control for reconfigurable computers |
US20090119114A1 (en) * | 2007-11-02 | 2009-05-07 | David Alaniz | Systems and Methods for Enabling Customer Service |
US7886103B2 (en) * | 2008-09-08 | 2011-02-08 | Cisco Technology, Inc. | Input-output module, processing platform and method for extending a memory interface for input-output operations |
EP2366144B1 (en) * | 2008-10-15 | 2015-09-30 | Hyperion Core, Inc. | Sequential processor comprising an alu array |
WO2011066459A2 (en) * | 2009-11-25 | 2011-06-03 | Howard University | Multiple-memory application-specific digital signal processor |
JP5555116B2 (ja) * | 2010-09-29 | 2014-07-23 | キヤノン株式会社 | 情報処理装置、及び、プロセッサ間通信制御方法 |
US20120117318A1 (en) | 2010-11-05 | 2012-05-10 | Src Computers, Inc. | Heterogeneous computing system comprising a switch/network adapter port interface utilizing load-reduced dual in-line memory modules (lr-dimms) incorporating isolation memory buffers |
US20120179883A1 (en) * | 2011-01-12 | 2012-07-12 | Broadcom Corpotation | System and method for dynamically adjusting memory performance |
CN102141971B (zh) * | 2011-01-13 | 2012-10-17 | 哈尔滨工业大学 | 具有大容量存储功能的1553b硬件定时通讯模块 |
US20130157639A1 (en) | 2011-12-16 | 2013-06-20 | SRC Computers, LLC | Mobile electronic devices utilizing reconfigurable processing techniques to enable higher speed applications with lowered power consumption |
US9530483B2 (en) | 2014-05-27 | 2016-12-27 | Src Labs, Llc | System and method for retaining dram data when reprogramming reconfigurable devices with DRAM memory controllers incorporating a data maintenance block colocated with a memory module or subsystem |
US9153311B1 (en) | 2014-05-27 | 2015-10-06 | SRC Computers, LLC | System and method for retaining DRAM data when reprogramming reconfigurable devices with DRAM memory controllers |
Family Cites Families (50)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS59206972A (ja) | 1983-05-10 | 1984-11-22 | Toshiba Corp | 共有メモリ |
US4763294A (en) * | 1985-12-19 | 1988-08-09 | Wang Laboratories, Inc. | Method and apparatus for floating point operations |
US4783730A (en) * | 1986-09-19 | 1988-11-08 | Datapoint Corporation | Input/output control technique utilizing multilevel memory structure for processor and I/O communication |
JPH0821087B2 (ja) | 1986-09-30 | 1996-03-04 | 日本電信電話株式会社 | 3次元陰影画像生成処理方法 |
EP0360527B1 (en) * | 1988-09-19 | 1995-01-04 | Fujitsu Limited | Parallel computer system using a SIMD method |
US4972457A (en) * | 1989-01-19 | 1990-11-20 | Spectrum Information Technologies, Inc. | Portable hybrid communication system and methods |
EP0489504B1 (en) | 1990-11-30 | 1997-03-05 | International Business Machines Corporation | Bidirectional FIFO buffer for interfacing between two buses |
US5265218A (en) | 1992-05-19 | 1993-11-23 | Sun Microsystems, Inc. | Bus architecture for integrated data and video memory |
US5802290A (en) * | 1992-07-29 | 1998-09-01 | Virtual Computer Corporation | Computer network of distributed virtual computers which are EAC reconfigurable in response to instruction to be executed |
US5857109A (en) * | 1992-11-05 | 1999-01-05 | Giga Operations Corporation | Programmable logic device for real time video processing |
US5509134A (en) * | 1993-06-30 | 1996-04-16 | Intel Corporation | Method and apparatus for execution of operations in a flash memory array |
US6038431A (en) | 1994-03-14 | 2000-03-14 | Matsushita Electric Industrial Co., Ltd | Card-type electronic device for adding a data communication function to an apparatus without hardware modification of the apparatus |
US6052773A (en) * | 1995-02-10 | 2000-04-18 | Massachusetts Institute Of Technology | DPGA-coupled microprocessors |
US5570040A (en) * | 1995-03-22 | 1996-10-29 | Altera Corporation | Programmable logic array integrated circuit incorporating a first-in first-out memory |
DE69632272T2 (de) * | 1995-06-06 | 2005-06-23 | Optobionics Corp., Naperville | Retinal-implantat aus mehrphasigen mikrofotodioden |
US5673204A (en) * | 1995-07-06 | 1997-09-30 | Sun Microsystems, Inc. | Loopback video preview for a computer display |
US6148356A (en) * | 1995-12-27 | 2000-11-14 | Intel Corporation | Scalable computer system |
US5889959A (en) * | 1996-01-05 | 1999-03-30 | Unisys Corporation | Fast write initialization method and system for loading channel adapter microcode |
US5903771A (en) * | 1996-01-16 | 1999-05-11 | Alacron, Inc. | Scalable multi-processor architecture for SIMD and MIMD operations |
US5737766A (en) * | 1996-02-14 | 1998-04-07 | Hewlett Packard Company | Programmable gate array configuration memory which allows sharing with user memory |
US6047343A (en) * | 1996-06-05 | 2000-04-04 | Compaq Computer Corporation | Method and apparatus for detecting insertion and removal of a memory module using standard connectors |
US5892962A (en) * | 1996-11-12 | 1999-04-06 | Lucent Technologies Inc. | FPGA-based processor |
US5911778A (en) * | 1996-12-31 | 1999-06-15 | Sun Microsystems, Inc. | Processing system security |
US5915104A (en) * | 1997-01-09 | 1999-06-22 | Silicon Graphics, Inc. | High bandwidth PCI to packet switched router bridge having minimized memory latency |
US5923682A (en) * | 1997-01-29 | 1999-07-13 | Micron Technology, Inc. | Error correction chip for memory applications |
US5953502A (en) * | 1997-02-13 | 1999-09-14 | Helbig, Sr.; Walter A | Method and apparatus for enhancing computer system security |
US6094532A (en) * | 1997-03-25 | 2000-07-25 | Sun Microsystems, Inc. | Multiprocessor distributed memory system and board and methods therefor |
US6202111B1 (en) * | 1997-05-13 | 2001-03-13 | Micron Electronics, Inc. | Method for the hot add of a network adapter on a system including a statically loaded adapter driver |
JPH1115773A (ja) | 1997-06-24 | 1999-01-22 | Matsushita Electron Corp | 半導体集積回路、コンピュータシステム、データ処理装置及びデータ処理方法 |
US5966534A (en) * | 1997-06-27 | 1999-10-12 | Cooke; Laurence H. | Method for compiling high level programming languages into an integrated processor with reconfigurable logic |
US6026478A (en) * | 1997-08-01 | 2000-02-15 | Micron Technology, Inc. | Split embedded DRAM processor |
US5978862A (en) * | 1997-08-08 | 1999-11-02 | Toshiba America Information Systems, Inc. | PCMCIA card dynamically configured in first mode to program FPGA controlling application specific circuit and in second mode to operate as an I/O device |
US6633945B1 (en) * | 1997-12-07 | 2003-10-14 | Conexant Systems, Inc. | Fully connected cache coherent multiprocessing systems |
US6076152A (en) * | 1997-12-17 | 2000-06-13 | Src Computers, Inc. | Multiprocessor computer architecture incorporating a plurality of memory algorithm processors in the memory subsystem |
US6052134A (en) * | 1997-12-22 | 2000-04-18 | Compaq Computer Corp. | Memory controller and method for dynamic page management |
US6480927B1 (en) * | 1997-12-31 | 2002-11-12 | Unisys Corporation | High-performance modular memory system with crossbar connections |
US6108730A (en) * | 1998-02-27 | 2000-08-22 | International Business Machines Corporation | Memory card adapter insertable into a motherboard memory card socket comprising a memory card receiving socket having the same configuration as the motherboard memory card socket |
US6192439B1 (en) * | 1998-08-11 | 2001-02-20 | Hewlett-Packard Company | PCI-compliant interrupt steering architecture |
JP3748723B2 (ja) | 1998-11-24 | 2006-02-22 | 富士通株式会社 | 共通化パッケージ |
US6326973B1 (en) * | 1998-12-07 | 2001-12-04 | Compaq Computer Corporation | Method and system for allocating AGP/GART memory from the local AGP memory controller in a highly parallel system architecture (HPSA) |
WO2000041182A1 (en) * | 1998-12-30 | 2000-07-13 | Intel Corporation | Memory array organization |
EP1073951A1 (en) * | 1999-02-15 | 2001-02-07 | Koninklijke Philips Electronics N.V. | Data processor with a configurable functional unit and method using such a data processor |
US6295571B1 (en) * | 1999-03-19 | 2001-09-25 | Times N Systems, Inc. | Shared memory apparatus and method for multiprocessor systems |
US6581157B1 (en) * | 1999-04-26 | 2003-06-17 | 3Com Corporation | System and method for detecting and updating non-volatile memory on an electronic adapter board installed in a computing system |
US6446192B1 (en) | 1999-06-04 | 2002-09-03 | Embrace Networks, Inc. | Remote monitoring and control of equipment over computer networks using a single web interfacing chip |
US6577621B1 (en) | 1999-06-22 | 2003-06-10 | Ericsson Inc. | System and method for providing high-speed local telecommunications access |
GB2352548B (en) * | 1999-07-26 | 2001-06-06 | Sun Microsystems Inc | Method and apparatus for executing standard functions in a computer system |
US20030068920A1 (en) * | 1999-12-14 | 2003-04-10 | Che-Yu Li | High density, high frequency memory chip modules having thermal management structures |
US6452700B1 (en) * | 2001-01-11 | 2002-09-17 | R&Dm Foundation | Computer backplane employing free space optical interconnect |
AU2003253826A1 (en) | 2002-07-08 | 2004-01-23 | Globespanvirata Incorporated | Dma scheduling mechanism |
-
2001
- 2001-08-17 US US09/932,330 patent/US7373440B2/en not_active Expired - Fee Related
-
2002
- 2002-05-06 DE DE60230309T patent/DE60230309D1/de not_active Expired - Fee Related
- 2002-05-06 JP JP2003521956A patent/JP4128956B2/ja not_active Expired - Fee Related
- 2002-05-06 WO PCT/US2002/014574 patent/WO2003017118A1/en active Application Filing
- 2002-05-06 EP EP02794847A patent/EP1442378B1/en not_active Expired - Lifetime
- 2002-05-06 CA CA002456179A patent/CA2456179A1/en not_active Abandoned
- 2002-05-06 AT AT02794847T patent/ATE417321T1/de not_active IP Right Cessation
-
2004
- 2004-11-23 US US10/996,016 patent/US7421524B2/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
EP1442378B1 (en) | 2008-12-10 |
US20020019926A1 (en) | 2002-02-14 |
ATE417321T1 (de) | 2008-12-15 |
EP1442378A1 (en) | 2004-08-04 |
US7373440B2 (en) | 2008-05-13 |
WO2003017118A1 (en) | 2003-02-27 |
JP4128956B2 (ja) | 2008-07-30 |
US7421524B2 (en) | 2008-09-02 |
US20050091434A1 (en) | 2005-04-28 |
CA2456179A1 (en) | 2003-02-27 |
DE60230309D1 (de) | 2009-01-22 |
EP1442378A4 (en) | 2006-05-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4128956B2 (ja) | デュアル・インライン・メモリモジュール・フォーマットにおいて一連のマルチアダプティブプロセッサを採用したクラスタ型コンピュータ用スイッチ/ネットワークアダプタポート | |
US20180143923A1 (en) | Providing State Storage in a Processor for System Management Mode | |
US7565461B2 (en) | Switch/network adapter port coupling a reconfigurable processing element to one or more microprocessors for use with interleaved memory controllers | |
JP4921638B2 (ja) | メモリサブシステムに複数のメモリアルゴリズムプロセッサを組込むマルチプロセッサコンピュータアーキテクチャ | |
US10157060B2 (en) | Method, device and system for control signaling in a data path module of a data stream processing engine | |
US6829660B2 (en) | Supercharge message exchanger | |
US20060123282A1 (en) | Service layer architecture for memory access system and method | |
US20070136503A1 (en) | Systems for implementing SDRAM controllers, and buses adapted to include advanced high performance bus features | |
JP2005507115A (ja) | マルチコアマルチスレッドプロセッサ | |
US20090037932A1 (en) | Mechanism for broadcasting system management interrupts to other processors in a computer system | |
JP2001142842A (ja) | Dmaハンドシェークプロトコル | |
US20090006666A1 (en) | Dma shared byte counters in a parallel computer | |
JP4564065B2 (ja) | マルチスレッド、マルチプロセシングのシステムオンチップ・ネットワーク・プロセッサ・ユニットのために拡張性があり、高機能で、大規模な相互接続スキーム | |
US8224884B2 (en) | Processor communication tokens | |
TW201303870A (zh) | 利用快閃記憶體介面的方法及裝置 | |
US7197575B2 (en) | Switch/network adapter port coupling a reconfigurable processing element to one or more microprocessors for use with interleaved memory controllers | |
US8139601B2 (en) | Token protocol | |
US7254667B2 (en) | Data transfer between an external data source and a memory associated with a data processor | |
US6957319B1 (en) | Integrated circuit with multiple microcode ROMs | |
JP2006513489A (ja) | クラスタ化されたコンピュータシステムのための適応プロセッサノードのスケーラブルな相互接続のためのシステムおよび方法 | |
AU2002356010A1 (en) | Switch/network adapter port for clustered computers employing a chain of multi-adaptive processors in a dual in-line memory module format | |
US20200327094A1 (en) | Method, System and Apparatus for Enhancing Efficiency of Main Processor(s) in a System on Chip | |
Wang | Analysis of NIC and Test of PCI Multi-Bus Simulator |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20041222 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20070122 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070130 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20070426 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20070508 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20070528 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20070604 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070727 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20080422 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20080515 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110523 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4128956 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120523 Year of fee payment: 4 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130523 Year of fee payment: 5 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130523 Year of fee payment: 5 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313111 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |