LINUX.ORG.RU
ФорумTalks

Не бинарная система счисление в компьютерах


0

1

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

Более интересуют компьютеры на основе процессоров или, в крайнем случае, на транзисторах.

★★★★

Последнее исправление: ymuv (всего исправлений: 1)

Ну не нужно же.

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

KivApple ★★★★★
()

Есть ли реализации?

помнитсо у каких-то советских первоЭльбрусов было основание 3, а не 2.

Будут ли работать в такой архитектуре логические операции?

почему нет. в 10чной системе у людей же логика не отваливается.

Bad_ptr ★★★★★
()
Ответ на: комментарий от Bad_ptr

Будут ли работать в такой архитектуре логические операции?

почему нет. в 10чной системе у людей же логика не отваливается.

А как сделать
нет(1) нет(2) нет(0)
2 и 1

ymuv ★★★★
() автор топика
Ответ на: комментарий от KivApple

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

В теории, (в идеальном случае) компьютер, который работает в другой системе исчисление, будет в Н/2 раз быстрее.

ymuv ★★★★
() автор топика
Ответ на: комментарий от AlexCones

Более интересуют компьютеры на основе процессоров или, в крайнем случае, на транзисторах.

ymuv ★★★★
() автор топика
Ответ на: комментарий от ymuv

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

Проще компенсировать упущенную производительность чисто количественным путём, засчёт того, что двоичную архитектуру проще разогнать.

KivApple ★★★★★
()
Ответ на: комментарий от ymuv

Логика бывает не только двоичная. Есть еще троичная (да/не знаю/нет) и нечеткая логика. Да и вообще, логика может иметь любое основание и даже быть многомерной.

DNA_Seq ★★☆☆☆
()
Последнее исправление: DNA_Seq (всего исправлений: 1)
Ответ на: комментарий от ymuv

Так можно считать что современные компьютеры работают в 2^64ричной системе счисления, обрабатывают же по 64 (а то и 128/256) битов за раз.

DNA_Seq ★★☆☆☆
()
Ответ на: комментарий от DNA_Seq

А если была-бы скажем 256-ричная логика, то 4 таких бита (?) полностью заменяли 2^64.
Кстати, чтобы вычесть или добавить 2 байта (2^8), нужно не 1 такт, а если добавлять 2 256-ричный бита нужно меньше такт.

ymuv ★★★★
() автор топика
Ответ на: комментарий от DNA_Seq

Не знаю, почему все цепляются за человеческие слова, да-нет-не знаю? Достаточно же просто обозначить возможные значения «трита», например -1, 0, 1. И операции задавать напрямую, перечислением всех возможных состояний аргументы-результат, потом можно выделить полную систему и всё такое. Все операции будут, сравнение, арифметика и т.п.

GblGbl ★★★★★
()
Ответ на: комментарий от GblGbl

Можно. Логика это вообще набор правил для соотнесения одного множества с другим. Можно например вообще представить значение в виде комплексного числа, где действительная часть - вероятность события, а мнимая - достоверность.

DNA_Seq ★★☆☆☆
()
Ответ на: комментарий от ymuv

будет в Н/2 раз быстрее.

неа. Современные компы и так производят операции над числами за кол-во тактов сильно меньшее кол-ву разрядов. Например, какое-нить сложение делается за один такт.

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

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

true_admin ★★★★★
()

Будут ли работать в такой архитектуре логические операции?

Будут, конечно. Все Тьюринг-полные вычислители взаимозаменяемы) Но в случае некратного двойке основания бинарная логика будет работать с избыточностью. Например, на троичных элементах - придется использовать как минимум трит для каждой булевой переменной - и каждый такой трит будет иметь одно неиспользуемое состояние.
Кстати, у троичной системы наивысшая удельная плотность записи чисел. Исследования на предмет создания подходящей элементной базы продолжаются.

shatsky ★★
()
Ответ на: комментарий от Kalashnikov

А разве уже не исчерпали?

нет, у интеля идёт стабильное улучшение кол-ва инструкций за такт. А вот amd в заднице, хотя и у них есть черепаший прогресс.

Другое дело что кому-то +10-20% прироста производительности каждый год мало, некоторым хочется по закону Мура :).

true_admin ★★★★★
()

энергонеэффективно.

вот смотри: пусть входная йомкость некоего элемента равна Цэ. Тогда для двоичного компа чтоб перезарядить его на другое значение надо У_квадрат на Це пополам, где У - напряжение питания. Пусть это будет W

