Троичный сумматор
Moderator: haqreu
-
- Maniac
- Posts: 318
- Joined: 10 Mar 2017 05:30
Re: Троичный сумматор
Да ладно, если не восхищаться простыми вещами, то наука никуда не продвинется! А вообще я же паяльник только вчера в руки взял, для меня вообще это одна сплошная магия!
-
- Supreme God
- Posts: 16676
- Joined: 21 Oct 2009 08:08
- Location: Россия
Re: Троичный сумматор
О, да... это, действительно, магия!haqreu wrote:я же паяльник только вчера в руки взял, для меня вообще это одна сплошная магия!


iLavr
-
- Supreme God
- Posts: 16676
- Joined: 21 Oct 2009 08:08
- Location: Россия
Re: Троичный сумматор
Но пора от магии и приятных реминисценций вернуться к финалу затянувшейся саги о полном троичном сумматоре...
И я надеюсь, что ни у кого нет сомнений, что полный троичный сумматор следует делать вот так: Сумматоры по модулю 3 и схемы формирования трита переноса для полусумматоров у меня уже были
разработаны,
оставался один последний узел, который формирует из двух тритов переносов от полусумматоров единый
трит переноса в следующий разряд - Cout.
В двоичной логике - это был бы OR: либо первый перенос, либо второй, либо оба вместе.
В троичной логике идеология похожа, но всё несколько сложнее: либо первый перенос +1, либо второй +1,
либо оба вместе +1; либо первый перенос -1, либо второй -1, либо оба вместе -1.
Но если первый перенос +1, а второй -1, и наоборот, то переноса нет, он = 0.
То есть логика работы напоминает сумматор, поэтому я сравнил таблицы истинности схемы преноса
в старший разряд и уже сделанного троичного сумматора по модулю 3. И я увидел, что разница этих таблиц всего в 2 значения.
Поэтому я решил не разрабатывать схему преноса в старший разряд заново, а доработать имеющуюся
схему троичного сумматора по модулю 3, тем более, что по таблицам мне стало видно, что на уровне
транзисторов придется подправить всего 2 блока: правую и левую циклические инверсии.
И я подправил их схемы согласно следующим осциллограммам, тем более, что судя по ним необходимо
было выкинуть пару ключей, а мы тут так стремимся считать транзисторы!
В итоге выкинуть получилось 4 транзистора, но что это теперь за узлы, я не знаю, поэтому условно
обозначил их как правая и левая неизвестные инверсии: ROT_Ux и ROT_Dx, где x - и есть "неизвестные".
Кстати, в зарубежной литературе этот узел преноса в старший разряд называют иногда Any - "хоть что-то",
что на мой взгляд не совсем верно, но перейдем к схеме этого узла...

И я надеюсь, что ни у кого нет сомнений, что полный троичный сумматор следует делать вот так: Сумматоры по модулю 3 и схемы формирования трита переноса для полусумматоров у меня уже были
разработаны,
оставался один последний узел, который формирует из двух тритов переносов от полусумматоров единый
трит переноса в следующий разряд - Cout.
В двоичной логике - это был бы OR: либо первый перенос, либо второй, либо оба вместе.
В троичной логике идеология похожа, но всё несколько сложнее: либо первый перенос +1, либо второй +1,
либо оба вместе +1; либо первый перенос -1, либо второй -1, либо оба вместе -1.
Но если первый перенос +1, а второй -1, и наоборот, то переноса нет, он = 0.
То есть логика работы напоминает сумматор, поэтому я сравнил таблицы истинности схемы преноса
в старший разряд и уже сделанного троичного сумматора по модулю 3. И я увидел, что разница этих таблиц всего в 2 значения.
Поэтому я решил не разрабатывать схему преноса в старший разряд заново, а доработать имеющуюся
схему троичного сумматора по модулю 3, тем более, что по таблицам мне стало видно, что на уровне
транзисторов придется подправить всего 2 блока: правую и левую циклические инверсии.
И я подправил их схемы согласно следующим осциллограммам, тем более, что судя по ним необходимо
было выкинуть пару ключей, а мы тут так стремимся считать транзисторы!

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

Кстати, в зарубежной литературе этот узел преноса в старший разряд называют иногда Any - "хоть что-то",
что на мой взгляд не совсем верно, но перейдем к схеме этого узла...
You do not have the required permissions to view the files attached to this post.
iLavr
-
- Supreme God
- Posts: 16676
- Joined: 21 Oct 2009 08:08
- Location: Россия
Re: Троичный сумматор
Схема в общем-то полностью идентична схеме троичного сумматора по модулю 3, за исключением
того, что блоки правой и левой циклических инверсий - ROT_UP и ROT_DN, заменены на блоки
правой и левой неизвестных инверсий: ROT_Ux и ROT_Dx. Для проверки соответствия таблице истинности и для наблюдения динамики работы схемы преноса
в старший разряд, я опять же подключил её к двухразрядному троичному счетчику: Ну и, судя по осциллограммам, работа схемы переноса в старший разряд соответствует её таблице истинности: Подсчеты транзисторов давайте оставим на завтра? А то у меня тут 6:40 утра, а я еще спать не ложился...
того, что блоки правой и левой циклических инверсий - ROT_UP и ROT_DN, заменены на блоки
правой и левой неизвестных инверсий: ROT_Ux и ROT_Dx. Для проверки соответствия таблице истинности и для наблюдения динамики работы схемы преноса
в старший разряд, я опять же подключил её к двухразрядному троичному счетчику: Ну и, судя по осциллограммам, работа схемы переноса в старший разряд соответствует её таблице истинности: Подсчеты транзисторов давайте оставим на завтра? А то у меня тут 6:40 утра, а я еще спать не ложился...

You do not have the required permissions to view the files attached to this post.
iLavr
-
- Supreme God
- Posts: 16676
- Joined: 21 Oct 2009 08:08
- Location: Россия
Re: Троичный сумматор
Ну а вот теперь пора некоторые итоги проделанной работы подвести...Lavr wrote:Погодите, экий Вы торопливый!haqreu wrote:Так а сколько транзисторов в итоге в сумматоре?Ещё до итога не дошли...
![]()
Но в итоге я обязательно скажу, сколько там и чего и "в попугаях" и "в слонёнках"...![]()
Ну и первое: схема полного однотритного сумматора из разработанных мной блоков выглядит
следующим образом: Принципиальная электрическая схема полного однотритного сумматора приведена ниже:
(схема большая, поэтому убрана под спойлер)
Ну и теперь статистика "в слонёнках" и "в попугаях", то есть в логических блоках
и количестве транзисторных ключей:
Троичный Сумматор по модулю 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 транзисторов.
Следует также учесть, что типовой логический элемент выполнен по примерно следующей схеме: Это INV_MIN или троичный NAND. Выполнен на МОП-транзисторах четырёх разных типов
с разными тщательно подобранными пороговыми напряжениями.
Это считается довольно нетехнологичным. Технологично, когда пороговые напряжения примерно
одинаковы и величины их не слишком критичны.
Но когда начинают разрабатывать троичные логические элементы, удовлетворяющие этим технологическим
требованиям, схемотехника очень и очень разбухает...

You do not have the required permissions to view the files attached to this post.
iLavr
-
- Supreme God
- Posts: 16676
- Joined: 21 Oct 2009 08:08
- Location: Россия
Re: Троичный сумматор
Ну а мне самому хотелось бы сделать следующее сравнение...
Я конструировал в своё время АЛУ на элементах NAND, и на мой взгляд самая элегантная схема
сумматора на двоичных NAND выглядит следующим образом: Я специально добавил каскад управляемого инвертора на вход В, чтобы учесть возможность вычитания,
и чтобы сравнение с троичным полным сумматором было более корректным.
Если мы вспомним, что находится в одной "коробочке" NAND: То результат сравнения будет довольно удручающим...
13 элементов NAND x 4 транзистора = 52 МОП-транзистора обеспечивают практически тот же
функционал, что и 314 МОП-транзисторов полного троичного сумматора.
Причем 52 МОП-транзисторов - всего двух типов с одинаковыми порогвыми напряжениями.
Поневоле вспоминается фраза из одной обзорной работы по троичной логике:
Я конструировал в своё время АЛУ на элементах NAND, и на мой взгляд самая элегантная схема
сумматора на двоичных NAND выглядит следующим образом: Я специально добавил каскад управляемого инвертора на вход В, чтобы учесть возможность вычитания,
и чтобы сравнение с троичным полным сумматором было более корректным.
Если мы вспомним, что находится в одной "коробочке" NAND: То результат сравнения будет довольно удручающим...

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

