JP2017191503A - 演算処理装置、および演算処理装置の制御方法 - Google Patents
演算処理装置、および演算処理装置の制御方法 Download PDFInfo
- Publication number
- JP2017191503A JP2017191503A JP2016081294A JP2016081294A JP2017191503A JP 2017191503 A JP2017191503 A JP 2017191503A JP 2016081294 A JP2016081294 A JP 2016081294A JP 2016081294 A JP2016081294 A JP 2016081294A JP 2017191503 A JP2017191503 A JP 2017191503A
- Authority
- JP
- Japan
- Prior art keywords
- prefetch
- cache memory
- unit
- cache
- suppression
- 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
- 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/0811—Multiuser, multiprocessor or multiprocessing cache systems with multilevel cache hierarchies
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/3004—Arrangements for executing specific machine instructions to perform operations on memory
- G06F9/30043—LOAD or STORE instructions; Clear instruction
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline, look ahead
- G06F9/3802—Instruction prefetching
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline, look ahead
- G06F9/3824—Operand accessing
- G06F9/383—Operand prefetching
-
- 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/60—Details of cache memory
- G06F2212/602—Details relating to cache prefetching
-
- 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/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
Abstract
【解決手段】演算処理装置は、主記憶装置のデータを1次キャッシュメモリにプリフェッチするプリフェッチ要求を下位のキャッシュメモリに送出するプリフェッチ部を有する。また、演算処理装置は、プリフェッチ部からのプリフェッチ要求に対して応答する応答処理の実行時にプリフェッチ要求対象のデータが前記下位のキャッシュメモリに保持されていることが検出されたヒット回数を計数する計数部を有する。さらに、演算処理装置は、計数されたヒット回数が閾値に達したときにプリフェッチ部によるプリフェッチ要求の送出を抑止する抑止部を有する。
【選択図】図4
Description
そこで、開示の実施形態の目的は、効率向上の効果が薄いプリフェッチの要求を抑止し、キャッシュメモリにおけるプロセッサの処理効率の向上を図ることにある。
計数する計数部を有する。さらに、本演算処理装置は、計数されたヒット回数が閾値に達したときにプリフェッチ部によるプリフェッチ要求の送出を抑止する抑止部を有する。
[実施形態1]
できる。以下の実施例では、演算処理装置の構成と作用、および演算処理装置の制御方法が例示される。
First OUT(FIFO)22の入力ポートにデータ読み出し要求を発行し、1次キャッシュメモリ13にデータを保持させる。
キャッシュ制御パイプライン23は、タグ検索回路231、タグ比較器232、およびバッファ233を有する。
1、LD/STユニット12、1次キャッシュメモリ13、およびプリフェッチユニット14を含むプロセッサ10を上位装置とすると、2次キャッシュメモリユニット20は下位のキャッシュメモリということができる。
ステートがACTIVEからINACTIVEに遷移したと同時にINACTIVE_CNTが例えば値3にセットされる(矢印T1)。クロックパルスが発生する毎にこのカウンタがデクリメントされ、0になった時点(矢印T2)でACTIVEステートに遷移する。プリフェッチ抑止ユニット24あるいはプリフェッチ抑止信号生成部245は、計数されたヒット回数が閾値に達したときにプリフェッチ回路(プリフェッチユニット14)によるプリフェッチ要求の送出を抑止する抑止部の一例ということができる。
<実施形態1の効果>
性能を含むプロセッサ10の性能が向上する。
ャッシュメモリユニットでヒットした回数が閾値に達すると、プリフェッチを抑止すればよい。
[その他の変形例]
11 命令制御部
12 LD/STユニット
13 1次キャッシュメモリ
14 プリフェッチユニット
20 2次キャッシュメモリ
21 キャッシュタグRAM
22 FIFO
23 2次キャッシュ制御パイプライン
24 プリフェッチ抑止ユニット
30 3次キャッシュメモリ
90 主記憶装置
241 ANDゲート
242 ヒットカウンタ
243 閾値レジスタ
244 比較器
245 プリフェッチ抑止信号生成部
246、246A タイマー
PF プリフェッチフラグ信号
CH キャッシュヒット信号
Claims (6)
- 主記憶装置のデータを1次キャッシュメモリにプリフェッチするプリフェッチ要求を下位のキャッシュメモリに送出するプリフェッチ部と、
前記プリフェッチ部からのプリフェッチ要求に対して応答する応答処理の実行時に前記プリフェッチ要求対象のデータが前記下位のキャッシュメモリに保持されていることが検出されたヒット回数を計数する計数部と、
前記計数されたヒット回数が閾値に達したときに前記プリフェッチ部によるプリフェッチ要求の送出を抑止する抑止部と、を備える演算処理装置。 - 前記下位のキャッシュメモリは、前記1次キャッシュメモリと主記憶装置との間でデータを授受する2次キャッシュメモリであり、
前記計数部は前記2次キャッシュメモリでの前記ヒット回数を計数する請求項1に記載の演算処理装置。 - 前記1次キャッシュメモリおよび下位のキャッシュメモリは、3以上の整数Nに対してN階層の階層構造を有し、1次キャッシュメモリは演算制御部と2次キャッシュメモリとの間でデータを授受し、第N次キャッシュメモリは第N−1次キャッシュメモリと主記憶装置との間でデータを授受し、第2次から第N−1次までのキャッシュメモリはそれぞれ上位のキャッシュメモリと下位のキャッシュメモリとの間でデータを授受し、
前記計数部は前記N次キャッシュメモリでの前記ヒット回数を計数する請求項1に記載の演算処理装置。 - 前記抑止部がプリフェッチ要求の送出を抑止したときに起動されるタイマーと、
前記タイマーが所定時間の経過を計時したときに前記抑止部による抑止を解除するとともに、前記計数部をリセットするリセット部と、をさらに備える請求項1から3のいずれか1項に記載の演算処理装置。 - 前記計数部が所定の時間以内に計数値を更新しない場合に、計数部をリセットする第2のリセット部をさらに備える請求項1から4のいずれか1項に記載の演算処理装置。
- 主記憶装置のデータを1次キャッシュメモリにプリフェッチするプリフェッチ要求を下位のキャッシュメモリで受け付け、
前記受け付けたプリフェッチ要求に対して応答する応答処理の実行時に前記プリフェッチ要求対象のデータが前記下位のキャッシュメモリに保持されていることが検出されたヒット回数を計数し、
前記計数されたヒット回数が閾値に達したときにプリフェッチ要求の送出を抑止する、演算処理装置の制御方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016081294A JP6627629B2 (ja) | 2016-04-14 | 2016-04-14 | 演算処理装置、および演算処理装置の制御方法 |
US15/465,674 US10031852B2 (en) | 2016-04-14 | 2017-03-22 | Arithmetic processing apparatus and control method of the arithmetic processing apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016081294A JP6627629B2 (ja) | 2016-04-14 | 2016-04-14 | 演算処理装置、および演算処理装置の制御方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2017191503A true JP2017191503A (ja) | 2017-10-19 |
JP6627629B2 JP6627629B2 (ja) | 2020-01-08 |
Family
ID=60040034
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016081294A Active JP6627629B2 (ja) | 2016-04-14 | 2016-04-14 | 演算処理装置、および演算処理装置の制御方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US10031852B2 (ja) |
JP (1) | JP6627629B2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2020013362A (ja) * | 2018-07-19 | 2020-01-23 | 富士通株式会社 | 演算処理装置及び演算処理装置の制御方法 |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
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 |
US11947461B2 (en) * | 2022-01-10 | 2024-04-02 | International Business Machines Corporation | Prefetch unit filter for microprocessor |
CN115576872B (zh) * | 2022-11-18 | 2023-03-24 | 北京红山微电子技术有限公司 | 多级缓存的访问检测方法及装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001331793A (ja) * | 2000-05-22 | 2001-11-30 | Fuji Xerox Co Ltd | 画像処理装置及びキャッシュメモリ |
US20080028150A1 (en) * | 2006-07-28 | 2008-01-31 | Farnaz Toussi | Autonomic Mode Switching for L2 Cache Speculative Accesses Based on L1 Cache Hit Rate |
JP2010532904A (ja) * | 2007-07-10 | 2010-10-14 | クアルコム,インコーポレイテッド | データプリフェッチスロットル |
US20130013867A1 (en) * | 2011-07-06 | 2013-01-10 | Advanced Micro Devices, Inc. | Data prefetcher mechanism with intelligent disabling and enabling of a prefetching function |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH04344935A (ja) | 1991-05-23 | 1992-12-01 | Nec Corp | 情報処理装置 |
US7130890B1 (en) * | 2002-09-04 | 2006-10-31 | Hewlett-Packard Development Company, L.P. | Method and system for adaptively prefetching objects from a network |
JP4829191B2 (ja) | 2007-08-30 | 2011-12-07 | 株式会社東芝 | キャッシュシステム |
JP2014115851A (ja) | 2012-12-10 | 2014-06-26 | Canon Inc | データ処理装置及びその制御方法 |
JP6130758B2 (ja) * | 2013-09-06 | 2017-05-17 | 株式会社東芝 | メモリ制御回路およびキャッシュメモリ |
US20160041914A1 (en) * | 2014-08-05 | 2016-02-11 | Advanced Micro Devices, Inc. | Cache Bypassing Policy Based on Prefetch Streams |
US10073785B2 (en) * | 2016-06-13 | 2018-09-11 | Advanced Micro Devices, Inc. | Up/down prefetcher |
-
2016
- 2016-04-14 JP JP2016081294A patent/JP6627629B2/ja active Active
-
2017
- 2017-03-22 US US15/465,674 patent/US10031852B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001331793A (ja) * | 2000-05-22 | 2001-11-30 | Fuji Xerox Co Ltd | 画像処理装置及びキャッシュメモリ |
US20080028150A1 (en) * | 2006-07-28 | 2008-01-31 | Farnaz Toussi | Autonomic Mode Switching for L2 Cache Speculative Accesses Based on L1 Cache Hit Rate |
JP2010532904A (ja) * | 2007-07-10 | 2010-10-14 | クアルコム,インコーポレイテッド | データプリフェッチスロットル |
US20130013867A1 (en) * | 2011-07-06 | 2013-01-10 | Advanced Micro Devices, Inc. | Data prefetcher mechanism with intelligent disabling and enabling of a prefetching function |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2020013362A (ja) * | 2018-07-19 | 2020-01-23 | 富士通株式会社 | 演算処理装置及び演算処理装置の制御方法 |
US11003581B2 (en) | 2018-07-19 | 2021-05-11 | Fujitsu Limited | Arithmetic processing device and arithmetic processing method of controlling prefetch of cache memory |
JP7131156B2 (ja) | 2018-07-19 | 2022-09-06 | 富士通株式会社 | 演算処理装置及び演算処理装置の制御方法 |
Also Published As
Publication number | Publication date |
---|---|
US20170300416A1 (en) | 2017-10-19 |
JP6627629B2 (ja) | 2020-01-08 |
US10031852B2 (en) | 2018-07-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6627629B2 (ja) | 演算処理装置、および演算処理装置の制御方法 | |
US10810125B2 (en) | Prefetching data | |
JP6279508B2 (ja) | 事前充填能力を有するメモリ管理ユニット | |
EP1421490B1 (en) | Methods and apparatus for improving throughput of cache-based embedded processors by switching tasks in response to a cache miss | |
US8683129B2 (en) | Using speculative cache requests to reduce cache miss delays | |
US9292447B2 (en) | Data cache prefetch controller | |
US8156287B2 (en) | Adaptive data prefetch | |
WO2017211240A1 (zh) | 一种处理器芯片以及指令缓存的预取方法 | |
US9886385B1 (en) | Content-directed prefetch circuit with quality filtering | |
US20090024835A1 (en) | Speculative memory prefetch | |
JP5444889B2 (ja) | 演算処理装置および演算処理装置の制御方法 | |
JP2002297379A (ja) | ハードウェアプリフェッチシステム | |
US20150213153A1 (en) | Power Reduction for Fully Associated Translation Lookaside Buffer | |
US7313655B2 (en) | Method of prefetching using a incrementing/decrementing counter | |
JP2006516168A (ja) | ストライド予測テーブルにアドレスするためにキャッシュミスパターンを使用する方法 | |
JP2008234320A (ja) | キャッシュ制御回路 | |
JP5793061B2 (ja) | キャッシュメモリ装置、キャッシュ制御方法、およびマイクロプロセッサシステム | |
JP2004133935A (ja) | パイプラインを有する計算回路のためのメモリ・システムおよびパイプラインの機能ユニットにデータを提供する方法 | |
JPWO2012127628A1 (ja) | 演算処理装置、情報処理装置及び演算処理装置の制御方法 | |
JP7131156B2 (ja) | 演算処理装置及び演算処理装置の制御方法 | |
JP6016689B2 (ja) | 半導体装置 | |
JP5116275B2 (ja) | 演算処理装置、情報処理装置及び演算処理装置の制御方法 | |
JP2005215946A (ja) | 情報処理装置 | |
JP5971036B2 (ja) | 演算処理装置及び演算処理装置の制御方法 | |
TW202311938A (zh) | 用於管線化控制的設備以及方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20170615 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20190115 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20190626 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20190730 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20190930 |
|
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: 20191105 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20191118 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6627629 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |