Cache memory

阅读:257发布:2020-11-17

专利汇可以提供Cache memory专利检索,专利查询,专利分析的服务。并且PURPOSE: To detect the occurrence of a problem (alias) that data on a physical place simultaneously exist on two or more places in a direct map type cache memory having capacity larger than page size by means of hardware.
CONSTITUTION: The cache memory is provided with tag memories 2, 3 each of which is divided by a bit of a virtual page number in an index, comparators 5, 6 for inputting data read out from the tag memories 2, 3 and physical addresses to be address conversion results, a selection circuit 7 for selecting either one of outputs from the comparators 5, 6 in accordance with the bit of the virtual page number in the index and outputting a cache hit HIT and a selection circuit 8 for outputting the existnce/absence of alias based upon the OR of the output from the non-selected comparator.
COPYRIGHT: (C)1994,JPO&Japio,下面是Cache memory专利的具体信息内容。

【特許請求の範囲】
  • 【請求項1】 それぞれ仮想アドレスの第1の部分により選択される複数の領域に所定のタグデータを記憶しておき前記第1の部分により選択された領域から記憶しているタグデータを読出す第1及び第2のタグメモリバンクと、これら第1及び第2のタグメモリバンクの各領域とそれぞれ対応しかつ前記仮想アドレスの第2の部分で選択される領域をもちこれら各領域に所定のデータを記憶しておき前記仮想アドレスの第2の部分により選択された領域から記憶しているデータを読出すデータメモリと、前記仮想アドレスの第3の部分と対応する物理アドレスと前記第1及び第2のタグメモリバンクから読出されたタグデータとをそれぞれ対応して比較する第1及び第2の比較器と、前記仮想アドレスの第2の部分の特定のビットに従って前記第1及び第2の比較器のうちの一方の出力を選択しキャッシュヒット信号として出力する第1の選択回路と、前記仮想アドレスの第2の部分の特定のビットに従って前記第1及び第2の比較器のうちの他方の出力を選択しエイリアス信号として出力する第2
    の選択回路とを有することを特徴とするキャッシュメモリシステム。
  • 说明书全文

    【発明の詳細な説明】

    【0001】

    【産業上の利用分野】本発明はキャッシュメモリシステムに関し、特に主記憶装置とCPUとの間に置かれるダイレクトマップ方式のキャッシュメモリシステムに関する。

    【0002】

    【従来の技術】一般にキャッシュメモリシステムは、アソシアティビティのレベルが大きくなるとヒット率が上がるが回路量も増大する。 特に2ウェイセットアソシアティブ方式は、ダイレクトマップ方式に比べるとヒット・ミスヒットの判定後、2つのセットからそのうちの1
    つを選択する必要があるので、キャッシュアクセスタイムが増加する。

    【0003】仮想記憶をもつ計算機で用いられるキャッシュメモリシステムには、仮想アドレス・キャッシュ方式と物理アドレス・キャッシュ方式とがある。

    【0004】仮想アドレス・キャッシュ方式はコンテキスト・スイッチ時にフラッシュする必要があるが、物理アドレス・キャッシュ方式はその必要がないため、大容量の場合、物理アドレス・キャッシュ方式が使われることが多い。

    【0005】物理アドレス・キャッシュ方式では、アドレス変換が終るまでヒット・ミスヒットの判定ができないため、メモリアクセスタイムにアドレス変換のディレイが加わってしまう。 しかしキャッシュメモリのタグとデータのルックアップをアドレス変換と並行して行えばアドレス変換のディレイはキャッシュメモリのルックアップ時間とオーバラップさせることができる。 この構成をとるとキャッシュメモリのサイズは、ページサイズとキャッシュメモリのアソシアティビティのレベルとの積に制限される。 例えばページサイズが4Kバイトであるとすると、グレイクトマップ方式では4Kバイト・2ウェイセットアソシアティブ方式では8Kバイト・4ウェイセットアソシアティブ方式では16Kバイトである。
    このため、ダイレクトマップ方式の方がルックアップ時間が短くても、ルックアップとアドレス変換とを同時にできないため全体のアクセス時間が大きくなってしまう。

    【0006】インデックスに仮想アドレスを使い、タグに物理アドレスを使った場合は、仮想インデックスのキャッシュでもコンテキスト・スイッチに伴うキャッシュ・フラッシュの必要はない。 しかし、1つの物理的な場所にあるデータが、2つ以上のキャッシュメモリ上の場所に同時に存在する、いわゆるエイリアス(Alia
    s)という問題が生じる。 この問題を避けるために、従来はアソシアティビティのレベルを大きくした物理アドレス・キャッシュ方式を用いるか、またはオペレーティング・システムで使用しているページを管理しておき、
    エイリアスが生じる可能性があるときはソフトウェアでキャッシュメモリを操作してエイリアスを避けていた。

    【0007】

    【発明が解決しようとする課題】上述した従来のキャッシュメモリシステムでは、エイリアスの管理をソフトウェアによって行っているので、ソフトウェアの負担が重くなる上動作速度が遅くなるという問題点があった。

    【0008】本発明の目的は、ソフトウェアの負担を軽減し動作速度を速くすることができるキャッシュメモリシステムを提供することにある。

    【0009】

    【課題を解決するための手段】本発明のキャッシュメモリシステムは、それぞれ仮想アドレスの第1の部分により選択される複数の領域に所定のタグデータを記憶しておき前記第1の部分により選択された領域から記憶しているタグデータを読出す第1及び第2のタグメモリバンクと、これら第1及び第2のタグメモリバンクの各領域とそれぞれ対応しかつ前記仮想アドレスの第2の部分で選択される領域をもちこれら各領域に所定のデータを記憶しておき前記仮想アドレスの第2の部分により選択された領域から記憶しているデータを読出すデータメモリと、前記仮想アドレスの第3の部分と対応する物理アドレスと前記第1及び第2のタグメモリバンクから読出されたタグデータとをそれぞれ対応して比較する第1及び第2の比較器と、前記仮想アドレスの第2の部分の特定のビットに従って前記第1及び第2の比較器のうちの一方の出を選択しキャッシュヒット信号として出力する第1の選択回路と、前記仮想アドレスの第2の部分の特定のビットに従って前記第1及び第2の比較器のうちの他方の出力を選択しエイリアス信号として出力する第2
    の選択回路とを有している。

    【0010】

    【実施例】次に本発明の実施例について図面を参照して説明する。

    【0011】図1は本発明の一実施例を示すブロック図である。

    【0012】この実施例は、それぞれ仮想アドレスAD
    の第1の部分のページ・オフセットVAOS(A11〜
    A4)により選択される複数の領域に所定のタグデータを記憶しておきこのページ・オフセットVAOS(A1
    1〜A4)により選択された領域から記憶しているタグデータを読出す第1及び第2のタグメモリバンク2,3
    と、これら第1及び第2のタグメモリバンク2,3の各領域とそれぞれ対応しかつ仮想アドレスVAの第2の部分(A12〜A4)で選択される領域をもちこれら各領域に所定のデータを記憶しておき仮想アドレスVAの第2の部分(A12〜A4)により選択された領域から記憶しているデータを読出すデータメモリ4と、仮想アドレスVAの第3の部分A31〜A12と対応する物理ページ番号RAPN(RA31〜RA12)と第1及び第2のタグメモリバンク2,3から読出されたタグデータとをそれぞれ対応して比較する第1及び第2の比較器5,6と、仮想アドレスVAの第2の部分の特定のビットA12に従って第1及び第2の比較器5,6のうちの一方の出力を選択しキャッシュヒット信号CHTとして出力する第1の選択回路7と、同様に特定のビットA1
    2に従って第1及び第2の比較器のうちの他方の出力を選択しエイリアス信号ALとして出力する第2の選択回路8と、タグメモリブロック2,3の領域を選択するデコーダ1とを有する構成となっている。

    【0013】次にこの実施例の動作について説明する。

    【0014】(1)ページサイズが固定の場合 まず、ページサイズが4Kバイトに固定されており、キャッシュメモリのサイズが8Kバイトの場合の動作について説明する。

    【0015】32ビットの仮想アドレスVA(A31〜
    A0)は、仮想ページ番号VAPN(A31〜A12)
    とページ・オフセットVAOS(A11〜A0)とからなり、仮想ページ番号VAPNは物理ページ番号RAP
    N(RA31〜RA12)に変換されて入力される。 図2に仮想アドレスVAの構成を示す。 データメモリ4
    は、データブロックサイズが16バイト、エントリ数が「512」であり、インデックスのために9ビット必要である。 仮想アドレスVA(A3〜A0)はデータブロック内のバイト位置を示す。 従ってアドレス変換と1次キャッシュのルック・アップを同時に行うためにページ・オフセットVAOS(A11〜A4)の他に仮想ページ番号VAPNのLSBA12を併せてインデックスに使う。 前述したように、ページサイズが4Kバイトのとき、8Kバイトのダイレクトスップ方式では2つの異った“色”をもち、この色はインデックスに使われているA12によって決められる。

    【0016】ここでキャッシュの“色”について定義する。 キャッシュメモリの各領域はある“色”をもっており、あるページ内の番地はすべて同じ“色”をもつ。 例えば4ページのサイズのダイレクトマップ方式では4つの異った“色”をもつ。 キャッシュメモリ内の同じ領域にマッピングされるアドレスは、同じ“色”をもつという。 仮想インデックス方式のキャッシュの“色”は、仮想ページ番号のうちのインデックスに使われるビットによって決められる。 本発明は、タグを“色”ごとのバンクに分け、各バンクごとにアドレス・コンパレータを設けることによってエイリアスを検出する。

    【0017】タグメモリは各々256エントリの2つのタグメモリバンク2,3からなり、ページ・オフセットVAOS(A11〜A4)によって1つのエントリが選ばれる。 各タグメモリバンク2,3の出力はそれぞれアドレス変換された物理ページ番号RAPN(RA31〜
    RA12)と比較され、選択回路7,8によって、A1
    2が高レベルのときタグメモリバンク2側の比較結果が、低レベルのときタグメモリバンク3側の比較結果が選択され出力されるヒット信号CHTによりヒット・ミスヒットが判定される。 同時に、反対側の比較結果が選択され、出力されるエイリアス信号ALによって一致している場合にはエイリアスが発生したものと判定する。
    選択回路7,8の制御信号としてのA12は、比較結果が出て来るよりも先に決まっているので高速のセレクト動作が可能である。

    【0018】(2)ページサイズが可変の場合 次にページサイズが可変である場合について説明する。
    仮想ページ番号VAPのLSB(A12)をマスクしてページ・オフセットとして扱いページサイズを8Kバイトとする場合を考える。

    【0019】キャッシュの色の領域のサイズは最小のページ・サイズとし大きなページはこの領域の集まりとして考える。 すなわち、ここでは最小のページサイズは4
    Kバイトであるので、キャッシュメモリにマッピングされたとき8Kバイトでは2つの色をもつ。 キャッシュの色は仮想アドレスVA(A12)によって決められ、ページサイズが4Kバイト固定の場合と全く同様の扱いができる。

    【0020】なお、キャッシュメモリのサイズが更に大きい場合にも、キャッシュの色の数だけタグメモリバンクを設けることによって同様の扱いができる。

    【0021】

    【発明の効果】以上説明したように本発明は、インデックス中の仮想ページ番号のビットによってバンクに分割されたタグメモリと、これら各バンクごとに物理アドレスの比較器を設け、比較結果をインデックス中の仮想ページ番号のビットによって選択し、ヒット・ミスヒットを判定すると共に、他方の比較結果によってエイリアスを検出する構成とすることにより、エイリアスの発生をハードウェアで検出することができるため、ソフトウェアの負担を軽減でき、また選択するための制御信号が前もって決まるため選択動作を高速にでき、2ウェイ・セットアソシアティブ方式に比べてキャッシュヒット信号とデータの読出しを高速に行うことができる。 効果がある。

    【図面の簡単な説明】

    【図1】本発明の一実施例を示すブロック図である。

    【図2】図1に示された実施例に適用される仮想アドレスのデータフォーマット図である。

    【符号の説明】

    1 デコーダ 2,3 タグメモリバンク 4 データメモリ 5,6 比較器 7,8,9 選択回路

    ─────────────────────────────────────────────────────

    【手続補正書】

    【提出日】平成5年12月2日

    【手続補正1】

    【補正対象書類名】明細書

    【補正対象項目名】全文

    【補正方法】変更

    【補正内容】

    【書類名】 明細書

    【発明の名称】 キャッシュメモリ

    【特許請求の範囲】

    【発明の詳細な説明】

    【産業上の利用分野】本発明はキャッシュメモリに関し、特に(仮想アドレス・インデックスで物理アドレス・タグの)ダイレクトマップ方式のキャッシュメモリに関する。

    【従来の技術】一般にキャッシュメモリシステムは、アソシアティビティのレベルが大きくなるとヒット率が上がるが回路量も増大する。 例えば2ウェイセットアソシアティブ方式は、ダイレクトマップ方式に比べるとヒット・ミスヒットの判定後、2つのセットからそのうちの1つを選択する必要があるので、キャッシュアクセスタイムが増加する。 仮想記憶をもつ計算機で用いられるキャッシュメモリには、仮想アドレス方式と物理アドレス方式とがある。 仮想アドレス方式はコンテキスト・スイッチ時にフラッシュする必要があるが、物理アドレス方式はその必要がないため、大容量の場合、物理アドレス方式が使われることが多い。 物理アドレス方式では、アドレス変換が終るまでヒット/ミスヒットの判定ができないため、メモリアクセスタイムにアドレス変換のディレイが加わってしまう。 しかしキャッシュメモリのタグとデータのルックアップをアドレス変換と並行して行えばアドレス変換のディレイはキャッシュメモリのルックアップ時間とオーバラップさせることができる。 この構成をとるとキャッシュメモリのサイズは、ページサイズとキャッシュメモリのアソシアティビティのレベルとの積に制限される。 例えばページサイズが4Kバイトであるとすると、グレイクトマップ方式では4Kバイト,2
    ウェイセットアソシアティブ方式では8Kバイト,4ウェイセットアソシアティブ方式では16Kバイトである。 このため、ダイレクトマップ方式の方がルックアップ時間が短くても、ルックアップとアドレス変換とを同時にできないため全体のアクセス時間が大きくなってしまう。 インデックスに仮想アドレスを使い、タグに物理アドレスを使った場合は、仮想インデックスのキャッシュでもコンテキスト・スイッチに伴うキャッシュ・フラッシュの必要はない。 しかし、1つの物理的な場所にあるデータが、2つ以上のキャッシュメモリ上の場所に同時に存在する、いわゆるエイリアス(Alias)という問題が生じる。 この問題を避けるために、従来はアソシアティビティのレベルを大きくした物理アドレス方式を用いるか、またはオペレーティング・システムで使用しているページを管理しておき、エイリアスが生じる可能性があるときはソフトウェアでキャッシュメモリを操作してエイリアスを避けていた。

    【発明が解決しようとする課題】上述した従来のキャッシュメモリでは、エイリアスの管理をソフトウェアによって行っているので、ソフトウェアの負担が重くなるという問題点があった。 本発明の目的は、エイリアス問題をハードウェアで検出することにより解決するキャッシュメモリを提供することにある。

    【課題を解決するための手段】本発明では、キャッシュの“色”について定義する。 キャッシュメモリの各領域はある“色”をもっており、あるページ内の番地はすべて同じ“色”をもつ。 例えば4ページのサイズのダイレクトマップ方式では4つの異った“色”をもつ。 キャッシュメモリ内の同じ領域にマッピングされるアドレスは、同じ“色”をもつという。 仮想インデックス方式のキャッシュの“色”は、仮想ページ番号のうちのインデックスに使われるビットによって決められる。 本発明は、タグを“色”ごとのバンクに分け、各バンクごとにアドレス・コンパレータを設けることによってエイリアスを検出する。 本発明のキャッシュメモリは、ページング方式の仮想記憶を有する計算機で用いられる仮想アドレス・インデックス、物理アドレス・タグのダイレクトマップ方式のキャッシュメモリであって、インデックス中の仮想ページ番号のビットによって分割されたタグメモリと、それぞれタグメモリに対してタグメモリの読み出しデータとアドレス変換結果の物理アドレスを入力とする比較器と、前記比較器の出力を前記インデックス中の仮想ページ番号のビットによって選択しキャッシュ・
    ヒットを出力する選択回路と、選択されなかった比較器の出力の論理和によってエイリアス(1つの物理的な場所にあるデータが2つ以上のキャッシュメモリ状の場所に存在すること)があるかどうかを出力する回路とを有している。

    【実施例】次に本発明の実施例について図面を参照して説明する。 図1は本発明の一実施例を示すブロック図である。 この実施例は、それぞれ仮想アドレスVAのページ・オフセット10(VA11〜VA4)により選択される複数の領域に所定のタグデータを記憶しておきこのページ・オフセット10(VA11〜VA4)により選択された領域から記憶しているタグデータを読出す第1
    及び第2のタグメモリバンク2,3と、これら第1及び第2のタグメモリバンク2.3の各領域とそれぞれ対応しかつ仮想アドレスVA(VA12〜VA4)により選択した領域から記憶しているデータを読出すデータメモリ4と、仮想アドレスVAのVA31〜VA12と対応する物理ページ番号12(RA31〜RA12)と第1
    及び第2のタグメモリバンク2.3から読出されたタグデータとをそれぞれ対応して比較する第1及び第2の比較器5,6と、仮想アドレスVAの特定のビットVA1
    2に従って第1及び第2の比較器5,6のうちの一方の出力を選択しキャッシュヒット信号HITとして出力する第1の選択回路7と、同様に特定のビットVA12に従って第1及び第2の比較器のうちの他方の出力を選択しエイリアス信号ALIASとして出力する第2の選択回路8と、タグメモリブロック2.3の領域を選択するデコーダ1とを有する構成となっている。 次にこの実施例について説明する。 (1)ページサイズが固定の場合 まず、ページサイズが4Kバイトに固定されており、キャッシュメモリのサイズが8Kバイトの場合の動作について説明する。 32ビットの仮想アドレスVA(VA3
    1〜VA0)は、仮想ページ番号13(VA31〜VA
    12)とページ・オフセット10(VA11〜VA0)
    とからなり、仮想ページ番号11は物理ページ番号12
    (RA31〜RA12)に変換される。 図2に仮想アドレスVAの構成を示す。 データメモリ4は、データブロックサイズが16バイト、エントリ数が512個であり、インデックスのために9ビット必要である。 仮想アドレスVA512個のうち下位4ビット(VA3〜VA
    0)はデータブロック内のバイト位置を示す。 従ってアドレス変換と1次キャッシュのルック・アップを同時に行うためにページ・オフセット10(VA11〜VA
    4)の他に仮想ページ番号11のLSB(VA12)を併せてインデックスに使う。 前述したように、ページサイズが4Kバイトのとき、8Kバイトのダイレクトマップ方式では2つの異った“色”をもち、この色はインデックスに使われているVA12によって決められる。 タグメモリは各々256エントリの2つのタグメモリバンク2.3からなり、ページ・オフセット10(VA11
    〜VA4)によって1つのエントリが選ばれる。 各タグメモリバンク2.3の出力はそれぞれアドレス変換された物理ページ番号12(RA31〜RA12)と比較され、選択回路7,8によって、VA12がハイレベルのときタグメモリバング2側の比較結果が、ロウレベルのときタグメモリバンク3側の比較結果が選択され出力されるヒット信号HITによりヒット/ミスヒットが判定される。 同時に、反対側の比較結果が選択され、出力されるエイリアス信号ALIASによって一致している場合にはエイリアスが発生したものと判定する。 選択回路7,8の制御信号としてのVA12は、比較結果が出て来るよりも先に決まっているので高速のセレクト動作が可能である。 (2)ページサイズが可変の場合 次にページサイズが可変である場合について説明する。
    仮想ページ番号13のLSB(VA12)をマスクしてページ・オフセットとして扱いページサイズを8Kバイトとする場合を考える。 キャッシュの色の領域のサイズは最小のページ・サイズとし大きなページはこの領域の集まりとして考える。 すなわち、ここでは最小のページサイズは4Kバイトであるので、キャッシュメモリにマッピングされたとき8Kバイトでは2つの色をもつ。 キャッシュの色は仮想アドレスVA12によって決められ、ページサイズが4Kバイト固定の場合と全く同様の扱いができる。 なお、キャッシュメモリのサイズが更に大きい場合にも、キャッシュの色の数だけタグメモリバンクを設けることによって同様の扱いができる。

    【発明の効果】以上説明したように本発明は、インデックス中の仮想ページ番号のビットによってバンクに分割されたタグメモリと、これら各バンクごとに物理アドレスの比較器を設け、比較結果をインデックス中の仮想ページ番号のビットによって選択し、ヒット/ミスヒットを判定すると共に、他方の比較結果によってエイリアスを検出する構成とすることにより、エイリアスの発生をハードウェアで検出することができるため、ソフトウェアでエイリアスを管理する場合に比べて、ソフトウェアの負担を軽減でき、また選択するための制御信号が前もって決まるため選択動作を高速にでき、2ウェイ・セットアソシアティブ方式に比べてキャッシュヒット信号とデータの読出しを高速に行うことができる効果がある。

    【図面の簡単な説明】

    【図1】本発明の一実施例を示すブロック図である。

    【図2】図1に示された実施例に適用される仮想アドレスのデータフォーマット図である。

    【符号の説明】 1 デコーダ 2.3 タグメモリバンク 4 データメモリ 5,6 比較器 7,8,9 選択回路 10 仮想ページオフセット 11 マスクビット 12 物理ページ番号 13 仮想ページ番号

    【手続補正2】

    【補正対象書類名】図面

    【補正対象項目名】全図

    【補正方法】変更

    【補正内容】

    【図2】

    【図1】

    高效检索全球专利

    专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

    我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

    申请试用

    分析报告

    专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

    申请试用

    QQ群二维码
    意见反馈