JP2005149497A - 動的頻発命令ライン・キャッシュ - Google Patents
動的頻発命令ライン・キャッシュ Download PDFInfo
- Publication number
- JP2005149497A JP2005149497A JP2004323732A JP2004323732A JP2005149497A JP 2005149497 A JP2005149497 A JP 2005149497A JP 2004323732 A JP2004323732 A JP 2004323732A JP 2004323732 A JP2004323732 A JP 2004323732A JP 2005149497 A JP2005149497 A JP 2005149497A
- Authority
- JP
- Japan
- Prior art keywords
- cache
- instruction
- counter
- stack
- line
- 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.)
- Pending
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
-
- 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/12—Replacement control
- G06F12/121—Replacement control using replacement algorithms
- G06F12/122—Replacement control using replacement algorithms of the least frequently used [LFU] type, e.g. with individual count value
-
- 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/0844—Multiple simultaneous or quasi-simultaneous cache accessing
- G06F12/0846—Cache with multiple tag or data arrays being simultaneously accessible
- G06F12/0848—Partitioned cache, e.g. separate instruction and operand caches
-
- 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/0875—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with dedicated cache, e.g. instruction or stack
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
【解決手段】 好適な実施形態では、DFIキャッシュ(Dynamic Frequent Instruction cache)に、主キャッシュと同時にクエリを行い、要求されたアドレスがいずれかのキャッシュにある場合、ヒットが生じる。DFIキャッシュは、主キャッシュよりも長く高頻度に用いられる命令を保持するので、主キャッシュは、ラインに次にアクセスする場合に、キャッシュ・ヒットの恩恵を受けながら、ラインを無効にすることができる。
【選択図】 図1
Description
Claims (15)
- コンピュータ・システムのためのキャッシュ・システムであって、
複数の第1の命令をストアするための第1のキャッシュと、
複数の第2の命令をストアするための第2のキャッシュと、
を備え、前記複数の第1の命令の各々は対応したカウンタを有し、前記複数の第1の命令のうちある第1の命令がアクセスされた場合、当該第1の対応するカウンタを増分し、
前記第1の対応するカウンタが閾値に達した場合、前記複数の第1の命令のうち前記第1の命令を前記第2のキャッシュにコピーする、キャッシュ・システム。 - 前記複数の第2の命令の各々は対応したカウンタを有し、前記複数の第2の命令のうちのある第2の命令がアクセスされた場合、前記複数の第1の他の全てのカウンタを減分する、請求項1に記載のキャッシュ・システム。
- 前記第2のキャッシュから前記複数の第1の命令の前記第1の命令にアクセスする、請求項1に記載のキャッシュ・システム。
- 前記対応するカウンタはハードウエア・カウンタから成り、
命令をフェッチする場合、当該命令は前記ハードウエア・カウンタ内で前記ハードウエア・カウンタのスタックの最下部に配置され、
前記命令に再びアクセスする場合、当該命令は前記スタック内で上方に移動し、
前記スタックがいっぱいになり、前記スタック内に新たな命令をストアする場合、前記新たな命令は前記ハードウエア・カウンタ内の最下部アドレスを置換する、請求項1に記載のキャッシュ・システム。 - 前記第1のキャッシュは命令キャッシュであり、前記第2のキャッシュは、フルアソシアティブ方式で、LPU(least recently used)ポリシーに従う、請求項1に記載のキャッシュ・システム。
- コンピュータ・システムにおいてキャッシュを管理する方法であって、
前記第1のキャッシュ内の各命令は対応するカウンタを有し、第1のキャッシュにおいて第1の命令についてチェックするステップと、
前記第1のキャッシュにおいて前記第1の命令が見つかった場合、第1の対応するカウンタを増分するステップと、
前記第1の対応するカウンタの値を閾値と比較するステップと、
前記第1の対応するカウンタが前記閾値を超えた場合、前記第1のキャッシュから第2のキャッシュに前記第1の命令を移動させるステップと、
を備える、方法。 - 前記第2のキャッシュから前記第1に命令にアクセスするステップを更に備える、請求項6に記載の方法。
- 前記第2のキャッシュの各命令は対応したカウンタを有し、前記第2のキャッシュの命令がアクセスされた場合、前記複数の第2の他の全てのカウンタを減分する、請求項6に記載の方法。
- 前記対応するカウンタはハードウエア・カウンタから成り、
命令をフェッチする場合、当該命令は前記ハードウエア・カウンタ内で前記ハードウエア・カウンタのスタックの最下部に配置され、
前記命令に再びアクセスする場合、当該命令は前記スタック内で上方に移動し、
前記スタックがいっぱいになり、前記スタック内に新たな命令をストアする場合、前記新たな命令は前記ハードウエア・カウンタ内の最下部アドレスを置換する、請求項6に記載の方法。 - 前記第1のキャッシュは命令キャッシュであり、前記第2のキャッシュは、フルアソシアライブ方式で、LPU(least recently used)ポリシーに従う、請求項6に記載の方法。
- コンピュータ読み取り可能媒体内のコンピュータ・プログラムであって、
前記第1のキャッシュにおいてデータの各ラインは対応したカウンタを有し、第1のキャッシュにおいてデータの第1のラインについてチェックするための第1の命令と、
前記第1のキャッシュにおいて前記データの第1のラインが見つかった場合、第1の対応するカウンタを増分するための第2の命令と、
前記第1の対応するカウンタの値を閾値と比較するための第3の命令と、
前記第1の対応するカウンタが前記閾値を超えた場合、前記第1のキャッシュから第2のキャッシュに前記データの第1のラインを移動させるための第4の命令と、
を備える、コンピュータ・プログラム。 - 前記第2のキャッシュから前記第1に命令にアクセスするステップを更に備える、請求項11に記載のコンピュータ・プログラム。
- 前記第2のキャッシュの各命令は対応したカウンタを有し、前記第2のキャッシュの命令がアクセスされた場合、前記複数の第2の他の全てのカウンタを減分する、請求項11に記載のコンピュータ・プログラム。
- 前記対応するカウンタはハードウエア・カウンタから成り、
命令をフェッチする場合、これは前記ハードウエア・カウンタ内で前記ハードウエア・カウンタのスタックの最下部に配置され、
前記命令に再びアクセスする場合、当該命令は前記スタック内で上方に移動し、
前記スタックがいっぱいになり、前記スタック内に新たな命令をストアする場合、前記新たな命令は前記ハードウエア・カウンタ内の最下部アドレスを置換する、請求項11に記載のコンピュータ・プログラム・プロダクト。 - 前記第1のキャッシュは命令キャッシュであり、前記第2のキャッシュは、フルアソシアティブ方式で、LPU(least recently used)ポリシーに従う、請求項11に記載のコンピュータ・プログラム・プロダクト。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/713,725 US20050108478A1 (en) | 2003-11-13 | 2003-11-13 | Dynamic frequent instruction line cache |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2005149497A true JP2005149497A (ja) | 2005-06-09 |
Family
ID=34573790
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004323732A Pending JP2005149497A (ja) | 2003-11-13 | 2004-11-08 | 動的頻発命令ライン・キャッシュ |
Country Status (5)
Country | Link |
---|---|
US (1) | US20050108478A1 (ja) |
JP (1) | JP2005149497A (ja) |
KR (1) | KR100582340B1 (ja) |
CN (1) | CN1286006C (ja) |
TW (1) | TW200537374A (ja) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011129101A (ja) * | 2009-12-16 | 2011-06-30 | Intel Corp | キャッシュメモリにおけるキャッシュラインの置き換え |
JP2013109588A (ja) * | 2011-11-21 | 2013-06-06 | Internatl Business Mach Corp <Ibm> | プログラムの命令を実行する装置および命令をキャッシュするシステム |
JP2015525913A (ja) * | 2012-06-27 | 2015-09-07 | アルカテル−ルーセント | N個のアイテムのリストをキャッシュシステムのc個のアイテムのメモリキャッシュに格納することを管理するための方法 |
WO2015141820A1 (ja) * | 2014-03-20 | 2015-09-24 | 株式会社 東芝 | キャッシュメモリシステムおよびプロセッサシステム |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8549226B2 (en) * | 2004-05-14 | 2013-10-01 | Hewlett-Packard Development Company, L.P. | Providing an alternative caching scheme at the storage area network level |
CN100465955C (zh) * | 2004-10-12 | 2009-03-04 | 国际商业机器公司 | 用于高速缓存万维网内容的方法和系统 |
TW200745847A (en) * | 2005-12-23 | 2007-12-16 | Koninkl Philips Electronics Nv | Apparatus and method for dynamic cache management |
US8051248B2 (en) * | 2008-05-05 | 2011-11-01 | Globalfoundries Inc. | Transient transactional cache |
CN103377141B (zh) * | 2012-04-12 | 2016-10-12 | 无锡江南计算技术研究所 | 高速存储区的访问方法以及访问装置 |
US10496277B1 (en) * | 2015-12-30 | 2019-12-03 | EMC IP Holding Company LLC | Method, apparatus and computer program product for storing data storage metrics |
US10387329B2 (en) * | 2016-02-10 | 2019-08-20 | Google Llc | Profiling cache replacement |
US11899589B2 (en) | 2021-06-22 | 2024-02-13 | Samsung Electronics Co., Ltd. | Systems, methods, and devices for bias mode management in memory systems |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5043885A (en) * | 1989-08-08 | 1991-08-27 | International Business Machines Corporation | Data cache using dynamic frequency based replacement and boundary criteria |
US6490654B2 (en) * | 1998-07-31 | 2002-12-03 | Hewlett-Packard Company | Method and apparatus for replacing cache lines in a cache memory |
US6591347B2 (en) * | 1998-10-09 | 2003-07-08 | National Semiconductor Corporation | Dynamic replacement technique in a shared cache |
TW451132B (en) * | 1998-12-15 | 2001-08-21 | Nippon Electric Co | System and method for cache processing |
US6532520B1 (en) * | 1999-09-10 | 2003-03-11 | International Business Machines Corporation | Method and apparatus for allocating data and instructions within a shared cache |
US6393522B1 (en) * | 2000-01-27 | 2002-05-21 | Ati International Srl | Method and apparatus for cache memory management |
US20010049818A1 (en) * | 2000-02-09 | 2001-12-06 | Sanjeev Banerjia | Partitioned code cache organization to exploit program locallity |
US7260684B2 (en) * | 2001-01-16 | 2007-08-21 | Intel Corporation | Trace cache filtering |
-
2003
- 2003-11-13 US US10/713,725 patent/US20050108478A1/en not_active Abandoned
-
2004
- 2004-10-12 KR KR1020040081254A patent/KR100582340B1/ko not_active IP Right Cessation
- 2004-11-02 TW TW093133351A patent/TW200537374A/zh unknown
- 2004-11-05 CN CNB2004100922566A patent/CN1286006C/zh not_active Expired - Fee Related
- 2004-11-08 JP JP2004323732A patent/JP2005149497A/ja active Pending
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011129101A (ja) * | 2009-12-16 | 2011-06-30 | Intel Corp | キャッシュメモリにおけるキャッシュラインの置き換え |
JP2013109588A (ja) * | 2011-11-21 | 2013-06-06 | Internatl Business Mach Corp <Ibm> | プログラムの命令を実行する装置および命令をキャッシュするシステム |
US9244850B2 (en) | 2011-11-21 | 2016-01-26 | International Business Machines Corporation | Device for executing program instructions and system for caching instructions |
JP2015525913A (ja) * | 2012-06-27 | 2015-09-07 | アルカテル−ルーセント | N個のアイテムのリストをキャッシュシステムのc個のアイテムのメモリキャッシュに格納することを管理するための方法 |
WO2015141820A1 (ja) * | 2014-03-20 | 2015-09-24 | 株式会社 東芝 | キャッシュメモリシステムおよびプロセッサシステム |
JP2015184794A (ja) * | 2014-03-20 | 2015-10-22 | 株式会社東芝 | キャッシュメモリシステムおよびプロセッサシステム |
Also Published As
Publication number | Publication date |
---|---|
KR20050046535A (ko) | 2005-05-18 |
KR100582340B1 (ko) | 2006-05-23 |
CN1286006C (zh) | 2006-11-22 |
TW200537374A (en) | 2005-11-16 |
CN1617095A (zh) | 2005-05-18 |
US20050108478A1 (en) | 2005-05-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8943272B2 (en) | Variable cache line size management | |
US7689775B2 (en) | System using stream prefetching history to improve data prefetching performance | |
JP4486750B2 (ja) | テンポラリ命令及び非テンポラリ命令用の共用キャッシュ構造 | |
US8490065B2 (en) | Method and apparatus for software-assisted data cache and prefetch control | |
JP4028875B2 (ja) | メモリを管理するためのシステムおよび方法 | |
JP4226057B2 (ja) | 包含キャッシュにおける望ましくない置換動作を低減するための先行犠牲選択のための方法及び装置 | |
US8176255B2 (en) | Allocating space in dedicated cache ways | |
US7571286B2 (en) | Reduced memory traffic via detection and tracking of temporally silent stores | |
JP5090047B2 (ja) | ロックされたキャッシュ内のセットの置換を管理するための方法、コンピュータ・プログラム、キャッシング・システムおよびプロセッサ | |
EP1573555B1 (en) | Page descriptors for prefetching and memory management | |
JP2005528695A (ja) | キャッシュ置換ポリシーの簡略化した実施態様を用いたマルチスレッド化キャッシュのための方法および装置 | |
JP7308745B2 (ja) | データキャッシュ領域プリフェッチャ | |
KR100582340B1 (ko) | 캐시 시스템, 캐시 관리 방법 및 컴퓨터 판독가능한 기록매체 | |
JP2014115851A (ja) | データ処理装置及びその制御方法 | |
JP5255049B2 (ja) | データをキャッシュ・メモリにプリフェッチする方法、コンピュータ・プログラム、及びシステム | |
US20170046278A1 (en) | Method and apparatus for updating replacement policy information for a fully associative buffer cache | |
US20060101208A1 (en) | Method and apparatus for handling non-temporal memory accesses in a cache | |
JP2010176305A (ja) | 情報処理装置およびデータ記憶装置 | |
US7401186B2 (en) | System and method for tracking changes in L1 data cache directory | |
JP2011008315A (ja) | キャッシュ制御方法 | |
WO2023055478A1 (en) | Using request class and reuse recording in one cache for insertion policies of another cache |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070130 |
|
RD12 | Notification of acceptance of power of sub attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7432 Effective date: 20070216 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20070216 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070425 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20070515 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070809 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20070914 |
|
A912 | Re-examination (zenchi) completed and case transferred to appeal board |
Free format text: JAPANESE INTERMEDIATE CODE: A912 Effective date: 20071005 |
|
RD14 | Notification of resignation of power of sub attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7434 Effective date: 20090817 |