nedoPC.org

Electronics hobbyists community established in 2002
Atom Feed | View unanswered posts | View active topics It is currently 28 Mar 2024 06:20



Reply to topic  [ 53 posts ]  Go to page Previous  1, 2, 3, 4  Next
Троичный сумматор 
Author Message
Maniac

Joined: 10 Mar 2017 05:30
Posts: 318
Reply with quote
Да ладно, если не восхищаться простыми вещами, то наука никуда не продвинется! А вообще я же паяльник только вчера в руки взял, для меня вообще это одна сплошная магия!


08 Oct 2017 15:08
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
haqreu wrote:
я же паяльник только вчера в руки взял, для меня вообще это одна сплошная магия!

О, да... это, действительно, магия! :roll: Я паяльник взял в руки в классе 5...6-м и до сих пор этой магией очарован... :kruto:

_________________
iLavr


08 Oct 2017 15:27
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
Но пора от магии и приятных реминисценций вернуться к финалу затянувшейся саги о полном троичном сумматоре... :wink:

И я надеюсь, что ни у кого нет сомнений, что полный троичный сумматор следует делать вот так:
Attachment:
3SUM_FULL.gif
3SUM_FULL.gif [ 5.44 KiB | Viewed 12254 times ]

Сумматоры по модулю 3 и схемы формирования трита переноса для полусумматоров у меня уже были
разработаны,
оставался один последний узел, который формирует из двух тритов переносов от полусумматоров единый
трит переноса в следующий разряд - Cout.

В двоичной логике - это был бы OR: либо первый перенос, либо второй, либо оба вместе.

В троичной логике идеология похожа, но всё несколько сложнее: либо первый перенос +1, либо второй +1,
либо оба вместе +1; либо первый перенос -1, либо второй -1, либо оба вместе -1.
Но если первый перенос +1, а второй -1, и наоборот, то переноса нет, он = 0.
То есть логика работы напоминает сумматор, поэтому я сравнил таблицы истинности схемы преноса
в старший разряд
и уже сделанного троичного сумматора по модулю 3.
Attachment:
3T_2CARTB.gif
3T_2CARTB.gif [ 6.57 KiB | Viewed 12254 times ]
И я увидел, что разница этих таблиц всего в 2 значения.

Поэтому я решил не разрабатывать схему преноса в старший разряд заново, а доработать имеющуюся
схему троичного сумматора по модулю 3, тем более, что по таблицам мне стало видно, что на уровне
транзисторов придется подправить всего 2 блока: правую и левую циклические инверсии.
И я подправил их схемы согласно следующим осциллограммам, тем более, что судя по ним необходимо
было выкинуть пару ключей, а мы тут так стремимся считать транзисторы! :lol:
Attachment:
3UX_DX_OSC.gif
3UX_DX_OSC.gif [ 18.62 KiB | Viewed 12254 times ]

В итоге выкинуть получилось 4 транзистора, но что это теперь за узлы, я не знаю, поэтому условно
обозначил их как правая и левая неизвестные инверсии: ROT_Ux и ROT_Dx, где x - и есть "неизвестные". :wink:

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

_________________
iLavr


08 Oct 2017 19:29
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
Схема в общем-то полностью идентична схеме троичного сумматора по модулю 3, за исключением
того, что блоки правой и левой циклических инверсий - ROT_UP и ROT_DN, заменены на блоки
правой и левой неизвестных инверсий: ROT_Ux и ROT_Dx.
Attachment:
3T_2CARRY.gif
3T_2CARRY.gif [ 6.6 KiB | Viewed 12254 times ]


Для проверки соответствия таблице истинности и для наблюдения динамики работы схемы преноса
в старший разряд
, я опять же подключил её к двухразрядному троичному счетчику:
Attachment:
3T_2CNT.gif
3T_2CNT.gif [ 6.4 KiB | Viewed 12254 times ]


Ну и, судя по осциллограммам, работа схемы переноса в старший разряд соответствует её таблице истинности:
Attachment:
3CARRY_OSC.gif
3CARRY_OSC.gif [ 14.93 KiB | Viewed 12254 times ]


Подсчеты транзисторов давайте оставим на завтра? А то у меня тут 6:40 утра, а я еще спать не ложился... :-?

_________________
iLavr


08 Oct 2017 19:43
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
Lavr wrote:
haqreu wrote:
Так а сколько транзисторов в итоге в сумматоре?
Погодите, экий Вы торопливый! :wink: Ещё до итога не дошли... :lol:
Но в итоге я обязательно скажу, сколько там и чего и "в попугаях" и "в слонёнках"... :mrgreen:

