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
Application number
JP60139266A
Other languages
English (en)
Other versions
JPH0460256B2 (ja
Inventor
ジヨン・ヒユルステイツチ
アール・ホイツトニー・ジヤクソン、ジユニア
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPS61101854A publication Critical patent/JPS61101854A/ja
Publication of JPH0460256B2 publication Critical patent/JPH0460256B2/ja
Granted legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0804Addressing 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、産業上の利用分野 本発明は多重プロセッサシステムに関し、さらニ詳シく
いエバ、フラッシュオペレーションの前に関連するクロ
ックの同期化を遂行する同期手段を具備する多重プロセ
ッサシステムに関するものでちる。
B、開示の概要 以下に示す多重プロセッサシステムは、第1プロセッサ
、第2プロセッサ、および主メモリを含むシステムにお
いて、フラッシュオペレーション(後述)の必要が生じ
たときにそのオペレーションの前に関連するクロックの
同期化を遂行する同期手段を設けることにより、システ
ムの性能の最適化を図るようにしたものである。
C6従来技術 たとえば、2つのプロセッサAおよびBを有する多重プ
ロセッサシステムでは、一方のプロセッサA(−または
B)が自分のキャッシュで所望のデータをみつけようと
してそれがみつからないときは、もう一方のプロセッサ
B(tたはA)のキャッシュでそのデータを探す。これ
でもみつからないときは、データは主メモリから検索し
なければならない。データはプロセッサBのキャッシュ
でみつかることもある。所望のデータをみつけたプロセ
ッサAは命令の実行に必ずそのデータを用いる。命令に
よっては、プロセッサAはプロセッサBのキャッシュか
らそのデータを直接検索し自分のキャッシュに記憶して
その命令の実行に使用する場合もある。
しかしながら、その他の命令では、プロセッサAはプロ
セッサBのキャッシュからデータを直接検索することは
できず、そのデータをプロセッサBのキャッシュから主
メモリへ転送しなければならない。このようなキャッシ
ュから主メモリへの転送のことを、ここでは特に°フラ
ッシュ(flush)’という。すなわち、上記その他
の命令はフラッシュオペレーションをiする。フラッシ
ュオペレーションの間、所望のデータはプロセッサBの
キャツツシュから主メモリへフラッシュサレル。プロセ
ッサAはそのデータを用いて命令を実行する。
D3発明が解決しようとする問題点 以上のように2つのプロセッサが1つの主メモリを共有
するような多重プロセッサシステムには多くの問題があ
る。これらの問題は多重プロセッサシステムの性能を最
適化するために解決すべきものである。解決すべき多く
の問題のうち、本発明で取シ上げる技術的課題は以下に
示すような、フラッシュオペレーションに関する同期で
ある。
プロセッサAのクロックはプロセッサBのクロックと独
立的に走行するので、プロセッサAのクロックは、プロ
セッサBのクロックおよび主メモリ制御部のクロックに
対して同期が外れる場合がある。
したがって本発明の目的はフラッシュオペレーションに
先立って関連するクロックを同期させるだめの手段を具
備した多重プロセッサシステムを提供することである。
E1問題点を解決するための手段 上記目的を達成するため、本発明の多重プロセッサシス
テムは、第1プロセッサ、第2プロセッサ、および主メ
モリを含み、第2プロセッサを付勢するクロック信号お
よび主メモリを付勢するクロック信号に応答して第2プ
ロセッサのキャッシュに存する所望のデータを主メモリ
ヘフラツシュして記憶し、該主メモリに記憶された所望
のデータを第1プロセッサが命令の実行に使用するよう
な多重プロセッサシステムであって、所望のデータを第
2プロセッサのキャッシュから主メモリヘフラツシュす
る前に第2プロセッサを付勢するクロック信号を主メモ
リを付勢するクロック信号と同期させる手段を設けたこ
とを特徴としている。
F、実施例 はじめに本発明の実施例の概要について説明する。簡単
にいえば本実施例の多重プロセッサシステムは、第2プ
ロセッサのキャッシュから主メモリへ所望のページデー
タをフラッシュする前に第2プロセッサのクロックを主
メモリ制御部のクロックと同期させるための手段を具備
するものである。所望のページデータが第2プロセッサ
のキャッシュでみつかったときは第1の信号が発生され
これによシ代替キャッシュ探索信号発生回路が付勢され
て第1の代替キャッシュ探索信号が発生される。この第
1の代替キャッシュ探索信号は、フラッシュオペレーシ
ョンの開始を遅延させるだめのブロック回路を付勢する
。上記第1の信号は、同時に、第2プロセッサのクロッ
クを主メモリのクロックと同期させるための同期回路も
付勢する。
i□     同期化が完了すれば同期回路は第2の信
号を発生し、これによシ最終的に第2の代替キャッシュ
探索信号が発生されて、上記ブロック回路のブロッキン
グが解除される。ブロッキングが解除されれハ、フラッ
シュオペレーションが始−t;b。
以下、図面を参照しながら実施例について詳しく説明す
る。
Fl  多重プロセッサシステム(第1図および第2図
) 第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に接続
する。
第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
の各々に対応する。
第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は多重プロセッサシステムの
機能を制御するためのものである。
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に接続する
B S M o p制御回路370の出力はキャッシュ
120、キャッシュ2201および83M15に接続し
、キャッシュとBSMとの間のデータ転送を側脚する。
F3  opディスクリミネータ(第4図)第4図は第
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である
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に接続され
、そこからの信号に応答して代替キャッシュ探索信号を
出力する。
この信号をブロック回路′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の他の入力を付勢する。
インバータ406を介スる1+フラッシュ1ノセット1
信号で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の入力を付勢する。
5RL411の出力21はインノく一夕415および4
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の出力はクロックドライ 
バ3′5乙の入力に接続する。クロックトライバ333
は+0出力と一〇出力とを有する・2れらoi。
出力は5RL334の入力に接続する。5RL364の
マスク部(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の入力に接続する。
5RL338の出力はB S M o p制御回路ろ7
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に接続する(これは同期回
路によって異なる)。
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号に示されるものを用いることができる。
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待
ちトラップ“信号を発する。
下記の第1表は、I P’U 110、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。
・・・というパルスシーケンスを発生しているところが
ある。IPU210のパルス4が発生されると、BSM
制御部300に関連するクロックはIPU210に関連
するクロックに対して同期が外れる。
後で説明するが、IPU210に関連するクロックは、
所望のページデータを88M15ヘフラツシユする前に
、BSM制御部300のブロック回路660に関連する
クロックと同期しなければならない。
第11A図は、1つのプロセッサ(たとえば第゛7°°
″″7′?100″″′あ6とす6)′関連すOl、。
ロックがBSM制御部300に関連するクロックに対し
て同期が外れているような同期外れの状態を示す図であ
る。第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パルス分の期間)で付勢されるからである
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からBSMI5へのデ
ータのフラッシュを必要としないが第2プロセッサ20
0のキャッシュから第1プロセッサ100のキャッシュ
へ直接のデータ転送を必要とするような別の命令を第1
プロセッサ100が実行しているときは、上記のブロッ
キングは最初から行われない;データは第2プロセッサ
200のキャッシュから第1プロセッサ100のキャッ
シュへ直接転送されてその命令の実行が開始され″  
    る。
第2図に示す多重プロセッサシステムでは、フラッシュ
オペレーションを必要とするもとの命令を第1プロセッ
サ100が実行しているときは、ブロッキングが発生し
、これによシクロンクの同期化のオペレーションが完了
するまでフラッシュオペレーションがブロッキングされ
る。同期化が完了すれば、もとの命令が実行される。前
述のように、フラッシュオペレーションを必要としない
別の命令をプロセッサ100が実行しているときは、同
期化は必要ない。クロックの同期化を完了できるように
通常はフラッシュオペレーションがブロックされるので
あるから、ブロッキングは必要すい。シタがって、フラ
ッシュオペレーションを必要としない別の命令の実行が
感知されたときは、ブロッキングは最初から遂行されな
い。
第1図で、I PU210が1つの命令を実行する場合
、データは88M15から検索されて線40を介してキ
ャツ/ユ220に記憶される。デー′を+’vyy″″
20に言己憶するのは・続″″′C“       )
ヤツシュ220からデータを取シ出すのに要する時間が
88M15から取シ出すよシもずっと短くてすむからで
ある。命令が実行されればデータは変更してもよい。変
更されたデータはキャッシュ220に再び記憶する。変
更前のもとのデータはなおりSMl 5に存在する。
第1プロセッサ100が第2プロセッサ200のキャッ
シュ220に記憶された変更データを利用する命令を実
行しなければならないと仮定する。
さらに、第1プロセッサ100の実行すべき命令が、デ
ータを88M15から検索しなければならないものであ
って且つ第2プロセッサ200から直接検索することの
できないような特別なタイプの命令であるとする。この
特別なタイプの命令は、たとえば、′ホエアレバ(WH
EREVER)’タイプの命令である。
その命令の実行前に、第1プロセッサ100のキャッシ
ュディレクトリ150は変更データがキャッシュ120
に記憶されているかどうかを判断するためキャッシュ1
20を検討する。変更データがそこに記憶されていない
とキャッシュディレクトリ150が判断すると、第1プ
ロセッサ100は線42および46を介して、第2プロ
セッサ200のキャッシュ220に変更データがあるか
どうかを探索するようキャッシュディレクトリ250に
命令する。キャッシュディレクトリ250は線44を介
して変更データがキャッシュ220にあるかどうかを探
索する。
このキャッシュ220の探索と同時に、線46を介して
キャッシュディレクトリ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を付勢
する。
キャッシュディレクトリ250は、キャッシュディレク
トリ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を付勢す
る。
この段階で、キャッシュ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?    、。
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を付勢する
opディスクリミネータ640の出力信号は、コマンド
状況レジスタ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実行を開始することができる
第4図を参照しながら、opディスクリミネータ340
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)”フラッシュ”標識の存在を
感知し、これに応答して出力信号を発生したということ
に留意されたい。
モジコマンド状況レジスタ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なる。
第7図を参照して、ブロック回路560の機能的なオペ
レーションを説明する。代替キャッシュ探索信号#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の出力信号でインバータ665を付勢する
。インバータ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オペレー
ションは始まらない。
第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を付勢する。
第10図を参照して、クロック発生器130および25
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は、現在進行中の
シーケンスが最後の番号のクロックパルスに到達したと
きに、クロックパルスの発生を停止することができる。
たとえば、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を付勢する)。
トラップ優先付回路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図を参照しながら次で説明する。
第5図で、AC3242内のICT制御(2)246は
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を発生する
第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を付勢する。
第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オペレー
シヨンを開始することができる。
IPU210のクロックがBSM制御部300内のブロ
ック回路330のクロックと同期すれば、所望の変更デ
ータはキャッシュ220から88M15ヘフラツシユさ
れる。第1プロセッサ100は、命令の実行中、所望の
変更データを利用することができる。
1フラツシユ1オペレーシヨンが完了スれば、BSM制
御部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)’ タイプの命令の実行
を開始することができるようになる。
G9発明の詳細 な説明したように本発明によれば、フラツンユオペレー
ンヨンの前に関連するクロックの同期化を行うことによ
り、効率よくコマンドを実行することかできるようにな
るので多重プ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図

Claims (1)

    【特許請求の範囲】
  1. 第1プロセッサ、第2プロセッサ、および主メモリを含
    み、前記第2プロセッサを付勢するクロック信号および
    前記主メモリを付勢するクロック信号に応答して前記第
    2プロセッサのキャッシュに存する所望のデータを前記
    主メモリへフラッシュして記憶し、該主メモリに記憶さ
    れた所望のデータを前記第1プロセッサが命令の実行に
    使用するような多重プロセッサシステムであつて、前記
    所望のデータを前記第2プロセッサのキャッシュから前
    記主メモリへフラッシュする前に前記第2プロセッサを
    付勢するクロック信号を前記主メモリを付勢するクロッ
    ク信号と同期させる手段を設けたことを特徴とする多重
    プロセッサシステム。
JP60139266A 1984-10-24 1985-06-27 多重プロセツサシステム Granted JPS61101854A (ja)

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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05108577A (ja) * 1991-09-06 1993-04-30 Fujitsu Ltd キヤツシユ制御方式

Families Citing this family (64)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Cited By (1)

* Cited by examiner, † Cited by third party
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)