JPH11512857A - クラスタ・コンピュータ・システムにおけるアドレス変換 - Google Patents

クラスタ・コンピュータ・システムにおけるアドレス変換

Info

Publication number
JPH11512857A
JPH11512857A JP9514461A JP51446197A JPH11512857A JP H11512857 A JPH11512857 A JP H11512857A JP 9514461 A JP9514461 A JP 9514461A JP 51446197 A JP51446197 A JP 51446197A JP H11512857 A JPH11512857 A JP H11512857A
Authority
JP
Japan
Prior art keywords
cluster
processor
memory
address field
address
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.)
Pending
Application number
JP9514461A
Other languages
English (en)
Inventor
グエンスナー,ラッセル・ダブリュー
ロビンズ,レナート
Original Assignee
ブル・エイチエヌ・インフォメーション・システムズ・インコーポレーテッド
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by ブル・エイチエヌ・インフォメーション・システムズ・インコーポレーテッド filed Critical ブル・エイチエヌ・インフォメーション・システムズ・インコーポレーテッド
Publication of JPH11512857A publication Critical patent/JPH11512857A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/0284Multiple user address space allocation, e.g. using different base addresses
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0811Multiuser, multiprocessor or multiprocessing cache systems with multilevel cache hierarchies
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/084Multiuser, multiprocessor or multiprocessing cache systems with a shared cache

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Multi Processors (AREA)

Abstract

(57)【要約】 各々限られた内部空間記憶範囲に直接アドレス可能な複数のプロセッサの、大きな外部メモリ空間(例えば、大容量メモリ)との統合化を達成するために、プロセッサをクラスタに組織化し、各クラスタが複数のプロセッサと共通の二次キャッシュを有するようにする。各クラスタには2ビットのクラスタ番号を割り当てる。各プロセッサ内の一次キャッシュとクラスタ内の二次キャッシュとの間に、アドレス変換器を設け、内部メモリ空間アドレスと外部メモリ空間アドレスとの間の変換を行う。外部メモリ空間は、各クラスタに専用な領域と、全プロセッサによって共有される領域とに分割する。内部アドレス指示ビットを要求元プロセッサの一次キャッシュからのクラスタ番号と共に用いて、当該クラスタの専用外部空間または共有外部空間のいずれかへの変換を設定する。逆の外部−内部変換では、1対の指示ビットを用いて、内部アドレス、および外部アドレスが共有外部空間または指定されたクラスタの専用外部空間のいずれかを規定することのインディケータの生成を設定する。各プロセッサに割り当られたクラスタ・メンバ番号は、各クラスタの二次キャッシュによって用いられ、どのプロセッサが大容量メモリに対して情報の送信/受信を行うのかを追跡する。

Description

