JPH0922380A - マルチレベルバス結合型マルチプロセッサシステム - Google Patents

マルチレベルバス結合型マルチプロセッサシステム

Info

Publication number
JPH0922380A
JPH0922380A JP7191021A JP19102195A JPH0922380A JP H0922380 A JPH0922380 A JP H0922380A JP 7191021 A JP7191021 A JP 7191021A JP 19102195 A JP19102195 A JP 19102195A JP H0922380 A JPH0922380 A JP H0922380A
Authority
JP
Japan
Prior art keywords
bus
module
system bus
copy
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
Application number
JP7191021A
Other languages
English (en)
Other versions
JP3067976B2 (ja
Inventor
Masayuki Kimura
真行 木村
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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP7191021A priority Critical patent/JP3067976B2/ja
Publication of JPH0922380A publication Critical patent/JPH0922380A/ja
Application granted granted Critical
Publication of JP3067976B2 publication Critical patent/JP3067976B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Multi Processors (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

(57)【要約】 【目的】 リードリクエストの高速化、回路・装置構成
の簡易化、伝送効率の向上が図れるマルチプロセッサシ
ステムを提供する。 【構成】 各プロセッサモジュール1に、複数のプロセ
ッサ3、これらを相互に接続するモジュール内バス5、
複数の固有キャッシュ4、モジュール内バス5上のリク
エストの調停制御及びモジュール内バス5とシステムバ
ス2の間のインタフェース制御を行うシステムバスイン
タフェースコントローラ6、複数の固有キャッシュ4の
それぞれのアドレスアレイの複製としてシステムバス2
上のリクエストに対するスヌープを行うための複数のシ
ステムバススヌープ用コピータグ7、複数の固有キャッ
シュ4のそれぞれアドレスアレイの複製としてモジュー
ル内バス5上に発行される複数のプロセッサ3からのリ
クエストに対するスヌープを行うための複数のモジュー
ル内バススヌープ用コピータグ8を備える。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、マルチプロセッサシス
テムに関し、特にバス接続されたシンメトリック・マル
チプロセッサバスのキャッシュ一致処理方式に係わる。
【0002】
【従来の技術】この種の技術を開示した文献として次の
公報がある。 (1)特開平5−242020号公報 (2)特開平5−100952号公報 従来のバス結合マルチプロセッサにおいては、プロセッ
サとキャッシュが1対1に対応し、プロセッサは、前記
公報(1)に示すごとくシステムバスと直接あるいはシ
ステムバスインタフェースコントローラを介して接続さ
れていた。この公報(1)のようなシステムでは、ある
プロセッサがリードリクエストを発行するとそのリクエ
ストはすべてシステムバスに発行される。また、他プロ
セッサが発行したリクエストは、常にシステムバススヌ
ープ用のアドレスチェック機構(通常は固有キャッシュ
のアドレスアレイの複製)を用いてスヌープされ、該リ
クエストの対象データが自モジュール内プロセッサの配
下の固有キャッシュに存在すると判断された場合には、
そのプロセッサ(固有キャッシュ)に割り込み、該デー
タをシステムバスを経由して要求元にプロセッサに転送
するといった手法がとられてきた。また、前記公報
(2)に示されるごとく複数のプロセッサを同一モジュ
ール内に実装し、これらとローカルメモリをモジュール
内バスで接続するマルチプロセッサシステムも存在して
いた。
【0003】
【発明が解決しようとする課題】従来技術の第一の問題
点はシステムバスのバスビジー率にある。その理由は、
前記公報(1)のような従来のマルチプロセッサシステ
ムにおいては、あるリクエストがリードリクエストを発
行すると、そのリクエスト及びそのリードリクエストに
対するデータ転送がすべてシステムバスを経由して行わ
れるため、プロセッサ台数が増加するとシステムバスの
ビジー率が増加し、実効性能が大幅に低下する点にあ
る。これに対し公報(2)のようなローカルメモリ方式
も提案されており、科学技術分野のアプリケーションの
ように命令及びデータの局所性をソフトウェアが保証す
ることができる場合には、リードリクエストを各プロセ
ッサエレメント内で処理することができるためシステム
バスのビジー率を低減することができ有効である。しか
しながら、事務処理計算分野のアプリケーションでは、
命令及びデータの局所性をソフトウェアが保証すること
は技術的に困難であり、システムバスのビジー率を低減
する効果は期待できない。また、ローカルメモリの容量
を実アプリケーションの動作に耐え得る程の大きさに確
保できない場合には、システムバスのビジー率低減効果
はほとんど期待できない。
【0004】また、従来技術の第二の問題点はそのハー
ドウェア量にある。その理由は、前記公報(1)のよう
な従来のマルチプロセッサシステムにおいては、システ
ム中のプロセッサ台数を増加させようとするとプロセッ
サエレメントの枚数を増加させるしかなく、プロセッサ
台数に比例してハードウェア量が増加しかつシステムバ
スの物理的な長さが増加し電気特性が劣化するというこ
とである。
【0005】本発明の目的は、リードリクエストの高速
化、回路・装置構成の簡易化、伝送効率の向上を図るこ
とにある。すなわち、個々のプロセッサの負荷があがり
固有キャッシュのミス率が増加しても、システムバスの
ビジー率を極度に増加させることなくリードリクエスト
の応答を高速に行い、マルチプロセッサシステムの性能
向上を図ることにある。
【0006】
【課題を解決するための手段】本発明のマルチプロセッ
サシステムは、複数のプロセッサモジュールをシステム
バスにより相互に接続したマルチプロセッサシステムに
おいて、図1に例示するように、各プロセッサモジュー
ル1に次のような手段を備えたことを特徴とする。 複数のプロセッサ3。 これらプロセッサ3を相互に接続するスプリットリ
ード方式のモジュール内バス5。 複数のプロセッサ3により個々に制御される複数の
固有キャッシュ4。 モジュール内バス5とシステムバス2の間に実装さ
れ、モジュール内バス5上のリクエストの調停制御及び
モジュール内バス5とシステムバス2の間のインタフェ
ース制御を行うシステムバスインタフェースコントロー
ラ6。 このシステムバスインタフェースコントローラ6に
接続され、複数の固有キャッシュ4のそれぞれのアドレ
スアレイの複製としてシステムバス2上のリクエストに
対するスヌープを行うために使用される複数のシステム
バススヌープ用コピータグ7。 システムバスインタフェースコントローラ6に接続
され、複数の固有キャッシュ4のそれぞれアドレスアレ
イの複製としてモジュール内バス5上に発行される複数
のプロセッサ3からのリクエストに対するスヌープを行
うために使用される複数のモジュール内バススヌープ用
コピータグ8。
【0007】
【作用】本発明のマルチプロセッサにおいては、複数の
プロセッサのいずれか一つからリードリクエストがモジ
ュール内バスに発行されると、システムバスインタフェ
ースコントローラは、複数のモジュール内バススヌープ
用コピータグを検索する。ここで、モジュール内バスに
接続された他のいずれのプロセッサの固有キャッシュも
該当エントリを保持していなかった場合には、システム
バスコントローラは、システムバスに対し該リードリク
エストを発行する。一方、モジュール内バスに接続され
た他のいずれかのプロセッサの固有キャッシュが該当エ
ントリを保持していた場合、システムバスコントローラ
は、該エントリを保持する固有キャッシュを制御するプ
ロセッサに対し該リクエストを発行したプロセッサに対
するリプライデータの転送をモジュール内バスを介して
直接行うよう指示し、複数のモジュール内バススヌープ
用コピータグの内容を更新し、システムバスに対しては
データ転送により生じる複数の固有キャッシュのアドレ
スアレイの状態変化を複数のシステムバススヌープ用コ
ピータグに反映するためのコピータグ更新トランザクシ
ョンを前記システムバスに発行し、複数のシステムバス
スヌープ用コピータグを更新する。
【0008】次に、本発明の実施例について図面を参照
して詳細に説明する。図1に本発明の一実施例を示す。
図1において、複数のプロセッサモジュール1はシステ
ムバス2を介して相互に接続され、マルチプロセッサシ
ステムを構成する。各プロセッサモジュール1には、複
数のプロセッサ3、個々のプロセッサ3に1対1に接続
される固有キャッシュ4、複数のプロセッサ3を相互に
接続するスプリットリード方式のモジュール内バス5、
システムバスインタフェースコントローラ6、このシス
テムバスインタフェースコントローラ6に接続され、個
々の固有キャッシュ4のアドレスアレイの複製としてシ
ステムバス2上のリクエストに対するスヌープを行うた
めに使用される複数のシステムバススヌープ用コピータ
グ7、システムバスインタフェースコントローラ6に接
続され、個々の固有キャッシュ4のアドレスアレイの複
製としてモジュール内バス5上に発行されるいずれかの
プロセッサ3からのリクエストに対するスヌープを行う
ために使用される複数のモジュール内バススヌープ用コ
ピータグ8が搭載される。
【0009】図1のマルチプロセッサにおいては、ある
プロセッサモジュール1上の複数のプロセッサ3のいず
れか一つからリードリクエストがモジュール内バス5に
発行されると、システムバスインタフェースコントロー
ラ6は、自プロセッサモジュール1内の個々のプロセッ
サ3の固有キャッシュ4に対応した個々のモジュール内
バススヌープ用コピータグ7を検索する。ここで、モジ
ュール内バス5に接続された他のいずれのプロセッサ3
の固有キャッシュ4も該当エントリを保持していなかっ
た場合には、該リクエストを発行したプロセッサ3の固
有キャッシュ4に対応するモジュール内バススヌープ用
コピータグ7の内容を更新し、システムバス2に該リー
ドリクエストを発行し、該リクエストがシステムバス2
に発行された時点で、該リクエストを発行したプロセッ
サ3の固有キャッシュ4に対応するシステムバススヌー
プ用コピータグ8の内容を更新する。
【0010】システムバス2上にリードリクエストが発
行されると、他のプロセッサモジュール1のシステムバ
スインタフェースコントローラ6は、従来技術と同様に
システムバススヌープ用コピータグ7を用いてスヌープ
を行う。そして、該リードリクエストの対象データが、
自モジュール内プロセッサ3の配下の固有キャッシュ4
に存在すると判断した場合には、キャッシュエントリ・
オーナー権通知線9を使用して他プロセッサモジュール
1及びメモリサブシステム10にその旨を通知するとと
もに、そのプロセッサの固有キャッシュに対応するモジ
ュール内バススヌープ用コピータグ7及びシステムバス
スヌープ用コピータグ8の内容を更新し、そのプロセッ
サ(固有キャッシュ)に割り込み、該リクエストに対す
るリプライデータを獲得し、該リプライデータをモジュ
ール内バス5及びシステムバス2を経由して要求元プロ
セッサに転送する。また、キャッシュエントリ・オーナ
ー権通知線9により、システム中のいずれのプロセッサ
モジュール1内の固有キャッシュ4も該当エントリを保
持していないと判断される場合には、メモリサブシステ
ム10が該当データをシステムバス2を経由して要求元
プロセッサに転送する。
【0011】一方、あるプロセッサモジュール1上の複
数のプロセッサ3のいずれか一つからリードリクエスト
がモジュール内バス2に発行され、システムバスインタ
フェースコントローラ6が自プロセッサモジュール1内
の個々のプロセッサ3の固有キャッシュ4に対応した個
々のモジュール内バススヌープ用コピータグ7を検索し
たときに、モジュール内バス5に接続された他のいずれ
かのプロセッサ3の固有キャッシュ4が該当エントリを
保持していた場合には、該エントリを保持する固有キャ
ッシュ4を制御するプロセッサ3に対し、該リクエスト
を発行したプロセッサ3に対するリプライデータの転送
をモジュール内バス5を介して直接行うよう指示し、該
データ転送に関わるプロセッサ3の固有キャッシュ4に
対応するモジュール内バススヌープ用コピータグ7の内
容を更新する。また、システムバス2に対しては、該デ
ータ転送により生じる複数の固有キャッシュのアドレス
アレイの状態変化をシステムバススヌープ用コピータグ
8に反映するためのシステムバストランザクションをシ
ステムバス2に発行し、システムバススヌープ用コピー
タグ8を更新する。
【0012】モジュール内バス5は、例えば、図2に示
すごとくアドレスデータ共用バス11とコマンドバス1
2からなり、これらのバスのアービトレーションはリク
エスト線13及びリクエスト許可線14を用いてシステ
ムバスインタフェースコントローラ6により集中制御さ
れる。また、モジュール内バス11・12上の各プロセ
ッサ3にはプロセッサID、モジュール内バス11・1
2上に発行されるリードリクエストにはリクエストID
が付加される。ここで、リードリクエストに対するリプ
ライをシステムバスインタフェースコントローラ6もし
くはプロセッサ3がアドレスデータ共用バス11に送出
する際には、同時にコマンドバス12上に該リードリク
エストを発行したプロセッサ3は、該リプライデータが
自分に対するリプライであることを認識できる。また、
システムバスインタフェースコントローラ6がプロセッ
サ3に対してキャッシュデータの転送を指示する際、コ
マンドバス12上には対象となるプロセッサ3のプロセ
ッサID、及びもともとのリードリクエストに対するリ
クエストIDが送出される。各プロセッサ3はモジュー
ル内バス11・12上のリクエストの対象プロセッサI
Dを常時監視しており、これにより自プロセッサ3を対
象とするリクエストのみを受け付け、必要なキャッシュ
エントリのデータを該リードリクエストのリクエストI
Dとともにモジュール内バス11・12に送出すること
ができる。
【0013】
【発明の効果】本発明の第一の効果は、他のプロセッサ
に対する不要な割り込みを避けながらマルチプロセッサ
システムにおけるシステムバスのビジー率を低減できる
ことにある。その理由は、あるプロセッサがモジュール
内バスに発行したリードリクエストが同一モジュール内
バスに接続される他のプロセッサの固有キャッシュにヒ
ットするか否かを他のプロセッサに割り込むことなく判
別することができ、かつヒットした場合には該リードリ
クエストをシステムバスに発行する必要がなくなるから
である。
【0014】本発明の第二の効果は、簡易な構成でマル
チプロセッサシステムを構成できることにある。その理
由は、一つのプロセッサモジュール上に複数のプロセッ
サを搭載できかつ、一つのシステムバスコントローラで
その複数のプロセッサを制御することができること、並
びにモジュール内バスにおけるキャッシュデータ転送に
より生じるシステムバス用コピータグの変更をシステム
バス経由で行うことにより、通常のシステムバススヌー
プ処理とハードウェアを共用できシステムバススヌープ
用コピータグの更新制御が簡素化されることにある。
【図面の簡単な説明】
【図1】本発明の一実施例を示すブロック図である。
【図2】モジュール内バスの詳細を示す図である。
【符号の説明】
1 プロセッサモジュール 2 システムバス 3 プロセッサ 4 固有キャッシュ 5 モジュール内バス 6 システムバスインタフェースコントローラ 7 システムバススヌープ用コピータグ 8 モジュール内バススヌープ用コピータグ 9 キャッシュエントリ・オーナー権通知線 10 メモリサブシステム 11 アドレス/データ共用バス 12 コマンドバス 13 リクエスト線 14 リクエスト許可線

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】複数のプロセッサモジュールをシステムバ
    スにより相互に接続したマルチプロセッサシステムにお
    いて、各プロセッサモジュールに、 複数のプロセッサと、 これらプロセッサを相互に接続するスプリットリード方
    式のモジュール内バスと、 前記複数のプロセッサにより個々に制御される複数の固
    有キャッシュと、 前記モジュール内バスと前記システムバスの間に実装さ
    れ、前記モジュール内バス上のリクエストの調停制御及
    び前記モジュール内バスと前記システムバスの間のイン
    タフェース制御を行うシステムバスインタフェースコン
    トローラと、 このシステムバスインタフェースコントローラに接続さ
    れ、前記複数の固有キャッシュのそれぞれのアドレスア
    レイの複製として前記システムバス上のリクエストに対
    するスヌープを行うために使用される複数のシステムバ
    ススヌープ用コピータグと、 前記システムバスインタフェースコントローラに接続さ
    れ、前記複数の固有キャッシュのそれぞれのアドレスア
    レイの複製として前記モジュール内バス上に発行される
    前記複数のプロセッサからのリクエストに対するスヌー
    プを行うために使用される複数のモジュール内バススヌ
    ープ用コピータグと、 を設けたことを特徴とするマルチレベルバス結合型マル
    チプロセッサシステム。
  2. 【請求項2】システムバスインタフェースコントローラ
    は、複数のプロセッサのいずれか一つからリードリクエ
    ストがモジュール内バスに発行された場合、複数のモジ
    ュール内バススヌープ用コピータグを検索し、モジュー
    ル内バスに接続された他のいずれのプロセッサの固有キ
    ャッシュも該当エントリを保持していなければ、システ
    ムバスに該リードリクエストを発行することを特徴とす
    る、請求項1記載のマルチレベルバス結合型マルチプロ
    セッサシステム。
  3. 【請求項3】システムバスインタフェースコントローラ
    は、複数のプロセッサのいずれか一つからリードリクエ
    ストがモジュール内バスに発行された場合、複数のモジ
    ュール内バススヌープ用コピータグを検索し、モジュー
    ル内バスに接続された他のいずれかのプロセッサの固有
    キャッシュが該当エントリを保持していた場合には、該
    エントリを保持する固有キャッシュを制御するプロセッ
    サに対し該リクエストを発行したプロセッサに対するリ
    プライデータの転送をモジュール内バスを介して直接行
    うよう指示し、複数のモジュール内バススヌープ用コピ
    ータグの内容を更新し、システムバスに対しては、デー
    タ転送により生じる複数の固有キャッシュのアドレスア
    レイの状態変化を複数のシステムバススヌープ用コピー
    タグに反映するためのコピータグ更新トランザクション
    を発行し、複数のシステムバススヌープ用コピータグを
    更新することを特徴とする、請求項1記載のマルチレベ
    ルバス結合型マルチプロセッサシステム。
JP7191021A 1995-07-05 1995-07-05 マルチレベルバス結合型マルチプロセッサシステム Expired - Lifetime JP3067976B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP7191021A JP3067976B2 (ja) 1995-07-05 1995-07-05 マルチレベルバス結合型マルチプロセッサシステム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP7191021A JP3067976B2 (ja) 1995-07-05 1995-07-05 マルチレベルバス結合型マルチプロセッサシステム

Publications (2)

Publication Number Publication Date
JPH0922380A true JPH0922380A (ja) 1997-01-21
JP3067976B2 JP3067976B2 (ja) 2000-07-24

Family

ID=16267578

Family Applications (1)

Application Number Title Priority Date Filing Date
JP7191021A Expired - Lifetime JP3067976B2 (ja) 1995-07-05 1995-07-05 マルチレベルバス結合型マルチプロセッサシステム

Country Status (1)

Country Link
JP (1) JP3067976B2 (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6061755A (en) * 1997-04-14 2000-05-09 International Business Machines Corporation Method of layering cache and architectural specific functions to promote operation symmetry
US6173370B1 (en) 1997-06-19 2001-01-09 Nec Corporation Cache system capable of keeping cache-coherency among store-in-caches of two central processing units on occurrence of store-confliction
JP2006072509A (ja) * 2004-08-31 2006-03-16 Fujitsu Ltd 情報処理装置及びローカルスヌープ制御方法
US7191271B2 (en) * 2001-09-20 2007-03-13 Lockheed Martin Corporation Two level multi-tier system bus
US7336700B2 (en) 2001-09-20 2008-02-26 Lockheed Martin Corporation System bus transceiver interface
JP2008204101A (ja) * 2007-02-19 2008-09-04 Nec Computertechno Ltd バスインタフェースアダプタ、データ転送方法、データ転送システム及び情報処理装置

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6061755A (en) * 1997-04-14 2000-05-09 International Business Machines Corporation Method of layering cache and architectural specific functions to promote operation symmetry
US6173370B1 (en) 1997-06-19 2001-01-09 Nec Corporation Cache system capable of keeping cache-coherency among store-in-caches of two central processing units on occurrence of store-confliction
US7191271B2 (en) * 2001-09-20 2007-03-13 Lockheed Martin Corporation Two level multi-tier system bus
US7336700B2 (en) 2001-09-20 2008-02-26 Lockheed Martin Corporation System bus transceiver interface
JP2006072509A (ja) * 2004-08-31 2006-03-16 Fujitsu Ltd 情報処理装置及びローカルスヌープ制御方法
JP2008204101A (ja) * 2007-02-19 2008-09-04 Nec Computertechno Ltd バスインタフェースアダプタ、データ転送方法、データ転送システム及び情報処理装置

Also Published As

Publication number Publication date
JP3067976B2 (ja) 2000-07-24

Similar Documents

Publication Publication Date Title
US6128711A (en) Performance optimization and system bus duty cycle reduction by I/O bridge partial cache line writes
JP3687750B2 (ja) マルチプロセッサ・システム
US6012120A (en) Method and apparatus for providing DMA transfers between devices coupled to different host bus bridges
US6021456A (en) Method for communicating interrupt data structure in a multi-processor computer system
US5574868A (en) Bus grant prediction technique for a split transaction bus in a multiprocessor computer system
US8015366B2 (en) Accessing memory and processor caches of nodes in multi-node configurations
JPH08328957A (ja) マルチプロセッシング・システムにおけるキャッシュ・パフォーマンス向上のためのシステムおよび方法
JPH04328653A (ja) マルチプロセッサ・システムおよびそのデータ伝送装置
US8015364B2 (en) Method and apparatus for filtering snoop requests using a scoreboard
US5659708A (en) Cache coherency in a multiprocessing system
JPH1031625A (ja) マルチ・プロセッサ・システムにおける改良されたコピーバック性能のためのライトバック・バッファ
JP2004078958A (ja) プロセッサ間でキャッシュを共有する装置および方法
KR101087811B1 (ko) 캐시 라인 소유권 이전 방법 및 캐시 라인 소유권 이전 장치
WO2004095262A2 (en) Distributed shared resource management
JP3067976B2 (ja) マルチレベルバス結合型マルチプロセッサシステム
US9910789B2 (en) Electrical and optical memory access
KR950008230B1 (ko) 버스 콘트롤러
US5687327A (en) System and method for allocating bus resources in a data processing system
US6889343B2 (en) Method and apparatus for verifying consistency between a first address repeater and a second address repeater
JP3274634B2 (ja) リード制御装置
US6735654B2 (en) Method and apparatus for efficiently broadcasting transactions between an address repeater and a client
JP4129578B2 (ja) トランザクションを第1アドレスリピータと第2アドレスリピータとの間で効果的に同報通信するための方法および装置
JPH11167546A (ja) バス制御方式およびこのバス制御方式を備えたマルチプ ロセッサシステム
JPS60147861A (ja) デ−タ処理システム
US20020133652A1 (en) Apparatus for avoiding starvation in hierarchical computer systems that prioritize transactions