Реализация и симулаяция управляющего автомата с принудительной адресацией в паре с операционным автоматом КМ1804. Реализованный автомат не является тьюринг-полным. Из памяти имеет только регистровый файл, микропрограммную память и программную память.
Далее РОН - регистр общего назначения
- Реализовать микропрограммный автомат с принудительной адресацией с оптимальным для выполнения следующей задачи набором инструкций.
- Разработать микропрограмму, которая выполняет операции с разрядами РОНi и РОНj, нумерация разрядов регистров i и j – сквозная: определяет разряды с 0 в коде регистров РОНi и РОНj и записывает произвольное число А в регистры с номерами, соответствующими номерам единичных разрядов (РОНi и РОНj).
- Релизовать аппаратный умножитель 4x4 и произвести на нем умножение произвольных чисел
В управляющем автомате, использующем принудительную адресацию, в отличие от естественной, переход происходит на каждой инструкции по одному из двух указанных адресов. Если необходимо, чтобы программа выполнялась последовательно, необходимо для каждой инструкции в качестве одного из 2 указываемых адресов перехода явно указывать адрес следующей инструкции в памяти и выбирать соответствующую функцию перехода.
По классификации Дэвида М. и Сары Л. Харрисов, приведенной в книге "Цифровая схемотехника и архитектура компьютера. RISC-V" реализованный автомат является неполной версией многотактного процессора. Каждая инструкция реализуется набором микрокоманд, хранящихся в микропрограммной памяти в ПЗУ. Каждая инструкция выполняется переменное число тактов.
Итоговая тактовая частота ~1.2 Мгц. Критический путь проходит через умножитель (матричный).
Функциональная схема УА с принудительной адресацией
Для решения задачи был разработан набор инструкций (<d> - imm[4:0] (Значение), <b> - addr[4:0] (Адрес регистра)):
Для решения задачи был выбран матричный умножитель ввиду простоты его реализации
- Для симуляции работы необходим Proteus версии 8.13 и выше. Так же необходим MS Visual Studio build tools для корректрного подключения динамической библиотеки.
- Приложенную библиотеку MT1804.dll необходимо скопировать в директорию установки Proteus в поддиректорию BIN.
- Запустить проект MPA_PA_v3.1.pdsprj и запустить симуляцию в левом нижнем углу.
- В результате симуляции на внешнем устройстве, состоящем из 8 регистров должны появиться определенные значения.