Skip to main content
Log in

Algebraic models of microprocessors architecture and organisation

  • Published:
Acta Informatica Aims and scope Submit manuscript

Abstract

We present an algebraic method for modeling microprocessors at different levels of abstraction, and for expressing the relationships between each level. We consider microprocessors at levels of abstraction determined by time and details of construction. The algebraic models isolate features of the scientific structure of microprocessor computation, providing: (i) a basis for modular decomposition of the description of microprocessors, including correctness criteria; and (ii) equational specification and verification techniques for the design of microprocessors relevant to a range of specification languages and theorem provers. Our specifications are iterated maps that decompose the modeling of the computer into easily understood, equationally specified stages, represented by algebras. We illustrate our algebraic tools with an example of a simple computer.

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

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. Anceau, F.: The Architecture of Microprocessors. New York: Addison-Wesley 1986

    Google Scholar 

  2. Barbacci, M.: An Introduction to ISPS In: Siewiorek, D.P., Bell, C.G., Newell, A. (eds.) Computer Structures: Principles and Examples, pp. 23–32. Tokyo, McGraw Hill 1982

    Google Scholar 

  3. Bell, C.G., Mudge, J.C., McNamara, J.E.: Computer Engineering: A DEC View of Hardware Systems Design. Belford, MA: Digital Press 1978

    Google Scholar 

  4. Birtwistle, G., Graham, B.: Verifying SECD in HOL. In: Staunstrup, J. (ed.) Formal Methods for VLSI Design, pp. 129–177. Amsterdam: North-Holland 1990.

    Google Scholar 

  5. Bose, B., Johnson, S.D.: DDD-FM9001: Derivation of a verified microprocessor In: Milne, G., Pierre, L. (eds.), Correct Hardware Design and Verification Methods, pp. 191–202. Lecture Notes in Computer Science 683. New York: Springer 1993

    Chapter  Google Scholar 

  6. Boyer, R.S., Moore, J.S.: A Computational Logic Handbook, New York: Academic Press 1988

    MATH  Google Scholar 

  7. Chazarain, J., Collavizza, H.: Combining symbolic evaluation and object-oriented approach for verifying processor-like architectures at the RT level. In: Milne, G., Pierre, L. (eds.) Correct Hardware Design and Verification Methods, pp. 109–121. Lecture Notes in Computer Science 683, New York: Springer 1993

    Chapter  Google Scholar 

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

    Google Scholar 

  9. Cohn, A., Gordon, M.: A mechanized proof of correctness of a simple counter. pp. 65–96. In: McEvoy, K., Tucker, J.V. (eds.), Theoretical Foundations for VLSI Design, Cambridge University Press Tracts in Theoretical Computer Science 10, 1990

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

    Google Scholar 

  11. Cullyer, W.J.: Application of formal methods to the VIPER microprocessor. IEE Proceedings, 134 E, 3, pp. 133–141 (1987)

    Google Scholar 

  12. Ehrig, H., Mahr, B.: Fundamentals of Algebraic Specification I: Equations and Initial Semantics, EATCS Monograph Vol. 6. Berlin: Springer 1985

    Google Scholar 

  13. Florentin, J.S.: Microprogrammed Systems Design. New York: Macmillan, 1991

    Google Scholar 

  14. Geser, A. A Specification of the Intel 8085 Microprocessor: A Case Study. In: Wirsing, M., Bergstra, J.A. (eds.) Algebraic Methods: Theory, Tools and Applications, Lecture Notes in Computer Science 394, pp. 347–402. Berlin: Springer 1989

    Chapter  Google Scholar 

  15. Goguen, J.A., Winkler, T.: Introducing OBJ3. Technical Report SRI-CSL-88-9, Computer Science Laboratory, SRI International, Menlo Park, CA, 1988

    Google Scholar 

  16. Gordon, M.: LCF-LSM, a system for specifying and verifying hardware. Technical Report No. 41, Computer Laboratory, University of Cambridge, 1983

  17. Gordon, M.: Proving a Computer Correct with the LCF-LSM Hardware Verification System. Technical Report No. 42, Computer Laboratory, University of Cambridge, 1983

  18. Gordon, M.: HOL: A proof generating system for higher-order logic. In: Birtwistle, G., Sub-rahmanyam, P.A. (eds.) VLSI Specification, Verification and Synthesis, pp. 73–128. Dordrecht: Kluwer Academic Publishers, 1987

    Google Scholar 

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

    MATH  Google Scholar 

  20. Graham, B., Birtwistle, G.: Formalising the design of an SECD chip. In: Leeser, M., Brown, G., (eds.) Hardware Specification, Verification and Synthesis: Mathematical Aspects, Lecture Notes in Computer Science 408, pp. 40–66. New York: Springer 1990

    Google Scholar 

  21. Hanna, K., Daeche, N.: Strongly-typed theory of structures and behaviours. In: Milne, G., Pierre, L., (eds.), Correct Hardware Design and Verification Methods, Lecture Notes in Computer Science 683, pp. 39–54. New York: Springer 1993

    Chapter  Google Scholar 

  22. Harman, N.A.: Formal specifications for digital systems. Ph.D. Thesis, School of Computer Studies, University of Leeds, 1989

  23. Harman, N.A., Tucker, J.V.: Clocks, retimings, and the formal specification of a UART. In: Milne, G.J. (ed.), The Fusion of Hardware Design and Verification, pp. 375–396. Amsterdam: North-Holland, 1988

    Google Scholar 

  24. Harman, N.A., Tucker, J.V.: Formal specification and the design of verifiable computers. In: Proceedings of the 1988 UK IT Conference, pp. 500–503, University College Swansea, IEE, 1988

  25. Harman, N.A., Tucker, J.V.: The formal specification of a digital correlator I: Abstract user specification. Theoretical Foundations for VLSI Design, In: McEvoy, K., Tucker, J.V. (eds.), Cambridge University Press Tracts in Theoretical Computer Science 10, pp. 161–262 (1990)

  26. Harman, N.A., Tucker, J.V.: Consistent refinements of specifications for digital systems. In: Prinetto, P., Camurati, P. (eds.), Correct Hardware Design Methodologies, pp. 273–295. Amsterdam: North-Holland 1992

    Google Scholar 

  27. Harman, N.A., Tucker, J.V.: Specification, design and verification of a simple computer. To appear in proceedings of 2nd Institute of Mathematics and its Applications Conference on Mathematics for Dependable Systems, Oxford University press, in press

  28. Harman, N.A., Tucker, J.V.: A model of timing abstraction for synchronous digital hardware. In preparation (1994)

  29. Hunt, W.A.: FM8501: A Verified Microprocessor, The University of Texas at Austin Institute for Computing Science technical report 47, 1986

  30. Hunt, W.A.: Microprocessor design verification. J. Automated Reasoning, 5 (4), pp. 429–460 (1989)

    Article  Google Scholar 

  31. Hunt, W., A formal, HDL and its use in the FM9001 verification. In: Hoare, C.A.R., Gordon, M. (eds.), Mechanized Reasoning in Hardware Design, Englewood Cliffs, NJ: Prentice-Hall 1992

    Google Scholar 

  32. Hunt, W.: FM8501: A Verified Microprocessor, Lecture Notes in Artificial Intelligence 795, New York: Springer 1994

    Google Scholar 

  33. Johnson, S.D., Zhu, Z.: An algebraic approach to hardware specification and derivation. In: Claesen, L. (eds), Applied Formal Methods for Correct VLSI Design, Amsterdam: Elsevier 1991

    Google Scholar 

  34. Joyce, J.: Formal verification and implementation of a microprocessor. In: Birtwistle, G., Sub-rahmanyam, P.A. (eds.), VLSI Specification, Verification and Synthesis, pp. 129–159. Dordrecht: Kluwer Academic Publishers, 1987

    Google Scholar 

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

    Google Scholar 

  36. May, D., Barrett, G., Shepard, D.: Designing chips that work. Philos. Trans. Royal Soc. A 339, 3–19 1992

    Article  Google Scholar 

  37. McEvoy, K., Tucker, J.V.: On theoretical foundations for hardware design. Theoretical Foundations for VLSI Design, In: McEvoy, K., Tucker, J.V. (eds.), pp. 1–64. Cambridge University Press Tracts in Theoretical Computer Science 10 (1990)

  38. Meinke, K., Tucker, J.V.: Universal Algebra. In: Abramsky, S., Gabbay, D., Maibaum, T.S.E. (eds.), Handbook of Logic in Computer Science, pp. 189–411. Oxford: Oxford University Press 1992

    Google Scholar 

  39. Melham T.: Using recursive types to reason about hardware in higher order logic. In: Milne, G.J. (ed.), The Fusion of Hardware Design and Verification, pp. 27–50. Amsterdam: North-Holland 1988

    Google Scholar 

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

  41. Milne, G.J.: Timing constraints: Formalising their description and verification. In: Proc. Computer Hardware Description Languages and their Applications, Amsterdam: North-Holland 1989

    Google Scholar 

  42. Milne, G.J.: The formal description and verification of hardware timing. University of Strathclyde Computer Science Report HDV-8-90, 1990

  43. Roscoe, W.: Occam in the specification and verification of microprocessors. Philos. Trans. Royal Soc. A 339, 137–151 (1992)

    Article  Google Scholar 

  44. Stallings, W.: Computer Organisation and Architecture: Principles of Function and Structure. New York: Macmillan 1987

    Google Scholar 

  45. Stavridou, V: Formal Specification of Digital Systems, Cambridge University Press Tracts in Theoretical Computer Science 37 (1993)

  46. Subrahmanyam, P.A.: Contextual constraints, temporal abstraction and observational equivalence in VLSI Design. In: Milne, G.J. (ed.), The Fusion of Hardware Design and Verification, pp. 159–184. Amsterdam: North-Holland 1988

    Google Scholar 

  47. Thompson, B.C., Tucker, J.V.: Equational specification of synchronous concurrent algebras and architectures. Department of Computer Science CSR 9.91, University College Swansea, 1991

  48. Tucker, J.V.: Theorey of computation and specification over abstract data types and its applications. In: Bauer, F.L. (ed.), Logic Algebra and Computation, pp. 1–40. Berlin: Springer 1991

    Google Scholar 

  49. Tucker, J.V., Zucker, J.I.: Program Correctness over Abstract Data Types with Error State Semantics. Amsterdam: North-Holland 1988

    MATH  Google Scholar 

  50. Tucker, J.V., Zucker, J.I.: Generalised computability and algebraic specifications for abstract data types. In preparation (1999)

  51. Wechler, W.: Universal algebra for computer scientists. EATCS Monograph, Berlin: Springer 1991

    Google Scholar 

  52. Weijland, W.P.: Verification of a systolic algorithm in process algebra. Theoretical Foundations for VLSI Design, In: McEvoy, K., Tucker, J.V. (eds.), Cambridge University Press Tracts in Theoretical Computer Science 10 (1990)

  53. Windley, P.: A theorey of generic intepreters. In: Milne, G., Pierre, L. (eds.), Correct Hardware Design and Verification Methods, pp. 122–134. Lecture Notes in Computer Science 683, Berlin: Springer 1993

    Chapter  Google Scholar 

  54. Wirsing, M.: Algebraic specification. In: van Leeuwen, J. (ed.), Handbook of Theoretical Computer Science, Volume B: Formal Models and semantics, pp. 675–788. Amsterdam: Elsevier 1990

    Google Scholar 

  55. Zhu, A., Johnson, S.D.: An example of interactive hardware transformation. Indiana University, Computer Science Department (draft), 1991

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

About this article

Cite this article

Harman, N.A., Tucker, J.V. Algebraic models of microprocessors architecture and organisation. Acta Informatica 33, 421–456 (1996). https://doi.org/10.1007/s002360050051

Download citation

  • Received:

  • Issue Date:

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

Keywords

Navigation