JPH09293054A - マルチプロセッサシステム - Google Patents
マルチプロセッサシステムInfo
- Publication number
- JPH09293054A JPH09293054A JP8107279A JP10727996A JPH09293054A JP H09293054 A JPH09293054 A JP H09293054A JP 8107279 A JP8107279 A JP 8107279A JP 10727996 A JP10727996 A JP 10727996A JP H09293054 A JPH09293054 A JP H09293054A
- Authority
- JP
- Japan
- Prior art keywords
- data
- processor
- node
- reply
- memory
- 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
Links
Landscapes
- Multi Processors (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
(57)【要約】 (修正有)
【課題】 メモリノードのデータリプライを迅速に行
う。 【解決手段】 プロセッサノード20のデータ保有通知
手段は,プロセッサノード30がデータ保有しているこ
とをプロセッサノード30から通知された場合において
も,メモリノードがメモリ読み出し動作及び読み出しデ
ータのマルチプロセッサバス10への出力動作を行う。
また,プロセッサノード20のデータ認識手段は,プロ
セッサノード30がデータ保有していることをプロセッ
サノード20に通知した場合に,プロセッサノード30
がメモリリードリクエストに対するデータリプライを行
ったならば,そのデータを正しいリプライデータと認識
するとともに,プロセッサノード20がメモリリードリ
クエストに対するデータリプライをメモリノード40に
委ねた際に,メモリノード40が出力したデータを正し
いリプライデータと認識する。
う。 【解決手段】 プロセッサノード20のデータ保有通知
手段は,プロセッサノード30がデータ保有しているこ
とをプロセッサノード30から通知された場合において
も,メモリノードがメモリ読み出し動作及び読み出しデ
ータのマルチプロセッサバス10への出力動作を行う。
また,プロセッサノード20のデータ認識手段は,プロ
セッサノード30がデータ保有していることをプロセッ
サノード20に通知した場合に,プロセッサノード30
がメモリリードリクエストに対するデータリプライを行
ったならば,そのデータを正しいリプライデータと認識
するとともに,プロセッサノード20がメモリリードリ
クエストに対するデータリプライをメモリノード40に
委ねた際に,メモリノード40が出力したデータを正し
いリプライデータと認識する。
Description
【0001】
【発明の属する技術分野】本発明は,ライトバック方式
のキャッシュを有する複数のプロセッサとメモリノード
と,これらを接続するマルチプロセッサバスを備えたマ
ルチプロセッサシステムに関する。
のキャッシュを有する複数のプロセッサとメモリノード
と,これらを接続するマルチプロセッサバスを備えたマ
ルチプロセッサシステムに関する。
【0002】
【従来の技術】従来,各々キャッシュを有する複数のプ
ロセッサを接続するマルチプロセッサバス方式は,特開
平5−233443号公報(以下,従来技術1と呼ぶ)
に示される様に,あるプロセッサが書き込みを行う際に
他のプロセッサは自キャッシュ内の同一アドレスデータ
を無効化するという方式や,特開平5−35697号公
報(以下,従来技術2と呼ぶ)に示されるように,キャ
ッシュ間転送専用バスと一時メモリを備える事によって
システムバスやメモリの負荷を軽減するという方式が発
表されている。
ロセッサを接続するマルチプロセッサバス方式は,特開
平5−233443号公報(以下,従来技術1と呼ぶ)
に示される様に,あるプロセッサが書き込みを行う際に
他のプロセッサは自キャッシュ内の同一アドレスデータ
を無効化するという方式や,特開平5−35697号公
報(以下,従来技術2と呼ぶ)に示されるように,キャ
ッシュ間転送専用バスと一時メモリを備える事によって
システムバスやメモリの負荷を軽減するという方式が発
表されている。
【0003】
【発明が解決しようとする課題】しかしながら,従来技
術1においては,あるプロセッサが書き込みを行った
後,そのプロセッサが自キャッシュ内に持っているデー
タを別のプロセッサが読み出す場合のデータ受け渡し方
法が明記されていないのでライトバック方式のキャッシ
ュを有するマルチプロセッサには適用出来ないという欠
点があった。
術1においては,あるプロセッサが書き込みを行った
後,そのプロセッサが自キャッシュ内に持っているデー
タを別のプロセッサが読み出す場合のデータ受け渡し方
法が明記されていないのでライトバック方式のキャッシ
ュを有するマルチプロセッサには適用出来ないという欠
点があった。
【0004】また,従来技術2において,一時メモリや
キャッシュ間転送用バスを必要とするので,実現するた
めのハードウェア量が多くなるという欠点を有した。
キャッシュ間転送用バスを必要とするので,実現するた
めのハードウェア量が多くなるという欠点を有した。
【0005】因みに,従来のマルチプロセッサシステム
において,あるノード(以下,リクエストノードと呼
ぶ)が,このマルチプロセッサバス上にメモリリードリ
クエストを発行した際に,各プロセッサノード内のバス
ブリッジがリードリクエストアドレスに関するデータを
自ノード内のプロセッサがキャッシュ内部に排他的に有
しているかを知りそれを他ノードに通知する。その後,
リードリクエストアドレスに関するデータを自ノード内
のプロセッサが,キャッシュ内部に排他的に有している
事を他ノードに通知したノード(以下,オーナノードと
呼ぶ)のバスブリッジでは,自ノード内のプロセッサ
に,このデータを更新しているかを問い合わせ,更新し
ている場合には前記メモリリードリクエストに対するデ
ータリプライを行い,更新していない場合には前記メモ
リリードリクエストに対するデータリプライをメモリノ
ードに委ねる。
において,あるノード(以下,リクエストノードと呼
ぶ)が,このマルチプロセッサバス上にメモリリードリ
クエストを発行した際に,各プロセッサノード内のバス
ブリッジがリードリクエストアドレスに関するデータを
自ノード内のプロセッサがキャッシュ内部に排他的に有
しているかを知りそれを他ノードに通知する。その後,
リードリクエストアドレスに関するデータを自ノード内
のプロセッサが,キャッシュ内部に排他的に有している
事を他ノードに通知したノード(以下,オーナノードと
呼ぶ)のバスブリッジでは,自ノード内のプロセッサ
に,このデータを更新しているかを問い合わせ,更新し
ている場合には前記メモリリードリクエストに対するデ
ータリプライを行い,更新していない場合には前記メモ
リリードリクエストに対するデータリプライをメモリノ
ードに委ねる。
【0006】このような方式のマルチプロセッサバスに
於いては,いずれかのプロセッサノード(即ち,オーナ
ーノード)がリードリクエストアドレスに関するデータ
を自ノード内のプロセッサにおけるキャッシュ内部に排
他的に有している事を他ノードに通知した場合,メモリ
ノードはオーナノードが前記メモリリードリクエストに
対するデータリプライをメモリノードに委ねた場合のみ
メモリ読み出し動作を行う方式が採用されている。他
方,同様にオーナーノードが,他ノードに通知した場合
にも,メモリ読みだし動作を行うが,オーナノードが前
記メモリリードリクエストに対するデータリプライをメ
モリノードに委ねた場合のみ,メモリーノードは,前記
マルチプロセッサバスに前記メモリリードリクエストに
対するデータリプライを行う方式も採用されている。
於いては,いずれかのプロセッサノード(即ち,オーナ
ーノード)がリードリクエストアドレスに関するデータ
を自ノード内のプロセッサにおけるキャッシュ内部に排
他的に有している事を他ノードに通知した場合,メモリ
ノードはオーナノードが前記メモリリードリクエストに
対するデータリプライをメモリノードに委ねた場合のみ
メモリ読み出し動作を行う方式が採用されている。他
方,同様にオーナーノードが,他ノードに通知した場合
にも,メモリ読みだし動作を行うが,オーナノードが前
記メモリリードリクエストに対するデータリプライをメ
モリノードに委ねた場合のみ,メモリーノードは,前記
マルチプロセッサバスに前記メモリリードリクエストに
対するデータリプライを行う方式も採用されている。
【0007】しかしながら,前者の方式では,オーナノ
ードが前記メモリリードリクエストに対するデータリプ
ライをメモリノードに委ねるまでメモリノードがメモリ
読みだし動作を開始しないので,前記メモリリードリク
エストに対するデータリプライが遅いという問題があ
る。
ードが前記メモリリードリクエストに対するデータリプ
ライをメモリノードに委ねるまでメモリノードがメモリ
読みだし動作を開始しないので,前記メモリリードリク
エストに対するデータリプライが遅いという問題があ
る。
【0008】また,後者の方式では,オーナノードが前
記メモリリードリクエストに対するデータリプライを行
うかそれともメモリノードに委ねるかが判るまで,モモ
リーノードでは読み出された後のデータを保持し続けな
ければならない。したがって,メモリノードのバッファ
を長期間占有してしまい,結果的にメモリスループット
が低下するという問題がある。
記メモリリードリクエストに対するデータリプライを行
うかそれともメモリノードに委ねるかが判るまで,モモ
リーノードでは読み出された後のデータを保持し続けな
ければならない。したがって,メモリノードのバッファ
を長期間占有してしまい,結果的にメモリスループット
が低下するという問題がある。
【0009】そこで,本発明の技術的課題は,プロセッ
サノード及びメモリーノードを備えたマルチプロセッサ
システムにおいて,メモリノードにおけるデータリプラ
イを迅速に行うことができるマルチプロセッサシステム
を提供することにある。
サノード及びメモリーノードを備えたマルチプロセッサ
システムにおいて,メモリノードにおけるデータリプラ
イを迅速に行うことができるマルチプロセッサシステム
を提供することにある。
【0010】本発明の他の技術的課題は,メモリノード
内部のデータバッファを極力占有することなく,メモリ
ノードからのデータリプライを速くできるマルチプロセ
ッサシステムを提供することにある。
内部のデータバッファを極力占有することなく,メモリ
ノードからのデータリプライを速くできるマルチプロセ
ッサシステムを提供することにある。
【0011】
【課題を解決するための手段】本発明によれば,ライト
バック方式のキャッシュを有するプロセッサを夫々備え
た複数のプロセッサノードと,メモリノードと,前記複
数のプロセッサノード及び前記メモリノードを夫々接続
するマルチプロセッサバスとを備えたマルチプロセッサ
システムにおいて,各プロセッサノードは,他のプロセ
ッサノードが前記マルチプロセッサバス上にメモリリー
ドリクエストを発行した際に,当該メモリリードリクエ
ストのアドレスに関するデータを,前記各プロセッサノ
ード内のプロセッサの有するキャッシュ内部に排他的に
有しているか否かのデータ保有の有無を知り,その結果
を,前記他のプロセッサノードに通知するデータ保有通
知手段を備える一方,前記メモリノードは,前記リード
リクエストに対するデータリプライを前記各プロセッサ
内におけるデータ保有の有無に関係なく前記マルチプロ
セッサバス上に出力するデータ供給手段を備えているこ
とを特徴とするマルチプロセッサシステムが得られる。
バック方式のキャッシュを有するプロセッサを夫々備え
た複数のプロセッサノードと,メモリノードと,前記複
数のプロセッサノード及び前記メモリノードを夫々接続
するマルチプロセッサバスとを備えたマルチプロセッサ
システムにおいて,各プロセッサノードは,他のプロセ
ッサノードが前記マルチプロセッサバス上にメモリリー
ドリクエストを発行した際に,当該メモリリードリクエ
ストのアドレスに関するデータを,前記各プロセッサノ
ード内のプロセッサの有するキャッシュ内部に排他的に
有しているか否かのデータ保有の有無を知り,その結果
を,前記他のプロセッサノードに通知するデータ保有通
知手段を備える一方,前記メモリノードは,前記リード
リクエストに対するデータリプライを前記各プロセッサ
内におけるデータ保有の有無に関係なく前記マルチプロ
セッサバス上に出力するデータ供給手段を備えているこ
とを特徴とするマルチプロセッサシステムが得られる。
【0012】また,本発明によれば,前記マルチプロセ
ッサシステムにおいて,前記他のプロセッサノードは,
前記データ保有通知手段の内の一つがデータリプライを
行ったならば,そのデータを正しいリプライデータと認
識するとともに,前記各プロセッサの前記データ保有通
知手段の内の全てがデータ保有なしと通知した場合,又
は前記データ保有通知手段がリプライデータを出力しな
いことを通知した場合に,前記データ供給手段によるリ
プライデータを正しいリプライデータと認識するデータ
認識手段を有することを特徴とするマルチプロセッサシ
ステムが得られる。
ッサシステムにおいて,前記他のプロセッサノードは,
前記データ保有通知手段の内の一つがデータリプライを
行ったならば,そのデータを正しいリプライデータと認
識するとともに,前記各プロセッサの前記データ保有通
知手段の内の全てがデータ保有なしと通知した場合,又
は前記データ保有通知手段がリプライデータを出力しな
いことを通知した場合に,前記データ供給手段によるリ
プライデータを正しいリプライデータと認識するデータ
認識手段を有することを特徴とするマルチプロセッサシ
ステムが得られる。
【0013】さらに,本発明によれば,前記マルチプロ
セッサシステムにおいて,前記プロセッサノードの夫々
は,RAMと,前記データ保有通知手段及び前記データ
認識手段を有するバスブリッジとを夫々備え,前記バス
ブリッジは,前記RAMを参照して前記キャッシュのデ
ータの保持状況を判断するキャッシュステート判断回路
と,前記プロセッサに更新するためのデータを一時保有
するリードデータバッファと,前記リードデータバッフ
ァに取り込むリプライデータを選択するリプライデータ
選択回路と,前記プロセッサと接続するためのプロセッ
サインターフェースと,当該プロセッサノードを前記マ
ルチプロセッサバスに接続するためのマルチプロセッサ
バスインターフェースとを備え,前記データ保有通知手
段は,前記マルチプロセッサバスインターフェースを介
して取り込まれたリリクエストデータに基づいて,前記
キャッシュのデータの保持状況を判断する前記キャッシ
ュステート判断回路を備え,前記データ認識手段は,前
記リプライデータ選択回路及び前記リードデータバッフ
ァとを備え,前記他のプロセッサノードは,前記リプラ
イデータを前記マルチプロセッサバスインターフェー
ス,前記リードデータバッファと,前記プロセッサイン
ターフェースとを介して,前記他のプロセッサノード内
のプロセッサに送出することを特徴とする特徴とするマ
ルチプロセッサシステムが得られる。
セッサシステムにおいて,前記プロセッサノードの夫々
は,RAMと,前記データ保有通知手段及び前記データ
認識手段を有するバスブリッジとを夫々備え,前記バス
ブリッジは,前記RAMを参照して前記キャッシュのデ
ータの保持状況を判断するキャッシュステート判断回路
と,前記プロセッサに更新するためのデータを一時保有
するリードデータバッファと,前記リードデータバッフ
ァに取り込むリプライデータを選択するリプライデータ
選択回路と,前記プロセッサと接続するためのプロセッ
サインターフェースと,当該プロセッサノードを前記マ
ルチプロセッサバスに接続するためのマルチプロセッサ
バスインターフェースとを備え,前記データ保有通知手
段は,前記マルチプロセッサバスインターフェースを介
して取り込まれたリリクエストデータに基づいて,前記
キャッシュのデータの保持状況を判断する前記キャッシ
ュステート判断回路を備え,前記データ認識手段は,前
記リプライデータ選択回路及び前記リードデータバッフ
ァとを備え,前記他のプロセッサノードは,前記リプラ
イデータを前記マルチプロセッサバスインターフェー
ス,前記リードデータバッファと,前記プロセッサイン
ターフェースとを介して,前記他のプロセッサノード内
のプロセッサに送出することを特徴とする特徴とするマ
ルチプロセッサシステムが得られる。
【0014】
【発明の実施の形態】次に,本発明の実施の形態につい
て図面を参照して詳細に説明する。
て図面を参照して詳細に説明する。
【0015】図1は本発明の実施の形態におけるマルチ
プロセッサシステムを示すブロック図である。図1を参
照すると,本発明の実施の形態によるマルチプロセッサ
システムは,アドレス/データバス1および排他データ
保有表示信号線2とを含むマルチプロセッサバス10
と,マルチプロセッサバス10に接続された第1及び第
2のプロセッサノード20および30と,メモリノード
40と,I/Oノード50とを備えて構成されている。
プロセッサシステムを示すブロック図である。図1を参
照すると,本発明の実施の形態によるマルチプロセッサ
システムは,アドレス/データバス1および排他データ
保有表示信号線2とを含むマルチプロセッサバス10
と,マルチプロセッサバス10に接続された第1及び第
2のプロセッサノード20および30と,メモリノード
40と,I/Oノード50とを備えて構成されている。
【0016】第1及び第2のプロセッサノード20およ
び30は,各々プロセッサ21および31と,バスブリ
ッジ22および32と,ランダムアクセスメモリ(RA
M)23および33とを夫々含んでいる。また,プロセ
ッサ21および31は各々キャッシュ21aおよび31
aとを含んでいる。
び30は,各々プロセッサ21および31と,バスブリ
ッジ22および32と,ランダムアクセスメモリ(RA
M)23および33とを夫々含んでいる。また,プロセ
ッサ21および31は各々キャッシュ21aおよび31
aとを含んでいる。
【0017】また,バスブリッジ22および32は,マ
ルチプロセッサバスインタフェース24および34と,
キャッシュステート判断回路25および35と,リプラ
イデータ選択回路26および36と,プロセッサインタ
フェース27および37と,リードデータバッファ28
および38と,ライトデータバッファ29および39と
を夫々備えている。
ルチプロセッサバスインタフェース24および34と,
キャッシュステート判断回路25および35と,リプラ
イデータ選択回路26および36と,プロセッサインタ
フェース27および37と,リードデータバッファ28
および38と,ライトデータバッファ29および39と
を夫々備えている。
【0018】各プロセッサーノード20および30のデ
ータ保有通知手段は,マルチプロセッサバスインタフェ
ース24および34と,キャッシュステート判断回路2
5および35とを夫々備えている。
ータ保有通知手段は,マルチプロセッサバスインタフェ
ース24および34と,キャッシュステート判断回路2
5および35とを夫々備えている。
【0019】また,各プロセッサーノード20および3
0データ認識手段は,リプライデータ選択回路26およ
び36と,プロセッサインタフェース27および37
と,リードデータバッファ28および38とを夫々備え
ている。
0データ認識手段は,リプライデータ選択回路26およ
び36と,プロセッサインタフェース27および37
と,リードデータバッファ28および38とを夫々備え
ている。
【0020】さらに,メモリノード40は,メモリ制御
部41と,SIMM42とを備えて構成されている。
部41と,SIMM42とを備えて構成されている。
【0021】次に,本発明の形態によるマルチプロセッ
サバスの動作について,図1を参照して詳細に説明す
る。
サバスの動作について,図1を参照して詳細に説明す
る。
【0022】第1のプロセッサノード20が,メモリリ
ードのリクエストノードとなる場合,まずプロセッサ2
1が自らのキャッシュ21aに存在しないデータを必要
としたためにバスブリッジ22を介してアドレス/デー
タバス1へメモリリードアドレスを出力する。この時,
リクエストノードでない第2のプロセッサノード30で
は,バスブリッジ32において,アドレス/データバス
に出力されたアドレスをマルチプロセッサバスインタフ
ェース34を介してキャッシュステート判断回路35に
渡す。キャッシュステート判断回路35は,マルチプロ
セッサバスインタフェース34から受け取ったアドレス
でRAM33からそのアドレスに関する自ノード内プロ
セッサ31が有するキャッシュ31aに,そのアドレス
に関する排他的なデータがあるか否かを読み出す。
ードのリクエストノードとなる場合,まずプロセッサ2
1が自らのキャッシュ21aに存在しないデータを必要
としたためにバスブリッジ22を介してアドレス/デー
タバス1へメモリリードアドレスを出力する。この時,
リクエストノードでない第2のプロセッサノード30で
は,バスブリッジ32において,アドレス/データバス
に出力されたアドレスをマルチプロセッサバスインタフ
ェース34を介してキャッシュステート判断回路35に
渡す。キャッシュステート判断回路35は,マルチプロ
セッサバスインタフェース34から受け取ったアドレス
でRAM33からそのアドレスに関する自ノード内プロ
セッサ31が有するキャッシュ31aに,そのアドレス
に関する排他的なデータがあるか否かを読み出す。
【0023】その結果,キャッシュ31aに,そのアド
レスに関する排他的なデータがあれば,キャッシュステ
ート判断回路35は,予め定められたタイミングで排他
データ保有表示信号線2に論理“1”を出力する。一
方,そのアドレスに関する排他的なデータがなければ,
同じく予め定められたタイミングで排他データ保有表示
信号線2に論理“0”を出力する。
レスに関する排他的なデータがあれば,キャッシュステ
ート判断回路35は,予め定められたタイミングで排他
データ保有表示信号線2に論理“1”を出力する。一
方,そのアドレスに関する排他的なデータがなければ,
同じく予め定められたタイミングで排他データ保有表示
信号線2に論理“0”を出力する。
【0024】さらに,リクエストノードでない第2のプ
ロセッサノード30は,排他データ保有表示信号線2に
論理“1”を出力した場合,プロセッサインタフェース
37を介してプロセッサ31に,このアドレスに関する
データを書き換えたか否かを問い合わる。プロセッサ3
1はキャッシュ31aを参照して,このアドレスに関す
るデータを更新しているときには,そのデータをバスブ
リッジ32へ出力する。
ロセッサノード30は,排他データ保有表示信号線2に
論理“1”を出力した場合,プロセッサインタフェース
37を介してプロセッサ31に,このアドレスに関する
データを書き換えたか否かを問い合わる。プロセッサ3
1はキャッシュ31aを参照して,このアドレスに関す
るデータを更新しているときには,そのデータをバスブ
リッジ32へ出力する。
【0025】バスブリッジ32では,プロセッサ31か
ら更新したデータを受け取った場合には,それをプロセ
ッサノード20からのメモリリードリクエストへのリプ
ライデータとして,プロセッサインターフェース37,
ライトデータバッファ39,マルチプロセッサバスイン
タフェース34を経由して,アドレス/データバス1へ
出力する。
ら更新したデータを受け取った場合には,それをプロセ
ッサノード20からのメモリリードリクエストへのリプ
ライデータとして,プロセッサインターフェース37,
ライトデータバッファ39,マルチプロセッサバスイン
タフェース34を経由して,アドレス/データバス1へ
出力する。
【0026】一方,プロセッサ31から更新したデータ
を受け取らなかった場合には,第1のプロセッサノード
20からのメモリリードリクエストへのリプライデータ
を出力しない事を示す(リプライをメモリに委ねる)転
送を,アドレス/データバス1へ出力する。
を受け取らなかった場合には,第1のプロセッサノード
20からのメモリリードリクエストへのリプライデータ
を出力しない事を示す(リプライをメモリに委ねる)転
送を,アドレス/データバス1へ出力する。
【0027】一方,メモリノード40は,メモリ制御部
41が第1のリクエストノード20からのメモリリード
リクエストを検出後速やかにSIMM42からのデータ
読み出しを行い,かつ読み出したデータをこのメモリリ
ードリクエストへのリプライデータとしてアドレス/デ
ータバスへ出力する。
41が第1のリクエストノード20からのメモリリード
リクエストを検出後速やかにSIMM42からのデータ
読み出しを行い,かつ読み出したデータをこのメモリリ
ードリクエストへのリプライデータとしてアドレス/デ
ータバスへ出力する。
【0028】メモリリードリクエストの第1のリクエス
トノード20では,リクエスト発行後,リプライデータ
選択回路26が予め定められたタイミングで排他データ
保有表示信号線2を観測し,排他データ保有表示信号線
2が論理“0”であることを検出した場合は,メモリノ
ード40からのリプライデータをマルチプロセッサバス
インタフェース24,リードデータバッファ28,プロ
セッサインタフェース27を経由してプロセッサ21へ
送出する。
トノード20では,リクエスト発行後,リプライデータ
選択回路26が予め定められたタイミングで排他データ
保有表示信号線2を観測し,排他データ保有表示信号線
2が論理“0”であることを検出した場合は,メモリノ
ード40からのリプライデータをマルチプロセッサバス
インタフェース24,リードデータバッファ28,プロ
セッサインタフェース27を経由してプロセッサ21へ
送出する。
【0029】また,排他データ保有表示信号線2が論理
“1”であることを検出した場合は,リプライデータ選
択回路26は,さらにその後排他データ保有表示信号線
2に論理“1”を出力した第2のプロセッサノード30
がアドレス/データバスにリプライデータを出力する
か,リプライデータを出力しない事を示す(リプライを
メモリに委ねる)転送を出力するかを確認する。第2の
プロセッサノード30がアドレス/データバスにリプラ
イデータを出力した場合には,そのデータを,一方,第
2のプロセッサノード30がリプライデータを出力しな
い事を示す(リプライをメモリに委ねる)転送を出力し
た場合にはメモリノード40からのリプライデータを,
夫々マルチプロセッサバスインタフェース24,リード
データバッファ28,プロセッサインタフェース27を
経由してプロセッサ21へ送出する。この時,第2のプ
ロセッサノード30がアドレス/データバスにリプライ
データを出力する場合には,第2のプロセッサノード3
0からのリプライデータがメモリノード40からのリプ
ライデータよりも先にアドレス/データバス1に出力さ
れる場合と,逆にメモリノード40からのリプライデー
タが第2のプロセッサノード30からのリプライデータ
よりも先にアドレス/データバス1に出力される場合と
が考えられる。
“1”であることを検出した場合は,リプライデータ選
択回路26は,さらにその後排他データ保有表示信号線
2に論理“1”を出力した第2のプロセッサノード30
がアドレス/データバスにリプライデータを出力する
か,リプライデータを出力しない事を示す(リプライを
メモリに委ねる)転送を出力するかを確認する。第2の
プロセッサノード30がアドレス/データバスにリプラ
イデータを出力した場合には,そのデータを,一方,第
2のプロセッサノード30がリプライデータを出力しな
い事を示す(リプライをメモリに委ねる)転送を出力し
た場合にはメモリノード40からのリプライデータを,
夫々マルチプロセッサバスインタフェース24,リード
データバッファ28,プロセッサインタフェース27を
経由してプロセッサ21へ送出する。この時,第2のプ
ロセッサノード30がアドレス/データバスにリプライ
データを出力する場合には,第2のプロセッサノード3
0からのリプライデータがメモリノード40からのリプ
ライデータよりも先にアドレス/データバス1に出力さ
れる場合と,逆にメモリノード40からのリプライデー
タが第2のプロセッサノード30からのリプライデータ
よりも先にアドレス/データバス1に出力される場合と
が考えられる。
【0030】前者の場合には,リプライデータ選択回路
26は,第2のプロセッサノード30からのリプライデ
ータのみをリードデータバッファ28に取り込み,メモ
リノード40からのリプライデータを無視する。
26は,第2のプロセッサノード30からのリプライデ
ータのみをリードデータバッファ28に取り込み,メモ
リノード40からのリプライデータを無視する。
【0031】後者の場合には,まずメモリノード40か
らのリプライデータをリードデータバッファ28に取り
込んだ後,第2のプロセッサノード30からのリプライ
データがアドレス/データバス1に出力された事を検出
したときにリードデータバッファ38内のメモリノード
40からのリプライデータを破棄して,第2のプロセッ
サノード30からのリプライデータに置き換えた後プロ
セッサ21へ送出する。
らのリプライデータをリードデータバッファ28に取り
込んだ後,第2のプロセッサノード30からのリプライ
データがアドレス/データバス1に出力された事を検出
したときにリードデータバッファ38内のメモリノード
40からのリプライデータを破棄して,第2のプロセッ
サノード30からのリプライデータに置き換えた後プロ
セッサ21へ送出する。
【0032】
【発明の効果】以上,説明したように,本発明において
は,いずれかのプロセッサノードが自ノード内のプロセ
ッサがキャッシュ内部にメモリリードアドレスに関する
データを排他的に有している事を他ノードに通知した場
合に於いても(このプロセッサノードをオーナーノード
と呼ぶ),メモリノードはメモリ読み出し動作および読
み出しデータのマルチプロセッサバスへの出力動作を行
う手段を有している事により,メモリノードはデータバ
ッファにメモリ読みだしデータを溜めておく事なく最短
のタイミングでメモリ読みだしデータをマルチプロセッ
サバスに出力できる。また,その結果1回のメモリ読み
だしに対して2つのリプライデータがマルチプロセッサ
バスに出力される場合があるので,いずれかのプロセッ
サノードが自ノード内のプロセッサがキャッシュ内部に
排他的に有している事を他ノードに通知した場合に,デ
ータリクエストを行ったプロセッサノード(リクエスト
ノード)は,このオーナノードが前記メモリリードリク
エストに対するデータリプライを行ったならばそのデー
タを正しいリプライデータと認識し,このオーナノード
が前記メモリリードリクエストに対するデータリプライ
を前記メモリノードに委ねたならば前記メモリノードが
出力したデータを正しいリプライデータと認識する手段
を設けており,いずれかのプロセッサノードが自ノード
内のプロセッサがキャッシュ内部にメモリリードアドレ
スに関するデータを排他的に有している事を他ノードに
通知した場合に於いてもメモリノードはメモリ読み出し
動作および読み出しデータのマルチプロセッサバスへの
出力動作を行うので,いずれかのプロセッサノード内の
プロセッサがキャッシュ内部にメモリリードアドレスに
関するデータを排他的に有しており,かつそれを書き換
えていなかったので結果的にメモリノードがデータリプ
ライを行う場合でも最短のタイミングでデータリプライ
を行う事が出来,また長期間メモリノード内のデータバ
ッファを占有しないので,メモリのトータルスループッ
トも低下しないマルチプロセッサシステムを提供するこ
とができる。
は,いずれかのプロセッサノードが自ノード内のプロセ
ッサがキャッシュ内部にメモリリードアドレスに関する
データを排他的に有している事を他ノードに通知した場
合に於いても(このプロセッサノードをオーナーノード
と呼ぶ),メモリノードはメモリ読み出し動作および読
み出しデータのマルチプロセッサバスへの出力動作を行
う手段を有している事により,メモリノードはデータバ
ッファにメモリ読みだしデータを溜めておく事なく最短
のタイミングでメモリ読みだしデータをマルチプロセッ
サバスに出力できる。また,その結果1回のメモリ読み
だしに対して2つのリプライデータがマルチプロセッサ
バスに出力される場合があるので,いずれかのプロセッ
サノードが自ノード内のプロセッサがキャッシュ内部に
排他的に有している事を他ノードに通知した場合に,デ
ータリクエストを行ったプロセッサノード(リクエスト
ノード)は,このオーナノードが前記メモリリードリク
エストに対するデータリプライを行ったならばそのデー
タを正しいリプライデータと認識し,このオーナノード
が前記メモリリードリクエストに対するデータリプライ
を前記メモリノードに委ねたならば前記メモリノードが
出力したデータを正しいリプライデータと認識する手段
を設けており,いずれかのプロセッサノードが自ノード
内のプロセッサがキャッシュ内部にメモリリードアドレ
スに関するデータを排他的に有している事を他ノードに
通知した場合に於いてもメモリノードはメモリ読み出し
動作および読み出しデータのマルチプロセッサバスへの
出力動作を行うので,いずれかのプロセッサノード内の
プロセッサがキャッシュ内部にメモリリードアドレスに
関するデータを排他的に有しており,かつそれを書き換
えていなかったので結果的にメモリノードがデータリプ
ライを行う場合でも最短のタイミングでデータリプライ
を行う事が出来,また長期間メモリノード内のデータバ
ッファを占有しないので,メモリのトータルスループッ
トも低下しないマルチプロセッサシステムを提供するこ
とができる。
【図1】本発明の実施の形態によるマルチプロセッサシ
ステムを示すブロック図である。
ステムを示すブロック図である。
1 アドレス/データバス 2 排他データ保有表示信号線 20 第1のプロセッサノード 21,31 プロセッサ 21a,31a キャッシュ 22,32 バスブリッジ 23,33 RAM 24,34 マルチプロセッサバスインタフェース 25,35 キャッシュステート判断回路 26,36 リプライデータ選択回路 27,37 プロセッサインタフェース 28,38 リードデータバッファ 29,39 ライトデータバッファ 30 第2のプロセッサノード 40 メモリノード 41 メモリ制御部 42 SIMM 50 I/Oノード
Claims (3)
- 【請求項1】 ライトバック方式のキャッシュを有する
プロセッサを夫々備えた複数のプロセッサノードと,メ
モリノードと,前記複数のプロセッサノード及び前記メ
モリノードを夫々接続するマルチプロセッサバスとを備
えたマルチプロセッサシステムにおいて,各プロセッサ
ノードは,他のプロセッサノードが前記マルチプロセッ
サバス上にメモリリードリクエストを発行した際に,当
該メモリリードリクエストのアドレスに関するデータ
を,前記各プロセッサノード内のプロセッサの有するキ
ャッシュ内部に排他的に有しているか否かのデータ保有
の有無を知り,その結果を,前記他のプロセッサノード
に通知するデータ保有通知手段を備える一方,前記メモ
リノードは,前記リードリクエストに対するデータリプ
ライを前記各プロセッサ内におけるデータ保有の有無に
関係なく前記マルチプロセッサバス上に出力するデータ
供給手段を備えていることを特徴とするマルチプロセッ
サシステム。 - 【請求項2】 請求項1記載のマルチプロセッサシステ
ムにおいて,前記他のプロセッサノードは,前記データ
保有通知手段の内の一つがデータリプライを行ったなら
ば,そのデータを正しいリプライデータと認識するとと
もに,前記各プロセッサの前記データ保有通知手段の内
の全てがデータ保有なしと通知した場合,又は前記デー
タ保有通知手段がリプライデータを出力しないことを通
知した場合に,前記データ供給手段によるリプライデー
タを正しいリプライデータと認識するデータ認識手段を
有することを特徴とするマルチプロセッサシステム。 - 【請求項3】 請求項2記載のマルチプロセッサシステ
ムにおいて,前記プロセッサノードの夫々は,RAM
と,前記データ保有通知手段及び前記データ認識手段を
有するバスブリッジとを夫々備え,前記バスブリッジ
は,前記RAMを参照して前記キャッシュのデータの保
持状況を判断するキャッシュステート判断回路と,前記
プロセッサに更新するためのデータを一時保有するリー
ドデータバッファと,前記リードデータバッファに取り
込むリプライデータを選択するリプライデータ選択回路
と,前記プロセッサと接続するためのプロセッサインタ
ーフェースと,当該プロセッサノードを前記マルチプロ
セッサバスに接続するためのマルチプロセッサバスイン
ターフェースとを備え,前記データ保有通知手段は,前
記マルチプロセッサバスインターフェースを介して取り
込まれたリリクエストデータに基づいて,前記キャッシ
ュのデータの保持状況を判断する前記キャッシュステー
ト判断回路を備え,前記データ認識手段は,前記リプラ
イデータ選択回路及び前記リードデータバッファとを備
え,前記他のプロセッサノードは,前記リプライデータ
を前記マルチプロセッサバスインターフェース,前記リ
ードデータバッファと,前記プロセッサインターフェー
スとを介して,前記他のプロセッサノード内のプロセッ
サに送出することを特徴とする特徴とするマルチプロセ
ッサシステム。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP8107279A JPH09293054A (ja) | 1996-04-26 | 1996-04-26 | マルチプロセッサシステム |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP8107279A JPH09293054A (ja) | 1996-04-26 | 1996-04-26 | マルチプロセッサシステム |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH09293054A true JPH09293054A (ja) | 1997-11-11 |
Family
ID=14455052
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP8107279A Pending JPH09293054A (ja) | 1996-04-26 | 1996-04-26 | マルチプロセッサシステム |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH09293054A (ja) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6098115A (en) * | 1998-04-08 | 2000-08-01 | International Business Machines Corporation | System for reducing storage access latency with accessing main storage and data bus simultaneously |
-
1996
- 1996-04-26 JP JP8107279A patent/JPH09293054A/ja active Pending
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6098115A (en) * | 1998-04-08 | 2000-08-01 | International Business Machines Corporation | System for reducing storage access latency with accessing main storage and data bus simultaneously |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US5353415A (en) | Method and apparatus for concurrency of bus operations | |
| US5133074A (en) | Deadlock resolution with cache snooping | |
| JPH086855A (ja) | メモリ | |
| JPH0680499B2 (ja) | マルチプロセッサ・システムのキャッシュ制御システムおよび方法 | |
| JP2003316753A (ja) | マルチプロセッサ装置 | |
| JPH07281955A (ja) | マルチプロセッサーシステムのスヌープ回路 | |
| JPH10154100A (ja) | 情報処理システム及び装置及びその制御方法 | |
| JP4434534B2 (ja) | プロセッサ・システム | |
| WO2000038077A1 (fr) | Antememoire et procede de commande | |
| JPH06222993A (ja) | キャッシュメモリシステムおよびそれを実現するための方法 | |
| JPH10501914A (ja) | 共用キャッシュ・メモリ装置 | |
| JPH07129468A (ja) | 主記憶制御装置 | |
| US20080016296A1 (en) | Data processing system | |
| JPH09293054A (ja) | マルチプロセッサシステム | |
| JP2001034533A (ja) | キャッシュコヒーレンシ制御装置、2次キャッシュメモリ、中央処理装置、マルチプロセッサシステム、プロセッサノード、キャッシュコヒーレンシ制御方法 | |
| JPH06282528A (ja) | データ転送方法及びそのシステム | |
| JPH06309231A (ja) | キャッシュメモリ制御方法 | |
| US6173370B1 (en) | Cache system capable of keeping cache-coherency among store-in-caches of two central processing units on occurrence of store-confliction | |
| JP3239935B2 (ja) | 密結合マルチプロセッサシステムの制御方法、密結合マルチプロセッサシステム及びその記録媒体 | |
| JPH10307788A (ja) | バスブリッジ | |
| US20020169930A1 (en) | Memory access control system, method thereof and host bridge | |
| JPH0744459A (ja) | キャッシュ制御方法およびキャッシュ制御装置 | |
| JP2001167068A (ja) | メモリアクセス方法及びマルチプロセッサシステム | |
| JP2961663B2 (ja) | キャッシュメモリ制御方法 | |
| JP3735375B2 (ja) | マルチプロセッサシステム |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 19990224 |