“Сетунь” – единственный серийный троичный компьютер

«Сетунь» представляет собой малую ЭВМ, построенную на принципах троичной логики, другими словами это троичный компьютер. Она была разработана в 1959 году в стенах вычислительного центра Московского государственного университета. Этот уникальный троичный компьютер, практически не имеет аналогов не только в данный момент времени, но и вообще в истории вычислительной техники.

Для начала разберёмся, что же такое троичный компьютер, коим, как уже было сказано, является рассматриваемая модель «Сетунь». Такое название получил специализированный компьютер, который построен на логических элементах и узлах двух типов – как на классических двоичных, так и уникальных в своём роде троичных. Понятно, что он использует в своей работе соответственные системы счисления, логики и алгоритмы работы – двоичные и троичные.

Из истории вычислительной техники известно, что вначале число разрядов в машинном слове определялось разными конструкторами по разному, почти произвольно. Сам байт первоначально был шестью двоичными разрядами, но шестиразрядный байт не прижился, так как был слабо связан с двоичной системой (6 слабо связано с двоичной системой). 8 разрядов являются 3-ей степенью двойки, то есть лучше связаны с двоичной системой, поэтому позже от шестиразрядного байта перешли к восьмиразрядному байту, но и эта система не совершенна из-за некратной двум 3-ей степени двойки, 4-я степень двойки лучше связана с двоичной системой счисления.
Более совершенным рядом в двоичной системе является ряд 2, 4, 16, 256, … , но из-за аппаратных трудностей сразу от 4-х разрядов к 16-ти перейти было трудно, поэтому появились 8-ми разрядные ЭВМ, как предшественники 16-ти разрядных ЭВМ. В настоящее время из-за аппаратных трудностей 32-х, 64-х и 128-ми разрядные ЭВМ являются предшественниками 256-ти разрядных ЭВМ.

Можно выделить следующие основные этапы развития троичного компьютера:
– в период с середины 12-13 веков Фибоначчи смог доказать, что троичная система счисления может быть более экономичной по сравнению с двоичной – в случае, когда при условном взвешивании можно класть гири не на одну чашу весов, а на обе;
– в 1840 году появилась первая троичная вычислительная машина, ставшая вообще одной из первых механических вычислительных машин;
– в период с 1956 по 1958 годы Н.П. Брусенцов создал первый троичный компьютер серийного производства – ту самую «Сетунь»;
– позднее, в 1970 году, Брусенцов выпустил вторую версию своего детища, получившего имя «Сетунь-70»;
– долгое время данное направление не имело практически никакого развития, однако, в 2008 году была построена трёхтритная цифровая компьютерная система TCA2, которая, в отличие от «Сетуни», работала не на ферритдиодных магнитных усилителях переменного тока, а на интегральных транзисторах. Но это уже, как говорится, совсем другая история.
Руководитель проекта — Н. П. Брусенцов, основные разработчики: Е. А. Жоголев, В. В. Веригин, С. П. Маслов, А. М. Тишулина. Разработка машины была предпринята по инициативе и осуществлялась при активном участии виднейшего советского математика С. Л. Соболева.

Казанским заводом Математических машин было произведено 50 компьютеров Сетунь, 30 из них использовались в университетах СССР.

Автор «Сетуни» на основе обычной двоичной ферритодиодной ячейки Гутенмахера разработал её уникальный троичный аналог, работа которого была построена на двухбитном троичном коде. Всё это выглядело следующим образом – один трит (так называется единица измерения в данном случае) записывается в два двоичных разряда.

Помимо трита, в троичной логике, используемой «Сетуньей», аналогично двоичной системе, в которой есть бит и байт, применяется термин «трайт», являющийся минимальной непосредственно адресуемой единицей главной памяти «Сетуни», равный шести тритам, что примерно равен девяти с половиной битов. Таким образом, получается, что трайт чуть больше привычной единицы измерения двоичной системы байта. Два трайта равны 19 битам, три трайта – почти 29 битам и т.д. Он может принимать значения в довольно широком диапазоне – от -364 до 364.

Число разрядов процессора — 9 тритов.
Тактовая частота процессора — 200 кГц.

На основе двоичной ферритодиодной ячейки Гутенмахера, которая представляет собой электромагнитное бесконтактное реле на магнитных усилителях трансформаторного типа, Н. П. Брусенцов разработал троичную ферритодиодную ячейку, которая работала в двухбитном троичном коде, т.е. один трит записывался в два двоичных разряда, четвёртое состояние двух двоичных разрядов не использовалось. Состояние каждого разряда на пульте управления отображалось двумя лампочками, четвёртая комбинация (1,1) не использовалась.

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

