Мониторинг обменных курсов валют
18c0693f

Вычислительная машина с произвольной выборкой


Для моделирования компьютерной среды Ф. Лейтольд отталкивался от вычислительной машины с произвольной выборкой (Random Access Machine, RAM), определение которой представлено ниже.

Вычислительная машина с произвольной выборкой состоит из следующих компонентов:

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

ИнструкцияПараметрОписание
LOADОперандЗагружает в память значение, определяемое операндом
STOREОперандКопирует значение аккумулятора в ячейку памяти (регистр) определяемый операндом
ADDОперандДобавляет к аккумулятору значение, определяемое операндом
SUBОперандВычитает из аккумулятора значение, определяемое операндом
MULTОперандУмножает аккумулятор на значение, определяемое операндом
DIVОперандДелит аккумулятор на значение, определяемое операндом
READОперандСчитывает значение с входящей ленты в регистр, определяемый операндом
WRITEОперандЗаписывает на выходную ленту значение, определяемое операндом
JUMPМеткаПрисваивает счетчику инструкций значение метки
JGTZМеткаПрисваивает счетчику инструкций значение метки, если аккумулятор содержит положительное число
JZEROМеткаПрисваивает счетчику инструкций значение метки, если аккумулятор равен нулю
HALTЗавершает работу машины

Допускается три вида операндов:

По умолчанию (см. также определение) значение всех регистров равно нулю, счетчик инструкций указывает на первую инструкцию программы и выходная лента пуста. После выполнения k-й инструкции счетчик либо автоматически увеличивается на единицу и указывает на (k+1)-ю инструкцию, либо, если была выполнена инструкция JUMP или выполнены условия инструкций JGTZ или JZERO, принимает значение метки, либо, если была выполнена инструкция HALT, машина прекращает свою работу.






Самый выгодный курс обмена валюты