System and method for cache external writing and write shadowing
AssigneeFreescale Semiconductor, Inc.
InventorsMichael D. Snyder, Magnus K. Bruce, Jamshed Jalal, Thomas A Hoy
Life of this patent
Estimating the term…
Abstract
A system (10) uses shared resources (44, 54) to perform conventional load/store operations, to preload custom data from external sources, and to efficiently manage error handling in a cache (42, 52, 48). A reload buffer (44, 54) is used in conjunction with a cache (42, 52) operating in a write-through mode to permit lower level memory in the system to operate in a more efficient write-back mode. A control signal (70) selectively enables the pushing of data into the cache (42, 52, 48) from an external source. The control signal utilizes one or more attribute fields that provide functional information and define memory characteristics.
Claims33
A system for cache external writing, having a system interconnect for communication among multiple devices coupled to the system interconnect, the devices operative to modify storage locations, comprising:
- a system memory coupled to the system interconnect;
- a cache memory coupled to the system interconnect, the cache memory having a unique identifier and operative to contain data corresponding to locations in the system memory;
- write enable logic coupled to the system interconnect, the write enable logic operative to detect a communication signal according to the unique identifier;
- and
- a communication signal generated by one of the multiple devices connected to the system interconnect and received by the write enable logic, the communication signal operative to communicate to the cache memory when writes to the system memory should be written to the cache memory.
A method for cache external writing among multiple devices coupled to a system interconnect, the devices operative to modify storage locations, comprising the steps of:
- providing a system memory coupled to the system interconnect;
- providing a cache memory coupled to the system interconnect, the cache memory having a unique identifier and operative to contain data corresponding to locations in the system memory;
- and
- transmitting a communication signal from one of the multiple devices connected to the system interconnect, the communication signal to communicate to the cache memory when writes to the system memory should be written to the cache memory.
A system for write shadowing in a cache memory system, comprising:
- an instruction sequencer operative to fetch instructions;
- and
- a load/store unit coupled to the instruction sequencer, the load/store unit operative to read and write data to and from a cache memory system according to the fetched instructions;
- wherein the cache memory system comprises a data cache and a data cache reload buffer, the data cache operative to allocate an entry in the data cache reload buffer for both store instruction hits and misses in the data cache.
A method for write shadowing in a data cache and data cache reload buffer system, the data cache having at least one block having a predefined block size, the reload buffer operative to fetch blocks of data for allocation into the data cache, comprising the steps of:
- generating a store request to the data cache;
- updating the data cache with data upon a cache hit in response to the store request while leaving the state of the data cache unchanged;
- allocating a new entry in the data cache reload buffer upon a miss in the data cache reload buffer;
- filling the data cache reload buffer with data for a block of data associated with the store request but not provided by the store request;
- and
- writing the block of data in the reload buffer to other caches and system memory.
A method for write shadowing in a data cache and data cache reload buffer system, the data cache having at least one block having a predefined block size, the reload buffer operative to fetch blocks of data for allocation into the data cache, comprising the steps of:
- generating a store request to the data cache;
- leaving the state of the data cache unchanged upon a data cache miss in response to the store request;
- allocating a new entry in the data cache reload buffer upon a miss in the data cache reload buffer;
- filling the data cache reload buffer with data for a block of data associated with the store request but not provided by the store request;
- allocating the block of data in the reload buffer to the data cache;
- and
- writing the block of data in the reload buffer to other caches and system memory.
A method for write shadowing in a data cache and data cache reload buffer system, the data cache having at least one block having a predefined block size, the reload buffer operative to fetch blocks of data for allocation into the data cache, comprising the steps of:
- generating a store request to the data cache;
- updating the data cache with data upon a cache hit in response to the store request while leaving the state of the data cache unchanged;
- updating data in a pre-existing entry in the data cache reload buffer upon a hit in the data cache reload buffer;
- filling the data cache reload buffer with data for a block of data associated with the store request but not provided by the store request;
- and
- writing the block of data in the reload buffer to other caches and system memory.
A method for write shadowing in a data cache and data cache reload buffer system, the data cache having at least one block having a predefined block size, the reload buffer operative to fetch blocks of data for allocation into the data cache, comprising the steps of:
- generating a store request to the data cache;
- leaving the state of the data cache unchanged upon a data cache miss in response to the store request;
- updating data in a pre-existing entry in the data cache reload buffer upon a hit in the data cache reload buffer;
- filling the data cache reload buffer with data for a block of data associated with the store request but not provided by the store request;
- allocating the block of data in the reload buffer to the data cache;
- and
- writing the block of data in the reload buffer to other caches and system memory.
Dependencies are inferred from the claim text.