Почему бинарные, а не троичные вычисления? - PullRequest
68 голосов
/ 19 апреля 2009

Разве объект с тремя состояниями не способен немедленно хранить больше информации и обрабатывать большие значения? Я знаю, что процессоры в настоящее время используют массивные сети вентилей XOR, и это должно быть переработано.

Поскольку мы находимся на 64-битной (мы можем представить 2 ^ 63 возможных состояниях), вычисление эквивалентного троичного поколения может поддерживать число с еще 30-ю десятками log (3 ^ 63-2 ^ 63).

Я полагаю, что определить разницу потенциалов между +1 и 0 так же легко, как и между -1 и 0.

Будет ли некоторая сложность аппаратного обеспечения, энергопотребления или плотности микросхем компенсировать какой-либо выигрыш в хранении и вычислительной мощности?

Ответы [ 17 ]

59 голосов
/ 19 апреля 2009
  • Гораздо сложнее создавать компоненты, в которых используется более двух состояний / уровней / чего угодно. Например, транзисторы, используемые в логике, либо закрыты и не работают вообще, либо широко открыты. Полуоткрытое открытие потребовало бы гораздо большей точности и использования дополнительной мощности. Тем не менее, иногда больше состояний используется для упаковки большего количества данных, но редко (например, современная флэш-память NAND, модуляция в модемах).

  • Если вы используете более двух состояний, вам нужно быть совместимым с бинарным, потому что остальной мир использует его. Три вышли, потому что преобразование в двоичный код потребует дорогостоящего умножения или деления с остатком. Вместо этого вы переходите непосредственно к четырем или более высокой степени двух.

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

37 голосов
/ 05 сентября 2011

Много дезинформации здесь. Двоичный имеет простой выключатель. Trinary / Ternary может использовать один из 2 режимов: Сбалансированный или -1, 0, +1 или несбалансированный 0, 1, 2, но он не просто включен или выключен, или, что более правильно, имеет 2 состояния «включено».

С расширением оптоволоконного оборудования и расширением аппаратного обеспечения троичные устройства фактически приведут нас в более широкое и быстрое состояние за гораздо меньшую стоимость. Можно по-прежнему использовать современное кодирование (так же, как 32-разрядное программное обеспечение все еще можно использовать на 64-разрядном оборудовании) в сочетании с более новыми троичными кодами, по крайней мере, на начальном этапе. Просто нужно раннее аппаратное обеспечение, чтобы проверить, какая часть информации поступает, или программное обеспечение, чтобы объявить заранее, если это бит или пустяк. Код может быть отправлен через 3 части за один раз вместо современных 2 для той же или меньшей мощности.

При использовании волоконно-оптического оборудования вместо современного двоичного процесса включения / выключения он будет определяться как 0 = выключен, а два других переключателя - как ортогональные поляризации света. Что касается безопасности, это на самом деле может быть сделано значительно более безопасным для индивидуума, так как каждый ПК или даже пользователь настроен на конкретные поляризационные «спецификации», которые должны отправляться / приниматься только между пользователем и пунктом назначения. То же самое касается «ворот» с другим оборудованием. Они не должны быть больше, просто выберите 3 варианта вместо 2.

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

Если сравнивать напрямую, троичный является целочисленной базой с наибольшей экономикой радиуса, за которой следуют двоичный и четвертичный. Даже некоторые современные системы используют тип троичной логики, то есть SQL, который реализует троичную логику как средство обработки содержимого поля NULL. SQL использует NULL для представления отсутствующих данных в базе данных. Если поле не содержит определенного значения, SQL предполагает, что это означает, что фактическое значение существует, но в настоящее время значение не записывается в базу данных. Обратите внимание, что отсутствующее значение не совпадает ни с числовым значением нуля, ни с строковым значением нулевой длины. Сравнение чего-либо с NULL - даже с другим NULL - приводит к НЕИЗВЕСТНОМУ состоянию истины. Например, выражение SQL "City = 'Paris'" преобразуется в FALSE для записи с "Chicago" в поле City, но преобразуется в UNKNOWN для записи с полем NULL City. Другими словами, для SQL неопределенное поле представляет потенциально любое возможное значение: отсутствующий город может представлять или не представлять Париж. Именно здесь используется троичная логика с современными бинарными системами, хотя и грубыми.

16 голосов
/ 19 апреля 2009

Конечно, мы сможем хранить больше данных на бит, как наша десятичная система счисления может хранить гораздо больше данных в одной цифре.

Но это также увеличивает сложность. Двоичный код ведет себя очень хорошо во многих случаях, что делает его удивительно простым в управлении. Логика для двоичного сумматора намного проще, чем для троичных чисел (или, если на то пошло, десятичных).

Вы не сможете волшебным образом хранить или обрабатывать больше информации. Аппаратное обеспечение должно быть настолько большим и сложным, что более чем компенсирует большую емкость.

10 голосов
/ 19 апреля 2009

Вам следует прочитать статьи о русском троичном компьютере:

9 голосов
/ 19 апреля 2009

Во многом это связано с тем фактом, что в конечном итоге биты представляются в виде электрических импульсов, и легче создавать аппаратные средства, которые просто различают «заряженный» и «не заряженный», и легко обнаруживать переходы между состояниями. Система, использующая три состояния, должна быть немного более точной в различении между «заряженным», «частично заряженным» и «бесплатным». Кроме того, «заряженное» состояние не является постоянным в электронике: энергия начинает со временем «истекать», поэтому «заряженное» состояние изменяется по фактическому «уровню» энергии. В системе с 3 состояниями это также необходимо учитывать.

7 голосов
/ 19 апреля 2009

Ну, во-первых, единицы информации не меньше, чем бит. работа с битами - это самый основной и фундаментальный способ обработки информации.

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

В сторону: Ваша математика немного не в порядке. в 64-значном трехзначном числе приблизительно 101,4 двоичной цифры. Объяснение: наибольшее 64-значное трехзначное число - 3433683820292512484657849089280 (3 ^ 64-1). для представления этого в двоичном формате требуется 102 бита: 101011010101101101010010101111100011110111100100110010001001111000110001111001011111101011110100000000

Это легко понять, log2 (3 ^ 64) примерно 101,4376

4 голосов
/ 09 сентября 2011

Существуют также теории, которые предполагают, что волоконная оптика могла бы использовать световые частоты (т.е. цвет) для дифференциации состояний, тем самым позволяя почти бесконечному (в зависимости от разрешения блока обнаружения) числу базовых возможностей.

Логические ворота, безусловно, платные для любой базы, но давайте для примера рассмотрим тринарий:

Для тройного гейта XOR он может быть исключительным для одного (или любого) из трех состояний, которые он сравнивает, ИЛИ для одного из трех других состояний. Он также может связать два из трех состояний вместе для двоичного вывода. Возможности увеличиваются буквально по экспоненте. Конечно, это потребует более сложного аппаратного и программного обеспечения, но сложность должна уменьшить размер и, что более важно, мощность (считайте тепло). Говорят даже об использовании трины в нано-вычислительной системе, где есть микроскопический «удар,« дыра »или« неизменный »для представления трех состояний.

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

3 голосов
/ 31 декабря 2012

Ответ Screwball является правильным и исправляет некоторые из искажений, предлагаемых здесь. Те, кто ответил о дробных положительных значениях, полностью пропустили концепцию троичной системы, которая основана на 0, +1 и -1. Впервые построенная русскими в 1950-х годах, конкуренция между СССР и США была интенсивной. Я подозреваю, что политика между ними была во многом связана с возможной популярностью бинарного файла США над троичным СССР.

Из того, что я прочитал, используются некоторые троичные компьютеры. У Москвы есть кое-что, что используется в их университете, а у IBM - в лабораториях. Есть ссылки на других, но я не мог различить, насколько они серьезны, или если они только для экспериментов или игры. Очевидно, их гораздо дешевле построить, и они используют гораздо меньше энергии для работы.

3 голосов
/ 19 апреля 2009

Тройной эквивалент «бита» вызвал слишком много возмущения!

2 голосов
/ 24 марта 2011

Еще одно серьезное препятствие заключается в том, что существует гораздо большее количество логических операций, которые необходимо определить. Количество операторов определяется по формуле b ^ (b ^ i), где b - основание, а i - количество входов. Для двоичной системы с двумя входами это работает с 16 возможными операторами. Не все это обычно реализуется в воротах, и некоторые ворота охватывают более одного условия, однако все они могут быть реализованы с тремя или менее стандартными воротами. Для тройной системы с двумя входами это число намного выше примерно в 1968 году. Хотя некоторые из этих ворот будут похожи друг на друга, в конечном счете, возможность проектировать основные схемы вручную будет практически невозможна. В то время как даже студент-первокурсник инженерного искусства способен проектировать основные двоичные схемы в своей голове.

...