C.3.1 Store Buffers

One way to prevent this unnecessary stalling of writes is to add ``store buffers'' between each CPU and its cache, as shown in Figure [*]. With the addition of these store buffers, CPU 0 can simply record its write in its store buffer and continue executing. When the cache line does finally make its way from CPU 1 to CPU 0, the data will be moved from the store buffer to the cache line.

Figure: Caches With Store Buffers
\resizebox{3in}{!}{\includegraphics{appendix/whymb/cacheSB}}

However, there are complications that must be addressed, which are covered in the next two sections.



Paul E. McKenney 2011-12-16