Троичный сумматор

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

Moderator: haqreu

User avatar
BEPTEP
Doomed
Posts: 374
Joined: 09 Apr 2025 01:49

Re: Троичный сумматор

Post by BEPTEP »

Shaos wrote: 09 Jan 2026 15:30 Про MIN и MAX вот тут например было: viewtopic.php?p=1699#p1699
Спасибо! Буду курить. Пока что ничего не понял, в чём именно их важность в логике троичных вычислений или преобразований.
Что характерно, МИН на МАХ меняется при помощи инвертора, и наоборот. Двоичность классическая налицо :ebiggrin:

MAX есть отрицание MIN.
MIN есть отрицание MAX.
User avatar
Shaos
Admin
Posts: 24880
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: Троичный сумматор

Post by Shaos »

Неа - один инвертор тут не поможет
MAX в MIN (и обратно) просто так не переделать
Тут надо 3 инвертора ;)
Собственно как и с двоичными И и ИЛИ
User avatar
BEPTEP
Doomed
Posts: 374
Joined: 09 Apr 2025 01:49

Re: Троичный сумматор

Post by BEPTEP »

Shaos wrote: 09 Jan 2026 16:00 Неа - один инвертор тут не поможет
MAX в MIN (и обратно) просто так не переделать
Тут надо 3 инвертора ;)
Собственно как и с двоичными И и ИЛИ
Ну, тут согласен. Погорячился.
Значит сформулируем так-с:
Отрицание MAX отрицаний есть MIN. И наоборот. :ebiggrin:
User avatar
Shaos
Admin
Posts: 24880
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: Троичный сумматор

Post by Shaos »

Угу - вроде так и есть :roll:

Кстати если инвертировать входы MUL то получится тот же самый MUL, а если инвертировать ещё и выходы, то просто получится инвертирванный MUL (-MUL)
User avatar
BEPTEP
Doomed
Posts: 374
Joined: 09 Apr 2025 01:49

Re: Троичный сумматор

Post by BEPTEP »

Каких то полгода голова другим загружена и по новой въезжать в простые истины надо. Повторение - мать учения :mrgreen:
Наконец-то до меня дошло, чего И, ИЛИ, НЕ в виндовском калькуляторе присутствуют, ну и в АЛУ должны быть, как в 8080 или 6502 - это основа, кирпичики двоичной логики. Ну и ИсклИЛИ, чтобы огород не городить из фундамента. Оно как бы фундаментальное в самой логике, в теории, но на практике составное.
Отупел в конец :mrgreen:
В троичной тремя кирпичами не отделаешься, как я понимаю?
----------------------------------------------
Сумматор х4 может быть полезен ещё в одном случае. Я тут покумекал, в принципе некоторые логические функции операциями на сумматоре можно заменить путём сложения, инверсиями и потом результат добавлять на 3й вход сумматора. Пару, тройку функций можно вроде получить таким образом.

Функцию MIN только таким способом проблематично получить. Чтобы на выходе сумматора был результат этой функции, нужно на 3-й вход подать число которое соответствовало бы результату основных чисел пропущенных через такую вот ТИ:

Code: Select all

 |N O P
--------
N|P O N
O|O O N
P|N N N
За пару итераций точно нельзя.
User avatar
BEPTEP
Doomed
Posts: 374
Joined: 09 Apr 2025 01:49

Re: Троичный сумматор

Post by BEPTEP »

Shaos wrote: 09 Jan 2026 18:57 Угу - вроде так и есть :roll:

Кстати если инвертировать входы MUL то получится тот же самый MUL, а если инвертировать ещё и выходы, то просто получится инвертирванный MUL (-MUL)
Потому что это МУЛЬТ - логическое умножение. Что (-)*(-) будет (+), что (+)*(+) - тоже самое будет. Знак не поменяется. Или если местами множители поменять (-)*(+) наоборот, результат так же не изменится = (-)
Инверсия множителей тут ничего не меняет. Только инверсия результата меняет результат.
User avatar
Shaos
Admin
Posts: 24880
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: Троичный сумматор

Post by Shaos »

Троичные MIN и MAX получаются на пучке диодов в количестве равном количеству входов (подключенных либо в одну, либо в другую сторону) - собственно также как на CMOS получали И и ИЛИ: viewtopic.php?p=71000#p71000
User avatar
BEPTEP
Doomed
Posts: 374
Joined: 09 Apr 2025 01:49

Re: Троичный сумматор

Post by BEPTEP »

Shaos wrote: 09 Jan 2026 21:33 Троичные MIN и MAX получаются на пучке диодов в количестве равном количеству входов (подключенных либо в одну, либо в другую сторону) - собственно также как на CMOS получали И и ИЛИ: viewtopic.php?p=71000#p71000
Простое и эффективное решение. Только два НО:
1 Если делать всё на кристалле, это удорожание из-за увеличения ассортимента компонентов.
2 Тут поддятжка сопротивлением на плюс или минус стоит для получения P или N одной единственной. В мои схемы не годится. так как у меня все входы подтянуты на ноль. Будет либо глюки какие, либо по любому что-то на транзюках городить, минимум каскад один, а это минимум 4 транзюка + 1 или два на P или N что бы получалось.