Основные преимущества, которые имеют троичные компьютеры по отношению к двоичным:
1) во-первых, троичная система обладает наибольшей плотностью записи информации среди всех существующих целочисленных систем счисления. Из данного факта следует, что при прочих равных условиях троичные компьютеры будут иметь превосходящую удельную ёмкость памяти и удельную производительность процессора по сравнению с двоичными аналогами;
2) троичные компьютеры лучше приспособлены к троичным алгоритмам, которые работают быстрее двоичных алгоритмов;
3) при этом троичные компьютеры способны делать практически всё, что делают их двоичные коллеги, поскольку двоичная логика является центральным подмножеством троичной;
4) процесс накопления ошибки округления на троичных компьютерах также идёт гораздо медленнее, поскольку округление в троичной системе происходит путём отбрасывания лишних разрядов.

Говоря о будущем таких машин, как «Сетунь» (то есть троичных компьютеров), известный американский учёный Дональд Кнут, отмечал, что они занимают очень мало место в отрасли вычислительной техники, что объясняется массовым засильем двоичных компонентов, производимых в огромных количествах. Но, поскольку троичная логика гораздо эффектнее, а главное, эффективнее двоичной, не исключено, что в недалёком будущем к ней вернутся.

На данный момент вполне реальным выглядит вариант использования троичного компьютера в сочетании с волоконной оптикой, имеющий три заданных значения: 0, соответствующий состоянию Выключено, 1 – состояние Низкий и 2 – состояние Высокий.

Источник материала
Настоящий материал самостоятельно опубликован в нашем сообществе пользователем Лука на основании действующей редакции Пользовательского Соглашения. Если вы считаете, что такая публикация нарушает ваши авторские и/или смежные права, вам необходимо сообщить об этом администрации сайта на EMAIL abuse@newru.org с указанием адреса (URL) страницы, содержащей спорный материал. Нарушение будет в кратчайшие сроки устранено, виновные наказаны.

Дочитал до конца? Жми кнопку!

Вам может понравиться...

43 Комментарий
старые
новые
Встроенные Обратные Связи
Все комментарии
Henren
Henren
4 лет назад

Думаю, потребителю без разницы, что там открывает страничку вконтактика – двоичный, троичный или вообще колдовской. Главное, чтоб винда под него была и игры катались.

Proper
Proper
Администратор
для  Henren
4 лет назад

Ну, если до сих пор есть клоуны, пытающиеся отказаться от фон неймановской архитектуры (в широком смысле – от идеи, что программа выбирает последовательность доступа к данным) – то о чем вообще говорить.

Henren
Henren
для  Proper
4 лет назад

Да с идиотами и так все ясно. Компьютеры – штука рыночная. Пусть носители всевозможных идей, все эти прогрессоры и поступят по-рыночному – возьмут кредит, построят свой компьютер и продают его. Если он лучше существующих – они получат рыночное преимущество и озолотятся. Но они почему-то так не делают. А поднимают шум на тему – “дайте бабла, а мы уж…” Ага. И таких деятелей – море.

ZIL.ok.130
ZIL.ok.130
4 лет назад

Параллельность выше у троичников?
Псевдокубиты?

Тимо-фей
Тимо-фей
4 лет назад

Интегральный транзистор — это круть!

Proper
Proper
Администратор
4 лет назад

>>троичная система обладает наибольшей плотностью записи информации среди всех существующих целочисленных систем счисления

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

Что такое “троичная система” на уровне электрического сигнала? Это три уровня (напряжения или тока) в проводе. То есть низкий, средний и высокий.

Ну ОК – сейчас в SSD-памяти широко применяются QLC-ячейки, у которых 16 уровней напряжения. То есть между низким и высоким – не один промежуточный уровень, а аж 14 штук. Где там сидят троичные ячейки по плотности информации? Глубоко в анусе.

Естественным развитием идеи MLC-ячеек была мысль записать в ячейку аналоговый сигнал. И да – такая память существует, в нее тупо пишется аналоговый сигнал.

Но мы отвлеклись. Так вот – троичные ячейки памяти как раз демонстрируют ублюдочность самой идеи троичной логики. Их в реальной жизни пришлось эмулировать из двоичных ячеек (например, на ферритовых кольцах – троичная ячейка строилась из двух колец, в двоичном компе два кольца – это 2 бита, то есть не 3, а 4 состояния), то есть терять часть емкости.

Соответственно и все бла-бла-бла про теоретические преимущества троичной логики – упираются в то, что на самом деле этих преимуществ нету. Комп с 10 троичными разрядами – эквивалентен по сложности устройства компу с 20 двоичными разрядами, и как только ты сравниваешь 10 троичных с 20 двоичными – все “достоинства” сразу испаряются.

А знаешь, откуда идет этот троичный бред?

1840 год — Томас Фаулер построил деревянную троичную счётную машину с троичной симметричной системой счисления.

И вот через 115 лет до сумасшедшего в СССР это докатилось.

Kugelblitz !
Kugelblitz !
для  Proper
4 лет назад

То ли дело кетайские лопаты с алиэкспресса, ага, двоичная логика, много ядЫр, ведроид, флешка в Zopo. Афигенна! Эй, чувак чесал про упаковку команд, а значит сокращение тактов и количества вариантов! Так же как с векторными командами, где идет дикий гон с разрядностью.

Proper
Proper
Администратор
для  Kugelblitz !
4 лет назад

Вообще-то “троичный компьютер” – это про ДАННЫЕ. Данные представлены тритами вместо битов.

Коды команд при этом запросто могут оставаться двоичными. Более того, если бы у тебя был мозг, ты бы понял, что двоичный дешифратор команд в ALU это наиболее естественное решение.

Kugelblitz !
Kugelblitz !
для  Proper
4 лет назад

В естестве рубильника? И ALU тут уже не причем, оно лишь построено под конкретные команды. Так вот количество исполнительных блоков снижается. И это не выдумки совковых вчоных, а выводы канадских разработчиков квантовых компьютеров.

Proper
Proper
Администратор
для  Kugelblitz !
4 лет назад

Смеши истчо, очень весело. И не забудь рассказать о троичной логике в продукции ТАЗа.

Kugelblitz !
Kugelblitz !
для  Proper
4 лет назад

Мда, не ожидал от тебя такого бинарного мышления буратины!

Proper
Proper
Администратор
для  Kugelblitz !
4 лет назад

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

vinnobuh
vinnobuh
4 лет назад

Не, ну логика, ноль нет сигнала, единичка есть сигнал. А третье то состояние какое? У мну щас мозг дымить начнёт же?!

Kugelblitz !
Kugelblitz !
для  vinnobuh
4 лет назад

Типа как +1, 0, -1. Расшифровать как True, Unknown/Maybe, False.

vinnobuh
vinnobuh
для  Kugelblitz !
4 лет назад

На фейхуа? Заставлять ячейку распознать направление? Нахрена усложнять, то? Сделать две?,а нет, три надо уже. Да ну его, если одной можно.

Kugelblitz !
Kugelblitz !
для  vinnobuh
4 лет назад

Оно усложняет на уровне вентиля, зато позволяет сократить их количество. В статье об этом прямо написано.

vinnobuh
vinnobuh
для  Kugelblitz !
4 лет назад

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

Xenophob
Xenophob
4 лет назад

Да, уровни сигналов это круто)) А матаппарат при этом какой предполагают использовать?

Hmm4
Hmm4
для  Xenophob
4 лет назад

Нечёткая логика – самое простое. Можно и что-нибудь более изощрённое прикрутить. Проблема троичных компьютеров – в эволюции; в том, что выживет только одно направление – либо бинарное, либо троичное. И преимущества троичной системы не достаточно велики, чтобы ломать существующую систему.

vinnobuh
vinnobuh
для  Hmm4
4 лет назад

Воот! Эт, как на войне, количество как баран овцу. Не, ну пусть за моей ротой, сзади, стоит пара взводов семьдва, чем один леклерк

Xenophob
Xenophob
для  Hmm4
4 лет назад

При чем тут нечёткая логика? Каким математическим аппаратом предполагается обрабатывать простейшие операции? Те описания, которые я видел – это приведение троичной системы к двоичной и использование ‘классической’ булевой алгебры.

Hmm4
Hmm4
для  Xenophob
4 лет назад

Тем же самым. Или я не понял вопрос? – Алгебра, на то и алгебра, что не привязана к системе исчисления. И в случае логики – тоже. Ну будет 3 значения переменной вместо 2; таблица, описывающая базовые операции, станет 3×3 вместо 2×2.

Да, с нечёткой логикой – я погорячился; это не логика в чистом виде. Её использование здесь (троичные вычисления) сильно избыточно.

Xenophob
Xenophob
для  Hmm4
4 лет назад

Не, я про простейшие логические операции, которые как раз к системе счисления привязаны и на которых построено всё остальное.

Ну там вида F=A v B, F=A ⊕ B и ты пы.

ZIL.ok.130
ZIL.ok.130
для  Xenophob
4 лет назад

Логические операции — это операции сравнения.
И ты можешь видеть, что булевые переменные кроме случая прямого присваивания имеют смысл и возникают только при операции сравнения.
И здесь может быть только два состояния — тру и фолс.
Вопрос же о степени релевантности — это другой, отдельный вопрос.

Xenophob
Xenophob
для  ZIL.ok.130
4 лет назад

В имеющихся в те годы числодробилках/АЛУ (процов исчо не было), были операции над булевыми переменными, две основных – сложение и вычитание, емнип.

Умножение и деление это тож сложение и вычитание, ток заморочные.

При чём тут тру и фолс?

ZIL.ok.130
ZIL.ok.130
для  Xenophob
4 лет назад

Чочоч?
Сложение булевых переменных?
В процах?
ППЦ.
Зачем вообще понадобились разные уровни сигналов для ячей изначально?
А вот тебе определение которое ты должен знать лучше таблицы умножения:
<< Константы булевского типа, как и переменные, могут принимать только два значения: True и False.
Это, драть, азы, фундамент.
Еси што — про дискретные булевы ф-ци и таблицы я в курсе.

Xenophob
Xenophob
для  ZIL.ok.130
4 лет назад

>>Чочоч?
>>Сложение булевых переменных?
>>В процах?

Эммм, а как исчо 2+2 считать будем? В GPU?)) Я с тех пор далеко угрёбся от схемотехники, но сильно подозреваю, что процессы щас ровно так жы протекают и в двоичном коде, что характерно.

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

Зы: ты гришь про булевы переменные, а я про булеву алгебру.

ZIL.ok.130
ZIL.ok.130
для  Xenophob
4 лет назад

Ненене — ты на жжппие не съезжай — ты хочешь сказать, что у тебя могут складываться две True? Две False? True с False?
Булева алгебра?
Нна — держы корман шырее:
<< Самыми распространенными в булевой алгебре операциями являются отрицание (НЕ) и логические И и ИЛИ. Так можно описать практически все действия в алгебре суждений.
Т.е. — сичош фишкан?
Булева алгебра оперирует с логическими операциями. А не плюсы-минусы, драть. Причом все они могут быть сведены к сравнениям.
Я тебе тока што в камменте чегось нопейсал?
Ась?
Про сравнения?
Ты конешно жы не читал это нихрена.
Каг всегда.
И поспешыл поплотнее и поглубжее усесца в лужу.
ну — добро — это твой добровольный ненасильственный выбор.

Xenophob
Xenophob
для  ZIL.ok.130
4 лет назад

>>Т.е. — сичош фишкан?
>>Булева алгебра оперирует с логическими операциями. А не плюсы-минусы, драть. Причом все они могут быть сведены к сравнениям.

Гы, правда что ли??))) А к чему отнести вычисления вида 0111 + 1110 = 10101 ???

К тру?)) К фолс?))

Да, и через операции какого вида производятся эти действия?

Я внимательно.

ZIL.ok.130
ZIL.ok.130
для  Xenophob
4 лет назад

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

Xenophob
Xenophob
для  ZIL.ok.130
4 лет назад

Хинт: приведенное выражовывание выполняется железом как раз теми самыми булевыми операциями, скоко слоёв абстракций сверху при этом – вопрос другой, но машинных кодах оно так. И те самые АЛУ считали именно так.

И вопрос изначально был – а какой мат. аппарат использовать при наличии не ‘0’ и ‘1’ в машинных словах, а ‘-1’, ‘0’ и ‘1’??? Если на пальцах, то: а скоко будет ‘-1’х’1’?

Не желаешь оно осознать – дело твоё.

ZIL.ok.130
ZIL.ok.130
для  Xenophob
4 лет назад

Драть, ты упоротый вхлам.
Физически ячейка может иметь два состояния — намагничено и нет. Есть напряжение-отсутствует напряжение.
А теперь — авай мню в лицах розскажи как ты реализуешь третье состояние.
Там вверьху Глагне вже нопейсал(стопицот постов назат)* для олтеренетив одарённых — троичность это про данные.
Про представление данных.

* Вы же не читаете нихрена, но кидаетесь розсуждать.
Exit discussion.

Xenophob
Xenophob
для  ZIL.ok.130
4 лет назад

>>Драть, ты упоротый вхлам. Физически ячейка может иметь два состояния — намагничено и нет. Есть напряжение-отсутствует напряжение.

Ячейка может, как минимум иметь полярность. Или, можно мерять уровень напряжения/поля/чего там в ней, см., например, коммент Глагнэ про современные модули.

Пример вида 0111 + 1110 = 10101 это, внезапно, про данные, упс.

Сам упоротый, гыы))

ZIL.ok.130
ZIL.ok.130
для  Xenophob
4 лет назад

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

Xenophob
Xenophob
для  ZIL.ok.130
4 лет назад

>>Ну — так напиши как ты собираешься это реализовать физически. Тока не про уровни сигнала

Правда что ли? MLC это не про увеличение плотности записи? И в общем-то ничего не мешает использовать этот принцип для троичной записи.

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

Но повторюсь, мой вопрос был принципиально о другом – каким мат. аппаратом это обрабатывать? Всё, что я видел на эту темутему, сводилось к приведению троичной логики к двоичной и обработке уже двоичных операндов.

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

Но ты продолжай упарываться тру и фолсом, да.

ZIL.ok.130
ZIL.ok.130
для  Xenophob
4 лет назад

Бесполезняк полный — тебе про Ерёму, ты — про Фому.
Всегда нужно смарець в корень — а тут вопрос такой — какие ячейки ты собираешься использовать на физическом уровне.
А ты(они) оказуецо используют двоичные ячейки.
Драть!
Три двоичные ячейки!
Драть, передрать — в чом тут смысел?
Ну авай буим пять ячей пользовать — что это даст?
Тут как ты их не группируй — базовая плотность записи в одной двоичной ячейке будет задавать общую плотность.

Xenophob
Xenophob
для  ZIL.ok.130
4 лет назад

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

Твоя вообще читать, с чего я начинать?

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

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

Основное отличие Сетуни от классических архитектур – в использовании троичных данных, соответственно я поинтересовался у норота, какой мат. аппарат использовался при обработке этих троичных данных, т.к. я увидел у них приведение троичных данных к двоичным и обработку их, как двоичных.

Но, возможно, я чего-то недопонял.

ZIL.ok.130
ZIL.ok.130
для  Лука
4 лет назад

Лука, в ячейки, двоичные ячейки — можно записать представление данных хоть в троичной, хоть в восьмеричной, хоть в шестнадцатиричной системе.
Тут тупо вопрос — что и в каком порядке ты будешь писать в двоичные ячейки.
Почему ячейки двоичные?
Они могут иметь только два состояния: пусто и занято. Или — ноль и единица или — есть напруга-нет напруги или намагничено-размагничено — не суть.
А вот данные ты тудой можешь напхать — какие захочешь, вводя например градацию состояния “занято” — уровнями сигнала(к примеру — 1 вольт, 2 вольта и т.д.).
Здесь весь вопрос — как ты их будешь считывать и интерпретировать.
А под это дело можно написать хренову уйму интерпретаторов.

Kokunov
Kokunov
для  ZIL.ok.130
4 лет назад

Зилок, ты упрлся
______________________
Почему ячейки двоичные?
Они могут иметь только два состояния: пусто и занято. Или — ноль и единица или — есть напруга-нет напруги или намагничено-размагничено — не суть.
_________________________
Ты о каких ячейках?
Тебе говорят про работу с данными, ты про их хранение.

ZIL.ok.130
ZIL.ok.130
для  Kokunov
4 лет назад

Ахахаха!
Драаать, скока там камментов после каммента Глагне про данные прошло?
Наканецта допёрле?
А йа все эти камменты свои именно это и старалсо донести до чьего то ума — на физическом уровне всё реализовано двоично.
А вот представление данных можно организовать в двоичных ячеях — как тебе понравицо.
Пипес.
Возьми и ради интереса — прочитай всю колонку камментов.
Это забавно.

ZIL.ok.130
ZIL.ok.130
для  ZIL.ok.130
4 лет назад

Это легко проиллюстрировать на лампочках — она или светит или нет.
Два состояния.
А вот вкрутить в патрон ты можешь любую лампочку — тусклую. яркую, цветную, вообще — любую.
Ты даже можешь собрать целую картину из лампочек.
Но все они будут иметь всего два состояния — вкл и выкл.
А терь дальше продолжу цепочку — в нашей вселенной не реализовано разных степеней небытия. Т.е. — состояния выкл.
Вот степеней бытия — бесконечно много.
ну канеш — понесло, ыыыы

Xenophob
Xenophob
для  Лука
4 лет назад

>>Извиняюсь, что вмешиваюсь в Вашу борьбу мнений

Сурово, да))

Чтобы добавить комментарий, надо залогиниться.