RU2003119149A - Система и способ для предварительной выборки данных в кэш-памяти, основанной на интервале неудач - Google Patents
Система и способ для предварительной выборки данных в кэш-памяти, основанной на интервале неудач Download PDFInfo
- Publication number
- RU2003119149A RU2003119149A RU2003119149/09A RU2003119149A RU2003119149A RU 2003119149 A RU2003119149 A RU 2003119149A RU 2003119149/09 A RU2003119149/09 A RU 2003119149/09A RU 2003119149 A RU2003119149 A RU 2003119149A RU 2003119149 A RU2003119149 A RU 2003119149A
- Authority
- RU
- Russia
- Prior art keywords
- prefetch
- failure
- command
- interval
- cache
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims 13
- 238000012790 confirmation Methods 0.000 claims 9
- 238000001914 filtration Methods 0.000 claims 1
Classifications
-
- 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 or look ahead
- G06F9/3824—Operand accessing
- G06F9/383—Operand prefetching
-
- 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
- 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/34—Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes
- G06F9/345—Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes of multiple operands or results
- G06F9/3455—Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes of multiple operands or results using stride
-
- 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 or look ahead
- G06F9/3824—Operand accessing
- G06F9/383—Operand prefetching
- G06F9/3832—Value prediction for operands; operand history buffers
-
- 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/6026—Prefetching based on access pattern detection, e.g. stride based prefetch
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Advance Control (AREA)
Claims (30)
1. Устройство предварительных выборок для предварительной выборки данных для команды на основании интервала между неудачными обращениями к кэш, вызванными командой.
2. Устройство предварительных выборок по п.1, в котором устройство предварительных выборок имеет память для хранения таблицы предварительных выборок, содержащей одну или более записей, которые включают в себя интервал между неудачными обращениями к кэш, вызванными командой.
3. Устройство предварительных выборок по п.2, в котором таблица предварительных выборок содержит запись для команды, только если команда вызвала по меньшей мере два неудачных обращения к кэш.
4. Устройство предварительных выборок по п.2, в котором адреса предварительно выбираемых элементов данных определяются на основании интервала между неудачными обращениями к кэш, записанными в таблице предварительных выборок для команды.
5. Устройство предварительных выборок по п.2, в котором устройство предварительных выборок имеет “шумовой” фильтр для предотвращения по меньшей мере одного типа “шумовой” неудачи от изменения интервала неудач, используемого для предварительной выборки данных.
6. Устройство предварительных выборок, содержащее память для хранения таблицы предварительных выборок, имеющей множество записей, каждая из которых содержит информацию, относящуюся к команде, причем записи имеют поле интервалов неудач для хранения интервала между первым адресом, который вызван первым неудачным обращением к кэш, и вторым адресом, который вызван вторым неудачным обращением к кэш, причем второе неудачное обращение к кэш является следующим неудачным обращением к кэш для команды после первого неудачного обращения к кэш, и диспетчер предварительных выборок, подсоединенный к памяти для управления таблицей предварительных выборок.
7. Устройство предварительных выборок по п.6, в котором записи в таблице предварительных выборок имеют поле повторяющихся неудач для указания, была ли обнаружена больше, чем одна неудача для команды.
8. Устройство предварительных выборок по п.6, в котором записи в таблице предварительных выборок имеют поле подтверждения для указания, был ли интервал, хранящийся в поле интервалов неудач, также интервалом между упомянутым вторым адресом и третьим адресом, который вызван третьим неудачным обращением к кэш, где третье неудачное обращение к кэш является следующим неудачным обращением к кэш для команды после второго неудачного обращения к кэш.
9. Устройство предварительных выборок по п.6, в котором записи в таблице предварительных выборок также имеют поле несовпадений для указания, была ли предыдущая неудача на интервале, который соответствует интервалу, хранящемуся в поле интервалов неудач.
10. Устройство предварительных выборок по п.6, в котором записи в таблице предварительных выборок имеют поле повторяющихся неудач для указания, была ли обнаружена для команды больше, чем одна неудача, записи в таблице предварительных выборок имеют поле подтверждения для указания, был ли интервал, хранящийся в поле интервалов неудач, также интервалом между упомянутым вторым адресом и третьим адресом, который был объектом первого неудачного обращения к кэш, причем третье неудачное обращение к кэш является следующим неудачным обращением к кэш для команды после второго неудачного обращения к кэш, и диспетчер предварительных выборок имеет логику замены для выбора записей в таблице предварительных выборок для замены, используя информацию, хранящуюся в поле повторяющихся неудач и поле подтверждения записей.
11. Устройство предварительных выборок по п.6, в котором устройство предварительных выборок дополнительно содержит вторую память для хранения входной таблицы, имеющей множество записей, каждая из которых содержит указатели команды, в котором каждая запись во входной таблице соответствует записи в таблице предварительных выборок, и в котором таблица предварительных выборок не хранит любую информацию, идентифицирующую команду, с которой связана запись.
12. Процессор, содержащий устройство критических неудачных предварительных выборок для предварительной выборки данных, предназначенных для использования командой, на основании записанного интервала между неудачными обращениями к кэш, которые были образованы командой, и исполнительное устройство для исполнения команды.
13. Процессор по п.12, в котором устройство критических неудачных предварительных выборок включает в себя первую схему, предназначенную для создания записи для команды в таблице критических неудачных предварительных выборок, если команда вызвала больше, чем одно неудачное обращение к кэш, в котором определение, что команда вызвала больше, чем одно неудачное обращение к кэш, основано, по меньшей мере частично, на содержании таблицы единственных неудач.
14. Процессор по п.13, в котором устройство критических неудачных предварительных выборок включает в себя первую схему для создания записи для команды в таблице критических неудачных предварительных выборок, если команда вызвала больше, чем одно неудачное обращение к кэш, в котором определение, что команда вызвала больше, чем одно неудачное обращение к кэш, основано, по меньшей мере частично, на содержании таблицы единственных неудач, вторую схему для записи интервала неудач в записи таблицы предварительных выборок для команды, и третью схему для записи, что интервал неудач был подтвержден по меньшей мере для двух последовательных неудач для команды.
15. Процессор по п.12, в котором процессор дополнительно содержит кэш-память, первую память для хранения таблицы предварительных выборок, имеющей запись, которая хранит информацию предварительных выборок, относящуюся к команде, но не хранит информацию, идентифицирующую команду, с которой связана запись, причем первая память подсоединена к устройству критических неудачных предварительных выборок и расположена ближе к кэш-памяти, чем к декодеру, и вторую память для хранения входной таблицы, имеющей запись, которая соответствует записи в таблице предварительных выборок, в котором запись входной таблицы хранит информацию, идентифицирующую команду, с которой связана запись, и в котором вторая память подсоединена к устройству критических неудачных предварительных выборок и расположена ближе к декодеру, чем к кэш-памяти.
16. Процессор по п.12, в котором процессор дополнительно содержит второе устройство предварительных выборок для предварительной выборки элемента данных, предназначенного для использования командой, в котором второе устройство предварительных выборок использует отличающийся механизм предварительных выборок и работает вместе с устройством критических неудачных предварительных выборок.
17. Способ управления предварительной выборкой данных, где способ содержит определение, что было неудачное обращение к кэш во время исполнительного цикла команды, которая загружается из первого адреса, определение, содержит ли первая таблица предварительных выборок запись для команды, причем запись хранит интервал неудач и хранит второй адрес, который был вызван последним неудачным обращением к кэш для команды, и в случае если первая таблица предварительных выборок содержит запись для команды, определения, была ли выполнена предварительная выборка данных, основанная частично на информации, хранящейся во входном сообщении.
18. Способ по п.17, в котором определяется, содержат ли данные предварительных выборок определение, что запрос предварительной выборки должен быть послан, если интервал между первым адресом и вторым адресом равен хранящемуся интервалу неудач.
19. Способ по п.17, в котором запись первой таблицы предварительных выборок содержит поле подтверждения, в котором определяется, содержат ли данные предварительных выборок определение, что запрос предварительной выборки должен быть послан, если интервал между первым адресом и вторым адресом равен хранящемуся интервалу неудач, и поле подтверждения указывает, что хранящийся интервал неудач был подтвержден.
20. Способ по п.18, в котором способ дополнительно содержит создание записи в первой таблице предварительных выборок для команды, если первая таблица предварительных выборок не содержит запись для команды, и в котором новая запись заменяет запись в таблице предварительных выборок с полем подтверждения, которое указывает, что интервал неудач, хранящийся в этой записи, был подтвержден, только если другие записи в таблице предварительных выборок также имеют поле подтверждения, которое указывает, что интервал неудач, хранящийся в этих других записях, был подтвержден.
21. Способ по п.17, в котором определение, содержит ли первая таблица предварительных выборок запись для команды, включает в себя определение, содержит ли запись во второй таблице предварительных выборок информацию, идентифицирующую команду, в котором вторая таблица предварительных выборок постоянно находится в памяти, отличающейся от первой таблицы предварительных выборок.
22. Способ по п.17, в котором запись для команды в первой таблице предварительных выборок содержит поле несовпадений, и в котором поле несовпадений указывает, произошла ли последняя неудача для команды на интервале неудач, хранящемся в записи, когда была обработана последняя неудача.
23. Способ по п.22, где способ дополнительно содержит определение, что первая таблица предварительных выборок содержит запись для команды, а интервал между первым адресом и вторым адресом не равен интервалу неудач, если поле несовпадений указывает, что последняя неудача произошла на хранящемся интервале неудач, обновление поля несовпадений для указания, что последняя неудача для команды не произошла в хранящемся интервале неудач, и если поле несовпадений указывает, что последняя неудача не произошла на хранящемся интервале неудач, сохранение интервала неудач в поле интервалов неудач и обновление поля несовпадений для указания, что последняя неудача для команды не произошла в хранящемся интервале неудач.
24. Способ по п.17, где способ дополнительно содержит создание записи в первой таблице предварительных выборок для команды, если первая таблица предварительных выборок не содержит запись для команды, а вторая таблица предварительных выборок содержит запись для команды, и создание записи во второй таблице предварительных выборок для команды, если первая таблица предварительных выборок не содержит запись для команды и вторая таблица предварительных выборок не содержит запись для команды.
25. Машиночитаемый носитель информации, имеющий хранящееся на нем множество исполняемых команд, где множество команд содержит команды определения, что было неудачное обращение к кэш во время исполнительного цикла команды, которая загружается из первого адреса, определения, содержит ли первая таблица предварительных выборок запись для команды, причем запись хранит интервал неудач и адрес последней неудачи, причем адрес последней неудачи является адресом, который был последним, вызванным неудачным обращением к кэш для команды, и обновления записи в первой таблице предварительных выборок на основании неудачного обращения к кэш.
26. Машиночитаемый носитель информации по п.25, в котором команды для обновления записи в первой таблице предварительных выборок содержат команды сохранения первого адреса в поле адресов последних неудач в записи, обновления поля подтверждения для указания, что адрес последней неудачи был подтвержден, если это вторая последовательная неудача, которая произошла на хранящемся интервале неудач, и поле подтверждения не указывает, что интервал неудач был подтвержден, и сохранения интервала между первым адресом и вторым адресом в поле интервалов неудач, если поле несовпадений указывает, что последняя неудача не произошла в хранящемся интервале неудач.
27. Машиночитаемый носитель информации по п.25, в котором множество команд дополнительно содержит команды создания записи в первой таблице предварительных выборок для команды, если первая таблица предварительных выборок не содержит записи для команды, а вторая таблица предварительных выборок содержит запись для команды, и создания записи во второй таблице предварительных выборок для команды, если первая таблица предварительных выборок не содержит запись для команды и вторая таблица предварительных выборок не содержит запись для команды.
28. Система предварительных выборок для процессора, где системы предварительной выборки содержит средство для предварительной выборки данных на основании хранящегося интервала неудач для команды в таблице предварительных выборок, и средство для обновления таблицы предварительных выборок, с целью сохранения нового интервала неудач для команды.
29. Система предварительных выборок по п.28, в которой средство для обновления таблицы предварительных выборок включает в себя средство для фильтрации “шумовых” неудач.
30. Система предварительных выборок по п.28, в которой средство для предварительной выборки данных основано на запоминании интервала неудач данных устройства предварительных выборок в кэш с индикацией, что данные были подвергнуты предварительной выборке.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/749,936 | 2000-12-29 | ||
US09/749,936 US6584549B2 (en) | 2000-12-29 | 2000-12-29 | System and method for prefetching data into a cache based on miss distance |
Publications (2)
Publication Number | Publication Date |
---|---|
RU2003119149A true RU2003119149A (ru) | 2005-01-10 |
RU2260838C2 RU2260838C2 (ru) | 2005-09-20 |
Family
ID=25015840
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
RU2003119149/09A RU2260838C2 (ru) | 2000-12-29 | 2001-12-18 | Система и способ для предварительной выборки данных в кэш-памяти, основанной на интервале неудач |
Country Status (8)
Country | Link |
---|---|
US (3) | US6584549B2 (ru) |
EP (1) | EP1346281A2 (ru) |
CN (1) | CN1222870C (ru) |
AU (1) | AU2002241682A1 (ru) |
HK (1) | HK1064170A1 (ru) |
RU (1) | RU2260838C2 (ru) |
TW (1) | TW541498B (ru) |
WO (1) | WO2002054230A2 (ru) |
Families Citing this family (66)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE10116863A1 (de) * | 2001-04-04 | 2002-10-17 | Infineon Technologies Ag | Schnittstelle |
US8171266B2 (en) * | 2001-08-02 | 2012-05-01 | Hewlett-Packard Development Company, L.P. | Look-ahead load pre-fetch in a processor |
EP1304619A1 (en) * | 2001-10-22 | 2003-04-23 | STMicroelectronics Limited | Cache memory operation |
US20030084433A1 (en) * | 2001-10-31 | 2003-05-01 | Chi-Keung Luk | Profile-guided stride prefetching |
US6832296B2 (en) * | 2002-04-09 | 2004-12-14 | Ip-First, Llc | Microprocessor with repeat prefetch instruction |
EP1361518B1 (en) * | 2002-05-10 | 2013-08-07 | Texas Instruments Incorporated | Reducing TAG-RAM accesses and accelerating cache operation during cache miss |
US7162588B2 (en) * | 2002-08-23 | 2007-01-09 | Koninklijke Philips Electronics N.V. | Processor prefetch to match memory bus protocol characteristics |
US7165146B2 (en) * | 2003-01-28 | 2007-01-16 | Sun Microsystems, Inc. | Multiprocessing computer system employing capacity prefetching |
CN100489813C (zh) * | 2003-04-21 | 2009-05-20 | 智慧第一公司 | 可选择性撤回预取的方法 |
US7177985B1 (en) * | 2003-05-30 | 2007-02-13 | Mips Technologies, Inc. | Microprocessor with improved data stream prefetching |
US7111126B2 (en) * | 2003-09-24 | 2006-09-19 | Arm Limited | Apparatus and method for loading data values |
US7487296B1 (en) * | 2004-02-19 | 2009-02-03 | Sun Microsystems, Inc. | Multi-stride prefetcher with a recurring prefetch table |
US7120753B2 (en) * | 2004-04-20 | 2006-10-10 | International Business Machines Corporation | System and method for dynamically adjusting read ahead values based upon memory usage |
US7313654B2 (en) * | 2004-10-27 | 2007-12-25 | Xiv Ltd | Method for differential discarding of cached data in distributed storage systems |
US7380065B2 (en) * | 2005-03-30 | 2008-05-27 | International Business Machines Corporation | Performance of a cache by detecting cache lines that have been reused |
US7421540B2 (en) * | 2005-05-03 | 2008-09-02 | International Business Machines Corporation | Method, apparatus, and program to efficiently calculate cache prefetching patterns for loops |
US20070239940A1 (en) * | 2006-03-31 | 2007-10-11 | Doshi Kshitij A | Adaptive prefetching |
US7681047B2 (en) * | 2006-04-18 | 2010-03-16 | International Business Machines Corporation | Decryption of data in storage systems |
JP5131986B2 (ja) * | 2006-05-16 | 2013-01-30 | パナソニック株式会社 | 画像処理装置 |
US7774578B2 (en) * | 2006-06-07 | 2010-08-10 | Advanced Micro Devices, Inc. | Apparatus and method of prefetching data in response to a cache miss |
US8060701B2 (en) * | 2006-12-08 | 2011-11-15 | Qualcomm Incorporated | Apparatus and methods for low-complexity instruction prefetch system |
US7873791B1 (en) * | 2007-09-28 | 2011-01-18 | Emc Corporation | Methods and systems for incorporating improved tail cutting in a prefetch stream in TBC mode for data storage having a cache memory |
US8161263B2 (en) * | 2008-02-01 | 2012-04-17 | International Business Machines Corporation | Techniques for indirect data prefetching |
US8161265B2 (en) * | 2008-02-01 | 2012-04-17 | International Business Machines Corporation | Techniques for multi-level indirect data prefetching |
US8209488B2 (en) * | 2008-02-01 | 2012-06-26 | International Business Machines Corporation | Techniques for prediction-based indirect data prefetching |
US8166277B2 (en) * | 2008-02-01 | 2012-04-24 | International Business Machines Corporation | Data prefetching using indirect addressing |
US8161264B2 (en) * | 2008-02-01 | 2012-04-17 | International Business Machines Corporation | Techniques for data prefetching using indirect addressing with offset |
US7925865B2 (en) * | 2008-06-02 | 2011-04-12 | Oracle America, Inc. | Accuracy of correlation prefetching via block correlation and adaptive prefetch degree selection |
US8140769B2 (en) * | 2009-04-20 | 2012-03-20 | Oracle America, Inc. | Data prefetcher |
US8166251B2 (en) * | 2009-04-20 | 2012-04-24 | Oracle America, Inc. | Data prefetcher that adjusts prefetch stream length based on confidence |
US8880844B1 (en) * | 2010-03-12 | 2014-11-04 | Trustees Of Princeton University | Inter-core cooperative TLB prefetchers |
US8433852B2 (en) * | 2010-08-30 | 2013-04-30 | Intel Corporation | Method and apparatus for fuzzy stride prefetch |
US8949522B1 (en) * | 2011-06-21 | 2015-02-03 | Netlogic Microsystems, Inc. | Performance of a stride-based prefetcher on an out-of-order processing unit (CPU) |
CN102253901B (zh) * | 2011-07-13 | 2013-07-24 | 清华大学 | 一种基于相变内存的读写区分数据存储替换方法 |
US9009449B2 (en) * | 2011-11-10 | 2015-04-14 | Oracle International Corporation | Reducing power consumption and resource utilization during miss lookahead |
WO2013101138A1 (en) * | 2011-12-30 | 2013-07-04 | Intel Corporation | Identifying and prioritizing critical instructions within processor circuitry |
US20130185515A1 (en) * | 2012-01-16 | 2013-07-18 | Qualcomm Incorporated | Utilizing Negative Feedback from Unexpected Miss Addresses in a Hardware Prefetcher |
US20140082324A1 (en) * | 2012-09-14 | 2014-03-20 | Reuven Elhamias | Method and Storage Device for Using File System Data to Predict Host Device Operations |
US9304932B2 (en) * | 2012-12-20 | 2016-04-05 | Qualcomm Incorporated | Instruction cache having a multi-bit way prediction mask |
US9792120B2 (en) * | 2013-03-05 | 2017-10-17 | International Business Machines Corporation | Anticipated prefetching for a parent core in a multi-core chip |
US9223710B2 (en) * | 2013-03-16 | 2015-12-29 | Intel Corporation | Read-write partitioning of cache memory |
CN104750696B (zh) * | 2013-12-26 | 2018-07-20 | 华为技术有限公司 | 一种数据预取方法及装置 |
US9971694B1 (en) * | 2015-06-24 | 2018-05-15 | Apple Inc. | Prefetch circuit for a processor with pointer optimization |
US9792224B2 (en) | 2015-10-23 | 2017-10-17 | Intel Corporation | Reducing latency by persisting data relationships in relation to corresponding data in persistent memory |
CN106776371B (zh) * | 2015-12-14 | 2019-11-26 | 上海兆芯集成电路有限公司 | 跨距参考预取器、处理器和将数据预取到处理器的方法 |
US9904624B1 (en) | 2016-04-07 | 2018-02-27 | Apple Inc. | Prefetch throttling in a multi-core system |
US10180905B1 (en) | 2016-04-07 | 2019-01-15 | Apple Inc. | Unified prefetch circuit for multi-level caches |
CN106021128B (zh) * | 2016-05-31 | 2018-10-30 | 东南大学—无锡集成电路技术研究所 | 一种基于步幅和数据相关性的数据预取器及其预取方法 |
US10452395B2 (en) | 2016-07-20 | 2019-10-22 | International Business Machines Corporation | Instruction to query cache residency |
US10169239B2 (en) | 2016-07-20 | 2019-01-01 | International Business Machines Corporation | Managing a prefetch queue based on priority indications of prefetch requests |
US10621095B2 (en) * | 2016-07-20 | 2020-04-14 | International Business Machines Corporation | Processing data based on cache residency |
US10521350B2 (en) | 2016-07-20 | 2019-12-31 | International Business Machines Corporation | Determining the effectiveness of prefetch instructions |
US20180095884A1 (en) * | 2016-09-30 | 2018-04-05 | Intel Corporation | Mass storage cache in non volatile level of multi-level system memory |
US10303575B2 (en) * | 2017-01-10 | 2019-05-28 | International Business Machines Corporation | Time-slice-instrumentation facility |
US10331567B1 (en) | 2017-02-17 | 2019-06-25 | Apple Inc. | Prefetch circuit with global quality factor to reduce aggressiveness in low power modes |
US10606752B2 (en) * | 2017-11-06 | 2020-03-31 | Samsung Electronics Co., Ltd. | Coordinated cache management policy for an exclusive cache hierarchy |
US11099995B2 (en) | 2018-03-28 | 2021-08-24 | Intel Corporation | Techniques for prefetching data to a first level of memory of a hierarchical arrangement of memory |
US20190303037A1 (en) * | 2018-03-30 | 2019-10-03 | Ca, Inc. | Using sequential read intention to increase data buffer reuse |
US11281585B2 (en) | 2018-08-30 | 2022-03-22 | Micron Technology, Inc. | Forward caching memory systems and methods |
US11093248B2 (en) * | 2018-09-10 | 2021-08-17 | International Business Machines Corporation | Prefetch queue allocation protection bubble in a processor |
US11243884B2 (en) * | 2018-11-13 | 2022-02-08 | Advanced Micro Devices, Inc. | Control flow guided lock address prefetch and filtering |
US11442867B2 (en) | 2018-12-20 | 2022-09-13 | Micron Technology, Inc. | Using a second content-addressable memory to manage memory burst accesses in memory sub-systems |
US11294808B2 (en) | 2020-05-21 | 2022-04-05 | Micron Technology, Inc. | Adaptive cache |
US11409657B2 (en) | 2020-07-14 | 2022-08-09 | Micron Technology, Inc. | Adaptive address tracking |
US11422934B2 (en) | 2020-07-14 | 2022-08-23 | Micron Technology, Inc. | Adaptive address tracking |
US11853220B2 (en) * | 2021-10-14 | 2023-12-26 | Arm Limited | Prefetcher training |
Family Cites Families (6)
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 |
US5790823A (en) * | 1995-07-13 | 1998-08-04 | International Business Machines Corporation | Operand prefetch table |
US6055622A (en) | 1997-02-03 | 2000-04-25 | Intel Corporation | Global stride prefetching apparatus and method for a high-performance processor |
US6253306B1 (en) | 1998-07-29 | 2001-06-26 | Advanced Micro Devices, Inc. | Prefetch instruction mechanism for processor |
US6311260B1 (en) | 1999-02-25 | 2001-10-30 | Nec Research Institute, Inc. | Method for perfetching structured data |
US6574712B1 (en) * | 1999-11-08 | 2003-06-03 | International Business Machines Corporation | Software prefetch system and method for predetermining amount of streamed data |
-
2000
- 2000-12-29 US US09/749,936 patent/US6584549B2/en not_active Expired - Lifetime
-
2001
- 2001-03-30 US US09/820,967 patent/US20020087802A1/en not_active Abandoned
- 2001-12-18 CN CNB018216293A patent/CN1222870C/zh not_active Expired - Fee Related
- 2001-12-18 RU RU2003119149/09A patent/RU2260838C2/ru not_active IP Right Cessation
- 2001-12-18 TW TW090131353A patent/TW541498B/zh not_active IP Right Cessation
- 2001-12-18 AU AU2002241682A patent/AU2002241682A1/en not_active Abandoned
- 2001-12-18 WO PCT/US2001/049776 patent/WO2002054230A2/en not_active Application Discontinuation
- 2001-12-18 EP EP01988368A patent/EP1346281A2/en not_active Withdrawn
-
2003
- 2003-05-02 US US10/427,908 patent/US6701414B2/en not_active Expired - Lifetime
-
2004
- 2004-09-08 HK HK04106821A patent/HK1064170A1/xx not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
US20020087802A1 (en) | 2002-07-04 |
WO2002054230A3 (en) | 2003-12-11 |
HK1064170A1 (en) | 2005-01-21 |
AU2002241682A1 (en) | 2002-07-16 |
US6584549B2 (en) | 2003-06-24 |
TW541498B (en) | 2003-07-11 |
US20020087800A1 (en) | 2002-07-04 |
US20030196046A1 (en) | 2003-10-16 |
US6701414B2 (en) | 2004-03-02 |
CN1484788A (zh) | 2004-03-24 |
RU2260838C2 (ru) | 2005-09-20 |
EP1346281A2 (en) | 2003-09-24 |
WO2002054230A2 (en) | 2002-07-11 |
CN1222870C (zh) | 2005-10-12 |
WO2002054230A8 (en) | 2003-03-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
RU2003119149A (ru) | Система и способ для предварительной выборки данных в кэш-памяти, основанной на интервале неудач | |
CN105159844B (zh) | 数据处理装置中的动态缓存分配策略调适 | |
US7613870B2 (en) | Efficient memory usage in systems including volatile and high-density memories | |
JP2018190412A (ja) | ハイブリッドメモリにおける書き込み及びフラッシュ支援のためのメモリモジュール及びその動作方法 | |
US7055000B1 (en) | Disk drive employing enhanced instruction cache management to facilitate non-sequential immediate operands | |
JP3587591B2 (ja) | キャッシュ・ミスを制御する方法およびその計算機システム | |
US8745334B2 (en) | Sectored cache replacement algorithm for reducing memory writebacks | |
JP4298800B2 (ja) | キャッシュメモリにおけるプリフェッチ管理 | |
US20150149733A1 (en) | Supporting speculative modification in a data cache | |
JPS59165144A (ja) | 命令取出し装置 | |
US8954681B1 (en) | Multi-stage command processing pipeline and method for shared cache access | |
US20080282028A1 (en) | Dynamic optimization of dynamic random access memory (dram) controller page policy | |
JPS63255748A (ja) | 記憶装置 | |
JP4666511B2 (ja) | データ処理におけるメモリキャッシング | |
US7627734B2 (en) | Virtual on-chip memory | |
JP2005284816A (ja) | ディスクアレイシステム | |
EP1962184A1 (en) | Processor and method of performing speculative load operations of the processor | |
CN111831327A (zh) | 可执行指令的电子装置以及指令执行方法 | |
US9047199B2 (en) | Reducing penalties for cache accessing operations | |
US9037806B2 (en) | Reducing store operation busy times | |
JPH08137753A (ja) | ディスクキャッシュ装置 | |
WO2020075276A1 (ja) | メモリ履歴管理システム | |
JP2000148587A (ja) | 記憶装置および記憶領域の決定方法 | |
JP2988048B2 (ja) | 辞書情報常駐アクセス装置 | |
JP2005267232A (ja) | データベース管理システム及びプリページング方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MM4A | The patent is invalid due to non-payment of fees |
Effective date: 20171219 |