Model of computation

A model describes how units of computations, memories, and communications are organized.

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.