JPH03141443A - データ格納方法及びマルチ・ウェイ・セット・アソシアチブ・キャッシュ記憶装置 - Google Patents

データ格納方法及びマルチ・ウェイ・セット・アソシアチブ・キャッシュ記憶装置

Info

Publication number
JPH03141443A
JPH03141443A JP2191867A JP19186790A JPH03141443A JP H03141443 A JPH03141443 A JP H03141443A JP 2191867 A JP2191867 A JP 2191867A JP 19186790 A JP19186790 A JP 19186790A JP H03141443 A JPH03141443 A JP H03141443A
Authority
JP
Japan
Prior art keywords
data
word
ram
stored
cache
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
Application number
JP2191867A
Other languages
English (en)
Inventor
John F Shelton
ジョン・エフ・シェルトン
Richard J Carter
リチャード・ジェイ・カーター
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.)
HP Inc
Original Assignee
Hewlett Packard Co
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 Hewlett Packard Co filed Critical Hewlett Packard Co
Publication of JPH03141443A publication Critical patent/JPH03141443A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/0864Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches using pseudo-associative means, e.g. set-associative or hashing
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/0877Cache access modes
    • G06F12/0886Variable-length word access

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

【発明の詳細な説明】 〔発明の技術分野〕 本発明は、マルチ・ウェイ・セット・アソシアチブ・キ
ャッシュ記憶装置(multi−way set −a
ssociative cache memory:M
WSACM)を利用するコンビエータ・システムに関す
るものであり、MWSACMが高速多重語アクセスを行
うものに関する。
〔従来技術とその問題点〕
最新式のコンビエータ・システムはほとんど主記憶装置
と中央処理装置(CPU )を備えている。
CPUが命令およびオペランドを解読し且つ実行するこ
とができる速さは、命令およびオペランドを主記憶装置
からCPUに転送することができる速さに−よって決ま
る。CPUが命令およびオペランドを主記憶装置から得
るのに必要な時間を減らそうとして、コンピュータ・シ
ステムの多くはCPUと主記憶装置との間にキャッシュ
記憶装置を設けている。
キャッシュ記憶装置は、主記憶装置の内容の内、近い将
来CPUによシ使用されると信ぜられる部分を一時的に
保持するのに使用される小形の高速バッファ記憶装置で
ある。キャッシュ記憶装置の主な目的は、データまたは
命令の取出しについて、記憶装置へのアクセスを行うの
に必要な時間を短縮することである。キャッシュ記憶装
置に入っている情報は主記憶装置に入っている情報より
はるかに少い時間でアクセスすることができる。したが
って、キャッジ−記憶装置付きCPUは、取出すべきま
たは格納すべき命令またはオペランドな待つのに必要な
時間ははるかに少くて済む。
キャッシュ記憶装置はデータの一つ以上の語から成る多
数のブロック(ラインとも言う)から構成されている。
各ブロックはそれと関連して、それが主記憶装置のどの
ブロックのコピーであるかをプ義的に識別するアドレス
・タグを備えている。
処理装置が記憶装置を参照するごとに、アドレス・タグ
の比較を行って所要データのコピーがキャッシュに入っ
ているか確かめる。所要の記憶ブロックがキャッシュに
存在しなければ、そのブロックが主記憶装置から検索さ
れ、キャッシュに格納され、処理装置に供給される。
データを主記憶装置から検索するのにキャッジ−を使用
する他に、CPUはデータを主記憶装置に直接書込む代
シにキャッシュに書込むこともできる。CPUがデータ
を記憶装置に書込みたいときは、キャッシュはアドレス
・タグの比較を行ってデータを書込むべきデータ・ブロ
ックがキャッシュに存在するか確認する。データ・ブロ
ックがキャッシュ内に存在すれば、データをキャソシュ
内のデータ・ブロックに書込み、そのデータ・フロック
に対してデータ「汚れピット」を設定する。
汚れビットはデータ・ブロック内のデータが修正されて
しまっていること、したがってデータ・ブロックをキャ
ッシュから削除する前に修正されたデータを主記憶装置
に書き戻さなければならないことを示す。データを書込
むべきデータ・ブロックがキャッシュ内に存在しなけれ
ば、データ・ブロックをキャッシュに取出すが、または
データを主記憶装置に直接書込むかしなければならない
MWSACMでは一つの指標(インデックス)を使用し
て複数のデータ等速呼出記憶装置(Random Ac
cess Memory : RAM )に同時にアク
セスする。データRAMは一つ以上のRAM集積回路に
よシ実現することができる。セットは一つのキャッシュ
指標によシアドレスされるすべてのラインの集まシであ
る。一つのキャッシュ指標によシアドレスされるデータ
RAMの数はキャッシュのウェイ数を示す。たとえば、
キャッシュで一つのキャッシュ指標を使用して二つのデ
ータRAMからのデータにアクセスする場合には、キャ
ッシュは2ウェイ・セット・アソシアチブ・キャッシュ
記憶装置(2ウ工イSACM)である。
同様に、キャッシュで−りのキャッシュ指標を使用して
四つのデータRAMからのデータにアクセスする場合に
は、キャッシュは4ウ工イ8ACMである。
多ウェイ・アクセスを行うときは、各データRAMにつ
いてタグ比較を行う。タグ比較によシ所要データ・ブロ
ックが特定のデータRAMに存在することが示されれば
、動作はその特定のデータRAMからのデータを用いて
行われる。
典型的には、キャッシュに対しては一度に一語のアクセ
スができる。しかし、多数のシステムは、多重語で、た
とえば、浮動小数点演算機能で行う機能を実施する。た
とえば、二語値(two −wordy31ue ) 
 にアクセスするためには、典型的なキャッシュでは2
