Memory address prediction for data speculation
Data speculation refers to the execution of an instruction before some logically preceding instructions on which it is data dependent. Data speculation implies some form of prediction of the data required by the speculative executed instruction and a recovering mechanism in case of misspeculation. This paper shows that load/store instructions are very good candidates for speculative execution since their effective address is highly predictable. We propose a novel technique called Memory Address Prediction (MAP) that implements speculative execution of load/store instructions in an out-of-order processor. The cost of this mechanism is mainly the addition of an address prediction table since the misprediction recovery hardware is already present in many current microprocessors for other purposes. The mechanism is evaluated for the SPEC95 benchmark suite showing significant performance gains.
Unable to display preview. Download preview PDF.
- 1.T.M. Austin, G.S. Sohi Zero-Cycle Loads: Microarchitecture Support for Reducing Load Latency. Proc. of Int. Symp. on Microarchitecture, pp 82–92, 1995.Google Scholar
- 2.T-F. Chen and J-L. Baer: A Performance Study of Software and Hardware Data Prefetching Schemes Proc of the Int. Symp. Computer Architecture, pp. 223–232, 1994.Google Scholar
- 3.R.J. Eickemeyer and S. Vassiliadis: A Load Instruction Unit for Pipelined Processors. IBM Journal of Research and Developement, 37(4), pp. 547–564, July 1993Google Scholar
- 4.M. Franklin and G.S. Sohi: ARB: A Hardware Mechanims for Dynamic Reordering of Memory References IEEE Transactions on Computers, 45(6), pp. 552–571, May 1996.Google Scholar
- 5.M.Golden and T.N. Mudge:Hardware Support for Hiding Cache Latency. Technical Report #CSE-TR-152.93. University of Michigan, 1993.Google Scholar
- 6.J.L Hennessy and D.A. Patterson: Computer Architecture. A Quantitative Approach. Second Edition. Morgan Kaufmann Publishers, San Francisco 1996.Google Scholar
- 7.D. Hunt: Advanced Performance Features of the 64-bit PA-8000 Proc. of the CompCon'95, pp. 123–128, 1995.Google Scholar
- 8.D. Kroft: Lockup-free Instruction Fetch/Prefetch Cache Organization Proc. of the Int. Symp. on Computer Architecture, pp. 81–87, May 1981.Google Scholar
- 9.M.H. Lipasti, C.B. Wilkerson and J.P. Shen: Value Locality and Load Value Prediction Proc. of the 7th. ACM Conf. on Architectural Support for Programming Languages and Operating Systems, Oct. 1996.Google Scholar
- 10.M.H. Lipasti and J.P. Shen: Exceeding the Dataflow Limit via Value Prediction. Proc. of Int. Symp. on Microarchitecture, 1996Google Scholar
- 11.Y. Sazeides, S. Vassiliadis and J.E. Smith: The Performance Potential of Data Dependence Speculation & Collapsing. Proc. of Int. Symp. on Microarchitecture, December 1996.Google Scholar
- 12.A. Srivastava and A. Eustace: ATOM: A system for building customized program analysis tools Proc of the 1994 Conf. on Programming Languages Design and Implementation, 1994.Google Scholar