【発明の詳細な説明】 クラスタ・コンピュータ・システムにおけるアドレス変換発明の分野 本発明は、データ処理技術に関し、更に特定すれば、多数のクラスタを用い、 各クラスタが多数のプロセッサを有し、各プロセッサが主メモリ全体に格納され ている全情報を直接アドレスできない、クラスタ・コンピュータ・システムにお けるアドレシングに関するものである。発明の背景 最近の計算機システムにおいて用いられている中央演算装置(CPU)の設計 において、コマンド構造およびワード長は、多くの場合、「新たな」CPUでも 以前のCPUに用いていたものと、同一にしておかなければならないため、改良 の際にはこれらを考慮に入れる必要がある。これは、特に、特定メーカーに固有 のソフトウエアのオペレーティング・システムの下で走るシステムの場合に当て はまることである。この制約の基本的な理由は、ユーザがしばしば有するソフト ウエアの非常に大きな投資にある。場合によっては、所与のユーザ・システムで 、30年にわたってソフトウエア開発が行われていることがあるが、ユーザは典 型的にはその古いソフトウエアを新しい改良されたハードウエア・システム上に ロードするだけで、直ちに処理能力向上の結果を体験することを望んでいる。そ の結果、CPUの設計者は、所与のオペレーティング・システム・ファミリにお ける初期のCPUとの互換性を長期にわたって維持していくことになる。 したがって、既存のシステムを基本とするCPUの設計においては、各CPU のアドレス範囲処理能力(即ち、CPU命令ワードにおけるアドレス・フィール ドの割り当て)に対する限られた修正でさえも、ハードウエア設計、および、特 に再使用することができるあるいはしなければならないソフトウエアに大きな影 響を与えることになる。このようなジレンマに直面するのは、現在も進行中のメ モリ・チップの密度および容量の増大ならびにその他の技術のために、オペレー ティング・システム/CPUファミリにおいてアドレス・フィールド長/ワード 長を最初に確立した時点に考えられたものよりも、1ないし2倍の情報を格納可 能な大容量メモリが得られるようになったためである。 CPUの設計、特に、長期間にわたって確立されているメーカー固有のオペレ ーティング・システムの下で機能させようとするCPUに伴う別の問題要因は、 常に最新の技術によって、既存のCPUの設計を格段に小さな空間に物理的に実 現できるようになるという事実である。しかしながら、この場合も、既存のオペ レーティング・システム・ソフトウエアの基本的仕様に執着することの利点(既 存のアプリケーション・ソフトウエアの再使用を可能とするため)のために、C PUの設計に対する効果が限られてしまうにも拘わらず、このオペレーティング ・システムを維持する方向に向かうことになる。最後に、そしも恐らく最も重要 であろうが、当業者は、単一のオペレーティング・システム環境において余りに 多くのCPUを動作させた場合に発生する非効率性を承知している。 これらの要因は全て、複数のCPUの多数の群が大型コンピュータ・システム に組み込まれており、個々のCPUが直接アドレスできるよりも多いアドレスに 格納情報を収容した大容量主メモリをコンピュータ・システムに含む、マルチプ ロセッサ・クラスタ環境ではより悪化する。この場合、所与のコンピュータ・シ ステム・ファミリの歴史的なハードウエアおよびオペレーティング・システム/ アプリケーション・ソフトウエアの自然な踏襲である、アドレス・フィールド/ ワード長特性のために、アドレシングが制約を受けることになる。本発明が目的 とするのは、このジレンマを解決することである。発明の目的 したがって、本発明の広範な目的は、全システム・メモリが、単一のCPUま たはオペレーティング・システムによって処理される量よりも多い、拡張メモリ ・アドレッシングを組み込んだ、改良されたマルチプロセッサ・コンピュータ・ システムを提供することである。 本発明の更に具体化した目的は、使用するプロセッサによって本来直接アドレ ス可能なメモリ空間よりも広い外部メモリ空間を、各マルチプロセッサ・クラス タのための専用空間と、各クラスタおよびその各メンバを識別するクラスタ・メ ンバ番号情報を組み込んだアドレス変換にしたがって、全てのクラスタによって 直接アドレス可能な共有空間とに分割したクラスタ・アーキテクチャを採用する 、改良されたマルチプロセッサ・システムを提供することである。発明の概要 端的に言えば、本発明のこれらおよびその他の目的は、多数のプロセッサを、 各々複数のプロセッサを有する多数のクラスタに分割することによって、個々の プロセッサによって発生/解釈されるアドレス・フィールドによって本来直接ア ドレス可能である内部メモリ空間よりも2の累乗倍大きな外部メモリ空間(例え ば、主メモリ)を含む、例示的なシステムにおいて達成される。この例では単一 のマルチプロセッサ基板上にある4つのプロセッサからなる1つのクラスタ内の 各CPUには、例えば、2ビットの番号(したがって、4つのクラスタを識別す る)によってセットされる1つのクラスタ番号が割り当てられている。加えて、 各CPUには2ビットの番号(したがって、4つのCPUを識別する)が割り当 てられ、そのクラスタ内のどのCPUであるのかをセットする。この例では、2 つの2ビット番号を連結して、システムにおいて一意の4ビット識別番号を各C PUに与える。 内部−外部アドレス変換モードでは、クラスタ番号を、専用/共有分類を指定 する指示ビットを含む内部アドレスと共に、要求元クラスタからアドレス変換器 に送る。アドレス変換器では、指示ビットを用いて、変換の設定を制御する。 各CPUが1ギガバイト(30ビットのアドレス・フィールドが、ビット0〜 29として識別され、ビット0が最上位ビットである)を本来直接アドレス可能 な例示のシステムでは、使用可能な外部空間は2ギガバイトであり、外部空間ア ドレス・フィールドの長さは32ビット(ビット0〜31で4ギガバイトを指定 可能)であり、内部アドレスのビット0をインディケータ(指示ビット)として 用いる。ビット0が「0」の場合、クラスタ・メンバは、外部空間のそれ自体の 専用領域からの情報を要求している。逆に、これが「1」の場合、クラスタ・メ ンバは、外部空間の共有領域にある情報をアドレスしている。 指示ビットが「0」の場合、クラスタ番号は外部アドレスのビット1,2にコ ピーされ、内部アドレスのビット1,2が外部アドレスのビット3,4にコピー され、内部アドレスの下位アドレス・ビット3〜29は、外部アドレスのビット 5〜31に直接コピーされる。結果的に得られる外部アドレスは、外部空間にお いて指定された専用領域を指し示すことになる。 しかしながら、内部アドレスの指示ビット0が「1」であり、外部空間の共有 領域へのコールを示す場合、異なる変換が行われる。CN0,CN1は無視され る。内部アドレスのビット1は外部アドレスのビット1にコピーされ、一方外部 アドレスのビット2,3は各々論理「1」に強制される。結果的に得られる外部 アドレスは、外部空間において指定された共有領域を指し示す。 外部−内部アドレス変換モードでは、外部アドレスのビット1,2が内部アド レスの位置CN0,CN1にコピーされる。外部アドレス指示ビットはビット3 ,4である。一方または他方あるいは双方が「0」の場合、複数のクラスタの内 の1つの専用空間からのアドレスが指示される。内部アドレスのビット0は「0 」に強制され、外部アドレスのビット3,4は、内部アドレスのビット1にコピ ーされる。外部アドレスの下位ビット5〜31は、内部アドレスのビット3〜2 9に直接コピーされる。したがって、CN0,CN1によって識別されるクラス タに予約されている専用空間のアドレスと同様に、生成される内部アドレスは外 部メモリ内の情報ブロックを完全に識別する。 外部アドレスのビット3,4双方が「1」の場合、外部空間は共有されること がわかる。内部アドレスのビット0が「1」に強制され、外部アドレスのビット 1,2は内部アドレスのビット1,2にコピーされ、下位アドレスは先と同様に コピーされる。結果的に得られる内部アドレスは、全てのクラスタに使用可能な 外部メモリ内の情報ブロックを識別する。図面の説明 本発明の主題は特定して指摘され、本明細書の結末部分に明確に特許請求され ている。しかしながら、本発明の構成および動作方法の双方に関しては、付随す る請求の範囲および添付図面と関連付けて以下の説明を参照することにより、最 良に理解されよう。 第1図は、本発明を実施可能なクラスタ・コンピュータ・システムの高位ブロ ック図である。 第2図は、個々のクラスタおよびCPUを更に詳細に図示した、第1図に示す システムのブロック図である。 第3図は、個々のマルチプロセッサ・クラスタに割り当てられた場合の内部ア ドレス空間と、主メモリ装置のアドレス空間を表わす外部空間との割り当ての一 例を表わす。 第4図は、各CPUが本来1ギガバイトの情報にアドレスすることができ、全 てのCPUと通信する主メモリ装置が2ギガバイトの情報を格納可能な、本発明 の一実施例を 示す、例示的な変換図である。 第5図は、本発明にしたがって変換される、内部および外部、2タイプのアド レスを表わす。 第6図は、内部−外部モードで動作する各CPUのアドレス変換構成要素内に ある装置を示す簡略論理図である。 第7図は、外部−内部モードで動作するアドレス変換器の簡略論理図である。好適実施例の説明 最初に第1図のクラスタ・コンピュータ・システムの一例を参照すると、この システムは、第1、第2、第3および第4のマルチプロセッサ回路基板1,2, 3,4を含み、各マルチプロセッサ基板はクラスタを構成する4つのCPUを含 み、各マルチプロセッサ基板は、一体的な二次キャッシュ7を介してシステム・ バス5に接続されていることがわかる。システム・バス5は、マルチプロセッサ 基板1,2,3,4を互いに結合すると共に、ブロック6で代表される種々の他 のシステム構成物(サービス・プロセッサ「SP」を含む)に結合する。加えて 、システム・バス5は、マルチプロセッサ基板1,2,3,4を、メモリ・コン トローラ10に結合し、一方メモリ・コントローラ10はメモリ・バス9を介し て、1つ以上の主メモリ装置を表わす主メモリ8とのインターフェースを行う。 マルチプロセッサ基板1について図示してあるように、各マルチプロセッサ基 板1,2,3,4は、4つのCPU11,12,13,14を含む。4つのCP U11,12,13,14には、それぞれ一次キャッシュ11C,12C,13 C,14Cが備えられている。例示のシステムでは、各マルチプロセッサ基板上 の一次キャッシュは、各々、それと直接関連するCPUと共通の二次キャッシュ 7との間に配置され、典型的な「キャッシュ内格納(store-into-cache)」構成を 利用している。二次キャッシュ7はシステム・バス5とインターフェースを行う 。一次キャッシュ11C,12C,13C,14Cおよび(クラスタに)共通の 二次キャッシュ7の各々の間に配置されているのは、アドレス変換器11A,1 2A,13A,14Aであり、これらもそれぞれそのプロセッサ11,12,1 3,14の構成物である。 本発明の好適な態様によれば、マルチプロセッサ基板1,2,3,4の各々は クラスタを構成し、各クラスタはそれ自体のオペレーティング・システムの下で 走り、システム効率の向上を図っている。 次に第2図を参照すると、本発明の環境が更に詳細に示されている。即ち、マ ルチプロセッサ基板1(基板「0」)上のCPU11は、アドレス・レジスタ1 5、アドレス変換器18および二次キャッシュ7を介して、システム・バス5と 通信することがわかる。レジスタ15は、CPU11の一次キャッシュ内のアド レス・インターフェース回路を単に都合よく表現したものに過ぎない。レジスタ 15によって、CPU11が発生するアドレスを二次キャッシュ7への要求とし て送信し、アドレス変換器18において変換することができる。この状態が発生 するのは、CPU11によって要求された情報が、マルチプロセッサ基板1上の CPU11,12,13,14の一次キャッシュのどの1つにも存在しないとき である。(このようなマルチプロセッサ構成の多くでは、1つのCPUが他のC PUの一次キャッシュから情報を「吸引(siphon)」することが可能であることを 、当業者は理解しよう。) プロセッサ基板2(基板「1」)上には、対応するCPU21,22,23, 24が見られる。同様に、マルチプロセッサ基板3(基板「2」)、4(基板「3」) 上には、それぞれ、対応するCPU31,32,33,34および41,42, 43,44が見られる。加えて、レジスタ15に対応するレジスタ25,35, 45が、それぞれ、マルチプロセッサ基板2,3,4上に見られる。また、アド レス変換器18に対応するアドレス変換器28,38,48も、それぞれ、マル チプロセッサ基板2,3,4の各々のCPU0に見られる。 更に、マルチプロセッサ基板1上のCPU11の一次キャッシュ内には、第1 および第2の2ビット識別レジスタ16,17がそれぞれ示されている。(レジ スタ16,17は、マルチプロセッサ基板1に対する2ビット・クラスタ識別お よびCPU11に対する2ビット・クラスタ・メンバ識別を確立するための任意 の有効な手段を代表することは理解されよう。例えば、クラスタ/クラスタ・メ ンバ識別は、ハードワイヤ状としたり、完全なクラスタ・メンバ番号にセットす ることが可能な4つのスイッチとして存在できる。)マルチプロセッサ1におけ るCPU11の場合、レジスタ16,17の4つのステージは、各々論理「0」 位置にセットされ、これによって、クラスタ識別「00」(基板「0」)、およ びクラスタ・メンバ識別「00」(CPU「0」)を与える。実際上は、レジス タ16,17を連結させてもよく、更にシステム初期化時に、サービス・プロセ ッサSPの制御の下でセットしてもよい。これは破線20で表されている。 各CPU0 21,31,41に対して、対応するレジスタ対26,27;3 6,37および46,47がマルチプロセッサ基板2,3,4上に備えられてお り、それぞれ、クラスタ識別「01」、「10」および「11」を与えると共に 、各々の場合に、クラスタ・メンバ識別「00」を与えるようにセットされてい る。 以下の説明では、マルチプロセッサ基板1(基板「0」)を対象として説明す るが、レジスタ26,36,46に格納されるそれらのクラスタ番号識別が異な ること、即ち、マルチプロセッサ基板3上のCPU2 33に対するクラスタ・ メンバ番号が「1010」(基板「2」/CPU「2」)であることを考慮すれ ば、マルチプロセッサ基板2,3,4も同様に動作することは理解されよう。 CPU11の一次キャッシュ内の30ビット・レジスタ15は、例示のCPU ファミリの限界である、1ギガバイトのアドレス位置を指定することができる。 主メモリ8内のアドレス可能空間の一部を、各プロセッサ基板上のCPUの専用 な使用に予約することによって、とりわけ、独立したオペレーティング・システ ム下で各プロセッサ基板を動作させるようにすることには有用性がある。(これ らの独立したオペレーティング・システムは、同一のオペレーティング・システ ムでも、異なるオペレーティング・システムでもよい。)一方、異なるオペレー ティング・システムの下で動作する複数のクラスタおよび複数のCPUの間にお いて直接的な通信を確立し、これらがクラスタ・システム・アーキテクチャの最 大処理能力で機能できるようにする必要性もある。この機構の達成を可能にする 1つの方法は、主メモリ8に共有メモリ空間を設けることである。 本発明は、これらの機構全てを享受しつつ、システム内の個々のCPUが本来 可能であるよりも広いメモリ空間の総括的な直接および間接アドレスを、主メモ リ内において可能にするものである。 以下の説明では、「内部空間」という用語は、各マルチプロセッサ基板上のC PUによってアドレス可能なメモリを意味し、一方「外部空間」という用語は、 アドレス可能な全メモリ、即ち、主メモリ8内で使用可能なメモリ空間を意味す るものとする。これら2つのタイプの空間は、アドレス変換器18を挟む両側に 存在し、これによって調整される。本例示システムでは、アドレス変換器18は 、各CPUの一次キャッシュ内に配置されている。 本明細書における内部および外部空間ならびに専用および共有メモリという概 念は、第3図を参照すると一層よく理解することができる。本例では、各CPU は30ビットのアドレス・フィールドを有し、したがって1ギガバイトを直接ア ドレス可能であると仮定することができる。更に、例示の主メモリ内で使用可能 な外部空間は2ギガバイトであり、外部アドレス・フィールドは32ビット長で あり、即ち、4ギガバイトをアドレス可能であると仮定することもできる。 本発明の鍵となる特徴の1つは、各マルチプロセッサ基板に対してアドレス可 能なメモリを割り当てる方法にある。アドレス変換の結果として、各プロセッサ 基板1,2,3,4によって外部メモリ空間をアクセス可能とするには、本来ア ドレス可能な内部空間の3/8を専用とし、半分を共有とする。明らかに残る1 /8については、以下に説明する。 これらの条件の下において、第3図を検討することによってこのメモリ割り当 ての真価を認めることができる。マルチプロセッサ基板1は、1/8ギガバイト ・セグメントP11,P12,P13として識別される3/8ギガバイトの専用 メモリ空間を享受する。加えて、マルチプロセッサ基板1は、1/8ギガバイト ・セグメントSA,SB,SC,SD内の1/2ギガバイトの共有メモリ空間へ のアクセスも有する。同様に、マルチプロセッサ基板2は、1/8ギガバイト・ セグメントP21,P22,P23として識別される3/8ギガバイトの専用メ モ リ空間を享受する。加えて、マルチプロセッサ基板2は、1/8ギガバイト・セ グメントSA,SB,SC,SD内の1/2ギガバイトの共有メモリ空間へのア クセスも有する。マルチプロセッサ基板3および4に対する内部空間も、第3図 に示すように、対応して割り当てられる。 この内部空間アドレス情報は、アドレス変換ブロックに供給される。前述のよ うに、アドレス変換ブロックは各CPUの一次キャッシュ内にあるが、明確化の ために、第3図では単一ブロックとして別個に示されている。このアドレス情報 は、本発明によれば、アドレス変換ブロックで、変換可能であり、第3図に概略 的に示すように分配された外部空間アドレス・セグメントを得ることができる。 次に、第2図、第4図、第5図、第6図および第7図を参照して、この例の実 施態様について考える。第4図は、内部および外部空間アドレスをアドレス変換 ブロック(例えば、第2図のアドレス変換器18)によって変換する場合の、内 部および外部空間アドレス双方に対する、4つのマルチプロセッサ基板の高位ア ドレス・ビット分布を示す。各場合について、3つの列があり、それぞれ、クラ スタ番号(既に、第2図のレジスタ16,26,36,46によってセットされ ている)、30ビット内部アドレスの上位3ビット、ならびに32ビット変換ア ドレスの上位の第2、第3、第4および第5ビットを表わす。以下で更に詳細に 論ずるが、32ビット変換アドレスの最上位ビットは、この例では、常に「0」 である。 第5図も参照して、まずマルチプロセッサ基板1について内部アドレス・パタ ーンを調べると、クラスタ番号は「00」に予めセットされ、専用空間の上位3 ビットは「000」、「001」および「010」であり、共有空間の上位3ビ ットは「100」、「101」、「110」および「111」である。本例では 、上位3ビットについて「011」という組み合わせは予約されていることがわ かるだろう。内部アドレスの上位3ビットは、プロセッサ・アドレス・フィール ドの上位セグメントと見なすことができ、残りのビット3〜29はその下位セグ メントと見なすことができる。 外部アドレスに対するアドレス・フィールドは32ビットを有し、主メモリは 2ギガバイトを格納するに過ぎないので、この例では、外部アドレスの最上位ビ ットは常に「0」である。(しかしながら、この最上位ビットは、2つの完全な システムの内、共有主メモリへのアクセスを許可すべき一方を示すために使用可 能であることに気がつかれるかもしれない。)したがって、対応するアドレスは 、変換されるべき専用外部空間アドレスの上位ビット(即ち、ビット1,2,3 ,4)に変換され、それぞれ、「00000」、「00001」、「00010 」(即ち、P11,P12,P13)となり、共有外部空間アドレスについては 、それぞれ、「00011」、「00011」、「01011」および「011 11」(即ち、SA,SB,SC,SD)となる。内部アドレスの上位5ビット は、メモリ・アドレス・フィールドの上位セグメントと見なすことができ、残り のビット5〜31はその下位セグメントと見なすことができる。 マルチプロセッサ基板2については、クラスタ番号は「01」に予めセットさ れており、専用空間の上位3ビットは、この場合も、「000」、「001」お よび「010」であり、共有空間の上位3ビットも、この場合、「100」、「 101」、「110」および「111」である。(クラスタ番号を除いて、相違 はなく、これは、クラスタ番号が「01」および「11」であるマルチプロセッ サ基板3,4にも当てはまる。)対応するアドレスは、専用外部空間アドレスの ビット1,2,3,4に変換され、それぞれ「00100」、「00101」、 「00110」(即ち、P21,P22,P23)となり、共有外部空間アドレ スのビットは、それぞれ、「00011」、「00011」、「01011」お よび「01111」(即ち、ここでもSA,SB,SC,SD)となる。 同様に、マルチプロセッサ基板3および4の内部アドレスは、それぞれ、外部 アドレス「01000」(P31)、「01001」(P32),「01010 」(P33)、「00011」(SA)、「00011」(SB)、「0101 1」(SC)、「01111」(SD)および「01100」(P41)、「0 1101」(P42)、「01110」(P43)、「00011」(SA)、 「00011」(SB)、「01011」(SC)、「01111」(SD)に 変換される。 この変換の基本は、専用および共有アドレスでは異なり、明らかにするのは容 易でないので、更に説明が必要である。まず、各内部専用アドレスの最上位ビッ トは「0」であり、一方各内部共有アドレスの最上位ビットは「1」であること がわかる。専用アドレスの場合、各マルチプロセッサ基板(クラスタ)のCNは 、外部アドレスのビット1および2として利用される。ビット1は「0」である ことがわかっており、変換には直接用いられない。内部アドレスのビット2およ び3は、それぞれ、外部アドレスのビット3および4として使用される。 共有アドレスの場合、内部アドレスのビット1は「1」であることがわかって おり、変換には直接用いられない。内部アドレスのビット1および2は、外部ア ドレスのビット1および2として用いられる。最後に、外部アドレスのビット3 および4は「11」にセットされる。 先の検討において、「として用いられる」という用語は、内部−外部変換プロ セスを表わすものとしてのみ理解すべきである。勿論、外部−内部変換はこのプ ロセスの逆である。 以上のことから、この特定アドレシング方式では何故「011」という内部ア ドレスを用いないのかが理解されよう。即ち、この変換プロセスによれば、専用 および共有空間に重複した外部アドレス範囲ができてしまう結果となるからであ る。 CPU0 11のアドレス変換器18に対する例示的な変換機構を第6図およ び第7図に示す。第6図は、この装置が内部−外部変換モードで動作し、二次キ ャッシュ7に送出された一次キャッシュからの要求として、クラスタ番号を含む 内部アドレスをアドレス変換器18に送ることを示している(勿論、二次キャッ シュ7は、要求の時点で、要求された情報が二次キャッシュ内にない場合は、こ の要求を主メモリに送る)。したがって、内部アドレスはレジスタ15内に存在 し、レジスタ16内にあるクラスタ番号と共に、アドレス変換器への入力として 作用する。 この変換では、内部アドレスのビット0が鍵となる。これが「0」の場合、ア ドレスは、要求元のマルチプロセッサ基板に専用なものとして識別され、それ自 体はレジスタ16内のCN0,CN1によって識別される。ビット0は反転器5 5によって「1」に反転され、したがって、反転器55の出力は、ANDゲート 61,63,65,67の各々の一方の入力をイネーブルする。ANDゲート6 1の他方の入力はCN0であり、したがって、これは、例示のアドレス変換器の 出力レジスタ54における外部アドレスのビット1に、ORゲート56を介して コピーされる。ANDゲート64の他方の入力はCN1であり、したがって、外 部アドレスのビット2に、ORゲート67を介してコピーされる。ANDゲート 65の他方の入力は内部アドレスのビット1であり、したがって、レジスタ54 における外部アドレスのビット3に、ORゲート58を介してコピーされる。同 様に、ANDゲート67の他方の入力は内部アドレスのビット2であり、したが って、レジスタ54における外部アドレスのビット4に、ORゲート59を介し てコピーされる。レジスタ18における内部アドレスの下位アドレス・ビット3 〜29は、レジスタ54内の外部アドレスのビット5〜31に直接コピーされる 。レジスタ54における外部アドレスのビット0は、論理「0」に強制される。 なぜなら、外部空間は、本例では、2ギガバイトに制限されているからである。 前述のように、このビットは、主メモリへのアクセスを有する別個のシステムを 収容するために利用可能である。 一例として、変換されるアドレスがCPU0 11の一次キャッシュから供給さ れたと仮定する。即ち、CN0,CN1が「00」にセットされ、内部アドレス のビット0,1,2が「010」である。本例では、変換後に上位アドレス・ビ ット「00010」によってアドレスされる外部空間は、第3図においてP13 として識別されている1/8ギガバイトの専用ブロックとなる。 別の例において、アドレス変換器18に送られる内部アドレスのビット0が論 理「1」であり、共有空間へのコールを示すと仮定する。この場合、ビット0は 反転器55によって論理「0」に反転されるので、ANDゲート61,63,6 5,67はディスエーブルされる。代わりに、ANDゲート60,62,64, 66は各々、レジスタ53のビット0に論理「1」があることの結果として、一 方の入力がイネーブルされる。ANDゲート60の他方の入力はレジスタ53の ビット1から来るので、内部アドレスにおけるビット1の論理レベルが、レジス タ54における外部アドレスのビット1に、ORゲート56を介してコピーされ る。ANDゲート62の他方の入力はレジスタ53のビット2から来るので、内 部アドレスにおけるビット2の論理レベルが、レジスタ54における外部アドレ スのビット2に、ORゲート57を介してコピーされる。 ANDゲート64,66の各々の他方の入力は直接論理「1」に連結されてい るので、レジスタ54における外部アドレスのビット3および4は、それぞれ、 ORゲート58,59を介して「1」にセットされる。この場合も、本例では外 部空間上の2ギガバイトの制限のために、レジスタ54内の外部アドレスのビッ ト0は「0」に強制される。内部アドレスの下位アドレス・ビット3〜29は、 先と同様、外部アドレスのビット5〜31に直接コピーされる。 ここで、マルチプロセッサ基板1によって供給された内部アドレスのビット0 ,1,2が「111」であると仮定する。この例では、変換後に上位アドレス・ ビット「01111」によってアドレスされる外部空間は、第3図においてSD として識別されている1/8ギガバイトの共有ブロックとなる。 本例では、二次キャッシュ7に要求を行った所与のマルチプロセッサ基板上の CPUは、従来のように、二次キャッシュによって追跡される。したがって、ク ラスタ・メンバ番号を含むレジスタ17の内容は、その目的のために二次キャッ シュに送られる。 第7図は、外部−内部アドレス変換モードで動作するアドレス変換器18を示 す。二次キャッシュからの外部アドレスは、レジスタ68に置かれ、この目的の ために適切な任意のロジックを表わす。外部アドレスのビット0は、主メモリの 容量が2ギガバイトであるために、用いられない。ビット1および2はマルチプ レクサ対84,85の対応する入力に印加され、レジスタ86への入力を選択的 に駆動する。これは、一次メモリをアドレス変換器とインターフェースさせる任 意の適切なロジックを表わす。加えて、レジスタ68内のビット1および2は、 比較器81,82それぞれへの入力に印加される。比較器81,82は、レジス タ16内のCN0およびCN1を、それぞれの第2入力として有する。比較器8 1,82双方において一致があった場合、この状態は、クラスタ番号「00」が 、マルチプロセッサ基板1(基板「0」)の1つに対して予約されている専用空 間として識別された外部アドレスの宛先であることを確認する。これは、外部ア ドレスのビット3および4のステータスによって決定される。即ち、ビット3お よび4の一方または双方が論理「0」である場合に、この状態となる。比較器8 1, 81双方が比較状態を示している場合、ANDゲート83への3つの入力の内2 つはイネーブルされている。ANDゲート83の第3の入力はANDゲート89 からの出力によって駆動され、一方、ANDゲート89は比較器87,88から の2つの出力によって駆動される。比較器87,88それぞれへの第1の入力は 、レジスタ17からのCM0,CM1であり、それらの各第2の入力は、二次キ ャッシュから受け取ったクラスタ・メンバ番号である。これは、ローカル・クラ スタ内のCPU0が、外部アドレスによって識別されたメモリ・ブロックへのア クセスを最初に要求したことをこれまで通り予め記録したものである。したがっ て、比較器81,82,87,88全てにおいて比較状態がある場合、ANDゲ ートは完全にイネーブルされ、マルチプレクサ84をイネーブルし、変換された 外部−内部アドレスをレジスタ86に転送させる。 本例では専用空間が示されるので、レジスタ68内のビット3および4の一方 または他方は「0」であり、ANDゲート70はディスエーブルされて、その出 力は「0」となり、反転器71の出力は「1」となる。この状態は、ANDゲー ト72をイネーブルし、その入力の一方にある論理「0」を、ORゲート78を 介して、更にマルチプレクサ84を介して、レジスタ86のビット0に転送する 。同様に、反転器71の出力はANDゲート74をイネーブルし、レジスタ68 内のビット3を、ORゲート79、マルチプレクサ84を介して、レジスタ86 のビット1に転送する。また、反転器71の出力はANDゲート76をイネーブ ルし、レジスタ68内のビット4を、ORゲート80、マルチプレクサ84を介 して、レジスタ86のビット2に転送する。最後に、レジスタ68内のビット5 〜31は、マルチプレクサ84を介して、レジスタ86内のビット3〜29に転 送され、アドレス情報の外部−内部変換および正しいクラスタ内の正しいCPU の選択を完了し、大容量メモリの専用格納領域において要求された情報を受け取 る。 外部アドレスのビット3および4双方が「1」である場合、共有アドレスが示 され、ANDゲート70が完全にイネーブルされる。その結果ANDゲート70 の出力が「1」となり、ANDゲート73,75,77,90各々の一方の入力 をイネーブルする。これは、情報が専用でないことを示しているので、クラスタ 番号を考慮する必要はない。したがって、二次キャッシュからのクラスタ・メン バ番号が前述のようにCPU0を識別する場合、ANDゲート89からの出力は ANDゲート90を完全にイネーブルし、マルチプレクサ85をイネーブルし、 それへの入力をレジスタ86に転送する。 ANDゲート73への他方の入力は論理「1」によって駆動されるので、「1 」がレジスタ86のビット0に、ORゲート78およびマルチプレクサ85を介 してコピーされ、共有空間に対する内部アドレス指示を与える。ANDゲート7 5,76の他方の入力は、それぞれ、レジスタ68のビット1,2から来る。そ の結果、レジスタ68内のビット1,2の内容が、それぞれORゲート79,8 0およびマルチプレクサ85を介して、レジスタ86のビット1,2にコピーさ れる。レジスタ68内の外部アドレスのビット5〜31は、マルチプレクサ85 を介して、レジスタ86内の内部アドレスのビット3〜29に、内部および外部 アドレスに共通の低位アドレス・ビットとしてコピーされる。 以上の説明から、第6図および第7図に示す本発明の例示の実施例では、各プ ロセッサ基板(クラスタ)は、30ビット・アドレス・フィールドによって本来 アドレス可能な1ギガバイトの1/8をアドレスする能力を失うことが理解され よう。しかしながら、得られるものは、共有空間を介して全てのマルチプロセッ サ基板間で直接通信する機能である。更に、いずれのマルチプロセッサ基板でも 、共有空間を介して適切な要求を送ることにより、他のマルチプロセッサ基板の 専用空間を間接的にアドレスし、その結果、所望の情報を専用空間から共有空間 に移動させる機能も達成される。加えて、前述の各マルチプロセッサ基板にそれ 自体のオペレーティング・システムの下で動作させるという利点も得られる。更 にまた、各クラスタにおいて別個のオペレーティング・システムを走らせる利点 を享受する機能も容易に実現され、かつ強化される。 第3図から第7図までを含む例は、本発明によって確立可能な多くのアドレス 変換の1つに過ぎない。例えば、各マルチプロセッサ基板が、以前のように、1 ギガバイトに本来直接アドレス可能であり、主メモリが4ギガバイトを格納可能 であるシステムについて、簡単に考えてみる。この場合、外部アドレスのビット 0も機能することになり、それにしたがって、第6図および第7図のロジックを 調節し拡張する。単純な構成の1つでは、各マルチプロセッサ基板に対するクラ スタ番号は、3ビットまで拡張してもよく、最上位のクラスタ番号ビットが、外 部アドレスのビット0との間でコピーされる。この構成は、収容可能な4マルチ プロセッサ・クラスタの数を増大すると共に、直接的および間接的にアドレス可 能な外部メモリも拡張する。あるいは、クラスタ当たり2つのマルチプロセッサ (即ち、例示のシステムにおいて、マルチプロセッサ基板当たり2つのクラスタ )に、クラスタを減少させることも可能である。その結果、専用空間として使用 する外部空間が広がり、各専用空間ブロックを使用するプロセッサの数が減少す る。このように、本発明によって得ることができるアドレス変換は多種多様であ り、詳細に扱った前述の例は、使用可能な外部空間が2ギガバイトでありプロセ ッサは1ギガバイトを直接アドレスするだけに限定された特定のシステムに特別 に適用可能であることが見出された、一例を代表するに過ぎないことは理解され よう。 また、外部アドレスのビット0は、共通の大容量メモリにアクセスする2つの別 個のマルチクラスタ・システム間のスイッチとして使用可能であることも、既に 述べた。 以上、例示の実施例において本発明の原理を明確にしたが、これらの原理から 逸脱することなく、本発明の実施に用いられる構造、構成、割合、要素、素材、 および構成物に多くの変更を加え、具体的な環境および動作要件に特定的に適応 させることは、当業者には直ちに認められよう。
───────────────────────────────────────────────────── 【要約の続き】 ラスタの二次キャッシュによって用いられ、どのプロセ ッサが大容量メモリに対して情報の送信/受信を行うの かを追跡する。

