Две машины, две компании, две судьбы
Юрий Полунов
Судьба, как ракета, летит по параболе:
Обычно — во мраке, и реже — по радуге.
Андрей Вознесенский
В предыдущих статьях цикла (см. Электронная, универсальная...; Автора!!!) упоминалось, что 31 марта 1946 г. Джон Преспер Эккерт и Джон Уильям Моучли (в дальнейшем ради краткости будем также писать Э. – М.) — создатели ENIAC'а и авторы идеи ЭВМ с хранимой программой — ушли из Пенсильванского университета, чтобы организовать собственную компанию и заняться разработкой и производством коммерческих ЭВМ, т. е. машин, предназначенных для свободной продажи любому потребителю. Замысел их был более чем дерзким, и вот почему.
Во-первых, они хотели создать по-настоящему универсальную ЭВМ, которая в отличие от ENIAC'а и EDVAC'а решала бы не только научные и инженерные задачи, но и — главным образом! — выполняла деловые приложения (задачи учета, планирования, статистики, сортировки данных, логистики и т. д.).
Во-вторых, априори было неясно, сколько таких машин потребуется, а следовательно, и окупятся ли затраты разработчиков и производителей (а тем более — можно ли будет получить прибыль от продаж), и эта неопределенность была, пожалуй, главной трудностью. Даже авторитетнейшие специалисты (Д. фон Нейман, Г. Эйкен и др.), входившие в Комитет по быстродействующим вычислительным машинам при Национальном совете по исследованиям (National Research Council), весьма скептически отнеслись к планам Э. – М., касающимся создания деловых ЭВМ: они полагали, что вычислительные машины будут нужны только для научно-технических расчетов, а для обработки деловых данных будут по-прежнему служить счетно-перфорационные комплексы (СПК). Так, Говард Эйкен, считавший, как правило, достойным внимания лишь собственные разработки, заявил на заседании Комитета: “Мы вводим в заблуждение не только государственные учреждения, которые выделяют средства на разработку машин подобного рода, но и общественное мнение… создавая впечатление, что эти планы могут получить одобрение, хотя никогда не будет объема задач, достаточного для загрузки работой более чем одной или двух подобных машин. Необходимо… остановить глупости, которые намерены сделать Эккерт и Моучли” (через несколько лет Эйкен изменит свое отношение к деловым ЭВМ).
В-третьих, будучи блестящими инженерами, Э. – М. не имели ни малейшего опыта в бизнесе.
И тем не менее отважные неофиты (одному исполнилось 39 лет, второй был на 12 лет моложе) решили начать свое рискованное предприятие. На средства, которые ссудил им отец Эккерта (его семья была довольно состоятельной), они основали в том же 1946 г. “Компанию электронного управления” (Electronic Control Co.), переименованную через два года в “Корпорацию вычислительных машин Эккерта — Моучли” (Eckert-Mauchly Computers Corp., EMCC), арендовали два этажа в здании старой заброшенной фабрики на Ореховой улице, что на окраине Филадельфии, и приступили к найму персонала. Несмотря на свою коммерческую неопытность, Э. – М. понимали, что имеющегося у них капитала недостаточно для осуществления своих амбициозных планов. Однако они были “широко известны в узких кругах”, и это позволило им получить заказы на две совершенно разные машины. В сентябре 1946 г. Национальное бюро стандартов (National Bureau of Standards, NBS), действуя в интересах Бюро переписи США (U. S. Census Bureau), которое не имело права самостоятельно финансировать исследования и разработки и могло только закупать готовое оборудование, предоставило Electronic Control грант в 75 тыс. долл. на исследования, предшествовавшие созданию будущей ЭВМ, которую
назвали “Универсальной автоматической вычислительной машиной” (Universal Automatic Computer — UNIVAC).
ЭВМ BINAC
Предполагалось, что этот этап займет шесть месяцев, но он растянулся почти на два года, и лишь в июне 1948 г. между сторонами был заключен контракт стоимостью в 169 тыс. долл. на собственно разработку и изготовление ЭВМ. Однако еще раньше, в октябре 1947-го, фирма Э. – М. подрядилась изготовить для авиационной компании Northrop Aircraft Co. небольшую, скромную по своим техническим возможностям ЭВМ, которую заказчик планировал использовать при проектировании управляемой ракеты для ВВС. EMCC обязалась за 100 тыс. долл. поставить машину в мае 1948 г. Этот контракт Э. – М. заключили в надежде закрыть его в минимально возможный срок и тем самым пополнить тощий кошелек своей компании, поскольку средств, которые выделило NBS, было явно недостаточно для разработки и изготовления UNIVAC'а. По данным известного историка ВТ Артура Л. Норберга (Arthur L. Norberg), они полагали, что им потребуется от 413 до 671 тыс. долл., и надеялись получить недостающие средства, заключив еще ряд контрактов на поставку будущей ЭВМ.
В ЭВМ, построенной для Northrop Aircraft, числа представлялись в двоичной системе, отсюда и название — “Двоичная автоматическая вычислительная машина” (Binary Automatic Computer, BINAC). Она была одноадресной, синхронного действия машиной с памятью на РУЛЗ емкостью в 512 тридцатиодноразрядных слов (включая знаковый разряд). Тактовая частота машины составляла 4,25 МГц, последовательно-поразрядное АУ выполняло операции над числами с фиксированной запятой (время сложения — 0,8 мс, умножения — 1,2 мс). Каждое слово могло содержать две 15-разрядные команды (6 разрядов отводились под код операции, 9 — определяли адрес операнда в памяти). Всего в распоряжении программиста было 16 команд, причем отсутствовали команды логических операций и вызова подпрограмм. Ввод-вывод данных осуществлялся с помощью пяти перфолент и соответствующих периферийных устройств. Главной особенностью BINAC'а было дублирование АУ и памяти: одна и та же программа выполнялась параллельно, по существу на двух машинах, а правильность вычислений проверялась автоматическим сравнением полученных результатов. Такая аппаратурная избыточность усложняла и удорожала ЭВМ, но зато повышала надежность вычислений. Машина содержала 700 ламп и имела небольшие размеры (1,5×1,2×0,3 м).
Несмотря на в общем-то незамысловатые технические решения, BINAC оставила свой след в истории ВТ. В статье, опубликованной в журнале Datamation в октябре 1979 г., Дж. Моучли утверждал, что машина была впервые пущена в начале 1949-го, а в апреле того же года проработала без остановок 44 часа, выполняя тестовую программу из 23 команд. Таким образом, она стала первой ЭВМ с хранимой в памяти программой , почти на месяц опередив британскую EDSAC. Но EDSAC успешно работала в течение ряда лет, а BINAC, по-видимому, так и не была пущена в регулярную эксплуатацию.
Кроме того, начинающие бизнесмены переоценили возможности своей компании и недооценили стоимость создания BINAC'а: машина была передана заказчику с 15-месячным опозданием (в сентябре 1949 г.), а издержки EMCC оказались на 178 (!) тыс. долл. больше суммы контракта. Айзек Л. Ауэрбах (Isaac L. Auerbach, 1921—1992)1, один из первых сотрудников компании, впоследствии весьма критично отзывался об управленческих способностях отцов основателей: “По моему мнению, Эккерт и Моучли не были компетентными менеджерами… и вообще не понимали, как вести бизнес. Они были провидцами [visionaries], блестящими инженерами, но не решились позволить кому-либо руководить деятельностью компании в той сфере, в которой сами мало что смыслили”.
Центральное вычислительное устройство ЭВМ UNIVAC
К осени 1948-го EMCC оказалась в тяжелейшем положении: непогашенный долг Northrop Aircraft; находившаяся лишь в начальной стадии разработка машины для Бюро переписи, за которую уже был получен аванс; еще четыре подписанных контракта на поставку UNIVAC'а — с ВВС, Картографическим управлением Пентагона и двумя страховыми компаниями (к счастью, в этих контрактах не была предусмотрена предоплата и впоследствии они были аннулированы). Помощь пришла с неожиданной стороны: Гарри Страус (Harry Straus, 1896—1949), вице-президент American Totalisator Co., производившей оборудование для автоматизации расчетов ставок и выигрышей на бегах, решил, что ЭВМ будет полезна в его бизнесе и предложил Э. -- M. 500 тыс. долл. в обмен на 40% акций EMCC и должность председателя Совета директоров. На некоторое время финансовые проблемы были улажены, но 25 октября 1949 г. Страус погиб в авиационной катастрофе, разбившись на собственном самолете, а American Totalisator отказалась от финансовых вливаний в EMCC.
Вновь угроза банкротства и потеря репутации нависла над молодой компанией. Э. – М. надеялись, что NBS учтет вполне объяснимую неточность при подготовке исходной калькуляции (ведь прецедент создания подобных машин отсутствовал) и увеличит размер контракта (как это было в случае с ENIAC). Этого, к сожалению, не произошло, и владельцам компании не оставалось ничего иного, как продать ее.
С таким предложением в начале 1950 г. они обратились к главе корпорации IBM Томасу Джону Уотсону ст. (1874—1956). По свидетельству сотрудника корпорации Герберта Р. Дж. Гроша (Herbert R.J. Grosch) тот решил заручиться мнением профессора Колумбийского университета, уже знакомого нам Джона Уоллеса Эккерта (см. Недостающее звено). Последний был приверженцем СПК и сторонником разработки специализированных, а не универсальных ВМ. Он рекомендовал отклонить предложение, что Т. Уотсон и сделал. “После этого, — пишет Грош, — два неудачника направились на яхту Джима Рэнда во Флориду и подписали соглашение [о продаже/покупке EMCC]”. Так 1 февраля 1950 г. компания Э. – М. превратилась в “Отделение ЮНИВАК корпорации Ремингтон-Рэнд” (UNIVAC division of Remington Rand Corp.), которое возглавил Моучли (Эккерт получил должность вице-президента).
Эта сделка соответствовала деловой стратегии Джеймса Генри Рэнда мл. (James Henry Rand-jr., 1886—1968), главы Remington Rand (RemRand) — многолетнего и основного конкурента IBM на рынке СПК в США. В конце 40-х он определил три направления работ корпорации в области ВТ: совершенствование СПК путем оснащения их электронными блоками, создание деловых и научных ЭВМ. Поскольку собственных сил и опыта компании хватало лишь на реализацию первого направления, покупка EMCC была призвана “закрыть” второе, а приобретение в декабре 1951 г. “Партнерства в инженерных исследованиях” (Engineering Research Associates, Inc., ERA) — и третье2.
RemRand обеспечила разработчиков необходимыми средствами для завершения работы над машиной. Как и все новое, машина рождалась в муках. “Когда машина не работала, — вспоминал один из разработчиков, — мы, бывало, говорили, что не мешало бы зашвырнуть ее за забор на ту сторону, где была свалка, а самим махнуть на другую сторону — на кладбище”.
Интересные воспоминания о работе в EMCC и UNIVAC division оставил известный впоследствии компьютерщик Бернард Гордон (Bernard Gordon, 1928-). Выступая 20 октября 1983 г. в Бостонском музее вычислительной техники, он говорил: “Жарким летним днем 1948 г. я пришел на работу в “Корпорацию вычислительных машин Экерта — Моучли”, размещавшуюся в старом здании около Виссахикон-парка. Одно из первых моих первых впечатлений: Айк Ауэрбах (впоследствии мой многолетний друг) стоит в нижнем белье и работает с окружающими его электронными блоками, излучающими немыслимое тепло…Насколько я помню, в компании была тогда небольшая инженерная группа из 8—10 молодых людей, каждый из которых еще не достиг 30-летнего возраста. Группу возглавлял главный инженер Джеймс Вейнер (James R. Weiner), пришедший из компании Raytheon3. Он обращался с нами, как ротный командир, и вызывал у нас отрицательные эмоции… но научил нас работать…
…В конце каждой недели Эккерт и Вейнер приходили в лабораторию, и мы показывали им чертежи наших схемотехнических разработок, включавших от 40 до 100 электронных ламп. Эккерт, прищурив глаза, рассматривал схему и, указав на случайно выбранный им резистор, спрашивал: “Почему этот резистор имеет такое номинальное значение? Почему не на 5% выше или ниже? Покажите мне вашу рабочую тетрадь, где расчеты доказывают, что номинал этого резистора выбран абсолютно точно”… Он был вроде гуру для окружающих и часто обращался к ним со словами: “Говорите все, что приходит вам на ум. Идея. Идея. Идея. У вас может быть 99 никуда не годных идей, но сотая может оказаться бесценной…
…Эккерт всегда создавал такую атмосферу в компании, что сотрудники не боялись совершить ошибку… Он поручил мне руководить несколькими другими молодыми инженерами, дав при этом следующее указание: “Если вы когда-нибудь увидите, что сотрудник занимается самообразованием во время работы, сделайте ему первое предупреждение. При повторном случае — расстаньтесь с ним”. Эккерт считал, что если сотрудник намеревается сделать карьеру, ему необходимо изучить задачу дома а на работе быть подготовленным для ее физической реализации… Я помню, как он говорил мне: «Когда вы вечером возвращаетесь домой и ваша жена просит вас скосить траву, не делайте этого. Лучше наймите газонокосильщика, а сами займитесь разработками для компании. Эти усилия окупятся для вас многократно в будущем»”.
Впрочем, строгая дисциплина иногда разряжалась комическими ситуациями. “Вейнер установил следующее правило: если кто-либо из сотрудников компании (а их к этому времени было уже человек тридцать) допускал небрежность в работе, например оставлял отвертку или пробник в ненадлежащем месте и этим выводил из строя диод, то он должен был купить бутылку кока-колы каждому сотруднику. Но однажды сам главный инженер положил отвертку так, что испортил все 18 000 диодов, и мы почувствовали большое облегчение. Никто не понимал, как это ему удалось сделать, но факт остается фактом”.
Окончательная стоимость разработки и изготовления первого образца машины составила 930 тыс. долл., но Джеймс Рэнд не прогадал, покупая EMСC: впоследствии было изготовлено еще 45 UNIVAC'ов, выручка от их продажи государственным учреждениям и частным компаниям с лихвой возместила эти затраты (стоимость последующих экземпляров машины лежала в пределах 1,25—1,5 млн. долл.).
ЭВМ UNIVAC
Впервые UNIVAC выполнил тестовую программу 29—30 марта 1951 г. и 14 июня того же года был представлен публике. Но это событие осталось почти незамеченным: лишь газета New York Times сообщила, не упоминая название машины, “о математическом гении 8-футовой высоты, призванном решить проблемы Бюро переписи”. UNIVAC оставалась у изготовителя примерно год, выполняя работы по заданиям заказчика, затем была демонтирована, перевезена в офис Бюро переписи в Вашингтоне и вновь введена в действие. Машина эксплуатировалась круглосуточно семь дней в неделю (не считая еженедельную профилактику, на которую отводилось 8 часов). Всего машина проработала в Бюро переписи около 73 тыс. часов; в начале октября 1963 г. она была демонтирована и передана в качестве экспоната Музею американской истории при вашингтонском Смитсоновском институте.
Несколько следующих экземпляров машины были приобретены Пентагоном и Комиссией по атомной энергии (Atomic Energy Commission), а в 1953 г. корпорация General Electric стала первой частной компанией, купившей UNIVAC (ее использовали для подготовки платежных ведомостей на зарплату, планирования, учета на складах и т. д.). Затем ряды покупателей пополнились страховыми компаниями Pacific Mutual Insurance, Metropolitan Life и Franklin Life4, промышленными гигантами (DuPont, U.S. Steel, Westinghouse Electric) и другими организациями. Во второй половине 50-х RemRand безвозмездно передала машины Гарвардскому и Пенсильванскому университетам, а также Кейсовскому техническому институту (Case Institute of Technology) в Кливленде.
Что же представляла собой эта вторая в мире коммерческая ЭВМ (британская Ferranti Mark I была продана несколькими месяцами ранее)?
Пожалуй, самая замечательная особенность UNIVAC’а заключалась в возможности ( впервые в мире!) обрабатывать как числовую, так и символьную информацию (напомню: еще в 1842 г. леди Лавлейс указывала, что машина может оперировать и с символами.— Ю. П.). Отдельная десятичная цифра или символ (буква английского алфавита, знак препинания) представлялись семиразрядным двоичным кодом. Его четыре младших разряда использовались для кодирования цифр с помощью “Стибиц-кода” или “кода с избытком на 3”, так что каждая цифра n представлялась двоичным кодом n+3. Как уже говорилось в одной из предыдущих статей (см. Щелкающие машины), этот код был предложен математиком Джорджем Робертом Стибицем (George Robert Stibitz, 1904—1995) для релейной машины Model 1, разработанной в годы войны в Bell Laboratories (использование кода с избытком на 3 упрощало выполнение операций вычитания и деления). Следующие две левые позиции за кодом цифры назывались “индикатором зоны” (zone indicator): если в этих разрядах находились нули, машина воспринимала упомянутые четыре разряда как код цифры, в противном случае содержимое всех шести разрядов интерпретировалось как символ. Последний (старший) разряд кода предназначался для контроля четности при обмене информацией между различными устройствами машины. Машинное слово имело 84 двоичных разряда, и содержало либо 12 символов, либо 11 десятичных цифр (плюс разряд знака) с фиксированной перед первым значащим разрядом числа запятой (операции над числами с плавающей запятой выполнялись с помощью подпрограммы).
Команды в UNIVAC'е (всего их было 45) состояли из шести десятичных разрядов (плюс двоичный разряд для контроля по четности). Первые два десятичных разряда содержали командный код, следующий разряд не использовался, три последние содержали адрес операнда в памяти. В одном машинном слове помещались две одноадресные команды, а управление вычислительным процессом осуществлялось при их последовательном или естественном (по фон Нейману) расположении в программе. Разумеется, исключение составляли команды условного и безусловного переходов (например, при переполнении разрядной сетки).
Главный заказчик UNIVAC’а — Бюро переписи, давшее в конце XIX в. путевку в жизнь первым СПК, — в силу специфики своей деятельности был заинтересован в машине, которая могла бы воспринимать, хранить, обрабатывать и выводить на печать огромные массивы данных и результаты их обсчета. Поэтому еще в рамках исследовательского проекта авторы UNIVAC'а занялись созданием внешнего запоминающего устройства (ВЗУ) большой емкости и быстродействующих устройств для ввода и вывода информации.
В качестве ВЗУ они предложили первый в мире накопитель на магнитной ленте (НМЛ) для ЭВМ5, получивший в дальнейшем название Uniservo. Запоминающей средой в нем был слой пермаллоя, который наносился на подложку — ленту из фосфористой бронзы шириной в полдюйма и длиной в 1200 футов, свернутую в бобину и спаянную концами в кольцо. Металлическая подложка была прочней пластмассовой, применявшейся в бытовых магнитофонах, но одновременно значительно утяжеляла бобину с лентой и в дальнейшем не получила распространения. Лента имела восемь дорожек записи-считывания (шесть из них отводилось для данных, одна — для разрядов контроля по четности, и одна использовалась для получения синхронизирующих импульсов). Информация записывалась (считывалась) на ленту блоками по 60 машинных слов при плотности записи 120 символов на дюйм. Лентопротяжка Uniservo обеспечивала линейную скорость 108 дюймов в секунду, то есть за секунду можно было считать 7200 символов (с учетом пропусков между блоками информации). НМЛ, окончательно отработанный в 1949 г., позволял хранить на одной бобине свыше 1 млн. знаков, что было эквивалентно десяткам тысяч перфокарт.
Поскольку быстродействие АУ превосходило скорость ввода и вывода информации, в UNIVAC'е впервые в мире была использована буферная память в виде двух зон на магнитной ленте, каждая из которых могла хранить 60 машинных слов (одна зона использовалась при вводе информации, вторая — при выводе). Благодаря этому “быстрые” и “медленные” операции могли выполняться параллельно, так как буферные зоны обеспечивали обмен информацией между внутренней и внешней памятью, не блокируя работу АУ.
НМЛ Uniservo
Другим выдающимся достижением стало быстродействующее печатающее устройство Uniprinter, разработанное Эрлом Эдгаром Мастерсоном (Earl Edgar Masterson, 1916—2002) и Д. Преспером Эккертом (окончательно его “довели до ума” в 1954 г., через несколько лет после сдачи UNIVAC'а в эксплуатацию). Принципиальное отличие Uniprinter'а заключалось в том, что оно работало построчно, печатая одновременно целую строку из 120 символов (а не по одному символу, как во всех пишущих машинках). Идея Мастерсона — Эккерта состояла в следующем. На вращающийся барабан наносились полные шрифтовые наборы символов (на каждую позицию приходилось по одному такому набору). По мере того как барабан быстро вращался вокруг горизонтальной оси, молоточек на каждой позиции прижимал бумагу к красящей ленте, а последнюю — к соответствующей букве. В состав устройства входила небольшая лентопротяжка, на которую вручную устанавливалась бобина с магнитной лентой, содержавшая результаты вычислений или обработки данных. Считанная с ленты информация направлялась в блок управления Uniprinter'ом и затем печаталась со скоростью 600 строк в минуту (что по крайней мере в четыре раза превышало тогда скорость самого быстродействующего печатающего устройства). Удачная конструкция этой разработки стала прототипом для большинства барабанных печатающих устройств 60—70-х годов. Для ускорения ввода информации было разработано еще одно устройство, в котором содержимое предварительно набитых перфокарт преобразовывалось в электрические импульсы и переписывалось на магнитную ленту, устанавливаемую затем на одну из лентопротяжек НМЛ. Кроме того, запись на ленту могла производиться с помощью Unityper'а, состоящего из клавиатуры и лентопротяжки (в этом случае, однако, нельзя было скорректировать ошибки оператора и проверить правильность ввода). Таким образом, устройства ввода-вывода не были непосредственно присоединены к машине и работали в автономном режиме (off-line).
С “сердцем” машины — центральным вычислительным устройством (ЦВУ), содержавшим электронные блоки и внутреннюю память, — были связаны только пульт управления и 10 НМЛ Uniservo. ЦВУ имело размеры гаража (площадь 5,6×3,2 м, высота — 3,4 м), весило 13,1 тонны и потребляло 125 кВт энергии; в его корпусе была сделана специальная дверь, через которую инженеры могли проникнуть внутрь, когда требовалось провести профилактику или ремонт.
Внутренняя память с емкостью в 1000 машинных слов и средним временем выборки 0,2 мс была выполнена на 100 РУЛЗ, каждое из которых содержало 10 слов (использование памяти этого типа определяло последовательно-поразрядное выполнение арифметических операций). Операция сложения производилась в одном регистре-аккумуляторе, операции умножения-деления — в трех регистрах.
- Специальные меры были предприняты для обеспечения надежной работы машины. К их числу относятся:
- контроль по четности при передаче информации между отдельными блоками ЭВМ;
- автоматический контроль внутренней памяти, осуществлявшийся каждые 5 секунд (эта процедура занимала 52 мс);
- контроль правильности записи-считывания информации в буферные зоны магнитных лент;
- контроль правильности выполнения операций путем дублирования отдельных схем (счетчика команд, регистров АУ и др.) и сравнения результатов соответствующих действий.
Мне остается добавить, что UNIVAC была машиной синхронного действия с тактовой частотой 2,25 МГц, содержала свыше 5000 ламп (по разным данным -- от 5200 до 5400), свыше 18 000 диодов и 300 реле. Операции сложения (вычитания), умножения и деления выполнялись в среднем за 0,525 мс; 2,15 мс и 3,9 мс, соответственно (включая время выборки команд и операндов из оперативной памяти).
Широкой публике UNIVAC стала известна после 4 ноября 1952 г. В этот день американцы избирали своего президента, и машина, обработав результаты предварительного подсчета голосов на некоторых избирательных участках, предсказала победу кандидата от республиканской партии Дуайта Эйзенхауэра над демократом Эдлаем Стивенсоном. Поскольку проведенные ранее опросы общественного мнения говорили об обратном, руководители вечерних выпусков новостей телевизионной сети CBS запретили выдавать в эфир предсказания UNIVAC'а и предпочли подождать официальных результатов. А после полуночи, когда стало ясно, что машинный прогноз оправдался, популярный телекомментатор Уолтер Кронкайт сообщил об этом на всю страну. Такая невольная реклама сделала имя машины Э. – М. настолько популярным, что в дальнейшем торговая марка UNIVAC присваивалась и вычислительным машинам второй компании, приобретенной Рэндом, а для широкой публики в течение некоторого времени это название стало синонимом “вычислительной машины”.
Грейс Мюррей Хоппер у пульта ЭВМ UNIVAC
Успеху UNIVAC'а во много способствовало поставляемое вместе с ним программное обеспечение, и в этой связи нельзя не вспомнить выдающегося программиста, вице-адмирала ВМФ США Грейс Мюррэй Хоппер (Grace Murray Hopper, 1906—1992), которая пришла в компанию в 1949 г. Я уже писал в одной из предыдущих статей о ее работе, выполненной в EMCC и состоявшей в создании “Краткого кода команд” (см. Manchester united) — языка, позволявшего осуществлять программирование в мнемонических обозначениях, и интерпретатора написанных на этом языке программ. Интерпретатор, один из видов языковых трансляторов, имел, однако, по крайней мере два очевидных недостатка. Во-первых, интерпретирующая программа в процессе решения всей задачи должна храниться в памяти, уменьшая таким образом ее оперативное пространство; во-вторых, результат перевода очередной строки программы в машинный код не запоминается и при повторном запуске программы вся процедура трансляции начинается “с нуля”. Поэтому в 1951 г. возглавляемая Хоппер группа программистов разработала принципиально новый языковый транслятор А-0, названный ею компилятором (затем последовали его улучшенные версии — А-1, А-2 и т. д.). Когда в 1957 г. Sperry Rand решила продавать компилятор в отдельности от ЭВМ, ему дали более звучное, по мнению маркетологов, название — MATH-MATIC. В отличие от построчной интерпретации текста компилятор вначале целиком анализировал всю программу, записанную в мнемонических обозначениях, присоединял к ней в случае необходимости подпрограммы из библиотеки (хранившейся в UNIVAC'е на магнитной ленте) и лишь затем осуществлял преобразование скомпонованной таким образом программы в машинные коды; при этом полученная программа могла либо выполняться сразу, либо храниться для последующего использования, причем транслирующая программа могла быть удалена из памяти (напомню, что примерно в это же время независимо от группы Хоппер аналогичный транслятор разработал в Британии Р. Э. Брукер). Применение компилятора значительно ускоряло выполнение программы (по сравнению с ее интерпретацией) и в дальнейшем стало основным способом трансляции языков программирования высокого уровня (ЯВУ). Следующий шаг Грейс Хоппер и ее сотрудники сделали в 1956-м: они составили список примерно из 30 слов, образовавших ЯВУ ФЛОУ-МЭТИК (FLOW-MATIC), а затем создали компилятор, который транслировал в машинный код программы, написанные на этом языке. Справедливости ради надо сказать, что первый ЯВУ (Фортран) был разработан за несколько лет до Хоппер под руководством другого выдающегося программиста — Джона Уорнера Бэкуса (John Warner Backus, р. 1924). Еще через четыре года Грейс Хоппер стала инициатором организации под эгидой Пентагона группы программистов из различных компаний, которая получила название “Ассоциации по языкам для систем данных” (Conference on Data Systems Languages, CODASYL). В январе 1960 г. эта группа разработала “Универсальный язык, предназначенный для решения деловых задач” (Cоmmon Business Oriented Language, COBOL), модификации которого пользуются популярностью и в наше время. Замечу, что одним из активных участников CODASYL’а был Роберт Уильям Бемер (Robert William Bemer, 1920—2004), получивший впоследствии широкую известность как автор “Американского стандартного кода для обмена информацией” (American Standard Code for Information Interchange, ASCII), ставшего международным стандартом де-факто.
Судьба создателей UNIVAC'а сложилась по-разному. Когда один из слушателей, присутствовавших на выступлении Бернарда Гордона, спросил, какую роль играл Джон Моучли в компании, то получил уклончивый ответ: “Когда я работал в EMCC, он проявлял меньше активности [чем при создании ENIAC’а], и, насколько я помню, для этого были сугубо личные причины”. Непонятно, почему Гордон так невнятно пояснил причину “малой активности” выдающегося компьютерщика. Он, надо думать, прекрасно знал, что Моучли в начале 50-х попал под пресс комиссии по расследованию антиамериканской деятельности, возглавляемой бесноватым сенатором Джозефом Р. Мак-Карти. Его обвинили в причастности к коммунистическому движению, в силу чего запретили даже входить в государственные учреждения (в том числе в Бюро переписи, где уже находился UNIVAC). Моучли вынужден был согласиться на должность руководителя второстепенного “Отделения по изучению применений UNIVAC'а”. “Он потратил около двух лет на то, чтобы восстановить свое доброе имя, и в конце концов это ему удалось, — вспоминала жена ученого. — Но через два года, когда обвинения с него были сняты, руководство отказалось восстановить его в прежней должности”. В 1959 г. Моучли ушел из корпорации и организовал собственную небольшую консалтинговую компанию Mauchly Associates, Inc., затем (после ее краха) — еще одну, а в 1973 г. вернулся в качестве консультанта в Sperry Rand.
Эккерт же оставался на командных должностях в корпорации до конца своих дней и руководил созданием ряда интересных ЭВМ. В частности, вслед за UNIVAC'ом в 1958 г. появился UNIVAC II, а через четыре года — UNIVAC III (транзисторная версия предыдущей модели), который и закончил линейку UNIVAC'ов — ЭВМ, замечательных своими нововведениями и знаменовавших зарождение компьютерной индустрии в США.
Примечания
1.Этот известный компьютерщик перешел в 1949 г. в Burroughs Corp., где руководил разработками секретных ЭВМ для управления полетами баллистических ракет. По инициативе Ауэрбаха в 1960-м была создана Международная организация по обработке информации (International Federation of Information Processing, IFIP), первым президентом которой он был избран.
2.В 1955 г. RemRand слилась со Sperry Gyroscope Corp., названной по имени Элмера Амброса Сперри (Elmer Ambrose Sperry,1860—1930), одного из изобретателей гироскопа, и стала именоваться Sperry Rand Corp.; последняя в 1986 г. объединилась с корпорацией Burroughs, образовав Unisys Corp. Замечу, что Sperry Gyroscope также была не чужда ВТ: здесь под руководством Герберта Фримена (Herbert Freeman) в 1953 г. была разработана небольшая ЭВМ SPEEDAC, содержавшая 900 ламп и магнитный барабан емкостью 4К восемнадцатиразрядных слов.
3.Raytheon Manufacturing Co. разработала в 1952 г. ЭВМ RAYDAC (RAYtheon Digital Automatic Computer), предназначенную для Калифорнийского центра испытаний авиационных ракет. В машине было реализовано несколько новаторских идей, в частности, использование контрольных сумм для проверки правильности передачи данных и результатов выполнения операций, а также аппаратная поддержка работы с плавающей запятой и словами двойной длины (по-видимому, впервые в мире).
4.В этой связи уместно вспомнить полузабытого сейчас Эдмунда Коллиса Беркли (Edmund Callis Berkeley, 1909—1988), замечательного пропагандиста ВТ, немало сделавшего для того, чтобы страховые организации заинтересовались UNIVAC'ом. Математик по образованию, он был главным научным консультантом крупнейшей в США страховой компании Prudential Insurance of America и в 1948 г настоял на заключении контракта с целью приобретения своей компанией этой ЭВМ (правда, контракт был впоследствии расторгнут из-за задержки в поставке машины и по другим причинам). В 1950-м Беркли был одним из организаторов “Форума Ремингтон-Рэнд по использованию электронных машин в страховой индустрии”. В историю ВТ он вошел как первый секретарь Ассоциации по вычислительным машинам (Association for Computing Machinery, АСМ), автор первой популярной книги по ВТ “Гигантский мозг, или Машины, которые думают” (1949), переведенной на многие языки, основатель и издатель журнала “Computers and Automation”. Он получил известность и как общественный деятель, активный участник движения за мир и всеобщее разоружение, член Комитета за здравую атомную политику (Committee for a Sane Nuclear Policy).
5.Идея магнитной записи звука и речевых сигналов на тонкую стальную проволоку принадлежит датскому изобретателю Вальдемару Поулсену (Valdemar Poulsen, 1869--1942), который в декабре 1898 г. получил патент на устройство, названное им Telegraphone. Позже, через 30 лет, немецкий инженер Фриц Плеймер (Fritz Pfleumer) продемонстрировал звукозаписывающее устройство, в котором вместо проволоки использовалась бумажная лента с тонким стальным покрытием. На основании этой разработки немецкая компания AEG в 1932 г. выпустила первый звукозаписывающий аппарат Magnetophon.
Из Цикла статей Ю. Полунова "Исторические машины".
Статья опубликована в PCWeek/RE №44-45 2006 г.
Статья помещена в музей 10.12.2006 года