JPH02202651A - キャッシュメモリ装置 - Google Patents

キャッシュメモリ装置

Info

Publication number
JPH02202651A
JPH02202651A JP1023417A JP2341789A JPH02202651A JP H02202651 A JPH02202651 A JP H02202651A JP 1023417 A JP1023417 A JP 1023417A JP 2341789 A JP2341789 A JP 2341789A JP H02202651 A JPH02202651 A JP H02202651A
Authority
JP
Japan
Prior art keywords
address
tlb
bits
virtual
array
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
JP1023417A
Other languages
English (en)
Inventor
Hitoshi Takagi
均 高木
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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP1023417A priority Critical patent/JPH02202651A/ja
Publication of JPH02202651A publication Critical patent/JPH02202651A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Abstract

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

Description

【発明の詳細な説明】 1血欠ヱ 本発明は情報処理装置に関し、特にキャッシュメモリ装
置に関する。
従来技術 今日、多くの情報処理装置は仮想記憶方式を採用してい
る。この方式は、実際に情報処理装置に(JIわってい
る主記憶のアドレス空間(実アドレス空間という)より
も大きなアドレス空間(仮想アドレス空間)を想定して
、この仮想アドレスと実アドレスの変換には、アドレス
変換表を用いるものである。仮想アドレスと実アドレス
との対応は[ページ」と呼ばれる単位で行われ、最も頻
繁にアクセスされるページを実アドレス空間に置き、他
のページはディスクなどの二次記憶に置かれる。
通常、変換表は主記憶に置かれている。毎回のメモリア
クセスの度に、この変換表をアクセスするのは性能を極
端に落とすことになる。何故なら、主記憶は通常情報処
理装置内の演算処理部のサイクルタイムに比べて2〜3
0倍遅いサイクルタイムを持つからである。このなめ、
演算処理部内に、アドレス変換バッファと呼ばれる小数
であるが、演算処理部のサイクルタイムと同じ程度のス
ピードのデープルを備えている。
同様に、主記憶中のテーブルについても、演算処理部内
に高速なバッファを備えている情報処理装置が多い、こ
れは、キャッシュメモリと呼ばれる。主記憶はブロック
と呼ばれる単位に分割され、そのブロック単位でキャッ
シュメモリにロードされる。
キャッシュメモリは通常主記憶の内容のコピーを保持す
るデータ部(データアレイDA>と、DAに保持されて
いるデータのアドレスをDAの各ブロックに対応して保
持するアドレス部(アドレスアレイAA)とからなる、
キャッシュメモリに対するアクセスは次のように行われ
る。まず、アクセスしたいアドレスとAAの各ブロック
に対する内容とを比較し、AA中に同じアドレスのエン
トリが存在したら、それに対応するDAのブロックを読
出ず、AAのエントリには多くの場合実アドレスが、希
に仮想アドレスが格納される。
一方、今回の情報処理システムの大規模化に伴い、情報
処理装置の仮想アドレスを実アドレスは大幅に拡大され
ている。このため、両アドレスを表現するピント数は3
0ビツト以上になっている。
キャッシュメモリのAAに納められるアドレスも少なく
とも、ブロックを表わす3〜4ビツトとアドレス範囲に
よるグループ化で取除けるピッl〜を除いても、二十数
ビット必要となる。さらに、大きなアドレス空間を効率
よく運用するために、キャッシュメモリの容認も増加の
一途をなどついている。
この様に、AAの容認は同じ傾向から発生した二つの要
求のため、各エントリの幅、各エントリの数とも増加す
る傾向がある。AAのエントリに含まれるビット数(幅
)が増加すると、AAを構成するR A M (Ran
don^ccess Memory)が増加し、これら
をドライブするために多大なゲート数、および電力を必
要とする。また、キャッシュメモリのアクセスの度に比
較するビット数が増えることにより、回路の遅延時間が
増し情報処理装置の処理能力を決定するクロヴクサイク
ルはこの部分で決定されてしまう。
11食旦光 本発明の目的は、AAのエントリに含まれるビット数(
幅)を少なくして、回路の遅延時間の縮小を図ったキャ
ッシュメモリ装置を提供することである。
九肌左璽蔦 本発明によれば、入力された主記憶へのアクセス仮想ア
ドレスを実アドレスへ変換ずべく複数のエントリを有す
るアドレス変換バッファと、前記主記憶の格納データの
コピーを所定大きさのブロック単位で管理すべくブロッ
ク単位で保持するデータアレイと、前記ブロックに夫々
対応した前記主記憶のアドレスを特定する情報を保持す
るアドレスアレイと、前記アドレス変換バッファと前記
アドレスアレイとを前記アクセス仮想アドレスによる索
引結果によりキャツシュヒツトの有無を判定するキャツ
シュヒツト判定手段とを含むキャッシュメモリ装置であ
って、前記アドレスアレイは、前記アドレス変換バッフ
ァのエントリを特定する索引アドレス情報を保持してお
り、前記キャツシュヒツト判定手段は前記アドレス変換
バッファの索引アドレス情報と前記アドレスアレイの索
引結果とを比較するよう構成したことを特徴とするキャ
ッシュメモリ装置が得られる。
実施例 次に、本発明について図面を参照して説明する。
第1図は本発明の一実施例のブロック図である。
なお、本実施例では、仮想アドレス(VA)、実アドレ
ス(PA)共に32ビツト、仮想記憶管理におけるペー
ジはIKバイト(I K = 1024)とする、アド
レス変換バッファ(’T’ L B )およびキャッシ
ュメモリは2レベル(コンパートメント、ウェイともい
う)のセットアソシアティブ構成とする。’I’LDの
アドレスは512とし、ページ番号(32ビツトの仮想
アドレスからページ内アドレス分10ビットを引いた2
2ビツト)の下位9ビツトでアドレッシングするとする
。この条件では、’T’ L Bのキ一部(要求された
仮想アドレスと比較する部分でTLBKと称す)の各エ
ントリは13ビツトの幅をもつ、TLBKと対応して、
実ページ番号を持つTLBのデータ部(TLBD)は2
2ビツトである。
キャッシュメモリはブロックサイズ16バイトで、ペー
ジ内アドレスの上位6ビツトでアドレスアレイAAをア
ドレッシングする。即ちカラム数は64である0通常で
あればアドレスアレイAAの各エントリにはTLBDと
同じ22ビツトが格納されるはずであるが、本発明では
、TLBをアドレッシングする9ビツトのみで良いこと
になる。
次にキャッシュメモリの読出し動作について説明する。
このキャッシュメモリにはアクセス要求仮想アドレスが
、信号線101を通じて仮想アドレスレジスタ(VAR
)2に納められる。VAR2によって、アドレス変換バ
ッファ(TLB)3とアドレスアレイ(AA>4が並列
にアクセスされる。先ず、1’ L B 3はVAR2
に納められた仮想アドレスのうち、仮想ページ番号の下
位9ビツトでアドレッシングされる。これは信号線10
3によって行われる。これにより指定されたTLB3の
キ一部(TLBK)とTLB3のデータ部(TLBD)
の各レベルのエントリに納められた内容が読出される。
T L B Kの読出しデータは夫々VAR2の仮想ペ
ージ番号の上位13ビツトと比較回路11および12に
よって比較され、一致したときのみそれらの出力信号線
115および116が論理値1となる。
なお、与えられた仮想アドレスに対して、2つのレベル
のうち、いずれか一方しか一致しないように’T’ L
 Bの登録方法は制御されている。
与えられた仮想アドレスに対して、T L B Kの内
容が一致しなとき、これをTLBヒツトと言う。
また、信号線115および116に与えられている論理
的意味をヒツト信号と言う。
T L B Dの出力は対応するTLBKによるヒツト
信号により、実アドレスセレクタ(PX)18で選択さ
れ、実アドレスレジスタ(PAR)5に格納される。
一方、アドレスアレイ(AA)4はVAR2に納められ
た仮想アドレスのページ内アドレスの部分の上位6ビツ
トによってアドレッシングされる(信号線105 ) 
、信号線105のアドレスによって選ばれた2つのレベ
ルのデータは、比較回路14および15によって、信号
ll1103のTLBをアドレッシングした仮想ページ
番号の下位9ビツトと比較される。
AA4内には、TLBのエントリのうち一つを特定する
TLBアドレスと、’I’ L Bのレベルが納められ
ている。よって、比較回路14と15は午えられた仮想
アドレスのうち、’r’ L Bアドレスに当る部分(
信号線103)と、上述のAA4内の2つの情報、そし
てTLBの各レベルのヒツト信号115および116を
入力とする。
比較回路14および15の詳細を第3図に示す。
TLBアドレスは比較器201によって比較される。
信号線113は2ビツトの情報で、AA4に納められて
いる1′1、BアドレスがどちらのTLBのレベルかを
示している。アンド回路202および203はTLBの
二つのヒツト信号115および116と信号線113[
1”度、信号線115と116と同じ対応を示す2本の
線である)との一致を調べている。いずれかが一致して
いれば、オア回路204の出力209は論理値1になり
、アンド回路205で先の比較器201の比較出力20
8の有効条件を与える。
比較回路14および15の出力は2ビツトのヒツトレベ
ルレジスタ(AHR)6に納められる。
AHR6の内容によって次のサイクルの動作が決定する
■A HR6のいずれかのビットが論理1のとき。
このときの状態をキャツシュヒツトという、データアレ
イ(DA)8がアクセスされ、読出しデータがリードデ
ータレジスタ(RDR)10に納められる。DA8はP
AR5の下位10ビツト、即ちページ内アドレスでアド
レッシングされる。各レベルに対応したデータが読出さ
れ、データセレフタ(DX>9で、AHH6に納められ
ているヒツトしたレベルの方が選択され、RDRIOに
格納される。RDRIOに納められたデータは信号線1
13により、要求元へ返送される。
■AHR6のいずれのビットも論理0のとき。
このときの状態をキャッシュミスという、AHHにキャ
ッシュのヒツト信号が納められたと同時に別の2つのレ
ジスタにもキャッシュミス時に必要な情報が納められる
。キャッシュ登録アドレスレジスタ(CAR)7には、
キャッシュミスを引き起こした要求アドレスのTLBア
ドレスが納められ、T L Bレベルレジスタ(TR)
17には、TLBヒツトしたレベルが納められる。
キャッシュミスが認識されると、CAR7とTR17の
内容は先ず、夫々アドレスアレイ書込みレジスタ(AW
R)20とTLBレベル書込みレジスタ(W’I”R)
21に納められる。そして、AHH20とWTR21は
AA4の対応する部分に書込まれる。アドレスアレイ書
込みレベルレジスタ<AWLR)19は、AA4のどち
らのレベルに書込むかを指示するものである。AWLR
19の内容は適当な方法で決定される。
一方、要求されたデータをキャッシュメモリへ主記憶か
らロードする必要がある。そのため、P/lR5のアド
レスを主記憶へ送り、該当するブロックのデータをDA
8ヘロードする。
AA4の書込みおよびDA8へのロードの終了後、もう
−度、要求された仮想アドレスでキャッシュメモリがア
クセスされ、今度はキャツシュヒツトとなる。前述のよ
うに、TLB3には仮想アドレスと実アドレスの変換表
の一部の写しが置かれている。そして、もしキャッシュ
メモリ1に要求された仮想アドレスに対するTLB3の
エントリが無い場合には、主記憶にある変換表をTLD
にコピーする必要がある。それを行うにはいろいろな方
法がある。ここでは、その詳細については述べない。
さて、’I’ L B 3が書換えられたとしよう、す
ると、書換えられたエントリには以前とは別の仮想アド
レスと実アドレスの組が納められている。但し、TLB
のアドレスは同一である。もし、AA4に書換える前の
TLB3のそのエントリを指ず情報が納められていると
、矛盾を起こす、そこで、T L’ B 3に対する書
換えが起った場合、キャッシュの内容を全て無効化する
。このようにすると、以降キャッシュミスが続くが、自
然と新しいゴLB3のエントリと仮想/実アドレスの対
応がAA4に反映されるようになる。キャッシュメモリ
の無効化はAA4の’I” L、 Bのレベルを格納し
ている2ビツトの両方を論理0にすることにより行われ
る。
第2図は本発明の他の実施例のブロック図であり、第1
図と同等部分は同一符号により示されている。信号線1
01を通じて要求されるアドレスは、仮想アドレスだけ
でなく、実アドレスの場合らあり得る。実アドレスアク
セスの比率が小さい場合には、このキャッシュメモリを
使用せずに直接主記憶にアクセス要求を出しても良い、
比率が大きい場合には、キャッシュメモリを使用する方
が望ましい。
このため、本発明では実アドレスアクセスにも’1’ 
L Bを使い(実アドレス→実アドレスの恒等変換1T
LBの各エントリに実アドレスアクセスか否かのビット
を持つ。
リクエストレジスタRQR13には信号線150を通じ
てVAR2に要求されたアドレスが納められる時に、そ
のアクセス要求が実アドレスか否かが納められる。TL
BKとVAR2の内容を比較するとき、TLBB内の実
アドレスアクセスを表わずビットとRQR13の内容が
比較される。
第4図は比較器!i@11および12の内部を示したも
のである。比較器250でTLB3と要求アドレスとを
比較し、比較器251でアクセスの種類を比較する。ア
ンド回路252は、上記の両者の比較器の出力が共に論
理1のときのみ出力115を論理1となる。また、’r
” L Bのエントリの書換え時、RQR13の内容を
TLB3に書込む。
l肌座素工 この様に、本発明によれば、キャッシュメモリのアドレ
スアレイ(AA)にアドレスの代りにTLBのエントリ
を特定する情報を格納するようにしたので、AAを構成
するに必要なビット数が削減され、もって遅延時間、ハ
ードウェア量、電力量の減少が可能となるという効果が
ある。
また、TLB各エフェントリそのエントリが行うアドレ
ス変換が実アドレスから実アドレスへの恒等変換である
ことを示す情報を格納することにより、同様に高速な処
理動作が可能となるという効果がある。
【図面の簡単な説明】
第1図は本発明の実施例のシステムブロック図、第2図
は本発明の他の実施例のシステムブロック図、第3図は
第1図のブロックの比較回路I4の具体例を示す図、第
4図は第2図のブロックの比較回路11の具体例を示す
図である。 主要部分の符号の説明 2・・・・・・仮想アドレスレジスタ 3・・・・・・アドレス変換バッファ 4・・・・・・アドレスアレイ 5・・・・・・実アドレスレジスタ 8・・・・・・データアレイ 11.12,14.1 5・・・・・・比較器

Claims (1)

    【特許請求の範囲】
  1. (1)入力された主記憶へのアクセス仮想アドレスを実
    アドレスへ変換すべく複数のエントリを有するアドレス
    変換バッファと、前記主記憶の格納データのコピーを所
    定大きさのブロック単位で管理すべくブロック単位で保
    持するデータアレイと、前記ブロックに夫々対応した前
    記主記憶のアドレスを特定する情報を保持するアドレス
    アレイと、前記アドレス変換バッファと前記アドレスア
    レイとを前記アクセス仮想アドレスによる索引結果によ
    りキャッシュヒットの有無を判定するキャッシュヒット
    判定手段とを含むキャッシュメモリ装置であって、前記
    アドレスアレイは、前記アドレス変換バッファのエント
    リを特定する索引アドレス情報を保持しており、前記キ
    ャッシュヒット判定手段は前記アドレス変換バッファの
    索引アドレス情報と前記アドレスアレイの索引結果とを
    比較するよう構成したことを特徴とするキャッシュメモ
    リ装置。
JP1023417A 1989-02-01 1989-02-01 キャッシュメモリ装置 Pending JPH02202651A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP1023417A JPH02202651A (ja) 1989-02-01 1989-02-01 キャッシュメモリ装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP1023417A JPH02202651A (ja) 1989-02-01 1989-02-01 キャッシュメモリ装置

Publications (1)

Publication Number Publication Date
JPH02202651A true JPH02202651A (ja) 1990-08-10

Family

ID=12109923

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1023417A Pending JPH02202651A (ja) 1989-02-01 1989-02-01 キャッシュメモリ装置

Country Status (1)

Country Link
JP (1) JPH02202651A (ja)

Similar Documents

Publication Publication Date Title
US3761881A (en) Translation storage scheme for virtual memory system
US4493026A (en) Set associative sector cache
US4654777A (en) Segmented one and two level paging address translation system
EP0009938B1 (en) Computing systems having high-speed cache memories
US5689679A (en) Memory system and method for selective multi-level caching using a cache level code
KR100372293B1 (ko) 가상및물리인덱스캐시에서가상번지용캐시가능속성
US3829840A (en) Virtual memory system
JPS6135584B2 (ja)
US5956752A (en) Method and apparatus for accessing a cache using index prediction
US7472227B2 (en) Invalidating multiple address cache entries
US6332179B1 (en) Allocation for back-to-back misses in a directory based cache
AU612515B2 (en) Data processing apparatus
KR100326989B1 (ko) 스누핑 포트를 사용하는 프리페치 캐시 질의 방법 및 시스템
US5479629A (en) Method and apparatus for translation request buffer and requestor table for minimizing the number of accesses to the same address
US5497469A (en) Dynamic address translation allowing quick update of the change bit
CN111124954B (zh) 一种两级转换旁路缓冲的管理装置及方法
JPH0519176B2 (ja)
US7865691B2 (en) Virtual address cache and method for sharing data using a unique task identifier
EP0474356A1 (en) Cache memory and operating method
JPH1091521A (ja) 二重ディレクトリー仮想キャッシュ及びその制御方法
KR19980081314A (ko) 프로세서 버스로의 캐쉬 연산의 요구-기반 발생 방법 및 장치
JPH02202651A (ja) キャッシュメモリ装置
JPH02204847A (ja) キャッシュメモリ装置
JPS644214B2 (ja)
JPH035851A (ja) バッファ記憶装置