JPH08504042A - キャッシュメモリ装置 - Google Patents
キャッシュメモリ装置Info
- Publication number
- JPH08504042A JPH08504042A JP5515384A JP51538493A JPH08504042A JP H08504042 A JPH08504042 A JP H08504042A JP 5515384 A JP5515384 A JP 5515384A JP 51538493 A JP51538493 A JP 51538493A JP H08504042 A JPH08504042 A JP H08504042A
- Authority
- JP
- Japan
- Prior art keywords
- memory
- cache memory
- main
- data
- memory bank
- 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
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/12—Replacement control
- G06F12/121—Replacement control using replacement algorithms
- G06F12/126—Replacement control using replacement algorithms with special data handling, e.g. priority of data or instructions, handling errors or pinning
- G06F12/127—Replacement control using replacement algorithms with special data handling, e.g. priority of data or instructions, handling errors or pinning using additional replacement algorithms
-
- 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/0864—Addressing 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
-
- 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/12—Replacement control
- G06F12/121—Replacement control using replacement algorithms
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)【要約】
メインアドレス(AP)および場合によってはデータ(D)を含むリクエスト(REQ)を受けるための少なくとも1つの入出力(ESRQ)と、アドレス指定可能なメインメモリ(MP)またはアドレス指定可能な他のキャッシュメモリに対する少なくとも1つの入出力(ESMP)と、データを含むようになったLi個のラインをそれぞれ有する複数X個のメモリバンク(BCi)(iはXより小さく0より大きい)と、上記リクエスト(REQ)が含むメインアドレス(AP)と各メモリバンク(BCi)におけるローカルアドレス(AL)とを各メモリバンク(BCi)に対する所定の法則(fi)によって関連付けてリクエスト(REQ)に応答するようになった手段(CAL)と、受けたリクエストに応じてキャッシュメモリにロードするための手段(CHA)とを備え、各メモリバンクにおいて上記ラインはローカルアドレス(AL)によって個別に指定可能であり、メモリバンク(BCi)においてこのように指定されたラインは、メインアドレスによって参照されたデータを含むことのできるメモリバンクの1つの特定ラインである、キャッシュメモリ装置。上記所定の法則(fi)のうち少なくとも2つは当該メモリバンクにしたがって実質的に別個であり、当該2つのメモリバンクは個別にアドレス指定されることによって、上記キャッシュメモリにおけるデータアクセスの際の平均成功率が改善される。
Description
【発明の詳細な説明】
キャッシュメモリ装置
本発明は、キャッシュメモリの技術範囲に関する。
キャッシュメモリは、情報システムにおいて一般的に適用されている。
技術的進歩、特にクロック速度およびプロセッサーの集積化の分野における技
術的進歩は、プロセッサーのサイクル時間を徐々に低減すること、およびサイク
ル毎の複数の命令のシーケンス化および実行を可能にすることを目指している。
したがって、情報システムのメインメモリにおける情報のスループット要求は
、次第に大きくなっている。
しかしながら、技術的進歩により、プロセッサーのサイクル時間と同じ速度で
メインメモリの情報に対するアクセス時間を低減することはできなかった。
実際に、現在において、メインメモリのアクセス時間は、しばしばプロセッサ
ーサイクル時間の数十倍、いや数百倍程度である。
メインメモリにおける情報へのアクセス待機時間をなくするための公知の解決
策は、キャッシュメモリを利用することである。
一般的に、キャッシュメモリは高速アクセス(高速読み出し)メモリであり、
全体的に小さなサイズである。キャッシュメモリの中には、メインメモリの中に
記憶された情報全体の一部が記憶される。
実際には、メインメモリのメインアドレスや場合によってはデータを含むリク
エストをプロセッサーが実行する場合、所望のデータがキャッシュメモリに存在
し且つ有効なときにはリクエストが含むメインアドレスとキャッシュメモリのデ
ータラインとを関連付けて、またそうでないときにはその不存在を指摘して、キ
ャッシュメモリはリクエストに応答する。後者の場合、プロセッサーは、所望の
データにアクセスするためにメインメモリをアドレス
指定する。次いで、所望のデータを含むメインメモリのデータラインは、キャッ
シュメモリにロードされる。
キャッシュメモリについて幾つかの構成が知られている。特に、「ダイレクト
マップ」と呼ばれている直接マップにする構成や、完全連想型のマルチメモリバ
ンク構成や、さらに全体連想型のマルチメモリバンク構成が知られている。これ
らの構成については、詳細に後述する。
キャッシュメモリの方がメインメモリよりも高速であるため、キャッシュメモ
リの利用によりメインメモリのデータアクセス時間が加速されるのは明らかであ
る。
しかしながら、キャッシュメモリを使用する情報システムの有効性能は、キャ
ッシュメモリにおけるデータアクセスの際の平均成功率(ヒット率)に依存する
。
ところで、この平均成功率は、上述のキャッシュメモリによる構成において完
全に満足すべきものではない。
本発明は、キャッシュメモリにおけるデータアクセスの際の平均成功率を改善
することを目的としている。
本発明は、マルチメモリバンク構成を利用したキャッシュメモリ装置に関する
。
すでに知られているように、本発明のキャッシュメモリ装置は、
メインアドレスおよび場合によってはデータを含むリクエストを受けるための
少なくとも1つの入出力と、
アドレス指定可能なメインメモリまたはアドレス指定可能な他のキャッシュメ
モリに対する少なくとも1つの入出力と、
データを含むようになったLi個のラインをそれぞれ有する複数個のメモリバ
ンクと、
上記リクエストが含むメインアドレスと各メモリバンクにおけるローカルアド
レスとを各メモリバンクに対する所定の法則によって関連付けてリクエストに応
答するようになった手段と、
受けたリクエストに応じてキャッシュメモリにロードするための手段とを備え
、
各メモリバンクにおいて上記ラインはローカルアドレスによって個別に指定可
能であり、メモリバンクにおいてこのように指定されたラインは、メインアドレ
スによって参照されたデータを含むことのできるメモリバンクの1つの特定ライ
ンである。
本発明の一般的な定義によれば、上記所定の法則のうち少なくとも2つは当該
メモリバンクにしたがって実質的に別個であり、当該2つのメモリバンクは個別
にアドレス指定されることによって、上記キャッシュメモリにおけるデータアク
セスの際の平均成功率が改善される。
本発明の他の特徴および利点は、以下の詳細な説明および添付図面を参照いて
明らかになるであろう。
図1は、公知の情報システムの概略図であり、
図2は、「完全連想型」と呼ばれる公知の構成にしたがって組み立てられたキ
ャッシュメモリの概略図であり、
図3は、「ダイレクトマップ型」と呼ばれる公知の構成にしたがって組み立て
られたキャッシュメモリの概略図であり、
図4は、「全体連想型」と呼ばれる公知の連想型構成にしたがって組み立てら
れたマルチメモリバンクキャッシュメモリの概略図であり、
図5は、本発明にしたがって修正された全体連想型構成にしたがって組み立て
られたマルチメモリバンクキャッシュメモリの概略図であり、
図6は、リクエストが含むメインアドレスを本発明のメモリバンクにおけるロ
ーカルアドレスに関連付けることのできる法則の概略図である。
図1において、参照符号SIは、キャッシュメモリAMを利用する情報システ
ムを示している。
キャッシュメモリAMは、それぞれがBビットのM個のワードを含んだL0〜
LLに個別化されたL個のラインからなる。たとえば、キャッシュメモリAMは
、16ビット8ワードのラインを64個備えている。LとBとMと
の積は、キャッシュメモリのビットサイズを規定する。
データDや標識T(フラッグ)は、キャッシュメモリのラインに記憶されてい
る。
標識Tは、たとえばキャッシュメモリのラインに記憶されたデータのメインメ
モリにおけるメインアドレスAPを決定したり、上記データの有効性を指示した
りするのに役立つ。標識内に記憶されるのはメインアドレスであり、これにより
キャッシュメモリ内のデータとメインメモリにおけるそのアドレスとの間で関連
を付けることができる。
プロセッサーPROがメインメモリMPに記憶されたデータにアクセスしたい
とき、まず、メインメモリMPにおける所望のデータ(場合によっては複数のデ
ータ)のメインアドレスAPを含むリクエストREQを出す。
リクエストREQは、入出力を形成する手段によって受け取られる。この手段
は、キャッシュメモリのために所定の法則によってこのリクエストが含むメイン
アドレスAPとキャッシュメモリAMのローカルアドレスALとを関連付けてレ
クエストに応答するようになった手段CALに接続されている。
ローディング手段CHAは、受けたレクエストに応じてキャッシュメモリにロ
ードする。
ローカルアドレスALによって参照されたキャッシュメモリのデータラインに
所望のデータがあるとき、プロセッサーはその所望のデータにアクセスする。
反対の場合、メインメモリの所望のデータにアクセスするために、入出力ES
MPを形成する手段を介してメインメモリにアドレス指定する。
こうして、所望のデータを含むメインメモリのデータラインは、所定の法則に
応じてキャッシュメモリにロードされる。
公知のように、キャッシュメモリの構成は、連想性(結合性)の度合いにした
がって相違する。
図2には、完全連想型の構成にしたがって組み立てられたキャッシュメモリを
示している。
このような構成では、メインメモリにおけるデータラインのメインアドレスが
何であろうと、ローディング手段CHAがメインメモリのデータラインをキャッ
シュメモリの任意のラインにロードする。
このような構成では、非常に大きなサイズのキャッシュメモリへのアクセス手
段が必要になる。また、キャッシュメモリのライン数が大きいときアクセス禁止
時間が必要になる。というのも、キャッシュメモリのすべてのラインのデータ存
在標識Tを読み取り、メインアドレスAPとキャッシュメモリにおけるデータラ
インのローカルアドレスALとを比較する必要があるからである。このメインア
ドレスおよびラインの有効性情報は、データラインに関連付けられた標識に記憶
される。
図3には、いわゆるダイレクトマップ(direct mapped)構成にしたがって組
み立てられたキャッシュメモリを示している。
このような構成では、ローディング手段CHAがメインメモリのデータライン
をキャッシュメモリのラインにロードすなわちマップする。そのキャッシュメモ
リのそれぞれのローカルアドレスALは、普通は最下位ビットをとって、メイン
アドレスAPから直接導かれる。
いわゆるダイレクトマップされた構成は、比較的単純である。実際、キャッシ
ュメモリのデータラインからたった1つのワードおよびその関連された存在標識
Tが読み取られる。次いで、このように読み取られたラインの標識のローカルア
ドルスALがロードすべきメインアドレスAPと比較される。比較が肯定的であ
る場合、メインメモリのデータラインはこのように参照されたキャッシュメモリ
のラインにロードされる。
しかしながら、プログラムの実行中において、メインメモリの複数のデータラ
インをキャッシュメモリの同じラインにマップしなければならなくなる場合もあ
る。その結果、コンテンション(競合)が起こり、キャッシュメモリへのアクセ
スの際にエラーの発生を招く。
したがって、このような構成では、キャッシュメモリのデータへのアクセスの
際の成功率が前述の構成よりも悪化するという不都合がある。
図4には、全体連想と呼ばれるマルチメモリバンク構成にしたがって組み立て
られたキャッシュメモリの一例を示している。
このような構成では、キャッシュメモリAMがX個のメモリバンクBCiに分
割されている。なお、添字iはXよりも小さく0より大きく、各メモリバンクは
それぞれデータDを含むようになったLi個のラインを有する。
本実施例では、ラインの数Liはすべてのメモリバンクにおいて同じである。
変形例として、各メモリバンクによってラインの数が互いに異なるようにしても
よい。
メモリバンクBCiは超高速アクセス可能であり、たとえば約6乃至12×1
0-9秒のアクセス時間のスタティックRAM技術で製造することができる。
これらのラインLIは、ローカルアドレスALIによって個別に指定可能であ
る。
たとえば、キャッシュメモリは、2つの個別のメモリバンクBC1とBC2と
に分割されている。そして、メモリバンクBC1ではL10〜L17に個別化さ
れた8個のラインを、メモリバンクBC2ではL20〜L27に個別化された8
個のラインを有する。
実際には、リクエストが含むメインアドレスと各メモリバンクBCiの同じロ
ーカルアドルスとを所定の法則fによって関連付けて、手段CLがメインアドレ
スや場合によってはデータを含むリクエストREQに応答する。こうしてメモリ
バンクBCiにおいて指定されたラインは、メインアドルスAPによって参照さ
れたデータを含むことができるメモリバンクBCiの唯一のラインである。
換言すれば、メインメモリのデータラインは、メモリバンクBCiにおけるロ
ーカルアドレスALのラインによって構成された全体のうち任意のラインにおい
てマップにされる。ローカルアドレスALはメインアドレスAPによって決定さ
れ、一般的には、ローカルアドレスは、メインアドレスAPの最下位ビットから
直接導かれる。
しかしながら、所定の同じ法則fにしたがってメモリバンクのアドレス指定が
共同に実行されるという点において、このような構成は完全に満足すべきもので
はない。換言すれば、メインメモリのデータラインはメモリバンクのいずれかに
ロードされ、しかも各メモリバンクにおいて同じアドレスにロードされる。
したがって、このような構成によれば、すなわちメモリバンクの共同のアドレ
ス指定の構成によれば、キャッシュメモリのデータへのアクセスの平均成功率が
比較的小さくなる。
たとえば、同じアプリケーションに関してメインメモリの(x+1)個のデー
タラインが同じローカルアドレスALのラインからなる全体においてマップにさ
れなければならないとき、(x+1)のデータラインをすべてキャッシュメモリ
内に存在させることはできないので、コンテンション(競合)が起こる。
本出願人には、この問題を解決するという課題が課せられていた。
本発明にしたがうこの問題に対する解決策は、キャッシュメモリのマルチメモ
リバンク構成において、メモリバンクに対してそれぞれ個別のローカルアドレス
指定機能を利用すること、すなわち各メモリバンクについて分離されたアドレス
指定機能を利用することからなる。
本発明によるスクランブル連想型構成にしたがって組み立てられたキャッシュ
メモリを概略的に示す図5を参照する。
それぞれL1ラインおよびL2ラインを有する2つのメモリバンクBC1およ
びBC2に分割されたキャッシュメモリAMが示されている。ラインはデータD
を含み、ローカルアドレスALによって個別にアドレス指定可能になっている。
メモリバンクBC1では、演算手段CAL1がリクエストに応答して、リクエ
ストが含むメインアドレスAPをメモリバンクBC1のローカルアドレスAL1
に所定の法則F1によって関連付ける。メモリバンクBC1においてこうして指
定されたラインは、メインアドレスAPによって参照されたデ
ータを含むことができるメモリバンクBC1の1つの特定ラインである。
同様に、メモリバンクBC2では、演算手段CAL2がリクエストに応答して
、リクエストが含むメインアドレスAPをメモリバンクBC2のローカルアドレ
スAL2に所定の法則F2によって関連付ける。メモリバンクBC2においてこ
うして指定されたラインは、メインアドレスAPによって参照されたデータを含
むことができるメモリバンクBC2の1つの特定ラインである。
図4を参照して記載したメモリバンクの共同アドレス指定を個別アドレス指定
に代え、当該2つのメモリバンクにしたがう2つの法則を互いに別個にすること
によって、キャッシュメモリのデータアクセスの成功率が驚くほどに改善される
ことを本出願人は確認した。
実際、メモリバンクの個別アドレス指定により、メインメモリのデータライン
がメモリバンクのいずれかにロードされ、しかも各メモリバンクに対してローカ
ルアドレスが異なる。
こうして、メモリバンクBC1ではキャッシュメモリの同じラインにおいてマ
ップにされるために、メインメモリの(x+1)個のデータラインがコンテンシ
ョン(競合)を起こしても、キャッシュメモリの他のメモリバンクBCjにおい
てコンテンション(競合)を起こすことなく、(x+1)個のデータラインがキ
ャッシュメモリにおいて同時に存在することができる。これにより、キャッシュ
メモリへのアクセスの際のエラーを回避することができる。
メモリバンクの個別アドレス指定を可能にするために、リクエストが含むメイ
ンアドレスと当該メモリバンクにおけるローカルアドレスとを関連付ける法則を
個別にするのがよい。
キャッシュメモリへのアクセスの際の成功率を高めるには、法則fiを慎重に
選択するのがよい。
本出願人は、まず、法則fiが公平な法則でなければならないことを確認した
。
メモリバンクBCiの各ラインに対して、そのラインにおいてマップにされる
ことのできるデータラインDの数がメモリバンクBCiのすべてのラインの数と
同じであれば、データラインのメインアドレスをメモリバンクBCiのローカル
アドレスに関連付ける法則fiはいわゆる公平である。
次いで、本出願人は、法則fiが互いに分散的でなければならないことを確認
した。
メモリバンクBCiの所定のラインにおいてマップにされることのできるライ
ンの全体に限定して法則Fjが公平であれば、法則FiはFjに対して分散法則
である。
最後に、本出願人は、法則fiが空間的局地性を呈してはならないことを確認
した。
事実、多くのアプリケーションは空間的局地性を呈する。すなわち、これらの
アプリケーションでは短い時間ラップにおいて使用されるデータが互いに比較的
近接したメインアドレスを有する。
そこで、コンテンションの発生を回避するには、互いに近接した(すなわちほ
とんど連続している)メインアドレスを有する2つのラインがメモリバンクBC
iの同じラインにおいてマップにされないようにすることのできる法則fiを選
択することが望ましい。
以下、それぞれ2cバイト(オクテット)の2nのラインを有する4つのメモリ
バンクからなるキャッシュメモリに適用される法則fiの例を説明する。メイン
メモリが2qバイトであり、q≧2×n+cであるとする。
4つのチェーンまたはビットからなるメインアドレスAP)すなわちAP=(
A3,A2,A1,A0)のバイナリ(2進数)表現がラインにおける移動を表
すものと考える。ここで、A0はcビットのチェーン、A1およびA2はnビッ
トのチェーン、A4は最上位のq−(2×n+c)ビットのチェーンである。
なお、Y=Σyi2i-1(i=1,・・・,n)のバイナリ表現が(yn,yn-1
,・・・y1)であるとして、付属欄の式Iによって定義される関
数H、および付属欄の式II乃至Vによって定義される4つの法則fiを考えてみ
る。
当業者であれば、f1乃至f4が公平であることを理解することができるであ
ろう。
ところで、n=3,4,6,7,9,10,12,13,15および16の値
に対するfjに対して、{1,2,3,4}のすべての対(i,j)に対する法
則fiは公平である。
最後に、1つのメモリバンクにおけるデータの局部的分散がほぼ最適である。
すなわち、連続するアドレスを有するK×2n個のデータライン全体において当
該キャッシュメモリのラインが何であれ、そのラインにおいてマップにされるこ
とのできる多くともK+1個のラインがある。
上述に記載の法則のマッピングは単純であることに注目すべきである。
事実、fi(AP)の各ビットは、メインアドレスAPのバイナリ分解の多く
とも4ビットの排他的論理和によって得られる。
さらに、法則fiをマッピングするために必要な材料は、法則にかかわら
とである。ここで、x,y,zはnビットのチェーンである。
本発明による上記法則をマッピングするためのメカニズムは、図6に示されて
いる。
x,y,zがそれぞれx6〜x1、y6〜y1、z6〜z1に個別化され
めに、P1〜P6に個別化された6つのXOR(排他的論理和)ゲートが使用さ
れる。
各ゲートPは、チェーンx,yまたはZのビットの1つをそれぞれ受ける3ま
たは4つの入力および1つのビットtを出力する1つの出力である。
図6に示すように、たとえばゲートP1の入力およびゲートP2の入力はビッ
トx6である。
図6に示すXORゲートの入力のマッピングは、本発明における1つの実
施例である。
もちろん、本発明による他のマッピングにより、上述の法則の適切さを確かめ
ることができる。
キャッシュメモリの同じサイズにおいて、本発明にしたがって構成された2つ
のメモリバンクを有するキャッシュメモリの機能が、2つのメモリバンクを有す
る全体連想型のキャッシュメモリの機能よりも顕著に優れた成功率を、そして4
つのメモリバンクを有する全体連想型キャッシュメモリの機能とほぼ同等の成功
率を呈することを本出願人は確認している。本発明にしたがって構成された4つ
のメモリバンクを有するキャッシュメモリの機能が、4つのメモリバンクを有す
る全体連想型キャッシュメモリの機能よりも顕著に優れた成功率を、そして8つ
のメモリバンクを有する全体連想型キャッシュメモリの機能とほぼ同等の成功率
を呈する。
付属欄
式I
{yn,yn-1,...,y1}
式II
式III
式IV
式V
【手続補正書】特許法第184条の8
【提出日】1994年1月27日
【補正内容】
明細書
キャッシュメモリ装置
本発明は、キャッシュメモリの技術範囲に関する。
キャッシュメモリは、情報システムにおいて一般的に適用されている。
技術的進歩、特にクロック速度およびプロセッサーの集積化の分野における技
術的進歩は、プロセッサーのサイクル時間を徐々に低減すること、およびサイク
ル毎の複数の命令のシーケンス化および実行を可能にすることを目指している。
したがって、情報システムのメインメモリにおける情報のスループット要求は
、次第に大きくなっている。
しかしながら、技術的進歩により、プロセッサーのサイクル時間と同じ速度で
メインメモリの情報に対するアクセス時間を低減することはできなかった。
実際に、現在において、メインメモリのアクセス時間は、しばしばプロセッサ
ーサイクル時間の数十倍、いや数百倍程度である。
メインメモリにおける情報へのアクセス待機時間をなくするための公知の解決
策は、キャッシュメモリを利用することである(コンピューティングサーヴェイ
ズ(Computing Surveys)、第14巻、第3号、1982年9月、ページ473
〜530、「キャッシュメモリ(Cache Memories)」)。
一般的に、キャッシュメモリは高速アクセス(高速読み出し)メモリであり、
全体的に小さなサイズである。キャッシュメモリの中には、メインメモリの中に
記憶された情報全体の一部が記憶される。
実際には、メインメモリのメインアドレスや場合によってはデータを含むリク
エストをプロセッサーが実行する場合、所望のデータがキャッシュメモリに存在
し且つ有効なときにはリクエストが含むメインアドレスとキャッシュメモリのデ
ータラインとを関連付けて、またそうでないときにはその不存
在を指摘して、キャッシュメモリはリクエストに応答する。後者の場合、プロセ
ッサーは、所望のデ一夕にアクセスするためにメインメモリをアドレス指定する
。次いで、所望のデータを含むメインメモリのデータラインは、キャッシュメモ
リにロードされる。
キャッシュメモリについて幾つかの構成が知られている。特に、「ダイレクト
マップ」と呼ばれている直接マップにする構成や、完全連想型のマルチメモリバ
ンク構成や、全体連想型のマルチメモリバンク構成が知られている(ヨーロッパ
特許第A−0 334 479号)。なお、これらの構成については、詳細に後
述する。
キャッシュメモリの方がメインメモリよりも高速であるため、キャッシュメモ
リの利用によりメインメモリのデータアクセス時間が加速されるのは明らかであ
る。
しかしながら、キャッシュメモリを使用する情報システムの有効性能は、キャ
ッシュメモリにおけるデータアクセスの際の平均成功率(ヒット率)に依存する
。
ところで、この平均成功率は、上述のキャッシュメモリによる構成において完
全に満足すべきものではない。
本発明は、キャッシュメモリにおけるデータアクセスの際の平均成功率を改善
することを目的としている。
本発明は、マルチメモリバンク構成を利用したキャッシュメモリ装置に関する
。
すでに知られているように、本発明のキャッシュメモリ装置は、
アドレス指定可能なメインメモリまたはアドレス指定可能なキャッシュメモリ
に記憶されたデータへのアクセスリクエストであって所望のデータのメインアド
レスおよび場合によってはデータを含むリクエストを受けるための少なくとも1
つのリクエスト入出力と、
上記メインメモリの所望のデータにアクセスするために、アドレス指定可能な
メインメモリに接続された少なくとも1つのメインメモリ入出力と、
データを含むようになったLi個のラインをそれぞれ有する複数個のメモリバ
ンクと、
上記リクエストが含むメインアドレスを各メモリバンクにおける内部ローカル
アドレスに関連付けてリクエストに応答するように上記リクエスト入出力に接続
された演算手段と、
上記所望のデータがキャッシュメモリ内に存在しない場合に、上記所望のデー
タを含むメインメモリのデータラインを上記キャッシュメモリにロードするため
に上記メインメモリ入出力に接続されたローディング手段とを備え、
各メモリバンクにおいて上記ラインはローカルアドレスによって個別に指定可
能であり、メモリバンクにおいてこのように指定されたラインは、メインアドレ
スによって参照されたデータを含むことのできるメモリバンクの1つの特定ライ
ンである、キャッシュメモリ装置において、
本発明の一般的な定義によれば、上記演算手段は、上記メモリバンクに関連し
た所定の法則にしたがってメインアドレスとメモリバンクにおけるローカルアド
レスとの関係を設定し、上記所定の法則のうち少なくとも2つは当該メモリバン
クにしたがって別個であり、当該2つのメモリバンクは対応する法則にしたがっ
て個別にアドレス指定される。
本発明の他の特徴および利点は、以下の詳細な説明および添付図面を参照いて
明らかになるであろう。
図1は、公知の情報システムの概略図であり、
図2は、「完全連想型」と呼ばれる公知の構成にしたがって組み立てられたキ
ャッシュメモリの概略図であり、
請求の範囲
1.アドレス指定可能なメインメモリ(MP)またはアドレス指定可能なキャッ
シュメモリに記憶されたデータへのアクセスリクエスト(REQ)であって所望
のデータのメインアドレス(AP)および場合によってはデータ(D)を含むリ
クエスト(REQ)を受けるための少なくとも1つのリクエスト入出力(ESR
Q)と、
上記メインメモリの所望のデータにアクセスするために、アドレス指定可能な
メインメモリ(MP)に接続された少なくとも1つのメインメモリ入出力(ES
MP)と、
データを含むようになったLi個のラインをそれぞれ有する複数X個のメモリ
バンク(BCi)(iはX以下で0より大きい)と、
上記リクエスト(REQ)が含むメインアドレス(AP)を各メモリバンク(
BCi)における内部ローカルアドレス(AL)に関連付けてリクエスト(RE
Q)に応答するように上記リクエスト入出力(ESRQ)に接続された演算手段
(CAL)と、
上記所望のデータがキャッシュメモリ内に存在しない場合に、上記所望のデー
タを含むメインメモリのデータラインを上記キャッシュメモリにロードするため
に上記メインメモリ入出力(ESMP)に接続されたローディング手段(CHA
)とを備え、
各メモリバンクにおいて上記ラインはローカルアドレス(ALi)によって個
別に指定可能であり、メモリバンク(BCi)においてこのように指定されたラ
インは、メインアドレスによって参照されたデータを含むことのできるメモリバ
ンクの1つの特定ラインである、キャッシュメモリ装置において、
上記演算手段は、上記メモリバンク(BCi)に関連した所定の法則(fi)
にしたがってメインアドレス(AP)とメモリバンク(BCi)におけるローカ
ルアドレス(ALi)との関係を設定し、
上記所定の法則(fi)のうち少なくとも2つは当該メモリバンクにしたがっ
て別個であり、
当該2つのメモリバンクは対応する法則にしたがって個別にアドレス指定され
ることを特徴とする装置。
2.当該メモリバンクにしたがう所定の法則は、互いに別個であることを特徴と
する請求項1に記載の装置。
3.上記所定の法則は公平な法則であることを特徴とする請求項1または2に記
載の装置。
4.上記所定の法則は分散的法則であることを特徴とする請求項1乃至3のいず
れか1項に記載の装置。
5.上記所定の法則は空間的局地性を呈しない法則であることを特徴とする請求
項1乃至4のいずれか1項に記載の装置。
─────────────────────────────────────────────────────
【要約の続き】
る、キャッシュメモリ装置。上記所定の法則(fi)の
うち少なくとも2つは当該メモリバンクにしたがって実
質的に別個であり、当該2つのメモリバンクは個別にア
ドレス指定されることによって、上記キャッシュメモリ
におけるデータアクセスの際の平均成功率が改善され
る。
Claims (1)
- 【特許請求の範囲】 1.メインアドレス(AP)および場合によってはデータ(D)を含むリクエス ト(REQ)を受けるための少なくとも1つの入出力(ESRQ)と、 アドレス指定可能なメインメモリ(MP)またはアドレス指定可能な他のキャ ッシュメモリに対する少なくとも1つの入出力(ESMP)と、 データを含むようになったLi個のラインをそれぞれ有する複数X個のメモリ バンク(BCi)(iはXより小さく0より大きい)と、 上記リクエスト(REQ)が含むメインアドレス(AP)と各メモリバンク( BCi)におけるローカルアドレス(AL)とを各メモリバンク(BCi)に対 する所定の法則(fi)によって関連付けてリクエスト(REQ)に応答するよ うになった手段(CAL)と、 受けたリクエストに応じてキャッシュメモリにロードするための手段(CHA )とを備え、 各メモリバンクにおいて上記ラインはローカルアドレス(AL)によって個別 に指定可能であり、メモリバンク(BCi)においてこのように指定されたライ ンは、メインアドレスによって参照されたデータを含むことのできるメモリバン クの1つの特定ラインである、キャッシュメモリ装置において、 上記所定の法則(fi)のうち少なくとも2つは当該メモリバンクにしたがっ て実質的に別個であり、当該2つのメモリバンクは個別にアドレス指定されるこ とによって、上記キャッシュメモリにおけるデータアクセスの際の平均成功率が 改善されることを特徴とする装置。 2.当該メモリバンクにしたがう所定の法則は、少なくとも部分的に、互いに別 個であることを特徴とする請求項1に記載の装置。 3.上記メモリバンクは超高速アクセスであることを特徴とする請求項1または 2に記載の装置。 4.上記メモリバンクはスタティックRAM技術によって製造されているこ とを特徴とする請求項3に記載の装置。 5.上記所定の法則は公平な法則であることを特徴とする請求項1乃至4のいず れか1項に記載の装置。 6.上記所定の法則は分散的法則であることを特徴とする請求項1乃至5のいず れか1項に記載の装置。 7.上記所定の法則は空間的局地性を呈しない法則であることを特徴とする請求 項1乃至6のいずれか1項に記載の装置。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR92/03054 | 1992-03-13 | ||
FR9203054A FR2688612A1 (fr) | 1992-03-13 | 1992-03-13 | Dispositif d'antememoire. |
PCT/FR1993/000212 WO1993018458A1 (fr) | 1992-03-13 | 1993-03-02 | Dispositif d'antememoire |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH08504042A true JPH08504042A (ja) | 1996-04-30 |
Family
ID=9427676
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP5515384A Pending JPH08504042A (ja) | 1992-03-13 | 1993-03-02 | キャッシュメモリ装置 |
Country Status (6)
Country | Link |
---|---|
US (1) | US6272592B1 (ja) |
EP (1) | EP0630498B1 (ja) |
JP (1) | JPH08504042A (ja) |
DE (1) | DE69303815T2 (ja) |
FR (1) | FR2688612A1 (ja) |
WO (1) | WO1993018458A1 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10372358B2 (en) * | 2015-11-16 | 2019-08-06 | International Business Machines Corporation | Access processor |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4315312A (en) * | 1979-12-19 | 1982-02-09 | Ncr Corporation | Cache memory having a variable data block size |
US4441155A (en) * | 1981-11-23 | 1984-04-03 | International Business Machines Corporation | Page controlled cache directory addressing |
US4430712A (en) * | 1981-11-27 | 1984-02-07 | Storage Technology Corporation | Adaptive domain partitioning of cache memory space |
US4894770A (en) * | 1987-06-01 | 1990-01-16 | Massachusetts Institute Of Technology | Set associative memory |
US5133061A (en) * | 1987-10-29 | 1992-07-21 | International Business Machines Corporation | Mechanism for improving the randomization of cache accesses utilizing abit-matrix multiplication permutation of cache addresses |
CA1301367C (en) * | 1988-03-24 | 1992-05-19 | David James Ayers | Pseudo set-associative memory cacheing arrangement |
US5287482A (en) * | 1989-01-13 | 1994-02-15 | International Business Machines Corporation | Input/output cache |
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 |
TW219986B (ja) * | 1991-06-17 | 1994-02-01 | Digital Equipment Corp | |
US5353424A (en) * | 1991-11-19 | 1994-10-04 | Digital Equipment Corporation | Fast tag compare and bank select in set associative cache |
US5367653A (en) * | 1991-12-26 | 1994-11-22 | International Business Machines Corporation | Reconfigurable multi-way associative cache memory |
-
1992
- 1992-03-13 FR FR9203054A patent/FR2688612A1/fr active Granted
-
1993
- 1993-03-02 US US08/302,695 patent/US6272592B1/en not_active Expired - Fee Related
- 1993-03-02 WO PCT/FR1993/000212 patent/WO1993018458A1/fr active IP Right Grant
- 1993-03-02 JP JP5515384A patent/JPH08504042A/ja active Pending
- 1993-03-02 EP EP93905448A patent/EP0630498B1/fr not_active Expired - Lifetime
- 1993-03-02 DE DE69303815T patent/DE69303815T2/de not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
WO1993018458A1 (fr) | 1993-09-16 |
DE69303815D1 (de) | 1996-08-29 |
EP0630498A1 (fr) | 1994-12-28 |
EP0630498B1 (fr) | 1996-07-24 |
FR2688612A1 (fr) | 1993-09-17 |
DE69303815T2 (de) | 1997-03-13 |
FR2688612B1 (ja) | 1997-02-14 |
US6272592B1 (en) | 2001-08-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US3699533A (en) | Memory system including buffer memories | |
US4881168A (en) | Vector processor with vector data compression/expansion capability | |
EP0739513B1 (en) | Method of transmitting of data | |
US5133058A (en) | Page-tagging translation look-aside buffer for a computer memory system | |
US6665774B2 (en) | Vector and scalar data cache for a vector multiprocessor | |
US5239642A (en) | Data processor with shared control and drive circuitry for both breakpoint and content addressable storage devices | |
US5450564A (en) | Method and apparatus for cache memory access with separate fetch and store queues | |
US5896501A (en) | Multiprocessor system and parallel processing method for processing data transferred between processors | |
US4079453A (en) | Method and apparatus to test address formulation in an advanced computer system | |
US4615006A (en) | Physical address developing unit | |
US6971041B2 (en) | Cache entry error-correcting code (ECC) based at least on cache entry data and memory address | |
US5758120A (en) | Method and system for increased system memory concurrency in a multi-processor computer system utilizing concurrent access of reference and change bits | |
US5297255A (en) | Parallel computer comprised of processor elements having a local memory and an enhanced data transfer mechanism | |
US6175852B1 (en) | High-speed binary adder | |
JP2561261B2 (ja) | バッファ記憶アクセス方法 | |
US6412056B1 (en) | Extended translation lookaside buffer with fine-grain state bits | |
JPH0695972A (ja) | ディジタルコンピュータシステム | |
US5765207A (en) | Recursive hardware state machine | |
JPH08504042A (ja) | キャッシュメモリ装置 | |
JP2595277B2 (ja) | メモリ管理装置 | |
US5761740A (en) | Method of and apparatus for rapidly loading addressing registers | |
US7089372B2 (en) | Local region table for storage of information regarding memory access by other nodes | |
US6996675B2 (en) | Retrieval of all tag entries of cache locations for memory address and determining ECC based on same | |
EP0326164B1 (en) | Parallel computer comprised of processor elements having a local memory and an enhanced data transfer mechanism | |
JP2002366385A (ja) | バス上での複数の所望値の中の一つの発生を検出するための検出回路および現在値が複数の所望値の中の一つに一致するかどうかを確認する方法 |