JPH04340154A - バス多重マルチプロセッサシステム - Google Patents
バス多重マルチプロセッサシステムInfo
- Publication number
- JPH04340154A JPH04340154A JP33160190A JP33160190A JPH04340154A JP H04340154 A JPH04340154 A JP H04340154A JP 33160190 A JP33160190 A JP 33160190A JP 33160190 A JP33160190 A JP 33160190A JP H04340154 A JPH04340154 A JP H04340154A
- Authority
- JP
- Japan
- Prior art keywords
- bus
- signal
- response
- processing unit
- block
- 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
- 230000015654 memory Effects 0.000 claims abstract description 126
- 230000004044 response Effects 0.000 claims abstract description 85
- 238000001514 detection method Methods 0.000 claims description 6
- 239000000872 buffer Substances 0.000 abstract description 13
- 230000002401 inhibitory effect Effects 0.000 abstract 4
- 230000005764 inhibitory process Effects 0.000 abstract 1
- 238000000034 method Methods 0.000 description 13
- 238000010586 diagram Methods 0.000 description 4
- 229910000831 Steel Inorganic materials 0.000 description 2
- 230000000875 corresponding effect Effects 0.000 description 2
- 230000009977 dual effect Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 239000010959 steel Substances 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
Landscapes
- Bus Control (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
[産業上の利用分野]
本発明は、システムバスにより結合されたマルチプロセ
ッサシステムで構成される情報処理装置のシステムバス
の構成に係り、特に、一つのプロセッサからのアクセス
要求に対応して出力される他のプロセッサからの応答信
号の伝送を確実に行ない、システムの信頼性を向上する
のに好適なバス多重マルチプロセッサシステムに関する
ものである。
ッサシステムで構成される情報処理装置のシステムバス
の構成に係り、特に、一つのプロセッサからのアクセス
要求に対応して出力される他のプロセッサからの応答信
号の伝送を確実に行ない、システムの信頼性を向上する
のに好適なバス多重マルチプロセッサシステムに関する
ものである。
[従来の技術]
従来、システムの信頼性、装置利用の融通性、および、
処理能力の向上を目的として、マルチプロセッサシステ
ムが用いられている。
処理能力の向上を目的として、マルチプロセッサシステ
ムが用いられている。
マルチプロセッサシステムは、複数のプロセッサがメモ
リユニット(主記憶装置)を共有し、一つの管理プログ
ラムのもとに、各プロセッサの負荷が均等になるように
処理が割り当てられるシステムである。
リユニット(主記憶装置)を共有し、一つの管理プログ
ラムのもとに、各プロセッサの負荷が均等になるように
処理が割り当てられるシステムである。
第2図は、従来のマルチプロセッサの構成を示すブロッ
ク図である。
ク図である。
このマルチプロセッサシステムは、各処理ユニット1、
2、3のそれぞれが、信号線101および102、信号
線201および202、信号線301および302を介
してバスマスタコントローラ6に、また、システムバス
24を介して共通にアクセスするメモリユニット5に接
続されて構成されている。
2、3のそれぞれが、信号線101および102、信号
線201および202、信号線301および302を介
してバスマスタコントローラ6に、また、システムバス
24を介して共通にアクセスするメモリユニット5に接
続されて構成されている。
ここで、各処理ユニット1、2、3は、それぞれ、プロ
セッサ10、20、30と、チップバス100、200
、300で接続されたキャッシュメモリ11、21、3
1とを有し、さらに、キャッシュメモリ11、21、3
1は、それぞれ、リトライタイマ111、211、31
1を有する。
セッサ10、20、30と、チップバス100、200
、300で接続されたキャッシュメモリ11、21、3
1とを有し、さらに、キャッシュメモリ11、21、3
1は、それぞれ、リトライタイマ111、211、31
1を有する。
また、メモリユニット5は、複数のブロックに分割され
ており、そして、キャッシュメモリ11、21、31は
、メモリユニット5のブロックを格納する複数のエント
リからなる。さらに、各エントリは、メモリユニット5
のブロックを識別するためのアドレス情報を格納するタ
グ部と、このタグ部に格納している情報が有効であるか
、または、無効であるかを示すバリッド部と、メモリユ
ニット5のブロックの内容を書き換えずにキャッシュメ
モリに格納しているブロックの内容を書き換えたか、書
き換えていないかを示すモディファイ部と、他の処理ユ
ニットのキャッシュメモリにも同一のブロックが格納さ
れているか、または、自処理ユニットのキャッシュメモ
リにのみ格納しているかを示す共有部と、そして、メイ
ンメモリのブロック内容を格納するデータ部からなる。
ており、そして、キャッシュメモリ11、21、31は
、メモリユニット5のブロックを格納する複数のエント
リからなる。さらに、各エントリは、メモリユニット5
のブロックを識別するためのアドレス情報を格納するタ
グ部と、このタグ部に格納している情報が有効であるか
、または、無効であるかを示すバリッド部と、メモリユ
ニット5のブロックの内容を書き換えずにキャッシュメ
モリに格納しているブロックの内容を書き換えたか、書
き換えていないかを示すモディファイ部と、他の処理ユ
ニットのキャッシュメモリにも同一のブロックが格納さ
れているか、または、自処理ユニットのキャッシュメモ
リにのみ格納しているかを示す共有部と、そして、メイ
ンメモリのブロック内容を格納するデータ部からなる。
例えば、バリッド部では、タグ部に格納している情報が
有効であれば「1」、無効の場合は「0」で表し、モデ
ィファイ部では、メモリユニット5のブロックの内容を
書き換えずにキャッシュメモリに格納しているブロック
の内容を書き換えた場合は「1」、書き換えていない場
合は「0」で表し、そして、共有部では、他の処理ユニ
ットのキャッシュメモリにも同一のブロックが格納され
ている場合は「1」、自処理ユニットのキャッシュメモ
リにのみ格納している場合は「0」で表す。
有効であれば「1」、無効の場合は「0」で表し、モデ
ィファイ部では、メモリユニット5のブロックの内容を
書き換えずにキャッシュメモリに格納しているブロック
の内容を書き換えた場合は「1」、書き換えていない場
合は「0」で表し、そして、共有部では、他の処理ユニ
ットのキャッシュメモリにも同一のブロックが格納され
ている場合は「1」、自処理ユニットのキャッシュメモ
リにのみ格納している場合は「0」で表す。
さらに、各キャッシュメモリ11、21、31は、一定
周期で値が「+1」されるリトライタイマ111、21
1、311を持つ。
周期で値が「+1」されるリトライタイマ111、21
1、311を持つ。
上述のように、モディファイ部に格納される情報が「1
」の場合は、プロセッサからのブロックの書き換えを、
キャッシュメモリ上のブロックに対してのみ行ない、メ
モリユニット5上のブロックは書き換えなかったことを
示す。
」の場合は、プロセッサからのブロックの書き換えを、
キャッシュメモリ上のブロックに対してのみ行ない、メ
モリユニット5上のブロックは書き換えなかったことを
示す。
また、共有部に格納している情報が「1」の場合は、他
の処理ユニットのキャッシュメモリにも、同一のブロッ
クが格納されているので、プロセッサからのブロックの
書き換え時に、キャッシュメモリのデータ部と、メモリ
ユニット5とを書き換え、他の処理ユニットにも、ブロ
ックを書き換えたことを通知する必要があることを示す
。
の処理ユニットのキャッシュメモリにも、同一のブロッ
クが格納されているので、プロセッサからのブロックの
書き換え時に、キャッシュメモリのデータ部と、メモリ
ユニット5とを書き換え、他の処理ユニットにも、ブロ
ックを書き換えたことを通知する必要があることを示す
。
マルチプロセッサシステムにおいては、各処理ユニット
内のプロセッサから読みだしたメモリユニット5上の同
一のブロックの内容は一致している必要がある。このた
めに、あるキャッシュメモリ内でモディファイ部が「1
」であるブロックが存在したとき、他のキャッシュメモ
リにおいて、同一のブロックを格納しているエントリが
存在することはない。
内のプロセッサから読みだしたメモリユニット5上の同
一のブロックの内容は一致している必要がある。このた
めに、あるキャッシュメモリ内でモディファイ部が「1
」であるブロックが存在したとき、他のキャッシュメモ
リにおいて、同一のブロックを格納しているエントリが
存在することはない。
もし、このようなブロックが存在すると、各プロセッサ
が同一のブロックを読みだしたとき、それぞれのプロセ
ッサのキャッシュメモリから、異なる内容が読みだされ
るため、処理に矛盾が発生する。
が同一のブロックを読みだしたとき、それぞれのプロセ
ッサのキャッシュメモリから、異なる内容が読みだされ
るため、処理に矛盾が発生する。
以下、プロセッサ10が、メモリユニット5のアドレス
aで指定されるブロックaへアクセスする場合に関して
説明する。
aで指定されるブロックaへアクセスする場合に関して
説明する。
プロセッサ10は、信号線100を介してキャッシュメ
モリ11に、ブロックaの読みだし、または、書き換え
を指示する。この時、以下の処理状態が考えられる。
モリ11に、ブロックaの読みだし、または、書き換え
を指示する。この時、以下の処理状態が考えられる。
(■)プロセッサからの読みだしがヒットした場合:キ
ャッシュメモリ11は、キャッシュメモリ11内のエン
トリを検索し、ブロックアドレスaと、タグ部に格納し
ている内容とが一致し、かつ、バリッド部に格納してい
る値が「1」であるエントリが存在(ヒット)したとき
、プロセッサ10からのアクセスが読みだし要求であれ
ば、当該エントリのデータ部に格納してあるブロックを
チップバス100を介してプロセッサ10に転送し、プ
ロセッサからの読みだし要求処理を完了する。
ャッシュメモリ11は、キャッシュメモリ11内のエン
トリを検索し、ブロックアドレスaと、タグ部に格納し
ている内容とが一致し、かつ、バリッド部に格納してい
る値が「1」であるエントリが存在(ヒット)したとき
、プロセッサ10からのアクセスが読みだし要求であれ
ば、当該エントリのデータ部に格納してあるブロックを
チップバス100を介してプロセッサ10に転送し、プ
ロセッサからの読みだし要求処理を完了する。
(■)プロセッサからの書き換えがヒットした場合:ヒ
ットしたブロックaに対するプロセッサ10からのアク
セスが書き換え要求であり、かつ、モディファイ部のビ
ットが「1」であるか、共有部のビットが「0」であれ
ば、当該エントリのデータ部に格納してあるブロックを
、チップバス100から入力した値に書き換えると共に
、モディファイ部を「1」として、プロセッサからの書
き換え要求処理を終了する。
ットしたブロックaに対するプロセッサ10からのアク
セスが書き換え要求であり、かつ、モディファイ部のビ
ットが「1」であるか、共有部のビットが「0」であれ
ば、当該エントリのデータ部に格納してあるブロックを
、チップバス100から入力した値に書き換えると共に
、モディファイ部を「1」として、プロセッサからの書
き換え要求処理を終了する。
ヒットしたブロックaに対するプロセッサ10からのア
クセスが書き換え要求で、かつ、モディファイ部が「0
」で、さらに、共有ビットが「1」であれば、キャッシ
ュメモリ11は、信号線101を介して、システムバス
の使用要求を、バスマスタコントローラ6に知らせる。
クセスが書き換え要求で、かつ、モディファイ部が「0
」で、さらに、共有ビットが「1」であれば、キャッシ
ュメモリ11は、信号線101を介して、システムバス
の使用要求を、バスマスタコントローラ6に知らせる。
バスマスタコントローラ6は、予め定められた手続きに
従い、一つのキャッシュメモリにのみ、システムバス2
4の使用許可を与える。
従い、一つのキャッシュメモリにのみ、システムバス2
4の使用許可を与える。
信号線102を介して、システムバス24の使用許可が
、キャッシュメモリ11に与えられたとき、キャッシュ
メモリ11は、リトライタイマの値を「0」とし、書き
換えるブロックのアドレスaをアドレスバス40に出力
し、書き換えるデータをデータバス41に出力し、メモ
リユニット5に対する書き換え指示をリード/ライトバ
ス42に出力し、アクセススタート指示バス43にアク
セスの開始を指示する。
、キャッシュメモリ11に与えられたとき、キャッシュ
メモリ11は、リトライタイマの値を「0」とし、書き
換えるブロックのアドレスaをアドレスバス40に出力
し、書き換えるデータをデータバス41に出力し、メモ
リユニット5に対する書き換え指示をリード/ライトバ
ス42に出力し、アクセススタート指示バス43にアク
セスの開始を指示する。
処理ユニット2、3、および、メモリユニット5は、ア
クセススタート指示バス43からの指示に基づき、処理
ユニットが出力した書き換え指示、アドレス、および、
データを受信する。
クセススタート指示バス43からの指示に基づき、処理
ユニットが出力した書き換え指示、アドレス、および、
データを受信する。
メモリユニット5は、リード/ライトバス42から書き
換え指示を受け取り、アドレスバス40から入力したア
ドレスで指定されるブロックaを、データバス41から
入力した内容に書き換える。
換え指示を受け取り、アドレスバス40から入力したア
ドレスで指定されるブロックaを、データバス41から
入力した内容に書き換える。
一方、処理ユニット2、3は、以下の処理を行なう。尚
、ここで、処理ユニット2、3は、同一の動作を行なう
ので、処理ユニット2の動作のみを説明する。
、ここで、処理ユニット2、3は、同一の動作を行なう
ので、処理ユニット2の動作のみを説明する。
処理ユニット2のキャッシュメモリ21は、処理ユニッ
ト1がアドレスバス40に出力したアドレスaを入力し
、キャッシュメモリ21のエントリを検索し、リード/
ライトバス42により書き換えが指示されている場合、
ブロックアドレスaと、タグ部に格納されているタグ部
の内容とが一致し、かつ、バリッド部に格納されている
値が「1」であるエントリが存在すれば、このエントリ
のバリッド部の内容を「0」として、ブロックを無効化
する。
ト1がアドレスバス40に出力したアドレスaを入力し
、キャッシュメモリ21のエントリを検索し、リード/
ライトバス42により書き換えが指示されている場合、
ブロックアドレスaと、タグ部に格納されているタグ部
の内容とが一致し、かつ、バリッド部に格納されている
値が「1」であるエントリが存在すれば、このエントリ
のバリッド部の内容を「0」として、ブロックを無効化
する。
そして、メモリユニット5は、応答バス45に、応答を
出力中であることを示す信号を出力し、処理ユニットか
らの書き換え要求を完了する。
出力中であることを示す信号を出力し、処理ユニットか
らの書き換え要求を完了する。
(■)プロセッサからの読みだし、または、書き換えが
ヒットしなかった場合: プロセッサ10からの読みだし、または、書き換えるブ
ロックがヒットしなかった場合には、キャッシュメモリ
11は、信号線101を介して、システムバスの使用要
求を、バスマスタコントローラ6に知らせる。バスマス
タコントローラ6は、予め定められた手続きに従い、一
つのキャッシュメモリにのみ、システムバス24の使用
許可を与える。
ヒットしなかった場合: プロセッサ10からの読みだし、または、書き換えるブ
ロックがヒットしなかった場合には、キャッシュメモリ
11は、信号線101を介して、システムバスの使用要
求を、バスマスタコントローラ6に知らせる。バスマス
タコントローラ6は、予め定められた手続きに従い、一
つのキャッシュメモリにのみ、システムバス24の使用
許可を与える。
信号線102を介して、システムバス24の使用許可が
キャッシュメモリ11に与えられたとき、キャッシュメ
モリ11は、リトライタイマ111の値を「0」とし、
読みだすブロックのアドレスaをアドレスバス40に出
力し、メモリユニット5に対する読みだし指示をリード
/ライトバス42に出力する。プロセッサ10からの要
求が書き換え要求であれば、書き換え予約指示バスに書
き換えの予約を指示する信号を出力し、読みだすブロッ
クのアドレスaをアドレスバス40に出力し、アクセス
スタート指示バス43にアクセスの開始を指示する。
キャッシュメモリ11に与えられたとき、キャッシュメ
モリ11は、リトライタイマ111の値を「0」とし、
読みだすブロックのアドレスaをアドレスバス40に出
力し、メモリユニット5に対する読みだし指示をリード
/ライトバス42に出力する。プロセッサ10からの要
求が書き換え要求であれば、書き換え予約指示バスに書
き換えの予約を指示する信号を出力し、読みだすブロッ
クのアドレスaをアドレスバス40に出力し、アクセス
スタート指示バス43にアクセスの開始を指示する。
処理ユニット2、3、およびメモリユニット5は、アク
セススタート指示バス43から与えられた指示により、
処理ユニット1が出力したシステムバス24上の値を受
信する。
セススタート指示バス43から与えられた指示により、
処理ユニット1が出力したシステムバス24上の値を受
信する。
そして、メモリユニット5は、リード/ライトバス42
から読みだし指示を受け取り、アドレスバス40からブ
ロックアドレスaを入力し、ブロックaの読みだしを行
なう。
から読みだし指示を受け取り、アドレスバス40からブ
ロックアドレスaを入力し、ブロックaの読みだしを行
なう。
一方、処理ユニット2、3は、以下の処理を行なう。尚
、ここで、処理ユニット2、3は、同一の動作を行なう
ので、処理ユニット2の動作のみを説明する。
、ここで、処理ユニット2、3は、同一の動作を行なう
ので、処理ユニット2の動作のみを説明する。
処理ユニット2のキャッシュメモリ21は、処理ユニッ
ト1がアドレスバス40に出力したアドレスaを入力し
、キャッシュメモリ21のエントリの検索を行なう。
ト1がアドレスバス40に出力したアドレスaを入力し
、キャッシュメモリ21のエントリの検索を行なう。
ブロックアドレスaと、タグ部に格納している内容とが
一致し、かつ、モディファイ部に格納している値が「1
」であるエントリが存在したとき、中断指示バス47に
、中断を指示する信号を出力し、メモリユニット5に中
断を指示する。
一致し、かつ、モディファイ部に格納している値が「1
」であるエントリが存在したとき、中断指示バス47に
、中断を指示する信号を出力し、メモリユニット5に中
断を指示する。
また、ブロックアドレスaと、タグ部に格納している内
容とが一致し、かつ、バリッド部に格納している値が「
1」であるエントリが存在すれば、共有バス48に、ブ
ロックaを共有している旨を出力する。
容とが一致し、かつ、バリッド部に格納している値が「
1」であるエントリが存在すれば、共有バス48に、ブ
ロックaを共有している旨を出力する。
メモリユニット5は、処理ユニット2、3から中断指示
バス47を介して中断が指示されなければ、ブロックa
の最新の内容は、メモリ上に存在するので、ブロックa
を読みだす。そして、メモリユニット5は、読みだした
ブロックをデータバス41に出力し、また、メモリユニ
ット5が応答バス45に応答を出力中であることを示す
信号を出力し、処理ユニット1からの読みだし要求を完
了する。
バス47を介して中断が指示されなければ、ブロックa
の最新の内容は、メモリ上に存在するので、ブロックa
を読みだす。そして、メモリユニット5は、読みだした
ブロックをデータバス41に出力し、また、メモリユニ
ット5が応答バス45に応答を出力中であることを示す
信号を出力し、処理ユニット1からの読みだし要求を完
了する。
また、メモリユニット5は、処理ユニット2、3(ここ
では、処理ユニット2)から中断指示バス47を介して
中断が指示されると、ブロックの最新情報は処理ユニッ
ト2、3(ここでは、処理ユニット2)のキャッシュメ
モリ内に存在するので、ブロックaの読みだしを中断し
、リトライバス46に、リトライを指示する信号を出力
する。それと共に、応答バス45に、応答を出力中であ
ることを示す信号を出力する。
では、処理ユニット2)から中断指示バス47を介して
中断が指示されると、ブロックの最新情報は処理ユニッ
ト2、3(ここでは、処理ユニット2)のキャッシュメ
モリ内に存在するので、ブロックaの読みだしを中断し
、リトライバス46に、リトライを指示する信号を出力
する。それと共に、応答バス45に、応答を出力中であ
ることを示す信号を出力する。
そして、処理ユニット1からのブロックaの読みだしに
対して中断指示を出力した処理ユニット2のキャッシュ
メモリ21は、信号線201を介して、システムバス2
4の使用要求をバスマスタコントローラ6に知らせる。
対して中断指示を出力した処理ユニット2のキャッシュ
メモリ21は、信号線201を介して、システムバス2
4の使用要求をバスマスタコントローラ6に知らせる。
バスマスタコントローラ6から、信号線202を介して
、システムバス24の使用許可がキャッシュメモリ21
に与えられたとき、キャッシュメモリ21は、メモリユ
ニット5に対する書き換え指示をリード/ライトバス4
2に、書き換えるブロックaのアドレスをアドレスバス
40に、ブロックaをデータバス41に出力し、アクセ
ススタート指示バス43に、アクセスの開始を指示する
信号を出力する。
、システムバス24の使用許可がキャッシュメモリ21
に与えられたとき、キャッシュメモリ21は、メモリユ
ニット5に対する書き換え指示をリード/ライトバス4
2に、書き換えるブロックaのアドレスをアドレスバス
40に、ブロックaをデータバス41に出力し、アクセ
ススタート指示バス43に、アクセスの開始を指示する
信号を出力する。
そして、メモリユニット5は、リード/ライトバス42
から書き換え指示を受け取り、アドレスバス40からブ
ロックアドレスaで指定されるメモリユニット上の内容
を、データバス41から入力した内容に書き換える。こ
の書き換えが正常に終了すれば、応答バス45に、応答
を出力中であることを示す信号を出力する。
から書き換え指示を受け取り、アドレスバス40からブ
ロックアドレスaで指定されるメモリユニット上の内容
を、データバス41から入力した内容に書き換える。こ
の書き換えが正常に終了すれば、応答バス45に、応答
を出力中であることを示す信号を出力する。
また、処理ユニット2のキャッシュメモリ21は、応答
バス45を介して、上述の書き換えが正常に完了したこ
とを知ると、ブロックaを格納していたエントリのモデ
ィファイ部の値を「1」から「0」に書き換えて処理を
終了する。
バス45を介して、上述の書き換えが正常に完了したこ
とを知ると、ブロックaを格納していたエントリのモデ
ィファイ部の値を「1」から「0」に書き換えて処理を
終了する。
このように、処理ユニット2が行なう書き換え処理を、
特に、書き戻しと呼び、処理ユニット1が行なうリトラ
イ処理は、処理ユニット2からの書き戻しが完了した後
に行なわれる読みだしまでの間、繰り返される。
特に、書き戻しと呼び、処理ユニット1が行なうリトラ
イ処理は、処理ユニット2からの書き戻しが完了した後
に行なわれる読みだしまでの間、繰り返される。
ここで、処理ユニット1は、共有バス48に、ブロック
aを共有していることを示す信号が出力されていれば、
ブロックを格納するエントリの共有部に値「1」を格納
する。
aを共有していることを示す信号が出力されていれば、
ブロックを格納するエントリの共有部に値「1」を格納
する。
また、処理ユニット1は、リトライバス46を介してリ
トライ指示を受け取ると、リトライタイマ値が、予め定
められた値(オーバーフロー値)となるのを契機として
、上述と同様に、システムバスの使用権を獲得して、メ
モリユニット5からブロックaを読みだす処理を繰り返
す。
トライ指示を受け取ると、リトライタイマ値が、予め定
められた値(オーバーフロー値)となるのを契機として
、上述と同様に、システムバスの使用権を獲得して、メ
モリユニット5からブロックaを読みだす処理を繰り返
す。
このように、処理ユニット1が行なうリトライ処理は、
処理ユニット2からの書き戻しが完了した後に行なわれ
る読みだしまでの間、何回も繰り返される。
処理ユニット2からの書き戻しが完了した後に行なわれ
る読みだしまでの間、何回も繰り返される。
尚、このようなマルチプロセッサシステムのバス制御に
関しては、例えば、ヴィエムイー メンバ(VME M
EMBER)「ヴィ・エム・イーバス(VMEbus)
アーキテクチヤ・マニュアルリビジヨン C.1」(C
Q出版)に記載されている。
関しては、例えば、ヴィエムイー メンバ(VME M
EMBER)「ヴィ・エム・イーバス(VMEbus)
アーキテクチヤ・マニュアルリビジヨン C.1」(C
Q出版)に記載されている。
[発明が解決しようとする課題]
第2図に示した従来のマルチプロセッサシステムにおい
て、システムバスの信頼性という点から、上述のシステ
ムバス24の信号は、二つの種類に分類される。
て、システムバスの信頼性という点から、上述のシステ
ムバス24の信号は、二つの種類に分類される。
まず、アドレスバス40、データバス41(メモリユニ
ットの書き換え時)、リード/ライトバス42、アクセ
ススタート指示バス43、および、書き換え予約バス4
4に出力される信号は、バスの使用権を有する処理ユニ
ットが出力する信号であり、データバス41(メモリユ
ニットからの読みだし時)、応答バス45、および、リ
トライバス46は、メモリユニット5が出力する信号で
ある。
ットの書き換え時)、リード/ライトバス42、アクセ
ススタート指示バス43、および、書き換え予約バス4
4に出力される信号は、バスの使用権を有する処理ユニ
ットが出力する信号であり、データバス41(メモリユ
ニットからの読みだし時)、応答バス45、および、リ
トライバス46は、メモリユニット5が出力する信号で
ある。
このように、ある時間において、一つの処理ユニットや
メモリから出力される信号の信頼性を高めるために、従
来技術では、転送する信号にパリティなどの冗長な信号
を付加して信号を転送する。
メモリから出力される信号の信頼性を高めるために、従
来技術では、転送する信号にパリティなどの冗長な信号
を付加して信号を転送する。
このことにより、受信側で、誤りを検出した場合は、送
信元である処理ユニットまたはメモリユニットヘリトラ
イなどを指示することにより、矛盾なく処理を実行する
ことが可能である。
信元である処理ユニットまたはメモリユニットヘリトラ
イなどを指示することにより、矛盾なく処理を実行する
ことが可能である。
次に、中断指示バス47や、共有バス48に出力される
信号は、システムバス使用権を獲得した処理ユニットか
らのアクセスに対応して、不特定の任意の数の処理ユニ
ットが出力する信号(応答信号)である。
信号は、システムバス使用権を獲得した処理ユニットか
らのアクセスに対応して、不特定の任意の数の処理ユニ
ットが出力する信号(応答信号)である。
これらの信号に関しては、障害を検出しても、障害が発
生したことを送信側へ通知する手段がない。そのために
、従来、パリティなどの冗長な信号を付加して信号の信
頼性を高めることは行なわれていなかった。
生したことを送信側へ通知する手段がない。そのために
、従来、パリティなどの冗長な信号を付加して信号の信
頼性を高めることは行なわれていなかった。
しかし、これらの信号の障害が発生した場合に処理を続
行すると、第2図のシステムバス24を有するマルチプ
ロセッサシステムにおいては、以下のような処理の矛盾
が発生する。
行すると、第2図のシステムバス24を有するマルチプ
ロセッサシステムにおいては、以下のような処理の矛盾
が発生する。
まず、共有バス48に出力される信号に関しては、例え
ば、処理ユニット1がキャッシュメモリ11のブロック
aを読みだす場合、ブロックaが処理ユニット2のキャ
ッシュメモリ21内にも存在(キャッシュメモリ21の
モディファイ部が「0」)すれば、処理ユニット2は、
共有バス48に、ブロックaを共有していることを示す
信号を出力する。
ば、処理ユニット1がキャッシュメモリ11のブロック
aを読みだす場合、ブロックaが処理ユニット2のキャ
ッシュメモリ21内にも存在(キャッシュメモリ21の
モディファイ部が「0」)すれば、処理ユニット2は、
共有バス48に、ブロックaを共有していることを示す
信号を出力する。
ここで、もし、処理ユニット2が共有バス48に出力し
た信号を、処理ユニット1が、正常に受信できなかった
場合には、ブロックaは、処理ユニット1のキャッシュ
メモリ11のエントリに登録され、そのエントリの共有
部には、値「0」が格納され、他の処理ユニット2、3
のキャッシュメモリ21、31には、ブロックaは登録
されていないものとなる。
た信号を、処理ユニット1が、正常に受信できなかった
場合には、ブロックaは、処理ユニット1のキャッシュ
メモリ11のエントリに登録され、そのエントリの共有
部には、値「0」が格納され、他の処理ユニット2、3
のキャッシュメモリ21、31には、ブロックaは登録
されていないものとなる。
そして、この状態で、処理ユニット1内のプロセッサ1
0からブロックaに対して書き換え要求が発生すると、
キャッシュメモリ11上のブロックのみが書き換えられ
が、処理ユニット2内のキャッシュメモリ21のブロッ
クaを無効化する処理は行なわれない。これは、上述の
(■)におけるプロセッサからの書き換えがヒットした
場合に該当する。
0からブロックaに対して書き換え要求が発生すると、
キャッシュメモリ11上のブロックのみが書き換えられ
が、処理ユニット2内のキャッシュメモリ21のブロッ
クaを無効化する処理は行なわれない。これは、上述の
(■)におけるプロセッサからの書き換えがヒットした
場合に該当する。
そのために、以降、処理ユニット1のプロセッサ10か
ら、キャッシュメモリ11のブロックaを読みだした場
合と、処理ユニット2のプロセッサ20からキャッシュ
メモリ21のブロックaを読みだした場合とでは、異な
る値を読みだすことになり、処理の矛盾が発生する。
ら、キャッシュメモリ11のブロックaを読みだした場
合と、処理ユニット2のプロセッサ20からキャッシュ
メモリ21のブロックaを読みだした場合とでは、異な
る値を読みだすことになり、処理の矛盾が発生する。
次に、中断指示信号に関しても、中断指示信号がメモリ
ユニット5で正常に受信されなかった場合には、他の処
理ユニットで更新される前のブロックが処理ユニットに
転送されることになるため、処理の矛盾が発生する。
ユニット5で正常に受信されなかった場合には、他の処
理ユニットで更新される前のブロックが処理ユニットに
転送されることになるため、処理の矛盾が発生する。
さらに、マルチプロセッサシステムにおいては、各処理
ユニットから発生するシステムバス24での競合が全体
の性能を決定するので、システムの性能を向上させるた
めに、各処理ユニットから発生するシステムバス24へ
のアクセス回数を削減する必要がある。
ユニットから発生するシステムバス24での競合が全体
の性能を決定するので、システムの性能を向上させるた
めに、各処理ユニットから発生するシステムバス24へ
のアクセス回数を削減する必要がある。
そこで、例えば、処理ユニット1が要求したブロックが
、処理ユニット2のキャッシュメモリ21に格納されて
おり、かつ、モディファイ部に「1」が格納されている
場合には、リトライ応答を受信した処理ユニット1は、
自処理ユニットから要求したブロックが、システムバス
24を介して、他の処理ユニット(ここでは、処理ユニ
ット2)から書き戻されるのを監視する。ここで、処理
ユニット1は、処理ユニット2からメモリユニット5へ
書き戻されるブロックを自キャッシュメモリ11に格納
する(以下、この処理をスチールと呼ぶ)。このことに
より、処理ユニット1のリトライアクセスが不要となる
ので、システムバスに発生するアクセスを削減すること
ができる。
、処理ユニット2のキャッシュメモリ21に格納されて
おり、かつ、モディファイ部に「1」が格納されている
場合には、リトライ応答を受信した処理ユニット1は、
自処理ユニットから要求したブロックが、システムバス
24を介して、他の処理ユニット(ここでは、処理ユニ
ット2)から書き戻されるのを監視する。ここで、処理
ユニット1は、処理ユニット2からメモリユニット5へ
書き戻されるブロックを自キャッシュメモリ11に格納
する(以下、この処理をスチールと呼ぶ)。このことに
より、処理ユニット1のリトライアクセスが不要となる
ので、システムバスに発生するアクセスを削減すること
ができる。
しかし、単純にスチールを行なうと、以下に述べるよう
に、各処理ユニットに格納されるブロックの内容に矛盾
が発生してしまう。
に、各処理ユニットに格納されるブロックの内容に矛盾
が発生してしまう。
例えば、処理ユニット1において、プロセッサ10から
の読みだしを要求されたブロックaがミスヒットして、
メモリユニット5からブロックaを読みだす場合に、処
理ユニット2のキャッシュメモリ21にブロックaがモ
ディファイブロックとして登録されていれば、処理ユニ
ット2は、中断指示を行ない、処理ユニット1は、処理
ユニット2からのブロックaの書き戻しを待つ。
の読みだしを要求されたブロックaがミスヒットして、
メモリユニット5からブロックaを読みだす場合に、処
理ユニット2のキャッシュメモリ21にブロックaがモ
ディファイブロックとして登録されていれば、処理ユニ
ット2は、中断指示を行ない、処理ユニット1は、処理
ユニット2からのブロックaの書き戻しを待つ。
この時、処理ユニット2からのブロックaの書き戻しが
行なわれる前に、処理ユニット3において、プロセッサ
30からの書き換えを要求されたブロックがミスヒット
し、メモリユニット5からのブロックaの読みだし(書
き換え予約指示を伴った読みだし)を行なうと、処理ユ
ニット2は中断指示を行ない、処理ユニット3は、処理
ユニット2からのブロックaの書き戻しを待つ。
行なわれる前に、処理ユニット3において、プロセッサ
30からの書き換えを要求されたブロックがミスヒット
し、メモリユニット5からのブロックaの読みだし(書
き換え予約指示を伴った読みだし)を行なうと、処理ユ
ニット2は中断指示を行ない、処理ユニット3は、処理
ユニット2からのブロックaの書き戻しを待つ。
このように、処理ユニット1と処理ユニット3とがブロ
ックaの書き戻し持ちの状態において、処理ユニット2
がブロックaの書き戻しを行なうと、処理ユニット1と
処理ユニット3の両方がスチールを行ない、二つの処理
ユニット1、3のキャッシュメモリ11、31にブロッ
クaが格納されることになる。
ックaの書き戻し持ちの状態において、処理ユニット2
がブロックaの書き戻しを行なうと、処理ユニット1と
処理ユニット3の両方がスチールを行ない、二つの処理
ユニット1、3のキャッシュメモリ11、31にブロッ
クaが格納されることになる。
しかし、処理ユニット3では、プロセッサからの書き換
え要求に対してミスヒットが発生したため、ブロックa
の書き換えが行なわれる。このために、処理ユニット1
および処理ユニット3に格納されているブロックaの内
容に不一致が生じることになる。
え要求に対してミスヒットが発生したため、ブロックa
の書き換えが行なわれる。このために、処理ユニット1
および処理ユニット3に格納されているブロックaの内
容に不一致が生じることになる。
このような矛盾は、一般に、二つ以上の処理ユニットに
より、同一のブロックのスチールを行ない、一つの処理
ユニットが書き換え予約付きのブロックアクセスである
ときに生じる。
より、同一のブロックのスチールを行ない、一つの処理
ユニットが書き換え予約付きのブロックアクセスである
ときに生じる。
このような問題に対応するために、ミスヒットしたブロ
ックの転送を待っている処理ユニットは、転送を待って
いる同一のブロックへ他の処理ユニットがブロック要求
を行なった場合には、後からブロックを要求した処理ユ
ニットに対して、スチールを禁止することを通知するス
チール禁止バス49を用いることにより、上述の矛盾を
回避することができる。尚、このようなスチール禁止バ
スに関する従来技術は、平成2年10月29日付出願の
明細書「システムバス制御方法」および図面に記載され
ている。
ックの転送を待っている処理ユニットは、転送を待って
いる同一のブロックへ他の処理ユニットがブロック要求
を行なった場合には、後からブロックを要求した処理ユ
ニットに対して、スチールを禁止することを通知するス
チール禁止バス49を用いることにより、上述の矛盾を
回避することができる。尚、このようなスチール禁止バ
スに関する従来技術は、平成2年10月29日付出願の
明細書「システムバス制御方法」および図面に記載され
ている。
しかし、システムバス24に障害が発生して、他の処理
ユニットがスチール禁止バス49に出力した内容を正常
に受信できなかった場合、共有バス48および中断指示
バス47と同様に、処理の矛盾が発生する。
ユニットがスチール禁止バス49に出力した内容を正常
に受信できなかった場合、共有バス48および中断指示
バス47と同様に、処理の矛盾が発生する。
以上のように、従来の技術では、不特定の処理ユニット
から出力される共有バス、中断指示バス、および、スチ
ール禁止バスなど、アクセス要求元の処理ユニットに対
応する応答信号を伝送する応答バスの高信頼化が図られ
ておらず、応答バス上でこれらの信号に障害が発生した
場合、各キャッシュメモリに格納されるブロックに不一
致が生じ、プロセッサで実行される処理に矛盾が発生す
るなどの問題があった。
から出力される共有バス、中断指示バス、および、スチ
ール禁止バスなど、アクセス要求元の処理ユニットに対
応する応答信号を伝送する応答バスの高信頼化が図られ
ておらず、応答バス上でこれらの信号に障害が発生した
場合、各キャッシュメモリに格納されるブロックに不一
致が生じ、プロセッサで実行される処理に矛盾が発生す
るなどの問題があった。
本発明の目的は、これら従来技術の課題を解決し、共有
バス、中断指示バス、および、スチール禁止バスなどの
応答バスを二重化することにより、システムバスの信頼
性を高め、マルチプロセッサシステムの性能を向上する
ことを可能とする多重バスマルチプロセッサシステムを
提供するものである。
バス、中断指示バス、および、スチール禁止バスなどの
応答バスを二重化することにより、システムバスの信頼
性を高め、マルチプロセッサシステムの性能を向上する
ことを可能とする多重バスマルチプロセッサシステムを
提供するものである。
[課題を解決するための手段]
上記目的を達成するため、本発明の多重バスマルチプロ
セッサシステムは、メモリユニットを共有する複数の処
理ユニットが共通のシステムバスで接続されるマルチプ
ロセッサシステムであり、かつ、処理ユニットの任意の
一つから出力された他の処理ユニットもしくはメモリユ
ニットへのアクセス信号に対応して、他の処理ユニット
から出力される第1の応答信号を伝送する第1の応答バ
スを有するマルチプロセッサシステムにおいて、他の処
理ユニットから出力される第1の応答信号を、第1の応
答信号およびこの第1の応答信号と同じ意味をなす第2
の応答信号に分けてシステムバスに送出する出力信号分
岐部と、第2の応答信号を第1の応答バスと並行して伝
送する第2の応答バスと、第2の応答バスと第1の応答
バスからの信号の両方もしくはいずれかの一方が、第1
の応答信号を意味する信号であれば、第1の応答信号を
意味する信号を、アクセス信号を出力した処理ユニット
もしくはメモリユニットに入力する応答信号検出部とを
設けたことを特徴とする。
セッサシステムは、メモリユニットを共有する複数の処
理ユニットが共通のシステムバスで接続されるマルチプ
ロセッサシステムであり、かつ、処理ユニットの任意の
一つから出力された他の処理ユニットもしくはメモリユ
ニットへのアクセス信号に対応して、他の処理ユニット
から出力される第1の応答信号を伝送する第1の応答バ
スを有するマルチプロセッサシステムにおいて、他の処
理ユニットから出力される第1の応答信号を、第1の応
答信号およびこの第1の応答信号と同じ意味をなす第2
の応答信号に分けてシステムバスに送出する出力信号分
岐部と、第2の応答信号を第1の応答バスと並行して伝
送する第2の応答バスと、第2の応答バスと第1の応答
バスからの信号の両方もしくはいずれかの一方が、第1
の応答信号を意味する信号であれば、第1の応答信号を
意味する信号を、アクセス信号を出力した処理ユニット
もしくはメモリユニットに入力する応答信号検出部とを
設けたことを特徴とする。
[作用]
本発明においては、共有バス、中断指示バス、および、
スチール禁止バスなどの応答バスを、第1の応答バスと
第2の応答バスの二つに二重化する。
スチール禁止バスなどの応答バスを、第1の応答バスと
第2の応答バスの二つに二重化する。
また、処理ユニットの任意の一つから出力されたアクセ
ス信号に対応する他の処理ユニットからの応答信号を、
出力信号分岐部で、第1の応答信号と第2の応答信号に
分ける。第2の応答信号は、第1の応答信号とまったく
同じものでも良いし、反転させたものでも良く、第1の
応答信号と相関があり、結果として、第1の応答信号と
同じ意味を示すものであれば良い。
ス信号に対応する他の処理ユニットからの応答信号を、
出力信号分岐部で、第1の応答信号と第2の応答信号に
分ける。第2の応答信号は、第1の応答信号とまったく
同じものでも良いし、反転させたものでも良く、第1の
応答信号と相関があり、結果として、第1の応答信号と
同じ意味を示すものであれば良い。
そして、第1の応答信号と第2の応答信号を、それぞれ
、第1の応答バスと第2の応答バスを介して並行して伝
送する。
、第1の応答バスと第2の応答バスを介して並行して伝
送する。
第1の応答バスと第2の応答バスの少なくとも一方から
応答信号が伝送されてくれば、各処理ユニットおよびメ
モリユニットは、応答信号検出部を介して応答信号を受
け取り、この応答信号に基づき、処理を継続する。
応答信号が伝送されてくれば、各処理ユニットおよびメ
モリユニットは、応答信号検出部を介して応答信号を受
け取り、この応答信号に基づき、処理を継続する。
このように、応答信号の伝送用のバスを二重化すること
により、一方のバスに障害が発生した場合にも、応答信
号の授受を確実に行なうことができ、各処理ユニットは
矛盾なく処理を継続することができる。
により、一方のバスに障害が発生した場合にも、応答信
号の授受を確実に行なうことができ、各処理ユニットは
矛盾なく処理を継続することができる。
[実施例]
以下、本発明の実施例を、図面により詳細に説明する。
第1図は本発明を施したマルチプロセッサシステムの本
発明に係るシステムバスの構成の一実施例を示すブロッ
ク図である。
発明に係るシステムバスの構成の一実施例を示すブロッ
ク図である。
第2図で示した従来のマルチプロセッサシステムの構成
において、キャッシュメモリ11、21、31、および
、メモリユニット5に接続されたシステムバス24に、
信号線を追加したものであり、特に、第2図における処
理ユニット1のキャッシュメモリ11の接続構成を代表
として示し、他の処理ユニット2、3のキャッシュメモ
リ21、31も同一の接続構成となる。
において、キャッシュメモリ11、21、31、および
、メモリユニット5に接続されたシステムバス24に、
信号線を追加したものであり、特に、第2図における処
理ユニット1のキャッシュメモリ11の接続構成を代表
として示し、他の処理ユニット2、3のキャッシュメモ
リ21、31も同一の接続構成となる。
本実施例のシステムバス4は、第2図におけるシステム
バス24と同様に、アドレスバス40、データバス41
、リード/ライトバス42、アクセススタートバス指示
バス43、書き換え予約バス44、応答バス45、リト
ライバス46、中断指示バス47、共有バス48、スチ
ール禁止バス49からなり、そして、特に、応答バスで
ある中断指示バス47、共有バス48、および、スチー
ル禁止バス49の三つを二重化して(第1の応答バスと
第2の応答バス)、中断指示バス470、471、共有
バス480、481、および、スチール禁止バス490
、491として構成したものである。
バス24と同様に、アドレスバス40、データバス41
、リード/ライトバス42、アクセススタートバス指示
バス43、書き換え予約バス44、応答バス45、リト
ライバス46、中断指示バス47、共有バス48、スチ
ール禁止バス49からなり、そして、特に、応答バスで
ある中断指示バス47、共有バス48、および、スチー
ル禁止バス49の三つを二重化して(第1の応答バスと
第2の応答バス)、中断指示バス470、471、共有
バス480、481、および、スチール禁止バス490
、491として構成したものである。
また、この第1図において、121はキャッシュメモリ
11からスチール禁止信号が出力される信号線、122
は他の処理ユニットが出力したスチール禁止信号がキャ
ッシュメモリ11に入力される信号線、123はキャッ
シュメモリ11からの共有信号が出力される信号線、1
24は他の処理ユニットが出力した共有信号がキャッシ
ュメモリ11に入力される信号線、125はキャッシュ
メモリ11からの中断指示信号が出力される信号線であ
る。
11からスチール禁止信号が出力される信号線、122
は他の処理ユニットが出力したスチール禁止信号がキャ
ッシュメモリ11に入力される信号線、123はキャッ
シュメモリ11からの共有信号が出力される信号線、1
24は他の処理ユニットが出力した共有信号がキャッシ
ュメモリ11に入力される信号線、125はキャッシュ
メモリ11からの中断指示信号が出力される信号線であ
る。
また、131〜136は本発明の出力信号分岐部を構成
する出力バッファ(図中、Bと記載)であり、141〜
142、531は本発明の応答信号検出部を構成する論
理和ゲート(図中、ORと記載)である。
する出力バッファ(図中、Bと記載)であり、141〜
142、531は本発明の応答信号検出部を構成する論
理和ゲート(図中、ORと記載)である。
出力バッファ131〜136は、システムバス4の二重
化された中断指示バス470、471、共有バス480
、481、スチール禁止バス490、491のそれぞれ
に接続され、また、論理和ゲート531は中断指示バス
470、471に、論理和ゲート141〜142は共有
バス480、481、スチール禁止バス490、491
のそれぞれに接続されている。
化された中断指示バス470、471、共有バス480
、481、スチール禁止バス490、491のそれぞれ
に接続され、また、論理和ゲート531は中断指示バス
470、471に、論理和ゲート141〜142は共有
バス480、481、スチール禁止バス490、491
のそれぞれに接続されている。
また、5はメモリユニットであり、特に、各処理ユニッ
トが出力した中断指示を入力するための信号線521は
、論理和ゲート531を介して中断指示バス470、4
71に接続されている。
トが出力した中断指示を入力するための信号線521は
、論理和ゲート531を介して中断指示バス470、4
71に接続されている。
このような構成により、本実施例のマルチプロセッサシ
ステムにおいては、システムバス4を介して次のような
信号のやり取りが行なわれる。
ステムにおいては、システムバス4を介して次のような
信号のやり取りが行なわれる。
まず、キャッシュメモリ11が、信号線125に、中断
指示(例えば、値「1」)を出力した場合、中断指示バ
ス470、471のそれぞれには、出力バッファ135
、136を介して同一の信号(「1」)が出力される。
指示(例えば、値「1」)を出力した場合、中断指示バ
ス470、471のそれぞれには、出力バッファ135
、136を介して同一の信号(「1」)が出力される。
また、キャッシュメモリ11が、信号線123に、ブロ
ックを共有していること(例えば、値「1」)を出力し
た場合、共有バス480、481のそれぞれには、出力
バッファ133、134を介して同一の信号(「1」)
が出力される。
ックを共有していること(例えば、値「1」)を出力し
た場合、共有バス480、481のそれぞれには、出力
バッファ133、134を介して同一の信号(「1」)
が出力される。
また、キャッシュメモリ11が、信号線121に、スチ
ール禁止を指示すること(例えば、値「1」)を出力し
た場合、スチール禁止バス490、491のそれぞれに
は、出力バッファ131、132を介して同一の信号(
「1」)が出力される。
ール禁止を指示すること(例えば、値「1」)を出力し
た場合、スチール禁止バス490、491のそれぞれに
は、出力バッファ131、132を介して同一の信号(
「1」)が出力される。
このように同一の信号が多重に出力されることにより、
以下のようにして、矛盾の発生が回避される。
以下のようにして、矛盾の発生が回避される。
まず、例えば、キャッシュメモリ11から、信号線12
5と出力バッファ135、136を介して、中断指示バ
ス470、471上に中断指示が出力されているときに
、出力されている値の一方が、システムバス4の障害に
より、値「1」から値「0」になった場合、障害が発生
しなかったバスの信号の値は「1」であり、論理和ゲー
ト531から信号線521を介して、メモリユニット5
に、中断を指示する値「1」が正常に入力される。
5と出力バッファ135、136を介して、中断指示バ
ス470、471上に中断指示が出力されているときに
、出力されている値の一方が、システムバス4の障害に
より、値「1」から値「0」になった場合、障害が発生
しなかったバスの信号の値は「1」であり、論理和ゲー
ト531から信号線521を介して、メモリユニット5
に、中断を指示する値「1」が正常に入力される。
このことにより、矛盾が発生しない。
また、中断指示バス470、471上に中断指示が出力
されていないときに、中断指示バス470、471の一
方が、システムバス4の障害により、値「0」から値「
1」になった場合は、障害が発生したバスの信号の値は
「1」であり、論理和ゲート531から信号線521を
介して、メモリユニット5に、中断を指示する値「1」
が入力される。しかし、この場合、実際には、いずれの
処理ユニットからも、中断指示は出力されていないので
、処理ユニットからは、再度アクセスが実行(リトライ
)される。このことにより、矛盾が発生しない。
されていないときに、中断指示バス470、471の一
方が、システムバス4の障害により、値「0」から値「
1」になった場合は、障害が発生したバスの信号の値は
「1」であり、論理和ゲート531から信号線521を
介して、メモリユニット5に、中断を指示する値「1」
が入力される。しかし、この場合、実際には、いずれの
処理ユニットからも、中断指示は出力されていないので
、処理ユニットからは、再度アクセスが実行(リトライ
)される。このことにより、矛盾が発生しない。
次に、例えば、他の処理ユニットから、共有バス480
、481上に、アクセス中のブロックを共有しているこ
とを示す信号が出力されているときに、出力されている
値の一方が、システムバス4の障害により、値「1」か
ら値「0」になった場合、障害が発生しなかったバスの
信号の値は「1」であり、論理和ゲート142から信号
線124を介して、アクセス中のブロックが共有されて
いることを示す値「1」が、キャッシュメモリ11に入
力される。このことにより、矛盾が発生しない。
、481上に、アクセス中のブロックを共有しているこ
とを示す信号が出力されているときに、出力されている
値の一方が、システムバス4の障害により、値「1」か
ら値「0」になった場合、障害が発生しなかったバスの
信号の値は「1」であり、論理和ゲート142から信号
線124を介して、アクセス中のブロックが共有されて
いることを示す値「1」が、キャッシュメモリ11に入
力される。このことにより、矛盾が発生しない。
また、共有バス480、481上に、アクセス中のブロ
ックを共有していることを示す信号が出力されていない
ときに、共有バス480、481の一方が、システムバ
ス4の障害により、値「0」から値「1」になった場合
は、障害が発生したバスの信号の値は「1」であり、論
理和ゲート142から信号線124を介して、アクセス
中のブロックが共有されていることを示す値「1」が、
キャッシュメモリ11に入力される。この場合、実際に
は、いずれの処理ユニットからも、共有されていること
を示す信号は出力されていないが、共有されていないブ
ロックを共有されているブロックとしてキャッシュメモ
リ11に格納する。このようにしても、当該ブロックを
初めて書き換えるときに余分なバスサイクルを発生する
だけであり、処理の矛盾は発生しない。
ックを共有していることを示す信号が出力されていない
ときに、共有バス480、481の一方が、システムバ
ス4の障害により、値「0」から値「1」になった場合
は、障害が発生したバスの信号の値は「1」であり、論
理和ゲート142から信号線124を介して、アクセス
中のブロックが共有されていることを示す値「1」が、
キャッシュメモリ11に入力される。この場合、実際に
は、いずれの処理ユニットからも、共有されていること
を示す信号は出力されていないが、共有されていないブ
ロックを共有されているブロックとしてキャッシュメモ
リ11に格納する。このようにしても、当該ブロックを
初めて書き換えるときに余分なバスサイクルを発生する
だけであり、処理の矛盾は発生しない。
次に、例えば、他の処理ユニットからスチール禁止バス
490、491上に、スチール禁止を指示する信号が出
力されているときに、出力されている値の一方が、シス
テムバス4の障害により、値「1」から値「0」になっ
た場合、障害が発生しなかったバスの信号の値は「1」
であり、論理和ゲート141から信号線122を介して
、スチールを禁止することを示す値「1」が、キャッシ
ュメモリ11に入力される。このことにより、矛盾が発
生しない。
490、491上に、スチール禁止を指示する信号が出
力されているときに、出力されている値の一方が、シス
テムバス4の障害により、値「1」から値「0」になっ
た場合、障害が発生しなかったバスの信号の値は「1」
であり、論理和ゲート141から信号線122を介して
、スチールを禁止することを示す値「1」が、キャッシ
ュメモリ11に入力される。このことにより、矛盾が発
生しない。
また、スチール禁止バス490、491上に、スチール
禁止を指示する信号が出力されていないときに、スチー
ル禁止バス490、491の値の一方が、システムバス
4の障害により、値「0」から値「1」になった場合は
、障害が発生したバスの信号の値は「1」であり、論理
和ゲート141から信号線122を介して、スチールを
禁止することを示す値「1」が、キャッシュメモリ11
に入力される。この場合、実際には、いずれの処理ユニ
ットからも、スチールを禁止する信号は出力されていな
いが、スチールは、システムバス4に発生するアクセス
回数を削減するために行なわれる処理であるため、スチ
ールが可能なブロックに対してスチールを行なわなくと
も、処理の矛盾は発生しない。
禁止を指示する信号が出力されていないときに、スチー
ル禁止バス490、491の値の一方が、システムバス
4の障害により、値「0」から値「1」になった場合は
、障害が発生したバスの信号の値は「1」であり、論理
和ゲート141から信号線122を介して、スチールを
禁止することを示す値「1」が、キャッシュメモリ11
に入力される。この場合、実際には、いずれの処理ユニ
ットからも、スチールを禁止する信号は出力されていな
いが、スチールは、システムバス4に発生するアクセス
回数を削減するために行なわれる処理であるため、スチ
ールが可能なブロックに対してスチールを行なわなくと
も、処理の矛盾は発生しない。
以上述べたように、本実施例のシステムバスは、不特定
、複数の処理ユニットが出力する中断指示バス、共有バ
ス、および、スチール禁止バスなどの応答バスを二重化
し、かつ、出力信号分岐部としての出力バッファや、応
答信号検出部としての論理和ゲートなど、簡単な回路を
処理ユニットとメモリユニットに付加している。このこ
とにより、これらのバスのいずれか一方の信号線に障害
が発生した場合でも、矛盾なく処理を継続することが可
能となる。
、複数の処理ユニットが出力する中断指示バス、共有バ
ス、および、スチール禁止バスなどの応答バスを二重化
し、かつ、出力信号分岐部としての出力バッファや、応
答信号検出部としての論理和ゲートなど、簡単な回路を
処理ユニットとメモリユニットに付加している。このこ
とにより、これらのバスのいずれか一方の信号線に障害
が発生した場合でも、矛盾なく処理を継続することが可
能となる。
尚、本発明においては、出力信号分岐部(出力バッファ
)および応答信号検出部(論理和ゲート)は、それぞれ
、処理ユニットやメモリユニットと同一基板上に構成し
ても良いし、別の構成としても良い。
)および応答信号検出部(論理和ゲート)は、それぞれ
、処理ユニットやメモリユニットと同一基板上に構成し
ても良いし、別の構成としても良い。
また、本実施例では、二重化した信号線に、同一の値「
1」を出力したが、本発明はこのような信号状態に限る
ものではない。
1」を出力したが、本発明はこのような信号状態に限る
ものではない。
例えば、二重化した応答バスのいずれか一方に接続され
る出力バッファおよび論理和ゲートの入力にインバータ
を設けて構成し、二重化した信号の一方の信号線に値「
1」を、他方の信号線に値「0」を出力し、受信側では
、同一の値が応答信号検出部に入力された(障害が発生
した)場合でも、この信号が有効であるとして処理を継
続するものでも良い。すなわち、バス上の信号は、電磁
波などの外的要因により、「1」から「0」に変化して
しまうことがあるが、このような構成にすることにより
、この異常変化による影響を防止することができる。
る出力バッファおよび論理和ゲートの入力にインバータ
を設けて構成し、二重化した信号の一方の信号線に値「
1」を、他方の信号線に値「0」を出力し、受信側では
、同一の値が応答信号検出部に入力された(障害が発生
した)場合でも、この信号が有効であるとして処理を継
続するものでも良い。すなわち、バス上の信号は、電磁
波などの外的要因により、「1」から「0」に変化して
しまうことがあるが、このような構成にすることにより
、この異常変化による影響を防止することができる。
[発明の効果]
本発明によれば、二重化した信号線の一方に障害が発生
した場合でも、各処理ユニットは矛盾なく処理を継続す
ることができ、システムバスの信頼性が高まり、マルチ
プロセッサシステムの性能を向上することが可能である
。
した場合でも、各処理ユニットは矛盾なく処理を継続す
ることができ、システムバスの信頼性が高まり、マルチ
プロセッサシステムの性能を向上することが可能である
。
第1図は本発明を施したマルチプロセッサシステムの本
発明に係るシステムバスの構成の一実施例を示すブロッ
ク図、第2図は従来のマルチプロセッサシステムの構成
を示すブロック図である。 1〜3:処理ユニット、4:システムバス、5:メモリ
ユニット、6:バスマスタコントローラ、10:プロセ
ッサ、11:キャッシュメモリ、20:プロセッサ、2
1:キャッシュメモリ、24:システムバス、30:プ
ロセッサ、31:キャッシュメモリ、40:アドレスバ
ス、41:データバス、42:リード/ライトバス、4
3:アクセススタートバス指示バス、44:書き換え予
約バス、45:応答バス、46:リトライバス、47:
中断指示バス、48:共有バス、49:スチール禁止バ
ス、100:チップバス、101〜102:信号線、1
11:リトライタイマ、121〜125信号線、131
〜136:出力バッファ、141〜142:論理和ゲー
ト、200:チップバス、201〜202:信号線、2
11:リトライタイマ、300:チップバス、301〜
302:信号線、311:リトライタイマ、470〜4
71:中断指示バス、480〜481:共有バス、49
0〜491:スチール禁止バス、521:信号線、53
1:論理和ゲート。
発明に係るシステムバスの構成の一実施例を示すブロッ
ク図、第2図は従来のマルチプロセッサシステムの構成
を示すブロック図である。 1〜3:処理ユニット、4:システムバス、5:メモリ
ユニット、6:バスマスタコントローラ、10:プロセ
ッサ、11:キャッシュメモリ、20:プロセッサ、2
1:キャッシュメモリ、24:システムバス、30:プ
ロセッサ、31:キャッシュメモリ、40:アドレスバ
ス、41:データバス、42:リード/ライトバス、4
3:アクセススタートバス指示バス、44:書き換え予
約バス、45:応答バス、46:リトライバス、47:
中断指示バス、48:共有バス、49:スチール禁止バ
ス、100:チップバス、101〜102:信号線、1
11:リトライタイマ、121〜125信号線、131
〜136:出力バッファ、141〜142:論理和ゲー
ト、200:チップバス、201〜202:信号線、2
11:リトライタイマ、300:チップバス、301〜
302:信号線、311:リトライタイマ、470〜4
71:中断指示バス、480〜481:共有バス、49
0〜491:スチール禁止バス、521:信号線、53
1:論理和ゲート。
Claims (1)
- 【請求項1】メモリユニットを共有する複数の処理ユニ
ットが共通のシステムバスで接続されるマルチプロセッ
サシステムであり、かつ、上記処理ユニットの任意の一
つから出力された他の処理ユニットもしくは上記メモリ
ユニットへのアクセス信号に対応して、上記他の処理ユ
ニットから出力される第1の応答信号を伝送する第1の
応答バスを有するマルチプロセッサシステムにおいて、
上記他の処理ユニットから出力される第1の応答信号を
、該第1の応答信号、および、該第1の応答信号と同じ
意味をなす第2の応答信号に分けて上記システムバスに
送出する出力信号分岐手段と、該第2の応答信号を上記
第1の応答バスと並行して伝送する第2の応答バスと、
該第2の応答バスと上記第1の応答バスからの信号の両
方もしくはいずれかの一方が、上記第1の応答信号を意
味する信号であれば、該第1の応答信号を意味する信号
を、上記アクセス信号を出力した処理ユニットもしくは
上記メモリユニットに入力する応答信号検出手段とを設
けたことを特徴とするバス多重マルチプロセッサシステ
ム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP33160190A JPH04340154A (ja) | 1990-11-29 | 1990-11-29 | バス多重マルチプロセッサシステム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP33160190A JPH04340154A (ja) | 1990-11-29 | 1990-11-29 | バス多重マルチプロセッサシステム |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH04340154A true JPH04340154A (ja) | 1992-11-26 |
Family
ID=18245480
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP33160190A Pending JPH04340154A (ja) | 1990-11-29 | 1990-11-29 | バス多重マルチプロセッサシステム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH04340154A (ja) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5544684A (en) * | 1978-09-27 | 1980-03-29 | Fujitsu Ltd | Duplicated bus circuit |
-
1990
- 1990-11-29 JP JP33160190A patent/JPH04340154A/ja active Pending
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5544684A (en) * | 1978-09-27 | 1980-03-29 | Fujitsu Ltd | Duplicated bus circuit |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5696937A (en) | Cache controller utilizing a state machine for controlling invalidations in a network with dual system busses | |
US6625698B2 (en) | Method and apparatus for controlling memory storage locks based on cache line ownership | |
US6587931B1 (en) | Directory-based cache coherency system supporting multiple instruction processor and input/output caches | |
JPH0576060B2 (ja) | ||
US4385351A (en) | Multiprocessor system with apparatus for propagating cache buffer invalidation signals around a circular loop | |
EP0303661A1 (en) | CENTRAL UNIT FOR DIGITAL DATA PROCESSING SYSTEM, WITH WRITING BUFFER MANAGEMENT TECHNOLOGY. | |
WO1999035578A1 (en) | Method for increasing efficiency in a multi-processor system and multi-processor system with increased efficiency | |
US5339397A (en) | Hardware primary directory lock | |
US5835714A (en) | Method and apparatus for reservation of data buses between multiple storage control elements | |
US6941308B1 (en) | Methods and apparatus for accessing a doubly linked list in a data storage system | |
JPS6126702B2 (ja) | ||
US5361368A (en) | Cross interrogate synchronization mechanism including logic means and delay register | |
JPH04340154A (ja) | バス多重マルチプロセッサシステム | |
JP2813182B2 (ja) | マルチプロセッサコンピュータ複合装置 | |
US5696938A (en) | Computer system permitting mulitple write buffer read-arounds and method therefor | |
JP3381079B2 (ja) | キャッシュメモリを用いた排他制御システム | |
JPH0290259A (ja) | マルチプロセッサシステム | |
JP2504323B2 (ja) | システムバス制御方法 | |
JPS6113261B2 (ja) | ||
JPS6250863B2 (ja) | ||
JP2656558B2 (ja) | キャッシュメモリ制御回路 | |
JPH05189318A (ja) | 情報処理装置 | |
JP2588547B2 (ja) | マルチcpuシステム | |
JP2690697B2 (ja) | バッファメモリ装置 | |
JPH0784972A (ja) | データ通信方式 |