惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

N
Netflix TechBlog - Medium
Blog — PlanetScale
Blog — PlanetScale
月光博客
月光博客
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
爱范儿
爱范儿
量子位
博客园 - 聂微东
Engineering at Meta
Engineering at Meta
WordPress大学
WordPress大学
GbyAI
GbyAI
MyScale Blog
MyScale Blog
IT之家
IT之家
P
Proofpoint News Feed
M
MIT News - Artificial intelligence
The Cloudflare Blog
H
Hackread – Cybersecurity News, Data Breaches, AI and More
Hugging Face - Blog
Hugging Face - Blog
The Register - Security
The Register - Security
Microsoft Security Blog
Microsoft Security Blog
博客园_首页
MongoDB | Blog
MongoDB | Blog
F
Fortinet All Blogs
博客园 - 三生石上(FineUI控件)
Y
Y Combinator Blog
雷峰网
雷峰网
V
Visual Studio Blog
酷 壳 – CoolShell
酷 壳 – CoolShell
Last Week in AI
Last Week in AI
博客园 - 叶小钗
D
DataBreaches.Net
B
Blog
B
Blog RSS Feed
大猫的无限游戏
大猫的无限游戏
aimingoo的专栏
aimingoo的专栏
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
The GitHub Blog
The GitHub Blog
云风的 BLOG
云风的 BLOG
Recent Announcements
Recent Announcements
阮一峰的网络日志
阮一峰的网络日志
小众软件
小众软件
腾讯CDC
T
Threat Research - Cisco Blogs
SecWiki News
SecWiki News
Martin Fowler
Martin Fowler
D
Docker
Cisco Talos Blog
Cisco Talos Blog
T
Tenable Blog
Webroot Blog
Webroot Blog
宝玉的分享
宝玉的分享

Все публикации подряд на Хабре

