nedoPC.org

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



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

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

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

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

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

_________________
iLavr


09 Oct 2017 15:51
Profile
God

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

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

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


09 Oct 2017 17:47
Profile
Admin
User avatar

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

_________________
:dj: https://mastodon.social/@Shaos


09 Oct 2017 20:39
Profile WWW
Maniac

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


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


09 Oct 2017 23:02
Profile
Supreme God
User avatar

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

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

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

_________________
iLavr


10 Oct 2017 07:06
Profile
Supreme God
User avatar

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

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

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

_________________
iLavr


10 Oct 2017 17:00
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 08: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 04:35
Profile
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22409
Location: Silicon Valley
Reply with quote
джампнет

_________________
:dj: https://mastodon.social/@Shaos


04 Nov 2017 18:21
Profile WWW
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
Lavr wrote:
схема полного однотритного сумматора из разработанных мной блоков выглядит
следующим образом:

Image

Я на момент создания не сделал никакой проверки полного троичного сумматора, заложившись
на правильную работу отдельных его функциональных блоков.
Это не от лени, а потому как EWB "захлебывается" считать такую большую аналоговую схему
да еще и вкупе со счетчиком.
Но я подумал, что это в общем-то упущение, и ничто не мешает мне снять таблицу истинности
этого устройства, подавая на входы логические уровни через переключатели

Вот эта таблица для разработанного полного троичного сумматора:
Attachment:
TFullAdd.gif
TFullAdd.gif [ 7.97 KiB | Viewed 8768 times ]

На мой взгляд - всё вроде верно. Но проверка свежим взглядом - не помешает...

_________________
iLavr


08 Nov 2017 15:48
Profile
Maniac

Joined: 10 Mar 2017 05:30
Posts: 318
Reply with quote
Вроде всё чётко


08 Nov 2017 23:31
Profile
Fanat
User avatar

Joined: 18 Nov 2014 09:17
Posts: 52
Location: Отсюда
Reply with quote
Да, правильно всё.


Attachments:
table1.pdf [30.8 KiB]
Downloaded 435 times
10 Nov 2017 15:07
Profile
Banned

Joined: 07 Mar 2018 23:17
Posts: 315
Location: Россия, Москва
Reply with quote
Lavr wrote:
Вот эта таблица для разработанного полного троичного сумматора:
[вложена таблица]
На мой взгляд - всё вроде верно. Но проверка свежим взглядом - не помешает...

Похоже, что таблица соответствует версии таблицы полного троичного симметричного сумматора в трёх видах, опубликованной мною в "Википедии", в статье "Троичные функции", в разделе "Троичный сумматор-вычитатель", 6 февраля 2012 в 11:07:
Attachment:
Троичный симметричный полный сумматор.JPG
Троичный симметричный полный сумматор.JPG [ 120.31 KiB | Viewed 8533 times ]

Но проверка свежим взглядом - не помешает...


25 May 2018 11:45
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
Lavr wrote:
схема полного однотритного сумматора из разработанных мной блоков выглядит
следующим образом:
Image
Я на момент создания не сделал никакой проверки полного троичного сумматора, заложившись
на правильную работу отдельных его функциональных блоков.
Это не от лени, а потому как EWB "захлебывается" считать такую большую аналоговую схему
да еще и вкупе со счетчиком
.
Но главное во всей этой затее было то, что я просчитал все необходимые элементы троичной логики аналоговыми методами, то есть, в отличие от чисто цифровых расчетов, здесь учитывались все переходные процессы, проскакивание перехода [+1] -> [-1] через логический уровень [0] (да, это приводит к некоторым "артефактам", но с точки зрения цифровой схемотехники они не смертельны), и пришел я к основному выводу, что аналоговые модели соответствуют алгебре троичной логики, а поэтому можно было осуществить качественный скачок, перейдя к чисто цифровым моделям для повышения скорости расчета.


В качестве платформы я выбрал Proteus, поскольку разработчики заложили в его движок логическое состояние "конфликта", очень хорошо соответствующее нашему понятию "неопределённости" в троичке: это состояние Proteus трактует как уровень 2.5 В, что вполне подходит для моделирования устройств на троичной логике.
Image

Ну и поскольку dll-библиотеки Proteus на C++ мы писать научились, я занялся тем, что уже испытанные аналоговые модели элементов троичной логики перевёл в цифровой вид:
Image

При этом старался сравнивать идентичность поведения цифровых моделей с аналоговыми:
Image

Интересно, что в результате этих изысканий фактически пришлось разработать семейство троичных логических элементов, поскольку Proteus при компиляции предлагает упаковать логику в подхоящий корпус, и я попытался сделать это в полной аналогии с существующими сериями 74... 74LS... 74HC..., где одинаковым логическим элементам присваивают одинаковые номера.
Хотя пришлось "пристроить" и элементы, которых в двоичных сериях просто нет.

Я не выкладывал эти модели в форум, поскольку считаю, что они имеют версию "альфа", то есть, их ошибки и аномалии на начальном этапе должен тщательно вычистить сам разработчик, после чего он (разработчик) приходит к решению, что модели дозрели стать версией "бета", и можно предоставить их на тестирование "бета"-тестерам.

Ну а тестировать логические элементы лучше всего что-то конструируя из них, и я решил начать с троичного сумматора, поскольку в EWB он был самой тормозной конструкцией.

Конструировал сумматор я по полной аналогии с тем, что уже было сделано ранее в этой ветке форума.

Сначала это была вот такая конструкция из "элементарных кирпичиков" троичной логики:
Image

Потом, после тщательной проверки, я "свернул" её в более компактные модули:
Image

И в итоге получилась вот такая модель полного однотритного сумматора, который я и использовал в АЛУ моего весьма удачного проекта троичного компьютера.
Image

Если спросить: а в чем смысл такой последовательности? А смысл в том, что для приемлемой скорости моделирования сама модель, как я вот здесь уже писал, должна быть простой, но адекватной.
То есть, в итоговую "коробочку" полного однотритного сумматора вошли только его "формулы", а не формулы всех элементарных элементов, но сравнение модели сумматора с его же моделью из "элементарных кирпичиков" показало его полную адекватность.
Вот только работает его модель шустрее, чем 10...20 "элементарных кирпичиков".

Ну и так вышло, что я немного отвлёкся в сторону и написал под Proteus модели популярных здесь у нас мультиплексоров на основе аналоговых ключей DG403.
Чтобы у заинтересованных посетителей форума была возможность не только почитать здесь про троичность, но и хоть как-то приобщиться к процессу... :wink:
Благо Proteus супер-новый не нужен, я всё это делаю под версией 6.7 Pro, которая "вертится" у меня на любимом моём фактически ныне музейном ноутбуке ThinkPad 600е P-II 366 MHz под Windows 98. :roll:
Ну если у меня "вертится", то у всех должно летать со свистом! (Я проверял на работе на современном десктопе под Win 10).

Ну и поскольку на моих моделях "муксов" никто и ничего сконструировать не отважился, я решил проверить их адекватность сам как раз вот на примере полного однотритного сумматора.

Получилось в итоге вот что:
Image

Где в каждой коробочке под названием "MUX" для компактности находится вот это:
Image

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

Но Proteus-модель полного однотритного сумматора ей полностью соответствует! :wink:

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

Поэтому я решил собрать эту конструкцию на макетке, благо DG403 у меня были и время есть.
То, что добротно посчитано, собирается обычно за один вечер или где-то с 12 до 4 утра по моим привычкам.
Так что запаситесь попкорном, продолжение сейчас будет... :wink:

_________________
iLavr


24 Apr 2020 19:43
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
Были у меня в запасе две вот таких беспаечных макетки с пластиковым основанием ценой по 740 р., что дешевле аналогичных на металлической пластине, у тех цена зашкаливает за 12хх р.
Image

Припас я эти макетки под проделки с нашим любимым 1801ВМ2, но, поразмыслив, решил, что там и одной макетки хватит, и ключей DG403 у меня некоторое количество в запасе было.

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

После всех уточнений и перетасовок разводка получилась примерно вот такая:

Image

Собственно, вот это всё и нетрудно вполне собрать на макетке "за один вечер", поскольку заранее продумано всё, паять не надо, смотришь на красивую разводку - втыкаешь корпуса и проводки, благо у всех элементов есть ещё и заметная идентичность.
Image

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

В итоге получилась вот такая довольно симпатичная штука...
Image

...которая работает с точностью по всё той же таблице. :ewink:
Attachment:
TRI_SUM_Tab.gif
TRI_SUM_Tab.gif [ 11.57 KiB | Viewed 7245 times ]


В процессе сборки я обратил внимание, что в составе полного однотритного сумматора есть элементы, которые неплохо иметь в составе полного АЛУ - это узлы циклических отрицаний, причем оба.
Также есть части схем MIN и MAX, что позволяет доделать эту плату до полнофункционального АЛУ, добавив, если я не ошибся, ещё 4 корпуса DG403.
Из них троичный XOR займёт, видимо, целых 2 корпуса.

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

Ну и поскольку я уже ничего перерисовывать не стал, оригинал разводки вполне подробно виден на следующем фото:

 Фото макетной платы сумматора
Image

_________________
iLavr


24 Apr 2020 19:54
Profile
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22409
Location: Silicon Valley
Reply with quote
т.е. ты таки перешёл на DG403 как и все мы? ;)


Attachments:
DG403-Lavr.jpg
DG403-Lavr.jpg [ 266.03 KiB | Viewed 7139 times ]

_________________
:dj: https://mastodon.social/@Shaos
09 May 2020 19:40
Profile WWW
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: Bing [Bot] 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:  
cron
Powered by phpBB® Forum Software © phpBB Group
Designed by ST Software.