Pull to refresh

Comments 48

Троичное слово в 1,6 раза короче двоичного, следовательно и операции, например операция сложения в троичном последовательном арифметическом устройстве выполняются также в 1,6 раза быстрее, чем в двоичном
Если бы так, но, к сожалению, есть еще сложность самой операции, и она выше для троичной арифметики, поэтому выигрыш составляет по быстродействию порядк 30%, а по энергетике вообще почти ничего.
UFO just landed and posted this here
Насколько я помню из институтского курса ВТ- троичная логика Сетуни была обусловлена двумя факторами:
первый — математической экономичностью троичной системы счисления (теоретически в основе самой экономичной — основание натуральных логарифмов) почему так, можно посмотреть например здесь
второй — хранение данных на ферритовых кольцах — три состояния намагниченности (два направления вектора намагниченности и отсутствие намагниченности)

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

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

И когда говорят «вот прогадили уникальную вычислительную технику...» имхо, нет тут ничего личного — чистый бизнес.
Спасибо за ссылку, автор этой статьи (возможно ненамеренно) соврал насчет «Других компьютеров на основе троичного кода нет и не было»:
С 2008 года в университете « California Polytechnic State University of San Luis Obispo» функционирует цифровая компьютерная система TCA2, основанная на троичной системе счисления.
«три состояния намагниченности» — не совсем так. Ячейка состояла из двух колец и допускала 4 состояния, но только три из них можно было считать. Для двоичной системы одно состояние пропадало.
Как троичная логика переводится в транзисторные схемы?
Лучше спросите, как там дела с булевой логикой…
С булевой в троичной — хорошо. Булевая логика подмножество троичной логики. Менее тривиальна реализация троичной логики через булевую.
Да какое там «хорошо»: больше половины состояний из разряда «неизвестно».
Булева логика — это когда на входе и на выходе только два состояния. Логика с двумя состояниями тривиально реализуется на тритах: одно из состояний не используется.
Это Вам так кажется. На самом деле все сложнее: лишь самая простая нетривиальная булева алгебра содержит всего два элемента, 0 и 1.
Но можно доказать, что любая конечная булева алгебра изоморфна булевой алгебре всех подмножеств какого-то множества. Отсюда следует, что количество элементов в любой конечной булевой алгебре будет степенью двойки.
Если взять множество тритов и оставить в каждом трите только два состояния '+' и '-' и над этими состояниями определить те же операции, что и в булевой алгебре, то в чем такое множество не будет изоморфно множеству A из определения булевой алгебры?
Булевой алгеброй называется непустое множество A с двумя бинарными операциями \land (аналог конъюнкции), \lor (аналог дизъюнкции), унарной операцией \lnot (аналог отрицания) и двумя выделенными элементами: 0 (или Ложь) и 1 (или Истина) такими, что для всех a, b и c из множества A верны следующие аксиомы [..].
1. Есть такое понятие — физическая реализация («в железе»). Если при этом придется делать проверку входного/выходного состояния автомата на корректность (в Вашем случае — отсечение одного состояния с сигнализацией ошибки), то эффективность этого автомата очень сильно уменьшается. Пример из жизни — RS-триггер
2. Цитата интересна, но Вы путаете понятия «Булева алгебра» и «Булева логика». Может для Вас это одно и то же, но для той же Википедии — нет.
1. Нет необходимости делать такую проверку, потому что если схема реализует булеву алгебру и использует корректный вход (только состояния '+', '-'), то на выходе тоже всегда будет только корректный выход(только состояния '+', '-').
2. «Булева алгебра» и «Булева логика» — это два разных рассмотрения одного и того же. Булева алгебра — это изучение математического аппарата для множеств, состоящих из элементов с двумя состояниями. Булева логика — это изучение высказываний, которые могут принимать только два состояния. В некотором смысле «булева логика» является подмножеством «булевой алгебры».
1. Я говорил о железе. Там есть понятия «отказ» и «сбой». Но если для Вас термины «контроль четности», «мажоритарность», «аппаратная избыточность» и т.д. — просто звуки, то вопрос исчерпан.
2. Лучше прочитайте статьи в Вики. Я дал Вам цитату из нее же. Или Вы согласны с ее трактовкой, или нет. Но тогда не приводите в качестве аргументов цитаты из нее. Определитесь.
Я запутался.
В сообщении 5.01.16 20:20 я пишу о «Булевой логике»,
ваше ответное сообщение 6.01.16 12:31 о «Булевой алгебре» и цитата с вики о «Булевой алгебре»,
в сообщении 6.01.16 17:24 я пишу о «Булевой алгебре» и цитату с вики о «Булевой алгебре»,
вы в ответном сообщении 11.01.16 13:33 отказываетесь принимать ответ, аппелируя к тому, что «Булева логика» и «Булева алгебра» — это не одно и тоже.

