top of page

Заметки о троичной цифровой технике - часть 2

Экспериментальный образец машины "Сетунь", построенный в 1957 - 1958 гг., находился в эксплуатации 15 лет, причем из 4 тыс. использованных в нем пороговых элементов типа быстродействующих магнитных усилителей с питанием импульсами тока были заменены вследствие отказов только 3 элемента (все 3 на первом году эксплуатации): 2 из-за пробоя диодов типа Д1, по-видимому, обладавших дефектами изготовления, и 1 из-за нарушения изоляции между обмотками импульсного трансформатора. Машина устойчиво работала при значительной нестабильности напряжения питающей электросети и в достаточно широком диапазоне температур окружающей среды (от +15 до +30° С). Серийные экземпляры машин "Сетунь" успешно эксплуатировались в различных климатических зонах как с холодным, так и с жарким, а также резко континентальным климатом (например, в Ашхабаде, Душанбе, Махачкале, Иркутске, Якутске, Одессе), причем без какого-либо сервисного обслуживания и практически без запасных частей. Едва ли это может свидетельствовать о плохой надежности аппаратуры.

 

Нельзя согласиться и с имеющимся в [2] заключением, будто "Сетунь" была арифметической машиной, совершенно неподходящей для какой-либо оценки троичных логических операций, и что не было предпринято развернутых попыток использования ее для критического сравнения двоичных и троичных машин в отношении арифметических операций. Разработка "Сетуни", в отличие от упоминаемого в [2] моделирования на двоичной микропрограммной машине троичного компьютера TERNAC, не предназначалась специально для исследования возможностей троичной техники и сравнения ее с двоичной техникой. Целью разработки было создание недорогой и простой в использовании малой цифровой машины широкого назначения (нечто в роде того, что десять лет спустя стали называть миникомпьютером), и эта цель была успешно достигнута. То же, что требуемая машина получилась троичной, было, пожалуй, делом случая: ввиду ненадежности имевшихся в то время транзисторов были созданы магнитные логические элементы, выполненные на нелинейных трансформаторах импульсов тока с диодами (быстродействующие магнитные усилители с питанием импульсами тока), причем оказалось, что эти элементы не только весьма удобны для построения троичных цифровых устройств, но и что троичные устройства получаются существенно более экономными в отношении количества оборудования и потребляемой мощности, более быстрыми и структурно более простыми, чем двоичные устройства, реализованные на тех же элементах [4]. Однако, хотя исследование троичной цифровой техники и не было самоцелью разработки "Сетуни"; разработка эта внесла в понимание проблем и возможностей троичной техники больше, чем теоретическое изучение экономности троичного кодирования и методов синтеза функций трехзначной логики.

 

Принципиальные результаты разработки "Сетуни" настолько естественны и немудрены, что, с точки зрения формальных теоретиков многозначной логики, их попросту не видно. Похоже, что именно этим объясняется приведенное выше заключение о слабости логических возможностей "Сетуни" и неиспользовании ее для сравнения троичной арифметики с двоичной . Результаты состояли в том, что было экспериментально доказано, что троичная машина, по меньшей мере в условиях электромагнитной техники, оказывается существенно экономнее, быстрее, проще и математически совершенней функционально эквивалентной двоичной машины, выполненной на элементах того же типа. Кроме того, было показано, что троичные устройства могут быть эффективно и просто реализованы на основе способа выполнения логических операций, названного впоследствии пороговой логикой, причем именно в трехзначном варианте с положительными и отрицательными весами логических входов данный способ становится практически приемлемым, благодаря значительному ослаблению требований к точности и стабильности параметров физических элементов и сигналов. Не менее важным было и то, что трехзначная логика с ее 33 одноместных и 39 двуместных операций, трактуемая некоторыми философами как логика, таинственного микромира, предстала перед инженером как давно известная ему логика положительного, отрицательного и равного нулю тока (или заряда), а перед программистом - как логика элементарных чисел: 0, 1, - 1 или логика значений, принимаемых алгебраическим знаком числа: +, -, 0. При этом выяснилось, что, хотя эта трехзначная логика сложнее двузначной, она вместе с тем удобнее для человека, легче осваивается и применяется.

 

Вывод о неразвитости логических возможностей "Сетуни" сделан из того, что в наборе ее команд имеется только одна логическая операция - операция умножения тритов (поразрядное умножение), вследствие чего якобы машина не подходила для оценки троичных логических операций. Невозможно понять, почему для оценки логических операций (и что это за оценка) надо строить машину, и "Сетунь", как уже было сказано, была создана для иных целей, но указанной единственной операции для программирования логики было достаточно. Может быть, как раз это и является той оценкой троичных операций, которую имеют в виду критики. Операция умножения тритов была включена в набор команд "Сетуни" как наиболее часто встречающаяся и легко понимаемая. Это аналогично наличию единственной логической операции конъюнкции в наборе команд PDP-8. Однако операция умножения тритов несравнимо богаче двузначной конъюнкции [4]. Использование ее в сочетании с константами и арифметической операцией сложения позволяет осуществить произвольную функцию трехзначной логики. Впрочем, последнее имеет, пожалуй, лишь теоретическое значение, так как для программиста основными средствами выражения логики являются команды условного перехода, которых у "Сетуни" три, а команда умножения тритов используется главным образом для выделения, очистки или изменения знака частей слова.

 

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

© 2016 Назаров Андрей Михайлович

bottom of page