Компьютерра PDA N151 (24.12.2011-30.12.2011)
Шрифт:
– Как вы наткнулись на эту тему?
– Совершенно случайно. Году в 1998 читал журнал American Scientist, и там была статья о троичной неуравновешенной системе исчисления. Потом, если не ошибаюсь, троичная логика была упомянута во втором томе Дональда Кнута, и каким-то образом мне попалась статья о том, что существовала даже троичная ЭВМ. Я начал интересоваться, ходить по библиотекам, пытаться найти публикации, меня это захватило.
Когда я начинал, у меня не было ни единого знакомого, который не то что знал, а хотя бы мог понять основные принципы троичного представления данных. Дипломированному программисту показываешь эту систему, но для него понять, что нужно не только складывать, но ещё и вычитать - это шок и взрыв мозга. Кто-то
– И теперь вы пытаетесь организовать тех, кто интересуется троичной логикой?
– Всего заинтересованных - несколько десятков, но постоянно контактируют и чем-то занимаются человек пять. В России только один человек, все остальные из других стран - Штатов, Швеции и так далее. В Украинском Институте кибернетики серьёзно занимались этой темой, были публикации, патенты, какие-то схемы на уровне того времени. И у нас в Институте прикладной математики Варшавский занимался этим. Но он сконцентрировался на математике, а потом, с его отъездом, исследования прервались.
– Что представляла собой "Сетунь", и откуда она взялась?
– "Сетунь" - это первая и единственная в мире серийно производившаяся троичная вычислительная машина, которая относилась к классу малых. Её создали в лаборатории вычислительных систем МГУ. Работа началась в 1955 году, когда Николаю Петровичу Брусенцову дали задание ознакомиться с разрабатывающимися на то время ЭВМ, чтобы впоследствии приобрести одну их них для нужд университета.
– А Николай Петрович вместо этого сказал, что ему не нравится двоичная логика?
– Не совсем так. Его направили в одно из КБ, которое занималось созданием ЭВМ. Он с большим интересом наблюдал, каким образом производится машина, и обратил внимание на то, что некоторые элементы недостаточно оптимально используются, в частности память. Поскольку было много брака, приходилось устанавливать в два раза больше элементов.
– То есть в машины тогда сразу ставили запасные элементы на случай неисправности?
– Да, поскольку часть элементов была бракованная, то один из них мог сработать, а второй - нет. Так вот, через какое-то время из-за ссоры в верхах университету отказались продавать машину. Сказали: "Разбирайтесь сами, покупайте в другом месте". В итоге в МГУ её решили разработать собственными силами.
У Николая Петровича уже было представление о том, как это делается и что должно получиться. Он обратил внимание на бесполезное удвоение элементов и попробовал реализовать троичные элементы. В результате количество элементов сократилось в семь раз по сравнению с тем, что он видел в КБ. При поддержке академика Соболева решили попробовать реализовать многозначную, полностью троичную машину - "Сетунь".
Конструкторские работы продолжались до 1957 года, и в 1958-59 годах "Сетунь" была запущена. Машина получилась, во-первых, на удивление небольшой, во-вторых, дешёвой, что потом сыграло с ней злую шутку. К тому же она заметно отличалась от всех остальных ЭВМ того времени, поскольку была троичной. Тем не менее, когда опытный образец показали на ВДНХ, он получил приз. Пошли разговоры о серийном производстве. В 1960-61 году на Казанском заводе вычислительных машин начали собирать "Сетунь".
– Тогда и появились те самые пятьдесят экземпляров?
– Да. Их строили очень долго, не больше десяти штук в год. В основном "Сетунь" расходилась по небольшим инженерным КБ, бюро и университетам. Насколько мне известно, одна из них стояла в академии Жуковского в Москве: с её помощью учили программированию и вели расчёты.
– И писали для этого собственный софт?
– Да. В то время это было нормально. Каждый получал
машину практически безо всего и самостоятельно решал свои задачи.– Как примерно выглядел этот агрегат?
– Он был относительно невелик - занимал площадь небольшой комнаты. Четыре небольших шкафа и две стойки: на одной пульт с индикаторами, а на другой - электрическая пишущая машинка, с помощью которой происходил набор данных. Фактически что-то вроде терминала: вводишь текст, и на бумаге остается всё, что набрал.
– Возможно ли описать производительность "Сетуни" в современных терминах?
– В современных получается совсем уж скромно - порядка двадцати тысяч операций в секунду. В своё время она попадала в класс малых машин, не особо требовательных к скорости вычислений.
После запуска "Сетуни" в производство проводились семинары по программированию, которые послужили, наверное, отправной точкой для большинства других семинаров по вычислительной технике - как московских, так и новосибирских. Результатом этих семинаров стал ежегодник, в котором публиковались программы - включая исходный код и подробное описание принципов работы, проблем и задач, которые эта программа решала.
– Какие же преимущества давала троичная логика?
– Двоичная логика по своей сути представляет собой сильно урезанную формальную логику. Из-за своих ограничений она не позволяет произвести некоторые действия. Либо позволяет, но неэкономно, и придётся прилагать значительно больше сил. Впрочем, в первой "Сетуни" самой по себе троичной логики практически не было, а применялось в основном троичное представление данных. Логических же операций как таковых в системе команд, по-моему, не имелось вовсе.
– То есть это была исключительно счётная машина?
– Да, она создавалась именно для выполнения расчётов. А вот в первом варианте "Сетуни-70" уже были некоторые средства для выполнения логических операций.
– "Сетунь-70" начала разрабатываться сразу, как только первая "Сетунь" была закончена?
– Нет. В 1965 году был расцвет первой "Сетуни", когда она производилась, продавалась, поставлялась в университеты и КБ. Ближе к семидесятому году, к столетнему юбилею Ленина, всем институтам предлагали показать свои достижения. Коллектив Николая Петровича решил сделать следующую модель "Сетуни", тоже троичную. ЭВМ назвали "Сетунь-70". Работу начали в 1968 году. Сначала был сделан один вариант и нормально запущен, но потом пришла мысль чуть-чуть поменять архитектуру и лучше приспособить её для стекового программирования, которое сейчас больше известно как структурное. Идею структурного программирования предложил Дейкстра, и "Сетунь-70" прекрасно подошла для такого подхода.
– И после этого появился единственный опытный экземпляр?
– Да. Его построили и испытали, но в серию эти компьютеры не пошли, потому что к тому времени сложилась нехорошая ситуация вокруг первой "Сетуни". Как уже было сказано, машина получилась очень дешёвой, поэтому её просто невыгодно было производить. Да и производительность к тому времени уже была не того уровня, который требовался. К тому же тогда началось распространение полностью полупроводниковых машин, на фоне которых ферритовые катушки "Сетуни" смотрелись совсем несерьёзно.
– Были ли другие исследования, связанные с троичной логикой?
– В семидесятых годах, если не ошибаюсь, в Штатах была сделана попытка построить на большой двоичной ЭВМ эмулируемую троичную ЭВМ для того, чтобы оценить эффективность. По результатам работы опубликовали три документа: два из них можно найти в Сети, а третий неуловим - название книги есть, но найти её нереально. Известно, что выводы были положительными, но всё уперлось в то, что как раз тогда происходил переход на полупроводниковую элементную базу. Реализовать на транзисторах троичную логику гораздо сложнее. В принципе, это и мешает появлению троичных систем. Сейчас они если и существуют, то не распространены.