JPH02300960A - データ事前取出し方法およびマルチプロセッサ・システム - Google Patents

データ事前取出し方法およびマルチプロセッサ・システム

Info

Publication number
JPH02300960A
JPH02300960A JP2110655A JP11065590A JPH02300960A JP H02300960 A JPH02300960 A JP H02300960A JP 2110655 A JP2110655 A JP 2110655A JP 11065590 A JP11065590 A JP 11065590A JP H02300960 A JPH02300960 A JP H02300960A
Authority
JP
Japan
Prior art keywords
line
processor
cache
entry
control element
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
JP2110655A
Other languages
English (en)
Other versions
JPH07101412B2 (ja
Inventor
Lishing Liu
リシング・リウ
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 JPH02300960A publication Critical patent/JPH02300960A/ja
Publication of JPH07101412B2 publication Critical patent/JPH07101412B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0815Cache consistency protocols
    • G06F12/0817Cache consistency protocols using directory methods
    • G06F12/0822Copy directories
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/0862Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with prefetch
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/60Details of cache memory
    • G06F2212/6024History based prefetching

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)

Abstract

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

Description

【発明の詳細な説明】 A、産業上の利用分野 本発明は、一般にマルチプロセッサ(MP)データ処理
システムにおける大型キャッシュ・メモリ内のデータ・
ミスを減らすための技術に関し、さらに具体的には記憶
情報に基づくマルチプロセッサ・キャッシュ内のデータ
事前取出し機構に関する。
B、従来の技術 別々のプロセッサで同時に走行することができる動作を
並列に実行することにより、スループットを高める、高
性能MPコンピュータ・システムが開発されている。こ
のような高性能MPコンピュータ・システムは、複数の
中央プロセッサ(CP)が、独立して並列に動作するが
、データ交換が必要なとき、相互にあるいは主記憶装置
との間で時々通信することを特徴とする。CPとMSは
、入出力(I 10)ポートを有し、データを交換する
際にはそれらを接続しなければならない。
各CPがそれ自体のキャッシュを有する緊密結合マルチ
プロセッサ・システムと呼ばれるタイプのMPシステム
では、システムの様々なレベルで、整合性の問題が存在
する。特にメモリ階層の隣接したレベル間で不整合が発
生する。多重キャッシュは、たとえばCPの1つがその
コピーを修正したために、同じデータの異なるパージ日
ンをもっことがあり得る。それゆえ、各プロセッサのキ
ャッシュが、同時にいくつかのキャッシュ内にある行(
ライン、以下では単に行という)に何が起こったのかを
知る必要がある。多数のCPが同じ主記憶装置を共用す
るMPシステムでは、各CPは、アクセスが発行された
時、アーキテクチャ仕様に従って、データの最も最近に
更新されたバージョンを得ることが必要である。この要
件により、キャッシュ間のデータの整合性を常に監視す
ることが必要となる。
キャッシュの整合性の問題に対する多数の解決策が提案
されてきた。初期の解決策は、C,に、  タンク(T
ang)の論文「緊密結合マルチプロセッサ・システム
におけるキャッシュ・システムの設計(Cache S
ystem Design in the Tight
ly CoupledMultiprocessor 
System) J 1Proceedings of
the AFIPS (1976)と、L、M、 セン
シエ(Censfer)とP、フォトリエ(Feaut
rier)  の論文「多重キャッシュ・システムでの
整合性の問題に対する新しい解決策(ΔHew 5ol
ution to CoherenceProblem
s  in  Multicache  System
s)、J  N  IEEETransactions
on Computersll 978年12月1pp
、1112−1118に記載されている。センシエ等は
、集中大域アクセス許可テーブルを用いた、共用書き込
み可能データが複数のキャッシュ内に存在できる方式を
記載している。しかし、センシエ等は結論の節で認めて
いるように、2年早くタングが同様の手法を記述してい
ることを知らなかった。タングは、状況を維持するため
にキャッシュのコピー登録簿(ディレクトリ)を用いる
ことを提案したが、センシエ等は、如似の状況ビットで
各メモリ・ブロックをタグ付けすることを提案した。
マルチ・プロセッサ(MP)キャッシュの整合性に対す
る代表的な手法は次の通りである。プロセッサは、キャ
ッシュ行を修正する(その中に記憶する)ことを必要と
する時、まず遠隔キャッシュ内のその行のコピーを無効
にする。これは、記憶信号を(たとえば、全プロセッサ
を接続する共通バスを介して)遠隔プロセッサに同報通
信することにより、あるいは集中記憶機能(たとえば、
■BM3081システム内の記憶制御エレメント(SC
E))からの許可を要求することにより実現される。遠
隔プロセッサ・キャッシュ内にあろうとなかろうと、キ
ャッシュ行を無効にするプロセスは、相互間合せ無効化
(XI無効化)と呼ばれる。そのようなXI無効化信号
を減らすための様々な設計技術が提案されている。たと
えば、IBM3081システムでは、プロセッサ・キャ
ッシュでの排他的(EX)状況を使って、関連する行が
遠隔キャッシュ内に存在しないという情報を記録するが
、排他的状況のため、キャッシュ中に記憶される時に、
XI無効化活動を必要としない。
従来のMPXI無効化設計に固有の1つのオーバーヘッ
ドは、XI無効化による余分のミスがあることである。
すなわち、そのキャッシュへのプロセッサ・アクセスで
、行が見つからないことがあるが、アクセス前に遠隔プ
ロセッサによってXI無効化されない場合には、そのこ
とは起こらないはずである。この問題は、より多くの中
央プロセッサ(CP)で大型キャッシュが使われるよう
になって、より深刻になってきている。シミュレーシロ
ンの結果、そのような余分のミスは、はとんどが命令行
(1行)ではなく、データ行(D行)で起こることを示
している。大型キャッシュを用いる場合、ミス率は、ユ
ニプロセッサ(UP)環境中ではかなり満足できるもの
である。遠隔記憶による余分のミスを減らすための1つ
の手法は、遠隔CPによって無効にされる可能性のある
データ行を事前に取り出すことである。
C1発明が解決しようとする課題 本発明の1つの目的は、記憶情報に基づ<MPキャッシ
ュ内のデータ事前取出し機構を提供し、それによって大
型キャッシュを有するMP内のデータ・ミスを大幅に減
らすことである。
00課題を解決するための手段 本発明によれば、活動記録情報を用いる機構を使って、
データ事前取出しくD事前取出し)の判断を行なう。こ
の情報は、活動記録テーブルH内に記憶され、そのよう
なテーブルが各CPごとに1つ、たとえばバッファ制御
エレメント(BCE)にある。それぞれの行りについて
、H[Lコは、H内のLに関する情報を示す。異なる2
つのタイプの活動記録がHに保持できる。
(1)XI無効化 −各H[Lコに、Lが再取出しなし
にXI無効化されたかどうかが記録される。
(2)  CHLOC−各H[Lコに、また局所変更活
動記録、すなわち最後の取出し以降にLが記憶されたか
どうかが記録される。
また、記憶制御エレメント(SCE)に大域Hを保持す
ることも可能である。この場合、SCEは、各行ごとに
テーブルI記録、すなわちCPによる最後のアクセス中
に、LがXI無効化を必要としたかどうかを記録する情
報I [:L]を保持する。プロセッサCPからのしに
対するキャッシュ・ミスが起こった時、SCEは、キャ
ッシュCi内にない場合、XI無効化を必要とした(I
で示される)行のいくつかをキャッシュCi中に事前に
取り出す。テーブルの管理は簡単である。記憶またはE
X取出し時にたとえばL上でXI無効化が起こった時、
対応するエントリがセットされる。
たとえばD取出しミスの時にLにアクセスした時は、X
I無効化なしにI内のエントリがリセットされる。エン
トリをオフにするための他の基準は、その行がいつ取り
出されるか、たとえば要求時かそれとも事前取出し時か
である・ E、実施例 ここで図面、特に第1図を参照すると、本発明が適用で
きるタイプのマルチプロセッサ(MP)システムがブロ
ック・ダイヤグラムの形で示されている。MPシステム
は、4つの中央処理装置(CPo1CP11CP2、C
P3)を含み、各cpが、それぞれ命令実行(IE)ユ
ニット14.15.1B、17、およびバッフT制御エ
レメント(BCE)20.21.22.23を含む。各
IEユニットは、主記憶装置(MS)50内のオペラン
ドの取出しと記憶を要求する命令を発行する、ハードウ
ェアとマイクロコードを含んでいる。
IEユニット14〜17は、当該のキャッシュ制御機構
BCE20〜23に取出し命令または記憶命令を発行す
ることにより、取出し動作または記憶動作を開始し、プ
ロセッサ・ストアスルー(ST)キャッシュとそれに関
連するプロセッサ・キャッシュ登録簿(PD) 、およ
び関連するCP10〜L13が独占的に使用するすべて
のプロセッサ・キャッシュ制御機構を含んでいる。CP
は、一般に、オペランドが必要とする各ダブルワード(
DW)単位ごとに取出し命令または記憶命令を発行する
。そのDWを含むキャッシュ行がPD内にあって、キャ
ッシュ・ヒツトである場合は、命令の押類に応じて、そ
のDWがキャッシュから取り出され、またはキャッシュ
に記憶される。キャッシュ内オペランド取出しヒツトの
場合は、記憶装置アクセスは、BCEの外に行く必要な
く完了する。時々、要求されたDWがキャッシュ内にな
く、キャッシュ・ミスになることがある。IE取出し命
令または記憶命令が完了する前に、DWを主記憶装置か
ら取り出さなければならない。そうするために、BCE
は、IEユニットが要求するDWを有するデータ行単位
を主記憶装置50から得ることを記憶制御エレメント(
SCE)に要求する、対応する取出しミス命令または記
憶ミス命令を生成する。その行単位は、主記憶装置50
内の行の境界上にあるが、要求されたDWは、ミスとな
った行転送が完了するまでIE要求を生かし続けるため
に、要求するBCEに戻される、取り出された行内の最
初のDWとなる。
5CE30は、CP10〜13と主記憶装置50に接続
されている。主記憶装置50は、複数の基本記憶モジュ
ール(BSM)制御装置B S C01BSC,、B 
S c、、BSCa(それぞれ51.52.53.54
)から構成され、各基本記憶制御装置が2つのBSMO
(60,62,64,66)と1(61,63,85,
87)に接続されている。4つのB5Cl51〜54は
、それぞれ5CE30に接続されている。従来のシステ
ムでは、5CE30は、4つのコピー登録簿(CD)3
1.3’2.33.34を含み、そのそれぞれが、米国
特許第4394731号明細書に述べられたのと同様の
方式で、BCFの1つに、対応するプロセッサ・キャッ
シュ登録簿の内容のイメージを含んでいる。
ダブルワード広域両方向データ・バスが、主記憶装置内
の各BSM60〜87と、対応するSCEボートとの間
、およびSCEボートから入出力チャネル・プロセッサ
40および対応するCPIO〜13への間に設けられて
いる。データ、バスと共に、制御信号およびアドレス信
号用の別になった数組のコマンド・バスもある。CPが
DWアクセス要求に対するキャッシュ・ミスに出会った
時、そのBCEは、ミス・コマンドを5CE30に送る
ことにより、主記憶装置に対する行アクセス要求を開始
する。次いで5CE30は、主記憶装置内の要求された
BSMに命令を再発行する。83M使用中状態の場合に
は、S(:E30は、その要求をコマンド待ち行列にセ
ーブし、後で要求される88M80〜67が有効になっ
た時に再発行する。5CE30はまた、キャッシュの衝
突がそのXI論理回路によって発見された時を除いて、
特定のBSMに対するすべてのコマンドが先入れ先出し
くF I FO)の順序で発行されるように、規則正し
く主記憶装置コマンドを順序づける。主記憶装置要求を
取り扱う通常のシーケンス中、5CE30は、たえず主
記憶装置の状況を監視し、保護キーとすべてのキャッシ
ュ登録簿の間合せ結果を分析し、現在5CE30中に保
持されているすべての未処理コマンドの更新済み状況を
検査し、また5CE30が受け取るのをBCE20ない
し23内で待っている新しいBCEコマンドを探す。
5CE30は、複数の記憶スタック(SSOlSSI、
SS2.5S3)35.36.37.38を保持し、各
スタックは対応するCPに対する最高16DWまでの主
記憶装置記憶要求を保持する。
5CE30は、記憶スタックに対する、主記憶装置アド
レスと有効性を示す十分な登録簿情報を保持する。記憶
スタックがオーバフローの危険がある時、5CE30は
、BCEが5CE30から記憶スタック満杯状態をクリ
アする信号を後で受け取るまで、それ以上の記憶要求の
送信を保留にするため、関連するBCE20〜23に優
先順位要求を送る。記憶スタック内のデータは、それぞ
の記憶スタック内で着順を維持する適当なスケジューリ
ングで、主記憶装置に対して更新される。CPからの行
取出し要求は、記憶スタック内のその行に対する既存の
すべての記憶が関連する88M60〜67に送られたこ
とをSCEが確かめるまで、5CE30によって保持さ
れる。
従来のMPキャッシュ設計に固有の1つのオーバヘッド
は、XI無効化による余分のミスが起こることである。
ある行が1つのプロセッサによって記憶される時、その
行のコピーを、適切な時点で、遠隔キャッシュから無効
にする必要がある。
キャッシュ設計および作業負荷が与えられている場合、
参照によってに重MP構成中の局所キャッシュ中にその
行が見つからないことの発生1件当りの命令の数をmk
とする。すなわち、mは、MP効果のないユニプロセッ
サ(UP) ミス挙動と考えることができる。
1kIII をXI無効化によるに重MPシステム内での(UPと比
較した)余分のミス1件当りの命令の数とする。以後の
議論では、特定の参照のタイプに対する挙動を表すため
に肩文字を使用する。たとえば、m*”は、K重MPシ
ステム内のD取出しキャッシュ・ミス1件当りの命令の
数を表す。実験から、そのような余分のミスは主にD行
で起こることがわかった。キャンシュ・サイズが大きく
なった時、あるいはさらにプロセッサを追加した時、そ
のような余分のミスはMIPSでより高い割合になる。
たとえば、ある環境では、余分のミスの率だけで、シス
テム性能の4%を超えることがある。また、実験データ
から、プロセッサは命令行にはめったに記憶しないので
、そのような余分のキャッシュ・ミスのほとんどがデー
タ行によるものであることがわかっている。
余分のミスによるそのようなオーバヘッドを減らすため
の1つの方法は、データの事前取出しである。この余分
のミスは、X■無効化のみによって生′じるものである
ことが明らかである。したがって1事前取出しを、X■
無効化活動記録に対して実行できる。この手法は、より
一般的なデータ事前取出し方式と比較すると、次のよう
な利点を有する。
(1)一般にデータ事前取出しは命令事前取出しく工事
前取出し)はどの効果がない。より一般的なり事前取出
しは、制御機能と記憶トラフィックに過度の負担を生ず
る恐れがある。XI無効化に関連する活動に対してのみ
D事前取出しを実行すると、事前取出しの頻度が減って
、事前取出し挙動が改善される。
(2)有効なり事前取出しには、活動記録が必要である
。XIに関連する活動記録はMPシステム設計に有用で
あり、したがって、xI活動記録はD事前取出しに限ら
ず利益を与える。
まず、D事前取出し判断用に設けた活動記録テーブルH
について考える。各CPに対してそのようなテーブルが
(たとえば、BCEに)1つずつある。以下で説明する
ように、入城活動記録テーブルHはSCEに保持するこ
とができる。各行りごとにH[Lコを用いてテーブルH
内の行に関する情報を示す。各CPに対するテーブルが
ある時は、Hiを用いてプロセッサCPIに対する活動
記録テーブルを表す。2つのタイプの活動記録がHに保
持できる。
(i)XI無効化−各H[:L]で、Lが事前取出しな
しでXI無効化されたかどうかに関する記録を保持する
(ii)CHLoc−局所変更活動記録、すなわちLが
最後の取出し以降に記憶されたかどうかの記録を保持す
る。
次に、様々なアルゴリズムに関する評価結果を示す。2
重MP (2WMP)メモリ基準トレースを用いてシミ
ュレーシーンを行なった。4重セット連想式および64
バイトをもつ512にプロセッサ・キャッシュ・メモリ
行のみについて考えた。
シミュレートされた基本MPアルゴリズムは、読取り専
用(RO)アグレッシブであったが、条件付き排他的(
EX)D取出しくすなわち、行がどのキャッシュにもな
い時の、D取出しEX)を含むものであった。UPおよ
び2WMP構成の場合、キャッシュ°ミスに関して、第
2図に示した結果が得られた(XI活動をカウントしな
い)。ここで、肩文字IFは命令取出しを表し、肩文字
DFはデータ(オペランド)取出しを示し、肩文字DS
はデータ(オペランド)記憶を表す。2(1)(=13
1.7)の3/4近くはD取出しによるものであり、1
/41tD記憶によるものであった・第3図は、各CP
110+のBCE20+が、データ事前取出しのために
局所活動記録テーブルH1を維持している構成を示して
いる。主記憶装置(MS)内のすべての行は、それぞれ
連続するT行を含む固定サイズのブロックにまとめられ
る。
各行りについて、BLは行りを含むブロックを表す。本
発明を例示するため、まず各H1を活動記録無効化テー
ブルと見なす。各H1は固定サイズのビット・ベクトル
である。各記憶装置行りについて、ゼット・エンド’J
H+lコが、行アドレスを介してセットされる。最初に
H4の全ビットがゼロにリセットされる。
(a)  ビットH+[Lコは、BCEが遠隔要求によ
ってそのキャッシュからLを無効にする時、セットされ
る(オンになる)。
H+の各ビットは、次の状況でオフになる。
(b)  ビットH1[L]は、行りがD行としてCP
lのキャッシュ中に取り出される時、リセットされる。
CPIのキャッシュ内でD行ミスが起こった時、BCE
は、次のように事前取出しの判断を行なう。
(c)ブロックBl内の(L自体を含む)各行L′は、
行L′がキャッシュ内にない時、ビットH1[L’lが
セットされている場合、行りがら順に、キャッシュ中に
取り出される。好ましい実施例では、ブロックBLは、
行りの直前の1行と、行りの直後の2行から成る。
主に、活動記録無効化テーブルH+は、局所キャッシュ
から無効にされたD行を監視し、Dミスが起こった時、
事前取出し動作をトリガする。
実験では、32にのエントリを有する各H1用のハツシ
ュ・テーブルを使用した。ハツシュ・テーブル内の各エ
ントリは、1ビツトであった。連続する行の数がT=4
の場合、第4図に示した結果が得られる。これらの結果
は、データの事前取出しなしの標準のMPに比べて、Δ
2(m)が47゜3%減少することを示している。さら
に、Dミス(58,7個の命令毎に1回)のうち21.
4%(274,2個の命令毎に1回)だけで、有効なデ
ータ取出しくすなわち、少なくとも1つの非要求行が事
前に取り出されたもの)が行なわれた。
有効なデータ事前取出しのうち72.6%(または93
.2%)で、1行だけ(または最高2行)事前に取り出
され、平均して毎回1.14行が事前に取り出された。
上記の実験で、各CP用のハツシュ・テーブルの代りに
たとえばSCEにある1つのハツシュ・テーブルHを使
用する場合、局所XI無効化テーブルで認められる結果
に非常に近い結果が得られる。第5図は、そのような設
計の構成を示している。大域活動記録無効化テーブルH
171を用いたD事前取出しの操作は、局所テーブルを
用いた操作に非常に似ている。
(d)SCEが(それ自体が取出しミスを起こすことが
ある)CPからの要求によりいずれかのCPにLのXI
無効化を発行する時、ビットH[Lコがセットされる。
(8)行りがD行としてCPキャッシュ中に取り出され
る時、ビットH[Lコがリセットされる。
これには、上記ステップ(d)に述べた取出しミスの状
態は含まれない。
(f)CPからのD行取出しミスの時、ビットH[L1
]がセットされ、L′がそこにない場合、ブロックBL
内のそれぞれの行L’(L自体を含む)は、Lから順に
要求キャッシュ中に取り出される。
上記ステップ(f’)で、SCEは対応するコピー登録
簿を調べることにより(ターゲットCPキャッシュ内に
既にある行の)不必要な事前取出しを除去することがで
きる。SCEが局所キャッシュのために常駐の情報を維
持しないある種の設計では、BCEは、関連するブロッ
クBL内のこれらの行がキャッシュ内に常駐することを
示すタグを単にDミス要求と共にSCEに送る。
MPキャッシュ設計では、x■無効化動作は、先取りし
て活動化される。たとえば、IBM3081および30
90システムでは、CPからのD取出しミスは、現り取
出し動作後にその行ヘノ記憶が行なわれることを予測し
て、遠隔キャッシュ内の行のXI無効化をトリガするこ
とができる。
活動記録テーブルHが、(X■無効化活動ではなく)D
記憶活動のみを監視することが可能である。
たとえば、上記大域活動記録テーブルHでは、ステップ
(d)の代りに、次のステップ(d’)を用いることが
できる。
(d”)SCEが(それ自体取出しミスを起こすことが
ある)いずれかのCPからLのD記憶を受け取る時、ビ
ットH[L]がセットされる。
この場合、Hは単に現在修正されている行を監視する大
域的局所変更活動記録である。
局所変更活動記録テーブルHでのD事前取り出しのシミ
ュレーシ日ン結果を、第6図に要約して示す。CPの数
が大きくなるにつれて、SCEがCPからの各り記憶に
ついて大域局所変更活動記録テーブルHを検査すること
が、厄介になることがある。この負担は、様々な設計技
術により軽減することができる。たとえば、米国特許第
4391731号明細書に記載されているように、排他
的(EX)ロッキングを、最新のMPキャッシュ整合性
制御のために用いることができる。それぞれのD記憶は
、まずその行に関するEX状況を得るために必要であり
、それによって、その行が遠隔キャッシュからXI無効
化される。ことが保証される。したがって、ステップ(
do)を、要求するCPが行りに対するEX状況を得た
後の行りに対する最初のD記憶時にのみH[L]がセッ
トされるように実施することができる。エントリH1]
は通常の条件で以前のD記憶により既にセットされてい
るので、SCEが次のD記憶時にエントリH[L]をセ
ットする必要はない。またHは事前取出しの判断を援助
するための装置としてのみ使用されるので、設計を複雑
にする恐れのある状況で厳密なルールに従ってHを正確
に維持する必要がないことにも留意されたい。連続する
行の数T=3Cまた1tT=4)+7)場合、Δ2(m
)は51.9%(または61.4%)減少して、育効な
事前取出し1件当り207.56 (または201.4
6)命令、また有効な事前取出し1件当り事前に取り出
される行数の平均が1.4(または1.7)行になった
。これらの結果を局所活動記録テーブルに関する結果を
比較すると、入城活動記録テーブル法は、一般により優
れた結果が得られることがわかる。これは、一部には、
入城登録簿は一般に、行が動的に再利用される傾向をよ
り良く把握できるためである。
2WMPシステムに関する結果から、XI無効化による
余分のキャッシュ・ミスは、大幅に減少した。MPシス
テム内のプロセッサが多いほど、より大きな性能の利点
を得ることができる。これらの結果の1つの重要なファ
クタは、有効取出しの頻度が比較的低い(発生1件当り
200以上の命令)ことである。そC結果、毎回複数の
行を取り出すことが可能となる。そのような複数データ
事前取出しは、行取出し帯域幅が非常に広い(たとえば
1サイクル当り1行)環境により適している。事前に取
り出された行は、ステージ・バッファに移して、キャッ
シュへの入力(および、恐らくはキャッシュ登録簿のル
ックアップ)を待つ。事前取出しはキャッシュ・ミスに
対してのみ行なわれるので、より多くのCPが含まれる
時でも、非常に高いデータ取出し率は予想されない。
D事前取出しのための活動記録を維持する2つの機構に
ついて説明した。1つは局所XI無効化を用いるもので
あり、もう1つは、大域局所変更活動記録を用いるもの
である。実施態様に応じて、これらの活動記録または他
の同様の活動記録を、様々に組み合わせて使用すること
ができる。そのような活動記録は、それ自体他の種類の
キャッシュ最適化の目的に役立つことに留意されたい。
たとえば、(局所または大域の)局所変更活動記録は、
同時係属の米国特許出願第07/232722号明細書
に記載されているようなMPキャッシュ設計において、
キャッシュ状況の割当てを最適化するための情報を提供
することができる。
MP内でのデータ取出しは、通常、XI活動の増加に関
連している。しかし、本発明は、適切な整合性機構によ
りXIの問題を大幅に改善する。
【図面の簡単な説明】
第1図は、本発明が適用できるマルチプロセッサ・シス
テムのブロック・ダイヤグラムである。 第2図は、UPと2WMPからなる構成でのレベル1の
ミスの結果を示すテーブルである。 第3図は、局所活動記録テーブルがその中で維持される
MPシステムの構成を示すブロック・ダイヤグラムであ
る。 第4図は、各活動記録テーブルH】に対して局所ハツシ
ュテーブルを用いた結果を示すテーブルである。 第5図は、大域活動記録テーブルがその中で維持される
MPシステムの構成を示すブロック・ダイヤグラムであ
る。 第6図は、大域テーブルHを用いた結果を示すテーブル
である。 10.11.12.13・・・・中央処理装置(CP)
、14.15.16.17・・・・命令実行(■E)ユ
ニット、20.21.22.23・・・・バッファ制御
エレメント(BCE) 、30・・・・記憶制御エレメ
ント(SCE) 、31.32.33.34・・・・コ
ピー登録簿(CD)、35.36.37.38・・・・
記憶スタック(SS)、40・・・・入出力チャネル・
プロセッサ、50・・・・主記憶装置、51.52.5
3.54・・・・基本記憶モジュール制御装置(BSC
)、60161.62.83.64.65.66.67
・・・・基本記憶モジュール(BSM)。 出願人  インターナシ日ナル・ビジネス・マシーンズ
・コーボレーシ日ン 復代理人 弁理士  澤  1) 俊  夫Q ムー

Claims (3)

    【特許請求の範囲】
  1. (1)複数のプロセッサと共用主記憶装置と記憶制御エ
    レメントを含み、前記の各プロセッサが局所キャッシュ
    ・メモリとバッファ制御エレメントを有するというマル
    チプロセッサ・システムにおいて、 前記各プロセッサに、キャッシュ・メモリ内の各ライン
    ごとに、そのラインが事前取出しなしで相互問い合わせ
    無効化を実行されたかどうかに関する記録と、そのライ
    ンが最後の取出し以降に記憶されたかどうかに関する記
    録とを含む、局所活動記録テーブルを設けるステップ、 あるラインがプロセッサから相互問い合わせ無効化を実
    行される時、局所活動記録テーブル内のあるエントリを
    セットし、プロセッサがあるラインをそのキャッシュ・
    メモリ中に取り出す時、そのエントリをリセットするス
    テップ、およびプロセッサによってアクセスされるライ
    ンに対するエントリがセットされる時、アクセスされる
    前記の行を含む所定数の連続するデータ・ラインを含む
    データ・ブロックを主記憶装置から事前に取り出すステ
    ップ を含むデータ事前取出し方法。
  2. (2)複数のプロセッサと共用主記憶装置と記憶制御エ
    レメントを含み、前記の各プロセッサが局所キャッシュ
    ・メモリとバッファ制御エレメントを有するマルチプロ
    セッサ・システムにおいて、前記記憶制御エレメントに
    、前記プロセッサのキャッシュ・メモリ内の各ラインご
    とに、そのラインが事前取出しなしで相互問い合わせ無
    効化を実行されたかどうかに関する記録と、そのライン
    が最後の取出し以降に記憶されたかどうかに関する記録
    とを含む活動記録テーブルを設けるステップ、 あるラインがプロセッサから相互問い合わせ無効化を実
    行されるか、またプロセッサによって排他的状況で取り
    出される時、前記活動記録テーブル内のあるエントリを
    セットし、プロセッサがあるラインをそのキャッシュ・
    メモリ中に取り出す時、そのエントリをリセットするス
    テップ、および プロセッサによってアクセスされるラインに対するエン
    トリがセットされる時、アクセスされる前記のラインを
    含む所定数の連続するデータ・ラインを含むデータ・ブ
    ロックを主記憶装置から事前に取り出すステップ を含むデータ事前取出し方法
  3. (3)複数のプロセッサと共用主記憶装置と記憶制御エ
    レメントを含み、前記の各プロセッサが局所キャッシュ
    ・メモリとバッファ制御エレメントを有するというマル
    チプロセッサ・システムにおいて、 前記記憶制御エレメントに、前記プロセッサのキャッシ
    ュ・メモリ内の各ラインごとに、そのラインが事前取出
    しなしで相互問い合わせ無効化を実行されたかどうかに
    関する記録と、そのラインが最後の取出し以降に記憶さ
    れたかどうかに関する記録とを含む活動記録テーブルを
    設けるステップ、 記憶制御エレメントがあるラインに対するデータ記憶を
    受け取る時、前記活動記録テーブル内のあるエントリを
    セットするステップ、およびプロセッサによってアクセ
    スされるラインに対するエントリがセットされる時、ア
    クセスされる前記のラインを含む所定数の連続するデー
    タ・ラインを含むデータ・ブロックを主記憶装置から事
    前に取り出すステップ を含むデータ事前取出し方法。
JP2110655A 1989-04-28 1990-04-27 データ事前取出し方法およびマルチプロセッサ・システム Expired - Lifetime JPH07101412B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US34463989A 1989-04-28 1989-04-28
US344639 1989-04-28

Publications (2)

Publication Number Publication Date
JPH02300960A true JPH02300960A (ja) 1990-12-13
JPH07101412B2 JPH07101412B2 (ja) 1995-11-01

Family

ID=23351344

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2110655A Expired - Lifetime JPH07101412B2 (ja) 1989-04-28 1990-04-27 データ事前取出し方法およびマルチプロセッサ・システム

Country Status (2)

Country Link
EP (1) EP0394642A3 (ja)
JP (1) JPH07101412B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006520045A (ja) * 2003-03-06 2006-08-31 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ プリフェッチ手段を備えるデータ処理システム

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6889293B1 (en) 2000-06-09 2005-05-03 Agere Systems Inc. Directory-based prediction methods and apparatus for shared-memory multiprocessor systems

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5864690A (ja) * 1981-10-14 1983-04-18 Hitachi Ltd キヤツシユメモリ制御方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4445174A (en) * 1981-03-31 1984-04-24 International Business Machines Corporation Multiprocessing system including a shared cache

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5864690A (ja) * 1981-10-14 1983-04-18 Hitachi Ltd キヤツシユメモリ制御方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006520045A (ja) * 2003-03-06 2006-08-31 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ プリフェッチ手段を備えるデータ処理システム

Also Published As

Publication number Publication date
EP0394642A3 (en) 1992-07-15
EP0394642A2 (en) 1990-10-31
JPH07101412B2 (ja) 1995-11-01

Similar Documents

Publication Publication Date Title
US5197139A (en) Cache management for multi-processor systems utilizing bulk cross-invalidate
US5170476A (en) Data processor having a deferred cache load
US5353426A (en) Cache miss buffer adapted to satisfy read requests to portions of a cache fill in progress without waiting for the cache fill to complete
US5490261A (en) Interlock for controlling processor ownership of pipelined data for a store in cache
US5214766A (en) Data prefetching based on store information in multi-processor caches
US5091851A (en) Fast multiple-word accesses from a multi-way set-associative cache memory
US6339813B1 (en) Memory system for permitting simultaneous processor access to a cache line and sub-cache line sectors fill and writeback to a system memory
US8725987B2 (en) Cache memory system including selectively accessible pre-fetch memory for pre-fetch of variable size data
EP1399823B1 (en) Using an l2 directory to facilitate speculative loads in a multiprocessor system
US5230070A (en) Access authorization table for multi-processor caches
US6718839B2 (en) Method and apparatus for facilitating speculative loads in a multiprocessor system
US6728839B1 (en) Attribute based memory pre-fetching technique
US20020199063A1 (en) Method and apparatus for facilitating speculative stores in a multiprocessor system
JP4417715B2 (ja) キャッシュメモリにおける、タグおよびデータアクセスを分断する方法および装置
JP2015232879A (ja) データ処理装置における動的なキャッシュ・アロケーション・ポリシーの適応
JPH0659976A (ja) 遅延プッシュをコピー・バック・データ・キャッシュに再ロードする方法
JPH0364893B2 (ja)
US5559987A (en) Method and apparatus for updating a duplicate tag status in a snoop bus protocol based computer system
US6237064B1 (en) Cache memory with reduced latency
US5909697A (en) Reducing cache misses by snarfing writebacks in non-inclusive memory systems
JP4218820B2 (ja) ダイレクトマップドキャッシュとフルアソシアティブバッファとを含んだキャッシュシステム、その制御方法及び記録媒体
JP2005533295A5 (ja)
US5530835A (en) Computer memory data merging technique for computers with write-back caches
US20020178329A1 (en) Reverse directory for facilitating accesses involving a lower-level cache
US6976128B1 (en) Cache flush system and method