Making abstract machines less abstract

Research output: Chapter in Book/Report/Conference proceedingConference contribution

10 Scopus citations

Abstract

We consider a class of abstract machines used for specifying the evaluation of intermediate-level programming languages, and demonstrate how various abstract aspects of these machines can be made concrete, providing for their direct implementation in a low-level microcoded architecture. We introduce the concept of stored programs and data to abstract machines. We demonstrate how machines that dynamically manipulate programs with abstract operations can be translated into machines that only need to read instructions from a fixed program. We show how familiar architectural features, such as a program counter, instruction register and a display can all be introduced very naturally into an abstract machine architecture once programs are represented as objects stored in memory. This translation lowers the level of the abstract machine, making it less abstract or, equivalently, more concrete. The resulting machines bear a close resemblance to a microcoded architecture in which the abstract machine instructions are defined in terms of a small set of micro-instructions that manipulate registers and memory. This work provides a further basis for the formal construction and implementation of abstract machines used for implementing programming languages. We demonstrate our results on an abstract machine that is a slight variant of the Categorical Abstract Machine.

Original languageEnglish (US)
Title of host publicationFunctional Programming Languages and Computer Architecture - 5th ACM Conference, Proceedings
EditorsJohn Hughes
PublisherSpringer Verlag
Pages618-635
Number of pages18
ISBN (Print)9783540475996
DOIs
Publication statusPublished - Jan 1 1991
Event5th Conference on Functional Programming Languages and Computer Architecture, 1991 - Cambridge, United States
Duration: Aug 26 1991Aug 30 1991

Publication series

NameLecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
Volume523 LNCS
ISSN (Print)0302-9743
ISSN (Electronic)1611-3349

Other

Other5th Conference on Functional Programming Languages and Computer Architecture, 1991
CountryUnited States
CityCambridge
Period8/26/918/30/91

    Fingerprint

All Science Journal Classification (ASJC) codes

  • Theoretical Computer Science
  • Computer Science(all)

Cite this

Hannan, J. J. (1991). Making abstract machines less abstract. In J. Hughes (Ed.), Functional Programming Languages and Computer Architecture - 5th ACM Conference, Proceedings (pp. 618-635). (Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics); Vol. 523 LNCS). Springer Verlag. https://doi.org/10.1007/3540543961_29