JP2009059077A - キャッシュシステム - Google Patents
キャッシュシステム Download PDFInfo
- Publication number
- JP2009059077A JP2009059077A JP2007224416A JP2007224416A JP2009059077A JP 2009059077 A JP2009059077 A JP 2009059077A JP 2007224416 A JP2007224416 A JP 2007224416A JP 2007224416 A JP2007224416 A JP 2007224416A JP 2009059077 A JP2009059077 A JP 2009059077A
- Authority
- JP
- Japan
- Prior art keywords
- prefetch
- cache
- access
- reliability
- tag
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0862—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with prefetch
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1016—Performance improvement
- G06F2212/1021—Hit rate improvement
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/50—Control mechanisms for virtual memory, cache or TLB
- G06F2212/502—Control mechanisms for virtual memory, cache or TLB using adaptive policy
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
【解決手段】キャッシュシステムは、プリフェッチアクセスであるか否かが示されたタグを有するタグメモリ21と、プロセッサ毎のプリフェッチの信頼度を有するプリフェッチ信頼度格納部23と、タグとアクセスアドレスとを比較し、プリフェッチアクセスであることが示されたタグに対してキャッシュミスした場合は、プリフェッチ信頼度格納部に対してプリフェッチの信頼度を下げる指示を出し、プリフェッチアクセスであることが示されたタグに対してキャッシュヒットした場合は、プリフェッチアクセスであることを消し、プリフェッチ信頼度格納部に対してプリフェッチの信頼度を上げる指示を出すタグ比較部22とを具備する。
【選択図】図1
Description
第1の実施形態は、プリフェッチで格納したキャッシュラインを実際に使用したか否かによってプリフェッチの信頼度を定義し、信頼度の低いプリフェッチについてはキャッシュの置き換え優先度を上げ、無駄なプリフェッチがキャッシュ内に長く溜まることを抑制する。
図1は、本発明の第1の実施形態に係るキャッシュシステムの概略的な構成図を示す。以下に、本実施形態に係るキャッシュシステムの概略的な構成について説明する。
プロセッサ10−1、10−2からキャッシュ20へのアクセスは、通常のキャッシュアクセスとプリフェッチアクセスとの2通りがある。プリフェッチアクセスの場合、キャッシュ20に必要なデータが使用時に入っているように、予測したデータを予め格納する。この際、対象のデータがキャッシュ20内に存在する場合はそこで終了し、存在しない場合はキャッシュ20に対象のデータを格納して終了する。いずれのときも、プリフェッチアクセスの場合、プロセッサ10−1、10−2に対して要求されたデータは返さない。
図2は、本発明の第1の実施形態に係るタグメモリのタグ情報を示す。以下に、本実施形態のタグメモリのタグ情報について説明する。
図3は、本発明の第1の実施形態に係るプリフェッチアクセスにおけるタグ情報の変化を示す。以下に、本実施形態に係るプリフェッチアクセスにおけるタグ情報の変化について説明する。
図4は、本発明の第1の実施形態に係るプリフェッチ信頼度格納部の内部構成の概略図を示す。以下に、本実施形態に係るプリフェッチ信頼度格納部の概略的な内部構成について説明する。
図5は、本発明の第1の実施形態に係るプリフェッチ信頼度格納部への加減算指示の生成論理を示す。以下に、本実施形態のプリフェッチアクセスによるプリフェッチ信頼度格納部への加減算指示の生成について説明する。尚、図5は、4wayキャッシュの例であり、プロセッサ10−1(ID=1)がデータ0x40のアクセスを行ったとする。
図6は、本発明の第1の実施形態に係るプリフェッチアクセス時のキャッシュ置き換え優先順を説明するための図を示す。以下に、本実施形態に係るプリフェッチアクセス時におけるキャッシュ置き換えの優先順について説明する。
上記第1の実施形態によれば、キャッシュシステム1にはプリフェッチ信頼度格納部23が備えられ、このプリフェッチ信頼度格納部23はプロセッサ10−1、10−2毎のプリフェッチの信頼度を格納したカウンタ40−1、40−2を有している。このカウンタ40−1、40−2には、プリフェッチフラグがONのタグに対してキャッシュミスした場合は信頼度を下げ、プリフェッチフラグがONのタグに対してキャッシュヒットした場合は信頼度を上げる加減算指示Xが入力される。そして、プリフェッチアクセスでキャッシュ20にデータを格納する際、プリフェッチアクセスを行ったプロセッサ10−1、10−2の信頼度を参照し、この信頼度が低いほどデータの置き換えの際の優先度を高くする。
第2の実施形態は、プリフェッチで格納したキャッシュラインを実際に使用したか否かによってプリフェッチの信頼度を定義し、未処理のプリフェッチが溜まったときに、信頼度の低いプリフェッチから削除し、信頼度の高いプリフェッチから優先して実行することで、無駄なプリフェッチがキャッシュ内に長く溜まることを抑制する。尚、ここでは、第1の実施形態と同様の点については説明を省略する。
図7は、本発明の第2の実施形態に係るキャッシュシステムの概略的な構成図を示す。以下に、本実施形態に係るキャッシュシステムの概略的な構成について説明する。
プロセッサ10−1、10−2からは、第1の実施形態と同様に、通常のキャッシュアクセスとプリフェッチアクセスとが行われ、キュー25に一旦格納されてからキャッシュ20にアクセスされる。キャッシュミスによるデータの格納等で、キャッシュ20にアクセスできない場合は、キャッシュアクセスやプリフェッチアクセスはキュー25に溜まる。
上記第2の実施形態によれば、キャッシュシステム1にはプリフェッチ信頼度格納部23が備えられ、このプリフェッチ信頼度格納部23はプロセッサ10−1、10−2毎のプリフェッチの信頼度を格納したカウンタ40−1、40−2を有している。このカウンタ40−1、40−2には、プリフェッチフラグがONのタグに対してキャッシュミスした場合は信頼度を下げ、プリフェッチフラグがONのタグに対してキャッシュヒットした場合は信頼度を上げる加減算指示Xが入力される。そして、この信頼度を参照し、無駄になる可能性が高いプリフェッチはキャンセルし、有効である可能性が高いプリフェッチを優先して実行する。これにより、キャッシュ20に無駄なプリフェッチによるデータが格納されることを防ぐことができるため、無駄なプリフェッチの悪影響を減らすことができる。
第3の実施形態は、キャッシュが階層構造になっている例である。尚、ここでは、第1の実施形態と同様の点については説明を省略する。
図8は、本発明の第3の実施形態に係るキャッシュシステムの概略的な構成図を示す。以下に、本実施形態に係るキャッシュシステムの概略的な構成について説明する。
プロセッサ10−1、10−2からL2キャッシュ20bに要求されるアクセスは、通常のキャッシュアクセスと、L2キャッシュ20bへのプリフェッチアクセス(以下、L2プリフェッチアクセス又はL2プリフェッチと称す)と、L1キャッシュ20a−1、20a−2へのプリフェッチアクセス(以下、L1プリフェッチアクセス又はL1プリフェッチと称す)との3通りある。
図9は、本発明の第3の実施形態に係るタグメモリのタグ情報を示す。以下に、本実施形態のタグメモリのタグ情報について説明する。
図10は、本発明の第3の実施形態に係るL2プリフェッチアクセスにおけるタグ情報の変化を示す。以下に、本実施形態に係るL2プリフェッチアクセスにおけるタグ情報の変化について説明する。
図11は、本発明の第3の実施形態に係るL1プリフェッチアクセスにおけるタグ情報の変化を示す。以下に、本実施形態に係るL1プリフェッチアクセスにおけるタグ情報の変化について説明する。
図8に示す本実施形態のプリフェッチ信頼度格納部23には、第1の実施形態と同様、プロセッサ10−1、10−2からのプリフェッチアクセスのアドレス予測の信頼度が格納される。この信頼度は、プロセッサ10−1、10−2毎に、L1プリフェッチ、L2プリフェッチの信頼度をそれぞれ持つ。ここでは、例えば、プリフェッチの信頼度は0〜3の4通りの数値を通り、この数値が高いほど、信頼度が高く、プリフェッチのアドレス予測が正確であると判断されるとする。尚、プリフェッチの信頼度の初期値は、0〜3のどれでもよい。
図12は、本発明の第3の実施形態に係るプリフェッチアクセス時のキャッシュ置き換え優先順を説明するための図を示す。以下に、本実施形態に係るプリフェッチアクセス時におけるキャッシュ置き換えの優先順とL1、L2プリフェッチキャッシュラインの関係について説明する。
上記第3の実施形態によれば、第1の実施形態と同様の効果を得ることができる。さらに、第3の実施形態では、より上位のL1キャッシュ20a−1、20a−2へのプリフェッチアクセスの場合は実際に使用したときに、そのデータが含まれるL2キャッシュラインの置き換え優先度を下げることで、無駄なプリフェッチがL2キャッシュ20b内に長く留まることを防ぎつつ、連続したデータ構造へのアクセスの際に、下位のL2キャッシュ20bへヒットし易くすることができる。これにより、キャッシュが階層構造になっている場合も、無駄なプリフェッチの悪影響を減らすことができる。
Claims (5)
- プリフェッチアクセスであるか否かが示されたタグを有するタグメモリと、
プロセッサ毎のプリフェッチの信頼度を有するプリフェッチ信頼度格納部と、
前記タグとアクセスアドレスとを比較し、前記プリフェッチアクセスであることが示された前記タグに対してキャッシュミスした場合は、前記プリフェッチ信頼度格納部に対して前記プリフェッチの信頼度を下げる指示を出し、前記プリフェッチアクセスであることが示された前記タグに対してキャッシュヒットした場合は、前記プリフェッチアクセスであることを消し、前記プリフェッチ信頼度格納部に対して前記プリフェッチの信頼度を上げる指示を出すタグ比較部と
を具備することを特徴とするキャッシュシステム。 - 前記プリフェッチの信頼度に応じて、前記キャッシュミスによって前記プリフェッチアクセスでキャッシュに格納されるデータの置き換え優先度を増減させることを特徴とする請求項1に記載のキャッシュシステム。
- 前記プリフェッチの信頼度に応じて、未実行の前記プリフェッチアクセスが溜まった場合に、前記プリフェッチの信頼度の低いものから削除し、前記プリフェッチの信頼度の高いものから実行することを特徴とする請求項1に記載のキャッシュシステム。
- 前記キャッシュシステムは、上位キャッシュと下位キャッシュとの2層以上で構成され、
前記下位キャッシュから前記上位キャッシュへ前記プリフェッチアクセスにより読み出したデータを実際に使用する場合に、前記データが含まれる前記下位キャッシュの前記データの置き換え優先度を下げることを特徴とする請求項1に記載のキャッシュシステム。 - 前記タグは、前記プリフェッチアクセスであるか否かによりON/OFFを示すプリフェッチフラグを含み、
前記プリフェッチ信頼度格納部は、前記プロセッサ毎の前記プリフェッチの信頼度を示すカウンタを有し、
前記タグ比較部は、前記キャッシュミスで、かつ、前記プリフェッチフラグがONの場合、前記カウンタを1減算する指示を出し、前記キャッシュヒットで、かつ、前記プリフェッチフラグがONの場合、前記プリフェッチフラグをOFFにし、前記カウンタを1加算する指示を出すことを特徴とする請求項1に記載のキャッシュシステム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007224416A JP4829191B2 (ja) | 2007-08-30 | 2007-08-30 | キャッシュシステム |
US12/193,882 US20090063777A1 (en) | 2007-08-30 | 2008-08-19 | Cache system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007224416A JP4829191B2 (ja) | 2007-08-30 | 2007-08-30 | キャッシュシステム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2009059077A true JP2009059077A (ja) | 2009-03-19 |
JP4829191B2 JP4829191B2 (ja) | 2011-12-07 |
Family
ID=40409302
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007224416A Expired - Fee Related JP4829191B2 (ja) | 2007-08-30 | 2007-08-30 | キャッシュシステム |
Country Status (2)
Country | Link |
---|---|
US (1) | US20090063777A1 (ja) |
JP (1) | JP4829191B2 (ja) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013069099A (ja) * | 2011-09-22 | 2013-04-18 | Toshiba Corp | 制御システム、制御方法およびプログラム |
JP2015026397A (ja) * | 2014-11-04 | 2015-02-05 | 株式会社東芝 | 制御装置および情報処理装置 |
JP2018055683A (ja) * | 2016-09-26 | 2018-04-05 | 三星電子株式会社Samsung Electronics Co.,Ltd. | バイトアドレス可能なフラッシュ基盤メモリモジュール、nvdimm型モジュール、及びそのデータ格納方法 |
US10031852B2 (en) | 2016-04-14 | 2018-07-24 | Fujitsu Limited | Arithmetic processing apparatus and control method of the arithmetic processing apparatus |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9201794B2 (en) | 2011-05-20 | 2015-12-01 | International Business Machines Corporation | Dynamic hierarchical memory cache awareness within a storage system |
US8656088B2 (en) | 2011-05-20 | 2014-02-18 | International Business Machines Corporation | Optimized flash based cache memory |
CN102207916B (zh) * | 2011-05-30 | 2013-10-30 | 西安电子科技大学 | 一种基于指令预取的多核共享存储器控制设备 |
JP6191240B2 (ja) * | 2013-05-28 | 2017-09-06 | 富士通株式会社 | 変数更新装置、変数更新システム、変数更新方法、変数更新プログラム、変換プログラム、及びプログラム変更検証システム |
US10019375B2 (en) * | 2016-03-02 | 2018-07-10 | Toshiba Memory Corporation | Cache device and semiconductor device including a tag memory storing absence, compression and write state information |
EP3457289A1 (en) * | 2017-09-15 | 2019-03-20 | ProphetStor Data Services, Inc. | Method for determining data in cache memory of cloud storage architecture and cloud storage system using the same |
US11294808B2 (en) | 2020-05-21 | 2022-04-05 | Micron Technology, Inc. | Adaptive cache |
US11422934B2 (en) | 2020-07-14 | 2022-08-23 | Micron Technology, Inc. | Adaptive address tracking |
US11409657B2 (en) | 2020-07-14 | 2022-08-09 | Micron Technology, Inc. | Adaptive address tracking |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS63751A (ja) * | 1986-06-20 | 1988-01-05 | Fujitsu Ltd | プリフエツチ制御方式 |
JPH02181844A (ja) * | 1989-01-06 | 1990-07-16 | Matsushita Electric Ind Co Ltd | キャッシュメモリ管理方法 |
JPH10207850A (ja) * | 1997-01-23 | 1998-08-07 | Nec Corp | マルチプロセッサシステムにおけるディスパッチング方 式、ディスパッチング方法およびディスパッチングプログ ラムを記録した記録媒体 |
JP2000347941A (ja) * | 1999-06-02 | 2000-12-15 | Fujitsu Ltd | キャッシュメモリ装置 |
JP2005242527A (ja) * | 2004-02-25 | 2005-09-08 | Hitachi Ltd | プロセッサ、および、プリフェッチ制御方法 |
JP2007500897A (ja) * | 2003-07-31 | 2007-01-18 | フリースケール セミコンダクター インコーポレイテッド | データ処理システムにおけるプリフェッチ制御 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5426764A (en) * | 1993-08-24 | 1995-06-20 | Ryan; Charles P. | Cache miss prediction apparatus with priority encoder for multiple prediction matches and method therefor |
US7162567B2 (en) * | 2004-05-14 | 2007-01-09 | Micron Technology, Inc. | Memory hub and method for memory sequencing |
US20060200631A1 (en) * | 2005-03-02 | 2006-09-07 | Mitsubishi Denki Kabushiki Kaisha | Control circuit and control method |
US7383393B2 (en) * | 2005-10-28 | 2008-06-03 | Freescale Semiconductor, Inc. | System and method for cooperative prefetching |
-
2007
- 2007-08-30 JP JP2007224416A patent/JP4829191B2/ja not_active Expired - Fee Related
-
2008
- 2008-08-19 US US12/193,882 patent/US20090063777A1/en not_active Abandoned
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS63751A (ja) * | 1986-06-20 | 1988-01-05 | Fujitsu Ltd | プリフエツチ制御方式 |
JPH02181844A (ja) * | 1989-01-06 | 1990-07-16 | Matsushita Electric Ind Co Ltd | キャッシュメモリ管理方法 |
JPH10207850A (ja) * | 1997-01-23 | 1998-08-07 | Nec Corp | マルチプロセッサシステムにおけるディスパッチング方 式、ディスパッチング方法およびディスパッチングプログ ラムを記録した記録媒体 |
JP2000347941A (ja) * | 1999-06-02 | 2000-12-15 | Fujitsu Ltd | キャッシュメモリ装置 |
JP2007500897A (ja) * | 2003-07-31 | 2007-01-18 | フリースケール セミコンダクター インコーポレイテッド | データ処理システムにおけるプリフェッチ制御 |
JP2005242527A (ja) * | 2004-02-25 | 2005-09-08 | Hitachi Ltd | プロセッサ、および、プリフェッチ制御方法 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013069099A (ja) * | 2011-09-22 | 2013-04-18 | Toshiba Corp | 制御システム、制御方法およびプログラム |
JP2015026397A (ja) * | 2014-11-04 | 2015-02-05 | 株式会社東芝 | 制御装置および情報処理装置 |
US10031852B2 (en) | 2016-04-14 | 2018-07-24 | Fujitsu Limited | Arithmetic processing apparatus and control method of the arithmetic processing apparatus |
JP2018055683A (ja) * | 2016-09-26 | 2018-04-05 | 三星電子株式会社Samsung Electronics Co.,Ltd. | バイトアドレス可能なフラッシュ基盤メモリモジュール、nvdimm型モジュール、及びそのデータ格納方法 |
Also Published As
Publication number | Publication date |
---|---|
US20090063777A1 (en) | 2009-03-05 |
JP4829191B2 (ja) | 2011-12-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4829191B2 (ja) | キャッシュシステム | |
CN102498477B (zh) | Tlb预取 | |
US8041897B2 (en) | Cache management within a data processing apparatus | |
US10831678B2 (en) | Multi-tier cache placement mechanism | |
JP4045296B2 (ja) | キャッシュメモリ及びその制御方法 | |
JP6840169B2 (ja) | キャッシュテスト領域に基づくプリフェッチのためのキャッシュエージングポリシーの選択 | |
JP7232175B2 (ja) | キャッシュメモリのデータ置換方法及びプロセッサ | |
US9582282B2 (en) | Prefetching using a prefetch lookup table identifying previously accessed cache lines | |
US20180300258A1 (en) | Access rank aware cache replacement policy | |
US20080168236A1 (en) | Performance of a cache by detecting cache lines that have been reused | |
US20160055100A1 (en) | System and method for reverse inclusion in multilevel cache hierarchy | |
JP6630449B2 (ja) | 他のキャッシュでのエントリの可用性に基づくキャッシュエントリの置換 | |
US11803484B2 (en) | Dynamic application of software data caching hints based on cache test regions | |
US20210182214A1 (en) | Prefetch level demotion | |
JP2008523490A (ja) | キャッシュ置換用データ処理システムおよび方法 | |
US20180113815A1 (en) | Cache entry replacement based on penalty of memory access | |
KR20210035311A (ko) | 프로세서의 필터링된 분기 예측 구조 | |
US20120124291A1 (en) | Secondary Cache Memory With A Counter For Determining Whether to Replace Cached Data | |
JP2006285727A (ja) | キャッシュメモリ装置 | |
JP2019521410A (ja) | 別のキャッシュレベルからのヒントに基づくキャッシュエントリエイジの設定 | |
JP5709207B2 (ja) | メモリシステム、キャッシュメモリ制御方法及びメモリ制御プログラム | |
JP4713077B2 (ja) | 半導体装置 | |
US20170286317A1 (en) | Alternative direct-mapped cache and cache replacement method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20090901 |
|
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: 20110823 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20110915 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140922 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140922 Year of fee payment: 3 |
|
LAPS | Cancellation because of no payment of annual fees |