Реплика БЭСМ-6 на ПЛИС


    Kristopher Doern, CC-BY-SA 4.0

    Эмулятор БЭСМ-6 на основе SIMH существует достаточно давно, но многие ретрокомпьютерщики считают реплику на ПЛИС чем-то средним по аутентичности между эмуляцией и реальным железом. Оказывается, уже примерно два месяца (судя по дате создания файлов LICENSE и README.md) ведётся работа и над таким проектом.

    Разработка ведётся сразу для двух видов отладочных плат — Digilent Basys 3 на ПЛИС
    Xilinx Artix-7 XC7A35T-1CPG236C и Terasic DE10-Lite на ПЛИС
    Altera MAX 10 10M50DAF484C7G (см. папку boards). Первоначально предполагалась разработка на одной из этих ПЛИС собственной платы, позволяющей подключать стандартные шилды для Arduino. Предусмотрено управление периферией по современным интерфейсам — таким, как SPI и I2C, а также возможность разработки ПО в Arduino IDE с надстройкой из оригинального компилятора Паскаля для БЭСМ-6.

    Проект доступен под лицензией MIT, и работают над ним авторы весьма активно. На момент публикации новейшая правка была внесена 11 часов назад.

    Пожелаем разработчикам (одним из которых можете стать и вы) успехов, а остальным — скорее заполучить свою маленькую БЭСМ-6 на столе.
    AdBlock похитил этот баннер, но баннеры не зубы — отрастут

    Подробнее
    Реклама

    Комментарии 36

      +2
      А где бы чисто ради интереса посмотреть на схему БЭСМ? Явно же по схеме делают реплику.
        +2
        Судя по файлам на Github делают не реплику по схемам, а создают свой процессор с нуля, аналогичной архитектуры и совместимый с набором инструкций БЭСМ-6.
        Вот тут есть сканы оригинальной документации, полагаю по ним этот проект и делается.
        А вот тут есть несколько альбомов принципиальных схем и фотографии отдельных модулей. Полную на 100% принципиальную схему имхо найти сейчас практически невозможно. Полагаю даже полноценную блочную схему и то — проблематично…
          +4
          К сожалению, схемы БЭСМ-6 нету, и никогда не было. Сохранились альбомы формул арифметического устройства, но они не очень помогают. Можно полистать здесь:

          Первая часть: drive.google.com/file/d/1BKr6qD2jExfV0B99eFDrv-1yVhx05pNp/view

          Вторая часть: drive.google.com/file/d/1fUoSiDmCN24SXs43cHnOu0iY5nSNyxzT/view

          Приходится микроархитектуру машины придумывать с нуля. Благо, кое-что можно упростить.
          0
          Интересно, а зачем оно надо? Есть какое-то железо?

          Служил я давно в одном вычислительном центре минобороны, так там древняя ЭВМ эмулировалась на IBM-ском гробу, потому что нужно было рассчитывать поставку картошки по воинским частям :) Ну реально, это было единственное ее применение на тот момент (возможно, что на момент создания эмулятора востребованность была чуть выше). Древние зеленые терминалы оригинальными бронированными интерфейсам втыкались в черный ящик IBM (модель не помню)… Красиво, лампово, но нахрен никому по-факту не нужно.

          А эта древность зачем? Да еще в железе?
            +6
            Как минимум, это просто интересно. Вполне себе достаточное обоснование, чтобы этим заниматься.
              +3
              Нууу батенька… Если бы всё на свете делалось не для удовольствия и интереса, а только потому что это кому-то для чего-то надо, то и нас бы с Вами не было :)))))
                +2

                Если человек спрашивает "зачем", неважно — знать, делать, стремиться или что-то ещё, то на нем можно ставить крест. Вот принимайте как хотите. Это приводили мне как цитату Лихачёва, не знаю насколько это правда. Если завтра на Хабре кто то решит пропустить юппи через хроматограф за миллион долларов я только разольюсь в апплодисментах гениальности автору.

                  +1
                  «Тащ прапорщик, а зачем мне закапывать яму, которую я только что выкопал?»
                    +1
                    в данном случае, скорректирую аналогию:
                    а зачем вы закапываете яму, которую только что выкопали?
                      +1
                      Это была не аналогия, а пример того, когда после вопроса «зачем» не надо ставить на человеке крест.
                      Если более серьёзно, то, при всём уважении к авторитетам, «зачем» спрашивать можно и нужно. Если ответ будет «Затем, что мне это интересно» – прекрасно. А если, скажем, «Ну, вроде надо бы… Все так делают… Начальник велел...» – то это повод задуматься.
                  +1
                  Из хотя и несколько витееватых статей про БЭСМ-6 вынес, что это передовая и уникальная во многом машина для того времени после чего началось копирование и отставание (поправьте если что). И если правильно понял автора журнала, то очень важно сохранить это именно в родном, желательно работающем железе. И с родным софтом (там в жж про это тоже есть)
                    +1
                    Ну как передовая? В целом неплохая, вполне современная по характеристикам на момент выхода. Но, например, за несколько лет до БЭСМ-6 уже вышло семейство IBM-360, которое представляло собой совсем другой технологический и инженерный уровень. Если БЭСМ-6 строилась на дискретной диодной логике, то там уже были гибридные микросхемы. И плюс масса удачных архитектурных решений, которые живы до сих пор — виртуальная адресация, микрокод и т.д.
                      +1
                      Вполне на уровне, хотя сильно недоделанная (например целочисленной арифметики и обработки текстов как в IBM не было)
                      А потом решили, что зачем столько денег на разработку железа и софта тратить, лучше купим/украдём.
                        +1
                        Я думаю, что и решили так тоже не от хорошей жизни. Технологический разрыв все равно увеличивался бы, и скорее всего, ещё быстрее.
                          +1
                          Скорей — от непонимания перспектив (и я не утверждаю что на западе эти перспективы кто-то понимал в то время — просто они смогли адаптировать поведение)
                    +1

                    Старкрафт на ней пойдет?

                      +3

                      Нет, только DEFCON

                        +1

                        Эмулятор чемоданчика с кнопкой на ардуино будет с боеголовками из нерфгана?

                      +1
                      Великолепная идея!
                        0
                        Теперь понятно, почему новости доверили только редакторам: если даже они теряются, что же говорить про простых смертных!
                        • НЛО прилетело и опубликовало эту надпись здесь
                            +2

                            В музее РФЯЦ-ВНИИЭФ в Сарове есть БЭСМ-6 (макет, скорее всего, с частью оригинальных компонентов). Но по понятным причинам мало кто может туда сходить.

                            +4
                            К слову сказать — это проект того самого Сергея Вакуленко. С учетом его прошлого и нынешнего опыта, думаю все получится.
                              +1
                              Спасибо за наводку. Очень крутой мужик. Увы, ничего раньше о нем не знал.
                              Нда… Am2900/K1804… Как много в этом звуке для сердца русского слилось… :))))
                              Надо же, а сейчас всё что угодно лепится вообще на одном кристалле!
                              Кстати гитхаб у мужика интереснейший!
                              +1
                              Без копии лентопротяжного механизма это будет конечно не так лампово.
                              +1
                              Блин, ностальджи! Первый написанный мной код. Ещё на перфокартах, на фортране. Помню как у нас народ сам резал перфокарты бритвой, чтобы не ждать очереди, если поправить надо одну-две карты. Когда стали допускать желающих к перфоратору, это казалось необыкновенно крутым! Ну кто мог подумать, что через 30 лет у каждого на столе будут компы в сотню раз мощнее, а старушку БЭСМ-6 будут эмулировать просто в качестве хобби-проекта!

                              Огромное человеческое спасибо за эту новость! Сейчас смотрю гитхаб и предаюсь воспоминаниям. Слова-то какие (для тех кто понимает конечно) БЕМШ, Madlen…
                                +1

                                Автокод Мадлен, Монитор-80, Фортран-4, Вторая лента, Дубна, Заказчик…
                                Все казалось прошло, но вдруг на работе засветился тендер на решение задачи целераспределения (кстати словарь моего Windows не понимает последнего слова).
                                Нашли подрядчика только для решения транспортной задачи для чартерных грузоперевозчиков. Персональный подрядчик не смог формализовать даже естественные потребности водителей и пассажиров — оптимизирует движение абстрактных автомобилей.
                                У меня же лежит в перфокартах почти готовое решение задачи, но нет ни того Транслятора, ни Компоновщика и нет математической второй ленты программ, которую раньше ассоциировали с Дубной.
                                Файн Ридер правда язык перфокарт Фортрана знает, но всё выше изложенное найти проблематично.
                                А может уже и незаконно?

                                  +1
                                  Нда… Забавная ситуация… Единственно что могу тут посоветовать, это как-то оцифровать Вашу колоду. Например подложить под карту что-то черное, ярко осветить и отсканировать. Или наоборот, положить карту на подсвеченное молочное стекло и отсканировать в слабом свете. Вобщем чтобы получился набор файлов с размеченными дырками. Формат расположения дырок в перфокарте думаю несложно будет найти и восстановить текст программы (у Вас Фортран-4, я правильно понял ?). А современные компиляторы фортрана наверняка с 4-м совместимы. Это научный софт. А он как правило пишется на века, там обратная совместимость одно из главных требований. Вобщем главное найдите способ отсканировать и оцифровать сами карты. Дальше будет легче.

                                  P.S. С математической лентой тоже поправимо. На фортране у Вас будут вызовы этих функций. По именам. Такие имена как SIN или COS наверно вполне очевидны. Для имён менее очевидных наверняка есть куча справочников ещё с тех лет. Да я думаю что и современные фортрановские математические библиотеки должны быть совместимы. Вобщем мне задача безнадёжной совсем не кажется. Хотя могу конечно ошибаться, деталей не знаю.
                                    +1

                                    Уважаемый eugenk!
                                    Как бы сканер с Файн Ридером в каждом доме, в каждом офисе.
                                    Проблема, что вторая лента Дубна с подпрограммами осталась на НПО "Энергия" и мною не приватизирована.
                                    Нет и Фортран-4 в Compaq Fortran 6.0.

                                      +1
                                      Я думаю можно и без сканера, хватит фотоаппарата, а возможно даже и телефона. Главное подберите освещение (наверно надо попробовать два варианта, карта на черной подложке при ярком свете и карта на светящейся подложке при слабом свете) и обеспечте стабильные условия съёмки. Т.е. камера закреплена на штативе, и карта кладётся на постоянное, отмеченное место. Да согласен, геморно. Особенно если карт много. Но эта работа делается только один раз, можно и потерпеть. В качестве бонуса кстати спасёте от забвения ценный исходник, что тоже немаловажно. А прочитать такие снимки уже будет несложно чем-нибудь самописным, на той же яве. Взять одну-две-три карты, внимательно посчитать дырки ручками, и на этом думаю читающую софтину можно полностью отладить. Сам совсем недавно чем-то подобным занимался (правда немного с другой целью).

                                      С лентой подпрограмм, можете запинать меня ногами, но проблема представляется мне вполне разрешимой. Во-первых наверняка современные библиотеки с ней совместимы. Во-вторых думаю не такая уж проблема достать оригинальную. В конце концов можно связаться с тем же автором этого проекта Сергеем Вакуленко ru.wikipedia.org/wiki/%D0%92%D0%B0%D0%BA%D1%83%D0%BB%D0%B5%D0%BD%D0%BA%D0%BE,_%D0%A1%D0%B5%D1%80%D0%B3%D0%B5%D0%B9_%D0%92%D0%B8%D0%BA%D1%82%D0%BE%D1%80%D0%BE%D0%B2%D0%B8%D1%87. Судя по всему он заядлый компьютерный археолог и почитатель старины. Так что у него такие вещи вполне могут быть. Либо посоветует где искать.

                                      P.S. Ещё вариант чтения. Если у Вас где-нибудь завалялась Raspberry Pi, к ней можно подключить камеру. Причем за вполне гуманные деньги (увы, сейчас не помню, но по-моему в пределах тысячи). В этом случае читалку можно будет наваять прямо на ней. Так чтобы она например зажигала светодиод, когда карта успешно прочитана. Так будет ещё удобнее. Просто двигаешь карту по столу, как добился правильного положения, она сразу прочитается. Ни передавать кучу файлов, ни беспокоиться о качестве каждого. Просто и удобно.

                                      P.P.S. Думаю такую читалку можно наваять и для телефона на Андроиде.
                                        +1

                                        Благодарю eugenik за совет решить стандартную задачу Файн Ридера оцифровки перфокарт, содержащих программы Фортран, окольным путём.
                                        Благодарю eugenik за совет обратиться за помощью к подвижнику Вакуленко со своей корыстной задачей.
                                        Напомню, что это я хочу срубить денежку на ипотеку у гражданского заказчика.
                                        А судя по имиджу, рекомендованного Вами Вакуленко, он потенциально (10% вероятность) сможет и сам найти решение задачи распределения ресурсов.
                                        Быть промежуточным звеном (взять на себя ответственность за получение у заказчика денег по договору) я боюсь. Тут возможен облом 50%.
                                        В отношении надежды на совместимость подпрограмм, написанных для Фортран-4 для 48т разрядной техники, с современными открытыми архивами.
                                        Не уверен. 50% на 50%. Но выяснить это удастся только в ходе компоновки моих архивных программ.

                                          0
                                          Зато у вас есть шанс стать первым, кто будет использовать клон БЭСМ-6 в продакшене!
                                            +1
                                            Не, ну тут как бы Вам виднее. Хотите Файн Ридер, делайте с ним. Хотите сами написать такой софт — это день-два работы, не больше. Если речь только о решении задачи распределения ресурсов, с вероятностью 50% это успешно сделаю и я(хотя тоже много от чего зависит). Просто ситуация показалась мне достаточно нетривиальной и интересной.
                                            Удачи Вам в срубании денюшки :))))
                                    +2
                                    Настальжи! Начинал с ещё большей древности — УМ НХ, там программирование проволочкой через ферритовые кольца. А когда перешёл на ЭВМ М-6000 АСВТ, то был прогресс. Начальный абсолютный загрузчик приходилось напрямую вбивать в память в двоичном коде с пульта управления. Зато весь комп твой и ты сам управляешь прерываниями нулевой страницы и прочим.

                                  Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

                                  Самое читаемое