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