ЭНИАК (Электронный числовой интегратор и вычислитель — (), сокр. от Electronic Numerical Integrator and ComputerELECTRONIC COMPUTERS WITHIN THE ORDNANCE CORPS by Karl Kempf November 1961 Electronic Numerical Integrator and Computer ) — первый электронный цифровой вычислитель общего назначения, который можно было перепрограммировать для решения широкого спектра задач.
История создания Архитектуру компьютера начали разрабатывать в 1943 году Джон Преспер Эккерт и Джон Уильям Мокли, учёные из Пенсильванского университета (Электротехническая школа Мура), по заказу Армии США для расчётов таблиц стрельбы. В отличие от созданного в 1941 году немецким инженером Конрадом Цузе комплекса Z3, использовавшего механические реле, в ЭНИАКе в качестве основы элементной базы применялись электронные лампы.
Расчёты таблиц стрельбы в то время проводились вручную на настольных арифмометрах. Эту работу в лаборатории выполняли особые клерки — «вычислители» — в основном женщины. Таблицы стрельбы рассчитывались для каждого отдельного типа снаряда и орудия перед принятием на вооружение и при различных комбинациях множества параметров (возвышение ствола, номер заряда, скорость снаряда, скорость ветра, температура воздуха, давление воздуха, температура заряда) требовался кропотливый расчёт около 3000 траекторий полёта снаряда. Расчёт каждой траектории требовал примерно 1000 операций. Один вычислитель был способен выполнить этот расчёт за 16 дней, а на вычисление всей таблицы потребовалось бы 4 года. Без этих таблиц артиллеристам просто невозможно было точно попасть в цель. В условиях Второй мировой войны на фронт в Европу отправлялось всё больше и больше орудий и снарядов к ним, в 1943 году союзные войска высадились в Африке, где условия стрельбы были несколько иные и требовали новых таблиц, а Лаборатория не справлялась со своевременным их расчётом.
В Институте Мура имелся один из немногих «дифференциальных анализаторов» — механический вычислитель, к помощи которого прибегала лаборатория для выполнения хотя бы части расчётов. В этом институте Мокли работал преподавателем, а Эккерт был простым студентом с незаурядными способностями инженера. В августе 1942 года Мокли написал 7-страничный документ «The Use of High-Speed Vacuum Tube Devices for Calculation», в котором предлагал Институту построить электронную вычислительную машину, основанную на электронных лампах. Руководство Института работу не оценило и сдало документ в архив, где он вообще был утерян.
Сотрудничество Института Мура с Баллистической лабораторией по вычислению таблиц стрельбы осуществлялось через капитана Германа Голдстайна, который до поступления на службу в армию работал профессором математики в Университете штата Мичиган. Лишь в начале 1943 года один из работников Института в случайной беседе сообщил Голдстайну об идее электронного вычислителя, с которой носился Мокли. Использование электронной вычислительной машины позволило бы лаборатории сократить время расчёта с нескольких месяцев до нескольких часов. Голдстайн встретился с Мокли и предложил ему обратиться с заявкой в лабораторию на выделение средств для постройки задуманной машины. Мокли по памяти восстановил утерянный 7-страничный документ с описанием проекта.
9 апреля 1943 года проект был представлен Баллистической лаборатории на заседании Комиссии по науке. В проекте машина называлась «электронный дифф. анализатор» (electronic diff. analyzer). Это была уловка, чтобы новизна проекта не вызвала отторжения у военных. Все они были уже знакомы с дифференциальным анализатором, и проект в их представлении просто предлагал сделать его не механическим, а электрическим. Проект обещал, что построенный компьютер будет вычислять одну траекторию за 5 минут.
После короткой презентации научный консультант комиссии Освальд Веблен одобрил идею, и деньги (61 700 долларов США на первые 6 месяцев исследовательских работ) были выделены. В контракте под номером W-670-ORD-4926, заключённом 5 июня 1943 года, машина называлась «Electronic Numerical Integrator» («Электронный числовой интегратор»), позднее к названию было добавлено «and Computer» («и компьютер»), в результате чего получилась знаменитая аббревиатура ENIAC. Куратором проекта «Project PX» со стороны Армии США выступил опять-таки Герман Голдстайн.
К февралю 1944 года были готовы все схемы и чертежи будущего компьютера, и группа инженеров под руководством Эккерта и Мокли приступила к воплощению замысла в «железо». В группу вошли также: Роберт Шоу (Robert F. Shaw) (функциональные таблицы) Джеффри Чуан Чу (Jeffrey Chuan Chu) (модуль деления/извлечения квадратного корня) Томас Кайт Шарплес (Thomas Kite Sharpless) (главный программист) (Arthur Burks) (модуль умножения) Гарри Хаски (модуль чтения выходных данных) Джек Дэви (Jack Davis) («аккумуляторы» — модули для сложения чисел) Джон фон Нейман — присоединился к проекту в сентябре 1944 года в качестве научного консультанта. На основе анализа недостатков ЭНИАКа внёс существенные предложения по созданию новой более совершенной машины — EDVAC
В середине июля 1944 года Мокли и Эккерт собрали два первых «аккумулятора» — модули, которые использовались для сложения чисел. Соединив их вместе, они перемножили два числа 5 и 1000 и получили верный результат. Этот результат был продемонстрирован руководству Института и Баллистической лаборатории и доказал всем скептикам, что электронный компьютер действительно может быть построен.
Компьютер был полностью готов лишь осенью 1945 года. Так как война к тому времени уже была закончена и острой необходимости в быстром расчёте таблиц стрельбы уже не было, военное ведомство США решило использовать ENIAC в расчётах по разработке термоядерного оружия.
Будучи сверхсекретным проектом Армии США, компьютер был представлен публике и прессе лишь много месяцев спустя после окончания войны — 14 февраля 1946 года. Через несколько месяцев — 9 ноября 1946 года — ENIAC был разобран и перевезён из Университета Пенсильвании в г. Абердин в Лабораторию баллистических исследований Армии США, где с 29 июля 1947 года он успешно проработал ещё много лет и был окончательно выключен 2 октября 1955 года в 23:45.
В Баллистической лаборатории на ENIAC выполнялись расчёты по проблеме термоядерного оружия, прогнозам погоды в СССР для предсказания направления выпадения ядерных осадков на случай ядерной войны, инженерные расчёты, и конечно же таблиц стрельбы, включая таблицы стрельбы ядерными боеприпасами.
Первыми программистами ЭНИАКа стали шесть девушекХейли Уильямс. Invisible Women: The Six Human Computers Behind The ENIAC на сайте lifehacker.com.au, 10 ноября 2015: Мэрлин Мельцер Рут Лихтерман Кэтлин Антонелли Бетти Джин Дженнингс Франсис Элизабет Снайдер
Использование В качестве испытания ЭНИАКу первой была поставлена задача по математическому моделированию термоядерного взрыва супербомбы по гипотезе Улама-Теллера. Фон Нейман, который одновременно работал консультантом и в Лос-Аламосской лаборатории, и в Институте Мура, предложил группе Теллера использовать ЭНИАК для расчётов ещё в начале 1945 года. Решение проблемы термоядерного оружия требовало такого огромного объёма вычислений, что справиться с ним не могли никакие электромеханические калькуляторы, имевшиеся в распоряжении лаборатории. В августе 1945 физики Лос-Аламосской лаборатории Николас Метрополис и посетили институт Мура, и Герман Голдстайн вместе со своей женой Адель, которая работала в команде программистом и была автором первого руководства по работе с ЭНИАКом, познакомили их с техникой программирования ЭНИАКа. После этого они вернулись в Лос-Аламос, где стали работать над программой под названием «The Los Alamos Problem».
Производительность ЭНИАКа была слишком мала для полноценного моделирования, поэтому Метрополис и Френкель сильно упростили уравнение, игнорируя многие физические эффекты и стараясь хотя бы приблизительно рассчитать лишь первую фазу взрыва дейтерий-тритиевой смеси в одномерном пространстве. Детали и результаты выполненных в ноябре-декабре 1945 года расчётов до сих пор засекречены. Перед ЭНИАКом была поставлена задача решить сложнейшее дифференциальное уравнение, для ввода исходных данных к которому понадобилось около миллиона перфокарт. Вводная задача была разбита на несколько частей, чтобы данные могли поместиться в память компьютера. Промежуточные результаты выводились на перфокарты и после перекоммутации снова заводились в машину. В апреле 194618-20 апреля 1946 г. года группа Теллера обсудила результаты расчётов и сделала вывод, что они достаточно обнадёживающе (хотя и очень приблизительно) доказывают возможность создания водородной бомбы.
На обсуждении результатов расчёта присутствовал Станислав Улам. Поражённый скоростью работы ЭНИАКа, он предложил сделать расчёты по термоядерному взрыву методом Монте-Карло. В 1947 году на ЭНИАКе было выполнено 9 расчётов этим методом с различными исходными параметрами. После этого метод Монте-Карло стал использоваться во всех вычислениях, связанных с разработкой термоядерного оружия.
Британский физик Дуглас Хартри в апреле и июле 1946 года решал на ЭНИАКе проблему обтекания воздухом крыла самолёта, движущегося быстрее скорости звука. ЭНИАК выдал ему результаты расчётов с точностью до седьмого знака. Об этом опыте работы Хартри написал в статье в сентябрьском выпуске журнала Nature за 1946 годThe Eniac, an Electronic Computing Machine // Nature (12 October 1946) vol. 158. — p.500—506 .
В 1949 году фон Нейман использовал ЭНИАК для расчёта чисел π и e с точностью до 2000 знаков после запятой. Фон Неймана интересовало статистическое распределение цифр в этих числах. Предполагалось, что цифры в этих числах появляются с равной вероятностью, а значит — компьютеры могут генерировать действительно случайные числа, которые можно использовать как вводные параметры для вычислений методом Монте-Карло. Вычисления для числа e были выполнены в июле 1949 года, а для числа π — за один день в начале сентября. Результаты показали, что «цифры в числе π идут в случайном порядке, а вот с числом e всё обстояло значительно хуже».
На ЭНИАКе весной 1950 года был произведён первый успешный численный прогноз погоды командой американских метеорологов Жюлем Чарни, Филипом Томсоном, Ларри Гейтсом, норвежцем и математиком Джоном фон Нейманом. Они использовали упрощённые модели атмосферных потоков на основе уравнения вихря скорости для баротропного газа. Это упрощение понизило вычислительную сложность задачи и позволило произвести расчёты с использованием доступных в то время вычислительных мощностейAmerican Institute of Physics. Atmospheric General Circulation Modeling. 2008-01-13.. Расчёты велись начиная с 5 марта 1950 года в течение 5 недель, пять дней в неделю в три 8-часовые смены. Ещё несколько месяцев ушло на анализ и оценку результатов. Описание расчётов и анализ результатов были представлены в работе «Numerical Integration of Barotropic Vorticity Equation»Репринт работы Numerical Integration of Barotropic Vorticity Equation на сайте Университета Дублина, опубликованной 1 ноября 1950 года в журнале Tellus. В статье упоминается, что прогноз погоды на следующие 24 часа на ЭНИАКе был выполнен за 24 часа, то есть прогноз едва успевал за реальностью. Большая часть времени уходила на распечатку перфокарт и их сортировку. Во время расчётов приходилось на ходу вносить изменения в программу и ждать замены перегоревших ламп. При должной оптимизации работы ЭНИАКа, говорилось в работе, расчёт можно было бы выполнить за 12 часов, а при использовании более совершенных машин — за 30 минут. Для прогноза использовались карты погоды над территорией США и Канады за 5, 30, 31 января и 13 февраля 1949 года. После расчётов прогнозные карты сравнивались с реальными для оценки качества прогноза.
Характеристики, архитектура и программирование На создание ENIAC ушло 200 000 человеко-часов и 486 804,22 доллара США. Всего комплекс включал в себя 17 468 ламп 16 различных типов, 7200 кремниевых диодов, 1500 реле, 70 000 резисторов и 10 000 конденсаторов. Вес — 30 тонн.