JPH07506921A - コンピュータ・システムにおける主記憶装置のアクセス時間とキャッシュ・メモリのサイズを最小限にするためのキャッシュへの先取り - Google Patents
コンピュータ・システムにおける主記憶装置のアクセス時間とキャッシュ・メモリのサイズを最小限にするためのキャッシュへの先取りInfo
- Publication number
- JPH07506921A JPH07506921A JP5515806A JP51580693A JPH07506921A JP H07506921 A JPH07506921 A JP H07506921A JP 5515806 A JP5515806 A JP 5515806A JP 51580693 A JP51580693 A JP 51580693A JP H07506921 A JPH07506921 A JP H07506921A
- Authority
- JP
- Japan
- Prior art keywords
- address
- cache
- data
- data line
- main
- 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
Links
- 230000015654 memory Effects 0.000 title claims description 65
- 239000000872 buffer Substances 0.000 claims description 49
- 238000000034 method Methods 0.000 claims description 21
- 238000012546 transfer Methods 0.000 claims description 12
- 230000000295 complement effect Effects 0.000 claims description 2
- 239000000284 extract Substances 0.000 claims description 2
- 230000004044 response Effects 0.000 claims description 2
- 240000002329 Inga feuillei Species 0.000 claims 1
- 239000003990 capacitor Substances 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 6
- 125000001246 bromo group Chemical group Br* 0.000 description 3
- 241000282330 Procyon lotor Species 0.000 description 2
- 239000002689 soil Substances 0.000 description 2
- 244000047478 Afzelia bijuga Species 0.000 description 1
- 241001465754 Metazoa Species 0.000 description 1
- 235000008331 Pinus X rigitaeda Nutrition 0.000 description 1
- 235000011613 Pinus brutia Nutrition 0.000 description 1
- 241000018646 Pinus brutia Species 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 239000000945 filler Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3802—Instruction prefetching
- G06F9/3814—Implementation provisions of instruction buffers, e.g. prefetch buffer; banks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0862—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with prefetch
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3802—Instruction prefetching
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/60—Details of cache memory
- G06F2212/6022—Using a prefetch buffer or dedicated prefetch cache
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/60—Details of cache memory
- G06F2212/6026—Prefetching based on access pattern detection, e.g. stride based prefetch
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるため要約のデータは記録されません。
Description
【発明の詳細な説明】
コンピユー夕・/ステl・における主記憤,装置のアクセス時間とキヤ,/,・
メモリのサイズを 小限にするためのキヤツシユへの!取り及乳囚分野
本発明はコンビエータ・アーキテクチャの分野に関する。本発明は特にデータ・
アクセス時間を改良するためのキャッシュ・メモリ・システムに関1−る。
ユ班旦五塁
コンピュータ・システム用の高性能主記憶装置用にダイナLノクRAM ( r
DRAMJ )を使用することは、スタティノク1ζ八M(rsR八Mへ)を使
用した場合よりもコストが低い場合が多い。しかしながら、DRAMは一般にS
RAMよりもかなり低速である。
主プロセツサの性能に関して、DRAMのアクセス時間が遅いという影響を少な
くする一般的な技術は、キヤ・ノシュ・メモリを使用することである。キャッシ
ュ・メモリは限定されたサイズの高速記1J!装置であり、通常は主記憶装置の
選択された記憶域を反映する、データ・ラインとして知られているデータ・ブロ
ノクを記憶するSRAMから成っている。キヤツシユ・メモリはそれが反映する
1記憶装置よりもサイズが小さい。すなわち、キヤツシユ・メモリは代表的には
完全にアドレス指定可能ではなく、各データ・ライン毎にタグ・フィールドを記
憶しなければならない。タグ・フィールドは特定のデータ・ラインに対応する主
記憶のアドレスを特定する。
主プロセツサが、読出し要求と、主記憶装置に記憶された所望のデータに対応す
るアドレスを発すると、受理されたアドレスをキヤツシユ・メモリのタグ・フィ
ールドと比較することによってキヤツシユ・メモリがチェツクされる。所望のデ
ータがキヤノシj内に記憶されている場合は、[ヒツトJ状態が生じ、所望のデ
ータを瞬時に主プロセッサ向1ノに活用できる。所望のデータがキャッシュ内に
記憶されていない場合は、[ミスJ状態が生じ、所望のデータをより低速の1記
憶装置から取出さなければならない。ヒツト率が低いと1プロセツサの動作が低
速になるので、キヤツシユ・メモリ設z1の代表的な目的はヒツト串を高めるこ
とにある、、4ヤ、/ユ・メモリ・サブ/ステムでヒツト率を高めるための従来
技術の−・つば、−1−キやノノユと共に先取りバッファを使用Vることである
。先取りバッファは一!記+!?装置から先取りされたデータを記↑aするメモ
リである。次の読出し要求のためのアドレスの予測に基づいて、データは次の読
出し要求の前に先取りバッファ内に理論的に先取りされる。主3己境装置が次の
読出し命令を発4″ると、予測が11−確+、(らば先取りバッファから所望の
データを活用できる。代表的なしt来技術の/ステムでは、予測が正]7かった
場合、所望のデータが先取りバッファから主キ千ノ/ユに移動され、主プロセツ
サに送られる。
しかI7ながら、主キャッシュ内に先取りデータを記f!!する従来の先取り機
構は、高いしノド・11を保持Vるために比較的大型の1キヤノンユ・メモリを
必Vとすることが多い。その理由は、主キヤノンユは一般に順アドレスである予
測可能なアドレスバス塞がれてしまうことが多いからである。残念lよことに、
キャソノユ・メモリが大型になる七コンピュータ・/ステムのコストが高くなり
、主プロセツサとオノヂノブの効率的なキャソンユを備えることができな(なる
場合が多い。
&唯然炙n互旦煎
本発明の目的の一つはコノピユータ・システムでのデータ・アクセス時間を最小
阻に短縮することにある。
本発明の別の目的は、比較的効率よく主記憶装置にキヤノンスをブリツノするこ
とにある。
本発明の別の[1的はより大型のキャッシュ・メモリのヒツト率に匹敵する比較
的高いヒツト率の、比較的小型のキヤノンユ・メモリをコンビμ−タ・ンステ1
1に備えることにある。
本発明の更に別の目的は、マイクロプロセッサ・システムに配置するのに適した
効率が高いキ千)/ユ・メモリ・サブンテステムを提供することにある。
本発明の上記の、及びその他の目的は、コノピユータ・/ステムにおいて上記+
8装置のアクセス時間を短縮する方法と装置によって達成される。本発明のキ十
ノ/、、I・メモリ・サブ/ステムでは、主記憶装置に記憶されたデータ・ライ
ンにり1応するアドレスが続出し要求と共に主プロセツサから受理される。この
アドレスは命令先取りバッファ、データ先取りバッファ及び主キ千ノ/」によっ
て受理される。先取りバッフ1の一つでヒツトが生ずると、データ・ラインが先
IVリノくノファから読出され、主ブロセノ→ノに転送される。主キャノ/コの
ヒ、1が生ずると、所望のデータが主記憶装置から先取りされ、主キヤノンユに
記憶され、主ブロセノ→Jに転送される。いずれの場合も(ヒツト又はミス)、
所望のデータが主プロ七ノ→Jに転送された後、予測アドレスが生成される。次
に、上記惧装置の予測アドレスに記憶された次のデータ・ラインがコニ記協装置
から先取りされ、適宜の先取りされたバッファに記憶される。その結果、予測で
きないアドレスにあるデータだIJが主キヤ、ツユに記4Bされていることにな
る。予測できるアドレスのデータは土手十ノ/ユを塞ぐことはなく、命令及びデ
ータ先取りバッファ内に記憶される。
本発明のその池の目的、特徴及び利点は添(1図面及び下記の詳細な説明によっ
て明らかにされる。
図面の筒中なス幻匹
本発明の一実施例を図示するが、本発明は添fJ図面に限定されるもので1iな
く、又、同一の参照符号は同一の素子を示すものである。
図1は分離されたキャッシュ・サブ/ステム・を使用したコノピユータ・/ステ
ムの構成図である。
図2はプロセッサ・チップ上のキヤノンユ・→Jブノステノ・を有するコンピュ
ータ・/ステムである。
図3は一つのキヤノンユ・メモリ・サブ/ステム用のアドレスとデータty路を
示した機能構成図である。
図4はキャッシュ・メモリ・づブ/ステムによって利用される方法の論理流れ図
である。
図5は先取り補助装置を使用したキヤノンユ・メモリ・づブ/ステムの!・−ド
ウエアの構成図である。
図6は先取り補助装置をイfするキャッシュ・メモリ・サブ/ステム・が利用V
る方法の論理流れ図である。
図7はキャッシュ・サブ/ステムのストライド予測ハードウェアを示した[+
−Cある。
詳細な説明
図1はコノピユータ・システム5のアーキテクチャの構成図である。コンピュー
タ・/ステム5はアドレス、データ及び制御ll tl’1報をバス15を経て
キャノン、、l・づブ/ステム20へ又はキャッ/ユ・サブ/ステムから転送し
、転送されるプロセッサ10をず■する。キャッシュ・サブ/ステムは1^報を
高速バス30を介して主記憶装置40へ又は主記憶装rfI4Qから転送し、転
送される。図1に示した実施例では、キヤノンユ・サブ/ステムはプロセッサl
Oの外部の回路から成っている。率ヤ、/ユ・サブ/ステム20はプロセッサ1
0に対して機1i12的に即応性がある。言い換えると、プロセッサlOは、ご
れが主記憶装置40に直接接続されているかのように、バス15を杆で続出し要
求とアドレスを発する。
後にXr述するように、キヤノンコ・サブ/ステム20はキャッシュの記憶スペ
ースを最小用に留めつつ、キャノンjのヒツト率を最大限高めることを援助する
。
図2は本発明の別の実施例を示し、フンピj−り・システム7のキャッシュ・サ
ブ/ステム2Iがプロセッサ・デツプ11内に位置している。一方、キヤ、/ユ
・サブ/ステム21はバス31を経て主記憶装置41に結合されCいる。
図3(ま図1のキヤノンユ・サブ/ステム20を示している。キヤノンユ・サブ
/ステム20はプロセッサ・インタフェース21O1命令先取りバッフ1220
(Iplb)、データ先取りバッファ230(DI)rb)、主キャノ/x 2
40、及びメモリ・インタフ1−ス250を備えている。プロセッサ・インタフ
、−ス210はバスI6を杆てプロセッサ10からアドレスを受理Vる。ブロセ
ノ→J・イ/タフX−ス210はデータバス17を経てプロセッサ10に、又、
ブロセノ4310からデータを転送し、転送され、バス18を杆てプロセッサ1
0に、又、ブロセノづ10から制御ll情報を転送し、転送される。バス16.
17及び18は図1に示したバスの一部である。
I p l 11220はプロ七ノ”jIO用のA 合を先取りし、バッファす
る。、1plb 220はrドレスIy路52を経てプロセッサ・イ/タフS−
ス210から命令アドレスを受1ノるために結合され、データ経路5Gを経てプ
ロセッサ・イノタフコース210に命令を転送する。Ipfb220はアドレス
経路62を経てメモリ・インタフゴース250に予測命令アドレスを転送し、デ
ータ経路64を経て次の命令ラインを受けるように結合されている。
同様にして、Dp(b230はプロセッサ10川のデータを先取りし、バッファ
する。I) p r I) 230はアドレスバス54を経てブロモ、4J・イ
ノタフエース210からアドレスを受け、データ経路58を経てデータをブロモ
、4)・インタフブース210に転送する。I)pfb230はアドレス経路6
6を紅′(予測データ・アドレスをメモリ・インタフェース250に転送し、デ
ータ経路68を打て次のデータ・ラインを受理する。
主キャッシュ240は1plb220によって先取りされない予測不11シな命
令と、I) p r +) 230によって先取りされない予測不能なデータと
を保存する。土キャッシュ240はマルチブレク++260を打てプロセッサ・
イノタフコース21Oからから命令アドレス52又はデータ・ア1ルス54のい
ずれかを受理する。
主キャ、ツユ240にミス法曹が生じた場合は、主キヤ、、/j240はメモリ
・インクフJ−ス250にアドレス74を転送し、データ76をメモリ・インタ
フェース250に、又、メモリ・インタフェース250から転送し、転送される
。
図4はキャッシュ・サブ/ステム20が利用する方d、の流れ図である。ブrl
ツク100で、キヤノンユ・サブ/ステム20はプロセッサ10からの読出し
要求を受cノる。プロセッサ・インタフェース210はアドレスバス16を経て
所望のアドレスを受ζプ、制御バス18を紅て読出し要求信号を受ける。受理さ
れたアlルスli(+)アドレス経路52を経てI p I l) 220に、
(2)アドレス経路54を経てI) p r +) 230に、又、(3)マル
チブレク→ノ260を経てよキャッシュ240に送られる。制御バス18土の信
号は、読出し要求が命令の先取り川であるか、データの先取り用であるかを1行
水する。
制御信号18が命令の先取りを指示した場合は、所望の命令について先取りハ、
ファがチプノクされる。これが行われるのは、ブロセノづ・インタフェース21
0が命令ア1゛レス52をI p I b 220に転送する時である。一方、
制御信号I8がデータの先取りを指示した場合は、ブロモy@j210がデータ
・“rドレス54を+) p I b 230に転送した時に、データ先取りバ
ッファがチェックされる。
判定ブロック主キャッシュ又は先取りバッファのしノドが生じない場合は、制−
1−,4ヤノ/ユ装置11540との間に転送される。
6はLRU法に基づいて置換えられる256のエントリを有する、4方向連せキ
盾の121−が検知されると、制御1iブロツク370に移行し、そこで制御装
置550はマルfブレクリ制御信り555を発し、それによってマルチプレクサ
560はf測アドレス521を取出しアト」ミス・レジスタ580に結合させる
。制御装置550は更にメモリ制御装置586に取出し周期を発信するために制
御CR号55Gを発する。取出しアドレス・レジスタ580は取出しアドレス1
9を転送し、メモリ制御586は高性能バス30を打て制御信号22を転送し、
それによって上記憶装置40の取出し周期が開始さAする。予測されたアドレス
521にり1g、・4−るラインは上記ta装百40から取出される。ライン2
0はデータ受理レジスタ582によって受理され、制御信号1日が命令手順又は
データ読出し手順のいVれをli′IU、“ザるかに応じて、制御装置550か
ら発された充填先取り信号552又は553の制御の下で、データバス17を杼
−C命令先取り装F1510又はデータ先取り装fi530のいずれかに転送さ
れる。次に制御はブロック410に進み、そこで続出し要求手順が終rする。
ブロック360て、バス55!土で先取りhr1肋のしノドが制御装置550に
よ7て検知されない場合は、制御はブロック380に進み、そこで増分レジスタ
570が次順ライ/・アドレス571を生成rる。制御装置550は次に、取出
しT I’ l/ス・17ノスタ580に次順ライン・アドレス571を結合r
るマルチブレクづ制御(3″1J555を発する。制all装置550はメモリ
ilJ制御装置586に取出し周期を発信する■制御f8号556も発する。取
出しアドレス・レジスタ580は取出しアドレス619を伝送し、メモリ制9+
1586は高性能バス30を経て制御信号622を伝送し、それによって主記憶
装置40の取出し周期が開始される。その後、次順のラインが主記憶装置40か
ら取出される。次順ライン20はデータ受理レジスタ582によって受理される
。次に制御信号18が命令又はデータ続出し1′−順のいずれを(h示するかに
応じて、次順ライン20がデータバス17を経C5命令先取り装置510又はデ
ータ先取り装置530に転送される。これは制御装W 550によって発される
バス552又は553土の充填先取り信号の制御の下で行われる。次に制御はブ
ロック410に進み、そこで読出し要求手順は終了する。
判定ブロック310で、バス554上で指示された主キャッシュのし、トが受理
されると、制御はブロック340に進み、そこて所望のラインが−1,キヤ、ン
ユ装置540から読出され、データ・ライン17を経てブUセッサ10に供給さ
れる。次に制御はブロック360に進ろ、そこで上述のように先取りが行われる
。。
先取りバッファのし〕I・又は土士ヤノ/ユのしノドが判定ブロック310て1
1信されない場合は、制御はブa、yり350に移行腰そこで「ミス状態」のラ
インが主キャ、ンユ装置540に取出される。これは、制御装置550が制御信
号555を発し、それによっ−(マルチブレク′11560が取出しアドレス・
17ジスン58()を所望のアドレス51C+に結合せしめた時に実行さ4する
。制御装置550は更にメモリ制御装置586に取出し周期を発信する制御信号
556をも発4る。
取出しアドレス・レジスタ580は取出しアドレス619を伝送し、メモリ制御
586は高性能バス30を経て制御信号622を伝送腰それによって主記憶装置
40の取出し周191が開始される。ミス状1mのラインはバス620上に戻り
、データ受理レジスタ582に記tgされ、データバス17を経て主4−ヤ/ノ
81装置540に転送される。次に制御装置550はバス554上で充填上キヤ
、ンユ信りを発し、それによって主手中ツノ:L540は新たなエントリをイ1
成積る。
ブロック390ては、次順のラインが上記1f!装置40から適宜の先取りバッ
ファ内に先取りされる。−に二連の場合と同様に、増分レジスタ570は次順ラ
インのr1ルス571を生成する。次に制御装置550は次順ラインのアドレス
571を取出しアドレス・レジスタ580に結合するマルチプレクサ制御信号5
55を発する。取出しアlルス・レジスタ580は取出しアドレス619を伝送
し、メモリ制御586は高性能バス30を経て制御信V7+322を伝送し、そ
れによって主記憶装置40の取出し周期が開始される。広開うイノは主記憶装置
40から取出される。次順ライン201↓データ受理レンスタ582によって受
理される。広開うイノ20は、制御装置550によって発されたバス552又は
バス553 J−の充填先取り信号の制御の下で、命令先取り装置510又はデ
ータ先取り装置530のいずれかに転送される。
ブロック400で、制御装置550がバス551 J:にl’ A C生成借り
を発すると、新たなPACエノトリがl’l成される。先取りNli助装置52
0のCA R及びI〕ARは、先取り補助装置520のデータ・セクション内の
新たなl’ A Cエントリを作成4−るために、所望のアドレス51[iと関
連して使用される。PACエノ1−リは、制御信号18が命令手順又はデータ取
出し手順のいずれをtlt示するかに応じ−〔、最終命令′rアドレスΔR又は
データ・アドレスD A RIこよって定義された迎えりタグ・フィールド(+
’ RE V TへGS)と共に、予測アドレス(N E X ’ri’ A
G )として所望のアドレスを記憶することによってデータ・セクションで作を
戊される。次に制御は410に進み、そこで読出し要求手順は終了する。
図7は図2のキ十ノ/ス・サブンステム21によって供給されるストライド予測
バードウ、アの例を示している。ストライド予測器703は装填命令中にブロモ
、すIIから受理された最後のいくつかのプログラド・カウンタ(rl’cJ)
と仮想アドレス(rVVA)との月を記憶し、装填命令に対応する1’ C4f
iのT’J i1’a現をチョックする。ストライド予1flll器703によ
ってPC値の再出現が検知された場合は、Dpfb220のようなデータ先取り
バッファ内に先取りするための予測VA795を生成4−るために、対応するV
A値(r V A maLch−)が利用される。
一実1!IP+で(ま、ストライド予測′?3703はプロセッサ・チップ11
上にある。
レジスタ701と702はプロセッサll内に組ろ入れられ、それぞれPC値と
VA値を含んでいる。この例の場合は、最後の5対のPCとVAが記(Rされて
いる。
ストライド予測器703は、装填命令、すなわち記憶装置からの装填又は記憶装
置の読出しを1:1示Vる信り780と共に、プロセッサIIからVA781と
1)C783を受理する。この例では、ストライド予測器703は段゛735か
ら739で構成されている。段735の場合は、双方とも装填信号780の制御
の下で、レジスタ710がVA781を記憶し、レジスタ720がr’c783
を記f!!する。
段73Gの場合は、双方とも装填信号780の制御の下で、レノスタフ+1がレ
ジスタ710から受理したVA790を記憶し、レジスタ721がレジスタ72
0から受理したPC792を記憶する。
1’J、’ 73 Gから739は段735ど同様に機11託する。装填(5号
)80が装填命令をlit示する毎に、VA781とl’ C783の値は伝搬
され、[先入れ先出し」方式によって段735から739までに記tI!される
。
比較器750から754は最新のPC783を各段735から739のそれぞれ
のPC出力と比較する。例えば、段735では、比較′a750はレジスタ72
0の出カフ92を最新のl’c78.3と比較する。比較器750が双方の一致
を検知すると、使用可11シ信号791によって励振器740はレジスタ710
からの■へ790をV Amatch 782に結合せしめる。1iul様にし
て、比較器751はレジスタ721の出力が最新のr’c783と一致−゛るか
どうかを検査する。比較器751によって一致が検出されると、レジスタ711
の出力は励振器741によってVAmatch と結合される。
各々の段735から739は最新のr’ C783を、記憶されたl′C値と比
較[る。レジスタ720から724の出力のいVれかが最新のPC783と一致
する場合は、レジスタ710から714に記憶された対応する■八が■Amat
ch 782I!:結合される。
数理論狸回路730が■へ++alcl+ 782及び最新の■へ781を受理
し、下記の方程式に基づいて予測■Δ795を算出する。
予測VA士最新VA+ (最新■八−V Amatch ) −2x最新VA−
VAmatch例えば、vl、理論狸回路730 +;L−実施1911では、
一方の入力が論理的に左/フ1−された最新VA781(2x最新■八)であり
、別の入力がVA++atch 782の2の補数である簡単な加算器から成る
ものでよい。VA795はDpfl+220のようなデータ先取りバッファ内に
先取りするために利用できる。
」二連の明細書において、本発明を特定の実施例について説明しCきた。しかし
、添(lの請求の範囲に記載した本発明の広義の趣旨と範囲から離れることなく
、種々の修正と変更が可能であることは明白である。従って、明細書と図面は限
定的なものではなく、例示的なものである。
−T−摩売 和r −1rE−書 ()j ”x’; )平成7年37.1 +
5 El
持、負11長官 殿
l、・I+ (’lの表示
・IF成5年特許願 第515806号(111際出願番号)PCT/USO3
1018142、発明の名称
コンピュータ・ミステノ、における1、記憶装置のアクセス時間とキャノンニー
メモリのサイズを最小限にするためのキャッシュへの先取り
3、補市をする者
’IT (iとの関係 特許出願人
名 称 ランパス舎インコーボレーテノド4、代理人
戸: 所 〒100 東京都■−代[11区永III町2丁114番2号秀和溜
池ビル8階
山川111際特許事務所内
電話(3580)0961 (代表)
6、Mi+1の対象
(1)持詰法第184条の5第1項の規定による書面の特許出願人の欄(2)図
面の翻訳文
国際調査報告
1m、、+ie+alAeellc*lle+No PCT/US931018
】’フロントページの続き
(81)指定回 EP(AT、BE、CH,DE。
DK、ES、FR,GB、GR,IE、IT、LU、MC,NL、PT、SE)
、0A(BF、BJ、CF、CG、CI、CM、GA、GN、ML、MR,SN
、TD。
TG)、AT、AU、BB、BG、BR,CA、CH。
CZ、DE、DK、ES、FI、GB、HU、JP、KP、KR,LK、LU、
MG、MN、MW、NL、N。
、 NZ、PL、 PT、 RO,RU、SD、SE、SK。
A
(72)発明者 ウェア、フレデリック・アボットアメリカ合衆国 94022
カリフォルニア州・ロス アルトス・フレモレト パインズ・13961
Claims (16)
- 1.コンピュータ・システムで記憶装置のアクセス時間を最小限に短縮する方法 において、 (a)主記憶装置内に記憶されたデータ・ラインに対応するアドレスを受理し、 主プロセッサからの読出し要求を受理する段階と、(b)アドレスを先取りバッ ファと主キヤツシュに転送する段階と、(c)先取りバツフアからの先取りバツ フア・ヒット信号と、主キヤツシュからの主キヤツシュ・ヒット信号を検知する 段階であって、その際に、先取りバッファ・ヒット信号はアドレスに対応するデ ータ・ラインが先取りバッファ内に記憶されているか否かを指示し、主キヤツシ ュ・ヒット信号はアドレスに対応するデータ・ラインが主キヤツシュに記憶され ているか否かを指示する段階と、(d)先取りバッファ・ヒット信号が、データ ・ラインが先取りバッファ内に記憶されていることを指示した場合は、先取りバ ツフアからデータ・ラインを読出し、データ・ラインを主プロセツサに伝送し、 次に段階(h)に進む段階と、(e)主キヤツシュ・ヒツト信号が、データ・ラ インガ主キャッシュに記憶されていることを指示した場合は、主キヤツシュから データ・ラインを読出し、データ・ラインを主プロセッサに伝送し、次に段階( h)に進む段階と、(f)アドレスを主記憶装置に伝送する段階と、(g)主記 憶装置からデータ・ラインを受理し、データ・ラインを主プロセッサに伝送する 段階と、 (h)予測アドレスを生成し、予測アドレスに対応する次のデータ・ラインを主 記憶装置から取出し、次のデータ・ラインを先取りバツファ内に記憶する段階、 とから成ることを特徴とする方法。
- 2.段階(g)が更にデータ・ラインを主キヤツシュに記憶する段階を含んむこ とを特徴とする請求の範囲第1項記載の方法。
- 3.段階(h)で予測アドレスを生成する段階がアドレスを増分することから成 ることを特徴とする請求の範囲第1項記載の方法。
- 4.コンピュータ・システムにおいて記憶装置のアクセス時間を最小限に短縮す る方法において、 (a)主プロセッサからの読出し要求と、主記憶装置内に記憶されたデータ・ラ インに対応するアドレスを受理する段階と、(b)前記アドレスを先取りバツフ ァ、主キヤツシュ及び先取り補助キャッシュに転送する段階と、 (c)先取りバッファからの先取りバッファ・ヒット信号と、主キャッシュから の主キャッシュ・ヒット信号を検知する段階であって、その際に、先取りバッフ ァ・ヒット信号はアドレスに対応するデータ・ラインが先取りバッファ内に記憶 されているか否かを指示し、主キャッシュ・ヒット信号はアドレスに対応するデ ータ・ラインが主キヤツシュに記憶されているか否かを指示する段階と、(d) 先取りバツファ・ヒット信号が、データ・ラインが先取りバッファ内に記憶され ていることを指示した場合は、先取りバッファからデータ・ラインを読出し、デ ータ・ラインを主プロセッサに伝送し、次に段階(f)に進む段階と、(e)主 キヤツシユ・ヒット信号が、データ・ラインが主キヤツシュに記憶されているこ とを指示した場合は、主記憶装置データ・ラインを取出し、ヂータ・ラインを主 プロセッサに伝送し、先取り補助キヤツシュを更新する段階と、(f)先取り補 助キャッシュから先取り補助キヤツシュ・ヒット信号を検知する段階であって、 その際に、先取り補助キヤツシュ・−ツト信号がアドレスに対応する予測アドレ スが先取り補助キャッシュに記憶されているか否かを指示する段階と、 (g)先取り補助キヤツシュ・ヒット信号が、アドレスに対応する予測アドレス が先取り補助キャッシュに記憶されていないことを指示した場合は、主記憶装置 から次順のデータ・ラインを取出し、次順のデータ・ラインを先取りバツファ内 に記憶する段階と、 (h)先取り補助キヤツシユ・ヒット信号が、アドレスに対応する予測アドレス が先取り補助キャッシュに記憶されていることを指示した場合は、主記憶装置か ら予測アドレスに対応する次のデータ・ラインを取出し、次のデータ.ラインを 先取りバッファ内に記憶する段階、とから成ることを特徴とする方法。
- 5.段階(e)の、主記憶装置データ・ラインを取出し、先取り補助キヤツシュ を更新する段階が、 (a)アドレスを主記憶装置に伝送する段階と、(b)主記憶装置からデータ・ ラインを受理し、主キャッシュ内にデータ・ラインを記憶し、データ・ラインを 主プロセッサに伝送する段階と、(c)主プロセッサから受理された最終アドレ スによってアドレスが選択されるように、アドレスを先取り補助キヤツシュ内に 記憶する段階とから成ることを特徴とする請求の範囲第4項記載の方法。
- 6.更に、 (i)主プロセッサからプログラム・カウンタ・アドレスと、仮想アドレスと、 装填命令制御信号とを受理する段階と、(j)装填制御信号が主プロセッサから 受理されると、最後の「n」個のプログラム・カウンタ・アドレスと、仮想アド レスとが記憶されるように、プログラム・カウンタ・アドレスと、仮想アドレス とを記憶する段階と、(k)プログラム・カウンタ・アドレスと、最後の「n」 個のプログラム・カウンタ・アドレスのそれぞれと比較する段階と、(∫)プロ グラム・カウンタ・アドレスが最後の「n」個のプログラム・カウンタ・アドレ スの一つと等しい場合は、対応する記憶された仮想アドレスに2を掛け、仮想ア ドレスを加算することによって予測仮想アドレスを生成する段階と、(m)プロ グラム・カウンタ・アドレスが最後の「n」個のプログラム・カウンタ・アドレ スの一つと等しい場合は、予測仮想アドレスに対応する次のデータラインを主記 憶装置から取出し、次のデータ・ラインを予測バッファ内に記憶する段階とを含 むことを特徴とする請求の範囲第4項記載の方法。
- 7.コンビコーク・システムで記憶装置のアクセス時間を最小限に短縮する装置 において、 主記憶装置内に記憶されたデータ・ラインに対応するアドレスを受理し、主プロ セツサからの読出し要求を受理する装置と、アドレスを先取りバッファと主キヤ ツシュに転送する装置と、先取りバツファから、アドレスに対応するヂータ・ラ インが先取りバッファ内に記憶されているか否かを指示する先取りバッファ・ヒ ット信号を検知する装置と、 先取りバツファ・ヒット信号が、データ・ラインが先取りバツファ内に記憶され ていることを指示した場合は、先取りバッファからデータ・ラインを読出し、デ ータ・ラインを主プロセッサに伝送する装置と、主キャッシュから、アドレスに 対応するデータ・ラインが主キヤツシュ内に記憶されているか否かを指示する主 キャッシュ・ヒット信号を検知する装置と、主キャッシユ・ヒット信号が、デー タ・ラインが主キヤツシュ内に記憶されていないことを指示した場合は、主記憶 装置からデータ・ラインを取出す装置と主キヤツシュからデータ・ラインを読出 し、データ・ラインを主プロセッサに伝送する装置と、 次順のデータ・ラインを主記憶装置から取出し、次順のデータ・ラインを先取り バッファ内に記憶する装置と、 予測アドレスを生成し、予測アドレスに対応する次のデータ・ラインを主記憶装 置から取出し、次のデータ・ラインを先取りバッファ内に記憶する装置、とから 構成されたことを特徴とする装置。
- 8.アドレスを先取り補助装置に転送する装置と、先取り補助装置から、アドレ スに対応する予測アドレスが先取り補助キャッシュ内に記憶されているか否かを 指示する、先取り補助キヤツシュ・ヒット信号を検知する装置と、 先取り補助キャッシュ・ヒツト信号が、アドレスに対応する予測アドレスが先取 り補助キャッシュ内に記憶されていないことを指示した場合は、主記憶装置から 次順のデータ・ラインを取出し、次順のデータ・ラインを先取りバッファに記憶 する装置と、 先取り補助キャッシュ・ヒット信号が、アドレスに対応する予測アドレスが先取 りバツファ内に記憶されていることを指示した場合は、主記憶装置から予測アド レスに対応する次順のデータ・ラインを取出し、次順のデータ・ラインを先取り バッファに記憶する装置と、 主プロセッサから受理された最終アドレスによつてアドレスが選択されるように 、アドレスを先取り補助キャッシュ内に記憶する装置、とから成ることを特徴と する請求の範囲第7項記載の装置。
- 9.更に、 主プロセッサからプログラム・カウンタ・アドレスと、仮想アドレスと、装填命 令制御信号とを受理する装置と、 装填制御信号が主プロセッサから受理きれると、最後の「n」個のプログラムカ ウンタ・アドレスと、仮想アドレスとが記憶されるように、プログラム・カウン タ・アドレスと、仮想アドレスとを記憶する装置と、プログラム・カウンタ・ア ドレスと、最後の「n」個のプログラム・カウンタアドレスのそれぞれと比較す る装置と、プログラム・カウンタ・アドレスが最後の「n」個のプログラム・カ ウンタ・アドレスの一つと等しい場合は、対応する記憶された仮想アドレスに2 を掛け、仮想アドレスを加算することによって予測仮想アドレスを生成する装置 と、プログラム・カウンタ・アドレスが最後の「n」個のプログラム・カウンタ ・アドレスの一つと等しい場合は、予測仮想アドレスに対応する次のデータ・ラ インを主記憶装置から取出し、次のデータ・ラインを予測バツファ内に記憶する 装置とを含むことを特徴とする請求の範囲第7項記載の装置。
- 10.キヤツシュ・サプシステムにおいて、命令先取りヒット信号と、データ先 取りヒット信号と、主キャッシュヒット信号とを受信するように結合され、主プ ロセッサからのプロセッサ制御信号を受信するように結合され、充填命令信号と 、充填データ信号と、充填キヤツシュ信号と、次のアドレス選択信号とを生成す る制御装置と、アドレスと充填命令信号を受信するように結合され、それぞれが 対応するクグを有する複数の先取り命令ラインを記憶し、アドレスが先取りされ た命令ラインの一つのタグと対応する場合は、命令ヒット信号を生成し、データ バスを経て先取りされた命令を伝送し、且つ受理する命令先取り装置と、アドレ スと充填データ信号を受信するように結合され、それぞれが対応するタグを有す る複数の先取りデータ・ラインを記憶し、アドレスが先取りされたデータ・ライ ンの一つのクグと対応する場合は、データ・ヒット信号を生成し、データバスを 経て先取りされたデータを伝送し、且つ受理するデータ先取り装置と、アドレス と充填キヤツシュ信号を受信するように結合され、それぞれが対応するタグを有 する複数の予測されないラインを記憶し、アドレスが先取りされた予測されない ラインの一つのクグと対応する場合は、キヤツシュ・ヒット信号を生成し、デー タバスを経て予想されないラインを伝送し、且つ受理する主キヤツシュ装置と、 アドレスと次のアドレス選択信号を受信するように結合され、予測されたアドレ スを生成し、アドレスと予測されたアドレスを選択的に主記憶装置に伝送する予 測装置と、 主記憶装置と、主プロセツサ、命令先取り装置、データ先取り装置及び主キヤツ シュ装置との間で情報を転送するように結合されたメモリ・インタフエースとか ら構成されたことを特徴とするキヤツシュ・サプシステム。
- 11.命令先取り装置が複数のライン・エントリを有する完全連想バッファ装置 から成り、前記ライン・エントリが先取りされた命令ラインを記憶するためのデ ータ・フィールドと、先取りされた命令ラインを選択するためのタグ・フィール ドとを有することを特徴とする請求の範囲第10項記載のキヤツシュ・サプシス テム。
- 12.データ先取り装置が複数のライン・エントリを有する完全連想バツファ装 置から成り、前記ライン・エントリが先取りされたデータ・ラインを記憶するた めのデータ・フィールドと、先取りされたデータ・ラインを選択するためのタグ フィールドとを有することを特徴とする請求の範囲第10項記載のキヤツシュサ プシステム。
- 13.キヤツシュ装置が複数のライン・エントリを有する連想キヤツシュ装置の 集合から成り、前記ライン・エントリが予測されないラインを記憶するためのデ ータ・フィールドと、予測されないラインを選択するためのクグ・フィールドと を有することを特徴とする請求の範囲第10項記載のキヤツシュ,サプシステム 。
- 14.予測装置が、 アドレスを受理するように結合され、アドレスを増分することによって次順のア ドレスを生成する増分レジスタ装置と、アドレスと、次順アドレスと、次のアド レス選択信号とを受理するように結合され、アドレスと次順アドレスとを、次の アドレス選択信号の制御の下で主記憶装置に選択的に伝送するマルチプレクサ装 置、とから構成されたことを特徴とする請求の範囲第10項記載のキヤツシュ・ サプシステム。
- 15.予測装置が、 アドレスを受理するように結合され、アドレスを増分することによって次順のア ドレスを生成する増分レジスタ装置と、アドレスを受理するように結合され、制 御装置からPACエントリ作成信号を受理するように結合され、各々が対応する タグを有する複数の予測アドレスを記憶し、アドレスが予測アドレスの一つのタ グと対応する場合は、PACヒット信号を生成し、PACヒット信号が生成され ると、アドレスに対応する次の予測アドレスを伝送するように結合された予測補 助装置と、アドレスと、次順アドレスと、次の予測アドレスと、次のアドレス選 択信号とを受理するように結合され、アドレスと、次順アドレスと、次の予測ア ドレスとを次のアドレス選択信号の制御の下で主記憶装置に選択的に伝送するマ ルチプレクサとから構成されたこことを特徴とする請求の範囲第10項記載のキ ヤツシュサプシステム。
- 16.先取り補助装置が、 予測アドレスを記憶するためのデータ・フィールドと、予測アドレスを選択する ためのタグ・フィールドとを有する複数のライン・エントリを有する連想キャン シュ装置の集合と、 アドレスを受理し、プロセッサ制御信号が命令続出し周期を指示した場合は、ア ドレスを記憶するように結合された第1レジスタ装置と、アドレスを受理し、プ ロセッサ制御信号がデータ読出し周期を指示した場合は、アドレスを記憶するよ うに結合された第2レジスタ装置とから構成されたことを特徴とする請求の範囲 第15項記載のキヤツシュ・サプシステム。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US84730092A | 1992-03-06 | 1992-03-06 | |
US847,300 | 1992-03-06 | ||
PCT/US1993/001814 WO1993018459A1 (en) | 1992-03-06 | 1993-03-03 | Prefetching into a cache to minimize main memory access time and cache size in a computer system |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH07506921A true JPH07506921A (ja) | 1995-07-27 |
Family
ID=25300300
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP5515806A Pending JPH07506921A (ja) | 1992-03-06 | 1993-03-03 | コンピュータ・システムにおける主記憶装置のアクセス時間とキャッシュ・メモリのサイズを最小限にするためのキャッシュへの先取り |
Country Status (4)
Country | Link |
---|---|
US (1) | US5499355A (ja) |
JP (1) | JPH07506921A (ja) |
DE (1) | DE4391002T1 (ja) |
WO (1) | WO1993018459A1 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6173392B1 (en) | 1997-04-12 | 2001-01-09 | Nec Corporation | Prefetch controller automatically updating history addresses |
Families Citing this family (73)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5498990A (en) * | 1991-11-05 | 1996-03-12 | Monolithic System Technology, Inc. | Reduced CMOS-swing clamping circuit for bus lines |
US6453388B1 (en) | 1992-06-17 | 2002-09-17 | Intel Corporation | Computer system having a bus interface unit for prefetching data from system memory |
WO1994003901A1 (en) * | 1992-08-10 | 1994-02-17 | Monolithic System Technology, Inc. | Fault-tolerant, high-speed bus system and bus interface for wafer-scale integration |
JP2596712B2 (ja) * | 1993-07-01 | 1997-04-02 | インターナショナル・ビジネス・マシーンズ・コーポレイション | 近接した分岐命令を含む命令の実行を管理するシステム及び方法 |
US5848432A (en) * | 1993-08-05 | 1998-12-08 | Hitachi, Ltd. | Data processor with variable types of cache memories |
US5652858A (en) * | 1994-06-06 | 1997-07-29 | Hitachi, Ltd. | Method for prefetching pointer-type data structure and information processing apparatus therefor |
US5649144A (en) * | 1994-06-13 | 1997-07-15 | Hewlett-Packard Co. | Apparatus, systems and methods for improving data cache hit rates |
US5655113A (en) * | 1994-07-05 | 1997-08-05 | Monolithic System Technology, Inc. | Resynchronization circuit for a memory system and method of operating same |
US5802272A (en) * | 1994-12-19 | 1998-09-01 | Digital Equipment Corporation | Method and apparatus for tracing unpredictable execution flows in a trace buffer of a high-speed computer system |
US5526320A (en) | 1994-12-23 | 1996-06-11 | Micron Technology Inc. | Burst EDO memory device |
US6804760B2 (en) * | 1994-12-23 | 2004-10-12 | Micron Technology, Inc. | Method for determining a type of memory present in a system |
US5729503A (en) * | 1994-12-23 | 1998-03-17 | Micron Technology, Inc. | Address transition detection on a synchronous design |
US5610864A (en) | 1994-12-23 | 1997-03-11 | Micron Technology, Inc. | Burst EDO memory device with maximized write cycle timing |
US6525971B2 (en) | 1995-06-30 | 2003-02-25 | Micron Technology, Inc. | Distributed write data drivers for burst access memories |
JP3548616B2 (ja) * | 1995-01-20 | 2004-07-28 | 株式会社日立製作所 | 情報処理装置 |
US5630094A (en) * | 1995-01-20 | 1997-05-13 | Intel Corporation | Integrated bus bridge and memory controller that enables data streaming to a shared memory of a computer system using snoop ahead transactions |
US5687350A (en) * | 1995-02-10 | 1997-11-11 | International Business Machines Corporation | Protocol and system for performing line-fill address during copy-back operation |
US5778436A (en) * | 1995-03-06 | 1998-07-07 | Duke University | Predictive caching system and method based on memory access which previously followed a cache miss |
US5732242A (en) | 1995-03-24 | 1998-03-24 | Silicon Graphics, Inc. | Consistently specifying way destinations through prefetching hints |
US6237074B1 (en) * | 1995-05-26 | 2001-05-22 | National Semiconductor Corp. | Tagged prefetch and instruction decoder for variable length instruction set and method of operation |
US5787267A (en) * | 1995-06-07 | 1998-07-28 | Monolithic System Technology, Inc. | Caching method and circuit for a memory system with circuit module architecture |
US5860150A (en) * | 1995-10-06 | 1999-01-12 | International Business Machines Corporation | Instruction pre-fetching of a cache line within a processor |
US6085291A (en) * | 1995-11-06 | 2000-07-04 | International Business Machines Corporation | System and method for selectively controlling fetching and prefetching of data to a processor |
US7681005B1 (en) | 1996-01-11 | 2010-03-16 | Micron Technology, Inc. | Asynchronously-accessible memory device with mode selection circuitry for burst or pipelined operation |
US5778422A (en) * | 1996-04-04 | 1998-07-07 | International Business Machines Corporation | Data processing system memory controller that selectively caches data associated with write requests |
US6981126B1 (en) * | 1996-07-03 | 2005-12-27 | Micron Technology, Inc. | Continuous interleave burst access |
US6401186B1 (en) * | 1996-07-03 | 2002-06-04 | Micron Technology, Inc. | Continuous burst memory which anticipates a next requested start address |
US6029226A (en) * | 1996-09-30 | 2000-02-22 | Lsi Logic Corporation | Method and apparatus having automated write data transfer with optional skip by processing two write commands as a single write command |
US6167486A (en) | 1996-11-18 | 2000-12-26 | Nec Electronics, Inc. | Parallel access virtual channel memory system with cacheable channels |
US5822790A (en) * | 1997-02-07 | 1998-10-13 | Sun Microsystems, Inc. | Voting data prefetch engine |
US7272703B2 (en) * | 1997-08-01 | 2007-09-18 | Micron Technology, Inc. | Program controlled embedded-DRAM-DSP architecture and methods |
US6035383A (en) * | 1997-11-03 | 2000-03-07 | Arm Limited | Memory access request result prediction prior to confirm signal generation |
US6134643A (en) * | 1997-11-26 | 2000-10-17 | Intel Corporation | Method and apparatus for cache line prediction and prefetching using a prefetch controller and buffer and access history |
US7089331B1 (en) * | 1998-05-29 | 2006-08-08 | Oracle International Corporation | Method and mechanism for reducing client-side memory footprint of transmitted data |
US6453377B1 (en) | 1998-06-16 | 2002-09-17 | Micron Technology, Inc. | Computer including optical interconnect, memory unit, and method of assembling a computer |
JP3803196B2 (ja) * | 1998-07-03 | 2006-08-02 | 株式会社ソニー・コンピュータエンタテインメント | 情報処理装置、情報処理方法および記録媒体 |
JP3439350B2 (ja) * | 1998-10-02 | 2003-08-25 | Necエレクトロニクス株式会社 | キャッシュ・メモリ制御方法及びキャッシュ・メモリ制御装置 |
US6279082B1 (en) | 1998-10-14 | 2001-08-21 | Telefonaktiebolaget Lm Ericsson (Publ) | System and method for efficient use of cache to improve access to memory of page type |
WO2000031642A1 (de) * | 1998-11-25 | 2000-06-02 | Fujitsu Siemens Computers Gmbh | Cache-speichereinrichtung |
US6385703B1 (en) * | 1998-12-03 | 2002-05-07 | Intel Corporation | Speculative request pointer advance for fast back-to-back reads |
US6397296B1 (en) * | 1999-02-19 | 2002-05-28 | Hitachi Ltd. | Two-level instruction cache for embedded processors |
GB2348024B (en) * | 1999-03-16 | 2003-06-25 | Ibm | Cache memory systems |
US6449697B1 (en) | 1999-04-23 | 2002-09-10 | International Business Machines Corporation | Prestaging data into cache in preparation for data transfer operations |
US6223257B1 (en) | 1999-05-12 | 2001-04-24 | Rise Technology Company | Instruction cache address generation technique having reduced delays in fetching missed data |
US6754779B1 (en) * | 1999-08-23 | 2004-06-22 | Advanced Micro Devices | SDRAM read prefetch from multiple master devices |
JP2001060169A (ja) * | 1999-08-24 | 2001-03-06 | Hitachi Ltd | キャッシュコントローラ及びコンピュータシステム |
US6708254B2 (en) | 1999-11-10 | 2004-03-16 | Nec Electronics America, Inc. | Parallel access virtual channel memory system |
US7389284B1 (en) | 2000-02-29 | 2008-06-17 | Oracle International Corporation | Method and mechanism for efficient processing of remote-mapped queries |
US6453393B1 (en) | 2000-09-18 | 2002-09-17 | Intel Corporation | Method and apparatus for interfacing to a computer memory |
SE0102564D0 (sv) | 2001-07-19 | 2001-07-19 | Ericsson Telefon Ab L M | Arrangement and method in computor system |
US7103590B1 (en) | 2001-08-24 | 2006-09-05 | Oracle International Corporation | Method and system for pipelined database table functions |
EP1304619A1 (en) * | 2001-10-22 | 2003-04-23 | STMicroelectronics Limited | Cache memory operation |
US20030084433A1 (en) * | 2001-10-31 | 2003-05-01 | Chi-Keung Luk | Profile-guided stride prefetching |
US6973457B1 (en) | 2002-05-10 | 2005-12-06 | Oracle International Corporation | Method and system for scrollable cursors |
US7610351B1 (en) | 2002-05-10 | 2009-10-27 | Oracle International Corporation | Method and mechanism for pipelined prefetching |
US7133972B2 (en) | 2002-06-07 | 2006-11-07 | Micron Technology, Inc. | Memory hub with internal cache and/or memory access prediction |
US7117316B2 (en) | 2002-08-05 | 2006-10-03 | Micron Technology, Inc. | Memory hub and access method having internal row caching |
US6820181B2 (en) | 2002-08-29 | 2004-11-16 | Micron Technology, Inc. | Method and system for controlling memory accesses to memory modules having a memory hub architecture |
US7167954B2 (en) * | 2002-09-09 | 2007-01-23 | Broadcom Corporation | System and method for caching |
TWI229290B (en) | 2002-09-11 | 2005-03-11 | Sunplus Technology Co Ltd | Storage structure and the method capable of storing and forwarding instructions and data |
US7055005B2 (en) * | 2003-04-07 | 2006-05-30 | Hewlett-Packard Development Company, L.P. | Methods and apparatus used to retrieve data from memory into a RAM controller before such data is requested |
US7051162B2 (en) * | 2003-04-07 | 2006-05-23 | Hewlett-Packard Development Company, L.P. | Methods and apparatus used to retrieve data from memory before such data is requested |
US20050010726A1 (en) * | 2003-07-10 | 2005-01-13 | Rai Barinder Singh | Low overhead read buffer |
US7120743B2 (en) | 2003-10-20 | 2006-10-10 | Micron Technology, Inc. | Arbitration system and method for memory responses in a hub-based memory system |
US7330992B2 (en) | 2003-12-29 | 2008-02-12 | Micron Technology, Inc. | System and method for read synchronization of memory modules |
US7927948B2 (en) | 2005-07-20 | 2011-04-19 | Micron Technology, Inc. | Devices with nanocrystals and methods of formation |
US7941604B2 (en) * | 2006-02-01 | 2011-05-10 | Infineon Technologies Ag | Distributed memory usage for a system having multiple integrated circuits each including processors |
US20090002863A1 (en) * | 2007-06-29 | 2009-01-01 | Seagate Technology, Llc | System and method of monitoring data operations at a data storage device |
US9710384B2 (en) * | 2008-01-04 | 2017-07-18 | Micron Technology, Inc. | Microprocessor architecture having alternative memory access paths |
US20100010965A1 (en) * | 2008-07-08 | 2010-01-14 | International Business Machines Corporation | Query Management Systems |
US8621153B2 (en) * | 2009-12-26 | 2013-12-31 | Intel Corporation | Microcode refactoring and caching |
US8914580B2 (en) | 2010-08-23 | 2014-12-16 | Apple Inc. | Reducing cache power consumption for sequential accesses |
US8977819B2 (en) * | 2010-09-21 | 2015-03-10 | Texas Instruments Incorporated | Prefetch stream filter with FIFO allocation and stream direction prediction |
Family Cites Families (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4247817A (en) * | 1978-05-15 | 1981-01-27 | Teradyne, Inc. | Transmitting electrical signals with a transmission time independent of distance between transmitter and receiver |
US4811202A (en) * | 1981-10-01 | 1989-03-07 | Texas Instruments Incorporated | Quadruply extended time multiplexed information bus for reducing the `pin out` configuration of a semiconductor chip package |
US4481625A (en) * | 1981-10-21 | 1984-11-06 | Elxsi | High speed data bus system |
US4519034A (en) * | 1982-06-30 | 1985-05-21 | Elxsi | I/O Bus clock |
US4719568A (en) * | 1982-12-30 | 1988-01-12 | International Business Machines Corporation | Hierarchical memory system including separate cache memories for storing data and instructions |
US4807110A (en) * | 1984-04-06 | 1989-02-21 | International Business Machines Corporation | Prefetching system for a cache having a second directory for sequentially accessed blocks |
JPS61175845A (ja) * | 1985-01-31 | 1986-08-07 | Toshiba Corp | マイクロプロセツサシステム |
JPH0731627B2 (ja) * | 1985-08-10 | 1995-04-10 | 株式会社リコー | メモリ−装置 |
US4785394A (en) * | 1986-09-19 | 1988-11-15 | Datapoint Corporation | Fair arbitration technique for a split transaction bus in a multiprocessor computer system |
US4980823A (en) * | 1987-06-22 | 1990-12-25 | International Business Machines Corporation | Sequential prefetching with deconfirmation |
US4942520A (en) * | 1987-07-31 | 1990-07-17 | Prime Computer, Inc. | Method and apparatus for indexing, accessing and updating a memory |
US4926323A (en) * | 1988-03-03 | 1990-05-15 | Advanced Micro Devices, Inc. | Streamlined instruction processor |
US5142634A (en) * | 1989-02-03 | 1992-08-25 | Digital Equipment Corporation | Branch prediction |
US5136697A (en) * | 1989-06-06 | 1992-08-04 | Advanced Micro Devices, Inc. | System for reducing delay for execution subsequent to correctly predicted branch instruction using fetch information stored with each block of instructions in cache |
EP0534963A1 (en) * | 1989-08-24 | 1993-04-07 | E.I. Du Pont De Nemours And Company | Immunoassay to detect pseudocercosporella antigen in cereal plants |
US5148538A (en) * | 1989-10-20 | 1992-09-15 | International Business Machines Corporation | Translation look ahead based cache access |
US5261066A (en) * | 1990-03-27 | 1993-11-09 | Digital Equipment Corporation | Data processing system and method with small fully-associative cache and prefetch buffers |
DE69132201T2 (de) * | 1990-03-27 | 2000-12-28 | Compaq Computer Corp., Houston | Speicher-Anordnung und Verfahren mit Vorausholungspuffer |
US5317718A (en) * | 1990-03-27 | 1994-05-31 | Digital Equipment Corporation | Data processing system and method with prefetch buffers |
EP0457403B1 (en) * | 1990-05-18 | 1998-01-21 | Koninklijke Philips Electronics N.V. | Multilevel instruction cache and method for using said cache |
-
1993
- 1993-03-03 DE DE4391002T patent/DE4391002T1/de not_active Ceased
- 1993-03-03 JP JP5515806A patent/JPH07506921A/ja active Pending
- 1993-03-03 WO PCT/US1993/001814 patent/WO1993018459A1/en active Application Filing
-
1994
- 1994-11-15 US US08/339,920 patent/US5499355A/en not_active Expired - Fee Related
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6173392B1 (en) | 1997-04-12 | 2001-01-09 | Nec Corporation | Prefetch controller automatically updating history addresses |
Also Published As
Publication number | Publication date |
---|---|
DE4391002T1 (de) | 1995-02-23 |
US5499355A (en) | 1996-03-12 |
WO1993018459A1 (en) | 1993-09-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPH07506921A (ja) | コンピュータ・システムにおける主記憶装置のアクセス時間とキャッシュ・メモリのサイズを最小限にするためのキャッシュへの先取り | |
JP7553478B2 (ja) | 書き込みミスエントリのドレインをサポートする犠牲キャッシュ | |
US5235697A (en) | Set prediction cache memory system using bits of the main memory address | |
JP3800383B2 (ja) | コンピュータのランダムアクセスメモリシステム | |
US5091851A (en) | Fast multiple-word accesses from a multi-way set-associative cache memory | |
US5586294A (en) | Method for increased performance from a memory stream buffer by eliminating read-modify-write streams from history buffer | |
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 | |
US5388247A (en) | History buffer control to reduce unnecessary allocations in a memory stream buffer | |
US6317810B1 (en) | Microprocessor having a prefetch cache | |
US5461718A (en) | System for sequential read of memory stream buffer detecting page mode cycles availability fetching data into a selected FIFO, and sending data without aceessing memory | |
US7047362B2 (en) | Cache system and method for controlling the cache system comprising direct-mapped cache and fully-associative buffer | |
JPH07253926A (ja) | キャッシュ・ミスによる時間ペナルティ減少方法 | |
US8621152B1 (en) | Transparent level 2 cache that uses independent tag and valid random access memory arrays for cache access | |
US20080307169A1 (en) | Method, Apparatus, System and Program Product Supporting Improved Access Latency for a Sectored Directory | |
JP3407808B2 (ja) | コンピュータシステム | |
US5452418A (en) | Method of using stream buffer to perform operation under normal operation mode and selectively switching to test mode to check data integrity during system operation | |
US8117400B2 (en) | System and method for fetching an information unit | |
US6934810B1 (en) | Delayed leaky write system and method for a cache memory | |
EP0488566A2 (en) | Method and apparatus for fast page mode selection | |
US5838946A (en) | Method and apparatus for accomplishing processor read of selected information through a cache memory | |
JP4796580B2 (ja) | フェッチ・バーストを用いて情報をキャッシュ・モジュールに与える装置及び方法 | |
US20240054072A1 (en) | Metadata-caching integrated circuit device | |
JPH04505225A (ja) | スカラー処理用に設計されたメモリシステムでメモリからベクトルデータをプリフェッチする方法 | |
JPS5818710B2 (ja) | 記憶システム | |
JP2001229074A (ja) | メモリ制御装置と情報処理装置及びメモリ制御チップ |