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

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

Info

Publication number
JP3067976B2
JP3067976B2 JP7191021A JP19102195A JP3067976B2 JP 3067976 B2 JP3067976 B2 JP 3067976B2 JP 7191021 A JP7191021 A JP 7191021A JP 19102195 A JP19102195 A JP 19102195A JP 3067976 B2 JP3067976 B2 JP 3067976B2
Authority
JP
Japan
Prior art keywords
bus
module
processor
system bus
request
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 - Lifetime
Application number
JP7191021A
Other languages
English (en)
Other versions
JPH0922380A (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.)
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)

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。そして、各プロセッサ3にはプロセッサID、モジ
ュール内バス5上に発行されるリードリクエストにはリ
クエストIDが付加され、各プロセッサ3は、モジュー
ル内バス5上のリクエストの対象プロセッサIDを常時
監視して、自プロセッサを対象とするリクエストのみを
受け付け、必要なキャッシュエントリのデータをリード
リクエストのリクエストIDとともにモジュール内バス
5に送出する。
【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を対
象とするリクエストのみを受け付け、必要なキャッシュ
エントリのデータを当該リードリクエストのリクエスト
IDとともにモジュール内バス11・12に送出する。
【0013】
【発明の効果】本発明の第一の効果は、他のプロセッサ
に対する不要な割り込みを避けながらマルチプロセッサ
システムにおけるシステムバスのビジー率を低減できる
ことにある。その理由は、各プロセッサにはプロセッサ
ID、プロセッサ相互を接続するモジュール内バス上に
発行されるリードリクエストにはリクエストIDが付加
され、各プロセッサは、モジュール内バス上のリクエス
トの対象プロセッサIDを常時監視して、自プロセッサ
を対象とするリクエストのみを受け付け、必要なキャッ
シュエントリのデータをリードリクエストのリクエスト
IDとともにモジュール内バスに送出するので、あるプ
ロセッサがモジュール内バスに発行したリードリクエス
トが同一モジュール内バスに接続される他のプロセッサ
の固有キャッシュにヒットするか否かを他のプロセッサ
に割り込むことなく判別することができ、かつヒットし
た場合には当該リードリクエストをシステムバスに発行
する必要がなくなるからである。
【0014】本発明の第二の効果は、簡易な構成でマル
チプロセッサシステムを構成できることにある。その理
由は、一つのプロセッサモジュール上に複数のプロセッ
サを搭載でき、かつ、一つのシステムバスコントローラ
でその複数のプロセッサを制御することができること、
並びにモジュール内バスにおけるキャッシュデータ転送
により生じるシステムバス用コピータグの変更をシステ
ムバス経由で行うことにより、通常のシステムバススヌ
ープ処理とハードウェアを共用できシステムバススヌー
プ用コピータグの更新制御が簡素化されることにある。
【図面の簡単な説明】
【図1】本発明の一実施例を示すブロック図である。
【図2】モジュール内バスの詳細を示す図である。
【符号の説明】
1 プロセッサモジュール 2 システムバス 3 プロセッサ 4 固有キャッシュ 5 モジュール内バス 6 システムバスインタフェースコントローラ 7 システムバススヌープ用コピータグ 8 モジュール内バススヌープ用コピータグ 9 キャッシュエントリ・オーナー権通知線 10 メモリサブシステム 11 アドレス/データ共用バス 12 コマンドバス 13 リクエスト線 14 リクエスト許可線
───────────────────────────────────────────────────── フロントページの続き (56)参考文献 特開 平4−174042(JP,A) 特開 平6−274461(JP,A) 特開 平2−207352(JP,A) 特開 平5−40690(JP,A) 特開 平8−16475(JP,A) 特開 平3−214337(JP,A) 特開 昭58−64688(JP,A) (58)調査した分野(Int.Cl.7,DB名) G06F 12/08 - 12/12 G06F 15/16 - 15/177

