vak: (Default)
[personal profile] vak
Большая часть машинных команд уже работает, включая магазинный режим и признаки групп. Вот текущее состояние тестового хозяйства:
$ ./run-all-tests.sh
Test uj - PASS
Test vtm_vzm_v1m - PASS
Test j+m_utm - PASS
Test vlm - PASS
Test utc_wtc - PASS
Test vjm - PASS
Test mtj - PASS
Test xta_uza_u1a - PASS
Test atx - PASS
Test ati_ita - PASS
Test addr0 - PASS
Test aax_aox_aex - PASS
Test arx - PASS
Test its - PASS
Test sti - PASS
Test xts - PASS
Test stx - PASS
Test asn_asx - PASS
Test acx_anx - PASS
Test apx_aux - PASS
Test stack - PASS
Test ntr_rte - PASS
Test yta - PASS
Test e+n_e-n_e+x_e-x - FAIL
Test a+x_a-x_x-a - FAIL
Test mul_div - FAIL
---
Tests total: 26, passed: 23, failed: 3
Осталось доделать девять арифметических команд: A+X, A-X, X-A, A*X, A/X, E+N, E-N, E+X, E-X.

Потом еще прерывания и экстракоды, и можно будет пробовать запускать на FPGA.

Date: 2019-03-30 04:37 (UTC)
juan_gandhi: (Default)
From: [personal profile] juan_gandhi
Как это, МЭСМ на FPGA? Вот это да.

Date: 2019-03-30 05:17 (UTC)
juan_gandhi: (Default)
From: [personal profile] juan_gandhi
ну это было бы мило, конечно.

Date: 2019-03-30 07:13 (UTC)
spamsink: (Default)
From: [personal profile] spamsink
А потом среди школьников конкурс объявить: кто сможет сделать ее самой быстрой в FPGA данного размера. Как по тактовой частоте, так и по производительности на Whetstone, for lack of a better benchmark. Типа "переплюньте оригинальных разработчиков БЭСМ-6".

Date: 2019-03-31 07:08 (UTC)
x86128: (Default)
From: [personal profile] x86128
Операцию сдвига тоже придется переписать. По данным yosys, при синтезе операции сдвига в обычные логические элементы, требуется аж 884 2-в-1 мультиплексора, на FPGA будет поменьше, но всё равно много. В случае использования tinyFPGA процессор влезет впритык, но я точно не проверял (т.к. нет еще арифметических операций и yosys реализует лишь малый subset SystemVerilog и текущий исходный код в лоб не берет)

Date: 2019-03-30 07:15 (UTC)
spamsink: (Default)
From: [personal profile] spamsink
Еще AMX и AVX забыл.

Re: Паскаль компилятор

Date: 2019-04-01 19:00 (UTC)
spamsink: (Default)
From: [personal profile] spamsink
Может быть нетривиально: он знает, что у него внутри у целых чисел есть порядок 64, поэтому для формирования целых чисел его добавлять не нужно; и неочевидно, что все такие места затронуты в исходнике самого компилятора, так что успешная самокомпиляция может не гарантировать отсутствие ошибок.

Твой скрипт гарантирует, что всё делается в точности так, как на настоящей машине, и удачно избегает нужды в линкере и ассемблере.

Date: 2019-04-02 08:25 (UTC)
spamsink: (Default)
From: [personal profile] spamsink
Если ты этим по вечерам в будни занимаешься, то я могу зайти как-нибудь (кроме среды), добьём зверушку вместе.

Date: 2019-04-04 05:37 (UTC)
spamsink: (Default)
From: [personal profile] spamsink
Ура! :)

Умножение доделать несложно; разве что придется добавить еще один бит переполнения в порядок, чтобы отличать положительное переполнение от отрицательного (пока я пользуюсь тем, что при сложении положительное переполнение может быть только при нормализации на один разряд вправо после сложения, а после нормализации влево - только отрицательное). При умножении же переполненный порядок может остаться переполненным даже после нескольких нормализаций влево.

Date: 2019-04-04 22:36 (UTC)
spamsink: (Default)
From: [personal profile] spamsink
Конечно, стоит. А я вчера был на лекции о форматном преобразовании чисел с плавающей точкой (ключевые слова grisu и ryu), и теперь знаю, как надо было писать это дело на БЭСМ-6 "без единого гвоздя".

Date: 2019-04-05 04:41 (UTC)
spamsink: (Default)
From: [personal profile] spamsink
Oops, a copy-pasto со мной случилось. :) Я про AVX тоже вспомнил в последний момент.



Date: 2019-04-06 06:00 (UTC)
x86128: (Default)
From: [personal profile] x86128
Ух тут сколько понаписали уже. Надо что-то придумать чтобы не пропускать обсуждения касательно проекта.
Получается так что уведомления о коммитах на гитхаб приходят только владельцу, а watcher'ам - нет. Только если @mention где-то был. Получается какие-то интересные вещи пропускаю.
Здесь в блоге тоже уведомления приходят автору поста, но не участнику цепочки.

Думал discourse но он платный. Может группу в гугле сделать если там еще можно. Они вроде что-то недавно опять меняли в своей политике. Либо что-то self-hosted придумать. У меня есть возможность крутить небольшие виртаулки на работе, но они будут территориально в РФ со всеми "вытекающими" :)

Date: 2019-04-06 06:15 (UTC)
x86128: (Default)
From: [personal profile] x86128
Пожалуй, я поторопился насчет Discourse. Там доп. сервисы платные типа доставки push-уведомлений в телефон.

У нас есть домен besm6.org. Можно там сделать discourse.besm6.org и организовать self-hosted форум (он же и список рассылок).

Date: 2019-04-06 17:32 (UTC)
x86128: (Default)
From: [personal profile] x86128
С кнопкой "отслеживать" попробую. Спасибо.

На гитхабе если не являешься администратором репозитория уведомления о push-ах не приходят. Как workaround подписаться через RSS на страничку с commit'ами.

Team discussions не нашел. Наверное это только если аккаунт имеет статус организации. Наверное, внтури github.com/besm6 у вас такая кнопка есть.

Насчет лишних сущностей согласен. Если все-таки на гитхабе как-то разобраться с team discussions то этого будет достаточно. Да и если на дриме кнопка "отслеживать" заработает для всех комменариев то этого тоже будет достаточно, т.к. комментаторов не так много и сдвиг постов-ответов не сильно будет убегать вправо.