В качестве носителей информации при вводе и выводе Беббидж предполагал использовать перфорированные карточки (перфокарты) типа тех, что применял французский ткач и механик Ж.М. Жаккар (1752-1834) для управления работой ткацкого станка. Беббидж предусмотрел ввод в машину таблиц значений функций с контролем при вводе значений аргумента.
Выходная информация могла печататься, а также пробиваться на перфокартах, что давало возможность при необходимости снова вводить ее в машину.
Беббидж предложил также идею управления вычислительным процессом программным путем и соответствующую команду – аналог современной команды условного перехода: вопрос о выборе одного из двух возможных продолжений программы решался машиной в зависимости от знака некоторой вычисляемой величины.
Беббидж предусмотрел также специальный счетчик количества операций, который имеется у всех современных ЭВМ.
Таким образом, аналитическая машина Беббиджа была первой в мире программно- управляемой вычислительной машиной. Для этой машины были составлены и первые в мире программы, а первым программистом была Августа Ада Лавлейс (1815-1852) – дочь английского поэта Дж. Байрона. В ее честь один из современных языков программирования называется «Ада».
Современные ЭВМ по своей структуре очень близки к аналитической машине Беббиджа, но, в отличие от нее (и всех механических арифмометров), используют совершенно другой принцип реализации вычислений, основанный на двоичной системе счисления.
Двоичный принцип реализуется при помощи электромагнитного реле – элемента, который может находиться в одном из двух возможных состояний и переходить из одного состояния в другое при воздействии внешнего электрического сигнала.
Если в электромеханических арифмометрах использовались только энергетические свойства электричества, то в машинах, построенных на реле, электричество становится важнейшим и непосредственным участником вычислительного процесса.
Первая счетная машина, использующая электрические реле, была сконструирована в 1888 г. американцем немецкого происхождения Г. Холлеритом (1860-1929) и уже в 1890 г. применялась при переписи населения США. Эта машина, названная табулятором, имела в своем составе реле, счетчики, сортировочный ящик. Данные наносились на перфокарты, почти не отличающиеся от современных, в виде пробивок. При прохождении перфокарты через машину в позициях, где имелись отверстия, происходило замыкание электрической цепи, на соответствующих счетчиках прибавлялось по единице, после чего перфокарта попадала в определенное отделение сортировочного ящика.
В наши дни ЭВМ все шире применяются для управления сложным производством.
Развитие табуляторов и другой счетно-перфорационной техники позволило к концу 30-х – началу 40-х гг. нашего столетия построить такие универсальные вычислительные машины с программным управлением, у которых основными «считающими» элементами (по современной терминологии – элементная база) были электромеханические реле.
Релейные машины довольно долго находились в эксплуатации, несмотря на появление электронных. В частности, машина РВМ-1 конструкции советского инженера Н. И. Бессонова работала вплоть до 1965 г., однако релейные машины не могли долго конкурировать с электронными вычислительными машинами, так как росли требования к надежности и быстродействию.
Первые проекты электронных вычислительных машин появились лишь незначительно позднее проектов релейных машин, потому что необходимые для их создания изобретения были сделаны к концу 20-х гг. нашего столетия: в 1904 г. появилась двухэлектродная электронная лампа-диод; в 1906 г. – трехэлектродная электронная лампа-триод; в 1918 г. – электронное реле (ламповый триггер).
Первой электронной вычислительной машиной принято считать машину ЭНИАК (электронный числовой интегратор и вычислитель), разработанную в Пенсильванском университете в США. ЭНИАК была построена в 1945 г., она имела автоматическое программное управление, но внутреннее запоминающее устройство для хранения команд у нее отсутствовало.
Первой ЭВМ, обладающей всеми компонентами современных машин, была английская машина ЭДСАК, построенная в Кембриджском университете в 1949 г. На ней впервые был реализован принцип «хранимой программы», сформулированный в 1945-1946 гг. американским математиком Дж. Нейманом (1903-1957).
Этот принцип заключается в следующем:
команды и числа однотипны по форме представления в машине (записаны в двоичном коде);
числа размещаются в том же запоминающем устройстве, что и программа;
благодаря числовой форме записи команд программы машина может производить операции над командами.
Первой отечественной ЭВМ была малая электронная счетная машина (МЭСМ), разработанная в 1947-1951 гг. под руководством советского ученого, академика С. А. Лебедева (1902-1974), с именем которого связано дальнейшее развитие советской вычислительной техники.