![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
Я тут подумал. Если взглянуть на взаимодействие юзерского кода с ядром юникса, можно заметить, что системы команд не обязаны совпадать. Программа юзера может иметь одну систему команд, а ядро - совсем другую. Параметры системного вызова передаются через регистры. Если форматы данных и указателей более-менее совместимы, то и нет проблем.
Мы имеем мэсм6, то есть реализацию системы команд БЭСМ-6 на Верилоге. А Микрочип имеет PolarFire: микропроцессор RISC-V с Линуксом и FPGA в одном чипе. Платка стоит $132 на microchipdirect.com.
Что если скрестить ежа с ужом? Добавить к имеющимся ядрам RISC-V еще и ядро БЭСМ-6. Благо FPGA вроде немаленького размера (95K логических элементов). Научить Линукс запускать и обслуживать процесс БЭСМ-6. Задействовать имеющийся у нас компилятор Паскаля, и можно будет кодить для БЭСМ-6 под Линуксом!
А если ещё маленько поднапрячься, можно и мониторную систему "Дубна" подтащить. Получим весь спектр языков программирования и ассемблеров. Опыт мы наработали на симуляторе dubna.
Мне кажется, вполне реальная идея.

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

no subject
Date: 2024-11-13 05:22 (UTC)Системы команд хоть и родственные, но разные
no subject
Date: 2024-11-13 05:49 (UTC)Ну, есть варианты. Главное чтоб никто не собрался повторить подвиг и спаять на максимально простых микросхемах. :)
no subject
Date: 2024-11-13 06:34 (UTC)no subject
Date: 2024-11-13 23:15 (UTC)no subject
Date: 2024-11-13 06:30 (UTC)no subject
Date: 2024-11-13 08:01 (UTC)ABI разве не должен быть language agnostic? (Если язык не предписывает экзотическое представление данных.)
no subject
Date: 2024-11-13 08:32 (UTC)no subject
Date: 2024-11-15 18:53 (UTC)besmc hello.ftn — компилирует фотрановскую программу и создаёт бинарник hello.exe, который можно непосредственно выполнять. Тот самый бэсмовский оверлей.
Можно компилить и линковать несколько файлов:
besmc a.ftn b.assem c.algol
С флагом -c можно генерить объектные файлы, то есть perso библиотеки:
besmc -c foo.assem -o foo.obj
И потом линковать объектные файлы в кучу:
besmc a.obj b.obj c.obj -o result.exe
Выбор компилятора определяется расширением файла:
.ftn
.fortran
.forex
.algol
.pascal
.assem
.madlen
.bemsh
Получается законченная система программирования для БЭСМ-6 под Линуксом.
no subject
Date: 2024-11-15 21:33 (UTC)no subject
Date: 2024-11-15 22:33 (UTC)Если же запрошен вывод с расширением .punch, то выводить стандартный массив через *punch.
besmc -c foo.ftn -o foo.punch