JP2015508192A - 高時間的参照局所性のデータフィルバッファの排除防止 - Google Patents
高時間的参照局所性のデータフィルバッファの排除防止 Download PDFInfo
- Publication number
- JP2015508192A JP2015508192A JP2014553535A JP2014553535A JP2015508192A JP 2015508192 A JP2015508192 A JP 2015508192A JP 2014553535 A JP2014553535 A JP 2014553535A JP 2014553535 A JP2014553535 A JP 2014553535A JP 2015508192 A JP2015508192 A JP 2015508192A
- Authority
- JP
- Japan
- Prior art keywords
- data buffer
- high temporal
- temporal reference
- cache
- reference locality
- 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/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)
Abstract
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 (16)
- 高時間的参照局所性を有するメモリ内容にアクセスする方法であって、
データバッファに前記内容を記憶するステップと、
前記データバッファの前記内容が高時間的参照局所性を有すると決定するステップと、
前記内容を対象とする動作ごとに、前記内容を記憶するキャッシュの代わりに前記データバッファにアクセスするステップと
を含む方法。 - 前記決定するステップが、
前記データバッファにおけるカウンタを初期化するステップと、
前記データバッファが所定の数のクロックサイクル内でアクセスされた場合、前記カウンタを増分するステップと、
前記データバッファが前記所定の数のクロックサイクル内でアクセスされない場合、前記カウンタを減分するステップと、
前記カウンタが閾値より大きい場合、前記データバッファの前記内容が高時間的参照局所性を有すると決定するステップと
を含む、請求項1に記載の方法。 - 前記カウンタが前記閾値より大きい場合、前記データバッファの割当て解除を防止するステップと、
前記カウンタが前記閾値を下回る場合、前記キャッシュに前記内容を記憶し前記データバッファを割当て解除するステップと
をさらに含む、請求項2に記載の方法。 - 前記決定するステップが、
スタックポインタを含むレジスタが前記記憶するステップに使用されると決定するステップと、
前記フィルバッファが高時間的参照局所性を有することを示すフラグを前記フィルバッファに設定するステップと
を含む、請求項1に記載の方法。 - 前記フィルバッファが高時間的参照局所性を有することを前記フラグが示す場合、前記データバッファの割当て解除を防止するステップをさらに含む、請求項4に記載の方法。
- 前記スタックポインタが変化すると、前記高時間的参照局所性を示すフラグを除去するステップをさらに含む、請求項4に記載の方法。
- 前記フラグが除去されると、前記キャッシュに前記内容を記憶し前記データバッファを割当て解除するステップをさらに含む、請求項6に記載の方法。
- 高時間的参照局所性を有するメモリ内容にアクセスするための装置であって、
データバッファに前記内容を記憶するように構成された論理手段と、
前記データバッファの前記内容が高時間的参照局所性を有すると決定するように構成された論理手段と、
前記内容を対象とする動作ごとに、前記内容を記憶するキャッシュの代わりに前記データバッファにアクセスするように構成された論理手段と
を備える装置。 - 前記決定するように構成された論理手段が、
前記データバッファにおけるカウンタを初期化するように構成された論理手段と、
前記データバッファが所定の数のクロックサイクル内でアクセスされた場合、前記カウンタを増分するように構成された論理手段と、
前記データバッファが前記所定の数のクロックサイクル内でアクセスされない場合、前記カウンタを減分するように構成された論理手段と、
前記カウンタが閾値より大きい場合、前記データバッファの前記内容が高時間的参照局所性を有すると決定するように構成された論理手段と
を備える、請求項8に記載の装置。 - 前記カウンタが前記閾値より大きい場合、前記データバッファの割当て解除を防止するように構成された論理手段と、
前記カウンタが前記閾値を下回る場合、前記キャッシュに前記内容を記憶し前記データバッファを割当て解除するように構成された論理手段と
をさらに備える、請求項9に記載の装置。 - 前記決定するように構成された論理手段が、
スタックポインタを含むレジスタが前記記憶のために使用されると決定するように構成された論理手段と、
前記フィルバッファが高時間的参照局所性を有することを示すフラグを前記フィルバッファに設定するように構成された論理手段と
を備える、請求項8に記載の装置。 - 前記フィルバッファが高時間的参照局所性を有することを前記フラグが示す場合、前記データバッファの割当て解除を防止するように構成された論理手段をさらに備える、請求項11に記載の装置。
- 前記スタックポインタが変化すると、前記高時間的参照局所性を示すフラグを除去するように構成された論理手段をさらに備える、請求項11に記載の装置。
- 前記フラグが除去されると、前記キャッシュに前記内容を記憶し前記データバッファを割当て解除するように構成された論理手段をさらに備える、請求項13に記載の装置。
- 高時間的参照局所性を有するメモリ内容にアクセスするための装置であって、
データバッファに前記内容を記憶するための手段と、
前記データバッファの前記内容が高時間的参照局所性を有すると決定するための手段と、
前記内容を対象とする動作ごとに、前記内容を記憶するキャッシュの代わりに前記データバッファにアクセスするための手段と
を備える装置。 - 高時間的参照局所性を有するメモリ内容にアクセスするための非一時的コンピュータ可読記憶媒体であって、
データバッファに前記内容を記憶するための少なくとも1つの命令と、
前記データバッファの前記内容が高時間的参照局所性を有すると決定するための少なくとも1つの命令と、
前記内容を対象とする動作ごとに、前記内容を記憶するキャッシュの代わりに前記データバッファにアクセスするための少なくとも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 | 2012-04-19 | ||
US13/451,010 US10114750B2 (en) | 2012-01-23 | 2012-04-19 | Preventing the displacement of high temporal locality of reference data fill buffers |
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 true JP2015508192A (ja) | 2015-03-16 |
JP2015508192A5 JP2015508192A5 (ja) | 2016-02-18 |
JP6038955B2 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 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH10187540A (ja) * | 1996-12-25 | 1998-07-21 | Nec Corp | キャッシュ・データの掃き出し制御方法 |
JPH1145180A (ja) * | 1997-07-25 | 1999-02-16 | Nec Corp | キャッシュ制御方式 |
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 |
JP2001290702A (ja) * | 2000-04-05 | 2001-10-19 | Nec Corp | 記憶装置 |
US20050223153A1 (en) * | 2004-04-05 | 2005-10-06 | O'connor Dennis M | Physically-tagged cache with virtual fill buffers |
JP2006185335A (ja) * | 2004-12-28 | 2006-07-13 | Toshiba Corp | 情報処理装置及びこの情報処理装置の制御方法 |
US20070247929A1 (en) * | 2006-04-15 | 2007-10-25 | Paul Wallner | Memory device and method of operating such |
JP2008181399A (ja) * | 2007-01-25 | 2008-08-07 | Megachips Lsi Solutions Inc | メモリコントローラ |
US20110271070A1 (en) * | 2010-04-30 | 2011-11-03 | Microsoft Corporation | Memory usage scanning |
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 |
Family Cites Families (17)
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 |
DE19961499A1 (de) * | 1999-12-20 | 2001-07-05 | Ericsson Telefon Ab L M | Caching von Objekten in Platten-gestützten Datenbanken |
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 |
KR101257848B1 (ko) * | 2005-07-13 | 2013-04-24 | 삼성전자주식회사 | 복합 메모리를 구비하는 데이터 저장 시스템 및 그 동작방법 |
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 | 엘지전자 주식회사 | 메모리 접근 제어 장치 및 방법 |
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 |
US20120017039A1 (en) * | 2010-07-16 | 2012-01-19 | Plx Technology, Inc. | Caching using virtual memory |
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 JP JP2014553535A patent/JP6038955B2/ja not_active Expired - Fee Related
- 2013-01-23 KR KR1020147023237A patent/KR20140116943A/ko not_active Application Discontinuation
- 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
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
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 |
JPH10187540A (ja) * | 1996-12-25 | 1998-07-21 | Nec Corp | キャッシュ・データの掃き出し制御方法 |
JPH1145180A (ja) * | 1997-07-25 | 1999-02-16 | Nec Corp | キャッシュ制御方式 |
JP2001290702A (ja) * | 2000-04-05 | 2001-10-19 | Nec Corp | 記憶装置 |
US20050223153A1 (en) * | 2004-04-05 | 2005-10-06 | O'connor Dennis M | Physically-tagged cache with virtual fill buffers |
JP2006185335A (ja) * | 2004-12-28 | 2006-07-13 | Toshiba Corp | 情報処理装置及びこの情報処理装置の制御方法 |
US20070247929A1 (en) * | 2006-04-15 | 2007-10-25 | Paul Wallner | Memory device and method of operating such |
JP2008181399A (ja) * | 2007-01-25 | 2008-08-07 | Megachips Lsi Solutions Inc | メモリコントローラ |
US20110271070A1 (en) * | 2010-04-30 | 2011-11-03 | Microsoft Corporation | Memory usage scanning |
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 |
Also Published As
Publication number | Publication date |
---|---|
EP2807566A1 (en) | 2014-12-03 |
WO2013112607A1 (en) | 2013-08-01 |
US10114750B2 (en) | 2018-10-30 |
CN104067244B (zh) | 2017-10-31 |
CN104067244A (zh) | 2014-09-24 |
US20130191559A1 (en) | 2013-07-25 |
KR20140116943A (ko) | 2014-10-06 |
JP6038955B2 (ja) | 2016-12-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10268600B2 (en) | System, apparatus and method for prefetch-aware replacement in a cache memory hierarchy of a processor | |
US10169240B2 (en) | Reducing memory access bandwidth based on prediction of memory request size | |
US10275158B2 (en) | Apparatus and method for improving operation speed of application | |
KR101361928B1 (ko) | 스레드 이송 시의 캐시 프리필링 | |
JP5615361B2 (ja) | スレッドシフト:コアへのスレッド割振り | |
KR101025354B1 (ko) | 가상 트랜잭션 메모리를 위한 글로벌 오버플로우 방법 | |
CN106598184B (zh) | 在处理器中执行跨域热控制 | |
US9477478B2 (en) | Multi level indirect predictor using confidence counter and program counter address filter scheme | |
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 | |
JP2014002735A (ja) | ゼロサイクルロード | |
US10514920B2 (en) | Dynamically updating hardware prefetch trait to exclusive or shared at program detection | |
US9836396B2 (en) | Method for managing a last level cache and apparatus utilizing the same | |
US20150234687A1 (en) | Thread migration across cores of a multi-core processor | |
JP6038955B2 (ja) | 高時間的参照局所性のデータフィルバッファの排除防止 | |
US9146876B2 (en) | Caching method and caching system using dual disks | |
US20160371000A1 (en) | Determining a write operation | |
CN111352757A (zh) | 检测未初始化存储器读取的设备、系统和方法 | |
US10877886B2 (en) | Storing cache lines in dedicated cache of an idle core | |
US20200089616A1 (en) | External Paging And Swapping For Dynamic Modules | |
US10642621B2 (en) | System, apparatus and method for controlling allocations into a branch prediction circuit of a processor |
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 |