JPH09506731A - マルチプロセッサ・システム用バス構造 - Google Patents

マルチプロセッサ・システム用バス構造

Info

Publication number
JPH09506731A
JPH09506731A JP8528822A JP52882296A JPH09506731A JP H09506731 A JPH09506731 A JP H09506731A JP 8528822 A JP8528822 A JP 8528822A JP 52882296 A JP52882296 A JP 52882296A JP H09506731 A JPH09506731 A JP H09506731A
Authority
JP
Japan
Prior art keywords
bus
memory
logical
physical
bsu
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
Application number
JP8528822A
Other languages
English (en)
Other versions
JP3086261B2 (ja
Inventor
ヨルク ゲツラフ、クラウス
ヴィレ、ウド
ヴェルナー タスト、ハンス
レプラ、ベルント
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPH09506731A publication Critical patent/JPH09506731A/ja
Application granted granted Critical
Publication of JP3086261B2 publication Critical patent/JP3086261B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4022Coupling between buses using switching circuits, e.g. switching matrix, connection or expansion network
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • G06F13/1652Handling requests for interconnection or transfer for access to memory bus based on arbitration in a multiprocessor architecture
    • G06F13/1657Access to multiple memories

Landscapes

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

Abstract

(57)【要約】 本発明は、複数段のキャッシュ構造を有するマルチプロセッサ・コンピュータ・システム用の改良型多重バスの概念に関する。この概念は、詳細には、改良されたバス切換装置を提供する。本発明はまた、そのようなバス・システムを介して多数のプロセッサが電気的に相互接続されている場合の近端信号受信の問題の処理に関する。提案したバス構造は、それぞれいくつかの物理バス手段によって構成された論理バスを含む。各論理バスは、1つまたは複数の物理メモリ・バス手段によってメモリ装置及びバス切換装置(BSU)に接続される。各処理装置は、1つまたは複数の物理バス及びBSUを介して各メモリ装置に接続される。

Description

【発明の詳細な説明】 マルチプロセッサ・システム用バス構造 本発明は、主に複数段のキャッシュ構造を有するマルチプロセッサ・コンピュ ータ・システム用の改良型多重バスの概念に関する。詳細には、この概念は、そ のようなバス・システムを介して多数のプロセッサが電気的に相互接続される場 合において改良型バス切換ユニット及び近端信号受信の方法を提供する。 マルチプロセッサ・コンピュータ・システムにおけるバス構造は、システムの 全体的な性能、機能性、及び細分性に大きく影響する。バスの効率を高める最も 重要な特性の1つは、バスの帯域幅であり、これはプロセッサの速度及び可変数 のプロセッサと適合することのできるバスの能力を記述する。これは、バスの幅 、バス・プロトコルによるバスの効率的利用、及びバスのサイクル時間に左右さ れる。 バスの幅は、チップ・パッド、モジュール・ピン、カード、及びボードの配線 しやすさなどパッケージの物理的制約によって制限される。したがって、従来技 術のバス・システムにおいては、1つの大きなバスまたは1組の小さなバスが構 築されていた。 別の従来技術の手法においては、スマート・バス・プロトコルによりプロセッ サ間のバス・インターリーブによって、 アドレス指定されたメモリ・バンクのアクセス時間によって生じるバスの時間ギ ャップを埋めることができる。「バス・インターリーブ」は、バス上の待ちサイ クルを利用して他のメモリ・バンクにコマンドを出す既知の方法である。バスと メモリの帯域幅を広げるために、1つのバスについて複数のメモリ・バンクを同 時に動作させることができる。 バス帯域幅に主に影響を及ぼすのは、バス・サイクル時間である。効率のよい バス構造は、プロセッサとバスのサイクル時間をできるだけ一致させる優れた電 気特性を備えていなければならない。たとえば、ランドリー・ラインのようなプ ロセッサを接続する簡単な構造では、電気特性が低いためにサイクル時間とプロ セッサの数が制限される。これと対照的に、より多数の複雑なバス構造は、各プ ロセッサと中央切換装置の間にポイント・ツー・ポイント・バスを提供する。こ の装置には、1つまたは複数のメモリ・バンクが接続される。この構造によって 、バス・サイクルを短くすることができるが、長い配線が必要になる。パッケー ジングに関しては、すべてのバスがスイッチに経路指定されるため、中央切換装 置は非常に多くのピン数を必要とする。 さらに、従来技術のシステムにおいて、バス構造の性能は、分散調停機能また は集中調停機能として実施できるバス調停の概念によって改善される。集中調停 の概念は、追加のハードウェア構成要素、すなわち集中バス・スイッチのような 制御装置に基づく。この装置は、すべてのバス要求を受け取っ て調停を行い、次のサイクルで要求装置に許可を出す。 分散方式は、すべての要求線をバスに関与するすべての機構に配線しなければ ならないため、多数の配線を必要とする。しかし、その利点は、集中調停と比較 して、経路にオフチップ・ネットワークが1つしかないために、1サイクル内で 調停を終えることができる点である。経路全体は、オフチップ・ネットワーク、 すなわち要求線と、調停論理回路からなる。これがバスのサイクル時間を制限す る場合は、2サイクルの集中バス調停が好ましい解決策となる。 効率のよいバス構造のもう一つの重要な特徴は、多重キャッシュ・プロセッサ 構造においてデータの整合性を保証できることである。既知の簡単な概念は、い わゆるバス・スヌープである。これにより、各プロセッサが、他のすべてのプロ セッサのバス操作を監視し、そのキャッシュ線の状況を追跡する。その状況は、 「修正」、「独占」、「共用」または「無効」である。必要なアクションは、メ モリを更新しまたは更新せずに線を無効にするかあるいは修正データを放棄する ことである。修正データの放棄は、PUが線の独占的所有者ではなくなっている ことを意味する。これらの動作はすべて、個々のプロセッサによって開始され制 御される。 しかし、この簡単な概念は、構造的に複数のバスがある場合には、集中交換装 置を有するシステムに制限される。したがって、データの整合性を集中交換装置 で制御しなければならない。これにより、プロセッサのすべてのキャッシュ・デ ィレクトリならびに各線の状況のコピーが維持される。集中交換装置は、キャッ シュ線の状況を監視し、必要に応じてプロセッサからの放棄を開始し、データ転 送を行うための必要なメモリ・コマンドを出す。その利点は、サイクル時間が短 いこととバス/メモリの帯域幅が大きいことである。しかし、この方式の欠点は 、キャッシュを含む完全なプロセッサに相当する設計努力が必要なことである。 したがって、このコストのかかる概念は、ハイエンドのメインフレームの設計に おいてしか実施できない。 このような集中調停の概念は、IBMテクニカル・ディスクロージャ・ブルテ ン、Vol.35、No.6、1992年11月(第2図)に、中央クロスバー交換機を使用する ものが開示されている。この論文において、メモリ要求はプロセッサ・バスを介 して転送され、データはクロスバー交換機を介してメモリ装置に転送される。こ の分割概念によって、いくつかのメモリ・バンクに対するインターリーブ・アク セスの集中メモリ制御が可能になる。 集中調停のもう1つの手法は、本出願人の米国特許第5355455号明細書 に示されている。この特許は、複数のバスがバス・アダプタによって接続された コンピュータ・システムにおけるデッドロック問題に関するものである。このバ ス・アダプタは、共通のバス・システムを2つの並列バスに分割し、第1の部分 は処理装置とメモリ装置を含み、第2の部分はいくつかの入出力制御装置を含む (上記明細書の第1 図)。この発明の基礎となる問題は、2つのデータ・バスを有するコンピュータ ・システムに関し、第1のバスのバス装置が第2のバスのバス装置と通信しよう とするが、第2のバスのバス装置は第1のバスとは別のバス装置と通信しようと し、通常はデッドロック状態になるものである。この問題は、バス・アダプタが 1つしかないためにボトルネック状況として発生し、特にBUS SUSPEN D制御信号を導入することによって解決される。 分散調停手法の例は、Siemens Aktiengesellschaft,Germanyに譲渡された米 国特許第5093826号明細書に記載されている。同特許は、任意の半分に分 割された多重バス・システムに関し、各半分が、重複した主メモリの対応する半 分に接続されている。これにより、同一の情報が異なる2つのメモリに記憶され る。この特許の教示によれば、特別の動作時間に、個々のプロセッサ、1つのバ ス・システムの片方、及びいくつかのメモリ・セクションが分割され、独立の専 用コンピュータを形成するように相互接続される。 欧州特許出願0557651号明細書は、メモリ・バス上で効率の良いインタ ーリーブを可能にするマルチプロセッサ・システムに関する。この概念によって 、メモリが少なくとも2つのメモリ・バンクに論理的に分割されるため、バスに 関与する機構のメモリへの複数アクセスが可能になる。 さらに、ドイツ国特許PS3708887号明細書において、並列バス構造が 開示されている。この構造では、、セク ション間にレジスタが挿入されてバスがセクションに分割される。各バス・セク ションにおいて、所与の時間に、データが、互いに独立に転送されまたはパイプ ライン転送される。個々のバス・セクション内のデータ・バスが通常はセンチメ ートルの物理長さでさらに細分割されるので、信号伝送時間が大幅に短縮される 。したがって、サイクル時間と転送速度が速くなる。 したがって、本発明の目的は、単純で効率の良い多重バス・システムを最短の バス・サイクル時間で利用することによってバス帯域幅が最大になるようにする 、密結合マルチプロセッサ・コンピュータ・システム用の改良型バスの概念を提 供することである。 もう1つの目的は、このバスの概念を実施するコンピュータ・システムの拡張 及び縮小に関して最も大きなシステム・モジュール性を有するバス構造を提供す ることである。 もう1つの目的は、バスに関与する機構間のポイント・ツー・ポイントの接続 性が最大になるようにするバス構造を提供することである。 本発明によるバス構造は、複数の物理バスによって構成される論理バスを提供 することによってこの問題を解決する。物理バスの数は、変更可能で、そのバス ・システムによって相互接続されるプロセッサの数に比例する。さらに、各論理 バスは、バス切換装置(BSU)を含み、メモリ・バンクに接続され、プロセッ サは物理バスとバス切換装置を介して各 論理バスに接続される。 物理バスにより、各プロセッサが各論理バスにアクセスすることができる。こ れにより、1つまたは複数のメモリ装置に対する1つまたは複数のプロセッサの 並列アクセスが極めて効率的に支援される。この並列処理は、いくつかのメモリ 装置に対する1つの処理装置のアクセス、ならびにいくつかのメモリ装置に対す るいくつかの処理装置のアクセスに関するものであることが重要である。 さらに、所与の時間に論理バスに対してプロセッサ・アクセスを1つだけ可能 にするバス調停論理回路によってデータの整合性が達成される。このようにいく つかのプロセッサによる同一線のバス要求を自動的に直列化することによって、 所与の時間にただ1つのプロセッサの独占的所有が簡単にできるようになる。さ らに、論理バス上で様々なメモリ装置のバス・インターリーブを簡単に行うこと ができる。 この多重論理バスの概念によって、二倍または四倍のバス幅を有する単一バス の概念に勝る接続性及び帯域幅の著しい改善が達成される。バス上のラインフェ ッチ動作は、一般に、コマンド・サイクル、メモリ待ちサイクル、及びデータ転 送サイクルからなる。単一バスの改善により、データ転送のサイクル数だけが減 少し、コマンドまたはメモリ待ち動作のサイクル数は減少しない。この多重論理 バスの概念は、完全な動作を並列に行うことができるので、1つのバス動作につ いて少しのサイクルしか必要でない。BSU動作中の1サイク ルの損失は、短くなったサイクル時間に関してシステムの性能に小さな影響しか 及ぼさない。 提案したバス構造のBSUは、次のサイクルに、1つのポートからのコマンド /制御信号及びデータを他のすべてのポートに送出するスイッチ1>nとして働 く。バスに関与する様々な機構の間の電気的ポイント・ツー・ポイント接続によ ってバス・サイクル時間を改善するために、それぞれのBSUは、いくつかの物 理バスに分割された1つの論理バス上でのみ動作する。論理バスは、それぞれの BSUを介してそのメモリ装置まで経路指定される。したがって、この構成によ り、システム内でメモリ装置の並列選択が可能になる。 第2段のキャッシュ・メモリ装置を少なくとも2つの部分に分割することによ って、単一プロセッサまたはプロセッサのグループはそれぞれ、各BSUに電気 的ポイント・ツー・ポイント接続を行う。これにより、これらのBSUバスの物 理構造を、バス・サイクルがプロセッサ・サイクルに等しいかまたは近づくよう に構成することができる。 さらに、物理バスの数は可変なので、たとえば、プロセッサの数またはグルー プを拡張した場合に、バス構造をプロセッサ及び帯域幅の要件に簡単に適合させ ることができる。 特に、提案した構造を利用すると、そのモジュール性によって、高い性能また はコスト・パフォーマンスあるいは低コストに向けて最適化された様々なシステ ムを構成することができる。多数の論理バス及びプロセッサを備えたハイ・エン ド・システム用の複数チップ・モジュール、あるいは、2つの処理装置と1つの 論理バスがカード上の単一チップ・モジュールに取り付けられたロー・エンド・ システムなど様々なパッケージを選択することができる。 さらにこのモジュール式システム構造によって、ハードウエアに欠陥がある場 合でも、たとえば、それぞれ、処理装置の数を減らすか、プロセッサ・クラスタ の数を減らすか、あるいはバスまたはメモリ・カードの数を減らすことによって 、低下モードでのシステム動作が可能になる。 本願で提案するバスの概念は、独立のコマンド・バス、アドレス・バス及びデ ータ・バスを含むことができない。信号数に制限があるため、これらはすべて同 一の物理バス上で多重化される。したがって、バス上のコマンド、アドレスまた はデータに応じて、異なるバス通信が必要になる。この通信の詳細は、実施形態 の説明を参照されたい。 別の実施形態では、これらの通信プロトコルは、特に情報をバス全体に簡単に 同報通信するための再ドライブ機構を含むBSUによって処理される。 本発明のさらに別の好ましい実施形態では、所与の時間に論理バスに対するア クセスを1つのプロセッサだけに許可するバス調停装置を提供することによって 、データの整合性がさらに改善される。論理バスをアドレス・クラスに割り当て ることにより、多数のプロセッサによる同一線のバス要求の直列化が実施される 。各論理バスをただ1つのアドレス・ク ラスに割り当てることによって、データの整合性が極めて効率良く保証される。 それにより、各バスは、たとえば低位線アドレス・ビットによって決定されたそ れ自体の合同クラスをもつことができる。要求プロセッサは、この基準のみによ って適切な論理バスを選択する。さらに、バス切換装置内でバス調停機能を実施 することによって、バス構造の全体的なパフォーマンスを改善することができる 。さらに、たとえば、Pu>キャッシュ>バス>再ドライブ機構>バス>メモリ (コマンド)あるいはメモリ>バス>再ドライブ機構>バス>キャッシュ>Pu (データ)などコマンド及びデータの方向に向かうバス上の再ドライブ論理回路 によって、バスのサイクル時間を改善することができる。これらの一部のバスは 、サイクル時間を短くすることができるが、再ドライブ論理回路内で1サイクル を各方向に使用しなければならない。 BSUは、いくつかのプロセッサ装置、キャッシュ・メモリ、メモリ・バス・ アダプタ、及び記憶制御装置の間の様々な物理バスを接続し、バスに関与する機 構に入力データを再ドライブする。したがって、BSUは、バス再ドライブ機能 と制御信号再ドライブ機能を含むことができ、それにより、プロセッサとキャッ シュの間のデータの整合性を保証する機能は含まなくてもよい。その代わりに、 コマンド選択信号を含めてアクティブ・プロセッサのコマンド・サイクルを、1 つのバスから他のすべてのバスに再ドライブする。これにより、他のプロセッサ が、当該の線のバス・スヌープ操作を実 行する。 また、本願で提案する構造によって、すべてのバス・スヌープ・アクションが プロセッサ自体中に留まることができる。キャッシュ・ディレクトリのコピーを 維持する必要はない。さらに、BSUがメモリ・バス上でコマンドを並列に出す ので、他のバス上のコマンドの再ドライブによってバス・サイクルが失われるこ とはない。 さらに、バス切換装置は、BSUとメモリの間のポイント・ツー・ポイント接 続であり、プロセッサのサイクル時間とも一致するメモリ・インターフェースと しても働く。 さらに、メモリ階層全体にわたるデータ線の関連性を含むことが重要である。 ラインフェッチ動作中に生じるようなすべての線交換動作が、最初に選択した論 理バス及びメモリ装置に常に関連付けられていると好都合である。バス間にもイ ンターリーブした線間にも干渉はない。 また、プロセッサが再ドライブ機能を独占的に実行することもできる。メモリ 装置は、記憶制御装置によって制御される少なくとも2つのメモリ・バンクを含 むことが好ましい。論理バスは、システム内のメモリ・バンクの並列選択を可能 にするそれぞれのBSUを介してそのメモリ・バンクまで様々に経路指定される 。ラインフェッチ中に起こるすべての線交換動作は、常に、最初に選択したバス 及びバンクと関連付けられる。バス間にもインターリーブした線間にも干渉はな い。 本発明のもう1つの態様は、プロセッサのクラスタがポイント・ツー・ポイン ト接続によって相互接続されていない本願に提案するバス構造において、近端信 号受信の問題を解決する方法である。具体的には、1つのプロセッサが実際の線 を占有してそれを隣のプロセッサに転送しなければならない、同一の物理バス上 でのバス・スヌープや放棄など、すべての近端送出/受信動作が2サイクルで実 行される。具体的には、実際の信号反射挙動に応じて、1サイクルと2サイクル の情報転送動作モードが動的に切り換えられる。さらに、バス構造全体に、1サ イクルの制御信号しか必要ない。 第1図は、本発明による多重バス構造の基本的な特徴を示すブロック図である 。 第2図は、各メモリ・バス上で2通りのインターリーブを可能にする2つの論 理バスを有する構造の線の割当てを示す表である。 第3図は、1つの論理バスを介してメモリ・バンクに接続された共用L2キャ ッシュ・メモリを備える、2つのプロセッサを含むロー・エンド・コンピュータ ・システムにおいて、本発明によるバス構造の実施形態を示す図である。 第4図は、2つの論理バスを介してメモリ・バンクに接続された6つのプロセ ッサを含む中間コンピュータ・システムにおけるバス構造のさらに別の実施形態 を示す図である。 第5図は、16個のプロセッサが4つの論理バスを介して4つのメモリ・バン クに接続されているハイ・エンド・コン ピュータ・システムにおける本発明の好ましい実施形態の図である。 第6図は、本発明によるBSU(バス切換装置)の好ましい実施形態の図であ る。 第7図は、BSUによって実施される基本的なバス動作の完全な制御信号の構 成を示す図である。 第8図と第9図は、本発明によるバス構造上の「ラインフェッチ」と「放棄動 作を伴うラインフェッチ」のためのバス・プロトコルを示すタイミング図である 。 第10図は、バス遅延による多重バスの信号受信挙動を示す(電気的ポイント ・ツー・ポイント接続ではない)、BSUを介して論理バスに接続されたプロセ ッサ・クラスタの概略的なブロック図である。 第11図は、第10図のバス構造をそれぞれの制御信号と共に示す図である。 第1図は、本発明による多重バス構造を含むマルチプロセッサ・コンピュータ ・システムの概略図である。マルチプロセッサ・システムは、具体例として、専 用L2キャッシュ・メモリがなく、2つのメモリ・モジュール5、6からなる第 1のメモリ・バンクと2つのメモリ・モジュール7、8からなる第2のメモリ・ モジュールに例示的に分割された主メモリを有する4つのプロセッサ1、2、3 、4からなる。メモリ・バンク5、6、及び7、8は、記憶制御装置(STC) 9、10によって制御される。 共通バス・システムは、それぞれ論理参照番号0と1で示された2つの論理バ ス11、12に分割され、各論理バスはそれぞれ、バス切換装置(BSU)13 、14を含む。プロセッサ1、2、3、4はそれぞれ、BSU13、14に電気 接続(レーザ・コンピュータでは光接続)され、4つの物理アドレス"0L"、" 0R"、"1L"、"1R"を有するバス・ネットワーク(ポイント・ツー・ポイン ト接続)を提供する。 BSU13、14は、プロセッサ側の4つの物理バスをメモリ・バス15、1 6を介してメモリ・バンク5、6、7、8に接続する。論理バス11、12の数 がBSU13、14の数と等しいことに留意されたい。BSU13、14は、論 理バス11、12へのアクセスを制御するためのバス調停機能(図示せず)を含 む。論理バス11、12がそれぞれメモリ・バンク5、6、7、8への単一の線 接続を提供することが重要である。 さらに、この多重バスの概念によって、それぞれ論理バス11、12の1本当 たりのプロセッサ1、2、3、4の数及びメモリ装置またはメモリ・バンク5、 6、7、8の数を容易に拡張できることも重要である。プロセッサをいくつか追 加する場合に、BSU13、14を追加する必要はない。したがって、メモリ・ バンクを追加してシステムを改良するとき、論理バスまたはBSUの数がそれぞ れ変化することがある。 このバス構造の他の重要な要素は、論理バス11、12が、 可変数の物理バスによって構成されていること、ならびに両方の論理バス11、 12によって、n通りのインターリーブ、たとえば第1図による実施形態では、 各論理バス11、12ごとに2つのメモリ・バンク5、6、7、8があるため、 各論理バスごとに2通り、すなわち4通りのインターリーブが可能なことである 。しかし、より複雑なバス・インターリーブを支援するために、論理バス11、 12ごとに複数のバンクを設けることもできる。 第1図によるバス構造は、別々のコマンド・バス、アドレス・バス、データ・ バスを含まない。信号数を制限するために、それらの信号はすべて同じ物理バス 上で多重化される(第6図)。したがって、バス上のコマンド、アドレス、また はデータに応じて、異なるバス通信が必要となる(第8図と第9図)。たとえば 、データは、放棄動作の場合以外はプロセッサ1、2、3、4とBSU13、1 4の間でのみ交換される。しかし、コマンド・サイクルとアドレス・サイクルは 、プロセッサ−BSU間とプロセッサ−プロセッサ間の両方の通信を必要とする 。 第1図の論理バス11、12はそれぞれ、それ自体の合同アドレス・クラスに 割り当てられる。これを、第2図に、第1図による各論理バス上の2通りのイン ターリーブを有する2論理バス・システムの事例で示す。メモリ・アドレス空間 全体が、キャッシュ線サイズのブロックに分割され、各ブロックが、低位アドレ ス・ビットによってバスとメモリ・バン クに関連付けられる。 したがって、8本の線0〜7、たとえば第2段のL2キャッシュ・メモリを備 えたプロセッサの場合はキャッシュ線が、主メモリ5、6、7、8に記憶される 。各線は、論理バスの数及びそれが記憶されるメモリ・バンクによって特徴付け られる。 合同クラスは、線の低位アドレス・ビットによって容易に決定することができ る。要求プロセッサ1、2、3、4は、この基準のみによって適切な論理バス1 1、12を選択する。論理バス11、12は、それぞれのBSU13、14を介 してそのメモリ・バンク5、6、7、8まで経路指定される。この構成によって 、全システム内でメモリ・バンク5、6、7、8を並列に選択することができ、 したがって、所与の時間にそれぞれの線を1つのプロセッサだけがアクセスする ことができる。多数のプロセッサが同一の線に対するアクセスを要求する場合は 、これらのクラスによって自動的にアクセスが直列化されるため、コンピュータ ・システム全体のデータ整合性が極めて効果的に保証される。 この構成のもう一つの利点は、たとえばラインフェッチ動作中に生じるすべて の線交換動作が、最初に選択された論理バス11、12ならびに最初に選択され たバンク5、6、7、8に常に関連付けられることである。バス間にもインター リブした線間にも干渉はない。 本願に提案するバス構造は、少なくとも2つのプロセッサ 装置を含むいわゆる「ロー・エンド」と「ハイ・エンド」のマルチプロセッサ・ コンピュータ・システム全般で実施することができる。第3図ないし第5図にお いて、この広い範囲の応用例を、3つの異なるシステムにおける実施形態で示す 。 まず第3図に、物理バス104、105によって共用L2キャッシュ・メモリ 103に接続された2つのプロセッサ101、102を備えたロー・エンド・コ ンピュータ・システムを示す。このシステムはまた、例として、独立に動作する 2つのメモリ・バンク107、108を含む主メモリ装置106を備える。メモ リ・バンク107、108へのアクセスを制御するために、記憶制御装置(ST C)を備える。プロセッサ101、102とメモリ装置107、108は、バス 切換装置(BSU)109により論理バス110を介して相互接続される。BS U109はまた、外部入出力装置への接続部として機能する入出力ポート111 を備える。この構造において、両方のバス構造101、102は、メモリ・バン ク107、108のそれぞれへの電気的ポイント・ツー・ポイント接続を有する 。このシステムは、多数のプロセッサまたはメモリ・モジュールを加えることに よって容易に拡張することができる。後者の場合には、システム全体の既存部分 を変更せずに、各メモリ装置ごとに追加の論理バスだけを実施しなければならな い。 第4図は、中間コンピュータ・システムの例として、6つのプロセッサ装置2 01〜206と2つの論理バス207、 208を備えたシステムを示す。3つのプロセッサ装置は、共用L2キャッシュ ・メモリ209、210に接続される。各論理バス207、208は、それぞれ 2つのメモリ・バンク217〜220からなるメモリ装置215、216に接続 されたBSU211、212及びSTC213、214を備える。このバスの概 念は、プロセッサ201〜206とメモリ・バンク217〜220との間で電気 的なポイント・ツー・ポイント接続を提供することが分かる。したがって、主メ モリに記憶される各線には、1つの物理バスを介してのみアクセスすることがで きる。 第5図に、16個のプロセッサを備えた好ましいハイ・エンド・コンピュータ ・システムにおけるバス構造の実施形態を示すが、この図では、4つの論理バス 305〜308と4つのプロセッサ301〜304だけを示す。さらに、各論理 バス305〜308は、主メモリ装置309〜312を備え、メモリ装置は、メ モリ・バンク313〜320によって構成される。4つのプロセッサ装置からな る各グループ、たとえばグループ301〜304は、2つのL2キャッシュ・メ モリ321〜328に接続される。このシステムが複雑であるにもかかわらず、 すべてのプロセッサ301〜304とメモリ・バンク313〜320は、単純ポ イント・ツー・ポイント接続によって連結される。さらに、L2キャッシュ・メ モリを2つの部分に分割するので、2プロセッサ装置301〜304だけでなく 1プロセッサ装置も、所与の時間に主メモ リと通信することができる。 第6図に、本発明によるBSU(第4図のシステム)の再ドライブ論理回路の ブロック図を、BSU内部のデータ・フローと共に詳細に示す。BSUは、4つ の双方向ポート401〜404を備え、ポート401〜403は、BSUのプロ セッサ側の双方向物理バスへのポートを表し、ポート404は双方向メモリ・バ スに接続される。最初に、着信トラフィックが、バス受信器405〜408を通 り、バス・ドライバ409〜412の制御信号がディスエーブルされる。着信ト ラフィックはマルチプレクサ413に転送され、適切な信号が着信コマンド信号 414によって選択される。さらに、トラフィックはレジスタ415〜418内 でバッファされ、その後でドライバ409〜412に送られる。そこから、信号 (トラフィック)は、ポート401〜404を介してすべてのバスに再ドライブ される。BSUによって内部で生成された信号自体は、バス受信器419を介し てマルチプレクサ413に転送される。したがって、BSUはスイッチ1>nと して働き、次のサイクルで、コマンド/制御信号及びデータを1つのポートから 他のすべてのポートに接続して再ドライブする。さらに別の実施形態では、BS Uは、様々な機能、すなわちバス再ドライブ機能、制御信号再ドライブ機能、メ モリ・インターフェース機能ならびにバス調停機能を含む。BSUは、コマンド とデータを、1つのソース・ポートから、メモリ・バスを含む他のすべてのポー トに再ドライブする。 それぞれの制御信号も大部分が再ドライブされる。完全な情報がBSU内でバッ ファされ、次のサイクルで配布される。 したがって、各単一プロセッサまたはプロセッサ・グループは、各BSUへの ポイント・ツー・ポイント・バス接続を有し、プロセッサ・サイクルと同じかま たはそれに近いバス・サイクルが達成される。同一物理バス上のバス・スヌープ のようなすべての近端駆動/受信動作が2サイクルで実施される。したがって、 物理バス構造のエンド・ノードにおける電気信号の反射は、少なくとも第2のサ イクルで確実に弱くなる。これにより、反射雑音信号を、極めて効率よく抑える ことができる。 ポイント・ツー・ポイント・バスは、最適な短いバス・サイクルを可能にし、 ビルディング・ブロック(クラスタ)内のプロセッサとL2キャッシュ・チップ のグループ化によって実施することができる。この構造は、プロセッサとL2キ ャッシュ・チップの間ならびに各グループとそのそれぞれのBSUチップの間の ポイント・ツー・ポイント・バスによって構成することができる。 BSUとSTCの間のメモリ・インターフェースは、4つの信号だけからなり 、その4つの信号とは、バス上にデータがあることを示す転送データ(Xfer dat a)信号、プロセッサによるデータ要求を確認するデータ転送許可(Allow trans fer data)信号、バス上にコマンドがあることを示すコマンド選択信号(Comman d select)、及びバス上にエラーまたは無 効データがあることを示すメモリ・エラー(Memory error)信号である。 バス調停は、BSUによって実行することもできる。それにより、調停論理回 路によって許可されバスが使用可能なときに、すべての要求が集められ、要求プ ロセッサへの認可信号を与えられる。 BSUは、プロセッサ・キャッシュ間のデータ整合性を保証する機能は含まな い。さらに、BSUは、コマンド選択信号を含む活動プロセッサのコマンド・サ イクルを、1つのバスから他のすべてのバスに再ドライブする。これにより、他 のプロセッサがバス・スヌープ動作を実行する。1つまたは複数のプロセッサが 線を見つけた場合は、それらのプロセッサは、必要なアクションを完了するまで ビジー信号をBSUに送る。この場合も、ビジー信号が、要求プロセッサを含む 他のすべてのプロセッサに再ドライブされる。プロセッサ内のバス・スヌープ機 能の実施形態は、必要とされる機能のほとんどがすでにプロセッサのキャッシュ 制御装置に含まれているため、ほんの小さな追加でしかない。 第7図と関連して、BSUによって実施される基本的なバスの動作を次に示す 。 *PU REQUEST この制御信号は、BSU調停論理回路に対するプロセッサのバス要求に関係す る。主に、たとえば、ラインフェッチ/ ラインストア、線無効化または入出力フェッチ、記憶動作を要求の対象とするこ とができる。要求PUは、どの論理バス上でアドレス・クラスにより、要求を転 送しなければならないかを判断する。これにより、メモリ・バンクに対する確定 したアクセスが達成できる。 *PU CMD SELECT この制御信号はPUから送られた、バス上にコマンド、フィールド長、及びア ドレスがあることを示す。この信号を確定BSUが受け取って、次のサイクルで 、メモリ・インターフェースを含む他のすべてのバス上でBSU CMD SE LECTとして再ドライブする。 *XFER DATA この信号はメモリから送られ、たとえばラインフェッチ動作のためにバス上に データがあることを示す。この信号を確定BSUが受け取って、次のサイクルで 、他のすべてのバス上でBSU XFER DATA信号として再ドライブする 。放棄動作の場合は、信号はBSUによって生成される。 *PU BUSY この信号は、一致する線が見つかったことを示すプロセッサからの応答である 。プロセッサは、必要な動作が完了するまでこの信号をオンに維持する。この信 号を確定BSUが受 け取って、次のサイクルで、他のすべてのバス上にBSU BUSY信号として 再ドライブする。 *BSU GRANT BSUは、調停の結果として論理バスが利用可能になると、要求PUにその論 理バスを認可する。 *ALLOW XFER DATA この制御信号は、メモリへのデータ・フェッチ/記憶コマンドを確認し、放棄 か行われないことを示す。この信号は、バス・スヌープの結果としてPUBUS Y信号が放棄なしにハイまたはローにされないときに、BSUによって生成され る。 *MEMORY ERROR このエラー表示信号は、メモリ・バンクのメモリ制御装置によって生成される 。この信号をBSUが受け取って、次のサイクルで、他のすべてのバス上でBS U MEMORY ERROR信号として再ドライブする。 これらの信号はすべて、すべての物理バスに提供される。その信号の総量は、 1つのバスに接続されたプロセッサの数に応じて異なることがある。 このバス構造とバス・プロトコルにより、重大な性能の低 下なしにすべてのプロセッサの同期バス・スヌープが可能になる。これにより、 BSU内のすべてのプロセッサのキャッシュ・ディレクトリ・コピーが回避され 、最終的に同一バス上でのアドレスとデータの多重化が可能になり、余分なアド レス・バスが必要でなくなる。 第8図に、本発明によるバス構造の機能を、ラインフェッチ・バス動作を表す タイミング・チャートによって示す。バスの概念の基本的態様を簡略化するため 、バス切換装置(BSU)に接続された2つの物理バス(0L、0R)に分割さ れた論理バスを介して通信するプロセッサ(PU0、PU1)を2つだけ含むシス テムの実施形態に関する動作を取り上げる。さらに、BSUは、メモリ・バス( M−BUS)を介してメモリ装置に接続される。 第1のPU0が、ラインフェッチ要求をBSUに送る。調停サイクル(A)の 後で、BSUは、要求PU0に利用可能になった論理バスを認可する。PU0は、 物理バス0L上にコマンド、ラインフェッチ・アドレス及び長さ(C)の情報が あることを示すPU CMD SELECT制御信号を生成する。BSUは、次 のサイクルで、他の物理バス、すなわちBUS"0R"とM−BUS上で、PU CMD SELECT信号をBSU CMD SELECT信号として再ドライ ブする。したがって、コマンド、ラインフェッチ・アドレス及び長さの情報が、 1サイクルの待ち時間でこれらのバスに達する。 バス0R上のBSU CMD SELECT信号によって、 PU1は、バス・スヌープ時間枠の範囲内でバス・スヌープ動作を実行する。P U1は、要求された線を見つけず、それによりPU BUSY制御信号はアクテ ィブにならない。この制御信号は、PU1が一致する線を見つけた場合だけアク ティブになる。他のプロセッサが物理バス0Lに接続されている場合には、物理 バス0L上のPUBUSY信号にも注意しなければならない。PU BUSY信 号がアクティブでない場合、BSUは、BSU ALLOW XFER DAT A制御信号を生成してメモリ装置へのラインフェッチ・コマンドを確認する。 ここで、メモリ装置は、要求されたデータをM−BUSを介してBSUに送り 、XFER DATA制御信号がメモリによって並列に生成される。この制御信 号とデータをBSUが受け取って、他のすべてのバス上に1サイクルの待ち時間 で再ドライブする。詳細には、制御信号が、BSU XFER DATA制御信 号として再ドライブされる。どちらの制御信号も、バス上にデータがある間はバ ス上に維持される。 第9図は、たとえば、第8図によるシステムにおいて成功した(一致した)バ ス・スヌープに応答した放棄動作のタイミング図を示す。詳細には、この図は、 近端受信の問題を示す。 この場合も、PU0は、最初に、物理バス0Lを介して線(ラインフェッチ) を要求する。BSUは、PU0にバスを認可し、したがって、そのPUのバス0 L上で、コマンド、ラインフェッチ・アドレス及び長さがある。さらに、バスの こ の状態を示すPU CMD SELECT制御信号が、PUによって並列に生成 される。この制御信号をBSUが受け取って、次のサイクルで、すべてのバス上 にBSU CMD SELECT信号として再ドライブする。この信号により、 PU1のバス・スヌープ動作が始まる。PU1が線を見つけ、PU BUSY制御 信号をBSUに出したと想定する。この信号は、PU1の必要とされるアクショ ンが完了するまでバス上に維持され、BSUがそれを受け取って、次のサイクル で、他のすべてのバス上にBSU BUSY制御信号として再ドライブする。 PU1は、放棄コマンドをバス0Rに置き、それが1サイクルの待ち時間で他 のすべてのバスに再ドライブされる。同時に、PU1は、BSUへのPU CM D SELECT信号をハイにし、それが次のサイクルで他のすべてのバスに再 ドライブされる。このとき、8つのデータ・パケットが、メモリ装置からPU1 に転送される。 この近端でのプロセッサ−プロセッサ間の通信は、電気信号の反射挙動を引き 起こし、両方のプロセッサによってハイにされBSUによって再ドライブされた 信号が各物理バス上で干渉する。このバス構造の信号の反射を利用して、バス・ サイクル時間を最適化することができる。遠端から戻る反射は近端側の受信を妨 害するので、バスの遅延は、信号が近端の受信機に送られるか遠端の受信機に送 られるかによって決まる。この現象は、すべての非終端物理ネットワークで知ら れている。第10図は、この型の物理バスを例示する。ここで、本発明の提案は 、近端受信を可能にするために、物理バスを、コマンド、バス・スヌープ・アド レス、及び放棄データに関して、2サイクルの間妨害し続けることである。放棄 動作により、バス0R上の各データ・ブロックの第2サイクル中に、BSU X FER DATA制御信号がBSUによって生成される。このデータ・ブロック はまた、1サイクルの待ち時間で他のバスに再ドライブされる。制御信号のこの 1サイクルの遅延は、これらの反射した信号が、システムの性能に小さな影響し か与えず、クリティカルなバス動作を緩和させるという利点を有する。第11図 に、これらのバスをそれぞれの制御信号と共に示す。ここでは、起点バスと再ド ライブバスの両方のバス妥当性を示すCMD SELECTとXFER DAT A信号がBSUから送られる。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 タスト、ハンス ヴェルナー ドイツ国ヴァイル イン シェーンブー フ、ハルトマンシュトラーセ 66 (72)発明者 レプラ、ベルント ドイツ国エーニンゲン、クーニッヒシュト ラーセ 93

Claims (1)

  1. 【特許請求の範囲】 1.少なくとも2つの処理装置を含むマルチプロセッサ・システム用のバス構造 であって、 少なくとも2つの物理バスによって構成された少なくとも1つの論理バスを含 み、 各論理バスが、メモリ装置及びバス切換装置への接続を提供し、 処理装置とメモリ装置が、バス切換装置により物理バスを介して相互接続され ることを特徴とするバス構造。 2.アドレス、コマンド、及びデータが、物理バスの単一線を介して転送される ことを特徴とする請求項1に記載のバス構造。 3.各論理バスが、所与の時間に、論理バスへのアクセスをただ1つの処理装置 に認可するバス調停装置を備えることを特徴とする請求項1または2あるいはそ の両方に記載のバス構造。 4.論理バスが、論理バスの参照数字によって定義される少なくとも1つのアド レス・クラスに割り当てられ、アドレス・クラスの数が、独立のメモリ装置の数 によって決まることを特徴とする請求項1ないし3のいずれか一項または複数項 に記載のバス構造。 5.物理バスの数が、処理装置または処理装置グループの数に応じて増減するこ とを特徴とする請求項1ないし4のいず れか一項または複数項に記載のバス構造。 6.メモリ装置が、記憶制御装置手段によって制御されn通りのバス・インター リーブを可能にする少なくとも2つのメモリ・バンクを含むことを特徴とする請 求項1ないし5のいずれか一項または複数項に記載のバス構造。 7.マルチプロセッサ・システムが、論理バス上に少なくとも2つの第2段・キ ャッシュ・メモリを含み、各処理装置が、単一線によって各キャッシュ・メモリ 装置にそれぞれ接続されることを特徴とする請求項1ないし6のいずれか一項ま たは複数項に記載のバス構造。 8.バス切換装置が、 着信情報を収集してバッファする受信手段及びレジスタ手段と、 バス切換装置に情報を入れまたはそこから情報を再ドライブするドライブ手段 と、 再ドライブに適した信号を選択する多重化手段と、 次のサイクルで、多重化手段を介して他のすべてのポートに情報を再ドライブ する再ドライブ論理手段と を備えることを特徴とする請求項1ないし7のいずれか一項または複数項に記 載のバス構造。 9.バス切換装置がさらに、 ある一定のバス・プロトコルの後でバスを調停する調停手段を含むことを特徴 とする請求項8に記載のバス構造。 10.分岐した物理バスを介してバス切換装置に接続された 少なくとも2つの処理装置からなるクラスタを含み、近端の信号受信が、起点物 理バスまたは再ドライブ物理バスを介して相互通信する2つの処理装置間で転送 される信号を動的に見つけ、少なくとも2つのバス・サイクルの間バス上にこれ らの信号を維持することによって行われることを特徴とする請求項1ないし9の いずれかに一項または複数項に記載のバス構造。 11.バス切換装置が、近端受信信号に1サイクルの制御信号を提供することを 特徴とする請求項10に記載のバス構造。 12.バス切換装置が、起点バス上の第2のサイクルの信号に、1サイクルの制 御信号を提供することを特徴とする請求項10に記載のバス構造。
JP08528822A 1995-03-27 1995-03-27 マルチプロセッサ・システム用バス構造 Expired - Fee Related JP3086261B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/EP1995/001140 WO1996030842A1 (en) 1995-03-27 1995-03-27 Bus structure for a multiprocessor system

Publications (2)

Publication Number Publication Date
JPH09506731A true JPH09506731A (ja) 1997-06-30
JP3086261B2 JP3086261B2 (ja) 2000-09-11

Family

ID=8165984

Family Applications (1)

Application Number Title Priority Date Filing Date
JP08528822A Expired - Fee Related JP3086261B2 (ja) 1995-03-27 1995-03-27 マルチプロセッサ・システム用バス構造

Country Status (4)

Country Link
US (1) US5889969A (ja)
EP (1) EP0760979A1 (ja)
JP (1) JP3086261B2 (ja)
WO (1) WO1996030842A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000066861A (ja) * 1998-08-17 2000-03-03 Nec Software Ltd 印刷処理クラスタシステム

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6618777B1 (en) 1999-01-21 2003-09-09 Analog Devices, Inc. Method and apparatus for communicating between multiple functional units in a computer environment
US6628662B1 (en) 1999-11-29 2003-09-30 International Business Machines Corporation Method and system for multilevel arbitration in a non-blocking crossbar switch
JP3578075B2 (ja) * 2000-10-13 2004-10-20 日本電気株式会社 ディスクアレイ制御装置及びディスクアレイ制御方法
US7287649B2 (en) * 2001-05-18 2007-10-30 Broadcom Corporation System on a chip for packet processing
DE10345981B4 (de) * 2003-10-02 2007-10-18 Qimonda Ag Schaltungsvorrichtung zur Datenverarbeitung und Verfahren zum Verbinden eines Schaltungskernmoduls mit einem externen Schaltungsmodul
JP3171580U (ja) * 2011-06-14 2011-11-10 弘保 磯部 フェライト系ステンレス設備用配管
WO2014141692A1 (ja) 2013-03-13 2014-09-18 パナソニック株式会社 バス制御装置、中継装置およびバスシステム
US10997080B1 (en) 2020-02-11 2021-05-04 Western Digital Technologies, Inc. Method and system for address table cache management based on correlation metric of first logical address and second logical address, wherein the correlation metric is incremented and decremented based on receive order of the first logical address and the second logical address

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3338341A1 (de) * 1983-10-21 1985-05-09 Siemens AG, 1000 Berlin und 8000 München Mehrfachbusanordnung fuer die verbindung von prozessoren und speichern in einem mehrprozessorsystem
US4807184A (en) * 1986-08-11 1989-02-21 Ltv Aerospace Modular multiple processor architecture using distributed cross-point switch
US5337411A (en) * 1988-10-20 1994-08-09 Westinghouse Electric Corporation Multi-processor computer system bus architecture
EP0575651A1 (en) * 1992-06-24 1993-12-29 International Business Machines Corporation Multiprocessor system

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000066861A (ja) * 1998-08-17 2000-03-03 Nec Software Ltd 印刷処理クラスタシステム

Also Published As

Publication number Publication date
WO1996030842A1 (en) 1996-10-03
US5889969A (en) 1999-03-30
EP0760979A1 (en) 1997-03-12
JP3086261B2 (ja) 2000-09-11

Similar Documents

Publication Publication Date Title
US6633945B1 (en) Fully connected cache coherent multiprocessing systems
US6526469B1 (en) Bus architecture employing varying width uni-directional command bus
US5577204A (en) Parallel processing computer system interconnections utilizing unidirectional communication links with separate request and response lines for direct communication or using a crossbar switching device
US6557069B1 (en) Processor-memory bus architecture for supporting multiple processors
US6799252B1 (en) High-performance modular memory system with crossbar connections
US5168547A (en) Distributed architecture for input/output for a multiprocessor system
US5805839A (en) Efficient technique for implementing broadcasts on a system of hierarchical buses
EP0817092B1 (en) Extended symmetrical multiprocessor architecture
US5796605A (en) Extended symmetrical multiprocessor address mapping
US5386511A (en) Multiprocessor system and data transmission apparatus thereof
US5182801A (en) Apparatus and method for providing fast data transfer between multiple devices through dynamic reconfiguration of the memory space of the devices
US20090024833A1 (en) Multiprocessor Node Controller Circuit and Method
JPH0713945A (ja) 演算処理部および制御・記憶部分離型マルチプロセッサ ・システムのバス構造
JPH09172460A (ja) パケット交換コンピュータ・システムにおける高速転送スレーブ要求の方法および装置
CN102446158A (zh) 多核处理器及多核处理器组
US6928500B1 (en) High speed bus system that incorporates uni-directional point-to-point buses
US6092136A (en) Multi-processor central processing unit
JPH09506731A (ja) マルチプロセッサ・システム用バス構造
KR100264301B1 (ko) 컴퓨터시스템및컴퓨터시스템복합체
JPH11212939A (ja) 共通バスによって相互接続されたプロセッサを有するデータプロセッサユニット間でデータを交換するためのシステム
EP0817095A2 (en) Extended symmetrical multiprocessor architecture
EP0464708B1 (en) High speed bus system
US11188377B2 (en) Writing zero data
CN111045974A (zh) 一种基于交换结构的多处理器数据交互方法
JPS59218532A (ja) バス接続方式

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees