JPH0320847A - キャッシュメモリ制御方式 - Google Patents
キャッシュメモリ制御方式Info
- Publication number
- JPH0320847A JPH0320847A JP1156117A JP15611789A JPH0320847A JP H0320847 A JPH0320847 A JP H0320847A JP 1156117 A JP1156117 A JP 1156117A JP 15611789 A JP15611789 A JP 15611789A JP H0320847 A JPH0320847 A JP H0320847A
- Authority
- JP
- Japan
- Prior art keywords
- address
- cache memory
- page
- line
- cache
- 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
Links
Landscapes
- Memory System Of A Hierarchy Structure (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔目 次〕
4既要
産業上の利用分野
従来の技術と発明が解決しようとする課題課題を解決す
るための手段 作用 実施例 発明の効果 〔概要〕 論理アドレスから実アドレスへの変換をページ単位で行
っている計算機システムであって、セットアソシアティ
ブ方式のキャッシュメモリを有し、該キャッシュメモリ
をアクセスする為のラインアドレスに上記ページ内アド
レスを使用する中央処理装置(CPU)におけるキャッ
シュメモリ制御方式に関し、 キャッシュメモリの各ラインの使用効率を一様にして、
該キャッシュメモリに対するヒット率を向上させること
を目的とし、 該ページ内のラインアドレスが、上記キャッシュメモリ
のラインアドレスに、ランダムに写像するハッシュ関数
を使用して、該キャッシュメモリをアクセスするように
構威する。
るための手段 作用 実施例 発明の効果 〔概要〕 論理アドレスから実アドレスへの変換をページ単位で行
っている計算機システムであって、セットアソシアティ
ブ方式のキャッシュメモリを有し、該キャッシュメモリ
をアクセスする為のラインアドレスに上記ページ内アド
レスを使用する中央処理装置(CPU)におけるキャッ
シュメモリ制御方式に関し、 キャッシュメモリの各ラインの使用効率を一様にして、
該キャッシュメモリに対するヒット率を向上させること
を目的とし、 該ページ内のラインアドレスが、上記キャッシュメモリ
のラインアドレスに、ランダムに写像するハッシュ関数
を使用して、該キャッシュメモリをアクセスするように
構威する。
本発明は、論理アドレスから実アドレスへの変換をペー
ジ単位で行っている計算機システムであって、アドレス
変換バッファ(TI;B) と,セットアソシアティブ
方弐のキャッシュメモリを有し、例えば、該アドレス変
換バッファ(TLB)をアクセスする動作と、該キャッ
シュメモリのディレクトリ部をアクセスする動作とを並
列に行い、該キャッシュメモリのディレクトリ部をアク
セスする為のラインアドレスがページ内アドレスを使用
する中央処理装置(CPU)におけるキャッシュメモリ
制御方式に関する. 従来から、ソフトウエアの作戒を容易にする為に、例え
ば、各ジョブ単位に大きな論理アドレス空間を与えてプ
ログラムを作威し、それぞれのプログラムで使用してい
る論理アドレス空間を実記憶空間に、ページ単位に写像
して、複数個のジョブを1つの実計Xaシステムで時分
割的に実行させる多重仮想アドレス方式の計算機システ
ムが知られている。
ジ単位で行っている計算機システムであって、アドレス
変換バッファ(TI;B) と,セットアソシアティブ
方弐のキャッシュメモリを有し、例えば、該アドレス変
換バッファ(TLB)をアクセスする動作と、該キャッ
シュメモリのディレクトリ部をアクセスする動作とを並
列に行い、該キャッシュメモリのディレクトリ部をアク
セスする為のラインアドレスがページ内アドレスを使用
する中央処理装置(CPU)におけるキャッシュメモリ
制御方式に関する. 従来から、ソフトウエアの作戒を容易にする為に、例え
ば、各ジョブ単位に大きな論理アドレス空間を与えてプ
ログラムを作威し、それぞれのプログラムで使用してい
る論理アドレス空間を実記憶空間に、ページ単位に写像
して、複数個のジョブを1つの実計Xaシステムで時分
割的に実行させる多重仮想アドレス方式の計算機システ
ムが知られている。
このような計算機システムにおいてはミジョブ毎に使用
するページ数が異なる為、ページ単位の動的アドレス変
換機構(DAT)によって、論理アドレスが実記憶装置
の実アドレスに写像される場合、該実記憶装置に写像さ
れているページが、各仮想記憶空間の最終ページである
ことが多くなり、結果として、該実記憶装置のページ内
のデータは、その先頭が使用されて、終わりの方が空き
になっていることが多くなる動向にある。
するページ数が異なる為、ページ単位の動的アドレス変
換機構(DAT)によって、論理アドレスが実記憶装置
の実アドレスに写像される場合、該実記憶装置に写像さ
れているページが、各仮想記憶空間の最終ページである
ことが多くなり、結果として、該実記憶装置のページ内
のデータは、その先頭が使用されて、終わりの方が空き
になっていることが多くなる動向にある。
従って、該実記憶装置のコピーを記憶しているキャッシ
ュメモリに対しては、ラインを単位とするアクセス頻度
が一様でなくなり、ページ内の先頭の方のラインデータ
は、該キャッシュメモリから追い出される頻度が、該ペ
ージ内の終わりの方に比べると高くなり、該キャッシュ
メモリのヒット率が低下する動向になる。
ュメモリに対しては、ラインを単位とするアクセス頻度
が一様でなくなり、ページ内の先頭の方のラインデータ
は、該キャッシュメモリから追い出される頻度が、該ペ
ージ内の終わりの方に比べると高くなり、該キャッシュ
メモリのヒット率が低下する動向になる。
このような事情から、動的アドレス変換機構(DAT)
によりページ単位にメモリが管理されていて、キャッシ
ュメモリを備えている中央処理装! (CPU)におい
て、該キャッシュメモリに対するアクセス環境の如何に
関わらず、ラインアドレスによってヒット率の低下が起
こることが少ないキャッシュメモリ制御方式が必要とさ
れる。
によりページ単位にメモリが管理されていて、キャッシ
ュメモリを備えている中央処理装! (CPU)におい
て、該キャッシュメモリに対するアクセス環境の如何に
関わらず、ラインアドレスによってヒット率の低下が起
こることが少ないキャッシュメモリ制御方式が必要とさ
れる。
〔従来の技術と発明が解決しようとする課題〕第2図は
セットアソシアティブ方式のキャッシュメモリ制御方式
を説明する図であり、(a)は記憶装置の階層構造の例
を示し、(b)は動的アドレス変I!!!I機構(DA
T)の例を示し、(c)はセソトアソシアティブ方式の
キャッシュメモリに対する写像方式を示し、第3図は従
来のキャッシュメモリ制御方式を説明する図であって、
(a)はキャソシュディレクトリ部に対するアクセス方
式を示し、(b)はキャッシュデータ部に対するアクセ
ス方式を示している。
セットアソシアティブ方式のキャッシュメモリ制御方式
を説明する図であり、(a)は記憶装置の階層構造の例
を示し、(b)は動的アドレス変I!!!I機構(DA
T)の例を示し、(c)はセソトアソシアティブ方式の
キャッシュメモリに対する写像方式を示し、第3図は従
来のキャッシュメモリ制御方式を説明する図であって、
(a)はキャソシュディレクトリ部に対するアクセス方
式を示し、(b)はキャッシュデータ部に対するアクセ
ス方式を示している。
先ず、前述のように、例えば、多重仮想アドレス方式を
とる計算機システムにおいては、記憶装置は第2図(a
)に示した階層構造をとる。
とる計算機システムにおいては、記憶装置は第2図(a
)に示した階層構造をとる。
即ち、複数個の仮想アドレス空間1の各ページl1は、
(b)図に示した動的アドレス変換機構(DAT)によ
って、図示されている如く、主記憶装置(MS) 2の
実アドレス空間の任意のページアドレス空間に写像(こ
の写像を、フルアソシアティブという)される。
(b)図に示した動的アドレス変換機構(DAT)によ
って、図示されている如く、主記憶装置(MS) 2の
実アドレス空間の任意のページアドレス空間に写像(こ
の写像を、フルアソシアティブという)される。
キャッシュメモリ3を備えた中央処理装置(CPU)に
おいては、咳主記憶装置(MS) 2上の各ペジ内のデ
ータがライン単位にキャッシュメモリに写像される。
おいては、咳主記憶装置(MS) 2上の各ペジ内のデ
ータがライン単位にキャッシュメモリに写像される。
上記の動的アドレス変換機構(DAT)は、通常、(b
)図に示すように、セグメントテーブル,ベジテーブル
.主記憶ページテーブルからなっていて、中央処理装置
(CPLI)からのメモリアクセスで、該当ページの実
アドレスがアドレス変換パンファ(TLB)から検索で
きないとき、当該動的アドレス変換機構(DAT)が起
動され、論理アドレスである仮想アドレスにより、各テ
ーブルを順に検索して、現在、主記憶装置(MS) 2
に写像されている実アドレスを検索し、上記アドレス変
換バッファ(TLB)に登録することで、以降は、該ア
ドレス変換バツファ(TLB)をアクセスするだけで、
仮想アドレスから実アドレスを検索することができるよ
うになる。
)図に示すように、セグメントテーブル,ベジテーブル
.主記憶ページテーブルからなっていて、中央処理装置
(CPLI)からのメモリアクセスで、該当ページの実
アドレスがアドレス変換パンファ(TLB)から検索で
きないとき、当該動的アドレス変換機構(DAT)が起
動され、論理アドレスである仮想アドレスにより、各テ
ーブルを順に検索して、現在、主記憶装置(MS) 2
に写像されている実アドレスを検索し、上記アドレス変
換バッファ(TLB)に登録することで、以降は、該ア
ドレス変換バツファ(TLB)をアクセスするだけで、
仮想アドレスから実アドレスを検索することができるよ
うになる。
セットアソシアティブ方式のキャッシュメモリにおいて
は、主記憶装置(MS) 2の各ページを構成している
ラインと、キャッシュメモリ3のラインとは、(c)図
に示した関係にある。
は、主記憶装置(MS) 2の各ページを構成している
ラインと、キャッシュメモリ3のラインとは、(c)図
に示した関係にある。
即ら、主記憶装置(MS) 2のアドレス空間が複数個
のページに分割され、各ページが複数個の、例えば、ラ
インを単位とするセットに分割されている時、そのセッ
ト単位に、キャッシュメモリ3上の写像位置が決まって
いる場合を、セットアソシアティブ方式といい、前述の
動的アドレス変換機構(DAT)のように、任意の位置
に写像される場合をフルアソシアティブ方式という。
のページに分割され、各ページが複数個の、例えば、ラ
インを単位とするセットに分割されている時、そのセッ
ト単位に、キャッシュメモリ3上の写像位置が決まって
いる場合を、セットアソシアティブ方式といい、前述の
動的アドレス変換機構(DAT)のように、任意の位置
に写像される場合をフルアソシアティブ方式という。
そして、該セットアソシアテイブ方式のキャッシュメモ
リ3においては、主記憶装置(MS) 2のアドレス空
間のページ数より少ない複数個の割り当て空間(これを
、ウエイという)を設けている。
リ3においては、主記憶装置(MS) 2のアドレス空
間のページ数より少ない複数個の割り当て空間(これを
、ウエイという)を設けている。
(c)図の例では、主記憶装置(MS) 2の各ページ
のライン(AO,BO,〜,^1,Bl,〜.・・・〉
が、キャッシュメモリ3上の図示されている位置に、固
定的に写像される。
のライン(AO,BO,〜,^1,Bl,〜.・・・〉
が、キャッシュメモリ3上の図示されている位置に、固
定的に写像される。
このようなセットアソシアティブ方式のキャッシュメモ
リ3を有する中央処理装置(CPU)において、該キャ
ッシュメモリ3に対するアクセス動作を第3図によって
説明する. 通常、キャッシュメモリ3のディレクトリ部関連は、(
a)図に示したように、該キャッシュメモリ3に対する
アクセスを高速に行う為、アドレス変換バッファ(TL
B) 31を検索する動作と、キャッシュメモリ 3の
ディレクトリ部(タグ部ともいう)32を検索する動作
とを同時に行うように構威されている. 従って、該キャッシュメモリ3をアクセスする為のライ
ンアドレスは、上記動的アドレス変換機構(以下、DA
Tという)によってもアドレスが変わらない部分である
ページ内アドレスを使用している。
リ3を有する中央処理装置(CPU)において、該キャ
ッシュメモリ3に対するアクセス動作を第3図によって
説明する. 通常、キャッシュメモリ3のディレクトリ部関連は、(
a)図に示したように、該キャッシュメモリ3に対する
アクセスを高速に行う為、アドレス変換バッファ(TL
B) 31を検索する動作と、キャッシュメモリ 3の
ディレクトリ部(タグ部ともいう)32を検索する動作
とを同時に行うように構威されている. 従って、該キャッシュメモリ3をアクセスする為のライ
ンアドレスは、上記動的アドレス変換機構(以下、DA
Tという)によってもアドレスが変わらない部分である
ページ内アドレスを使用している。
先ず、図示されていないパイプラインのTサイクルにお
いて、Tサイクル論理アドレスレジスタ(TLAII)
30にセットされた論理アドレスの内、セグメントア
ドレスとページアドレスにより、前述のアドレス変換バ
ッファ (以下、TLBという)31が検索され、比較
器(Y) 310で一致が得られると論理積回路35を
付勢する。
いて、Tサイクル論理アドレスレジスタ(TLAII)
30にセットされた論理アドレスの内、セグメントア
ドレスとページアドレスにより、前述のアドレス変換バ
ッファ (以下、TLBという)31が検索され、比較
器(Y) 310で一致が得られると論理積回路35を
付勢する。
上記TL[lアクセス動作と同時に、該論理アドレスの
ページ内アドレスの一部を構威しているラインアドレス
によって、キャッシュデイレク1・9部32が検索され
、その実アドレスと,上記TLB 31の検索で読み出
された実アドレスとが比較器(V) 320で比較され
、一致が得られると、該一致の得られたウエイを指示す
る信号■が上記論理積同路35に送出され、Bサイクル
ディレク1・リマノチレジスク(RDMR) 36にセ
ットされる。
ページ内アドレスの一部を構威しているラインアドレス
によって、キャッシュデイレク1・9部32が検索され
、その実アドレスと,上記TLB 31の検索で読み出
された実アドレスとが比較器(V) 320で比較され
、一致が得られると、該一致の得られたウエイを指示す
る信号■が上記論理積同路35に送出され、Bサイクル
ディレク1・リマノチレジスク(RDMR) 36にセ
ットされる。
(b)図に示したキャッシュy一夕部33は、図示して
いないパイプラインのjji7 述の]゛サイクル〆゛
)次のBザイクノレにおい゛(.13サイクノレ論I里
アドレスレジスタ(BLAR) 34に設定されている
論理アドレスのページ内アドレス中の上記ラインアドレ
スでアクセスされ、上記Bサイクルディレクトリマッチ
レジスタ(BDMR) 36が指示するウエイのデータ
をキャッシュデータとして出力する.この方式では、ペ
ージ内アドレスが同じである、別ページのデータは、セ
ットに空きがある場合には、該空きのウエイに登録され
ることになり、該セットに空きがない場合には、該セッ
トに登録されているデータの中で、一番古いウエイのデ
ータが追い出されて、そこに登録されるように動作する
。
いないパイプラインのjji7 述の]゛サイクル〆゛
)次のBザイクノレにおい゛(.13サイクノレ論I里
アドレスレジスタ(BLAR) 34に設定されている
論理アドレスのページ内アドレス中の上記ラインアドレ
スでアクセスされ、上記Bサイクルディレクトリマッチ
レジスタ(BDMR) 36が指示するウエイのデータ
をキャッシュデータとして出力する.この方式では、ペ
ージ内アドレスが同じである、別ページのデータは、セ
ットに空きがある場合には、該空きのウエイに登録され
ることになり、該セットに空きがない場合には、該セッ
トに登録されているデータの中で、一番古いウエイのデ
ータが追い出されて、そこに登録されるように動作する
。
前述のように、DATによりページ単位にメモリが管理
されている場合、該ページ内のデータ、ページの先頭か
ら使用されていく為に、該ページ内の先頭は必ず使用さ
れるが、該ページの終わりの方は空きになることが多い
ので、セットアソシア}゛イブ方代のキャッシュメモリ
のように、セント′コ噴位゛、キ、ノシュ,メモリ上の
割当位置が決まってい、コ;場合に二、=、キャッシュ
メモl1のラインによってアクセス頻度が一様でなるな
ることになる。
されている場合、該ページ内のデータ、ページの先頭か
ら使用されていく為に、該ページ内の先頭は必ず使用さ
れるが、該ページの終わりの方は空きになることが多い
ので、セットアソシア}゛イブ方代のキャッシュメモリ
のように、セント′コ噴位゛、キ、ノシュ,メモリ上の
割当位置が決まってい、コ;場合に二、=、キャッシュ
メモl1のラインによってアクセス頻度が一様でなるな
ることになる。
この為、ページ内の先頭の方のデータは、キャッシュメ
モリから追い出される頻度が、該ページ内の終わりの方
に比べて高くなり、ヒッ1・率が低くなる問題がある。
モリから追い出される頻度が、該ページ内の終わりの方
に比べて高くなり、ヒッ1・率が低くなる問題がある。
特に、前述のように、多重仮想アドレス方式をとる計算
機システムにおいては、この度合いが大きくなる為、先
頭ラインでのヒット率の低下は、該計算機システムの処
理能力を低下させる要因にもなるという問題があった。
機システムにおいては、この度合いが大きくなる為、先
頭ラインでのヒット率の低下は、該計算機システムの処
理能力を低下させる要因にもなるという問題があった。
上記の例は、アドレス変換バッファ(TLB) ヲアク
セスする動作と、キャッシュメモリのディレクトリ部を
アクセスする動作とを並列に行う場合について説明した
が、上記の問題点は、このケースに限定されるものでは
なく、論理アドレス呻実アドレス変換をページ単位に行
っている計算機システムに共通するものである. 本発明は上記従来の欠点に鑑み、論理アドレスから実ア
ドレスへの変換をページ単位で行っている計算機システ
ムであって、アドレス変換バッツァ(TLB)と,セッ
トアソシアティブ方式のキャッシュメモリを有し、例え
ば、該アドレス変換バッファ(TLII)をアクセスす
る動作と、該キャッシュメモリのディレクトリ部をアク
セスする動作とを並列に行い、該キャッシュメモリのデ
ィレクトリ部をアクセスする為のラインアドレスにペー
ジ内アドレスを使用する中央処理装置(CPU)におい
て、ラインの位置によってヒット率が変わることが少く
ないキャッシュメモリ制御方式を提供することを目的と
するものである。
セスする動作と、キャッシュメモリのディレクトリ部を
アクセスする動作とを並列に行う場合について説明した
が、上記の問題点は、このケースに限定されるものでは
なく、論理アドレス呻実アドレス変換をページ単位に行
っている計算機システムに共通するものである. 本発明は上記従来の欠点に鑑み、論理アドレスから実ア
ドレスへの変換をページ単位で行っている計算機システ
ムであって、アドレス変換バッツァ(TLB)と,セッ
トアソシアティブ方式のキャッシュメモリを有し、例え
ば、該アドレス変換バッファ(TLII)をアクセスす
る動作と、該キャッシュメモリのディレクトリ部をアク
セスする動作とを並列に行い、該キャッシュメモリのデ
ィレクトリ部をアクセスする為のラインアドレスにペー
ジ内アドレスを使用する中央処理装置(CPU)におい
て、ラインの位置によってヒット率が変わることが少く
ないキャッシュメモリ制御方式を提供することを目的と
するものである。
上記の問題点は下記の如くに構成されたキャッシュメモ
リ制御方式によって解決される。
リ制御方式によって解決される。
論理アドレスから実アドレスの変換をページ単位で行う
計算機システムであって、アドレス変換バッファ(TL
B) と,セットアソシアティブ方式のキャッシュメモ
リを有し、例えば、該アドレス変換バッファ(TLB)
をアクセスする動作と、該キャッシュメモリのディレク
トリ部をアクセスする動作とを並列に行い、該キャッシ
ュメモリのディレクトリ部をアクセスする為のラインア
ドレスにページ内アドレスを使用する中央処理装置(C
Pυ)において、 該ページ内のラインアドレスが、上記キャッシュメモリ
のラインアドレスに、ランダムに写像するハンシュ関数
を使用して、該キャッシュメモリをアクセスするように
構戊する。
計算機システムであって、アドレス変換バッファ(TL
B) と,セットアソシアティブ方式のキャッシュメモ
リを有し、例えば、該アドレス変換バッファ(TLB)
をアクセスする動作と、該キャッシュメモリのディレク
トリ部をアクセスする動作とを並列に行い、該キャッシ
ュメモリのディレクトリ部をアクセスする為のラインア
ドレスにページ内アドレスを使用する中央処理装置(C
Pυ)において、 該ページ内のラインアドレスが、上記キャッシュメモリ
のラインアドレスに、ランダムに写像するハンシュ関数
を使用して、該キャッシュメモリをアクセスするように
構戊する。
即ち、本発明によれば、論理アドレスから実アドレスの
変換をページ単位で行う計算機システムであって、アド
レス変換バッファ(TLl3)と,セットアソシアティ
ブ方式のキャッシュメモリを有し、例えば、該アドレス
変換バッファ(TLtl)をアクセスする動作と、該キ
ャッシュメモリのディレクトリをアクセスする動作とを
並列に行い、該キャッシュメモリのディレクトリをアク
セスする為のラインアドレスにページ内アドレスを使用
する中央処理装置(CPtl)において、キャッシュメ
モリに対するラインアドレスとして、例えば、ページア
ドレス,或いは、セグメントアドレスの一部で、ページ
内アドレスにハッシュ関数による変換を行ったものを、
キャッシュディレクトリ部.データ部に対するアドレス
とする。
変換をページ単位で行う計算機システムであって、アド
レス変換バッファ(TLl3)と,セットアソシアティ
ブ方式のキャッシュメモリを有し、例えば、該アドレス
変換バッファ(TLtl)をアクセスする動作と、該キ
ャッシュメモリのディレクトリをアクセスする動作とを
並列に行い、該キャッシュメモリのディレクトリをアク
セスする為のラインアドレスにページ内アドレスを使用
する中央処理装置(CPtl)において、キャッシュメ
モリに対するラインアドレスとして、例えば、ページア
ドレス,或いは、セグメントアドレスの一部で、ページ
内アドレスにハッシュ関数による変換を行ったものを、
キャッシュディレクトリ部.データ部に対するアドレス
とする。
このハッシュ関数として、該ページ内アドレスが、キャ
ッシュディレクトリ部,データ部内に、ランダムに写像
できるものであれば、特に、上記のように、ページアド
レス,或いは、セグメントアドレスに限定する必要はな
いが、該ランダム性を効果的に得ることを考えた場合、
メモリアクセス毎に、ランダムデータを発生する装置か
らのデータを使用してもよい。この場合には、余計なハ
ドウエアを必要とすることになるので、例えば、アクセ
ス毎によく変化する該ページ内アドレスに続くページア
ドレスの一部をハッシュ値として使用するのが最も効果
的である。
ッシュディレクトリ部,データ部内に、ランダムに写像
できるものであれば、特に、上記のように、ページアド
レス,或いは、セグメントアドレスに限定する必要はな
いが、該ランダム性を効果的に得ることを考えた場合、
メモリアクセス毎に、ランダムデータを発生する装置か
らのデータを使用してもよい。この場合には、余計なハ
ドウエアを必要とすることになるので、例えば、アクセ
ス毎によく変化する該ページ内アドレスに続くページア
ドレスの一部をハッシュ値として使用するのが最も効果
的である。
この結果、実際に使用されるページ内アドレスのライン
アドレスは、ディレクトリ部,データ部内のラインアド
レスにランダムに写像されることになり、ラインの使用
効率をランダム、即ら、一様にし、キャッシュメモリに
対するヒット率を向上させ、中央処理装置(CPU)の
処理能力を向上させる効果がある。
アドレスは、ディレクトリ部,データ部内のラインアド
レスにランダムに写像されることになり、ラインの使用
効率をランダム、即ら、一様にし、キャッシュメモリに
対するヒット率を向上させ、中央処理装置(CPU)の
処理能力を向上させる効果がある。
以下本発明の実施例を図面によって詳述する。
第1図は本発明の一実施例を示した図であって、(al
) , (a2) )は構成例を示し、(b)はハッシ
ュ回路の構戒例であり、キャッシュディレクトリ部32
,キャッシュデータ部33に対するラインアドレスとし
て、ページ内アドレスにハッシュ値を掛けたものを使用
する手段(ハッシュ回路38)が本発明を実施するのに
必要な手段である。尚、全図を通して同じ符号は同じ対
象物を示している。
) , (a2) )は構成例を示し、(b)はハッシ
ュ回路の構戒例であり、キャッシュディレクトリ部32
,キャッシュデータ部33に対するラインアドレスとし
て、ページ内アドレスにハッシュ値を掛けたものを使用
する手段(ハッシュ回路38)が本発明を実施するのに
必要な手段である。尚、全図を通して同じ符号は同じ対
象物を示している。
以下、第1図によって、本発明のキャッシュメモリ制御
方式を説明する。
方式を説明する。
本発明を実施しても、キャッシュメモリの構或とか、該
キャッシュメモリに対するアクセス動作の基本的な動作
は、特に、変わることはないので省略し、ここでは、キ
ャッシュディレクトリ部32に対するアドレスの生戒方
式を中心にして、本発明のキャッシュメモリ制御方式を
説明する。
キャッシュメモリに対するアクセス動作の基本的な動作
は、特に、変わることはないので省略し、ここでは、キ
ャッシュディレクトリ部32に対するアドレスの生戒方
式を中心にして、本発明のキャッシュメモリ制御方式を
説明する。
本実施例においては、(b)図に示したように、Tサイ
クル論理アドレスレベル(TLAR) 30の4kバイ
トを1ページとするページ内アドレス(ビット20〜3
1)の内の1ライン(64バイト)を指示するアドレス
(ビット20〜25)に対して、該ページ内アドレスに
連続しているページアドレス(ビット19〜14)をハ
ッシュ値として、排他的論理和をとったアドレスを、該
キャッシュディレクトリ部32をアクセスする為のアド
レスとするハッシュ回路38を設け、(a1)図に示し
た如く、該ハッシュ回路38の出力でキャッシュディレ
クトリ部32をアクセスするようにする。
クル論理アドレスレベル(TLAR) 30の4kバイ
トを1ページとするページ内アドレス(ビット20〜3
1)の内の1ライン(64バイト)を指示するアドレス
(ビット20〜25)に対して、該ページ内アドレスに
連続しているページアドレス(ビット19〜14)をハ
ッシュ値として、排他的論理和をとったアドレスを、該
キャッシュディレクトリ部32をアクセスする為のアド
レスとするハッシュ回路38を設け、(a1)図に示し
た如く、該ハッシュ回路38の出力でキャッシュディレ
クトリ部32をアクセスするようにする。
実際には、どのようなハッシュ値を使用してもよいが、
任意のページ内アドレスを、キャッシュディレクトリ部
32の任意の位置に写像させようとした場合、セグメン
トアドレスのように、通常のプログラムの実行段階では
、殆ど変わらないアドレスを使用したのでは、そのラン
ダム性が得られないし、前述のように、特定のランダム
データを発生する回路を設けて、その出力データをハッ
シュ値とするようにしてもよいが、特別なランダム発生
装置を必要とすることから、経済的に、ランダムな写像
特性を得ようとすれば、該ページ内アドレスに続くペー
ジアドレスを使用するのが、最も効果的である。
任意のページ内アドレスを、キャッシュディレクトリ部
32の任意の位置に写像させようとした場合、セグメン
トアドレスのように、通常のプログラムの実行段階では
、殆ど変わらないアドレスを使用したのでは、そのラン
ダム性が得られないし、前述のように、特定のランダム
データを発生する回路を設けて、その出力データをハッ
シュ値とするようにしてもよいが、特別なランダム発生
装置を必要とすることから、経済的に、ランダムな写像
特性を得ようとすれば、該ページ内アドレスに続くペー
ジアドレスを使用するのが、最も効果的である。
このように構成することで、従来(第2図参照)、ペー
ジ内の各ラインが、例えば、上から固定的に、キャッシ
ュメモリのラインに写像されていたものが、本発明の場
合には、各ページ内の各ラインが、キャソシュメモリ上
の任意の位置に、即ち、ランダムに写像されるようにな
り、該キャノシュメモリに対するヒント率の片寄りをな
くし、平均的なヒット率の向上に寄与することができる
。
ジ内の各ラインが、例えば、上から固定的に、キャッシ
ュメモリのラインに写像されていたものが、本発明の場
合には、各ページ内の各ラインが、キャソシュメモリ上
の任意の位置に、即ち、ランダムに写像されるようにな
り、該キャノシュメモリに対するヒント率の片寄りをな
くし、平均的なヒット率の向上に寄与することができる
。
このように、本発明は、アドレス変換バッファ(TLI
1) と,セットアソシアティブ方式のキャッシュメモ
リを有し、例えば、該アドレス変換バッファ(TLB)
をアクセスする動作と、該キャッシュメモリのディレク
トリをアクセスする動作とを並列に行い、該キャッシュ
メモリのディレクトリをアクセスする為のラインアドレ
スにページ内アドレスを使用する中央処理装置(CP(
1)においで、キャッシュディレクトリ部,データ部を
アクセスする為のアドレスと午で、ページ内アドレスに
、特定のハッシュ値をかけたものを使用して、該ページ
内アドレスが指示するラインアドレスがキャッシュディ
レクトリ部の任意のラインに、ランダムに写像するよう
にした所に特徴がある。
1) と,セットアソシアティブ方式のキャッシュメモ
リを有し、例えば、該アドレス変換バッファ(TLB)
をアクセスする動作と、該キャッシュメモリのディレク
トリをアクセスする動作とを並列に行い、該キャッシュ
メモリのディレクトリをアクセスする為のラインアドレ
スにページ内アドレスを使用する中央処理装置(CP(
1)においで、キャッシュディレクトリ部,データ部を
アクセスする為のアドレスと午で、ページ内アドレスに
、特定のハッシュ値をかけたものを使用して、該ページ
内アドレスが指示するラインアドレスがキャッシュディ
レクトリ部の任意のラインに、ランダムに写像するよう
にした所に特徴がある。
以上、詳細に説明したように、本発明のキャッシュメモ
リ制御方式は、論理アドレスから実アドレスへの変換を
ページ単位に行っている計′naシステムであって、ア
ドレス変換バッファ(TLII)と,セットアソシアテ
ィブ方式のキャッシュメモリを有し、例えば、該アドレ
ス変換バッファ(TLB)をアクセスする動作と、該キ
ャッシュメモリのディレクトリ部をアクセスする動作と
を並列に行い、該キャッシュメモリのディレクトリ部を
アクセスする為のラインアドレスにページ内アドレスを
使用する中央処理装置(Cl)U)において、該ページ
内のラインアドレスが、上記キャッシュメモリのライン
アドレスに、ランダムに写像するハッシュ関数を使用し
て、該キャッシュメモリのディレクトリ部.データ部を
アクセスするようにしたものであるので、実際に使用さ
れるページ内アドレスのラインアドレスは、ディレクト
リ部,データ部内のラインアドレスにランダムに写像さ
れることになり、ラインの使用効率をランダム、即ち、
一様にし、キャッシュメモリに対するヒット率を向上さ
せ、中央処理装置(CPU)の処理能力を向上させる効
果がある。
リ制御方式は、論理アドレスから実アドレスへの変換を
ページ単位に行っている計′naシステムであって、ア
ドレス変換バッファ(TLII)と,セットアソシアテ
ィブ方式のキャッシュメモリを有し、例えば、該アドレ
ス変換バッファ(TLB)をアクセスする動作と、該キ
ャッシュメモリのディレクトリ部をアクセスする動作と
を並列に行い、該キャッシュメモリのディレクトリ部を
アクセスする為のラインアドレスにページ内アドレスを
使用する中央処理装置(Cl)U)において、該ページ
内のラインアドレスが、上記キャッシュメモリのライン
アドレスに、ランダムに写像するハッシュ関数を使用し
て、該キャッシュメモリのディレクトリ部.データ部を
アクセスするようにしたものであるので、実際に使用さ
れるページ内アドレスのラインアドレスは、ディレクト
リ部,データ部内のラインアドレスにランダムに写像さ
れることになり、ラインの使用効率をランダム、即ち、
一様にし、キャッシュメモリに対するヒット率を向上さ
せ、中央処理装置(CPU)の処理能力を向上させる効
果がある。
第l図は本発明の一実施例を示した図,第2図はセット
アソシアティブ方式のキャッシュメモリ制御方式を説明
する図, 第3図は従来のキャッシュメモリ制御方式を説明する図
, である。 図面において、 1は仮想アドレス空間, 2は主記憶装置(MS),又は、実アドレス空間,3は
キャッシュメモリ. 30はTサイクル論理アドレスレジスタ(TLAI?)
,31はアドレス変換バッファ(TLB) .310.
320は比較器(■), 32はキャッシュディレクトリ部,又は、ディレクトリ
部, 33はキャッシュデータ部,又は、データ部.34はB
サイクル論理アドレスレジスタ(BLAR) ,35は
論理積回路, 36はBサイクルディレクトリマッチレジスタ(BDM
R), 38はハッシュ回路, ■はウエイ指示信号, (α2) −j発明の一実ウ管ダリと禾した図 第1図(での2) (b) 本宅明の一突翅伊jE示した図 第1間(2の3) (C) 第2[!l(イの2) (b) 従釆の千ヤッシらメそり角1j岬ろ式′と吉愛明す5図
第3図(12の2)
アソシアティブ方式のキャッシュメモリ制御方式を説明
する図, 第3図は従来のキャッシュメモリ制御方式を説明する図
, である。 図面において、 1は仮想アドレス空間, 2は主記憶装置(MS),又は、実アドレス空間,3は
キャッシュメモリ. 30はTサイクル論理アドレスレジスタ(TLAI?)
,31はアドレス変換バッファ(TLB) .310.
320は比較器(■), 32はキャッシュディレクトリ部,又は、ディレクトリ
部, 33はキャッシュデータ部,又は、データ部.34はB
サイクル論理アドレスレジスタ(BLAR) ,35は
論理積回路, 36はBサイクルディレクトリマッチレジスタ(BDM
R), 38はハッシュ回路, ■はウエイ指示信号, (α2) −j発明の一実ウ管ダリと禾した図 第1図(での2) (b) 本宅明の一突翅伊jE示した図 第1間(2の3) (C) 第2[!l(イの2) (b) 従釆の千ヤッシらメそり角1j岬ろ式′と吉愛明す5図
第3図(12の2)
Claims (1)
- 論理アドレスから実アドレスへの変換をページ単位で行
っている計算機システムであって、セットアソシアティ
ブ方式のキャッシュメモリ(32、33)を有し、該キ
ャッシュメモリ(32、33)をアクセスする為のライ
ンアドレスに上記ページ内アドレスを使用する中央処理
装置(CPU)において、該ページ内のラインアドレス
が、上記キャッシュメモリ(32、33)のラインアド
レスに、ランダムに写像するハッシュ関数を使用して、
該キャッシュメモリをアクセスすることを特徴とするキ
ャッシュメモリ制御方式。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP1156117A JPH0320847A (ja) | 1989-06-19 | 1989-06-19 | キャッシュメモリ制御方式 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP1156117A JPH0320847A (ja) | 1989-06-19 | 1989-06-19 | キャッシュメモリ制御方式 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH0320847A true JPH0320847A (ja) | 1991-01-29 |
Family
ID=15620690
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP1156117A Pending JPH0320847A (ja) | 1989-06-19 | 1989-06-19 | キャッシュメモリ制御方式 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH0320847A (ja) |
Cited By (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH06110781A (ja) * | 1992-09-30 | 1994-04-22 | Nec Corp | キャッシュメモリ装置 |
| JP2000259498A (ja) * | 1999-03-10 | 2000-09-22 | Internatl Business Mach Corp <Ibm> | マルチスレッド・プロセッサの命令キャッシュ |
| US7587574B2 (en) | 2004-07-29 | 2009-09-08 | Fujitsu Limited | Address translation information storing apparatus and address translation information storing method |
| KR101602731B1 (ko) * | 2015-04-08 | 2016-03-11 | 방기태 | 안경 착용자용 보안경 조립체 |
-
1989
- 1989-06-19 JP JP1156117A patent/JPH0320847A/ja active Pending
Cited By (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH06110781A (ja) * | 1992-09-30 | 1994-04-22 | Nec Corp | キャッシュメモリ装置 |
| JP2000259498A (ja) * | 1999-03-10 | 2000-09-22 | Internatl Business Mach Corp <Ibm> | マルチスレッド・プロセッサの命令キャッシュ |
| US7587574B2 (en) | 2004-07-29 | 2009-09-08 | Fujitsu Limited | Address translation information storing apparatus and address translation information storing method |
| KR101602731B1 (ko) * | 2015-04-08 | 2016-03-11 | 방기태 | 안경 착용자용 보안경 조립체 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US12613807B2 (en) | Method, system, and apparatus for page sizing extension | |
| US5630097A (en) | Enhanced cache operation with remapping of pages for optimizing data relocation from addresses causing cache misses | |
| US5956756A (en) | Virtual address to physical address translation of pages with unknown and variable sizes | |
| JP4128642B2 (ja) | キャッシュ・メモリの制御方法及びキャッシュ・コントローラ | |
| US4885680A (en) | Method and apparatus for efficiently handling temporarily cacheable data | |
| JP2839060B2 (ja) | データ処理システムおよびデータ処理方法 | |
| US4376297A (en) | Virtual memory addressing device | |
| US4758946A (en) | Page mapping system | |
| EP2017739A1 (en) | Processing system implementing variable page size memory organization | |
| US5442571A (en) | Method and apparatus for cache miss reduction by simulating cache associativity | |
| JPH11102323A (ja) | 仮想アドレス変換用の柔軟な変換記憶バッファ | |
| CA2057494A1 (en) | Translation lookaside buffer | |
| JPH1091525A (ja) | 変換索引バッファ及びメモリ管理システム | |
| WO1995016962A1 (en) | Dynamic allocation of page sizes in virtual memory | |
| JP7469306B2 (ja) | 仮想ページを不連続なバッキング物理サブページに割り当てることを可能にする方法 | |
| US20070113042A1 (en) | Sparse matrix | |
| US5132927A (en) | System for cache space allocation using selective addressing | |
| JP2000227874A (ja) | コンピュ―タ・システムにおいてディレクトリ構造を含むメイン・メモリの内容にアドレスするための方法および装置 | |
| US7237084B2 (en) | Method and program product for avoiding cache congestion by offsetting addresses while allocating memory | |
| JPH0769867B2 (ja) | 仮想記憶システムのためのディレクトリ索引テーブル論理装置 | |
| JPH0529942B2 (ja) | ||
| JPH0320847A (ja) | キャッシュメモリ制御方式 | |
| US6567907B1 (en) | Avoiding mapping conflicts in a translation look-aside buffer | |
| JP2008511882A (ja) | 一意のタスク識別子を用いてデータを共用する仮想アドレス・キャッシュ及び方法 | |
| US7143239B2 (en) | Cache structure and methodology |