Ну а вот теперь пора некоторые итоги проделанной работы подвести...

Ну и первое: схема полного однотритного сумматора из разработанных мной блоков выглядит
следующим образом:
Attachment:
3FULL_ADD.gif
3FULL_ADD.gif [ 4.59 KiB | Viewed 12233 times ]


Принципиальная электрическая схема полного однотритного сумматора приведена ниже:
(схема большая, поэтому убрана под спойлер)
 Ternary One-Trit Balanced Full Adder Schematics
Attachment:
3FULL_ADDER.gif
3FULL_ADDER.gif [ 32.27 KiB | Viewed 12233 times ]

Ну и теперь статистика "в слонёнках" и "в попугаях", то есть в логических блоках
и количестве транзисторных ключей:

Троичный Сумматор по модулю 3 (2 шт.)
----------------------------------------
INV_3MIN:(1 шт.) 12 транз.
INV_MIN: (3 шт.)3х8 транз.
INV_MAX: (1 шт.) 8 транз.
ROT_UP: (1 шт.) 9 транз.
ROT_DN: (1 шт.) 9 транз.
EQU_TRUE:(1 шт.) 4 транз.
EQU_FALS:(1 шт.) 4 транз.

Итого:---------- 70 транз. х 2 = 140

Схема троичного полупереноса: (2 шт.)
----------------------------------------
INV_3MIN:(1 шт.) 12 транз.
INV_MIN: (3 шт.)3х8 транз.
EQU_TRUE:(1 шт.) 4 транз.
EQU_FALS:(1 шт.) 4 транз.

Итого:---------- 54 транз. х 2 = 108

Схема троичного переноса: (1 шт.)
----------------------------------------
INV_3MIN:(1 шт.) 12 транз.
INV_MIN: (3 шт.)3х8 транз.
INV_MAX: (1 шт.) 8 транз.
ROT_Ux: (1 шт.) 7 транз.
ROT_Dx: (1 шт.) 7 транз.
EQU_TRUE:(1 шт.) 4 транз.
EQU_FALS:(1 шт.) 4 транз.

Итого:---------- 66 транз. х 1 = 66

Всего: 140 + 108 + 66 = 314 транзисторов.

Следует также учесть, что типовой логический элемент выполнен по примерно следующей схеме:
Attachment:
3INV_MIN.gif
3INV_MIN.gif [ 4.11 KiB | Viewed 12233 times ]

Это INV_MIN или троичный NAND. Выполнен на МОП-транзисторах четырёх разных типов
с разными тщательно подобранными пороговыми напряжениями.
Это считается довольно нетехнологичным. Технологично, когда пороговые напряжения примерно
одинаковы и величины их не слишком критичны.

Но когда начинают разрабатывать троичные логические элементы, удовлетворяющие этим технологическим
требованиям, схемотехника очень и очень разбухает... :-?

Image

_________________
iLavr


09 Oct 2017 09:14
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
Ну а мне самому хотелось бы сделать следующее сравнение...

Я конструировал в своё время АЛУ на элементах NAND, и на мой взгляд самая элегантная схема
сумматора на двоичных NAND выглядит следующим образом:
Attachment:
ALU20.gif
ALU20.gif [ 10.89 KiB | Viewed 12228 times ]

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

Если мы вспомним, что находится в одной "коробочке" NAND:
Attachment:
9gnGm.png
9gnGm.png [ 6.49 KiB | Viewed 12228 times ]
То результат сравнения будет довольно удручающим... :-?

13 элементов NAND x 4 транзистора = 52 МОП-транзистора обеспечивают практически тот же
функционал, что и 314 МОП-транзисторов полного троичного сумматора. :-?
Причем 52 МОП-транзисторов - всего двух типов с одинаковыми порогвыми напряжениями.

Поневоле вспоминается фраза из одной обзорной работы по троичной логике:
Sultanov I. A. wrote:
В США, в то время (1958 г.), тоже рассматривали преимущества и недостатки троичного компьютера
и после проведённых теоретических исследований строить троичный компьютер не стали.

_________________
iLavr


09 Oct 2017 11:19
Profile
Maniac

