JPH02257235A - キャッシュメモリを関連する主メモリから選択的にローディングする装置及び方法 - Google Patents
キャッシュメモリを関連する主メモリから選択的にローディングする装置及び方法Info
- Publication number
- JPH02257235A JPH02257235A JP1278321A JP27832189A JPH02257235A JP H02257235 A JPH02257235 A JP H02257235A JP 1278321 A JP1278321 A JP 1278321A JP 27832189 A JP27832189 A JP 27832189A JP H02257235 A JPH02257235 A JP H02257235A
- Authority
- JP
- Japan
- Prior art keywords
- data
- length
- cache memory
- cache
- bytes
- 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
Links
- 238000000034 method Methods 0.000 title claims description 19
- 230000004044 response Effects 0.000 claims abstract 2
- 238000013500 data storage Methods 0.000 claims 1
- 239000013598 vector Substances 0.000 abstract description 11
- 238000001514 detection method Methods 0.000 abstract description 3
- 230000008901 benefit Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000001174 ascending effect Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 230000000739 chaotic effect Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000001788 irregular Effects 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
Classifications
-
- 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
- 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)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Memory System (AREA)
Abstract
め要約のデータは記録されません。
Description
ャッシュデータ命令記憶装置を有するコンピュータプロ
セッサに関する。
択するには、キャッシュのアクセスパターンを知ること
が必要である。
が増大するにしたがって理論ピークに向かうという利点
を有している。しかしながら、実際の大きさが一度バス
の帯域幅を越えると、その読み取りを満足するには、多
重バスサイクルが必要であり、従って、キャッシュミス
の傾向が増大する可能性がある。
って符号(例えば、最も直接的に「ベクトル」化コンパ
イラ及びベクトルハードウェアから利益を得る種類の符
号)が順次長掃引をする場合、−船釣には、長キャッシ
ュ充填が望ましい。
シュ充填中に読み取られる付属データの実際に使用され
る確率が同程度に高いということを意味する。最後に、
この「ベクトル」の利用の成果はしばしばメモリの帯域
幅の直接関数であるので、改良になるバスの利用は利用
速度の増加となる。
ッシュ充填は実際には成果を下げる可能性がある。これ
には少なくとも2つの理由がある。
ッシュ充填を完了するに必要なより多くのバスサイクル
が実際にはメモリの平均ロードの潜在性を増加するに到
る可能性がある。より多くの充填サイズは置換可能なキ
ャッシュラインの数を減少もし、それ故、これらのライ
ンを使用する場合におけるスラッシングを増加すること
によって成果を損なう可能性がある。換言すれば、その
ことにより、1つのキャッシュに情報を与える方法が失
敗する可能性が増大するので、近い将来にヒツトとなっ
ているであろうなんらかの他のラインの内容をキャッシ
ュから我々は削除する。この様な挙動が特に深刻になる
と、この挙動は[キャッシュにおけるスラッシング」と
呼ばれる。
可能な要求及びさらに−船釣な計算の無秩序な要求に対
応するシステムを提供する場合に競合が存在する。
データの大きさ及びアドレスの整合に従って選ばれる1
6バイトと64バイトの2つの別々のキャッシュ充填シ
ーケンスが提供される。キャツシュヒツトが存在する場
合、データは主メモリからは転送されない、キャッシュ
ミスが存在する場合、そして、カット語が要求されない
かまたはカット語が64バイトの倍数に調整されていな
い場合には16バイトの短いブロックが主メモリから転
送される。もしもキャッシュミスがあって、カット語が
要求される場合は64バイトの長いブロックが主メモリ
からキャッシュに転送される。
インは、1988年10月7日に出願され、そして、言
及により本願明細書に組み込まれた[メンラド アンド
アパレイタス フォーコンカラント ディスパッチ
オプ インストラクションズ ツー マルチプル ファ
ンクショナル ユニッツ(METHOD AND
APPARATLIS FORC0NCURRENT
DISPATCHOF lN5TRUCTION
S To MULTIPLE FUNCTION
AL UNITS)Jなる名称のアボル(APOLL
)−105XXに定義されているように、キャッシュラ
インはアーキテクチャのすべての他の面と同一の本来の
(または他の)ワードの整合方法を支持しなければなら
ない。
コンパイラ又はアセンブリ言語のプログラマに対して可
変の長さのキャッシュ充填機構の存在をまったく明らか
にしたいという要望を認識することにより、本発明の方
法及び装置はキャッシュミスが生じた場合に適切な充填
の大きさを選択する。
な説明を読むことによりより良く理解される。
100の動作によれば、プロセッサ102がデータの読
取り又は書き取りをキャッシュ104の中へ要求する(
52)と、ベクトル基準検出論理回路106は種類10
6M例えば読取り、書き込み、ノーオペレーション)及
びデータの大きさ108の信号に応答し、4バイト又は
8バイトのどちらのトランザクションがプロセッサ10
2により要°求されているかどうかを示す(54)。
るキャツシュヒツト(56,68)により示されるよう
にデータがキャッシュ104内に存在する場合、プロセ
ッサ102とキャッシュ104との間のトランザクショ
ンは主メモリ120からのデータ転送なしに進行する(
60.62)。
比較論理回路110により発見されない場合(56,5
8)、そして、プロセッサ112により要求されたデー
タの大きさが4バイトの場合、16バイトのブロックが
主メモリ120からデータキャッシュ104にロードさ
れる。
較論理回路110により示されたようにデータキャッシ
ュ104に存在しない場合、ベクトル基準検出論理回路
106は要求されたブタのアドレス112が64バイト
に整合されているかどうか(64バイトの整数倍に整合
されているかどうか)を判別し、64バイトのデータが
主メモリ120からデータキャッシュ104に転送され
る。レジスタ111.113.115及び117は命令
、アドレス及びデータ信号を一時的に記憶する。
特性はユニの理由で特に重要である。第1に、構造は[
アドレス形成シーケンシングユニット及び実行ユニット
」を組み込んでいるものとみることができる。この構造
及び実行ユニットにおいて整数動作及び浮動小数点動作
の両方が利用可能であるということは、ベクトル基(v
ector primitives)を分解する明白
な方法が存在するということを意味する。この方法はデ
ータが処理される形式とは無関係に動作する。
タに対し及びこの浮動小数点レジスタから選択的に8バ
イトの転送を行う、上述のように、ベクトルループは、
単一サイクルで2つの4バイトデータ(2つの単一の精
密浮動小数点値又は2つの長ワード整数)を移動するた
めにこれらの8バイトのロード及び記憶部を用いてメモ
リからオペランドが利用可能とすることができる速度及
びこのメモリに戻された結果により制限される傾向があ
るので、4バイトのオブジェクトのベクトルで動作する
ループの効率に大きな相違が生じる。
ードと記憶部に関して任意の「ベクトル状の」ループも
形成される可能性は非常に大きい。
利益を受けるのはベクトルルーズのみであり、そして、
これらのループすべての大部分は上昇の順にメモリを処
理するので、長キャッシュラインの始めに対応するアド
レスにキャッシュミスが生じたときにのみこの長充填の
可能性を本発明者は認識したく望んでいた。これにより
、さらに−船釣な符号での長充填の過度の偽りの開始が
避けられ、一方、まさに長充填がもつとも役立つ条件下
でこの長充填が可能となる。
ロードを実行しているときに発生するキャッシュミスに
対して長充填を行う本発明は単一長のキャッシュ充填に
対しかなりの改良を与えるものである。
クセスを支持する構成を有している。これは最初の8バ
イト又は64バイトラインの8バイトからの8バイトの
ロードでキャッシュミスの期間に長充填を可能にするこ
とによってなされる。
5日に出願され、そして、言及により本明細書に組み込
まれた[ア クワ−ジー フェアアービトレーション
スキーム ウィズ デフォルト オーナー スピードア
ップ(A QUASI−FAIRARBITRATI
ON SCHEME WITHDEFORT 0
WNER3PEEDUP)Jなる名称のアボル(APO
LL)−112XXで与えられる。関連するタグ構造及
び方法の詳細は本願と同時に出願され、そして、また言
及により本願明細書に組み込まれた「デユープリケード
タグ ストア バージ キュー(DUPLICATE
TAG 5TOREPURGE QUEUE)
Jなる名称のアボル(APOLL)−115XXで与え
られる。更に、上記の発明の変形例及び置換例は本発明
の範囲内にある。
あり、 第2図は第1図フローチャートにより動作可能な本発明
の1実施例のブロック線図である。 手続補正書彷式)
Claims (1)
- 【特許請求の範囲】 (1)キャッシュメモリ内に主メモリから可変のデータ
長を選択的に受け入れて記憶する方法において、 徴候と少なくとも第1と第2の長さを有するキャッシュ
メモリデータとプロセッサの間でデータの転送を要求し
、 転送されるべきデータに対応する前記徴候が前記キャッ
シュメモリ内におけるデータの存在を示すかどうかを判
別し、 前記データが前記キャッシュメモリ内に存在しない場合
に、アドレス転送データが与えられた長さの境界に整合
されているかどうかを判別し、前記データの整合の判別
に応答して第3と第4の長さの一方を前記キャッシュメ
モリに前記主メモリから選択的に転送し、 前記第2の長さは前記第1の長さより大であり、前記第
4の長さは前記第3の長さより大であり、前記第3の長
さは前記第2の長さのより大きな倍数であり、及び、 前記データの前記第4の長さは、前記第2の長さが要求
された場合に転送され、そして、前記第4の長さの初め
に整合されていることを特徴とするデータ記憶方法。 (2)前記第1と第2の長さは、それぞれ、4以下のバ
イト及び8バイトであり、及び、 前記第3と第4の長さはそれぞれ16バイトと64バイ
トであることを特徴とする請求項(1)記載のデータ記
録方法。 (3)前記徴候はタグの徴候を有していることを特徴と
する請求項(1)記載のデータ記録方法。 (4)前記データの転送は前記プロセッサから前記キャ
ッシュメモリ内へのデータ書き込みを有することを特徴
とする請求項(1)記載のデータ記録方法。 (5)前記データの第1の長さが要求されて前記キャッ
シュメモリに存在しない場合に、前記第3の長さのデー
タを前記主メモリから転送する段階をさらに有すること
を特徴とする請求項(1)記載のデータ記録方法。 (6)前記第1と第2のデータの長さの一方について前
記キャッシュメモリに対して選択された長さのデータの
転送を要求するコンピュータ手段、前記キャッシュメモ
リ内における前記データの存在を決定する手段、 前記コンピュータ手段により要求されたキャッシュデー
タのアドレスの整合を決定する手段、前記コンピュータ
手段により要求されたデータが前記キャッシュメモリ内
に存在しないということを前記決定する手段が示す場合
に、第3と第4の長さのうちの一方を持つデータを関連
する主メモリから前記キャッシュに選択的に転送する手
段を有し、 前記第2の長さは前記第1の長さより大であり、前記第
4の長さは前記第3の長さより大であり、前記第3の長
さは前記第2の長さのより大きな倍数であり、 前記第4の長さのデータは、前記第2の長さが要求され
て前記キャッシュメモリ内に存在しない場合に選択的に
転送されて当然整合されることを特徴とするキャッシュ
メモリに対して関連する主メモリから選択的にローデン
ィグを行う装置。 (1)前記第1、第2、第3及び第4の長さはそれぞれ
4、8、16、64バイトであり、前記当然の整列は6
4の正倍数のデータアドレスを有することを特徴とする
請求項6記載のキャッシュメモリに対して関連する主メ
モリから選択的にローデンィグを行う装置。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US07/264,260 US4994962A (en) | 1988-10-28 | 1988-10-28 | Variable length cache fill |
US264260 | 1988-10-28 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH02257235A true JPH02257235A (ja) | 1990-10-18 |
JP3155978B2 JP3155978B2 (ja) | 2001-04-16 |
Family
ID=23005250
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP27832189A Expired - Lifetime JP3155978B2 (ja) | 1988-10-28 | 1989-10-25 | キャッシュメモリを関連する主メモリから選択的にローディングする装置及び方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US4994962A (ja) |
EP (1) | EP0366325A3 (ja) |
JP (1) | JP3155978B2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005536798A (ja) * | 2002-08-23 | 2005-12-02 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | メモリバスのプロトコル特性に適合するプロセッサのプリフェッチ |
Families Citing this family (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0389175A3 (en) * | 1989-03-15 | 1992-11-19 | Fujitsu Limited | Data prefetch system |
US5235692A (en) * | 1990-08-31 | 1993-08-10 | International Business Machines Corporation | Disk rotational position controls for channel operations in a cached peripheral subsystem |
US5386526A (en) * | 1991-10-18 | 1995-01-31 | Sun Microsystems, Inc. | Cache memory controller and method for reducing CPU idle time by fetching data during a cache fill |
US5787475A (en) * | 1992-07-21 | 1998-07-28 | Digital Equipment Corporation | Controlled prefetching of data requested by a peripheral |
US5396608A (en) * | 1993-06-28 | 1995-03-07 | Analog Devices, Inc. | Method and apparatus for accessing variable length words in a memory array |
JPH07114469A (ja) * | 1993-10-18 | 1995-05-02 | Mitsubishi Electric Corp | データ処理装置 |
US6003120A (en) * | 1993-12-30 | 1999-12-14 | Intel Corporation | Method and apparatus for performing variable length processor write cycles |
US6076150A (en) * | 1995-08-10 | 2000-06-13 | Lsi Logic Corporation | Cache controller with improved instruction and data forwarding during refill operation |
US5675773A (en) * | 1995-12-21 | 1997-10-07 | Cirrus Logic, Inc. | Graphics display system with a low level hardware dependent graphics library |
US5802569A (en) * | 1996-04-22 | 1998-09-01 | International Business Machines Corp. | Computer system having cache prefetching amount based on CPU request types |
US6349364B1 (en) * | 1998-03-20 | 2002-02-19 | Matsushita Electric Industrial Co., Ltd. | Cache memory system with variable block-size mechanism |
US6701424B1 (en) | 2000-04-07 | 2004-03-02 | Nintendo Co., Ltd. | Method and apparatus for efficient loading and storing of vectors |
US6822655B1 (en) * | 2000-07-20 | 2004-11-23 | International Business Machines Corporation | Method and apparatus for caching variable size patterns into fixed size slots |
WO2004061675A1 (en) * | 2002-12-17 | 2004-07-22 | International Business Machines Corporation | Selectively changeable line width memory |
US7406579B2 (en) * | 2002-12-17 | 2008-07-29 | International Business Machines Corporation | Selectively changeable line width memory |
JP3855270B2 (ja) * | 2003-05-29 | 2006-12-06 | ソニー株式会社 | アンテナ実装方法 |
US7257691B2 (en) * | 2003-09-26 | 2007-08-14 | International Business Machines Corporation | Writing and reading of data in probe-based data storage devices |
US8250303B2 (en) * | 2009-09-30 | 2012-08-21 | International Business Machines Corporation | Adaptive linesize in a cache |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5263038A (en) * | 1975-10-01 | 1977-05-25 | Hitachi Ltd | Data processing device |
US4189770A (en) * | 1978-03-16 | 1980-02-19 | International Business Machines Corporation | Cache bypass control for operand fetches |
US4315312A (en) * | 1979-12-19 | 1982-02-09 | Ncr Corporation | Cache memory having a variable data block size |
US4503501A (en) * | 1981-11-27 | 1985-03-05 | Storage Technology Corporation | Adaptive domain partitioning of cache memory space |
US4780808A (en) * | 1981-11-27 | 1988-10-25 | Storage Technology Corporation | Control of cache buffer for memory subsystem |
JPS58147879A (ja) * | 1982-02-26 | 1983-09-02 | Toshiba Corp | キヤツシユメモリ制御方式 |
US4603380A (en) * | 1983-07-01 | 1986-07-29 | International Business Machines Corporation | DASD cache block staging |
US4586130A (en) * | 1983-10-03 | 1986-04-29 | Digital Equipment Corporation | Central processing unit for a digital computer |
JPS63220342A (ja) * | 1987-03-10 | 1988-09-13 | Fujitsu Ltd | ブロツクアクセス方式 |
-
1988
- 1988-10-28 US US07/264,260 patent/US4994962A/en not_active Expired - Lifetime
-
1989
- 1989-10-16 EP EP19890310612 patent/EP0366325A3/en not_active Withdrawn
- 1989-10-25 JP JP27832189A patent/JP3155978B2/ja not_active Expired - Lifetime
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005536798A (ja) * | 2002-08-23 | 2005-12-02 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | メモリバスのプロトコル特性に適合するプロセッサのプリフェッチ |
Also Published As
Publication number | Publication date |
---|---|
JP3155978B2 (ja) | 2001-04-16 |
EP0366325A2 (en) | 1990-05-02 |
EP0366325A3 (en) | 1991-09-11 |
US4994962A (en) | 1991-02-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPH02257235A (ja) | キャッシュメモリを関連する主メモリから選択的にローディングする装置及び方法 | |
US5870576A (en) | Method and apparatus for storing and expanding variable-length program instructions upon detection of a miss condition within an instruction cache containing pointers to compressed instructions for wide instruction word processor architectures | |
CA1325285C (en) | Method and apparatus for ordering and queueing multiple memory requests | |
US4524416A (en) | Stack mechanism with the ability to dynamically alter the size of a stack in a data processing system | |
US4701844A (en) | Dual cache for independent prefetch and execution units | |
EP0407911B1 (en) | Parallel processing apparatus and parallel processing method | |
JP3105960B2 (ja) | 簡略命令セットプロセッサでレジスタ内データ操作を行なう方法 | |
US4583165A (en) | Apparatus and method for controlling storage access in a multilevel storage system | |
JP3055980B2 (ja) | マルチプロセッサ又はパイプラインプロセッサシステムにおいてデータの完全性を確保する方法 | |
FI80532C (fi) | Centralenhet foer databehandlingssystem. | |
US5649144A (en) | Apparatus, systems and methods for improving data cache hit rates | |
JP3533294B2 (ja) | プロセッサ・システム | |
US6321326B1 (en) | Prefetch instruction specifying destination functional unit and read/write access mode | |
US5386531A (en) | Computer system accelerator for multi-word cross-boundary storage access | |
US5214765A (en) | Method and apparatus for executing floating point instructions utilizing complimentary floating point pipeline and multi-level caches | |
JP3518770B2 (ja) | 命令をその少なくとも1つの実行装置へ迅速にディスパッチする方法および装置 | |
US5721957A (en) | Method and system for storing data in cache and retrieving data from cache in a selected one of multiple data formats | |
JP2000089953A (ja) | 命令履歴キャッシングを使用して推測的に命令を実行する回路および方法 | |
US5327536A (en) | Microprocessor having branch prediction function | |
EP0592404B1 (en) | Apparatus and method for providing a stall cache | |
JPS6112289B2 (ja) | ||
US5897654A (en) | Method and system for efficiently fetching from cache during a cache fill operation | |
US5381532A (en) | Microprocessor having branch aligner between branch buffer and instruction decoder unit for enhancing initiation of data processing after execution of conditional branch instruction | |
Berenbaum et al. | Architectural Innovations in the CRISP Microprocessor. | |
US5276853A (en) | Cache system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090209 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090209 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100209 Year of fee payment: 9 |
|
EXPY | Cancellation because of completion of term | ||
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100209 Year of fee payment: 9 |