Ловим музу за клавиатуру: как айтишнику стать автором Что умеет Midjourney в 2026? Мой немного грустный разбор этого шикарного инструмента Никто не любит писать тесты, но ИИ может исправить это IPv8 выглядит как мечта. Поэтому почти наверняка не взлетит Производители вернули в продажу материнки с DDR3. Что происходит? Управление агентом с телефона через Telegram теперь в KodaCode От координации к лидерству: как меняется роль руководителя разработки Я сделала родителям бизнес вместо пенсии: зарабатываем 70 тысяч, мама не даёт продать В три раза быстрее приемка товара и оптимизация трудозатрат на 73%: как «РСТ-Инвент» помог Gulliver Group ИИ-шечный мир победил? О влиянии искусственного интеллекта на игропром Кремль снижает давление на Телеграмм пока Европа строит интернет по паспорту Как CEO, CTO и CIO за 8 часов собрали ИИ-директора, который умеет держать позицию под давлением Как (не) потерять домен за выходные Вместо 8 разных VPS: как я организовал практику студентам на одном сервере Почему твой Open Source проект не замечают? R&D: искусство управления неопределенностью в разработке AI-дефляция: вакансий для разработчиков больше, а рост зарплат — худший за 15 лет Мы отдали управление роботами OpenClaw. Что из этого вышло Галактический ID: система идентификации для всех форм разумной жизни Шесть основ бизнес-анализа: начинаем с вопроса «Кто в игре?» Код-ревью, в котором дело не в коде Данные переехали. Команда — нет Системной подход к сдаче OSWE в 2025 Почему комната управления реактором покрашена в цвет морской пены 4 YAML-файла вместо PySpark: как аналитикам строить пайплайны без разработчиков LLM-агент для поиска свободных доменов: автоматизируем подбор Когда, зачем и как правильно начинать новую сессию в Claude Code? Как я заставил нейросеть писать макросы для FreeCAD Анатомия ИИ‑агента для подбора персонала. От тысячи резюме к топ‑10 за минуты Опыт разработчика как экономика внимания Автономность как точка невозврата: кто будет субъектом в цифровом будущем Обучение ИИ в «диких» условиях: как рутинные действия превращаются в датасеты Как измерить LLM для задач кибербеза: обзор открытых бенчмарков Где хранить код? Сравнение GitHub, GitLab и Bitbucket Математика объясняет, почему нормальное распределение встречается повсюду Почему ваш FinOps не работает: 12 тезисов от практиков Как подписать проектную документацию УКЭП с использованием бесплатных лицензий Pilot Адаптивное администрирование Sigla Vision Я грузил уран в бочки, а потом 20 лет строил ИТ в атомной отрасли Чем позвонить с Эвереста? История и обзор спутниковой связи. Часть 2 Как языковая модель помогает контролировать качество инструктажей по охране труда в металлургии Как не передать на desktop свой IP в РКН Анатомия SAP Privileges: как устроено управление правами в macOS MoneyDev: Сказка про три главных слова Обновлённый токенизатор видео K-VAE 2.0 от Сбера Как сделать диспетчеризацию дома на 1284 квартиры почти бесплатно Как мы разогнали железную дорогу Мы дали агентам рутину. Теперь надо решить — что делать с освободившимся временем Токсичный контент, промпт-хакинг и защита ИИ — всё о Guardrails для LLM Умный город начинается с точного взгляда: как «Фалькон Тех» меняет пространство к лучшему Навайбкодил приложение для анализа графов Почему Дюну так интересно читать? Упрощаем работу с рутиной или как стать Гендальфом Белым Деконструкция Go: CPU, RAM и что там происходит. Go Assembler база. Часть 1.1 Какие профессии исчезнут из-за ИИ, а какие появятся? И что с этим делать Как мы построили IT-отдел, где хочется расти: архитектурные встречи, прозрачные метрики и книжные подарки Rufler: Делаем из Claude Code автономный рой через один YAML-конфиг Sing-box и белый список приложений Как построить надёжный обмен сообщениями в микросервисах: лучшие практики для enterprise OpenAI строит MLM-пирамиду, а McKinsey и Accenture помогают ей в этом Дом, который не построил Фишер (Часть 2) «Сверхзвуковой математик» против «Вдумчивого логиста»: битва алгоритмов 3D-упаковки Мультимодальные модели – грубый и дорогой инструмент Разговоры ничего не стоят. Код тоже Проверки физических лиц: с кого начнет ФНС Топ-10 бесплатных нейросетей для создания видео в 2026 году Первые слои кода: как наши решения сегодня определяют архитектуру ИИ на десятилетия Разработка нового статического анализатора: PVS-Studio JavaScript Поиск уязвимостей ПО: базовый минимум или роскошный максимум Почему оценка персонала не работает как инструмент управления Как мы разработали ИИ-ассистента и сократили рутину продуктовой команды на 50% Как я ушел из найма, нажарил косточек и продал на маркетплейсах на 168 млн в год Когда 1С:ERP уже внедрена, а нормального производственного плана всё ещё нет Как я сделал Claude мультимодальным, подключив к нему Qwen Omni Как приглашение на вакансию мечты превращается в атаку Infrastructure as Code: философия и лучшие практики IaC Тестируем Yandex Code Assistant на задаче, в которой нужно хранить секреты nxs-universal-chart v3.0: новое поколение универсального Helm-чарта Callback Injection: Техника, которая отправила Microsoft Defender в глухой нокаут «Все идеи на стол»: митап как способ вывести проект из тупика Сегодня я узнал нечто новое о GPU благодаря багу в своей игре Как заставить LLM ̶ ̶г̶а̶л̶л̶ю̶ ̶ эволюционировать Карта событий как фундамент аналитики: практический кейс для E-commerce Что выбрать для AI: x86, ARM или RISC-V? Дайджест железа за март Роль соматических мутаций в развитии аутоиммунных заболеваний: путь к избирательной терапии Mythos от Anthropic — тревожный сигнал для всех, а не только для банков Guardrails для LLM на Java: как приручить промпт‑инъекции и токсичные ответы Green-VLA: как мы собрали VLA-модель для реального антропоморфного робота и не потеряли обобщение Финансовая гонка вооружений: почему умные люди добровольно в ней участвуют Эра ИИ-агентов наступила: выбираем лучшего цифрового сотрудника # Практический опыт внедрения WinCC Redundancy на производственном предприятии Сделал MVP за 3 дня, а потом неделю прикручивал оплату. Оно того стоило? Физика против Маска: почему Starship V3 может оказаться ещё одной катастрофой Нефть Венесуэлы: крупнейшие запасы в мире, но не крупнейшая нефтяная держава JPA 4. Переосмысление Hibernate Почему зеркальная фотокамера Nikon D5 десятилетней давности идеально подошла для миссии «Артемида-2» Проект «Уровень-Спутник» или как мы сделали платформу для гидрологов «Замедлиться, чтобы ускориться»: почему ИИ повышает цену ошибок в требованиях и архитектуре Как с нуля поднять трафик IT-компании на 1657% при бюджете 55 тыс. и выжить Pixel-perfect Downsampling — идеальная отрисовка 50 миллионов точек без потерь
Как Сетунь обогнала время и проиграла кремнию
Артур Красный · 2026-05-08 · via Все публикации подряд на Хабре

Как Сетунь обогнала время и проиграла кремнию

5 мин

26K

Есть крайне занимательный факт. Двоичная логика, которую использует каждый современный процессор - математически не оптимальна и проигрывает тернарной по плотности представления данных. Но как так-то?

Аж в 1956 году Николай Брусенцов из Вычислительного центра МГУ взял этот факт всерьез и убедил академика Соболева дать ему лабораторию. Через три года машина работала.

Ее назвали Сетунь - по реке рядом с университетом. По итогу произвели около 50 штук (но тут, кстати, источники расходятся между цифрами 46 и 50). И к сожалению, больше ни одна серийная ЭВМ в мире на троичной логике не выходила.

Вот и разберемся - в архитектуре, цифрах и в том, куда это все делось.

Немного про необычные термины

Слово "бит" - это сокращение от binary digit, двоичная цифра. В троичной машине двоичных цифр нет, поэтому и единицы измерения другие.

Трит (ternary digit) - минимальная единица троичной информации. Принимает три значения: -1, 0 или +1. По информационной емкости 1 трит = log₂(3) ≈ 1.58 бита.

Трайт (tryte) - аналог байта. В Сетуни-70 - 6 тритов. Покрывает 729 значений против 256 у байта при схожей схемотехнике.

Симметричная троичная система (СТС) - позиционная система с основанием 3 и цифрами {-1, 0, +1}. Знак числа определяется старшим тритом автоматически. Отдельного знакового бита нет.

Оптимальное основание - это не 2

Для позиционной системы счисления с основанием r и n разрядами можно записать r^n чисел. Стоимость машины пропорциональна числу элементов - то есть r × n. Если минимизировать это произведение при фиксированном диапазоне чисел, производная обнуляется при r = e ≈ 2.718.

Двойка проигрывает. Тройка - ближайшее целое к e. С информационной точки зрения тернарная система на ~5% эффективнее двоичной по числу элементов при том же объеме данных. Не гигантский выигрыш, но при сотнях тысяч ячеек это реальная экономия железа.

Кроме того, в СТС знак числа встроен в саму арифметику. 18-тритное слово покрывает диапазон от -193 710 244 до +193 710 244 без отдельного знакового бита, без дополнительного кода, без ручных манипуляций со знаком. Просто работает.

Как реализовать трит на обычных элементах

Нормальных троичных транзисторов в 1950-е не было. Брусенцов взял за основу феррит-диодные ячейки Гутенмахера - бесконтактные магнитные усилители на ферритовом сердечнике с диодом. Никаких ламп в логической части. Только феррит и диод. Отсюда, собственно, и высокая надежность - феррит не перегорает как лампа.

Трит хранился как два двоичных разряда с запрещенной комбинацией:

  • 00 → значение -1

  • 01 → значение 0

  • 10 → значение +1

  • 11 → запрещено, не используется

Из четырех возможных состояний - три рабочих. Не настоящая троичная физика на трех уровнях напряжения, но функционально эквивалентно. И это работало.

Архитектура, которая удивляет даже сейчас

Слово - 18 тритов. Это примерно 29 двоичных бит. Инструкция делится на три части - 5 тритов на код операции, 1 трит на модификатор адреса, 12 тритов на сам адрес.

Модификатор адреса - тоже элегантная деталь. Один трит принимает три значения: -1, 0, +1. Если -1 - вычти индекс-регистр из адреса. Если 0 - без изменений. Если +1 - прибавь. Один разряд заменяет целый набор команд адресной арифметики.

Система команд - всего 24 инструкции. При теоретическом максимуме в 3^5 = 243 кода запас колоссальный. Но главное - условный переход. В двоичной машине нужно две команды: "перейти если ноль" и "перейти если не ноль". В Сетуни - одна команда с тремя исходами: меньше нуля, равно нулю, больше нуля. Сравнение возвращает не бит, а трит. И ветвление работает по нему напрямую.

Тут, кстати, и скрыто одно из реальных архитектурных преимуществ. Меньше команд на типовой управляющий код - меньше памяти, меньше декодирования, меньше ошибок.