Причем 52 МОП-транзисторов - всего двух типов с одинаковыми порогвыми напряжениями.
Поневоле вспоминается фраза из одной обзорной работы по троичной логике:
Sultanov I. A. wrote:В США, в то время (1958 г.), тоже рассматривали преимущества и недостатки троичного компьютера
и после проведённых теоретических исследований строить троичный компьютер не стали.
You do not have the required permissions to view the files attached to this post.
iLavr
-
- Maniac
- Posts: 318
- Joined: 10 Mar 2017 05:30
Re: Троичный сумматор
То есть, на dg403 это 408 транзисторов, а у Вас получилось 314. Как и предполагалось, за универсальность надо платить.
Ну а что двоичная логика выигрывает, это понятно, её, как минимум, полировали долго.
Кстати, я собирал троичный мультиплексор на 2*cd4007 + cd4016, мне кажется, в терминах транзисторов это дешевле 34 транзисторов на один мультиплексор на dg403.
cd4007 несёт в себе 6 транзисторов, в двух 12. Сколько транзисторов в одной cd4016?
Ну а что двоичная логика выигрывает, это понятно, её, как минимум, полировали долго.
Кстати, я собирал троичный мультиплексор на 2*cd4007 + cd4016, мне кажется, в терминах транзисторов это дешевле 34 транзисторов на один мультиплексор на dg403.
cd4007 несёт в себе 6 транзисторов, в двух 12. Сколько транзисторов в одной cd4016?
-
- Supreme God
- Posts: 16676
- Joined: 21 Oct 2009 08:08
- Location: Россия
Re: Троичный сумматор
Троичную логику сколько ни полируй, она не станет лучше или проще, чем нарисовал я.haqreu wrote:Ну а что двоичная логика выигрывает, это понятно, её, как минимум, полировали долго.
Сложнее - да, проще - нет, потому что у меня модели "почти идеальны"...
Но 314 тразисторов это в 6 раз больше 52-х... И в чем преимущество?
Пока преимущество неочевидно по меньшей мере.

iLavr
-
- Maniac
- Posts: 318
- Joined: 10 Mar 2017 05:30
Re: Троичный сумматор
Ну начнём с того, что не в шесть, а в три-четыре, что, впрочем, всё равно остаётся крайне весомым. Ну да я и не заявлял никогда преимуществ троичной логики
А дальше я не уверен (я неуч, мне неясно), что нельзя сделать троичный сумматор с радикально меньшим количеством транзисторов.

А дальше я не уверен (я неуч, мне неясно), что нельзя сделать троичный сумматор с радикально меньшим количеством транзисторов.
-
- Supreme God
- Posts: 16676
- Joined: 21 Oct 2009 08:08
- Location: Россия
Re: Троичный сумматор
Ну как бы 314/52 это примерно шесть, а никак не три-четыре...haqreu wrote:Ну начнём с того, что не в шесть, а в три-четыре, что, впрочем, всё равно остаётся крайне весомым.
А я Вас ни в чём и не виню - я подытожил собственную работу...haqreu wrote:Ну да я и не заявлял никогда преимуществ троичной логики![]()

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

iLavr
-
- Maniac
- Posts: 318
- Joined: 10 Mar 2017 05:30
Re: Троичный сумматор
Не. Давайте нормируем хотя бы приблизительно область представляемых данных. Для суммирования чисел от нуля до 32 нам нужно пять двоичных сумматоров. Для суммирования чисел от нуля до 27 нам нужно три троичных сумматора.Lavr wrote:Ну как бы 314/52 это примерно шесть, а никак не три-четыре...
(314*3)/(52*5) выглядит немного честнее, нежели напрямую 314/52.
-
- Supreme God
- Posts: 16676
- Joined: 21 Oct 2009 08:08
- Location: Россия
Re: Троичный сумматор
Давайте не будем? Я люблю конкретные вещи и реальные цифры, в не абстрактную болтологию.haqreu wrote:Давайте нормируем хотя бы приблизительно область представляемых данных.
У меня есть конкретная модель троичного полного сумматора и конкретная модель двоичного аналога.
Другого ничего нет. Поэтому я сравниваю их конкретные параметры - это кристально честно, я считаю.
iLavr
-
- Maniac
- Posts: 318
- Joined: 10 Mar 2017 05:30
Re: Троичный сумматор
Я считаю, что сравнивать надо не абстрактные транзисторы, а конкретные, которые позволяют решить данную задачу. Сколько мне нужно транзисторов, чтобы решить 13+18 в двоичном представлении, и сколько в троичном?
-
- Supreme God
- Posts: 16676
- Joined: 21 Oct 2009 08:08
- Location: Россия
Re: Троичный сумматор
С учетом вот этого постулата:haqreu wrote:Сколько мне нужно транзисторов, чтобы решить 13+18 в двоичном представлении, и сколько в троичном?
Мне затруднительно адекватно ответить на поставленный вопрос.haqreu wrote:А дальше я не уверен (я неуч, мне неясно)
Вобще говоря, чтобы решить конкретно только 13+18 в двоичном представлении достаточно 36 транзисторов.
А в троичном представлении понадобятся всё те же 314 транзисторов.
Я ответил точно на вопрос "решить 13+18".
iLavr
-
- Maniac
- Posts: 318
- Joined: 10 Mar 2017 05:30
Re: Троичный сумматор
А откуда взялись 36 и откуда 314 применительно к этой задаче суммирования?