Щелкающие машины
Юрий Полунов
Бывало нечто, о чем говорят: смотри, вот это ново, но это было уже в веках, бывших прежде нас.
Экклезиаст: I, 10
В 1831 г. Джозеф Генри (Joseph Henri, 1797–1878), профессор натуральной философии колледжа штата Нью-Джерси, ставшего позднее Принстонским университетом, продемонстрировал своим студентам следующий опыт. Небольшую железную подковку он обмотал тонким проводом, а посередине поместил железный стержень, свободно установленный на игле. Когда профессор подал в обмотку слабый ток, стержень повернулся, притянувшись одним своим концом к подковке, а другим ударив в миниатюрный колокол. Так родился прибор, получивший название реле – по-видимому, в силу некой аналогии между преобразованием слабого тока в довольно существенное перемещение стержня (якоря) и сменой (relay) уставших почтовых лошадей на станциях.
Джордж Роберт Стибиц
Впоследствии реле нашло самое широкое применение в технике и, в частности, в аппаратуре связи. Неудивительно поэтому, что первым человеком, задумавшим использовать его в качестве основного элемента вычислительных машин, был сотрудник "Белловских телефонных лабораторий" (Bell Telephone Laboratories, или сокращенно Bell Labs)[1] математик Джордж Роберт Стибиц (George Robert Stibitz, 1904–1995). Осенью 1937 г., обратив внимание на двоичный характер работы этого прибора, он у себя дома соорудил из куска доски, жестяных обрезков, коробки из-под трубочного табака, двух лампочек от карманного фонаря, двух старых реле и проводов нехитрую схему, которая питалась от батареек и могла складывать две двоичные цифры. Свой примитивный сумматор автор назвал Model K, поскольку мастерил его в кухне (kitchen).
Демонстрация сумматора не произвела впечатления на коллег Стибица, но сам он был уверен, что на основе реле можно создать устройство, способное последовательно выполнять вычисления и запоминать их промежуточные и окончательные результаты. В частности, оно могло бы умножать и делить комплексные числа, ибо эти операции занимали много времени у сотрудников его отдела, занятых разработкой усилителей и фильтров. Руководство Bell Labs одобрило идею Стибица, но лишь в апреле 1939 г.[2] в нью-йоркской лаборатории компании он вместе с инженером Сэмюэлом Б. Уильямсом (Samuel B. Williams) приступил к проектированию "Вычислительной машины, работающей с комплексными числами" (Complex Number Computer, CNC), или Model 1. Стибиц, если воспользоваться современной терминологией, был архитектором машины, Уильямс – ее главным инженером. Изготовление CNC завершилось через шесть месяцев, а 8 января следующего (1940) года она была введена в действие. "Когда работа была закончена, – вспоминал Стибиц, – мы с Сэмом вымыли руки и вернулись к нашим повседневным занятиям, отрываясь от них время от времени для того, чтобы взглянуть на наше дитя и убедиться, что оно хорошо ест и спит". Первоначально машина могла лишь умножать и делить комплексные числа, но после незначительной модификации к этим операциям добавились сложение и вычитание.
Model K
Model 1 содержала примерно 450 двухполюсных и десять многополюсных реле (crossbar switch), которые служили для хранения входных данных и промежуточных результатов. В машине использовалась арифметика с фиксированной перед первым значащим разрядом числа запятой, а кодирование десятичной цифры осуществлялось с помощью четырех реле так, что каждая цифра n представлялась двоичным кодом n+3. Такое кодирование, упрощавшее выполнение операций переноса и вычитания, получило название "Стибиц-кода" или "кода с избытком 3". Model 1 была непрограммируемой машиной с жестко заданной последовательностью действий: каждая следующая операция начиналась после того, как заканчивалась предыдущая, поэтому можно было прервать работу машины, "…вставив, – как писал Стибиц, – зубочистку в соответствующее реле" (чуть позже функции зубочистки уже выполняла специальная кнопка). Машина работала с 10-разрядными числами, но печатались только восемь разрядов (оставшиеся два служили для округления результата). Для ввода данных и вывода результатов использовался один из трех стандартных телетайпов с модифицированной клавиатурой. CNC находилась в отдельной комнате, куда имели право входить лишь несколько сотрудников, а связь оператора с Model 1 осуществлялась дистанционно с помощью многожильных кабелей, посредством которых к ней подключались телетайпы, установленные в специальном помещении. Быстродействие машины составляло примерно одно умножение в минуту.
Стибиц первым в мире успешно осуществил удаленный доступ к вычислительному устройству. В сентябре 1940 г. в Ганновере (шт. Нью-Гемпшир), в нескольких сотнях миль от его лаборатории, должно было состояться собрание Американского математического общества. В зале заседания установили телетайп, данные с которого по телефонному кабелю вводились в машину, расположенную в Нью-Йорке (на концах кабеля находились кодер и декодер). Результаты вычислений по тому же кабелю передавались в Ганновер. Уильямс оставался у машины на случай, если она даст сбой, но все обошлось благополучно. Стибиц выступил перед собравшимися с небольшим докладом о CNC, а затем, пояснив, какую задачу она должна решить, ввел в нее исходные данные. Та несколько минут "подумала" и выдала правильный ответ.
Демонстрация произвела большое впечатление на присутствующих, среди которых были такие выдающиеся ученые, как Джон фон Нейман, Норберт Винер, Ричард Курант, и знаменовала начало эры телекоммуникации: впервые по телефонному каналу передавалось не голосовое сообщение, а кодированные машинные данные. Всем участникам собрания было предложено самостоятельно поработать за телетайпным пультом (на это отвели время с 11 часов утра до 2 часов ночи). Маститые ученые толпились у телетайпа, терпеливо дожидаясь своей очереди. Норберт Винер, например, многократно и безуспешно пытался заставить машину разделить некоторое число на нуль[3].
Model 1 вплоть до 1949 г. использовалась для внутренних нужд компании, где надежно работала по 12–13 часов в день в течение шестидневной недели. Вскоре после ее пуска Стибиц предложил построить более универсальную машину, которая автоматически вычисляла бы полиномы и другие функции. Однако так как проектирование и изготовление даже довольно простой Model 1 обошлось в 20 тыс. долл. (астрономическая сумма, по словам Стибица), его предложение не было принято. Он ушел в Комитет по исследованиям в области национальной обороны (National Defense Research Committee, NDRC), но связей со своей бывшей лабораторией не прерывал. Когда в декабре 1941 г. США вступили в войну, в Bell Labs началась разработка прибора управления артиллерийским зенитным орудием (ПУАЗО) модели M-9. Это было сложное электромеханическое устройство, наводившее артиллерийское орудие на движущуюся воздушную цель. Для проверки точности работы M-9 проводилось моделирование стрельб, что требовало большого объема вычислений, в частности, для интерполяции таблично заданных значений ряда функций. Чтобы ускорить подобные вычисления, Стибиц предложил создать специализированную вычислительную машину, которую назвали "Релейным интерполятором" (Relay Interpolator), или Model II. Разработанный под техническим руководством Э. Дж. Эндрюса (E. G. Endrews), интерполятор был введен в действие в июне 1943 г.
В отличие от своей предшественницы он представлял собой программно-управляемую машину, в которой в качестве носителя программы использовалась стандартная пятиканальная лента (с помощью другой аналогичной ленты вводились исходные данные). Содержавшая примерно 440 реле и имевшая емкость памяти в семь пятиразрядных десятичных чисел, Model II выполняла только операции сложения и вычитания (хотя путем повторных сложений могла также перемножать небольшие двух-пятиразрядные числа – эта операция занимала примерно 4 секунды). Машина была снабжена несколькими программными лентами, что позволяло применять различные методы интерполяции.
Интерполятор работал круглосуточно и обладал высокой надежностью, которая обеспечивалась двоично-пятеричной (bi-quinary) системой кодирования десятичных цифр, предложенной Стибицем и его коллегами. Каждый десятичный разряд представлялся двумя цифрами; одна из них являлась цифрой пятеричной системы и принимала значения от 0 до 4, другая – цифрой двоичной системы. Таким образом, для представления любой десятичной цифры требовалось семь реле, хотя в каждый момент времени включались только два. Подобная система кодирования позволяла осуществлять простой аппаратный контроль правильности работы интерполятора на каждом шаге вычислений и правильность пересылки информации; она применялась затем во всех релейных машинах Bell Labs и в ряде вычислительных машин других компаний.
Двоично-пятеричная система кодирования – это один из эмпирически найденных способов, повышающих надежность передачи данных путем добавления в них избыточности. Используя работу Стибица и его коллег в качестве отправной точки, выдающийся математик, сотрудник Bell Labs Ричард Хемминг (Richard Hamming, 1915–1998) в начале 50-х годов развил математически строгую теорию обнаружения ошибок и коррекции кодов. В частности, одним из распространенных способов контроля стал так называемый контроль по четности (рarity check): к исходному блоку данных добавлялся один разряд, который делал передаваемый код четным; на приемной же стороне специальные цепи контролировали наличие четности и в противном случае останавливали процесс передачи информации. Хемминг показал также, что если увеличить число добавляемых избыточных разрядов, то можно не только обнаруживать ошибки, но и корректировать их.
В мирное время Model II использовалась для решения различных инженерных и научных задач по вычислению интерполяционных значений функций и была демонтирована лишь в 1961 г.
Две следующие машины Bell Labs (Model III и Model IV) были по существу идентичны и также предназначались для систем ПВО. Однако от своей предшественницы они отличались более широкими вычислительными возможностями. Так, Model III, известная как "Баллистическая вычислительная машина" (Ballistic Computer), была установлена в июне 1944 г. в Форт-Блиссе (шт. Техас) и имела емкость памяти в 10 слов, содержала 1400 реле, выполняла операцию умножения за одну секунду (путем обращения к внутренне-хранимой таблице умножения) и заменяла 25–40 девушек, вычислявших баллистические таблицы с помощью настольных счетных машин. Эта машина умела считывать с перфоленты таблицы нескольких переменных и не только выполняла интерполяцию, но и решала баллистические уравнения, описывающие путь воздушной цели. Стибиц вспоминал, что когда обнаруживался сбой в ее работе, "…включалось контрольное устройство и над кроватью сержанта Стоддарда дребезжал звонок". Model IV (март 1945-го) помимо этого вычисляла значения тригонометрических функций. Вместе обе машины выполняли работу ста вычислителей с настольными счетными машинками и находились в эксплуатации полтора десятка лет.
Наиболее значительной разработкой Bell Labs стала универсальная релейная вычислительная машина Model V, изготовленная в двух экземплярах уже после окончания войны[4]: один из них в декабре 1946 г. был установлен в Национальном консультационном комитете по аэронавтике (National Advisory Committee on Aeronautics, NACA) в Лэнгли-Филде (шт. Виргиния), второй – в августе 1947-го в Лаборатории баллистических исследований (Ballistic Research Laboratories, BRL), расположенной на Эбердинском полигоне (шт. Мэриленд).
Релейная машина Model V
Model V была построена на 9000 реле и имела в своем составе все блоки, предусмотренные структурой аналитической машины. Запоминающее устройство состояло из тридцати 8-разрядных регистров, для ввода данных и управления работой использовались отдельные перфоленты, числа представлялись в форме с плавающей запятой, а с помощью специальных блоков можно было извлекать квадратный корень и вычислять такие функции, как sin(x), log(x), 10x. Машина содержала два идентичных арифметических устройства (АУ), с каждым из которых было связано 15 регистров памяти. Это позволяло либо одновременно решать две различные задачи, либо объединить оба АУ для выполнения более сложных вычислений. В процессе работы в машину могла быть загружена новая программа, к исполнению которой приступало свободное АУ. Кроме того, предусматривалась возможность одновременного использования нескольких программных перфолент: в зависимости от результатов промежуточных вычислений устройство управления подключало одну из них, что позволяло организовать своеобразное ветвление программы (реализовать условный переход управления). Это же устройство, по существу выполнявшее задачи простой операционной системы, занималось распределением задач между отдельными устройствами.. Время выполнения арифметических операций Model V характеризовалось следующими цифрами: сложение – 0,3 с, умножение – 0,8, деление – 2,7, извлечение квадратного корня – 4,5 с. Она весила около 10 тонн и обошлась заказчикам в 500 тыс. долл.
Последней релейной машиной Bell Labs стала Model VI – упрощенная версия предыдущей модели (в частности, она содержала только одно АУ и имела небольшую систему команд). Model V была изготовлена в 1949 г. для внутренних нужд Bell Labs и содержала 4600 реле и 86 тиратронов. С этой моделью закончилась история создания белловских релейных машин.
Вклад их создателей в развитие идей вычислительных технологий (ВТ) значителен: кодирование десятичных чисел "кодом с избытком 3" и двоично-пятеричным кодом, положившее начало разработке теории обнаружения ошибок и коррекции кодов; первая реализация дистанционного доступа к ЭВМ; использование двух арифметических устройств, расширявшее функциональные возможности машины; работа с несколькими программными перфолентами, позволявшая осуществлять ветвление программы…
Немалое значение для зарождающегося компьютерного сообщества имело и то обстоятельство, что вышедшие из стен Bell Labs машины успешно эксплуатировались в течение многих лет, несмотря на очевидные недостатки их элементной базы (реле): сравнительно невысокое быстродействие, подверженность спорадическим отказам при попадании грязи и пыли между контактами, так называемые явления их подгорания и залипания. В телефонии такие отказы не столь критичны (обычно предусматривается переключение абонента на другую линию и иные виды сервиса), но в ВТ они могут привести к неверным результатам и катастрофическим последствиям (особенно при их использовании в военных целях). Именно поэтому в релейные машины вводилась схемотехническая избыточность, позволяющая определять правильность функционирования отдельных блоков; применялись методы коррекции ошибок; перед пуском программы выполнялись специальные тесты; использовался двойной счет и т. д. В конечном счете все это и удорожало машину, и увеличивало эксплуатационные затраты.
В 40-е и в следующей декаде прошлого века релейные машины продолжали разрабатываться в США, Японии и ряде европейских стран, хотя уже были созданы и выпускались ЭВМ, которые вовсю "трудились" в самых разнообразных областях бизнеса, науки и инженерии. Это можно объяснить несколькими причинами:
- реле были сравнительно дешевы, обладали механической прочностью, выпускались в больших объемах во многих странах; был также наработан и немалый опыт их эксплуатации в системах связи, в автоматике и т. д.;
- электронные же лампы до начала 50-х годов были довольно дороги при том, что их надежность также оставляла желать лучшего; они были энергоемки и выделяли много тепла, для отвода которого использовались дорогостоящие кондиционеры; кроме того, в некоторых странах лампы не выпускались в промышленных масштабах, и их приходилось импортировать;
- в компаниях и университетах, пытавшихся реализовать проекты в области ВТ, наблюдалась нехватка специалистов-электронщиков, которые продолжали работать либо в оборонной промышленности, либо на высокооплачиваемых должностях в потребительской (consumer) электронике;
- разработка релейных машин занимала, как правило, значительно меньше времени, чем разработка ЭВМ;
- для многих завоевавших впоследствии известность компьютерщиков релейные машины были своеобразным макетом, на котором они могли опробовать некоторые свои архитектурные и схемотехнические идеи (заметим, что только японские релейные машины дошли до промышленного производства и выпускались мелкими сериями).
В заключение расскажем о нескольких послевоенных релейных машинах, соблюдая "алфавитно-географическую" последовательность.
Австрия
В 1947–1952 гг. ассистент, а затем профессор Венского технического университета Хайнц Земанек (Heinz Zemanek)[5] из 700 телефонных реле построил "Универсальную счетную машину 1" (Universalrechenmaschine 1, URR1).
Великобритания
В этой стране было разработано несколько моделей релейных машин, самой известной из которых стала "Автоматическая релейная вычислительная машина" (Automatic Relay Computer), построенная в 1948 г. Эндрю Дональдом Бутом (Andrew Donald Booth; р. 1918) в одном из колледжей Лондонского университета. Главной ее особенностью было использование в качестве оперативной памяти накопителя на магнитном барабане емкостью 256 двоичных 21-разрядных слов.
Венгрия
В 1955–1958 гг. под руководством Ласло Козмы (Laszlo Kozma, 1902–1983) в Венгерском политехническом институте была разработана и изготовлена релейная вычислительная машина MESz-1, содержавшая 2000 реле и введенная в регулярную эксплуатацию в 1959-м.
Это была программно-управляемая одноадресная автоматическая машина, выполнявшая 16 команд над 27-разрядными числами с плавающей запятой. Она не относились к типу машин с "принстонской архитектурой", иначе говоря, программа и исходные данные не хранились во внутренней памяти, а содержались на перфокартах. Данные кодировались в десятичной системе, но после ввода в машину преобразовывались в двоичную форму (для вывода на печать выполнялось обратное преобразование). Небольшое релейное запоминающее устройство емкостью в 12 слов предназначалось для хранения констант.
Нидерланды
Нидерландская релейная вычислительная машина ARRA I
21 июня 1952 г. в Математическом центре Амстердама была введена в действие "Амстердамская автоматическая счетная машина" (Automatische Relais Rekenmachine Amsterdam, ARRA I). Ее разработчиками были молодые ученые Брам Ян Лоопстра (Bram Jan Loopstra) и Карел С. Шолтен (Carel S. Scholten), впоследствии ставшие известными компьтерщиками. Выдающийся программист Э. Дейкстра, работавший в то время в Математическом центре, вспоминал: "Машина была столь ненадежна, что практически не использовалась, хотя и была официально представлена с большой помпой и церемониями".
СССР
Советская "Релейная вычислительная машина" РВМ-1 была сконструирована и построена в 1954–1957 гг. под руководством Николая Ивановича Бессонова (1906–1963) в Институте теоретической и экспериментальной физики АН СССР.
Она содержала 5,5 тыс. реле и работала в двоичной системе с числами с плавающей запятой (для мантиссы отводилось 27, а для порядка – 6 разрядов). Благодаря применению так называемого каскадного принципа выполнения арифметических операций, изобретенного Бессоновым, удалось заметно повысить быстродействие машины, выполнявшей свыше двадцати умножений в секунду. В РВМ-1 широко использовались выборки функций по аргументу из статической памяти и специальные вспомогательные устройства и команды. Это позволило в несколько раз уменьшить количество действий при вычислении элементарных функций, переводе чисел из десятичной системы в двоичную и обратную и т. п.
Особенно удобным оказалось решение на машине задач экономического характера, где требовалась обработка очень больших массивов информации (вводившейся с перфокарт) с небольшим числом однообразных операций над каждой отдельной единицей данных. Поэтому в 1961–1962 гг. на РВМ-1 выполнялись расчеты для новой системы ценообразования. Целый ряд технических усовершенствований настолько улучшил ее надежность и эксплуатационные качества, что она проработала до 1965 г., конкурируя с уже действовавшими ЭВМ.
США
Одна из самых известных американских релейных машин была создана в Гарвардском университете под руководством Говарда Эйкена (Howard Aiken, 1900–1973) и называлась Harvard Mark II Calculator (иногда ее именуют Aiken Relay Calculator, ARC). Работа над машиной, предназначавшейся для военно-морского полигона в Дальгрене (шт. Виргиния), завершилась в 1947 г.
Mark II содержала примерно 13 тыс. реле и подобно белловской Model V имела два АУ, которые могли работать порознь или совместно. В машине использовалась арифметика с плавающей запятой, а числа представлялись в двоично-десятичном коде, поэтому для представления 10-разрядной десятичной мантиссы требовалось 4×10 двоичных разрядов (и соответственно – реле). Еще четыре реле служили для представления показателя и два – для хранения знака мантиссы и показателя. Таким образом, каждый из ста регистров машины содержал 46 реле. На выполнение операций сложения и вычитания уходило около 0,2 с. Умножение выполнялось в отдельном устройстве и в среднем требовало одной секунды, а операция деления была заменена вычислением приближенных значений обратных величин. В машине предусматривались специализированные устройства для вычисления различных стандартных функций. Так же как в Mark I, для управления вычислительным процессом использовалась бумажная перфолента, а вывод результатов осуществлялся на печать.
Машина Эйкена, "трудившаяся" в Дальгрене без малого десять лет, заметного следа в истории ВТ не оставила, если не считать одного забавного эпизода. Он произошел 9 сентября 1947 г. во время отладки Mark II, в которой участвовала выдающаяся впоследствии программистка Грейс Мюррэй Хоппер (Grace Murray Hopper, 1906–1992). Вот как пишет об этом американский журналист: "Однажды таинственная неисправность заставила замолчать громыхающую махину. После тщательно проведенного исследования программисты установили, что контакты одного из реле были заблокированы останками мотылька, неведомо как проникшего через лабиринт электрических цепей. С предельной осторожностью мотылька извлекли пинцетом, а это событие зафиксировали в журнале, который по распоряжению командования ВМС США педантично заполнялся на протяжении всей работы над машиной. Сопроводительная подпись гласила: "Первый достоверный случай обнаружения насекомого [bug]". Позднее Хоппер вспоминала: "Когда к нам зашел офицер, чтобы узнать, чем мы занимаемся, мы ответили, что очищаем компьютер от насекомых [debugging]"[6]. Термин "дебаггин" (отладка) с тех пор прижился и стал использоваться для обозначения поиска неисправностей в компьютере, особенно в ПО.
Чехословакия
В 1950 г. в Научно-исследовательском институте математики Академии наук ЧССР была организована Лаборатория математических машин, которую возглавил выдающийся чешский ученый Антонин Свобода (Antonin Svoboda, 1907–1980). Здесь под его руководством началась разработка релейной "Автоматической вычислительной машины" (SAPO – Samocinny Pocitac). Работа была завершена через три года в Научно-исследовательском институте математических машин, в который была преобразована лаборатория Свободы. SAPO стала предшественницей так называемых отказоустойчивых систем (Fault Tolerance Systems), которые начали активно разрабатываться в середине 70-х.
Швеция
Летом 1946 г. профессор электротехники Чалмеровского технического института в Гётеборге Стиг Эклоф (Stig Ekelof, 1904–1993) отправился в научную командировку в Америку. Посетив Принстон, он познакомился с Голдстайном, который вызвался показать гостю ENIAC, находившуюся тогда в Пенсильванском университете. Электронный гигант произвел большое впечатление на Эклофа, хотя многое в работе ЭВМ осталось ему непонятным, в чем он искренне признавался: "…Боюсь, что я еще нахожусь на уровне знаний того пожилого человека, который, впервые увидев электрическую лампочку, сказал, что ему все абсолютно понятно в ее работе за исключением одного: как масло может проходить через такие тоненькие проволочки". Вернувшись на родину, Эклоф стал одним из организаторов (ноябрь 1948 г.) государственного Совета по математическим машинам (Matematikmaskinnamnden). Усилиями его сотрудников – Карла-Эрика Фроберга (Сarl-Erik Froberg), Эрика Стемме (Erik Stemme), Госты Неовиуса (Gosta Neovius) и других – были разработаны две машины: электронная и релейная. Последняя называлась "Двоичной автоматической релейной вычислительной машиной" (Binar Automatisk RelaKalkylator, BARK) и была введена в действие в конце апреля 1950 г.
Она строилась на 5000 стандартных телефонных реле (по другим данным – на 8000), имела оперативную память емкостью 50 двоичных 32-разрядных чисел и дополнительную память, хранившую значения ста констант. Машина выполняла операции сложения и умножения за 150 и 250 мс соответственно и находилась в эксплуатации до 22 сентября 1954 г.
Япония
В 1952 г. сотрудники Электротехнической лаборатории (ETL) министерства связи Гото Мочинори (Mochinori Goto, 1905–1992), Комамийа Ясуо (Yasuo Komamiya,1922–1993) и Суекане Риоюта (Ryouta Suekane, 1925–1987) разработали небольшую релейную машину ETL MARK I, которая программировалась с помощью штекерного набора на коммутационной доске и была первой в Японии автоматической вычислительной машиной.
Позднее (ноябрь 1955 г.) вместе с несколькими сотрудниками лаборатории они создали ETL MARK II, содержавшую 20 000 (!) реле, имевшую оперативную память емкостью 256 слов и внешнее запоминающее устройство на трех перфолентах для хранения программ и исходных данных. Машина работала с числами, представленными в двоичной системе с фиксированной или плавающей запятой, а программирование осуществлялось таким же образом, как у ее предшественницы.
Работами ETL заинтересовалась компания Fujitsu Ltd., которая ранее выпускала в основном средства связи, но вскоре после появления ETL MARK I решила попытать счастья в вычислительном бизнесе. Ее первая релейная машина была установлена на Токийской фондовой бирже, но не прижилась, и ее заменили американской UNIVAC 120. Следующая релейная машина компании – "Автоматическая вычислительная машина Фуджитсу-100" (Fujitsu Automatic Computer-100, FACOM-100) предназначалась для научных и инженерных вычислений (в ней десятичные числа представлялись двоичным "кодом с избытком 3"). Она была разработана под руководством технического директора Fujitsu Ханзо Оми[7] (Omi Hanzo, 1901–1985) и выпущена в октябре 1954-го. FACOM-100 стала первой японской вычислительной машиной, поступившей в свободную продажу. Она изготовлялась мелкими сериями и успешно эксплуатировалась в течение десятка лет.
Разработку последней релейной машины компании – FACOM 128, появившейся в сентябре 1956 г., и нескольких ее последующих модификаций возглавил выдающийся японский инженер Тосио Икеда (Ikeda Toshio,1923–1974).
В машине использовался асинхронный принцип работы, двоично-пятеричная система кодирования десятичных чисел, индексные регистры, развитая система контроля над правильностью выполнения операций и т. д. Специально для правительственного статистического бюро машина была существенным образом переработана. В частности, в ее состав было включено 20 пар клавиатур и два арифметических устройства. Два оператора вводили со своих клавиатур данные, которые временно запоминались в регистрах и сравнивались между собой, а в случае расхождения стирались, и операция ввода повторялась. Каждое АУ воспринимало в асинхронном режиме данные с 20 клавиатур и выполняло их последовательное сложение. Далее осуществлялось сравнение результатов, полученных обоими устройствами, и… см. выше.
Примечания
1. Научно-исследовательский центр корпорации American Telephone and Telegraph Co. (АТ(Т).
2. В том же году гениальный немецкий инженер Конрад Цузе (Konrad Zuse, 1910–1995), предвосхитивший и реализовавший большинство идей так называемой “принстонской архитектуры” вычислительных машин, построил опытную модель Z-2, в которой, как и в последующих его машинах (Z-3 и Z-4), в качестве элементной базы использовались реле. Но о провидческих идеях и машинах Цузе стало известно (да и то ограниченному кругу специалистов) лишь во второй половине 40-х, и практического влияния на развитие ВТ они не имели.
3. Позднее Винер направил В. Бушу предложение о создании универсальной вычислительной машины, но в силу условий военного времени это предложение было отвергнуто.
4. К этому времени Стибиц ушел из NDRC. Некоторое время он занимался консультационной деятельностью, а с 1964 г. в должности профессора Дартмутской медицинской школы работал в области применения вычислительных машин в биофизических системах.
5. Впоследствии директор лаборатории IBM в Вене (1961–1976), президент Международной федерации по обработке информации IFIP (1971–1974). Земанеку принадлежит свыше 500 научных трудов по различным вопросам ВТ, программирования и кибернетики.
6. Игра слов: в английском языке слово bug имеет несколько значений, в том числе и насекомое, и техническая неисправность.
7. Интересно, что Оми защитил докторскую диссертацию “Исследования масштабных ограничений в компьютерах”, когда ему уже перевалило за семьдесят. Как тут не вспомнить слова японского философа XVII в. Сато Иссаи: “Тот, кто учится в юности, сделает что-либо полезное в среднем возрасте; тот, кто учится в среднем возрасте, не будет ущербным в старости; тот, кто учится в пожилые годы, приобретет бессмертие”.
Из Цикла статей Ю. Полунова "Исторические машины".
Статья опубликована в PC Week/RE № 6 от 28.02.2006 г., стр. 42.