(57)【特許請求の範囲】
【請求項１】
タグメモリによるアドレス比較対象となるアドレスビット列から複数個のビットを選択し、
前記複数個のビットがとりうる値のそれぞれについて、そのとりうる値となっている複数個のビットを含むアドレスの集合であるアドレス領域が、キャッシュ可能領域であるのか、または、キャッシュ不可能領域であるのかを定義し、
キャッシュ可能領域であると定義されたアドレス領域についてのみ、前記複数個のビットの値に対応する、前記複数個のビットのビット数よりも少ないビット数をもつタグコードを定義し、
タグメモリには前記複数個のビットの代わりに前記タグコードを格納し、
前記アドレスビット列の値に対応してアドレスが連続的に特定されているシステムメモリのアドレス領域において、該アドレスビット列の値の最小値で特定されるアドレスを含む領域である最下層と、該アドレスビット列の値の最大値で特定されるアドレスを含む領域である最上層とを、予め前記キャッシュ可能領域に設定する、
ことを特徴とするキャッシュメモリのマッピング方法。
【請求項２】
タグメモリによるアドレス比較対象となるアドレスビット列から複数個のビットを選択し、
前記複数個のビットがとりうる値のそれぞれについて、そのとりうる値となっている複数個のビットを含むアドレスの集合であるアドレス領域が、キャッシュ可能領域であるのか、または、キャッシュ不可能領域であるのかを定義し、
キャッシュ可能領域であると定義されたアドレス領域についてのみ、前記複数個のビットの値に対応する、前記複数個のビットのビット数よりも少ないビット数をもつタグコードを定義し、
タグメモリには前記複数個のビットの代わりに前記タグコードを格納する、
ことを特徴とするキャッシュメモリのマッピング方法。
【請求項３】
前記キャッシュ可能領域であるのか、または、キャッシュ不可能領域であるのかの定義は、前記キャッシュメモリのマッピング方法を使用するシステムにより設定されることを特徴とする請求項２記載のキャッシュメモリのマッピング方法。
【請求項４】
前記キャッシュ可能領域は、前記アドレスビット列の値でアドレスが特定されるシステムメモリのアドレス領域において、前記キャッシュメモリのマッピング方法を使用するシステムにより最も頻繁に使用される範囲と判断された範囲を予め設定することを特徴とする請求項２記載のキャッシュメモリのマッピング方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明はメモリーの読取方式の技術に関し、特にキャッシュメモリーのマッピング方式に関する。
【０００２】
【従来の技術】
図1は従来のキャッシュメモリー装置のブロック図である。キャッシュメモリー装置１１０は主にキャッシュメモリー１１１とキャッシュ制御回路１１２により構成される。キャッシュ制御回路１１２はキャッシュメモリー１１１を制御して、キャッシュメモリー装置１１０全体の動作を担う。キャッシュメモリー１１１は更にデータメモリー１１３とタグメモリー（tag RAM）１１４とを含む。データメモリー（data RAM）１１３はシステムメモリー１４０に対応したデータを保存して、タグメモリー１１４はシステムメモリー１４０に対応するアドレスデータを保存する。並びにビットをダーティービット（dirty bit）にして、データメモリー１１３中のデータが更新されたかどうか識別する。
【０００３】
図２（Ａ）はキャッシュメモリーとシステムメモリーと間の対応状況を示したものである。キャッシュメモリーにはシステムメモリーの一部分のデータだけが保存できるため、実際にはシステムメモリーに対応するデータをデータメモリーに保存して、データメモリーが保存したデータのシステムメモリーにおけるアドレスの一部分に対応するビット列をタグメモリー中に保存する。そのためデータメモリーのインデックスアドレスとタグメモリー中のビット列とを組み合わせたものが、図２（Ｂ）が示すように、システムメモリーの実際アドレスに等しい。システムメモリー中の各データのアドレスは、キャッシュメモリー全てが位置とデータのアドレス対応を有し、この種のキャッシュメモリー構造は直接マッピング（direct mapped）で、システムメモリーの各位置は全てキャッシュメモリー中のある位置にマッピングされる。
【０００４】
キャッシュメモリーには、システムメモリーの一部分だけのデータを保存することができ、ＣＰＵ動作時、主にキャッシュメモリーに対して読み書きを行う。そのためキャッシュ装置はＣＰＵの読み書きデータ要求を処理する時、必ずキャッシュメモリーに命中したかどうか、或いは新しくシステムメモリーのデータをメモリーへ送るかどうか判断しなければならない。命中の判断方法は、ＣＰＵが送出した読み要求或いは書き要求を受け取った時、ＣＰＵ送出のアドレスとタグメモリーの内容を比較して、同じだと命中とする。キャッシュメモリーはタグマッピングの方法により、メモリーをキャッシュ可能（cachable）に設定する。即ちこれは前述の命中である。一般のタグビットには限界があり、一般的には８ビット或いは７ビットだけのため、メモリーがタグビットの影響を受けて、キャッシュ可能部分とキャッシュ不可能部分（non-cachable）とに分けられる。
【０００５】
仮にシステムメモリーのサイズが２５６Ｍ、キャッシュメモリーが５１２Ｋで８ビットのタグを有する場合を例にとると、それはマッピング（mapping）できる最大キャッシュ可能（cachable）範囲がタグビットサイズの制限を受ける。それは図３が示すように５１２Ｋの２8倍、即ち１２８Ｍである。従来のキャッシュメモリーのマッピング方法は、キャッシュ可能メモリーの範囲を連続させて、図３の２５６Ｍシステムメモリー（system memory）の第一部分２００ａが示すように、０Ｍから１２８Ｍの範囲がキャッシュ部分で、１２８Ｍから２５６Ｍの範囲のメモリーはキャッシュ可能制御器（cachable controller）により不可能キャッシュ（non-cachable）メモリーの範囲に設定される。上述したことからわかるように、従来のキャッシュメモリーのタグマッピング方式はメモリーを単純に二つの部分に分けて、一部分を下層のキャッシュ可能メモリー２００ａ、もう一部分を上層のキャッシュ不可能メモリー２００ｂに分けた。オペレーティングシステム（operating system, OS）は一般的に上層のメモリーを利用してスタック（stack）或いは状態維持（status keeping）をつくり、例えば２５６Ｍのアドレスから下方向へスタック或いは０Ｍのアドレスから上方向へスタックを開始する。従来のキャッシュ可能範囲のタグマッピング方法ではメモリーの下層部分２００ａ、０〜１２８Ｍしかキャッシュ可能範囲にすることができなかったため、オペレーティングシステムの効率はとても悪かった。そのため、システムメモリーの最上層２００ｂと最下層２００ａをどのようにキャッシュ可能範囲にするかがキャッシュメモリーの課題であった。
【０００６】
【発明が解決しようとする課題】
上述したことをまとめると、従来のキャッシュメモリーのタグマッピング方法では１つの連続したキャッシュ可能メモリー領域、つまりシステムメモリーの下層部分までしかマッピングできなかったために、オペレーティングシステムが頻繁にアクセスする最上層部分メモリーをキャッシュメモリー可能範囲にすることができなかったために、システム全体の効率が悪かった。
【０００７】
本発明の目的は分散式キャッシュメモリーのマッピング方法を提供して、システムメモリーの最上層部分と最下層部分とをキャッシュ可能なメモリーにすることである。
本発明の次なる目的は分散式キャッシュメモリーのマッピング方法を提供して、システムメモリーのキャッシュ可能範囲分散の必要性に合わせて、連続メモリー領域に限定する必要をなくす。
本発明の更なる目的は分散式キャッシュメモリーのマッピング方法を提供して、オペレーティングシステムのアクセスが最も頻繁なシステムメモリー部分をキャッシュ可能範囲に設定して、システム効率を高めることである。
【０００８】
【課題を解決するための手段】
上記とその他の目的を達成するために、本発明は分散式キャッシュメモリーのマッピング方法を提供して、簡単に述べると下記の通りとなる。
本明細書掲載の分散式キャッシュメモリーのマッピング方法は、アドレスビット列中で一組のアドレスビットを選んで、タグマッピング表との対応に用いる。選び出された特定アドレスビットの値の可能組合せは使用者の定義により、その相対応するタグマッピングテーブルがマッピングしたシステムメモリーをキャッシュ可能領域またはキャッシュ不可能領域にする。なぜならタグマッピング表がマッピングしたシステムメモリーをキャッシュ可能領域またはキャッシュ不可能領域にするのは、使用者が特定アドレスビットを加えて定義することによるため、システムメモリーの最上層部分と最下層部分は同時にキャッシュ部分に定義することができる。或いは使用者の要求に合わせて、それら領域をキャッシュ可能範囲あるいはキャッシュ不可能範囲にして、メモリーのキャッシュ可能範囲は連続分布ではなく、必要に合わせた分散（scatter）分布とする。
【０００９】
使用者は本発明が提出するマッピング方法により、オペレーティングシステムが頻繁にアクセスするシステムメモリーの最上層領域と最下層領域をキャッシュ可能範囲にして、システムの効率を高める。
本発明の上記の目的、特徴、および長所をより明らかにするために、比較的良い実施形態を次に記し、図面と合わせて、詳しい説明を行う。
【００１０】
【発明の実施の形態】
本発明の分散式キャッシュメモリーのマッピング方法は、システムが頻繁にアクセスするメモリー領域をキャッシュ可能メモリーにして、システムアクセスメモリーの効率を高める。
アドレスを示すビット列（アドレスビット列）中で、比較的上位のビット位置の一組のビットを選んでタグマッピング表（tag mapping table）と対応するのに使用する。一組のビットの値の可能組合せを選んで使用者が定義して、その相対応するタグマッピング表がマッピングしたシステムメモリーをキャッシュ可能領域またはキャッシュ不可能領域にする。タグマッピング表がマッピングしてシステムメモリーをキャッシュ可能領域またはキャッシュ不可能領域にするのは、使用者がビットを加えて定義する。そのためシステムメモリーの最上層部分と最下層部分を同時にキャッシュ可能部分にすることができる。或いは使用者のニーズにより、それらの領域をキャッシュ可能範囲或いはキャッシュ不可能範囲として、メモリーのキャッシュ可能範囲を連続分布ではなく、分散（scatter）分布とする。
【００１１】
図４は本発明の分散式キャッシュメモリーのマッピング方法で、タグマッピング表とメモリーと間の対応関係を示し、本発明の操作方式とその機能を説明する。
アドレスビット列中で、比較的上位のビット位置の一組のビットをタグビットと対応するアドレスにして、このビットはエンコード方法を経る。エンコード後のビットがタグビットと一致した時、メモリーはキャッシュ可能部分となり、これによりメモリーのキャッシュ可能範囲を分散式とし、従来一般の連続分布のタイプとはしない。
【００１２】
例によると、アドレスビット列中のビットＡ[22:20]をタグと相対応するビットにして、三個のビットの組合せによるタグマッピング表が対応するキャッシュ可能メモリー部分を決定する。ここではメモリー容量を８Ｍとしたものを例とする。キャッシュメモリーサイズは５１２Ｋ、タグ（tag）は三桁の数の場合、タグがマッピングするキャッシュ可能メモリーのサイズは５１２Ｋの２3倍、即ち４Ｍのサイズである。これは即ち、８Ｍのメモリー中の４Ｍがキャッシュ可能ということである。
【００１３】
Ａ[22:20]のアドレスビット合計が８種類の異なる組合せで、例えば図４が示す（０００）から（１１１）の順番で、其れはそれぞれメモリーの８個の部分、８Ｍ〜７Ｍ、７Ｍ〜６Ｍ、…、２Ｍ〜１Ｍおよび１Ｍ〜０Ｍなどの８個のメモリー領域に対応する。この実施形態では、メモリーを八等分に分ける。
【００１４】
なぜならオペレーティングシステムは、一般的に上層のメモリーを利用してスタック或いは状態の維持をつくる。そのためその領域のメモリーは頻繁にアクセスされるので、最上層部分と最下層部分を予めキャッシュ可能範囲に設定する。図４の８Ｍ〜７Ｍと１Ｍ〜０Ｍの二つの部分のサイズは２Ｍである。残りの２Ｍの範囲はニーズに合わせて設定することができる。最後にメモリー中のキャッシュ可能範囲は図が示すように、分散式分布を呈して、並びにシステムアクセスが最も頻繁な最上層と最下層（例えば８Ｍ〜７Ｍと１Ｍ〜０Ｍの二つの部分）をキャッシュ可能部分に設定する。このようにしてシステムアクセスメモリーの効率を大幅に高める。
【００１５】
図５が示すのは、Ａ[22:20]が（011）の状況で、エンコード方法を経てタグコードを（01）にする。また対応するメモリー範囲が５Ｍ〜４Ｍの対応図である。このため、キャッシュメモリーが５１２Ｋを有し、８ビットのタグを有する時、キャッシュ可能メモリーのサイズは１２８Ｍである。８Ｍを一単位として、上述の方法によると、選択したアドレスとエンコード方法はタグビットをメモリーキャッシュ可能範囲に向けて分散して、メモリー上層と下層部分等の、範囲システムがよく使用する範囲をキャッシュ可能メモリーにしてシステム効率を高める。
【００１６】
【発明の効果】
そのため、本発明の特徴はアドレスビット列中の特定のビットをタグビット対応のビットにして、この特定ビットはエンコード方法を経て、タグビットと一致するとき、メモリーをキャッシュ可能部分に変化させて、メモリーのキャッシュ可能範囲を分散式にして、従来一般の連続分布と異なるタイプとする。
本発明のもう一つの特徴は、システムメモリーの最上層と最下層部分をキャッシュ可能範囲にすることである。この部分はオペレーティングシステムのアクセスが最も頻繁な部分なため、これによりシステムアクセスメモリーの効率は大幅に高まる。
本発明の更なる特徴はシステムメモリーのキャッシュ可能範囲を自由に設定できるため、従来の連続分布タイプに限定されないことである。
【００１７】
この発明を好適な実施形態により開示したが、もとよりこの発明を限定するためのものではなく、この技術に習熟したものであれば明らかであるように、この発明の技術思想の範囲において、適当な変更ならびに修正が当然なされうるものであるから、その特許権保護の範囲は特許請求の範囲および、それと均等な領域を基準として定めなければならない。
【図面の簡単な説明】
【図１】  従来のキャッシュメモリー装置のブロック図。
【図２】  （Ａ）はキャッシュメモリーとシステムメモリーと間の対応状況を示す図であり、（Ｂ）はキャッシュメモリーのアドレス設定方法を示す図。
【図３】  従来のシステムメモリーのキャッシュ可能範囲とキャッシュ不可能範囲を示す図。
【図４】  本発明のタグマッピング表とメモリー間の対応関係を示す図。
【図５】  図４のアドレス対応実施形態の図。
【符号の説明】
１１０      キャッシュメモリー装置（cache memory device）
１１１      キャッシュメモリー（cache memory）
１１２      キャッシュ制御回路（cache memory control circuit）
１１３      データメモリー（data RAM）
１１４      タグメモリー（tag RAM）
１２０      中央処理装置（central processing unit）
１４０      システムメモリー（system memory）
１５０      バス
２００ａ    キャッシュ可能範囲のメモリー
２００ｂ    キャッシュ不可能範囲のメモリー
【図１】
0003841998.tif 000002
【図２】
0003841998.tif 000003
【図３】
0003841998.tif 000004
【図４】
0003841998.tif 000005
【図５】
0003841998.tif 000006