Arithmetic Data Value Speculation

  • Daniel R. Kelly
  • Braden J. Phillips
Part of the Lecture Notes in Computer Science book series (LNCS, volume 3740)


Value speculation is currently widely used in processor designs to increase the overall number of instructions executed per cycle (IPC). Current methods use sophisticated prediction techniques to speculate on the outcome of branches and execute code accordingly. Speculation can be extended to the approximation of arithmetic values. As arithmetic operations are slow to complete in pipelined execution an increase in overall IPC is possible through accurate arithmetic data value speculation. This paper will focus on integer adder units for the purposes of demonstrating arithmetic data value speculation.


Arithmetic Unit Subtraction Operation Speculative Execution Branch Prediction Spec Benchmark 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Gonzalez, J., Gonzalez, A.: Data value speculation in superscalar processors. Microprocessors-and-Microsystems 22(6), 293–301 (1998)CrossRefGoogle Scholar
  2. 2.
    Li, A.: An empirical study of the longest carry length in real programs. Master’s thesis, Department of Computer Science, Princeton University (May 2002)Google Scholar
  3. 3.
    Koes, D., Chelcea, T., Oneyama, C., Goldstein, S.C.: Adding faster with application specific early termination. School of Computer Science, Carnegie Mellon University, Pittsburgh, USA (January 2005)Google Scholar
  4. 4.
    Nowick, S.M., Yun, K.Y., Beerel, P.A., Dooply, A.E.: Speculative completion for the design of high performance asynchronous dynamic adders. In: International Symposium on Advance Research in Asynchronous Circuits and Systems, Eindhoven, The Netherlands, pp. 210–223. IEEE Comput. Soc. Press, Los Alamitos (1997)CrossRefGoogle Scholar
  5. 5.
    Lu, S.-L.: Speeding up processing with approximation circuits. Computer 37(3), 67–73 (2004)CrossRefGoogle Scholar
  6. 6.
    Burks, A.W., Goldstein, H.H., von Neumann, J.: Preliminiary discussion of the design of an electronic computing instrument. In: Inst. Advanced Study, Princeton, N.J (June 1946)Google Scholar
  7. 7.
    Briley, B.E.: Some new results on average worst case carry. IEEE Transactions On Computers C-22(5), 459–463 (1973)zbMATHCrossRefGoogle Scholar
  8. 8.
    Liu, T., Lu, S.-L.: Performance improvement with circuit level speculation. In: Proceedings of the 33rd Annual International Symposium on Microarchitecture, pp. 348–355. IEEE, Los Alamitos (2000)Google Scholar
  9. 9.
    Parhami, B.: Computer Arithmetic: Algorithms and Hardware Designs. Oxford University Press, New York (2000)Google Scholar
  10. 10.
    Pippenger, N.: Analysis of carry propagation in addition: an elementary approach. Journal of Algorithms 42(2), 317–333 (2002)zbMATHCrossRefMathSciNetGoogle Scholar
  11. 11.
    Wall, D.W.: Limits of instruction-level parallelism. In: International Conference on Architectural Support for Programming Languages and Operating Systems - ASPLOS, vol. 26(4), pp. 176–188 (1991)Google Scholar
  12. 12.
    Hennessey, J.L., Patterson, D.A.: Computer Architecture: A Quantitative Approach. Morgan Kauffman Publishers, San Francisco (2003)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2005

Authors and Affiliations

  • Daniel R. Kelly
    • 1
  • Braden J. Phillips
    • 1
  1. 1.Centre for High Performance Integrated Technologies and Systems (CHiPTec), School of Electrical and Electronic EngineeringThe University of AdelaideAdelaideAustralia

Personalised recommendations