JP2007066312A - キャッシュメモリに保存されるブロック数を制御できるキャッシュメモリシステム及び動作方法 - Google Patents

キャッシュメモリに保存されるブロック数を制御できるキャッシュメモリシステム及び動作方法 Download PDF

Info

Publication number
JP2007066312A
JP2007066312A JP2006229322A JP2006229322A JP2007066312A JP 2007066312 A JP2007066312 A JP 2007066312A JP 2006229322 A JP2006229322 A JP 2006229322A JP 2006229322 A JP2006229322 A JP 2006229322A JP 2007066312 A JP2007066312 A JP 2007066312A
Authority
JP
Japan
Prior art keywords
memory
cache
address
masking
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.)
Granted
Application number
JP2006229322A
Other languages
English (en)
Other versions
JP5745200B2 (ja
Inventor
Dong-Keun Kim
東根 金
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.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co Ltd
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 Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of JP2007066312A publication Critical patent/JP2007066312A/ja
Application granted granted Critical
Publication of JP5745200B2 publication Critical patent/JP5745200B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

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
    • 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/0862Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with prefetch

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)

Abstract

【課題】キャッシュメモリに保存されるブロック数を制御できるキャッシュメモリシステム及び動作方法を提供する。
【解決手段】中央処理装置、第1メモリ、第2メモリ、及びブロック数決定部を備え、第2メモリは、中央処理装置と第1メモリとの間で第1メモリの内部保存領域のブロックを保存し、ブロック数決定部は、第1メモリから第2メモリに保存されるブロックの数を指示するキャッシュメモリシステムである。これにより、空間的局所性が広い領域にかけて存在するデータと隣接する多数のブロックをキャッシュメモリに保存することによって、キャッシュミス回数を減らして、メモリアクセスにかかる時間を短縮することができる。
【選択図】図3

Description

