РАМ-машина

Материал из Википедии — свободной энциклопедии
Перейти к: навигация, поиск

Машина с произвольным доступом к памяти (равнодоступная адресная машина, сокращённо РАМ-машина) — модель машины с одним сумматором, команды программы не могут изменять сами себя. Служит теоретической моделью, в частности, для анализа алгоритмов.

Структура[править | править исходный текст]

РАМ-машина состоит из входной ленты, с которой она может только считывать, и исходной ленты, на которую она может только записывать, и памяти.

Входная лента состоит из последовательности ячеек, в которых записаны целые числа (возможно отрицательные). Каждый раз, когда машина считывает число с входной ленты, головка передвигается на следующую ячейку вправо.

На исходную ленту машина может только записывать; она разбита на ячейки, которые первоначально пусты. При выполнении команды записи в ячейку, на которую указывает записывающая головка, сохраняется целое число, а головка передвигается на следующую ячейку вправо. Записанное исходное число изменить уже невозможно.

Память состоит из последовательности регистров r0, r1, ..., ri, ..., каждый из которых может хранить произвольное целое число.

Программа для РАМ-машины хранится не в её памяти. Поэтому предполагают, что программа не способна изменять саму себя. Программа состоит из последовательности (возможно) помеченных команд. Список команд зависит от постановки задачи, но похож на типичный язык ассемблера.

Вычисления осуществляют в первом регистре — r0, который называют сумматором. Каждая команда состоит из двух частей: кода операции и адреса.

Смотрите также[править | править исходный текст]

Литература[править | править исходный текст]

Ссылки[править | править исходный текст]