JP3204098B2 - 動的アドレスデコードキャッシュ制御方式 - Google Patents
動的アドレスデコードキャッシュ制御方式Info
- Publication number
- JP3204098B2 JP3204098B2 JP16856296A JP16856296A JP3204098B2 JP 3204098 B2 JP3204098 B2 JP 3204098B2 JP 16856296 A JP16856296 A JP 16856296A JP 16856296 A JP16856296 A JP 16856296A JP 3204098 B2 JP3204098 B2 JP 3204098B2
- Authority
- JP
- Japan
- Prior art keywords
- address
- cache
- memory
- virtual
- storage unit
- 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.)
- Expired - Lifetime
Links
Landscapes
- Memory System Of A Hierarchy Structure (AREA)
Description
し、特に、仮想仮想記憶機構とキャッシュメモリとを有
する計算機システムにおけるメモリ管理方式に関する。
テムのキャッシュ制御方式については、アクセスしよう
とする主記憶の情報がキャッシュメモリ中に存在するか
否かを検査するため、仮想アドレス、または仮想記憶機
構における仮想アドレスから物理アドレスへの変換後の
アドレス、を用いて、これらのアドレスの一部を索引
(インデックス)として、限定された領域を検査する方
式が一般的に用いられている。なお、キャッシュメモリ
においては、例えばアクセスアドレスの所定の上位ビッ
トをタグ情報、所定の中位ビットをインデックス情報、
所定の下位ビットをブロック内オフセットとし、インデ
ックス情報にてキャッシュのブロックエントリをアクセ
スし、該エントリに保持されるタグ情報とアクセスアド
レスのタグ情報の一致の有無に基づきキャッシュのヒッ
トが判定される。
の変換した後に、検査すべきキャッシュ索引を決定する
方式は、変換が終了するまではキャッシュをアクセスで
きないことから、仮想アドレスを用いる方式よりも相対
的に低速となる。
索引とする方式においては、仮想/物理アドレス変換後
に、実際にアクセスする主記憶部に対応するデータがキ
ャッシュに複数載る(同一物理アドレスに対応するエン
トリが複数存在する)という事態の発生が考えられ、こ
のような事態が生じた場合、キャッシュと主記憶との間
に不整合が生じることになる。
避するため、このような状況(キャッシュ上にデータが
重複する)が生じる可能性を検出した時点で、キャッシ
ュ上から該当領域を消去する、あるいはこのような状況
が生じた時点で、キャッシュメモリにおける最新の情報
以外は無効化するなどの方式がとられている。
間がかかるため、キャッシュ上にデータが重複する状況
自体の発生を抑止するため、仮想アドレスと主記憶物理
アドレスの対応に一定の制約条件を設ける(例えば論理
/物理アドレスの下位数ビットを互いに一致させる等)
ことにより、主記憶上のデータが、論理アドレスで索引
されたとしても、常に同一の索引となるようにした方式
がとられている。
方式の第1の問題点は、論理アドレス索引方式では、キ
ャッシュ上の重複を避けるための仮想/物理アドレス変
換に制約が生じ、これによって、主記憶の有効利用がで
きなくなるということである。以下にこの理由を説明す
る。
レス/物理アドレスの対応単位、いわゆるページサイズ
は、キャッシュのサイズより小さい。具体的には、キャ
ッシュが例えば32キロバイトに対して、ページサイズ
は例えば4キロバイトとされる。
レスで索引された時に、キャッシュ上の一定箇所にしか
載らないようにするためには、各主記憶のデータは、キ
ャッシュをページサイズで分割した領域のうちのいずれ
か一つの領域にしか対応できない。
セスするための手段が設けられていると、実質的に主記
憶の各部分は、キャッシュのサイズをページサイズで割
った数分のグループに分割される。
記憶領域は、一般的に、偏りを持つため、上記したグル
ープの中には、多量に使用されるものと、ほとんど使用
されないものがでてくる。このため、主記憶資源に空き
があるにもかかわらず、この空き領域が利用されない、
という事態が発生する。
点のため、最も高速なキャッシュ検索方式である、仮想
アドレスの一部を用いて、アクセスするキャッシュ領域
を一意的に定めるという、ダイレクトマップ方式が採用
し難いということである。以下にこの理由を説明する。
は、上記従来の方式にて説明した、キャッシュ上の重複
エントリの発生の抑止、及び検出方法に対して、ページ
サイズとキャッシュサイズを論理的に同じ大きさとする
方式が考えられる。しかし、この方式では、キャッシュ
サイズを大きくとれない。この制約において、キャッシ
ュサイズを大きくするには、連想記憶方式などを用い
て、同時に複数の領域を検査することにより論理的にキ
ャッシュの複数領域を検査時に重ねてしまうことによ
り、実現される。
るため、やはり処理速度低下を招いてしまう。
れたものであって、その目的は、計算機システムにおけ
るキャッシュ制御方式の高速化を実現すると共に、主記
憶の有効利用を達成する方式を提供することにある。
め、本発明のキャッシュ制御方式は、主記憶部とCPU
(中央処理装置)との間に、該CPUからの仮想アドレ
スを物理アドレスに変換出力する仮想/物理アドレス変
換部と、前記仮想アドレスでインデックスされるキャッ
シュを備えた計算機システムにおいて、前記キャッシュ
と前記主記憶部の間に、前記仮想/物理アドレス変換部
が生成した物理アドレスを前記主記憶部をアクセスする
ためのアドレスに変換するアドレスデコーダを備え、さ
らに、前記CPUが使用している前記主記憶部の使用状
況を検出するメモリ使用量検出手段と、前記メモリ使用
量検出手段からの指示に基づき前記アドレスデコーダの
設定を変更し、前記CPUから認識される前記主記憶部
のアドレスが可変されるように制御するアドレスデコー
ド変更手段と、を備えることを特徴とする。
が仮想アドレスによって対応エントリが検索されること
により生じる、前記仮想アドレスに対応させ得る前記主
記憶部の物理アドレスに関する制約を、前記アドレスデ
コーダによって解除するように制御することを特徴とす
るキャッシュおよびメモリ管理方式を提供する。
を参照して以下に説明する。図1は、本発明の実施の形
態の構成を説明するための図である。
おいては、キャッシュ2と主記憶部5との間に、キャッ
シュ2と主記憶部5との間のデータ転送に用いられるア
ドレスを変換するアドレスデコーダ4を備え、さらに、
CPU1が使用している主記憶部5の使用状況(例えば
使用量あるいは残量)を検出するメモリ使用量検出部6
と、このメモリ使用量検出部6の検出情報に基づき、ア
ドレスデコーダ4の設定を随時変更し、CPU1および
キャッシュ2から認識される主記憶部5のアドレスが随
時変更されるように作動するアドレスデコード変更部7
と、を備えて構成されている。
分割された主記憶部5のグループ毎の使用状況を検出
し、余裕のあるグループから、余裕のないグループに主
記憶部5に対するアドレス対応を変更するよう、アドレ
スデコード変更部7に指示を出す。
コーダ4の設定を変更し、CPU1およびキャッシュ2
から認識される主記憶部5のアドレス割当を変更する。
これにより、主記憶部5の利用効率が向上する。
明の実施例に即して更に詳細に説明する。本発明の一実
施例の構成は、上記実施の形態で参照した図1に示す構
成と同様とされる。
る動的アドレスデコードキャッシュ制御方式は、CPU
(中央処理装置)1、キャッシュ2、仮想/物理アドレ
ス変換部3、アドレスデコーダ4、主記憶部5、メモリ
使用量検出部6、アドレスデコード変更部7と、から構
成されている。
する。
の説明した、論理アドレスの一部を索引(インデック
ス)とする検査方式により、キャッシュのヒット/ミス
ヒットが検査されるものとする。
ッシュ2上に複数格納されることを防止するために、仮
想/物理アドレスの対応関係は制約を受ける。図2は、
キャッシュ2と主記憶部5の対応関係によるグループ化
を論理的に示した図である。
仮想/物理アドレス変換部3が定める対応単位であるペ
ージサイズのn倍であるとしている。
割される。本実施例においては、主記憶部5内のアドレ
スをページサイズで割った商をnで割った時の剰余で、
主記憶部5がn個のグループに分割されるものとしてい
る。
用されはじめ、その結果、グループ間の主記憶の使用量
にアンバランスが生じたとする。この場合、グループ間
での主記憶の転用は、仮想/物理アドレスの対応関係の
制約によりできない。
主記憶のクループ間での使用量にアンバランスが生じた
ことを検出した際に、メモリ使用量検出部6は、アドレ
スデコード変更部7に変更を指示する。
図である。図3では、説明の簡便化のため、キャッシュ
2のサイズはページサイズの2倍である場合を示してい
る。この場合、主記憶は半分ずつにグループ化される。
が、主記憶部5の左に示したグループに属する主記憶が
多く使用され、右の部分の使用量が少ないことを検出し
た場合には、右のグループに属する空きメモリ領域51
を左のグループに属するアドレスとして、CPU1、キ
ャッシュ2から扱えるような領域52へ移行する。これ
により左側のグループに属する主記憶量が増加する。
アドレス変換部3には何も影響を及ぼしていない。この
ため、キャッシュ2、仮想/物理アドレス変換部3で
は、最も高速な論理アドレス索引方式、及びダイレクト
マップ方式を併用したまま、主記憶部の有効利用が実現
できる。
は、通常、仮想/物理アドレス変換方式として用いられ
ている対応表によるページテーブル方式を用いることが
できる。この場合、仮想/物理アドレス変換部3とアド
レスデコーダ4の2段のアドレス変換部を備える構成と
なり、主記憶部5を一般の構成と類似させた構成とする
ことができる。
には、比較的大きな処理時間を要するが、その分、キャ
ッシュ2のアクセスが高速化されており、頻度を考慮し
た実際の運用においては、本発明は十分に優れた高速性
を達成している。なお、本発明に係るキャッシュ制御方
式は、ダイレクトマップ方式のキャッシュメモリに好適
とされるが、セットアソシアティブ方式に対しても同様
にして適用できる。
キャッシュ機構の高速性の維持である。本発明によれ
ば、通常は主記憶部利用の効率性を犠牲にしなければ採
用できない、高速な論理アドレス索引、ダイレクトマッ
プ方式のキャッシュ制御を、主記憶利用効率を落とさな
いまま使用することができるという効果を有する。
ある。
ャッシュと主記憶部の関係によるグループ化を論理的に
示す図である。
ドレスデコード変更部が行うアドレスデコーダ変更の一
例を示す図である。
Claims (4)
- 【請求項1】主記憶部とCPU(中央処理装置)との間
に、該CPUからの仮想アドレスを物理アドレスに変換
出力する仮想/物理アドレス変換部と、前記仮想アドレ
スでインデックスされるキャッシュを備えた計算機シス
テムにおいて、 前記キャッシュと前記主記憶部の間に、前記仮想/物理
アドレス変換部が生成した物理アドレスを前記主記憶部
をアクセスするためのアドレスに変換するアドレスデコ
ーダを備え、さらに、 前記CPUが使用している前記主記憶部の使用状況を検
出するメモリ使用量検出手段と、 前記メモリ使用量検出手段からの指示に基づき前記アド
レスデコーダの設定を変更し、前記CPUから認識され
る前記主記憶部のアドレスが可変されるように制御する
アドレスデコード変更手段と、 を備えることを特徴とするキャッシュおよびメモリ管理
方式。 - 【請求項2】前記主記憶部が複数のメモリ領域にグルー
プ化され、 前記主記憶部のグループ間における使用量のアンバラン
スを前記メモリ使用量検出手段が検出した際に、前記ア
ドレスデコード変更手段が、使用量の少ない方のグルー
プに属する未使用メモリ領域を、使用量の多い方のグル
ープに属するアドレスとして、前記CPUおよびキャッ
シュから扱えるようなメモリ領域へ移行するように、前
記アドレスデコーダのアドレス変換の設定を可変制御す
ることを特徴とする請求項1記載のキャッシュおよびメ
モリ管理方式。 - 【請求項3】前記仮想/物理アドレス変換部が生成した
物理アドレスを、前記アドレスデコーダにより前記主記
憶部をアクセスするためのアドレスに変換することで、
前記アドレスデコーダが出力する前記主記憶部をアクセ
スするためのアドレスと、前記仮想アドレスとの対応関
係の制約が解除される、ことを特徴とする請求項1記載
のキャッシュおよびメモリ管理方式。 - 【請求項4】前記アドレスデコーダが、対応表によるペ
ージテーブルを用いてアドレス変換を行う、ことを特徴
とする請求項1記載のキャッシュおよびメモリ管理方
式。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP16856296A JP3204098B2 (ja) | 1996-06-07 | 1996-06-07 | 動的アドレスデコードキャッシュ制御方式 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP16856296A JP3204098B2 (ja) | 1996-06-07 | 1996-06-07 | 動的アドレスデコードキャッシュ制御方式 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH09330270A JPH09330270A (ja) | 1997-12-22 |
JP3204098B2 true JP3204098B2 (ja) | 2001-09-04 |
Family
ID=15870341
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP16856296A Expired - Lifetime JP3204098B2 (ja) | 1996-06-07 | 1996-06-07 | 動的アドレスデコードキャッシュ制御方式 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3204098B2 (ja) |
-
1996
- 1996-06-07 JP JP16856296A patent/JP3204098B2/ja not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JPH09330270A (ja) | 1997-12-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6170039B1 (en) | Memory controller for interchanging memory against memory error in interleave memory system | |
US5230045A (en) | Multiple address space system including address translator for receiving virtual addresses from bus and providing real addresses on the bus | |
US5123101A (en) | Multiple address space mapping technique for shared memory wherein a processor operates a fault handling routine upon a translator miss | |
US6088780A (en) | Page table walker that uses at least one of a default page size and a page size selected for a virtual address space to position a sliding field in a virtual address | |
US5257361A (en) | Method and apparatus for controlling one or more hierarchical memories using a virtual storage scheme and physical to virtual address translation | |
EP0072413B1 (en) | A storage subsystem with hashed cache addressing | |
JPH11161547A (ja) | データ処理装置用記憶装置、および記憶場所にアクセスする方法 | |
US20080162611A1 (en) | Methods and apparatus for marking objects for garbage collection in an object-based memory system | |
US6571316B1 (en) | Cache memory array for multiple address spaces | |
JP4669244B2 (ja) | キャッシュメモリ装置およびメモリ制御方法 | |
JPH0981459A (ja) | アドレス変換バッファ装置 | |
US20060143405A1 (en) | Data processing device | |
US5319761A (en) | Directory look-aside table for a virtual storage system including means for minimizing synonym entries | |
JP3204098B2 (ja) | 動的アドレスデコードキャッシュ制御方式 | |
JPH1091521A (ja) | 二重ディレクトリー仮想キャッシュ及びその制御方法 | |
JPH02308349A (ja) | バッファ記憶制御装置 | |
JP3875358B2 (ja) | 記憶装置、記憶方法および記録媒体 | |
JP3564343B2 (ja) | キャッシュバイパス時のデータ転送装置と方法 | |
JPH05342101A (ja) | 階層キャッシュ・メモリ | |
JPH06139147A (ja) | キャッシュメモリシステム | |
JP2004355187A (ja) | 仮想メモリ・システム、仮想メモリのアドレス管理方法、並びにアドレス変換テーブル生成装置 | |
JP2000267932A (ja) | タグアドレス比較装置 | |
JPS5821352B2 (ja) | バツフア・メモリ制御方式 | |
JPH02171944A (ja) | バッファ記憶装置 | |
JPH02176839A (ja) | 情報処理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20010529 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080629 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090629 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100629 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100629 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110629 Year of fee payment: 10 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110629 Year of fee payment: 10 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120629 Year of fee payment: 11 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120629 Year of fee payment: 11 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130629 Year of fee payment: 12 |
|
EXPY | Cancellation because of completion of term |