Уравновешенное троичное представление имеет интересную особенность: поскольку оно уравновешенное, то содержит как положительные, так и отрицательные значения. То есть можно в некоторых алгоритмах добиться существенного прироста, например при сжатии. Здесь не нужно всегда только увеличивать словарь - в какой-то момент его можно и уменьшать. Это тоже даст небольшой выигрыш. Результат сжатия файла будет поменьше, чем у двоичного с тем же самым алгоритмом.
- Говорят ещё про удачное применение в механике, где троичный разряд описывает не только наличие тока, но и направление вращения ротора.
- Да, по своей природе уравновешенная троичная система исчисления позволяет обозначить одним разрядом не только включение и выключение мотора, но и включение со вращением в одну сторону и включение со вращением в другую сторону. Например, минус один - налево, плюс один - направо, ноль - не крутить вообще. Это удобнее, чем в двоичной системе, где сначала надо задать направление, а потом включить двигатель. На одно действие меньше.
- Если бы сегодня было возможно создать троичные процессоры, в какой области они пригодились бы?
- Это, прежде всего, обработка статистической информации. Там математика, где требуется работа с большими числами с высокой точностью. В принципе, никто не мешает сделать троичную машину, где будет неограниченное количество разрядов в числе, и оперировать с ней будет проще, просто принимая во внимание природу уравновешенного кодирования, где округление и некоторые другие операции выполняются значительно проще и экономнее.
- Сейчас очень актуален поиск и распознавание образов - в них троичная логика пригодилась бы?
- Да, именно там. В области обработки цифровых сигналов применяется знакоразрядная система, которая по сути своей эмулирует троичное представление просто на двоичных компонентах. Если будет готовое достаточно быстрое "железо", для того чтобы выполнять эти алгоритмы достаточно эффективно, то я думаю, именно троичная реализация окажется предпочтительнее.
- Со стороны это выглядит странно: с одной стороны, делается что-то новое, но речь в основном о старинном, давно не используемом компьютере. Кроме разработки эмулятора есть ли какие-то попытки сделать работающий троичный компьютер?
- Да, элементная база, к сожалению, осталась старая. Это большая проблема, а поиск новых компонентов, пригодных для этого, затруднён: единственное, что можно делать, - рассматривать большое количество элементов и пытаться понять, подходят они или нет. За несколько лет удалось подобрать только два элемента - операционные усилители, КМОП-ключи 403. И ещё некоторые оптические компоненты. На заказ сделать, конечно, можно, но кто будет этим заниматься? Если делать микросхемы, то нужно обращаться в Зеленоград и пытаться оформить какой-нибудь минимальный заказ, чтобы посмотреть. Это можно сделать, но бесплатно никто работать не станет, а будет ли дальнейшее развитие - неясно. К тому же процесс выпуска серии микросхем нас задержит на некоторое время.
- Есть ли шанс, что новые троичные компьютеры окажутся выгоднее обычных?
- Поначалу, конечно, нет. Придётся ведь всё разрабатывать с нуля, начиная с элементной базы. Чтобы это оправдалось, нужен большой прирост эффективности при обработке данных.
- Ну зато можно будет работать на реальном "железе". Или на современных двоичных процессорах эмуляция будет работать быстрее, чем машина на неких малотиражных элементах?
- Здесь вопрос доступности. Если ты выпускаешь элемент, тебе его нужно сначала получить, потом припаять. А эмулятор - собрал и запустил. Не нужно никаких дополнительных усилий для того, чтобы посмотреть, как всё работает.
- Но если вдруг появится какая-то элементная база, которая дает это естественным образом, сразу все старые наработки сразу пригодятся, так?
- Да, всё можно достаточно быстро адаптировать. Это один из вариантов будущего. Когда упрётся прирост производительности нынешней архитектуры, почему не пойти по пути расширения количества разрядов разрядности? Ну и ещё есть квантовые компьютеры, они тоже оперируют не всегда двоичными данными, здесь может оказаться больше возможностей.
Читайте также:Tertium datur: другие компьютеры. Полвека назад на эволюционном древе вычислительной техники появилась особая ветвь - ЭВМ, в основе которых лежала логика, отличающаяся от двоичной. Их разработали в МГУ.
Полезные ссылки
• Основные русские ресурсы по изучению истории, разработке троичной вычислительной техники, алгоритмов и по троичной логике: ternarycomp.cs.msu.ru, ternary.info, trinary.ru
• История создания "Сетуни" и "Сетуни-70" в "Виртуальном компьютерном музее"
• Попытка создания аппаратной имитации троичной ЭВМ на двоичных компонентах (фактически программная имитация внутри широко распространённой модели микроконтроллера)
• Проект "Тунгуска" - интересное применение архитектурных принципов микропроцессора 6502 и компьютера "Commodore-64", но с использованием симметричного троичного кода
• Симулятор "Сетуни"