JP4184723B2 - 相互接続装置、相互接続装置を有する情報処理装置及び制御方法 - Google Patents
相互接続装置、相互接続装置を有する情報処理装置及び制御方法 Download PDFInfo
- Publication number
- JP4184723B2 JP4184723B2 JP2002192142A JP2002192142A JP4184723B2 JP 4184723 B2 JP4184723 B2 JP 4184723B2 JP 2002192142 A JP2002192142 A JP 2002192142A JP 2002192142 A JP2002192142 A JP 2002192142A JP 4184723 B2 JP4184723 B2 JP 4184723B2
- Authority
- JP
- Japan
- Prior art keywords
- address
- node
- decoding unit
- register
- width
- 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.)
- Expired - Fee Related
Links
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/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/163—Interprocessor communication
- G06F15/173—Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
- G06F15/17356—Indirect interconnection networks
- G06F15/17368—Indirect interconnection networks non hierarchical topologies
- G06F15/17375—One dimensional, e.g. linear array, ring
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Description
関連出願の相互参照
本願発明は、Jeremy J. Farrell, Kazunori Masuyama, Sudheer MiryalaおよびPatrick N. Conway により2001年6月29日に出願した「マルチ・ノードコンピュータシステムにおけるアドレス空間復号化のためのスケーラブルでフレキシブルな方法」という名称の米国仮特許出願第60/301,771号からの35,U.S.C.§119(e)に基づく優先権を主張するものであり、上記出願の全てを本願発明の全体に亘って取り入れている。
【0002】
【発明の属する技術分野】
本発明は一般的にはマルチ・ノードコンピュータシステムより特定的には、マルチ・ノードコンピュータシステムにおいてメモリ要求の宛先ノードアドレスをデコードするための機構に関する。
【0003】
【従来の技術】
マルチ・ノードコンピュータネットワークは、中央プロセッサユニット(CPU)ノード、メモリノード、入出力(I/O)ノードおよびハイブリッドノード(メモリ、I/OおよびCPUのあらゆる組合せを伴うもの)を含み得る。これらのノードは、アドレスのデコード、すなわちどのノードに要求を転送すべきかの決定を担うシステム相互接続を介して、接続されている。
【0004】
【発明が解決しようとする課題】
マルチ・ノードコンピュータシステムにおいて、メモリは、現在のCPU速度に比べ高い待ち時間(latency)を有する。このことはすなわち、メモリノードが、読取りまたは書込み要求に応答する時間が長いということを意味している。頻繁にみられる別のネックは、最大処理能力、すなわち、単位時間あたりにメモリシステムが提供できるデータの量である。メモリインタリーブは、インタリーブサイズをもって、ノード群に亘り、メモリシステムを分割することによって、マルチ・ノードコンピュータシステムが処理能力を増大させることのできる周知の技術である。例えば、xというインタリーブサイズをもつ4つのメモリノードを有するシステムにおいて、基準アドレス(base address)Bをノード0にマッピングすることができる。アドレスB+xはノード1に、B+2xはノード2に、B+3xはノード3に、B+4xはノード0にそれぞれマッピングされる。こうしてシステムはあらゆるホットメモリスポット(hot memory spot)を回避しながら、システム性能を増大させることができるようになる。
【0005】
マルチ・ノードコンピュータシステムがさらに大きくなるにつれて、多くのノードにアドレス可能であることが重要となる。既存の方法は、システム内の各ノードについて、基準(base)およびサイズ(限界)宣言を必要とする。かくして、システム内にn個のノードが存在する場合、これらはn個の基準レジスタとn個のサイズレジスタを必要とする。ノードの数が増大するにつれて、{基準、サイズ}対を保持するメモリレジスタは直線的に増大し、かくして非常に大容量のチップ資産が必要となる。
【0006】
既存の方法の別の欠点は、要求の宛先ノードアドレスを迅速に決定するために、既存の解決法が多数の絶対値コンパレータ(multimagnitude comparator)を必要とする、という点にある。標準的には、各ノードに対して1つの絶対値コンパレータが存在する。ノードの数が追加されていくにつれて、より多くの{基準、サイズ}対を追加しなくてはならず、より多くの絶対値コンパレータが必要となる。これらの絶対値コンパレータの実現コストは通常非常に高いものである。かくして、既存のデコード方策では、多数のアドレスノードをサポートするのに充分なスケーリングができない。
【0007】
複数ノードを有しかつインタリーブを用いる従来の実現法のさらにもう1つの欠点は、従来のシステムでは、各インタリーブグループについて、固定のインタリーブサイズと限定された数のノード組合せを使用する、という点にある。
【0008】
要約すると、既存のデコード方策では、数多くアドレスノードをサポートするのに充分なスケーリングができない。さらに、既存のアドレスデコード方策は、インタリーブのために異なるサイズを許容しそして種々のインタリーブセットを許容するのに充分なほどにフレキシブルではない。
【0009】
従って、必要なのは、マルチ・ノードコンピュータシステム内でのアドレス空間デコードのための改良された機構である。
【0010】
【課題を解決するための手段】
本発明は、マルチ・ノードコンピュータシステムにおけるアドレス空間デコードのためのシステムを含む。本発明の実施形態によると、マルチ・ノードコンピュータシステムは(図1に示すように)、相互接続(interconnect)により接続された複数の、I/Oノード、CPUノード、メモリノードおよびハイブリッドノードを含む。本発明の一実施形態においては、CPUノードまたはI/Oノードによって発出された要求には、宛先ノードの基準アドレスを格納する基準フィールドと、宛先ノードの論理アドレスを格納する索引フィールドと、メモリノードのアドレス可能空間のサイズを格納する細分化フィールドと、からなるアドレスが含まれる。
【0011】
上記システムはさらに、基準フィールドの幅を用いて、宛先ノードの基準アドレスを抽出するようなアドレスデコーダを含む。アドレスデコーダはまた、索引フィールドおよび細分化フィールドの幅を用いて、宛先ノードの論理アドレスを抽出するようにも構成されている。アドレスデコーダはさらに、基準フィールドの幅を表わす複数ビットを格納するための基準レジスタと、索引アドレスの幅を表わす複数ビットを格納するための索引レジスタと、細分化フィールドの幅を表わす複数ビットを格納するための細分化レジスタと、を備える。細分化フィールドの幅は、アドレス内のどこで索引フィールドが始まるかを決定するのに使用される。アドレスデコーダはさらに、システムアドレス空間内のどこにメモリノードがマッピングされるかを表わすプログラミングされた基準オフセットを格納するための基準オフセットレジスタと、データ要求がメモリノードに対し行われているか否かを判定するため、基準アドレスと基準オフセットとを比較するための論理コンパレータと、要求が転送される物理ノードアドレスに対し、抽出された宛先ノードの論理アドレスをマッピングするためのマッピングテーブルと、を備える。
【0012】
本発明はまた、マルチ・ノードコンピュータシステムにおけるアドレス空間デコード方法をも含んでいる。最初に、メッセージドライバは、CPUノードまたはI/Oノードに対して、メモリノードへの要求を発出させる。この要求にはアドレスが含まれている。アドレスデコーダは、基準フィールドの幅を用いて、そのアドレスの基準フィールドを抽出する。その基準アドレスとプログラミングされた基準オフセットとの間で、論理比較が行われる。2つが一致した場合、それはその要求が干渉性(coherent)のあるメモリ要求であること、すなわちそれがメモリノードに対し行われていることを表わす。要求が干渉性のあるメモリ要求である場合、アドレスデコーダは、索引フィールドおよび細分化フィールドの幅を用いて、宛先ノードの論理ノードアドレスを抽出する。マッピングテーブル内で索引することにより、論理ノードアドレスに基づいて物理宛先ノードアドレスが決定される。
【0013】
本発明は有利には、要求の宛先をデコードするために、算術比較を実施する代わりに論理比較を行う。こうして、多数の絶対値コンパレータを有する必要性が回避される。その上、マルチ・ノードコンピュータシステム内のノード数が増大するにつれて、メモリレジスタが直線的に増大することはない。その結果、実現コストは直線的には増大せず、低額にとどまる。
【0014】
【発明の実施の形態】
ここで図1を参照すると、分散形マルチ・ノードコンピュータシステム100の全体的アーキテクチャのブロック図が示されている。システム100には、CPUノード110a〜110n(全体として110)、 メモリノード115a〜115n(全体として115)、 I/Oノード120a〜120n(全体として120)、およびハイブリッドノード105a〜105n(全体として105)といった複数のノードが含まれている。ハイブリッドノード105としては、CPUノード110とメモリノード115とを組合わせることができる。各CPUノード110は、従来の処理ユニット、例えばIntelまたはIntelコンパチブルPentiumTMクラスまたはそれ以上のプロセッサ、Sun SPARCTMクラスまたはそれ以上のプロセッサ、あるいはIBM/Motorola PowerPCTMクラスまたはそれ以上のプロセッサである。各I/Oノード120は、従来のI/Oシステム、例えば記憶デバイス、入力デバイス、周辺デバイスなどである。各メモリノード115は従来のメモリシステム、例えばダイナミックランダムアクセスメモリ(DRAM)システム、スタティックランダムアクセスメモリ(SRAM)システムなどである。CPUノード110、I/Oノード120、ハイブリッドノード105のいずれも、メモリノード115に対し干渉性(coherent)のあるメモリ要求を発出することができる。
【0015】
図1に示すように、システム100内のノード105,110,115および120は、相互接続125を介して接続される。相互接続125は例えば、ルータまたはスイッチを用いて、例えばメッシュ、リングあるいは超立方体(hypercube)型に実装できる。相互接続125は、任意のノード対の間にパスを提供し、システム100内で一方のノードからもう一方のノードへとメッセージをルーティングする。
【0016】
システム100は、アドレス空間を有する。このアドレス空間は、任意の数のノードの間で分割される。このアドレス空間は、メモリノード115にアクセスするための1組のメモリアドレスを提供する。このエリアは、干渉性(coherent)アドレス空間と呼ばれる。干渉性アドレス空間は、複数のメモリウインドウに分割される。システム100の干渉性アドレス空間については、図3に関連して以下でさらに詳述する。
【0017】
ここで図2を参照すると、ここでは、CPUノード110またはI/Oノード120からメモリノード115に対し発出された要求のための好ましいアドレス50のフォーマットを示している。アドレス50には、基準フィールド10、索引フィールド20および細分化フィールド30というフィールドが含まれる。
【0018】
細分化フィールド30は好ましくは、システム100の干渉性(coherent)アドレス空間210における各メモリウインドウ40内に格納されたキャッシュラインの数を示す。細分化フィールドはGビットの幅をもつ。各メモリウインドウ40の中には2Cのキャッシュラインを格納することができる。
【0019】
索引フィールド20は好ましくは、システム100の各ノードの論理アドレス(論理ノードID)を格納する。この索引フィールド20は、アドレス可能なメモリノードの数に基づいて調整可能である。索引フィールド20は、システム100内にわずか1つしかノードがない場合、0ビット幅であり得る。索引フィールド20は、システム100内に2つのノードがある場合、1ビット幅であり得る。同様にして、索引フィールド20は、3〜4つのノードについて2ビット幅、5〜8ノードについて3ビット幅等々、となり得る。
【0020】
基準フィールド10は、基準アドレスを格納する。基準フィールド10の幅は(合計アドレスビット−(索引ビット+細分化ビット))に等しい。基準フィールド10および細分化フィールド30の合計ビット数が、1ノードあたりのアドレス可能空間のサイズを決定する。基準フィールド10内に格納された基準アドレスは、データ要求先のノードの基準アドレスを表わす。以下で詳述するように、基準アドレスは、要求が干渉性メモリ要求であるか否かを判定するために用いられる。
【0021】
ここで図3を参照すると、システム100のアドレス空間200を表している。アドレス空間200は0で出発し、2B+I+Gバイトのサイズを有する。本明細書で使用されているBは基準フィールド10の幅、Iは索引フィールド20の幅、Gは細分化フィールド30の幅(図2に示されているとおり)である。前述のとおり、システムアドレス空間200は、メモリ115にアクセスするための1組のメモリアドレスを提供する。このエリアを干渉性アドレス空間210と呼ぶ。干渉性アドレス空間210は2I+Gバイトのサイズを有する。干渉性アドレス空間210のウインドウ0の底部をポイントする矢印が、アドレス空間200内で干渉性アドレス空間210が開始するアドレスを表わす。このアドレスは、基準オフセットと呼ばれ、図1に示す基準オフセットレジスタ142内に格納される。
【0022】
干渉性アドレス空間210は、2I個のメモリウインドウ40に分割される。干渉性アドレス空間210内の各メモリウインドウ40のサイズは、システム100内のメモリノード115あたりのアドレス可能空間である。各ウィンドウ40内には、2Gのキャッシュラインが格納され得る。一例を挙げると、G=20,I=4,B=8でありキャッシュラインサイズが1Bである場合、システムアドレス空間200内には干渉性アドレス空間210の中に16(24)個のウィンドウ40が存在し得る。このとき各メモリウインドウ40は、1MB(220)のサイズを有することになる。
【0023】
ここで再び図1を参照すると、システム100はさらに、CPUノード110またはI/Oノード120から発出された要求を受信し、その要求の中に含まれるアドレス50の基準フィールド10から基準アドレスを抽出するように構成されたアドレスデコーダ128を備える。アドレスデコーダ128は、基準フィールド10の幅Bに基づいて基準アドレスを抽出する。アドレスデコーダ128はさらに、図2に示されたアドレス50の索引フィールド20から論理ノードアドレスを抽出するようにも構成されている。アドレスデコーダ128は、ソフトウェア、ハードウェアまたはそれらの組合せとして実現され得る。アドレスデコーダ128は好ましくは、基準レジスタ130、索引レジスタ135、細分化レジスタ140、基準オフセットレジスタ142、論理コンパレータ144およびマッピングテーブル145をも備える。
【0024】
基準レジスタ130は好ましくは、図2に示されているメモリ要求のアドレス50における基準フィールド10の基準アドレスを格納するようにプログラミングされたビット数(幅)を規定する。索引レジスタ135は、アドレス50における索引フィールド20によって使用されるビット数を規定する。細分化レジスタ140は、アドレス50における細分化フィールド30によって使用されるビット数を規定する。細分化フィールド30の幅は、どこで索引フィールド20が開始するかを判定するために用いられる。基準レジスタ130、索引レジスタ135および細分化レジスタ140は、システム初期化時にプログラミングされる。
【0025】
基準オフセットレジスタ142は、システムアドレス空間200(図3に示す)内のどこから干渉性(coherent)アドレス空間210が開始するかを示す基準オフセットを格納する。この基準オフセットはプログラミングされた一定値である。
【0026】
論理コンパレータ144は好ましくは、図2に示す基準フィールド10内に格納された基準アドレスと基準オフセットとの間の論理比較を行う。基準アドレスが基準オフセットと一致する場合、それは、要求が干渉性メモリ要求であること、すなわち要求がメモリノード115に対して行われていることを表わしている。算術比較を行う代わりに論理比較を行うことによって、多数の絶対値コンパレータを備える必要がなくなり、有利である。その上、それはシステム100内に追加されるノードの数に応じて増やされる。
【0027】
マッピングテーブル145は好ましくは、システム100内の各ノードについて、物理宛先ノードアドレスに対する論理ノードアドレスのマッピングを格納する。マッピングテーブル145は、DRAM、SRAMまたはそれと同等のものにより実現され得る。マッピングテーブル145の例が、図4に示されている。
【0028】
ここで図4を参照すると、物理ノードIDマッピングテーブル145への論理ノードIDを表している。マッピングテーブル145は、システム100によりサポートされた各ノードについて1つのエントリを格納する。ここで、システム100によってサポートされるノードの数と少なくとも同数のエントリが、マッピングテーブル145内に存在するということを理解すべきである。図4に示すマッピングテーブル145は、2I個のエントリを格納し、ここでIは、図2に示すアドレス50における索引フィールド20の幅を表わす。
【0029】
本発明は好ましくは、システム100内で単一のメモリノード115に対してマッピングされた多数のメモリウインドウを有することによって、かつマッピングテーブル145内に多数対1のマッピングを有することによって、インタリーブをサポートする。
【0030】
ここで図5を参照すると、システム100により実施される要求の宛先ノードアドレスをデコードするための方法のフローチャートが示されている。
【0031】
プロセスは開始し(510)、メッセージドライバ(図示せず)が、CPU110にメモリノード115に対し要求を発出させる。ここで、I/Oノード120もまたメモリノード115に要求を発出できる、ということを理解すべきである。アドレスデコーダ128(図1に示す)は、基準フィールド10、索引フィールド20および細分化フィールド30、の幅を受信する。アドレスデコーダ128は、基準フィールド10の幅Bに基づいて、アドレスの基準フィールド10から基準アドレスを抽出する(530)。アドレスデコーダ128は次に、基準オフセットレジスタ142(図1に示す)内に格納された基準オフセットと基準アドレスとを比較する(540)。これら2つが一致する場合は、要求が干渉性のあるメモリ要求であること、すなわちそれがメモリノードに対し行われていることを表わす。要求が干渉性メモリ要求であると、ひとたび判定されたならば、アドレスデコーダ128は、索引フィールド20の幅に基づいて、アドレスの索引フィールド20から宛先ノードの論理ノードアドレス(論理ノードID)を抽出する(550)。どこで索引フィールドが開始するかを判定するために、アドレスデコーダ128は、細分化フィールド30の幅Gを使用する。
【0032】
次にアドレスデコーダ128は、宛先ノードのための物理ノードアドレスを決定すべく(555)、論理ノードIDに基づいてマッピングテーブル145を索引し、プロセスは570で終了する。一例を挙げると、I=4である場合、アドレスデコーダ128は、索引フィールド20内に格納された4ビットの論理ノードIDを抽出する。論理ノードIDが、例えばディジタル数「3」の論理表現である「0011」である場合、論理ノードID「3」に基づいてマッピングテーブル145を索引することにより、アドレスデコーダ128は、その要求がルーティングされる物理ノードIDを決定することができる。
【0033】
逆に、基準アドレスと基準オフセットレジスタ142とが一致しない場合、当該要求は干渉性メモリ要求ではない(580)。
【0034】
本発明の一実施形態では、マッピングテーブルを用いて、与えられた論理アドレスに対する宛先ノードアドレスを導出するためのデコードメカニズムを利用する。物理宛先ノードアドレスを決定するために算術比較の代わりに論理比較を行うことによって、多くの絶対値比較を有する必要性はなくなる。マルチ・ノードコンピュータシステム内のノード数が増大するにつれて、メモリレジスタが直線的に増加することはない。その結果、実現コストは直線的には増大せず、低額にとどまる。
【0035】
本発明による好ましい実施形態は以下の通りである。
【0036】
(付記1) 相互接続によって接続されたI/Oノード、CPUノードおよびメモリノードを含むマルチ・ノードコンピュータシステムにおける、データ要求の宛先ノードアドレスを決定する方法であって、
アドレスを含むデータ要求を受信する段階と、
前記アドレスから宛先ノードの基準アドレスを抽出する段階と、
前記メモリノードがシステムアドレス空間内のどこにマッピングされているかを示す基準オフセットと、前記基準アドレスとを比較する段階と、
前記基準アドレスが前記基準オフセットと一致したことに応答して、
前記アドレスから論理ノードアドレスを抽出する段階と、
前記論理ノードアドレスに基づいて前記要求の物理宛先ノードアドレスを決定する段階と、
を有することを特徴とする方法。
【0037】
(付記2) 前記基準アドレスが、前記基準フィールドの幅を用いて抽出される付記1に記載の方法。
【0038】
(付記3) 前記論理ノードアドレスが、索引フィールドの幅を用いて抽出される付記1に記載の方法。
【0039】
(付記4) アドレスを含むデータ要求を受信し、宛先ノードの基準アドレスと論理ノードアドレスとを前記アドレスから抽出するためのアドレスデコーダと、
前記抽出された基準アドレスと、システムアドレス空間内のどこに前記メモリノードがマッピングされるかを示す基準オフセットとの間の論理比較を行うための、前記アドレスデコーダ内にあるコンパレータと、
前記データ要求の物理宛先ノードアドレスに前記論理ノードアドレスをマッピングするための、前記アドレスデコーダ内にあるマッピングテーブルと、
を備えることを特徴とするマルチ・ノードコンピュータシステム。
【0040】
(付記5) 前記アドレスデコーダがさらに、前記基準オフセットを格納するための基準オフセットレジスタを備える付記4に記載のシステム。
【0041】
(付記6) 前記基準オフセットが、プログラミングされた一定値である付記5に記載のシステム。
【0042】
(付記7) 前記基準アドレスが前記アドレスの基準フィールド内に格納されており、また前記アドレスデコーダがさらに前記基準フィールドの幅を示すための基準レジスタを備える付記4に記載のシステム。
【0043】
(付記8) 前記アドレスデコーダが、前記基準フィールドの幅に基づいて前記基準アドレスを抽出する付記7に記載のシステム。
【0044】
(付記9) 前記論理ノードアドレスが前記アドレスの索引フィールド内に格納され、また前記アドレスデコーダがさらに、前記索引フィールドの幅を示すための索引レジスタを備える付記4に記載のシステム。
【0045】
(付記10) 前記アドレスデコーダが、前記索引フィールドの幅に基づいて前記論理ノードアドレスを抽出する付記9に記載のシステム。
【0046】
(付記11) 前記アドレスがさらに、前記メモリノードのアドレス可能空間のサイズを示す細分化フィールドを含んでなる付記4に記載のシステム。
【図面の簡単な説明】
【図1】本発明の実施形態による分散型マルチ・ノードコンピュータシステムの全体的アーキテクチャのブロック図である。
【図2】メモリ要求のアドレスの好ましいフォーマットを表す図である。
【図3】システムアドレスマップ内の干渉性アドレス空間を表す図である。
【図4】本発明の実施形態による物理ノードアドレスマッピングテーブルへの論理ノードアドレスのブロック図である。
【図5】図1のシステムによって実施される方法のフローチャートである。
【符号の説明】
10…基準フィールド
20…索引フィールド
30…細分化フィールド
40…メモリウィンドウ
100…分散形マルチ・ノードコンピュータシステム
105…ハイブリッドノード
110…中央プロセッサユニット(CPU)ノード
120…入出力(I/O)ノード
125…相互接続
128…アドレスデコーダ
130…基準レジスタ
135…索引レジスタ
140…細分化レジスタ
142…基準オフセットレジスタ
144…論理コンパレータ
145…マッピングテーブル
200…アドレス空間
210…干渉性アドレス空間
Claims (9)
- 演算処理を行うCPUノードと、入出力処理を行うI/Oノードと、複数のメモリノードと、アドレスデコード部と記憶部を有し全ての前記ノードに接続された相互接続装置を有する情報処理装置におけるいずれかのCPUノード又はI/Oノードからいずれかのメモリノードを宛先とするデータ要求の制御方法において、
前記アドレスデコード部が、前記宛先となるメモリノードに対して送信された、アドレスを含むデータ要求を受信するステップと、
前記受信したデータ要求に含まれるアドレスから、前記アドレスデコード部が、前記宛先となるメモリノードの基準アドレスを抽出するステップと、
前記アドレスデコード部が、前記宛先となるメモリノードがシステムアドレス空間のどこにマッピングされているかを示す基準オフセットと、前記基準アドレスとを比較するステップと、
前記基準アドレスが前記基準オフセットと一致した場合には、前記アドレスデコード部が、前記アドレスから前記宛先となるメモリノードを特定する論理ノードアドレスを抽出するステップと、
前記アドレスデコード部が、前記論理ノードアドレスと物理宛先ノードアドレスとの対応関係を表し、前記記憶部に保持されたマッピングテーブルを用いて、前記データ要求の物理宛先ノードアドレスを決定するステップを有することを特徴とする制御方法。 - 前記アドレスデコード部は、前記基準アドレスの幅を表す基準アドレス幅情報を格納する基準レジスタを有し、
前記アドレスデコード部が、前記データ要求に含まれる前記アドレスから前記基準アドレスを抽出するステップは、前記基準レジスタに格納された前記基準アドレス幅情報を用いて、前記アドレスから抽出するステップであることを特徴とする請求項1記載の制御方法。 - 前記アドレスデコード部はさらに、前記論理ノードアドレスの幅を表す索引アドレス幅情報を格納する索引レジスタと、前記メモリノードのアドレス空間の大きさを示す細分化アドレスの幅を表す細分化アドレス幅情報を格納する細分化レジスタを有し、
前記アドレスデコード部が、前記データ要求に含まれる前記アドレスから前記論理ノードアドレスを抽出するステップは、前記細分化レジスタに格納された前記細分化アドレス幅情報を用いて、前記アドレスから抽出するステップであることを特徴とする請求項2記載の制御方法。 - 演算処理を行うCPUノードと、入出力処理を行うI/Oノードと、複数のメモリノードと、全ての前記ノードに接続された相互接続装置を有する情報処理装置において、
前記相互接続装置は、
いずれかの前記CPUノード又はI/Oノードからいずれかのメモリノードを宛先として送信されたデータ要求を受信し、前記受信されたデータ要求に含まれるアドレスから、前記宛先となるメモリノードの基準アドレスを抽出するアドレスデコード部であって、
前記宛先となるメモリノードがシステムアドレス空間のどこにマッピングされているかを示す基準オフセットを格納する基準オフセットレジスタと、
前記基準アドレスと、前記基準オフセットレジスタに格納された前記基準オフセットとを比較するとともに、前記基準アドレスが前記基準オフセットと一致した場合には、前記アドレスから前記宛先となるメモリノードの論理ノードアドレスを抽出するコンパレータと、
前記論理ノードアドレスと物理宛先ノードアドレスとの対応関係を表し、前記記憶部に保持されたマッピングテーブルと、を有する前記アドレスデコード部を備えたことを特徴とする情報処理装置。 - 前記アドレスデコード部はさらに、前記基準アドレスの幅を表す基準アドレス幅情報を格納する基準レジスタを有し、
前記アドレスデコード部は、前記基準レジスタに格納された前記基準アドレス幅情報を用いて、前記アドレスから抽出することを特徴とする請求項4記載の情報処理装置。 - 前記アドレスデコード部はさらに、前記論理ノードアドレスの幅を表す索引アドレス幅情報を格納する索引レジスタと、前記メモリノードのアドレス空間の大きさを示す細分化アドレスの幅を表す細分化アドレス幅情報を格納する細分化レジスタを有し、
前記アドレスデコード部は、前記細分化レジスタに格納された前記細分化アドレス幅情報を用いて、前記アドレスから抽出することを特徴とする請求項5記載の情報処理装置。 - 演算処理を行うCPUノードと、入出力処理を行うI/Oノードと、複数のメモリノードと、全ての前記ノードに接続された相互接続装置において、
前記相互接続装置は、
いずれかの前記CPUノード又はI/Oノードからいずれかのメモリノードを宛先として送信されたデータ要求を受信し、前記受信されたデータ要求に含まれるアドレスから、前記宛先となるメモリノードの基準アドレスを抽出するアドレスデコード部であって、
前記宛先となるメモリノードがシステムアドレス空間のどこにマッピングされているかを示す基準オフセットを格納する基準オフセットレジスタと、
前記基準アドレスと、前記基準オフセットレジスタに格納された前記基準オフセットとを比較するとともに、前記基準アドレスが前記基準オフセットと一致した場合には、前記アドレスから前記宛先となるメモリノードの論理ノードアドレスを抽出するコンパレータと、
前記論理ノードアドレスと物理宛先ノードアドレスとの対応関係を表し、前記記憶部に保持されたマッピングテーブルと、を有する前記アドレスデコード部を備えたことを特徴とする相互接続装置。 - 前記アドレスデコード部はさらに、前記基準アドレスの幅を表す基準アドレス幅情報を格納する基準レジスタを有し、
前記アドレスデコード部は、前記基準レジスタに格納された前記基準アドレス幅情報を用いて、前記アドレスから抽出することを特徴とする請求項7記載の相互接続装置。 - 前記アドレスデコード部はさらに、前記論理ノードアドレスの幅を表す索引アドレス幅情報を格納する索引レジスタと、前記メモリノードのアドレス空間の大きさを示す細分化アドレスの幅を表す細分化アドレス幅情報を格納する細分化レジスタを有し、
前記アドレスデコード部は、前記細分化レジスタに格納された前記細分化アドレス幅情報を用いて、前記アドレスから抽出することを特徴とする請求項8記載の相互接続装置。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US30177501P | 2001-06-29 | 2001-06-29 | |
US60/301775 | 2001-06-29 | ||
US10/153,480 US6742101B2 (en) | 2001-06-29 | 2002-05-21 | Scalable and flexible method for address space decoding in a multiple node computer system |
US10/153480 | 2002-05-21 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2003157199A JP2003157199A (ja) | 2003-05-30 |
JP4184723B2 true JP4184723B2 (ja) | 2008-11-19 |
Family
ID=26850594
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002192142A Expired - Fee Related JP4184723B2 (ja) | 2001-06-29 | 2002-07-01 | 相互接続装置、相互接続装置を有する情報処理装置及び制御方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US6742101B2 (ja) |
JP (1) | JP4184723B2 (ja) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6766360B1 (en) | 2000-07-14 | 2004-07-20 | Fujitsu Limited | Caching mechanism for remote read-only data in a cache coherent non-uniform memory access (CCNUMA) architecture |
US6754776B2 (en) | 2001-05-17 | 2004-06-22 | Fujitsu Limited | Method and system for logical partitioning of cache memory structures in a partitoned computer system |
US6961761B2 (en) * | 2001-05-17 | 2005-11-01 | Fujitsu Limited | System and method for partitioning a computer system into domains |
US7380001B2 (en) * | 2001-05-17 | 2008-05-27 | Fujitsu Limited | Fault containment and error handling in a partitioned system with shared resources |
US6862634B2 (en) | 2001-06-29 | 2005-03-01 | Fujitsu Limited | Mechanism to improve performance in a multi-node computer system |
US6996582B2 (en) * | 2002-10-03 | 2006-02-07 | Hewlett-Packard Development Company, L.P. | Virtual storage systems and virtual storage system operational methods |
US7287128B1 (en) | 2005-01-25 | 2007-10-23 | Seagate Technology Llc | Write on reference mesh |
US8122208B2 (en) * | 2009-03-25 | 2012-02-21 | Dell Products L.P. | System and method for memory architecture configuration |
GB2540949B (en) * | 2015-07-31 | 2019-01-30 | Arm Ip Ltd | Probabilistic Processor Monitoring |
US10019380B2 (en) * | 2015-09-25 | 2018-07-10 | Qualcomm Incorporated | Providing memory management functionality using aggregated memory management units (MMUs) |
US9971685B2 (en) * | 2016-04-01 | 2018-05-15 | Intel Corporation | Wear leveling based on a swapping operation between sets of physical block addresses of a non-volatile memory |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7213081B2 (en) * | 2001-06-29 | 2007-05-01 | Fujitsu Limited | Dynamic determination of memory mapped input output range granularity for multi-node computer system |
US6862634B2 (en) * | 2001-06-29 | 2005-03-01 | Fujitsu Limited | Mechanism to improve performance in a multi-node computer system |
-
2002
- 2002-05-21 US US10/153,480 patent/US6742101B2/en not_active Expired - Lifetime
- 2002-07-01 JP JP2002192142A patent/JP4184723B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2003157199A (ja) | 2003-05-30 |
US20030005156A1 (en) | 2003-01-02 |
US6742101B2 (en) | 2004-05-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6862634B2 (en) | Mechanism to improve performance in a multi-node computer system | |
KR920005280B1 (ko) | 고속 캐쉬 시스템 | |
KR880000299B1 (ko) | 캐쉬장치 | |
US6236658B1 (en) | Method and apparatus for message routing, including a content addressable memory | |
US6185654B1 (en) | Phantom resource memory address mapping system | |
US6389507B1 (en) | Memory device search system and method | |
US7093079B2 (en) | Snoop filter bypass | |
US6243794B1 (en) | Data-processing system with CC-NUMA (cache-coherent, non-uniform memory access) architecture and remote cache incorporated in local memory | |
JP3996454B2 (ja) | 分割サーバにおけるドメイン間低オーバヘッドメッセージ受渡しのためのシステム及び方法 | |
JP4184723B2 (ja) | 相互接続装置、相互接続装置を有する情報処理装置及び制御方法 | |
US6662276B2 (en) | Storing directory information for non uniform memory architecture systems using processor cache | |
US20040221128A1 (en) | Virtual to physical memory mapping in network interfaces | |
JP2002073412A (ja) | メモリへのアクセス方法及びメモリ | |
US7970980B2 (en) | Method and apparatus for accessing memory in a computer system architecture supporting heterogeneous configurations of memory structures | |
JP4041402B2 (ja) | サイクルあたりの多重キャッシュライン無効化をサポートするための方法および装置 | |
US6671792B1 (en) | Share masks and alias for directory coherency | |
JP2561261B2 (ja) | バッファ記憶アクセス方法 | |
JP2008511882A (ja) | 一意のタスク識別子を用いてデータを共用する仮想アドレス・キャッシュ及び方法 | |
JP4343377B2 (ja) | 連想メモリ | |
Kim et al. | A high-bandwidth PCM-based memory system for highly available IP routing table lookup | |
JP2004265528A (ja) | 連想メモリ | |
US6742077B1 (en) | System for accessing a memory comprising interleaved memory modules having different capacities | |
WO2015067195A1 (zh) | 一种可重构缓存组织结构 | |
JP2710580B2 (ja) | キャッシュメモリ装置 | |
JP2003216489A (ja) | 分散共有メモリ装置及び分散処理方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050620 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20080213 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080219 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080418 |
|
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: 20080805 |
|
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: 20080904 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110912 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120912 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120912 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130912 Year of fee payment: 5 |
|
LAPS | Cancellation because of no payment of annual fees |