Введение

IBM Selective Sequence Electronic Calculator (SSEC) - электромеханический компьютер, разработанный компанией IBM. Его проектирование началось в конце 1944 года, а эксплуатация велась с января 1948 года по август 1952 года. Он обладал многими характеристиками компьютера с хранимой программой и был первой рабочей машиной, способной рассматривать свои инструкции как данные, однако он не был полностью электронным. Президент IBM, Томас Дж. Уотсон-старший, остался недоволен пресс-релизом Айкена, который не упоминал вклад IBM в финансирование и инженерные работы. Уотсон и Айкен решили разойтись, и IBM приступила к проекту по созданию собственной, более крупной и заметной машины. Астроном Уоллес Джон Эккерт из Колумбийского университета предоставил технические спецификации для новой машины; бюджет проекта, почти в 1 миллион долларов, был огромной суммой для того времени. Фрэнсис "Фрэнк" Э. Гамильтон (1898–1972) руководил строительством как ASCC, так и SSEC. Роберт Рекс Сибер-младший также был переманен из гарвардской группы и стал известен как главный архитектор новой машины. Модули изготавливались на предприятии IBM в Эндикоте, штат Нью-Йорк, под руководством директора по инжинирингу Джона Макферсона после завершения базового дизайна в декабре 1945 года.

Строительство

В феврале 1946 года было объявлено о создании полностью электронной машины ENIAC, что придало импульс проекту. Новая машина, получившая название IBM Selective Sequence Electronic Calculator (SSEC), была готова к установке к августу 1947 года. Ее торжественно представили публике и впервые продемонстрировали 27 января 1948 года. А. Уэйн Брук с 1950 года являлся главным инженером-электронщиком, ответственным за работу машины. Герб Грош, второй сотрудник с докторской степенью, принятый на работу в IBM, был одним из первых программистов. Еще одним ранним программистом был Эдгар "Тед" Кодд. Элизабет "Бетси" Стюарт была главным оператором и часто появлялась на рекламных фотографиях. SSEC представлял собой необычный гибрид вакуумных ламп и электромеханических реле. Около 12 500 вакуумных ламп использовалось в арифметическом устройстве, блоке управления и восьми (относительно высокоскоростных) регистрах, время доступа к которым составляло менее одной миллисекунды. Для управления использовалось примерно 21 400 реле и 150 регистров с меньшей скоростью, с временем доступа 20 миллисекунд. Релейная технология была аналогична технологии ASCC и основана на разработке Клэр Д. Лейк (1888–1958). Арифметико-логическое устройство SSEC было модифицированным электронным умножителем IBM 603, разработанным Джеймсом У. Брайсом. Габаритные вакуумные лампы представляли собой излишки военной радиолокационной техники и занимали целую стену. Память была организована в виде 19-значных десятичных чисел со знаком. Умножение выполнялось с использованием 14 цифр в каждом множителе. Большая часть заявленной емкости в 400 000 цифр была представлена в виде рулонов перфорированной бумажной ленты. Сложение занимало 285 микросекунд, а умножение – 20 миллисекунд, что делало арифметические операции значительно быстрее, чем у Гарвардской машины Mark I. Данные, которые требовалось быстро извлечь, хранились в электронных схемах, а остальные – в реле и в виде отверстий в трех непрерывных лентах, заполнявших другую стену. Для подъема тяжелых рулонов бумаги требовался цепной подъемник. Машина считывала инструкции или данные с 30 считывателей бумажной ленты, подключенных к трем перфораторам, а также использовала устройство поиска по таблице, состоящее из еще 36 считывателей бумажной ленты. Для загрузки данных использовался считыватель перфокарт, а результаты выводились на перфокарты или высокоскоростные принтеры. Дж. Преспер Эккерт, со-разработчик ENIAC (не состоявший в родстве с Эккертом из IBM), назвал ее "каким-то огромным монстром, который, по моему мнению, никогда не работал должным образом". Сибер тщательно спроектировал SSEC таким образом, чтобы инструкции рассматривались как данные, что позволяло их изменять и хранить под управлением программы. 19 января 1949 года IBM подала заявку на патент, основанный на SSEC, который впоследствии был признан подтверждающим возможность хранения программ в машине. Каждая инструкция могла принимать входные данные из любого источника (электронные или механические регистры или считыватели лент), сохранять результат в любом месте назначения (электронные или механические регистры, лента, перфоратор или принтер) и указывать адрес следующей инструкции, которая также могла быть любым источником. Это делало ее мощной в теории.

Приложения

Первым применением SSEC было вычисление положений Луны и планет, известных как эфемериды. Для вычисления каждого положения Луны требовалось около 11 000 сложений, 9 000 умножений и 2 000 обращений к таблицам, на что у SSEC уходило около семи минут. Эта задача занимала машину около шести месяцев, после чего другие пользователи выстроились в очередь, чтобы использовать её. Система ленточных эфемерид JPL использовалась практически для всех вычислений траекторий космических аппаратов в космической программе США, и в качестве текущей лунной эфемериды она содержала оценку Улучшенной лунной эфемериды с рядом исправлений. Источниками служили «Улучшенная лунная эфемерида» (документация, представляющая собой отчёт о вычислениях Экерта, выполненных на SSEC, с полными результатами положения Луны за период с 1952 по 1971 год), а также исправления, описанные Экертом и др. (1966) и в Дополнении к AE 1968. В совокупности эти исправления модифицируют практически каждый элемент лунных вычислений, и, следовательно, космическая программа, по всей видимости, использовала лунные данные, полученные на основе модифицированного и исправленного варианта вычислительной процедуры, впервые реализованной на SSEC, а не сами непосредственно полученные таблицы. Первым клиентом, оплатившим услуги SSEC, стала компания General Electric. SSEC также использовался для расчётов Комиссией по атомной энергии США в рамках проекта ANP по созданию самолёта с ядерным реактором. Роберт Д. Рихтмайер из Лос-Аламосской национальной лаборатории использовал SSEC для одних из первых масштабных применений метода Монте-Карло. Льюэллин Томас решал задачи, связанные со стабильностью ламинарного потока, программирование выполняли Дональд А. Кварлс-младший и Филис К. Браун. В 1949 году Кэтберт Хёрд был принят на работу (также после посещения SSEC) и создал отдел прикладных наук; в конечном итоге управление SSEC было передано этой организации.

Наследие

В помещении, где располагался SSEC, был одним из первых компьютеров с приподнятым полом, чтобы посетители не видели неэстетичных кабелей и не спотыкались о них. Большое количество мигающих огней и шумных электромеханических реле делали IBM заметной для публики. SSEC появился в фильме «Путь на восток по маяку», основанном на книге Дж. Эдгара Гувера. SSEC привлекал как клиентов, так и новых сотрудников. И Хёрд, и Бэкус были приняты на работу после просмотра демонстрации этого комплекса. ENIAC 1946 года содержал больше электронных ламп, чем SSEC, и был быстрее в некоторых операциях, но изначально был менее гибким и требовал перекоммутации для решения каждой новой задачи. В конце 1948 года был представлен новый умножитель IBM 604, использовавший более современную ламповую технологию, которая уже устарела громоздкие лампы SSEC. К маю 1949 года был анонсирован электронный калькулятор с программным управлением от перфокарт, а в сентябре начались поставки. Фактически, это была значительно уменьшенная версия технологии SSEC, позволяющая клиентам выполнять аналогичные вычисления. В июле 1953 года был представлен гораздо более дешевый (и даже более продаваемый) IBM 650, разработанный той же командой из Эндикотта, которая создала SSEC.