JPH0291742A - 仮想アドレスキャッシュ制御方式 - Google Patents

仮想アドレスキャッシュ制御方式

Info

Publication number
JPH0291742A
JPH0291742A JP63242230A JP24223088A JPH0291742A JP H0291742 A JPH0291742 A JP H0291742A JP 63242230 A JP63242230 A JP 63242230A JP 24223088 A JP24223088 A JP 24223088A JP H0291742 A JPH0291742 A JP H0291742A
Authority
JP
Japan
Prior art keywords
virtual address
cache
random number
memory
cache memory
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
JP63242230A
Other languages
English (en)
Inventor
Yoichiro Takeuchi
陽一郎 竹内
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.)
Toshiba Corp
Original Assignee
Toshiba 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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP63242230A priority Critical patent/JPH0291742A/ja
Publication of JPH0291742A publication Critical patent/JPH0291742A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Abstract

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

Description

【発明の詳細な説明】 [発明の目的] (産業上の利用分野) この発明は仮想アドレスを用いてキャッシュアクセスが
行われる仮想アドレスキャッシュ制御方式に関する。
(従来の技術) 主記憶の一部の写しが置かれるキャッシュメモリを内蔵
するキャッシュメモリ装置では、直接マツピング方式ま
たはnウェイ(nは2,4など最大16程度の2以上の
整数)セットアソシャティブ方式が適用されるのが一般
的である。直接マツピング方式は、参照する主記憶上の
記憶番地の−部分(参照アドレスの一部フイールド)を
そのまま使用してキャッシュメモリ内の単一の記憶場所
と対応付ける(これをマツピングと呼ぶ)ものであり、
セットアソシャティブ方式は、複数の記憶場所と対応付
け、それらのうちのどれであるかは並列比較によって決
定するものである。
直接マツピング方式では、マツピングに用いられる部分
が同じで、他の部分が異なる番地を連続して参照した場
合、キャッシュメモリ利用の効果が無くなるという問題
がある。これに対してnウェイセットアソシャティブ方
式では、上記のような番地(マツピングに用いられる部
分が同じで、他の部分が異なる番地)がn個までの範囲
でキャッシュメモリ内に格納できるため、相対的にヒツ
ト率は良くなる。しかし、nが増えるに従い、コストが
著しく増加する。
さて、仮想記憶方式の計算機システム(仮想記憶計算機
システム)では、マツピングに用いる番地に仮想アドレ
スでなく、仮想アドレスをアドレス変換して得られる物
理アドレスを用いることにより、上記の直接マツピング
方式の問題を解決している。即ち利用者プログラムが使
用する番地は仮想アドレスであるために、その使用状況
に偏りがある可能性があるが、物理アドレス(物理アド
レス空間)上ではランダム化されて一様になるため、直
接マツピング方式でも高いヒツト率が得られる。但し、
物理アドレスによってマツピングを行う方式では、キャ
ッシュメモリ参照に先立って必ず仮想アドレスを物理ア
ドレスに変換するアドレス変換(仮想アドレス変換と呼
ぶ)処理が終了していなければならず、即ちキャッシュ
メモリ参照と仮想アドレス変換とを並列に実行すること
ができず、オーバーヘッドが増加する。
一方、仮想アドレスによってマツピングを行う方式では
、キャッシュメモリ参照と仮想アドレス変換を並列に実
行することが可能である。しかし本方式では、前記した
ようにキャッシュメモリのヒツト率が低下する。なお、
本方式では、必ずしも仮想アドレス変換をキャッシュメ
モリ参照と並行して行う必要はないが、ミスヒツト時に
主記憶を速やかにアクセスするには並行処理が好ましい
(発明が解決しようとする課題) 上記したように従来の仮想記憶計算機システムでは、直
接マツピング方式を適用するキャッシュメモリのヒツト
率を高めるためには、仮想アドレスの使用状況に偏りが
あっても物理アドレス上では一様にランダム化されるこ
とから、物理アドレスによってマツピングする必要があ
った。しかし、このためには、仮想アドレス変換処理を
行って物理アドレスを得た後にキャッシュメモリ参照を
行わなければならず、処理効率が悪いという問題があっ
た。
したがってこの発明の解決すべき課題は、仮想記憶計算
機システムにおいて、キャッシュメモリのマツピングに
物理アドレスを用いなくても高いキャツシュヒツト率が
得られ、しかもキャッシュメモリ参照と仮想アドレス変
換とが並行して行えるようにすることである。
[発明の構成コ (課題を解決するための手段) この発明は、メモリアクセス用の仮想アドレスを入力し
て一様疑似乱数を生成する一様乱数生成手段と、この一
様乱数生成手段によって生成された乱数値をマツピング
に用いる連想記憶型のキャッシュメモリ装置と、このキ
ャッシュメモリ装置におけるキャッシュ参照動作と並行
して仮想アドレス変換を行なうアドレス変換手段とを設
けたことを特徴とする。
(作用) 上記の構成によれば、仮想アドレスをもとに一様乱数生
成手段によって生成される一様疑似乱数値が、従来の仮
想アドレスの一部フイールドに代えて、キャッシュメモ
リ装置のマツピングに用いられるので、仮想アドレスの
使用の偏りにも拘らず、キャッシュメモリ装置の記憶場
所と一様に対応付けることが可能となり、高ヒツト率を
確保できる。また物理アドレスでマツピングしないので
、仮想アドレス変換の終了を待ってキャッシュ参照を行
なう必要がなく、従って仮想アドレス変換とキャッシュ
参照動作との並列動作が可能となる。
(実施例) 第1図はこの発明を適用する仮想記憶方式の計算機シス
テムの一実施例を示すブロック構成図である。同図にお
いて、11はシステム全体を制御するCPU、(中央演
算処理装置)、12はCPUIIの動作等に必要な各種
プログラム、更にはデータ等が格納される主記憶である
。13は主記憶12の一部の写しが置かれるキャッシュ
データメモリ14を内蔵する連想記憶型のキャッシュメ
モリ装置、15は仮想アドレスとキャッシュデータメモ
リ14の記憶場所とを仮想アドレスの使用の偏りに無関
係に一様に対応付けるために設けられた一様乱数生成回
路である。この一様乱数生成回路15は、CPUIIか
ら生成出力されるメモリアクセス用の仮想アドレスを入
力し、同アドレスに対応するキャッシュデータメモリ1
4の記憶場所を示す疑似乱数を生成してキャッシュメモ
リ装置13に出力するようになっている。16はCPU
IIからの仮想アドレスを物理アドレスに変換する仮想
アドレス変換動作を一様乱数生成回路15.キャッシュ
メモリ装置13の動作と並行して行う仮想アドレス変換
回路である。
この仮想アドレス変換回路16は、キャッシュメモリ装
置13においてキャツシュヒツトが検出された場合には
その旨を示すヒツト信号17に応じて仮想アドレス変換
動作を中止するようになっている。
なお、キャッシュメモリ装置13、一様乱数生成回路1
5および仮想アドレス変換回路16をCPUII内に設
けることも可能である。
次に、この発明の一実施例の動作を説明する。
まずCPUIIにおいて、参照すべきデータの仮想アド
レス空間内の記憶場所を示す仮想アドレスが生成された
ものとする。この仮想アドレスは一様乱数生成回路15
および仮想アドレス変換回路16に供給される。
一様乱数生成回路15はCPUIIから供給された仮想
アドレスを人力し、同アドレスに対応するキャッシュデ
ータメモリ14の記憶場所を示す疑似乱数を生成する。
この一様乱数生成回路15によって生成される疑似乱数
は、CPUIIが生成する(即ちCPUIIが使用する
)仮想アドレスの分布に偏りがあっても、対応する主記
憶12内データのキャッシュデータメモリ14における
記憶場所を一様に使用することが可能となるような値で
ある。一様乱数生成回路15による仮想アドレスから疑
似乱数への変換のアルゴリズムとしては、一様乱数生成
アルゴリズムとして知られる、平方採中法、乗法合同法
が適用可能である。但し、この種のアルゴリズムは除算
または乗算を必要とするため、ハードウェア構成は複雑
となる。一様乱数生成回路15における変換動作を簡単
なハードウェア構成で高速に行うためには、一様な散ら
ばり程度(ランダムさの程度)という点では上記のアル
ゴリズムより落ちるが、シフトと排他論理和を組合わせ
た方式が適用可能である。
一様乱数生成回路15によって生成された疑似乱数値は
、対応する仮想アドレスの所定フィールドの内容と共に
キャッシュメモリ装置13に供給される。これにより、
キャッシュメモリ装置13においては、一様乱数生成回
路15からの乱数値で示されるキャッシュデータメモリ
14内の記憶場所に目的データ(即ちCPUIIから生
成出力された仮想アドレスに対応するデータ)が格納さ
れている(ヒツト)か否(ミスヒツト)かが、上記乱数
値で示されるキャッシュタグメモリ(図示せず)内エン
トリのタグフィールドの内容と上記仮想アドレスの所定
フィールドとを比較することにより調べられる。もし、
ヒツトしているならば、例えばメモリリード要求の場合
であれば、一様乱数生成回路15からの乱数値で示され
るキャッシュデータメモリ14内の記憶場所の内容が読
出−されてCPUIIに転送され、同時にヒツトを示す
アクティブなヒツト信号17がキャッシュメモリ装置1
3から仮想アドレス変換回路1Bへ出力される。
さて、仮想アドレス変換回路1Bは、前記したようにC
PUIIから仮想アドレスを供給されると、同アドレス
を対応する物理アドレスに変換するための周知の仮想ア
ドレス変換動作を、上記の一様乱数生成回路15および
キャッシュメモリ装置13の動作と並行して実行する。
この仮想アドレス変換動作中に、キャッシュメモリ装置
13からアクティブなヒツト信号17が出力されると、
仮想アドレス変換回路1Bは主記憶12アクセスが不要
であるものとして、仮想アドレス変換動作を中止する。
これに対して、キャッシュメモリ装置L3からアクティ
ブなヒツト信号17が出力されなかったミスヒツト時に
は、仮想アドレス変換動作を最後まで実行してCPUI
Iからの仮想アドレスに対応する物理アドレスを求め、
主記憶12に出力する。これにより主記憶12がアクセ
スされ、上記のようにメモリリード要求の場合であれば
、仮想アドレス変換回路16からの物理アドレスで示さ
れる主記憶12内の記憶場所のデータが読出される。こ
のデータは、一様乱数生成回路15からの乱数値で示さ
れるキャッシュデータメモリ14内の記憶場所に格納さ
れると共にCPUIIに転送される。また、上記乱数値
で示されるキャッシュタグメモリ内エントリのタグフィ
ールドに、CPU1lからの仮想アドレスの所定フィー
ルドの内容が登録される。
以上は、CPUからのメモリアクセスに適用される仮想
アドレスキャッシュ制御について説明したが、本発明は
CPUから独立にメモリアクセスを行うチャネル装置に
おける仮想アドレスキャッシュ制御にも同様に適用でき
る。また本発明は、キャッシュ制御以外にも、例えばT
LB(Translation Lookaslde 
Bu1M’erニアドレス変換バアッフ7)を持つ仮想
アドレス変換回路においても、仮想アドレスからTLB
内記憶場所を選択するのに応用可能である。
[発明の効果] 以上詳述したようにこの発明によれば、キャッシュメモ
リ装置のマツピングに、仮想アドレスをもとに一様乱数
生成手段によって生成される一様疑似乱数値を用いるよ
うにしたので、仮想アドレスの使用の偏りにも拘らずに
キャッシュメモリ装置の記憶場所と一様に対応付けるこ
とができるようになり、完全連想型キャッシュメモリ装
置に匹敵するような高いヒツト率を得ることができる。
また物理アドレスでマツピングしないので、仮想アドレ
ス変換の終了を待ってキャッシュ参照を行う必要がな(
、したがって仮想アドレス変換とキャッシュ参照動作と
の並列動作が行えるので、物理アドレスでマツピングす
る方式に比べ、大幅な処理能力向上が図れる。
【図面の簡単な説明】
第1図はこの発明の一実施例に係るブロック構成図であ
る。 11・・・CPU、12・・・主記憶、13・・・キャ
ッシュメモリ装置、14・・・キャッシュデータメモリ
、15・・・一様乱数生成回路、1B・・・仮想アドレ
ス変換回路。 出願人代理人 弁理士 鈴江武彦 第 1図

Claims (1)

  1. 【特許請求の範囲】  メモリアクセス用の仮想アドレスを入力して一様疑似
    乱数を生成する一様乱数生成手段と、主記憶の一部の写
    しが置かれるキャッシュメモリを内蔵し、上記一様乱数
    生成手段によって生成された乱数値により上記仮想アド
    レスに対応する上記主記憶内領域のデータの上記キャッ
    シュメモリ内の記憶場所が示され、この記憶場所に目的
    とする上記主記憶内領域のデータが存在するキャッシュ
    ヒット時には、この記憶場所が参照される連想記憶型キ
    ャッシュメモリ装置と、 上記一様乱数生成手段に入力される上記仮想アドレスを
    入力し、同アドレスを対応する上記主記憶の物理アドレ
    スに変換するアドレス変換動作を上記キャッシュメモリ
    装置におけるキャッシュ参照動作と並行して行うアドレ
    ス変換手段であって、アドレス変換動作中に上記キャッ
    シュメモリ装置で上記キャッシュヒットが検出された場
    合には上記アドレス変換動作を中止するアドレス変換手
    段とを具備し、 仮想アドレスに対応する一様疑似乱数値によってキャッ
    シュメモリのマッピングを行うようにしたことを特徴と
    する仮想アドレスキャッシュ制御方式。
JP63242230A 1988-09-29 1988-09-29 仮想アドレスキャッシュ制御方式 Pending JPH0291742A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP63242230A JPH0291742A (ja) 1988-09-29 1988-09-29 仮想アドレスキャッシュ制御方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP63242230A JPH0291742A (ja) 1988-09-29 1988-09-29 仮想アドレスキャッシュ制御方式

Publications (1)

Publication Number Publication Date
JPH0291742A true JPH0291742A (ja) 1990-03-30

Family

ID=17086169

Family Applications (1)

Application Number Title Priority Date Filing Date
JP63242230A Pending JPH0291742A (ja) 1988-09-29 1988-09-29 仮想アドレスキャッシュ制御方式

Country Status (1)

Country Link
JP (1) JPH0291742A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006034535A1 (en) * 2004-09-30 2006-04-06 Synaptic Laboratories Limited Method of and apparatus for mapping identifiers
JP2012503263A (ja) * 2008-09-30 2012-02-02 インテル・コーポレーション 低電圧動作時のキャッシュ部分のディセーブル
US9678878B2 (en) 2008-09-30 2017-06-13 Intel Corporation Disabling cache portions during low voltage operations

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006034535A1 (en) * 2004-09-30 2006-04-06 Synaptic Laboratories Limited Method of and apparatus for mapping identifiers
JP2012503263A (ja) * 2008-09-30 2012-02-02 インテル・コーポレーション 低電圧動作時のキャッシュ部分のディセーブル
KR101252367B1 (ko) * 2008-09-30 2013-04-08 인텔 코오퍼레이션 저전압 동작 동안 캐시 부분의 디스에이블
JP2014041647A (ja) * 2008-09-30 2014-03-06 Intel Corp 低電圧動作時のキャッシュ部分のディセーブル
US9678878B2 (en) 2008-09-30 2017-06-13 Intel Corporation Disabling cache portions during low voltage operations
US10528473B2 (en) 2008-09-30 2020-01-07 Intel Corporation Disabling cache portions during low voltage operations

Similar Documents

Publication Publication Date Title
JP3640978B2 (ja) ページテーブル中のハッシュアドレスタグを用いたメモリアドレス制御装置
US5133061A (en) Mechanism for improving the randomization of cache accesses utilizing abit-matrix multiplication permutation of cache addresses
US6393544B1 (en) Method and apparatus for calculating a page table index from a virtual address
JP2825550B2 (ja) 多重仮想空間アドレス制御方法および計算機システム
Vandierendonck et al. XOR-based hash functions
US6205531B1 (en) Method and apparatus for virtual address translation
US10579522B2 (en) Method and device for accessing a cache memory
JPH0654478B2 (ja) 計算機システム
CN111367831B (zh) 翻译页表的深度预取方法、部件、微处理器及计算机设备
KR960001945B1 (ko) 우선변환참조버퍼에서 적중수를 증가시키기 위한 장치
US20190065400A1 (en) Apparatus and method for efficient utilisation of an address translation cache
US7269825B1 (en) Method and system for relative address translation
JPH08212136A (ja) 仮想メモリ変換処理を効率的に共有する方法及び装置
Ren et al. Unified oblivious-RAM: Improving recursive ORAM with locality and pseudorandomness
Rahman et al. Adapting radix sort to the memory hierarchy
US5226132A (en) Multiple virtual addressing using/comparing translation pairs of addresses comprising a space address and an origin address (sto) while using space registers as storage devices for a data processing system
US20040128490A1 (en) Using computation histories to make predictions
EP0519685A1 (en) Address translation
JPH04213135A (ja) 外部メモリアクセスシステム
EP0528584A1 (en) Directory look-aside table for a virtual data storage system
US7505997B1 (en) Methods and apparatus for identifying cached objects with random numbers
JPH0291742A (ja) 仮想アドレスキャッシュ制御方式
US6374334B1 (en) Data processing apparatus with a cache controlling device
US7181589B2 (en) System and method for performing address translation in a computer system
US5455922A (en) Dynamic validity facility for fast purging of translation bypass buffers