Trisha Shetty (Editor)

Abstract machine

Updated on
Edit
Like
Comment
Share on FacebookTweet on TwitterShare on LinkedInShare on Reddit

An abstract machine, also called an abstract computer, is a theoretical model of a computer hardware or software system used in automata theory. Abstraction of computing processes is used in both the computer science and computer engineering disciplines and usually assumes a discrete time paradigm.

Contents

Information

In the theory of computation, abstract machines are often used in thought experiments regarding computability or to analyze the complexity of algorithms (see computational complexity theory). A typical abstract machine consists of a definition in terms of input, output, and the set of allowable operations used to turn the former into the latter. The best-known example is the Turing machine.

Abstract data types can be specified in terms of their operational semantics on an abstract machine. For example, a stack can be specified in terms of operations on an abstract machine with an array of memory. Through the use of abstract machines it is possible to compute the amount of resources (time, memory, etc.) necessary to perform a particular operation without having to construct a physical system.

More complex definitions create abstract machines with full instruction sets, registers and models of memory. One popular model more similar to real modern machines is the RAM model, which allows random access to indexed memory locations. As the performance difference between different levels of cache memory grows, cache-sensitive models such as the external-memory model and cache-oblivious model are growing in importance.

An abstract machine can also refer to a microprocessor design which has yet to be (or is not intended to be) implemented as hardware. An abstract machine implemented as a software simulation, or for which an interpreter exists, is called a virtual machine.

Other abstract machines

  • Abstract Machine Notation
  • Categorical Abstract Machine Language
  • Finite automata
  • Specification and Design Language
  • Historical/Simplicity Abstract Machines for Prolog:
  • Vienna Abstract Machine (VAM Prolog)
  • Warren Abstract Machine (WAM Prolog)
  • Berkeley Abstract Machine (BAM Prolog).
  • MMIX
  • MikroSim
  • SECD abstract machine
  • Ten15 and TenDRA Distribution Format
  • Parallel:
  • Flynn's taxonomy at the conceptual level
  • Parallel random-access machine, the de facto standard model.
  • References

    Abstract machine Wikipedia


    Similar Topics