Хаюшки, заюшки!
Очередная поделка для гимнастики внутричерепного процессора. Обожаю унарный код. Сия любовь видимо — от его откровенной незатейливости: счетные палочки. Ну и, конечно, снисходительно-пренебрежительное отношение к унарному коду в академической среде, как «детсадовской» математике, тоже сыграло роль — пусть и детсадовская, но такие штуки вытворяет, загляденье.
Rabbit Protocol – заяц! 🐰
Задумка была в том, что изначально я хотел посадить «зайца» (одно унарное число L2) на халявный транспорт (другое унарное число L1). Зачем платить, если можно бесплатно? В итоге, заяц и транспорт в соитии — это структурированная комбинация Числа и Дельты.
Как это устроено
- Унарно-модулированный сигнал: Полубайты (нибблы) полезных данных сжимаются в динамические унарные цепочки бит. На физическом проводе эти кадры разделяются состоянием высокого импеданса (
WireState::HIGH_Z), который служит естественным маркером конца фрейма. - XOR-резолвинг вместо ветвлений: Чтобы не мучить приемник тяжелыми проверками, вычисление индексов меньшего и большего чисел в кадре изящно решается через побитовые операции XOR. Никаких лишних
if-elseв горячем цикле. - Двунаправленный LUT-акселератор: Побитовая рутина полностью переложена на этап инициализации. В рантайме передатчик и приемник используют плоские двумерные Look-Up таблицы прямого и инверсного поиска волновых форм, выполняя выборку за 1 такт процессора (O(1)).
- Многопоточный разбор шины (OpenMP): Физическая структура провода, разделенная маркерами
HIGH_Z, идеально подошла для параллельных вычислений. Приемник асинхронно нарезает массив сигналов и раздает его ядрам CPU без риска потерять фазу бит.
Текущий статус и тесты
На данном этапе проект представляет собой исследовательский концепт (Proof-of-Concept). В идеальной программной среде алгоритм гарантирует абсолютную 100% Bit-Perfect сходимость.
==============================================
=== PROTOCOL COMPONENT: RABBIT ENGINE v3.0 ===
==============================================
[File] Source file loaded successfully.
[File] Size : 3024757 bytes.
[Run] Transmitter Parallel Execution...
[Run] Receiver Multi-Threaded OpenMP Execution...
=== INTEGRITY & PERFORMANCE REPORT ===
[STATS] Wire tacts spent: 28632608 tacts.
[STATS] Density ratio: 0.845 bits/tact.
[TIME] Transmitter time: 164.548 ms.
[TIME] Receiver time: 223.941 ms.
[PERF] Net Performance: 7.43 MB/sec. (59.44 Mb/sec.)
[OK] 100% BIT-PERFECT TURBO CONVERGENCE!
==============================================
C++ класс полностью готов к кроссплатформенной сборке через CMake (работает и под Windows, и под Linux). Клонируйте, собирайте, запускайте «из коробки». (Только подложите ему любой файл под именем test.bin)
Пишите 👉 Комментарии никто не запрещал.