回のキャッシュ記憶装置アクセスを行う必要がある。二
語値の単一サイクルのキャッジ−記憶装置アクセスを考
えるために、従来技術のシステムの幾つかは出力の大き
さを、したがって実施にあたり使用するRAM集積回路
の数を2倍にしている。しかし、これではキャッシュ記
憶装置のハードウェアの価格がかなシ高くなる。
〔発明の目的〕
従って本発明の目的はハードウェアの価格上昇を少なく
した効率的キャッシュ記憶装置を提供することにある。
〔発明の概要〕
本発明の好適実施例によれば、MWSACMが提供され
る。MWSACM  はデータをデータRAMと称する
複数のRAMに格納する。データRAMは多数のRAM
集積回路を備えることができる。
MWSACM内のデータはシステム記憶装置に対しデー
タ・ラインとして出し入れされる。データ・ラインはシ
ステム主記憶装置内の連続してアドレス可能なデータ語
である。キャッシュ記憶装置の内部ではデータはデータ
・ラインの集合として格納される。集合あたりのライン
数はキャッシュのウェイ数によシ決まる。セットは一つ
のキャッシュ指標によりアドレスされるすべてのライン
の集まりである。
MWSACM  内部のデータは、単一語としてまたは
MWCACM  に特有の長さの多重語として、たとえ
ば2倍語または4倍語として、アドレスすることができ
る。データの各ライン内の語にはOからラインあたシの
語の数よシ1少い数までの語位置がある。セクトでは、
データの対応する語は、セット内の各ラインの内部にあ
る、そのそれぞれのライン内の同じ語位置を有するもの
である。
複数のRAMの内部で、データは各データ・ラインの対
応する語が異なるRAMに置かれるように配置される。
更に、各多重語からの各語が異なるRAMに配置される
。単一語アクセスの場合には、−語が複数のRAMの一
つからアクセスされる。多重語アクセスの場合には、複
数のRAMの各々から一語がアクセスされる。
く好適実施例の説明〉 第6図で、処理装置1は主記憶装置3に格納されている
データを利用している。処理装置1が主記憶装置3から
のデータにアクセスする速さを増すために、キャッシュ
2を使用している。キャッシュ2は本発明の好適実施例
によれば単一キャッシュ・アクセス・サイクルでデータ
を書込むことができるキャッシュである。
第2図に、キャッシュ2を示しである。キャッシュ2は
、タグRAM41、タグRAM42、データRAM43
、データRAM44、比較器49、比較器50、ゲート
64、ゲート65、マルチプレクサ63、および論理的
roRJゲート60を備えているMWSACMである。
処理装置1がデータをキャッシュ2から読出したいとき
は、処理装置1は読出すべきデータの読取アドレスを線
11に設置する。アドレスの典型的な構成を第3図に示
す。アドレス150は、たとえば、32ビツトから構成
される。ビット0〜20はアドレス・タグ151として
使用される。ビット21〜25はキャッシュ指標152
として使用される。ピント26〜29はライン・オフセ
ット153として使用される。ビット30および31は
バイト・オフセット154として使用される。
データRAM43およびデータRAM44の内部で、デ
ータは、たとえば、16語ラインとして格納されている
。データRAM43およびデータRAM44は各々全部
で、たとえば、32ラインのデータを保持している。デ
ータRAM43およびデータRAM44の内部の各デー
タ・ラインはキャッシュ指標152を使用してアドレス
される。
データRAM43に格納されている各データ・ラインに
対して、アドレス・タグがタグRAM41に格納されて
いる。データRAM44に格納されている各データ・ラ
インに対して、アドレス・タグがタグRAM42に格納
されている。タグRAM41およびタグRAM42のア
ドレス・タグにアドレスするのに、およびデータRAM
43およびデータRAM44の関連データ・ラインにア
ドレスするのに、同じキャッシュ指標が同時に使用され
る。
読取アドレスのキャッシュ指標部は、タグRAM41か
らデータRAM43のキャンシュ指標により指定された
位置にある現在のデータ・ラインのアドレス・タグにア
クセスするのに使用される。
タグRAM41はアドレス・タグを線47に載せる。比
較器49はタグRAM41からのアドレス・タグと読取
アドレスのアドレス・タグとを比較する。これらが等し
げれば、比較器49は線61に有効信号を発生する。有
効信号はマルチプレクサ63、論理的ORゲー1−60
、およびゲート64に送られる。しかし、キャッシュ読
取サイクル中、ゲート64の入力66に加わる制御信号
がゲート64を無効にするので、線61に載っている有
効信号はデータRAM43の書込み可能入力線71へ到
達することはできない。
タグRAM41からのアドレス・タグのアクセスと同時
に、読取アドレスのキャッシュ指標部およびライン・オ
フセント部を使用してデータRAM43の中にあるデー
タ語にアクセスする。このデータ語はデータRAMの出
力線68に載せられる。有効信号が線61に載ると、マ
ルチプレクサ63がデータ出力68を線12に接続する
。線12にあるデータ語は処理装置1に戻される。タグ
RAM41からのアドレス・タグおよび読取アドレスの
アドレス・タグが等しくなければ、無効信号が比較器4
9により線61に載せられ、ミスがタグRAM41に生
じたことを表わす。
同時にキャッシュ指標はタグRAM41およびデータR
AM43によシ使用されておシ、キャッシュ指標はタグ
RAM42およびデータRAM44によっても使用され
る。読取アドレスのキャッシュ指標部は、タグRAM4
2からデータRAM44のキャッシュ指標により指定さ
れた位置にある現在のデータ・ラインのアドレス・タグ
にアクセスするのに使用される。タグRAM42はアド
レス・タグを線48に載せる。比較器50はタグRAM
42からのアドレス・タグと読取アドレスのアドレス・
タグとを比較する。これらが等しければ、比較器50は
有効信号を線62に発生する。有効信号はマルチプレク
サ63、論理的ORゲート60、およびゲート65に送
られる。しかし、キャッシュ読取サイクル中ゲート65
の入力67に加わる制御信号がゲート65を無効にする
ので、線62に載っている有効信号はデータRAM43
の書込み有効式カフ2に到達することができない。
タグRAM42からのアドレス・タグのアクセスと同時
に、読取アドレスのキャッシュ指標部およびライン・オ
フセット部を使用してデータRAM44の中にあるデー
タ語にアクセスする。このデータ語はデータRAM出力
69に載せられる。有効信号が線62に載ると、マルチ
プレクサ63はデータ出力69を線12に接続する。線
12にあるデータ語は処理装置IK戻される。タグRA
M42からのアドレス・タグと読取アドレスのアドレス
・タグとが等しくなければ、無効信号が比較器50によ
シ線62に設置され、ミスがタグRAM42に生じたこ
とを知らせる。
比較器49および比較器50が共に無効信号を発生する
と、キャッシュのミスが存在する。そのときは読取アド
レスによシアドレスされた語を含んでいるデータ・ライ
ンを主記憶装置3から取出し、データRAM43かまた
はデータRAM44に格納する。取出されたデータ・ラ
インのアドレス・タグは同時にそれぞれタグRAM41
またはタグRAM42に格納される。
処理装置1がデータをキャッシュ2に書込みたいときは
、処理装置1は書込むべきデータの書込みアドレスを線
11に設置する。処理装置1はまた書込むべきデータを
線10に載せる。書込みアドレスのキャッシュ指標部を
使用してタグRAM41からデータRAM43のキャッ
ジ−指標によシ指定された位置にある現在のデータ・ラ
インのアドレス・タグにアクセスする。タグRAM41
はアドレス・タグを線47に載せる。比較器49はタグ
RAM41からのアドレス・タグと書込みアドレスのア
ドレス・タグとを比較する。これらが等しければ、比較
器49は有効信号を線61に発生する。有効信号はゲー
ト64に送られる。キャッシュ書込サイクル中、ゲート
64の入力66に加わる制御信号がゲート64を使用可
能にするので、線61に載っている有効信号はデータR
AM43の書込み有効線71に到達することができる。
タグRAM41からのアドレス・タグのアクセスと同時
に、書込みアドレスのキャッシュ指標部およびライン・
オフセット部を使用してデータRAM43の記憶位置に
アドレスする。また、線10にあるデータをデータRA
M43のデータ入力に加える。有効信号が線61に載る
と、線10に載っているデータ語がデータRAM43の
アドレス・ラインのキャッシュ指標部およびライン・オ
フセット部によシ指定された記憶位置に設置される。
タグRAM41からのアドレス・タグと書込みアドレス
のアドレス・タグが等しくなければ、無効信号が比較器
49によI)a!61に設置され、ミスがタグRAM4
1に生じたことを表わす。
同時にキャッシュ指標はタグRAM41およびデータR
AM43によって使用されておシ、キャッシュ指標はタ
グRAM42およびデータRAM44によっても使用さ
れる。書込みアドレスのキャッシュ指標部は、タグRA
M42からデータRAM44のキャッシュ指標によシ指
定された位置にある現在のデータ・ラインのアドレス・
タグにアクセスするのに使用される。タグRAM42は
アドレス・タグを線48に載せる。比較器50はタグR
AM42からのアドレス・タグと書込みアドレスのアド
レス・タグとを比較する。これらが等しければ、比較器
50は有効信号を線62に発生する。有効信号はゲート
65に送られる。キャッシュ書込みサイクル中ゲート6
5の入力67に加わる制御信号がゲート65を使用可能
にするので、線62に載っている有効信号はデータRA
M44の書込み可能入力線72に到達することができる
タグRAM42からのアドレス・タグのアクセスと同時
に、書込みアドレスのキャッシュ指標部およびライン・
オフセット部を使用してデータRAM44の記憶位置に
もアドレスする。また線10のデータはデータRAM4
4のデータ入力に加えられる。有効信号が線62に載る
と、線1oにあるデータ語がデータRAM44のアドレ
ス・ラインのキャッシュ指標部およびライン・オフセン
ト部によシ指定された記憶位置に設置される。タグRA
M42からのアドレス・タグと読取アドレスのアドレス
・タグとが等しくなければ、無効信号が比較器50によ
シ線62に設置され、ミスがタグRAM42に生じたこ
とを表わす。
比較器49および比較器50の双方がミスの発生を示す
と、書込みアドレスによシアドレスされた語を含んでい
るデータ・ラインが主記憶装置3から取出され、データ
RAM43かまたはデータRAM44に格納される。取
出されたデータ・ラインに対するアドレス・タグは同時
にそれぞれタグRAM41またはタグRAM42に格納
される。
こうして新しい語を適切なデータRAMに書込むことが
できる。
第4図はデータRAM43およびデータRAM44に入
っているデータの従来技術での典型的な配置を示す。デ
ータの最初のブロック(またはライン)は16語から成
シ、その内の四つ:データRAM43の記憶位置20に
ある語0、データRAM43の記憶位置21にある語1
、データRAM43の記憶位置22にある語2、および
データRAM43の記憶位置23にある語3を示す。デ
ータの第2のブロックも16語から成シ、その内の四つ
:データRAM44の記憶位置30にある語0” デー
タRAM44の記憶位置31にある語1” データRA
M44の記憶位置32にある語2” およびデータRA
M44の記憶位置33にある語3”を示す。たとえば、
語Oおよび語1が2倍語を形成し、語2および語3が2
倍語を形成し、語0”および語ピが2倍語を形成し、語
2”および語3”が2倍語を形成していれば、各2倍語
にアクセスするのに2キヤツシユ・アクセス・サイクル
が必要になる。
データRAM43、データRAM44、およびマルチプ
レクサ63を、第5図に示すように、それぞれデータR
AM143、データRA M 144、およびマルチプ
レクサ163で置き換えれば、2倍語を単一キャッシユ
・アクセス・サイクルでアクセスすることができる。デ
ータRAM143では、記憶位置120にある語0およ
び記憶位置121にある語1を単一キャッシュ・アクセ
ス・サイクルでマルチプレクサ163に送ることができ
る。同様に、記憶位置122にある語2および記憶位置
123にある語3を単一キャッシュ・アクセス・サイク
ルでマルチプレクサ163に送ることができる。データ
RAM144では、記憶位置130にある。。0 およ
び記憶位置131にある語ビを単一キャッシュ・アクセ
ス・サイクルでマルチプレクサ163に送ることができ
る。同様に、記憶位置132にある語2“および記憶位
置133にある語3”を単一キャッシュ・アクセス・サ
イクルでマルチプレクサ163に送ることができる。し
かし、第5図に示す構成に対するハードウェアが必要な
ため、この構成は価格的に有利でない。
第1図に、データRA M 243およびデータRAM
244の中の単一語または2倍語に効率良くアクセスす
ることができる構成を示しである。データRA M 2
43では、第1のブロック(またはライン)からの語O
が記憶位置220に格納されているように示してあシ、
第1のブロックからの語2が記憶位置222に格納され
ているように示しである。また、データRA M 24
3では、第2のブロックからの語1”が記憶位置221
に格納されているように示してあり、第2のブロックか
らの語3”が記憶位置223に格納されているように示
しである。データRA M 244では、第2のブロッ
クからの語0“が記憶位置230に格納されているよう
に示してあシ、第2のブロックからの語2”が記憶位置
232に格納されているように示しである。またデータ
RA M 244では、第1のブロックからの語1が記
憶位置231に格納されているように示してあシ、第1
のブロックからの語3が記憶位置233に格納されてい
るように示しである。
第7図に、第1図に示すよ5に組織されたデータRAM
243およびデータRA M 244のデータのアクセ
スができるようにするために別の論理がMWSACM2
に追加されて示されている0タグRAM42が2倍語を
含むラインのタグ・アドレスを備えていると、2倍語の
最上位語がデータRAM244に存在し、2倍語の最下
位語がデータRAM243に入っている。逆忙、タグR
AM41が2倍語のタグ・アドレスを備えていると、2
倍語エンl−IJの最下位語がデータRA M 243
に入っており、2倍語エンl−IJの最下位語がデータ
RAM244に入っている。
線202はマルチプレクサ206、マルチプレクサ20
7、マルチプレクサ214、およびマルチプレクサ21
2を制御するのに使用される。単一語にアクセスすると
きは、線202を論理Oに保持する。2倍語にアクセス
するときは線202を論理1に保持する。
線11にあるライン・オフセット153の最下位ビット
はデータRA M 243に送られる前にマルチプレク
サ206を通過する。またマルチプレクサ2060入力
にインバータ・ゲート205が設けられている。同様に
、線11にあるライン・オフセット153の最下位ビッ
トはデータRAM244に送られる前にマルチプレクサ
207を通過する。またマルチプレクサ2070入力に
線201が設けられている。
線201は、マルチプレクサ207に、インバータ20
5を介してマルチプレクサ206に、およびマルチプレ
クサ212に、入力を供給する。線201はマルチプレ
クサ211を制御するのにも使用される。
2倍語アクセスの場合、線201はタグRAM41およ
びタグRAM42の内どれがアクセスされる2倍語を備
えているか、したがって2倍語の最下位語および最下位
語がどこに存在するか、を予測するのに使用される。線
201が論理1に設定されていれば、タグRAM41が
2倍語のアドレスを備えていること、および最下位語が
データRAM243に存在し、最下位語がデータRA 
M 244に存在することが予測される。線201が論
理Oに設定されていれば、タグRAM42が2倍語のア
ドレスを備えていること、および最下位語がデータRA
M244に存在し、最下位語がデータRAM243に存
在することが予測される。
マルチプレクサ263およびマルチプレクサ264は各
々データRAM243およびデータRA M 244か
らの出力を受取る。インバータ210はデータ・マルチ
プレクサ263が出力288にマルチプレクサ264が
出力209に載置したデータを供給するデータRAMと
同じデータRAMからの出力を載置しないことを保証す
る。2倍語アクセスの場合、最下位語は線208に載せ
られ、最下位語は線209に載せられる。単一語アクセ
スの場合、探される語は、データRA M 243また
はデータRA M 244に存在すれば、線208に載
置される。
マルチプレクサ214からの線215はヒツトしたか否
かを判定するのに使用される。2倍語アクセスの場合、
マルチプレクサ214はマルチプレクサ211の出力を
選択する。単一語アクセスの場合、マルチプレクサ21
4は論理的ORゲート60の出力13を選択する。
単一語アクセスの場合、マルチプレクサ212は入力と
して排他的0R(XOR)ゲート213の出力を選択す
る。XORゲート213は入力として比較器50の出力
および線11にあるアドレスのライン・オフセットの最
下位ビットを選択する。これにより単一語アクセスの場
合正しい出力が確実に線208に設置される。
論理の変化を最少限にして、データを別の構成のデータ
RA M 243およびデータRA M 244に格納
することができる。他の実施例を第8図に示す。
データRAM243で第1のブロックからの語0が記憶
位置220に格納されているように示されておシ、第1
のブロックからの語2が記憶位置222に格納されてい
るように示されている。またデータRA M 243で
第2のブロックからの語1”が記憶位置221に格納さ
れているように示されておシ、第2のブロックからの語
3”が記憶位置223に格納されているように示されて
いる。データRAM244で第2のブロックからの語0
”が記憶位置231に格納されているように示されてお
り、第2のフロックからの語2”が記憶位置233に格
納されているよ5に示されている。またデータRAM2
44で第1のブロックからの語1が記憶位置230に格
納されているように示されておシ、第1のブロックから
の語3が記憶位置232に格納されているように示され
ている。データRA M 243およびデータRA M
 244の編成のこの変化を可能とするために論理イン
