vak: (Default)
[personal profile] vak
Я тут подумал. Если взглянуть на взаимодействие юзерского кода с ядром юникса, можно заметить, что системы команд не обязаны совпадать. Программа юзера может иметь одну систему команд, а ядро - совсем другую. Параметры системного вызова передаются через регистры. Если форматы данных и указателей более-менее совместимы, то и нет проблем.

Мы имеем мэсм6, то есть реализацию системы команд БЭСМ-6 на Верилоге. А Микрочип имеет PolarFire: микропроцессор RISC-V с Линуксом и FPGA в одном чипе. Платка стоит $132 на microchipdirect.com.
Что если скрестить ежа с ужом? Добавить к имеющимся ядрам RISC-V еще и ядро БЭСМ-6. Благо FPGA вроде немаленького размера (95K логических элементов). Научить Линукс запускать и обслуживать процесс БЭСМ-6. Задействовать имеющийся у нас компилятор Паскаля, и можно будет кодить для БЭСМ-6 под Линуксом!

А если ещё маленько поднапрячься, можно и мониторную систему "Дубна" подтащить. Получим весь спектр языков программирования и ассемблеров. Опыт мы наработали на симуляторе dubna.

Мне кажется, вполне реальная идея.

Date: 2024-11-13 05:49 (UTC)
archaicos: Шарж (Default)
From: [personal profile] archaicos
Или прикрутить этот эмулятор или впихнуть его в QEMU, а Linux умеет запускать чужие бинарники под QEMU.
Ну, есть варианты. Главное чтоб никто не собрался повторить подвиг и спаять на максимально простых микросхемах. :)

Date: 2024-11-13 06:34 (UTC)
spamsink: (Default)
From: [personal profile] spamsink
Вообще да, впихнуть эмулятор режима пользователя БЭСМ-6 под QEMU и запускать пакетные задачи как бинарники было бы весело. Вполне себе курсовой проект мог бы быть.