摘要:Load scheduling and execution are performance critical aspects of dynamically-scheduled processing.Several techniques employ speculation on loads with respect to older stores to improve some aspect of loadprocessing. Speculative scheduling and speculative indexed store-load forwarding are two examples.Speculative actions require verification. One simple mechanism that can verify any load speculation isin-order re-execution prior to commit. The drawback of load re-execution is data cache bandwidth consump-tion. If a given technique requires a sufficient fraction of the loads to re-execute, the resulting contention canseverely compromise the intended benefit.Store Vulnerability Window (SVW) is an address-based filtering mechanism that significantly reducesthe number of loads that must re-execute to verify a given speculative technique. The high-level idea is that aload need not re-execute if the address it reads has not been written to in a long time. SVW realizes this ideausing a store sequence numbering scheme and an adaptation of Bloom filtering. An SVW implementationwith a 1KB filter can reduce re-executions by a factor of 200 and virtually eliminate the overhead of re-exe-cution based verification. The same SVW implementation can be used as a complete replacement for re-exe-cution with only 3% overhead