バータをマルチプレクサ207とデータRA M 24
4との間の信号径路内の位置217に設置することがで
きる。
第9図はデータRAM243およびデータRAM244
内にデータを格納する別の方法を示す。データRAM2
43で、第1のブロックからの語Oが記憶位置220に
格納されており、第1のブロックからの語2が記憶位置
221に格納されている。またデータRAM243で、
第2のブロックからの語1”が記憶位置222に格納さ
れておシ、第2のブロックからの語3“が記憶位置22
3に格納されている。
データRA M 244では、第2のブロックからの語
0”が記憶位置232に格納されており、第2のブロッ
クからの語2”が記憶位置233に格納されている。ま
たデータRA M 244で、第1のブロックからの語
1が記憶位置230に格納されており、第1のブロック
からの語3が記憶位置231に格納されている。
データRA M 243およびデータRAM244の編
成をこのようにするために、論理インバータをマルチプ
レクサ207とデータRA M 244との間の信号径
路上位置217に設置することができる。また、データ
RA M 243の入力で、ライン・オフセット153
の最下位ビットがライン・オフセット153の最下位か
ら2番目のビットと交換されている。同様に、データR
AM244の入力で、ライン・オフセット153の最下
位ビットがライン・オフセット153の最下位から2番
目のビットと置換されている。
データRA M 243およびデータRA M 244
内のデータの別の受容可能な構成が存在する。最適性能
では、すなわち本発明の性能および実施の利益を得るに
は、セットの二つのラインの対応する語は異なるデータ
RAMに入っているべきである。
更K、同じライン内で偶数および奇数の語が異なるデー
タRAMに入っているべきである。
ここに記す概念はどんな長さの多重語にも効率良くアク
セスすることができるように利用することができる。た
とえば、第10図には単一語アクセスまたは4倍語アク
セスを可能とするデータRAM構成を示しである。デー
タRA M 344で、第1ブロツクからの語0は記憶
位置320に格納されており、第2のブロックからの語
3”が記憶位置323に格納されており、第3のフロッ
クからの、。2が記憶位置322に格納されておシ、第
4のブロックからの語1°が記憶位置321に格納され
ている。データRAM345で、第1のブロックからの
語1が記憶位置331に格納されており、第2のブロッ
クからの語0”が記憶位置330に格納されておシ、第
2のブロックからの語3”が記憶位置333に格納され
ており、第4のブロックからの語2””が記憶位置33
2に格納されている。データRAM346で、第1のブ
ロックからの語2が記憶位置342に格納されており、
第2のブロックからの語1”が記憶位置341に格納さ
れており、第3のブロックからの語0“が記憶位置34
0に格納されており、第4のブロックからの語3”“が
記憶位置343に格納されている。データRA M 3
47で、第1のフロックからの語3が記憶位置353に
格納されており、第2のブロックからの語2”が記憶位
置352に格納されており、第3のブロックからの語1
゜が記憶位置351に格納されており、第4のブロック
からの語O””が記憶位置350に格納されている。マ
ルチプレクサ363、マルチプレクサ364、マルチプ
レクサ365、およびマルチプレクサ366はデータR
A M 344、データRA M 345、データRA
M346、およびデータRA M 347からの出力を
選択するのに使用される。
データRAM344.345.346、および347の
中にあるデータは異なるように構成することができる。
一般に、本発明の好適実施例に従って構成されたMWS
ACMから多重語をアクセスする場合、データの各ライ
ンの対応する語を異なるデータRAMに格納する。また
、各多重語からの各語を異なるデータRAMに格納する
第7図の回路について、簡単な予測アクセス・アルゴリ
ズムを線201に載っている値を、したがって2倍語が
存在しているタグRAMを、選択するのに使用すること
ができる。キャッシュに対する交換アルゴリズムは単純
予測アクセス・アルゴリズムのヒント率を増すために選
択し、変えることができる。
たとえば、第7図に示す実施例は二つの異なるアクセス
方法に対処している。いずれか一つのラインからの2語
にアクセスすることができ、または二つのラインの各々
からの1語にアクセスすることができる。1ラインから
の2語にアクセスする場合には、アクセスを始める前に
、所要のラインを知っているか、または少くとも予測さ
れていなければならない。キャッシュにムーブ・インの
場合には、置換アルゴリズムがムーブ・インされるデー
タが主記憶装置3から到達する前にどのラインを埋める
のが良いかを判定する。命令ブリフェッチの場合、所定
の命令をどのラインから取出すかがわかれば、後続命令
は、分岐命令またはラインの終りに出会うまで、同じラ
インから来る。
2倍語アクセスの場合には、セクトのどのラインにデー
タが入っているかが予測され、2語がその1ラインから
読出される。予測され自身は、同じアドレスに対して常
に同じ結果を生ずる限り、非常に簡単にすることができ
る。たとえば、予測は互いに排他的論理和を取られる二
つのアドレス・ビットを基礎にすることができる。
データの2倍語がキャッシュに(すなわち、データRA
 M 243およびデータRA M 244に)存在し
