Троичный АЦП

Уравновешенная троичная система счисления - форум переехал с http://ternary.info

Moderator: haqreu

Mac Buster
Retired
Posts: 1474
Joined: 03 Aug 2003 22:37
Location: Moscow

Re: Троичное АЦП

Post by Mac Buster »

К слову, а можно ли как-то сравнить сложность двоичного и троичного процессора? Если взять минимальный набор команд и реализовать для них двоичное и троичное железо?
Сложное и неоднозначное это дело. Даже если взять к примеру простейший вариант - (Z)OISC-процессор, то это потребует немало времени на создание прототипов для сравнения. Кроме того, что и как вы планируете сравнивать: число элементов и связей, производительность, что-то ещё?

В целом лично мне было бы интересно принять посильное частие. А какую роль вы готовы взять на себя в этом проекте?
User avatar
Shaos
Admin
Posts: 24007
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: Троичное АЦП

Post by Shaos »

kvt wrote: Для создания 8-ми разрядного сумматора требуется 144 гейта (примеры в книге базирутся на обычных реле). Можно ли оценить сложность троичного сумматора на 5 разрядов?
Даже двоичные сумматоры могут быть разные. Во-первых, можно ли считать одним гейтом элемент исключающее-или (сложение по модулю два)? Во-вторых, строя сумматор должны ли мы добиваться минимального количества элементов (обычный многоразрядный сумматор с последовательным переносом) либо максимального быстродействия (многоразрядный сумматор со схемой быстрого параллельного переноса)?
sva

Re: Троичное АЦП

Post by sva »

я полагаю адекватной оценкой было сравнение удельной производительности - соотношения производительности к кол-ву транзисторов (! не вентилей) или площади топологии на одном техпроцессе

а для этого надо выполнить алгоритм одинаковой сложности на обоих устройствах
при этом и алгоритмическая эффективность реализации должна быть сравнима

в общем сдается мне что это будет возможно только после перового живого камня ;)
Mac Buster
Retired
Posts: 1474
Joined: 03 Aug 2003 22:37
Location: Moscow

Re: Троичное АЦП

Post by Mac Buster »

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

Re: Троичное АЦП

Post by sva »

так алгоритмы работы и в двоичном и в троичном вычислителе разные

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

Re: Троичное АЦП

Post by kvt »

Сложное и неоднозначное это дело. Даже если взять к примеру простейший вариант - (Z)OISC-процессор, то это потребует немало времени на создание прототипов для сравнения. Кроме того, что и как вы планируете сравнивать: число элементов и связей, производительность, что-то ещё?

В целом лично мне было бы интересно принять посильное частие. А какую роль вы готовы взять на себя в этом проекте?
Даже не знаю. Пока что я не смог сформулировать для себя проект достаточно убедительным образом, чтобы им серъезно заниматься.

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

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

Другой простой пример - определение знака числа. В двоичной системе для того, чтобы определить знак, достаточно посмотреть состояние одного определенного бита. В троичной нужно просканировать число от старшего разряда до первого ненулевого. Если делать это схемотехнически - получим сложную схему. Если программно - потеряем скорость.
Mac Buster
Retired
Posts: 1474
Joined: 03 Aug 2003 22:37
Location: Moscow

Re: Троичное АЦП

Post by Mac Buster »

Другой простой пример - определение знака числа. В двоичной системе для того, чтобы определить знак, достаточно посмотреть состояние одного определенного бита.
Тут вы заблуждаетесь, т.к. при таком подходе вы запросто получите +0 и -0, чего в природе не существует. Для полноценного определения знака числа необходимо так же проверять это число на 0.
В троичной нужно просканировать число от старшего разряда до первого ненулевого.
Снова усложняете - достаточно сравнить его с нулем, и в результате получим -, 0 и +.
User avatar
Shaos
Admin
Posts: 24007
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: Троичное АЦП

Post by Shaos »

Mac Buster wrote:
Другой простой пример - определение знака числа. В двоичной системе для того, чтобы определить знак, достаточно посмотреть состояние одного определенного бита.
Тут вы заблуждаетесь, т.к. при таком подходе вы запросто получите +0 и -0, чего в природе не существует. Для полноценного определения знака числа необходимо так же проверять это число на 0.
ну если взять 0 как число положительное (как принято считать), то действительно достаточно лишь прочекать один бит
Mac Buster wrote:
В троичной нужно просканировать число от старшего разряда до первого ненулевого.
Снова усложняете - достаточно сравнить его с нулем, и в результате получим -, 0 и +.
сравнение - это тоже вычитание, но без сохранения результата - сложновато, я в своё время придумал более простую схему на ключах (можно поробовать на оптопарах её построить)

вот то что в троичном сбалансированном коде делается действительно проще чем в двоичном, так это отрицание (троичная инверсия) и проверка на кратность 3 (и вообще 3^n) :-D
kvt

Re: Троичное АЦП

Post by kvt »

ну если взять 0 как число положительное (как принято считать), то действительно достаточно лишь прочекать один бит
Если исходить из строго математического подхода, то у ноля знака нет (http://ru.wikipedia.org/wiki/0_%28%D1%8 ... B%D0%BE%29) и в этом смысле троичная система более строга, нежели двоичная. Но с практической точки зрения действительно можно считать ноль положительным.
sva

Re: Троичное АЦП

Post by sva »

а что мешает таскать с данными тэги?
в них можно заложить не только информацию о знаке но и кой чего ещё, к примеру информацию о типе данных
главное при этом проследить чтобы тег имел разумный размер
User avatar
Shaos
Admin
Posts: 24007
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: Троичное АЦП

Post by Shaos »

Shaos wrote:А вот и схема:

Image

Это модуль троичного АЦП, который генерирует один трит и аналоговую ошибку, которую надо передать на вход следующего модуля. Как видно один модуль АЦП состоит из двух компараторов и двух операционников. В окончательной схеме по-видимому надо добавить еще по одному операционнику на трит - чтобы буферизировать выходы (ну или можно двухтранзисторные буфера приделать). Схема нарисована и отлажена в программе MULTISIM.
Shaos wrote:
Mac Buster wrote: Очень красиво :-) Один вопрос: а где там что ? :-)
Ну вобщем аналоговый сигнал подается слева внизу - там где генератор синусоиды нарисован. Сигнал подается на инвертирующий операционный усилитель с коэффициентом усиления 1. Потом идём на троичный инвертор на двух компараторах и двух диодах (слева вверху) с порогами срабатывания -U/3 и +U/3. Выход троичного инвертора подается на суммирующий операционный усилитель с инверсией, считающий по следующей формуле:

Uout = -3*(-Uin) - 2*Uinv3 = 3*Uin - 2*Uinv3

где -Uin - инвертированный входной сигнал, а Uinv3 - выход троичного инвертора (троично инветрирующий аналогово инвертированный входной сигнал).

Выход троичного инвертора (точка между двумя диодами, с которой идет сигнал на вольтметр) является выходом вычисленного трита.

Выход вычисляющего операционника Uout можно считать ошибкой вычисления, нормализованной до всего диапазона -U...+U. Эту ошибку вычисления можно подавать на следующий точно такой же модуль в качестве входного сигнала для вычисления следующего трита и получения следующей ошибки, подаваемой далее и т.д.
Надо чтоли уже построить сиё в железе (причём сразу 3-тритный вариант) да проверить работает ли как ожидалось (почти 12 лет назад) :roll:
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
Lavr
Supreme God
Posts: 16680
Joined: 21 Oct 2009 08:08
Location: Россия

Re: Троичное АЦП

Post by Lavr »

А в чем это ты АЦП "нарисовал"? :wink: Очень смахивает на мультисим...
iLavr
User avatar
Shaos
Admin
Posts: 24007
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: Троичное АЦП

Post by Shaos »

Lavr wrote:А в чем это ты АЦП "нарисовал"? :wink: Очень смахивает на мультисим...
ну дык
Shaos wrote:Схема нарисована и отлажена в программе MULTISIM
правда это демо-версия была, которая шла к книжке (американской) про мультисим, и в этой версии было запрещено сохранение - так что я 15 февраля 2006 года много-много часов отлаживался, потом сфоткал с экрана рабочий вариант и закрыл прогу, уничтожив созданное...

P.S. интересно, что я со стародавних времён называю АЦП "оно", хотя это "он" (преобразователь) как собственно и ЦАП, однако мозг всё равно ассоциирует его с "оно" (видимо потому что "ацэпэ" почти как "солнце", которое оно, а вот "цап" - вроде как он)
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
Lavr
Supreme God
Posts: 16680
Joined: 21 Oct 2009 08:08
Location: Россия

Re: Троичное АЦП

Post by Lavr »

Shaos wrote:
Lavr wrote:А в чем это ты АЦП "нарисовал"? :wink: Очень смахивает на мультисим...
ну дык
Shaos wrote:Схема нарисована и отлажена в программе MULTISIM
Да ты уж меня просто как-то почти убедил, что не любишь всяких EWB и MULTISIM-ов... :wink:
А тут я вдруг увидел знакомую пиктограмму осциллографа - и очень удивился! :o
iLavr
User avatar
Shaos
Admin
Posts: 24007
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: Троичное АЦП

Post by Shaos »

Угу - не люблю :roll:
Но тогда выхода другого небыло
Я тут за главного - если что шлите мыло на me собака shaos точка net