Хостинг-провайдер
93,56
рейтинг
30 декабря 2015 в 11:04

Разработка → Уникальная Сетунь на основе троичного кода

Уже в 1956 году появилась потребность в создании практичного образца цифровой вычислительной машины, которая бы смогла использоваться в вузах, лабораториях. Для таких целей требовалась простая в освоении, надежная, недорогая, но в то же время эффективная малая ЭВМ, рассчитанная на массовое использование.



Требования, предьявленные к такой машине: скорость работы должна была быть равной нескольким сотням операций в секунду, «приветствовалась» простота и удобство программирования, точность вычислений — 6-8 верных десятичных знаков, высоконадежность в эксплуатации и в техническом обслуживании, умеренные габариты, экономное потребление энергии, использование недорогих и «недефицитных» материалов и деталей. Такие требования для того времени являлись «противоречивыми», ведь создание машины более удобной для работы программистов повлекло бы за собой увеличение количества оборудования, что, в свою очередь, повлекло бы снижение надежности и повышение стоимости не только самой машины, но и ее эксплуатации.

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

Использования троичной системы счисления


В XIII веке итальянский математик Фибоначчи выдвинул идею использования для вычислений троичной системы. Он сформулировал и решил «задачу о гирях» (известную под названием Баше-Менделеева). Суть задачи такова: при какой системе гирь, имея их по одной, можно бесплатно взвесить всевозможные грузы Q от 0 до максимального груза Qmax, чтобы абсолютное значение максимального груза Qmax было бы наибольшим среди всех вероятных разновидностей. Два условия для решения этой задачи: если гири класть на свободную чашу авторитетов; если гири позволяется класть на обе чаши авторитетов. В первом случае «оптимальная система гирь» сводится к двоичной системе гирь: 1, 2, 4, 8, 16 и т.д., а появляющийся при этом «оптимальный» алгоритм или способ измерения рождает двоичную систему счисления, лежащую в основе «модных» компьютеров. Во втором случае наилучшей является система гирь: 1, 3, 9, 27, 81 и т.д. Если можно класть гири только на одну чашу весов, то удобнее, быстрее и экономичнее делать подсчёты в двоичной системе, а если можно класть гири на обе чаши, то целесообразнее прибегнуть к троичной системе.

Особенность троичной системы счисления — цельночисленное основание в ней равно трём. То есть все множество целых чисел можно записать с помощью всего трех цифр, например 0, 1, 2, 10, 11, 12 и так далее (10 соответствует цифре 3 из привычной нам десятичной системы).

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

По сравнению с двоичным кодом с цифрами 0, 1, троичный код с цифрами -1, 0, 1 обеспечивает оптимальное построение арифметики чисел со знаком. При таком применение арифметика имеет ряд преимуществ:

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

Благодаря наличию в троичной системе счисления “положительной” и “отрицательной” цифр, в коде числа нет особого разряда знака, а это очень упрощает логику арифметических операций. Троичное слово в 1,6 раза короче двоичного, следовательно и операции, например операция сложения в троичном последовательном арифметическом устройстве выполняются также в 1,6 раза быстрее, чем в двоичном.

Преимуществом троичной системы счисления с цифрами -1, 0, 1 является:

округление числа x до k верных троичных знаков, которое получается отбрасыванием всех младших знаков, начиная с (k+1).

Следствие. Ближайшим целым числа x,

X=E 1, E 2...E m+1...XE

является число:

[X]бл = E1, E2...Em

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

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

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

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

Как и двоичная система, троичная система исчисления основана на позиционном принципе кодирования чисел, но вес i -й позиции/разряда в ней равен не 2 i, а 3 i. Разряды трехзначны, а не двухзначны: к 0 и 1 еще допускается третье значение -1, поэтому единообразно представимы как положительные, так и отрицательные числа.

Значение n — тритного целого числа N определяется аналогично значению n — битного:



где а i ∈ {1, 0, -1} — значение цифры i разряда.
(исходя из материалов, хранящихся в виртуальном компьютерном музее)

В троичной симметричной системе цифры обозначают знаками, вместо 1, 0, -1 пишут +, 0, -.

Вот как будут выглядеть десятичные числа 13, 7,6,-6 в троичной записе 13= +++, 7 = +-+, б = +-0, -6 = -+0. Изменение знака числа в симметричном коде равно потритной инверсии, происходит взаимозамена "+" на "-", и наоборот.

Ниже приведена таблица с операциями сложения и умножения в троичном симметричном коде.



В троичном симметричном коде отсутствует проблема чисел со знаком.

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

