nedoPC.org

Community of electronics hobbyists established in 2002

...
Atom Feed | View unanswered posts | View active topics It is currently 25 Sep 2018 16:42



Reply to topic  [ 12 posts ] 
Преимущества (и недостатки) троичной системы перед двоичной 
Author Message
Maniac

Joined: 10 Mar 2017 06:30
Posts: 276
Reply with quote
Товарищи, а можете мне аргументированно рассказать, зачем можно хотеть делать железки на троичной системе счисления? Заранее спасибо!

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


05 Jul 2018 13:13
Profile
Admin
User avatar

Joined: 09 Jan 2003 00:22
Posts: 16955
Location: Colorado
Reply with quote
У нас уже была похожая тема: Тринарное исчисление против бинарного
Только она ушла далеко в сторону и я её прикрыл ;)

Из того, что сразу же приходит в голову на тему преимуществ сбалансированной троичности:
1) 3 ближе к самому оптимальному основанию для систем счисления e нежели 2
2) для представления отрицательных чисел не надо городить никаких "дополнительных кодов"
3) округление делается через простое отбрасывание ненужных разрядов (без всяких проверок на >=0.5 и т.д.)
4) для передачи паралелльных данных надо в log 3 / log 2 = 1.5849625007211561814537389439478 раз меньше проводов ;)

Из недостатков (на мой взгляд):
1) для проверки знака числа надо сделать больше телодвижений (найти самый старший ненулевой разряд)
2) нет простых способов деления на 2 и умножения на 2 (зато есть деление и умножение на 3 через сдвиг разрядов : )
3) число 0.5 невозможно представить конечным числом троичных разрядов (зато можно 0.33333... : )

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


05 Jul 2018 21:47
Profile WWW
Maniac

Joined: 10 Mar 2017 06:30
Posts: 276
Reply with quote
Shaos wrote:
1) 3 ближе к самому оптимальному основанию для систем счисления e нежели 2

Оптимальность считается по взятой с потолка функции качества. Что будет, если считать площадь кремния?

Shaos wrote:
2) для представления отрицательных чисел не надо городить никаких "дополнительных кодов"

Не вижу никаких неудобств в работе с доп. кодами.

Shaos wrote:
3) округление делается через простое отбрасывание ненужных разрядов (без всяких проверок на >=0.5 и т.д.)

Я правильно понимаю, что речь идёт о числах с фиксированной запятой? А как реализовывать плавающую точку? Там же не получится такого финта ушами.

Shaos wrote:
4) для передачи паралелльных данных надо в log 3 / log 2 = 1.5849625007211561814537389439478 раз меньше проводов ;)

Это не то же самое, что и пункт 1?


Shaos wrote:
Из недостатков (на мой взгляд):
1) для проверки знака числа надо сделать больше телодвижений (найти самый старший ненулевой разряд)

Ну, это руками сложно, а в кремнии может быть примерно всё равно.

Shaos wrote:
2) нет простых способов деления на 2 и умножения на 2 (зато есть деление и умножение на 3 через сдвиг разрядов : )
3) число 0.5 невозможно представить конечным числом троичных разрядов (зато можно 0.33333... : )

Сомнительные недостатки, хотя да, человек чаще делит на два, нежели на 3.

А что с помехоустойчивостью у троичных схем? А с быстродействием? С энергопотреблением?


05 Jul 2018 23:46
Profile
Admin
User avatar

Joined: 09 Jan 2003 00:22
Posts: 16955
Location: Colorado
Reply with quote
haqreu wrote:
Shaos wrote:
1) 3 ближе к самому оптимальному основанию для систем счисления e нежели 2

Оптимальность считается по взятой с потолка функции качества. Что будет, если считать площадь кремния?


Ну вроде у народа какие-то обоснования на этот счёт были

haqreu wrote:
Shaos wrote:
2) для представления отрицательных чисел не надо городить никаких "дополнительных кодов"

Не вижу никаких неудобств в работе с доп. кодами.


Ну а я вижу - например чтобы поменять знак + на - в доп.коде надо сделать 2 действия: инвертировать и затем инкрементировать, а в сбалансированной троичности - просто инвертировать

haqreu wrote:
Shaos wrote:
3) округление делается через простое отбрасывание ненужных разрядов (без всяких проверок на >=0.5 и т.д.)

Я правильно понимаю, что речь идёт о числах с фиксированной запятой? А как реализовывать плавающую точку? Там же не получится такого финта ушами.


Да обычно реализовать - был у нас топика на эту тему

haqreu wrote:
Shaos wrote:
4) для передачи паралелльных данных надо в log 3 / log 2 = 1.5849625007211561814537389439478 раз меньше проводов ;)

Это не то же самое, что и пункт 1?


Нет - первый пункт сугубо про систему счисления, а тут проводки считаем (у 10-ричной системы например будет ещё меньше проводков, но она непрактична)

haqreu wrote:
Shaos wrote:
Из недостатков (на мой взгляд):
1) для проверки знака числа надо сделать больше телодвижений (найти самый старший ненулевой разряд)

Ну, это руками сложно, а в кремнии может быть примерно всё равно.


возможно

haqreu wrote:
Shaos wrote:
2) нет простых способов деления на 2 и умножения на 2 (зато есть деление и умножение на 3 через сдвиг разрядов : )
3) число 0.5 невозможно представить конечным числом троичных разрядов (зато можно 0.33333... : )