Вопросы:
1. Если вы считаете, что «Булева алгебра» и «Булева логика» не одно и тоже, то зачем на утверждение про «Булеву логику» вы отвечали контр-утверждением про «Булеву алгебру»?
2. Почему вы отказались принимать моё контр-утверждение 6.01.16 17:24 на основе «Булевой алгебры», подтвержденное цитатой из вики? Почему вы апеллируете к тому, что «Булева алгебра» и «Булева логика» не одно и тоже, если до этого вы писали о «Булевой алгебре» и приводили цитату из неё же, а я вам отвечал также о «Булевой алгебре» и цитатой о «Булевой алгебре»?
Потому, что «Булева логика» <> «Двоичная логика».
Пример. Операция — инверсия. Для третичной логики «Инверсия» «0» есть «0». А для Двоичной?

И для всех операций инверсии Вы будете строить свои костыли, т.к. аппаратно будет Вам ошибка на выходе. Не убедил?
1. Если 'Булева логика' != 'Двоичная логика', то каким определением 'Булевой логики' вы пользуетесь? Приведите, пожалуйста, определение и его источник.
2. В троичной логике операция инверсии: not('+') => '-', not('-') => '+', not('0') => '0', в двоичной логике:not('0') => '1', not('1') => '0'. Если в троичной логике отказаться от состояния '0', то она становится изоморфной двоичной логике, где '+' из троичной логики соответствует '1' из двоичной, а '-' из троичной соответствует '0' из двоичной.
Соответственно, реализация двоичной логики поверх троичной логики не требует костылей, достаточно не использовать состояние '0' на входе.
1. Просто прочтите разделы в Вики. Абстрагируйтесь от 2-х состояний.

2. (-1) + (-1) в троичной будет -1 в старшем разряде и +1 в младшем. В Вашей интерпретации это будет равнозначно записи 00 + 00 = 01. С импликацией еще хуже. Давайте прекратим бессмысленный спор — Вы пытаетесь доказать то, в чем не разбираетесь. Живите дальше в счастливом неведении.
1. Либо давайте ссылку, либо это означает что такого определения нет.
2.a. Операция '+' не является логической операцией.
2.b. Операция импликации в логиках Клини и Присти без учета троичного 0-го состояния изоморфна операции импликации из двоичной логики.
'+' -> '+' => '+', '-' -> '+' => '+', '+' -> '-' => '-', '-' -> '-' => '+'
1. ru.wikipedia.org/wiki/Алгебра_логики
ru.wikipedia.org/wiki/Булева_алгебра
traditio.wiki/Троичная_логика

2.а. Логическое сложение. Если Вам и такое приходится объяснять…

На досуге.
a \lor \lnot a = 1 В Вашем случае как сие будет выглядеть? (-1) + (+1) = 0 — запрещенное состояние?
1. Указанные ссылки описывают: или «Булеву алгебру», или «Двоичную логику». Ранее вы утверждали, что «Булева логика» не является «Булевой алгеброй» и не является «Двоичной логикой».
a) Зачем вы на просьбу дать ссылку на определение «Булевой логики» приводите ссылки на то, чем она по вашему не является?
b) Дайте, пожалуйста, ссылку, которая подтверждает вашу точку зрения, что «Булева логика» не является «Булевой алгеброй».

2a. Логическое сложение — это дизъюнкция (or). Логическое сложение имеет другую семантику, чем арифметическое сложение. Логическое сложение в троичной логике без использования состояния '0' изоморфно логическому сложению из двоичной логики.
'+' or '+' => '+'; '+' or '-' => '+'; '-' or '+' => '+'; '-' or '-' => '-'

3. a or not a => '+'
'+' or not '+' => '+' or '-' => '+'
'-' or not '-' => '-' or '+' => '+'
Вики.

Алгебра логики (алгебра высказываний) — раздел математической логики, в котором изучаются логические операции над высказываниями. Чаще всего предполагается, что высказывания могут быть только истинными или ложными, то есть используется так называемая бинарная или двоичная логика, в отличие от, например, троичной логики. Своим существованием наука «алгебра логики» обязана английскому математику Джорджу Булю, который исследовал логику высказываний. Простейший и наиболее широко применяемый пример такой алгебраической системы строится с использованием множества B, состоящего всего из двух элементов:
B = { Ложь, Истина }

Впоследствии булева алгебра была обобщена от логики высказываний путём введения характерных для логики высказываний аксиом. Это позволило рассматривать, например, логику кубитов, тройственную логику (когда есть три варианта истинности высказывания: «истина», «ложь» и «не определено»), комплексную логику и др.

Булевой алгеброй называется непустое множество A с двумя бинарными операциями \land (аналог конъюнкции), \lor (аналог дизъюнкции), унарной операцией \lnot (аналог отрицания) и двумя выделенными элементами: 0 (или Ложь) и 1 (или Истина) такими, что для всех a, b и c из множества A верны следующие аксиомы:
a \land (b \land c) = (a \land b) \land c ассоциативность
a \lor b = b \lor a a \land b = b \land a коммутативность
a \lor (a \land b) = a a \land (a \lor b) = a законы поглощения
a \lor (b \land c) = (a \lor b) \land (a \lor c) a \land (b \lor c) = (a \land b) \lor (a \land c) дистрибутивность
a \lor \lnot a = 1 a \land \lnot a = 0 дополнительность

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

Наблюдения.
Троичная СС не есть степень двойки (в моей Вселенной).
Булева алгебра есть множество всего 2-х состояний: Истина/Ложь. Логика — слегка шире.
Конечной набор входных и выходных состояний автомата не означает, что внутри автомат не может принимать иные значения. Пример? — да запросто. Если у Вас на выходе всего 2 состояния — «написать ответ»/«проигнорировать сообщение», — и что-то аналогичное на входе («радость — я его уделал»/«злость — как он меня достал»), то это не означает, что Ваш мозг не принимает какие-то промежуточные состояния (написать завтра, наконец-то прочесть статьи в Вики, пойти хлебнуть чайку и т.д.).

Логическое ИЛИ

(+ ) + (-) = 0 — откройте статью и все-таки посмотрите, как правильно
traditio.wiki/Троичная_логика

1. Выделите, пожалуйста, жирным словосочетание «Булева логика» в приведенной вами цитате. Сам я это сделать не смог из-за такового отсутствия.
2. Плохая ссылка. По ней смешивается логическое сложение с арифметическим сложением. Это не одно и тоже.
Корректная таблица истинности для Логического ИЛИ есть в статье «Троичная логика» на вики.
ru.wikipedia.org/wiki/%D0%A2%D1%80%D0%BE%D0%B8%D1%87%D0%BD%D0%B0%D1%8F_%D0%BB%D0%BE%D0%B3%D0%B8%D0%BA%D0%B0
1 А выделял. Просто редактор «своеобразный». Через планшет/телефон вообще не стартует.

2 Там желаемое выдается за действительное.
Пример реализации в двоичной логике:
01 — Ваша единица, (+1)
10 — (-1)
00 — отбрасываем (Вам так «проще»)
11 — запрещенное состояние
Теперь складываем (01) и (10). Хотите — логически, хотите — арифметически. Результатом будет запрещенное состояние. Т.е. необходима дополнительная элементная база или программный код проверки. О чем я и говорил.
На Сетуне как раз ячейка с 4-мя состояниями:
ru.wikipedia.org/wiki/Сетунь_(компьютер). Раздел «Элементы».
Чуть ниже — команды. Много там булевых операций?
К сожалению, да, при разработке компьютера «Сетунь» из-за несовершенства технологий не удалось реализовать полноценных логических операций.
Серьезно? Добиваю.

Из-за наличия третьего состояния некоторые законы двоичной логики оказываются неверными, для них сформулированы троичные аналоги. Так, вместо закона противоречия стали применять закон несовместности состояний, вместо закона исключённого третьего — закон полноты состояний (закон исключённого четвёртого), вместо неверного закона Блейка—Порецкого применяют трёхчленный закон Блейка—Порецкого. ru.wikipedia.org/wiki/Троичная_логика

