Abstract
In highly pipelined machines, instructions and data are prefetched and buffered in both the processor and the cache. This is done to reduce the average memory access latency and to take advantage of memory interleaving. Lockup-free caches are designed to avoid processor blocking on a cache miss. Write buffers are often included in a pipelined machine to avoid processor waiting on writes. In a shared-memory multiprocessor, there are more advantages in buffering memory requests, since each memory access has to traverse the memory processor interconnection and has to compete with memory requests issued by different processors. Buffering, however, can cause logical problems in multiprocessors. These problems are aggravated if each processor has a private memory in which shared writable data may be present, such as in a cache-based system or in a system with a distributed global memory. The benefits and problems associated with the buffering of memory requests in shared-memory multiprocessors are analyzed. It is shown that the logical problem of buffering is directly related to the problem of synchronization. A simple model is presented to evaluate the performance improvement resulting from buffering.
Cite
CITATION STYLE
Dubois, M., Scheurich, C., & Briggs, F. (1986). MEMORY ACCESS BUFFERING IN MULTIPROCESSORS. In Conference Proceedings - Annual Symposium on Computer Architecture (pp. 434–442). IEEE. https://doi.org/10.1145/17356.17406
Register to see more suggestions
Mendeley helps you to discover research relevant for your work.