CPU Sim - Википедия - CPU Sim

CPU Sim
Оригинальный автор (ы)Дейл Скрайен[1]
Стабильный выпуск
4.0.11 / август, 2017
Написано вЯва
Операционная системаMS-Windows, Linux, Mac (Кроссплатформенность )
ТипIDE
ЛицензияGPLv3 +
Интернет сайтwww.cs.colby.edu/ djskrien/ CPUSim/

CPU Sim это среда разработки программного обеспечения для моделирования простых компьютеров. Он был разработан Дейлом Скрайном, чтобы помочь студентам понять компьютерные архитектуры. С этим заявление пользователь может моделировать новые или существующие простые процессоры. Пользователи могут создавать новые виртуальные процессоры с настраиваемыми машинный язык инструкции, которые реализуются последовательностью микрокоманд. CPU Sim позволяет пользователю редактировать и запускать программы на языке ассемблера для моделируемого процессора.

CPU Sim был запрограммирован с использованием Ява Качать упаковка. Это означает, что это независимая платформа (работает на каждой платформе, имеющей Виртуальная машина Java установлены).

Пример процессора Wombat 1

Образец компьютерной системы, Wombat 1, снабжен CPU Sim. Он имеет следующие регистры:

В язык ассемблера компьютера Wombat 1 состоит из 12 инструкций. Каждая инструкция хранится в 16 битах, первые 4 - это Код операции а остальные 12 - это адресное поле.

МнемоническийКод операцииДлина поляСмысл
остановка016останавливает выполнение программы
нагрузка14 12передает данные из памяти в аккумулятор
хранить24 12передает данные из аккумулятора в память
читать34 (12)помещает данные из IO консоли в аккумулятор
записывать44 (12)отправляет на IO консоль данные из аккумулятора
Добавить54 12добавить данные из памяти в аккумулятор, и результат затем сохраняется в аккумуляторе
вычесть64 12вычитает данные из памяти из аккумулятора, и результат затем сохраняется в аккумуляторе
умножать74 12умножает данные из памяти на аккумулятор, и результат затем сохраняется в аккумуляторе
разделять84 12делит данные из памяти в аккумулятор, и результат затем сохраняется в аккумуляторе
jmpz94 12перейти к адресу, если аккумулятор равен 0
jmpnА4 12перейти к адресу, если аккумулятор отрицательный
ПрыгатьB4 12безусловный переход к адресу

Функции

CPU Sim имеет следующие особенности:

  • позволяет создавать ЦП (виртуальный), включая регистры, ОЗУ, микрокоманды и машинные инструкции;
  • позволяет создавать, редактировать и выполнять программы на языке ассемблера для моделируемого процессора;
  • позволяет переходить вперед и назад через выполнение программ на языке ассемблера.

Пример программы для ЦП Wombat 1

Эта программа читает целые числа, пока не будет прочитано отрицательное целое число. Затем он выводит сумму всех положительных целых чисел.

Начало: чтение // чтение n -> acc jmpn Done // переход к Done, если acc <0. add sum // добавление суммы к сумме накопителя acc // сохранение новой суммы jump Start // вернуться и прочитать следующее число Готово : load sum // загрузить окончательную сумму write // записать окончательную сумму stop // stopum: .data 2 0 // 2-байтовое место, где хранится сумма

Также иногда используются следующие модификации программы:

Начало: чтение // чтение n -> acc jmpz Done // переход к Done, если nacc равен 0. add sum // добавить сумму в acc store sum // сохранить новую сумму jump Start // вернуться и прочитать следующее число Готово : load sum // загрузить окончательную сумму write // записать окончательную сумму stop // stopum: .data 2 0 // 2-байтовое место, где хранится сумма

здесь можно использовать отрицательный ввод для вычитания или 0 для разрыва цикла.

Смотрите также

Рекомендации

внешняя ссылка