Dynamic memory disambiguation using the memory conflict buffer

David M. Gallagher, William Y. Chen, Scott A. Mahlke, John C. Gyllenhaal, Wen-mei W. Hwu
1994 ACM SIGOPS Operating Systems Review  
To exploit instruction level parallelism, compilers for VLIW and superscalar processors often employ static code scheduling. However, the available code reordering may be severely restricted due to ambiguous dependences between memory instructions. This paper introduces a simple hardware mechanism, referred to as the memory con ict bu er, which facilitates static code scheduling in the presence of memory store load dependences. Correct program execution is ensured by the memory con ict bu er
more » ... repair code provided by the compiler. With this addition, signi cant speedup over an aggressive c o d e s c heduling model can be achieved for both non-numerical and numerical programs.
doi:10.1145/381792.195534 fatcat:evc3zb2djfey5mzhxr6eehvrdq