Какой-то одной схемотехники нужно придерживаться в общем.
----------------------
Или я чего не понял. В общем одними диодами тут не обойтись по любому.
Last edited by BEPTEP on 09 Jan 2026 22:38, edited 1 time in total.
User avatar
Shaos
Admin
Posts: 24880
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: Троичный сумматор

Post by Shaos »

Ну на кристалле да - там сложно...
User avatar
BEPTEP
Doomed
Posts: 374
Joined: 09 Apr 2025 01:49

Re: Троичный сумматор

Post by BEPTEP »

Shaos wrote: 09 Jan 2026 22:38 Ну на кристалле да - там сложно...
В этой схеме диоды на пару мосфетов легко заменимы. Два диода или два мосфета в запертом состоянии.
Только я не понял как в MIN P одну единственную получить по этой схеме.
------------
Мосфеты даже предпочтительней ещё и по той причине, что в запертом состоянии схема будет на линии ТИ MIN создавать на пути сигналов, а в открытом состоянии просто всё через себя пропускать. Решается проблема коммутации - лишней кучи транзюков. Диоды то тоже как-то на сигнал вешать надо и убирать по необходимости.
User avatar
Shaos
Admin
Posts: 24880
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: Троичный сумматор

Post by Shaos »

По линку выше я писал как сделать MIN и MAX на троичных селекторах - можно переписать на полноценные MUX-ы (если на кристалле не будет полуселекторов E12 и E21):

MIN(x,y) = MUX(y,N,E12(x,N,O),x) = MUX(y,N,MUX(x,N,O,O),x)

MAX(x,y) = MUX(y,x,E21(x,O,P),P) = MUX(y,x,MUX(x,O,O,P),P)
User avatar
BEPTEP
Doomed
Posts: 374
Joined: 09 Apr 2025 01:49

Re: Троичный сумматор

Post by BEPTEP »

Я так и не понял, как на диодах эта схема работает. Две линии = два диода или два мосфета. Полностью ТИ работать не сможет правильно. MAX вместо (-1) будет (0) ,в MIN вместо (+1) будет (0). На двух мосфетах так же не получается. Но на 4-х - запросто!
При чём всё вместе с коммутацией вкл/выкл функции.
снимок.PNG
8 мосфетов и два сопротивления дают две переключаемые как между собой , так и освобождающие линию функции MAX и MIN. Элегантное решение, как по мне.
Ссылка на эмулятор
MIN_MAX.PNG
You do not have the required permissions to view the files attached to this post.
User avatar
BEPTEP
Doomed
Posts: 374
Joined: 09 Apr 2025 01:49

Re: Троичный сумматор

Post by BEPTEP »

BEPEP wrote: 09 Jan 2026 13:24 Если только две эти функции "на конвейере" реализовывать, с доп линиями управления, коммутацией выхода и трита переноса, то схема полусумматора увеличивается на 10 транзюков! Весь полусумматор пока 22 транзюка. Прощай "экономика" :mrgreen:
Пол дня схему собственную курил, вспоминал, загружал голову. За полгода всё почти выветрилось :roll:
Нет, не получается в 10-ку уложиться. 10-ка это только на полусумматор и внутреннее переключение в нём самом. Ещё же и вне полусумматоров коммутировать нужно будет. Так что.
User avatar
BEPTEP
Doomed
Posts: 374
Joined: 09 Apr 2025 01:49

Re: Троичный сумматор

Post by BEPTEP »

Всё-таки хотелось бы конкретики. Конкретные примеры, для чего нужны эти самые логические функции MIN, MAX, MUL
Затем уже следующий вопрос последует изучению: много где или как часто они задействованы. Например, если тот же ТЕТРИС на таком АЛУ ваять, нужны ли эти функции ему?
---------
Переходы, циклы, нужны ещё - просто необходимы! Но они не в АЛУ находятся
---------
MIN MAX для сравнения нужны. Врубился в их суть. Если через эти функции два числа прогнать, то на выходе будет , соотв, меньшее число или большее из двух сравниваемых чисел.
User avatar
BEPTEP
Doomed
Posts: 374
Joined: 09 Apr 2025 01:49

Re: Троичный сумматор

Post by BEPTEP »

C MIN MAX разобрался - штука необходимая!
В МУЛьтик пока не врублюсь...

Code: Select all

+--0-     44
+-00+     55
-------------
+--0- MIN 44
+-00+ MAX 55
++00- MUL 107
Ради прикола, двоичная логика:

Code: Select all

44 XOR 55 = 27
44 AND 55 = 36
44 OR  55 = 63
:)
Результат полусумматора(без переноса ):

Code: Select all

    | -1 |  0 | +1
--------------------
 -1 | +1 | -1 |  0
--------------------
  0 | -1 |  0 | +1
--------------------
 +1 |  0 | +1 | -1
--------------------
На выходе получается результат двоичного OR, но инвертированный (-63)
Стало быть эту функцию можно смело называть ИЛИ-НЕ.
В двоичном полусумматоре его выход это ИсклИЛИ или XOR