 | Abstract machine: Encyclopedia - Abstract machine
Abstract machine
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 and usually assumes discrete time paradigm.
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.
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.
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.
Abstract machine - List of abstract machines
- ABC programming language
- Abstract Machine Notation
- ALF programming language
- Categorical Abstract Machine Language
- Context-free grammar
- Finite automata
- Lambda calculus
- Specification and Design Language
- Warren Abstract Machine
- MMIX
Abstraction (computer science), Discrete time, State space
See also
- Abstraction (computer science)
- Discrete time
- State space
This article was originally based on material from the Free On-line Dictionary of Computing, which is licensed under the GFDL.
Categories: FOLDOC sourced articles | Discrete mathematics | Theory of computation
Other related archivesABC programming language, ALF programming language, Abstract Machine Notation, Abstraction (computer science), Categorical Abstract Machine Language, Context-free grammar, Discrete mathematics, Discrete time, FOLDOC sourced articles, Finite automata, Free On-line Dictionary of Computing, GFDL, Lambda calculus, MMIX, Specification and Design Language, State space, Theory of computation, Turing machine, Warren Abstract Machine, cache-oblivious model, computational complexity theory, computer, computer engineering, computer science, discrete time, instruction sets, interpreter, licensed, memory, microprocessor, paradigm, registers, theory of computation, thought experiments, virtual machine
 Adapted from the Wikipedia article "Abstract machine", under the G.N U Free Docmentation License. Please also see http://en.wikipedia.org/wiki |