Models of computation can be classified into three categories: sequential models, functional models, and concurrent models.
Sequential models include:
Functional models include:
Concurrent models include:
Some of these models have both deterministic and nondeterministic variants. Nondeterministic models correspond to limits of certain sequences of finite computers, but do not correspond to any subset of finite computers; they are used in the study of computational complexity of algorithms.
Models differ in their expressive power; for example, each function that can be computed by a finite-state machine can also be computed by a Turing machine, but not vice versa.
In the field of runtime analysis of algorithms, it is common to specify a computational model in terms of primitive operations allowed which have unit cost, or simply unit-cost operations. A commonly used example is the random-access machine, which has unit cost for read and write access to all of its memory cells. In this respect, it differs from the above-mentioned Turing machine model.
"Models of Computation" (PDF). https://cs.brown.edu/people/jsavage/book/pdfs/ModelsOfComputation.pdf ↩