Тритом были названы три вида сигналов, формируемые базовым элементом будущего троичного компьютера. Если за меру количества информации принимать бит, то информационная емкость трита будет равна приблизительно 1,6. Исходя из этого троичный компьютер обрабатывает в единицу времени больше информации, чем двоичный.

Минимальной адресуемой единицей памяти проектируемого троичного компьютера стал трайт, равный шести тритам и принимающий значения от -364 до 364. Работа с диапазоном отрицательных значений — особенность, отличающая трайт от двоичного байта, значения которого распространяются от 0 до 255.

Благодаря информационной емкости трайта с его помощью легко можно закодировать все заглавные и строчные символы русского и латинского алфавитов, математические и служебные символы.

Н.П. Брусенцов говорил:
История вычислительной машины Сетунь, как и сама эта машина, необычна — все совершалось вопреки общепринятым подходам и методам. Можно подумать, что действовали по принципу «Делай не так, как все». Но принцип был иной — «Чем естественней и проще, тем лучше».

Сложна судьба Николая Петровича Брусенцова — творца первой и единственной в мире троичной машины Сетунь




Родился Николай Петрович Брусенцов 7 февраля 1925 года в городе Днепродзержинске (Украина). Его отец Петр Николаевич Брусенцов был сыном простого рабочего — железнодорожника, учавствовал в строительстве Днепродзержинского коксохимического завода, умер в очень молодом возрасте 37 лет, когда Николаю было всего 14 лет. Мать Мария Дмитриевна осталась сама с тремя детьми. Началась война. В 1943 году Николая призвали в армию и отправили на курсы радистов в Свердловске. Позже он стал радистом 154 стрелковой дивизии в отделении разведки 2 дивизиона 571 артиллерийского полка. Был награжден медалью «За отвагу» и орденом Красной Звезды.

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

После окончания института Брусенцов был направлен на работу в СКБ при Московском университете, позже в проблемную лабораторию по разработке ЭВМ для использования в учебных заведениях. Вот тут он и познакомился с Сергеем Львовичем Соболевым. Соболев горел идеей создания малой ЭВМ, которая была бы недорога, малогабаритна, надежна для институтских лабораторий. Был организован семинар, в котором принимали участие еще М.Р.Шура-Бура, К.А.Семендяев, Е.А.Жоголев. На семинарах разбирали недостатки существующих машин, прикидывали систему команд и структуру, рассматривали варианты технической реализации, склоняясь к магнитным элементам, поскольку транзисторов еще не было, лампы сходу исключили, а сердечники и диоды можно было достать и все сделать самим.

Пару слов из воспоминаний Брусенцова о семинаре:
Доклады посвящались, с одной стороны, инженерным вопросам технической реализации машины, а с другой — разработке и оптимизации ее архитектуры, анализу и обобщению имеющегося в этом деле опыта. Так, М.Р. Шура-Бура на четырех семинарах в апреле-мае 1956 года анализировал преимущества и недостатки отечественных машин «Стрела», БЭСМ, «Урал», М-20, сотрудники Сергея Львовича по курчатовскому институту Г.А. Михайлов и Б.И. Шитиков рассказали о созданных ими машинах ЦМ-1 и ЦМ-2, аспирант Томского университета А.Д. Закревский выступил с докладом «Применение алгебры логики к синтезу схем вычислительной машины». Вопросы инженерной реализации цифровых устройств на полупроводниковых и магнитных элементах рассматривались в докладах сотрудников нашего отдела электроники. Разработкой же функциональной схемы и системы команд машины довелось заниматься мне с Е.А. Жоголевым, и результаты по мере продвижения неоднократно представлялись семинару в наших, иногда совместных, докладах: 17.9.56 — «Эскизная схема машины», 15.10.56 — «Операции в троичной системе счисления», 11.2.57 — «Система команд для одноадресной троичной машины», 8.4.57 — «Блок-схема троичной машины», 24.2.58 — «Блок-схема и система команд машины «Сетунь».

Именно тогда у Брусенцова возникла мысль использовать троичную систему счисления.

Николай Петрович Брусенцов заведовал лабораторией ЭВМ факультета вычислительной математики и кибернетики Московского государственного университета им. М.В.Ломоносова. Основными направлениями его научной деятельности являлись: архитектура цифровых машин, автоматизированные системы обучения, системы программирования для мини- и микрокомпьютеров. Им было опубликовано более 100 научных работ, в том числе монографии «Малая цифровая вычислительная машина Сетунь» (1965 год, «Миникомпьютеры» (1979 год), «Микрокомпьютеры» (1985 год), учебное пособие «Базисный фортран» (1982 год).

Брусенцову Николаю Петровичу, лауреату премии Совета Министров СССР, принадлежат 11 авторских свидетельств на изобретения. Он был награжден орденом «Знак Почета», Большой золотой медалью ВДНХ ССС.

В 2014 году в возрасте 90 лет ушел из жизни известный конструктор троичных ЭВМ, ученый Брусенцов Николай Петрович. Как вспоминали его друзья, он был очень скромным, приятным в общении человеком, всегда готовым прийти на помощь.

В Вычислительном центре МГУ была создана Сетунь, которая стала первой машиной с алфавитно-цифровыми устройствами ввода и вывода в СССР.


В разработке ЭВМ активное участие принимал советский математик Сергей Львович Соболев, на то время он был заведующим кафедрой вычислительной математики на механико-математическом факультете Московского университета. Созданием и разработкой машины Сетунь занимался коллектив начинающих сотрудников, это были 8 выпускников МЭИ и МГУ, 12 техников и лаборантов. Работа была проделана довольно в короткий срок, что напрямую свидетельствовало о простоте троичной цифровой техники, достигалось существенное упрощение, естественность архитектуры троичных устройств. Такая архитектура — рационально построенная система программирования, которая включала интерпретирующие системы ИП-2 (плавающая запятая, 8 десятичных знаков), ИП-3 (плавающая запятая, 6 десятичных знаков), ИП-4 (комплексные числа, 8 десятичных знаков), ИП-5 (плавающая запятая, 12 десятичных знаков), автокод ПОЛИЗ(язык обратной польской записи) с операционной системой и библиотекой стандартных подпрограмм (плавающая запятая, 6 десятичных знаков) делали малую машину Сетунь простой в освоении.



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

В конце 1959 года для машины уже существовала система программирования и набор прикладных программ.

Параметры машины


Для установки малой машины Сетунь необходима была площадь размером 25-30 м2, оформлена она была в виде шкафа с такими параметрами 2,9 х 1,85 х 0,5 м, пульт управления 1,6 х 0.6 х 1 м, стол для внешних устройств 1,2 х 0,8 х 0,75 м.



Как и упоминалось раньше числа и команды предоставлены троичным кодом (с цифрами 1, 0, -1), Сетунь оперировала 18 разрядным и 9 разрядными троичными кодами, запятая всегда после второго разряда, что означало, что все числа по модулю меньше 4,5. Команды представлялись 9 троичными разрядами, 5 старших из них — адресная часть, три — это код операции и один, младший разряд, — в качестве признака модификации адреса. При выполнении команд, содержащих в этом разряде 1 или -1, их адресная часть автоматически изменялась соответственно прибавлением или вычитанием числа, хранящегося в специальном 5 разрядном индекс-регистре.

Оперативная память состояла из устройства на ферритовых сердечниках емкостью в 162 9-тритных ячейки, то есть разделена на 3 страницы по 54 ячейки для постраничного обмена с основной памятью. Основная память — это запоминающее устройство на магнитном барабане, емкостью 36 либо 72 страницы (1944 9-тритных ячейки). Передача информации между запоминающими устройствами производилась зонами, содержащими по 54 девятиразрядных кода. С помощью пятипозиционной бумажной перфоленты через фотоэлектрическое вводное устройство вводились данные в машину. Такое вводное устройство работало со скоростью 800 знаков в секунду. Вывод данных осуществлялся благодаря печати и перфорации на бумажной ленте со скоростью 7 знаков в секунду (вывод как троичных кодов, так и буквенно-цифрового текста с заданием произвольной формы бланка).


Перфолента

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


Сумматор


Ферритовый куб

Был разработан специальный быстродействующий магнитный усилитель, который состоял из миниатюрного трансформатора с ферритовым сердечником и полупроводникового диода. Усилители соединялись друг с другом без посредства электрических деталей, исключение- соединительные провода. Нововведение повышало надежность машины и снижало потребление энергии. Таких магнитных усилителей в Сетунь было 3500.

Запитывалась машина от сети трехфазного тока 220/380В, потребляемая мощность составляла 2,5 кВА.

Сетунь состояла из шести функциональных устройств (Брусенцов Н.П. Вычислительная машина «Сетунь» Московского государственного университета.ст 259): арифметического устройства, устройства управления, оперативного запоминающего устройства, устройства ввода, устройства вывода, запоминающего устройства на магнитном барабане.


Блок-схема вычислительной машины Сетунь

Заводские испытания первого серийного образца Сетунь показали, что машина полностью соответствует поставленым техническим параметрам. Все работало без сбоев и полезное время составило 95% от зачетного. За первый год из 4000 деталей были заменены всего лишь три детали. Выпущено было 7 таких малых ЭВМ, в течение 1963 года было запланировано произвести еще 10 таких машин. Уже в 1964 году завод выпустил 21 машину Сетунь, так как спрос на них рос. Но в 1965 году Сетунь была снята с производства.

Начиная с 1959 года Сетунь за полтора месяца вывела больше расчетов, чем ЭВМ Урал-2 с двоичной системой счисления. Малая машина Сетунь работала безотказно, но чиновникам была не выгодна такая ЭВМ — себестоимость ее была всего 30 000 рублей. Первая модель Сетунь была в работе 15 лет. Серийное производство было решено отложить на 15 лет, но этого так и не произошло. Как говорил сам создатель машины Брусенцов потом:«Сетунь мешала людям с косным мышлением, которые занимали высокие руководящие посты». В конечном счете Сетунь разрезали автогеном и отправили на утилизацию.

В 1967-1969 годах на основе машины Сетунь была разработана ее усовершенствованная версия — троичная цифровая машина Сетунь 70 — машина .."нетрадиционной двухстековой архитектуры, ориентированной на обеспечение благоприятных условий дальнейшего развития ее возможностей методом интерпретирующих систем".

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

О ДССП
ДССП превосходит Forth по многим параметрам. Язык ДССП обладает существенно более низкой, чем язык ассемблера трудоемкостью в программировании, не уступая ему в компактности кода и быстродействии, позволяет проверять работу подпрограмм в интерактивном режиме и имеет возможность модификации программ практически без внесения изменений в остальные части кода.


Других компьютеров на основе троичного кода кроме Сетунь в СССР не было.


История создании машины Сетунь

По словам самого создателя Сетунь Брусенцова:
Сейчас многие страны пытаются создать свой троичный компьютер, но все попытки безуспешны: люди так привыкли к двоичной логике, что им сложно освоить троичную. Однако это вопрос спорный: вряд ли за все эти годы никто больше не додумался до того, как сделать аппаратную часть такого компьютера. И если во всём мире в компьютерной индустрии пользуются двоичной системой, а на троичную до сих пор никто не перешёл, то, возможно, необходимости в этом и нет.




По традиции, немного рекламы в подвале, где она никому не помешает. Наша компания запустила новогоднюю распродажу серверов и VPS, в рамках которой можно получить от 1 до 3 месяцев аренды бесплатно. С подробностями акции вы можете ознакомиться тут.
Автор: @TashaFridrih
ua-hosting.company
рейтинг 93,56
Хостинг-провайдер

Комментарии (46)

  • +5
    Троичное слово в 1,6 раза короче двоичного, следовательно и операции, например операция сложения в троичном последовательном арифметическом устройстве выполняются также в 1,6 раза быстрее, чем в двоичном
    Если бы так, но, к сожалению, есть еще сложность самой операции, и она выше для троичной арифметики, поэтому выигрыш составляет по быстродействию порядк 30%, а по энергетике вообще почти ничего.
  • +5
    Чаши авторитетов — што?
    • +1
      Смысловая автозамена головного мозга. «Его слово имеет вес» = «Он обладает авторитетом». Есть байка про аналогичный случай. Один физик-аспирант перед сдачей кандидатской отдал ее на редактирование знакомому филологу, а потом не глядя отдал рецензенту отредактированный текст и получил от ворот поворот. Дело в том, что работа была про электронно-дырочную проводимость, а редактор посчитал слово «дырка» просторечным и везде заменил его на «отверстие».
  • +5
    чаши весов))
  • +13
    Насколько я помню из институтского курса ВТ- троичная логика Сетуни была обусловлена двумя факторами:
    первый — математической экономичностью троичной системы счисления (теоретически в основе самой экономичной — основание натуральных логарифмов) почему так, можно посмотреть например здесь
    второй — хранение данных на ферритовых кольцах — три состояния намагниченности (два направления вектора намагниченности и отсутствие намагниченности)

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

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

    И когда говорят «вот прогадили уникальную вычислительную технику...» имхо, нет тут ничего личного — чистый бизнес.
    • +1
      Спасибо за ссылку, автор этой статьи (возможно ненамеренно) соврал насчет «Других компьютеров на основе троичного кода нет и не было»:
      С 2008 года в университете « California Polytechnic State University of San Luis Obispo» функционирует цифровая компьютерная система TCA2, основанная на троичной системе счисления.
      • 0
        ненамеренно, правда)
        спасибо, исправила
    • 0
      «три состояния намагниченности» — не совсем так. Ячейка состояла из двух колец и допускала 4 состояния, но только три из них можно было считать. Для двоичной системы одно состояние пропадало.
  • 0
    Как троичная логика переводится в транзисторные схемы?
    • 0
      Возможно вот здесь вы найдете ответы: www.nedopc.org/forum/viewforum.php?f=79
    • 0
      Лучше спросите, как там дела с булевой логикой…
      • 0
        С булевой в троичной — хорошо. Булевая логика подмножество троичной логики. Менее тривиальна реализация троичной логики через булевую.
        • 0
          Да какое там «хорошо»: больше половины состояний из разряда «неизвестно».
          • 0
            Булева логика — это когда на входе и на выходе только два состояния. Логика с двумя состояниями тривиально реализуется на тритах: одно из состояний не используется.
            • 0
              Это Вам так кажется. На самом деле все сложнее: лишь самая простая нетривиальная булева алгебра содержит всего два элемента, 0 и 1.
              Но можно доказать, что любая конечная булева алгебра изоморфна булевой алгебре всех подмножеств какого-то множества. Отсюда следует, что количество элементов в любой конечной булевой алгебре будет степенью двойки.
              • 0
                Если взять множество тритов и оставить в каждом трите только два состояния '+' и '-' и над этими состояниями определить те же операции, что и в булевой алгебре, то в чем такое множество не будет изоморфно множеству A из определения булевой алгебры?
                Булевой алгеброй называется непустое множество A с двумя бинарными операциями \land (аналог конъюнкции), \lor (аналог дизъюнкции), унарной операцией \lnot (аналог отрицания) и двумя выделенными элементами: 0 (или Ложь) и 1 (или Истина) такими, что для всех a, b и c из множества A верны следующие аксиомы [..].
                • 0
                  1. Есть такое понятие — физическая реализация («в железе»). Если при этом придется делать проверку входного/выходного состояния автомата на корректность (в Вашем случае — отсечение одного состояния с сигнализацией ошибки), то эффективность этого автомата очень сильно уменьшается. Пример из жизни — RS-триггер
                  2. Цитата интересна, но Вы путаете понятия «Булева алгебра» и «Булева логика». Может для Вас это одно и то же, но для той же Википедии — нет.
                  • 0
                    1. Нет необходимости делать такую проверку, потому что если схема реализует булеву алгебру и использует корректный вход (только состояния '+', '-'), то на выходе тоже всегда будет только корректный выход(только состояния '+', '-').
                    2. «Булева алгебра» и «Булева логика» — это два разных рассмотрения одного и того же. Булева алгебра — это изучение математического аппарата для множеств, состоящих из элементов с двумя состояниями. Булева логика — это изучение высказываний, которые могут принимать только два состояния. В некотором смысле «булева логика» является подмножеством «булевой алгебры».
                    • 0
                      1. Я говорил о железе. Там есть понятия «отказ» и «сбой». Но если для Вас термины «контроль четности», «мажоритарность», «аппаратная избыточность» и т.д. — просто звуки, то вопрос исчерпан.
                      2. Лучше прочитайте статьи в Вики. Я дал Вам цитату из нее же. Или Вы согласны с ее трактовкой, или нет. Но тогда не приводите в качестве аргументов цитаты из нее. Определитесь.
                      • 0
                        Я запутался.
                        В сообщении 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» есть «0». А для Двоичной?

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

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

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

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

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

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

                                      Алгебра логики (алгебра высказываний) — раздел математической логики, в котором изучаются логические операции над высказываниями. Чаще всего предполагается, что высказывания могут быть только истинными или ложными, то есть используется так называемая бинарная или двоичная логика, в отличие от, например, троичной логики. Своим существованием наука «алгебра логики» обязана английскому математику Джорджу Булю, который исследовал логику высказываний. Простейший и наиболее широко применяемый пример такой алгебраической системы строится с использованием множества 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/Троичная_логика

                                      • 0
                                        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
                                        • 0
                                          1 А выделял. Просто редактор «своеобразный». Через планшет/телефон вообще не стартует.

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

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

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

            При работе с перфокартами в текстовом режиме каждая колонка обозначает один символ; таким образом, одна перфокарта представляет строку из 80 символов.
  • –4
    Товарищи, ну прекратите такой сырой продукт выпускать, пожалуйста.

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

Самое читаемое Разработка