nedoPC.org

Community of electronics hobbyists established in 2002

...
Atom Feed | View unanswered posts | View active topics It is currently 24 May 2020 15:19



Reply to topic  [ 45 posts ]  Go to page Previous  1, 2, 3
Троичное АЦП 
Author Message
Retired

Joined: 03 Aug 2003 23:37
Posts: 1480
Location: Moscow
Reply with quote
Quote:
К слову, а можно ли как-то сравнить сложность двоичного и троичного процессора? Если взять минимальный набор команд и реализовать для них двоичное и троичное железо?


Сложное и неоднозначное это дело. Даже если взять к примеру простейший вариант - (Z)OISC-процессор, то это потребует немало времени на создание прототипов для сравнения. Кроме того, что и как вы планируете сравнивать: число элементов и связей, производительность, что-то ещё?

В целом лично мне было бы интересно принять посильное частие. А какую роль вы готовы взять на себя в этом проекте?


01 Dec 2009 15:53
Profile
Admin
User avatar

Joined: 09 Jan 2003 00:22
Posts: 18572
Location: Silicon Valley
Reply with quote
kvt wrote:
Для создания 8-ми разрядного сумматора требуется 144 гейта (примеры в книге базирутся на обычных реле). Можно ли оценить сложность троичного сумматора на 5 разрядов?


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


01 Dec 2009 22:45
Profile WWW
Reply with quote
я полагаю адекватной оценкой было сравнение удельной производительности - соотношения производительности к кол-ву транзисторов (! не вентилей) или площади топологии на одном техпроцессе

а для этого надо выполнить алгоритм одинаковой сложности на обоих устройствах
при этом и алгоритмическая эффективность реализации должна быть сравнима

в общем сдается мне что это будет возможно только после перового живого камня ;)


02 Dec 2009 23:13
Retired

Joined: 03 Aug 2003 23:37
Posts: 1480
Location: Moscow
Reply with quote
Вряд ли это верный подход, т.к. многие троичные элементы могут быть реализованы без транзисторов вообще.


04 Dec 2009 15:36
Profile
Reply with quote
так алгоритмы работы и в двоичном и в троичном вычислителе разные

логично сравнивать параметры уже полной системы - сравнение отдельных элементов вряд ли вообще что-нб скажет об эффективности


04 Dec 2009 20:19
Reply with quote
Quote:
Сложное и неоднозначное это дело. Даже если взять к примеру простейший вариант - (Z)OISC-процессор, то это потребует немало времени на создание прототипов для сравнения. Кроме того, что и как вы планируете сравнивать: число элементов и связей, производительность, что-то ещё?

В целом лично мне было бы интересно принять посильное частие. А какую роль вы готовы взять на себя в этом проекте?


Даже не знаю. Пока что я не смог сформулировать для себя проект достаточно убедительным образом, чтобы им серъезно заниматься.

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

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

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


05 Dec 2009 12:47
Retired

Joined: 03 Aug 2003 23:37
Posts: 1480
Location: Moscow
Reply with quote
Quote:
Другой простой пример - определение знака числа. В двоичной системе для того, чтобы определить знак, достаточно посмотреть состояние одного определенного бита.

Тут вы заблуждаетесь, т.к. при таком подходе вы запросто получите +0 и -0, чего в природе не существует. Для полноценного определения знака числа необходимо так же проверять это число на 0.

Quote:
В троичной нужно просканировать число от старшего разряда до первого ненулевого.

Снова усложняете - достаточно сравнить его с нулем, и в результате получим -, 0 и +.


05 Dec 2009 15:13
Profile
Admin
User avatar

Joined: 09 Jan 2003 00:22
Posts: 18572
Location: Silicon Valley
Reply with quote
Mac Buster wrote:
Quote:
Другой простой пример - определение знака числа. В двоичной системе для того, чтобы определить знак, достаточно посмотреть состояние одного определенного бита.

Тут вы заблуждаетесь, т.к. при таком подходе вы запросто получите +0 и -0, чего в природе не существует. Для полноценного определения знака числа необходимо так же проверять это число на 0.


ну если взять 0 как число положительное (как принято считать), то действительно достаточно лишь прочекать один бит

Mac Buster wrote:
Quote:
В троичной нужно просканировать число от старшего разряда до первого ненулевого.

Снова усложняете - достаточно сравнить его с нулем, и в результате получим -, 0 и +.


сравнение - это тоже вычитание, но без сохранения результата - сложновато, я в своё время придумал более простую схему на ключах (можно поробовать на оптопарах её построить)

вот то что в троичном сбалансированном коде делается действительно проще чем в двоичном, так это отрицание (троичная инверсия) и проверка на кратность 3 (и вообще 3^n) :-D


