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
Application number
JP16856296A
Other languages
English (en)
Other versions
JPH09330270A (ja
Inventor
浩明 長野
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 JP16856296A priority Critical patent/JP3204098B2/ja
Publication of JPH09330270A publication Critical patent/JPH09330270A/ja
Application granted granted Critical
Publication of JP3204098B2 publication Critical patent/JP3204098B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は情報処理装置に関
し、特に、仮想仮想記憶機構とキャッシュメモリとを有
する計算機システムにおけるメモリ管理方式に関する。
【0002】
【従来の技術】従来、仮想記憶機構を備える計算機シス
テムのキャッシュ制御方式については、アクセスしよう
とする主記憶の情報がキャッシュメモリ中に存在するか
否かを検査するため、仮想アドレス、または仮想記憶機
構における仮想アドレスから物理アドレスへの変換後の
アドレス、を用いて、これらのアドレスの一部を索引
(インデックス)として、限定された領域を検査する方
式が一般的に用いられている。なお、キャッシュメモリ
においては、例えばアクセスアドレスの所定の上位ビッ
トをタグ情報、所定の中位ビットをインデックス情報、
所定の下位ビットをブロック内オフセットとし、インデ
ックス情報にてキャッシュのブロックエントリをアクセ
スし、該エントリに保持されるタグ情報とアクセスアド
レスのタグ情報の一致の有無に基づきキャッシュのヒッ
トが判定される。
【0003】ところで仮想アドレスから物理アドレスへ
の変換した後に、検査すべきキャッシュ索引を決定する
方式は、変換が終了するまではキャッシュをアクセスで
きないことから、仮想アドレスを用いる方式よりも相対
的に低速となる。
【0004】一方、仮想アドレスをキャッシュメモリの
索引とする方式においては、仮想/物理アドレス変換後
に、実際にアクセスする主記憶部に対応するデータがキ
ャッシュに複数載る(同一物理アドレスに対応するエン
トリが複数存在する)という事態の発生が考えられ、こ
のような事態が生じた場合、キャッシュと主記憶との間
に不整合が生じることになる。
【0005】主記憶とキャッシュとの不整合の発生を回
避するため、このような状況(キャッシュ上にデータが
重複する)が生じる可能性を検出した時点で、キャッシ
ュ上から該当領域を消去する、あるいはこのような状況
が生じた時点で、キャッシュメモリにおける最新の情報
以外は無効化するなどの方式がとられている。
【0006】しかし、これらの方式は消去処理などに時
間がかかるため、キャッシュ上にデータが重複する状況
自体の発生を抑止するため、仮想アドレスと主記憶物理
アドレスの対応に一定の制約条件を設ける(例えば論理
/物理アドレスの下位数ビットを互いに一致させる等)
ことにより、主記憶上のデータが、論理アドレスで索引
されたとしても、常に同一の索引となるようにした方式
がとられている。
【0007】
【発明が解決しようとする課題】上記したように、従来
方式の第1の問題点は、論理アドレス索引方式では、キ
ャッシュ上の重複を避けるための仮想/物理アドレス変
換に制約が生じ、これによって、主記憶の有効利用がで
きなくなるということである。以下にこの理由を説明す
る。
【0008】一般的に、仮想記憶機構における仮想アド
レス/物理アドレスの対応単位、いわゆるページサイズ
は、キャッシュのサイズより小さい。具体的には、キャ
ッシュが例えば32キロバイトに対して、ページサイズ
は例えば4キロバイトとされる。
【0009】この場合、主記憶上の各データが論理アド
レスで索引された時に、キャッシュ上の一定箇所にしか
載らないようにするためには、各主記憶のデータは、キ
ャッシュをページサイズで分割した領域のうちのいずれ
か一つの領域にしか対応できない。
【0010】ここで、物理的にアドレスを連続的にアク
セスするための手段が設けられていると、実質的に主記
憶の各部分は、キャッシュのサイズをページサイズで割
った数分のグループに分割される。
【0011】ところで、計算機システムで使用される主
記憶領域は、一般的に、偏りを持つため、上記したグル
ープの中には、多量に使用されるものと、ほとんど使用
されないものがでてくる。このため、主記憶資源に空き
があるにもかかわらず、この空き領域が利用されない、
という事態が発生する。
【0012】従来方式の第2の問題点は、上記した問題
点のため、最も高速なキャッシュ検索方式である、仮想
アドレスの一部を用いて、アクセスするキャッシュ領域
を一意的に定めるという、ダイレクトマップ方式が採用
し難いということである。以下にこの理由を説明する。
【0013】上記した第1の問題点を回避するために
は、上記従来の方式にて説明した、キャッシュ上の重複
エントリの発生の抑止、及び検出方法に対して、ページ
サイズとキャッシュサイズを論理的に同じ大きさとする
方式が考えられる。しかし、この方式では、キャッシュ
サイズを大きくとれない。この制約において、キャッシ
ュサイズを大きくするには、連想記憶方式などを用い
て、同時に複数の領域を検査することにより論理的にキ
ャッシュの複数領域を検査時に重ねてしまうことによ
り、実現される。
【0014】しかし、連想記憶方式は比較的に低速であ
るため、やはり処理速度低下を招いてしまう。
【0015】従って、本発明は、上記事情に鑑みてなさ
れたものであって、その目的は、計算機システムにおけ
るキャッシュ制御方式の高速化を実現すると共に、主記
憶の有効利用を達成する方式を提供することにある。
【0016】
【課題を解決するための手段】前記目的を達成するた
め、本発明のキャッシュ制御方式は、主記憶部とCPU
(中央処理装置)との間に、該CPUからの仮想アドレ
スを物理アドレスに変換出力する仮想/物理アドレス変
換部と、前記仮想アドレスでインデックスされるキャッ
シュを備えた計算機システムにおいて、前記キャッシュ
と前記主記憶部の間に、前記仮想/物理アドレス変換部
が生成した物理アドレスを前記主記憶部をアクセスする
ためのアドレスに変換するアドレスデコーダを備え、さ
らに、前記CPUが使用している前記主記憶部の使用状
況を検出するメモリ使用量検出手段と、前記メモリ使用
量検出手段からの指示に基づき前記アドレスデコーダの
設定を変更し、前記CPUから認識される前記主記憶部
のアドレスが可変されるように制御するアドレスデコー
ド変更手段と、を備えることを特徴とする。
【0017】また、本発明においては、前記キャッシュ
が仮想アドレスによって対応エントリが検索されること
により生じる、前記仮想アドレスに対応させ得る前記主
記憶部の物理アドレスに関する制約を、前記アドレスデ
コーダによって解除するように制御することを特徴とす
るキャッシュおよびメモリ管理方式を提供する。
【0018】
【発明の実施の形態】本発明の実施の形態について図面
を参照して以下に説明する。図1は、本発明の実施の形
態の構成を説明するための図である。
【0019】図1を参照すると、本発明の実施の形態に
おいては、キャッシュ2と主記憶部5との間に、キャッ
シュ2と主記憶部5との間のデータ転送に用いられるア
ドレスを変換するアドレスデコーダ4を備え、さらに、
CPU1が使用している主記憶部5の使用状況(例えば
使用量あるいは残量)を検出するメモリ使用量検出部6
と、このメモリ使用量検出部6の検出情報に基づき、ア
ドレスデコーダ4の設定を随時変更し、CPU1および
キャッシュ2から認識される主記憶部5のアドレスが随
時変更されるように作動するアドレスデコード変更部7
と、を備えて構成されている。
【0020】メモリ使用量検出部6は、複数グループに
分割された主記憶部5のグループ毎の使用状況を検出
し、余裕のあるグループから、余裕のないグループに主
記憶部5に対するアドレス対応を変更するよう、アドレ
スデコード変更部7に指示を出す。
【0021】アドレスデコード変更部7は、アドレスデ
コーダ4の設定を変更し、CPU1およびキャッシュ2
から認識される主記憶部5のアドレス割当を変更する。
これにより、主記憶部5の利用効率が向上する。
【0022】上記した本発明の実施形態を、以下の本発
明の実施例に即して更に詳細に説明する。本発明の一実
施例の構成は、上記実施の形態で参照した図1に示す構
成と同様とされる。
【0023】すなわち、図1を参照して、本実施例に係
る動的アドレスデコードキャッシュ制御方式は、CPU
(中央処理装置)1、キャッシュ2、仮想/物理アドレ
ス変換部3、アドレスデコーダ4、主記憶部5、メモリ
使用量検出部6、アドレスデコード変更部7と、から構
成されている。
【0024】次に、本発明の実施例の動作について説明
する。
【0025】図1に示したキャッシュ2は、従来の方式
の説明した、論理アドレスの一部を索引(インデック
ス)とする検査方式により、キャッシュのヒット/ミス
ヒットが検査されるものとする。
【0026】この場合、同一の主記憶のデータが、キャ
ッシュ2上に複数格納されることを防止するために、仮
想/物理アドレスの対応関係は制約を受ける。図2は、
キャッシュ2と主記憶部5の対応関係によるグループ化
を論理的に示した図である。
【0027】図2において、キャッシュ2の大きさは、
仮想/物理アドレス変換部3が定める対応単位であるペ
ージサイズのn倍であるとしている。
【0028】この時、主記憶部5はn個のグループに分
割される。本実施例においては、主記憶部5内のアドレ
スをページサイズで割った商をnで割った時の剰余で、
主記憶部5がn個のグループに分割されるものとしてい
る。
【0029】システムが動作を開始し、主記憶部5が使
用されはじめ、その結果、グループ間の主記憶の使用量
にアンバランスが生じたとする。この場合、グループ間
での主記憶の転用は、仮想/物理アドレスの対応関係の
制約によりできない。
【0030】そこで、本実施例においては、このような
主記憶のクループ間での使用量にアンバランスが生じた
ことを検出した際に、メモリ使用量検出部6は、アドレ
スデコード変更部7に変更を指示する。
【0031】図3は、この変更の内容を説明するための
図である。図3では、説明の簡便化のため、キャッシュ
2のサイズはページサイズの2倍である場合を示してい
る。この場合、主記憶は半分ずつにグループ化される。
【0032】図3を参照して、メモリ使用量検出部6
が、主記憶部5の左に示したグループに属する主記憶が
多く使用され、右の部分の使用量が少ないことを検出し
た場合には、右のグループに属する空きメモリ領域51
を左のグループに属するアドレスとして、CPU1、キ
ャッシュ2から扱えるような領域52へ移行する。これ
により左側のグループに属する主記憶量が増加する。
【0033】以上の動作は、キャッシュ2、仮想/物理
アドレス変換部3には何も影響を及ぼしていない。この
ため、キャッシュ2、仮想/物理アドレス変換部3で
は、最も高速な論理アドレス索引方式、及びダイレクト
マップ方式を併用したまま、主記憶部の有効利用が実現
できる。
【0034】また、アドレスデコーダ4の構成として
は、通常、仮想/物理アドレス変換方式として用いられ
ている対応表によるページテーブル方式を用いることが
できる。この場合、仮想/物理アドレス変換部3とアド
レスデコーダ4の2段のアドレス変換部を備える構成と
なり、主記憶部5を一般の構成と類似させた構成とする
ことができる。
【0035】一般的に、アドレスデコーダ4の設定変更
には、比較的大きな処理時間を要するが、その分、キャ
ッシュ2のアクセスが高速化されており、頻度を考慮し
た実際の運用においては、本発明は十分に優れた高速性
を達成している。なお、本発明に係るキャッシュ制御方
式は、ダイレクトマップ方式のキャッシュメモリに好適
とされるが、セットアソシアティブ方式に対しても同様
にして適用できる。
【0036】
【発明の効果】以上説明したように、本発明によれば、
キャッシュ機構の高速性の維持である。本発明によれ
ば、通常は主記憶部利用の効率性を犠牲にしなければ採
用できない、高速な論理アドレス索引、ダイレクトマッ
プ方式のキャッシュ制御を、主記憶利用効率を落とさな
いまま使用することができるという効果を有する。
【図面の簡単な説明】
【図1】本発明の実施の形態の構成を示すブロック図で
ある。
【図2】本発明の実施例を説明するための図であり、キ
ャッシュと主記憶部の関係によるグループ化を論理的に
示す図である。
【図3】本発明の実施例を説明するための図であり、ア
ドレスデコード変更部が行うアドレスデコーダ変更の一
例を示す図である。
【符号の説明】
1 CPU 2 キャッシュ 3 仮想/物理アドレス変換部 4 アドレスデコーダ 5 主記憶部 6 メモリ使用量検出部 7 アドレスデコード変更部
───────────────────────────────────────────────────── フロントページの続き (58)調査した分野(Int.Cl.7,DB名) G06F 12/08 - 12/12

Claims (4)

    (57)【特許請求の範囲】
  1. 【請求項1】主記憶部とCPU(中央処理装置)との間
    に、該CPUからの仮想アドレスを物理アドレスに変換
    出力する仮想/物理アドレス変換部と、前記仮想アドレ
    スでインデックスされるキャッシュを備えた計算機シス
    テムにおいて、 前記キャッシュと前記主記憶部の間に、前記仮想/物理
    アドレス変換部が生成した物理アドレスを前記主記憶部
    をアクセスするためのアドレスに変換するアドレスデコ
    ーダを備え、さらに、 前記CPUが使用している前記主記憶部の使用状況を検
    出するメモリ使用量検出手段と、 前記メモリ使用量検出手段からの指示に基づき前記アド
    レスデコーダの設定を変更し、前記CPUから認識され
    る前記主記憶部のアドレスが可変されるように制御する
    アドレスデコード変更手段と、 を備えることを特徴とするキャッシュおよびメモリ管理
    方式。
  2. 【請求項2】前記主記憶部が複数のメモリ領域にグルー
    プ化され、 前記主記憶部のグループ間における使用量のアンバラン
    スを前記メモリ使用量検出手段が検出した際に、前記ア
    ドレスデコード変更手段が、使用量の少ない方のグルー
    プに属する未使用メモリ領域を、使用量の多い方のグル
    ープに属するアドレスとして、前記CPUおよびキャッ
    シュから扱えるようなメモリ領域へ移行するように、前
    記アドレスデコーダのアドレス変換の設定を可変制御す
    ることを特徴とする請求項1記載のキャッシュおよびメ
    モリ管理方式。
  3. 【請求項3】前記仮想/物理アドレス変換部が生成した
    物理アドレスを、前記アドレスデコーダにより前記主記
    憶部をアクセスするためのアドレスに変換することで、
    前記アドレスデコーダが出力する前記主記憶部をアクセ
    スするためのアドレスと、前記仮想アドレスとの対応関
    係の制約解除される、ことを特徴とする請求項1記載
    のキャッシュおよびメモリ管理方式。
  4. 【請求項4】前記アドレスデコーダが、対応表による
    ージテーブルを用いてアドレス変換を行う、ことを特徴
    とする請求項1記載のキャッシュおよびメモリ管理方
    式。
JP16856296A 1996-06-07 1996-06-07 動的アドレスデコードキャッシュ制御方式 Expired - Lifetime JP3204098B2 (ja)

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)

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