Dynamic speculation and synchronization of data dependences

  • Authors:
  • Andreas Moshovos;Scott E. Breach;T. N. Vijaykumar;Gurindar S. Sohi

  • Affiliations:
  • Computer Sciences Department, University of Wisconsin-Madison, 1210 West Dayton St., Madison, WI;Computer Sciences Department, University of Wisconsin-Madison, 1210 West Dayton St., Madison, WI;Computer Sciences Department, University of Wisconsin-Madison, 1210 West Dayton St., Madison, WI;Computer Sciences Department, University of Wisconsin-Madison, 1210 West Dayton St., Madison, WI

  • Venue:
  • Proceedings of the 24th annual international symposium on Computer architecture
  • Year:
  • 1997

Quantified Score

Hi-index 0.02

Visualization

Abstract

Data dependence speculation is used in instruction-level parallel (ILP) processors to allow early execution of an instruction before a logically preceding instruction on which it may be data dependent. If the instruction is independent, data dependence speculation succeeds; if not, it fails, and the two instructions must be synchronized. The modern dynamically scheduled processors that use data dependence speculation do so blindly (i.e., every load instruction with unresolved dependences is speculated). In this paper, we demonstrate that as dynamic instruction windows get larger, significant performance benefits can result when intelligent decisions about data dependence speculation are made. We propose dynamic data dependence speculation techniques: (i) to predict if the execution of an instruction is likely to result in a data dependence mis-specalation, and (ii) to provide the synchronization needed to avoid a mis-speculation. Experimental results evaluating the effectiveness of the proposed techniques are presented within the context of a Multiscalar processor.