本発明は、キャッシュメモリシステム及び動作方法に係り、さらに具体的には、ブロック数を制御できるキャッシュメモリシステム及び動作方法に関する。
一般的に、中央処理装置(CPU)の処理速度上昇に比べてメモリの処理速度上昇は非常に遅い。これにより、中央処理装置とメモリとの間には、速度差が発生するが、これを解決するために大部分のシステムではキャッシュメモリ(cache memory)構造を採用している。
一般的に、中央処理装置は限定された時間内において、メインメモリの特定領域のみを集中的にアクセスするが、これを空間的局所性(spatial locality)という。キャッシュメモリは、中央処理装置とメインメモリとの間に位置する速い速度のメモリであって、頻繁にアクセスされるメインメモリの一部領域のみを保存して、中央処理装置のメモリアクセス速度を早くする。一般的に、キャッシュメモリは、複数個のブロックから構成され、ブロック単位で読み出し及び書き込み動作を行う。図1は、従来のキャッシュメモリシステム100を示すブロック図である。
図1を参照すれば、従来のキャッシュメモリシステム100は、中央処理装置110、キャッシュメモリ120、及びメインメモリ130を備える。
中央処理装置110がメインメモリ130の特定アドレスADDを要請すれば、まずアドレスADDがキャッシュメモリ120に存在するかどうかが確認される。キャッシュメモリ120にアドレスADDが存在する場合、すなわち、ヒット(hit)する場合、キャッシュメモリ120は、受信されたアドレスADDに該当するデータDATAを中央処理装置110に返還する。
キャッシュメモリ120にアドレスADDが存在しない場合、すなわちミス(miss)である場合、メインメモリ130のアドレスADDを含むブロックがキャッシュメモリ120に保存され、アドレスADDに該当するデータDATAは、中央処理装置110に返還される。ここで、ブロックは、キャッシュメモリ120での読み出し及び書き込みの単位であって、一般的に32バイトまたは64バイトのサイズを有する。
ブロックのサイズが大きければ、局所性を高める側面で有利であるが、キャッシュメモリ120の容量が限定されているため、ブロックのサイズが大きいほど総ブロック数は減少する。これにより、キャッシュメモリ120に保存された内容を頻繁に変更する必要があって、キャッシュメモリ120の性能低下をもたらす。したがって、ほとんどのキャッシュメモリシステムでブロックのサイズは、固定されている。
また、図1に示すような従来のキャッシュメモリシステム100において、キャッシュメモリ120に保存されるメインメモリ130の領域は、1つのブロックにすぎない。これにより、中央処理装置110が、ブロックサイズを超過する空間的局所性を有するデータを頻繁に必要とする場合、キャッシュメモリのヒット率(hit ration)が低下するという問題点がある。
本発明が達成しようとする技術的課題は、基準回数を超えてアクセスするメモリ領域に対応する複数個の隣接したブロックをキャッシュメモリに保存することができるキャッシュメモリシステムを提供するところにある。
本発明が達成しようとする他の技術的課題は、基準回数を超えてアクセスするメモリ領域に対応する複数個の隣接したブロックをキャッシュメモリに保存することができるキャッシュメモリシステムの動作方法を提供するところにある。
前記本発明の技術的課題を達成するための本発明の一実施形態によるキャッシュメモリシステムは、中央処理装置、第1メモリ、第2メモリ、及びブロック数決定部を備える。
第2メモリは、前記中央処理装置と前記第1メモリとの間で前記第1メモリの内部保存領域のブロックを保存する。ブロック数決定部は、前記第1メモリから前記第2メモリに保存される前記ブロックの数を指示する。
前記キャッシュメモリシステムは、前記中央処理装置から発生したアドレスが前記第2メモリに存在する場合、前記アドレスに対応するデータを前記中央処理装置に返還する。前記中央処理装置から発生したアドレスが前記第2メモリに存在しない場合、前記第1メモリで前記アドレスを含み、前記ブロック数決定部から出力される所定の制御信号に対応する数のブロックを読んで、前記第2メモリに保存し、前記アドレスに対応するデータを前記中央処理装置に返還する。
前記キャッシュメモリシステムは、所定のマスキングビットに応答して、前記アドレスから前記マスキングビットに対応する一部ビットを除外したビットであるマスキングアドレスを発生させるマスキング回路をさらに備える。
前記ブロック数決定部は、複数個のエントリを備えるインデックステーブルと、前記マスキングアドレスと、前記エントリに保存され前記第1メモリ上の領域を示すインデックスとを比較して、比較信号を発生させるインデックス比較器とを備える。
前記それぞれのエントリは、前記インデックスを保存するインデックス保存部と、前記マスキングアドレスと同じインデックスが存在する場合、前記比較信号に応答して該当インデックスの接近回数を変化させる接近回数保存部とを備える。
前記ブロック数決定部は、前記接近回数と基準回数とを比較して、前記制御信号を出力する制御信号出力器をさらに備える。前記キャッシュメモリシステムは、前記制御信号に応答して、前記マスキングビットに対応する数の前記第1メモリのブロックを前記第2メモリに保存し、前記アドレスに該当するデータを前記中央処理装置に返還する。
前記キャッシュメモリシステムは、前記接近回数が前記基準回数より大きい場合、前記マスキングビットに対応する数の前記第1メモリのブロックを前記第2メモリに保存し、前記接近回数が前記基準回数と等しいか大きくない場合、一つのブロックを前記第1メモリから前記第2メモリに保存する。
前記第1メモリは、前記中央処理装置より動作速度の遅いメインメモリであり、前記第2メモリは、キャッシュメモリである。前記インデックステーブルは、前記マスキングアドレスと同じ前記インデックスが前記エントリのあらゆるインデックス保存部に存在しない場合、前記マスキングアドレスをインデックスとする新たなエントリを前記インデックステーブルに追加する。
前記それぞれのエントリは、前記各エントリが有効であるかどうかを示す有効ビット確認部をさらに備える。前記第2メモリは、第1キャッシュ及び第2キャッシュを備える。前記アドレスが前記第1キャッシュに存在しない場合にのみ、前記中央処理装置から発生した前記アドレスを前記マスキング回路に伝送するキャッシュミス検査部をさらに備える。
前記制御信号に応答して、前記マスキングビットに対応する数の前記第1メモリのブロックを前記第2キャッシュに保存し、前記アドレスに該当するデータを前記中央処理装置に返還する。前記マスキング回路は、前記アドレスが前記第1キャッシュに存在しない場合にのみ、前記第1キャッシュから発生した前記アドレスを前記マスキングビットに変換する。
前記制御信号に応答して、前記マスキングビットに対応する数の前記第1メモリのブロックを前記第2キャッシュに保存し、前記第1キャッシュから発生したアドレスに該当するデータを前記中央処理装置に返還する。
前記他の技術的課題を達成するための本発明の実施形態によるキャッシュメモリシステムの動作方法は、中央処理装置、第1メモリ、及び第2メモリを備えるキャッシュメモリシステムの動作方法に関する。
キャッシュメモリシステムの動作方法は、受信されたアドレスが第2メモリに存在するかを判断する段階、前記アドレスが前記第2メモリに存在しなければ、前記第2メモリに保存する前記第1メモリのブロック数を決定する段階、及び前記決定された数のブロックを前記第2メモリに保存し、前記アドレスに該当する前記第1メモリのデータを前記中央処理装置に出力する段階を含む。
本発明によるキャッシュメモリシステム及びキャッシュメモリシステムの動作方法は、空間的局所性が広い領域にかけて存在するデータと隣接する多数のブロックをキャッシュメモリに保存することによって、キャッシュミス回数を減らしてメモリアクセスにかかる時間を短縮することができる。
本発明、その動作上の利点、及び本発明の実施によって達成される目的を十分に理解するためには、本発明の望ましい実施形態を例示する添付図面及び添付図面に記載された内容を参照しなければならない。
以下、添付した図面を参照して本発明の望ましい実施形態を説明することによって、本発明を詳細に説明する。各図面に提示された同じ参照符号は、同じ部材を示す。
図2は、本発明の実施形態によるキャッシュメモリシステムを示すブロック図である。
図2を参照すれば、キャッシュメモリシステム200は、中央処理装置(Central Processing Unit)210、第1メモリ230、第2メモリ220、ブロック数決定部260を備える。第1メモリ230は、中央処理装置210より相対的に速度が遅く、このような速度差を克服するために中央処理装置210と第1メモリ230との間で第1メモリ230の一部領域を保存する第2メモリ220が存在する。
第1メモリ230は、メインメモリであり、第2メモリは、キャッシュメモリである。以下では、説明の便宜上、第1メモリ230をメインメモリ、第2メモリをキャッシュメモリと命名する。
本発明のキャッシュメモリシステム200は、従来のキャッシュメモリシステム100でブロックの数が固定される問題点を解決するために、ブロック数決定部260を備える。ブロック数決定部260は、メインメモリ230からキャッシュメモリ220に保存されるブロックBLKの数を指示するために制御信号CTRLを出力する。ここで、ブロックBLKは、メインメモリ230内部の保存領域を示す。
本発明のキャッシュメモリシステム200は、マスキング回路250をさらに備えうる。マスキング回路250は、マスキングビットMBITを使用して、中央処理装置210から受信したアドレスADDをマスキングアドレスMADDに変換する。さらに詳細に説明すれば、マスキングアドレスMADDは、中央処理装置210から受信したアドレスADDのビットのうち、マスキングビットMBITに対応するビットを除外したビットを含むことができる。例えば、中央処理装置210から受信したアドレスADDが32ビットであり、マスキングビットMBITが前記アドレスADDの下位8ビットに対応すると仮定すれば、マスキングアドレスMADDは、前記アドレスADDの上位24ビットにすることができる。また、マスキングアドレスMADDは、前記アドレスADDの上位24ビットとマスキングビットMBITの8ビットとからなることができる。
ブロック数決定部260は、マスキングアドレスMADDを使用してキャッシュメモリ220に保存するブロック数を決定する。
図3は、図2のブロック数決定部260を示すブロック図である。
図3を参照すれば、ブロック数決定部260は、インデックステーブル261、インデックス比較器267、及び制御信号出力器269を備える。インデックステーブル261は、マスキングアドレスMADDから抽出したインデックスIDXを保存し、接近回数CNTを出力する。
インデックスIDXは、マスキングアドレスMADD自体であるか、またはマスキングビットMBITによりマスキングされたビットを除外した残りにすることができる。インデックス比較器267は、マスキング回路250から受信されたマスキングアドレスMADDとインデックスIDXとを比較して比較信号CMPを出力する。
インデックステーブル261は、複数個のエントリENTを備えるが、それぞれのエントリENTは、インデックス保存部263と接近回数保存部264とを備える。インデックス保存部263は、インデックスIDXを保存し、接近回数保存部264は、インデックス比較器265の比較信号CMPに応じて該当インデックスの接近回数を増加させる。
エントリENTは、有効ビット確認部265をさらに備えうる。有効ビット確認部265は、インデックステーブル261内の各エントリが有効であるかどうかを示すビットであって、初期には無効、例えば論理0に設定されており、インデックス保存部263にインデックスIDXが保存されれば、有効、例えば論理1に設定される。
ブロック数決定部260は、制御信号出力器269をさらに備えうる。制御信号出力器269は、接近回数CNTと基準回数REFとを比較して、メインメモリ230からキャッシュメモリ220に保存するブロック数を指示する制御信号CTRLを出力する。
図2と図3とを参照して、本発明のキャッシュメモリシステム200を詳細に説明する。
中央処理装置210がメインメモリ230の特定アドレスADDに保存されたデータDATAを要請すれば、キャッシュメモリシステム200は、まず、アドレスADDがキャッシュメモリ220に存在するか否かを確認する。キャッシュメモリ220にアドレスADDが存在する場合、すなわちヒットである場合、受信されたアドレスADDに該当するデータDATAを中央処理装置210に返還する。
キャッシュメモリ220にアドレスADDが存在しない場合、すなわちミスである場合、メインメモリ230からアドレスADDを含むブロックBLKを読んでキャッシュメモリ220に保存し、アドレスADDに該当するデータDATAは、中央処理装置に返還される。
図1のような従来のキャッシュメモリシステム100では、ブロックサイズを超過する空間的局所性を有するデータは、キャッシュミスと判断され、メインメモリ230に接近(access)することで、全体的な性能低下をもたらす。
このような問題を解決するために、本発明のキャッシュメモリシステム200は、中央処理装置210が特定アドレスADDのデータを要請すれば、アドレスADDは、キャッシュメモリ220だけでなくマスキング回路250にも伝えられる。
マスキング回路250は、マスキングビットMBITを使用してアドレスADDをマスキングアドレスMADDに変換する。マスキングビットMBITは、キャッシュメモリ220に保存するブロック数を決定するのに使われ、ユーザーによって変更可能である。例えば、アドレスADDが32ビットであり、マスキングビットMBITを8ビットに設定したとすれば、マスキングアドレスMADDは、マスキングビットに対応する下位8ビットを除外した上位24ビットとなる。マスキングビットが8ビットであれば、キャッシュメモリ220に保存される全体ブロックのサイズは、256バイト(=2バイト)である。この場合、ブロックサイズを64バイトと仮定すれば、キャッシュメモリ220に保存されるブロック数は4個である。
ブロック数決定部260のインデックス比較器267は、受信されたマスキングアドレスMADDと、各エントリENT内のインデックス保存部263に保存されたインデックスIDXとを比較する。ここで、インデックスIDXは、メインメモリ230上の所定の領域を示す。
同じインデックスIDXが存在する場合、該当エントリの接近回数保存部264は、該当インデックスの接近回数CNTを増加させる。もし、同じインデックスIDXがインデックステーブル261のあらゆるエントリENTのインデックス保存部263に存在しない場合、有効ビット確認部265を検査して、無効(論理0)であるエントリのインデックス保存部263にマスキングアドレスMADDを保存することによって、新たなエントリとして登録する。制御信号出力器269は、マスキングビットMBITに相応する領域、例えば、4個のブロックに空間的局所性が拡張されるかを判断するために、インデックスIDXへの接近回数CNTとユーザーが設定した基準回数REFとを比較して制御信号CTRLを出力する。
本発明のキャッシュメモリシステム200は、制御信号CTRLに応答して該当する数のブロックBLKをメインメモリ230からキャッシュメモリ220に保存し、アドレスADDに該当するデータDATAを中央処理装置210に返還する。
すなわち、接近回数CNTが基準回数REFと等しいか小さな場合には、従来のキャッシュメモリシステム100と同様に一つのブロックをメインメモリ230からキャッシュメモリ220に保存する。しかし、接近回数CNTが基準回数RETより多い場合は、空間的局所性が拡張されると判断して、マスキングビットMBITに相応する数のブロック、例えば、4個のブロックをメインメモリ230からキャッシュメモリ220に保存する。
したがって、本発明のキャッシュメモリシステム200は、空間的局所性が広い場合、マスキングビットMBITに対応する数のブロックをキャッシュメモリ220に保存する。これは、ブロックのサイズを拡張する結果となるので、キャッシュミスを減らしてメモリアクセス時間を短縮することができる。
図4は、本発明の他の実施形態によるキャッシュメモリシステムを示すブロック図である。
図4を参照すれば、キャッシュメモリシステム300は、中央処理装置310、キャッシュメモリ320、メインメモリ330、マスキング回路350、及びブロック数決定部360を備える。
キャッシュメモリ320は、第1キャッシュ323と第2キャッシュ325とを備える。一般的に、第1キャッシュ323は、L1キャッシュといわれ、第2キャッシュ325は、L2キャッシュといわれる。第1キャッシュ323は、容量が小さく中央処理装置310と近接していてアクセス速度が速く、第2キャッシュ325は、保存容量が大きいが、第1キャッシュよりアクセス速度が遅い。
本発明のキャッシュメモリシステム300は、制御信号CTRLによる複数個のブロックを保存しなければならないので、小容量の第1キャッシュ323ではキャッシュ爆発(cache pollution)現象が発生しうる。したがって、相対的に大容量の第2キャッシュ325にブロック数決定部360で決定された複数個のブロックを保存するために、キャッシュメモリシステム300は、キャッシュミス検査部340を備える。
図2のキャッシュメモリシステム200の動作と異なる部分を中心として、キャッシュメモリシステム300の動作を説明する。キャッシュメモリシステム300は、中央処理装置310が特定アドレスADDのデータを要請すれば、アドレスADDは、キャッシュメモリ320の第1キャッシュ323とキャッシュミス検査部340とに伝えられる。
アドレスADDが第1キャッシュ323に存在する場合、すなわち、ヒットである場合、従来のキャッシュメモリシステム100のように、アドレスADDに該当するデータDATAが中央処理装置310に返還される。
キャッシュミス検査部340は、アドレスADDが第1キャッシュ323に存在しない場合、すなわち、キャッシュミスが発生した場合にのみ、中央処理装置310から受信されたアドレスADDをマスキング回路350に伝送する。
マスキング回路350は、キャッシュミス検査部340から受信されたアドレスADDとマスキングビットMBITとを使用して、アドレスADDをマスキングアドレスMADDに変換する。ブロック数決定部360は、マスキングアドレスMADDに応答して制御信号CTRLをメインメモリ330に伝送する。
キャッシュメモリシステム300は、制御信号CTRLに応答して、該当する数のブロックBLKをメインメモリ330から第2キャッシュ325に保存し、アドレスADDに該当するデータDATAを中央処理装置310に返還する。図4において、第2キャッシュ325から第1キャッシュ323に伝送されるデータDATAと、第1キャッシュ323から中央処理装置310に伝送されるデータDATAとは、異なりうる。
図5は、本発明のさらに他の実施形態によるキャッシュメモリシステムを示すブロック図である。
図5を参照すれば、キャッシュメモリシステム500は、中央処理装置510、キャッシュメモリ520、メインメモリ530、マスキング回路550、及びブロック数決定部560を備える。
図5のキャッシュメモリシステム500は、図4のキャッシュメモリシステム300と違って、キャッシュミス検査部340が存在しない。代わりに、図5のキャッシュメモリシステム500におけるマスキング回路は、中央処理装置510から受信されたアドレスADDではない第1キャッシュ523から受信されたアドレスADDを使用する。
したがって、図3のキャッシュメモリシステム300のように相対的に大容量の第2キャッシュ525にブロック数決定部560で決定された複数個のブロックを保存することができる。キャッシュメモリシステム500は、次のように動作する。
キャッシュメモリシステム500は、中央処理装置510が特定アドレスADDのデータを要請すれば、アドレスADDは、キャッシュメモリ520の第1キャッシュ523に伝えられる。
アドレスADDが第1キャッシュ523に存在する場合、すなわち、ヒットである場合、従来のキャッシュメモリシステム100のように、アドレスADDに該当するデータを中央処理装置510に返還する。
アドレスADDが第1キャッシュ523に存在しない場合、すなわち、キャッシュミスが発生した場合にのみ、第1キャッシュ523を通過したアドレスADDがマスキング回路550に伝送される。マスキング回路550は、第1キャッシュ523から受信されたアドレスADDとマスキングビットMBITとを使用して、アドレスADDをマスキングアドレスMADDに変換する。
ブロック数決定部560は、マスキングアドレスMADDに応答して制御信号CTRLをメインメモリ530に伝送する。
キャッシュメモリシステム500は、制御信号CTRLに応答して、該当する数のブロックBLKをメインメモリ530から第2キャッシュ525に保存し、アドレスに該当するデータDATAを中央処理装置510に返還する。図5において、第2キャッシュ525から第1キャッシュ523に伝送されるデータDATAと、第1キャッシュ523から中央処理装置510に伝送されるデータDATAとは、異なりうる。
図6は、本発明の実施形態によるキャッシュメモリシステムの動作方法を説明する図面である。
キャッシュメモリシステムの動作方法600は、中央処理装置、第1メモリ、及び第2メモリを備えるキャッシュメモリシステムの動作方法に関する。
図6を参照すれば、キャッシュメモリシステムの動作方法600は、受信されたアドレスが第2メモリに存在するか否かを判断する610段階、前記アドレスが前記第2メモリに存在しなければ、前記第2メモリに保存する前記第1メモリのブロック数を決定する620段階、及び前記決定された数のブロックを前記第2メモリに保存し、前記アドレスに該当する前記第1メモリのデータを前記中央処理装置に出力する630段階を含む。
キャッシュメモリシステムの動作方法600は、前記アドレスが前記第2メモリに存在すれば、第2メモリのデータを中央処理装置に出力する640段階をさらに含みうる。610ないし640段階から構成されるキャッシュメモリシステムの動作方法600は、図2ないし図5に開示されたキャッシュメモリシステム200、300、500の動作に対応し、図2ないし図5に開示されたキャッシュメモリシステム200、300、500の動作は、前述した通りであるので、キャッシュメモリシステムの動作方法600についての詳細な説明を省略する。
本発明は、図面に示された一実施形態を参考にして説明されたが、これは例示的なものに過ぎず、当業者ならば、これより多様な変形及び均等な他の実施形態が可能であるという点を理解できるであろう。したがって、本発明の真の技術的保護範囲は、特許請求の範囲の技術的思想によって決定されなければならない。
本発明は、メモリ関連の技術分野に好適に用いられる。
従来のキャッシュメモリシステムを示すブロック図である。 本発明の実施形態によるキャッシュメモリシステムを示すブロック図である。 図2のブロック数決定部を示すブロック図である。 本発明の他の実施形態によるキャッシュメモリシステムを示すブロック図である。 本発明のさらに他の実施形態によるキャッシュメモリシステムを示すブロック図である。 本発明の実施形態によるキャッシュメモリシステムの動作方法を説明する図面である。
符号の説明
100、200、300、500 キャッシュメモリシステム
110、210、310、510 中央処理装置
120、220、320、520 キャッシュメモリ
130、230、330、530 メインメモリ
250、350、550 マスキング回路
260、360、560 ブロック数決定部
261 インデックステーブル
263 インデックス保存部
264 接近回数保存部
265 有効ビット確認部
267 インデックス比較器
269 制御信号出力器
323、523 第1キャッシュ
325、525 第2キャッシュ
340 キャッシュミス検査部

