Введение

Первый компьютер общего назначения, предназначенный для бизнес-приложений (1951)

UNIVAC I (Universal Automatic Computer I) был первым электронным цифровым компьютером общего назначения, разработанным для бизнес-приложений и произведенным в Соединенных Штатах. Он был разработан главным образом Дж. Преспером Экертом и Джоном Мокли, изобретателями ENIAC. Работа над проектированием началась в их компании Eckert–Mauchly Computer Corporation (EMCC) и была завершена после того, как компания была приобретена Remington Rand (позднее ставшей частью Sperry, а затем Unisys). До появления более поздних моделей UNIVAC I, машина просто называлась "UNIVAC". Первый UNIVAC был принят Бюро переписи населения США 31 марта 1951 года и торжественно представлен 14 июня того же года. Пятая машина (созданная для Комиссии по атомной энергии США) использовалась телекомпанией CBS для прогнозирования результатов президентских выборов 1952 года. На основе выборки всего в 5,5% от общего числа проголосовавших, она знаменито предсказала убедительную победу Эйзенхауэра.

Позиционирование на рынке

UNIVAC I был первым американским компьютером, разработанным изначально для делового и административного использования с быстрым выполнением относительно простых арифметических операций и операций по передаче данных, в отличие от сложных численных вычислений, необходимых для научных компьютеров. Таким образом, UNIVAC конкурировал напрямую с машинами для работы с перфокартами, хотя изначально UNIVAC не мог ни читать, ни пробивать перфокарты. Этот недостаток затруднял продажи компаниям, обеспокоенным высокой стоимостью ручного перевода больших объемов существующих данных, хранящихся на картах. Это было исправлено путем добавления оборудования для автономной обработки карт – преобразователя UNIVAC Tape to Card, предназначенного для передачи данных между перфокартами и магнитными лентами UNIVAC. Однако доля рынка UNIVAC I оказалась ниже, чем желала компания Remington Rand. Чтобы стимулировать продажи, компания объединилась с CBS для проведения прогноза результатов президентских выборов 1952 года. После того, как UNIVAC I предсказал убедительную победу Эйзенхауэра над Адлаем Стивенсоном, в то время как последний опрос Гэллапа предсказывал победу Эйзенхауэра с результатом 51% против 49% в упорной борьбе, сотрудники CBS были настолько уверены в ошибочности прогноза UNIVAC, что посчитали, что машина неисправна. По мере поступления результатов голосования стало ясно, что прогноз оказался верным: UNIVAC I предсказал получение Эйзенхауэром 32 915 949 голосов и победу в Коллегии выборщиков с результатом 438 против 93, в то время как окончательные результаты показали 34 075 029 голосов и 442 голоса выборщиков против 89. Погрешность прогноза UNIVAC I составила 3,5% от общего числа голосов, отданных за Эйзенхауэра, и четыре голоса выборщиков. После того, как ведущие признали свою нечестность и нежелание верить прогнозу, машина приобрела известность. Это способствовало повышению осведомленности общественности о вычислительной технике, а компьютерные прогнозы стали обязательным элементом эфира в ночь выборов.

Установки

Первые контракты были заключены с государственными учреждениями, такими как Бюро переписи населения, Военно-воздушные силы США и Служба картографической поддержки армии США. В итоге, первая установка была проведена со вторым компьютером, поставленным в Пентагон в июне 1952 года.

Установки UNIVAC, 19511954