Claims (1)

  1. 【特許請求の範囲】 1.クラスタ・コンピュータ・システムであって: A)複数のクラスタであって、各前記クラスタは: 1)複数のプロセッサであって、各前記プロセッサは、プロセッサ・アドレス ・フィールドによって直接アドレス可能なメモリ範囲に対して固有の制限を有し 、前記プロセッサ・アドレス・フィールドが上位および下位セグメントに分割さ れ、各前記プロセッサが: a)一次キャッシュ;および b)アドレス変換器; を含む、前記複数のプロセッサ;および 2)二次キャッシュ; から成る前記複数のクラスタと; B)各前記プロセッサが本来直接アドレス可能な前記範囲を超過する容量を有 するメモリであって、前記メモリはメモリ・アドレス・フィールドによってアド レス可能であり、前記メモリ・アドレス・フィールドは前記プロセッサ・アドレ ス・フィールドを超過し、前記メモリ・アドレス・フィールドは上位および下位 セグメントに分割されている前記メモリと; C)各前記クラスタに対してクラスタ番号を確立する手段と; D)前記複数のクラスタを、前記二次キャッシュを介して、前記メモリに結合 する手段と; から成り、 E)各前記クラスタ内の各前記プロセッサ内の各前記アドレス変換器は、それ 自体の前記プロセッサ内の前記一次キャッシュおよびそれ自体の前記クラスタ内 の前記二次キャッシュの中間に結合され、前記アドレス変換器は、それ自体の前 記プロセッサ内の前記一次キャッシュ内のプロセッサ・アドレス・フィールドお よびクラスタ番号情報に応答する、第1アドレス変換ロジックを含み、前記第1 アドレス変換ロジックは、前記プロセッサ・アドレス・フィールドの前記上位セ グメントにおける所定の指示ビットのデジタル状態に応答し、2通りのアドレス 変換の一方を実行する手段を備えており、前記2通りのアドレス変換は: 1)前記所定の指示ビットが第1のデジタル値である場合: a)前記メモリ・アドレス・フィールドの前記上位セグメントの下位2ビット を第1の論理レベルに強制し; b)前記プロセッサ・アドレス・フィールドの前記上位セグメントの前記下位 2ビットを、前記メモリ・アドレス・フィールドの前記上位セグメントの上位2 ビットにコピーし; c)前記プロセッサ・アドレス・フィールドの前記低位セグメントの内容を、 前記メモリ・アドレス・フィールドの前記低位セグメントにコピーすることによ り; 前記クラスタ全てによってアドレス可能なメモリ領域を指定すること;および 2)前記所定の指示ビットが第2のデジタル値である場合; a)前記プロセッサ・アドレス・フィールドの前記上位セグメントの下位2ビ ットを、前記メモリ・アドレス・フィールドの前記上位セグメントの下位2ビッ トにコピーし; b)前記クラスタ番号を、前記メモリ・アドレス・フィールドの前記上位セグ メントの上位2ビットにコピーし; c)前記プロセッサ・アドレス・フィールドの下位セグメントの内容を、前記 メモリ・アドレス・フィールドの前記下位セグメントにコピーすることにより; 前記クラスタ番号によって識別されるクラスタによってのみアドレス可能なメ モリ領域を指定すること; から成ることを特徴とするクラスタ・コンピュータ・システム。 2.請求項1記載のクラスタ・コンピュータ・システムにおいて、前記プロセッ サ・アドレス・フィールドの前記上位セグメントは3ビットから成り、前記メモ リ・アドレス・フィールドの前記上位セグメントは少なくとも5ビットから成る ことを特徴とするクラスタ・コンピュータ・システム。 3.請求項2記載のクラスタ・コンピュータ・システムにおいて、前記プロセッ サ・アドレス・フィールドの前記上位セグメントの最上位ビットは、前記所定の 指示ビットとして用いられることを特徴とするクラスタ・コンピュータ・システ ム。 4.請求項3記載のクラスタ・コンピュータ・システムであって、更に、前記ク ラスタ内の各前記プロセッサに対してクラスタ・メンバ番号を確立する手段を含 み、所与の前記プロセッサの前記クラスタ・メンバ番号は、前記所与の前記プロ セッサによって所与のメモリ要求が行われたとき、前記所与の前記プロセッサが 位置する前記クラスタ内の前記二次キャッシュに送られ、前記所与の前記プロセ ッサが位置する前記クラスタ内の前記二次キャッシュが、それ自体の前記クラス タ内の前記プロセッサのどれに、前記所与のメモリ要求に対する応答を行うのか を識別可能にすることを特徴とするクラスタ・コンピュータ・システム。 5.クラスタ・コンピュータ・システムであって: A)複数のクラスタであって、各前記クラスタは: 1)複数のプロセッサであって、各前記プロセッサは、プロセッサ・アドレス ・フィールドによって直接アドレス可能なメモリ範囲に対して固有の制限を有し 、前記プロセッサ・アドレス・フィールドが上位および下位セグメントに分割さ れ、各前記プロセッサが: a)一次キャッシュ;および b)アドレス変換器; を含む、前記複数のプロセッサ;および 2)二次キャッシュ; から成る前記複数のクラスタと; B)各前記プロセッサが本来直接アドレス可能な前記範囲を超過する容量を有 するメモリであって、前記メモリはメモリ・アドレス・フィールドによってアド レス可能であり、前記メモリ・アドレス・フィールドは前記プロセッサ・アドレ ス・フィールドを超過し、前記メモリ・アドレス・フィールドは上位および下位 セグメントに分割されている前記メモリと; C)各前記クラスタに対してクラスタ番号を確立する手段と; D)前記複数のクラスタを、前記二次キャッシュを介して、前記メモリに結合 する手段と; から成り、 E)各前記クラスタ内の各前記プロセッサ内の各前記アドレス変換器は、それ 自体の前記プロセッサ内の前記一次キャッシュおよびそれ自体の前記クラスタ内 の前記二次キャッシュの中間に結合され、前記アドレス変換器は、メモリ・アド レス・フィールド情報に応答する第2アドレス変換ロジックを含み、該第2変換 ロジックは、前記メモリ・アドレス・フィールド内の所定の複数の指示ビットの デジタル状態に応答して、2通りのアドレス変換の一方を実行する手段を含み、 前記所定の複数の指示ビットは、その最上位ビットよりも下位のビットであり、 前記2通りのアドレス変換は: 1)前記所定の複数の指示ビットが共に第1のデジタル値である場合: a)前記プロセッサ・アドレス・フィールドの前記上位セグメントの所定のビ ットを第1の論理レベルに強制し; b)前記メモリ・アドレス・フィールドの前記上位セグメントの上位2ビット を、前記プロセッサ・アドレス・フィールドの前記上位セグメントの下位2ビッ トにコピーし; c)前記メモリ・アドレス・フィールドの前記低位セグメントの内容を、前記 プロセッサ・アドレス・フィールドの前記低位セグメントにコピーすることによ り; 前記クラスタ全てによってアドレス可能な情報を含むメモリ領域を指定するこ と;および 2)前記所定の指示ビットのいずれかが第2のデジタル値である場合: a)前記メモリ・アドレス・フィールドの前記上位セグメントの下位2ビット を、前記プロセッサ・アドレス・フィールドの前記上位セグメントの下位2ビッ トにコピーし; b)前記メモリ・アドレス・フィールドの前記上位部分における前記クラスタ 番号を表わす上位ビットを、前記共通クラスタ・インターフェースにおける前記 クラスタ番号にコピーし; c)前記メモリ・アドレス・フィールドの下位セグメントの内容を、前記プロ セッサ・アドレス・フィールドの前記下位セグメントにコピーすることにより; 前記クラスタ番号によって識別されるクラスタによってのみアクセス可能な情 報を含むメモリ領域を指定すること; から成ることを特徴とするクラスタ・コンピュータ・システム。 6.請求項5記載のクラスタ・コンピュータ・システムにおいて、前記プロセッ サ・アドレス・フィールドの前記上位セグメントは3ビットから成り、前記メモ リ・アドレス・フィールドの前記上位セグメントは少なくとも5ビットから成る ことを特徴とするクラスタ・コンピュータ・システム。 7.請求項6記載のクラスタ・コンピュータ・システムにおいて、前記メモリ・ アドレス・フィールドの前記上位セグメントの下位2ビットは、前記所定の複数 の指示ビットとして用いられることを特徴とするクラスタ・コンピュータ・シス テム。 8.請求項7記載のクラスタ・コンピュータ・システムであって、更に、前記ク ラスタ内の各前記プロセッサに対してクラスタ・メンバ番号を確立する手段を含 み、所与の前記プロセッサの前記クラスタ・メンバ番号は、前記所与の前記プロ セッサによって所与のメモリ要求が行われたとき、前記所与の前記プロセッサが 位置する前記クラスタ内の前記二次キャッシュに送られ、前記所与の前記プロセ ッサが位置する前記クラスタ内の前記二次キャッシュが、それ自体の前記クラス タ内の前記プロセッサのどれに、前記所与のメモリ要求に対する応答を行うのか を識別可能にすることを特徴とするクラスタ・コンピュータ・システム。 9.クラスタ・コンピュータ・システムであって: A)複数のクラスタであって、各前記クラスタは: 1)複数のプロセッサであって、各前記プロセッサは、プロセッサ・アドレス ・フィールドによって直接アドレス可能なメモリ範囲に対して固有の制限を有し 、前記プロセッサ・アドレス・フィールドが上位および下位セグメントに分割さ れ、各前記プロセッサが: a)一次キャッシュ;および b)アドレス変換器; を含む、前記複数のプロセッサ;および 2)二次キャッシュ; から成る前記複数のクラスタと; B)各前記プロセッサが本来直接アドレス可能な前記範囲を超過する容量を有 するメモリであって、前記メモリはメモリ・アドレス・フィールドによってアド レス可能であり、前記メモリ・アドレス・フィールドは前記プロセッサ・アドレ ス・フィールドを超過し、前記メモリ・アドレス・フィールドは上位および下位 セグメントに分割されている前記メモリと; C)各前記クラスタに対してクラスタ番号を確立する手段と; D)前記複数のクラスタを、前記二次キャッシュを介して、前記メモリに結合 する手段と; から成り、 E)各前記クラスタ内の各前記プロセッサ内の各前記アドレス変換器は、それ 自体の前記プロセッサ内の前記一次キャッシュおよびそれ自体の前記クラスタ内 の前記二次キャッシュの中間に結合され、前記アドレス変換器は、それ自体の前 記プロセッサ内の前記一次キャッシュ内のプロセッサ・アドレス・フィールドお よびクラスタ番号に応答する、第1アドレス変換ロジックを含み、前記第1アド レス変換ロジックは、前記プロセッサ・アドレス・フィールドの前記上位セグメ ントにおける第1の所定の指示ビットのデジタル状態に応答して、2通りのアド レス変換の一方を実行する手段を備えており、前記第1の所定の指示ビットは、 その最上位ビットよりも低位であり、前記2通りのアドレス変換は: 1)前記第1の所定の指示ビットが第1のデジタル値である場合: a)前記メモリ・アドレス・フィールドの前記上位セグメントの下位2ビット を第1の論理レベルに強制し; b)前記プロセッサ・アドレス・フィールドの前記上位セグメントの下位2ビ ットを、前記メモリ・アドレス・フィールドの前記上位セグメントの上位2ビッ トにコピーし; c)前記プロセッサ・アドレス・フィールドの前記低位セグメントの内容を、 前記メモリ・アドレス・フィールドの前記低位セグメントにコピーすることによ り; 前記クラスタ全てによってアドレス可能なメモリ領域を指定すること;および 2)前記第1の所定の指示ビットが第2のデジタル値である場合: a)前記プロセッサ・アドレス・フィールドの前記上位セグメントの下位2ビ ットを、前記メモリ・アドレス・フィールドの前記上位セグメントの下位2ビッ トにコピーし; b)前記クラスタ番号を、前記メモリ・アドレス・フィールドの前記上位セグ メントの上位2ビットにコピーし; c)前記プロセッサ・アドレス・フィールドの下位セグメントの内容を、前記 メモリ・アドレス・フィールドの前記下位セグメントにコピーすることにより; 前記クラスタ番号によって識別されるクラスタによってのみアドレス可能なメ モリ領域を指定すること; から成り、 F)前記アドレス変換器は、更に、メモリ・アドレス・フィールド情報に応答 する第2のアドレス変換ロジックを含み、該第2のアドレス変換ロジックは、前 記メモリ・アドレス・フィールド内の第2および第3の所定の指示ビットのデジ タル状態に応答して、2通りのアドレス変換の内一方を実行する手段を備えてお り、前記第2および第3の所定の指示ビットはその最上位ビットよりも低位であ り、前記2通りのアドレス変換は: 1)前記第2および第3の所定指示ビットが双方とも第1のデジタル値である 場合: a)前記プロセッサ・アドレス・フィールドの前記上位セグメントの所定ビッ トを第1の論理レベルに強制し; b)前記メモリ・アドレス・フィールドの前記上位セグメントの上位2ビット を、前記プロセッサ・アドレス・フィールドの前記上位セグメントの下位2ビッ トにコピーし; c)前記メモリ・アドレス・フィールドの下位セグメントの内容を、前記プロ セッサ・アドレス・フィールドの前記下位セグメントにコピーすることにより、 前記クラスタ全てによってアドレス可能な情報を含むメモリ領域を指定するこ と;および 2)前記第2および第3の所定指示ビットのいずれかが第2のデジタル値であ る場合: a)前記メモリ・アドレス・フィールドの前記上位セグメントの下位2ビット を、前記プロセッサ・アドレス・フィールドの前記上位セグメントの下位2ビッ トにコピーし; b)前記メモリ・アドレス・フィールドの前記上位部分におけるクラスタ番号 を表わす上位ビットを、前記共通クラスタ・インターフェースにおける前記クラ スタ番号にコピーし; c)前記メモリ・アドレス・フィールドの前記下位セグメントの内容を、前記 プロセッサ・アドレス・フィールドの前記下位セグメントにコピーすることによ り、 前記クラスタ番号によって識別されるクラスタによってのみアクセス可能な情 報を含むメモリ領域を指定すること; から成ることを特徴とするクラスタ・コンピュータ・システム。 10.請求項9記載のクラスタ・コンピュータ・システムにおいて、前記プロセ ッサ・アドレス・フィールドの前記上位セグメントは3ビットから成り、前記メ モリ・アドレス・フィールドの前記上位セグメントは少なくとも5ビットから成 ることを特徴とするクラスタ・コンピュータ・システム。 11.請求項10記載のクラスタ・コンピュータ・システムにおいて、前記プロ セッサ・アドレス・フィールドの前記上位セグメントの最上位ビットは、前記所 定の指示ビットとして用いられ、前記メモリ・アドレス・フィールドの前記上位 セグメントの下位2ビットは、前記所定の複数の指示ビットとして用いられるこ とを特徴とするクラスタ・コンピュータ・システム。 12.請求項11記載のクラスタ・コンピュータ・システムであって、更に、前 記クラスタ内の各前記プロセッサに対してクラスタ・メンバ番号を確立する手段 を含み、所与の前記プロセッサの前記クラスタ・メンバ番号は、前記所与の前記 プロセッサによって所与のメモリ要求が行われたとき、前記所与の前記プロセッ サが位置する前記クラスタ内の前記二次キャッシュに送られ、前記所与の前記プ ロセッサが位置する前記クラスタ内の前記二次キャッシュが、それ自体の前記ク ラスタ内の前記プロセッサのどれに、前記所与のメモリ要求に対する応答を行う のかを識別可能にすることを特徴とするクラスタ・コンピュータ・システム。
