В XIX веке английским математиком и инженером Чарльзом Бэббиджем был разработан проект вычислительной машины, которая предназначалась для автоматического проведения длинных цепочек вычислений. Конструкция его аналитической машины включала 50 тысяч деталей: зубчатых колес, рычагов и пружин, взаимодействовавших определенным образом. Совершенствуя и уточняя конструкцию машины, Бэббидж первым смог выделить необходимые для ее работы части:
- устройство для хранения чисел, как исходных, так и получающихся в результате вычисления;
- специальный вычислительный блок -- процессор;
- устройство для ввода и вывода информации.
В качестве средства хранения информации в аналитической машине использовалась перфокарта -- картонная прямоугольная пластина с рядами пробитых в ней дырочек. Каждый ряд состоял из двух частей, разделенных столбцом, содержащим отверстия во всех рядах. Первая часть представляла собой запись числа, вторая -- код команды, указывающей, что делать с числом.
В созданной Бэббиджем аналитической машине присутствовала хранимая в памяти машины программа ее работы. Меняя программу (перфокарту), можно было изменять порядок вычислений, то есть переходить от одной задачи к другой.
Главной особенностью конструкции этой машины является программный принцип работы.
Принцип программы, хранимой в памяти компьютера, считается важнейшей идеей современной компьютерной архитектуры. Суть идеи заключается в том, что
- программа вычислений вводится в память ЭВМ и хранится в ней наравне с исходными числами;
- команды, составляющие программу, представлены в числовом коде по форме ничем не отличающемся от чисел.