Joined: 10 Mar 2017 05:30
Posts: 318
Reply with quote
То есть, на dg403 это 408 транзисторов, а у Вас получилось 314. Как и предполагалось, за универсальность надо платить.
Ну а что двоичная логика выигрывает, это понятно, её, как минимум, полировали долго.
Кстати, я собирал троичный мультиплексор на 2*cd4007 + cd4016, мне кажется, в терминах транзисторов это дешевле 34 транзисторов на один мультиплексор на dg403.

cd4007 несёт в себе 6 транзисторов, в двух 12. Сколько транзисторов в одной cd4016?


09 Oct 2017 14:37
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
haqreu wrote:
Ну а что двоичная логика выигрывает, это понятно, её, как минимум, полировали долго.

Троичную логику сколько ни полируй, она не станет лучше или проще, чем нарисовал я.
Сложнее - да, проще - нет, потому что у меня модели "почти идеальны"...

Но 314 тразисторов это в 6 раз больше 52-х... И в чем преимущество?
Пока преимущество неочевидно по меньшей мере. :-?

_________________
iLavr


09 Oct 2017 14:54
Profile
Maniac

Joined: 10 Mar 2017 05:30
Posts: 318
Reply with quote
Ну начнём с того, что не в шесть, а в три-четыре, что, впрочем, всё равно остаётся крайне весомым. Ну да я и не заявлял никогда преимуществ троичной логики :twisted:

А дальше я не уверен (я неуч, мне неясно), что нельзя сделать троичный сумматор с радикально меньшим количеством транзисторов.


09 Oct 2017 14:59
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
haqreu wrote:
Ну начнём с того, что не в шесть, а в три-четыре, что, впрочем, всё равно остаётся крайне весомым.

Ну как бы 314/52 это примерно шесть, а никак не три-четыре...
haqreu wrote:
Ну да я и не заявлял никогда преимуществ троичной логики :twisted:

А я Вас ни в чём и не виню - я подытожил собственную работу... :-?
Кто-то хотел посчитать транзисторы, а я хотел сравнить две логики. Но пока ничего нет - нет и объектов
для сравнения - но у меня теперь они есть. Не принимайте всё на свой счет... :mrgreen:

_________________
iLavr


09 Oct 2017 15:16
Profile
Maniac

Joined: 10 Mar 2017 05:30
Posts: 318
Reply with quote
Lavr wrote:
Ну как бы 314/52 это примерно шесть, а никак не три-четыре...


Не. Давайте нормируем хотя бы приблизительно область представляемых данных. Для суммирования чисел от нуля до 32 нам нужно пять двоичных сумматоров. Для суммирования чисел от нуля до 27 нам нужно три троичных сумматора.

(314*3)/(52*5) выглядит немного честнее, нежели напрямую 314/52.


09 Oct 2017 15:19
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
haqreu wrote:
Давайте нормируем хотя бы приблизительно область представляемых данных.

Давайте не будем? Я люблю конкретные вещи и реальные цифры, в не абстрактную болтологию.
У меня есть конкретная модель троичного полного сумматора и конкретная модель двоичного аналога.
Другого ничего нет. Поэтому я сравниваю их конкретные параметры - это кристально честно, я считаю.

_________________
iLavr


09 Oct 2017 15:30
Profile
Maniac

Joined: 10 Mar 2017 05:30
Posts: 318
Reply with quote
Я считаю, что сравнивать надо не абстрактные транзисторы, а конкретные, которые позволяют решить данную задачу. Сколько мне нужно транзисторов, чтобы решить 13+18 в двоичном представлении, и сколько в троичном?


09 Oct 2017 15:33
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
haqreu wrote:
Сколько мне нужно транзисторов, чтобы решить 13+18 в двоичном представлении, и сколько в троичном?

С учетом вот этого постулата:
haqreu wrote:
А дальше я не уверен (я неуч, мне неясно)

Мне затруднительно адекватно ответить на поставленный вопрос.

Вобще говоря, чтобы решить конкретно только 13+18 в двоичном представлении достаточно 36 транзисторов.
А в троичном представлении понадобятся всё те же 314 транзисторов.
Я ответил точно на вопрос "решить 13+18".

_________________
iLavr


09 Oct 2017 15:41
Profile
Maniac

Joined: 10 Mar 2017 05:30
Posts: 318
Reply with quote
А откуда взялись 36 и откуда 314 применительно к этой задаче суммирования?


09 Oct 2017 15:43
Profile
Display posts from previous:  Sort by  
Reply to topic   [ 53 posts ]  Go to page Previous  1, 2, 3, 4  Next

Who is online

Users browsing this forum: No registered users and 9 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Group
Designed by ST Software.