В большинстве случаев при построении логических схем на троичных триггерах аппаратные затраты увеличиваются приблизительно в 2 раза по сравнению с обычными двоичными триггерами и только в очень редких случаях, при решении задач имеющих троичность (Задача «Светофор»), удаётся немного уменьшить аппаратные затраты. ru.wikipedia.org/wiki/Троичный_триггер

Там же приведены схемы. Как бывший разработчик, могу заметить о большей сложности. Не столько по количеству элементов (смотря какая логика), сколько по количеству связей. Если для «обычного» двоичного компа используется 1 проводник для входа/выхода сигнала, то здесь ДЛЯ КАЖДОГО — целых 3.

TERNAC — эмулятор троичной арифметики на двоичном компьютере сделанный G. Frieder'ом в 1973 г. в SUNY (State University of New York), Буффало, США. Первая версия этой реализации доказала, что скорость и расход памяти были того же порядка, как и при двоичных вычислениях. ru.wikipedia.org/wiki/Ternac

Хотя предполагалось, что оптическая троичная двухуровневая трёхразрядная (трёхбитная) одноединичная (однонулевая, однозначная) система из-за передачи за один такт одного трита увеличивает скорость передачи данных по одному разряду в 1,5 раза на один разряд (по n троичным разрядам ещё больше), при этом уменьшаются удельные аппаратные затраты.
ru.wikipedia.org/wiki/Троичный_компьютер

При этом очень странно воспринимается следующая фраза:
«Троичная логика целиком включает в себя двоичную логику, как центральное подмножество, поэтому троичные ЭВМ (компьютеры) могут делать почти всё, что делают двоичные ЭВМ (компьютеры), плюс возможности троичной логики.»
единообразие кода чисел
варьируемая длина операндов
единственность операции сдвига
трехзначность функции знак числа
оптимальное округление чисел простым отсечением младших разрядов
взаимокомпенсируемость погрешностей округления в процессе вычисления
Можно поподробнее? Ничего не понял.
1. В классической двоичной архитектуре используется два представления чисел: знаковое и беззнаковое. В представленной троичной: одно представление — знаковое.
3. Одно представление — одна операция сдвига влево и одна вправо.
4. Операция 'знак числа' возвращает '+', '-' или '0'. Реализация операции 'знак числа' получается сложнее, необходимо найти старший ненулевой трит.
5. Отбрасывание младших разрядов эквивалентно операции 'округление к ближайщему «целому»'. Это связано с со свойством представленного троичного кодирования: младшие разряды кодируют часть числа, которая всегда меньше половины числа закодированного старшим разрядом.
6. Каждая операция округления «добавляет» случайно распределенную ошибку от -0.5 до 0.5. У троичных чисел мат. ожидание этого распределения равна 0.
Я чего-то не понял. 30000 р. это было слишком дорого или дешево для ЭВМ тех времен?
Вот нашла для сравнения цен. Например, стоимость серийной ЭВМ второго поколения К340А — 600 000 рублей, а опытной ЭВМ К340А -1,2 млн. рублей (Борис Малашевич: «50 лет отечественной микроэлектронике. Краткие основы и история развития» глава 4)
А как выполнялись логические операции?
Кажется так троичная логика.

В троичной системе не только знак числа нативен, но и третье состостояние для логического типа.
Троичная логика вообще шикарна: «Да», «Нет» и «Ну, я не знаю — может быть...» — гораздо адекватнее описывает окружающую действительность, чем двоичная )
Нечёткая логика ещё шикарнее.
Давайте сразу уже использовать 4-е состояния:
1) нет
2) да
3) x свободно, не фиксировано (у Аристотеля — «привходяще»),
4) решение не существует.
Так же, как и троичная перфокарта.
Не хочу показаться занудой, но тогда как выглядела троичная перфокарта?
Дырки треугольные?
А если серьезно — то

При работе с перфокартами в текстовом режиме каждая колонка обозначает один символ; таким образом, одна перфокарта представляет строку из 80 символов.
Товарищи, ну прекратите такой сырой продукт выпускать, пожалуйста.
Автор, не могли бы вы уточнить как была устроена память? Использовалось ли два бита для кодирования одного трита, как это утрверждается, например здесь При работе машина использовала двухбитный троичный код. или была какая-то физическая реализация именно трита?
Sign up to leave a comment.