Почему не троичные компьютеры?

Автор: Roger Morrison
Дата создания: 22 Сентябрь 2021
Дата обновления: 10 Май 2024
Anonim
Советская троичная Сетунь и американский ENIAC
Видео: Советская троичная Сетунь и американский ENIAC

Содержание



Источник: Линлео / Dreamstime.com

вынос:

В троичных вычислениях используются триты с тремя состояниями, а не два состояния. Несмотря на преимущества этой системы, она используется редко.

Фрай: «Бендер, что это?»

Бендер: «Ах, какой ужасный сон. Единицы и нули везде ... и я думал, что видел двоих!

Фрай: «Это был просто сон, Бендер. Там нет такого понятия, как два.

Любой, кто знаком с цифровыми вычислениями, знает о нулях и единицах, включая персонажей мультфильма «Футурама». Нули и единицы - это строительные блоки бинарного языка. Но не все компьютеры являются цифровыми, и ничто не говорит о том, что цифровые компьютеры должны быть двоичными. Что если бы мы использовали систему base-3 вместо base-2? Может ли компьютер представить себе третью цифру?

Как отметил эссеист по компьютерным наукам Брайан Хейс, «Люди считают десятками, а машины - двойками». Несколько смельчаков осмелились рассмотреть троичную альтернативу. Луи Хауэлл предложил язык программирования TriINTERCAL с использованием системы нумерации base-3 в 1991 году. А российские новаторы построили несколько десятков машин base-3 более 50 лет назад. Но по какой-то причине система нумерации не получила широкого распространения в компьютерном мире.


Взгляд на математику

Учитывая ограниченное пространство здесь, мы просто коснемся нескольких математических идей, чтобы дать нам некоторое представление. Для более глубокого понимания предмета взгляните на превосходную статью Хейса «Третья база» в выпуске «American Scientist» за ноябрь / декабрь 2001 года.

Теперь давайте посмотрим на условия. Вы, наверное, уже поняли (если вы еще не знали), что слово «троичный» связано с числом три. Как правило, что-то троичное состоит из трех частей или подразделений. Тройная форма в музыке - это песенная форма, состоящая из трех частей. В математике троичное означает использование трех в качестве основы. Некоторые люди предпочитают слово «тройной», возможно, потому что оно рифмуется с двоичным.

Джефф Коннелли рассматривает еще несколько терминов в своей статье «Трехкомпонентная компьютерная архитектура Tritary Computing Testbed 3-Trit» в 2008 году. Если бит - это двоичная цифра, которая может иметь одно из двух значений, тогда трита - это троичная цифра, которая может иметь любое из трех значений. Трит - это одна цифра от основания до 3. «Трите» будет 6 тритов. Коннелли (и, возможно, никто другой) определяет «трибл» как половину трит (или одну цифру от 27 до 27), а одну цифру из 9 с базой он называет «нит». (Подробнее об измерении данных см. «Понимание битов, байтов»). и их кратные.)


Нет ошибок, нет стресса - ваше пошаговое руководство по созданию изменяющего жизнь программного обеспечения без разрушения вашей жизни


Вы не можете улучшить свои навыки программирования, когда никто не заботится о качестве программного обеспечения.

Все это может стать немного подавляющим для математических мирян (таких как я), поэтому мы просто рассмотрим другую концепцию, которая поможет нам понять цифры. Троичные вычисления имеют дело с тремя дискретными состояниями, но сами троичные цифры могут быть определены по-разному, согласно Коннелли:

  • Несбалансированный тринарий - {0, 1, 2}
  • Дробный несбалансированный тринарий - {0, 1/2, 1}
  • Сбалансированный тринарий - {-1, 0, 1}
  • Логика неизвестного состояния - {F,?, T}
  • Двоичный код двоичного кода - {T, F, T}

Троичные компьютеры в истории

Здесь нечего освещать, потому что, как сказал Коннелли, «технология Trinary является относительно неисследованной территорией в области компьютерной архитектуры». Хотя может быть скрытое сокровище университетских исследований по этому вопросу, не так много компьютеров Base-3 сделали это. в производство. На суперконференции Hackaday 2016 года Джессика Танк выступила с докладом о троичном компьютере, над которым она работала последние несколько лет. Будут ли ее усилия расти из неизвестности, еще неизвестно.

Но мы найдем немного больше, если оглянемся на Россию в середине 20-х годов.го века. Компьютер назывался SETUN, а инженером был Николай Петрович Брусенцов (1925–2014). Работая с известным советским математиком Сергеем Львовичем Соболевым, Брусенцов создал исследовательскую группу в МГУ и разработал троичную компьютерную архитектуру, которая позволила бы построить 50 машин. Как отмечает исследователь Эрл Т. Кэмпбелл на своем веб-сайте, SETUN «всегда был университетским проектом, который не был полностью одобрен советским правительством и с подозрением воспринимался руководством завода».