Claims (3)

    (57)【特許請求の範囲】
  1. 【請求項1】複数のプロセッサモジュールをシステムバ
    スにより相互に接続したマルチプロセッサシステムにお
    いて、各プロセッサモジュールに、 複数のプロセッサと、 これらプロセッサを相互に接続するスプリットリード方
    式のモジュール内バスと、 前記複数のプロセッサにより個々に制御される複数の固
    有キャッシュと、 前記モジュール内バスと前記システムバスの間に実装さ
    れ、前記モジュール内バス上のリクエストの調停制御及
    び前記モジュール内バスと前記システムバスの間のイン
    タフェース制御を行うシステムバスインタフェースコン
    トローラと、 このシステムバスインタフェースコントローラに接続さ
    れ、前記複数の固有キャッシュのそれぞれのアドレスア
    レイの複製として前記システムバス上のリクエストに対
    するスヌープを行うために使用される複数のシステムバ
    ススヌープ用コピータグと、 前記システムバスインタフェースコントローラに接続さ
    れ、前記複数の固有キャッシュのそれぞれのアドレスア
    レイの複製として前記モジュール内バス上に発行される
    前記複数のプロセッサからのリクエストに対するスヌー
    プを行うために使用される複数のモジュール内バススヌ
    ープ用コピータグとを備え、 前記各プロセッサにはプロセッサID、前記モジュール
    内バス上に発行されるリードリクエストにはリクエスト
    IDが付加され、各プロセッサは、モジュール内バス上
    のリクエストの対象プロセッサIDを常時監視して、自
    プロセッサを対象とするリクエストのみを受け付け、必
    要なキャッシュエントリのデータをリードリクエストの
    リクエストIDとともにモジュール内バスに送出する、 ことを特徴とするマルチレベルバス結合型マルチプロセ
    ッサシステム。
  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 JPH0922380A (ja) 1997-01-21
JP3067976B2 true 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)

Families Citing this family (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
JP3288261B2 (ja) 1997-06-19 2002-06-04 甲府日本電気株式会社 キャッシュシステム
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
JP4695367B2 (ja) * 2004-08-31 2011-06-08 富士通株式会社 情報処理装置,制御装置及び情報処理装置の制御方法
JP4851958B2 (ja) * 2007-02-19 2012-01-11 エヌイーシーコンピュータテクノ株式会社 バスインタフェースアダプタ、データ転送方法、データ転送システム及び情報処理装置

Also Published As

Publication number Publication date
JPH0922380A (ja) 1997-01-21

Similar Documents

Publication Publication Date Title
US6128711A (en) Performance optimization and system bus duty cycle reduction by I/O bridge partial cache line writes
EP0777184B1 (en) Cache coherency method and system
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
US6785776B2 (en) DMA exclusive cache state providing a fully pipelined input/output DMA write mechanism
US5623632A (en) System and method for improving multilevel cache performance in a multiprocessing system
US5706463A (en) Cache coherent computer system that minimizes invalidation and copyback operations
US5537575A (en) System for handling cache memory victim data which transfers data from cache to the interface while CPU performs a cache lookup using cache status information
JP3470951B2 (ja) 非一様メモリ・アクセス・コンピュータ・システム及びその操作方法
US8015366B2 (en) Accessing memory and processor caches of nodes in multi-node configurations
US6484220B1 (en) Transfer of data between processors in a multi-processor system
JP3320312B2 (ja) ディレクトリ・ベースのキャッシュ・コヒーレンス・プロトコルによるマルチプロセッサのための無効バス最適化
US5659708A (en) Cache coherency in a multiprocessing system
JPH1031625A (ja) マルチ・プロセッサ・システムにおける改良されたコピーバック性能のためのライトバック・バッファ
US20080109610A1 (en) Selective snooping by snoop masters to locate updated data
JPH08249231A (ja) マルチプロセッサ・システムにおける古いデータの処理システム及び方法
JP3067976B2 (ja) マルチレベルバス結合型マルチプロセッサシステム
US5701422A (en) Method for ensuring cycle ordering requirements within a hierarchical bus system including split-transaction buses
KR19990085485A (ko) 분산 공유 메모리 시스템에서 미세 통신과 대단위 통신의 병합을 위한 적응형 입도 방법
Bryg et al. A high-performance, low-cost multiprocessor bus for workstations and midrange servers
CA2279138A1 (en) Non-uniform memory access (numa) data processing system that decreases latency by expediting rerun requests
US6782456B2 (en) Microprocessor system bus protocol providing a fully pipelined input/output DMA write mechanism
JPH06282528A (ja) データ転送方法及びそのシステム
US6889343B2 (en) Method and apparatus for verifying consistency between a first address repeater and a second address repeater
US6735654B2 (en) Method and apparatus for efficiently broadcasting transactions between an address repeater and a client