In theoretical computer science a register machine is an abstract machine used to study decision problems, similar to how a Turing machine is used. Register machines are also sometimes called counter machines (because the registers act like counters), Minsky machines (because they were introduced and developed by Marvin Minsky), or program machines (this being what Minsky called them).
The computational power of register machines is equivalent to that of Turing machines, although due to their unary processing style, register machines are typically slower by a factor that is exponential in the space used by the comparable Turing Machine.
A register machine consists of a finite set of registers r0 ... rn, each of which can hold a non-negative integer, and a finite list of instructions I0 ... Im. Each of the instructions in this list is one of the following:
INC (j, k) — increment the value of register rj by 1, then jump to instruction Ik.
DEC (j, k, z) — check if the value of rj is zero. If so, jump to instruction Iz; otherwise, decrement rj by 1 and jump to Ik.
HALT — halts the computation.
It may also be convenient to consider TEST to be separate from DEC; this causes no change in conceptual power, as any program in one variant can be straightforwardly translated to the other; however, traditional explanations of the Register machine (such as Minsky 1961) always describe DEC as including a test and branch.
This article is licensed under the GNU Free Documentation License.
It uses material from the
"Register machine".
Home Page • arts • business • computers • games • health • hospitals • home • kids & teens • news • physicians • recreation• reference • regional • science • shopping • society • sports • world