Электронный калькулятор выборочной последовательности IBM ( SSEC ) был электромеханическим компьютером, созданным IBM . Его разработка была начата в конце 1944 года, и он работал с января 1948 года по август 1952 года. Он обладал многими функциями компьютера с хранимой программой и был первой работающей машиной, способной обрабатывать свои инструкции как данные, но он не был полностью электронным. . [1] Хотя SSEC оказался полезным для нескольких громких приложений, он вскоре устарел. Поскольку это был последний когда-либо созданный большой электромеханический компьютер, его величайшим успехом стала реклама, которую он обеспечил IBM.
Во время Второй мировой войны Международная корпорация Business Machines (IBM) профинансировала и построила калькулятор с автоматическим управлением последовательностями (ASCC) для Говарда Х. Эйкена в Гарвардском университете . Машина, официально представленная в августе 1944 года, была широко известна как Harvard Mark I. [2] Президенту IBM Томасу Дж. Уотсону-старшему не понравился пресс-релиз Эйкена, в котором не упоминалось о заслугах IBM в финансировании и инженерных усилиях. Уотсон и Эйкен решили пойти разными путями, и IBM начала работу над проектом создания собственной, более крупной и заметной машины. [3]
Астроном Уоллес Джон Эккерт из Колумбийского университета предоставил характеристики новой машины; Бюджет проекта в почти 1 миллион долларов был огромной суммой для того времени. [4] Фрэнсис «Фрэнк» Э. Гамильтон (1898–1972) руководил строительством ASCC и SSEC. [5] Роберт Рекс Сибер-младший также был нанят из Гарвардской группы и стал известен как главный архитектор новой машины. [6] Модули производились на предприятии IBM в Эндикотте, штат Нью-Йорк , под руководством технического директора Джона Макферсона после того, как базовый проект был готов в декабре 1945 года. [7]
Объявление в феврале 1946 года о полностью электронном ENIAC придало импульс проекту. [8] Новая машина, названная IBM Selective Sequence Electronic Calculator (SSEC), была готова к установке к августу 1947 года. [9] Уотсон называл такие машины калькуляторами , потому что компьютер тогда относился к людям, нанятым для выполнения вычислений, и он хотел передать сообщение о том, что машины IBM не предназначены для замены людей. Скорее, они были созданы, чтобы помогать людям, освобождая их от тяжелой работы. [6] : 143
SSEC был установлен с трех сторон комнаты на первом этаже здания рядом со штаб-квартирой IBM на Мэдисон-авеню, 590 в Нью-Йорке , за большим окном, откуда его могли видеть люди, проходящие мимо по оживленной улице. Раньше на этом месте располагался магазин женской обуви. Шумный SSEC прохожие иногда называли «Поппа» . [10] Он был посвящен и впервые продемонстрирован публике 27 января 1948 года. А. Уэйн Брук служил главным инженером-электронщиком по эксплуатации машины, начиная с 1950 года. [11] Херб Грош , второй человек с докторской степенью. . нанятый IBM, был одним из первых ее программистов. Другим ранним программистом был Эдгар «Тед» Кодд . Элизабет «Бетси» Стюарт была главным оператором и часто появлялась на рекламных фотографиях. [12]
SSEC представлял собой необычный гибрид электронных ламп и электромеханических реле . В арифметическом блоке, управлении и его восьми (относительно быстродействующих) регистрах использовалось около 12500 электронных ламп , имевших время доступа менее одной миллисекунды . Для управления использовалось около 21 400 реле и 150 низкоскоростных регистров со временем доступа 20 миллисекунд. Релейная технология была аналогична ASCC и основана на технологии, изобретенной Клером Д. Лейком (1888–1958). [13] Арифметико -логическое устройство SSEC представляло собой модифицированный электронный умножитель IBM 603 , который был разработан Джеймсом В. Брайсом . [14] Громоздкие трубки представляли собой излишки военной радиолокационной техники, занимавшие целую стену. Память была организована в виде 19-значных десятичных чисел со знаком. Умножение вычислялось с использованием 14 цифр в каждом множителе. Большая часть заявленной емкости в 400 000 цифр была представлена в виде катушек перфоленты. [15]
Сложение занимало 285 микросекунд, а умножение — 20 миллисекунд, что делало арифметические операции намного быстрее, чем у Harvard Mark I. Данные, которые нужно было быстро получить, хранились в электронных схемах; Остальное хранилось в реле и в виде дырок в трех непрерывных картонных лентах, заполнявших другую стену. Чтобы поднять тяжелые катушки с бумагой на место, потребовалась цепная таль. Машина считывала инструкции или данные с 30 считывателей бумажной ленты, подключенных к трем пуансонам, а еще один блок поиска по таблице состоял из еще 36 считывателей бумажной ленты. Для загрузки данных использовалось устройство считывания перфокарт , а результаты выводились на перфокартах или высокоскоростных принтерах. [15] 19-значное слово хранилось на карточной ленте или в регистрах в двоично-десятичном формате , в результате чего получалось 76 битов, с двумя дополнительными битами для обозначения положительного или отрицательного знака и четности, а два боковых ряда использовались для звездочек. . Знакомые 80 колонок технологии перфокарт IBM были записаны боком как одна колонка ленты. [12]
Используя хорошо проверенную технологию, расчеты SSEC были точными и точными для своего времени, но один из первых программистов, Джон Бэкус , сказал: «Вы должны были быть там все время, пока программа работала, потому что она останавливалась каждые три минуты, и только люди, которые его запрограммировали, могли увидеть, как заставить его снова работать » . сработало правильно». [17]
Сибер тщательно разработал SSEC для обработки инструкций как данных, чтобы их можно было модифицировать и хранить под контролем программы. IBM подала патент на основании SSEC 19 января 1949 года, который позже был подтвержден как поддерживающий способность машины хранить программы. [6] : 136 [18] Каждая инструкция могла принимать входные данные из любого источника (электронные или механические регистры или считыватели ленты), сохранять результат в любом месте назначения (электронные или механические регистры, лента или перфокарта или принтер) и сообщать адрес следующая инструкция, которая также может быть любым источником. Это сделало его мощным в теории. [15] Однако на практике инструкции обычно хранились на бумажной ленте, в результате чего общая скорость составляла всего около 50 инструкций в секунду . Последовательный характер памяти на бумажной ленте сделал программирование SSEC более похожим на калькуляторы времен Второй мировой войны. Например, «петли» обычно представляли собой склеенные вместе петли бумажной ленты. Для каждой новой программы кассеты и колоды карточек буквально «загружались» в считыватели, а в принтере менялась коммутационная панель для изменения форматирования вывода. По этим причинам SSEC обычно классифицируется как последний из «программируемых калькуляторов», а не как первый компьютер с хранимой программой . [19]
Первым применением SSEC было вычисление положений Луны и планет , известное как эфемериды . [20] Каждое положение Луны требовало около 11 000 сложений, 9 000 умножений и 2 000 поисков в таблице, что заняло у SSEC около семи минут. [9] Это приложение использовало машину около шести месяцев; к тому времени другие пользователи выстроились в очередь, чтобы занять машину. [21]
Иногда говорят, что SSEC подготовил таблицы положения Луны, которые позже использовались для построения курса полета Аполлона на Луну в 1969 году. Однако записи, датированные ближе к 1969 году, позволяют предположить, что связь, хотя и существовала, скорее всего, была менее непосредственной. Так, Малхолланд и Дивайн (1968), работавшие в Лаборатории реактивного движения НАСА, сообщили [22] , что система эфемерид JPL «использовалась практически для всех расчетов траекторий космических аппаратов в космической программе США» и что она, как и ее текущие лунные эфемериды, оценка «Улучшенных лунных эфемерид», включающая ряд поправок: источники называются «Улучшенные лунные эфемериды» (документация, которая представляла собой отчет о вычислениях Эккерта, проведенных SSEC, дополненный результатами положения Луны за 1952 год). до 1971 г.), [23] с поправками, описанными Eckert et al. (1966), [24] и в Дополнении к AE 1968. [25] В совокупности упомянутые таким образом поправки изменяют практически каждый отдельный элемент лунных вычислений, и, таким образом, космическая программа, похоже, использовала лунные данные, сгенерированные модифицированная и исправленная производная вычислительной процедуры, впервые использованной с использованием SSEC, а не непосредственно получаемые таблицы.
Первым платежеспособным клиентом SSEC стала компания General Electric . SSEC также использовался Комиссией по атомной энергии США для расчетов проекта ANP по созданию самолета с ядерным реактором. Роберт Д. Рихтмайер из Национальной лаборатории Лос-Аламоса использовал SSEC для некоторых из первых крупномасштабных применений метода Монте-Карло . [26] Ллевеллин Томас решил задачи со стабильностью ламинарного потока , запрограммированные Дональдом А. Куорлзом-младшим и Филлис К. Браун. [27] В 1949 году был принят на работу Катберт Херд (также после посещения SSEC) и открыл отдел прикладных наук; В конечном итоге управление SSEC было передано этой организации. [21]
Комната SSEC была одним из первых компьютеров, в которых использовался фальшпол , поэтому посетители не видели неприглядные кабели и не спотыкались о них. Большой набор мигалок и шумных электромеханических реле сделали IBM очень заметной для публики. SSEC появился в фильме «Идите на восток по маяку» , основанном на книге Дж. Эдгара Гувера . [11] Это широко освещалось в прессе. [28] [29] SSEC привлекала как клиентов, так и новых сотрудников. И Херд, и Бэкус были наняты после того, как увидели демонстрацию объекта.
ENIAC 1946 года имел больше трубок, чем SSEC, и был быстрее в некоторых операциях, но изначально был менее гибким, и его приходилось перенастраивать для каждой новой проблемы. В конце 1948 года было объявлено о новом умножителе IBM 604 , в котором использовалась новая технология ламп, которая уже сделала громоздкие лампы SSEC устаревшими. К маю 1949 года был анонсирован электронный калькулятор с карточным программированием , который поступил в продажу в сентябре. По сути, это была сильно уменьшенная версия технологии SSEC, позволяющая клиентам выполнять аналогичные вычисления. [6] Даже к концу 1948 года ограниченная электронная память SSEC рассматривалась как проблема, [15] и вскоре IBM лицензировала ламповую технологию Уильямса , разработанную на Manchester Baby в Манчестерском университете Виктории . [6] : 168 Последующие компьютеры будут иметь электронную оперативную память , и фактически возможность выполнять инструкции из регистров процессора обычно не была принята. От 77-битного программного слова также отказались в пользу меньшего количества битов, но гораздо более быстрой работы.
К 1951 году Ferranti Mark I продавался в Великобритании как коммерческий компьютер, использующий ламповую технологию Уильямса, за ним в США последовал UNIVAC I , использующий память с линией задержки . Эти технологии памяти позволили сделать функции хранимых программ более практичными. Концепция хранимой программы была впервые широко опубликована в 1945 году в первом проекте отчета о EDVAC и стала известна как архитектура фон Неймана . EDVAC (впервые запущенный в 1949 году) был преемником ENIAC, разработанным командой, которая затем продавала UNIVAC .
SSEC действовал до августа 1952 года, когда он был демонтирован, поскольку устарел из-за полностью электронных компьютеров. Компьютер IBM 701 , известный как «Defense Calculator», был установлен в той же комнате во время его публичного дебюта 7 апреля 1953 года. [30] В июле 1953 года был анонсирован гораздо менее дорогой (и даже более продаваемый) IBM 650 , который был разработан той же командой Endicott, которая разработала SSEC. [31]
SSEC был первым действующим компьютером, способным обрабатывать собственные хранимые инструкции точно так же, как данные, модифицировать их и действовать в зависимости от результата.