- Abstract machine
An abstract machine, also called an abstract computer, is a theoretical model of a
computer hardware or software system used inAutomata theory . Abstraction of computing processes is used in both thecomputer science andcomputer engineering disciplines and usually assumesdiscrete time paradigm .In the
theory of computation , abstract machines are often used inthought 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 theTuring machine .More complex definitions create abstract machines with full
instruction set s, registers and models of memory. One popular model more similar to real modern machines is theRAM 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 theexternal-memory model andcache-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 avirtual 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.
Articles concerning Turing-equivalent sequential abstract machine models
An approach is to take a somewhat formal taxonomic approach to classify the
Turing equivalent abstract machines. This taxonomy does not includefinite automata :Family: Turing-equivalent (TE) abstract machine:
Subfamilies::Subfamily (1) Sequential TE abstract machine
:Subfamily (2) Parallel TE abstract machine
Subfamily (1)-- "Sequential" TE abstract machine model: There are two classes (genera) of Sequential TE abstract machine models currently in use (cf van Emde Boas, for example):
:Genus (1.1) Tape-based
Turing machine model:Genus (1.2) Register-based
register machine Genus (1.1) -- Tape-based Turing machine model: This includes the following "species":: { single tape,
Multi-tape Turing machine ,deterministic Turing machine ,Non-deterministic Turing machine ,Wang B-machine ,Post-Turing machine ,Oracle machine ,Universal Turing machine }Genus (1.2)-- The register machine model: This includes (at least) the following four "species" (others are mentioned by van Emde Boas): : { (1.2.1)
Counter machine , (1.2.2)Random access machine RAM, (1.2.3)Random access stored program machine RASP, (1.2.4)Pointer machine } :Species (1.2.1) -- Counter machine model:::{ abacus machine, Lambek machine, Melzak model, Minsky machine, Shepherdson-Sturgis machine, program machine, etc. }:Species (1.2.2) -- Random access machine (RAM) model:::{ any counter-machine model with additional "indirect addressing", but with instructions in the state machine in theHarvard architecture ; any model with an "accumulator" with additional indirect addressing but instructions in the state machine in the Harvard architecture }:Species (1.2.3) -- Random access stored program machine (RASP) model includes:: { any RAM with program stored in the registers similar to theUniversal Turing machine i.e. in thevon Neumann architecture }:Species (1.2.4)-- Pointer machine model includes the following:::= { Schönhage Storage Modification Machine SMM, Kolmogorov-Uspensky KU-machine, Knuth linking automaton }Other abstract machines
*
ABC programming language
*Abstract Machine Notation
*ALF programming language
*Categorical Abstract Machine Language
*Context-free grammar
*Finite automata
*Specification and Design Language
* Historycal/Simplicity Abstract Machines forProlog :
**1.Vienna Abstract Machine (VAM Prolog )
**2.Warren Abstract Machine (WAM Prolog )
**3.Berkeley Abstract Machine (BAM Prolog ).
*MMIX
*TenDRA Distribution Format ee also
*
Abstraction (computer science)
*Discrete time
*State space
*Theory of computation#Other formal definitions of computation
Wikimedia Foundation. 2010.