nedoPC.org

Community of electronics hobbyists established in 2002

...
Atom Feed | View unanswered posts | View active topics It is currently 31 May 2020 03:05



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

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

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


09 Oct 2017 15:59
Profile
Supreme God
User avatar

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

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

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

_________________
iLavr


09 Oct 2017 16:16
Profile
Maniac

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


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

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


09 Oct 2017 16:19
Profile
Supreme God
User avatar

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

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

_________________
iLavr


09 Oct 2017 16:30
Profile
Maniac

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


09 Oct 2017 16:33
Profile
Supreme God
User avatar

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

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

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

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

_________________
iLavr


09 Oct 2017 16:41
Profile
Maniac

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


09 Oct 2017 16:43
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 09:08
Posts: 7777
Location: Россия
Reply with quote
haqreu wrote:
А откуда взялись 36 и откуда 314 применительно к этой задаче суммирования?

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

Всё зависит от способа сложения. Я бы предпочел последовательное суммирование, вот так:
Attachment:
000113.jpg
000113.jpg [ 39.96 KiB | Viewed 4808 times ]

А при нём мне нужен всего одноразрядный полный сумматор. В троичной логике он мне обошелся в
314 транзисторов.
В двоичной логике, поскольку конкретная задача на суммирование, я убрал из схемы 16 транзисторов
управляемого инвертора. 52 - 16 как раз 36.

_________________
iLavr


09 Oct 2017 16:51
Profile
God

Joined: 02 Jan 2006 03:28
Posts: 1391
Location: Abakan
Reply with quote
Lavr wrote:
... результат сравнения будет довольно удручающим... :-?

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

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


09 Oct 2017 18:47
Profile
Admin
User avatar

Joined: 09 Jan 2003 00:22
Posts: 18605
Location: Silicon Valley
Reply with quote
угу - если пользовать для постройки троичных схем элементы с двумя состояниями, то само собой будем в проигрыше - нужны троичные элементы...

_________________
:eugeek: https://twitter.com/Shaos1973


09 Oct 2017 21:39
Profile WWW
Maniac

Joined: 10 Mar 2017 06:30
Posts: 321
Reply with quote
Lavr wrote:
Всё зависит от способа сложения. Я бы предпочел последовательное суммирование


Понял, при последовательном так и будет, да.


10 Oct 2017 00:02
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 09:08
Posts: 7777
Location: Россия
Reply with quote
Shaos wrote:
угу - если пользовать для постройки троичных схем элементы с двумя состояниями, то само собой будем в проигрыше - нужны троичные элементы...

Да в общем-то и у Брусенцова элементы не были полностью троичные...
Я просто хочу в расчетах "проиграть" идею, что получится, если троичные элементы создавать
по привычной технологии на МОП-ключах.
С меня же не берут за это $6000, как с тебя... :wink: А элементы все вполне работоспособные,
как показывает практика, и позволяют в троичную схемотехнику серьёзно "поиграть".
Что мне, собственно, и интересно...

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

_________________
iLavr


10 Oct 2017 08:06
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 09:08
Posts: 7777
Location: Россия
Reply with quote
Lavr wrote:
мне нужен всего одноразрядный полный сумматор. В троичной логике он мне обошелся в
314 транзисторов.

В двоичной логике, ... как раз 36.

А вот один наш бывший коллега по форуму, которого Shaos произвел в ранг пенсионера, :wink:
бездоказательно, правда, но постулирует вот что:
А. Самсонов wrote:
При реализации троичной логики на транзисторах требуется больше элементов, и на первый взгляд кажется, что это не так эффективно. Но здесь вот какая особенность: чем больше троичных элементов добавляешь, тем меньше соединений требуется. К тому же в определённый момент количество элементов начинает расти нелинейно. Когда число элементов переваливает некоторый порог, для увеличения сложности троичного компьютера требуется всё меньше и меньше элементов. Там, где двоичному компьютеру приходится удваивать количество элементов, троичному достаточно увеличить количество элементов только в полтора раза, потом в 1,3 раза и так далее.

_________________
iLavr


10 Oct 2017 18:00
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 09:08
Posts: 7777
Location: Россия
Reply with quote
Тут вот DimkaM усугубил моё одно тяжкое сомнение по вопросу суммирования в троичном компьютере... :-?
И сомнение вот какое... Предположим, что я проверяю ряд условий, следующих друг за другом по возрастанию,
понятный пример - я проверяю нажатие кнопок от "A" до "Z" (их коды "41H" ... "5AH").

Я могу сделать это примитивно (пусть код в регистре А):
Code:
   CPI  41H
   JZ    ADDR1
   CPI  42H
   JZ    ADDR2
   ...
   CPI  5AH
   JZ    ADDRz

Это будет аналогом
Code:
   IF ... THEN ...
   IF ... THEN ...
   ...
   IF ... THEN ...

Но гораздо более быстрый способ сделать это по таблице,
реализовав аналог SELECT CASE ... CASE IS ...
Code:
  LXI  H,TABLE; укажем на таблицу переходов
  LXI  D,0000H; начальное смещение в таблице
  SUI  41H; превращаем "41H" ... "5AH" в "00H" ... "19Н"
  MOV C,A; сохраним код А в С
  ORA A;    флаг С = 0
  RAL;       = А * 2
  ADD  C;   = А * 3 потому что таблица трёхбайтная
  ADC E;    заносим
  MOV E,A; результат
  XRA A;    в
  ADC D;    начальное
  MOV D,A; смещение
  DAD  D;  вычисляем смещение по таблице
  PCHL; переход по адресу
TABLE:
   JMP ADDR1
   JMP ADDR2
   ...
   JMP ADDRz

Я написал длинно и неоптимально. Если заранее знать, что "00H" ... "19Н" - можно написать проще.
Но суть вот в чем: какое большое число не получилось бы в резуьтате - смещение в таблице будет
всегда положительным
, потому что мы рассматриваем его как "целое без знака".

С другой стороны, в операциях относительного перехода типа:
JMP SHORT ADDR
мы наоборот рассматриваем ADDR как "целое со знаком". Поэтому JMP может быть как
вперед, так и назад.

Так вот глобальное сомнение у меня вот в чем: в троичной логике отрицательные числа получаются естественно.
Но смещение по адресу должно быть положительным. Может так случиться, что в примере, как я рассмотрел,
меня "джампнет" не по адресу в таблице, а по адресу где-то "сзади", потому что смещение получится отрицательным?
Или я что-то не так понимаю и заморочку себе выдумал?

_________________
iLavr


16 Oct 2017 05:35
Profile
Admin
User avatar

Joined: 09 Jan 2003 00:22
Posts: 18605
Location: Silicon Valley
Reply with quote
джампнет

_________________
:eugeek: https://twitter.com/Shaos1973


04 Nov 2017 19:21
Profile WWW
Display posts from previous:  Sort by  
Reply to topic   [ 54 posts ]  Go to page Previous  1, 2, 3, 4  Next

Who is online

Users browsing this forum: No registered users and 2 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.