JP9514461A 1995-10-06 1996-10-04 クラスタ・コンピュータ・システムにおけるアドレス変換 Pending JPH11512857A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US08/540,106 US5590301A (en) 1995-10-06 1995-10-06 Address transformation in a cluster computer system
US08/540,106 1995-10-06
PCT/US1996/015937 WO1997013191A1 (en) 1995-10-06 1996-10-04 Address transformation in a cluster computer system

Publications (1)

Publication Number Publication Date
JPH11512857A true JPH11512857A (ja) 1999-11-02

Family

ID=24154013

Family Applications (1)

Application Number Title Priority Date Filing Date
JP9514461A Pending JPH11512857A (ja) 1995-10-06 1996-10-04 クラスタ・コンピュータ・システムにおけるアドレス変換

Country Status (6)

Country Link
US (1) US5590301A (ja)
EP (1) EP0855057B1 (ja)
JP (1) JPH11512857A (ja)
CA (1) CA2211083C (ja)
DE (1) DE69635865T2 (ja)
WO (1) WO1997013191A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006216068A (ja) * 1998-12-18 2006-08-17 Unisys Corp コンピュータ・システムの異なるパーティション中で複数のオペレーティング・システムを動作させ、異なるパーティションが共用メモリを介して相互に通信できるようにするコンピュータ・システムおよび方法

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08235141A (ja) * 1995-02-28 1996-09-13 Kofu Nippon Denki Kk 情報処理システム
US5884098A (en) * 1996-04-18 1999-03-16 Emc Corporation RAID controller system utilizing front end and back end caching systems including communication path connecting two caching systems and synchronizing allocation of blocks in caching systems
US5940870A (en) * 1996-05-21 1999-08-17 Industrial Technology Research Institute Address translation for shared-memory multiprocessor clustering
US5933857A (en) * 1997-04-25 1999-08-03 Hewlett-Packard Co. Accessing multiple independent microkernels existing in a globally shared memory system
JP2001509610A (ja) * 1997-07-02 2001-07-24 クリエイティヴ テクノロジー リミテッド 減結合の命令実行及び音声データシーケンスを有する音声効果プロセッサ
JP3866426B2 (ja) * 1998-11-05 2007-01-10 日本電気株式会社 クラスタ計算機におけるメモリ障害処理方法及びクラスタ計算機
JP3976432B2 (ja) * 1998-12-09 2007-09-19 エヌイーシーコンピュータテクノ株式会社 データ処理装置およびデータ処理方法
US6801937B1 (en) 2000-05-31 2004-10-05 International Business Machines Corporation Method, system and program products for defining nodes to a cluster
US7769823B2 (en) * 2001-09-28 2010-08-03 F5 Networks, Inc. Method and system for distributing requests for content
US6868483B2 (en) * 2002-09-26 2005-03-15 Bull Hn Information Systems Inc. Balanced access to prevent gateword dominance in a multiprocessor write-into-cache environment
US8185602B2 (en) 2002-11-05 2012-05-22 Newisys, Inc. Transaction processing using multiple protocol engines in systems having multiple multi-processor clusters
US8346884B2 (en) 2003-01-21 2013-01-01 Nextio Inc. Method and apparatus for a shared I/O network interface controller
US8102843B2 (en) 2003-01-21 2012-01-24 Emulex Design And Manufacturing Corporation Switching apparatus and method for providing shared I/O within a load-store fabric
US7664909B2 (en) 2003-04-18 2010-02-16 Nextio, Inc. Method and apparatus for a shared I/O serial ATA controller
US7046668B2 (en) * 2003-01-21 2006-05-16 Pettey Christopher J Method and apparatus for shared I/O in a load/store fabric
US7836211B2 (en) 2003-01-21 2010-11-16 Emulex Design And Manufacturing Corporation Shared input/output load-store architecture
US7103064B2 (en) * 2003-01-21 2006-09-05 Nextio Inc. Method and apparatus for shared I/O in a load/store fabric
US7953074B2 (en) 2003-01-21 2011-05-31 Emulex Design And Manufacturing Corporation Apparatus and method for port polarity initialization in a shared I/O device
US7917658B2 (en) 2003-01-21 2011-03-29 Emulex Design And Manufacturing Corporation Switching apparatus and method for link initialization in a shared I/O environment
US7698483B2 (en) 2003-01-21 2010-04-13 Nextio, Inc. Switching apparatus and method for link initialization in a shared I/O environment
US7617333B2 (en) 2003-01-21 2009-11-10 Nextio Inc. Fibre channel controller shareable by a plurality of operating system domains within a load-store architecture
US8032659B2 (en) * 2003-01-21 2011-10-04 Nextio Inc. Method and apparatus for a shared I/O network interface controller
JP2007115223A (ja) * 2005-09-20 2007-05-10 Sharp Corp プロセッサおよびマルチプロセッサ構成方法
TWI301270B (en) * 2006-06-30 2008-09-21 Winbond Electronics Corp Semiconductor memory and circuit and method of decoding address for the same
JP6089349B2 (ja) * 2013-05-28 2017-03-08 ▲ホア▼▲ウェイ▼技術有限公司Huawei Technologies Co.,Ltd. マルチコアアーキテクチャでのリソース分離を支援するための方法およびシステム
WO2016159765A1 (en) * 2015-03-27 2016-10-06 Recore Systems B.V. Many-core processor architecture and many-core operating system
US20170031601A1 (en) * 2015-07-30 2017-02-02 Kabushiki Kaisha Toshiba Memory system and storage system
CN112804335B (zh) * 2021-01-18 2022-11-22 中国邮政储蓄银行股份有限公司 数据处理方法、装置、计算机可读存储介质和处理器

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5197130A (en) * 1989-12-29 1993-03-23 Supercomputer Systems Limited Partnership Cluster architecture for a highly parallel scalar/vector multiprocessor system
US5265235A (en) * 1990-11-30 1993-11-23 Xerox Corporation Consistency protocols for shared memory multiprocessors
JPH04246745A (ja) * 1991-02-01 1992-09-02 Canon Inc 情報処理装置及びその方法
US5394555A (en) * 1992-12-23 1995-02-28 Bull Hn Information Systems Inc. Multi-node cluster computer system incorporating an external coherency unit at each node to insure integrity of information stored in a shared, distributed memory
WO1995025306A2 (en) * 1994-03-14 1995-09-21 Stanford University Distributed shared-cache for multi-processors

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006216068A (ja) * 1998-12-18 2006-08-17 Unisys Corp コンピュータ・システムの異なるパーティション中で複数のオペレーティング・システムを動作させ、異なるパーティションが共用メモリを介して相互に通信できるようにするコンピュータ・システムおよび方法