Сомнительные недостатки, хотя да, человек чаще делит на два, нежели на 3.

А что с помехоустойчивостью у троичных схем? А с быстродействием? С энергопотреблением?

Пока плохо :)

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


06 Jul 2018 01:23
Profile WWW
Maniac

Joined: 10 Mar 2017 06:30
Posts: 276
Reply with quote
Shaos wrote:
Ну вроде у народа какие-то обоснования на этот счёт были

В студию!

Shaos wrote:
Ну а я вижу - например чтобы поменять знак + на - в доп.коде надо сделать 2 действия: инвертировать и затем инкрементировать, а в сбалансированной троичности - просто инвертировать


Ровно такое же неудобство, как и у поиска знака у троичного числа.

Shaos wrote:
Да обычно реализовать - был у нас топика на эту тему


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



Shaos wrote:
Нет - первый пункт сугубо про систему счисления, а тут проводки считаем (у 10-ричной системы например будет ещё меньше проводков, но она непрактична)


Можешь показать обоснование, что проводов будет меньше? (Каких проводов? Для чего проводов?)


06 Jul 2018 07:30
Profile
Maniac

Joined: 10 Mar 2017 06:30
Posts: 276
Reply with quote
Shaos wrote:
haqreu wrote:
Shaos wrote:
1) 3 ближе к самому оптимальному основанию для систем счисления e нежели 2

Оптимальность считается по взятой с потолка функции качества. Что будет, если считать площадь кремния?


Ну вроде у народа какие-то обоснования на этот счёт были


А теперь в студию следующий документ (смотреть секцию 6-7, страница 84):
http://bitsavers.trailing-edge.com/pdf/ ... s_1950.pdf


Quote:
Let N = rn represent a fair estimate of the number of tubes required in the system

Итак, эта функция была введена для подсчёта ламп в кольцевом счётчике, который использовался для представления чисел в любой [целочисленной] базе.

Ну и читаем до конца:

Quote:
Under these assumptions, the radix 3, on the average, is the most economical choice, closely followed by radices 2 and 4. These assumptions are, of course, only approximately valid, and the choice of 2 as a radix is frequently justified on more complete analysis. It should be noted that, even with the optimistic assumption that 10 triodes will yield a reliable decimal ring, radix 10 leads to about one and one-half times the complexity of radix 2, 3, or 4. This is probably significant despite the shallow nature of the argument used here.


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


06 Jul 2018 08:06
Profile
Maniac

Joined: 01 Oct 2007 11:30
Posts: 268
Location: Ukraine
Reply with quote
Наехали.

Вот не понял ничего. Три-логика. Это конечно зашквар. Если тут нолик и один разбирают с трудом современные процЦы.

Ну, прикольно. Пора строить аналоговый комп :rotate:

Ой, его уже пострили. Ракеты пп ус к ссус(депортирую не дай бог. демократия) :mrgreen:

_________________
Эмулятор OrionEXT:
http://www.orion-ext.narod.ru


06 Jul 2018 08:14
Profile
Admin
User avatar

Joined: 09 Jan 2003 00:22
Posts: 16955
Location: Colorado
Reply with quote
haqreu wrote:
Shaos wrote:
Нет - первый пункт сугубо про систему счисления, а тут проводки считаем (у 10-ричной системы например будет ещё меньше проводков, но она непрактична)


Можешь показать обоснование, что проводов будет меньше? (Каких проводов? Для чего проводов?)

Проводов для параллельной передачи того же самого объёма данных

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


06 Jul 2018 11:23
Profile WWW
Admin
User avatar

Joined: 09 Jan 2003 00:22
Posts: 16955
Location: Colorado
Reply with quote
haqreu wrote:
Мы согласны с тем, что плавающую точку простым отбрасыванием разрядов будет не огрубить?

Ну если мы отбрасываем не пересчитвая экспоненту, то тоже самое - простое отбрасывание

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


06 Jul 2018 11:24
Profile WWW
Maniac

Joined: 10 Mar 2017 06:30
Posts: 276
Reply with quote
Shaos wrote:
Ну если мы отбрасываем не пересчитвая экспоненту, то тоже самое - простое отбрасывание


В двоичной то же самое ведь?


06 Jul 2018 11:26
Profile
Maniac

Joined: 10 Mar 2017 06:30
Posts: 276
Reply with quote
Shaos wrote:
Проводов для параллельной передачи того же самого объёма данных


Ок. То есть, между АЛУ и памятью проводов нужно меньше. А сколько проводов нужно внутри самой памяти?


06 Jul 2018 11:26
Profile
Admin
User avatar

Joined: 09 Jan 2003 00:22
Posts: 16955
Location: Colorado
Reply with quote
haqreu wrote:
Shaos wrote:
Ну если мы отбрасываем не пересчитвая экспоненту, то тоже самое - простое отбрасывание


В двоичной то же самое ведь?


В двоичной округлять надо - если отброшенное больше или равно половине (старший отброшенный бит был единичкой), то надо прибавлять единичку к оставленному, чтобы погрешность меньше была

P.S. А если число отрицательное (в дополнительном коде), то надо не прибавлять единичку, а вычитать, причём если старший отброшенный бит был не единичкой, а нулём...

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


06 Jul 2018 11:32
Profile WWW
Display posts from previous:  Sort by  
Reply to topic   [ 12 posts ] 

Who is online

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