vak: (Default)
Serge Vakulenko ([personal profile] vak) wrote2018-01-22 08:37 pm

Микро-БЭСМ: план разработки

Год назад я закончил разработку процессора микро-БЭСМ. Проект не получил никакого резонанса в социуме, тем не менее надо будет когда-нибудь довести его до реализации в железе. К примеру на плате DE10-Lite с чипом Altera MAX 10. Получится нечто вроде Arduino, но с системой команд типа БЭСМ-6.



Путь долгий, впрочем. Главное препятствие - теговая архитектура памяти, которая плохо ложится на современную шину адрес/данные. Стоит задача переделать архитектуру и перенести нужные биты из тега (на каждое слово) в регистры приписки (на каждую страницу). Совместимость со старым софтом обеспечивать не нужно, ведь его всё равно нету.

План следующий.
1. Создать ассемблер , который бы работал под Линуксом и понимал системы команд 64-битного режима и 48-битного (бэсм6).
2. Переписать имеющийся комплексный тест на новый ассемблер.
3. Разбить огромный комплексный тест на отдельные составляющие, для упрощения тестирования и модификации.
4. Поправить архитектуру: перенести бит режима бэсм6 и биты защиты в таблицу страниц (регистры приписки).
5. Поправить соответствующие тесты.
6. Изменить процессор (RTL) нужным образом.
7. Изменить микрокод. Поправить тесты микрокода.
8. Изменить внешнюю шину (RTL) так, чтобы она стала совместимой с реализацией на FPGA.
9. Добавить интерфейс к внешней памяти RAM. На плате DE10-Lite её как раз 8 мегабайт.
10. Переделать контроллер прерываний.
11. Добавить периферийные устройства: внешние кнопочки, светодиоды и UART.
12. Запустить на реальной плате.

Как заработает, дальше набор внешних устройств можно расширять: SD-карточка, графический дисплей, SPI, PWM и т.д. Параллельно неплохо бы еще сделать софтверный симулятор на основе SIMH: сильно помогает в отладке софта.

Post a comment in response:

This account has disabled anonymous posting.
If you don't have an account you can create one now.
HTML doesn't work in the subject.
More info about formatting

If you are unable to use this captcha for any reason, please contact us by email at support@dreamwidth.org