Silent stores for free
Kevin M. Lepak, Mikko H. Lipasti · 2000
Silent store instructions write values that exactly match the values that are already stored at the memory address that is being written.A recent study reveals that significant benefits can be gained by detecting and removing such stores from a program's execution.This paper studies the problem of detecting silent stores and shows that an average of 31% and 50% of silent stores can be detected for very low implementation cost, by exploiting temporal and spatial locality in a processor's load and store queues.We also show that over 83% of all silent stores can be detected using idle cache read access ports.Furthermore, we show that processors that use standard error-correction codes to protect data caches from transient errors can be modified only slightly to detect 100% of silent stores that hit in the cache.Finally, we show that silent store detection via these methods can result in a 11% harmonic mean performance improvement in a two-level store-through on-chip cache hierarchy that is based on a real microprocessor design.