https://ru.wikipedia.org/wiki/%D0%94%D0%B2%D0%BE%D0%B8%D1%87%D0%BD%D0%BE-%D0%B4%D0%B5%D1%81%D1%8F%D1%82%D0%B8%D1%87%D0%BD%D1%8B%D0%B9_%D0%BA%D0%BE%D0%B4

Утренние мысли по декатронному компьютеру.

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

Один декатрон умеет считать до 10, два - до 100 и так далее.



Следовательно, в машине будут следующие счетчики:

1️⃣ Счетчик DATA на 3 декатронах - он будет считать от 0 до 256 (требование brainfuck).

2️⃣ Счетик IP - номера текущей инструкции. Он будет считать от 0 до 100000 (вообще у bf органичения на длину программы нет, так что ограничиваемся здравым смыслом). Итого 5 декатронов.

3️⃣ Счетчик AP - номера текущей ячейки. 0-30000. Еще 5 декатронов.



Все счетчики - реверсивные, беззнаковые. Максимальная скорость работы счетчика ограничена скоростью работы самого младшего разряда. Там будет стоять водородный декатрон А-103, который имеет рабоатть на скоростях до 50кГц.

Итого требуется минимум 13 декатронов (у меня их, к слову больше 60 штук уже).



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



Так вот, все шины - двоично-десятичные.

Это значит, что шина адреса памяти инструкций у нас быдет шириной 20 линий - по 4 линии на десятичный разряд.

Шина адреса памяти данных - 18 линий. старший разряд будет считать от 0 до 3.

Шина данных - 10 линий. по 4 линии на два младших разряда, и еще 2 линии на старший разряд (0-1-2).