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.
Similar content being viewed by others
References
Anceau, F.: The Architecture of Microprocessors. New York: Addison-Wesley 1986
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
Bell, C.G., Mudge, J.C., McNamara, J.E.: Computer Engineering: A DEC View of Hardware Systems Design. Belford, MA: Digital Press 1978
Birtwistle, G., Graham, B.: Verifying SECD in HOL. In: Staunstrup, J. (ed.) Formal Methods for VLSI Design, pp. 129–177. Amsterdam: North-Holland 1990.
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
Boyer, R.S., Moore, J.S.: A Computational Logic Handbook, New York: Academic Press 1988
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
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
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
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
Cullyer, W.J.: Application of formal methods to the VIPER microprocessor. IEE Proceedings, 134 E, 3, pp. 133–141 (1987)
Ehrig, H., Mahr, B.: Fundamentals of Algebraic Specification I: Equations and Initial Semantics, EATCS Monograph Vol. 6. Berlin: Springer 1985
Florentin, J.S.: Microprogrammed Systems Design. New York: Macmillan, 1991
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
Goguen, J.A., Winkler, T.: Introducing OBJ3. Technical Report SRI-CSL-88-9, Computer Science Laboratory, SRI International, Menlo Park, CA, 1988
Gordon, M.: LCF-LSM, a system for specifying and verifying hardware. Technical Report No. 41, Computer Laboratory, University of Cambridge, 1983
Gordon, M.: Proving a Computer Correct with the LCF-LSM Hardware Verification System. Technical Report No. 42, Computer Laboratory, University of Cambridge, 1983
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
Graham, B.: The SECD Microprocessor: a Verification Case Study. Dordrecht: Kluwer, 1992
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
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
Harman, N.A.: Formal specifications for digital systems. Ph.D. Thesis, School of Computer Studies, University of Leeds, 1989
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
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
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)
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
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
Harman, N.A., Tucker, J.V.: A model of timing abstraction for synchronous digital hardware. In preparation (1994)
Hunt, W.A.: FM8501: A Verified Microprocessor, The University of Texas at Austin Institute for Computing Science technical report 47, 1986
Hunt, W.A.: Microprocessor design verification. J. Automated Reasoning, 5 (4), pp. 429–460 (1989)
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
Hunt, W.: FM8501: A Verified Microprocessor, Lecture Notes in Artificial Intelligence 795, New York: Springer 1994
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
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
Landin, P.: On the mechanical evaluation of expressions. Computer J., 6, 308–320 1963
May, D., Barrett, G., Shepard, D.: Designing chips that work. Philos. Trans. Royal Soc. A 339, 3–19 1992
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)
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
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
Melham, T.F.: Higher Order Logic and Hardware Verification. Cambridge University Press Tracts in Theoretical Computer Science 31 (1993)
Milne, G.J.: Timing constraints: Formalising their description and verification. In: Proc. Computer Hardware Description Languages and their Applications, Amsterdam: North-Holland 1989
Milne, G.J.: The formal description and verification of hardware timing. University of Strathclyde Computer Science Report HDV-8-90, 1990
Roscoe, W.: Occam in the specification and verification of microprocessors. Philos. Trans. Royal Soc. A 339, 137–151 (1992)
Stallings, W.: Computer Organisation and Architecture: Principles of Function and Structure. New York: Macmillan 1987
Stavridou, V: Formal Specification of Digital Systems, Cambridge University Press Tracts in Theoretical Computer Science 37 (1993)
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
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
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
Tucker, J.V., Zucker, J.I.: Program Correctness over Abstract Data Types with Error State Semantics. Amsterdam: North-Holland 1988
Tucker, J.V., Zucker, J.I.: Generalised computability and algebraic specifications for abstract data types. In preparation (1999)
Wechler, W.: Universal algebra for computer scientists. EATCS Monograph, Berlin: Springer 1991
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)
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
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
Zhu, A., Johnson, S.D.: An example of interactive hardware transformation. Indiana University, Computer Science Department (draft), 1991
Author information
Authors and Affiliations
Rights 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
Received:
Issue Date:
DOI: https://doi.org/10.1007/s002360050051