JP2017510902A - 無効化を伴う読取りを使用してキャッシュにおける帯域幅および電力を下げる方法および装置 - Google Patents
無効化を伴う読取りを使用してキャッシュにおける帯域幅および電力を下げる方法および装置 Download PDFInfo
- Publication number
- JP2017510902A JP2017510902A JP2016561316A JP2016561316A JP2017510902A JP 2017510902 A JP2017510902 A JP 2017510902A JP 2016561316 A JP2016561316 A JP 2016561316A JP 2016561316 A JP2016561316 A JP 2016561316A JP 2017510902 A JP2017510902 A JP 2017510902A
- Authority
- JP
- Japan
- Prior art keywords
- cache
- cache line
- writeback
- line
- 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.)
- Ceased
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/0815—Cache consistency protocols
- G06F12/0831—Cache consistency protocols using a bus scheme, e.g. with bus monitoring or watching means
- G06F12/0833—Cache consistency protocols using a bus scheme, e.g. with bus monitoring or watching means in combination with broadcast means (e.g. for invalidation or updating)
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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 OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/325—Power saving in peripheral device
- G06F1/3275—Power saving in memory, e.g. RAM, cache
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/0866—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
- G06F12/0868—Data transfer between cache memory and other subsystems, e.g. storage devices or host systems
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/126—Replacement control using replacement algorithms with special data handling, e.g. priority of data or instructions, handling errors or pinning
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/128—Replacement control using replacement algorithms adapted to multidimensional cache systems, e.g. set-associative, multicache, multiset or multilevel
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/62—Details of cache specific to multiprocessor cache arrangements
-
- 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)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
Description
102 プロセッサ
104 ディスプレイ
106 バスアービタ
108 メモリ
110 キャッシュ
112 レジスタ
114 タグ
116 インデックス
118 ランダムアクセスメモリ
120 ランダムアクセスメモリ
122 キャッシュライン
124 デコーダ
126 タグ
128 マルチプレクサ
130 比較器
132 有効ビット
134 コントローラ
Claims (17)
- アドレスを示すRead-No-Writeback命令をキャッシュにおいて受信するステップと、
前記アドレスと関連するキャッシュラインが、前記キャッシュから前記キャッシュラインを追い出すときにメモリに書き込まれないことを示すために前記キャッシュにおいてNo-Writebackビットをセットするステップと
を含む、方法。 - No-Writebackビットがセットされていない他のキャッシュラインを追い出す前に、置換ポリシーに応答して前記キャッシュラインを追い出すステップ
をさらに含む、請求項1に記載の方法。 - デバイスによって、トランザクション属性にフラグをセットするステップであって、前記デバイスが、キャッシュの前記キャッシュラインを読み取るものである、ステップと、
前記キャッシュラインが前記メモリに書き込まれないように、前記キャッシュラインと関連する前記No-Writebackビットを前記フラグに応答してキャッシュコントローラによってセットするステップと
をさらに含む、請求項1に記載の方法。 - No-Writebackビットがセットされていない他のキャッシュラインを追い出す前に、置換ポリシーに応答して前記キャッシュラインを追い出すステップ
をさらに含む、請求項3に記載の方法。 - 前記キャッシュにおいて、前記デバイスに対応する受信マスター識別情報を調べるステップと、
前記キャッシュラインが前記メモリに書き込まれないように、前記マスター識別情報に応じて前記キャッシュラインと関連するNo-Writebackビットをセットするステップと
をさらに含む、請求項3に記載の方法。 - 前記キャッシュにおいて、デバイスに対応する受信マスター識別情報を調べるステップであって、前記デバイスが、前記キャッシュに記憶されたキャッシュライン中のデータを読み取るものである、ステップと、
前記キャッシュラインが前記メモリに書き込まれないように、前記マスター識別情報に応じて前記キャッシュラインと関連するNo-Writebackビットをセットするステップと
をさらに含む、請求項1に記載の方法。 - キャッシュラインと関連するデータを記憶するためのストレージであって、各キャッシュラインが対応するNo-Writebackビットを有する、ストレージと、
前記ストレージに結合されるコントローラであって、キャッシュラインを示すRead-No-Writeback命令を受信することに応答して、前記キャッシュラインが前記キャッシュから前記キャッシュラインを追い出すときにメモリに書き込まれないことを示すために前記キャッシュラインに対応するNo-Writebackビットをセットする、コントローラと
を含む、キャッシュ。 - 前記コントローラがさらに、No-Writebackビットがセットされていない他のキャッシュラインを追い出す前に、置換ポリシーに応答して前記キャッシュラインを追い出すものである、請求項7に記載のキャッシュ。
- 前記コントローラがさらに、デバイスに対応する受信マスター識別情報を調べ、前記デバイスが、前記キャッシュライン中のデータを読み取り、前記キャッシュラインが前記メモリに書き込まれないように前記マスター識別情報に応じて前記キャッシュラインと関連する前記No-Writebackビットをセットするものである、請求項8に記載のキャッシュ。
- 前記コントローラがさらに、デバイスに対応する受信マスター識別情報を調べ、前記デバイスが、前記キャッシュライン中のデータを読み取り、前記キャッシュラインが前記メモリに書き込まれないように前記マスター識別情報に応じて前記キャッシュラインと関連する前記No-Writebackビットをセットする、請求項7に記載のキャッシュ。
- 前記キャッシュが、セルラーフォン、タブレット、およびコンピュータシステムからなるグループから選択される装置の一部である、請求項7に記載のキャッシュ。
- メモリと、
デバイスと、
前記デバイスに結合されるキャッシュであって、前記キャッシュに記憶されたキャッシュラインのアドレスを示す、前記デバイスからのRead-No-Writeback命令を受信し、前記キャッシュラインが対応するNo-Writebackビットを有するとき、前記キャッシュから前記キャッシュラインを追い出すときに前記キャッシュラインが前記メモリに書き込まれないことを示すために前記No-Writebackビットをセットする、キャッシュと
を含む、システム。 - 前記キャッシュがさらに、No-Writebackビットがセットされていない他のキャッシュラインを追い出す前に、置換ポリシーに応答して前記キャッシュラインを追い出す、請求項12に記載のシステム。
- 前記デバイスが、前記キャッシュの前記キャッシュラインを読み取るためにトランザクション属性にフラグをセットし、
前記キャッシュが、前記フラグに応答して、前記キャッシュラインが前記メモリに書き込まれないように、前記No-Writebackビットをセットする、
請求項12に記載のシステム。 - 前記キャッシュがさらに、No-Writebackビットがセットされていない他のキャッシュラインを追い出す前に、置換ポリシーに応答して前記キャッシュラインを追い出す、請求項14に記載のシステム。
- 前記デバイスがマスター識別情報を有し、
前記キャッシュが受信し、前記受信マスター識別情報を調べ、前記キャッシュラインが前記メモリに書き込まれないように、前記キャッシュが、前記マスター識別情報に応じて前記No-Writebackビットをセットするものである、
請求項14に記載のシステム。 - 前記デバイスがディスプレイである、請求項12に記載のシステム。
Applications Claiming Priority (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US14/251,628 | 2014-04-13 | ||
| US14/251,628 US20150293847A1 (en) | 2014-04-13 | 2014-04-13 | Method and apparatus for lowering bandwidth and power in a cache using read with invalidate |
| PCT/US2015/023686 WO2015160503A1 (en) | 2014-04-13 | 2015-03-31 | Method and apparatus for lowering bandwidth and power in a cache using read with invalidate |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2017510902A true JP2017510902A (ja) | 2017-04-13 |
| JP2017510902A5 JP2017510902A5 (ja) | 2018-04-26 |
Family
ID=53039586
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2016561316A Ceased JP2017510902A (ja) | 2014-04-13 | 2015-03-31 | 無効化を伴う読取りを使用してキャッシュにおける帯域幅および電力を下げる方法および装置 |
Country Status (8)
| Country | Link |
|---|---|
| US (1) | US20150293847A1 (ja) |
| EP (1) | EP3132354A1 (ja) |
| JP (1) | JP2017510902A (ja) |
| KR (1) | KR20160143682A (ja) |
| CN (1) | CN106170776A (ja) |
| BR (1) | BR112016023745A2 (ja) |
| TW (1) | TW201604681A (ja) |
| WO (1) | WO2015160503A1 (ja) |
Families Citing this family (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US10176096B2 (en) * | 2016-02-22 | 2019-01-08 | Qualcomm Incorporated | Providing scalable dynamic random access memory (DRAM) cache management using DRAM cache indicator caches |
| US10552153B2 (en) * | 2017-03-31 | 2020-02-04 | Intel Corporation | Efficient range-based memory writeback to improve host to device communication for optimal power and performance |
| US11023162B2 (en) | 2019-08-22 | 2021-06-01 | Apple Inc. | Cache memory with transient storage for cache lines |
| CN113918081B (zh) | 2020-07-08 | 2024-03-26 | 慧荣科技股份有限公司 | 计算机可读取存储介质、配置可靠命令的方法及装置 |
| TWI771707B (zh) * | 2020-07-08 | 2022-07-21 | 慧榮科技股份有限公司 | 組態可靠命令的方法及裝置以及電腦程式產品 |
Citations (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH0354649A (ja) * | 1989-07-24 | 1991-03-08 | Oki Electric Ind Co Ltd | バッファ記憶制御方式 |
| JPH0448358A (ja) * | 1990-06-18 | 1992-02-18 | Nec Corp | キャッシュ・メモリ制御方式 |
| JPH08137748A (ja) * | 1994-11-08 | 1996-05-31 | Toshiba Corp | コピーバックキャッシュを有するコンピュータ及びコピーバックキャッシュ制御方法 |
| JPH0926930A (ja) * | 1995-03-31 | 1997-01-28 | Sun Microsyst Inc | マルチプロセッサ・キャッシュ・コヒーレント・コンピュータ・システムにおいてメモリ・アクセスを迅速に開始する方法および装置 |
| US20060026360A1 (en) * | 2004-07-30 | 2006-02-02 | Dale Morris | Purging without write-back of cache lines containing spent data |
| US20090006668A1 (en) * | 2007-06-28 | 2009-01-01 | Anil Vasudevan | Performing direct data transactions with a cache memory |
Family Cites Families (9)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP4434534B2 (ja) * | 2001-09-27 | 2010-03-17 | 株式会社東芝 | プロセッサ・システム |
| JP2003177963A (ja) * | 2001-12-12 | 2003-06-27 | Hitachi Ltd | ストレージ装置 |
| US6968429B2 (en) * | 2003-02-20 | 2005-11-22 | Sun Microsystems, Inc. | Method and apparatus for controlling line eviction in a cache |
| JP2006119796A (ja) * | 2004-10-20 | 2006-05-11 | Matsushita Electric Ind Co Ltd | キャッシュメモリシステムおよび動画処理装置 |
| US7461209B2 (en) * | 2005-12-06 | 2008-12-02 | International Business Machines Corporation | Transient cache storage with discard function for disposable data |
| US20090037661A1 (en) * | 2007-08-04 | 2009-02-05 | Applied Micro Circuits Corporation | Cache mechanism for managing transient data |
| US20120047330A1 (en) * | 2010-08-18 | 2012-02-23 | Nec Laboratories America, Inc. | I/o efficiency of persistent caches in a storage system |
| US20120297147A1 (en) * | 2011-05-20 | 2012-11-22 | Nokia Corporation | Caching Operations for a Non-Volatile Memory Array |
| JP2014178804A (ja) * | 2013-03-14 | 2014-09-25 | Sony Corp | キャッシュ制御装置、プロセッサ、情報処理システム、および、その制御方法 |
-
2014
- 2014-04-13 US US14/251,628 patent/US20150293847A1/en not_active Abandoned
-
2015
- 2015-03-31 EP EP15719898.7A patent/EP3132354A1/en not_active Withdrawn
- 2015-03-31 CN CN201580019273.3A patent/CN106170776A/zh active Pending
- 2015-03-31 WO PCT/US2015/023686 patent/WO2015160503A1/en not_active Ceased
- 2015-03-31 KR KR1020167028125A patent/KR20160143682A/ko not_active Withdrawn
- 2015-03-31 BR BR112016023745A patent/BR112016023745A2/pt not_active IP Right Cessation
- 2015-03-31 JP JP2016561316A patent/JP2017510902A/ja not_active Ceased
- 2015-04-10 TW TW104111685A patent/TW201604681A/zh unknown
Patent Citations (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH0354649A (ja) * | 1989-07-24 | 1991-03-08 | Oki Electric Ind Co Ltd | バッファ記憶制御方式 |
| JPH0448358A (ja) * | 1990-06-18 | 1992-02-18 | Nec Corp | キャッシュ・メモリ制御方式 |
| JPH08137748A (ja) * | 1994-11-08 | 1996-05-31 | Toshiba Corp | コピーバックキャッシュを有するコンピュータ及びコピーバックキャッシュ制御方法 |
| JPH0926930A (ja) * | 1995-03-31 | 1997-01-28 | Sun Microsyst Inc | マルチプロセッサ・キャッシュ・コヒーレント・コンピュータ・システムにおいてメモリ・アクセスを迅速に開始する方法および装置 |
| US20060026360A1 (en) * | 2004-07-30 | 2006-02-02 | Dale Morris | Purging without write-back of cache lines containing spent data |
| US20090006668A1 (en) * | 2007-06-28 | 2009-01-01 | Anil Vasudevan | Performing direct data transactions with a cache memory |
Also Published As
| Publication number | Publication date |
|---|---|
| EP3132354A1 (en) | 2017-02-22 |
| WO2015160503A1 (en) | 2015-10-22 |
| KR20160143682A (ko) | 2016-12-14 |
| TW201604681A (zh) | 2016-02-01 |
| US20150293847A1 (en) | 2015-10-15 |
| BR112016023745A2 (pt) | 2017-08-15 |
| CN106170776A (zh) | 2016-11-30 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US10169240B2 (en) | Reducing memory access bandwidth based on prediction of memory request size | |
| US9087392B2 (en) | Techniques for efficient GPU triangle list adjacency detection and handling | |
| US9477476B2 (en) | Fusing immediate value, write-based instructions in instruction processing circuits, and related processor systems, methods, and computer-readable media | |
| JP2017510902A (ja) | 無効化を伴う読取りを使用してキャッシュにおける帯域幅および電力を下げる方法および装置 | |
| US20220004501A1 (en) | Just-in-time synonym handling for a virtually-tagged cache | |
| KR20160141735A (ko) | 캐시 오염을 감소시키기 위해서 전용 캐시 세트들에서의 경합 전용 프리페치 정책들에 기초한 적응형 캐시 프리페칭 | |
| US20130166846A1 (en) | Hierarchy-aware Replacement Policy | |
| US9720829B2 (en) | Online learning based algorithms to increase retention and reuse of GPU-generated dynamic surfaces in outer-level caches | |
| US10236917B2 (en) | Providing memory bandwidth compression in chipkill-correct memory architectures | |
| US20160188490A1 (en) | Cost-aware page swap and replacement in a memory | |
| US20140047221A1 (en) | Fusing flag-producing and flag-consuming instructions in instruction processing circuits, and related processor systems, methods, and computer-readable media | |
| US9075746B2 (en) | Utility and lifetime based cache replacement policy | |
| JP2018503924A (ja) | 中央処理ユニット(cpu)ベースのシステム内の圧縮メモリコントローラ(cmc)による連続読取り動作を使用するメモリ帯域幅圧縮の提供 | |
| CN105095104A (zh) | 数据缓存处理方法及装置 | |
| US20160239420A1 (en) | System and method for managing a cache pool | |
| CN106780415A (zh) | 一种直方图统计电路及多媒体处理系统 | |
| US20130326197A1 (en) | Issuing instructions to execution pipelines based on register-associated preferences, and related instruction processing circuits, processor systems, methods, and computer-readable media | |
| TW201913364A (zh) | 在以區塊架構處理器為基礎系統中快取指令區塊標頭資料 | |
| US8447934B2 (en) | Reducing cache probe traffic resulting from false data sharing | |
| US9794580B2 (en) | Cache management device, and motion picture system and method using the same | |
| JP2018506122A (ja) | 適応モードのトランスレーションルックアサイドバッファ検索およびアクセスフォルト | |
| CN104252334B (zh) | 分支目标地址获取方法和装置 | |
| US9251096B2 (en) | Data compression in processor caches | |
| US11126437B2 (en) | Load instruction with final read indicator field to invalidate a buffer or cache entry storing the memory address holding load data | |
| CN113655953A (zh) | 一种mmu和ifu读取memory中数据的实现方法及系统 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20161014 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20180315 |
|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20180315 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20180919 |
|
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20181001 |
|
| A045 | Written measure of dismissal of application [lapsed due to lack of payment] |
Free format text: JAPANESE INTERMEDIATE CODE: A045 Effective date: 20190225 |