05 Dec 2009 17:35
Profile WWW
Reply with quote
Quote:
ну если взять 0 как число положительное (как принято считать), то действительно достаточно лишь прочекать один бит


Если исходить из строго математического подхода, то у ноля знака нет (http://ru.wikipedia.org/wiki/0_%28%D1%8 ... B%D0%BE%29) и в этом смысле троичная система более строга, нежели двоичная. Но с практической точки зрения действительно можно считать ноль положительным.


06 Dec 2009 02:23
Reply with quote
а что мешает таскать с данными тэги?
в них можно заложить не только информацию о знаке но и кой чего ещё, к примеру информацию о типе данных
главное при этом проследить чтобы тег имел разумный размер


06 Dec 2009 10:48
Admin
User avatar

Joined: 09 Jan 2003 00:22
Posts: 18572
Location: Silicon Valley
Reply with quote
Shaos wrote:
А вот и схема:

Image

Это модуль троичного АЦП, который генерирует один трит и аналоговую ошибку, которую надо передать на вход следующего модуля. Как видно один модуль АЦП состоит из двух компараторов и двух операционников. В окончательной схеме по-видимому надо добавить еще по одному операционнику на трит - чтобы буферизировать выходы (ну или можно двухтранзисторные буфера приделать). Схема нарисована и отлажена в программе MULTISIM.


Shaos wrote:
Mac Buster wrote:
Очень красиво :-) Один вопрос: а где там что ? :-)


Ну вобщем аналоговый сигнал подается слева внизу - там где генератор синусоиды нарисован. Сигнал подается на инвертирующий операционный усилитель с коэффициентом усиления 1. Потом идём на троичный инвертор на двух компараторах и двух диодах (слева вверху) с порогами срабатывания -U/3 и +U/3. Выход троичного инвертора подается на суммирующий операционный усилитель с инверсией, считающий по следующей формуле:

Uout = -3*(-Uin) - 2*Uinv3 = 3*Uin - 2*Uinv3

где -Uin - инвертированный входной сигнал, а Uinv3 - выход троичного инвертора (троично инветрирующий аналогово инвертированный входной сигнал).

Выход троичного инвертора (точка между двумя диодами, с которой идет сигнал на вольтметр) является выходом вычисленного трита.

Выход вычисляющего операционника Uout можно считать ошибкой вычисления, нормализованной до всего диапазона -U...+U. Эту ошибку вычисления можно подавать на следующий точно такой же модуль в качестве входного сигнала для вычисления следующего трита и получения следующей ошибки, подаваемой далее и т.д.

Надо чтоли уже построить сиё в железе (причём сразу 3-тритный вариант) да проверить работает ли как ожидалось (почти 12 лет назад) :roll:

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


23 Nov 2017 14:02
Profile WWW
Supreme God
User avatar

Joined: 21 Oct 2009 09:08
Posts: 7777
Location: Россия
Reply with quote
А в чем это ты АЦП "нарисовал"? :wink: Очень смахивает на мультисим...

_________________
iLavr


23 Nov 2017 14:24
Profile
Admin
User avatar

Joined: 09 Jan 2003 00:22
Posts: 18572
Location: Silicon Valley
Reply with quote
Lavr wrote:
А в чем это ты АЦП "нарисовал"? :wink: Очень смахивает на мультисим...

ну дык
Shaos wrote:
Схема нарисована и отлажена в программе MULTISIM

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

P.S. интересно, что я со стародавних времён называю АЦП "оно", хотя это "он" (преобразователь) как собственно и ЦАП, однако мозг всё равно ассоциирует его с "оно" (видимо потому что "ацэпэ" почти как "солнце", которое оно, а вот "цап" - вроде как он)

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


23 Nov 2017 14:28
Profile WWW
Supreme God
User avatar

Joined: 21 Oct 2009 09:08
Posts: 7777
Location: Россия
Reply with quote
Shaos wrote:
Lavr wrote:
А в чем это ты АЦП "нарисовал"? :wink: Очень смахивает на мультисим...
ну дык
Shaos wrote:
Схема нарисована и отлажена в программе MULTISIM
Да ты уж меня просто как-то почти убедил, что не любишь всяких EWB и MULTISIM-ов... :wink:
А тут я вдруг увидел знакомую пиктограмму осциллографа - и очень удивился! :o

_________________
iLavr


23 Nov 2017 14:33
Profile
Admin
User avatar

Joined: 09 Jan 2003 00:22
Posts: 18572
Location: Silicon Valley
Reply with quote
Угу - не люблю :roll:
Но тогда выхода другого небыло

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


23 Nov 2017 14:35
Profile WWW
Display posts from previous:  Sort by  
Reply to topic   [ 45 posts ]  Go to page Previous  1, 2, 3

Who is online

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