JP2013505488A - 読み取り及び書き込みアウェア・キャッシュを制御する方法、装置、プログラム、キャッシュ・コントローラ - Google Patents
読み取り及び書き込みアウェア・キャッシュを制御する方法、装置、プログラム、キャッシュ・コントローラ Download PDFInfo
- Publication number
- JP2013505488A JP2013505488A JP2012529199A JP2012529199A JP2013505488A JP 2013505488 A JP2013505488 A JP 2013505488A JP 2012529199 A JP2012529199 A JP 2012529199A JP 2012529199 A JP2012529199 A JP 2012529199A JP 2013505488 A JP2013505488 A JP 2013505488A
- Authority
- JP
- Japan
- Prior art keywords
- cache
- area
- access request
- cache line
- read
- 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/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
-
- 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/27—Using a specific cache architecture
- G06F2212/271—Non-uniform cache access [NUCA] architecture
-
- 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
【解決手段】このメカニズムは、大きなキャッシュを高頻度読み取り領域及び高頻度書き込み領域に分割する。このメカニズムは、不均一キャッシュ・アーキテクチャの置換ポリシにおいて、読み取り/書き込み頻度を考慮する。頻繁に書き込まれるキャッシュ・ラインは、より遠いバンクのうちの1つに配置される。頻繁に読み取られるキャッシュ・ラインは、より近いバンクのうちの1つに配置される。高頻度読み取り及び高頻度書き込み領域のサイズの比は、静的であっても、又は動的であってもよい。高頻度読み取り領域と、高頻度書き込み領域との間の境界は、明確であっても、又はファジーであってもよい。
【選択図】図4
Description
Claims (20)
- データ処理システムにおける、読み取り及び書き込みアウェア・キャッシュに関する方法であって、キャッシュ・コントローラにおいて、処理ユニットからキャッシュ・アクセス要求を受けるステップを含み、
前記キャッシュ・コントローラは、前記キャッシュ・アクセス要求がキャッシュ・ミスを発生させるロードであれば、データのキャッシュ・ラインをキャッシュの高頻度読み取り領域内にロードし、前記キャッシュは、バンクのアレイを含み、前記高頻度読み取り領域は、前記処理ユニットに近いバンクを含み、
前記キャッシュ・コントローラは、前記キャッシュ・アクセス要求がキャッシュ・ミスを発生させるストアであれば、データの前記キャッシュ・ラインを前記キャッシュの高頻度書き込み領域内に配置し、前記高頻度書き込み領域は、前記処理ユニットから遠いバンクを含む、方法。 - 前記キャッシュ・ラインに関連する飽和カウンタを初期化するステップ
をさらに含む、請求項1に記載の方法。 - 前記キャッシュ・ラインにアクセスするための、後のキャッシュ・アクセス要求を、前記キャッシュ・コントローラにおいて受けるステップと、
前記キャッシュ・ラインが適切な領域内にあるかどうかを判断するステップと、
前記キャッシュ・ラインが前記適切な領域内にないことに応じて、前記キャッシュ・ラインと、他の一方の領域内のキャッシュ・ラインとをスワップするステップと、
をさらに含む、請求項2に記載の方法。 - 前記キャッシュ・アクセス要求によってアクセスされる前記キャッシュ・ラインが前記適切な領域内にあるかどうかを判断するステップは、
前記キャッシュ・アクセス要求が、前記高頻度読み取り領域におけるストアであること、又は前記高頻度書き込み領域におけるロードであることに応じて、前記飽和カウンタをデクリメントするステップと、
前記飽和カウンタが閾値未満であることに応じて、前記キャッシュ・ラインは前記適切な領域内にないと判断するステップと、
を含む、請求項3に記載の方法。 - 前記キャッシュ・ラインにアクセスするための、後のキャッシュ・アクセス要求を、前記キャッシュ・コントローラにおいて受けるステップと、
前記キャッシュ・アクセス要求が前記高頻度読み取り領域におけるロードであること、又は前記高頻度書き込み領域におけるストアであることに応じて、前記飽和カウンタをインクリメントするステップと、
をさらに含む、請求項2に記載の方法。 - 前記高頻度読み取り領域と、前記高頻度書き込み領域との間のサイズの比は、静的である、請求項1に記載の方法。
- 前記高頻度読み取り領域と、前記高頻度書き込み領域との間の境界は、明確である、請求項1に記載の方法。
- データ処理システムにおける、読み取り及び書き込みアウェア・キャッシュに関する装置であって、前記装置は、
処理ユニットと、
バンクのアレイを含むキャッシュ・アレイであって、前記バンクのアレイは、高頻度読み取り領域及び高頻度書き込み領域を含み、前記高頻度読み取り領域は、前記バンクのアレイの中で、処理ユニットに近いバンクを含み、前記高頻度書き込み領域は、前記バンクのアレイの中で、前記処理ユニットから遠いバンクを含む、前記キャッシュ・アレイと、
前記キャッシュ・アレイ及び前記処理ユニットに結合されたキャッシュ・コントローラであって、前記処理ユニットからキャッシュ・アクセス要求を受け、
前記キャッシュ・アクセス要求がキャッシュ・ミスを発生させるロードであることに応じて、データのキャッシュ・ラインを前記高頻度読み取り領域内にロードし、
前記キャッシュ・アクセス要求がキャッシュ・ミスを発生させるストアであることに応じて、データのキャッシュ・ラインを前記キャッシュの前記高頻度書き込み領域内に配置するよう構成されている、前記キャッシュ・コントローラと、
を含む装置。 - 前記キャッシュ・コントローラは、前記キャッシュ・ラインに関連する飽和カウンタを初期化するようさらに構成されている、請求項8に記載の装置。
- 前記キャッシュ・コントローラは、
前記キャッシュ・ラインにアクセスするための、後のキャッシュ・アクセス要求を、前記キャッシュ・コントローラにおいて受け、
前記キャッシュ・ラインが適切な領域内にあるかどうかを判断し、
前記キャッシュ・ラインが前記適切な領域内にないことに応じて、前記キャッシュ・ラインと、他の一方の領域内のキャッシュ・ラインとをスワップするようさらに構成されている、請求項9に記載の装置。 - 前記キャッシュ・アクセス要求によってアクセスされる前記キャッシュ・ラインが前記適切な領域内にあるかどうかの判断は、
前記キャッシュ・アクセス要求が、前記高頻度読み取り領域におけるストアであること、又は前記高頻度書き込み領域におけるロードであることに応じて、前記飽和カウンタをデクリメントすること、及び
前記飽和カウンタが閾値未満であることに応じて、前記キャッシュ・ラインは前記適切な領域内にないと判断すること
を含む、請求項10に記載の装置。 - 前記キャッシュ・コントローラは、
前記キャッシュ・ラインにアクセスするための、後のキャッシュ・アクセス要求を、前記キャッシュ・コントローラにおいて受け、
前記キャッシュ・アクセス要求が前記高頻度読み取り領域におけるロードであること、又は前記高頻度書き込み領域におけるストアであることに応じて、前記飽和カウンタをインクリメントするようさらに構成されている、請求項9に記載の装置。 - 前記高頻度読み取り領域と、前記高頻度書き込み領域との間のサイズの比は、静的である、請求項8に記載の装置。
- 前記高頻度読み取り領域と、前記高頻度書き込み領域との間の境界は、明確である、請求項8に記載の装置。
- コンピュータ可読プログラムが記録されているコンピュータ記録可能媒体を含むコンピュータ・プログラム製品であって、前記コンピュータ可読プログラムは、コンピューティング・デバイス上で実行されると、前記コンピューティング・デバイスに、
キャッシュ・コントローラにおいて、処理ユニットからキャッシュ・アクセス要求を受けること、
前記キャッシュ・アクセス要求が、キャッシュ・ミスを発生させるロードであることに応じて、前記キャッシュ・コントローラによって、データのキャッシュ・ラインをキャッシュの高頻度読み取り領域内にロードすることであって、前記キャッシュは、バンクのアレイを含み、前記高頻度読み取り領域は、前記処理ユニットに近いバンクを含む、前記ロードすること、及び
前記キャッシュ・アクセス要求が、キャッシュ・ミスを発生させるストアであることに応じて、前記キャッシュ・コントローラによって、データのキャッシュ・ラインを前記キャッシュの高頻度書き込み領域内にロードすることであって、前記高頻度書き込み領域は、前記処理ユニットから遠いバンクを含む、前記ロードすること
を行わせる、コンピュータ・プログラム製品。 - 前記コンピュータ可読プログラムは、前記コンピューティング・デバイスに、
前記キャッシュ・ラインに関連する飽和カウンタを初期化すること、
前記キャッシュ・ラインにアクセスするための、後のキャッシュ・アクセス要求を、前記キャッシュ・コントローラにおいて受けること、
前記キャッシュ・ラインが適切な領域内にあるかどうかを判断すること、及び
前記キャッシュ・ラインが前記適切な領域内にないことに応じて、前記キャッシュ・ラインと、他の一方の領域内のキャッシュ・ラインとをスワップすること
をさらに行わせる、請求項15に記載のコンピュータ・プログラム製品。 - 前記キャッシュ・アクセス要求によってアクセスされる前記キャッシュ・ラインが前記適切な領域内にあるかどうかの判断は、
前記キャッシュ・アクセス要求が、前記高頻度読み取り領域におけるストアであること、又は前記高頻度書き込み領域におけるロードであることに応じて、前記飽和カウンタをデクリメントすること、及び
前記飽和カウンタが閾値未満であることに応じて、前記キャッシュ・ラインは前記適切な領域内にないと判断すること
を含む、請求項16に記載のコンピュータ・プログラム製品。 - 前記コンピュータ可読プログラムは、前記コンピューティング・デバイスに、
前記キャッシュ・ラインにアクセスするための、後のキャッシュ・アクセス要求を、前記キャッシュ・コントローラにおいて受けること、及び
前記キャッシュ・アクセス要求が前記高頻度読み取り領域におけるロードであること、又は前記高頻度書き込み領域におけるストアであることに応じて、前記飽和カウンタをインクリメントすること
をさらに行わせる、請求項16に記載のコンピュータ・プログラム製品。 - 前記コンピュータ可読プログラムは、データ処理システム内のコンピュータ可読記憶媒体内に記憶されており、前記コンピュータ可読プログラムは、リモート・データ処理システムからネットワーク上でダウンロードされたものである、請求項15に記載のコンピュータ・プログラム製品。
- 前記コンピュータ可読プログラムは、サーバ・データ処理システム内のコンピュータ可読記憶媒体内に記憶されており、前記コンピュータ可読プログラムは、リモート・データ処理システムとともにコンピュータ可読記憶媒体で使用されるよう、ネットワーク上で前記リモート・システムにダウンロードされる、請求項15に記載のコンピュータ・プログラム製品。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/562,242 US8271729B2 (en) | 2009-09-18 | 2009-09-18 | Read and write aware cache storing cache lines in a read-often portion and a write-often portion |
US12/562,242 | 2009-09-18 | ||
PCT/EP2010/062735 WO2011032834A1 (en) | 2009-09-18 | 2010-08-31 | Read and write aware cache |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2013505488A true JP2013505488A (ja) | 2013-02-14 |
JP5511965B2 JP5511965B2 (ja) | 2014-06-04 |
Family
ID=43216463
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012529199A Active JP5511965B2 (ja) | 2009-09-18 | 2010-08-31 | 読み取り及び書き込みアウェア・キャッシュを制御する方法、装置、プログラム、キャッシュ・コントローラ |
Country Status (6)
Country | Link |
---|---|
US (2) | US8271729B2 (ja) |
EP (1) | EP2478441B1 (ja) |
JP (1) | JP5511965B2 (ja) |
KR (1) | KR101419615B1 (ja) |
CN (1) | CN102483720A (ja) |
WO (1) | WO2011032834A1 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016509324A (ja) * | 2013-03-07 | 2016-03-24 | クアルコム,インコーポレイテッド | キャッシュメモリアクセスを高速化するためのキャッシュメモリフィルの重要ワード優先順序付け、ならびに関連するプロセッサベースのシステムおよび方法 |
Families Citing this family (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8341353B2 (en) * | 2010-01-14 | 2012-12-25 | Qualcomm Incorporated | System and method to access a portion of a level two memory and a level one memory |
TWI417721B (zh) * | 2010-11-26 | 2013-12-01 | Etron Technology Inc | 衰減熱資料之方法 |
US9436475B2 (en) | 2012-11-05 | 2016-09-06 | Nvidia Corporation | System and method for executing sequential code using a group of threads and single-instruction, multiple-thread processor incorporating the same |
US9058282B2 (en) | 2012-12-31 | 2015-06-16 | Intel Corporation | Dynamic cache write policy |
US9524164B2 (en) * | 2013-08-30 | 2016-12-20 | Advanced Micro Devices, Inc. | Specialized memory disambiguation mechanisms for different memory read access types |
CN103631972B (zh) * | 2013-12-23 | 2016-09-21 | 济南大学 | 一种列访问感知的数据缓存方法及系统 |
JP2016170682A (ja) * | 2015-03-13 | 2016-09-23 | 富士通株式会社 | 演算処理装置及び演算処理装置の制御方法 |
EP3376369B1 (en) | 2016-01-20 | 2020-03-04 | Samsung Electronics Co., Ltd. | Method, apparatus and recording medium for processing division calculation |
US10387329B2 (en) * | 2016-02-10 | 2019-08-20 | Google Llc | Profiling cache replacement |
US10853267B2 (en) * | 2016-06-14 | 2020-12-01 | Lenovo Enterprise Solutions (Singapore) Pte. Ltd. | Adaptive method for selecting a cache line replacement algorithm in a direct-mapped cache |
US10235299B2 (en) | 2016-11-07 | 2019-03-19 | Samsung Electronics Co., Ltd. | Method and device for processing data |
US10417134B2 (en) * | 2016-11-10 | 2019-09-17 | Oracle International Corporation | Cache memory architecture and policies for accelerating graph algorithms |
JP6799256B2 (ja) * | 2016-11-28 | 2020-12-16 | 富士通株式会社 | ストレージ制御装置、ストレージシステム、ストレージ制御方法およびストレージ制御プログラム |
US10649904B2 (en) * | 2016-12-12 | 2020-05-12 | Samsung Electronics Co., Ltd. | System and method for store streaming detection and handling |
US10902020B2 (en) * | 2018-06-08 | 2021-01-26 | International Business Machines Corporation | Multiple cache processing of streaming data |
CN111367831B (zh) * | 2020-03-26 | 2022-11-11 | 超睿科技(长沙)有限公司 | 翻译页表的深度预取方法、部件、微处理器及计算机设备 |
KR20210121527A (ko) | 2020-03-30 | 2021-10-08 | 에스케이하이닉스 주식회사 | 데이터 저장 장치 및 그것의 동작 방법 |
US11899589B2 (en) | 2021-06-22 | 2024-02-13 | Samsung Electronics Co., Ltd. | Systems, methods, and devices for bias mode management in memory systems |
CN116028388B (zh) * | 2023-01-17 | 2023-12-12 | 摩尔线程智能科技(北京)有限责任公司 | 高速缓存方法、装置、电子设备、存储介质和程序产品 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8078794B2 (en) * | 2000-01-06 | 2011-12-13 | Super Talent Electronics, Inc. | Hybrid SSD using a combination of SLC and MLC flash memory arrays |
JP2005522773A (ja) | 2002-04-08 | 2005-07-28 | ユニバーシティー・オブ・テキサス・システム | 非均等型キャッシュ装置、システム及び方法 |
US7058764B2 (en) * | 2003-04-14 | 2006-06-06 | Hewlett-Packard Development Company, L.P. | Method of adaptive cache partitioning to increase host I/O performance |
US7287122B2 (en) * | 2004-10-07 | 2007-10-23 | International Business Machines Corporation | Data replication in multiprocessor NUCA systems to reduce horizontal cache thrashing |
US7457922B2 (en) | 2004-11-20 | 2008-11-25 | International Business Machines Corporation | Cache line placement prediction for multiprocessor non-uniform cache architecture systems |
US7293141B1 (en) | 2005-02-01 | 2007-11-06 | Advanced Micro Devices, Inc. | Cache word of interest latency organization |
JP2006252031A (ja) | 2005-03-09 | 2006-09-21 | Nec Corp | ディスクアレイコントローラ |
US8566560B2 (en) * | 2008-02-01 | 2013-10-22 | Dell Products L.P. | System and method for configuring storage resources for database storage |
US9152569B2 (en) * | 2008-11-04 | 2015-10-06 | International Business Machines Corporation | Non-uniform cache architecture (NUCA) |
-
2009
- 2009-09-18 US US12/562,242 patent/US8271729B2/en not_active Expired - Fee Related
-
2010
- 2010-08-31 KR KR1020127005206A patent/KR101419615B1/ko active IP Right Grant
- 2010-08-31 WO PCT/EP2010/062735 patent/WO2011032834A1/en active Application Filing
- 2010-08-31 EP EP10749847.9A patent/EP2478441B1/en active Active
- 2010-08-31 CN CN2010800388055A patent/CN102483720A/zh active Pending
- 2010-08-31 JP JP2012529199A patent/JP5511965B2/ja active Active
-
2012
- 2012-08-13 US US13/572,916 patent/US8843705B2/en active Active
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016509324A (ja) * | 2013-03-07 | 2016-03-24 | クアルコム,インコーポレイテッド | キャッシュメモリアクセスを高速化するためのキャッシュメモリフィルの重要ワード優先順序付け、ならびに関連するプロセッサベースのシステムおよび方法 |
Also Published As
Publication number | Publication date |
---|---|
KR101419615B1 (ko) | 2014-07-15 |
EP2478441B1 (en) | 2014-02-26 |
US20120311265A1 (en) | 2012-12-06 |
CN102483720A (zh) | 2012-05-30 |
US20110072214A1 (en) | 2011-03-24 |
US8843705B2 (en) | 2014-09-23 |
WO2011032834A1 (en) | 2011-03-24 |
EP2478441A1 (en) | 2012-07-25 |
JP5511965B2 (ja) | 2014-06-04 |
KR20120089842A (ko) | 2012-08-14 |
US8271729B2 (en) | 2012-09-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5511965B2 (ja) | 読み取り及び書き込みアウェア・キャッシュを制御する方法、装置、プログラム、キャッシュ・コントローラ | |
US8943272B2 (en) | Variable cache line size management | |
US8392658B2 (en) | Cache implementing multiple replacement policies | |
JP3888508B2 (ja) | キャッシュ・データ管理方法 | |
JP6009589B2 (ja) | マルチレベルのキャッシュ階層におけるキャストアウトを低減するための装置および方法 | |
US7430638B2 (en) | Adaptive input / output compressed system and data cache and system using same | |
US8230179B2 (en) | Administering non-cacheable memory load instructions | |
CN109074312B (zh) | 基于高速缓存测试区域来为预取选择高速缓存老化策略 | |
US20180300258A1 (en) | Access rank aware cache replacement policy | |
US20130205089A1 (en) | Cache Device and Methods Thereof | |
JP6859361B2 (ja) | 中央処理ユニット(cpu)ベースシステムにおいて複数のラストレベルキャッシュ(llc)ラインを使用してメモリ帯域幅圧縮を行うこと | |
US20060112228A1 (en) | Cache line placement prediction for multiprocessor non-uniform cache architecture systems | |
US11803484B2 (en) | Dynamic application of software data caching hints based on cache test regions | |
US11409663B2 (en) | Methods and systems for optimized translation of a virtual address having multiple virtual address portions using multiple translation lookaside buffer (TLB) arrays for variable page sizes | |
JP2000090009A (ja) | キャッシュメモリにおいてキャッシュラインを置き換えるための方法および装置 | |
US8112589B2 (en) | System for caching data from a main memory with a plurality of cache states | |
US9529730B2 (en) | Methods for cache line eviction | |
JP2019525330A (ja) | キャッシュテスト領域に基づくプリフェッチデータに対するキャッシュ転送ポリシーの選択 | |
US11074189B2 (en) | FlatFlash system for byte granularity accessibility of memory in a unified memory-storage hierarchy | |
US8656106B2 (en) | Managing unforced injections of cache lines into a cache utilizing predetermined address ranges | |
US10180904B2 (en) | Cache memory and operation method thereof | |
US11436158B2 (en) | Fine-grained forced cache eviction | |
Subisha et al. | Prefetching in hybrid main memory systems | |
CN115269492A (zh) | 可重构处理器多端口缓存的流式数据管理方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20130509 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20140226 |
|
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: 20140311 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20140325 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5511965 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |