Dynamic memory disambiguation using the memory conflict buffer

David M. Gallagher, William Y. Chen, Scott A. Mahlke, John C. Gyllenhaal, Wen-Mei W Hwu

Research output: Chapter in Book/Report/Conference proceedingConference contribution

Abstract

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 dependence between memory instructions. This paper introduces a simple hardware mechanism, referred to as the memory conj7ict buffer, which facilitates static code scheduling in the presence of memory storelload dependence. Correct program execution is ensured by the memory conflict buffer and repair code provided by the compiler. With this addition, significant speedup over an aggressive code scheduling model can be achieved for both non-numerical and numerical programs.

Original languageEnglish (US)
Title of host publicationProceedings of the 6th International Conference on Architectural Support for Programming Languages and Operating Systems, ASPLOS 1994
PublisherAssociation for Computing Machinery
Pages183-193
Number of pages11
ISBN (Electronic)0897916603
DOIs
StatePublished - Nov 1 1994
Event6th International Conference on Architectural Support for Programming Languages and Operating Systems, ASPLOS 1994 - San Jose, United States
Duration: Oct 4 1994Oct 7 1994

Publication series

NameInternational Conference on Architectural Support for Programming Languages and Operating Systems - ASPLOS
VolumePart F129531

Other

Other6th International Conference on Architectural Support for Programming Languages and Operating Systems, ASPLOS 1994
CountryUnited States
CitySan Jose
Period10/4/9410/7/94

    Fingerprint

ASJC Scopus subject areas

  • Software
  • Information Systems
  • Hardware and Architecture

Cite this

Gallagher, D. M., Chen, W. Y., Mahlke, S. A., Gyllenhaal, J. C., & Hwu, W-M. W. (1994). Dynamic memory disambiguation using the memory conflict buffer. In Proceedings of the 6th International Conference on Architectural Support for Programming Languages and Operating Systems, ASPLOS 1994 (pp. 183-193). (International Conference on Architectural Support for Programming Languages and Operating Systems - ASPLOS; Vol. Part F129531). Association for Computing Machinery. https://doi.org/10.1145/195473.195534