The Intel NetBurst™ microarchitecture includes a first-level write-through data cache and a second-level unified cache on the processor. Intel Xeon processors MP also include a third-level unified cache and feature Hyper-Threading Technology. This cache, together with the off-processor main memory, form a memory hierarchy. For additional information on caches on Intel Xeon processors MP, see
Effects of Shared Cache on Hyper-Threading Technology Enabled Processors, by Phil Kerley.
Data is read from the first-level cache – the fastest cache – if at all possible. If the data is not in that level, the processor attempts to read it from the next level out, and so on. When data is written, if the first-level cache contains the cache line being addressed, the data is written there as well as being "written through" to the second-level cache. If the cache line is not in the first-level cache, the write goes to the second-level cache but not the first level. In either case, a data store operation places data into a "store buffer". If a store buffer is not available, the processor must wait ("stall") until one becomes available.
There are also a limited number of write combining store buffers, each holding a 64-byte cache line. If a store goes to an address within one of the cache lines of a write combining store buffer, the data can often be quickly transferred to and combined with the data in the write combining store buffer, completing the store operation much faster than writing to the second-level cache. This leaves the store buffer free to be re-used sooner, minimizing the likelihood of entering a state where all the store buffers are full and the processor must stall to wait for a store buffer to become available.
We invite you to
post a comment (not monitored by customer support) on this page or
send a question directly to our support team.