Часть I
Часть II
Часть III
Часть IV
Часть V
На данном ресурсе уже была опубликована
статья, посвящённая
RAM-машине
Wikipedia также содержит
статью об этой вычислительной модели
RAM-машина, которая упоминается в книге «Построение и анализ вычислительных алгоритмов» (авторы: Ахо, Хопкрофт, Ульман) имеет ограниченный набор арифметических команд (сложение, вычитание, умножение, деление), команду безусловного перехода, две команды условных переходов. Здесь же из арифметических команд присутствуют только
сложение и
вычитание, команды ветвления (переходов) будут идентичными командам, приведённым в книге
LIttle Man Computer ссылка обладает схожим набором команд
Online симулятор LMC находится
здесь
Схема АЛУ представлена ниже.
Шина соединяет память данных с сумматором (обозначен плюсом), вычитателем (обозначен минусом) и мультиплексором MUX.
Переключение между сумматором и вычитателем производится мультиплексором.
Также в мультиплексор загружаются числовые данные из устройства ввода data_input (в физическом воплощении — это набор переключателей).
Флаги состояния Acc>=0 и Acc=0, а также устройство вывода подключены к выводу аккумулятора
Отличием
LIttle Man Computer от
RAM-машины является механизм, обеспечивающий косвенную адресацию (возможность работать с числом, хранящемся в памяти, как с адресом).
Для того, чтобы работать с числом, хранящимся в памяти, как с адресом, подключим к адресному входу
Памяти Данных мультиплексор
MUX, осуществляющий выборку между, собственно, адресом (поступающим из
Памяти Команд) и числом, представляющем адрес и хранящемся в
Памяти Данных.