пусть он переключается случайно, т.е. с вероятностью 1/2 он переключится с 0 на 1 или с 1 на 0, иначе останется как есть.

итого на клок потребится W/2.

для троичного компа у нас 3 уровня, и чтоб их различать надо иметь размах питания в 2 У. Переключение с 1 на -1 и обратно с вероятностью 2/9, с 1 на 0 или -1 на 0 и наоборот - 4/9.

Т.е. жрем 4/9 W + 2/9 * 4W=4/3W.

Т.е. даже на один бит выходит 4/3 * 2/3= 8/9 почти в два раза больше жрет

ckotinko ☆☆☆
()
Ответ на: комментарий от true_admin

по факти уже уперлись. уже сейчас latency в десятки тактов на простые операции «читать-прибавить-писать» - норма. вот тупо стоят у порта и ждут. потом идут в другой порт и туда складывают. затем ждут. потом идут в третий порт и туда пишут.

ckotinko ☆☆☆
()
Ответ на: комментарий от ckotinko

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

ckotinko ☆☆☆
()
Ответ на: комментарий от ckotinko

64битный пень 4 за два клока складывал

Я в какой-то pdf-ке смотрел, щас за один клок. Да пусть даже и за два, главное что от разрядности не зависит.

вот тупо стоят у порта и ждут

у какого порта? Ты о чём? О памяти?

true_admin ★★★★★
()
Ответ на: комментарий от Bad_ptr

да, нет, может быть (сомневается и щурит лампу 6П3С) бугога

Lee_Noox ★★★
()
Ответ на: комментарий от true_admin

неа. Современные компы и так производят операции над числами за кол-во тактов сильно меньшее кол-ву разрядов. Например, какое-нить сложение делается за один такт.

man ripple adder - задержки распространения carry будут падать со скоростью домкрата при увеличении основания. Меньшие задержки - больше можно из схемы выжать тактовую частоту.

man look-ahead adder - такой прогрессирующей порнографии (опять же, связанной с carry) будет сильно меньше при увеличении основания. Меньше схема - больше драгоценного свободного места на кристалле, меньше длина проводников, больше тактовой частоты.

mv ★★★★★
()
Ответ на: комментарий от true_admin

в самом ядре есть «порты» на которых сидят execution units. 5 портов НЯП в коре-Iсколько-то там. перед каждым своя очередь раздачи.

это еще в пне 2 было - 5 конвейеров. 40 переименуемых регистров = 5*8.

ckotinko ☆☆☆
()
Ответ на: комментарий от ckotinko

Т.е. даже на один бит выходит 4/3 * 2/3= 8/9 почти в два раза больше жрет

Но с троичным основанием надо меньше «битов» (тритов). На 1/3, и это без вероятностных оценок, взятых с потолка.

mv ★★★★★
()
Ответ на: комментарий от mv

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

У меня есть подозрение что схемка-то усложнится при переходе к основанию больше чем два. Теоретически, с основанием, скажем, 2^32 можно складывать 32-битные числа за одну операцию без всяких заморочек с переносом от младших разрядов к старшим. А на практике ты можешь представить такой сумматор?

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

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

true_admin ★★★★★
()
Ответ на: комментарий от mv

я учел эту 1/3

4/3 * 2/3

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

ckotinko ☆☆☆
()
Ответ на: комментарий от ckotinko

я не совсем понимаю о чём ты говоришь, но instructions per cycle ratio у меня заметно больше единицы на прогах которые cache friendly и с каждым годом эта цифра всё больше растёт. Я понимаю что не все блоки проца сразу использованы (на этом, например, и основывается hyperthreading что часть блоков расшарено между несколькими конвеерами).

Что ты хочешь сказать я не понял.

true_admin ★★★★★
()
Ответ на: комментарий от true_admin

некоторым хочется по закону Мура

А получается все по закону Вирта..

buddhist ★★★★★
()
Ответ на: комментарий от ckotinko

64битный пень 4 за два клока складывал. сперва корешки а потом вершки + перенос

Имеется ввиду 2 (1?) такта тактового генератора (на мат.плате) или 2 такта процессора (200 мГц или 200*коэф.умножение процессора)

ckotinko
true_admin

ymuv ★★★★
() автор топика

Будут ли работать в такой архитектуре логические операции?

Истина, Ложь, ХЗ

shimon ★★★★★
()
Ответ на: комментарий от XoFfiCEr

На реле и на транзисторах и я могу.

а на реле не интересуют? могу схемку набросать

Давай 3-чный арифмометр )

ymuv ★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.