Skip to content

Такт Decima v3

Двухфазность — логический порядок вычисления и readout. Конкретная электрическая реализация общей линии является задачей будущего аппаратного субстрата; программный runtime не требует буквально переключать один провод в Hi-Z.

Порядок EV_FLASH

1. Зафиксировать locked_before
2. Построить ACTIVE closure
3. Предъявить общий VSB активным тайлам
4. Обновить аккумуляторы, decay и lock
5. Зафиксировать FIRE и победителей доменов
6. Собрать BUS16 из BUS_W-вкладов
7. Снять readout и флаги
8. Применить auto-reset к выбранным доменам

ACTIVE closure

Корнями являются тайлы с флагом BUS_R. Locked-предок из снимка locked_before разрешает вычисление своим локальным потомкам. Замыкание строится до стабилизации, поэтому несколько уровней уже locked-ветви могут быть ACTIVE в одном такте.

Неактивные тайлы обнуляют thr_cur и locked.

Обработка тайлов

Unlocked ACTIVE-тайл применяет веса к общему VSB, добавляет signed delta, получает decay и проверяет коридор.

Locked ACTIVE-тайл не добавляет новый delta, но decay продолжает действовать. После decay тайл остаётся locked только внутри своего коридора и при сохранённом разрешении. Это исправляет старое описание v0.2, где locked ошибочно выглядел неизменяемым.

События и домены

FIRE фиксируется только при переходе unlocked -> locked. Если несколько FIRE произошли в одном домене, runtime отмечает коллизию и детерминированно выбирает победителя по priority, затем по меньшему tile id.

Победитель может запросить reset набора доменов. Readout текущего такта уже сформирован; reset готовит память к следующей истории.

Время

Контракт задаёт порядок, а не универсальные 20 µs. Wall-clock зависит от числа активных тайлов, реализации runtime, CPU и будущего аппаратного субстрата. Публикуемые benchmark относятся только к указанной сборке и машине.