DE60239201D1 - Verfahren zur verwendung eines l2-verzeichnisses, um spekulatives laden in einem mehrprozessorsystem zu ermöglichen - Google Patents
Verfahren zur verwendung eines l2-verzeichnisses, um spekulatives laden in einem mehrprozessorsystem zu ermöglichenInfo
- Publication number
- DE60239201D1 DE60239201D1 DE60239201T DE60239201T DE60239201D1 DE 60239201 D1 DE60239201 D1 DE 60239201D1 DE 60239201 T DE60239201 T DE 60239201T DE 60239201 T DE60239201 T DE 60239201T DE 60239201 D1 DE60239201 D1 DE 60239201D1
- Authority
- DE
- Germany
- Prior art keywords
- cache
- affected
- speculative load
- load operations
- caches
- 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 - Lifetime
Links
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
-
- 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/3836—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
- G06F9/3842—Speculative instruction execution
-
- 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
- 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/0815—Cache consistency protocols
- G06F12/0817—Cache consistency protocols using directory methods
- G06F12/0822—Copy directories
-
- 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/0815—Cache consistency protocols
- G06F12/0817—Cache consistency protocols using directory methods
- G06F12/0828—Cache consistency protocols using directory methods with concurrent directory accessing, i.e. handling multiple concurrent coherency transactions
-
- 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/3834—Maintaining memory consistency
-
- 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/3861—Recovery, e.g. branch miss-prediction, exception handling
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Hardware Redundancy (AREA)
- Multi Processors (AREA)
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US30119701P | 2001-06-26 | 2001-06-26 | |
PCT/US2002/022159 WO2003001383A2 (en) | 2001-06-26 | 2002-06-26 | Using an l2 directory to facilitate speculative loads in a multiprocessor system |
Publications (1)
Publication Number | Publication Date |
---|---|
DE60239201D1 true DE60239201D1 (de) | 2011-03-31 |
Family
ID=23162362
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE60239201T Expired - Lifetime DE60239201D1 (de) | 2001-06-26 | 2002-06-26 | Verfahren zur verwendung eines l2-verzeichnisses, um spekulatives laden in einem mehrprozessorsystem zu ermöglichen |
Country Status (8)
Country | Link |
---|---|
US (1) | US6721855B2 (de) |
EP (1) | EP1399823B1 (de) |
JP (1) | JP4050226B2 (de) |
KR (1) | KR100704089B1 (de) |
AT (1) | ATE498866T1 (de) |
AU (1) | AU2002349805A1 (de) |
DE (1) | DE60239201D1 (de) |
WO (1) | WO2003001383A2 (de) |
Families Citing this family (29)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6668308B2 (en) * | 2000-06-10 | 2003-12-23 | Hewlett-Packard Development Company, L.P. | Scalable architecture based on single-chip multiprocessing |
US6990559B2 (en) * | 2002-10-03 | 2006-01-24 | Hewlett-Packard Development Company, L.P. | Mechanism for resolving ambiguous invalidates in a computer system |
JP3988144B2 (ja) | 2004-02-23 | 2007-10-10 | 日本電気株式会社 | ベクトル処理装置、及び、追い越し制御回路 |
US7769950B2 (en) * | 2004-03-24 | 2010-08-03 | Qualcomm Incorporated | Cached memory system and cache controller for embedded digital signal processor |
US7484045B2 (en) | 2004-03-30 | 2009-01-27 | Intel Corporation | Store performance in strongly-ordered microprocessor architecture |
US7277989B2 (en) | 2004-06-22 | 2007-10-02 | Sun Microsystems, Inc. | Selectively performing fetches for store operations during speculative execution |
US7290116B1 (en) | 2004-06-30 | 2007-10-30 | Sun Microsystems, Inc. | Level 2 cache index hashing to avoid hot spots |
US7519796B1 (en) | 2004-06-30 | 2009-04-14 | Sun Microsystems, Inc. | Efficient utilization of a store buffer using counters |
US7571284B1 (en) * | 2004-06-30 | 2009-08-04 | Sun Microsystems, Inc. | Out-of-order memory transactions in a fine-grain multithreaded/multi-core processor |
US7366829B1 (en) | 2004-06-30 | 2008-04-29 | Sun Microsystems, Inc. | TLB tag parity checking without CAM read |
US7543132B1 (en) | 2004-06-30 | 2009-06-02 | Sun Microsystems, Inc. | Optimizing hardware TLB reload performance in a highly-threaded processor with multiple page sizes |
US9727468B2 (en) * | 2004-09-09 | 2017-08-08 | Intel Corporation | Resolving multi-core shared cache access conflicts |
US7984248B2 (en) * | 2004-12-29 | 2011-07-19 | Intel Corporation | Transaction based shared data operations in a multiprocessor environment |
US7523266B2 (en) | 2006-02-06 | 2009-04-21 | Sun Microsystems, Inc. | Method and apparatus for enforcing memory reference ordering requirements at the L1 cache level |
US20070186056A1 (en) * | 2006-02-07 | 2007-08-09 | Bratin Saha | Hardware acceleration for a software transactional memory system |
US8838906B2 (en) * | 2010-01-08 | 2014-09-16 | International Business Machines Corporation | Evict on write, a management strategy for a prefetch unit and/or first level cache in a multiprocessor system with speculative execution |
JP5471428B2 (ja) * | 2009-12-25 | 2014-04-16 | 富士通株式会社 | 情報処理装置およびキャッシュメモリ制御装置 |
US9507647B2 (en) | 2010-01-08 | 2016-11-29 | Globalfoundries Inc. | Cache as point of coherence in multiprocessor system |
US8825944B2 (en) | 2011-05-23 | 2014-09-02 | International Business Machines Corporation | Populating strides of tracks to demote from a first cache to a second cache |
US8825953B2 (en) | 2012-01-17 | 2014-09-02 | International Business Machines Corporation | Demoting tracks from a first cache to a second cache by using a stride number ordering of strides in the second cache to consolidate strides in the second cache |
US9021201B2 (en) | 2012-01-17 | 2015-04-28 | International Business Machines Corporation | Demoting partial tracks from a first cache to a second cache |
US8825957B2 (en) | 2012-01-17 | 2014-09-02 | International Business Machines Corporation | Demoting tracks from a first cache to a second cache by using an occupancy of valid tracks in strides in the second cache to consolidate strides in the second cache |
US8966178B2 (en) | 2012-01-17 | 2015-02-24 | International Business Machines Corporation | Populating a first stride of tracks from a first cache to write to a second stride in a second cache |
JP5949330B2 (ja) * | 2012-08-29 | 2016-07-06 | 株式会社リコー | 情報処理装置、情報処理方法 |
US9405690B2 (en) * | 2013-08-07 | 2016-08-02 | Oracle International Corporation | Method for storing modified instruction data in a shared cache |
CN103744800B (zh) * | 2013-12-30 | 2016-09-14 | 龙芯中科技术有限公司 | 面向重放机制的缓存操作方法及装置 |
US10423418B2 (en) | 2015-11-30 | 2019-09-24 | International Business Machines Corporation | Method for maintaining a branch prediction history table |
US10489296B2 (en) | 2016-09-22 | 2019-11-26 | International Business Machines Corporation | Quality of cache management in a computer |
US10620961B2 (en) * | 2018-03-30 | 2020-04-14 | Intel Corporation | Apparatus and method for speculative conditional move operation |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5611063A (en) * | 1996-02-06 | 1997-03-11 | International Business Machines Corporation | Method for executing speculative load instructions in high-performance processors |
US6418516B1 (en) * | 1999-07-30 | 2002-07-09 | International Business Machines Corporation | Method and system for managing speculative requests in a multi-level memory hierarchy |
US6473833B1 (en) * | 1999-07-30 | 2002-10-29 | International Business Machines Corporation | Integrated cache and directory structure for multi-level caches |
US6606702B1 (en) * | 2000-06-06 | 2003-08-12 | International Business Machines Corporation | Multiprocessor speculation mechanism with imprecise recycling of storage operations |
US6609192B1 (en) * | 2000-06-06 | 2003-08-19 | International Business Machines Corporation | System and method for asynchronously overlapping storage barrier operations with old and new storage operations |
-
2002
- 2002-06-26 EP EP02752292A patent/EP1399823B1/de not_active Expired - Lifetime
- 2002-06-26 WO PCT/US2002/022159 patent/WO2003001383A2/en active Application Filing
- 2002-06-26 AU AU2002349805A patent/AU2002349805A1/en not_active Abandoned
- 2002-06-26 KR KR1020037014575A patent/KR100704089B1/ko active IP Right Grant
- 2002-06-26 JP JP2003507705A patent/JP4050226B2/ja not_active Expired - Lifetime
- 2002-06-26 US US10/184,214 patent/US6721855B2/en not_active Expired - Lifetime
- 2002-06-26 DE DE60239201T patent/DE60239201D1/de not_active Expired - Lifetime
- 2002-06-26 AT AT02752292T patent/ATE498866T1/de not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
US20020199070A1 (en) | 2002-12-26 |
US6721855B2 (en) | 2004-04-13 |
JP2005520222A (ja) | 2005-07-07 |
KR20040007546A (ko) | 2004-01-24 |
AU2002349805A1 (en) | 2003-01-08 |
EP1399823A2 (de) | 2004-03-24 |
WO2003001383A3 (en) | 2003-08-14 |
JP4050226B2 (ja) | 2008-02-20 |
WO2003001383A2 (en) | 2003-01-03 |
EP1399823B1 (de) | 2011-02-16 |
KR100704089B1 (ko) | 2007-04-05 |
ATE498866T1 (de) | 2011-03-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE60239201D1 (de) | Verfahren zur verwendung eines l2-verzeichnisses, um spekulatives laden in einem mehrprozessorsystem zu ermöglichen | |
US20230254907A1 (en) | Pipelined read-modify-write operations in cache memory | |
US20170161197A1 (en) | Apparatuses and methods for pre-fetching and write-back for a segmented cache memory | |
US5845103A (en) | Computer with dynamic instruction reuse | |
WO2007092273A3 (en) | Method and apparatus for enforcing memory reference ordering requirements at the l1 cache level | |
TW200606709A (en) | System and method for validating a memory file that links speculative results of load operations to register values | |
US8117395B1 (en) | Multi-stage pipeline for cache access | |
GB2453085A (en) | Method and system for receivables management | |
RU2008134124A (ru) | Эффективное управление иерархией памяти | |
KR20210019584A (ko) | 다중 테이블 분기 타겟 버퍼 | |
DE60330482D1 (de) | Verfahren und systeme zum bewegen von daten unter verwendung von riegeln | |
ATE450001T1 (de) | Selektives durchführen von abrufvorgängen für speicheroperationen während der spekulativen ausführung | |
US20090198978A1 (en) | Data processing apparatus and method for identifying sequences of instructions | |
KR100491761B1 (ko) | 실패 로드 검사 명령어를 처리하기 위한 메커니즘 | |
US20090187712A1 (en) | Operation Frame Filtering, Building, And Execution | |
TW200619938A (en) | System and method for canceling write back operation during simultaneous snoop push or snoop kill operation in write back caches | |
US6553469B2 (en) | Memory record update filtering | |
CN108664810A (zh) | 一种基于可逆矩阵的内存spd保护方法 | |
US20090132766A1 (en) | Systems and methods for lookahead instruction fetching for processors | |
US8191067B2 (en) | Method and apparatus for establishing a bound on the effect of task interference in a cache memory | |
CN104331470B (zh) | 基于缓存机制的数据处理方法及系统 | |
CN112199298B (zh) | 一种单步调试的检测方法、装置和计算机可读存储介质 | |
US20170300322A1 (en) | Arithmetic processing device, method, and system | |
JPH06505820A (ja) | 複数のモジュールから結合されるプログラムの機械作成方法 | |
US20160239403A1 (en) | An apparatus and method for controlling debugging of program instructions including a transaction |