Claims (20)

  1. 中央処理装置と、
    第1メモリと、
    前記中央処理装置と前記第1メモリとの間で前記第1メモリの内部保存領域のブロックを保存する第2メモリと、
    前記第1メモリから前記第2メモリに保存される前記ブロックの数を指示するブロック数決定部と
    を備えることを特徴とするキャッシュメモリシステム。
  2. 前記キャッシュメモリシステムは、前記中央処理装置から発生したアドレスが前記第2メモリに存在する場合、前記アドレスに対応するデータを前記中央処理装置に返還し、
    前記中央処理装置から発生したアドレスが前記第2メモリに存在しない場合、前記第1メモリで前記アドレスを含み、前記ブロック数決定部から出力される制御信号に対応する数のブロックを読んで、前記第2メモリに保存し、前記アドレスに対応するデータを前記中央処理装置に返還することを特徴とする請求項1に記載のキャッシュメモリシステム。
  3. 前記キャッシュメモリシステムは、
    所定のマスキングビットに応答して、前記アドレスから前記マスキングビットに対応する一部ビットを除外したビットであるマスキングアドレスを発生させるマスキング回路をさらに備えることを特徴とする請求項2に記載のキャッシュメモリシステム。
  4. 前記ブロック数決定部は、
    複数個のエントリを備えるインデックステーブルと、
    前記マスキングアドレスと、前記エントリに保存され前記第1メモリ上の領域を示すインデックスとを比較して、比較信号を発生させるインデックス比較器とを備え、
    前記それぞれのエントリは、
    前記インデックスを保存するインデックス保存部と、
    前記マスキングアドレスと同じインデックスが存在する場合、前記比較信号に応答して該当インデックスの接近回数を変化させる接近回数保存部と
    を備えることを特徴とする請求項3に記載のキャッシュメモリシステム。
  5. 前記ブロック数決定部は、
    前記接近回数と基準回数とを比較して、前記制御信号を出力する制御信号出力器をさらに備えることを特徴とする請求項4に記載のキャッシュメモリシステム。
  6. 前記キャッシュメモリシステムは、
    前記制御信号に応答して、前記マスキングビットに対応する数の前記第1メモリのブロックを前記第2メモリに保存し、前記アドレスに該当するデータを前記中央処理装置に返還することを特徴とする請求項5に記載のキャッシュメモリシステム。
  7. 前記キャッシュメモリシステムは、
    前記接近回数が前記基準回数より大きい場合、前記マスキングビットに対応する数の前記第1メモリのブロックを前記第2メモリに保存し、前記接近回数が前記基準回数と等しいか小さな場合、一つのブロックを前記第1メモリから前記第2メモリに保存することを特徴とする請求項6に記載のキャッシュメモリシステム。
  8. 前記第1メモリは、前記中央処理装置より動作速度の遅いメインメモリであり、前記第2メモリは、キャッシュメモリであることを特徴とする請求項1に記載のキャッシュメモリシステム。
  9. 前記インデックステーブルは、
    前記マスキングアドレスと同じ前記インデックスが前記エントリのあらゆるインデックス保存部に存在しない場合、前記マスキングアドレスをインデックスとする新たなエントリを前記インデックステーブルに追加することを特徴とする請求項4に記載のキャッシュメモリシステム。
  10. 前記それぞれのエントリは、
    前記各エントリが有効であるかどうかを示す有効ビット確認部をさらに備えることを特徴とする請求項4に記載のキャッシュメモリシステム。
  11. 前記第2メモリは、
    第1キャッシュ及び第2キャッシュを備えることを特徴とする請求項5に記載のキャッシュメモリシステム。
  12. 前記アドレスが前記第1キャッシュに存在しない場合にのみ、前記中央処理装置から発生した前記アドレスを前記マスキング回路に伝送するキャッシュミス検査部をさらに備えることを特徴とする請求項11に記載のキャッシュメモリシステム。
  13. 前記制御信号に応答して、前記マスキングビットに対応する数の前記第1メモリのブロックを前記第2キャッシュに保存し、前記アドレスに該当するデータを前記中央処理装置に返還することを特徴とする請求項12に記載のキャッシュメモリシステム。
  14. 前記マスキング回路は、
    前記アドレスが前記第1キャッシュに存在しない場合にのみ、前記第1キャッシュから発生した前記アドレスを前記マスキングビットに変換することを特徴とする請求項11に記載のキャッシュメモリシステム。
  15. 前記制御信号に応答して、前記マスキングビットに対応する数の前記第1メモリのブロックを前記第2キャッシュに保存し、前記第1キャッシュから発生したアドレスに該当するデータを前記中央処理装置に返還することを特徴とする請求項14に記載のキャッシュメモリシステム。
  16. 中央処理装置、第1メモリ、及び第2メモリを備えるキャッシュメモリシステムの動作方法において、
    受信されたアドレスが前記第2メモリに存在するかを判断する段階と、
    前記アドレスが前記第2メモリに存在しなければ、前記第2メモリに保存する前記第1メモリのブロック数を決定する段階と、
    前記決定された数のブロックを前記第2メモリに保存し、前記アドレスに該当する前記第1メモリのデータを前記中央処理装置に出力する段階と
    を含むことを特徴とするキャッシュメモリシステムの動作方法。
  17. 前記ブロック数を決定する段階は、
    所定のマスキングビットに応答して、前記アドレスから前記マスキングビットに該当する下位ビットを除外した上位ビットであるマスキングアドレスを発生させる段階と、
    前記マスキングアドレスと前記第1メモリ上の領域を示すインデックスとを比較する段階と、
    前記マスキングアドレスと前記インデックスとが同じ場合、前記インデックスの接近回数を増加させる段階と、
    前記マスキングアドレスと前記インデックスとが異なる場合、前記マスキングアドレスを新しいインデックスと認識する段階と
    を含むことを特徴とする請求項16に記載のキャッシュメモリシステムの動作方法。
  18. 前記接近回数を増加させる段階は、
    前記接近回数と所定の基準回数とを比較する段階と、
    前記接近回数が前記基準回数より大きい場合、前記マスキングビットに対応する数の前記第1メモリのブロックを前記第2メモリに保存する段階と、
    前記接近回数が前記基準回数と等しいか大きくない場合、一つのブロックを前記第1メモリから前記第2メモリに保存する段階と
    を含むことを特徴とする請求項17に記載のキャッシュメモリシステムの動作方法。
  19. 前記マスキングアドレスを発生させる段階は、
    前記第2メモリが容量の小さい第1キャッシュと容量の大きい第2キャッシュとを備える場合、
    前記アドレスが前記第1キャッシュに存在しない場合にのみ、前記マスキングアドレスを発生させることを特徴とする請求項17に記載のキャッシュメモリシステムの動作方法。
  20. 前記第1メモリは、前記中央処理装置より動作速度の遅いメインメモリであり、前記第2メモリは、キャッシュメモリであることを特徴とする請求項16に記載のキャッシュメモリシステムの動作方法。
JP2006229322A 2005-08-26 2006-08-25 キャッシュメモリに保存されるブロック数を制御できるキャッシュメモリシステム及び動作方法 Expired - Fee Related JP5745200B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020050078908A KR100833178B1 (ko) 2005-08-26 2005-08-26 캐시 메모리에 저장되는 블록개수를 제어할 수 있는 캐시메모리 시스템 및 동작 방법
KR10-2005-0078908 2005-08-26

Publications (2)

Publication Number Publication Date
JP2007066312A true JP2007066312A (ja) 2007-03-15
JP5745200B2 JP5745200B2 (ja) 2015-07-08

Family

ID=37805700

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006229322A Expired - Fee Related JP5745200B2 (ja) 2005-08-26 2006-08-25 キャッシュメモリに保存されるブロック数を制御できるキャッシュメモリシステム及び動作方法

Country Status (4)

Country Link
US (1) US7865666B2 (ja)
JP (1) JP5745200B2 (ja)
KR (1) KR100833178B1 (ja)
TW (1) TWI328165B (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7953765B2 (en) * 2003-07-11 2011-05-31 Computer Associates Think, Inc. System and method for storing metrics in a database
CN104461942B (zh) * 2009-09-15 2018-06-08 威盛电子股份有限公司 串流上下文的高速缓存系统
US8359433B2 (en) * 2010-08-17 2013-01-22 Intel Corporation Method and system of handling non-aligned memory accesses
US10691613B1 (en) * 2016-09-27 2020-06-23 EMC IP Holding Company LLC Caching algorithms for multiple caches

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11328014A (ja) * 1998-03-20 1999-11-30 Kyushu System Joho Gijutsu Kenkyusho ブロック・サイズを変更可能なキャッシュ・メモリ・システム
US6349364B1 (en) * 1998-03-20 2002-02-19 Matsushita Electric Industrial Co., Ltd. Cache memory system with variable block-size mechanism
WO2004061675A1 (en) * 2002-12-17 2004-07-22 International Business Machines Corporation Selectively changeable line width memory

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3717212B2 (ja) 1995-10-27 2005-11-16 株式会社日立製作所 情報処理装置及び情報処理ユニット
JPH10116229A (ja) 1996-10-09 1998-05-06 Toshiba Corp データ処理装置
KR100193759B1 (ko) 1996-11-27 1999-06-15 서평원 캐시메모리의 데이타 갱신방법
US6341331B1 (en) 1999-10-01 2002-01-22 International Business Machines Corporation Method and system for managing a raid storage system with cache
KR20020037855A (ko) * 2000-11-15 2002-05-23 윤종용 캐시 메모리
JP3969009B2 (ja) 2001-03-29 2007-08-29 株式会社日立製作所 ハードウェアプリフェッチシステム
JP2003030051A (ja) 2001-07-19 2003-01-31 Sony Corp データ処理装置及びデータアクセス方法
JP2003263364A (ja) 2002-03-07 2003-09-19 Mitsubishi Electric Corp キャッシュ割り当て方式
JP4067887B2 (ja) * 2002-06-28 2008-03-26 富士通株式会社 プリフェッチを行う演算処理装置、情報処理装置及びそれらの制御方法
US7573301B2 (en) * 2002-12-02 2009-08-11 Silverbrook Research Pty Ltd Temperature based filter for an on-chip system clock
US20040174570A1 (en) * 2002-12-02 2004-09-09 Plunkett Richard Thomas Variable size dither matrix usage
JP4837247B2 (ja) 2003-09-24 2011-12-14 パナソニック株式会社 プロセッサ

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11328014A (ja) * 1998-03-20 1999-11-30 Kyushu System Joho Gijutsu Kenkyusho ブロック・サイズを変更可能なキャッシュ・メモリ・システム
US6349364B1 (en) * 1998-03-20 2002-02-19 Matsushita Electric Industrial Co., Ltd. Cache memory system with variable block-size mechanism
WO2004061675A1 (en) * 2002-12-17 2004-07-22 International Business Machines Corporation Selectively changeable line width memory
JP2006510992A (ja) * 2002-12-17 2006-03-30 インターナショナル・ビジネス・マシーンズ・コーポレーション ライン幅を選択的に変更することが可能なメモリ

Also Published As

Publication number Publication date
JP5745200B2 (ja) 2015-07-08
TW200708946A (en) 2007-03-01
US20070050552A1 (en) 2007-03-01
TWI328165B (en) 2010-08-01
KR100833178B1 (ko) 2008-05-28
US7865666B2 (en) 2011-01-04
KR20070024212A (ko) 2007-03-02

Similar Documents

Publication Publication Date Title
US5526504A (en) Variable page size translation lookaside buffer
US6430655B1 (en) Scratchpad RAM memory accessible in parallel to a primary cache
KR20170008233A (ko) 메모리 용량 압축을 이용하는 메모리 제어기들 및 관련된 프로세서-기반 시스템들 및 방법들
JPH11161547A (ja) データ処理装置用記憶装置、および記憶場所にアクセスする方法
US5956752A (en) Method and apparatus for accessing a cache using index prediction
KR101845371B1 (ko) 오프-다이 캐시 메모리의 태그들의 세트들을 캐시하기 위한 방법, 장치, 및 시스템
EP3553665B1 (en) Non-volatile memory access method, device, and system
US11113145B2 (en) Memory device, semiconductor device, and semiconductor system
US20210056030A1 (en) Multi-level system memory with near memory capable of storing compressed cache lines
JP5745200B2 (ja) キャッシュメモリに保存されるブロック数を制御できるキャッシュメモリシステム及び動作方法
US7007135B2 (en) Multi-level cache system with simplified miss/replacement control
JP4833586B2 (ja) データキャッシュが内蔵された半導体集積回路およびそれの実速度テスト方法
KR20210037216A (ko) 이종 메모리를 이용하여 메모리 주소 변환 테이블을 관리하는 메모리 관리 유닛 및 이의 메모리 주소 관리 방법
JP2007280421A (ja) データ処理装置
US20020103977A1 (en) Low power consumption cache memory structure
US11436146B2 (en) Storage control apparatus, processing apparatus, computer system, and storage control method
KR100257750B1 (ko) 메모리 겸용 캐시
KR200190099Y1 (ko) 메모리 겸용 캐시
US20040024970A1 (en) Methods and apparatuses for managing memory
US10423540B2 (en) Apparatus, system, and method to determine a cache line in a first memory device to be evicted for an incoming cache line from a second memory device
KR200182184Y1 (ko) 메모리 겸용 캐시
JPH086857A (ja) キャッシュメモリ
US7624224B1 (en) System and method for directly executing code from block-based memory
JP3204098B2 (ja) 動的アドレスデコードキャッシュ制御方式
JPH09171484A (ja) メモリ制御システム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090825

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100825

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120417

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120705

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20130122

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20141008

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20141226

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150209

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150501

R150 Certificate of patent or registration of utility model

Ref document number: 5745200

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees