Для полноты картины упомянем два события, произошедшие до нашей эры: первые счеты — абак, изобретенные в древнем Вавилоне за 3000 лет до н. э., и их более «современный» вариант с косточками на проволоке, появившийся в Китае примерно за 500 лет также до н. э.
«Механическая» эра (нулевое поколение) в эволюции ВТ связана с механическими, а позже — электромеханическими вычислительными устройствами. Основным элементом механических устройств было зубчатое колесо. Начиная с XX века роль базового элемента переходит к электромеханическому реле. Не умаляя значения многих идей «механической» эры, необходимо отметить, что ни одно из созданных устройств нельзя с полным основанием назвать вычислительной машиной в современном ее понимании. Чтобы подчеркнуть это, вместо термина «вычислительная машина» будем использовать такие слова, как «вычислитель», «калькулятор» и т. п.
Хронология основных событий «механической» эры выглядит следующим образом.
1492 год.В одном из своих дневников Леонардо да Винчи приводит рисунок тринадцатиразрядного десятичного суммирующего устройства на основе зубчатых колес.
1623 год.Вильгельм Шиккард (Wilhelm Schickard, 1592-1635), профессор университета Тюбингена, разрабатывает устройство на основе зубчатых колес («считающие часы») для сложения и вычитания шестиразрядных десятичных чисел. Было ли устройство реализовано при жизни изобретателя, достоверно неизвестно, но в 1960 году оно было воссоздано и проявило себя вполне работоспособным.
1642 год.Блез Паскаль (Blaise Pascal, 1623-1663) представляет «Паскалин» — первое реально осуществленное и получившее известность механическое цифровое вычислительное устройство. Прототип устройства суммировал и вычитал пятиразрядные десятичные числа. Паскаль изготовил более десяти таких вычислителей, причем последние модели оперировали числами длиной в восемь цифр.
1673 год.Готфрид Вильгельм Лейбниц (Gottfried Wilhelm Leibniz, 1646-1716) создает «пошаговый вычислитель» — десятичное устройство для выполнения всех четырех арифметических операций над 12-разрядными десятичными числами. Результат умножения представлялся 16 цифрами. Помимо зубчатых колес в устройстве использовался новый элемент — ступенчатый валик.
1786 год.Немецкий военный инженер Иоганн Мюллер (Johann Mueller, 1746-1830) выдвигает идею «разностной машины» — специализированного калькулятора для табулирования логарифмов, вычисляемых разностным методом. Калькулятор, построенный на ступенчатых валиках Лейбница, получился достаточно небольшим (13 см в высоту и 30 см в диаметре), но при этом мог выполнять все четыре арифметических действия над 14-разрядными числами.
1801 год.Жозеф Мария Жаккард (Joseph-Marie Jacquard, 1752-1834) строит ткацкий станок с программным управлением, программа работы которого задается с помощью комплекта перфокарт.
1832 год.Английский математик Чарльз Бэббидж (Charles Babbage, 1792-1871) создает сегмент разностной машины, оперирующий шестиразрядными числами и разностями второго порядка. Разностная машина Бэббиджа по идее аналогична калькулятору Мюллера.
1834 год.Пер Георг Шутц (Per George Scheutz, 1785-1873) из Стокгольма, используя краткое описание проекта Бэббиджа, создает из дерева небольшую разностную машину.
1836 год.Бэббидж разрабатывает проект «аналитической машины». Проект предусматривает три считывателя с перфокарт для ввода программ и данных, память (по Бэббиджу – «склад») на пятьдесят 40-разрядных чисел, два аккумулятора для хранения промежуточных результатов. В программировании машины предусмотрена концепция условного перехода. В проект заложен также и прообраз микропрограммирования – содержание инструкций предполагалось задавать путем позиционирования металлических штырей в цилиндре с отверстиями. По оценкам автора, суммирование должно было занимать 3 с, а умножение и деление – 2 - 4 мин.
1843 год. Георг Шутц совместно с сыном Эдвардом (Edvard Scheutz, 1821-1881) строят разностную машину с принтером для работы с разностями третьего порядка.
1871 год.Бэббидж создает прототип одного из устройств своей аналитической машины — «мельницу» (так он окрестил то, что сейчас принято называть центральным процессором), а также принтер.
1885 год.Дорр Фельт (Dorr E. Felt, 1862-1930) из Чикаго строит свой «комптометр» — первый калькулятор, где числа вводятся нажатием клавиш.
1890 год.Результаты переписи населения в США обрабатываются с помощью перфокарточного табулятора, созданного Германом Холлеритом (Herman Hollerith, 1860-1929) из Массачусетсского технологического института.
1892 год.Вильям Барроуз (William S. Burroughs, 1857-1898) предлагает устройство, схожее с калькулятором Фельта, но более надежное, и от этого события берет старт индустрия офисных калькуляторов.
1937 год.Джорж Стибитц (George Stibitz, 1904-1995) из Bell Telephone Laboratories демонстрирует первый однобитовый двоичный вычислитель на базе электромеханических реле.
1937 год.Алан Тьюринг (Alan M. Turing, 1912-1954) из Кембриджского университета публикует статью, в которой излагает концепцию теоретической упрощенной вычислительной машины, в дальнейшем получившей название машины Тьюринга.
1938 год.Клод Шеннон (Claude E. Shannon, 1916-2001) публикует статью о реализации символической логики на базе реле.
1938 год.Немецкий инженер Конрад Цузе (Konrad Zuse, 1910-1995) строит механический программируемый вычислитель Z1 с памятью на 1000 бит. В последнее время Z1 все чаще называют первым в мире компьютером.
1939 год.Джордж Стибитц и Сэмюэль Вильяме (Samuel Williams, 1911-1977) представили Model I — калькулятор на базе релейной логики, управляемый с помощью модифицированного телетайпа, что позволило подключаться к калькулятору по телефонной линии. Более поздние модификации допускали также определенную степень программирования.
1940 год.Следующая работа Цузе — электромеханическая машина Z2, основу которой составляла релейная логика, хотя память, как и в Z1, была механической.
1941 год.Цузе создает электромеханический программируемый вычислитель Z3. Вычислитель содержит 2600 электромеханических реле. Z3 — это первая попытка реализации принципа программного управления, хотя и не в полном объеме (в общепринятом понимании этот принцип еще не был сформулирован). В частности, не предусматривалась возможность условного перехода. Программа хранилась на перфоленте. Емкость памяти составляла 64 22-битовых слова. Операция умножения занимала 3-5 с.
1943 год.Группа ученых Гарвардского университета во главе с Говардом Айке-ном (Howard Aiken, 1900-1973) разрабатывает вычислитель ASCC Mark I (Automatic Sequence-Controlled Calculator Mark I) — первый программно управляемый вычислитель, получивший широкую известность. Длина устройства составила 18м, а весило оно 5 т. Машина состояла из множества вычислителей, обрабатывающих свои части общей задачи под управлением единого устройства управления. Команды считывались с бумажной перфоленты и выполнялись в порядке считывания. Данные считывались с перфокарт. Вычислитель обрабатывал 23-разрядные числа, при этом сложение занимало 0,3 с, умножение — 4 с, а деление — 10 с.
1945 год.Цузе завершает Z4 — улучшенную версию вычислителя Z3. По архитектуре у Z4 очень много общих черт с современными ВМ: память и процессор представлены отдельными устройствами, процессор может обрабатывать числа с плавающей запятой и, в дополнение к четырем основным арифметическим операциям, способен извлекать квадратный корень. Программа хранится на перфоленте и считывается последовательно.
Не умаляя важности каждого из перечисленных фактов, в качестве важнейшего момента «механической» эпохи все-таки выделим аналитическую машину Чарльза Бэббиджа и связанные с ней идеи.