JP6038955B2 - 高時間的参照局所性のデータフィルバッファの排除防止 - Google Patents
高時間的参照局所性のデータフィルバッファの排除防止 Download PDFInfo
- Publication number
- JP6038955B2 JP6038955B2 JP2014553535A JP2014553535A JP6038955B2 JP 6038955 B2 JP6038955 B2 JP 6038955B2 JP 2014553535 A JP2014553535 A JP 2014553535A JP 2014553535 A JP2014553535 A JP 2014553535A JP 6038955 B2 JP6038955 B2 JP 6038955B2
- Authority
- JP
- Japan
- Prior art keywords
- data buffer
- high temporal
- temporal reference
- cache
- counter
- 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.)
- Expired - Fee Related
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/0855—Overlapped cache accessing, e.g. pipeline
- G06F12/0859—Overlapped cache accessing, e.g. pipeline with reload from main memory
-
- 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/0877—Cache access modes
- G06F12/0882—Page mode
-
- 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/1028—Power efficiency
-
- 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)
Description
12 パイプライン
14 制御ロジック
15 プログラムカウンタ
16 状態レジスタ
18 デバッグ回路
24 汎用レジスタファイル
26 命令キャッシュ
28 命令側変換索引バッファ(ITLB)
32 主変換索引バッファ(TLB)
30 データキャッシュ
34 メモリインターフェース
38 メモリデバイス
40 メモリデバイス
42 バス相互接続
44 I/Oインターフェース
46 周辺バス
48 周辺デバイス
50 周辺デバイス
100 UE
102 プラットフォーム
106 送受信機
108 ASIC
110 API
112 メモリ
114 ローカルデータベース
122 アンテナ
124 ディスプレイ
126 キーパッド
128 プッシュツートークボタン
300 メモリ構造
305 レベル1キャッシュ
310 キャッシュ/メモリ
320a データバッファ0
320b データバッファ1
320c データバッファN
322a 時間的検出器フィールド
322b 時間的検出器フィールド
322n 時間的検出器フィールド
324a スタックフラグフィールド
324b スタックフラグフィールド
324n スタックフラグフィールド
Claims (13)
- 高時間的参照局所性を有するメモリ内容にアクセスする方法であって、
データバッファに内容を記憶するステップと、
スタックポインタを含むレジスタが、前記データバッファに対するロードとストアのための基本レジスタとして使用されると決定するステップと、
前記データバッファの前記内容が高時間的参照局所性を有することを示すフラグを前記データバッファに設定するステップと、
前記データバッファの前記内容が高時間的参照局所性を有すると前記フラグが示すとき、前記内容を対象とする動作ごとに、キャッシュの代わりに前記データバッファにアクセスするステップと
を含む方法。 - 前記データバッファにおけるカウンタを初期化するステップと、
前記データバッファが所定の数のクロックサイクル内でアクセスされた場合、前記カウンタを増分するステップと、
前記データバッファが前記所定の数のクロックサイクル内でアクセスされない場合、前記カウンタを減分するステップと、
前記カウンタが閾値より大きい場合、前記データバッファの前記内容が高時間的参照局所性を有すると決定するステップと
をさらに含む、請求項1に記載の方法。 - 前記カウンタが前記閾値より大きい場合、前記データバッファの割当て解除を防止するステップと、
前記カウンタが前記閾値を下回る場合、前記キャッシュに前記内容を記憶し前記データバッファを割当て解除するステップと
をさらに含む、請求項2に記載の方法。 - 前記データバッファの前記内容が高時間的参照局所性を有することを前記フラグが示す場合、前記データバッファの割当て解除を防止するステップをさらに含む、請求項1に記載の方法。
- 前記スタックポインタが変化すると、前記高時間的参照局所性を示すフラグを除去するステップをさらに含む、請求項1に記載の方法。
- 前記フラグが除去されると、前記キャッシュに前記内容を記憶し前記データバッファを割当て解除するステップをさらに含む、請求項5に記載の方法。
- 高時間的参照局所性を有するメモリ内容にアクセスするための装置であって、
データバッファに内容を記憶する手段と、
スタックポインタを含むレジスタが、前記データバッファに対するロードとストアのための基本レジスタとして使用されると決定する手段と、
前記データバッファの前記内容が高時間的参照局所性を有することを示すフラグを前記データバッファに設定する手段と、
前記データバッファの前記内容が高時間的参照局所性を有すると前記フラグが示すとき、前記内容を対象とする動作ごとに、キャッシュの代わりに前記データバッファにアクセスする手段と
を備える装置。 - 前記データバッファにおけるカウンタを初期化する手段と、
前記データバッファが所定の数のクロックサイクル内でアクセスされた場合、前記カウンタを増分する手段と、
前記データバッファが前記所定の数のクロックサイクル内でアクセスされない場合、前記カウンタを減分する手段と、
前記カウンタが閾値より大きい場合、前記データバッファの前記内容が高時間的参照局所性を有すると決定する手段と
をさらに備える、請求項7に記載の装置。 - 前記カウンタが前記閾値より大きい場合、前記データバッファの割当て解除を防止する手段と、
前記カウンタが前記閾値を下回る場合、前記キャッシュに前記内容を記憶し前記データバッファを割当て解除する手段と
をさらに備える、請求項8に記載の装置。 - 前記データバッファが高時間的参照局所性を有することを前記フラグが示す場合、前記データバッファの割当て解除を防止する手段をさらに備える、請求項7に記載の装置。
- 前記スタックポインタが変化すると、前記高時間的参照局所性を示すフラグを除去する手段をさらに備える、請求項7に記載の装置。
- 前記フラグが除去されると、前記キャッシュに前記内容を記憶し前記データバッファを割当て解除する手段をさらに備える、請求項11に記載の装置。
- 請求項1乃至6の何れか1項に記載の方法を実施するための命令を含む、高時間的参照局所性を有するメモリ内容にアクセスするためのコンピュータ可読記憶媒体。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201261589577P | 2012-01-23 | 2012-01-23 | |
US61/589,577 | 2012-01-23 | ||
US13/451,010 US10114750B2 (en) | 2012-01-23 | 2012-04-19 | Preventing the displacement of high temporal locality of reference data fill buffers |
US13/451,010 | 2012-04-19 | ||
PCT/US2013/022775 WO2013112607A1 (en) | 2012-01-23 | 2013-01-23 | Preventing the displacement of high temporal locality of reference data fill buffers |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2015508192A JP2015508192A (ja) | 2015-03-16 |
JP2015508192A5 JP2015508192A5 (ja) | 2016-02-18 |
JP6038955B2 true JP6038955B2 (ja) | 2016-12-07 |
Family
ID=48798186
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014553535A Expired - Fee Related JP6038955B2 (ja) | 2012-01-23 | 2013-01-23 | 高時間的参照局所性のデータフィルバッファの排除防止 |
Country Status (6)
Country | Link |
---|---|
US (1) | US10114750B2 (ja) |
EP (1) | EP2807566A1 (ja) |
JP (1) | JP6038955B2 (ja) |
KR (1) | KR20140116943A (ja) |
CN (1) | CN104067244B (ja) |
WO (1) | WO2013112607A1 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9507725B2 (en) * | 2012-12-28 | 2016-11-29 | Intel Corporation | Store forwarding for data caches |
US9946646B2 (en) * | 2016-09-06 | 2018-04-17 | Advanced Micro Devices, Inc. | Systems and method for delayed cache utilization |
Family Cites Families (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0457403B1 (en) | 1990-05-18 | 1998-01-21 | Koninklijke Philips Electronics N.V. | Multilevel instruction cache and method for using said cache |
EP0496439B1 (en) | 1991-01-15 | 1998-01-21 | Koninklijke Philips Electronics N.V. | Computer system with multi-buffer data cache and method therefor |
US6192449B1 (en) | 1996-04-12 | 2001-02-20 | Motorola, Inc. | Apparatus and method for optimizing performance of a cache memory in a data processing system |
JP2976909B2 (ja) | 1996-12-25 | 1999-11-10 | 日本電気株式会社 | キャッシュ・データの掃き出し制御方法 |
JPH1145180A (ja) | 1997-07-25 | 1999-02-16 | Nec Corp | キャッシュ制御方式 |
DE19961499A1 (de) * | 1999-12-20 | 2001-07-05 | Ericsson Telefon Ab L M | Caching von Objekten in Platten-gestützten Datenbanken |
JP3498673B2 (ja) | 2000-04-05 | 2004-02-16 | 日本電気株式会社 | 記憶装置 |
US20030110357A1 (en) | 2001-11-14 | 2003-06-12 | Nguyen Phillip V. | Weight based disk cache replacement method |
US7278136B2 (en) * | 2002-07-09 | 2007-10-02 | University Of Massachusetts | Reducing processor energy consumption using compile-time information |
US7451271B2 (en) | 2004-04-05 | 2008-11-11 | Marvell International Ltd. | Physically-tagged cache with virtually-tagged fill buffers |
JP2006185335A (ja) | 2004-12-28 | 2006-07-13 | Toshiba Corp | 情報処理装置及びこの情報処理装置の制御方法 |
KR101257848B1 (ko) * | 2005-07-13 | 2013-04-24 | 삼성전자주식회사 | 복합 메모리를 구비하는 데이터 저장 시스템 및 그 동작방법 |
DE102006017768A1 (de) * | 2006-04-15 | 2007-10-18 | Infineon Technologies Ag | Integrierter Speicherbaustein sowie Verfahren zum Betrieb eines integrierten Speicherbausteins |
US7757034B1 (en) * | 2006-06-29 | 2010-07-13 | Parallels Software International, Inc. | Expansion of virtualized physical memory of virtual machine |
KR101128234B1 (ko) | 2006-08-23 | 2012-03-23 | 엘지전자 주식회사 | 메모리 접근 제어 장치 및 방법 |
JP5137002B2 (ja) | 2007-01-25 | 2013-02-06 | 株式会社メガチップス | メモリコントローラ |
US8726248B2 (en) | 2008-06-12 | 2014-05-13 | Oracle America, Inc. | Method and apparatus for enregistering memory locations |
US8271732B2 (en) | 2008-12-04 | 2012-09-18 | Intel Corporation | System and method to reduce power consumption by partially disabling cache memory |
US8452946B2 (en) | 2009-12-17 | 2013-05-28 | Intel Corporation | Methods and apparatuses for efficient load processing using buffers |
US8402232B2 (en) * | 2009-12-23 | 2013-03-19 | Oracle America, Inc. | Memory utilization tracking |
US9015441B2 (en) * | 2010-04-30 | 2015-04-21 | Microsoft Technology Licensing, Llc | Memory usage scanning |
US20120017039A1 (en) * | 2010-07-16 | 2012-01-19 | Plx Technology, Inc. | Caching using virtual memory |
US8386717B1 (en) * | 2010-09-08 | 2013-02-26 | Symantec Corporation | Method and apparatus to free up cache memory space with a pseudo least recently used scheme |
US8595463B2 (en) * | 2010-09-15 | 2013-11-26 | International Business Machines Corporation | Memory architecture with policy based data storage |
US8990538B2 (en) * | 2010-11-05 | 2015-03-24 | Microsoft Corporation | Managing memory with limited write cycles in heterogeneous memory systems |
CN102073596B (zh) | 2011-01-14 | 2012-07-25 | 东南大学 | 针对指令的可重构片上统一存储器管理方法 |
US8683243B2 (en) * | 2011-03-11 | 2014-03-25 | Intel Corporation | Dynamic core selection for heterogeneous multi-core systems |
-
2012
- 2012-04-19 US US13/451,010 patent/US10114750B2/en active Active
-
2013
- 2013-01-23 EP EP13707466.2A patent/EP2807566A1/en not_active Withdrawn
- 2013-01-23 CN CN201380006129.7A patent/CN104067244B/zh not_active Expired - Fee Related
- 2013-01-23 WO PCT/US2013/022775 patent/WO2013112607A1/en active Application Filing
- 2013-01-23 JP JP2014553535A patent/JP6038955B2/ja not_active Expired - Fee Related
- 2013-01-23 KR KR1020147023237A patent/KR20140116943A/ko not_active Application Discontinuation
Also Published As
Publication number | Publication date |
---|---|
EP2807566A1 (en) | 2014-12-03 |
US20130191559A1 (en) | 2013-07-25 |
JP2015508192A (ja) | 2015-03-16 |
WO2013112607A1 (en) | 2013-08-01 |
KR20140116943A (ko) | 2014-10-06 |
CN104067244A (zh) | 2014-09-24 |
US10114750B2 (en) | 2018-10-30 |
CN104067244B (zh) | 2017-10-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10268600B2 (en) | System, apparatus and method for prefetch-aware replacement in a cache memory hierarchy of a processor | |
KR101361928B1 (ko) | 스레드 이송 시의 캐시 프리필링 | |
US10169240B2 (en) | Reducing memory access bandwidth based on prediction of memory request size | |
JP5615361B2 (ja) | スレッドシフト:コアへのスレッド割振り | |
US9015422B2 (en) | Access map-pattern match based prefetch unit for a processor | |
JP5894120B2 (ja) | ゼロサイクルロード | |
CN106598184B (zh) | 在处理器中执行跨域热控制 | |
KR101025354B1 (ko) | 가상 트랜잭션 메모리를 위한 글로벌 오버플로우 방법 | |
JP5621048B2 (ja) | フラッシュ指標を動的に調整可能な結合書き込みバッファ | |
US10275158B2 (en) | Apparatus and method for improving operation speed of application | |
US9477478B2 (en) | Multi level indirect predictor using confidence counter and program counter address filter scheme | |
CN100422940C (zh) | 在数据处理系统中仲裁线程访问共享资源的系统和方法 | |
US7805582B2 (en) | Method of managing memory in multiprocessor system on chip | |
US10331567B1 (en) | Prefetch circuit with global quality factor to reduce aggressiveness in low power modes | |
US10402334B1 (en) | Prefetch circuit for a processor with pointer optimization | |
US10514920B2 (en) | Dynamically updating hardware prefetch trait to exclusive or shared at program detection | |
US20160342514A1 (en) | Method for managing a last level cache and apparatus utilizing the same | |
JP6038955B2 (ja) | 高時間的参照局所性のデータフィルバッファの排除防止 | |
KR102351200B1 (ko) | 메모리 요청 정보에 기반하여 캐시 메모리의 클럭 속도/전압을 설정하는 장치 및 방법 | |
US9146876B2 (en) | Caching method and caching system using dual disks | |
CN111352757A (zh) | 检测未初始化存储器读取的设备、系统和方法 | |
US10877886B2 (en) | Storing cache lines in dedicated cache of an idle core | |
US10642621B2 (en) | System, apparatus and method for controlling allocations into a branch prediction circuit of a processor | |
US11907138B2 (en) | Multimedia compressed frame aware cache replacement policy |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20151224 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20151224 |
|
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: 20161007 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20161102 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6038955 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |