Хронология вычислительных машин

Марк Бредер
Что представлял собой первый компьютер, и кто построил его? Это вопрос определения, а не факта. Компьютер, как мы понимаем это слово сейчас, продукт длительной эволюции, а не просто изобретение. Чтобы помочь вам определится в этом вопросе самостоятельно, для себя, я и написал этот цикл статей.
XVII…XVIII век
1623
Вильгельм Шикард (1592…1635) создал «Вычисляющие часы». Это была 6-ти разрядная машина, которая могла складывать и вычитать числа, и информировала пользователя о переполнении с помощью звонка (по непроверенной информации, таким образом, Шикард мог производить вычисления над семизначными числами). Сама машина и ее чертежи были потеряны и забыты во время войны, сотрясавшей приблизительно в тот период Европу. Однако в 1935 году чертежи были найдены… только для того, чтобы быть потерянными снова, по причине Второй Мировой войны. Злоключения машины Шикарда закончились лишь в 1956, когда ее чертежи были заново обнаружены тем же человеком! В 1960 группа энтузиастов построила машину и на практике удостоверилась, что она работает.
1644…1645
Блез Паскаль (1623…1662) в Париже создал «Паскалин». Эта пятиразрядная машина (впоследствии Паскаль создал и восьмиразрядный вариант) использовала усовершенствованный метод Шикарда, однако не могла вычитать, и, возможно, была менее надежна, чем более простой механизм «Вычисляющих часов». Несмотря на это, истории было угодно так, что про машину Шикарда все забыли, а Паскаль стал широко известен как основатель концепции вычислительных машин. Он построил достаточно много устройств и продал приблизительно 10…15 из них, часть из которых дошли до наших дней. Патенты были тогда делом далекого будущего, и некоторые особо предприимчивые современники ученого довольно успешно клонировали его детище.
1668
Англичанин сэр Сэмюэль Морланд (1625…1695) создал недесятичную складывающую машину, призванную работать с английской валютой. Пользователь вводил слагаемые с помощью некоего подобия наборных дисков.
1674
Готфрид Вильгельм фон Лейбниц (1646…1716) разработал «пошаговый вычислитель», воплощенный в готовое устройство человеком по имени Оливер из Парижа. Пошаговый вычислитель использовал принцип подвижных грузов и мог умножать операнды до 5 и 12 знаков с результатом до 16 знаков. Пользователь должен был повернуть рычаг для каждой цифры в каждом числе, эти повороты затем преобразовывались в последовательность сложений. Механизм требовал от пользователя постоянных поправок и срабатывал не всегда. Так как пошаговый вычислитель не нашел в то время почти никакого практического применения, он был оставлен на чердаке и обнаружен лишь в 1879 году рабочим, чинившим крышу.
1775
Англичанин Чарльз Эрл Стенхоуп III построил успешный аналог умножающего калькулятора, аналогичного машине Лейбница.
1770…1776
Мэтьюс Хан из Германии также (но независимо от Стенхоупа) построил умножающий калькулятор.
1786
Дж. Мюллер сформулировал идею устройства, которое в XX веке назовут дифференциальным анализатором. Мюллеру не удалось найти деньги на постройку машины и о его проекте вскоре забыли.
XIX век
1820
Шарль Ксавье Томас де Кольмар (1785…1870) создал Арифмометр, первый массово производимый калькулятор. Он позволял производить умножение, используя принцип Лейбница, и являлся подспорьем пользователю при делении чисел. Это была самая надежная машина в те времена; она не зря занимала место на столах счетоводов Западной Европы. Арифмометр так же поставил мировой рекорд по продолжительности продаж последняя модель была продана в начале XX века.
1822
Чарльз Беббидж (1792…1871) заново изобрел дифференциальный анализатор. В это же время он начал свой спонсируемый государством проект, целью которого была постройка одного такого устройства.
1832
Беббидж и Джозеф Клемент построили прототип одного из сегментов своего устройства, который мог оперировать 6-ти разрядными числами и дифференциалами второго порядка.
Законченная машина, которая была бы размером с комнату, должна была работать с дифференциалами шестого порядка при 20-ти разрядных числах и дифференциалами третьего порядка при 30-ти разрядных числах. Каждая операция сложения должна была проходить в две фазы; вторая фаза имела целью следить за порядком результата первой. Результаты должны были выводиться на мягкую металлическую матрицу для печатного станка.
К сожалению, финансирование проекта «прикрыли», и кроме этого сегмента ничего больше построено не было.
1834
Житель Стокгольма Джордж Шойтц, прочтя краткое описание проекта Беббиджа, построил из дерева модель дифференциального анализатора.
1834
Беббидж продумал и начал разработку Аналитической Машины. Была бы машина построена или не была, ее возможность стать первым в мире компьютером зависела от определения самого слова «компьютер». В Аналитической Машине отсутствовало одно основное свойство сегодняшних компьютеров «концепция хранимой программы», которая необходима для того, чтобы считать вычислительную машину компьютером. Программа должна храниться в только читаемой (read-only) памяти, например, в виде перфокарт. (В этом цикле статей такие машины будут далее именоваться программируемыми калькуляторами.)
Беббидж продолжал работу долгие годы, но после 1840 года изменения в первоначальном дизайне были крайне незначительны. Машина могла бы оперировать 40-разрядными числами; процессор должен был иметь два «аккумулятора» для хранения промежуточных результатов и несколько вспомогательных. Кроме того, в машине присутствовал «склад» (память), в котором могли храниться вплоть до ста чисел. Было предусмотрено несколько устройств для чтения перфокарт (на них должны были записываться как программы, так и данные). Еще одно достижение Беббиджа в программах могли использоваться переходы. Присутствовал также и прообраз микропрограммирования – значение инструкций задавалось с помощью позиционирования металлических штырей в цилиндре с отверстиями, который назывался «контрольный цилиндр».
Машина складывала за 3 секунды, а операции умножения и деления занимали 2…4 минуты.
1842
Проект Беббиджа официально закрыт из-за многочисленных превышений планируемых затрат и неприемлемой для спонсоров длительности разработки.
1847…1849
Беббидж разработал улучшенную и упрощенную версию дифференциального анализатора, которая могла оперировать дифференциалами 7-ого порядка и 31-разрядными числами, но никто не согласился дать денег на постройку устройства.
1853
К удовольствию Беббиджа Шойтц построил первый полноразмерный дифференциальный анализатор. Машина работала с 15-ти разрядными числами и дифференциалами четвертого порядка. Вывод производился на печатную матрицу по принципу Беббиджа. Чуть позже лондонской фирмой Brian Donkin была построена вторая машина.
1858
Первый дифференциальный анализатор куплен обсерваторией Дадли в городе Олбени, штат Нью-Йорк, а второй – британским правительством. Машина из Олбени использовалась для производства наборов астрономических таблиц, но директор обсерватории был вскоре уволен за столь экстравагантную покупку, и машина больше никогда не использовалась по-серьезному, закончив свои дни в музее. Вторая же машина прожила долгую и полезную жизнь.
1871
Беббидж создал прототипы процессора и печатающего устройства.
1878
Житель Нью-Йорка Рамон Вериа изобрел калькулятор со встроенной таблицей умножения, который был намного быстрее всех своих предшественников. Но изобретатель не хотел запустить свое устройство в массовое производство. Его целью было доказать, что испано-говорящие жители США могут изобретать не хуже аноглоговорящих.
1885
Стал массово выпускаться более компактный, чем арифмометр, умножающий калькулятор. Он был одновременно и независимо друг от друга изобретен американцем Френком Болдуином и шведом из России Т. Одднером.
1886
Дорр Фелт (1862…1930) создал «Комптометр». Это первый калькулятор, где значения вводились путем нажатия клавиш. Это стало возможным благодаря тому, что механизм Фелта был достаточно быстр для проведения операции в то время, пока клавиша поднималась на свое обычное место.
1889
Фелт изобрел первый настольный печатающий калькулятор.
1890
Первый раз результаты всеамериканской переписи населения обрабатывались с помощью вычислительных машин перфокартных табуляторов Германа Холерита (1860…1929). Это послужило началом индустрии перфокарт. Еще один прецедент – перфокарты впервые стали читаться при помощи электрических машин.
1892
Вильям С. Барроуз (1857…1898) создал машину, аналогичную Комптометру Фелта, но более надежную, тем самым, положив начало индустрии офисных калькуляторов.
1900…1939 гг.
1906
Генри Беббидж, сын Чарльза, при содействии фирмы R.W. Munro построил процессор отцовской Аналитической машины. Процессор работал безукоризненно, но целиком аналитическая машина так и не была построена никогда.
1920
Юджин Кариссан сконструировал машину для факторизации целых чисел, механизм которой был основан на его собственной конструкции, представлявшей собой 14 соединенных между собой металлических колец.
1926
Деррик Генри Леммер также сконструировал машину для факторизации целых чисел, но основанную на 19-ти велосипедных цепях. Более поздний вариант его машины использовал вместо цепей кинопленку с отверстиями по краям.
1931…1932
Э. Винн-Вильямс использовал заполненные газом трубки в своем двоичном цифровом счетчике, который затем использовался при различных физических опытах.
1932
Леммер добавил оптический считыватель в свою машину для факторизации чисел. Теперь устройство могло производить 5000 операций в секунду.
1935
Корпорация IBM представила миру IBM 601 – машину, арифметическое устройство которой было построено на реле и было способно проводить операцию умножения за 1 секунду. Небывалая по тем временам мощность и скорость машины снискали ей огромную популярность не только среди ученных, но и среди бизнесменов. Всего было построено более полутора тысяч компьютеров этой модели.
1937 (июнь)
Конрад Цьюз (1910…1995) записал в своем дневнике основную мысль концепции «хранимой программы».
1937 (ноябрь)
Джордж Стибитц (1904…1995), сотрудник Bell Labs, сконструировал у себя дома, на кухне, K-Model, машину, демонстрирующую действие 1-битового двоичного сумматора на основе реле.
1937
Алан М. Тьюринг (1912…1954) издал научный труд, решающий многие математические проблемы построения компьютеров. Описанный им теоретический сильно упрощенный компьютер известен сейчас как машина Тьюринга.
1938 (ноябрь)
Мариан Режевски (1906…?), работавший на польское Бюро Шифров, завершил создание «Бомбы» – машины, которая, используя электромеханическое логическое устройство, подбирала комбинации букв для взлома немецкого кода Enigma.
Устройство Энигмы представляло собой серию роторов с 26-ю контактами (один контакт на каждую букву алфавита). Последовательность роторов и их настройки периодически меняли (что являлось «ключом»). Бомба имела аналогичное устройство и пыталась найти нужную последовательность роторов, сравнивая уже открытый текст (угаданный) с соответствующими ему частями кода.
Но через месяц немцы добавили в Энигму еще несколько роторов, и Польша, не имея средств на усовершенствование Бомбы, передала все наработки англичанам и французам.
1938
Клод Э. Шеннон (р. 1916) завершил работу по имплементации символьной логики при помощи реле.
1938
Цьюз завершил работу над прототипом электромеханического двоичного программируемого калькулятора V1 (после войны он был переименован в Z1). Эта машина могла работать с плавающей точкой и отрицательными числами.
1939…1945 гг.
1939 (ноябрь)
Джон В. Атанасофф (1903…1995) и студент колледжа штата Айова (теперь это Государственный Университет штата Айова) Клиффорд Берри (?…1963) построили прототип 25-битного сумматора. Это была первая в истории машина, использующая для вычислений вакуумные трубки. Для хранения операндов была предназначена память на 2 25-битных слова в форме т.н. аккумуляторов (с цепями обновления на дополнительных вакуумных трубках – первая в истории регенерируемая память). Устройство ввода как таковое отсутствовало, пользователю приходилось вводить значения напрямую в память, подключая провода к разъемам аккумуляторов.
1939 (ноябрь)
В Bell Labs Сэмюэль Вильямс и Джордж Стибитц завершили работу над калькулятором, имеющим возможность оперировать комплексными числами. Машина была названа Complex Number Calculator, а в последствии переименована в Model I Relay Calculator. Логическое устройство базировалось на основе технологий, применяемых в телефонных станциях того времени, и использовало более 450 реле. Десятичные числа были представлены в виде т.н. Plus 3 BCD; то есть десятичному нулю соответствовало двоичное число 0011, единице – 0100 и так далее до 9, которой соответствовал двоичный код 1100. Такая схема позволила ученым существенно сократить количество используемых реле.
Управление машиной могло осуществляться удаленно при помощи трех клавиатур, размещенных в разных частях здания и устроенных наподобие телетайпа, однако в каждый конкретный момент времени могла использоваться только одна клавиатура.
1939
Цьюз и Шреер начали работу над V2 (Z2) – усовершенствованной версией машины Z1 с новым арифметическим устройством на базе релейной логики. Проект был вскоре приостановлен на год в связи с началом Второй Мировой войны.
1940
Тьюринг и Гордон Велшман (1905…?), работая на Государственную Школу Кодов и Шифров Великобритании, расположенную в ныне знаменитом местечке Блетчли Парк, успешно усовершенствовали дизайн «Бомбы», добавив в эту машину дополнительные логические цепи, что позволило значительно снизить процент ошибок.
1940
Цьюз был демобилизован из фашистской армии, и завершил Z2. Эта машина работала гораздо лучше чем Z1, но была менее надежна.
1940 (сентябрь)
Стибитц на математической конференции в Ганновере, штат Нью-Гемпшир продемонстрировал удаленное управление калькулятором комплексных чисел через телетайп.
1941 (Лето)
Атанософф и Берри завершили специализированный калькулятор для решения систем линейных уравнений, названный позднее ABC (Atanasoff-Berry Computer).
Когда Соединенные Штаты вступили во Вторую Мировую войну, Атанасофф покинул колледж штата Айова и прекратил работу над вычислительной техникой. ABC был забыт и разобран на детали в 1946, когда на складе, где он стоял, потребовалось освободить место.
1941 (декабрь)
Работая теперь при ограниченной поддержке DVL (Германский исследовательский институт аэронавтики), Цьюз построил Z3 – первый программируемый калькулятор. Он мог работать с числами, содержащими плавающую точку, семибитную экспоненту и 14-битную мантиссу. Память на базе полутора тысяч реле могла хранить 64 слова. Арифметическое и контрольное устройства содержали еще 1200 реле. По размерам машина походила на достаточно большой шкаф.
1943 (январь)
Говард Айкен (1900…1973) и команда из IBM в Гарвардском Университете, в городе Кембридж, штат Массачусетс, построили ASCC Mark I (Automatic Sequence-Controlled Calculator Mark I) также известный как Harvard Mark I. Эта машина стала первым широко известным программируемым калькулятором.
Машина была длиною в 51 фут (около 15 метров), весила 5 тонн и состояла из 750 тысяч частей. В машине имелось 72 аккумулятора, каждый из которых содержал свое собственное арифметическое устройство и механический регистр емкостью в 23 цифры и 1 знаковый бит. Числа обрабатывались с фиксированной точкой, положение которой определялось с помощью специального переключателя. Функции ввода/вывода осуществляли несколько устройств для чтения перфокарт и печатающих устройств. Операция сложения занимала треть секунды, умножение – приблизительно 1 секунду.
Программы и данные читались отдельно друг от друга на разных ридерах перфокарт, кроме того, данные можно было вводить напрямую в регистры констант. Переходы в программах были недопустимы, но через некоторое время этот недостаток был исправлен.
1943 (апрель)
Макс Ньюман, Винн-Вильямс и их команда из Блетчли Парк завершили работу над Heath Robinson, машиной для взлома новых германских шифров, известных под кодовым названием «рыба».
1943 (апрель)
Джон Мокли (1907…1980), Дж. Преспер Эккерт (1919…1995) и Джон Брейнерд написали «Доклад об электронном дифференциальном анализаторе».
1943 (декабрь)
Томми Флауэрс и его команда из Блетчли Парк построили «Колос» – полностью электронный аналог машины Heath Robinson.
1944…1945
Цьюз почти завершил Z4 – полноразмерную вычислительную машину, которая включала в себя все его предыдущие разработки. Но так как ход войны переменился в явно худшую для Германии сторону, работу над машиной пришлось отменить, а то, что уже было построено, перевезли в баварскую деревушку Хинтерстайн и спрятали.
1945
Цьюз разработал язык программирования «Планкалькуль».
1945 (январь)
Джон фон Нейман (1903…1957), присоединившись к группе разработчиков ENIAC, описал устройство будущего компьютера EDVAC, где дал детальное определение концепции хранимой программы. С этой работы и началась т.н. «архитектура фон Неймана».
1945 (ноябрь)
Мокли, Эккерт и их команда завершили работу над машиной ENIAC. Но для войны было уже слишком поздно, да и первоначальный бюджет в 150 тысяч долларов был превышен втрое.
Все компоненты ENIAC’а были полностью электронными. Машина содержала 17468 вакуумных трубок и более 80 тысяч других компонентов. Вес ее составлял более 30 тонн, а занимаемая площадь равнялась тысяче квадратных футов. При работе машина использовала около 150 киловатт/час электроэнергии.
Память состояла из 20 аккумуляторов, соединенных между собой и с другими устройствами шинами данных и т.н. «программными линиями» для синхронизации. Каждый аккумулятор мог хранить десятиразрядное число (10 бит на каждую цифру) и один знаковый бит. Для хранения констант было предусмотрено 104 12-разрядных регистра, формирующих функциональную таблицу. 100 из них имели прямую адресацию. Тактовая частота составляла 100 килогерц.
Ввод программы осуществлялся через специальную панель переключателей и занимал обычно около недели времени.
1946…1952 гг.
1946 (февраль)
ENIAC представлен достопочтенной публике. Для пущего эффекта к нему приделали панель с множеством разноцветных лампочек.
1946 (июль…август)
В школе Мура прошел курс лекций на тему «Теория и техника разработки электронных компьютеров». В списке лекторов присутствовали Эккерт, Моукли, Стибитц, фон Нейман и Айкен.
1947 (июль)
Говард Айкен и его команда завершили постройку Harvard Mark II, большого калькулятора, использовавшего реле как для реализации 50 регистров с плавающей точкой, так и для арифметического устройства.
1947 (сентябрь)
Таракан (?…1947), забравшись в Harvard Mark II, привел к ошибкам при проведении операций с плавающей точкой. Обнаруживший его техник сделал следующую запись в лабораторном журнале «Сегодня обнаружен первый настоящий баг.» (Bug – жук, насекомое, в переносном смысле – ошибка в программе). К этой записи он приложил все бережно собранные останки насекомого.
И на самом деле, термин «баг» в своем компьютерном смысле в то время уже использовался. Одна из программистов Harvard Mark II Грейс Мюррей Хоппер (1906…1992) в последствии так часто рассказывала эту историю, что многие люди до сих пор считают, что именно она обнаружила таракана.
1947 (октябрь)
Фредди Си Вильямс (1911…1977) и Томас Килберн (1921…?), работая в Манчестерском Университете под руководством Ньюмана, создали новый тип цифровой памяти (возможно, идея принадлежала Пресперу Эккерту), которая была названа Трубкой Вильямса или CRT памятью. В ее основу был положен эффект остаточного заряда на экране электронно-лучевой трубки после попадания на нее электронного пучка. Такая память была не совсем надежна, но зато очень быстра (по тем временам) и дешева.
1947
Айкен заявил, что Соединенные Штаты нуждаются как минимум в шести ЭВМ.
1948 (январь)
Уоллес Эккерт (1902…1971) из IBM (однофамилец Преспера Эккерта) завершил работу над SSEC (Selective Sequence Electronic Calculator). Этот технологический гибрид содержал 8 регистров на вакуумных трубках, 150 слов памяти на реле и 66 замкнутых бумажных лент, хранящих в общей сложности 20 тысяч слов. Размер слова составлял 20 знаков.
1948 (январь)
Вильямс, Килберн и их команда построили прототип компьютера. Это была первая машина, которую каждый назвал бы компьютером, потому как именно в ней была полностью реализована концепция хранимой программы. Она не имела официального названия, но некоторые источники того времени называли ее Small-Scale Experimental Machine (Уменьшенная экспериментальная машина). Позднее она получила название Manchester Mark I.
1948 (осень)
Корпорация IBM представила программируемый калькулятор IBM 604. Машина читала перфокарту, проводила арифметические операции с высокой по тем временам скоростью и выводила результат на ту же перфокарту. Программирование осуществлялось с помощью панели переключателей.
1949 (апрель)
Память компьютера Manchester Mark I была увеличена до 128 40-битных слов. Была добавлена так называемая вторичная память на магнитных барабанах, хранящая дополнительные 1024 слова. Кроме того, добавлены два индексных регистра.
1949 (май)
Морис Уилкс и его команда из Кембриджа завершили EDSAC, компьютер, полностью соответствующий архитектуре фон Неймана. Тактовая частота EDSAC составляла 500 килогерц, а большинство инструкций выполнялись за полторы мили секунды.
1949 (август)
Преспер Эккерт и Моукли по заказу ВВС США построили BINAC (Binary Automatic Computer – Двоичный Автоматический Компьютер). Для большей надежности машина имела второй процессор и была очень компактна – каждый процессор занимал не более 4 квадратных футов пола.
1949 (сентябрь)
Айкен завершил работу над Harvard Mark III. Основным нововведением было раздельное хранение данных и инструкций.
1950 (май)
Группа ученных из Национальной Физической Лаборатории Великобритании завершила разработку Pilot ACE-пилотного проекта для Автоматической Вычислительной Машины. Большая часть Pilot ACE была разработана Аланом Тьюрингом в 1945…1947 годах.
1950
Машина Конрада Цьюза Z4 была закончена и начала работать в ETH (Федеральном Политехническом Институте) в Цюрихе. Там машина проработала более 5 лет. Вскоре Цьюз открыл свою фирму и успел продать около 300 машин, перед тем как был куплен концерном Siemens.
1951 (март)
Преспер Эккерт и Моукли построили UNIVAC и продали первый экземпляр департаменту переписей США. UNIVAC стал первым американским коммерческим компьютером.
1951
Грейс Мюррей Хоппер изобрела компилятор.
1952
Полностью завершен EDVAC. Эта машина имела 1024 44-битных слова ультразвуковой памяти и тактовую частоту 1 мегагерц.
1952
IBM’овский «Оборонный Калькулятор» (позднее переименованный в IBM 701) стал массово производиться в городе Поукипси, штат Нью-Йорк. Всего было построено 19 машин.
1952
Грейс Мюррей Хоппер написала первый компилятор A-0.