Random access machine

From Free net encyclopedia

In computer science, random access machine (RAM) is an abstract machine which has an unlimited number of registers (in contrast with a register machine, which has a finite number of registers) of unlimited size which can be accessed randomly, also called idealized registers.

Then, there is a program which is run step-by-step and consists of a limited number of instructions out of a simple instruction set (similar to assembly language). The set includes very basic arithmetic operations, jump instructions, and direct and indirect access to the registers.

The input of the machine consists of zero or more natural numbers (normal case) and the output is one natural number, or nothing if it does not terminate.

At the very beginning all registers contain zero. The RAM gets one instruction from the list at a time and performs action(s) based on that instruction. Instructions in the list are enumerated. Once the program points to some instruction outside of the program or a special HALT instruction is executed, the machine halts and there is no further action.

To define a RAM provide a finite list of instructions.

See also

External links