JP3841998B2 - 分散式キャッシュメモリーのマッピング方法 - Google Patents

分散式キャッシュメモリーのマッピング方法 Download PDF

Info

Publication number
JP3841998B2
JP3841998B2 JP2000019307A JP2000019307A JP3841998B2 JP 3841998 B2 JP3841998 B2 JP 3841998B2 JP 2000019307 A JP2000019307 A JP 2000019307A JP 2000019307 A JP2000019307 A JP 2000019307A JP 3841998 B2 JP3841998 B2 JP 3841998B2
Authority
JP
Japan
Prior art keywords
memory
bits
area
address
cacheable
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
JP2000019307A
Other languages
English (en)
Other versions
JP2000259499A (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.)
Via Technologies Inc
Original Assignee
Via Technologies Inc
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 Via Technologies Inc filed Critical Via Technologies Inc
Publication of JP2000259499A publication Critical patent/JP2000259499A/ja
Application granted granted Critical
Publication of JP3841998B2 publication Critical patent/JP3841998B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0888Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches using selective caching, e.g. bypass

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Description

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

Claims (4)

  1. タグメモリによるアドレス比較対象となるアドレスビット列から複数個のビットを選択し、
    前記複数個のビットがとりうる値のそれぞれについて、そのとりうる値となっている複数個のビットを含むアドレスの集合であるアドレス領域が、キャッシュ可能領域であるのか、または、キャッシュ不可能領域であるのかを定義し、
    キャッシュ可能領域であると定義されたアドレス領域についてのみ、前記複数個のビットの値に対応する、前記複数個のビットのビット数よりも少ないビット数をもつタグコードを定義し、
    タグメモリには前記複数個のビットの代わりに前記タグコードを格納し、
    前記アドレスビット列の値に対応してアドレスが連続的に特定されているシステムメモリのアドレス領域において、該アドレスビット列の値の最小値で特定されるアドレスを含む領域である最下層と、該アドレスビット列の値の最大値で特定されるアドレスを含む領域である最上層とを、予め前記キャッシュ可能領域に設定する、
    ことを特徴とするキャッシュメモリのマッピング方法。
  2. タグメモリによるアドレス比較対象となるアドレスビット列から複数個のビットを選択し、
    前記複数個のビットがとりうる値のそれぞれについて、そのとりうる値となっている複数個のビットを含むアドレスの集合であるアドレス領域が、キャッシュ可能領域であるのか、または、キャッシュ不可能領域であるのかを定義し、
    キャッシュ可能領域であると定義されたアドレス領域についてのみ、前記複数個のビットの値に対応する、前記複数個のビットのビット数よりも少ないビット数をもつタグコードを定義し、
    タグメモリには前記複数個のビットの代わりに前記タグコードを格納する、
    ことを特徴とするキャッシュメモリのマッピング方法。
  3. 前記キャッシュ可能領域であるのか、または、キャッシュ不可能領域であるのかの定義は、前記キャッシュメモリのマッピング方法を使用するシステムにより設定されることを特徴とする請求項2記載のキャッシュメモリのマッピング方法。
  4. 前記キャッシュ可能領域は、前記アドレスビット列の値でアドレスが特定されるシステムメモリのアドレス領域において、前記キャッシュメモリのマッピング方法を使用するシステムにより最も頻繁に使用される範囲と判断された範囲を予め設定することを特徴とする請求項2記載のキャッシュメモリのマッピング方法。
JP2000019307A 1999-03-03 2000-01-27 分散式キャッシュメモリーのマッピング方法 Expired - Lifetime JP3841998B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
TW88103217 1999-03-03
TW88103217A TW417048B (en) 1999-03-03 1999-03-03 Mapping method of distributed cache memory

Publications (2)

Publication Number Publication Date
JP2000259499A JP2000259499A (ja) 2000-09-22
JP3841998B2 true JP3841998B2 (ja) 2006-11-08

Family

ID=21639846

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000019307A Expired - Lifetime JP3841998B2 (ja) 1999-03-03 2000-01-27 分散式キャッシュメモリーのマッピング方法

Country Status (3)

Country Link
JP (1) JP3841998B2 (ja)
DE (1) DE19957810A1 (ja)
TW (1) TW417048B (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10101552A1 (de) * 2001-01-15 2002-07-25 Infineon Technologies Ag Cache-Speicher und Verfahren zur Adressierung
DE10158393A1 (de) 2001-11-28 2003-06-12 Infineon Technologies Ag Speicher für die Zentraleinheit einer Rechenanlage, Rechenanlage und Verfahren zum Synchronisieren eines Speichers mit dem Hauptspeicher einer Rechenanlage
JP2011028537A (ja) 2009-07-27 2011-02-10 Buffalo Inc 外部記憶装置へのアクセスを高速化する方法および外部記憶システム

Also Published As

Publication number Publication date
JP2000259499A (ja) 2000-09-22
DE19957810A1 (de) 2000-09-07
TW417048B (en) 2001-01-01

Similar Documents

Publication Publication Date Title
CN110998549B (zh) 地址转换缓存
TWI784084B (zh) 資料管理方法、多處理器系統以及非暫態電腦可讀取儲存媒體
US6446188B1 (en) Caching dynamically allocated objects
KR930004430B1 (ko) 가상 캐쉬를 이용하는 다중 처리컴퓨터 시스템의 일치성 유지장치
US5717890A (en) Method for processing data by utilizing hierarchical cache memories and processing system with the hierarchiacal cache memories
US5689679A (en) Memory system and method for selective multi-level caching using a cache level code
JP3740195B2 (ja) データ処理装置
US5684976A (en) Method and system for reduced address tags storage within a directory having a tree-like data structure
KR102157354B1 (ko) 효율적으로 압축된 캐시 라인의 저장 및 처리를 위한 시스템 및 방법
US20080215816A1 (en) Apparatus and method for filtering unused sub-blocks in cache memories
US20110161597A1 (en) Combined Memory Including a Logical Partition in a Storage Memory Accessed Through an IO Controller
US6766424B1 (en) Computer architecture with dynamic sub-page placement
JP2008507019A (ja) メモリ管理システム
US4737909A (en) Cache memory address apparatus
US5737752A (en) Cache replacement mechanism
US5132927A (en) System for cache space allocation using selective addressing
US5905997A (en) Set-associative cache memory utilizing a single bank of physical memory
US6202128B1 (en) Method and system for pre-fetch cache interrogation using snoop port
JP3841998B2 (ja) 分散式キャッシュメモリーのマッピング方法
KR20020010922A (ko) 캐시 메모리용 상태 비트
CN117591441A (zh) 电路和方法
JP2007280421A (ja) データ処理装置
JP5224959B2 (ja) キャッシュシステム
JPS5918786B2 (ja) 階層構成メモリ・システム
JPH09259041A (ja) キャッシュメモリ制御方式

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20060330

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060411

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060629

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20060711

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20060809

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 3841998

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100818

Year of fee payment: 4

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110818

Year of fee payment: 5

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110818

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120818

Year of fee payment: 6

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120818

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130818

Year of fee payment: 7

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term