Also Published As

Publication number Publication date
DE69635865D1 (de) 2006-04-27
WO1997013191A1 (en) 1997-04-10
EP0855057B1 (en) 2006-03-01
CA2211083C (en) 2003-05-20
EP0855057A1 (en) 1998-07-29
US5590301A (en) 1996-12-31
DE69635865T2 (de) 2006-09-14
CA2211083A1 (en) 1997-04-10
EP0855057A4 (en) 1999-12-08

Similar Documents

Publication Publication Date Title
JPH11512857A (ja) クラスタ・コンピュータ・システムにおけるアドレス変換
JP2625385B2 (ja) マルチプロセッサシステム
JP3920395B2 (ja) アドレス変換制御回路及びアドレス変換方法
EP0497600B1 (en) Memory access method and apparatus
JP3687990B2 (ja) メモリアクセス機構
US4742450A (en) Method to share copy on write segment for mapped files
EP0603801A2 (en) Generalized shared memory in a cluster architecture for a computer system
US5684974A (en) Method and apparatus for controlling reconfiguration of storage-device memory areas
US5956751A (en) Computer memory management system using physical segmentation space allocation
US5502825A (en) Data processing system with an enhanced cache memory control
JPH05233452A (ja) 情報処理装置
US6092170A (en) Data transfer apparatus between devices
JPH0312339B2 (ja)
US6253290B1 (en) Multiprocessor system capable of circumventing write monitoring of cache memories
JPH04230550A (ja) 情報処理ネツトワーク及び情報処理方法
US4654791A (en) Input/output paging mechanism in a data processor
US5895496A (en) System for an method of efficiently controlling memory accesses in a multiprocessor computer system
JPH10143431A (ja) マイクロプロセッサおよびコンピュータシステムにおけるデータのキャッシング方法
JPH0519176B2 (ja)
JPH07129464A (ja) 情報処理装置
JP2001134486A (ja) マイクロプロセッサおよび記憶装置
US6810464B1 (en) Multiprocessor computer system for processing communal locks employing mid-level caches
USRE38514E1 (en) System for and method of efficiently controlling memory accesses in a multiprocessor computer system
GB2221066A (en) Address translation for I/O controller
JP3745909B2 (ja) ファイル管理方法