Производительность - 4 500 операций в секунду при тактовой частоте 200 кГц. Сложение занимало 180 мкс, умножение - до 360 мкс.

Параметр

Сетунь (1959)

IBM 650 (1954)

БЭСМ-2 (1958)

Элементная база

Феррит-диод

Электронные лампы

Лампы + диоды (~9000 эл.)

Быстродействие

4 500 оп/с

~40 оп/с*

8 000 оп/с

Длина слова

18 тритов (~29 бит)

10 десятичных цифр

39 бит

ОЗУ

81 слово

60 слов (опц.)

2 048 слов

Надежность

Высокая

Низкая

Низкая

IBM 650 работала на магнитном барабане без быстрой памяти - реальная пропускная способность около 40 инструкций в секунду из-за ожидания нужной позиции барабана. Цифра в 1000 оп/с встречается в маркетинговых материалах IBM.

Это важный момент. Программисты на IBM 650 были вынуждены вручную раскладывать инструкции по позициям барабана - существовала целая техника оптимального программирования, чтобы следующая команда оказывалась под головкой чтения в нужный момент. Если не угадал - машина ждет. По сути, половина программистской работы уходила на борьбу с физикой барабана, а не на задачу.

У Сетуни этой проблемы не было - ферритовые сердечники отвечали за 180 мкс на сложение без всякого ожидания.

БЭСМ-2 быстрее - 4000 ламп и 5000 диодов давали 8000 операций в секунду. Но лампы горят. Реально горят, физически. Ламповые машины того времени требовали замены элементов каждые несколько дней, иногда чаще. При 4000 ламп в системе это постоянная работа технического персонала, запас расходников, простои. Сетунь на феррит-диодной базе работала без этого.

Память - двухуровневая. 81 слово на ферритовых сердечниках как быстрый буфер и магнитный барабан на 2 000 слов с постраничным обменом. Конкретно это давало возможность работать с данными, которые не влезают в быструю память - машина сама подкачивала нужные страницы с барабана. В 1959 году. Это прообраз кэша и виртуальной памяти, которые в учебниках датируются сильно позже.

Сетунь-70 - наша стековая машина за год до Forth

В 1970 году Брусенцов выпустил модернизацию. Архитектурно - полный разрыв с оригиналом, но, увы, ей не суждено было стать серийной и существовала она как исследовательский прототип.

Два аппаратных стека. Стек данных для вычислений и стек возвратов для подпрограмм. Никаких адресов операндов в командах. Программа - поток слогов в обратной польской записи. Это то, что сегодня называют стековой виртуальной машиной.

На ней создали ДССП - Диалоговую систему структурного программирования. Стек, словари, интерпретируемый режим, структурированные конструкции прямо в ISA. Практически то же, что Чарльз Мур сделал с языком Forth в 1968-1970 годах - только независимо и под троичную машину.

С учетом тех лет можно сказать, что это - не совпадение. Это одна и та же инженерная логика, до которой разные люди дошли примерно в одно время. В истории такое встречалось достаточно часто.

А почему производство закрыли?

Кремниевый транзистор к середине 1960-х изменил экономику вычислений. Физика транзистора заточена под два состояния - открыт или закрыт. Три уровня на кремнии требуют дополнительной схемотехники, точных порогов напряжения и дают нестабильность при температурных дрейфах. Феррит-диодная база Сетуни это обходила, но к кремниевым интегральным схемам приспособить троичную логику оказалось нетривиально.

Советская программа ЕС ЭВМ, запущенная в 1968 году, взяла курс на совместимость с IBM System/360. Двоичная архитектура, стандартизация под западные разработки. Оригинальные проекты, в том числе Сетунь, к сожалению, финансировались по остаточному принципу.

Последний экземпляр Сетуни сошел с конвейера Казанского завода математических машин в 1965 году. 

Брусенцов продолжал работать до 2014 года - до последнего. Писал статьи, доказывал, что мир свернул не туда.

Возможно, был прав. В 2025-2026 году весь разговор про BitNet b1.58 от Microsoft, получается, фактически тот же вопрос - что если считать не в FP16, а в {-1, 0, +1}? Круг замкнулся, просто через 60 лет и на другом железе.

Коммерческих чипов с нативной тернарной арифметикой по-прежнему нет. 

Мы разбирали это подробнее в отдельном материале - что такое однобитные и тернарные нейросети, как работает BitNet b1.58 и где это всё сейчас находится.