なければ、最初に特定の2倍語にアクセスする場合には
、2倍語をキャッシュに持って来なければならない。こ
の事態が生ずると、通常のキャッシュ置換アルゴリズム
は使用されない。代シに、アドレスはそのアドレスが存
在すると予測されているタグRAM41またはタグRA
M42のタグRAMに格納される。データはこれに応じ
てデータRAM243およびデータRA M 244に
格納される。次に2倍語がアクセスされるが、それは存
在すると予測されている場所に正確に存在する。
2倍語が2倍語ロードおよびストア命令のみを用いてア
クセスされる範囲内では、キャッシュは、それが実際に
所持しているセクトの2倍のセントを用いて丁度直接写
像キャッジ−と同じように働く。2倍語は単一サイクル
でアクセスされる。第1図に示すキャッシュのキャッシ
ュ性能は、第6図に示すキャッシュが第5図に示すキャ
ッシュの場合のように2倍語アクセスに対する2ウエイ
・セント・アソシアチブの代りに直接写像されているか
のように働(ので、第5図に示すキャッシュよりはわず
かに劣ることになる。
単一語アクセスの期間中、第1図および第7図に示すキ
ャッシュにムーブ・インデータのアドレスは、上述の2
倍語予測アルゴリズムではなく標準のLRUアルゴリズ
ムを用いて、タグRAM41およびタグRAM42に格
納される。データはこれに応じてデータRA M 24
3および244に格納される。したがって、データのブ
ロックを一つの記憶位置から他の記憶位置へ移動させる
場合のように、最初に単一語アクセスを行って2倍語を
キャッシュに持って来る場合には、その後の2倍語アク
セスにより2倍語予測アルゴリズムが不良タグRAMを
2倍語のアドレスを備えているとして拾い上げるという
機会が50パーセント存在することになる。
この場合には、所要2倍語にアクセスする最初の試みは
ミスで、ペナルティが課される。適切な方法ない(つか
の方法から選択することができる。
第1に、正しいタグRAMを読取るようにキャンシュに
再アクセスすることができる。これは恐ら(ペナルティ
は最低になるであろうが、2倍語がキャッシュからムー
ブ・アウトされて2倍語アクセスによシ戻入されるまで
、将来2倍語にアクセスするごとにペナルティが課され
ることになる。
第2に、2倍語が存在するライン全体にあるデータのア
ドレスな他のタグRAMに移動させ、それに応じてデー
タをデータRAM内に置き換えることができる。置換さ
れるデータが汚れていれば、新しいデータをキャッシュ
記憶装置に格納するとき重ね書きされるかまたはキャッ
シュ記憶装置から写し取られるデータである犠牲データ
をタグRAMおよびデータRAMの中で移動させること
もできるし、または犠牲データを記憶装置3ヘムーブ・
アウトすることができる。これは第1の選択より複雑で
あるが、ペナルティは一度だけしか課されない。
第3に、キャッシュ・ミスを強制することができる。こ
の方法は第2の選択を達成するより複雑ではないが、三
つの選択の中では最大のペナルティを生ずる。それは2
倍語を含んでいるラインが汚れていれば、そのラインを
主記憶装置3から最初に動かし、次いでキャッシュの2
倍語予測アルゴリズムによシ予測された位置に戻入させ
なければならないからである。
第1図に示すキャッシュによる2倍語データ・アクセス
の性能は、多数の2倍語を単一語アクセスを行って最初
にキャッジ−に持つて来る場合、第5図に示すキャッシ
ュと比較して劣っている。
劣る量は、これがどれだけ頻繁に生ずるか、事例を処理
するのに上述の三つの選択のどれを選ぶか、および結局
2倍語にどれだけ頻繁にアクセスするか、によって決ま
る。
第1図に示すキャッシュは第4図および第5図に示す従
来技術の設計より費用効果が大きい。第1図に示すキャ
ッシュでは第4図に示すキャッシュのムーブ・インに対
し2倍の帯域幅でデータをムーブ・インすることができ
る。これによシキャッシュ・ミスのペナルティが減シ、
性能が増大する。また、第1図に示すキャッシュを使用
すれば、第5図のキャッシュで利用可能になると同じキ
ャッシュ充填(fill )帯域幅の達成となるが、必
要なRAM集積回路およびRAMデータ径路信号接続は
半数で済む。データのアドレスを書込むのにどのタグR
AMを選択し、これによりデータをデータRAMにどう
して格納するかは、データをキャッシュに書込むかなシ
前に交換アルゴリズムによシ適切に決定することができ
る。
第1図に示すキャッシュはまた第4図に示すキャッシュ
と比較して命令フェッチ帯域幅が大きくなっている。パ
イプラインを充満させてお(のに使用するよシ大きな速
さで命令を取出すことにより、命令をレジスタ・バッフ
ァに蓄積することができる。これによシ命令キャッシュ
が分岐をすべきことがわかる前に分岐の目標を自由に取
出すことができる。これを行う能力によシ、生起した分
岐に関連する無駄なCPUサイクルの数が少くなる。
その他に、第1図に示すキャッシュは、二つの連続アク
セスで語に通常アクセスしなければならないシステムで
2倍語アクセスの速さを増すのに使用することができる
。ここに提示した置換およびライン予測アルゴリズムを
用いれば、2倍語ロードあたりの平均サイクルはアクセ
スあたシ1.2〜1.5サイクルとなるはずである。
〔発明の効果〕
以上詳述したように、本発明の実施により、多重語読み
出し格納が極めて効率的に行われる。
そして、そのためのハードウェアの増加が極小におさえ
られておシ低価格である。
従って実用に供して有益である。
【図面の簡単な説明】
第1図は本発明の一実施例によるマルチ・ウェイ・セッ
ト・アソシアチブ・キャッシュ記憶装置のデータRAM
における記憶ロケーションの編成を示す図である。 第2図はマルチ・ウェイ・セット・アソシアチフ・キャ
ッシュ記憶装置の概略回路図である。 第3図は本発明の一実施例に従りたアドレスの構成を示
す図である。 第4図と第5図は第2図のマルチ・ウェイ・セット・ア
ソシアチブ・キャッシュ記憶装置のデータRAMにおけ
る記憶ロケーションの編成図である。 第6図は本発明の一実施例のキャッシュ記憶装置と、処
理装置と主記憶装置とを備えた計算機システムを示す図
である。 第7図は、第6図に示すデータRAMにおける記憶ロケ
ーションの編成をおこなうため第2図に示すマルチ・ウ
ェイ・セット・アンシアチブ・キャッシュ記憶装置に付
加すべきハードウェア論理を示す図である。 第8図、第9図および第10図は、本発明の他の実施例
におけるデータRAMでの記憶ロケーションの編成の種
々の実施例を示す図である。 243.244:データRAM 263.264:マルチプレクサ。 事件の表示 平成2年 特許願 第191867号 ハノーバー・ストリート 3000 名称  ヒユーレット・パラカード・カンパニ代表者 
ステイ−ブン・ピー・フォックス国籍  アメリカ合衆
国 補正命令の日付 平成2年IO月30日(発送口) 補正の対象 明細書の「発明の名称」の欄

Claims (1)

  1. 【特許請求の範囲】 1、複数のデータ・ラインを格納するマルチ・ウェイ・
    セット・アソシアチブ・キャッシュ記憶装置において、
    複数のRAMにデータを格納し、複数の多重語から所望
    の多重語をアクセスする後記(イ)、(ロ)から成るデ
    ータ格納方法。 (イ)前記複数のデータ・ラインの各々のデータ・ライ
    ンの対応する語を前記複数のRAMの相異なるRAMに
    格納するステップ。 (ロ)前記複数の多重語の各多重語の各語を前記複数の
    RAMの相異なるRAMに格納するステップ。 2、複数のデータ・ラインを格納し、複数の多重語から
    多重語をアクセスするための後記(イ)乃至(ロ)より
    成るマルチ・ウェイ・セット・アソシアチブ・キャッシ
    ュ記憶装置。 (イ)データを格納する複数のデータ記憶装置。 前記複数のデータ・ラインの各々の各デー タ・ラインの対応する語は前記複数のデータ記憶装置の
    相異なるデータ記憶装置に格納され、前記複数の多重語
    の各多重語の各語は前記複数のデータ記憶装置の相異な
    るデータ記憶装置に格納される。 (ロ)前記複数のデータ記憶装置の各々に接続され、前
    記複数のデータ記憶装置の各データ記憶装置から同時に
    データを選出する選出手段。 3、2ウェイ・セット・アソシアチブ・キャッュ記憶装
    置において、第1、第2のRAMとデータの格納及び検
    索をおこなう方法で、後記(イ)乃至(ロ)から成る複
    数の二重語から二重語をアクセスする方法。 (イ)第1、第2のRAMに、下記(イ−1)、(イ−
    2)の条件を成立するように、データ・ラインを格納す
    るステップ。 (イ−1)各データのセットにおいて、 該セット内の各データ・ラインの対応する語は該対応す
    る語の一方が前記第1のRAMに格納されている。 (イ−2)前記データの前記二重語の第1の語は前記第
    1のRAMに、前記二重語の第2の語は前記第2のRA
    Mに格納される。 (ロ)アクセスされる各二重語に対して、該二重語の第
    1の語を前記第1のRAMからアクセスし、該二重語の
    第2の語を前記第2のRAMからアクセスするステップ
    。 4、2データ・ラインを有するデータのセットの該デー
    タ・ラインを格納し、二重語のアクセスをおこなうため
    の後記(イ)乃至(ロ)より成る2ウェイ・セット・ア
    ソシアチブ・キャッシュ記憶装置。 (イ)データを格納する第1のデータ記憶装置。 (ロ)データを格納する第2のデータ記憶装置。 (ハ)前記第1、第2の記憶装置に接続されて、前記第
    1、第2の記憶装置から同時にデータを選出するための
    選出手段。 前記2ウェイ・セット・アソシアチブ・キャッシュ記憶
    装置において、データは前記第1、第2のデータ記憶装
    置内で編成され、各データのセットは、該セット内の各
    データ・ラインの対応する語の下記のようになるように
    格納される。 第1の前記対応する語は第1のRAMにあり、第2の前
    語対応する語は第2のRAMにある。
JP2191867A 1989-07-19 1990-07-19 データ格納方法及びマルチ・ウェイ・セット・アソシアチブ・キャッシュ記憶装置 Pending JPH03141443A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US07/382,158 US5091851A (en) 1989-07-19 1989-07-19 Fast multiple-word accesses from a multi-way set-associative cache memory
US382,158 1989-07-19

Publications (1)

Publication Number Publication Date
JPH03141443A true JPH03141443A (ja) 1991-06-17

Family

ID=23507758

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2191867A Pending JPH03141443A (ja) 1989-07-19 1990-07-19 データ格納方法及びマルチ・ウェイ・セット・アソシアチブ・キャッシュ記憶装置

Country Status (4)

Country Link
US (1) US5091851A (ja)
EP (1) EP0409415A3 (ja)
JP (1) JPH03141443A (ja)
KR (1) KR910003500A (ja)

Families Citing this family (61)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0786848B2 (ja) * 1989-11-01 1995-09-20 三菱電機株式会社 キャッシュメモリ
US5257360A (en) * 1990-03-23 1993-10-26 Advanced Micro Devices,Inc. Re-configurable block length cache
US5420994A (en) * 1990-08-06 1995-05-30 Ncr Corp. Method for reading a multiple byte data element in a memory system with at least one cache and a main memory
US5434990A (en) * 1990-08-06 1995-07-18 Ncr Corporation Method for serially or concurrently addressing n individually addressable memories each having an address latch and data latch
US5210842A (en) * 1991-02-04 1993-05-11 Motorola, Inc. Data processor having instruction varied set associative cache boundary accessing
US5262990A (en) * 1991-07-12 1993-11-16 Intel Corporation Memory device having selectable number of output pins
US5325504A (en) * 1991-08-30 1994-06-28 Compaq Computer Corporation Method and apparatus for incorporating cache line replacement and cache write policy information into tag directories in a cache system
US5530835A (en) * 1991-09-18 1996-06-25 Ncr Corporation Computer memory data merging technique for computers with write-back caches
US5509135A (en) * 1992-09-25 1996-04-16 Digital Equipment Corporation Multi-index multi-way set-associative cache
US5280449A (en) * 1992-10-13 1994-01-18 Advanced Risc Machines Limited Data memory and method of reading a data memory
DE69325786T2 (de) * 1992-12-04 2000-02-17 Koninklijke Philips Electronics N.V., Eindhoven Prozessor für gleichförmige Operationen auf Datenreihenfolgen in entsprechenden parallelen Datenströmen
US5465342A (en) * 1992-12-22 1995-11-07 International Business Machines Corporation Dynamically adaptive set associativity for cache memories
EP0624844A2 (en) * 1993-05-11 1994-11-17 International Business Machines Corporation Fully integrated cache architecture
JPH0784881A (ja) * 1993-09-13 1995-03-31 Mitsubishi Electric Corp キャッシュメモリ
US5805855A (en) * 1994-10-05 1998-09-08 International Business Machines Corporation Data cache array having multiple content addressable fields per cache line
FR2726934B1 (fr) * 1994-11-10 1997-01-17 Sgs Thomson Microelectronics Procede de lecture anticipee de memoire a acces serie et memoire s'y rapportant
US5577228A (en) * 1994-12-08 1996-11-19 Sony Corporation Of Japan Digital circuit for performing multicycle addressing in a digital memory
US5732242A (en) 1995-03-24 1998-03-24 Silicon Graphics, Inc. Consistently specifying way destinations through prefetching hints
US5651136A (en) * 1995-06-06 1997-07-22 International Business Machines Corporation System and method for increasing cache efficiency through optimized data allocation
US5987561A (en) * 1995-08-31 1999-11-16 Advanced Micro Devices, Inc. Superscalar microprocessor employing a data cache capable of performing store accesses in a single clock cycle
US5860104A (en) * 1995-08-31 1999-01-12 Advanced Micro Devices, Inc. Data cache which speculatively updates a predicted data cache storage location with store data and subsequently corrects mispredicted updates
US5752069A (en) * 1995-08-31 1998-05-12 Advanced Micro Devices, Inc. Superscalar microprocessor employing away prediction structure
US5845317A (en) * 1995-11-17 1998-12-01 Micron Technology, Inc. Multi-way cache expansion circuit architecture
JP3348367B2 (ja) * 1995-12-06 2002-11-20 富士通株式会社 多重アクセス方法および多重アクセスキャッシュメモリ装置
US5838943A (en) * 1996-03-26 1998-11-17 Advanced Micro Devices, Inc. Apparatus for speculatively storing and restoring data to a cache memory
US5854943A (en) * 1996-08-07 1998-12-29 Hewlett-Packard Company Speed efficient cache output selector circuitry based on tag compare and data organization
US5689634A (en) * 1996-09-23 1997-11-18 Hewlett-Packard Co. Three purpose shadow register attached to the output of storage devices
US5870616A (en) * 1996-10-04 1999-02-09 International Business Machines Corporation System and method for reducing power consumption in an electronic circuit
US5958065A (en) * 1997-02-18 1999-09-28 Micron Electronics, Inc. Content addressable bit replacement memory
US6118726A (en) * 1998-02-02 2000-09-12 International Business Machines Corporation Shared row decoder
US6246630B1 (en) 1998-02-02 2001-06-12 International Business Machines Corporation Intra-unit column address increment system for memory
US6002275A (en) * 1998-02-02 1999-12-14 International Business Machines Corporation Single ended read write drive for memory
US6038634A (en) * 1998-02-02 2000-03-14 International Business Machines Corporation Intra-unit block addressing system for memory
US6185657B1 (en) 1998-04-20 2001-02-06 Motorola Inc. Multi-way cache apparatus and method
KR20010058409A (ko) * 1999-11-04 2001-07-06 김상구 콩나물 두부 절단기
US6430655B1 (en) * 2000-01-31 2002-08-06 Mips Technologies, Inc. Scratchpad RAM memory accessible in parallel to a primary cache
KR100398954B1 (ko) 2001-07-27 2003-09-19 삼성전자주식회사 멀티웨이 세트 연관 구조의 캐쉬 메모리 및 데이터 판독방법
US7406579B2 (en) * 2002-12-17 2008-07-29 International Business Machines Corporation Selectively changeable line width memory
WO2004061675A1 (en) * 2002-12-17 2004-07-22 International Business Machines Corporation Selectively changeable line width memory
US7117290B2 (en) * 2003-09-03 2006-10-03 Advanced Micro Devices, Inc. MicroTLB and micro tag for reducing power in a processor
US20050050278A1 (en) * 2003-09-03 2005-03-03 Advanced Micro Devices, Inc. Low power way-predicted cache
US7293141B1 (en) * 2005-02-01 2007-11-06 Advanced Micro Devices, Inc. Cache word of interest latency organization
US7734901B2 (en) * 2005-10-31 2010-06-08 Mips Technologies, Inc. Processor core and method for managing program counter redirection in an out-of-order processor pipeline
US7711934B2 (en) * 2005-10-31 2010-05-04 Mips Technologies, Inc. Processor core and method for managing branch misprediction in an out-of-order processor pipeline
US7873820B2 (en) * 2005-11-15 2011-01-18 Mips Technologies, Inc. Processor utilizing a loop buffer to reduce power consumption
US7496771B2 (en) * 2005-11-15 2009-02-24 Mips Technologies, Inc. Processor accessing a scratch pad on-demand to reduce power consumption
US7562191B2 (en) * 2005-11-15 2009-07-14 Mips Technologies, Inc. Microprocessor having a power-saving instruction cache way predictor and instruction replacement scheme
US7721071B2 (en) * 2006-02-28 2010-05-18 Mips Technologies, Inc. System and method for propagating operand availability prediction bits with instructions through a pipeline in an out-of-order processor
US20070204139A1 (en) 2006-02-28 2007-08-30 Mips Technologies, Inc. Compact linked-list-based multi-threaded instruction graduation buffer
US7370178B1 (en) * 2006-07-14 2008-05-06 Mips Technologies, Inc. Method for latest producer tracking in an out-of-order processor, and applications thereof
US20080016326A1 (en) 2006-07-14 2008-01-17 Mips Technologies, Inc. Latest producer tracking in an out-of-order processor, and applications thereof
JP2008042343A (ja) * 2006-08-02 2008-02-21 Nec Electronics Corp スイッチ回路およびスイッチ装置
US7657708B2 (en) * 2006-08-18 2010-02-02 Mips Technologies, Inc. Methods for reducing data cache access power in a processor using way selection bits
US7650465B2 (en) 2006-08-18 2010-01-19 Mips Technologies, Inc. Micro tag array having way selection bits for reducing data cache access power
US8032734B2 (en) * 2006-09-06 2011-10-04 Mips Technologies, Inc. Coprocessor load data queue for interfacing an out-of-order execution unit with an in-order coprocessor
US7647475B2 (en) * 2006-09-06 2010-01-12 Mips Technologies, Inc. System for synchronizing an in-order co-processor with an out-of-order processor using a co-processor interface store data queue
US9946547B2 (en) 2006-09-29 2018-04-17 Arm Finance Overseas Limited Load/store unit for a processor, and applications thereof
US20080082793A1 (en) * 2006-09-29 2008-04-03 Mips Technologies, Inc. Detection and prevention of write-after-write hazards, and applications thereof
US7594079B2 (en) 2006-09-29 2009-09-22 Mips Technologies, Inc. Data cache virtual hint way prediction, and applications thereof
US8078846B2 (en) 2006-09-29 2011-12-13 Mips Technologies, Inc. Conditional move instruction formed into one decoded instruction to be graduated and another decoded instruction to be invalidated
US20170091111A1 (en) * 2015-09-30 2017-03-30 International Business Machines Corporation Configurable cache architecture

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3629842A (en) * 1970-04-30 1971-12-21 Bell Telephone Labor Inc Multiple memory-accessing system
US4366539A (en) * 1980-10-31 1982-12-28 Honeywell Information Systems Inc. Memory controller with burst mode capability
EP0055579B1 (en) * 1980-12-31 1991-03-20 Bull HN Information Systems Inc. Cache memories with double word access
US4424561A (en) * 1980-12-31 1984-01-03 Honeywell Information Systems Inc. Odd/even bank structure for a cache memory
US4438493A (en) * 1981-07-06 1984-03-20 Honeywell Information Systems Inc. Multiwork memory data storage and addressing technique and apparatus
US4724518A (en) * 1983-07-29 1988-02-09 Hewlett-Packard Company Odd/even storage in cache memory
US4736293A (en) * 1984-04-11 1988-04-05 American Telephone And Telegraph Company, At&T Bell Laboratories Interleaved set-associative memory
JPS618785A (ja) * 1984-06-21 1986-01-16 Fujitsu Ltd 記憶装置アクセス制御方式
US4933846A (en) * 1987-04-24 1990-06-12 Network Systems Corporation Network communications adapter with dual interleaved memory banks servicing multiple processors
US4905188A (en) * 1988-02-22 1990-02-27 International Business Machines Corporation Functional cache memory chip architecture for improved cache access
US4945512A (en) * 1988-09-07 1990-07-31 Unisys Corporation High-speed partitioned set associative cache memory
US5014195A (en) * 1990-05-10 1991-05-07 Digital Equipment Corporation, Inc. Configurable set associative cache with decoded data element enable lines

Also Published As

Publication number Publication date
KR910003500A (ko) 1991-02-27
EP0409415A3 (en) 1991-11-27
US5091851A (en) 1992-02-25
EP0409415A2 (en) 1991-01-23

Similar Documents

Publication Publication Date Title
JPH03141443A (ja) データ格納方法及びマルチ・ウェイ・セット・アソシアチブ・キャッシュ記憶装置
US6161166A (en) Instruction cache for multithreaded processor
KR100962057B1 (ko) 캐시 치환 폴리시의 간이화한 구현을 갖춘 멀티스레드 캐시의 방법 및 장치
US6772316B2 (en) Method and apparatus for updating and invalidating store data
US4332010A (en) Cache synonym detection and handling mechanism
KR100962058B1 (ko) 스레드 식별자에 기초한 캐시 축출을 갖춘 멀티스레드 캐시의 방법 및 장치
EP0695996B1 (en) Multi-level cache system
JP2839060B2 (ja) データ処理システムおよびデータ処理方法
US5640534A (en) Method and system for concurrent access in a data cache array utilizing multiple match line selection paths
US6138209A (en) Data processing system and multi-way set associative cache utilizing class predict data structure and method thereof
US5781924A (en) Computer caching methods and apparatus
JP4065660B2 (ja) 機能が並列に分散された変換索引バッファ
JPH07200399A (ja) マイクロプロセッサ、およびマイクロプロセッサにおいてメモリにアクセスするための方法
US5809562A (en) Cache array select logic allowing cache array size to differ from physical page size
US5548739A (en) Method and apparatus for rapidly retrieving data from a physically addressed data storage structure using address page crossing predictive annotations
US5805855A (en) Data cache array having multiple content addressable fields per cache line
JPS58205975A (ja) 緩衝記憶機構
US8621152B1 (en) Transparent level 2 cache that uses independent tag and valid random access memory arrays for cache access
US20160217079A1 (en) High-Performance Instruction Cache System and Method
JP3431878B2 (ja) マルチスレッド・プロセッサの命令キャッシュ
US5737575A (en) Interleaved key memory with multi-page key cache
US5890221A (en) Method and system for offset miss sequence handling in a data cache array having multiple content addressable field per cache line utilizing an MRU bit
KR19990077471A (ko) 스누핑포트를사용하는프리페치캐시질의방법및시스템
US6385696B1 (en) Embedded cache with way size bigger than page size
US20040181626A1 (en) Partial linearly tagged cache memory system