Преимущества (и недостатки) троичной системы перед двоичной
Moderator: haqreu
-
- Maniac
- Posts: 318
- Joined: 10 Mar 2017 05:30
Преимущества (и недостатки) троичной системы перед двоичной
Товарищи, а можете мне аргументированно рассказать, зачем можно хотеть делать железки на троичной системе счисления? Заранее спасибо!
Поясню: я слышал некоторое количество аргументов, но ни один из них мне не кажется железобетонным. Давайте обсудим все аргументы, которые сможем вспомнить?
Поясню: я слышал некоторое количество аргументов, но ни один из них мне не кажется железобетонным. Давайте обсудим все аргументы, которые сможем вспомнить?
-
- Admin
- Posts: 24078
- Joined: 08 Jan 2003 23:22
- Location: Silicon Valley
Re: Преимущества (и недостатки) троичной системы перед двоич
У нас уже была похожая тема: Тринарное исчисление против бинарного
Только она ушла далеко в сторону и я её прикрыл
Из того, что сразу же приходит в голову на тему преимуществ сбалансированной троичности:
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... : )
Только она ушла далеко в сторону и я её прикрыл

Из того, что сразу же приходит в голову на тему преимуществ сбалансированной троичности:
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... : )
Я тут за главного - если что шлите мыло на me собака shaos точка net
-
- Maniac
- Posts: 318
- Joined: 10 Mar 2017 05:30
Re: Преимущества (и недостатки) троичной системы перед двоич
Оптимальность считается по взятой с потолка функции качества. Что будет, если считать площадь кремния?Shaos wrote: 1) 3 ближе к самому оптимальному основанию для систем счисления e нежели 2
Не вижу никаких неудобств в работе с доп. кодами.Shaos wrote: 2) для представления отрицательных чисел не надо городить никаких "дополнительных кодов"
Я правильно понимаю, что речь идёт о числах с фиксированной запятой? А как реализовывать плавающую точку? Там же не получится такого финта ушами.Shaos wrote: 3) округление делается через простое отбрасывание ненужных разрядов (без всяких проверок на >=0.5 и т.д.)
Это не то же самое, что и пункт 1?Shaos wrote: 4) для передачи паралелльных данных надо в log 3 / log 2 = 1.5849625007211561814537389439478 раз меньше проводов![]()
Ну, это руками сложно, а в кремнии может быть примерно всё равно.Shaos wrote: Из недостатков (на мой взгляд):
1) для проверки знака числа надо сделать больше телодвижений (найти самый старший ненулевой разряд)
Сомнительные недостатки, хотя да, человек чаще делит на два, нежели на 3.Shaos wrote: 2) нет простых способов деления на 2 и умножения на 2 (зато есть деление и умножение на 3 через сдвиг разрядов : )
3) число 0.5 невозможно представить конечным числом троичных разрядов (зато можно 0.33333... : )
А что с помехоустойчивостью у троичных схем? А с быстродействием? С энергопотреблением?
-
- Admin
- Posts: 24078
- Joined: 08 Jan 2003 23:22
- Location: Silicon Valley
Re: Преимущества (и недостатки) троичной системы перед двоич
Ну вроде у народа какие-то обоснования на этот счёт былиhaqreu wrote:Оптимальность считается по взятой с потолка функции качества. Что будет, если считать площадь кремния?Shaos wrote: 1) 3 ближе к самому оптимальному основанию для систем счисления e нежели 2
Ну а я вижу - например чтобы поменять знак + на - в доп.коде надо сделать 2 действия: инвертировать и затем инкрементировать, а в сбалансированной троичности - просто инвертироватьhaqreu wrote:Не вижу никаких неудобств в работе с доп. кодами.Shaos wrote: 2) для представления отрицательных чисел не надо городить никаких "дополнительных кодов"
Да обычно реализовать - был у нас топика на эту темуhaqreu wrote:Я правильно понимаю, что речь идёт о числах с фиксированной запятой? А как реализовывать плавающую точку? Там же не получится такого финта ушами.Shaos wrote: 3) округление делается через простое отбрасывание ненужных разрядов (без всяких проверок на >=0.5 и т.д.)
Нет - первый пункт сугубо про систему счисления, а тут проводки считаем (у 10-ричной системы например будет ещё меньше проводков, но она непрактична)haqreu wrote:Это не то же самое, что и пункт 1?Shaos wrote: 4) для передачи паралелльных данных надо в log 3 / log 2 = 1.5849625007211561814537389439478 раз меньше проводов![]()
возможноhaqreu wrote:Ну, это руками сложно, а в кремнии может быть примерно всё равно.Shaos wrote: Из недостатков (на мой взгляд):
1) для проверки знака числа надо сделать больше телодвижений (найти самый старший ненулевой разряд)
Пока плохоhaqreu wrote:Сомнительные недостатки, хотя да, человек чаще делит на два, нежели на 3.Shaos wrote: 2) нет простых способов деления на 2 и умножения на 2 (зато есть деление и умножение на 3 через сдвиг разрядов : )
3) число 0.5 невозможно представить конечным числом троичных разрядов (зато можно 0.33333... : )
А что с помехоустойчивостью у троичных схем? А с быстродействием? С энергопотреблением?

