WO2006104747A2 - Method and apparatus for filtering snoop requests using stream registers - Google Patents

Method and apparatus for filtering snoop requests using stream registers Download PDF

Info

Publication number
WO2006104747A2
WO2006104747A2 PCT/US2006/010038 US2006010038W WO2006104747A2 WO 2006104747 A2 WO2006104747 A2 WO 2006104747A2 US 2006010038 W US2006010038 W US 2006010038W WO 2006104747 A2 WO2006104747 A2 WO 2006104747A2
Authority
WO
WIPO (PCT)
Prior art keywords
snoop
cache
stream
stream register
address
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.)
Ceased
Application number
PCT/US2006/010038
Other languages
English (en)
French (fr)
Other versions
WO2006104747A3 (en
Inventor
Matthias A. Blumrich
Alan G. Gara
Valentina Salapura
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Priority to JP2008504137A priority Critical patent/JP5120850B2/ja
Priority to EP06739000.5A priority patent/EP1864224B1/en
Publication of WO2006104747A2 publication Critical patent/WO2006104747A2/en
Anticipated expiration legal-status Critical
Publication of WO2006104747A3 publication Critical patent/WO2006104747A3/en
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0815Cache consistency protocols
    • G06F12/0831Cache consistency protocols using a bus scheme, e.g. with bus monitoring or watching means
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0815Cache consistency protocols
    • G06F12/0817Cache consistency protocols using directory methods
    • G06F12/0822Copy directories
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/50Control mechanisms for virtual memory, cache or TLB
    • G06F2212/507Control mechanisms for virtual memory, cache or TLB using speculative control
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy efficient computing, e.g. low power processors, power management or thermal management

Definitions

  • the snoop filter described utilizes stream registers for tracking data loaded into a local cache memory associated with the processor unit, and identifies most of the snoop requests which would result in cache misses by filtering them out, but never filtering out a snoop requests for data which are indicated in the stream registers to be locally cached. Reducing the number of snoop requests per processor increases system performance and reduces power.
  • the snoop block 310 additionally includes a stream register block 430 and snoop token control block 426.
  • each port snoop filter 400a,...,40On monitors all memory read access requests 412 from its associated processor which miss in the processor's Ll level cache. This information is also provided to the stream register block 430 for use as will be described in greater detail herein.
  • the filters may be arranged in parallel or in series (in which case the output of one filter is the input to the next, for example). If a filter has inputs from more than one source (i.e., is shared between multiple sources), it has to have its own input queue and an arbiter to serialize snoop requests. A final ordered subset of all snoop requests is placed in the snoop queue 472, and snoop requests are forwarded to the processor via the processor snoop interface 474.
  • no snoop request is forwarded to the snoop queue 506 and the snoop queue arbiter 508. If no match is found in the snoop cache 502a,...,502n for the current snoop request, the address of the snoop requests is added to the snoop cache using the signals 514a,...,514n. Concurrently, the snoop request is forwarded to the snoop queue 506.
  • the "tag" field of the snoop request is checked against all tag fields in the snoop cache associated with the snoop source i. If the snoop request address tag is the same as one of the address tags stored in the snoop cache, the address tag field has hit in the snoop cache. After this, the valid line vector of the snoop cache entry for which a hit was detected is compared to the valid line vector of the snoop request. If the bit of the valid line vector in the snoop cache line corresponding to the bit set in the valid line vector of the snoop request is set, the valid line vector has hit as well.
  • FIG. 6 there is depicted the control flow for updating two stream register sets and the cache wrap detection logic block for the replaced cache lines.
  • all stream registers and masks are reset and the cache wrap detection logic is cleared as indicated at step 750, and first set of registers is activated.
  • the address of the memory request is added to a first set of stream registers, referred to as an active address stream register set. All address stream registers from the first set of registers are checked to select the best match — as specified by the implemented register selection criteria; alternately, the first empty stream register may be selected.
  • step 764 determines if a cache wrap condition exists. If no cache wrap event is detected in the step 764, the system waits for the next processor memory request by returning to step 760. If, however, the cache wrap event is detected, the first set of registers and masks will be used again. Thus, all registers and. paired masks from the first set of registers are reset, the cache wrap detection logic is cleared in the step 766. The first set of registers are going to be used again as active for approximating the content of the cache, and the control flow is looped back to the step 752.
  • S_new S_old bit-wise-or V. This keeps a Scoreboard of the number of different bits in each group that occur simultaneously.
  • Figure 19(a) particularly depicts one embodiment of logic implemented for detecting the wrap of a single partition of a single set (set "z" in the embodiment depicted) within the logic block 920.
  • this logic When this logic has detected a wrap in set i, it asserts the set_wrap(i) signal 910.
  • Figure 19(b) shows how the individual set_wrap(i) 910 signals from all N sets of the cache are combined with a logic OR function to produce the cache_wrap 912 signal, which asserts when the entire cache (i.e. all sets) have wrapped. It is understood that the logic and circuitry depicted in Figures 19(a) and 19(b) is only one example implementation and skilled artisans will recognize that many variations and modifications may be made thereof without departing from the scope of the invention.
  • a third embodiment of the cache wrap detection logic will work with a cache that implements any replacement policy, including least recently used and random.
  • a Scoreboard 940 is used to keep track of the precise cache way 914 that is overwritten. Specifically, it is used to detect the first write to any way.
  • a counter 942 keeps track of the number of times that a Scoreboard bit was first set (i.e. goes from 0 tol). It does this by only counting Scoreboard writes where the overwritten bit (old_bit) is zero.
  • the counter 942 is pre-loaded to the partition size 936 (i.e. number of ways in the partition), so once this counter reaches zero, the entire cache partition has wrapped. This is indicated by the cache_wrap 912 signal being asserted, causing the counter 942 to be reloaded (assuming Load takes precedence over Down) and the Scoreboard 940 to be cleared (i.e. reset).
  • the operation of a filter subunit is programmable.
  • This can be in the form of configurable aspects of a snoop filter, e.g., by configuring programmable aspects such as associativity of the cache being snooped, the coherence architecture being implemented, and so forth.
  • the filter subunit is implemented in programmable microcode, whereby a programmable engine executes a sequence of instructions to implement the aspects of one or more preferred embodiments described herein. In one aspect, this is a general microcode engine.

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)
PCT/US2006/010038 2005-03-29 2006-03-17 Method and apparatus for filtering snoop requests using stream registers Ceased WO2006104747A2 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2008504137A JP5120850B2 (ja) 2005-03-29 2006-03-17 ストリーム・レジスタを用いてスヌープ要求をフィルタする方法、装置及びコンピュータ・プログラム
EP06739000.5A EP1864224B1 (en) 2005-03-29 2006-03-17 Method and apparatus for filtering snoop requests using stream registers

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/093,130 US7392351B2 (en) 2005-03-29 2005-03-29 Method and apparatus for filtering snoop requests using stream registers
US11/093,130 2005-03-29

Publications (2)

Publication Number Publication Date
WO2006104747A2 true WO2006104747A2 (en) 2006-10-05
WO2006104747A3 WO2006104747A3 (en) 2007-12-21

Family

ID=37053890

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2006/010038 Ceased WO2006104747A2 (en) 2005-03-29 2006-03-17 Method and apparatus for filtering snoop requests using stream registers

Country Status (6)

Country Link
US (2) US7392351B2 (https=)
EP (1) EP1864224B1 (https=)
JP (1) JP5120850B2 (https=)
KR (1) KR101013237B1 (https=)
CN (1) CN100568206C (https=)
WO (1) WO2006104747A2 (https=)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010517184A (ja) * 2007-01-26 2010-05-20 クゥアルコム・インコーポレイテッド スヌープ要求キャッシュを用いたスヌープ・フィルタリング
US8732408B2 (en) 2007-10-18 2014-05-20 Nytell Software LLC Circuit and method with cache coherence stress control
US20190171578A1 (en) * 2019-01-30 2019-06-06 Intel Corporation Management of cache use requests sent to remote cache devices
EP3534268A1 (en) * 2018-02-28 2019-09-04 Imagination Technologies Limited Memory interface

Families Citing this family (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007031696A1 (en) * 2005-09-13 2007-03-22 Arm Limited Cache miss detection in a data processing apparatus
US8185724B2 (en) * 2006-03-03 2012-05-22 Arm Limited Monitoring values of signals within an integrated circuit
US20090031082A1 (en) * 2006-03-06 2009-01-29 Simon Andrew Ford Accessing a Cache in a Data Processing Apparatus
US20080056230A1 (en) * 2006-08-29 2008-03-06 Santhanakrishnan Geeyarpuram N Opportunistic channel unblocking mechanism for ordered channels in a point-to-point interconnect
US7937535B2 (en) * 2007-02-22 2011-05-03 Arm Limited Managing cache coherency in a data processing apparatus
US7996626B2 (en) * 2007-12-13 2011-08-09 Dell Products L.P. Snoop filter optimization
JP5206385B2 (ja) * 2008-12-12 2013-06-12 日本電気株式会社 バウンダリ実行制御システム、バウンダリ実行制御方法、及びバウンダリ実行制御プログラム
US8447934B2 (en) * 2010-06-30 2013-05-21 Advanced Micro Devices, Inc. Reducing cache probe traffic resulting from false data sharing
KR101996592B1 (ko) 2012-06-15 2019-07-04 인텔 코포레이션 명확화 없는 비순차 load store 큐를 갖는 재정렬된 투기적 명령어 시퀀스들
CN104583956B (zh) 2012-06-15 2019-01-04 英特尔公司 用于实现加载存储重新排序和优化的指令定义
KR101832574B1 (ko) * 2012-06-15 2018-02-26 인텔 코포레이션 모든 store들이 캐시의 모든 워드들에 대한 검사를 스누핑해야만 하는 것을 방지하기 위해 store들을 필터링하는 방법 및 시스템
EP2862062B1 (en) 2012-06-15 2024-03-06 Intel Corporation A virtual load store queue having a dynamic dispatch window with a distributed structure
WO2013188705A2 (en) 2012-06-15 2013-12-19 Soft Machines, Inc. A virtual load store queue having a dynamic dispatch window with a unified structure
EP2862084A4 (en) 2012-06-15 2016-11-30 Soft Machines Inc METHOD AND SYSTEM FOR IMPLEMENTING RECOVERY FROM A SPECULATIVE TRANSMISSION OF FAULT FORECASTS / ERRORS DUE TO THE CHANGE AND OPTIMIZATION OF MEMORY LOADS
TWI646422B (zh) 2012-06-15 2019-01-01 英特爾股份有限公司 在處理器中之免消歧義失序載入/儲存佇列方法、微處理器、和非暫態性電腦可讀取儲存媒體
US9274955B2 (en) * 2012-08-17 2016-03-01 Futurewei Technologies, Inc. Reduced scalable cache directory
US9251073B2 (en) 2012-12-31 2016-02-02 Intel Corporation Update mask for handling interaction between fills and updates
DE112013001361B4 (de) * 2013-03-15 2023-06-15 Tahoe Research, Ltd. System auf einem Chip, Verfahren, maschinenlesbares Medium und System für die Bereitstellung einer Snoop-Filterung zugeordnet mit einem Datenpuffer
US9058273B1 (en) 2013-12-20 2015-06-16 International Business Machines Corporation Frequency determination across an interface of a data processing system
US9639470B2 (en) * 2014-08-26 2017-05-02 Arm Limited Coherency checking of invalidate transactions caused by snoop filter eviction in an integrated circuit
US9507716B2 (en) * 2014-08-26 2016-11-29 Arm Limited Coherency checking of invalidate transactions caused by snoop filter eviction in an integrated circuit
US9727466B2 (en) * 2014-08-26 2017-08-08 Arm Limited Interconnect and method of managing a snoop filter for an interconnect
CN105793832B (zh) * 2014-09-18 2018-12-18 上海兆芯集成电路有限公司 处理器及其操作方法、以及计算机可读存储介质
KR102485999B1 (ko) * 2015-07-01 2023-01-06 삼성전자주식회사 마스터-사이드 필터를 포함하는 캐시 코히런트 시스템과 이를 포함하는 데이터 처리 시스템
US9626232B2 (en) * 2015-07-23 2017-04-18 Arm Limited Event queue management
US10268586B2 (en) * 2015-12-08 2019-04-23 Via Alliance Semiconductor Co., Ltd. Processor with programmable prefetcher operable to generate at least one prefetch address based on load requests
US9900260B2 (en) 2015-12-10 2018-02-20 Arm Limited Efficient support for variable width data channels in an interconnect network
US10157133B2 (en) 2015-12-10 2018-12-18 Arm Limited Snoop filter for cache coherency in a data processing system
US10262721B2 (en) * 2016-03-10 2019-04-16 Micron Technology, Inc. Apparatuses and methods for cache invalidate
US9990292B2 (en) * 2016-06-29 2018-06-05 Arm Limited Progressive fine to coarse grain snoop filter
US10346307B2 (en) 2016-09-28 2019-07-09 Samsung Electronics Co., Ltd. Power efficient snoop filter design for mobile platform
US10621090B2 (en) * 2017-01-12 2020-04-14 International Business Machines Corporation Facility for extending exclusive hold of a cache line in private cache
US10042766B1 (en) 2017-02-02 2018-08-07 Arm Limited Data processing apparatus with snoop request address alignment and snoop response time alignment
US10761985B2 (en) * 2018-08-02 2020-09-01 Xilinx, Inc. Hybrid precise and imprecise cache snoop filtering
CN109582895A (zh) * 2018-12-04 2019-04-05 山东浪潮通软信息科技有限公司 一种缓存实现方法
US10635591B1 (en) * 2018-12-05 2020-04-28 Advanced Micro Devices, Inc. Systems and methods for selectively filtering, buffering, and processing cache coherency probes
US10657055B1 (en) * 2018-12-13 2020-05-19 Arm Limited Apparatus and method for managing snoop operations

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5014327A (en) * 1987-06-15 1991-05-07 Digital Equipment Corporation Parallel associative memory having improved selection and decision mechanisms for recognizing and sorting relevant patterns
JP3027843B2 (ja) * 1993-04-23 2000-04-04 株式会社日立製作所 バススヌ−プ方法
US5778424A (en) * 1993-04-30 1998-07-07 Avsys Corporation Distributed placement, variable-size cache architecture
US5655100A (en) * 1995-03-31 1997-08-05 Sun Microsystems, Inc. Transaction activation processor for controlling memory transaction execution in a packet switched cache coherent multiprocessor system
US5659710A (en) * 1995-11-29 1997-08-19 International Business Machines Corporation Cache coherency method and system employing serially encoded snoop responses
US5966729A (en) * 1997-06-30 1999-10-12 Sun Microsystems, Inc. Snoop filter for use in multiprocessor computer systems
US6460119B1 (en) * 1997-12-29 2002-10-01 Intel Corporation Snoop blocking for cache coherency
US6272604B1 (en) * 1999-05-20 2001-08-07 International Business Machines Corporation Contingent response apparatus and method for maintaining cache coherency
US6389517B1 (en) * 2000-02-25 2002-05-14 Sun Microsystems, Inc. Maintaining snoop traffic throughput in presence of an atomic operation a first port for a first queue tracks cache requests and a second port for a second queue snoops that have yet to be filtered
US6934817B2 (en) * 2000-03-31 2005-08-23 Intel Corporation Controlling access to multiple memory zones in an isolated execution environment
US6598123B1 (en) * 2000-06-28 2003-07-22 Intel Corporation Snoop filter line replacement for reduction of back invalidates in multi-node architectures
US6810467B1 (en) * 2000-08-21 2004-10-26 Intel Corporation Method and apparatus for centralized snoop filtering
US20030131201A1 (en) * 2000-12-29 2003-07-10 Manoj Khare Mechanism for efficiently supporting the full MESI (modified, exclusive, shared, invalid) protocol in a cache coherent multi-node shared memory system
US7472231B1 (en) * 2001-09-07 2008-12-30 Netapp, Inc. Storage area network data cache
US6823409B2 (en) * 2001-09-28 2004-11-23 Hewlett-Packard Development Company, L.P. Coherency control module for maintaining cache coherency in a multi-processor-bus system
US6829665B2 (en) 2001-09-28 2004-12-07 Hewlett-Packard Development Company, L.P. Next snoop predictor in a host controller
US6842827B2 (en) * 2002-01-02 2005-01-11 Intel Corporation Cache coherency arrangement to enhance inbound bandwidth
US6857048B2 (en) 2002-01-17 2005-02-15 Intel Corporation Pseudo least-recently-used (PLRU) replacement method for a multi-node snoop filter
US6959364B2 (en) 2002-06-28 2005-10-25 Intel Corporation Partially inclusive snoop filter
TW560035B (en) * 2002-07-05 2003-11-01 Via Tech Inc Interlayer disposition structure of multi-layer circuit board
US7117312B1 (en) * 2003-11-17 2006-10-03 Sun Microsystems, Inc. Mechanism and method employing a plurality of hash functions for cache snoop filtering
US7308538B2 (en) * 2004-11-04 2007-12-11 International Business Machines Corporation Scope-based cache coherence
US7475167B2 (en) * 2005-04-15 2009-01-06 Intel Corporation Offloading data path functions

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See references of EP1864224A4 *

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010517184A (ja) * 2007-01-26 2010-05-20 クゥアルコム・インコーポレイテッド スヌープ要求キャッシュを用いたスヌープ・フィルタリング
US8732408B2 (en) 2007-10-18 2014-05-20 Nytell Software LLC Circuit and method with cache coherence stress control
EP3534268A1 (en) * 2018-02-28 2019-09-04 Imagination Technologies Limited Memory interface
GB2571538A (en) * 2018-02-28 2019-09-04 Imagination Tech Ltd Memory interface
CN110209610A (zh) * 2018-02-28 2019-09-06 畅想科技有限公司 存储器接口
GB2571538B (en) * 2018-02-28 2020-08-19 Imagination Tech Ltd Memory interface
US11132299B2 (en) 2018-02-28 2021-09-28 Imagination Technologies Limited Memory interface having multiple snoop processors
US11734177B2 (en) 2018-02-28 2023-08-22 Imagination Technologies Limited Memory interface having multiple snoop processors
CN110209610B (zh) * 2018-02-28 2024-05-03 畅想科技有限公司 存储器接口
US12235767B2 (en) 2018-02-28 2025-02-25 Imagination Technologies Limited Memory interface having multiple snoop processors
US20190171578A1 (en) * 2019-01-30 2019-06-06 Intel Corporation Management of cache use requests sent to remote cache devices
US11593273B2 (en) * 2019-01-30 2023-02-28 Intel Corporation Management of cache use requests sent to remote cache devices

Also Published As

Publication number Publication date
US7392351B2 (en) 2008-06-24
JP5120850B2 (ja) 2013-01-16
US8135917B2 (en) 2012-03-13
EP1864224A2 (en) 2007-12-12
US20060224836A1 (en) 2006-10-05
EP1864224B1 (en) 2013-05-08
JP2008535093A (ja) 2008-08-28
KR101013237B1 (ko) 2011-02-08
CN101189590A (zh) 2008-05-28
KR20070119653A (ko) 2007-12-20
EP1864224A4 (en) 2011-08-10
CN100568206C (zh) 2009-12-09
US20080244194A1 (en) 2008-10-02
WO2006104747A3 (en) 2007-12-21

Similar Documents

Publication Publication Date Title
US7373462B2 (en) Snoop filter for filtering snoop requests
US8103836B2 (en) Snoop filtering system in a multiprocessor system
US8135917B2 (en) Method and apparatus for filtering snoop requests using stream registers
US7603523B2 (en) Method and apparatus for filtering snoop requests in a point-to-point interconnect architecture
US7603524B2 (en) Method and apparatus for filtering snoop requests using multiple snoop caches
US7617366B2 (en) Method and apparatus for filtering snoop requests using mulitiple snoop caches
JP2008535093A5 (https=)
US7925840B2 (en) Data processing apparatus and method for managing snoop operations
US20200371970A1 (en) Multiple-requestor memory access pipeline and arbiter
US8015364B2 (en) Method and apparatus for filtering snoop requests using a scoreboard
US7287122B2 (en) Data replication in multiprocessor NUCA systems to reduce horizontal cache thrashing
US7958309B2 (en) Dynamic selection of a memory access size
US9830265B2 (en) Reuse of directory entries for holding state information through use of multiple formats
Blumrich et al. Exploring the architecture of a stream register-based snoop filter

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 200680010151.9

Country of ref document: CN

121 Ep: the epo has been informed by wipo that ep was designated in this application
WWE Wipo information: entry into national phase

Ref document number: 2006739000

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 1020077021818

Country of ref document: KR

ENP Entry into the national phase

Ref document number: 2008504137

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

NENP Non-entry into the national phase

Ref country code: RU