Троичный компьютер: да, нет, может быть: логика

Троичный компьютер: да, нет, может быть: логика
    «Лишняя» переменная Недвухзначность логики восходит к основоположнику первой законченной логической теории — Аристотелю, что между утверждением и антиутверждением помещал третье «привходящее» — «может да, быть может нет». В последующем развитии логика была упрощена за счет отказа от этого третьего состояния и в таком виде была очень живучей, не обращая внимания на собственный несоответствие нечеткой, не всегда раскладывающейся на «да» и «нет» действительности.
    В различные столетия «увеличить» логику пробовали Оккам, Лейбниц, Гегель, Кэрролл и другие мыслители, в конечном же виде трехзначную логику создал в начале XX века польский ученый Ян Лукасевич.
    «Сетунь» Не обращая внимания на то что потом команда Брусенцова создала вторую модель «Сетунь-70», а в Соединенных Штатах в 1970-х годах шла работа над подобной ЭВМ Ternac, «Сетунь» осталась единственным в истории троичным компьютером, производившимся серийно.

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

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

Машина Фоулера

Справедливости для сходу необходимо заметить: первую счётную машину с троичной совокупностью счисления задолго до советских конструкторов выстроил британский изобретатель-самоучка Томас Фоулер в далеком 1840 году. Его машина была механической и всецело древесной.

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

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

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

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

Первые советские испытания

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

Все началось в первой половине 50-ых годов XX века: кафедре должны были передать электронно-счётную машину М-2, но не сложилось. А машину-то ожидали, подготавливались ее устанавливать и налаживать, с нею связывались планы и определённые ожидания. И кто-то внес предложение: давайте выстроим собственную.

Забрали — и выстроили, благо в то время в МГУ существовали кое-какие теоретические наработки. Начальником группы, осуществлявшей изготовление и проектирование автомобили, был назначен Николай Петрович Брусенцов. Задача была такая: сделать машину предельно простой и недорогой (по причине того, что никакого особого финансирования у проекта не было).

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

К концу 1958 года был закончен первый экземпляр автомобили, которой дали имя «Сетунь» — по заглавию столичной речки. «Сетунь» была довольно мала для вычислительных автомобилей того поколения и занимала площадь 25−30 м2. Благодаря собственной красивой архитектуре она была способна делать 2000−4500 операций в секунду, владела оперативной памятью в 162 девятитритных ячейки и запоминающим устройством на магнитном барабане емкостью 36−72 страницы по 54 ячейки любая.

Машинных команд было всего 27 (причем три так и остались невостребованными), благодаря чему код программы получался очень экономным; программирование конкретно в машинных кодах было такими простым, что для «Сетуни» кроме того не разрабатывали собственный ассемблер. Эти вводили в машину с перфоленты, результаты выводились на телетайп (причем, что любопытно, отрицательные цифры печатались как простые, но перевернутые кверху ногами). При эксплуатации машина показывала 95−98% нужного времени (расходуемого на решение задач, а не на устранение неполадок и поиск неисправностей), а в те времена весьма прекрасным результатом считалось, в случае если машина имела возможность дать хотя бы 60%.

На межведомственных опробованиях 1960 года машину признали пригодной для массового применения в КБ, вузах и лабораториях, последовало распоряжение о серийном выпуске «Сетуни» на Казанском заводе математических автомобилей. С 1961 по 1965 год было выстроено 50 экземпляров, каковые трудились по всей стране. После этого производство свернули. Из-за чего прекратили производить «Сетунь», если она удачно употреблялась везде от Калининграда до Якутска?

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

Потом Николай Брусенцов и Евгений Жоголев создали более современную версию автомобили, применявшую те же правила троичности, — «Сетунь-70?, но она так и не отправилась в серийное производство, единственный опытный образец трудился в МГУ до 1987 года.

Трехзначная логика

Двухзначная математическая логика, которая везде царит в мире компьютерной и другой «интеллектуальной» техники, согласно точки зрения создателя троичного компьютера Николая Брусенцова, не соответствует здравому смыслу: «закон исключенного третьего» отрезает иные заключения, не считая «истины» и «не-истины», а в это же время процесс познания действительности человеком отнюдь не сводится к дихотомии «да/нет». Исходя из этого, утверждает Брусенцов, дабы стать интеллектуальным, компьютеру направляться быть троичным.

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

Логике, оперирующей тремя значениями, естественным образом соответствует троичная совокупность счисления — троичная симметричная, в случае если сказать правильнее, несложная из симметричных совокупностей. К данной совокупности в первый раз обратился Фибоначчи для ответа собственной «задачи о гирях».

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

Помимо этого, из всех позиционных совокупностей счисления троичная самый экономична — в ней возможно записать большее количество чисел, нежели в каждый совокупности, при равном количестве применяемых знаков: так, к примеру, в десятичной совокупности, дабы представить числа от 0 до 999, потребуется 30 знаков (три разряда, десять вероятных значений для каждого), в бинарной совокупности теми же тридцатью символами возможно закодировать числа в диапазоне от 0 до 32767, а в троичной — от 0 до 59048. Самой экономичной была бы совокупность счисления с основанием, равным числу Эйлера (e = 2,718), и 3 — самоё близкое к нему целое.

В случае если в привычных нам бинарных компьютерах информация измеряется в байтах и битах, то компьютеры на троичной совокупности счисления оперируют новыми единицами: тритами и трайтами. Трит — это один троичный разряд; подобно тому, как бит может принимать значения 0 и 1 («неправда» иистина»), трит возможно (+), (0) либо (-) (другими словами «истина», «неизвестно» либо «неправда»).

Один трайт традиционно (так было на «Сетуни») равен шести тритам и может принимать 729 разных значений (байт — лишь 256). Но, быть может, в будущем трайты станут 9- либо 27-разрядными, что естественнее, поскольку это степени тройки.

будущее и Настоящее троичных компьютеров

По окончании «Сетуни» было пара экспериментальных проектов, осуществлявшихся энтузиастами (таких, к примеру, как американские Ternac и TCA2), но это были или очень несовершенные автомобили, далекие от бинарных аналогов, или и вовсе программные эмуляции на бинарном «железе».

Главная причина пребывает в том, что применение в компьютерах троичных элементов пока не дает никаких значительных преимуществ перед бинарными: выпуск последних налажен массово, они несложнее и дешевле по себестоимости. Кроме того будь на данный момент выстроен троичный компьютер, недорогой и по своим чертям сравнимый с бинарными, он должен быть всецело совместим с ними. Уже разработчики «Сетуни-70» столкнулись с необходимостью обеспечить совместимость: дабы обмениваться информацией с другими университетскими автомобилями, было нужно добавить возможность просматривать с перфолент бинарные эти и при выводе кроме этого преобразовать данные в бинарный формат.

Но нельзя сказать, что троичный принцип в компьютеростроении — это неисправимый анахронизм. В последнее десятилетие появилась необходимость в поиске новых компьютерных разработок, и кое-какие из этих разработок лежат в области троичности.

Одно из таких исследовательских направлений — поиск других способов повышения производительности процессоров. Каждые 24 месяца число транзисторов в кристалле процессора возрастает приблизительно в два раза — эта тенденция известна как «закон Мура», и всегда длиться она не имеет возможности: масштабы связей и элементов возможно измерить в нанометрах, и весьма не так долго осталось ждать разработчики столкнутся с целым рядом технических сложностей.

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

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

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

Имеется и более фантастические направления, где оправдано применение трехзначной логики: оптические и квантовые компьютеры.

Байт — не всегда восемь битов

А понимаете ли вы, что «в байте восемь битов — это отнюдь не теорема? На многих компьютерах, производившихся в Соединенных Штатах в 1950—1960-х годах, употреблялись шестибитовые байты; виделись кроме этого компьютеры, где байт складывался из четырех битов. Потом из-за совместимости де-факто был принят восьмибитовый стандарт, что существует до сих пор.

Но, на некоторых суперкомпьютерах байт складывается из 32 битов.

Статья размещена в издании «Популярная механика» (№107, сентябрь 2011).

ЧТО ТЫ ВЫБЕРЕШЬ, ЧТОБЫ ВЫЖИТЬ? ВИДЕО ТЕСТ


Темы которые будут Вам интересны:

Читайте также: