Harvard Mark I , или IBM Automatic Sequence Controlled Calculator ( ASCC ), был одним из первых универсальных электромеханических компьютеров, использовавшихся в военных целях в конце Второй мировой войны .
Одна из первых программ, запущенных на Mark I, была инициирована 29 марта 1944 года [1] Джоном фон Нейманом . В то время фон Нейман работал над Манхэттенским проектом и должен был определить, является ли имплозия жизнеспособным выбором для детонации атомной бомбы, которая будет использована годом позже. Mark I также вычислял и печатал математические таблицы, что было первоначальной целью британского изобретателя Чарльза Бэббиджа для его аналитической машины в 1837 году.
По словам Эдмунда Беркли , операторы Mark I часто называли машину «Бесси, двигатель Бесселя», в честь функций Бесселя . [2]
Mark I был разобран в 1959 году; часть его была передана IBM, часть ушла в Смитсоновский институт , а часть вошла в Гарвардскую коллекцию исторических научных инструментов . В течение десятилетий часть Гарварда была выставлена в вестибюле вычислительной лаборатории Эйкена. Около 1997 года она была перемещена в Гарвардский научный центр . В 2021 году ее снова переместили в вестибюль нового Научно-технического комплекса Гарварда в Оллстоне, штат Массачусетс . [3]
Первоначальная концепция была представлена IBM Говардом Эйкеном в ноябре 1937 года. [4] После проведения инженерами IBM анализа осуществимости проекта председатель компании Томас Уотсон-старший лично одобрил проект и его финансирование в феврале 1939 года.
Говард Эйкен начал искать компанию для проектирования и создания своего калькулятора в начале 1937 года. После двух отказов [5] ему показали демонстрационный набор, который сын Чарльза Бэббиджа подарил Гарвардскому университету 70 лет назад. Это побудило его изучить Бэббиджа и добавить ссылки на Аналитическую машину в свое предложение; получившаяся машина «почти полностью реализовала принципы Аналитической машины Бэббиджа, добавив при этом важные новые функции». [6]
ASCC был разработан и построен IBM на заводе в Эндикотте и отправлен в Гарвард в феврале 1944 года. В мае он начал выполнять вычисления для Бюро кораблей ВМС США и был официально представлен университету 7 августа 1944 года. [7]
Хотя это был не первый работающий компьютер , эта машина была первой, автоматизировавшей выполнение сложных вычислений, что сделало ее значительным шагом вперед в вычислительной технике. [8]
ASCC был построен из переключателей , реле , вращающихся валов и муфт . Он использовал 765 000 электромеханических компонентов и сотни миль проводов, составляя объем 816 кубических футов (23 м 3 ) - 51 фут (16 м) в длину, 8 футов (2,4 м) в высоту и 2 фута (0,61 м) в глубину. Он весил около 9 445 фунтов (4,7 коротких тонн; 4,3 т). [9] Основные вычислительные блоки должны были быть синхронизированы и приводиться в действие механически, поэтому они приводились в действие 50-футовым (15 м) приводным валом , соединенным с электродвигателем мощностью 5 лошадиных сил (3,7 кВт), который служил основным источником питания и системными часами . Из архивов IBM:
Автоматический последовательный управляемый калькулятор (Harvard Mark I) был первой рабочей машиной, которая могла автоматически выполнять длинные вычисления. Проект, задуманный доктором Говардом Эйкеном из Гарвардского университета, Mark I был построен инженерами IBM в Эндикотте, штат Нью-Йорк. Стальная рама длиной 51 фут и высотой 8 футов удерживала калькулятор, который состоял из взаимосвязанной панели небольших шестеренок, счетчиков, переключателей и схем управления, все всего несколько дюймов в глубину. ASCC использовала 500 миль (800 км) провода с тремя миллионами соединений, 3500 многополюсных реле с 35 000 контактов, 2225 счетчиков, 1464 десятиполюсных переключателя и ярусы из 72 суммирующих машин, каждая с 23 значимыми числами. Это был крупнейший электромеханический калькулятор в отрасли. [10]
Корпус для Mark I был разработан футуристическим американским промышленным дизайнером Норманом Белом Геддесом за счет IBM. Эйкен был раздражен тем, что стоимость ($50 000 или больше, по словам Грейс Хоппер ) не была использована для создания дополнительного компьютерного оборудования. [11]
Mark I имел 60 наборов из 24 переключателей для ручного ввода данных и мог хранить 72 числа, каждое из которых состояло из 23 десятичных цифр. [12] Он мог выполнять 3 сложения или вычитания за секунду. Умножение занимало 6 секунд, деление — 15,3 секунды, а логарифм или тригонометрическая функция — более одной минуты. [13]
Mark I считывал свои инструкции с 24-канальной перфоленты . Он выполнял текущую инструкцию, а затем считывал следующую. Отдельная лента могла содержать числа для ввода, но форматы ленты не были взаимозаменяемыми. Инструкции не могли быть выполнены из регистров хранения. Поскольку инструкции не хранились в рабочей памяти, широко распространено мнение, что Harvard Mark I был источником архитектуры Harvard . Однако это оспаривается в работе «Миф об архитектуре Harvard», опубликованной в IEEE Annals of History of Computing [14], где показано, что термин «архитектура Harvard» не использовался до 1970-х годов (в контексте микроконтроллеров) и применялся к машинам Harvard только ретроспективно, и что этот термин мог применяться только к Mark III и IV , но не к Mark I или II .
Механизм основной последовательности был однонаправленным. Это означало, что сложные программы должны были быть физически длинными. Программный цикл достигался путем развертывания цикла или путем присоединения конца бумажной ленты, содержащей программу, к началу ленты (буквально создавая цикл ). Сначала условное ветвление в Mark I выполнялось вручную. Более поздние модификации в 1946 году ввели автоматическое ветвление программы (путем вызова подпрограммы ). [15] [16] [17] [18] [19] Первыми программистами Mark I были пионеры вычислительной техники Ричард Милтон Блох , Роберт Кэмпбелл и Грейс Хоппер . [20] Также была небольшая техническая группа, чьей задачей было фактическое управление машиной; некоторые из них были сотрудниками IBM до того, как их обязали присоединиться к ВМФ для работы над машиной. [21] Эта техническая группа не была проинформирована об общей цели своей работы во время учебы в Гарварде.
24 канала входной ленты были разделены на три поля по восемь каналов в каждом. Каждому месту хранения, каждому набору переключателей и регистрам, связанным с входными, выходными и арифметическими устройствами, был назначен уникальный идентификационный индексный номер. Эти числа были представлены в двоичном виде на контрольной ленте. Первое поле было двоичным индексом результата операции, второе было исходными данными для операции, а третье поле было кодом для операции, которая должна быть выполнена. [12]
В 1928 году Л. Дж. Комри был первым, кто использовал «оборудование с перфокартами IBM для научного использования: вычисления астрономических таблиц методом конечных разностей, как это было задумано Бэббиджем 100 лет назад для его разностной машины». [22] Вскоре после этого IBM начала модифицировать свои табуляторы, чтобы облегчить этот вид вычислений. Одним из таких табуляторов, созданным в 1931 году, был Columbia Difference Tabulator. [23]
У Джона фон Неймана была команда в Лос-Аламосе, которая использовала «модифицированные машины IBM с перфокартами» [24] для определения эффектов взрыва. В марте 1944 года он предложил запустить некоторые проблемы, касающиеся взрыва Mark I, и в 1944 году он прибыл с двумя математиками, чтобы написать программу моделирования для изучения взрыва первой атомной бомбы . [1]
Группа из Лос-Аламоса завершила свою работу за гораздо более короткое время, чем группа из Кембриджа. Однако операция машины с перфокартами вычисляла значения до шести знаков после запятой, тогда как Mark I вычислял значения до восемнадцати знаков после запятой . Кроме того, Mark I интегрировал уравнение в частных производных с гораздо меньшим размером интервала [или меньшей сеткой] и таким образом... достигал гораздо большей точности . [24]
«Фон Нейман присоединился к Манхэттенскому проекту в 1943 году, работая над огромным количеством расчетов, необходимых для создания атомной бомбы. Он показал, что конструкция имплозии, которая позже будет использована в бомбах Trinity и Fat Man , вероятно, была быстрее и эффективнее, чем конструкция пушки». [25]
Эйкен опубликовал пресс-релиз, объявляющий о Mark I, указав себя в качестве единственного изобретателя. Джеймс У. Брайс был единственным упомянутым лицом IBM, хотя несколько инженеров IBM, включая Клэра Лейка и Фрэнка Гамильтона, помогали создавать различные элементы. Председатель IBM Томас Дж. Уотсон был в ярости и неохотно присутствовал на церемонии открытия 7 августа 1944 года. [26] [ нужна страница ] [27] Эйкен, в свою очередь, решил построить дальнейшие машины без помощи IBM, и ASCC стал общеизвестным как «Гарвардский Mark I». IBM продолжила создавать свой селективный последовательный электронный калькулятор (SSEC) как для тестирования новой технологии, так и для обеспечения большей рекламы усилий компании. [26] [ нужна страница ]
За Mark I последовали Harvard Mark II (1947 или 1948), Mark III/ADEC (сентябрь 1949) и Harvard Mark IV (1952) — все работы Эйкена. Mark II был улучшением по сравнению с Mark I, хотя он все еще был основан на электромеханических реле . Mark III использовал в основном электронные компоненты — вакуумные трубки и кристаллические диоды — но также включал механические компоненты: вращающиеся магнитные барабаны для хранения, а также реле для передачи данных между барабанами. Mark IV был полностью электронным, заменив оставшиеся механические компоненты на память на магнитных сердечниках . Mark II и Mark III были доставлены на базу ВМС США в Дальгрене, штат Вирджиния . Mark IV был построен для ВВС США , но остался в Гарварде. [ необходима цитата ]
Mark I был разобран в 1959 году, и его части были выставлены в Научном центре как часть Гарвардской коллекции исторических научных инструментов . Он был перемещен в новый Научно-технический комплекс в Оллстоне в июле 2021 года. [28] Другие части оригинальной машины были намного раньше переданы IBM и Смитсоновскому институту . [29]