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
Application number
JP1278321A
Other languages
English (en)
Other versions
JP3155978B2 (ja
Inventor
Paul Mageau
ポール・マギュー
John S Yates
ジョン・エス・ヤッツ
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.)
Apollo Computer Inc
Original Assignee
Apollo Computer Inc
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 Apollo Computer Inc filed Critical Apollo Computer Inc
Publication of JPH02257235A publication Critical patent/JPH02257235A/ja
Application granted granted Critical
Publication of JP3155978B2 publication Critical patent/JP3155978B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0862Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with prefetch
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/60Details of cache memory
    • G06F2212/6026Prefetching 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

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

Description

【発明の詳細な説明】 (発明の分野) 本発明は高速コンピュータプロセッサに関し、特に、キ
ャッシュデータ命令記憶装置を有するコンピュータプロ
セッサに関する。
(発明の背景) 高効率を提供するキャッシュ充填方法のパラメータを選
択するには、キャッシュのアクセスパターンを知ること
が必要である。
長キャッシュ充填は実際のバスの帯域幅が実際の大きさ
が増大するにしたがって理論ピークに向かうという利点
を有している。しかしながら、実際の大きさが一度バス
の帯域幅を越えると、その読み取りを満足するには、多
重バスサイクルが必要であり、従って、キャッシュミス
の傾向が増大する可能性がある。
もしもメモリ内で連続する1つ以上のデータ構造にわた
って符号(例えば、最も直接的に「ベクトル」化コンパ
イラ及びベクトルハードウェアから利益を得る種類の符
号)が順次長掃引をする場合、−船釣には、長キャッシ
ュ充填が望ましい。
データ基準の流れが極めて大である場所とは、長キャッ
シュ充填中に読み取られる付属データの実際に使用され
る確率が同程度に高いということを意味する。最後に、
この「ベクトル」の利用の成果はしばしばメモリの帯域
幅の直接関数であるので、改良になるバスの利用は利用
速度の増加となる。
データの基準の流れがさらに不規則である場合、長キャ
ッシュ充填は実際には成果を下げる可能性がある。これ
には少なくとも2つの理由がある。
付属のデータが使用される確率はより低いので、長キャ
ッシュ充填を完了するに必要なより多くのバスサイクル
が実際にはメモリの平均ロードの潜在性を増加するに到
る可能性がある。より多くの充填サイズは置換可能なキ
ャッシュラインの数を減少もし、それ故、これらのライ
ンを使用する場合におけるスラッシングを増加すること
によって成果を損なう可能性がある。換言すれば、その
ことにより、1つのキャッシュに情報を与える方法が失
敗する可能性が増大するので、近い将来にヒツトとなっ
ているであろうなんらかの他のラインの内容をキャッシ
ュから我々は削除する。この様な挙動が特に深刻になる
と、この挙動は[キャッシュにおけるスラッシング」と
呼ばれる。
従って、良好な挙動の「ベクトル」の利用のかなり予測
可能な要求及びさらに−船釣な計算の無秩序な要求に対
応するシステムを提供する場合に競合が存在する。
(発明の要約) 本発明によれば、関連するプロセッサにより要求される
データの大きさ及びアドレスの整合に従って選ばれる1
6バイトと64バイトの2つの別々のキャッシュ充填シ
ーケンスが提供される。キャツシュヒツトが存在する場
合、データは主メモリからは転送されない、キャッシュ
ミスが存在する場合、そして、カット語が要求されない
かまたはカット語が64バイトの倍数に調整されていな
い場合には16バイトの短いブロックが主メモリから転
送される。もしもキャッシュミスがあって、カット語が
要求される場合は64バイトの長いブロックが主メモリ
からキャッシュに転送される。
この記載では、カット語は8バイトである。
キャッシュ管理の機構を簡単に保つためはキャッシュラ
インは、1988年10月7日に出願され、そして、言
及により本願明細書に組み込まれた[メンラド アンド
 アパレイタス フォーコンカラント ディスパッチ 
オプ インストラクションズ ツー マルチプル ファ
ンクショナル ユニッツ(METHOD  AND  
APPARATLIS  FORC0NCURRENT
  DISPATCHOF  lN5TRUCTION
S  To  MULTIPLE  FUNCTION
AL  UNITS)Jなる名称のアボル(APOLL
)−105XXに定義されているように、キャッシュラ
インはアーキテクチャのすべての他の面と同一の本来の
(または他の)ワードの整合方法を支持しなければなら
ない。
オプコード空間は貴重な商品であるという事実、及び、
コンパイラ又はアセンブリ言語のプログラマに対して可
変の長さのキャッシュ充填機構の存在をまったく明らか
にしたいという要望を認識することにより、本発明の方
法及び装置はキャッシュミスが生じた場合に適切な充填
の大きさを選択する。
本発明のこれら及び他の特徴は図面とともに以下の詳細
な説明を読むことによりより良く理解される。
(実施例) 第1図のフローチャート50で示した第2図の1実施例
100の動作によれば、プロセッサ102がデータの読
取り又は書き取りをキャッシュ104の中へ要求する(
52)と、ベクトル基準検出論理回路106は種類10
6M例えば読取り、書き込み、ノーオペレーション)及
びデータの大きさ108の信号に応答し、4バイト又は
8バイトのどちらのトランザクションがプロセッサ10
2により要°求されているかどうかを示す(54)。
もしも積極的なタグ比較論理回路110により提供され
るキャツシュヒツト(56,68)により示されるよう
にデータがキャッシュ104内に存在する場合、プロセ
ッサ102とキャッシュ104との間のトランザクショ
ンは主メモリ120からのデータ転送なしに進行する(
60.62)。
プロセッサ102により要求されたデータのタグがタグ
比較論理回路110により発見されない場合(56,5
8)、そして、プロセッサ112により要求されたデー
タの大きさが4バイトの場合、16バイトのブロックが
主メモリ120からデータキャッシュ104にロードさ
れる。
もしもプロセッサ102により要求されたブタがタグ比
較論理回路110により示されたようにデータキャッシ
ュ104に存在しない場合、ベクトル基準検出論理回路
106は要求されたブタのアドレス112が64バイト
に整合されているかどうか(64バイトの整数倍に整合
されているかどうか)を判別し、64バイトのデータが
主メモリ120からデータキャッシュ104に転送され
る。レジスタ111.113.115及び117は命令
、アドレス及びデータ信号を一時的に記憶する。
本発明による上述のシステム横道及びプロセスの2つの
特性はユニの理由で特に重要である。第1に、構造は[
アドレス形成シーケンシングユニット及び実行ユニット
」を組み込んでいるものとみることができる。この構造
及び実行ユニットにおいて整数動作及び浮動小数点動作
の両方が利用可能であるということは、ベクトル基(v
ector  primitives)を分解する明白
な方法が存在するということを意味する。この方法はデ
ータが処理される形式とは無関係に動作する。
第2に、本構造は偶数対又は奇数対の浮動小数点レジス
タに対し及びこの浮動小数点レジスタから選択的に8バ
イトの転送を行う、上述のように、ベクトルループは、
単一サイクルで2つの4バイトデータ(2つの単一の精
密浮動小数点値又は2つの長ワード整数)を移動するた
めにこれらの8バイトのロード及び記憶部を用いてメモ
リからオペランドが利用可能とすることができる速度及
びこのメモリに戻された結果により制限される傾向があ
るので、4バイトのオブジェクトのベクトルで動作する
ループの効率に大きな相違が生じる。
従って、本発明によるシステム構造では、8バイトのロ
ードと記憶部に関して任意の「ベクトル状の」ループも
形成される可能性は非常に大きい。
最後に、−船釣には、長キャッシュ充填シーケンスから
利益を受けるのはベクトルルーズのみであり、そして、
これらのループすべての大部分は上昇の順にメモリを処
理するので、長キャッシュラインの始めに対応するアド
レスにキャッシュミスが生じたときにのみこの長充填の
可能性を本発明者は認識したく望んでいた。これにより
、さらに−船釣な符号での長充填の過度の偽りの開始が
避けられ、一方、まさに長充填がもつとも役立つ条件下
でこの長充填が可能となる。
従って、長ライン(64バイト)の境界から8バイトの
ロードを実行しているときに発生するキャッシュミスに
対して長充填を行う本発明は単一長のキャッシュ充填に
対しかなりの改良を与えるものである。
本発明の範囲はさらに順次下降の場所へのベクトルのア
クセスを支持する構成を有している。これは最初の8バ
イト又は64バイトラインの8バイトからの8バイトの
ロードでキャッシュミスの期間に長充填を可能にするこ
とによってなされる。
関連するバス構造及び方法の詳細は1988年10月2
5日に出願され、そして、言及により本明細書に組み込
まれた[ア クワ−ジー フェアアービトレーション 
スキーム ウィズ デフォルト オーナー スピードア
ップ(A  QUASI−FAIRARBITRATI
ON  SCHEME  WITHDEFORT  0
WNER3PEEDUP)Jなる名称のアボル(APO
LL)−112XXで与えられる。関連するタグ構造及
び方法の詳細は本願と同時に出願され、そして、また言
及により本願明細書に組み込まれた「デユープリケード
 タグ ストア バージ キュー(DUPLICATE
  TAG  5TOREPURGE  QUEUE)
Jなる名称のアボル(APOLL)−115XXで与え
られる。更に、上記の発明の変形例及び置換例は本発明
の範囲内にある。
【図面の簡単な説明】
第1図は本発明の1実施例の動作を示すフロチャートで
あり、 第2図は第1図フローチャートにより動作可能な本発明
の1実施例のブロック線図である。 手続補正書彷式)

Claims (1)

  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記載のキャッシュメモリに対して関連する主メ
    モリから選択的にローデンィグを行う装置。
JP27832189A 1988-10-28 1989-10-25 キャッシュメモリを関連する主メモリから選択的にローディングする装置及び方法 Expired - Lifetime JP3155978B2 (ja)

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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005536798A (ja) * 2002-08-23 2005-12-02 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ メモリバスのプロトコル特性に適合するプロセッサのプリフェッチ

Families Citing this family (18)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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 ブロツクアクセス方式

Cited By (1)

* Cited by examiner, † Cited by third party
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