Описание 16-битного процессора гарвардской архитектуры с прямой адресацией памяти
Мастерская №08, Летняя школа юных программистов, 2016 г.
Процессор имеет 16 16-битных регистров общего назначения, поддерживает работу с целыми знаковыми числами и выполняет 22 инструкции
Арифметические:
- Сложение регистр/регистр
- Вычитание регистр/регистр
- Сложение регистр/непосредственное значение
- Вычитание регистр/непосредственное значение
Логические:
- AND регистр/регистр
- OR регистр/регистр
- XOR регистр/регистр
- NOT регистр
- AND регистр/непосредственное значение
- OR регистр/непосредственное значение
- XOR регистр/непосредственное значение
Логические сдвиги:
- Влево на 1 бит
- Вправо на 1 бит
Работа с памятью:
- Загрузка в регистр
- Сохранение из регистра
- Копирование регистра в регистр по шине данных A
- Копирование регистра в регистр по шине данных B
Условные и безусловные переходы:
- Условный переход по непосредственному адресу по установленному флагу нулевого результата
- Условный переход по непосредственному адресу по сброшенному флагу нулевого результата
- Безусловный переход по непосредственному адресу
- Безусловный переход по адресу в регистре
Прочие:
- NOP
Для непосредственного пользования проектом требуется IDE Altera Quartus II и плата Terasic DE0-Nano-SoC/Atlas-SoC. Для компиляции проекта рекомендуется по меньшей мере 2Гб RAM.
Задать для памяти инструкций инициализационный файл с желаемой программой. Cкомпилировать проект в Quartus II.
Залить полученный .sof файл на плату.