CA2089437C - Adaptive cache miss prediction mechanism - Google Patents
Adaptive cache miss prediction mechanismInfo
- Publication number
- CA2089437C CA2089437C CA002089437A CA2089437A CA2089437C CA 2089437 C CA2089437 C CA 2089437C CA 002089437 A CA002089437 A CA 002089437A CA 2089437 A CA2089437 A CA 2089437A CA 2089437 C CA2089437 C CA 2089437C
- Authority
- CA
- Canada
- Prior art keywords
- operand
- cache
- address
- addresses
- arithmetic
- 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
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/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 OR CALCULATING; 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/6026—Prefetching based on access pattern detection, e.g. stride based prefetch
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)
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US07/850,713 | 1992-03-13 | ||
| US07/850,713 US5367656A (en) | 1992-03-13 | 1992-03-13 | Controlling cache predictive prefetching based on cache hit ratio trend |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| CA2089437A1 CA2089437A1 (en) | 1993-09-14 |
| CA2089437C true CA2089437C (en) | 1996-08-27 |
Family
ID=25308915
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CA002089437A Expired - Fee Related CA2089437C (en) | 1992-03-13 | 1993-02-12 | Adaptive cache miss prediction mechanism |
Country Status (4)
| Country | Link |
|---|---|
| US (1) | US5367656A (enExample) |
| EP (1) | EP0560100B1 (enExample) |
| CA (1) | CA2089437C (enExample) |
| TW (1) | TW270184B (enExample) |
Families Citing this family (46)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5093777A (en) * | 1989-06-12 | 1992-03-03 | Bull Hn Information Systems Inc. | Method and apparatus for predicting address of a subsequent cache request upon analyzing address patterns stored in separate miss stack |
| SE469402B (sv) * | 1991-05-02 | 1993-06-28 | Swedish Inst Of Computer Scien | Foerfarande foer att haemta data till ett cache-minne |
| US5715421A (en) * | 1992-10-16 | 1998-02-03 | Seiko Epson Corporation | Apparatus and method of addressing paged mode memory including adjacent page precharging |
| JPH06314241A (ja) * | 1993-03-04 | 1994-11-08 | Sharp Corp | 高速半導体記憶装置及び高速連想記憶装置 |
| US5426764A (en) * | 1993-08-24 | 1995-06-20 | Ryan; Charles P. | Cache miss prediction apparatus with priority encoder for multiple prediction matches and method therefor |
| AU2364095A (en) * | 1994-05-12 | 1995-12-05 | Ast Research, Inc. | Cpu activity monitoring through cache watching |
| US5701426A (en) * | 1995-03-31 | 1997-12-23 | Bull Information Systems Inc. | Data processing system and method using cache miss address prediction and forced LRU status in a cache memory to improve cache hit ratio |
| EP0752645B1 (en) * | 1995-07-07 | 2017-11-22 | Oracle America, Inc. | Tunable software control of Harvard architecture cache memories using prefetch instructions |
| US5790823A (en) * | 1995-07-13 | 1998-08-04 | International Business Machines Corporation | Operand prefetch table |
| US5694568A (en) * | 1995-07-27 | 1997-12-02 | Board Of Trustees Of The University Of Illinois | Prefetch system applicable to complex memory access schemes |
| US5765213A (en) * | 1995-12-08 | 1998-06-09 | Emc Corporation | Method providing for the flexible prefetching of data from a data storage system |
| US5919256A (en) * | 1996-03-26 | 1999-07-06 | Advanced Micro Devices, Inc. | Operand cache addressed by the instruction address for reducing latency of read instruction |
| US5761468A (en) * | 1996-05-15 | 1998-06-02 | Sun Microsystems Inc | Hardware mechanism for optimizing instruction and data prefetching by forming augmented prefetch instructions |
| US5893930A (en) * | 1996-07-12 | 1999-04-13 | International Business Machines Corporation | Predictive translation of a data address utilizing sets of associative entries stored consecutively in a translation lookaside buffer |
| US5822790A (en) * | 1997-02-07 | 1998-10-13 | Sun Microsystems, Inc. | Voting data prefetch engine |
| US6138212A (en) * | 1997-06-25 | 2000-10-24 | Sun Microsystems, Inc. | Apparatus and method for generating a stride used to derive a prefetch address |
| US6098154A (en) * | 1997-06-25 | 2000-08-01 | Sun Microsystems, Inc. | Apparatus and method for generating a stride used to derive a prefetch address |
| US6047363A (en) * | 1997-10-14 | 2000-04-04 | Advanced Micro Devices, Inc. | Prefetching data using profile of cache misses from earlier code executions |
| WO1999034356A2 (en) * | 1997-12-30 | 1999-07-08 | Genesis One Technologies, Inc. | Disk cache enhancer with dynamically sized read request based upon current cache hit rate |
| US6055650A (en) * | 1998-04-06 | 2000-04-25 | Advanced Micro Devices, Inc. | Processor configured to detect program phase changes and to adapt thereto |
| US6341281B1 (en) | 1998-04-14 | 2002-01-22 | Sybase, Inc. | Database system with methods for optimizing performance of correlated subqueries by reusing invariant results of operator tree |
| US6401193B1 (en) | 1998-10-26 | 2002-06-04 | Infineon Technologies North America Corp. | Dynamic data prefetching based on program counter and addressing mode |
| US6311260B1 (en) | 1999-02-25 | 2001-10-30 | Nec Research Institute, Inc. | Method for perfetching structured data |
| US6470427B1 (en) | 1999-11-09 | 2002-10-22 | International Business Machines Corporation | Programmable agent and method for managing prefetch queues |
| US6862657B1 (en) * | 1999-12-21 | 2005-03-01 | Intel Corporation | Reading data from a storage medium |
| US6934807B1 (en) * | 2000-03-31 | 2005-08-23 | Intel Corporation | Determining an amount of data read from a storage medium |
| US6973542B1 (en) * | 2000-07-18 | 2005-12-06 | International Business Machines Corporation | Detecting when to prefetch inodes and then prefetching inodes in parallel |
| US7257810B2 (en) * | 2001-11-02 | 2007-08-14 | Sun Microsystems, Inc. | Method and apparatus for inserting prefetch instructions in an optimizing compiler |
| US7234136B2 (en) * | 2001-11-02 | 2007-06-19 | Sun Microsystems, Inc. | Method and apparatus for selecting references for prefetching in an optimizing compiler |
| US7035979B2 (en) * | 2002-05-22 | 2006-04-25 | International Business Machines Corporation | Method and apparatus for optimizing cache hit ratio in non L1 caches |
| JP4066833B2 (ja) * | 2003-02-18 | 2008-03-26 | 日本電気株式会社 | ディスクアレイ制御装置及び方法並びにディスクアレイ制御プログラム |
| US7328309B2 (en) * | 2004-10-14 | 2008-02-05 | International Business Machines Corporation | On-demand cache memory for storage subsystems |
| JP4827469B2 (ja) * | 2005-09-08 | 2011-11-30 | パナソニック株式会社 | キャッシュメモリ解析方法、プロセッサおよび模擬情報処理装置 |
| US7917702B2 (en) * | 2007-07-10 | 2011-03-29 | Qualcomm Incorporated | Data prefetch throttle |
| US7925865B2 (en) * | 2008-06-02 | 2011-04-12 | Oracle America, Inc. | Accuracy of correlation prefetching via block correlation and adaptive prefetch degree selection |
| EP2862069A4 (en) | 2012-06-15 | 2016-12-28 | Soft Machines Inc | INSTRUCTION DEFINITION FOR IMPLEMENTING LOAD MEMORY TRANSFER AND OPTIMIZATION |
| CN104823168B (zh) | 2012-06-15 | 2018-11-09 | 英特尔公司 | 用于实现从由加载存储重新排序和优化导致的推测性转发遗漏预测/错误中恢复的方法和系统 |
| CN107748673B (zh) | 2012-06-15 | 2022-03-25 | 英特尔公司 | 包括虚拟加载存储队列的处理器和系统 |
| CN104583957B (zh) | 2012-06-15 | 2018-08-10 | 英特尔公司 | 具有无消歧乱序加载存储队列的重新排序的推测性指令序列 |
| TWI646422B (zh) | 2012-06-15 | 2019-01-01 | 英特爾股份有限公司 | 在處理器中之免消歧義失序載入/儲存佇列方法、微處理器、和非暫態性電腦可讀取儲存媒體 |
| EP2862062B1 (en) | 2012-06-15 | 2024-03-06 | Intel Corporation | A virtual load store queue having a dynamic dispatch window with a distributed structure |
| KR101832574B1 (ko) * | 2012-06-15 | 2018-02-26 | 인텔 코포레이션 | 모든 store들이 캐시의 모든 워드들에 대한 검사를 스누핑해야만 하는 것을 방지하기 위해 store들을 필터링하는 방법 및 시스템 |
| US20140189244A1 (en) * | 2013-01-02 | 2014-07-03 | Brian C. Grayson | Suppression of redundant cache status updates |
| KR102429903B1 (ko) * | 2015-12-03 | 2022-08-05 | 삼성전자주식회사 | 비휘발성 메인 메모리 시스템의 페이지 폴트 처리 방법 |
| US10592414B2 (en) * | 2017-07-14 | 2020-03-17 | International Business Machines Corporation | Filtering of redundantly scheduled write passes |
| CN115794677B (zh) * | 2022-12-19 | 2025-12-02 | 昆仑芯(北京)科技有限公司 | 缓存数据验证方法、装置、电子设备和存储介质 |
Family Cites Families (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5093777A (en) * | 1989-06-12 | 1992-03-03 | Bull Hn Information Systems Inc. | Method and apparatus for predicting address of a subsequent cache request upon analyzing address patterns stored in separate miss stack |
| US5285527A (en) * | 1991-12-11 | 1994-02-08 | Northern Telecom Limited | Predictive historical cache memory |
-
1992
- 1992-03-13 US US07/850,713 patent/US5367656A/en not_active Expired - Lifetime
-
1993
- 1993-01-29 TW TW082100551A patent/TW270184B/zh active
- 1993-02-12 CA CA002089437A patent/CA2089437C/en not_active Expired - Fee Related
- 1993-02-19 EP EP93102647A patent/EP0560100B1/en not_active Expired - Lifetime
Also Published As
| Publication number | Publication date |
|---|---|
| US5367656A (en) | 1994-11-22 |
| EP0560100B1 (en) | 1999-06-09 |
| CA2089437A1 (en) | 1993-09-14 |
| TW270184B (enExample) | 1996-02-11 |
| EP0560100A1 (en) | 1993-09-15 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CA2089437C (en) | Adaptive cache miss prediction mechanism | |
| US5694572A (en) | Controllably operable method and apparatus for predicting addresses of future operand requests by examination of addresses of prior cache misses | |
| US5941981A (en) | System for using a data history table to select among multiple data prefetch algorithms | |
| US5701426A (en) | Data processing system and method using cache miss address prediction and forced LRU status in a cache memory to improve cache hit ratio | |
| CA1204219A (en) | Method and apparatus for prefetching instructions | |
| US5553255A (en) | Data processor with programmable levels of speculative instruction fetching and method of operation | |
| US5507028A (en) | History based branch prediction accessed via a history based earlier instruction address | |
| US4980823A (en) | Sequential prefetching with deconfirmation | |
| TWI519955B (zh) | 預取單元、資料預取方法以及電腦程式產品 | |
| US7293164B2 (en) | Autonomic method and apparatus for counting branch instructions to generate branch statistics meant to improve branch predictions | |
| US4894772A (en) | Method and apparatus for qualifying branch cache entries | |
| US4942520A (en) | Method and apparatus for indexing, accessing and updating a memory | |
| EP0097790A2 (en) | Apparatus for controlling storage access in a multilevel storage system | |
| US5450561A (en) | Cache miss prediction method and apparatus for use with a paged main memory in a data processing system | |
| JPH0557617B2 (enExample) | ||
| JPH08249181A (ja) | ブランチ予測式データ処理装置および動作方法 | |
| US7290255B2 (en) | Autonomic method and apparatus for local program code reorganization using branch count per instruction hardware | |
| CA2121221C (en) | High speed cache miss prediction method and apparatus | |
| US5495591A (en) | Method and system for cache miss prediction based on previous cache access requests | |
| US5889986A (en) | Instruction fetch unit including instruction buffer and secondary or branch target buffer that transfers prefetched instructions to the instruction buffer | |
| EP0377436A2 (en) | Apparatus and method for increased operand availability in a data processing unit with a store through cache memory unit strategy | |
| US20020194465A1 (en) | Compression of execution path history to improve branch prediction accuracy | |
| EP0296430A2 (en) | Sequential prefetching with deconfirmation | |
| JPH07200406A (ja) | キャッシュシステム | |
| JP2542565B2 (ja) | 分岐予測制御方式 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| EEER | Examination request | ||
| MKLA | Lapsed |