【発明の詳細な説明】
データ記憶用キャッシュ記憶装置
本発明は、仮想的又は物理的に索引付けされ、物理的にタグ付けされたキャッ
シュメモリを備えたキャッシュメモリに関する。
近年のプロセッサは、高速なプロセッサと低速なメインメモリとのギャップを
埋めるためにキャッシュメモリを必要としている。
直接配置されたキャッシュ(図6,7参照)は、物理アドレス又は仮想アドレ
スaからキャッシュ索引を計算し、キャッシュの行を選択するためにマップ関数
を使用する。そしてaは、このキャッシュの行と結合している記憶領域のアドレ
ス(キャッシュエントリのタグ)と比較される。これらが一致している場合がヒ
ットであり(そしてキャッシュの行がメインメモリの代わりに使用され)、そう
でない場合がミスである。
ほとんどの場合、(a修正キャッシュサイズ)/行サイズがマップ関数として
使用される。この場合、完全な仮想アドレスがキャッシュに記憶される必要はな
く、a/キャッシュサイズは十分である。
直接配置されたキャッシュは、n方向結合キャッシュより単純であるがミスを
招来する確率が高い。これらのキャッシュは、原則として、さらに小さいn個の
直接配置されたキャッシュブロックからなる。また多くとも1つのブロックに各
メインメモリ素子が配置されるようになしてある。マップ関数はその都度キャッ
シュのn行を索引付けするので、キャッシュはマップ相当アドレスを有する素子
を最大でn個含むことができる。このようにn個を結合して組み合わせることは
、衝突の可能性を低減し、これに応じてヒット率を上昇させる。
物理索引キャッシュ及び仮想索引キャッシュは公知である。物理
索引キャッシュ(図6)においては、先ずプロセッサによって与えられた仮想ア
ドレスが変換索引緩衝器(TLB)によって物理アドレスに変換される。そして
キャッシュはこの物理アドレスを使用してアドレスされる。
仮想索引キャッシュ(図7)の場合は、仮想アドレスを使用してキャッシュが
直接アドレスされる。キャッシュミスの場合にのみ対応する物理アドレスへ変換
される。仮想索引キャッシュは、TLBによる変換ステップが省略されるために
より高速であるという利点がある。ただし類語(別名)及び/又はマルチプロセ
ッサシステムの場合には不利である。
物理索引キャッシュではこのような欠点はないが、キャッシュアクセスに先立
ちTLBによる完全なアドレス変換ステップ(仮想→物理)を要する。
近年では、仮想索引−実(物理)タグ型キャッシュが好まれている。このタイ
プは仮想索引−仮想タグキャッシュと同様高速であるだけでなく、後者の最大の
欠点、特にマルチプロセッサシステム,類語,共有,コヒーレンスの問題を回避
する。
仮想索引−物理タグキャッシュは、TLB及びキャッシュのアクセスの平列実
行を可能とする(図8参照)。従ってプロセッサの命令パイプラインがより短く
なるので、通常、命令の遅延が1サイクル分短縮され、これに伴ってプロセッサ
の性能が向上する。
キャッシュ索引のために要求される全てのアドレスビット(i)がアドレスオ
フセットの範囲内にある(1ページ内にアドレスする)場合、その簡単な機構は
維持される。このアドレス部分は仮想アドレスを物理アドレスへ変換することに
より修正されないので、TLBの変換ステップの前でもキャッシュはアドレス(
索引付け)されることができる。キャッシュアクセス及び同時的なTLBの変換
ステ
ップの最後においてのみ、キャッシュエントリに関連した物理アドレス(タグ)
がTLBによって与えられた物理アドレスと一致するかがチェックされる。(i
)で索引付けされたキャッシュエントリは索引ビット(i)を有するアドレスに
のみ関連しているので、このチェックのためには索引部(i)に隣接するアドレ
スの上位ビットのみが比較される必要がある。従って上位ビットのみがタグ(物
理アドレス)としてキャッシュに記憶されなければならない。
このタイプのn方向結合型キャッシュのサイズは最大でn×2Pまで可能であ
る。ここで2Pはページサイズである。キャッシュが大きいほど、ページ又は結
合の増大を必要とする。
しかしながら重要な技術はページカラーリングである。これは、仮想ページア
ドレス及び物理ページアドレスの下位アドレスビット同士が一致するように物理
メモリのページを作成する方法である(図9参照)。この場合、仮想ページ番号
(vpn)とキャッシュ索引(i)とが重複する。図9ではこの重複部分を黒四
角で示している。仮想アドレスの対応部分を仮想カラーcと称し、物理アドレス
の対応部分を物理カラーc′と称する。カラー保持配置、即ち仮想カラーと物理
カラーとが一致している場合、上述したサイズ限界n×2Pは無くなる。
また図10に示す如く、仮想カラーと物理カラーとが比較された場合、タグ(
物理アドレス)を記憶するときにカラービットを省略することができ、物理ペー
ジ番号(r′)の上位ビットのみをそのタグと比較する必要がある。
完全に良好でないカラー付けにて配置が行われている場合、キャッシュを動作
させる必要があることはいうまでもない。従って最初のキャッシュアクセスがミ
スとなり、TLBによって与えられた物理カラーc′が仮想カラーcと異なる場
合、カラー補正キャッシュ
アクセスが必要となる(図11参照)。従って正しくカラー付けされていないペ
ージが使用されてそのページのデータがアクセスされるが、常にキャッシュアク
セスの追加ステップが必要である(図12参照)。
例えば異なるカラーの2つの仮想ページを同じ物理ページに配置する場合、カ
ラー付け不良配置は避けられないことを述べておく必要がある。これは、カラー
補正の繰り返しを必然的に伴い、タイムロス及びキャッシュアクセスの遅延とな
る。
本発明の目的は、仮想的及び/又は物理的に索引付けされ、物理的にタグ付け
されるキャッシュであって、カラー付け不良でページが配置された場合でもキャ
ッシュアクセスの高速化、及び/又は衝突の危険が低減されるキャッシュを作成
することにある。
この目的を達成するために請求項1の特徴を有するメモリ装置を提供し、その
有利な具体例の特徴を各従属請求項にて述べる。
本発明のメモリ装置では、第2グループ情報(“第2カラー”)は、仮想アド
レスから変換された各物理アドレスに関連しており、第1グループ情報(上述し
た“物理カラー”参照)とは区別される。両情報素子は、ページテーブル、特に
MMU(記憶管理部)から得られ、いずれかが使用される場合、変換索引緩衝器
(TLB)に書き込まれる。アドレスされた一又は複数のキャッシュエントリの
タグが仮想アドレスから変換された物理アドレスに一致せず、仮想アドレスのグ
ループ情報(“仮想カラー”)が変換された物理アドレスに関連した第2グルー
プ情報(第2カラー)に一致しない場合、キャッシュ索引部及び第2グループ情
報を使用して再度キャッシュメモリを索引付けすることにより、そしてそのアド
レスされた一又は複数のキャッシュエントリの一又は複数のタグを仮想アドレス
から変換された物理アドレスと比較することにより、カラー補正が実
行される。
本発明のメモリ装置では仮想アドレスを使用したキャッシュアクセスは以下の
ようにして試みられる。即ち、
a)先ず、いずれも仮想アドレスの一部であるか、又は仮想アドレス又はその
一部から与えられたものであるキャッシュ索引とグループ情報とを使用してキャ
ッシュメモリを索引付けすることにより、多くのキャッシュエントリがキャッシ
ュメモリの結合に対応してアドレスされる。
続いて、仮想アドレス、即ちより具体的には仮想ページ番号を表すそのページ
番号アドレス部が、物理アドレス、即ちより具体的には物理ページ番号を表すペ
ージ番号物理アドレス部に変換される。このページ番号物理アドレス部は第1グ
ループ情報をその一部として含む。変換に際しては関連する第2グループ情報も
提供される。
b)仮想アドレスの変換の結果得られる物理アドレスはアドレスされた各キャ
ッシュエントリのタグと比較される。
仮想アドレスの物理アドレスへの変換は、通常、索引付けのために使用された
仮想アドレスの一部をアドレスされたTLBエントリのタグと比較するために、
−ハッシュ関数により修正することも考えられる−仮想アドレスの一部によって
索引付けされた変換索引緩衝器(TLB)を用いて実施される。これらが一致す
る場合、物理アドレス及び第1,第2グループ情報がTLBエントリから読み出
される。これらが異なる場合、TLBミスであり、例えばページテーブルを使用
するMMUによって仮想アドレスが物理アドレスへ変換される(図1)。
c)変換された物理アドレスと、アドレスされたキャッシュエントリのタグ又
はアドレスされた複数のキャッシュエントリのタグのうちの1つとが一致する場
合、キャッシュヒットであり、各キャッ
シュエントリのデータ領域からの読み出し又はそのデータ領域への書き込みが、
ここでは詳述しないが公知の状態情報及びアクセス制御変数に基づいて行われる
。
d)そうでない場合は、仮想アドレスのキャッシュ索引及び第2グループ情報
を用いて再度キャッシュメモリが索引付けされる。仮想グループ情報が、物理ア
ドレスに関連した第2グループ情報に一致しない場合にのみキャッシュメモリの
新たな索引付けを実施することは適当である。このようにしてアドレスされた一
又は複数のキャッシュエントリに関してはステップb),c)が繰り返される(
図4)。
e)新たな索引付け処理の後、依然として物理アドレスと、アドレスされたキ
ャッシュエントリのタグ又はアドレスされた複数のキャッシュエントリのタグの
うちの1つとが一致しない場合、キャッシュミスが示され、アクセスは打ち切ら
れる。
本発明は、大容量キャッシュメモリを備えたメインメモリのさらなる利用を、
キャッシュアクセス時間を増大させることなく実現する。これは良好なカラー付
け処理のみならず、カラー付け不良の配置である他の処理もまた(第2グループ
情報を用いて)効率良く実施されるからである。本発明のメモリ装置における第
2グループ情報は、無作為の情報であるが、キャッシュメモリの索引付けに先立
って限定される。特にこの情報は、ページテーブルからの第2グループ情報を受
け取る又は与えるTLB及び/又はMMUによって提供される。
キャッシュ索引部にてアドレスされた一又は複数のキャッシュエントリのタグ
とグループ情報とが一致しない場合、上述したアクセスの変形に基づいて(請求
項4参照)、第2グループ情報と仮想アドレスのキャッシュ索引部とを使用して
キャッシュメモリを索引付
けすることによるアクセスが、第2グループ情報が前記グループ情報と異なると
きのみ試みられる。その他の場合はキャッシュアクセスは打ち切られ、キャッシ
ュミスが信号で示される。第2グループ情報と前記グループ情報との比較が要求
された場合は、1つのグループ情報比較が提供される。
本発明の他の具体例では、キャッシュミスとなったアクセスの後、キャッシュ
メモリは、第1グループ情報(及びキャッシュ索引部)を用いて新たに索引付け
される。この索引付けは、仮想アドレスのグループ情報を用いた最初の索引付け
の後に直接実行されても、第2情報を用いた索引付けの後に実行されてもいずれ
でもよい。
好ましくは、(キャッシュヒットとならなかった)グループ情報を用いた最初
の索引付けの後、及び第1又は第2グループ情報を用いた新たな索引付けに先立
って、第2グループ情報が前記グループ情報と異なるか否か、又は前記グループ
情報と一致しているか否かがチェックされる。第2グループ情報が前記グループ
情報と異なる場合、最初の新たな索引付け(第2索引付け)が第2グループ情報
を用いて実施される。この第2索引付けが再度キャッシュヒットとならなかった
場合は、その後第1グループ情報を用いて第3索引付けが試みられる(正常な場
合)。しかしながら第2グループ情報と前記グループ情報とは一致しているが、
第1グループ情報が第2グループ情報と異なる場合は、実際に以前、最初の索引
付けで試みられ、不成功であった(グループ情報と第2グループ情報とが一致し
ている)第2グループ情報を使用した索引付け処理が省略され、キャッシュメモ
リの新たな索引付け処理(上述した例では第3索引付けと称される)が、第1グ
ループ情報を使用して実行される(特異な場合)。上述した2つの事例では、第
1グループ情報を使用した第3索引付けは、第1グループ情報が前記グループ情
報及び第2グ
ループ情報の両方と異なる場合にのみ実施されることが好ましい。
一方、キャッシュヒットとならなかった場合に第2グループ情報を用いて第3
索引付けを試みるために、第2索引付けは第1グループ情報を使用して常に試み
られる。最初の新たな索引付けを行う場合、特にランダムチェックジェネレータ
による制御下においては、2つの手順のうち1つを選択することも可能である。
即ち、第2グループ情報を使用した第2索引付け及び第1グループ情報を使用し
た第3索引付けか、又は第1グループ情報を使用した第2索引付け及び第2グル
ープ情報を使用した第3索引付けかのいずれかである。ランダムチェックジェネ
レータの代わりに、又はこれに加えて、上述した2つの手順を以前のヒット(キ
ャッシュヒット)又はミス(キャッシュミス)を考慮して選択してもよい。
キャッシュメモリの領域のさらなる利用を目的として、本発明の他の具体例で
は、キャッシュメモリが(物理又は仮想)アドレスのキャッシュ索引部及び追加
索引の組み合わせによって索引付けされる。ここで追加索引はそのアドレスの一
部ではないがそのアドレスに関連している。相応じて追加索引を選択することで
キャッシュメモリの索引付けを意図的に左右することができ、またメモリ領域の
利用の向上のための機会を提供する。追加索引は、例えば、物理アドレス又はキ
ャッシュメモリのアクセスのために必要なアドレスの部分をも提供するMMU及
び/又はTLBによって与えられる。
従属請求項12〜15は、本発明に係る上述した種類の第1,第2レベルのキ
ャッシュメモリ装置を有するキャッシュメモリアレイの変形に関する。
本発明の具体例を以下に詳述する。各図において、
図1は、キャッシュメモリにおいて使用されるTLBの構造を示す模式図であ
り、
図2は、キャッシュメモリの索引付けの準備ステップを示し、
図3は、キャッシュメモリにおける第1アクセスステップを示し、
図4は、キャッシュメモリにおけるカラー補正ステップを示し、
図5は、複数の第2カラーキャッシュメモリを結合するための第2カラーバス
を備えた第2カラーキャッシュのブロック図を示し、
図6は、物理索引キャッシュメモリの構造を示し、
図7は、仮想索引−仮想タグキャッシュメモリの構造を示し、
図8は、仮想索引−物理タグキャッシュメモリの構造を示し、
図9は、良好なカラー付け配置に基づいたキャッシュメモリの構造を示し、
図10は、図9のキャッシュメモリの良好なカラー付けをチェックするステッ
プを示し、
図11は、図9のキャッシュメモリにおけるカラー補正ステップを示し、
図12は、図9のキャッシュメモリにおけるアクセスステップを示し、
図13は、アドレスに関連した追加索引を備えた物理索引キャッシュを示す。
仮想アドレスを物理アドレスへ変換するために使用される第2カラーTLBは
、従来のTLBとは異なり、エントリ毎の仮想ページ番号,物理ページ番号、並
びに恐らく状況制御情報(ここでは記載しない)及びアクセス制御情報(アクセ
ス属性)を含むだけでなく、仮想ページ毎に1つの第2カラーを有する(図1も
参照)。ヒットとなった場合、TLBは物理アドレス(r′,c′)及び対応す
る第2カラー(c″)を与える。
TLBが直接配置されているか、n方向結合型であるか、飽和結合型であるか
、は無関係である。n方向結合型TLBの場合、n個
のエントリが同時に選択され、これに平行してその仮想アドレスがvpnと比較
される。飽和結合型TLBの場合、ハッシュ関数及び選択関数は使用されず、全
てのTLBエントリについてvpnに対するチェックが同時に行われる。
使用されるページテーブル構造に関係なく、TLBエントリはTLBミスの場
合のページテーブルデータ構造から再ロードされる。この場合、物理アドレス及
びアクセス属性のみならず、第2カラーもまたページテーブルから取り出される
(即ち少なくとも各有効な最下レベルページテーブルエントリもまた選択された
第2カラーを含む)。
第2カラーは、特に上述した不変状況が常に持続される方法においてオペレー
ティングシステムによって自由に選択することができる。2つのTLBエントリ
が同じ物理ページアドレスに関連する場合、それらの第2カラーが一致する(不
変状況)、という規定を適用する。
基本的なアイデアは、直接配置された、又はn方向結合型のキャッシュにおけ
る配置のために常に第2カラーを使用するものであり、第1(物理)カラーは使
用しない。そうすると第2カラーに一致している仮想アドレスを介したアクセス
は高速であり、他のアクセスは追加のカラー補正ステップを必要とする(c′=
c″であり、そのシステムが従来のキャッシュのように動作する場合)。
注釈(図2も参照):
v 仮想アドレス
vpn 仮想ページ番号
c 仮想カラー(仮想アドレスのグループ情報)
rpn 物理(実)ページ番号
c′ 物理カラー,第1カラー(第1グループ情報)とも称
する
c″ 第2カラー(第2グループ情報)
r′ rpnの上位部分(c′を除く)
各キャッシュエントリ(行)は、タグ用の領域ri,ciと、データ領域diと
、更にここでは記載しない状態領域とを含む。
れる索引iによって選択される。仮想カラー,第1カラー,第2カラー及び索引
カラーは同番号ビットを有する。
が仮想アドレスからロードされる(図2参照)。同時にTLBが入力としてのv
pnを用いてアドレス変換を開始する。
リが読み出される。TLBによって与えられた物理ページアドレス(r′,c′
)が、キャッシュエントリに記憶された物理アドレス(ri,ci)と比較され、
またTLBによって与えられた第2カラーc″が、索
致している場合((r′,c′)=(ri,ci))、キャッシュヒットであり、
即ちキャッシュのデータが送出され(読み出しアクセス)、また新データがキャ
ッシュに書き込まれる(書き込みアクセス)。そしてキャッシュアクセスは終了
する。キャッシュメモリがn方向結合型である場合、同時にTLBによって与え
られた物理アドレスが、選択されたn個のエントリに含まれた物理アドレスと平
行して比較される。この1回の比較で一致した場合、ヒットとなる。対応するエ
ントリが読み出され、又はアクセス属性及び状態情報に基づいて修正される。
ステップ3.ステップ2でキャッシュヒットが得られず((r′,c′)≠(ri
,ci)の全ての場合)、索引カラー
ードされ、ステップ2が再度実行される。
ステップ4.他の場合、キャッシュアクセスは打ち切られ、ミスが示される。
以上は、全てのキャッシュエントリの読み出し及び書き込みについてのみ記述
したものであることを明らかにしておく。下位アドレスビットに関してエントリ
の部分のみが通常の公知の手順で読み出されまた書き込まれることはいうまでも
ない。ここで述べた制御論理への影響はない。
第1又は第2カラーによるキャッシュエントリの自由な配置(1ページ内に均
一にミックスされている)は、ステップ2,3を修正することにより可能となる
。その手順を以下に述べる。
リが読み出される。TLBによって与えられた物理ページアドレス(r′,c′
)が、キャッシュエントリに記憶された物理アドレス(ri,ci)と比較され、
比較され、またTLBによって与えられた第2カラー
一致している場合((r′,c′)=(ri,ci))、キャッシュヒットであり
、即ちキャッシュのデータが送出され(読み出しアクセス)、また新データがキ
ャッシュに書き込まれる(書き込みアクセス)。そしてキャッシュアクセスは終
了する。
ステップ3.ステップ2でキャッシュヒットが得られず((r′,c′)≠(ri
,ci)の全ての場合)、このキャッシュアクセスの間に迂回ステップが行われ
ていない場合、
=c″)、第1カラーと第2カラーとが異なる場合(c′≠c″)、迂回ステッ
プが実行され
回ステップが記録され、他のステップ2が実行される;
(b)又は索引カラーが第2カラーと異なる場合
ステップ2が実行される。
変形1:第1カラーと第2カラーとで役割を交換する。
ステップ3.ステップ2でキャッシュヒットが得られず((r′,c′)≠(ri
,ci)の全ての場合)、このキャッシュアクセスの間に迂回ステップが行われ
ていない場合、
=c′)、第1カラーと第2カラーとが異なる場合(c′≠c″)、迂回ステッ
プが実行され
回ステップが記録される;又は
1カラーc′でロードされ、他のステップ2が実行される。
変形2:仮想カラーが第1カラー,第2カラーのいずれにも等しくない場合、c
′,c″の順序は、さいころを投げるようにして決定する。
ステップ3.ステップ2でキャッシュヒットが得られず((r′,c′)≠(ri
,ci)の全ての場合)、このキャッシュアクセスの間に迂回ステップが行われ
ていない場合、
=c′)、第1カラーと第2カラーとが異なる場合(c′≠c″)、迂回ステッ
プが試みられ
回ステップが記録され、他のステップ2が実行される;又は
=c′)、第1カラーと第2カラーとが異なる場合(c′≠c″)、迂回ステッ
プが試みられ
回ステップが記録され、他のステップ2が実行される;又は
(c)索引カラーが第1,第2カラーと異なる場合
りカラー補正が試みられ、他のステップ2が実行される。
項目3cの決定機構は、無作為に、又は以前のヒット及びミスを考慮して動作
する。さらなる変形としてTLBは、第2カラーに加え、決定機構によって分析
された策略ヒントも記憶している。
直接結合された複数のプロセッサ及びキャッシュを備えたマルチプロセッサに
関しては、ほとんど全てのキャッシュコヒーレンスプロトコールが、プロセッサ
だけでなくメモリバスも物理アドレスに加えて第2カラーを与えることを要求す
るようになしてある(図5)。遂行するために、外部アドレスバスは第2カラー
バスと接続されている。後者が矛盾なしに使用されている場合、従来の物理的に
アドレスされたキャッシュにおける各コヒーレンスプロトコール動作は外部作用
なしに遂行され得る。
各プロセッサのキャッシュは、物理アドレスだけでなく第2カラーもバスにの
せる。第2カラーは、読み出しアクセス時にはTLBによって与えられ、書き込
みアクセス時にはキャッシュ索引から抽出されるので、それは常に可能である。
従ってマルチプロセッサシステムに関しては、全てのプロセッサのページテー
ブルツリーが矛盾した第2カラー配置を含まない場合、即ち上述した不変状況が
システム全体に適用される場合、前記問題は解決される。
整合させるために、仮想アドレスを介してアクセスしないバスマスター、例え
ばDMA,スクリーンプロセッサも第2カラーバスを備える。
物理カラーを第2カラーとして取り扱うこと、整合問題の解決をオペレーショ
ンシステムに委ねることは最も簡単な解決策である。
後者ではその領域を適当に配置する必要があり(第2カラー=物理カラー)、又
はキャッシュを前もってフラッシュしておく必要がある。
そのような制限は第2カラー情報を備えた対応するコントローラを備えること
により避けることができる。DMAチップをプログラムするとき、アドレス及び
記憶領域毎の長さをプログラムするだけでなく第2カラーもプログラムする。
MMUがページテーブルにアクセスする場合、TLBは第2カラー情報を与え
ない。しかしながらそのようなアクセスは第2カラーとしての物理カラーを使用
して実行され得る。
この目的のために特別な第2カラーを使用すること、又は処理の分岐時に第2
カラー情報を次ステップのためのテーブルアドレスと一緒にページテーブルエン
トリから読み出すことも可能である。このようにしてページテーブル情報用のキ
ャッシュエントリの配置を制御することも考えられる。
物理領域の第2カラーが、アクセスしている全てのプロセッサに対して一致し
ているという制限が排除された場合、1セットの第2カラーは単一のカラーの代
わりに各ページテーブルエントリに記憶することができる。各プロセッサは、第
2カラーのセットのどのエントリが各プロセッサに適用可能であるかを指示する
レジスタと接続されている。(従って第2カラーのセットはプロセッサの数より
はるかに少なくすることができる。)
第2カラーバスは第2カラーの全てのセットに対して接続されている。しかし
ながらライトバックキャッシュに関しては、第2カラーのセットはキャッシュに
記憶されている必要がある。ライトスルーキャッシュに関してはTLBが各セッ
トを記憶している場合に条件を満たす。
また非常に高価であり測り知ることは困難であるが、別の方法として、物理ア
ドレスから対応する第2カラーを引き出すRTB又は(TLBを備えた)第2の
MMUを使用する方法がある。
キャッシュメモリの他の実施例を図13を参照しながら説明する。ここでは物
理索引キャッシュメモリについて述べる。
アドレスだけでなく物理アドレスに加えてページテーブルエントリに含まれた
ビット情報を介してキャッシュ配置を制御するアイデアが物理索引キャッシュの
ためにも遂行されてもよい。これはヒットの場合に各キャッシュアクセスを高速
化することはないが、衝突の減少によって利用の拡大及びヒット率の向上が図れ
る。この変形は、特に第2レベルのキャッシュの周辺において重要である。
アドレスrに加え索引付けするために使用される追加索引c'''は、上述した
用語に従って第3カラーと称する。第3カラーは、上述した第2カラーよりも広
いビット領域とすることができる(広くなくてもよい)。第3カラーは第2カラ
ーと一致していてもよく、またその一部が同じであってもよい(全手法は専ら第
3カラーを用いて、即ち第2カラーを用いずに行われることはいうまでもない)
。
MMU又はTLBは物理アドレスr及び第3カラーc'''を提供する(図13
参照)。マップ関数において、第3カラーc'''はキャッシュ索引のために使用
される物理アドレスrのキャッシュ索引部と論理的に結合されている。簡単な論
理結合の例を以下に示す。
1.rの一部をc'''に置き換える。
2.rの一部をc'''でOR演算のみ行う。
3.rの一部とc'''とを加える。
【手続補正書】特許法第184条の8第1項
【提出日】1996年3月1日
【補正内容】
請求の範囲
1.キャッシュメモリの複数のキャッシュエントリのうちの1つを
想アドレス(v)の所定のビットによって索引付けされる一方向又は多方向結合
型キャッシュメモリを備え、各キャッシュエントリは少なくとも1つのタグ(ri
,ci)と、少なくとも1つのデータ領域(di)と、仮想ページ番号を表すペ
ージ番号アドレス部(vpn)とを有し、前記仮想ページ番号は、仮想アドレス
(v)のページ番号アドレス部(vpn)によって表された仮想ページが属する
、複数のグループのうちの1つを特定するためのグループ情報(c)を含み、前
記仮想アドレス(v)は、第1,第2グループ情報(c’,c'')が関連する多
ビットアドレスへ変換可能であり、
付けされたキャッシュエントリのタグ又はそのタグの所定ビットと、前記仮想ア
ドレス(v)のグループ情報又は第1若しくは第2グループ情報とを、仮想アド
レスから変換された物理アドレスの所定ビット(r’,c’)と比較するための
タグ比較器を少なくとも1つ備えるデータ記憶用キャッシュメモリ装置をアドレ
スする方法であって、
キャッシュアドレッシングは、
(v)のグループ情報(c)とを使用して索引付けされ、1つのキャッシュエン
トリがキャッシュメモリの方向毎にアドレスされるステップと、
b)接続されたタグ比較器において、このアドレスされた全てのキャッシュエ
ントリのタグ(ri,ci)又はその所定ビットが仮想アドレス(v)から変換さ
れた物理アドレスの所定ビット
(r’,c’)と比較されるステップと、
c)物理アドレスの所定ビット(r’,c’)に一致するタグ(ri,ci)が
存在する場合、キャッシュヒットであり、キャッシュアドレス動作を終了し、こ
のタグによって特定されたデータ領域(d)へのデータの書き込み及びここから
のデータの読み出しが可能となるステップと、
d)ステップb)において一致しない場合、仮想アドレス(v)
してキャッシュメモリが索引付けされ、ステップb),c)がアドレスされた一又
は複数のキャッシュエントリに対して実行されるステップと、
e)ステップb)において再度一致しない場合、キャッシュミスとなりキャッ
シュアドレス動作を終了するステップと
によって試みられる。
2.メモリ管理部(MMU)の変換索引緩衝器(TLB)部が仮想アドレスを物
理アドレスへ変換するために設けられており、これは、物理アドレス又は物理ア
ドレスの部分に加えて、関連する第1,第2グループ情報(c’,c'')をも提
供することを特徴とする請求項1記載の方法。
3.キャッシュミスである場合には、TLB部に記憶された物理アドレスのため
の第1,第2グループ情報(c’,c'')がページテーブルを使用して決定され
ることを特徴とする請求項2記載の方法。
4.第2グループ情報が前記グループ情報と異なる場合にのみ、ステップd)が
実行されることを特徴とする請求項1〜3のうちのい
ずれかに記載の方法。
5.初めて実行されたステップb)に続いて、又はステップd)に基づいて以下
のステップが実施されることを特徴とする請求項1〜4のうちのいずれかに記載
の方法。
e)ステップb)において一致しない場合、仮想アドレス(v)
物理アドレスの第1グループ情報(c’)とを使用してキャッシュメモリが索引
付けされ、ステップb),c)かアドレスされた一又は複数のキャッシュエントリ
に対して実行されるステップ、及び
f)ステップb)において再度一致しない場合、キャッシュミスとなりキャッ
シュアドレス動作を終了するステップ。
6.第1グループ情報が前記グループ情報及び第2情報の両方と異なる場合にの
みステップe)が実行されることを特徴とする請求項5記載の方法。
7.ステップc)の初回の実行の後に先ずステップe)を実行し、続いてステッ
プd)を実行することを特徴とする請求項5又は6記載の方法。
8.ステップc)の初回の実行の後に、先ずステップe)を実行してその次にス
テップd)を実行するか、又は先ずステップd)を実行してその次にステップe
)を実行するかを決定する決定装置を備えることを特徴とする請求項5又は6記
載の方法。
9.前記決定装置はランダムチェックジェネレータを備えることを特徴とする請
求項8記載の方法。
10.前記決定装置は、現行の仮想アドレスに対して以前のキャッシュヒットを
考慮し、それに基づいて決定することを特徴とする請求項8記載の方法。
11.バス及び少なくとも1つのキャッシュメモリを備えたマルチプロセッサで
は、該バスが、データ及び物理アドレスに加えて、第1グループ情報及び/又は
第2グループ情報をも伝達することを特徴とする請求項1〜10のうちのいずれ
かに記載の方法。
─────────────────────────────────────────────────────
フロントページの続き
(31)優先権主張番号 19504483.5
(32)優先日 1995年2月10日
(33)優先権主張国 ドイツ(DE)
(81)指定国 EP(AT,BE,CH,DE,
DK,ES,FR,GB,GR,IE,IT,LU,M
C,NL,PT,SE),JP,US