JPH01196642A - キャッシュ無効化制御方式 - Google Patents

キャッシュ無効化制御方式

Info

Publication number
JPH01196642A
JPH01196642A JP63021699A JP2169988A JPH01196642A JP H01196642 A JPH01196642 A JP H01196642A JP 63021699 A JP63021699 A JP 63021699A JP 2169988 A JP2169988 A JP 2169988A JP H01196642 A JPH01196642 A JP H01196642A
Authority
JP
Japan
Prior art keywords
processing
cache
data
dow
request
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP63021699A
Other languages
English (en)
Inventor
Hideki Osone
大曽根 秀樹
Atsushi Ike
敦 池
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP63021699A priority Critical patent/JPH01196642A/ja
Publication of JPH01196642A publication Critical patent/JPH01196642A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 〔概要〕 計算機システムにおいて、主記憶装置のバッファとして
用いられるキャッシュと、主記憶装置との間のデータの
無矛盾性を保証するキャッシュ無効化制御方式に関し。
主記憶装置からキャッシュへデータを読み込むにあたっ
て、CPUの命令制御部からの要求を必要以上に禁止し
ないようにし、処理効率を向上させることを目的とし。
キャッシュへの各無効化要求を受けた時点と。
主記憶装置からキャッシュへデータが読み込まれる予告
信号を受けた時点との時間的な前後関係を識別する手段
を設け、キャッシュへの読み込みデータより時間的に前
の無効化要求をシリアライズの対象とし1時間的に後の
無効化要求をシリアライズの対象外とする制御を行うよ
うに構成する。
〔産業上の利用分野〕
本発明は、計算機システムにおいて、主記憶装置のバッ
ファとして用いられるキャッシュと、主記憶装置との間
のデータの無矛盾性を保証するキャッシュ無効化制御方
式に関する。
〔従来の技術〕
第4図はキャッシュと主記憶装置間の同時性の保証を説
明するための図、第5図は従来のBlスタックのポイン
タ制御説明図、第6図は従来方式%式% 第4図において、10−1.10−2はキャッシュ(バ
ッファ記憶装置)、40−1.40−2は中央処理装置
(CPU)、41は主記憶装置(MSU−MCU)を表
す。
例えば、第4図に示すような主記憶装置41を共有する
マルチプロセッサシステムでは、主記憶装置41の内容
と、自CPUのキャッシュおよびT L B (Tra
nslation Lookaside Buffer
)に取り込まれている内容の一致を保証するために、他
CPUが主記憶装置の内容を書き換えたときには、自C
PUのキャッシュあるいはTLBの8亥当フ゛ロツクを
無効化(B r : Buffer Invalida
tion ) Lなければならない。そのため、主記憶
装置側からバッファ無効化アドレスを受は取るBIスタ
ック(Buffer Invalidation 5t
ack)が用いられる。B■スタックは、バイブライン
制御部に無効化処理のリクエストを送り出すFIFO型
のスタックである。リクエストが受は付けられると、B
lスタックから1エントリずつ取り出され、バッフ1内
の該当ブロックが無効化される。
キャッシュのブロックデータ間の同時性(CacheC
ons i s tency)が保証されるならば、B
lリクエストの処理が完了していなくても、キャッシュ
からのデータフェッチをBl処理に優先させて処理でき
る。すなわち、キャッシュへの読み込み(MOVBIN
)が実行されなければ、キャッシュデータ間の同時性は
CPU内で保持されているので。
キャッシュからのデータフェッチは、Bl処理に先行で
きる。しかしながら、−旦、MOVEINが実行される
と、MOVEINデータ(主記憶データ:他CPUによ
って最近に変更された可能性がある)と、MOVEIN
以前に受は取った未処理BTリクエストの未無効化デー
タ(MOVBINデータよりも時間的に前に変更された
可能性があるにもかかわらず更新されていない)が、同
一キャッシュ内に存在することになり、同時性が失われ
てしまう、そのため、−時的にキャッシュからのデータ
フェッチを禁止させてBl処理を先行させ、同時性を再
確立するという処理が必要となる。
すなわち、第4図(イ)に示すように、CPU40−1
がデータBを主記憶装置41に書き出し。
主記憶装置41からCPU40−2へ無効化要求(Bl
リクエスト)が出されたとする。さらに。
CPU40−2のキャッシュ10−2内において。
データBがまだ無効化されていないときに、主記憶装置
41から他のデータAのMOVBINが実行されると、
キャッシュ10−2内に1時間的に矛盾するデータが一
時的に存在することになる。
このような同時性に対する保証を考慮し、Blリクエス
トの処理が完了していな(でも、キャッシュからのデー
タフェッチを許すためには、−時的にキャッシュからの
データフェッチを禁止するという内部的なシリアライズ
処理(Implicit 5erialization
)が必要となる。
具体的に、データのフェッチが許される場合と。
許されない場合を、第4図(ロ)に従って説明すると、
以下のとおりである。
最初、主記憶装置41には、データA1とデータBlと
が記憶されており、CPU40−2のキャッシュ10−
2にも、これらのデータが取り込まれていたとする。こ
こで、CPU40−1が。
まずデータA1をデータA2に更新し、その後に。
データB1をデータB2に更新し、たとする。
CPU40−2が、データB1のアドレスからデータを
読み、その後にデータA1のアドレスからデータを読む
ときに、同時性が保証されているのは1次のケースであ
る。
(i)データBlを読み、データA1を読む場合。
(ii)データB1を読み、データA2を読む場合。
(iii )データB2を読み、データA2を読む場合
一方1次の場合には、同時性は保証されないことになる
(iv )データB2を読み、データA1を読む場合。
この(iv)のケースは、−時的にも主記憶装置41上
にデータAIとデータB2とが共有する状態が現れない
ので、同時性が失われることになり。
このようなフェッチは許されない。換言すれば。
以上の同時性が保証される限り、BIリクエスト処理が
完了していなくても、キャッシュからのデータフェッチ
を行ってもよいことになる。
ところで、従来、Blスタックは1例えば第5図に示す
ようなポインタによって管理されている。
第5図において、16はBIスタック、50〜52はそ
れぞれBTスタック16へのポインタ、53はある時点
におけるポインタ50の値を記憶するレジスタである。
第5図に示すように、BIスタック16は、複数のエン
トリから構成されるリング状のスタックで、これを′W
IIIIするために、nビットのポインタ3個(IN−
POINTER,0UT−POrNTEl?、 CPL
T−POINTER)と、 IN−POINTERの値
を保持しておくnビットのレジスタ(MARKER) 
53とを持つ。
IN−POINTERは、Blスタック16に書き込む
場所を示し、書き込みごとに+1ずつ更新される。
0υT−POINTERは2次のB!処理エントリを示
し。
パイプライン制御部にリクエストを送り出すごとに、+
1ずつ更新される。 CPLT−POINTERは、B
l処理の完了したエントリを示す。MARKERは、シ
リアライズ処理の際に、 IN−POINTERの出力
を保持しておくためのものであって、これと、 CPL
T−POINTERとの指示が一致するまで、キャッシ
ュからのデータフェッチが禁止される。
従来方式では、これらのポインタを利用した内部的なシ
リアライズ処理に関連する制御は、第6図に示すように
行われている。第6図(イ)において、60−0〜60
−5はレジスタ、61.62は比較回路、63はアンド
回路、64はラッチである。
主記憶装置側(MCU)から、MOVEINデータの送
出が始まる例えば7τ前に、その予告信号として、  
DOW(Data Out Warning)が、CP
Uへ送られる。このDOWは、第6図(イ)に示すレジ
スタ60−θ〜60−5により、過去の6τ分、順次保
持される。
第5図に示したIN−POINTERの値が、 CPL
T−POINTEl?の値よりも大きい(Blスタック
に未処理Blエントリがある)場合、比較回路6Iの出
力が1″になる。DOWを受けてからετ後に、比較回
路61の出力と、 MS−DOW−VALとのアンド条
件により、 SET−MARKERの信号が出力され、
 IN−POINTERが、 MARKERを保持する
レジスタ53にセットされる。また、ラフチロ4がセッ
トされて、 5liT−INl(−CPIJ−BY−8
1が出力され、CPUの命令制御部(Iunit)から
の要求が禁止される。これによって、BI処理要求が、
命令制御部の要求に優先される。
以後、81処理要求がBIスタック16からバイブライ
ン制御部に対し送出されるごとに、 CPLT−POI
N7L’Rの指示が+1され、これがMARKERの指
示に等しくなつた時点、すなわち、BIスタック16に
未処理Blエントリがなくなった時点に、 BI−MA
RKER−MATC)Iの信号が出力されると共に、ラ
ッチ64がリセットされ、 5ET−INH−CPU−
BY−Blが消えて、命令制御部からの要求の受付が再
開される。
第6図(ロ)は、この制御に関するDOW受信時のタイ
ムチャートを示している。これかられかるように、 M
ARKERにセントされるIN−POINTERの値は
、MOVErNが始まる時点のものである。
〔発明が解決しようとする問題点〕
MOVBINデータに関する主記憶装置内データとの同
時性は、主記憶装置側(MCU)によって、DOW送出
時点で保証されている。従って。
DOW以降に受は取ったBI処理要求は、少なくとも内
部的なシリアライズ処理の対象にする必要はない、第4
図(ロ)で説明したように、キャッシュ内のデータが、
主記憶装置内のデータより古いデータであっても、一連
のデータアクセス間で時間的逆転が生じるようなアクセ
スでなければ問題はないからである。
しかしながら、第6図に示したような従来方式では、D
OWを受は取った後のBl処理要求、すなわち、第6図
(ロ)に示すaの期間に発生したBl処理要求を、それ
以前のBl処理要求と区別することはできず、 5ET
−INH−CPU−BY−Blによって命令制御部から
の要求を禁止すると、その時点でBIスタック16内に
あるBl処理要求を、すべて処理してしまうため、命令
制御部からの要求を必要以上に制限してしまい、その分
だけ効率を低下させることになっている。
本発明は上記問題点の解決を図り、主記憶装置からキャ
ッシュへデータを読み込むにあたって。
CPUの命令制御部からの要求を必要以上に禁止しない
ようにし、処理効率を向上させることを目的としている
〔問題点を解決するための手段〕
第1図は本発明の原理説明図である。
第1図において、10はキャッシュ(バッファ記憶装置
)、11はデータを記憶するバッファデータ部、12は
パンファデータ部ll内のデータに対応して、そのアド
レス情報および有効/無効情報等を記憶するバッファタ
グ部、13はキャッシュエントリの無効化要求を制御す
るB(@?i回路、14はBl処理要求とDOWを受け
た時点との前後関係を識別する前後関係識別手段、15
はBl処理要求をパイプライン制御部(図示省略)へ送
り出す無効化制御手段、16はBlスタックを表す。
本発明では9前後関係識別手段14を設け、これより、
各Bl処理要求を受けた時点と、キャッシュ10ヘデー
タが読み込まれる予告信号DOWを受けた時点との時間
的な前後関係を識別する。
すなわち、Blスタック16に登録されるBl処理要求
について、DOWを受は取る前のBl処理要求と、DO
Wを受は取った後のBl処理要求とを識別する。
そして、DOWを受は取る前のBl処理要求を内部的な
シリアライズ処理(ImpHcit 5erializ
aLion)の対象とし、DOWを受は取った後のBE
処理要求を内部的なシリアライズ処理の対象から除外す
る制御を行う。
〔作用〕
キャッシュ10のバッファデータ部11へ読み込まれる
データと、主記憶装置内データとの同時性は、主記憶制
御装置側(MCU)によって、予告信号DOWの送出時
点で保証されている。従9て、DOWを受は取った後の
Bl処理要求を保留しておいても、キャッシュ10と主
記憶装置との同時性は保証される。本発明は、この点に
着目し取ってからMOVEINが開始されるまでのBl
処理要求があっても、その要求は内部的なシリアライズ
処理の優先対象から外されるので、従来方式に比べて、
その処理時間だけ、命令制御部の要求を制限する時間が
短縮されることになる。
〔実施例〕
第2図は本発明の一実施例、第3図は本発明の他の実施
例を示す。
第2図(イ)において、20−0ないし20−5は主記
憶装置側から送られてきたDOWを各MO〜M5のパイ
プラインで保持するレジスタ、21−0ないし21−5
はBlスタックに各B】処理要求情報を書き込む場所を
示すポインタIN−PQINTEIIの情報を各MO〜
M5のパイプラインで保持するレジスタ、22.23は
比較回路、24はアンド回路、25はランチ、26はD
OWを受は取った時点のIN−POINTEI?の値を
記憶するレジスタを表す。
第2図に示す実施例では、従来方式における一ARKE
Rにセットする値を、MOVEINの開始時点ではなく
、DOWを受は付けた時点のIN−POINTERの値
とする。これによって、DOWを受けた時点と、Blス
タックに登録される各Bl処理要求の時点との前後関係
を識別し、DOW以降のBl処理要求を、内部的なシリ
アライズ処理の対象から除外する。
そのため、第2図(イ)に示すように、DOWと共に、
DOWを受は取った際におけるIN−POINTERの
指示を、θτ分、順次各レジスタ21−0〜レジスタ2
1−5に保持させる。なお、以下の説明において、 I
N−POINTER,0(IT−PONJTEI? 、
 CPLT−POINTER,MARKERは、第5図
で説明したBlスタック16の管理用のポインタおよび
レジスタに対応するものである。
レジスタ21−5の出力であるMS−IN−POINT
ERの値が、 CPLT−POINTERの値よりも大
きい場合、比較回路22の出力が“I”になる。この比
較回路22の出力と、  MS−DOW−VALとのア
ンド条件により、 SET−MARKf!Rの信号が出
力され、DOWを受は付けた時点のIN−POINTE
Rの値、すなわち、 M54N−POINTERが、 
MARKER値を保持するレジスタ26にセントされる
。また、ラッチ25がセットされて。
5ET−IN)l−CPU−BY−BIが出力され、C
PUの命令制御部(I unit)からの要求が禁止さ
れる。これによって、Bl処理要求が、命令制御部の要
求に優先されるが、その優先されるBl処理要求は、D
OWを受は付ける前までのBl処理要求であり。
DOWを受は取った後のBl処理要求は除外される。そ
のため、シリアライズに関する制御の無駄を省くことが
できる。
第2図(ロ)は、この制御に関するDOW受信時のタイ
ムチャートを示している。これかられかるように、 M
ARKERにセントされるIN−POINTERの値は
、DOWを受は付けた時点のものであり、Blスタック
におけるDOW受付時点のIN−POINTERまでの
Bl処理要求だけがシリアライズ処理の対象となる。
第3図は2本発明の第2の実施例を示すものである。こ
の例では、第3図(イ)に示すように。
Blスタック16の各エントリ、すなわち、BT処理要
求単位にカウンタ31が付与され、各カウンタ31の値
によって、DOW以降の処理要求を。
内部的なシリアライス処理の対象から外す制御がなされ
る。
各カウンタ31は、BI処理要求を主記憶装置側(MC
U)から受は取って、それをBlスタック16に登録す
る際に初期化される。そして、DOWを受は取った時点
で、カウンタ31によるカウントが開始される。
Bl処理要求のプライオリティがとれて、パイプライン
制御部に送り出されれば、カウントはその時点で無効に
なるが、そのままカウントが続いて、カウント値が「6
」に達した場合、すなわち。
DOWを受は取る以前のBl処理要求のうち3M0VE
IN開始時点(開始後も含む)で未処理のものが1つ以
上存在する場合、第3図(ロ)に示す判断回路32によ
り、ラッチ33がセットされ。
内部的なシリアライゼーションとして、 5ET−Nf
l−CPU−BY−Blが出力されて、命令制御部から
の要求が禁止され、BI処理要求が優先的に処理される
Blスタック16における有効フラグ30が“1”の有
効エントリに対応するカウント31の値で、「6J以上
のものがなくなれば、ランチ33はリセフトされ、 5
ET−IN)l−CPU−BY−Blの信号は落とされ
る。これにより、命令制御部からのリクエストが再開さ
れることになる。
第3図(ハ)は、この第2の実施例についてのタイムチ
ャートを示しており、ここで、 Counter−of
−Entry−1は、1番目のカウンタ31の値を示し
ている。
この例でも、DOWを受は取った後のBl処理要求は、
内部的なシリアライス処理の対象から除外されるため、
バッファ制御上の無駄が省かれることになる。
〔発明の効果〕
以上説明したように1本発明によれば、キャッシュ内デ
ータ間の同時性を保証すると共に、CPUの命令M扉部
からの要求を必要以上に禁止することがなくなるので、
システム全体の処理効率が向上する。
【図面の簡単な説明】
第1図は本発明の原理説明図。 第2図は本発明の第1実施例。 第3図は本発明の第2実施例。 第4図はキャッシュと主記憶装置間の同時性説引回。 第5図は従来のB[スタックのポインタ制御説明図。 第6図は従来方式の例を示す。 図中、10はキャッシュ、11はバッファデータ部、1
2はパフファタグ部、13はBI制御回路、14は前後
関係識別手段、15は無効化制御手段、16はBlスタ
ックを表す。

Claims (1)

  1. 【特許請求の範囲】 主記憶装置に記憶されるデータの一部を記憶するキャッ
    シュを有し、該キャッシュと主記憶装置との間のデータ
    の無矛盾性を保証するためのキャッシュエントリの無効
    化機構を有する情報処理装置において、 前記キャッシュへの各無効化要求を受けた時点と、前記
    主記憶装置から前記キャッシュへデータが読み込まれる
    予告信号を受けた時点との時間的な前後関係を識別する
    手段(14)を設け、前記キャッシュへの読み込みデー
    タより時間的に前の無効化要求をシリアライズの対象と
    し、時間的に後の無効化要求をシリアライズの対象外と
    する制御を行うようにしたことを特徴とするキャッシュ
    無効化制御方式。
JP63021699A 1988-02-01 1988-02-01 キャッシュ無効化制御方式 Pending JPH01196642A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP63021699A JPH01196642A (ja) 1988-02-01 1988-02-01 キャッシュ無効化制御方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP63021699A JPH01196642A (ja) 1988-02-01 1988-02-01 キャッシュ無効化制御方式

Publications (1)

Publication Number Publication Date
JPH01196642A true JPH01196642A (ja) 1989-08-08

Family

ID=12062314

Family Applications (1)

Application Number Title Priority Date Filing Date
JP63021699A Pending JPH01196642A (ja) 1988-02-01 1988-02-01 キャッシュ無効化制御方式

Country Status (1)

Country Link
JP (1) JPH01196642A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0272453A (ja) * 1988-06-27 1990-03-12 Digital Equip Corp <Dec> 共有メモリ及び私用キャッシュメモリを有するマルチプロセッサコンピュータシステム

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62115553A (ja) * 1985-11-15 1987-05-27 Fujitsu Ltd バッファストレイジ無効化処理方式

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62115553A (ja) * 1985-11-15 1987-05-27 Fujitsu Ltd バッファストレイジ無効化処理方式

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0272453A (ja) * 1988-06-27 1990-03-12 Digital Equip Corp <Dec> 共有メモリ及び私用キャッシュメモリを有するマルチプロセッサコンピュータシステム

Similar Documents

Publication Publication Date Title
US5185871A (en) Coordination of out-of-sequence fetching between multiple processors using re-execution of instructions
US5490261A (en) Interlock for controlling processor ownership of pipelined data for a store in cache
US4626988A (en) Instruction fetch look-aside buffer with loop mode control
US5664148A (en) Cache arrangement including coalescing buffer queue for non-cacheable data
US6662289B1 (en) Method and apparatus for direct conveyance of physical addresses from user level code to peripheral devices in virtual memory systems
KR100243853B1 (ko) 개량된메모리아키텍쳐를위한방법및장치
US20070143287A1 (en) Coordinating access to memory locations for hardware transactional memory transactions and software transactional memory transactions
US5018063A (en) Method for reducing cross-interrogate delays in a multiprocessor system
US5226146A (en) Duplicate tag store purge queue
CN110291507B (zh) 用于提供对存储器系统的加速访问的方法和装置
JPH04306748A (ja) 情報処理装置
US5016168A (en) Method for storing into non-exclusive cache lines in multiprocessor systems
JPH0532775B2 (ja)
JP3360933B2 (ja) 情報処理システムにおける記憶制御方法および記憶制御装置
KR900007135B1 (ko) 우선 선택회로를 갖는 바퍼 스토리지 제어 시스템
US20030084254A1 (en) Cache control device and method
US20050044321A1 (en) Method and system for multiprocess cache management
CN113900968B (zh) 多副本非原子写的存储序同步操作实现方法与实现装置
JPH01196642A (ja) キャッシュ無効化制御方式
EP0366323A2 (en) Duplicate tag store purge queue
JPH06187239A (ja) 多階層キャッシュメモリにおけるデータ一致制御方式
GB2037466A (en) Computer with cache memory
JP2825983B2 (ja) 情報処理装置
JPH06103476B2 (ja) シリアライズ命令制御装置
JPS62115553A (ja) バッファストレイジ無効化処理方式