Я тут за главного - если что шлите мыло на me собака shaos точка net
-
- Maniac
- Posts: 318
- Joined: 10 Mar 2017 05:30
Re: Преимущества (и недостатки) троичной системы перед двоич
В студию!Shaos wrote:Ну вроде у народа какие-то обоснования на этот счёт были
Ровно такое же неудобство, как и у поиска знака у троичного числа.Shaos wrote: Ну а я вижу - например чтобы поменять знак + на - в доп.коде надо сделать 2 действия: инвертировать и затем инкрементировать, а в сбалансированной троичности - просто инвертировать
Мы согласны с тем, что плавающую точку простым отбрасыванием разрядов будет не огрубить? Ровно как и с фиксированной точкой в двоичной системе - огрубление через отбрасывание лишних разрядов. Не вижу, где тут преимущество...Shaos wrote: Да обычно реализовать - был у нас топика на эту тему
Можешь показать обоснование, что проводов будет меньше? (Каких проводов? Для чего проводов?)Shaos wrote: Нет - первый пункт сугубо про систему счисления, а тут проводки считаем (у 10-ричной системы например будет ещё меньше проводков, но она непрактична)
-
- Maniac
- Posts: 318
- Joined: 10 Mar 2017 05:30
Re: Преимущества (и недостатки) троичной системы перед двоич
А теперь в студию следующий документ (смотреть секцию 6-7, страница 84):Shaos wrote:Ну вроде у народа какие-то обоснования на этот счёт былиhaqreu wrote:Оптимальность считается по взятой с потолка функции качества. Что будет, если считать площадь кремния?Shaos wrote: 1) 3 ближе к самому оптимальному основанию для систем счисления e нежели 2
http://bitsavers.trailing-edge.com/pdf/ ... s_1950.pdf
Итак, эта функция была введена для подсчёта ламп в кольцевом счётчике, который использовался для представления чисел в любой [целочисленной] базе.Let N = rn represent a fair estimate of the number of tubes required in the system
Ну и читаем до конца:
Кто приведёт какие-нибудь дополнительные аргументы в пользу использования именно этой функции качества для оценки экономичности системы счисления?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.
-
- Admin
- Posts: 24078
- Joined: 08 Jan 2003 23:22
- Location: Silicon Valley
Re: Преимущества (и недостатки) троичной системы перед двоич
Проводов для параллельной передачи того же самого объёма данныхhaqreu wrote:Можешь показать обоснование, что проводов будет меньше? (Каких проводов? Для чего проводов?)Shaos wrote: Нет - первый пункт сугубо про систему счисления, а тут проводки считаем (у 10-ричной системы например будет ещё меньше проводков, но она непрактична)
Я тут за главного - если что шлите мыло на me собака shaos точка net
-
- Admin
- Posts: 24078
- Joined: 08 Jan 2003 23:22
- Location: Silicon Valley
Re: Преимущества (и недостатки) троичной системы перед двоич
Ну если мы отбрасываем не пересчитвая экспоненту, то тоже самое - простое отбрасываниеhaqreu wrote: Мы согласны с тем, что плавающую точку простым отбрасыванием разрядов будет не огрубить?
Я тут за главного - если что шлите мыло на me собака shaos точка net
-
- Maniac
- Posts: 318
- Joined: 10 Mar 2017 05:30
Re: Преимущества (и недостатки) троичной системы перед двоич
В двоичной то же самое ведь?Shaos wrote:Ну если мы отбрасываем не пересчитвая экспоненту, то тоже самое - простое отбрасывание
-
- Maniac
- Posts: 318
- Joined: 10 Mar 2017 05:30
Re: Преимущества (и недостатки) троичной системы перед двоич
Ок. То есть, между АЛУ и памятью проводов нужно меньше. А сколько проводов нужно внутри самой памяти?Shaos wrote:Проводов для параллельной передачи того же самого объёма данных
-
- Admin
- Posts: 24078
- Joined: 08 Jan 2003 23:22
- Location: Silicon Valley
Re: Преимущества (и недостатки) троичной системы перед двоич
В двоичной округлять надо - если отброшенное больше или равно половине (старший отброшенный бит был единичкой), то надо прибавлять единичку к оставленному, чтобы погрешность меньше былаhaqreu wrote:В двоичной то же самое ведь?Shaos wrote:Ну если мы отбрасываем не пересчитвая экспоненту, то тоже самое - простое отбрасывание
P.S. А если число отрицательное (в дополнительном коде), то надо не прибавлять единичку, а вычитать, причём если старший отброшенный бит был не единичкой, а нулём...
Я тут за главного - если что шлите мыло на me собака shaos точка net
-
- Supreme God
- Posts: 16689
- Joined: 21 Oct 2009 08:08
- Location: Россия
Re: Преимущества (и недостатки) троичной системы перед двоич
У меня тут вот какой вопрос возник: а какие логические функции троичной логики дают какое-либо
преимущество в рассмотрении задач на логику?
Я к тому что с арифметикой - всё понятно и бесспорно. Классическую "задачу весов" троичный процессор
должен уметь решать лучше двоичного.
Известно, что любую логическую функции троичной логики можно реализовать, имея в наборе
MIN или MAX и одно из циклических отрицаний.
К примеру, в PDP-8 из двоичных логических функций были только AND и NOT, поскольку
любая двоичная логическая функция через AND и NOT реализуется.
Но я считаю, что пожадничали они: OR и XOR можно было ввести аппаратно - очень "некавайна" их
программная реализация при наличии базовой памяти всего в 4096 слов.
Собственно, если четко сформулировать вопрос: какие логические функции троичной логики желательно
иметь в троичном CPU, причем какие сугубо троичные предпочтительны?
преимущество в рассмотрении задач на логику?
Я к тому что с арифметикой - всё понятно и бесспорно. Классическую "задачу весов" троичный процессор
должен уметь решать лучше двоичного.
Известно, что любую логическую функции троичной логики можно реализовать, имея в наборе
MIN или MAX и одно из циклических отрицаний.
К примеру, в PDP-8 из двоичных логических функций были только AND и NOT, поскольку
любая двоичная логическая функция через AND и NOT реализуется.
Но я считаю, что пожадничали они: OR и XOR можно было ввести аппаратно - очень "некавайна" их
программная реализация при наличии базовой памяти всего в 4096 слов.
Собственно, если четко сформулировать вопрос: какие логические функции троичной логики желательно
иметь в троичном CPU, причем какие сугубо троичные предпочтительны?
iLavr
-
- Fanat
- Posts: 52
- Joined: 18 Nov 2014 09:17
- Location: Отсюда
Re: Преимущества (и недостатки) троичной системы перед двоич
Сугубо троичные - это сдвиг вверх (NOP -> OPN), сдвиг вниз (NOP -> PNO), инверсия (NOP -> PON).
Ну еще всякие жесткие и мягкие сравнения, но они уже более похожи на MIN/MAX.
Типа сравнений (NOP -> NNP, NOP -> PNN, NOP -> NPN)
Ну еще всякие жесткие и мягкие сравнения, но они уже более похожи на MIN/MAX.
Типа сравнений (NOP -> NNP, NOP -> PNN, NOP -> NPN)
-
- Fanat
- Posts: 52
- Joined: 18 Nov 2014 09:17
- Location: Отсюда
Re: Преимущества (и недостатки) троичной системы перед двоич
Ну тут уже раздолье.
Троичных функций с одним аргументом 27 штук, с двумя аргументами уже 19683.
Так что тут можно подобрать практически любую.
Троичных функций с одним аргументом 27 штук, с двумя аргументами уже 19683.
Так что тут можно подобрать практически любую.
-
- Supreme God
- Posts: 16689
- Joined: 21 Oct 2009 08:08
- Location: Россия
Re: какие логические функции троичной логики желательны
Что-то, кажется мне, у вас мой любимый "Троичный XOR" отсутствует среди таблички функций.AlexanderZh wrote:Для себя составил такую табличку функций.
...
А мне он представлятся весьма и весьма полезным...
iLavr