Дело за тройной

SETUN использовал сбалансированную троичную логику, {-1, 0, 1}, как отмечено выше. Это общий подход к троице, и он также обнаружен в работах Джеффа Коннелли и Джессики Танк. «Возможно, самой красивой системой счисления из всех является сбалансированная троичная система обозначений», - пишет Дональд Кнут в отрывке из своей книги «Искусство компьютерного программирования».

Брайан Хейс также большой поклонник троичного. «Здесь я хочу предложить три приветствия для базы 3, троичной системы. … Они являются выбором Златовласки среди систем нумерации: когда база 2 слишком мала, а база 10 слишком велика, база 3 как раз подходит ».

Один из аргументов Хейса о достоинствах base-3 заключается в том, что это самая близкая система нумерации к base-e, «основание натуральных логарифмов с числовым значением около 2.718». С математическим мастерством эссеист Хейс объясняет как base-e (если бы это было практично) была бы наиболее экономичной системой нумерации. Это вездесущий характер. И я отчетливо помню слова мистера Робертсона, моего учителя химии в старшей школе: «Бог считает е».

Большую эффективность троичного по сравнению с двоичным можно проиллюстрировать с помощью компьютера SETUN. Хейс пишет: «Сетун оперировал числами, состоящими из 18 троичных цифр, или триц, давая машине числовой диапазон 387 420 489. Бинарному компьютеру потребуется 29 бит, чтобы достичь этой емкости…

Так почему не троичный?

Теперь вернемся к исходному вопросу статьи. Если троичные вычисления намного эффективнее, почему мы не используем их все? Один из ответов заключается в том, что такого не произошло. Мы настолько далеко продвинулись в бинарных цифровых вычислениях, что было бы довольно сложно повернуть назад.Подобно тому, как робот Бендер не знает, как считать от нуля до единицы, современные компьютеры работают в логической системе, отличной от той, которую использует любой потенциальный троичный компьютер. Конечно, Бендера можно было как-то заставить понимать троичный, но это скорее было бы скорее симуляцией, чем редизайном.

И, по словам Хейса, сам SETUN не осознавал большей эффективности троичной системы. Он говорит, что поскольку каждый трит хранился в паре магнитных сердечников, «троичное преимущество было растрачено». Кажется, что реализация так же важна, как и теория.

Расширенная цитата от Хейса кажется подходящей здесь:

Почему база 3 не завоевала популярность? Легко догадаться, что надежных устройств с тремя состояниями просто не существовало или их было слишком сложно разработать. И как только бинарная технология утвердилась, огромные инвестиции в методы изготовления бинарных чипов превзошли бы любое небольшое теоретическое преимущество других баз.

Система нумерации будущего

Мы говорили о битах и ​​тритах, но вы слышали о кубитах? Это предлагаемая единица измерения для квантовых вычислений. Математика становится немного нечеткой здесь. Квантовый бит, или кубит, является самой маленькой единицей квантовой информации. Кубит может существовать в нескольких состояниях одновременно. Таким образом, хотя он может представлять больше, чем просто два состояния двоичного кода, он не совсем совпадает с троичным. (Чтобы узнать больше о квантовых вычислениях, см. Почему квантовые вычисления могут стать следующим поворотом на шоссе больших данных.)

И вы думали, что двоичные и троичные были трудны! Квантовая физика не является интуитивно очевидной. Австрийский физик Эрвин Шредингер предложил мысленный эксперимент, известный как кот Шредингера. Вас просят на минуту представить сценарий, в котором кошка жива и мертва одновременно.

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

Суперпозиция кубитов открывает новый мир возможностей. Ожидается, что квантовые компьютеры будут экспоненциально быстрее, чем двоичные или троичные компьютеры. Параллелизм множественных состояний кубита может сделать квантовый компьютер в миллионы раз быстрее, чем современный ПК.

Заключение

До того дня, когда революция квантовых вычислений все изменит, статус-кво бинарных вычислений останется. Когда Джессику Танк спросили, какие варианты использования могут возникнуть для троичных вычислений, аудитория застонала, услышав ссылку на «Интернет вещей». И это может быть суть вопроса. Если компьютерное сообщество не согласится по очень веской причине расстроить корзину с яблоком и попросит, чтобы их компьютеры считали по три, а не по двое, роботы, такие как Бендер, будут продолжать думать и мечтать в двоичном формате. Между тем, век квантовых вычислений находится за горизонтом.