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

Data storage equipment
Scheduling
Computer hardware
Repair

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

Dynamic memory disambiguation using the memory conflict buffer. / Gallagher, David M.; Chen, William Y.; Mahlke, Scott A.; Gyllenhaal, John C.; Hwu, Wen-Mei W.

Proceedings of the 6th International Conference on Architectural Support for Programming Languages and Operating Systems, ASPLOS 1994. Association for Computing Machinery, 1994. p. 183-193 (International Conference on Architectural Support for Programming Languages and Operating Systems - ASPLOS; Vol. Part F129531).

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

Gallagher, DM, Chen, WY, Mahlke, SA, Gyllenhaal, JC & Hwu, W-MW 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. International Conference on Architectural Support for Programming Languages and Operating Systems - ASPLOS, vol. Part F129531, Association for Computing Machinery, pp. 183-193, 6th International Conference on Architectural Support for Programming Languages and Operating Systems, ASPLOS 1994, San Jose, United States, 10/4/94. https://doi.org/10.1145/195473.195534
Gallagher DM, Chen WY, Mahlke SA, Gyllenhaal JC, Hwu W-MW. 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. Association for Computing Machinery. 1994. p. 183-193. (International Conference on Architectural Support for Programming Languages and Operating Systems - ASPLOS). https://doi.org/10.1145/195473.195534
Gallagher, David M. ; Chen, William Y. ; Mahlke, Scott A. ; Gyllenhaal, John C. ; Hwu, Wen-Mei W. / Dynamic memory disambiguation using the memory conflict buffer. Proceedings of the 6th International Conference on Architectural Support for Programming Languages and Operating Systems, ASPLOS 1994. Association for Computing Machinery, 1994. pp. 183-193 (International Conference on Architectural Support for Programming Languages and Operating Systems - ASPLOS).
@inproceedings{8cf9aa9a94a744d085b10e8880b4c8c2,
title = "Dynamic memory disambiguation using the memory conflict buffer",
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.",
author = "Gallagher, {David M.} and Chen, {William Y.} and Mahlke, {Scott A.} and Gyllenhaal, {John C.} and Hwu, {Wen-Mei W}",
year = "1994",
month = "11",
day = "1",
doi = "10.1145/195473.195534",
language = "English (US)",
series = "International Conference on Architectural Support for Programming Languages and Operating Systems - ASPLOS",
publisher = "Association for Computing Machinery",
pages = "183--193",
booktitle = "Proceedings of the 6th International Conference on Architectural Support for Programming Languages and Operating Systems, ASPLOS 1994",

}

TY - GEN

T1 - Dynamic memory disambiguation using the memory conflict buffer

AU - Gallagher, David M.

AU - Chen, William Y.

AU - Mahlke, Scott A.

AU - Gyllenhaal, John C.

AU - Hwu, Wen-Mei W

PY - 1994/11/1

Y1 - 1994/11/1

N2 - 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.

AB - 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.

UR - http://www.scopus.com/inward/record.url?scp=84988787288&partnerID=8YFLogxK

UR - http://www.scopus.com/inward/citedby.url?scp=84988787288&partnerID=8YFLogxK

U2 - 10.1145/195473.195534

DO - 10.1145/195473.195534

M3 - Conference contribution

AN - SCOPUS:84988787288

T3 - International Conference on Architectural Support for Programming Languages and Operating Systems - ASPLOS

SP - 183

EP - 193

BT - Proceedings of the 6th International Conference on Architectural Support for Programming Languages and Operating Systems, ASPLOS 1994

PB - Association for Computing Machinery

ER -