nedoPC.org

Electronics hobbyists community established in 2002
Atom Feed | View unanswered posts | View active topics It is currently 25 Apr 2024 22:48



This topic is locked, you cannot edit posts or make further replies.  [ 45 posts ]  Go to page 1, 2, 3  Next
Об эмуляции троичных элементов на двоичных микросхемах 
Author Message
Maniac
User avatar

Joined: 14 Mar 2006 00:20
Posts: 211
Location: Иркутск
Поскольку покамест похоже, что промышленное производство троичных микросхем - дело весьма отдалённой и туманной перспективы, а разработка "честных" троичных решений на форуме имеет пока скорее академическое, чем практическое значение, позволю себе вернуться ещё раз к существующим двоичным микрухам, как возможной базе для создания действующего компа.
Недавно был разговор об эмуляции троичной памяти на обычных микрухах с использованием двух битов на один трит. Решили, что возможно. Если развивать мысль далее, то так можно эмулировать как ОЗУ, так и ПЗУ. Более того, микросхемы ПЗУ в двоичной технике применяются и для замены логических микросхем. По аналогии, ничто не мешает перенести это дело в троичность. Что надо, например, чтобы создать таким способом одноразрядный троичный сумматор? Подсчитаем. У сумматора три входа и два выхода. То есть двоичная ПЗУшка должна иметь шесть адресных ножек и четыре линии данных ...Ёмкость четырёхразрядной 556РТ4 (82S126) будет даже избыточна. Ну, подбор микрух - это уже детали, главное, чтобы ход мысли был понятен. Как вам предложение?

Кстати, рекламируемые преимущества троичной сбалансированной логики я бы разбил на две группы: те, что обусловлены троичностью и те, что - сбалансированностью. Из любой троичности (даже и несбалансированной) вытекает возможность передачи трёх сигналов по одному проводу, завязка при этом на двухполярные микрухи и т.п. А из любой сбалансированности (даже не троичной) мы получаем другую математику: не нужен специальный разряд для хранения знака числа, не нужен дополнительный код и т.п. Так вот комп, проэмулированный на двоичных элементах, не даёт конечно демонстрации аппаратных преимуществ (простота, экономия элементов, проводов и т.п), но даёт возможность воочию увидеть всю красу другой математики, другого программирования. По-моему, такая машина имеет право на существование. Может быть таким окольным путём троичность и придёт к людям, наберёт популярность, а потом, если этим заинтересуются бизнесмены, то подключится промышленность, серьёзные спецы-схемотехники и уж как нибудь разберутся, как удешевить аппаратуру. Согласны?


14 Jun 2006 21:09
Profile
Retired

Joined: 03 Aug 2003 22:37
Posts: 1474
Location: Moscow
Quote:
По-моему, такая машина имеет право на существование. Может быть таким окольным путём троичность и придёт к людям, наберёт популярность, а потом, если этим заинтересуются бизнесмены, то подключится промышленность, серьёзные спецы-схемотехники и уж как нибудь разберутся, как удешевить аппаратуру. Согласны?

Я согласен, что стоит пробовать. Со своей стороны пытаюсь прилагать усилия к созданию программной имитации троичной машины на основе независимой отладочной платы с микроконтроллером. Но и предложенный тобой вариант так же имеет все права на существование. Вопрос только один - кто возьмется ?


15 Jun 2006 07:53
Profile
Maniac
User avatar

Joined: 14 Mar 2006 00:20
Posts: 211
Location: Иркутск
Quote:
Я согласен, что стоит пробовать...
....Вопрос только один - кто возьмется ?...

Не будем никого заставлять. Кому это интересно, тот и возьмётся ;-)


15 Jun 2006 08:14
Profile
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22587
Location: Silicon Valley
Ball Bess wrote:
Поскольку покамест похоже, что промышленное производство троичных микросхем - дело весьма отдалённой и туманной перспективы, а разработка "честных" троичных решений на форуме имеет пока скорее академическое, чем практическое значение, позволю себе вернуться ещё раз к существующим двоичным микрухам, как возможной базе для создания действующего компа.


Ну академическое-неакадемическое, а троичный четырёхразрядный полусумматор у нас уже давно имеется ;-)

Image

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

P.S. На самом деле промышленность давно выпускает многое, что могло бы быть использовано в троичных устройствах.


15 Jun 2006 17:24
Profile WWW
Maniac
User avatar

Joined: 14 Mar 2006 00:20
Posts: 211
Location: Иркутск
Вот то, что на фото, (семь корпусов логики плюс три резисторных сборки) - это уже и есть именно четырёхразрядный и ни разрядом меньше? Больше ему ничего не надо? Подаём два четырёхтритных операнда на входА и наслаждаемся реальной суммой (с тритом переноса) на выходе? Я правильно тебя понял?


15 Jun 2006 21:26
Profile
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22587
Location: Silicon Valley
Ball Bess wrote:
Вот то, что на фото, (семь корпусов логики плюс три резисторных сборки) - это уже и есть именно четырёхразрядный и ни разрядом меньше? Больше ему ничего не надо? Подаём два четырёхтритных операнда на входА и наслаждаемся реальной суммой (с тритом переноса) на выходе? Я правильно тебя понял?


Поправлюсь: это двухразрядный полусумматор - два раза по два операнда и два выхода плюс два переноса (заёма):

Code:
 1) A1 - первое слагаемое первого полусумматора
 2) B1 - второе слагаемое первого полусумматора
 3) S1 - сумма от первого полусумматора
 4) C1 - перенос (заем) от первого полусумматора
 5) A2 - первое слагаемое второго полусумматора
 6) B2 - второе слагаемое второго полусумматора
 7) S2 - сумма от второго полусумматора
 8) C2 - перенос (заем) от второго полусумматора
 9)
10)-5В - отрицательное питание
11) 0В - земля
12)+5В - положительное питание


Можно прикинуть сколько корпусов простых двоичных вентилей потребуется чтобы делать тоже самое. После примерных прикидок я получил 4 инвертора и 16 двух-входовых И (это с учетом расхода двух бит на один трит). Если брать ПЗУ как вычислитель - то имеем 8 двоичных входов и 8 двоичных выводов - т.е. память на 256 байт.


16 Jun 2006 05:27
Profile WWW
Maniac
User avatar

Joined: 14 Mar 2006 00:20
Posts: 211
Location: Иркутск
Жаль, что твой блок не имеет входов для переноса. В конце-то концов хочется собрать многоразрядный сумматор, пусть даже собранный из одноразрядных секций.
Quote:
Можно прикинуть сколько корпусов простых двоичных вентилей потребуется чтобы делать тоже самое. После примерных прикидок я получил 4 инвертора и 16 двух-входовых И (это с учетом расхода двух бит на один трит). Если брать ПЗУ как вычислитель - то имеем 8 двоичных входов и 8 двоичных выводов - т.е. память на 256 байт.

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


17 Jun 2006 09:07
Profile
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22587
Location: Silicon Valley
Ball Bess wrote:
Жаль, что твой блок не имеет входов для переноса. В конце-то концов хочется собрать многоразрядный сумматор, пусть даже собранный из одноразрядных секций.


Вот потому он и полусумматор ;)

Полный сумматор у меня в стандартах тоже есть - и я даже знаю как его построить на ключах :)


17 Jun 2006 12:53
Profile WWW
Maniac
User avatar

Joined: 14 Mar 2006 00:20
Posts: 211
Location: Иркутск
Quote:
Вот потому он и полусумматор ;)
Полный сумматор у меня в стандартах тоже есть - и я даже знаю как его построить на ключах :)

Ну, так с полного сумматора и надо было начинать ;-)
Сумматор всегда сможет работать как полусумматор, это просто его частный случай. А вот наоборот - нет. И в многоразрядном сумматоре всего одна секция "полу" (младшая), а остальные полные. Надобно бы полный иметь, однако... И посмотреть, насколько это получится сложно ;-)


17 Jun 2006 18:43
Profile
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22587
Location: Silicon Valley
Ball Bess wrote:
Quote:
Вот потому он и полусумматор ;)
Полный сумматор у меня в стандартах тоже есть - и я даже знаю как его построить на ключах :)

Ну, так с полного сумматора и надо было начинать ;-)
Сумматор всегда сможет работать как полусумматор, это просто его частный случай. А вот наоборот - нет. И в многоразрядном сумматоре всего одна секция "полу" (младшая), а остальные полные. Надобно бы полный иметь, однако... И посмотреть, насколько это получится сложно ;-)


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


17 Jun 2006 19:30
Profile WWW
Maniac
User avatar

Joined: 14 Mar 2006 00:20
Posts: 211
Location: Иркутск
Quote:
В общем случае из полусумматоров можно получить полный сумматор, но в нашем случае это породит избыточность, поэтому полный сумматор будет строится как отдельный компонент по своей схеме.

Вообще-то (имхо), экономия транзисторов - это что-то из разряда "детских болезней" схемотехники, характерное больше для построений на "рассыпухе".
Нечто подобное наблюдалось в программировании, когда машины были ужасно медленными, а память измерялась десятками или сотнями байтов. А потом появились ЯВУ, всякие программные прослойки, а предельная, до байтика, оптимизация была принесена в жертву технологии производства программного обеспечения. Тем более, что новое железо стало это допускать.
Так что если дело дойдёт до разработки троичных микрух, то тут тоже сразу скажет своё веское слово её величество технология, как уже не раз было. Например, в двоичных ТТЛ-микрухах ЛА2 - это восьмивходовый эл-т 8И-НЕ. ЛА3 содержит уже четыре абсолютно таких же элемента, но у каждого вывели наружу только по два входа, а прочие шесть остались внутри, корпус не позволил их вывести. Не стали разрабатывать для 2И-НЕ специальные двухэмиттерные транзисторы вместо восьмиэмиттерных. И у разработчиков микрух никаких комплексов по этому поводу :-) А пользователи микросхем об этом вообще не подозревают. Ну да это что, это ещё так себе, слабенький примерчик. По пол-чипа внутреннего "балласта" иногда бывает из технологических или маркетинговых соображений. Вспомните-ка i486SX...
Так что, ребята, реализация троичности на двоичных элементах, когда из четырёх состояний одно вроде как лишним оказывается, это - далеко не самое страшное расточительство. ;-) .. Никто и никогда не смотрит в первую очередь, сколько внутри транзисторов, а смотрят, сколько стоит конечное изделие, как быстро оно будет работать и как скоро может быть запущено в производство. И если троичное АЛУ, (а то и проц) на обычном, уже существующем FPGA, окажется миниатюрнее, быстрее и дешевле, чем на "стандартных элементах", предложенных здесь на форуме, то разве это "нечестно"? Это - плохо?
По-моему - это нормально. Такой проц будет именно честно работать в сбалансировнной троичной системе и никто знать не будет, как оно там в нём внутри всё устроено. Внутреннее устройство - это вообще дело технологов.
Даже в тех же "стандартных элементах", если начать разлагать их на составные части и анализировать принцип действия, много чего двоичного можно накопать. Шаос приложил немало усилий, чтобы эти элементы хотя бы внешне, на уровне интерфейса, выглядели троично и выполняли троичные элементарные функции. А внутри что? Ключи и компараторы: "Вкл\выкл", "больше\меньше" :-D Чем это отличается от более крупного блока на двоичной БИС (FPGA к примеру), который реализует троичные функции? Ну, типа, функции АЛУ, CPU, а может и компа в целом...
Так что, может быть, никакой такой абсолютной "троичной честности вообще" и вовсе не существует, а всё зависит лишь от того, на каком уровне идёт рассмотрение? Если с точки зрения программиста комп троичный, значит так оно и есть, для него он троичный... Нет?
И, соответственно, выходит, что невозможен рафинированный троичный компьютер, у которого буквально всё и на всех уровнях (начиная с треугольных шлицов на винтиках) полностью троично... Трёхпозиционные тумблерА вместо кнопок на клаве не запланированы случайно? :-D
Вот такая философия. Если она ошибочна и её убедительно опровергнут, то это хорошо, значит будут развеяны и мои заблуждения...
Тупо упорствовать не стану :-) Только до тех пор, пока сомнений не останется. :-D

P.S.
1. Слово "честность" применительно к троичности я подцепил у Шаоса: оказалось, что оно очень удачно и удобно для рассуждений. :-)
2. Философские рассуждения и споры на тему троичности считаю полезными хотя бы потому, что многолетняя шлифовка мозгов в двоичном направлении создала массу стереотипов, которые надо разрушить, чтобы:
- спала пелена с глаз
- за деревьями увидеть лес
- более-менее чувствовать свободу в троичном творчестве.
- и т.п.


19 Jun 2006 20:55
Profile
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22587
Location: Silicon Valley
Действительно - схемы на компараторах и ключах можно назвать гибридными (потому как каждый отдельный элемент в них - двоичный с одной стороны и аналоговый с другой), НО не чисто двоичными! Также сбалансированную троичность можно рассматривать как двоичность со знаком - в этом смысле подход вкл-выкл вполне имеет право на существование, т.к. мы можем делать вкл-выкл положительного напряжения либо вкл-выкл отрицательного.


20 Jun 2006 20:59
Profile WWW
Maniac
User avatar

Joined: 14 Mar 2006 00:20
Posts: 211
Location: Иркутск
Quote:
...подход вкл-выкл вполне имеет право на существование, т.к. мы можем делать вкл-выкл положительного напряжения либо вкл-выкл отрицательного....

А "вкл" для положительного и отрицательного одновременно - запрещённая комбинация :-) Аналогию улавливаешь с кодированием трита двумя битами? 00, 10 и 01 - можно, а 11 - нельзя. То есть это просто двоичное кодирование набора из трёх цифр. Применимо хоть для 0, 1, 2, хоть для N,0,P. А лезет это всё из двоичной сущности выключателей (или коммутаторов, как там правильно их назвать) - "вкл\выкл".
А сбалансированность, как я уже говорил, состоит не в сопоставлении троичным цифрам положительного и отрицательного напряжения, а в наличии отрицательных цифр! Именно не чисел, а цифр! В любом разряде может стоять отрицательная цифра, и каким бы напряжением или током или ещё как ты её ни выражал (хоть моргай левым глазом), она всегда будет отрицательной, потому что такой родилась и ни в каких доп. знаках для выражения своей отрицательности не нуждается. Таким способом мы захватываем сразу всю шкалу (числовую ось) и вправо и влево от нуля! Не нужны никакие условности, значки, сообщающие дополнительную информацию о числе, в какой половине числовой оси оно находится! Если есть число, то с ним сразу всё ясно, это число такое-то. Кстати, несмотря на то, что не нужен спец. разряд для хранения знака, экономии разрядов я не обнаружил ;-)
А в несбалансированных системах такого понятия, как отрицательная цифра нет вовсе. Там все цифры положительные. А чтобы показать, что число находится в левой части числовой оси, ещё специальное подразумение нужно, отдельный спец. пальчик загнуть или узелок (бит) завязать. Вот фундаментальная разница между balanced и unbalanced. И из этого вытекает всё остальное: правила составления чисел из цифр, арифметика и т.п.
Извини, что разорался, да ещё и банальности говорю... :-) Я это и для себя говорю тоже, чтобы осело в мозгу на подсознательном уровне, т.к. только недавно про всё это узнал и пока путаюсь даже в "азах" :-) Если какая-то "эврика" осенила, то это надо обязательно вслух прокричать, чтобы самому лучше запомнить. Говорю же - стереотипы и инерция мышления...
А с вольтами (при передаче трита по одному проводу) можно было условиться к примеру и так: от 0 до 1 вольта - считается N, от 2 до 3 вольта - логический ноль, от 4 и выше будет P. И это - с точки зрения математики, самая наичестнейшая и наисбалансированнейшая троичность без всяких натяжек. Вернее, математике в данном случае вообще пофигу, чем ты там что выражаешь, главное - что есть N и есть P, и этого достаточно. А то, что такие диапазоны вольтажа с технической точки зрения неудобны и непомехоустойчивы - это к математической сущности сбалансированной троичности не имеет ни малейшего отношения.

P.S.
Я уже, честно говоря, не уверен, что про троичное железо говорю. Трудно разделить всё на железо, математику, философию и ещё не знаю что там может прийти в голову.
Видимо, оффтопщик я позорный и нет мне другого названия :-D


20 Jun 2006 21:22
Profile
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22587
Location: Silicon Valley
Если вкл одновременно и плюс, и минус и это не напрямую напряжение питания, а через реэисторы - то это вполне допустимая комбинация, обозначающая ноль. По поводу размазывания значений в положительной области напряжений - для компараторов в-принципе пофиг, а вот если переходить на более простые схемы - там на положительности и отрицательности можно играть (простой диод пропускает положительный сигнал, непропускает отрицательный - или наоборот). В этом смысле "честные" троичные сигналы много проще многоуровневой логики.


21 Jun 2006 04:06
Profile WWW
Maniac
User avatar

Joined: 14 Mar 2006 00:20
Posts: 211
Location: Иркутск
Quote:
Если вкл одновременно и плюс, и минус и это не напрямую напряжение питания, а через реэисторы - то это вполне допустимая комбинация, обозначающая ноль.

Допустимая в смысле, что она не вызовет катастрофы (КЗ) при наличии ограничивающих резисторов, но неприемлемая из-за повышенного потребления тока. То есть какими словами это ни называй - суть не меняется: на коммутаторы, которые могут "включить минус 5", "включить плюс 5", "ничего не включить" и пусть даже "включить плюс и минус" одновременно, трит подаётся в двоичном виде по двум проводам. Смотри в корень!

Quote:
В этом смысле "честные" троичные сигналы много проще многоуровневой логики.


Да я же говорю, что ничем двухполярные сигналы не "честнее" и не "троичнее" многоуровневых! Они удобнее с технической точки зрения в случае передачи тритов по одному проводу. Это не значит, что я предлагаю многоуровневую логику. Я просто пример привёл, что можно и так сделать и всё равно при этом остаться в рамках сбалансированной троичности. То есть хотел показать, что не в физике сигналов сбалансированная троичность заключается. Вот это и опровергай, если не согласен :-D


21 Jun 2006 16:28
Profile
Display posts from previous:  Sort by  
This topic is locked, you cannot edit posts or make further replies.   [ 45 posts ]  Go to page 1, 2, 3  Next

Who is online

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