JPS61101854A - 多重プロセツサシステム - Google Patents
多重プロセツサシステムInfo
- Publication number
- JPS61101854A JPS61101854A JP60139266A JP13926685A JPS61101854A JP S61101854 A JPS61101854 A JP S61101854A JP 60139266 A JP60139266 A JP 60139266A JP 13926685 A JP13926685 A JP 13926685A JP S61101854 A JPS61101854 A JP S61101854A
- Authority
- JP
- Japan
- Prior art keywords
- clock
- processor
- cache
- signal
- circuit
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0804—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with main memory updating
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Memory System (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
以下の順序で本発明を説明する。
A、産業上の利用分野
B、開示の概要
C1従来技術
り9発明が解決しようとする間′照点
E0問題点を解決するための手段
F、実施例
Fl 多重プロセッサシステム(第1図および第2図)
F2 BSM制御部(第3図)
F3 opディスクリミネータ(第4図)F4 代替
キャッシュ探索信号発生回路(第5図および第6図) F5 ブロック回路(第7図) F6 同期回路(第8図) Fl クロック発生器(第10図、第11A図、および
第11B図) F8 多重プロセッサシステムの機能的な動作G1発
明の効果 A、産業上の利用分野 本発明は多重プロセッサシステムに関し、さらニ詳シく
いエバ、フラッシュオペレーションの前に関連するクロ
ックの同期化を遂行する同期手段を具備する多重プロセ
ッサシステムに関するものでちる。
キャッシュ探索信号発生回路(第5図および第6図) F5 ブロック回路(第7図) F6 同期回路(第8図) Fl クロック発生器(第10図、第11A図、および
第11B図) F8 多重プロセッサシステムの機能的な動作G1発
明の効果 A、産業上の利用分野 本発明は多重プロセッサシステムに関し、さらニ詳シく
いエバ、フラッシュオペレーションの前に関連するクロ
ックの同期化を遂行する同期手段を具備する多重プロセ
ッサシステムに関するものでちる。
B、開示の概要
以下に示す多重プロセッサシステムは、第1プロセッサ
、第2プロセッサ、および主メモリを含むシステムにお
いて、フラッシュオペレーション(後述)の必要が生じ
たときにそのオペレーションの前に関連するクロックの
同期化を遂行する同期手段を設けることにより、システ
ムの性能の最適化を図るようにしたものである。
、第2プロセッサ、および主メモリを含むシステムにお
いて、フラッシュオペレーション(後述)の必要が生じ
たときにそのオペレーションの前に関連するクロックの
同期化を遂行する同期手段を設けることにより、システ
ムの性能の最適化を図るようにしたものである。
C6従来技術
たとえば、2つのプロセッサAおよびBを有する多重プ
ロセッサシステムでは、一方のプロセッサA(−または
B)が自分のキャッシュで所望のデータをみつけようと
してそれがみつからないときは、もう一方のプロセッサ
B(tたはA)のキャッシュでそのデータを探す。これ
でもみつからないときは、データは主メモリから検索し
なければならない。データはプロセッサBのキャッシュ
でみつかることもある。所望のデータをみつけたプロセ
ッサAは命令の実行に必ずそのデータを用いる。命令に
よっては、プロセッサAはプロセッサBのキャッシュか
らそのデータを直接検索し自分のキャッシュに記憶して
その命令の実行に使用する場合もある。
ロセッサシステムでは、一方のプロセッサA(−または
B)が自分のキャッシュで所望のデータをみつけようと
してそれがみつからないときは、もう一方のプロセッサ
B(tたはA)のキャッシュでそのデータを探す。これ
でもみつからないときは、データは主メモリから検索し
なければならない。データはプロセッサBのキャッシュ
でみつかることもある。所望のデータをみつけたプロセ
ッサAは命令の実行に必ずそのデータを用いる。命令に
よっては、プロセッサAはプロセッサBのキャッシュか
らそのデータを直接検索し自分のキャッシュに記憶して
その命令の実行に使用する場合もある。
しかしながら、その他の命令では、プロセッサAはプロ
セッサBのキャッシュからデータを直接検索することは
できず、そのデータをプロセッサBのキャッシュから主
メモリへ転送しなければならない。このようなキャッシ
ュから主メモリへの転送のことを、ここでは特に°フラ
ッシュ(flush)’という。すなわち、上記その他
の命令はフラッシュオペレーションをiする。フラッシ
ュオペレーションの間、所望のデータはプロセッサBの
キャツツシュから主メモリへフラッシュサレル。プロセ
ッサAはそのデータを用いて命令を実行する。
セッサBのキャッシュからデータを直接検索することは
できず、そのデータをプロセッサBのキャッシュから主
メモリへ転送しなければならない。このようなキャッシ
ュから主メモリへの転送のことを、ここでは特に°フラ
ッシュ(flush)’という。すなわち、上記その他
の命令はフラッシュオペレーションをiする。フラッシ
ュオペレーションの間、所望のデータはプロセッサBの
キャツツシュから主メモリへフラッシュサレル。プロセ
ッサAはそのデータを用いて命令を実行する。
D3発明が解決しようとする問題点
以上のように2つのプロセッサが1つの主メモリを共有
するような多重プロセッサシステムには多くの問題があ
る。これらの問題は多重プロセッサシステムの性能を最
適化するために解決すべきものである。解決すべき多く
の問題のうち、本発明で取シ上げる技術的課題は以下に
示すような、フラッシュオペレーションに関する同期で
ある。
するような多重プロセッサシステムには多くの問題があ
る。これらの問題は多重プロセッサシステムの性能を最
適化するために解決すべきものである。解決すべき多く
の問題のうち、本発明で取シ上げる技術的課題は以下に
示すような、フラッシュオペレーションに関する同期で
ある。
プロセッサAのクロックはプロセッサBのクロックと独
立的に走行するので、プロセッサAのクロックは、プロ
セッサBのクロックおよび主メモリ制御部のクロックに
対して同期が外れる場合がある。
立的に走行するので、プロセッサAのクロックは、プロ
セッサBのクロックおよび主メモリ制御部のクロックに
対して同期が外れる場合がある。
したがって本発明の目的はフラッシュオペレーションに
先立って関連するクロックを同期させるだめの手段を具
備した多重プロセッサシステムを提供することである。
先立って関連するクロックを同期させるだめの手段を具
備した多重プロセッサシステムを提供することである。
E1問題点を解決するための手段
上記目的を達成するため、本発明の多重プロセッサシス
テムは、第1プロセッサ、第2プロセッサ、および主メ
モリを含み、第2プロセッサを付勢するクロック信号お
よび主メモリを付勢するクロック信号に応答して第2プ
ロセッサのキャッシュに存する所望のデータを主メモリ
ヘフラツシュして記憶し、該主メモリに記憶された所望
のデータを第1プロセッサが命令の実行に使用するよう
な多重プロセッサシステムであって、所望のデータを第
2プロセッサのキャッシュから主メモリヘフラツシュす
る前に第2プロセッサを付勢するクロック信号を主メモ
リを付勢するクロック信号と同期させる手段を設けたこ
とを特徴としている。
テムは、第1プロセッサ、第2プロセッサ、および主メ
モリを含み、第2プロセッサを付勢するクロック信号お
よび主メモリを付勢するクロック信号に応答して第2プ
ロセッサのキャッシュに存する所望のデータを主メモリ
ヘフラツシュして記憶し、該主メモリに記憶された所望
のデータを第1プロセッサが命令の実行に使用するよう
な多重プロセッサシステムであって、所望のデータを第
2プロセッサのキャッシュから主メモリヘフラツシュす
る前に第2プロセッサを付勢するクロック信号を主メモ
リを付勢するクロック信号と同期させる手段を設けたこ
とを特徴としている。
F、実施例
はじめに本発明の実施例の概要について説明する。簡単
にいえば本実施例の多重プロセッサシステムは、第2プ
ロセッサのキャッシュから主メモリへ所望のページデー
タをフラッシュする前に第2プロセッサのクロックを主
メモリ制御部のクロックと同期させるための手段を具備
するものである。所望のページデータが第2プロセッサ
のキャッシュでみつかったときは第1の信号が発生され
これによシ代替キャッシュ探索信号発生回路が付勢され
て第1の代替キャッシュ探索信号が発生される。この第
1の代替キャッシュ探索信号は、フラッシュオペレーシ
ョンの開始を遅延させるだめのブロック回路を付勢する
。上記第1の信号は、同時に、第2プロセッサのクロッ
クを主メモリのクロックと同期させるための同期回路も
付勢する。
にいえば本実施例の多重プロセッサシステムは、第2プ
ロセッサのキャッシュから主メモリへ所望のページデー
タをフラッシュする前に第2プロセッサのクロックを主
メモリ制御部のクロックと同期させるための手段を具備
するものである。所望のページデータが第2プロセッサ
のキャッシュでみつかったときは第1の信号が発生され
これによシ代替キャッシュ探索信号発生回路が付勢され
て第1の代替キャッシュ探索信号が発生される。この第
1の代替キャッシュ探索信号は、フラッシュオペレーシ
ョンの開始を遅延させるだめのブロック回路を付勢する
。上記第1の信号は、同時に、第2プロセッサのクロッ
クを主メモリのクロックと同期させるための同期回路も
付勢する。
i□ 同期化が完了すれば同期回路は第2の信
号を発生し、これによシ最終的に第2の代替キャッシュ
探索信号が発生されて、上記ブロック回路のブロッキン
グが解除される。ブロッキングが解除されれハ、フラッ
シュオペレーションが始−t;b。
号を発生し、これによシ最終的に第2の代替キャッシュ
探索信号が発生されて、上記ブロック回路のブロッキン
グが解除される。ブロッキングが解除されれハ、フラッ
シュオペレーションが始−t;b。
以下、図面を参照しながら実施例について詳しく説明す
る。
る。
Fl 多重プロセッサシステム(第1図および第2図
) 第2図は多重′プロセッサシステムの構成e簡略的に示
す図である。第1プロセツグ100および第2プロセッ
サ200はシステムバスを介シて主メモリ15に接続す
る。以下の説明では主メモリのことをB SM(Bas
ic Storage Module二基本記憶二基上
記憶機構モジュール。
) 第2図は多重′プロセッサシステムの構成e簡略的に示
す図である。第1プロセツグ100および第2プロセッ
サ200はシステムバスを介シて主メモリ15に接続す
る。以下の説明では主メモリのことをB SM(Bas
ic Storage Module二基本記憶二基上
記憶機構モジュール。
第2図の多重プロセッサシステムのさらに詳しい構成を
第1図に示す。第1プロセッサ100は命令処理ユニッ
ト(以下IPU)110、キャッシュ120、クロック
発生器130、およびXモ 11゜ジュール
140を含む。キャッシュ120およびクロック発生器
160はIPUlloに接続し、Xモジュール140は
クロック発生器130に接続する。Xモジュール140
はクロック発生器130に接続された新規な同期回路1
41と該回路に接続された代替キャッシュ探索信号発生
回路(以下AC8)142とを含む11プロセッサ10
0はXモジュール140の同期回路141とクロック発
生器130との間に接続されたトラップ優先付回路16
0とキャッシュディレクトリ(Z)150とを含む。キ
ャッシュディレクトリ150はキャッシュ120、同期
回路141、AC3I42、およびIPUlloに接続
する。
第1図に示す。第1プロセッサ100は命令処理ユニッ
ト(以下IPU)110、キャッシュ120、クロック
発生器130、およびXモ 11゜ジュール
140を含む。キャッシュ120およびクロック発生器
160はIPUlloに接続し、Xモジュール140は
クロック発生器130に接続する。Xモジュール140
はクロック発生器130に接続された新規な同期回路1
41と該回路に接続された代替キャッシュ探索信号発生
回路(以下AC8)142とを含む11プロセッサ10
0はXモジュール140の同期回路141とクロック発
生器130との間に接続されたトラップ優先付回路16
0とキャッシュディレクトリ(Z)150とを含む。キ
ャッシュディレクトリ150はキャッシュ120、同期
回路141、AC3I42、およびIPUlloに接続
する。
第2プロセッサ200も第1プロセッサ100と同様な
構成であり、第2プロセッサ200を構成するIPU2
10.キャッシュ220、クロック発生器230.Xモ
ジュール240、キャッシュディレクトリ(Z)250
、トラップ優先付回路260、同期回路241、および
代替キャッシュ探索信号発生回路(AC8)242が、
第1プロセッサ100を構成するIPUllo、キャッ
シュ120、クロック発生器160、Xモジュール14
0、キャッシュディレクトリ(Z)150、トラップ優
先付回路1601同期回路141、およびAC3142
の各々に対応する。
構成であり、第2プロセッサ200を構成するIPU2
10.キャッシュ220、クロック発生器230.Xモ
ジュール240、キャッシュディレクトリ(Z)250
、トラップ優先付回路260、同期回路241、および
代替キャッシュ探索信号発生回路(AC8)242が、
第1プロセッサ100を構成するIPUllo、キャッ
シュ120、クロック発生器160、Xモジュール14
0、キャッシュディレクトリ(Z)150、トラップ優
先付回路1601同期回路141、およびAC3142
の各々に対応する。
第1図に示す多重プロセッサシステムは、さらに、BS
M制御部300を含む。BSM制御部600fd第17
’ロセツサ100のXモジュール1401キヤツシユ1
201およびキャッシュディレクトリ1501ならびに
第2プロセッサ200のXモジュール240、キャッシ
ュ220、およびキャッシュディレクトリ250に接続
する。BSM制御部3CIOはBSMI 5にも接続さ
れる。BSM制御部300は多重プロセッサシステムの
機能を制御するためのものである。
M制御部300を含む。BSM制御部600fd第17
’ロセツサ100のXモジュール1401キヤツシユ1
201およびキャッシュディレクトリ1501ならびに
第2プロセッサ200のXモジュール240、キャッシ
ュ220、およびキャッシュディレクトリ250に接続
する。BSM制御部3CIOはBSMI 5にも接続さ
れる。BSM制御部300は多重プロセッサシステムの
機能を制御するためのものである。
F2 BSM制御部(第6図)
第3図は第1図に示すBSM制御部600の構成を示す
図である。BSM制御部300はキャッシュディレクト
リ150に接続されるコマンド状況レジスタ310およ
びキャッシュディレクトリ250に接続されるコマンド
状況レジスタ520を有する。キャッシュディレクトリ
はヒツト、ミス、フラッシュ、および変更に関する情報
をコマンド状況レジスタに供給する。コマンド状況レジ
スタ310および320はスタックされたOpのディス
クリミネータ(以下Opディスクリミネータという)6
40にそれぞれ接続する。opディスクリミネータ34
0はコマンド状況レジスタの内容を受は取って、該レジ
スタが所定の情報を有するときは出力信号を発生するろ
たとえば、コマンド状況レジスタ610が1ホエアレバ
(WHEREVER)’ワードを含み且つコマンド状況
レジスタ320がキャッシュディレクトリ250からの
フラッシュ標識を含むときは、opディスクリミネータ
640は出力信号を発生する。コマンド状況レジスタ6
20が1ホエアレバ(WHEREVER)”ワードを含
み且つコマンド状況レジスタ610がキャッシュディレ
クトリ150からのフラッシュ標識を含むときも、Op
ディスクリミネータ340は出力信号を発生する。Op
ディスクリミネータ340の出力信号(線60)は次の
ようにして“マスキング機能を遂行する;出力信号60
はBSM制御部300の残りの部分に対して”ホエアレ
バ(WHEREVER)’ワード情報を含むコマンド状
況レジスタの内容をマスクし、通常の開始信号(861
)カB SM Opカ制御回路ろ70に送られないよう
にする。BSMop制御回路370は、出力信号60に
よシ、フラッシュ標識を含むコマンドレジスタの内容を
みることができる。opディスクリミネータ340はブ
ロック回路360およびANDゲー1150に接続する
。”BSM制御リセすト許可′信号でANDゲート35
0の他の入力を付勢する。ブロック回路330はクロッ
ク発生器130およびACS 142に接続する。AN
Dゲート350の出力はスタックされたopのラッチ(
以下opランチという)660のセット入力に接続する
。opラッチ360の出力はコマンド状況レジスタ32
0およびB S M o p制御回路370に接続する
。
図である。BSM制御部300はキャッシュディレクト
リ150に接続されるコマンド状況レジスタ310およ
びキャッシュディレクトリ250に接続されるコマンド
状況レジスタ520を有する。キャッシュディレクトリ
はヒツト、ミス、フラッシュ、および変更に関する情報
をコマンド状況レジスタに供給する。コマンド状況レジ
スタ310および320はスタックされたOpのディス
クリミネータ(以下Opディスクリミネータという)6
40にそれぞれ接続する。opディスクリミネータ34
0はコマンド状況レジスタの内容を受は取って、該レジ
スタが所定の情報を有するときは出力信号を発生するろ
たとえば、コマンド状況レジスタ610が1ホエアレバ
(WHEREVER)’ワードを含み且つコマンド状況
レジスタ320がキャッシュディレクトリ250からの
フラッシュ標識を含むときは、opディスクリミネータ
640は出力信号を発生する。コマンド状況レジスタ6
20が1ホエアレバ(WHEREVER)”ワードを含
み且つコマンド状況レジスタ610がキャッシュディレ
クトリ150からのフラッシュ標識を含むときも、Op
ディスクリミネータ340は出力信号を発生する。Op
ディスクリミネータ340の出力信号(線60)は次の
ようにして“マスキング機能を遂行する;出力信号60
はBSM制御部300の残りの部分に対して”ホエアレ
バ(WHEREVER)’ワード情報を含むコマンド状
況レジスタの内容をマスクし、通常の開始信号(861
)カB SM Opカ制御回路ろ70に送られないよう
にする。BSMop制御回路370は、出力信号60に
よシ、フラッシュ標識を含むコマンドレジスタの内容を
みることができる。opディスクリミネータ340はブ
ロック回路360およびANDゲー1150に接続する
。”BSM制御リセすト許可′信号でANDゲート35
0の他の入力を付勢する。ブロック回路330はクロッ
ク発生器130およびACS 142に接続する。AN
Dゲート350の出力はスタックされたopのラッチ(
以下opランチという)660のセット入力に接続する
。opラッチ360の出力はコマンド状況レジスタ32
0およびB S M o p制御回路370に接続する
。
B S M o p制御回路370の出力はキャッシュ
120、キャッシュ2201および83M15に接続し
、キャッシュとBSMとの間のデータ転送を側脚する。
120、キャッシュ2201および83M15に接続し
、キャッシュとBSMとの間のデータ転送を側脚する。
F3 opディスクリミネータ(第4図)第4図は第
3図のOpディスクリミネータ640の構成を示す図で
ある。opディスクリミネータ340はANDゲート6
41および342、ならびにORゲート643を含む。
3図のOpディスクリミネータ640の構成を示す図で
ある。opディスクリミネータ340はANDゲート6
41および342、ならびにORゲート643を含む。
ANDゲート641はコマンド状況レジスタ310およ
び520の内容、ならびに“83M制御ビジー(A)′
信号を受は取り、ANDゲート642はコマンド状況レ
ジスタ310および520の内容、ならびに”83M制
御ビジー(B)“信号を受は取る。ANDゲート641
および642の出力はORゲート346に接続する。O
Rゲート646の出力線が第6図に示した線60である
。
び520の内容、ならびに“83M制御ビジー(A)′
信号を受は取り、ANDゲート642はコマンド状況レ
ジスタ310および520の内容、ならびに”83M制
御ビジー(B)“信号を受は取る。ANDゲート641
および642の出力はORゲート346に接続する。O
Rゲート646の出力線が第6図に示した線60である
。
F4 代替キャッシュ探索信号発生回路(第5図および
第6図) 第5図は第1図に示したAC3142および242の構
成を示す図である。ACS242はICT制御(2)2
43を含む。ICT制御(2)243はキャッシュディ
レクトリ250および同期回路241から信号を受は取
りこれに応答して“−YビジーゲートXBRD’信号お
よび’−YフラッシュXBRD ’信号を発生する。A
C3142はICT制御(2)145およびICT制御
(1)144を含む。ICT制御(2)143は同期回
路141およびキャッシュディレクトリ150に接続さ
れ、これからの信号に応答して“+Y要求受諾”信号お
よび”+7ラツノユリセツト”信号を発生する。ICT
制御(1)144はICT制御(2)143に接続され
、そこからの信号に応答して代替キャッシュ探索信号を
出力する。
第6図) 第5図は第1図に示したAC3142および242の構
成を示す図である。ACS242はICT制御(2)2
43を含む。ICT制御(2)243はキャッシュディ
レクトリ250および同期回路241から信号を受は取
りこれに応答して“−YビジーゲートXBRD’信号お
よび’−YフラッシュXBRD ’信号を発生する。A
C3142はICT制御(2)145およびICT制御
(1)144を含む。ICT制御(2)143は同期回
路141およびキャッシュディレクトリ150に接続さ
れ、これからの信号に応答して“+Y要求受諾”信号お
よび”+7ラツノユリセツト”信号を発生する。ICT
制御(1)144はICT制御(2)143に接続され
、そこからの信号に応答して代替キャッシュ探索信号を
出力する。
この信号をブロック回路′530が受は取る。
第6図は第5図に示したICT制御(1)144の構成
を示す図、である。ICT制御(1)144はシフトレ
ジスタラッチ(以下SRLという)401を含む。5R
L401はICT制御(2)146からの’+Y要求受
諾″信号およびクロックドライバ402からの出力信号
を受は取る。りロックトライバ402はクロック信号十
SOを受は取る。5RL401の出力はORゲート40
3の入力に接続する。受信部404およびインノクータ
405を介するj +YフラッシュXBRD ’信号で
、ORゲート403の他の入力を付勢する。
を示す図、である。ICT制御(1)144はシフトレ
ジスタラッチ(以下SRLという)401を含む。5R
L401はICT制御(2)146からの’+Y要求受
諾″信号およびクロックドライバ402からの出力信号
を受は取る。りロックトライバ402はクロック信号十
SOを受は取る。5RL401の出力はORゲート40
3の入力に接続する。受信部404およびインノクータ
405を介するj +YフラッシュXBRD ’信号で
、ORゲート403の他の入力を付勢する。
インバータ406を介スる1+フラッシュ1ノセット1
信号でORゲート406の他の入力を付勢する。、IC
T制御(1)144は、さらに、スキャン5RL408
を有する。スキャン5RL40B−の出力21はインノ
く一夕409を介してORl−”ライバ407に接続す
る。スキャン5RL408O出力11はクロックトライ
ノく410に接続する。
信号でORゲート406の他の入力を付勢する。、IC
T制御(1)144は、さらに、スキャン5RL408
を有する。スキャン5RL40B−の出力21はインノ
く一夕409を介してORl−”ライバ407に接続す
る。スキャン5RL408O出力11はクロックトライ
ノく410に接続する。
クロック信号+c1/C3でクロックトライノく410
を付勢する。クロックトライノ(410の出力は5RL
411の−C入力および+C入力に接続する。受信部4
12を介する”−Yビジーゲート昌 XBR
D ’信号で5RL411の入力を付勢する。
を付勢する。クロックトライノ(410の出力は5RL
411の−C入力および+C入力に接続する。受信部4
12を介する”−Yビジーゲート昌 XBR
D ’信号で5RL411の入力を付勢する。
5RL411の出力21はインノく一夕415および4
16を介してORドライノ(407の第1人力に接続す
る。クロック信号−so/−82はインバータ414を
介してORドライバ407の第2人力を付勢する。こう
してORドライバ407がブロック回路360を付勢す
る代替キャッシュ探索信号を発生する。
16を介してORドライノ(407の第1人力に接続す
る。クロック信号−so/−82はインバータ414を
介してORドライバ407の第2人力を付勢する。こう
してORドライバ407がブロック回路360を付勢す
る代替キャッシュ探索信号を発生する。
F5 ブロック回路(第7図)
第7図はBSM制御部300の中のブロック回路330
の°構成を示す図である。ブロック回路330はAND
ゲート331を有する。ANDゲート361は一方の入
力で”BSMビジー制御1信号を受は取シ、他方の入力
でAC3142からの信号を受は取る。ANDゲート3
31の出力はORゲート3′52に接続する。ORゲー
ト332の他方の入力は”り七ットBSM制御′信号を
受は取る。ORゲート662の出力はクロックドライ
。
の°構成を示す図である。ブロック回路330はAND
ゲート331を有する。ANDゲート361は一方の入
力で”BSMビジー制御1信号を受は取シ、他方の入力
でAC3142からの信号を受は取る。ANDゲート3
31の出力はORゲート3′52に接続する。ORゲー
ト332の他方の入力は”り七ットBSM制御′信号を
受は取る。ORゲート662の出力はクロックドライ
。
バ3′5乙の入力に接続する。クロックトライバ333
は+0出力と一〇出力とを有する・2れらoi。
は+0出力と一〇出力とを有する・2れらoi。
出力は5RL334の入力に接続する。5RL364の
マスク部(Ll)はOR回路539で制御されるスレー
ブ部(L2)と内部的に接続する。
マスク部(Ll)はOR回路539で制御されるスレー
ブ部(L2)と内部的に接続する。
OR回路339はシステムクロックまたはBクロックを
通すものである。5RL334の詳しい構成は第9図に
示す。5RL534の出力はインノζ−夕3′55の入
力に接続する。インノく一タ635の出力は5RL33
4の他の入力へフィートノくツクする。5RL334の
出力はNANDゲート666の入力に接続する( NA
NDゲート636は出力にインバータを具備したAND
ゲートで構成する)。NANDゲート6′5乙の他の入
力はOpディスクリミネータ640を介してコマンド状
況レジスタ510および320に接続する。状況レジス
タ′510および520はキャッシュディレクトリ15
0および250からのヒツト/ミス/フラッシュ/変更
データの情報と、データ情報と、’*z7+zバ(WH
EREVER)”と呼ばれる特別な命令の実行に関する
情報とを受は取る。NANDゲート636の出力はクロ
ックトライノく6′57に接続する。クロックトライノ
く667は+C出力および−C出力の2つの出力を供給
する0これらの出力は5RL338の入力に接続する。
通すものである。5RL334の詳しい構成は第9図に
示す。5RL534の出力はインノζ−夕3′55の入
力に接続する。インノく一タ635の出力は5RL33
4の他の入力へフィートノくツクする。5RL334の
出力はNANDゲート666の入力に接続する( NA
NDゲート636は出力にインバータを具備したAND
ゲートで構成する)。NANDゲート6′5乙の他の入
力はOpディスクリミネータ640を介してコマンド状
況レジスタ510および320に接続する。状況レジス
タ′510および520はキャッシュディレクトリ15
0および250からのヒツト/ミス/フラッシュ/変更
データの情報と、データ情報と、’*z7+zバ(WH
EREVER)”と呼ばれる特別な命令の実行に関する
情報とを受は取る。NANDゲート636の出力はクロ
ックトライノく6′57に接続する。クロックトライノ
く667は+C出力および−C出力の2つの出力を供給
する0これらの出力は5RL338の入力に接続する。
5RL338の出力はB S M o p制御回路ろ7
0に接続する。BSMop制御回路670はキャッシュ
120または220からBSMl 5へのデータのフラ
ッシュを開始し、フラッシュオペレーション中マスクさ
れていた後続の1ホエアレノ<(WHEREVER)’
ワードを実行するよう機能する。
0に接続する。BSMop制御回路670はキャッシュ
120または220からBSMl 5へのデータのフラ
ッシュを開始し、フラッシュオペレーション中マスクさ
れていた後続の1ホエアレノ<(WHEREVER)’
ワードを実行するよう機能する。
F6 同期回路(第8図)
第8図は同期回路141および241の構成を示す図で
ある。同期回路141および241はキャッシュディレ
クトリ150および250に接続されたANDゲート5
01を有し、キャッシュディレクトリ150および25
0からのヒツト/ミス/フラッシュ/変更データ情報を
受は取り、クロック信号を受は取シ、特別の“ホエアレ
、<(WHEREVER)”命令を受は取って該命令が
実行されようとしていることを示す。ANDゲート50
1はフラッシュ要求SRL回路502の入力に接続する
。SRL回路502は前述の5RL3′54および66
8の構造と同じSRLを含む回路である。SRL回路5
02はIPU待ちトラップSRL回路503に接続する
。SRL回路503は’IPU待ちトラップ要求1信号
を発生し、これによシクロツク発生器130および23
0を付勢する。IPUiiQおよび210を付勢するク
ロック信号がBSM制御部600のブロック回路55G
を付勢するクロック信号と同期すると、クロック発生器
130および260は″ディレクトリミス1信号および
’IPU待ちトラップ8信号を発生し、これによりSR
L回路503をリセットしANDゲート504の入力を
付勢する。ANDゲート504の他の入力はSRL回路
502の出力に接続する。ANDゲート504の出力は
クロックトライバ5050入力に接続する。クロックト
ライバ505はクロック信号CLKで付勢する。クロッ
クトライバ505の出力はフラッシュ;、 進
行SRL回路506の入力に接続する。SRL回路50
6の出力はフラッシュ要求SRL回路502のリセット
入力に接続すると共に、AC3142に、またはAC3
242を介してAC3142に接続する(これは同期回
路によって異なる)。
ある。同期回路141および241はキャッシュディレ
クトリ150および250に接続されたANDゲート5
01を有し、キャッシュディレクトリ150および25
0からのヒツト/ミス/フラッシュ/変更データ情報を
受は取り、クロック信号を受は取シ、特別の“ホエアレ
、<(WHEREVER)”命令を受は取って該命令が
実行されようとしていることを示す。ANDゲート50
1はフラッシュ要求SRL回路502の入力に接続する
。SRL回路502は前述の5RL3′54および66
8の構造と同じSRLを含む回路である。SRL回路5
02はIPU待ちトラップSRL回路503に接続する
。SRL回路503は’IPU待ちトラップ要求1信号
を発生し、これによシクロツク発生器130および23
0を付勢する。IPUiiQおよび210を付勢するク
ロック信号がBSM制御部600のブロック回路55G
を付勢するクロック信号と同期すると、クロック発生器
130および260は″ディレクトリミス1信号および
’IPU待ちトラップ8信号を発生し、これによりSR
L回路503をリセットしANDゲート504の入力を
付勢する。ANDゲート504の他の入力はSRL回路
502の出力に接続する。ANDゲート504の出力は
クロックトライバ5050入力に接続する。クロックト
ライバ505はクロック信号CLKで付勢する。クロッ
クトライバ505の出力はフラッシュ;、 進
行SRL回路506の入力に接続する。SRL回路50
6の出力はフラッシュ要求SRL回路502のリセット
入力に接続すると共に、AC3142に、またはAC3
242を介してAC3142に接続する(これは同期回
路によって異なる)。
AC3142はブロック回路650を付勢する代替キャ
ッシュ探索信号を発生する。
ッシュ探索信号を発生する。
第9図はシフトレジスタラッチ(SRL)の構成を示す
図である。5RL334および338(第7図参照)な
らびに5RL401および411(第8図参照)は第9
図に示す構成のSRLを用いることができる。第8図に
示したSRL回路502.505、および506は第9
図に示す構成のSRLを含む回路である。これらのSR
L回路は1983年11月4日付の米国特許出願第54
8748号に示されるものを用いることができる。
図である。5RL334および338(第7図参照)な
らびに5RL401および411(第8図参照)は第9
図に示す構成のSRLを用いることができる。第8図に
示したSRL回路502.505、および506は第9
図に示す構成のSRLを含む回路である。これらのSR
L回路は1983年11月4日付の米国特許出願第54
8748号に示されるものを用いることができる。
F7 クロック発生器(第10図)
第10図はクロック発生器130および260の構成を
示す図である。クロック発生器130は同期回路141
に接続されたプロセッサクロックモジュール161を有
する。Tクロック162およびSクロック136はプロ
セッサクロックモジュール131に接続する。発振器7
0はTクロック132、Sクロック153、Cクロック
164、およびRクロック165に接続する。Cクロッ
ク134の出力は線52を介してブロック回路330に
接続する。クロック発生器230も同様に同期回路24
1に接続されたプロセッサクロックモジュール231を
有する。プロセッサクロックモジュール261はTクロ
ック262およびSクロック266に接続する。発振器
70はTクロック232、Sクロック26′5、Cクロ
ック234、およびRクロック235に接続する。Rク
ロック235の出力はSクロック236の入力に接続す
る。Sクロック266の出力はIPU210に接続する
。トラップ優先付回路160および260は同期回路1
41および241からの’IPU待ちトラップ要求“信
号をそれぞれ受は取って、良ければ、クロックの同期を
行わせるようプロセッサクロックモジュール161およ
び261に“ディレクトリミス“信号または”IPU待
ちトラップ“信号を発する。
示す図である。クロック発生器130は同期回路141
に接続されたプロセッサクロックモジュール161を有
する。Tクロック162およびSクロック136はプロ
セッサクロックモジュール131に接続する。発振器7
0はTクロック132、Sクロック153、Cクロック
164、およびRクロック165に接続する。Cクロッ
ク134の出力は線52を介してブロック回路330に
接続する。クロック発生器230も同様に同期回路24
1に接続されたプロセッサクロックモジュール231を
有する。プロセッサクロックモジュール261はTクロ
ック262およびSクロック266に接続する。発振器
70はTクロック232、Sクロック26′5、Cクロ
ック234、およびRクロック235に接続する。Rク
ロック235の出力はSクロック236の入力に接続す
る。Sクロック266の出力はIPU210に接続する
。トラップ優先付回路160および260は同期回路1
41および241からの’IPU待ちトラップ要求“信
号をそれぞれ受は取って、良ければ、クロックの同期を
行わせるようプロセッサクロックモジュール161およ
び261に“ディレクトリミス“信号または”IPU待
ちトラップ“信号を発する。
下記の第1表は、I P’U 110、IPU210、
およびBSM制御部300に関連するクロックのクロッ
クシーケンスを示すものである。・これらのクロックシ
ーケンスにおいて、BSM制御部300に関連するクロ
ックは、IPUlloのクロックおよびIPU210ク
ロックに対して同期外れを起こしている点があることに
留意されたい。
およびBSM制御部300に関連するクロックのクロッ
クシーケンスを示すものである。・これらのクロックシ
ーケンスにおいて、BSM制御部300に関連するクロ
ックは、IPUlloのクロックおよびIPU210ク
ロックに対して同期外れを起こしている点があることに
留意されたい。
□ ロ □ロ
ー ρ (イ) 哨
たとえば、このシーケンスで、B S M制御[s 。
Oに関連するクロックが0.1.2,3.0.・・・と
いうパルスシーケンスヲ発生L、IPU’11Dに関連
するクロックが0.1.2.3,0.・・・というパル
スシーケンスを発生L、IPU21OK関連するり0ツ
クが0.1.2,3.4.5.’O。
いうパルスシーケンスヲ発生L、IPU’11Dに関連
するクロックが0.1.2.3,0.・・・というパル
スシーケンスを発生L、IPU21OK関連するり0ツ
クが0.1.2,3.4.5.’O。
・・・というパルスシーケンスを発生しているところが
ある。IPU210のパルス4が発生されると、BSM
制御部300に関連するクロックはIPU210に関連
するクロックに対して同期が外れる。
ある。IPU210のパルス4が発生されると、BSM
制御部300に関連するクロックはIPU210に関連
するクロックに対して同期が外れる。
後で説明するが、IPU210に関連するクロックは、
所望のページデータを88M15ヘフラツシユする前に
、BSM制御部300のブロック回路660に関連する
クロックと同期しなければならない。
所望のページデータを88M15ヘフラツシユする前に
、BSM制御部300のブロック回路660に関連する
クロックと同期しなければならない。
第11A図は、1つのプロセッサ(たとえば第゛7°°
″″7′?100″″′あ6とす6)′関連すOl、。
″″7′?100″″′あ6とす6)′関連すOl、。
ロックがBSM制御部300に関連するクロックに対し
て同期が外れているような同期外れの状態を示す図であ
る。第1プロセッサ1ooのクロックのパルスQはBS
M制御部30のクロックのパルス0と同期が外れている
。
て同期が外れているような同期外れの状態を示す図であ
る。第1プロセッサ1ooのクロックのパルスQはBS
M制御部30のクロックのパルス0と同期が外れている
。
第11B図は、第1プロセッサ100に関連するクロッ
クがBSM制御部300に関連するクロックと同期して
いるような同期状態を示す図である。第1プロセッサ1
00のクロックのパルス0はBSM制御部300のクロ
ックのパルスOと同期している。第11B図の状態は同
期の条件を示している。というのは、第1プロセッサ1
00のパルスOでIPUが付勢されキャッシュ120の
データがBSMl 5へ記憶できるよう解放されて、こ
のデータが受諾できるようBSM制御部300のクロッ
クのパルス2によ5BSM15が正確な時間(パルスO
の開始から2パルス分の期間)で付勢されるからである
。
クがBSM制御部300に関連するクロックと同期して
いるような同期状態を示す図である。第1プロセッサ1
00のクロックのパルス0はBSM制御部300のクロ
ックのパルスOと同期している。第11B図の状態は同
期の条件を示している。というのは、第1プロセッサ1
00のパルスOでIPUが付勢されキャッシュ120の
データがBSMl 5へ記憶できるよう解放されて、こ
のデータが受諾できるようBSM制御部300のクロッ
クのパルス2によ5BSM15が正確な時間(パルスO
の開始から2パルス分の期間)で付勢されるからである
。
F8 実施例の機能的な動作
次に、再び第1図ないし第1 jB図を参照しながら、
実施例の機能的な動作について説明する。
実施例の機能的な動作について説明する。
第2図で、第1プロセッサ100が自身のキャッシュで
データを探索したけれどもそれがみつからないときは、
第2プロセッサ200のキャッシュテソのデータを探索
する。第1プロセッサ1゜Oが第2プロセッサ200の
キャッシュでそのデータをみつけると、第1プロセッサ
1ooの実行する命令のタイプに応じて、第1プロセッ
サ1゜Oのキャッシュにそのデータが直接転送されるが
または第1プロセッサ100が使用できるようそのデー
タがBSMl5に転送される。第1プロセッサ100の
実行する命令が第2プロセッサ2゜Oのキャッシュのデ
ータをBSMl5に転送しなければならないタイプのも
のであるときは、その転送(すなわちフラッシュ)の前
に第2プロセッサ200のクロックはBSMI 5を付
勢するクロックと必ず同期しなければならない。第2プ
ロセッサ200のクロックがBSMl5を付勢するクロ
ックと同期すれば、データは第2プロセッサ200から
88M15ヘフラツシユされる。第1プロセッサ100
は自分の命令を実行するのにこのデータを使うことがで
きる。以上の機能的な事象のノーケンスで、第2プロセ
ッサ200から88M15へのデータの転送(すなわち
フラッシュ)は、第2プロセッサ200のクロックが8
8M15を付勢するクロックと同期するまで、一時的に
ブロックされる。以上のクロックが同期すれば、ブロッ
キングの機能は終了する。これが終了すると、第2プロ
セッサ200から88M15へのデータの転送が始まる
。
データを探索したけれどもそれがみつからないときは、
第2プロセッサ200のキャッシュテソのデータを探索
する。第1プロセッサ1゜Oが第2プロセッサ200の
キャッシュでそのデータをみつけると、第1プロセッサ
1ooの実行する命令のタイプに応じて、第1プロセッ
サ1゜Oのキャッシュにそのデータが直接転送されるが
または第1プロセッサ100が使用できるようそのデー
タがBSMl5に転送される。第1プロセッサ100の
実行する命令が第2プロセッサ2゜Oのキャッシュのデ
ータをBSMl5に転送しなければならないタイプのも
のであるときは、その転送(すなわちフラッシュ)の前
に第2プロセッサ200のクロックはBSMI 5を付
勢するクロックと必ず同期しなければならない。第2プ
ロセッサ200のクロックがBSMl5を付勢するクロ
ックと同期すれば、データは第2プロセッサ200から
88M15ヘフラツシユされる。第1プロセッサ100
は自分の命令を実行するのにこのデータを使うことがで
きる。以上の機能的な事象のノーケンスで、第2プロセ
ッサ200から88M15へのデータの転送(すなわち
フラッシュ)は、第2プロセッサ200のクロックが8
8M15を付勢するクロックと同期するまで、一時的に
ブロックされる。以上のクロックが同期すれば、ブロッ
キングの機能は終了する。これが終了すると、第2プロ
セッサ200から88M15へのデータの転送が始まる
。
ところで、第2プロセッサ200からBSMI5へのデ
ータのフラッシュを必要としないが第2プロセッサ20
0のキャッシュから第1プロセッサ100のキャッシュ
へ直接のデータ転送を必要とするような別の命令を第1
プロセッサ100が実行しているときは、上記のブロッ
キングは最初から行われない;データは第2プロセッサ
200のキャッシュから第1プロセッサ100のキャッ
シュへ直接転送されてその命令の実行が開始され″
る。
ータのフラッシュを必要としないが第2プロセッサ20
0のキャッシュから第1プロセッサ100のキャッシュ
へ直接のデータ転送を必要とするような別の命令を第1
プロセッサ100が実行しているときは、上記のブロッ
キングは最初から行われない;データは第2プロセッサ
200のキャッシュから第1プロセッサ100のキャッ
シュへ直接転送されてその命令の実行が開始され″
る。
第2図に示す多重プロセッサシステムでは、フラッシュ
オペレーションを必要とするもとの命令を第1プロセッ
サ100が実行しているときは、ブロッキングが発生し
、これによシクロンクの同期化のオペレーションが完了
するまでフラッシュオペレーションがブロッキングされ
る。同期化が完了すれば、もとの命令が実行される。前
述のように、フラッシュオペレーションを必要としない
別の命令をプロセッサ100が実行しているときは、同
期化は必要ない。クロックの同期化を完了できるように
通常はフラッシュオペレーションがブロックされるので
あるから、ブロッキングは必要すい。シタがって、フラ
ッシュオペレーションを必要としない別の命令の実行が
感知されたときは、ブロッキングは最初から遂行されな
い。
オペレーションを必要とするもとの命令を第1プロセッ
サ100が実行しているときは、ブロッキングが発生し
、これによシクロンクの同期化のオペレーションが完了
するまでフラッシュオペレーションがブロッキングされ
る。同期化が完了すれば、もとの命令が実行される。前
述のように、フラッシュオペレーションを必要としない
別の命令をプロセッサ100が実行しているときは、同
期化は必要ない。クロックの同期化を完了できるように
通常はフラッシュオペレーションがブロックされるので
あるから、ブロッキングは必要すい。シタがって、フラ
ッシュオペレーションを必要としない別の命令の実行が
感知されたときは、ブロッキングは最初から遂行されな
い。
第1図で、I PU210が1つの命令を実行する場合
、データは88M15から検索されて線40を介してキ
ャツ/ユ220に記憶される。デー′を+’vyy″″
20に言己憶するのは・続″″′C“ )
ヤツシュ220からデータを取シ出すのに要する時間が
88M15から取シ出すよシもずっと短くてすむからで
ある。命令が実行されればデータは変更してもよい。変
更されたデータはキャッシュ220に再び記憶する。変
更前のもとのデータはなおりSMl 5に存在する。
、データは88M15から検索されて線40を介してキ
ャツ/ユ220に記憶される。デー′を+’vyy″″
20に言己憶するのは・続″″′C“ )
ヤツシュ220からデータを取シ出すのに要する時間が
88M15から取シ出すよシもずっと短くてすむからで
ある。命令が実行されればデータは変更してもよい。変
更されたデータはキャッシュ220に再び記憶する。変
更前のもとのデータはなおりSMl 5に存在する。
第1プロセッサ100が第2プロセッサ200のキャッ
シュ220に記憶された変更データを利用する命令を実
行しなければならないと仮定する。
シュ220に記憶された変更データを利用する命令を実
行しなければならないと仮定する。
さらに、第1プロセッサ100の実行すべき命令が、デ
ータを88M15から検索しなければならないものであ
って且つ第2プロセッサ200から直接検索することの
できないような特別なタイプの命令であるとする。この
特別なタイプの命令は、たとえば、′ホエアレバ(WH
EREVER)’タイプの命令である。
ータを88M15から検索しなければならないものであ
って且つ第2プロセッサ200から直接検索することの
できないような特別なタイプの命令であるとする。この
特別なタイプの命令は、たとえば、′ホエアレバ(WH
EREVER)’タイプの命令である。
その命令の実行前に、第1プロセッサ100のキャッシ
ュディレクトリ150は変更データがキャッシュ120
に記憶されているかどうかを判断するためキャッシュ1
20を検討する。変更データがそこに記憶されていない
とキャッシュディレクトリ150が判断すると、第1プ
ロセッサ100は線42および46を介して、第2プロ
セッサ200のキャッシュ220に変更データがあるか
どうかを探索するようキャッシュディレクトリ250に
命令する。キャッシュディレクトリ250は線44を介
して変更データがキャッシュ220にあるかどうかを探
索する。
ュディレクトリ150は変更データがキャッシュ120
に記憶されているかどうかを判断するためキャッシュ1
20を検討する。変更データがそこに記憶されていない
とキャッシュディレクトリ150が判断すると、第1プ
ロセッサ100は線42および46を介して、第2プロ
セッサ200のキャッシュ220に変更データがあるか
どうかを探索するようキャッシュディレクトリ250に
命令する。キャッシュディレクトリ250は線44を介
して変更データがキャッシュ220にあるかどうかを探
索する。
このキャッシュ220の探索と同時に、線46を介して
キャッシュディレクトリ250はAC3242を付勢す
る。キャッシュディレクトリ25Gが、変更データがキ
ャッシュ220に記憶されていると判断すれば、同期回
路241は同期化オペレーションを開始する(後述)。
キャッシュディレクトリ250はAC3242を付勢す
る。キャッシュディレクトリ25Gが、変更データがキ
ャッシュ220に記憶されていると判断すれば、同期回
路241は同期化オペレーションを開始する(後述)。
ここで、第5図のA 、CS 242に関連して、AC
3242の工CT制御(2)245が’−Yビジーゲー
トXBRD“信号を発生することを再記しておく。この
信号は、変更データをみつけようとしてキャッシュ20
bの探索が現に行われているということを示すものであ
る。線48を介するこの”−Yピジーゲー)XBRD
’信号でAC3142のICT制御(1)144を付勢
する。
3242の工CT制御(2)245が’−Yビジーゲー
トXBRD“信号を発生することを再記しておく。この
信号は、変更データをみつけようとしてキャッシュ20
bの探索が現に行われているということを示すものであ
る。線48を介するこの”−Yピジーゲー)XBRD
’信号でAC3142のICT制御(1)144を付勢
する。
キャッシュディレクトリ250は、キャッシュディレク
トリ220に変更データが記憶されると判断すれば、線
49を介して、コマンド状況レジスタ320にヒツト/
変更情報と送ってそこで1フラツシユ1標識を記憶する
。コマンド状況レジスタ620に記憶されたヒツト/変
更“フラッシュ驕標識で、所望の変更データがキャッシ
ュ220に記憶されていること、およびBS M、 1
5へのデータのフラッシュが必要であることを示す0通
常は第2プロセッサ200に関連するコマンド状況レジ
スタ?、その命令を実行する間、第1プロセッサ100
か借用するわけである。
トリ220に変更データが記憶されると判断すれば、線
49を介して、コマンド状況レジスタ320にヒツト/
変更情報と送ってそこで1フラツシユ1標識を記憶する
。コマンド状況レジスタ620に記憶されたヒツト/変
更“フラッシュ驕標識で、所望の変更データがキャッシ
ュ220に記憶されていること、およびBS M、 1
5へのデータのフラッシュが必要であることを示す0通
常は第2プロセッサ200に関連するコマンド状況レジ
スタ?、その命令を実行する間、第1プロセッサ100
か借用するわけである。
第6図で、AC3142のICT制御(1)144の受
信部412が艦−YビジーゲートX3RD″受信を受は
取る。その結果、この信号とクロックトライバ410の
出力信号とに応答してSRi: L41
1がセントされ、出力が発生される。クロックトライバ
410はスキャysRL408からのオンボードの出力
信号(線11)およびクロンク信号十C1/C3に応答
して出力信号を発生する。5RL411の出力信号はイ
ンバータ415および416を介して最終的にはORド
ライバ407を付勢する。ORドライバ407は代替キ
ャッシュ探索信号#1を発生し、線50を介してこの信
号でBSM制御部300のブロック回路360を付勢す
る。
信部412が艦−YビジーゲートX3RD″受信を受は
取る。その結果、この信号とクロックトライバ410の
出力信号とに応答してSRi: L41
1がセントされ、出力が発生される。クロックトライバ
410はスキャysRL408からのオンボードの出力
信号(線11)およびクロンク信号十C1/C3に応答
して出力信号を発生する。5RL411の出力信号はイ
ンバータ415および416を介して最終的にはORド
ライバ407を付勢する。ORドライバ407は代替キ
ャッシュ探索信号#1を発生し、線50を介してこの信
号でBSM制御部300のブロック回路360を付勢す
る。
この段階で、キャッシュ220に記憶された所望の変更
データをそこからBSMl 5に1フラツシユ1すべき
である。しかしながら、第1プロセッサ100の実行す
る命令がキャッシュ220の変更データをBSMI 5
にフラッシュすることを要求するものであること、およ
び変更データがキャッシュ220でみつかったというこ
とで、所望の変更データをキャッシュ220からBSM
l 5ヘフラツシユする前に第2プロセッサ200のク
ロックをBSM制御部600のクロックと同期し一&f
ftLi;16&I、−°L*i:O?・@27’o−
t7? 、。
データをそこからBSMl 5に1フラツシユ1すべき
である。しかしながら、第1プロセッサ100の実行す
る命令がキャッシュ220の変更データをBSMI 5
にフラッシュすることを要求するものであること、およ
び変更データがキャッシュ220でみつかったというこ
とで、所望の変更データをキャッシュ220からBSM
l 5ヘフラツシユする前に第2プロセッサ200のク
ロックをBSM制御部600のクロックと同期し一&f
ftLi;16&I、−°L*i:O?・@27’o−
t7? 、。
200のクロックがBSM制御部600のクロックと同
期するまで、1フラツシユ1オペレーシヨンは遅延しな
ければならない。第1プロセッサ100の実行する命令
のタイプおよびコマンド状況レジスタ320の記憶する
フラッシュ標識によって、第2プロセッサ200のクロ
ックをBSM制御部600のクロックに同期する間フラ
ッシュオペレーションの発生を一時的にブロックすると
いうフラッシュ前の同期化オペレーションについて以下
に説明する。
期するまで、1フラツシユ1オペレーシヨンは遅延しな
ければならない。第1プロセッサ100の実行する命令
のタイプおよびコマンド状況レジスタ320の記憶する
フラッシュ標識によって、第2プロセッサ200のクロ
ックをBSM制御部600のクロックに同期する間フラ
ッシュオペレーションの発生を一時的にブロックすると
いうフラッシュ前の同期化オペレーションについて以下
に説明する。
キャッシュディレクトリ250からのヒツト/変更情報
でコマンド状況レジスタ620を付勢すると、′7ラツ
シユ1標識がコマンド状況レジスタ320に記憶される
。加えて、IPUlloは他方のプロセッサのキャッシ
ュ(キャッシュ220)にある変更データをBSMl
5のデータのアクセス前に88M15ヘフラツシユする
ことを要求するような特別の命令を実行する。このよう
な命令は、たとえば、′ホエアレバ(WHEREVER
)’タイプの命令である。第1プロセッサ100の実行
する命令が1ホエアレバ(WHE REVER)“タイ
プの命令であるとすると、特別なタイプの命令の標識1
ホエアレバ(WHEREVER)’がコマンド状況レジ
スタ610に記憶される。この例では、標識1ホエアレ
バ(WI(EREVER)’がコマンド状況レジスタ3
10に記憶され、“フラッシュ“標識がコマンド状況レ
ジスタ320に記憶されるので、opディスクリミネー
タ640はブロック回路330を付勢する出力信号を発
生する。さらに、線50を介するAC3142の代替キ
ャッシュ探索信号#1もブロック回路330を付勢する
。
でコマンド状況レジスタ620を付勢すると、′7ラツ
シユ1標識がコマンド状況レジスタ320に記憶される
。加えて、IPUlloは他方のプロセッサのキャッシ
ュ(キャッシュ220)にある変更データをBSMl
5のデータのアクセス前に88M15ヘフラツシユする
ことを要求するような特別の命令を実行する。このよう
な命令は、たとえば、′ホエアレバ(WHEREVER
)’タイプの命令である。第1プロセッサ100の実行
する命令が1ホエアレバ(WHE REVER)“タイ
プの命令であるとすると、特別なタイプの命令の標識1
ホエアレバ(WHEREVER)’がコマンド状況レジ
スタ610に記憶される。この例では、標識1ホエアレ
バ(WI(EREVER)’がコマンド状況レジスタ3
10に記憶され、“フラッシュ“標識がコマンド状況レ
ジスタ320に記憶されるので、opディスクリミネー
タ640はブロック回路330を付勢する出力信号を発
生する。さらに、線50を介するAC3142の代替キ
ャッシュ探索信号#1もブロック回路330を付勢する
。
opディスクリミネータ640の出力信号は、コマンド
状況レジスタ310に記憶された特別命令タイプ標識1
ホエアレパ(WHEREVER)”およびコマンド状況
レジスタ520に記憶された゛フラッシュ1標識に応答
して発生されるということに留意されたい。これらのコ
マンド状況レジスタに記憶された標識がこれ以外の他の
組合せなら、opディスクリミネータ340は出力信号
を発生しない。この出力信号は、クロックの同期化オペ
レーションfr”完了f ル1でフラッシュオペレーシ
ョンをブロックしておくだめの信号である。
状況レジスタ310に記憶された特別命令タイプ標識1
ホエアレパ(WHEREVER)”およびコマンド状況
レジスタ520に記憶された゛フラッシュ1標識に応答
して発生されるということに留意されたい。これらのコ
マンド状況レジスタに記憶された標識がこれ以外の他の
組合せなら、opディスクリミネータ340は出力信号
を発生しない。この出力信号は、クロックの同期化オペ
レーションfr”完了f ル1でフラッシュオペレーシ
ョンをブロックしておくだめの信号である。
同期化オペレーションが完了すれば、フラッシュオペレ
ーションが始まる。フラッシュオペレーションが完了す
ると、特別な命令“ホエアレバ(WHEREVER)”
の実行が開始される。opディスクリミネータ340の
出力信号がないときは、ブロッキングは行われず、特別
な命令1ホエアレバ(WHEREVER)”の実行を開
始することができる。このようにして、opディスクリ
ミネータ34C1:、コマンド状況レジスタ310に記
憶された特別なタイプの命令の標識”ホエアレバ(WH
EREVER)”CI存在と、コマンド状況レジスタ3
20に記憶されたフラッシュ標識の存在とを感知して1
ホエアレバ(WHEREVER)”コマンド情報を多重
プロセッサシステムに対して1マスク1する。マスクが
確立すると、ブロッキングの発生が許可される。ブロッ
キングが確立すると、クロックの同期化オペレーション
が完了する0クロツクの同期化オペレーションが完了す
ると、ブロッキングが終了する。ブロッキングが終了す
ると、フラッシュオペレーションが始−1、フラッシュ
オペレーションが完了すれば、特別な命令1ホエアレバ
(WHEREVER)Io実行を開始することができる
。
ーションが始まる。フラッシュオペレーションが完了す
ると、特別な命令“ホエアレバ(WHEREVER)”
の実行が開始される。opディスクリミネータ340の
出力信号がないときは、ブロッキングは行われず、特別
な命令1ホエアレバ(WHEREVER)”の実行を開
始することができる。このようにして、opディスクリ
ミネータ34C1:、コマンド状況レジスタ310に記
憶された特別なタイプの命令の標識”ホエアレバ(WH
EREVER)”CI存在と、コマンド状況レジスタ3
20に記憶されたフラッシュ標識の存在とを感知して1
ホエアレバ(WHEREVER)”コマンド情報を多重
プロセッサシステムに対して1マスク1する。マスクが
確立すると、ブロッキングの発生が許可される。ブロッ
キングが確立すると、クロックの同期化オペレーション
が完了する0クロツクの同期化オペレーションが完了す
ると、ブロッキングが終了する。ブロッキングが終了す
ると、フラッシュオペレーションが始−1、フラッシュ
オペレーションが完了すれば、特別な命令1ホエアレバ
(WHEREVER)Io実行を開始することができる
。
第4図を参照しながら、opディスクリミネータ340
0機能的なオペレーションを説明する。
0機能的なオペレーションを説明する。
コマンド状況レジスタ510に記憶された“ホエアレパ
(WHEREVER)”命令標識でANDゲート341
の入力を付勢する。コマンド状況レジスタ320に記憶
された“フラッシュ1標識でANDゲート641の他の
入力を付勢する。”B 8M制御ビジー(A)″信号が
あるときはANDゲート641の第6人力が活動状態で
あるから、ANDゲート641はORゲート643の入
力を付勢する出力信号を発生する。こうして、ORゲー
ト646はopディスクリミネータ640の出力信号を
表わす信号を発生する。この場合、opディスクリミネ
ータ340はコマンド状況レジスタ310(7)’*エ
フレバ(WHEREVER)”命令標識およびコマンド
状況レジスタ520cP)”フラッシュ”標識の存在を
感知し、これに応答して出力信号を発生したということ
に留意されたい。
(WHEREVER)”命令標識でANDゲート341
の入力を付勢する。コマンド状況レジスタ320に記憶
された“フラッシュ1標識でANDゲート641の他の
入力を付勢する。”B 8M制御ビジー(A)″信号が
あるときはANDゲート641の第6人力が活動状態で
あるから、ANDゲート641はORゲート643の入
力を付勢する出力信号を発生する。こうして、ORゲー
ト646はopディスクリミネータ640の出力信号を
表わす信号を発生する。この場合、opディスクリミネ
ータ340はコマンド状況レジスタ310(7)’*エ
フレバ(WHEREVER)”命令標識およびコマンド
状況レジスタ520cP)”フラッシュ”標識の存在を
感知し、これに応答して出力信号を発生したということ
に留意されたい。
モジコマンド状況レジスタ320に1ホエアレバ(WH
EREVER)’命令標識が記憶されていたとすれば、
ANDゲート542の1つの入力が付勢されることにな
る。そしてコマンド状況レジスタ310に“フラッシュ
′標識が記憶されていたとすれば、ANDゲート642
の他の入力が付勢される。’BSM制御ビジー(B)1
信号でANDゲート342の第3人力が付勢される。こ
うして、ANDゲート542が出力信号を発生し、これ
によりORゲートろ43が出力信号を発生する0この出
力信号が発生されたときは、opディスクリミネータ3
40はコマンド状況レジスタ620(D1ホ:c7vバ
(WHEREVER)’命令標識の存在とコマンド状況
レジスタ310の6フラツシユ1標識の存在とを感知し
たことKなる。
EREVER)’命令標識が記憶されていたとすれば、
ANDゲート542の1つの入力が付勢されることにな
る。そしてコマンド状況レジスタ310に“フラッシュ
′標識が記憶されていたとすれば、ANDゲート642
の他の入力が付勢される。’BSM制御ビジー(B)1
信号でANDゲート342の第3人力が付勢される。こ
うして、ANDゲート542が出力信号を発生し、これ
によりORゲートろ43が出力信号を発生する0この出
力信号が発生されたときは、opディスクリミネータ3
40はコマンド状況レジスタ620(D1ホ:c7vバ
(WHEREVER)’命令標識の存在とコマンド状況
レジスタ310の6フラツシユ1標識の存在とを感知し
たことKなる。
第7図を参照して、ブロック回路560の機能的なオペ
レーションを説明する。代替キャッシュ探索信号#1(
線50)および“BSMビジー制御1信号でANDゲー
ト331を付勢する。ANDゲー゛トロ61の出力信号
はORゲート662を通ってクロックトライバ633を
付勢する。クロックトライバ665はクロック信号CL
Kに応答して+C出力および−C出力を発生し、これで
5RL364の+C入力および−C入力を付勢する。
レーションを説明する。代替キャッシュ探索信号#1(
線50)および“BSMビジー制御1信号でANDゲー
ト331を付勢する。ANDゲー゛トロ61の出力信号
はORゲート662を通ってクロックトライバ633を
付勢する。クロックトライバ665はクロック信号CL
Kに応答して+C出力および−C出力を発生し、これで
5RL364の+C入力および−C入力を付勢する。
5RL534のマスタ部は内部的にスレーブ部に接続さ
れている、。5RL334のスレーブ部はOR回路63
9で制御する。前述のようにSRLの構成は第9図に示
したものでよい。
れている、。5RL334のスレーブ部はOR回路63
9で制御する。前述のようにSRLの構成は第9図に示
したものでよい。
5RL334の出力信号でインバータ665を付勢する
。インバータ365の出力は5RL334の入力にフィ
ードバックする。5RL334の出力はNANDゲート
666の入力に接続する。
。インバータ365の出力は5RL334の入力にフィ
ードバックする。5RL334の出力はNANDゲート
666の入力に接続する。
opディスクリミネータ340の出力信号でNANDゲ
ート336の他の入力を付勢する。これに応じて、NA
NDゲート6′5乙の出力は1ブロツク1状態に入力、
これによシ、クロックトライバ337の+C出力および
−C出力の発生を禁じて5RL338を付勢しないよう
にする(この5RL338の構成も第9図に示すもので
よい)。こうして、B S M o p制御回路670
を付勢するだめの5RL338からの出力信号はその発
生が禁じられる。B S M o p制御回路670が
付勢されないので、このときはRフラッシュ1オペレー
ションは始まらない。
ート336の他の入力を付勢する。これに応じて、NA
NDゲート6′5乙の出力は1ブロツク1状態に入力、
これによシ、クロックトライバ337の+C出力および
−C出力の発生を禁じて5RL338を付勢しないよう
にする(この5RL338の構成も第9図に示すもので
よい)。こうして、B S M o p制御回路670
を付勢するだめの5RL338からの出力信号はその発
生が禁じられる。B S M o p制御回路670が
付勢されないので、このときはRフラッシュ1オペレー
ションは始まらない。
第8図を参照して、同期回路241の機能的なオペレー
ションについて説明する。同期回路241が線46を介
してキャッシュディレクトリ250からの信号を受は取
ると、ANDゲート501は°フラッシュ要求“SRL
回路502を付勢するだめの出力信号を発生する。SR
L回路502がセットされると、これに応答して出力信
号が発生される。SRL回路502の出力信号は“IP
U待ちトラップ”SRL回路506の1−フラッシュo
p”入力を付勢する。SRL回路5C1も第9図に示し
たSRLを含む回路でちる。SRL回路503はトラッ
プ優先付回路260を付勢するための”IPU待ちトラ
ップ要求1信号を発生する。トラップ優先付回路260
は要求されたトラップがいつ発行できるのかを判断し、
そのとき、採るべきトラップを発生する。この場合、ト
ラップ優先付回路260はIPU待ちトラップ要求を受
は取れば、ディレクトリミス/ I P U待ちトラッ
プ信号を発生してクロック発生器230を付勢する。
ションについて説明する。同期回路241が線46を介
してキャッシュディレクトリ250からの信号を受は取
ると、ANDゲート501は°フラッシュ要求“SRL
回路502を付勢するだめの出力信号を発生する。SR
L回路502がセットされると、これに応答して出力信
号が発生される。SRL回路502の出力信号は“IP
U待ちトラップ”SRL回路506の1−フラッシュo
p”入力を付勢する。SRL回路5C1も第9図に示し
たSRLを含む回路でちる。SRL回路503はトラッ
プ優先付回路260を付勢するための”IPU待ちトラ
ップ要求1信号を発生する。トラップ優先付回路260
は要求されたトラップがいつ発行できるのかを判断し、
そのとき、採るべきトラップを発生する。この場合、ト
ラップ優先付回路260はIPU待ちトラップ要求を受
は取れば、ディレクトリミス/ I P U待ちトラッ
プ信号を発生してクロック発生器230を付勢する。
第10図を参照して、クロック発生器130および25
0の機能的なオペレーションを説明する。
0の機能的なオペレーションを説明する。
クロック発生器130および230のRクロック、Cク
ロック、SクロックおよびTクロックは、発振器70の
派出力(0、E、0、El ・・)をいろいろなりロッ
クパルスシーケンス(たとえばRクロックは、0,1,
2,3,0,1.2,3.・・・)に変換するクロック
パルス発生器である。プロセッサクロックモジュール2
31はトラップ優先付回路260からディレクトリミス
/IPU待ちトラップ信号を受は取ると、線85を介し
てSクロック266およびTクロック262内の1ラン
ラツチ“をリセットする。これにより、これらのSクロ
ック26′5およびTクロック262は、現在進行中の
シーケンスが最後の番号のクロックパルスに到達したと
きに、クロックパルスの発生を停止することができる。
ロック、SクロックおよびTクロックは、発振器70の
派出力(0、E、0、El ・・)をいろいろなりロッ
クパルスシーケンス(たとえばRクロックは、0,1,
2,3,0,1.2,3.・・・)に変換するクロック
パルス発生器である。プロセッサクロックモジュール2
31はトラップ優先付回路260からディレクトリミス
/IPU待ちトラップ信号を受は取ると、線85を介し
てSクロック266およびTクロック262内の1ラン
ラツチ“をリセットする。これにより、これらのSクロ
ック26′5およびTクロック262は、現在進行中の
シーケンスが最後の番号のクロックパルスに到達したと
きに、クロックパルスの発生を停止することができる。
たとえば、0.1.2.3゜4.5はトラップマイクロ
ワード命令のためのSクロックおよびTクロックのシー
ケンスであるが、クロックパルスシーケンスがクロック
パルス5になると、SクロックおよびTクロックはクロ
ックパルスの発生を停止する。Rクロック265および
Cクロック264は線85で制御されないので、これら
のクロックは各自のクロックパルスシーケンス(0,1
,2,’3,0.1.2,3.・・・)を発生し続ける
。RクロックおよびCクロックのクロックパルスシーケ
ンスは常に同期してお9、さらに、第1プロセッサ10
0のクロック発生器130のRクロック165およびC
クロック164とも常に同期している。Rクロック26
5からクロックパルス6が発生されると、Sクロック2
63が付勢されてそのう・ンラッチが走行状態にセット
される。これによシ、Sクロック233は、Rクロック
265およびCクロック264の発生するクロックパル
ス00時間と一致する時間で、自分のクロックパルス0
からシーケンスを開始することができる。こうして、S
クロック2′5乙の出力がRクロック2′55の出力と
同期される。Rクロック135および265ならびにC
クロック164および234の出力は常に同期している
ので、Sクロック266の出力はCクロック164の出
力と同期される(Cクロック134の出力でブロック回
路6・30を付勢する)。
ワード命令のためのSクロックおよびTクロックのシー
ケンスであるが、クロックパルスシーケンスがクロック
パルス5になると、SクロックおよびTクロックはクロ
ックパルスの発生を停止する。Rクロック265および
Cクロック264は線85で制御されないので、これら
のクロックは各自のクロックパルスシーケンス(0,1
,2,’3,0.1.2,3.・・・)を発生し続ける
。RクロックおよびCクロックのクロックパルスシーケ
ンスは常に同期してお9、さらに、第1プロセッサ10
0のクロック発生器130のRクロック165およびC
クロック164とも常に同期している。Rクロック26
5からクロックパルス6が発生されると、Sクロック2
63が付勢されてそのう・ンラッチが走行状態にセット
される。これによシ、Sクロック233は、Rクロック
265およびCクロック264の発生するクロックパル
ス00時間と一致する時間で、自分のクロックパルス0
からシーケンスを開始することができる。こうして、S
クロック2′5乙の出力がRクロック2′55の出力と
同期される。Rクロック135および265ならびにC
クロック164および234の出力は常に同期している
ので、Sクロック266の出力はCクロック164の出
力と同期される(Cクロック134の出力でブロック回
路6・30を付勢する)。
トラップ優先付回路260は”IPU待ちトラップ要求
”信号を受は取ると、ディレクトリミス/IPU待ちト
ラップ信号を発生し、これで、■PU210を付勢する
クロック発生器230は線52を介してブロック回路3
30を付勢するクロックと自分のクロックとを同期させ
る。第8図で、ANDゲート5o4はディレクトリミス
/IPU待ちトラップ信号と1フラッシュ要求’SRL
回路502の出力信号とを受は取る。これらに応答して
ANDゲー1−504は出力を発生してクロックトライ
バ505を付勢する。クロックトライバ505はクロン
ク信号CLKで付勢されると、−フラッシュ進行”SR
L回路506をセットする出力信号を発生する。SRL
回路506の出力はAC3242を付勢する。AC32
42はAC3142を付勢し、AC3142はブロック
回路630を付勢する代替キャツンユ探索信号#2を発
生する。AC3242がAC8142を付勢する出力信
号を発生するやシ方、およびAC3142が代替キャッ
シュ探索信号#2を発生するやり方は、第5図および第
6図を参照しながら次で説明する。
”信号を受は取ると、ディレクトリミス/IPU待ちト
ラップ信号を発生し、これで、■PU210を付勢する
クロック発生器230は線52を介してブロック回路3
30を付勢するクロックと自分のクロックとを同期させ
る。第8図で、ANDゲート5o4はディレクトリミス
/IPU待ちトラップ信号と1フラッシュ要求’SRL
回路502の出力信号とを受は取る。これらに応答して
ANDゲー1−504は出力を発生してクロックトライ
バ505を付勢する。クロックトライバ505はクロン
ク信号CLKで付勢されると、−フラッシュ進行”SR
L回路506をセットする出力信号を発生する。SRL
回路506の出力はAC3242を付勢する。AC32
42はAC3142を付勢し、AC3142はブロック
回路630を付勢する代替キャツンユ探索信号#2を発
生する。AC3242がAC8142を付勢する出力信
号を発生するやシ方、およびAC3142が代替キャッ
シュ探索信号#2を発生するやり方は、第5図および第
6図を参照しながら次で説明する。
第5図で、AC3242内のICT制御(2)246は
1フラッシュ進行”SRL回路50(Sからの出力信号
に応答してiyフラッシュXBRD1信号を発生する。
1フラッシュ進行”SRL回路50(Sからの出力信号
に応答してiyフラッシュXBRD1信号を発生する。
この’−YフラッシュXBRD”信号はAC3142内
のICT制御(1)144が受は取る。第6図で、受信
部404は1.1 −YフラッシュXBRD’信号
を受は取って出力を発生する。受信部404の発生する
出力はインバータ405を介してORゲート403を付
勢する。ORゲート403はこれに応答して出力を発生
してORドライバ407を付勢する。こうして、ORド
ライバ407は代替キャッシュ探索信号#2を発生する
。
のICT制御(1)144が受は取る。第6図で、受信
部404は1.1 −YフラッシュXBRD’信号
を受は取って出力を発生する。受信部404の発生する
出力はインバータ405を介してORゲート403を付
勢する。ORゲート403はこれに応答して出力を発生
してORドライバ407を付勢する。こうして、ORド
ライバ407は代替キャッシュ探索信号#2を発生する
。
第7図で、AC8142は代替キャッシュ探索信号#2
を発生し、ブロック回路360のANDゲート6′!、
1がこの信号を受は取る。ANDゲート651の他方の
入力’BSMビジー制御1はなお活動状態のままである
。ANDゲート631はORゲート332を介してクロ
ックトライバ366を付勢する出力信号を発生する。ク
ロックトライバ333はクロック信号CLKを受は取る
と、出力信号子〇および−Cを発生する。5RL334
はこの+C出力および一〇出力を受は取るとりセットさ
れて、新しい出力信号を発生する。5RL664の発生
するこの新しい出力信号は前の出力信号の状態と反対の
ものである。この新出力信号はNANDゲート336を
付勢し、該ゲートの出力は新しい状態になる。NAND
ゲート356のこの新出力でクロックトライバ337を
付勢する。クロックトライバ367は、クロック信号C
LKK″応答して、5RL338を付勢する変更された
出力信号(+Cおよび−C)を発生する。5RL338
は、この変更された出力信号を進めてB S M o
p制御回路670を付勢する。
を発生し、ブロック回路360のANDゲート6′!、
1がこの信号を受は取る。ANDゲート651の他方の
入力’BSMビジー制御1はなお活動状態のままである
。ANDゲート631はORゲート332を介してクロ
ックトライバ366を付勢する出力信号を発生する。ク
ロックトライバ333はクロック信号CLKを受は取る
と、出力信号子〇および−Cを発生する。5RL334
はこの+C出力および一〇出力を受は取るとりセットさ
れて、新しい出力信号を発生する。5RL664の発生
するこの新しい出力信号は前の出力信号の状態と反対の
ものである。この新出力信号はNANDゲート336を
付勢し、該ゲートの出力は新しい状態になる。NAND
ゲート356のこの新出力でクロックトライバ337を
付勢する。クロックトライバ367は、クロック信号C
LKK″応答して、5RL338を付勢する変更された
出力信号(+Cおよび−C)を発生する。5RL338
は、この変更された出力信号を進めてB S M o
p制御回路670を付勢する。
第6図で、B S M o p制御回路3’70の線6
9および64が活動化されるとBSMI 5およびキャ
ッシュ220が付勢される。クロック発生器2′50か
らのブロック回路′530を付勢するクロック信号は、
クロック発生器2′50からのI PU210を付勢す
るクロック信号と同期している。しだがって、第2プロ
セッサ200のクロックはBSM制御部300のクロッ
クと同期している。こウシて、1フラツシユ1オペレー
シヨンを開始することができる。
9および64が活動化されるとBSMI 5およびキャ
ッシュ220が付勢される。クロック発生器2′50か
らのブロック回路′530を付勢するクロック信号は、
クロック発生器2′50からのI PU210を付勢す
るクロック信号と同期している。しだがって、第2プロ
セッサ200のクロックはBSM制御部300のクロッ
クと同期している。こウシて、1フラツシユ1オペレー
シヨンを開始することができる。
IPU210のクロックがBSM制御部300内のブロ
ック回路330のクロックと同期すれば、所望の変更デ
ータはキャッシュ220から88M15ヘフラツシユさ
れる。第1プロセッサ100は、命令の実行中、所望の
変更データを利用することができる。
ック回路330のクロックと同期すれば、所望の変更デ
ータはキャッシュ220から88M15ヘフラツシユさ
れる。第1プロセッサ100は、命令の実行中、所望の
変更データを利用することができる。
1フラツシユ1オペレーシヨンが完了スれば、BSM制
御部300は、第1プロセッサ100がもともと発行し
現にコマンド状況レジスタ310に記憶された1ホエア
レバ(WHEREV’ER) 1タイプの命令を実行す
るため、条件付けて再開始しなければならない。一方、
コマンド状況レジスタ320をリセットしなければなら
ないし、第6図に示すマスキングシステムを再開始しな
ければならない。このために、opディスクリミネータ
340の出力でANDゲート350の入力を付勢する。
御部300は、第1プロセッサ100がもともと発行し
現にコマンド状況レジスタ310に記憶された1ホエア
レバ(WHEREV’ER) 1タイプの命令を実行す
るため、条件付けて再開始しなければならない。一方、
コマンド状況レジスタ320をリセットしなければなら
ないし、第6図に示すマスキングシステムを再開始しな
ければならない。このために、opディスクリミネータ
340の出力でANDゲート350の入力を付勢する。
この時点で、ANDゲート′550の他の入力は”BS
M制御リセット許可“信号で付勢される。この信号は1
フラツシユ1オペレーシヨンの完了時に発生されるもの
である。こうして、ANDゲート550はOpラッチ3
60をセントする出力信号を発生する。opラッチ36
0は線62を介してコマンドレジスタ320にリセット
信号を供給し、線63を介してB S M o p制御
回路670に再開始信号を供給する。線62を介するリ
セット信号で、コマンド状況レジスタろ20に記障され
たフラッシュ標識が除去される。コマンド状況レジスタ
320がリセットされフラッシュ標識が除去されると、
opディスクリミネータ640が滅せられてその1マス
ク1信号(線60)が非活動化される。これにより、B
SMop制御回路570のマスクが解除され、該回路は
第1プロセッサ100の1ホエアレバ(WHEREVE
R)’タイプの命令の情報を有するコマンド状況レジス
タ′510の内容をみることができる。B S M o
p制御回路370は、線66を介する再開始信号に応
答して、BSMI 5を付勢するだめの出力信号(線6
9)を発生する。こうして第1プロセッサ100ば1ホ
エアレバ(WHEREVER)’ タイプの命令の実行
を開始することができるようになる。
M制御リセット許可“信号で付勢される。この信号は1
フラツシユ1オペレーシヨンの完了時に発生されるもの
である。こうして、ANDゲート550はOpラッチ3
60をセントする出力信号を発生する。opラッチ36
0は線62を介してコマンドレジスタ320にリセット
信号を供給し、線63を介してB S M o p制御
回路670に再開始信号を供給する。線62を介するリ
セット信号で、コマンド状況レジスタろ20に記障され
たフラッシュ標識が除去される。コマンド状況レジスタ
320がリセットされフラッシュ標識が除去されると、
opディスクリミネータ640が滅せられてその1マス
ク1信号(線60)が非活動化される。これにより、B
SMop制御回路570のマスクが解除され、該回路は
第1プロセッサ100の1ホエアレバ(WHEREVE
R)’タイプの命令の情報を有するコマンド状況レジス
タ′510の内容をみることができる。B S M o
p制御回路370は、線66を介する再開始信号に応
答して、BSMI 5を付勢するだめの出力信号(線6
9)を発生する。こうして第1プロセッサ100ば1ホ
エアレバ(WHEREVER)’ タイプの命令の実行
を開始することができるようになる。
G9発明の詳細
な説明したように本発明によれば、フラツンユオペレー
ンヨンの前に関連するクロックの同期化を行うことによ
り、効率よくコマンドを実行することかできるようにな
るので多重プaセノf/ステムの性能が向上する。
ンヨンの前に関連するクロックの同期化を行うことによ
り、効率よくコマンドを実行することかできるようにな
るので多重プaセノf/ステムの性能が向上する。
第1図は本発明に基づく多重プロセッサ7ステムの実施
例を示す図、第2図は多重プロセッサ/ステムの一般的
な構成を示す図、第6図は第2図のBSM制御部の構成
を示す図、第4図は第6図のopディスクリミネータの
構成を示す図、第5図は第1図の代替キャソ7ユ探索信
号発生回路の構成を示す図、第6図は第5図のICT制
御(1)の構成を示す図、第7図は第6図のブロック回
路の構成を示す図、第8図は第1図のXモジュール
!′:の構成を示す図、第9図はシフトレジス
タランチ(SRL)の構成を示す図、第10図は第1図
のクロック発生器の構成を示す図、第11A図およびI
g11B図はプロセッサのクロックとBSM制御部のク
ロックとの同期外れ状態および同期状態をそれぞれ表わ
す図である。 出願人 インターナシタナ7u−ビジネス・マシーンズ
・コーポレーション”寸\ 第5図 第6図 rl O 同期外i状厭 第11A図 同期状態 第11B図
例を示す図、第2図は多重プロセッサ/ステムの一般的
な構成を示す図、第6図は第2図のBSM制御部の構成
を示す図、第4図は第6図のopディスクリミネータの
構成を示す図、第5図は第1図の代替キャソ7ユ探索信
号発生回路の構成を示す図、第6図は第5図のICT制
御(1)の構成を示す図、第7図は第6図のブロック回
路の構成を示す図、第8図は第1図のXモジュール
!′:の構成を示す図、第9図はシフトレジス
タランチ(SRL)の構成を示す図、第10図は第1図
のクロック発生器の構成を示す図、第11A図およびI
g11B図はプロセッサのクロックとBSM制御部のク
ロックとの同期外れ状態および同期状態をそれぞれ表わ
す図である。 出願人 インターナシタナ7u−ビジネス・マシーンズ
・コーポレーション”寸\ 第5図 第6図 rl O 同期外i状厭 第11A図 同期状態 第11B図
Claims (1)
- 第1プロセッサ、第2プロセッサ、および主メモリを含
み、前記第2プロセッサを付勢するクロック信号および
前記主メモリを付勢するクロック信号に応答して前記第
2プロセッサのキャッシュに存する所望のデータを前記
主メモリへフラッシュして記憶し、該主メモリに記憶さ
れた所望のデータを前記第1プロセッサが命令の実行に
使用するような多重プロセッサシステムであつて、前記
所望のデータを前記第2プロセッサのキャッシュから前
記主メモリへフラッシュする前に前記第2プロセッサを
付勢するクロック信号を前記主メモリを付勢するクロッ
ク信号と同期させる手段を設けたことを特徴とする多重
プロセッサシステム。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US06/664,284 US4827401A (en) | 1984-10-24 | 1984-10-24 | Method and apparatus for synchronizing clocks prior to the execution of a flush operation |
| US664284 | 1984-10-24 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPS61101854A true JPS61101854A (ja) | 1986-05-20 |
| JPH0460256B2 JPH0460256B2 (ja) | 1992-09-25 |
Family
ID=24665384
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP60139266A Granted JPS61101854A (ja) | 1984-10-24 | 1985-06-27 | 多重プロセツサシステム |
Country Status (5)
| Country | Link |
|---|---|
| US (1) | US4827401A (ja) |
| EP (1) | EP0179218B1 (ja) |
| JP (1) | JPS61101854A (ja) |
| CA (1) | CA1223669A (ja) |
| DE (1) | DE3584758D1 (ja) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH05108577A (ja) * | 1991-09-06 | 1993-04-30 | Fujitsu Ltd | キヤツシユ制御方式 |
Families Citing this family (64)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5045996A (en) * | 1986-11-12 | 1991-09-03 | Xerox Corporation | Multiprocessor cache memory housekeeping |
| US5133064A (en) * | 1987-04-27 | 1992-07-21 | Hitachi, Ltd. | Data processing system generating clock signal from an input clock, phase locked to the input clock and used for clocking logic devices |
| AU616213B2 (en) * | 1987-11-09 | 1991-10-24 | Tandem Computers Incorporated | Method and apparatus for synchronizing a plurality of processors |
| CA2003338A1 (en) * | 1987-11-09 | 1990-06-09 | Richard W. Cutts, Jr. | Synchronization of fault-tolerant computer system having multiple processors |
| US5204952A (en) * | 1988-07-18 | 1993-04-20 | Northern Telecom Limited | Duplex processor arrangement for a switching system |
| AU625293B2 (en) * | 1988-12-09 | 1992-07-09 | Tandem Computers Incorporated | Synchronization of fault-tolerant computer system having multiple processors |
| US4965717A (en) * | 1988-12-09 | 1990-10-23 | Tandem Computers Incorporated | Multiple processor system having shared memory with private-write capability |
| US5097532A (en) * | 1989-03-03 | 1992-03-17 | Compaq Computer Corporation | Circuit for enabling a cache using a flush input to circumvent a late noncachable address input |
| US5295258A (en) * | 1989-12-22 | 1994-03-15 | Tandem Computers Incorporated | Fault-tolerant computer system with online recovery and reintegration of redundant components |
| US5203004A (en) * | 1990-01-08 | 1993-04-13 | Tandem Computers Incorporated | Multi-board system having electronic keying and preventing power to improperly connected plug-in board with improperly configured diode connections |
| JP2779032B2 (ja) * | 1990-01-23 | 1998-07-23 | 株式会社日立製作所 | 情報処理装置 |
| US5317731A (en) * | 1991-02-25 | 1994-05-31 | International Business Machines Corporation | Intelligent page store for concurrent and consistent access to a database by a transaction processor and a query processor |
| US5495596A (en) * | 1992-07-31 | 1996-02-27 | Silicon Graphics, Inc. | Method for clocking functional units in one cycle by using a single clock for routing clock inputs to initiate receive operations prior to transmit operations |
| US5379415A (en) * | 1992-09-29 | 1995-01-03 | Zitel Corporation | Fault tolerant memory system |
| US5448716A (en) * | 1992-10-30 | 1995-09-05 | International Business Machines Corporation | Apparatus and method for booting a multiple processor system having a global/local memory architecture |
| JP3579461B2 (ja) * | 1993-10-15 | 2004-10-20 | 株式会社ルネサステクノロジ | データ処理システム及びデータ処理装置 |
| US5790805A (en) * | 1996-04-23 | 1998-08-04 | Ncr Corporation | Distributed timer synchronization |
| US5794019A (en) * | 1997-01-22 | 1998-08-11 | International Business Machines Corp. | Processor with free running clock with momentary synchronization to subsystem clock during data transfers |
| US5895488A (en) * | 1997-02-24 | 1999-04-20 | Eccs, Inc. | Cache flushing methods and apparatus |
| US6965974B1 (en) * | 1997-11-14 | 2005-11-15 | Agere Systems Inc. | Dynamic partitioning of memory banks among multiple agents |
| US6724220B1 (en) | 2000-10-26 | 2004-04-20 | Cyress Semiconductor Corporation | Programmable microcontroller architecture (mixed analog/digital) |
| US8103496B1 (en) | 2000-10-26 | 2012-01-24 | Cypress Semicondutor Corporation | Breakpoint control in an in-circuit emulation system |
| US8149048B1 (en) | 2000-10-26 | 2012-04-03 | Cypress Semiconductor Corporation | Apparatus and method for programmable power management in a programmable analog circuit block |
| US8176296B2 (en) | 2000-10-26 | 2012-05-08 | Cypress Semiconductor Corporation | Programmable microcontroller architecture |
| US7765095B1 (en) | 2000-10-26 | 2010-07-27 | Cypress Semiconductor Corporation | Conditional branching in an in-circuit emulation system |
| US8160864B1 (en) | 2000-10-26 | 2012-04-17 | Cypress Semiconductor Corporation | In-circuit emulator and pod synchronized boot |
| US6950954B1 (en) * | 2000-10-26 | 2005-09-27 | Cypress Semiconductor Corporation | Method and circuit for synchronizing a write operation between an on-chip microprocessor and an on-chip programmable analog device operating at different frequencies |
| US6697925B1 (en) * | 2000-12-22 | 2004-02-24 | Unisys Corporation | Use of a cache ownership mechanism to synchronize multiple dayclocks |
| GB2373400B (en) * | 2001-01-17 | 2003-04-09 | Marconi Comm Ltd | Real time clocks in communications networks |
| KR20040019335A (ko) * | 2001-07-18 | 2004-03-05 | 코닌클리즈케 필립스 일렉트로닉스 엔.브이. | 다중프로세서 디바이스 및 동기화 최적화 방법 및 액세스제어 방법 |
| US7406674B1 (en) | 2001-10-24 | 2008-07-29 | Cypress Semiconductor Corporation | Method and apparatus for generating microcontroller configuration information |
| US8078970B1 (en) | 2001-11-09 | 2011-12-13 | Cypress Semiconductor Corporation | Graphical user interface with user-selectable list-box |
| US8042093B1 (en) | 2001-11-15 | 2011-10-18 | Cypress Semiconductor Corporation | System providing automatic source code generation for personalization and parameterization of user modules |
| US6971004B1 (en) | 2001-11-19 | 2005-11-29 | Cypress Semiconductor Corp. | System and method of dynamically reconfiguring a programmable integrated circuit |
| US7844437B1 (en) * | 2001-11-19 | 2010-11-30 | Cypress Semiconductor Corporation | System and method for performing next placements and pruning of disallowed placements for programming an integrated circuit |
| US8069405B1 (en) | 2001-11-19 | 2011-11-29 | Cypress Semiconductor Corporation | User interface for efficiently browsing an electronic document using data-driven tabs |
| US7774190B1 (en) | 2001-11-19 | 2010-08-10 | Cypress Semiconductor Corporation | Sleep and stall in an in-circuit emulation system |
| US7770113B1 (en) | 2001-11-19 | 2010-08-03 | Cypress Semiconductor Corporation | System and method for dynamically generating a configuration datasheet |
| US8103497B1 (en) | 2002-03-28 | 2012-01-24 | Cypress Semiconductor Corporation | External interface for event architecture |
| US7308608B1 (en) | 2002-05-01 | 2007-12-11 | Cypress Semiconductor Corporation | Reconfigurable testing system and method |
| US7761845B1 (en) | 2002-09-09 | 2010-07-20 | Cypress Semiconductor Corporation | Method for parameterizing a user module |
| US7318165B2 (en) * | 2004-01-15 | 2008-01-08 | International Business Machines Corporation | Apparatus for managing a cache in a distributed caching environment having an event auditor and a cache auditor |
| US7295049B1 (en) | 2004-03-25 | 2007-11-13 | Cypress Semiconductor Corporation | Method and circuit for rapid alignment of signals |
| US8082531B2 (en) * | 2004-08-13 | 2011-12-20 | Cypress Semiconductor Corporation | Method and an apparatus to design a processing system using a graphical user interface |
| US8286125B2 (en) | 2004-08-13 | 2012-10-09 | Cypress Semiconductor Corporation | Model for a hardware device-independent method of defining embedded firmware for programmable systems |
| US8069436B2 (en) | 2004-08-13 | 2011-11-29 | Cypress Semiconductor Corporation | Providing hardware independence to automate code generation of processing device firmware |
| US7332976B1 (en) | 2005-02-04 | 2008-02-19 | Cypress Semiconductor Corporation | Poly-phase frequency synthesis oscillator |
| US7400183B1 (en) | 2005-05-05 | 2008-07-15 | Cypress Semiconductor Corporation | Voltage controlled oscillator delay cell and method |
| US8089461B2 (en) | 2005-06-23 | 2012-01-03 | Cypress Semiconductor Corporation | Touch wake for electronic devices |
| US8085067B1 (en) | 2005-12-21 | 2011-12-27 | Cypress Semiconductor Corporation | Differential-to-single ended signal converter circuit and method |
| US8067948B2 (en) | 2006-03-27 | 2011-11-29 | Cypress Semiconductor Corporation | Input/output multiplexer bus |
| US9564902B2 (en) | 2007-04-17 | 2017-02-07 | Cypress Semiconductor Corporation | Dynamically configurable and re-configurable data path |
| US8040266B2 (en) | 2007-04-17 | 2011-10-18 | Cypress Semiconductor Corporation | Programmable sigma-delta analog-to-digital converter |
| US7737724B2 (en) | 2007-04-17 | 2010-06-15 | Cypress Semiconductor Corporation | Universal digital block interconnection and channel routing |
| US8026739B2 (en) | 2007-04-17 | 2011-09-27 | Cypress Semiconductor Corporation | System level interconnect with programmable switching |
| US8092083B2 (en) | 2007-04-17 | 2012-01-10 | Cypress Semiconductor Corporation | Temperature sensor with digital bandgap |
| US8130025B2 (en) | 2007-04-17 | 2012-03-06 | Cypress Semiconductor Corporation | Numerical band gap |
| US8516025B2 (en) * | 2007-04-17 | 2013-08-20 | Cypress Semiconductor Corporation | Clock driven dynamic datapath chaining |
| US8065653B1 (en) | 2007-04-25 | 2011-11-22 | Cypress Semiconductor Corporation | Configuration of programmable IC design elements |
| US9720805B1 (en) | 2007-04-25 | 2017-08-01 | Cypress Semiconductor Corporation | System and method for controlling a target device |
| US8266575B1 (en) | 2007-04-25 | 2012-09-11 | Cypress Semiconductor Corporation | Systems and methods for dynamically reconfiguring a programmable system on a chip |
| US8049569B1 (en) | 2007-09-05 | 2011-11-01 | Cypress Semiconductor Corporation | Circuit and method for improving the accuracy of a crystal-less oscillator having dual-frequency modes |
| US9448964B2 (en) | 2009-05-04 | 2016-09-20 | Cypress Semiconductor Corporation | Autonomous control in a programmable system |
| US8719507B2 (en) * | 2012-01-04 | 2014-05-06 | International Business Machines Corporation | Near neighbor data cache sharing |
Family Cites Families (11)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US3735360A (en) * | 1971-08-25 | 1973-05-22 | Ibm | High speed buffer operation in a multi-processing system |
| US3845474A (en) * | 1973-11-05 | 1974-10-29 | Honeywell Inf Systems | Cache store clearing operation for multiprocessor mode |
| US4065862A (en) * | 1975-09-15 | 1978-01-03 | American Express Company | Method and apparatus for synchronizing data and clock signals |
| US4021784A (en) * | 1976-03-12 | 1977-05-03 | Sperry Rand Corporation | Clock synchronization system |
| US4169284A (en) * | 1978-03-07 | 1979-09-25 | International Business Machines Corporation | Cache control for concurrent access |
| US4168541A (en) * | 1978-09-25 | 1979-09-18 | Sperry Rand Corporation | Paired least recently used block replacement system |
| US4325120A (en) * | 1978-12-21 | 1982-04-13 | Intel Corporation | Data processing system |
| US4394731A (en) * | 1980-11-10 | 1983-07-19 | International Business Machines Corporation | Cache storage line shareability control for a multiprocessor system |
| US4484267A (en) * | 1981-12-30 | 1984-11-20 | International Business Machines Corporation | Cache sharing control in a multiprocessor |
| US4513370A (en) * | 1982-07-19 | 1985-04-23 | Amdahl Corporation | Data transfer control system and method for a plurality of linked stations |
| US4639856A (en) * | 1983-11-04 | 1987-01-27 | International Business Machines Corporation | Dual stream processor apparatus |
-
1984
- 1984-10-24 US US06/664,284 patent/US4827401A/en not_active Expired - Fee Related
-
1985
- 1985-05-23 CA CA000482184A patent/CA1223669A/en not_active Expired
- 1985-06-27 JP JP60139266A patent/JPS61101854A/ja active Granted
- 1985-08-20 EP EP85110387A patent/EP0179218B1/en not_active Expired
- 1985-08-20 DE DE8585110387T patent/DE3584758D1/de not_active Expired - Lifetime
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH05108577A (ja) * | 1991-09-06 | 1993-04-30 | Fujitsu Ltd | キヤツシユ制御方式 |
Also Published As
| Publication number | Publication date |
|---|---|
| EP0179218A2 (en) | 1986-04-30 |
| EP0179218B1 (en) | 1991-11-27 |
| EP0179218A3 (en) | 1988-12-21 |
| JPH0460256B2 (ja) | 1992-09-25 |
| CA1223669A (en) | 1987-06-30 |
| DE3584758D1 (de) | 1992-01-09 |
| US4827401A (en) | 1989-05-02 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JPS61101854A (ja) | 多重プロセツサシステム | |
| KR860001274B1 (ko) | 병렬처리용 데이터 처리 시스템 | |
| JP2559959B2 (ja) | 複数の非同期的プロセスによりレコードを更新する方法 | |
| US8473950B2 (en) | Parallel nested transactions | |
| US7814281B2 (en) | Method to provide atomic update primitives in an asymmetric heterogeneous multiprocessor environment | |
| US7793052B2 (en) | System and method for implementing hybrid single-compare-single-store operations | |
| US5307483A (en) | Synchronization instruction for multiple processor network | |
| EP0965919A2 (en) | A probabilistic queue lock | |
| US20190004851A1 (en) | Methods and apparatus to perform atomic transactions in nonvolatile memory under hardware transactional memory | |
| US5450590A (en) | Authorization method for conditional command execution | |
| JPH0677233B2 (ja) | データ処理システム | |
| FR2677472A1 (fr) | Unite de controle pour memoire cache de second niveau. | |
| KR100476446B1 (ko) | 라운드 로빈 및 로킹 캐시 대체 수행 방법 및 장치 | |
| JPH032958A (ja) | 多重プロセッサシステムにおけるシリアライズ機能の検証方式 | |
| US4713751A (en) | Masking commands for a second processor when a first processor requires a flushing operation in a multiprocessor system | |
| EP0364226A2 (en) | A system for performing a serializing control of a reference to a main storage | |
| US6493802B1 (en) | Method and apparatus for performing speculative memory fills into a microprocessor | |
| KR0153487B1 (ko) | 장치간의 통신 수행 방법 및 통신 수행 시스템 | |
| IE61306B1 (en) | Method and device to execute two instruction sequences in an order determined in advance | |
| JP3789937B2 (ja) | ベクトルプロセッサのためのチャンク連鎖 | |
| EP0287600B1 (en) | Method and device to execute two instruction sequences in an order determined in advance | |
| US3245048A (en) | Computer clock phase lock | |
| SE445270B (sv) | Dator med ett fickminne, vars arbetscykel er uppdelad i tva delcykler | |
| US6035383A (en) | Memory access request result prediction prior to confirm signal generation | |
| JPS6232812B2 (ja) |