Дата Заказчик Комментарии 1951 Бюро переписи населения США, Suitland, MD Не отгружено до 1952 1952 ВВС США Пентагон, Арлингтон, VA 1952 Армейская картографическая служба США Вашингтон, округ Колумбия. Работала на заводе Апрель–сентябрь 1952 1953 Нью-Йоркский университет (для Комиссии по атомной энергии) Нью-Йорк, Нью-Йорк 1953 Комиссия по атомной энергии Ливермор, Калифорния 1953 ВМС США Модельный бассейн Дэвида У. Тейлора, Бетесда, штат Мэриленд 1954 Metropolitan Life Нью-Йорк, Нью-Йорк 1954 ВВС США Авиабаза Райт-Паттерсон, Дейтон, Огайо 1954 U. S. Steel Питтсбург, Пенсильвания 1954 Du Pont Уилмингтон, Делавэр 1954 U. S. Steel Гари, Индиана 1954 Franklin Life Insurance Спрингфилд, Иллинойс 1954 Westinghouse Питтсбург, Пенсильвания 1954 Pacific Mutual Life Insurance Лос-Анджелес, Калифорния 1954 Sylvania Electric Нью-Йорк, Нью-Йорк 1954 Consolidated Edison Нью-Йорк, Нью-Йорк

Первоначально стоившая 159 000 долларов США, UNIVAC I подорожала до 1 250 000–1 500 000 долларов США. В общей сложности было построено и поставлено 46 систем. UNIVAC I была слишком дорогой для большинства университетов, и Sperry Rand, в отличие от таких компаний, как IBM, не обладала достаточной финансовой мощью, чтобы позволить себе раздавать их в большом количестве. Однако Sperry Rand пожертвовала системы UNIVAC I Гарвардскому университету (1956), Пенсильванскому университету (1957) и Технологическому институту Кейса в Кливленде, штат Огайо (1957). Система UNIVAC I в Кейсе оставалась в рабочем состоянии в 1965 году, но была заменена UNIVAC 1107. Некоторые системы UNIVAC I оставались в эксплуатации даже после того, как устарели из-за развития технологий. Бюро переписи использовало свои две системы до 1963 года, что составило 12 и 9 лет службы соответственно. Сама Sperry Rand использовала две системы в Буффало, штат Нью-Йорк, до 1968 года. Страховая компания Life and Casualty of Tennessee использовала свою систему до 1970 года, что составило более 13 лет службы.

Основные физические особенности

UNIVAC I использовал 6103 вакуумных ламп, потреблял 125 кВт мощности и мог выполнять около 1905 операций в секунду при тактовой частоте 2,25 МГц. Один только центральный комплекс (то есть процессор и блок памяти) имел размеры 4,3 м в длину, 2,4 м в ширину и 2,6 м в высоту. Полная система занимала более 35,5 м² площади.

Инструкции и данные

Инструкции состояли из шести буквенно-цифровых символов, упакованных по две инструкции на слово. Время сложения составляло 525 микросекунд, а время умножения – 2150 микросекунд. Существовала нестандартная модификация под названием "Overdrive", которая при определенных условиях позволяла размещать три инструкции по четыре символа в одном слове. (Симулятор Ингермана для UNIVAC, указанный ниже, также предоставляет возможность использования этой модификации.) Цифры представлялись внутренне с использованием избыточного кода 3 ("XS3") двоично-десятичного (BCD) арифметического кодирования, с шестью битами на цифру, используя те же значения, что и цифры буквенно-цифрового набора символов (и один бит четности на цифру для проверки ошибок), что позволяло оперировать 11-значными числами со знаком. Однако, за исключением одной или двух машинных инструкций, программисты считали UNIVAC десятичной машиной, а не двоичной, и двоичное представление символов было несущественным. Если во время арифметической операции в позиции встречался нецифровой символ, машина передавала его на выход без изменений, а перенос в нецифровую позицию игнорировался. (Следует отметить, однако, что особенностью схемы сложения/вычитания UNIVAC I было то, что символы "ignore", пробел и минус иногда интерпретировались как числовые, со значениями –3, –2 и –1 соответственно, а апостроф, амперсанд и левая скобка иногда интерпретировались как числовые, со значениями 10, 11 и 12 соответственно.)

Вход/выход

Помимо операторской консоли, единственными устройствами ввода/вывода, подключенными к UNIVAC I, были до 10 ленточных накопителей UNISERVO, электрическая пишущая машинка Remington Standard и осциллограф Tektronix. UNISERVO был первым коммерчески доступным компьютерным ленточным накопителем. Он использовал плотность записи данных 128 бит на дюйм (с фактической скоростью передачи 7200 символов в секунду) на магнитно-покрытых лентах из фосфорной бронзы. UNISERVO также мог читать и записывать ленты, созданные UNITYPER, со скоростью 20 бит на дюйм. UNITYPER представлял собой автономное устройство для записи с клавиатуры на ленту, используемое программистами и для незначительного редактирования данных. На UNIVAC были возможны операции чтения и записи лент как в прямом, так и в обратном направлении, которые полностью перекрывались с выполнением инструкций, обеспечивая высокую пропускную способность системы в типичных задачах сортировки и слияния данных. Большие объемы данных могли быть поданы на вход через магнитные ленты, созданные в автономной системе преобразования перфокарт в ленты, а результаты выводились через отдельную автономную систему преобразования лент в печатные документы. Операторская консоль имела три столбца десятично-кодированных переключателей, позволявших отображать любое из 1000 ячеек памяти на осциллографе. Поскольку память на ртутной линии задержки хранила биты в последовательном формате, программист или оператор мог непрерывно контролировать любую ячейку памяти и, проявив достаточно терпения, декодировать ее содержимое, отображаемое на экране. Пишущая машинка, работающая в режиме реального времени, обычно использовалась для оповещения о точках останова программы, контрольных точках и для вывода содержимого памяти.

Операции

Типичная установка UNIVAC I включала в себя несколько дополнительных устройств. Среди них:
UNIPRINTER считывал металлическую магнитную ленту UNIVAC с помощью устройства чтения лент и выводил данные со скоростью 10 символов в секунду, используя модифицированную пишущую машинку Remington. Конвертер UNIVAC Card to Tape считывал перфокарты со скоростью 240 карт в минуту и записывал их данные на металлическую магнитную ленту UNIVAC с помощью ленточного привода UNISERVO. Существовал также конвертер из магнитной ленты в перфокарты, который считывал магнитную ленту и выдавал перфокарты. UNIVAC не поставлялась с операционной системой. Операторы загружали на UNISERVO программу на магнитной ленте, которую процессорная логика могла загрузить автоматически. Затем монтировались соответствующие ленты с исходными данными и ленты для вывода результатов, и программа запускалась. Ленты с результатами отправлялись либо на автономный принтер, либо, как правило, для обработки данных во временную память, где они обновлялись следующим набором данных, полученным с автономного устройства для записи с карт на ленту. Температура резервуара ртутной линии задержки памяти строго контролировалась, так как скорость звука в ртути зависит от температуры. В случае отключения электроэнергии могло пройти много часов, прежде чем температура стабилизировалась.

Надежность

Эккерт и Мокли испытывали неуверенность в надежности цифровых логических схем – в то время о них было мало что известно. UNIVAC был спроектирован с использованием параллельных вычислительных схем и статистического сравнения результатов. Однако на практике ошибки сравнения возникали только из-за неисправных компонентов, то есть вакуумных ламп, поскольку сами схемы оказались весьма надежными. Была внедрена система, обеспечивающая надежность хрупких вакуумных ламп – узкого места всей операции. Перед использованием большие партии наиболее распространенной лампы типа 25L6 подвергались обжигу и тщательной проверке. (Зачастую половина любой производственной партии отправлялась на выброс.) Затем техники устанавливали проверенную и обжженную лампу в легко диагностируемое место, например, в усилители рециркуляции памяти. После дальнейшего подтверждения ее надежности и срока службы эта "золотая" лампа отправлялась на склад для использования в сложных для диагностики логических позициях. Кроме того, для включения компьютера требовалось около 30 минут – мощность всех катодных нагревателей постепенно увеличивалась, чтобы снизить пусковой ток и связанное с ним тепловое напряжение на лампах. В результате этих мер удавалось достичь времени безотказной работы (MTBF) процессора от нескольких дней до нескольких недель. (В UNISERVO не использовались вакуумные колонны, а вместо этого применялись пружины и нити для амортизации ленты при переходе от катушек к прижимному ролику. Эти механические компоненты стали наиболее частой причиной отказов.)