JPS61156346A - 記憶階層の先取り装置 - Google Patents

記憶階層の先取り装置

Info

Publication number
JPS61156346A
JPS61156346A JP60253013A JP25301385A JPS61156346A JP S61156346 A JPS61156346 A JP S61156346A JP 60253013 A JP60253013 A JP 60253013A JP 25301385 A JP25301385 A JP 25301385A JP S61156346 A JPS61156346 A JP S61156346A
Authority
JP
Japan
Prior art keywords
cache
storage
block
line
bit
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
JP60253013A
Other languages
English (en)
Other versions
JPH0364893B2 (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 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

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

Claims (1)

  1. 【特許請求の範囲】 少なくとも1つのプロセッサと、少なくとも2レベルの
    記憶階層とを備え、前記記憶階層は高速小容量の第1レ
    ベル記憶装置および低速大容量の第2レベル記憶装置を
    含み、前記第1レベル記憶装置は複数のサブブロック・
    データを記憶し、前記第2レベル記憶装置は各々が複数
    のサブブロックから成る複数のブロック・データを記憶
    するようにした計算システムにおいて、 前記第2レベル記憶装置に記憶された各サブブロックご
    とに置換ビットを保持し、該置換ビットが1状態にある
    ときは対応するサブブロックが前記第1レベル記憶装置
    に以前に記憶されたことを指示し、該置換ビットが0状
    態にあるときは対応するサブブロックが前記第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 true JPS61156346A (ja) 1986-07-16
JPH0364893B2 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
EP0461926B1 (en) * 1990-06-15 1998-09-02 Compaq Computer Corporation Multilevel inclusion in multilevel cache hierarchies
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 データ処理装置
EP0612013A1 (en) * 1993-01-21 1994-08-24 Advanced Micro Devices, Inc. Combination prefetch buffer and instruction cache cross references to related applications
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
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
US5740399A (en) * 1995-08-23 1998-04-14 International Business Machines Corporation Modified L1/L2 cache inclusion for aggressive prefetch
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
US20160323351A1 (en) * 2015-04-29 2016-11-03 Box, Inc. Low latency and low defect media file transcoding using optimized storage, retrieval, partitioning, and delivery techniques
KR102653852B1 (ko) * 2019-05-07 2024-04-02 에스케이하이닉스 주식회사 컨트롤러, 메모리 시스템 및 그것의 동작 방법
EP3695328A4 (en) 2019-09-12 2020-12-09 Alibaba Group Holding Limited NEWSPAPER STRUCTURE STORAGE SYSTEMS
WO2019228575A2 (en) * 2019-09-12 2019-12-05 Alibaba Group Holding Limited Log-structured storage systems
EP3673376B1 (en) 2019-09-12 2022-11-30 Advanced New Technologies Co., Ltd. Log-structured storage systems
WO2019228569A2 (en) 2019-09-12 2019-12-05 Alibaba Group Holding Limited Log-structured storage systems
EP3669263B1 (en) * 2019-09-12 2022-03-02 Advanced New Technologies Co., Ltd. Log-structured storage systems
CN111837101A (zh) 2019-09-12 2020-10-27 创新先进技术有限公司 日志结构存储系统
US10942852B1 (en) 2019-09-12 2021-03-09 Advanced New Technologies Co., Ltd. Log-structured storage systems
EP3682344A4 (en) 2019-09-12 2020-12-02 Advanced New Technologies Co., Ltd. ENERGY STORAGE SYSTEMS
SG11202002364TA (en) 2019-09-12 2020-04-29 Alibaba Group Holding Ltd Log-structured storage systems

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
EP0185867A3 (en) 1988-08-17
US4774654A (en) 1988-09-27
EP0185867B1 (en) 1991-07-24
DE3583593D1 (de) 1991-08-29
EP0185867A2 (en) 1986-07-02
JPH0364893B2 (ja) 1991-10-08
CA1238984A (en) 1988-07-05

Similar Documents

Publication Publication Date Title
JPS61156346A (ja) 記憶階層の先取り装置
US10019369B2 (en) Apparatuses and methods for pre-fetching and write-back for a segmented cache memory
US5091851A (en) Fast multiple-word accesses from a multi-way set-associative cache memory
EP0695996B1 (en) Multi-level cache system
JP4486750B2 (ja) テンポラリ命令及び非テンポラリ命令用の共用キャッシュ構造
US6912623B2 (en) Method and apparatus for multithreaded cache with simplified implementation of cache replacement policy
US6078992A (en) Dirty line cache
US8621152B1 (en) Transparent level 2 cache that uses independent tag and valid random access memory arrays for cache access
US20100217937A1 (en) Data processing apparatus and method
US20090006757A1 (en) Hierarchical cache tag architecture
US7356650B1 (en) Cache apparatus and method for accesses lacking locality
JP3262519B2 (ja) 第2レベルキャッシュの古いラインの除去によるプロセッサのメモリ性能の強化方法及びシステム
US7657667B2 (en) Method to provide cache management commands for a DMA controller
JP4162493B2 (ja) 下位レベルのキャッシュを含むアクセスを促進するためのリバースディレクトリ
US7949833B1 (en) Transparent level 2 cache controller
US20010032297A1 (en) Cache memory apparatus and data processing system
EP0173893B1 (en) Computing system and method providing working set prefetch for level two caches
JP5348146B2 (ja) キャッシュメモリおよびその制御方法
WO2002027498A2 (en) System and method for identifying and managing streaming-data
JP3078303B2 (ja) キャッシュメモリ制御回路
JPH0675853A (ja) キャッシュメモリ装置
WO2010098152A1 (ja) キャッシュメモリシステムおよびキャッシュメモリ制御方法
JP2024011696A (ja) 演算処理装置及び演算処理方法
JPH05120139A (ja) キヤツシユメモリ装置
JPH045740A (ja) ディスク・キャッシュ制御方式