JP2013232210A - キャッシュライン置換のためのシステムおよび方法 - Google Patents
キャッシュライン置換のためのシステムおよび方法 Download PDFInfo
- Publication number
- JP2013232210A JP2013232210A JP2013128940A JP2013128940A JP2013232210A JP 2013232210 A JP2013232210 A JP 2013232210A JP 2013128940 A JP2013128940 A JP 2013128940A JP 2013128940 A JP2013128940 A JP 2013128940A JP 2013232210 A JP2013232210 A JP 2013232210A
- Authority
- JP
- Japan
- Prior art keywords
- cache
- instruction
- tag
- index
- cache 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.)
- 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/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/0808—Multiuser, multiprocessor or multiprocessing cache systems with cache invalidating means
-
- 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
-
- 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
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
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
【解決手段】システム300は複数のキャッシュラインを備えるキャッシュを含む。命令がプロセッサによって実行されたとき、プロセッサに、インデックスによるキャッシュ無効化命令に含まれるインデックス値、符号化されたウェイ値及びインクリメンタ120の出力値を受信させ、インデックスによるキャッシュ無効化命令の受信に応答して、インデックス値を識別子114の値として割り当てさせる。識別子の値は置換のためのキャッシュラインを示す。
【選択図】図3
Description
図1は、置換のためのキャッシュラインを決定する従来のシステム100を示す概略図である。システム100において、プロセッサは、キャッシュラインに記憶されたデータを置換しながらキャッシュを通して連続的に処理するように構成される。
キャッシュ保全命令は、インデックスによる無効化命令(invalidate by index instruction)、およびアドレスによる無効化命令(invalidate by address instruction)を含む。インデックスによる無効化命令は、無効化されるキャッシュのインデックスを含む。従って、命令は、無効化されるべきキャッシュラインを明確にポイントする。それゆえに、プロセッサがインデックスによる無効化命令を実行すると、インデックスされたキャッシュラインに対応する状態配列のセルは無効状態を記憶する。
図2−3の概略図は、キャッシュラインを置換するためのシステムの実例となる実施形態を示す。図2の概略図は置換のためのキャッシュのキャッシュラインを決定する例示的なシステム200を示し、インデックスによる無効化命令がプロセッサの動作中に存在する。図3の概略図は、置換のためのキャッシュのキャッシュラインを決定する例示的なシステム300を示し、インデックスによる無効化命令およびアドレスによる無効化命令がプロセッサの動作中に存在する。
図4−5は、キャッシュ置換システム200、300の動作の例示的な方法を示すフローチャートである。図4は、図2の概略図で示されるシステム200の動作の例示的な方法400を示すフローチャートである。図5は、図3の概略図で示されるシステム300の動作の例示的な方法500を示すフローチャートである。
マルチモードレジスタファイル(multimode register file)は、デジタル信号プロセッサなどのレジスタファイルを含む任意のプロセッサに含まれる。図6−10の概略図は、図2および3の概略図に示されるように、無効化されたキャッシュラインを置換するために、キャッシュ置換システムを組み込む例示的なデバイスを示す。
以下に、本願の当初の特許請求の範囲に記載された発明を付記する。
[1]
複数のキャッシュラインを備えるキャッシュと;
置換用のキャッシュラインを識別するように構成された識別子と;
インクリメンタ、キャッシュ保全命令、または同じ値のままから選択された前記識別子の値を決定するように構成された制御ロジックと;
を備えるシステム。
[2]
前記キャッシュ保全命令は、インデックスによるキャッシュ無効化命令である、[1]のシステム。
[3]
前記キャッシュ保全命令は、前記制御ロジックによって選択される前記値を含む、[2]のシステム。
[4]
前記キャッシュ保全命令は、アドレスによるキャッシュ無効化命令である、[1]のシステム。
[5]
前記制御ロジックは、前記キャッシュに記憶される情報のタグインデックスを備える、[4]のシステム。
[6]
前記制御ロジックは、前記保全命令のタグが、既定のセットの前記タグインデックスに記憶されたタグのいずれかと一致するか否かを決定するように構成されたコンパレータをさらに備える、[5]のシステム。
[7]
前記制御ロジックは、前記タグインデックス内の前記複数のタグの各々の有効性を記憶するように構成された状態インデックスをさらに備え、前記コンパレータは前記タグインデックスに記憶された前記タグが有効であるか否かを決定するように構成される、[6]のシステム。
[8]
前記制御ロジックは、前記コンパレータの前記出力を受信し、前記識別子の前記値としての選択のために、前記保全命令の前記出力として、キャッシュラインのウェイアドレスに前記出力を符号化するように構成された符号器をさらに備える、[7]のシステム。
[9]
複数のキャッシュラインを備えるキャッシュから置換のためのキャッシュラインを識別子によって識別することと;
インクリメンタ、キャッシュ保全命令、または同じ値のままから選択された前記識別子の値を制御ロジックによって決定することと;
を備える方法。
[10]
前記キャッシュ保全命令は、インデックスによるキャッシュ無効化命令である、[9]の方法。
[11]
前記キャッシュ保全命令は、前記制御ロジックによって選択された前記値を含む、[10]の方法。
[12]
前記キャッシュ保全命令は、アドレスによるキャッシュ無効化命令である、[9]の方法。
[13]
前記キャッシュに記憶された情報のタグインデックスを前記制御ロジックによって記憶することと;
前記保全命令のタグが、既定のセットの前記タグインデックスに記憶された任意のタグと一致するか否かを、コンパレータによって決定することと;
をさらに備える、[12]の方法。
[14]
前記タグインデックス内の前記タグと前記保全命令の前記タグの一致を決定すると、前記タグインデックス内のタグが有効であるか否かを、前記コンパレータによって決定することをさらに備える、[13]の方法。
[15]
前記識別子の前記値としての選択のために、符号器によって、前記コンパレータの出力を前記保全命令の前記出力としてキャッシュラインのウェイアドレスに符号化することをさらに備える、[14]の方法。
[16]
複数のキャッシュラインを備えるキャッシュから、置換のためのキャッシュラインを識別する手段と;
インクリメンタ、キャッシュ保全命令、または同じ値のままから選択されたキャッシュラインを識別するための前記手段の値を決定する手段と;
を備えるシステム。
[17]
前記キャッシュ保全命令は、インデックスによるキャッシュ無効化命令である、[16]のシステム。
[18]
前記キャッシュ保全命令は、アドレスによるキャッシュ無効化命令である、[16]のシステム。
[19]
前記キャッシュに記憶される前記保全命令の状態の位置を決定する手段をさらに備える、[18]のシステム。
[20]
置換される前記キャッシュラインとして識別される前記位置を符号化する手段をさらに備える、[18]のシステム。
Claims (20)
- 複数のキャッシュラインを備えるキャッシュと;
置換用のキャッシュラインを識別するように構成された識別子と;
インクリメンタ、キャッシュ保全命令、または同じ値のままから選択された前記識別子の値を決定するように構成された制御ロジックと;
を備えるシステム。 - 前記キャッシュ保全命令は、インデックスによるキャッシュ無効化命令である、請求項1のシステム。
- 前記キャッシュ保全命令は、前記制御ロジックによって選択される前記値を含む、請求項2のシステム。
- 前記キャッシュ保全命令は、アドレスによるキャッシュ無効化命令である、請求項1のシステム。
- 前記制御ロジックは、前記キャッシュに記憶される情報のタグインデックスを備える、請求項4のシステム。
- 前記制御ロジックは、前記保全命令のタグが、既定のセットの前記タグインデックスに記憶されたタグのいずれかと一致するか否かを決定するように構成されたコンパレータをさらに備える、請求項5のシステム。
- 前記制御ロジックは、前記タグインデックス内の前記複数のタグの各々の有効性を記憶するように構成された状態インデックスをさらに備え、前記コンパレータは前記タグインデックスに記憶された前記タグが有効であるか否かを決定するように構成される、請求項6のシステム。
- 前記制御ロジックは、前記コンパレータの前記出力を受信し、前記識別子の前記値としての選択のために、前記保全命令の前記出力として、キャッシュラインのウェイアドレスに前記出力を符号化するように構成された符号器をさらに備える、請求項7のシステム。
- 複数のキャッシュラインを備えるキャッシュから置換のためのキャッシュラインを識別子によって識別することと;
インクリメンタ、キャッシュ保全命令、または同じ値のままから選択された前記識別子の値を制御ロジックによって決定することと;
を備える方法。 - 前記キャッシュ保全命令は、インデックスによるキャッシュ無効化命令である、請求項9の方法。
- 前記キャッシュ保全命令は、前記制御ロジックによって選択された前記値を含む、請求項10の方法。
- 前記キャッシュ保全命令は、アドレスによるキャッシュ無効化命令である、請求項9の方法。
- 前記キャッシュに記憶された情報のタグインデックスを前記制御ロジックによって記憶することと;
前記保全命令のタグが、既定のセットの前記タグインデックスに記憶された任意のタグと一致するか否かを、コンパレータによって決定することと;
をさらに備える、請求項12の方法。 - 前記タグインデックス内の前記タグと前記保全命令の前記タグの一致を決定すると、前記タグインデックス内のタグが有効であるか否かを、前記コンパレータによって決定することをさらに備える、請求項13の方法。
- 前記識別子の前記値としての選択のために、符号器によって、前記コンパレータの出力を前記保全命令の前記出力としてキャッシュラインのウェイアドレスに符号化することをさらに備える、請求項14の方法。
- 複数のキャッシュラインを備えるキャッシュから、置換のためのキャッシュラインを識別する手段と;
インクリメンタ、キャッシュ保全命令、または同じ値のままから選択されたキャッシュラインを識別するための前記手段の値を決定する手段と;
を備えるシステム。 - 前記キャッシュ保全命令は、インデックスによるキャッシュ無効化命令である、請求項16のシステム。
- 前記キャッシュ保全命令は、アドレスによるキャッシュ無効化命令である、請求項16のシステム。
- 前記キャッシュに記憶される前記保全命令の状態の位置を決定する手段をさらに備える、請求項18のシステム。
- 置換される前記キャッシュラインとして識別される前記位置を符号化する手段をさらに備える、請求項18のシステム。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/039,954 | 2008-02-29 | ||
US12/039,954 US8464000B2 (en) | 2008-02-29 | 2008-02-29 | Systems and methods for cache line replacements |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010548780A Division JP5474836B2 (ja) | 2008-02-29 | 2009-02-03 | キャッシュライン置換のためのシステムおよび方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2013232210A true JP2013232210A (ja) | 2013-11-14 |
JP5722389B2 JP5722389B2 (ja) | 2015-05-20 |
Family
ID=40565113
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010548780A Expired - Fee Related JP5474836B2 (ja) | 2008-02-29 | 2009-02-03 | キャッシュライン置換のためのシステムおよび方法 |
JP2013128940A Expired - Fee Related JP5722389B2 (ja) | 2008-02-29 | 2013-06-19 | キャッシュライン置換のためのシステムおよび方法 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010548780A Expired - Fee Related JP5474836B2 (ja) | 2008-02-29 | 2009-02-03 | キャッシュライン置換のためのシステムおよび方法 |
Country Status (7)
Country | Link |
---|---|
US (2) | US8464000B2 (ja) |
EP (1) | EP2260388B1 (ja) |
JP (2) | JP5474836B2 (ja) |
KR (1) | KR101252744B1 (ja) |
CN (2) | CN105868128B (ja) |
TW (1) | TW200945051A (ja) |
WO (1) | WO2009108463A1 (ja) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8464000B2 (en) | 2008-02-29 | 2013-06-11 | Qualcomm Incorporated | Systems and methods for cache line replacements |
US9170955B2 (en) * | 2012-11-27 | 2015-10-27 | Intel Corporation | Providing extended cache replacement state information |
US9158702B2 (en) | 2012-12-28 | 2015-10-13 | Intel Corporation | Apparatus and method for implementing a scratchpad memory using priority hint |
WO2015075673A1 (en) | 2013-11-21 | 2015-05-28 | Green Cache AB | Systems and methods for reducing first level cache energy by eliminating cache address tags |
US9619387B2 (en) * | 2014-02-21 | 2017-04-11 | Arm Limited | Invalidating stored address translations |
US10019368B2 (en) | 2014-05-29 | 2018-07-10 | Samsung Electronics Co., Ltd. | Placement policy for memory hierarchies |
US10146438B1 (en) | 2016-06-29 | 2018-12-04 | EMC IP Holding Company LLC | Additive library for data structures in a flash memory |
US10055351B1 (en) | 2016-06-29 | 2018-08-21 | EMC IP Holding Company LLC | Low-overhead index for a flash cache |
US10089025B1 (en) | 2016-06-29 | 2018-10-02 | EMC IP Holding Company LLC | Bloom filters in a flash memory |
US10037164B1 (en) | 2016-06-29 | 2018-07-31 | EMC IP Holding Company LLC | Flash interface for processing datasets |
US10261704B1 (en) | 2016-06-29 | 2019-04-16 | EMC IP Holding Company LLC | Linked lists in flash memory |
US10331561B1 (en) * | 2016-06-29 | 2019-06-25 | Emc Corporation | Systems and methods for rebuilding a cache index |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS63178354A (ja) * | 1987-01-20 | 1988-07-22 | Hitachi Ltd | バツフアメモリのリプレ−ス制御方式 |
US5875465A (en) * | 1996-04-03 | 1999-02-23 | Arm Limited | Cache control circuit having a pseudo random address generator |
JP2005108262A (ja) * | 1994-09-09 | 2005-04-21 | Renesas Technology Corp | データ処理装置 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS579155B2 (ja) * | 1975-02-04 | 1982-02-19 | ||
JPH05189356A (ja) | 1992-01-14 | 1993-07-30 | Matsushita Electric Ind Co Ltd | メモリ制御装置 |
JP3740195B2 (ja) | 1994-09-09 | 2006-02-01 | 株式会社ルネサステクノロジ | データ処理装置 |
US6405287B1 (en) * | 1999-11-17 | 2002-06-11 | Hewlett-Packard Company | Cache line replacement using cache status to bias way selection |
US6408364B1 (en) | 2000-03-17 | 2002-06-18 | Advanced Micro Devices, Inc. | Apparatus and method for implementing a least recently used cache replacement algorithm |
US6725337B1 (en) * | 2001-05-16 | 2004-04-20 | Advanced Micro Devices, Inc. | Method and system for speculatively invalidating lines in a cache |
US20040143711A1 (en) * | 2002-09-09 | 2004-07-22 | Kimming So | Mechanism to maintain data coherency for a read-ahead cache |
US7669009B2 (en) * | 2004-09-23 | 2010-02-23 | Intel Corporation | Method and apparatus for run-ahead victim selection to reduce undesirable replacement behavior in inclusive caches |
US8464000B2 (en) | 2008-02-29 | 2013-06-11 | Qualcomm Incorporated | Systems and methods for cache line replacements |
-
2008
- 2008-02-29 US US12/039,954 patent/US8464000B2/en not_active Expired - Fee Related
-
2009
- 2009-02-03 CN CN201610180597.1A patent/CN105868128B/zh not_active Expired - Fee Related
- 2009-02-03 JP JP2010548780A patent/JP5474836B2/ja not_active Expired - Fee Related
- 2009-02-03 CN CN200980106734.5A patent/CN101960433B/zh not_active Expired - Fee Related
- 2009-02-03 WO PCT/US2009/032920 patent/WO2009108463A1/en active Application Filing
- 2009-02-03 EP EP09714236.8A patent/EP2260388B1/en not_active Not-in-force
- 2009-02-03 KR KR1020107021738A patent/KR101252744B1/ko active IP Right Grant
- 2009-02-17 TW TW098104985A patent/TW200945051A/zh unknown
-
2013
- 2013-05-15 US US13/894,545 patent/US8812789B2/en not_active Expired - Fee Related
- 2013-06-19 JP JP2013128940A patent/JP5722389B2/ja not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS63178354A (ja) * | 1987-01-20 | 1988-07-22 | Hitachi Ltd | バツフアメモリのリプレ−ス制御方式 |
JP2005108262A (ja) * | 1994-09-09 | 2005-04-21 | Renesas Technology Corp | データ処理装置 |
US5875465A (en) * | 1996-04-03 | 1999-02-23 | Arm Limited | Cache control circuit having a pseudo random address generator |
Also Published As
Publication number | Publication date |
---|---|
US20130254489A1 (en) | 2013-09-26 |
KR101252744B1 (ko) | 2013-04-09 |
TW200945051A (en) | 2009-11-01 |
JP2011513844A (ja) | 2011-04-28 |
CN105868128B (zh) | 2018-05-18 |
KR20100119820A (ko) | 2010-11-10 |
CN101960433B (zh) | 2016-04-27 |
JP5474836B2 (ja) | 2014-04-16 |
US20090222626A1 (en) | 2009-09-03 |
CN105868128A (zh) | 2016-08-17 |
JP5722389B2 (ja) | 2015-05-20 |
EP2260388A1 (en) | 2010-12-15 |
WO2009108463A1 (en) | 2009-09-03 |
US8464000B2 (en) | 2013-06-11 |
EP2260388B1 (en) | 2016-08-31 |
US8812789B2 (en) | 2014-08-19 |
CN101960433A (zh) | 2011-01-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5722389B2 (ja) | キャッシュライン置換のためのシステムおよび方法 | |
US8639913B2 (en) | Multi-mode register file for use in branch prediction | |
CN102971720B (zh) | 管理翻译旁视缓冲器的系统和方法 | |
JP5254342B2 (ja) | n−ウェイキャッシュを用いるシステムおよび方法 | |
KR20100090703A (ko) | 구성 가능한 전환 색인 버퍼 | |
EP3149594B1 (en) | Method and apparatus for cache access mode selection | |
JP2008529132A (ja) | バンクメモリを動的に管理する方法及び装置 | |
JP2019513271A (ja) | 中央処理ユニット(cpu)ベースシステムにおいて複数のラストレベルキャッシュ(llc)ラインを使用してメモリ帯域幅圧縮を行うこと | |
US20210089459A1 (en) | Storage control apparatus, processing apparatus, computer system, and storage control method | |
KR101239272B1 (ko) | 하드웨어 프리페치 어드레스 및 산술 연산 값을 계산하기 위한 듀얼 함수 가산기 | |
CN102884506B (zh) | 使用用于转换并存储数据值的指令来配置替代存储器存取代理 | |
KR20070118705A (ko) | 레지스터 파일에 액세스하기 위해 프리디케이트 값을이용하는 시스템 및 방법 | |
JP2018505489A (ja) | システムオンチップにおける動的メモリ利用 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20140313 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20140422 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20140722 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20140725 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20140731 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20141104 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20150204 |
|
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: 20150224 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20150325 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5722389 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |