WO2006040689A1 - Implementation and management of moveable buffers in cache system - Google Patents

Implementation and management of moveable buffers in cache system Download PDF

Info

Publication number
WO2006040689A1
WO2006040689A1 PCT/IB2005/003565 IB2005003565W WO2006040689A1 WO 2006040689 A1 WO2006040689 A1 WO 2006040689A1 IB 2005003565 W IB2005003565 W IB 2005003565W WO 2006040689 A1 WO2006040689 A1 WO 2006040689A1
Authority
WO
WIPO (PCT)
Prior art keywords
cache
reload
write
buffer
entry
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/IB2005/003565
Other languages
French (fr)
Inventor
Yasukichi Okawa
Roy Moonseuk Kim
Peichun Peter Liu
Thuong Quang Truong
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.)
Sony Interactive Entertainment Inc
International Business Machines Corp
Original Assignee
Sony Computer Entertainment Inc
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 Sony Computer Entertainment Inc, International Business Machines Corp filed Critical Sony Computer Entertainment Inc
Publication of WO2006040689A1 publication Critical patent/WO2006040689A1/en
Anticipated expiration legal-status Critical
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/0844Multiple simultaneous or quasi-simultaneous cache accessing
    • G06F12/0855Overlapped cache accessing, e.g. pipeline
    • G06F12/0859Overlapped cache accessing, e.g. pipeline with reload from main memory
    • 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

Definitions

  • the present invention relates generally to the field of computer systems and, more particularly, cache buffers.
  • a cache system which is a small, contents addressable memory, with relatively low access latency and high bandwidth, was introduced to meet these requirements.
  • the system uses two distinct operations.
  • One is reload which retrieves demanded data from main memory and allocate it in the cache.
  • Another is write-back cache that writes modified data from victim entry to memory in order to allocate a free entry for a reload operation. Essentially, the reload operation is unable to start as long as write-back is pending.
  • a conventional write-back cache system accommodates a write-back buffer, where the write-back data moves immediately after the write-back operation initiates. In this manner, write-back operation can employ the write-back buffer so that the reload operation can start utilizing victim entry immediately.
  • Such a write-back buffer is extra data storage outside cache system, and makes cache design difficult in terms of area and power consumption.
  • Methods for managing write-back and reload operations in a cache system employing a plurality of pointers and moveable buffers for receiving storage access instructions in a cache system from one or more processors.
  • the buffers are integrated in the data array and available for reload and write-back operations.
  • a cache controller further reserves a specified reload buffer for cache misses and write-back the victim to memory to keep the reload buffer clear for the next missed entry.
  • FIGURE IA illustrates an exemplary conventional four-way set associative write-back cache
  • FIGURE IB illustrates an exemplary conventional operational flow of cache replacement
  • FIGURE 1C illustrates an exemplary improved process for operational flow of cache replacement
  • FIGURE 2 illustrates an exemplary processor cache system interface diagram
  • FIGURE 3 illustrates an exemplary cache system block diagram.
  • FIGURE IA disclosed is an exemplary conventional four-way set associative write-back CACHE 107.
  • a conventional write-back cache needs replacement when a cache miss occurs and there is no empty room in its congruence class.
  • FIGURE IB disclosed is an exemplary conventional operational flow of cache replacement. Shown here, two consecutive memory operations are necessary to conduct cache replacement. A conventional cache introduces a Write-Back Buffer 106 to handle both operations in parallel.
  • a program or a device makes an instruction Request 102, to processor CPUl 105.
  • the instruction goes to a Cache 107 where it is compared by a tag (unique identifier) to the stored tag placed into Cache 107. If there is a match, the data access operation is operated within the cache. If not, a cache miss is recorded and the reload operation is initiated to reload new data to an empty (invalid) entry. If there is no empty entry, and victim calculation logic points to the modified state entry, then modified state entry is castout as a "victim" to Write-Back Buffer 106. Data writes to Main System Memory 140 when bus and main system memory is available.
  • the Write-Back Buffer 106 is normally implemented by latch, flip-flop, or even small register file. It is also possible to implement the Write-Back Buffer 106 in the cache 107. Furthermore, when the area per bit and power per bit are large using the latch or flip-flop, it is advantageous to implement the equivalent function with smaller area and power consumption by integrating the Write-Back Buffer 106 into the cache data store (e.g., the SRAM itself) . Instead of having a separate Write-Back Buffer 106 inside the cache array, a Reload Pointer 140 is added in the cache array to point to movable reload entry in the cache (delineated further in FIGURE 1C) .
  • Victim entry gets a write-back to memory without moving it into a temporary Write-Back Buffer 106 since an empty slot or Reload entry, is always available for concurrent reload.
  • Reload Pointer 140 moves around in the cache to an available empty slot created by write-back to prevent internal cache movement of data. If the Reload Pointer 140 is fixed to one location then the reload data has to be moved to another location before the next reload.
  • FIGURE 1C illustrated is an exemplary improved process for operational flow of cache replacement.
  • 107 is at least one open slot in the cache array, coupled logically as a Reload entry.
  • FIGURE 2 disclosed is an exemplary processor cache SYSTEM 100 interface diagram.
  • CPUl 105 and CPU2 110 store and retrieve indicia (data, commands, etc.) through their respective caches, 107, and 112, via a typical bus structure. Though there are two processors described here, operating in parallel, and without an apparent master/slave relationship, there can be ⁇ n' number of processors in any configuration, with the same result.
  • the bus interface units, BusIF 109 and BusIF 114 handle main memory requests from the cache system.
  • the cache systems 107 and 112 receive storage operations requests from processors, and access cache storages accordingly.
  • cache system 107 If there is a cache miss in the cache system 107, for example, the cache system sends a request to BusIF 109 to access Main System Memory 140, or other cache in equal hierarchy to resolve cache miss. If there are ⁇ n' processors with ⁇ x' cache misses occurring simultaneously (either sequentially or in parallel) , memory controller MEM CTL 130 determines and queues up the most urgent miss input/output. If there is no empty room in the cache storage to locate retrieved data for a cache miss, the cache system initiates a write-back request for victim entry to write victim data back to Main System Memory 140.
  • FIGURE 3 disclosed is an exemplary cache system block diagram. Within this embodiment are three independent finite state machines (FSMs) . Other embodiments can contain more or less FSMs.
  • FSMs finite state machines
  • FSM 305 handles cache misses.
  • FSM 310 handles write-backs, and FSM 315 accepts and processes snoop requests from other devices hooked on the bus.
  • RP 325 is the reload pointer for cache miss handling through FSM 305
  • VP 330 is the victim pointer for write-back handling through FSM 310.
  • Cache entry pointed by RP 325 has to be maintained in an empty condition whenever a cache miss occurs because retrieved data for the cache miss is located at the entry pointed by to by RP 325. If there is no free entry in the cache storage 107, (except an entry pointed at by RP 325 on need for cache miss handling) , a write-back request will initiate for entry pointed to by VP 330.
  • RP 325 is maintained to point at free entry by free entry calculation FE 340. After write—back is completed, RP 325 is updated by the value of the victim entry, since the victim entry is invalidated by the write-back request. This reload pointer maintenance then prepares for the next cache miss.
  • VP 330 also updates by the output of victim pointer calculation in VP 330 to prepare for the next write-back request (in many instances, the Least Recently Used (LRU) algorithm also calculates for the VP 330 location) . Since cache miss data is directly located into the entry pointed to by RP 325 and write-back data is written back directly from entry pointed by VP 330, unnecessary intra-cache data movement from victim entry to write-back entry can be avoided, improving performance and simplifying archive design.
  • Directory D 320 is for the storage of tag and cache states for data in corresponding cache storage locations.
  • a tag is the information by which the target address can be associated with a particular directory.
  • the cache state is the data attribute of cache entry to maintain cache coherency among multi-processor system connected via a single bus system. All cache systems must maintain overall cache coherency in terms of cache coherency protocol.
  • Cache-miss finite state machine FSM 305, write—back finite state machine FSM 310, and snoop finite state machine FSM 315 communicate with directories, such as D 320, to retrieve information for target cache entry and to update cache state coherently.
  • VE 350 gets information from a LRU 345 to calculate VP 330.
  • BusIF 109 is the interface to bus 120 (where BUS 120 may be a system bus, a memory bus, Southbridge or other indicia communication pathway) . All three finite state machines communicate through BusIF 109, sending and receiving requests through BUS 120.
  • BusIF 109 A snoop request from the BusIF 109 initiates FSM 315 to begin work on a snoop command.
  • BusIF 109 also handles data transfer between cache storage 107 and BUS 120 in accordance with request from one or more of the three finite state machines.

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

The present invention provides parallel processing of write-back and reload operations in a cache system and optimum circuit utilization by implementing moveable buffers in a cache storage. However, the data and associated pointers are not permanently assigned to a particular buffer - hence, the buffers can move logically around in the facility. Reload pointer is pointing to an empty entry so that retrieved data from the main memory or equal hierarchy cache on cache miss can be always be accommodated. Victim pointer is always pointing to a modified entry for the next candidate of write-back operation. Write-back operation is necessary with reload operation in order to make a free entry for further cache miss handling unless free entry exists. Because of these moveable pointers for reload buffer and victim buffer and integrated write-back buffer in the cache, intra cache data movement is not necessary which improves cache miss handling performance.

Description

IMPLEMENTATION AND MANAGEMENT OF MOVEABLE BUFFERS IN CACHE SYSTEM
TECHNICAL FIELD The present invention relates generally to the field of computer systems and, more particularly, cache buffers.
BACKGROUND
The need for faster computer systems has led to increased demands for high-speed data fetches and stores. A cache system, which is a small, contents addressable memory, with relatively low access latency and high bandwidth, was introduced to meet these requirements.
In a write-back cache system, data modification due to a store instruction is only for the cache. Later on, such modified data write-back cache to the main memory when there is no space to accommodate reloaded data from main memory to resolve cache miss.
Therefore, in order to resolve cache miss when cache is without a free entry, the system uses two distinct operations. One is reload which retrieves demanded data from main memory and allocate it in the cache. Another is write-back cache that writes modified data from victim entry to memory in order to allocate a free entry for a reload operation. Essentially, the reload operation is unable to start as long as write-back is pending.
A conventional write-back cache system accommodates a write-back buffer, where the write-back data moves immediately after the write-back operation initiates. In this manner, write-back operation can employ the write-back buffer so that the reload operation can start utilizing victim entry immediately.
Such a write-back buffer is extra data storage outside cache system, and makes cache design difficult in terms of area and power consumption.
Therefore, there is a need for a write-back cache system that addresses at least some of the problems associated with conventional write-back cache systems.
SUMMARY OF THE INVENTION
Methods for managing write-back and reload operations in a cache system. Then, employing a plurality of pointers and moveable buffers for receiving storage access instructions in a cache system from one or more processors. The buffers are integrated in the data array and available for reload and write-back operations. A cache controller further reserves a specified reload buffer for cache misses and write-back the victim to memory to keep the reload buffer clear for the next missed entry.
BRIEF DESCRIPTION OF THE DRAWINGS
For a more complete understanding of the present invention, and the advantages thereof, reference is now made to the following Detailed Description taken in conjunction with the accompanying drawings, in which:
FIGURE IA illustrates an exemplary conventional four-way set associative write-back cache;
FIGURE IB illustrates an exemplary conventional operational flow of cache replacement;
FIGURE 1C illustrates an exemplary improved process for operational flow of cache replacement;
FIGURE 2 illustrates an exemplary processor cache system interface diagram; and FIGURE 3 illustrates an exemplary cache system block diagram.
DETAILED DESCRIPTION
In the following discussion, numerous specific details are set forth to provide a thorough understanding of the present invention. However, those skilled in the art will appreciate that the present invention may be practiced without such specific details. In other instances, well-known elements have been illustrated in block diagram form in order not to obscure the present invention in unnecessary detail. Additionally, for the most part, details concerning network communications, electro-magnetic signaling techniques, and the like, have been omitted inasmuch as such details are not considered necessary to obtain a complete understanding of the present invention, and are considered to be within the understanding of persons of ordinary skill in the relevant art.
It is further noted that, unless indicated otherwise, all functions described herein may be performed in either hardware or software, or some combination thereof. In a preferred embodiment, however, the functions are performed by a processor, such as a computer or an electronic data processor, in accordance with code, such as computer program code, software, and/or integrated circuits that are coded to perform such functions, unless indicated otherwise.
Turning to FIGURE IA disclosed is an exemplary conventional four-way set associative write-back CACHE 107. A conventional write-back cache needs replacement when a cache miss occurs and there is no empty room in its congruence class. A congruence class set is a set of cache entries indexed by the same index. The cache miss is detected at Index = i. This congruence class has no empty slot. When the victim entry is chosen, and evicted, new data is reloaded, and the cache miss is resolved for the replacement reload has to follow write- back.
Turning to FIGURE IB, disclosed is an exemplary conventional operational flow of cache replacement. Shown here, two consecutive memory operations are necessary to conduct cache replacement. A conventional cache introduces a Write-Back Buffer 106 to handle both operations in parallel.
First, a program or a device makes an instruction Request 102, to processor CPUl 105. The instruction goes to a Cache 107 where it is compared by a tag (unique identifier) to the stored tag placed into Cache 107. If there is a match, the data access operation is operated within the cache. If not, a cache miss is recorded and the reload operation is initiated to reload new data to an empty (invalid) entry. If there is no empty entry, and victim calculation logic points to the modified state entry, then modified state entry is castout as a "victim" to Write-Back Buffer 106. Data writes to Main System Memory 140 when bus and main system memory is available. That is, there is only Λn' number of available cachelines, and therefore, victim data must be pushed out to make room for the incoming data that arrives via Bus 120. Bus 120 places the new data into the victim entry line. Reload and write-back are main memory transfer operations that can result in slow transfer and high capacity utilization rates.
The Write-Back Buffer 106 is normally implemented by latch, flip-flop, or even small register file. It is also possible to implement the Write-Back Buffer 106 in the cache 107. Furthermore, when the area per bit and power per bit are large using the latch or flip-flop, it is advantageous to implement the equivalent function with smaller area and power consumption by integrating the Write-Back Buffer 106 into the cache data store (e.g., the SRAM itself) . Instead of having a separate Write-Back Buffer 106 inside the cache array, a Reload Pointer 140 is added in the cache array to point to movable reload entry in the cache (delineated further in FIGURE 1C) . Victim entry gets a write-back to memory without moving it into a temporary Write-Back Buffer 106 since an empty slot or Reload entry, is always available for concurrent reload. In addition, Reload Pointer 140 moves around in the cache to an available empty slot created by write-back to prevent internal cache movement of data. If the Reload Pointer 140 is fixed to one location then the reload data has to be moved to another location before the next reload.
Turning now to FIGURE 1C, illustrated is an exemplary improved process for operational flow of cache replacement.
Here, a separate write-back buffer is eliminated. Within Cache
107, is at least one open slot in the cache array, coupled logically as a Reload entry.
When a cache miss occurs, and there is only one free entry, a new Victim is selected by victim pointer calculation logic. Then, New Data 103 is loaded in the reload buffer, simultaneously evicting the victim to a Bus 120 if the victim data has been updated with respect to Main System Memory. As soon as that operation completes, the Reload Pointer 140 gets updates.
Turning to FIGURE 2, disclosed is an exemplary processor cache SYSTEM 100 interface diagram. CPUl 105 and CPU2 110 store and retrieve indicia (data, commands, etc.) through their respective caches, 107, and 112, via a typical bus structure. Though there are two processors described here, operating in parallel, and without an apparent master/slave relationship, there can be λn' number of processors in any configuration, with the same result. The bus interface units, BusIF 109 and BusIF 114 handle main memory requests from the cache system. The cache systems 107 and 112 receive storage operations requests from processors, and access cache storages accordingly. If there is a cache miss in the cache system 107, for example, the cache system sends a request to BusIF 109 to access Main System Memory 140, or other cache in equal hierarchy to resolve cache miss. If there are Λn' processors with λx' cache misses occurring simultaneously (either sequentially or in parallel) , memory controller MEM CTL 130 determines and queues up the most urgent miss input/output. If there is no empty room in the cache storage to locate retrieved data for a cache miss, the cache system initiates a write-back request for victim entry to write victim data back to Main System Memory 140.
Turning to FIGURE 3, disclosed is an exemplary cache system block diagram. Within this embodiment are three independent finite state machines (FSMs) . Other embodiments can contain more or less FSMs.
FSM 305 handles cache misses. FSM 310 handles write-backs, and FSM 315 accepts and processes snoop requests from other devices hooked on the bus. There are two data pointers. RP 325 is the reload pointer for cache miss handling through FSM 305, and VP 330 is the victim pointer for write-back handling through FSM 310. Cache entry pointed by RP 325 has to be maintained in an empty condition whenever a cache miss occurs because retrieved data for the cache miss is located at the entry pointed by to by RP 325. If there is no free entry in the cache storage 107, (except an entry pointed at by RP 325 on need for cache miss handling) , a write-back request will initiate for entry pointed to by VP 330. RP 325 is maintained to point at free entry by free entry calculation FE 340. After write—back is completed, RP 325 is updated by the value of the victim entry, since the victim entry is invalidated by the write-back request. This reload pointer maintenance then prepares for the next cache miss. VP 330 also updates by the output of victim pointer calculation in VP 330 to prepare for the next write-back request (in many instances, the Least Recently Used (LRU) algorithm also calculates for the VP 330 location) . Since cache miss data is directly located into the entry pointed to by RP 325 and write-back data is written back directly from entry pointed by VP 330, unnecessary intra-cache data movement from victim entry to write-back entry can be avoided, improving performance and simplifying archive design. There is one directory, D 320 with corresponding cache storage area 107. The directory and cache are coupled, resulting in a 003565
Content Addressable Memory, CAM 360. Directory D 320 is for the storage of tag and cache states for data in corresponding cache storage locations. A tag is the information by which the target address can be associated with a particular directory. The cache state is the data attribute of cache entry to maintain cache coherency among multi-processor system connected via a single bus system. All cache systems must maintain overall cache coherency in terms of cache coherency protocol. Cache-miss finite state machine FSM 305, write—back finite state machine FSM 310, and snoop finite state machine FSM 315 communicate with directories, such as D 320, to retrieve information for target cache entry and to update cache state coherently. VE 350 gets information from a LRU 345 to calculate VP 330. BusIF 109 is the interface to bus 120 (where BUS 120 may be a system bus, a memory bus, Southbridge or other indicia communication pathway) . All three finite state machines communicate through BusIF 109, sending and receiving requests through BUS 120.
A snoop request from the BusIF 109 initiates FSM 315 to begin work on a snoop command. BusIF 109 also handles data transfer between cache storage 107 and BUS 120 in accordance with request from one or more of the three finite state machines.
It is understood that the present invention can take many forms and implementations. Accordingly, several variations may be made in the foregoing without departing from the spirit or the scope of the invention. The capabilities outlined herein allow for the possibility of a variety of design and programming models. This disclosure should not be read as preferring any particular design or programming model, but is instead directed to the underlying mechanisms on which these design and programming models can be built.
Having thus described the present invention by reference to certain of its salient characteristics, it is noted that the features disclosed are illustrative rather than limiting in nature and that a wide range of variations, modifications, changes, and substitutions are contemplated in the foregoing disclosure and, in some instances, some features of the present invention may be employed without a corresponding use of the other features. Many such variations and modifications may be considered desirable by those skilled in the art based upon a review of the foregoing description. Accordingly, it is appropriate that the appended claims be construed broadly and in a manner consistent with the scope of the invention.

Claims

CLAIMS :
1. A data processing system, comprising: a cache system; a cache miss controller coupled to the cache system; a write—back controller coupled to the cache system; a snoop controller coupled to the cache system; means for a write-back buffer; means for a reload buffer; means for a snoop; and a plurality of data pointers, wherein each data pointer is configured to select cache entry for specific purpose; reload pointer selection logic means capable of selecting a reload buffer line; victim selection logic means capable of determining the stalest line, through skipping over data pointers; and a snoop logic means for snooping bus operations for reacting to other devices' requests.
2. The system of claim 1, further comprising said cache miss controller coupled via said reload selection logic to the reload buffer line.
3. The system of claim 1, further comprising said write- back controller coupled via said victim selection logic to the victim buffer line.
4. The system of claim 1, further comprising said snoop controller coupled to a directory.
5. The system of claim 3, further comprising the write- back controller configured to reserve the reload buffer as an empty buffer.
6. The system of claim 3, further comprising said write- back controller configured to specify the least-recently-used data line as the victim line.
7. A method for managing write-back and reload operations in a cache system, employing pointers and moveable buffers, comprising: receiving storage access instructions in a cache system, wherein each said instruction loads from a processor; storing pointers in said cache system, wherein each pointer is pointing to one of the entry in cache storage; executing a victim entry selection operation from victim entry calculation logic; executing a reload entry selection operation from free entry calculation logic- determining a victim entry in accordance with the processor' s demand storage access history; determining a reload entry in accordance with all cache states; reserving a buffer as an exclusive reload buffer to place retrieved data for cache miss handling; executing write-back to memory from victim entry freeing space for further cache miss handling.
8. The method of claim 7, further comprising a step of pointing a victim entry by variable pointer.
9. The method of claim 7, further comprising a step of variably pointing a reload entry.
10. The method of claim 7, further comprising a step of the victim selection logic determining when modified data needs writing back to memory, freeing an entry for further cache miss handling. 65
11. The method of claim 7, further comprising a step of the victim selection logic addressing and skipping over reload pointer to find the least-recently-used stale buffer.
12. A computer program product for authenticating code in a computer system, the computer program product having a medium with a computer program embodied thereon, the computer program comprising: ' computer code for generating parallel write-back and reload instructions through next victim selection logic; and computer code for ordering a data buffer movement command having an associative data buffer pointer movement command.
13. A cache system for providing data storage and processing in a computer system, including a computer program comprising: computer code for generating parallel write-back and reload instructions through next victim selection logic; and computer code for moving a write-back buffer with computer code for moving a reload buffer having an associative data pointer movement command.
PCT/IB2005/003565 2004-07-15 2005-07-14 Implementation and management of moveable buffers in cache system Ceased WO2006040689A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/891,796 US20060015689A1 (en) 2004-07-15 2004-07-15 Implementation and management of moveable buffers in cache system
US10/891,796 2004-07-15

Publications (1)

Publication Number Publication Date
WO2006040689A1 true WO2006040689A1 (en) 2006-04-20

Family

ID=35134646

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/IB2005/003565 Ceased WO2006040689A1 (en) 2004-07-15 2005-07-14 Implementation and management of moveable buffers in cache system

Country Status (3)

Country Link
US (1) US20060015689A1 (en)
JP (1) JP4302083B2 (en)
WO (1) WO2006040689A1 (en)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7281092B2 (en) * 2005-06-02 2007-10-09 International Business Machines Corporation System and method of managing cache hierarchies with adaptive mechanisms
US20080244189A1 (en) * 2007-03-30 2008-10-02 Allison Brian D Method, Apparatus, System and Program Product Supporting Directory-Assisted Speculative Snoop Probe With Concurrent Memory Access
US20080244190A1 (en) * 2007-03-30 2008-10-02 Shedivy David A Method, Apparatus, System and Program Product Supporting Efficient Eviction of an Entry From a Central Coherence Directory
US7966521B2 (en) * 2008-07-14 2011-06-21 International Business Machines Corporation Light weight and high throughput test case generation methodology for testing cache/TLB intervention and diagnostics
US9678882B2 (en) * 2012-10-11 2017-06-13 Intel Corporation Systems and methods for non-blocking implementation of cache flush instructions
JP6687845B2 (en) * 2016-04-26 2020-04-28 富士通株式会社 Arithmetic processing device and method for controlling arithmetic processing device
US10922230B2 (en) * 2016-07-15 2021-02-16 Advanced Micro Devices, Inc. System and method for identifying pendency of a memory access request at a cache entry

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5950205A (en) * 1997-09-25 1999-09-07 Cisco Technology, Inc. Data transmission over the internet using a cache memory file system
US20030159004A1 (en) * 2000-07-19 2003-08-21 Rambus, Inc. Memory controller with power management logic

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US159004A (en) * 1875-01-19 Improvement in hair-cutters gages
JP3183161B2 (en) * 1996-04-12 2001-07-03 三菱自動車工業株式会社 Arousal level estimation device
US6542081B2 (en) * 1996-08-19 2003-04-01 William C. Torch System and method for monitoring eye movement
US5732232A (en) * 1996-09-17 1998-03-24 International Business Machines Corp. Method and apparatus for directing the expression of emotion for a graphical user interface
US6145057A (en) * 1997-04-14 2000-11-07 International Business Machines Corporation Precise method and system for selecting an alternative cache entry for replacement in response to a conflict between cache operation requests
US6085294A (en) * 1997-10-24 2000-07-04 Compaq Computer Corporation Distributed data dependency stall mechanism
DE19801009C1 (en) * 1998-01-14 1999-04-22 Daimler Chrysler Ag Method of braking motor vehicle
US6190314B1 (en) * 1998-07-15 2001-02-20 International Business Machines Corporation Computer input device with biosensors for sensing user emotions
US6347261B1 (en) * 1999-08-04 2002-02-12 Yamaha Hatsudoki Kabushiki Kaisha User-machine interface system for enhanced interaction
US6483418B1 (en) * 2000-08-18 2002-11-19 Texas Instruments Incorporated Creep acting miniature thermostatic electrical switch and thermostatic member used therewith
US6611206B2 (en) * 2001-03-15 2003-08-26 Koninklijke Philips Electronics N.V. Automatic system for monitoring independent person requiring occasional assistance
JP2003072488A (en) * 2001-08-31 2003-03-12 Sony Corp In-vehicle device, vehicle, and vehicle information processing method
US7221809B2 (en) * 2001-12-17 2007-05-22 Genex Technologies, Inc. Face recognition system and method
JP4033672B2 (en) * 2001-12-26 2008-01-16 株式会社日立製作所 Emergency notification system
US7003139B2 (en) * 2002-02-19 2006-02-21 Eastman Kodak Company Method for using facial expression to determine affective information in an imaging system

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5950205A (en) * 1997-09-25 1999-09-07 Cisco Technology, Inc. Data transmission over the internet using a cache memory file system
US20030159004A1 (en) * 2000-07-19 2003-08-21 Rambus, Inc. Memory controller with power management logic

Also Published As

Publication number Publication date
US20060015689A1 (en) 2006-01-19
JP4302083B2 (en) 2009-07-22
JP2006031710A (en) 2006-02-02

Similar Documents

Publication Publication Date Title
CA1238984A (en) Cooperative memory hierarchy
US7827354B2 (en) Victim cache using direct intervention
US7266647B2 (en) List based method and apparatus for selective and rapid cache flushes
US20070136535A1 (en) System and Method for Reducing Unnecessary Cache Operations
US7305523B2 (en) Cache memory direct intervention
US6343344B1 (en) System bus directory snooping mechanism for read/castout (RCO) address transaction
US20070239938A1 (en) Area effective cache with pseudo associative memory
EP2866148B1 (en) Storage system having tag storage device with multiple tag entries associated with same data storage line for data recycling and related tag storage device
US7039768B2 (en) Cache predictor for simultaneous multi-threaded processor system supporting multiple transactions
JPH10293720A (en) Cache coherency mechanism in computer system, and method for changing coherency state of cache content about item held in main memory
US8473686B2 (en) Computer cache system with stratified replacement
US7093075B2 (en) Location-based placement algorithms for set associative cache memory
JP2008512758A (en) Virtual address cache and method for sharing data stored in virtual address cache
US20060015689A1 (en) Implementation and management of moveable buffers in cache system
US7865691B2 (en) Virtual address cache and method for sharing data using a unique task identifier
JPH08314802A (en) Cache system,cache memory address unit and method for operation of cache memory
JP3732397B2 (en) Cash system
US10565111B2 (en) Processor
US9053030B2 (en) Cache memory and control method thereof with cache hit rate
US6324617B1 (en) Method and system for communicating tags of data access target and castout victim in a single data transfer
US12468629B1 (en) Snoop filter sharer vector expansion
US20120102271A1 (en) Cache memory system and cache memory control method
JPH06195263A (en) Cache memory system
JPH0469748A (en) Logical cache memory

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BW BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE EG ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KM KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NA NG NI NO NZ OM PG PH PL PT RO RU SC SD SE SG SK SL SM SY TJ TM TN TR TT TZ UA UG US UZ VC VN YU ZA ZM ZW

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): GM KE LS MW MZ NA SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IS IT LT LU LV MC NL PL PT RO SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
NENP Non-entry into the national phase

Ref country code: DE

WWW Wipo information: withdrawn in national office

Country of ref document: DE

122 Ep: pct application non-entry in european phase