Jump to content

Abstract machine

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by 212.18.56.195 (talk) at 08:52, 7 March 2005 (See also). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

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

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.

More complex definitions create abstract machines with full instruction sets, registers and models of memory.

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.

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 an actual system to do it.

List of abstract machines

This article is based on material taken from the Free On-line Dictionary of Computing prior to 1 November 2008 and incorporated under the "relicensing" terms of the GFDL, version 1.3 or later.

See also