Coder Social home page Coder Social logo

firmware-fsm's Introduction

Микропрограммый управляющий автомат

Реализация и симулаяция управляющего автомата с принудительной адресацией в паре с операционным автоматом КМ1804. Реализованный автомат не является тьюринг-полным. Из памяти имеет только регистровый файл, микропрограммную память и программную память.

Задача

Далее РОН - регистр общего назначения

  1. Реализовать микропрограммный автомат с принудительной адресацией с оптимальным для выполнения следующей задачи набором инструкций.
  2. Разработать микропрограмму, которая выполняет операции с разрядами РОНi и РОНj, нумерация разрядов регистров i и j – сквозная: определяет разряды с 0 в коде регистров РОНi и РОНj и записывает произвольное число А в регистры с номерами, соответствующими номерам единичных разрядов (РОНi и РОНj).
  3. Релизовать аппаратный умножитель 4x4 и произвести на нем умножение произвольных чисел

Решение задачи 1. Принудительная адресация

В управляющем автомате, использующем принудительную адресацию, в отличие от естественной, переход происходит на каждой инструкции по одному из двух указанных адресов. Если необходимо, чтобы программа выполнялась последовательно, необходимо для каждой инструкции в качестве одного из 2 указываемых адресов перехода явно указывать адрес следующей инструкции в памяти и выбирать соответствующую функцию перехода.

По классификации Дэвида М. и Сары Л. Харрисов, приведенной в книге "Цифровая схемотехника и архитектура компьютера. RISC-V" реализованный автомат является неполной версией многотактного процессора. Каждая инструкция реализуется набором микрокоманд, хранящихся в микропрограммной памяти в ПЗУ. Каждая инструкция выполняется переменное число тактов.

Итоговая тактовая частота ~1.2 Мгц. Критический путь проходит через умножитель (матричный).

Функциональная схема УА с принудительной адресацией

Решение задачи 2

Для решения задачи был разработан набор инструкций (<d> - imm[4:0] (Значение), <b> - addr[4:0] (Адрес регистра)):

Набор инструкций

Решение задачи 3

Для решения задачи был выбран матричный умножитель ввиду простоты его реализации

Матричный умножитель

Запуск симуляции

  1. Для симуляции работы необходим Proteus версии 8.13 и выше. Так же необходим MS Visual Studio build tools для корректрного подключения динамической библиотеки.
  2. Приложенную библиотеку MT1804.dll необходимо скопировать в директорию установки Proteus в поддиректорию BIN.
  3. Запустить проект MPA_PA_v3.1.pdsprj и запустить симуляцию в левом нижнем углу.
  4. В результате симуляции на внешнем устройстве, состоящем из 8 регистров должны появиться определенные значения.

firmware-fsm's People

Contributors

typeperfest avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.