JPH0364893B2 - - Google Patents

Info

Publication number
JPH0364893B2
JPH0364893B2 JP60253013A JP25301385A JPH0364893B2 JP H0364893 B2 JPH0364893 B2 JP H0364893B2 JP 60253013 A JP60253013 A JP 60253013A JP 25301385 A JP25301385 A JP 25301385A JP H0364893 B2 JPH0364893 B2 JP H0364893B2
Authority
JP
Japan
Prior art keywords
cache
storage
block
data
level storage
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.)
Expired - Lifetime
Application number
JP60253013A
Other languages
English (en)
Other versions
JPS61156346A (ja
Inventor
Haabaato Homerin Jeemuzu
Robaatsu Puzatsuku Toomasu
Nasan Rechafuen Rudorufu
So Kimingu
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 JPS61156346A publication Critical patent/JPS61156346A/ja
Publication of JPH0364893B2 publication Critical patent/JPH0364893B2/ja
Granted 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/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
    • 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/0893Caches characterised by their organisation or structure
    • G06F12/0897Caches characterised by their organisation or structure with two or more cache hierarchy levels
    • 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

Description

【発明の詳細な説明】 A 産業上の利用分野 本発明はプロセツサの各々が複数レベルの記憶
装置を有するデータ処理システムに係り、更に詳
細に説明すれば記憶階層におけるプロセツサの記
憶アクセス時間を短縮することに係る。
B 従来の技術 データ処理システムの分野では、プロセツサ
(CPU)が記憶装置よりもずつと高速であること
は周知である。従つて、CPUが可能な限り速や
かにかつ円滑にデータをアクセスすることができ
るように、CPUの記憶装置を、キヤツシユ、主
記憶装置、ドラム、DASD(直接アクセス記憶装
置)等の異種記憶装置の階層構成とするのが普通
である。論理的には、CPUから記憶アクセスを
行う場合、必要なデータをあるレベルで発見する
まで、記憶階層をレベル順に探索し、次いでこの
データをすべての上位レベルにロードしなければ
ならない。このように、要求に基づいてCPUに
データを供給する方法は、記憶階層を実現する最
も簡単で基本的なものである。
米国特許第3670309号は、キヤツシユおよび主
記憶装置から成る2レベルの記憶装置を有するデ
ータ処理システムの記憶コントローラを開示して
いる。この特許は、CPUがキヤツシユおよび主
記憶装置のデイレクトリを同時に質問することを
可能にする。
米国特許第4290103号はマルチプロセツサ・シ
ステムにおけるキヤツシユの管理手法を開示して
いる。このシステムの各CPUはローカル・キヤ
ツシユを有し、また第2レベル(L2)のキヤツ
シユおよび主記憶装置を共有している。L2キヤ
ツシユでは、フラグまたはタグが使用されている
が、これらはL2ブロツク内のキヤツシユ・ライ
ンを指示するためのものである。その目的は、キ
ヤツシユ・ラインを含むL2ブロツクがL2から置
換されるような場合に、キヤツシユ・ラインの不
要な無効化を避けることである。
米国特許第3670307号は、2レベルの記憶装置
を使用するシステムを開示している。この特許で
は、高速記憶装置用のタグ記憶装置および主記憶
装置用のデイレクトリ記憶装置が使用されてい
る。所要のデータは主記憶装置から検索されて高
速記憶装置に入れられ、これに応じてタグ索引が
更新される。タグは、高速記憶装置内の対応する
アドレスが取出されたことをすビツトを含む。
米国特許第4344130号は、マイクロプロセツサ
でデータ転送機能を実行するためのブロツク移動
命令を開示している。
米国特許第3839704号は、背景記憶装置からバ
ツフア記憶装置へデータ・ブロツクを転送するた
めにダミー要求を利用するようにした計算システ
ムを開示している。
前述の特許の大部分は、システム中の各CPU
から複数レベルの記憶装置への同時アクセスを扱
うか、または異なつた記憶レベル間の矛盾のない
データ移動を扱つている。CPUが実際にデータ
を必要とする以前に、記憶階層における記憶レベ
ル間でデータを予めロードすることに関する特許
はほとんどない。
米国特許第3292153号は、低速記憶装置および
高速キヤツシユを含む記憶システムを開示してい
る。この記憶システムは先回りスキヤンすなわち
‘プログラム・ルツクアヘツド’機構を有してお
り、これによりCPUが命令を実行中で使用状態
にあり且つ、記憶システムが使用状態にない場
合、次のいくつかの命令を記憶装置からキヤツシ
ユに先取りするようにしている。
米国特許第3898624号は、次のラインを主記憶
装置から高速キヤツシユに先取りし、この先取り
中にキヤツシユ内の既存ラインを置換えるための
アルゴリズムを開示している。
C 発明が解決しようとする問題点 しかし、これらの従来知られた先取り方法で
は、高速キヤツシユを効率的に使用し、先取りデ
ータの高いヒツト率を得ることができない。
本発明の目的は、CPUがデータを実際に要求
する前に、記憶階層中の或る記憶レベル、例えば
L2からその直近上位の記憶レベル、例えばL1へ
データを効率良く先取りするようにした、簡単か
つ有効な先取り機構を提供することである。
D 問題点を解決するための手段 本発明による先取り機構は少なくとも2レベル
を有する記憶階層用のものである。連続する2レ
ベルの記憶装置をそれぞれL1およびL2とし、L1
を高速小容量の記憶装置、L2を低速大容量の記
憶装置とする。L2およびL1のデータの単位を、
それぞれブロツクおよびサブブロツクとする。各
ブロツクはその連続アドレスに複数のサブブロツ
クを保持する。本発明の先取り機構は、 L2に記憶された各サブブロツクが、L1に以前
記憶されたことを示す1状態と以前記憶されたこ
とのないことを示す0状態とから成り、L1内で
の該サブブロツクの使用履歴を記録する置換ビツ
トを有し、 L2に複数のサブブロツクのデータをロードす
るとき各サブブロツクの置換ビツトを0状態にセ
ツトし、L1からL2にサブブロツクのデータを転
送するとき置換ビツトを1状態にセツトする手段
と、 プロセツサがL1に対して所与のブロツクに含
まれるある特定のサブブロツクを参照した際に、
該特定のサブブロツクがL1に記憶されていない
場合、前記所与のブロツクに含まれる複数のサブ
ブロツクのうち置換ビツトが1状態にセツトされ
ているすべてのサブブロツクのデータをL2から
L1へ先取りする手段、 とを備えている。
E 作用 本発明の先取り機構は、(1)各ブロツクがL2に
駐在する時間は一般にそのサブブロツクがL1に
駐在する時間よりもずつと長く、そして(2)CPU
は常に近接したデータ群を参照する傾向(一般
に、局所性という)を有する、ということに基づ
いている。ブロツクがL2に駐在する時間は、そ
のサブブロツクを反復して取出し、取出したサブ
ブロツクをL1でどのように置換するかを決定す
るのに十分な時間でなければならない。本発明
は、サブブロツクの使用履歴を記録することによ
りCPUがサブブロツクを実際に必要とする前に、
これらのサブブロツクをL1に先取りすることが
できるようにした、簡単かつ有効な方法を開示す
る。
この先取り機構は、記憶階層における通常の要
求時取出しに加えて、通常の要求時取出しに伴う
記憶アクセスの遅延を少なくするという効果を有
する。本発明の実施に際し、L2デイレクトリに
は、ブロツク内の各サブブロツクに関連するrビ
ツト(置換ビツトを意味する)と呼ばれる追加ビ
ツトが設けられる。このrビツトは、当該サブブ
ロツクがL1にロードされた後、L1からL2に置換
されたことを表わす。本発明にしたがつてL1に
設けられた置換ロジツクは、サブブロツクが置換
されるような場合に、そのアドレスをL2に送つ
て、rビツトを更新させるように動作する。L1
でサブブロツクミスが生じた場合、L2はミスし
たサブブロツクを保持するブロツク内のrビツト
を使用することにより、CPUによつて以前に使
用され且つL1から置換えられた残りのサブブロ
ツクを先取りすることができる。先取り動作は、
L1の記憶容量のより効率的な使用ならびに記憶
アクセス時間の短縮を生じる。
F 実施例 以下、第1図及び第2図の実施例を説明する前
に、第3図ないし第8図を参照して本発明の背景
技術を説明する。
第3図に示すようにL1およびL2という記号は、
コンピユータシステムの記憶階層における連続す
る任意の2レベルを指すものとする。本発明は連
続する任意の2レベルに適用可能であるが、本発
明の詳細な説明を容易にするため、以下では、
L1およびL2をレベル1キヤツシユおよびレベル
2キヤツシユと仮定する。
第4図はデータ処理システムのブロツク図であ
つて、プロセツサ(CPU)100とその3レベ
ルの記憶階層装置:すなわちレベル1(L1)キヤ
ツシユ200、レベル2(L2)キヤツシユ300
および主記憶400を示している。このシステム
は、記憶要求のアドレスを転送する単一または複
数のアドレス・バス110、並びに要求されたデ
ータを転送するデータ・バス120により接続さ
れている。一般に記憶要求(書込みまたは取出し
要求)は、まずアドレス・バス110を介して
L1キヤツシユ200に転送され、次にL2キヤツ
シユ300に、最後に主記憶装置400に転送さ
れる。このような記憶階層の順次探索は、要求し
たデータが発見されたレベルで終了する。
詳細なシステム動作の説明に入る前に、本発明
に関連する用語の定義について述べる。アクセス
単位とは、記憶要求の大きさ(サイズ)を表わ
し、記憶装置中の一定のバイト数で示す。本発明
は特定のアクセス単位を必要としないが、説明の
便宜上、記憶アクセスはすべてダブルワード
(DW)単位であると仮定する。L1キヤツシユ2
00の記憶位置はラインと呼ばれ、記憶装置内の
連続するデータ部分を保持することができる。
L1キヤツシユ・デイレクトリは、現にL1キヤツ
シユ200内にある各ラインごとに1つのエント
リを保持する。このデイレクトリは、キヤツシユ
内にある複数ラインの置換順序も維持している。
かくて、キヤツシユが一杯のときに或るラインを
ロードしようとする場合には、LRU(least−
recently−used)ラインが置換されることにな
る。L2キヤツシユ300の記憶単位はブロツク
とよばれ、これはL1キヤツシユ200内の1ラ
インよりも何倍も大きいものと仮定する。現在の
DW記憶アクセスを保持するラインおよびブロツ
クはそれぞれ、アクセス・ラインおよびアクセ
ス・ブロツクと呼ばれる。キヤツシユ・ミス時
に、ブロツク全体のデータをキヤツシユに送入し
たり、キヤツシユから送出したりする全ブロツク
L2キヤツシユ300は、構造上も動作上もL1キ
ヤツシユ200と同じである。
キヤツシユおよびその次の記憶レベルの双方に
おけるデータのコピーの整合性を維持するには、
2つの方法がある。ストアイン(Store−in)キ
ヤツシユでは、変更されたライン全体をキヤツシ
ユから次のレベルに置換するまで、変更されたラ
インの最新のコピーをキヤツシユだけに保持す
る。ストアスルー(Store−thru)キヤツシユで
は、キヤツシユおよびその次のレベルの両者は、
プロセツサにより変更されたあらゆるデータの最
新のコピーを保持するようにされる。これは、す
べての書込み時にキヤツシユおよびその次のレベ
ルの両者を更新することを必要とする。これに対
し、ストアイン・キヤツシユでは、このような場
合に次のレベルを更新しなくてもよい。説明の便
宜上、以下ではL1キヤツシユ200をストアス
ルー・キヤツシユ、L2キヤツシユ300をスト
アイン・キヤツシユと仮定する。ストアイン・キ
ヤツシユおよびその置換ロジツクの詳細な説明
は、米国特許第3735360号、同第3771137号に記載
されている。ストアスルー・キヤツシユの詳細な
説明は、コンチの論文“バツフア記憶装置の概
念”(C.J.Conti“Concepts for Buffer
Storage”)、IEEEコンピユータ・グループ・ニ
ユース、1969年3月、9〜13頁に記載されてい
る。従つて、これらの装置の詳細な説明は本明細
書では省略する。
本発明は既存のL1キヤツシユおよびL2キヤツ
シユの設計に基づいているので、既存の構成に変
更または新しい構成要素を必要とすることがあつ
てもその影響は最小限で済む。
ここで、CPU100(第4図)からの記憶ア
クセスが24ビツトのアドレスで行われるものと仮
定する。L1キヤツシユ200は128カラム(コン
グルエンス・クラスCCとも呼ぶ)を有し、各CC
に4行(4ウエイのセツト・アソシアテイビテイ
と呼ぶ)を有し、そして128バイトのライン・サ
イズを有する。第5図は、L1キヤツシユ200
内の異なつた部分をアドレスするために24ビツ
ト・アドレスのフイールドがどのように使用され
るかを示す。L2キヤツシユ300も、128のCC、
4ウエイのセツト・アソシアテイビテイを有し、
そして1024バイトのブロツク・サイズを有する。
従つて、1つのL2ブロツクは、8個のL1ライン
を連続アドレスに保持することができる。第6図
は、L2キヤツシユ300をアドレスするために
前記と同じ24ビツト・アドレスのフイールドがど
のように使用されるかを示す。L1キヤツシユ2
00とL2キヤツシユ300のサイズはそれぞれ
異なつているのでそれぞれのフイールドも異なつ
ていることに注意されたい。
第7図はL1キヤツシユ・デイレクトリ内の1
エントリを示す。このエントリは、第5図のフイ
ールドAに相当するライン識別子Aおよび使用ビ
ツトを有する。使用ビツトは、当該ラインがL2
からL1に最後に転送されて以来、使用されたこ
とがあるかどうかを示す。
第8図はL2キヤツシユ・デイレクトリ内の1
エントリを示す。このエントリは、第6図のフイ
ールドA′に相当するブロツク識別子A′、および
当該ブロツク内の格ラインごとに1つのrビツト
(置換ビツト)を保持する。rビツトは、そのラ
インがL1にロードされてから(L2に)置換えら
れたかどうかを示す。次に、第2図および第1図
を参照して、L1キヤツシユおよびL2キヤツシユ
の動作の詳細を説明する。
第2図は、L1キヤツシユ200(第4図)内
のL1キヤツシユ・デイレクトリ201と、L2キ
ヤツシユ300に対する新しいインタフエース2
10と、先取りされたラインの確認ロジツク22
0の詳細ブロツク図を示す。図示のシステムは、
4ウエイ式キヤツシユ・システムであつて、L1
キヤツシユ・デイレクトリ201、更新/置換ア
レイ制御ロジツクおよびL1キヤツシユ・データ
アレイ250をふくむ。L1キヤツシユ・デイレ
クトリ201は、アドレス入力ゲート209およ
びアドレス比較ロジツク205を含む。更新/置
換アレイは、置換アレイ207、更新/置換ロジ
ツク206、確認ロジツク220、ラインを置換
する際のL2キヤツシユ300とのインターフエ
ース210、およびアドレス・ゲート208から
成る。
CPU100からアドレス・バス110に与え
られる記憶アクセスのアドレスは、第5図のAお
よびBデイレクトリ201および置換アレイ20
7をアドレスするために使用される。ライン識別
子aは、アドレス入力ゲート209およびアドレ
ス比較ジツク205に供給される。(コングルエ
ンス・クラス)アドレスBは線202からL1キ
ヤツシユ・デイレクトリ201に供給され、ライ
ン識別子のうちどのCCを比較すべきかを選定す
る。最初、Bにより指定されたCC内のエントリ
E、F、GおよびHをアドレス比較ロジツク20
5に同時に読出してAと比較する。それらの中の
1つが一致した場合、当該アクセスはライン・ヒ
ツトを生じる。アクセスの種類(取出しまたは書
込み)に応うじて、L1キヤツシユ・データアレ
イ250は所要の動作をする。取出しの場合、も
し一致するラインがなかつたなら、ライン・ミス
が生じ、アクセス・ラインの要求がL2キヤツシ
ユ300に送られる。書込みミスの場合には、変
更すべきデータをL2キヤツシユ300に単に転
送する。
更新/置換ロジツク206および置換アレイ2
07におけるLRU置換論理の説明は米国特許第
4008460号に記載されているので、その詳細な説
明は省略する。更新/置換ロジツク206は、線
204のフイールドBにより指定されたCC中の
ラインの現在の置換ステータスを置換アレイ20
7から読取る。L1キヤツシユ200のアクセス
がヒツトの場合、ラインAがL1キヤツシユ20
0に転送されてから始めて使用されたことを条件
として、確認ロジツク220はAのライン・エン
トリ中の使用ビツトをオンに転ずる。一方、ライ
ンAがミスの場合、置換ステータスは、ラインA
の空間を作るためにどのラインを置換するかを示
し、またインタフエース210は置換すべきライ
ンの使用ビツトを検査する。このラインが使用さ
れている場合そのライン識別子がL2キヤツシユ
300に送られるので、L2キヤツシユ300は
そのrビツトを更新することができる。さもなけ
れば、すなわち置換されるラインが以前に全く使
用されていない場合には、インタフエース210
からL2キヤツシユ300へ特別なアクセス要求
は行わない。CC内の更新されたライン識別子は
アドレス・ゲート208に書込まれる。つまり、
使用ビツトをオンにされたラインAの新しいエン
トリは、アドレス・ゲート208に書込まれた
後、アドレス入力ゲート209に送られ、次いで
L1キヤツシユ・デイレクトリ201を更新する
ために使用されるのである。置換アレイ207の
更新は、ラインAがミスしているかどうかに無関
係に、ラインAがそのCC内のMRU(most−
recently−used)ラインになるようにして行われ
る。
第1図は本発明のL2キヤツシユの構成を示す。
rビツト更新ロジツク320および先取りロジツ
ク310をのぞくと、その主要な部分は第2図の
11キヤツシユ・デイレクトリに類似している。
第8図に示すように、L2キヤツシユ・デイレク
トリ301内の各エントリは、ブロツク識別子お
よび当該ブロツク中にある各ラインのrビツトか
らなる。L1キヤツシユ・ミスに応じてL2キヤツ
シユ・アクセスが行われる場合、線302のフイ
ールドB′により指定されたCC内のすべてのブロ
ツク識別子を同時に読出し、これらの識別子をア
ドレス比較ロジツク305でフイールドA′と比
較する。ブロツクA′がCC内にある場合、ブロツ
クA′内の全てのrビツトを先取りロジツク31
0で検査する。先取りロジツク310はL2キヤ
ツシユ・データアレイ350に対し、rビツトが
オンになつているラインおよびミスしたラインを
L1キヤツシユ200にロードするように指示す
る。それと同時に、L1キヤツシユ・デイレクト
リ201は先取されているラインを更新するよう
に通知される。これはL1キヤツシユ200への
特別な要求であつてL1キヤツシユ・デイレクト
リ201だけを更新するとともに、第2図の確認
ロジツク220がこれらの先取りされたラインの
使用ビツトをオンにすることを禁止する。CC内
のブロツク識別子が一致しない場合、ブロツク・
ミスが生じ、その結果が更新/置換ロジツク30
6に送られる。更新/置換ロジツク306は、い
つたん活動状態になると、フイールドB′により
指定されたCCの現在の置換ステータスを読取り
該置換ステータスにより指示されたLRUブロツ
ク識別子を置換えるとともに、新たに使用された
ブロツクA′をアドレスゲート308に書込む。
前述のどちらの場合においても、rビツト更新ロ
ジツク320はA′のすべてのrビツトをオフに
転ずる。
使用されたL1ラインの置換は特別なL2アクセ
スを生じるので、L2キヤツシユ・デイレクトリ
301だけに関連する。置換されたラインを保持
するブロツクがL2キヤツシユ300内にある場
合、そのrビツトはrビツト更新ロジツク320
でオンに切替えられ、そして、更新されたエント
リはゲート308および309を介してL2キヤ
ツシユ・デイレクトリ301に回帰する。この場
合、このブロツク内のライン位置は2の冪の計算
から求められる。行指示器330はライン記号C
を取出してこれをブロツク内のライン位置C′に変
換する。例えば、或るブロツクの第3のラインに
ついては、 C=′010′、C′=′00000100′である。
本発明はデータをL2からL1に先取りする方法
を開示する。前述の説明にはいくつかの仮定があ
る。例えば、先取の′時機′、先取りしたデータを
置くL1キヤツシユ内の′場所′、高い先取り精度
を維持する方法である。前述の説明では、先取り
機構はL1キヤツシユ・ミスに応じて活動状態と
なること、先取されたデータをL1キヤツシユ内
のCCのMRUステータスの位置に置くこと、先取
りされたが未使用のラインがL1キヤツシユから
置換えられようとしている場合にはL2キヤツシ
ユ内のrビツトをオンに切替えないことにより精
度を維持刷ることを仮定している。本発明では前
記以外の仮定を設けることも可能である。
G 発明の効果 以上では、記憶階層のある記憶レベルL2から
別の記憶レベルL1に記憶単位を取出す方式を説
明した。この方式は、L2ブロツク内にあるL1サ
ブブロツクの置換履歴に基づいており、L1およ
びL2を、ロジツクが若干異なる2つのレベルの
キヤツシユと仮定している。要求に基づいた従来
の記憶階層と異なり、本発明による構成はL1記
憶装置を一層効率的に利用することにより、
CPUの記憶アクセス時間をかなり短縮すること
ができる。
【図面の簡単な説明】
第1図はL1キヤツシユとのインタフエースを
備えたL2キヤツシユのブロツク図、第2図はL2
キヤツシユとのインタフエースを備えたL1キヤ
ツシユのブロツク図、第3図は通常の記憶階層に
おけるL1およびL2の記憶レベルの例を示す図、
第4図は3レベルの記憶階層を有するコンピユー
タシステムのブロツク図、第5図はL1キヤツシ
ユの24ビツト・アドレスを示す図、第6図はL2
キヤツシユの24ビツト・アドレスを示す図、第7
図はL1キヤツシユ・デイレクトリの1エントリ
を示す図、第8図はL2キヤツシユ・デイレクト
リの1エントリを示す図である。 100……CPU、200……L1キヤツシユ、
201……L1キヤツシユ・デイレクトリ、20
5……アドレス比較ロジツク、206……更新/
置換ロジツク、207……置換アレイ、210…
…インタフエース、220……確認ロジツク、2
50L1キヤツシユ・データアレイ、300……
L2キヤツシユ、301……L2キヤツシユ・デイ
レクトリ、305……アドレス比較ロジツク、3
06……更新/置換ロジツク、310……先取り
ロジツク、320……rビツト更新ロジツク、3
30……行指示器、350……L2キヤツシユ・
データアレイ、400……主記憶装置。

Claims (1)

  1. 【特許請求の範囲】 1 少なくとも1つのプロセツサと、少なくとも
    2レベルの記憶階層とを備え、前記記憶階層は高
    速小容量の第1レベル記憶装置および低速大容量
    の第2レベル記憶装置を含み、前記第1レベル記
    憶装置は複数のサブブロツクのデータを記憶し、
    前記第2レベル記憶装置は各々が複数のサブブロ
    ツクから成る複数のブロツクのデータを記憶し、
    前記第2レベル記憶装置から前記第1レベル記憶
    装置へデータを先取りするようにした計算機シス
    テムにおいて、 前記第2レベル記憶装置に記憶された各サブブ
    ロツクが、前記第1レベル記憶装置に以前記憶さ
    れたことを示す1状態と以前記憶されたことのな
    いことを示す0状態とから成り、前記第1レベル
    記憶装置内での該サブブロツクの使用履歴を記録
    する置換ビツトを有し、 前記第2レベル記憶装置に前記複数のサブブロ
    ツクのデータをロードするとき各サブブロツクの
    前記置換ビツトを0状態にセツトし、前記第1レ
    ベル記憶装置から前記第2レベル記憶装置に前記
    サブブロツクのデータを転送するとき前記置換ビ
    ツトを1状態にセツトする手段と、 前記プロセツサが前記第1レベル記憶装置に対
    して所与のブロツクに含まれるある特定のサブブ
    ロツクを参照した際に、該特定のサブブロツクが
    前記第1レベル記憶装置に記憶されていない場
    合、前記所与のブロツクに含まれる前記複数のサ
    ブブロツクのうち前記置換ビツトが1状態にセツ
    トされているすべてのサブブロツクのデータを前
    記第2レベル記憶装置から前記第1レベル記憶装
    置へ先取りする手段、 とを備えたことを特徴とする、記憶階層の先取り
    装置。
JP60253013A 1984-12-24 1985-11-13 記憶階層の先取り装置 Granted JPS61156346A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US06/685,527 US4774654A (en) 1984-12-24 1984-12-24 Apparatus and method for prefetching subblocks from a low speed memory to a high speed memory of a memory hierarchy depending upon state of replacing bit in the low speed memory
US685527 1984-12-24

Publications (2)

Publication Number Publication Date
JPS61156346A JPS61156346A (ja) 1986-07-16
JPH0364893B2 true JPH0364893B2 (ja) 1991-10-08

Family

ID=24752584

Family Applications (1)

Application Number Title Priority Date Filing Date
JP60253013A Granted JPS61156346A (ja) 1984-12-24 1985-11-13 記憶階層の先取り装置

Country Status (5)

Country Link
US (1) US4774654A (ja)
EP (1) EP0185867B1 (ja)
JP (1) JPS61156346A (ja)
CA (1) CA1238984A (ja)
DE (1) DE3583593D1 (ja)

Families Citing this family (50)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62194563A (ja) * 1986-02-21 1987-08-27 Hitachi Ltd バツフア記憶装置
FR2609195A1 (fr) * 1986-12-31 1988-07-01 Thomson Csf Procede de gestion d'antememoires associees a des processeurs dans une architecture multiprocesseur a bus unique et systeme de traitement de donnees fonctionnant suivant ce procede
US4980823A (en) * 1987-06-22 1990-12-25 International Business Machines Corporation Sequential prefetching with deconfirmation
US5113511A (en) * 1989-06-02 1992-05-12 Atari Corporation System for dynamically providing predicted high/slow speed accessing memory to a processing unit based on instructions
US5155832A (en) * 1989-07-05 1992-10-13 Hewlett-Packard Company Method to increase performance in a multi-level cache system by the use of forced cache misses
US5125085A (en) * 1989-09-01 1992-06-23 Bull Hn Information Systems Inc. Least recently used replacement level generating apparatus and method
US5307477A (en) * 1989-12-01 1994-04-26 Mips Computer Systems, Inc. Two-level cache memory system
US5203002A (en) * 1989-12-27 1993-04-13 Wetzel Glen F System with a multiport memory and N processing units for concurrently/individually executing 2N-multi-instruction-words at first/second transitions of a single clock cycle
US5467460A (en) * 1990-02-14 1995-11-14 Intel Corporation M&A for minimizing data transfer to main memory from a writeback cache during a cache miss
DE69130086T2 (de) * 1990-06-15 1999-01-21 Compaq Computer Corp Mehrstufeneinschluss in mehrstufigen Cache-Speicherhierarchien
US5392417A (en) * 1991-06-05 1995-02-21 Intel Corporation Processor cycle tracking in a controller for two-way set associative cache
US6453388B1 (en) 1992-06-17 2002-09-17 Intel Corporation Computer system having a bus interface unit for prefetching data from system memory
US5787475A (en) * 1992-07-21 1998-07-28 Digital Equipment Corporation Controlled prefetching of data requested by a peripheral
JPH06222990A (ja) * 1992-10-16 1994-08-12 Fujitsu Ltd データ処理装置
DE69327981T2 (de) * 1993-01-21 2000-10-05 Advanced Micro Devices Inc Kombinierte Speicheranordnung mit einem Vorausholungspuffer und einem Cachespeicher und Verfahren zur Befehlenversorgung für eine Prozessoreinheit, das diese Anordnung benutzt.
US5539914A (en) * 1993-06-14 1996-07-23 International Business Machines Corporation Method and system for preprocessing data block headers during access of data in a data storage system
US5809525A (en) * 1993-09-17 1998-09-15 International Business Machines Corporation Multi-level computer cache system providing plural cache controllers associated with memory address ranges and having cache directories
US5530832A (en) * 1993-10-14 1996-06-25 International Business Machines Corporation System and method for practicing essential inclusion in a multiprocessor and cache hierarchy
US5721854A (en) * 1993-11-02 1998-02-24 International Business Machines Corporation Method and apparatus for dynamic conversion of computer instructions
US5603004A (en) * 1994-02-14 1997-02-11 Hewlett-Packard Company Method for decreasing time penalty resulting from a cache miss in a multi-level cache system
US5539895A (en) * 1994-05-12 1996-07-23 International Business Machines Corporation Hierarchical computer cache system
US5577227A (en) * 1994-08-04 1996-11-19 Finnell; James S. Method for decreasing penalty resulting from a cache miss in multi-level cache system
US5860096A (en) * 1994-10-17 1999-01-12 Hewlett-Packard Company Multi-level instruction cache for a computer
US5734731A (en) * 1994-11-29 1998-03-31 Marx; Elliot S. Real time audio mixer
US5790823A (en) * 1995-07-13 1998-08-04 International Business Machines Corporation Operand prefetch table
US5740399A (en) * 1995-08-23 1998-04-14 International Business Machines Corporation Modified L1/L2 cache inclusion for aggressive prefetch
US5758119A (en) * 1995-08-23 1998-05-26 International Business Machines Corp. System and method for indicating that a processor has prefetched data into a primary cache and not into a secondary cache
US5787466A (en) * 1996-05-01 1998-07-28 Sun Microsystems, Inc. Multi-tier cache and method for implementing such a system
US5802563A (en) * 1996-07-01 1998-09-01 Sun Microsystems, Inc. Efficient storage of data in computer system with multiple cache levels
US6065097A (en) * 1996-08-29 2000-05-16 Sun Microsystems, Inc. Apparatus and method for sharing a unified memory bus between external cache memory and primary memory
US5937429A (en) * 1997-04-21 1999-08-10 International Business Machines Corporation Cache memory having a selectable cache-line replacement scheme using cache-line registers in a ring configuration with a token indicator
US6535961B2 (en) * 1997-11-21 2003-03-18 Intel Corporation Spatial footprint prediction
US6457105B1 (en) * 1999-01-15 2002-09-24 Hewlett-Packard Company System and method for managing data in an asynchronous I/O cache memory
US6823430B2 (en) * 2002-10-10 2004-11-23 International Business Machines Corporation Directoryless L0 cache for stall reduction
US7380047B2 (en) * 2004-09-30 2008-05-27 International Business Machines Corporation Apparatus and method for filtering unused sub-blocks in cache memories
US7313656B1 (en) * 2004-12-27 2007-12-25 Emc Corporation Pre-fetch prediction method for disk drives
US8046538B1 (en) * 2005-08-04 2011-10-25 Oracle America, Inc. Method and mechanism for cache compaction and bandwidth reduction
US9559889B1 (en) * 2012-10-31 2017-01-31 Amazon Technologies, Inc. Cache population optimization for storage gateways
US9501796B2 (en) 2013-09-18 2016-11-22 Chicago Mercantile Exchange Inc. Dataset intersection determination
US10409781B2 (en) * 2015-04-29 2019-09-10 Box, Inc. Multi-regime caching in a virtual file system for cloud-based shared content
KR102653852B1 (ko) * 2019-05-07 2024-04-02 에스케이하이닉스 주식회사 컨트롤러, 메모리 시스템 및 그것의 동작 방법
US10942852B1 (en) 2019-09-12 2021-03-09 Advanced New Technologies Co., Ltd. Log-structured storage systems
EP3669263B1 (en) * 2019-09-12 2022-03-02 Advanced New Technologies Co., Ltd. Log-structured storage systems
WO2019228571A2 (en) 2019-09-12 2019-12-05 Alibaba Group Holding Limited Log-structured storage systems
CN111183450B (zh) * 2019-09-12 2024-04-19 创新先进技术有限公司 日志结构存储系统
CN116756110A (zh) 2019-09-12 2023-09-15 创新先进技术有限公司 日志结构存储系统
SG11202002587TA (en) 2019-09-12 2020-04-29 Alibaba Group Holding Ltd Log-structured storage systems
SG11202002588RA (en) 2019-09-12 2020-04-29 Alibaba Group Holding Ltd Log-structured storage systems
EP3695328A4 (en) 2019-09-12 2020-12-09 Alibaba Group Holding Limited NEWSPAPER STRUCTURE STORAGE SYSTEMS
CN115398874A (zh) 2019-09-12 2022-11-25 创新先进技术有限公司 日志结构存储系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5971183A (ja) * 1982-10-15 1984-04-21 Hitachi Ltd 記憶制御方式
JPS59180877A (ja) * 1983-03-31 1984-10-15 Fanuc Ltd メモリの読出し制御方式

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3928857A (en) * 1973-08-30 1975-12-23 Ibm Instruction fetch apparatus with combined look-ahead and look-behind capability
US4370710A (en) * 1980-08-26 1983-01-25 Control Data Corporation Cache memory organization utilizing miss information holding registers to prevent lockup from cache misses
US4437155A (en) * 1980-11-14 1984-03-13 Sperry Corporation Cache/disk subsystem with dual aging of cache entries
US4490782A (en) * 1981-06-05 1984-12-25 International Business Machines Corporation I/O Storage controller cache system with prefetch determined by requested record's position within data block
US4464712A (en) * 1981-07-06 1984-08-07 International Business Machines Corporation Second level cache replacement method and apparatus
US4533995A (en) * 1981-08-03 1985-08-06 International Business Machines Corporation Method and system for handling sequential data in a hierarchical store

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5971183A (ja) * 1982-10-15 1984-04-21 Hitachi Ltd 記憶制御方式
JPS59180877A (ja) * 1983-03-31 1984-10-15 Fanuc Ltd メモリの読出し制御方式

Also Published As

Publication number Publication date
CA1238984A (en) 1988-07-05
US4774654A (en) 1988-09-27
EP0185867B1 (en) 1991-07-24
EP0185867A3 (en) 1988-08-17
JPS61156346A (ja) 1986-07-16
EP0185867A2 (en) 1986-07-02
DE3583593D1 (de) 1991-08-29

Similar Documents

Publication Publication Date Title
JPH0364893B2 (ja)
US5091851A (en) Fast multiple-word accesses from a multi-way set-associative cache memory
JP4486750B2 (ja) テンポラリ命令及び非テンポラリ命令用の共用キャッシュ構造
US6912623B2 (en) Method and apparatus for multithreaded cache with simplified implementation of cache replacement policy
EP0695996B1 (en) Multi-level cache system
US6990557B2 (en) Method and apparatus for multithreaded cache with cache eviction based on thread identifier
US4583165A (en) Apparatus and method for controlling storage access in a multilevel storage system
JP4298800B2 (ja) キャッシュメモリにおけるプリフェッチ管理
US6578111B1 (en) Cache memory system and method for managing streaming-data
JPH0962572A (ja) ストリーム・フィルタ装置及び方法
KR930022222A (ko) 캐시가 일관된 다중 처리기 컴퓨터 시스템에서 다중 미결동작을 제공하기 위한 장치 및 그 방법
US20100217937A1 (en) Data processing apparatus and method
US7237067B2 (en) Managing a multi-way associative cache
JP2735781B2 (ja) キャッシュ・メモリ制御システム及び方法
KR19980079433A (ko) 비포함 캐쉬 메모리 계층 구조에서 사용하기 위한 캐쉬 일관성 메카니즘 구현 방법 및 시스템
US20140143499A1 (en) Methods and apparatus for data cache way prediction based on classification as stack data
US5809526A (en) Data processing system and method for selective invalidation of outdated lines in a second level memory in response to a memory request initiated by a store operation
US7356650B1 (en) Cache apparatus and method for accesses lacking locality
JPS638851A (ja) キャッシュ・メモリ制御方式
JPH08314802A (ja) キャッシュシステム、キャッシュメモリアドレスユニット、およびキャッシュメモリを動作させる方法
EP0173893B1 (en) Computing system and method providing working set prefetch for level two caches
US20010032297A1 (en) Cache memory apparatus and data processing system
US6934810B1 (en) Delayed leaky write system and method for a cache memory
WO2002027498A2 (en) System and method for identifying and managing streaming-data
JP3078303B2 (ja) キャッシュメモリ制御回路