Skip to main content

An algebraic model of correctness for superscalar microprocessors

  • Conference paper
  • First Online:
Book cover Formal Methods in Computer-Aided Design (FMCAD 1996)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 1166))

Included in the following conference series:

Abstract

A set of algebraic tools are presented to model superscalar processors, where instructions may be executed in parallel, or out of program order. This has implications for the representation of timing abstraction, the relationship between time at different levels of abstraction, and the concept of the correctness of one representation with respect to another. We illustrate our tools with a simple, superscalar example, and present a one-step theorem for simplifying the formal verification of superscalar microprocessors.

Supported by EPSRC grant number 94007861.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. T Arora, T Leung, K Levitt, T Schubert, and P Windley. Report on the UCD microcoded viper verification project. In Higher-Order Logic Theorem Proving and its Applications, pages 239–252. Lecture Notes in Computer Science 780, Springer-Verlag, 1993.

    Google Scholar 

  2. G Birtwistle and B Graham. Verifying SECD in HOL. In J Staunstrup, editor, Formal Methods for VLSI Design, pages 129–177. North-Holland, 1990.

    Google Scholar 

  3. B Bose and S D Johnson. DDD-FM9001: Derivation of a verified microprocessor. In L Pierre G Milne, editor, Correct Hardware Design and Verification Methods, pages 191–202. Lecture Notes in Computer Science 683, Springer-Verlag, 1993.

    Google Scholar 

  4. A Cohn. A proof of correctness of the VIPER microprocessor: the first levels. In G Birtwistle and P A Subrahmanyam, editors, VLSI Specification, Verification and Synthesis, pages 27–72. Kluwer Academic Publishers, 1987.

    Google Scholar 

  5. W J Cullyer. Implementing safety critical systems: the viper microprocessor. In G Birtwistle and P A Subrahmanyam, editors, VLSI Specification, Verification, and Synthesis, pages 1–26. Kluwer Academic Publishers, 1987.

    Google Scholar 

  6. D Cyluk. Microprocessor verification in PVS. Technical report, SRI International Computer Science Laboratory Technical Report CSL-93-12, 1993.

    Google Scholar 

  7. A C J Fox and N A Harman. Algebraic models of correctness for microprocessors. Technical Report CSR 6-96, University of Wales Swansea, 1996.

    Google Scholar 

  8. A C J Fox and N A Harman. Algebraic models of microprocessors: Representation of advanced structures. Technical report, University of Wales Swansea, 1996.

    Google Scholar 

  9. M Gordon. Proving a computer correct with the LCF-LSM hardware verification system. Technical report, Technical Report No. 42, Computer Laboratory, University of Cambridge, 1983.

    Google Scholar 

  10. M J C Gordon and T Melham. Introduction to HOL. Cambridge University Press, 1993.

    Google Scholar 

  11. B Graham. The SECD Microprocessor: a Verification Case Study. Kluwer, 1992.

    Google Scholar 

  12. B Graham and G Birtwistle. Formalising the design of an SECD chip. In M Leeser and G Brown, editors, Hardware Specification, Verification and Synthesis: Mathematical Aspects, pages 40–66. Lecture Notes in Computer Science 408, Springer Verlag, 1990.

    Google Scholar 

  13. N A Harman and J V Tucker. Clocks, retimings, and the formal specification of a UART. In G J Milne, editor, The Fusion of Hardware Design and Verification, pages 375–396. North-Holland, 1988.

    Google Scholar 

  14. N A Harman and J V Tucker. Algebraic models and the correctness of microprocessors. In L Pierre G Milne, editor, Correct Hardware Design and Verification Methods. Lecture Notes in Computer Science 683, Springer-Verlag, 1993.

    Google Scholar 

  15. N A Harman and J V Tucker. Algebraic models of microprocessors: Architecture and organisation. Technical report, Acta Informatica vol. 33, in press (University of Wales, Swansea, Computer Science Report CSR 9-94), 1995.

    Google Scholar 

  16. N A Harman and J V Tucker. Algebraic models of microprocessors: the verification of a simple computer. Proceedings of the 2nd IMA Conference on Mathematics for Dependable Systems, to appear, 1995.

    Google Scholar 

  17. W Hunt. FM8501: A Verified Microprocessor. Lecture Notes on Artificial Intelligence 795, Springer Verlag, 1994.

    Google Scholar 

  18. W A Hunt. Microprocessor design verification. Journal of Automated Reasoning, 5(4):429–460, 1989.

    Google Scholar 

  19. J Joyce. Formal verification and implementation of a microprocessor. In G Birtwistle and P A Subrahmanyam, editors, VLSI Specification, Verification and Synthesis, pages 129–159. Kluwer Academic Publishers, 1987.

    Google Scholar 

  20. P Landin. On the mechanical evaluation of expressions. Computer Journal, 6:308–320, 1963.

    Google Scholar 

  21. C E Leiserson, F M Rose, and J B Saxe. Optimizing synchronous circuitry by retiming. In R Bryant, editor, Third Caltech Conference on VLSI, volume 1983, pages 87–116. Computer Science Press, 1803 Research Boulevard, Rockville MD 20850, 1983.

    Google Scholar 

  22. K Meinke and J V Tucker. Universal algebra. In T S E Maibaum S Abramsky, D Gabbay, editor, Handbook of Logic in Computer Science, pages 189–411. Oxford University Press, 1992.

    Google Scholar 

  23. T Melham. Using recursive types to reason about hardware in higher order logic. In G J Milne, editor, The Fusion of Hardware Design and Verification, pages 27–50. North-Holland, 1988.

    Google Scholar 

  24. T F Melham. Higher Order Logic and Hardware Verification. Cambridge University Press Tracts in Theoretical Computer Science 31, 1993.

    Google Scholar 

  25. S Miller and M Srivas. Formal verification of an avionics microprocessor. Technical report, SRI International Computer Science Laboratory Technical Report CSL-95-04, 1995.

    Google Scholar 

  26. S Miller and M Srivas. Formal verification of the AAMP5 microprocessor: a case study in the industrial use of formal methods. In Proceedings of WIFT 95, Boca Raton, 1995.

    Google Scholar 

  27. S Owre, J Rushby, N Shankar, and M Srivas. A tutorial on using PVS. In Proceedings of TPCD 94, pages 258–279. Lecture Notes in Computer Science 901, Springer-Verlag, 1994.

    Google Scholar 

  28. J E Smith and G S Sohi. The microarchitecture of superscalar processors. In Proceedings of the IEEE, volume 83, pages 1609–1624, December 1995.

    Google Scholar 

  29. V Stavridou. Formal Specification of Digital Systems. Cambridge University Press Tracts in Theoretical Computer Science 37, 1993.

    Google Scholar 

  30. S Tahar and R Kumar. Implementing a methodology for formally verifying RISC processors in HOL. In Higher-Order Logic Theorem Proving and its Applications, pages 281–294. Lecture Notes in Computer Science 780, Springer-Verlag, 1993.

    Google Scholar 

  31. R M Tomasulo. An efficient algorithm for exploiting multiple arithmetic units. IBM J. Res. Develop., pages 176–188, January 1967.

    Google Scholar 

  32. W Wechler. Universal Algebra for Computer Scientists. EATCS Monograph, Springer-Verlag, 1991.

    Google Scholar 

  33. P Windley. A theory of generic interpreters. In L Pierre G Milne, editor, Correct Hardware Design and Verification Methods, pages 122–134. Lecture Notes in Computer Science 683, Springer-Verlag, 1993.

    Google Scholar 

  34. P Windley and M Coe. A correctness model for pipelined microprocessors. In Proceedings of the 2nd Conference on Theorem Provers in Circuit Design, 1994.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Mandayam Srivas Albert Camilleri

Rights and permissions

Reprints and permissions

Copyright information

© 1996 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Fox, A.C.J., Harman, N.A. (1996). An algebraic model of correctness for superscalar microprocessors. In: Srivas, M., Camilleri, A. (eds) Formal Methods in Computer-Aided Design. FMCAD 1996. Lecture Notes in Computer Science, vol 1166. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0031820

Download citation

  • DOI: https://doi.org/10.1007/BFb0031820

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-61937-6

  • Online ISBN: 978-3-540-49567-3

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics