Как перфокарты научили машины хранить команды и данные?

Перфокарты научили машины хранить команды и данные, потому что положение отверстия можно было однозначно прочитать механическим или электрическим способом. В ткацком станке цепь карт определяла, какие нити поднять на каждом шаге, а в табуляторе отверстия обозначали признаки человека или величины для подсчёта. Впервые сложная последовательность действий отделилась от рук оператора и стала переносимым носителем.

Почему отверстие удобно машине

Человеку понятны слова и рисунки, но механизм легче различает два состояния: материал есть или его нет. Щуп упирается в картон либо проходит сквозь отверстие. Электрический контакт остаётся разомкнутым либо замыкается. Такое различие устойчиво, его можно повторить много раз и проверить на свет.

Сама карта ничего не вычисляет. Она хранит набор решений, принятых при пробивке. Смысл возникает из соглашения о позициях: один столбец отвечает за определённый параметр, строка – за значение, а порядок карт – за последовательность обработки. Поэтому перфокарта является не просто дырявым листом, а физической записью по заранее установленному коду.

Как карты управляли жаккардовым станком

В начале XIX века система Жозефа Мари Жаккара упростила производство сложных узоров. Для каждого прохода челнока карта задавала, какие нити основы поднять. Щупы проверяли ряд позиций. Там, где отверстие позволяло щупу пройти, соответствующий крючок мог участвовать в подъёме; сплошное место оставляло нить в другом положении.

Карты соединяли в длинную петлю. Повторив последовательность, ткач повторял раппорт узора. Чтобы изготовить другой рисунок, не требовалось перестраивать весь станок: достаточно было заменить цепь. Важно, что носитель описывал не готовую ткань, а действия машины во времени.

Была ли это компьютерная программа

Сходство с программой действительно есть: последовательность внешних инструкций управляет устройством. Но станок не был универсальным компьютером. Он не складывал числа, не выполнял условные переходы и не менял правила для произвольной задачи. Карты задавали специализированную операцию подъёма нитей.

Точнее считать жаккардовый станок важным примером программируемого управления. Он показал, что сложность результата можно вынести из механики в сменный набор команд. Позднее эта идея помогла представить вычислительную машину, где карточки задают уже арифметические операции.

Что увидел в перфокартах Бэббидж

Чарльз Бэббидж проектировал Аналитическую машину как общее вычислительное устройство. Он предполагал использовать карты разных типов: одни определяли операции, другие – перемещение чисел между памятью и вычислительным блоком. Набор можно было подготовить заранее и подавать машине в нужном порядке.

Это был шаг от жёстко закреплённой функции к архитектуре, где одна и та же машина решает разные задачи в зависимости от инструкций. Подробнее взаимосвязь памяти, «мельницы» и карт разобрана в статье об Аналитической машине Бэббиджа. Полностью построить её в XIX веке не удалось, но сама схема оказалась дальновидной.

Как карта превратилась из команды в анкету

Для переписи населения США 1890 года Герман Холлерит применил перфокарты иначе. Отверстия кодировали данные о человеке: возрастную группу, пол, семейное положение и другие признаки. Сведения переносили из переписного листа на карту, затем электрический табулятор считывал позиции и увеличивал соответствующие счётчики.

Оператор помещал карту в пресс. Контакты проходили через отверстия к проводящей поверхности, замыкали цепи и приводили в действие электромагнитные счётчики. Сортировочное устройство помогало группировать карты для следующего подсчёта. Один носитель можно было обработать несколько раз, задавая разные вопросы к одному набору данных.

Почему это изменило работу с большими массивами

Ручной подсчёт миллионов переписных записей занимает годы и затрудняет перекрёстные сравнения. Карточная система разделила процесс на этапы: сбор сведений, кодирование, машинный подсчёт, проверку и сортировку. Ошибки не исчезли, но их стало легче локализовать. Можно было перепробить одну карту, а не переписывать всю таблицу.

Так возникла промышленная обработка данных. Компании применяли карты для расчёта зарплаты, учёта запасов, страхования и статистики. Позднее стандартная карта с 80 колонками стала привычным носителем в вычислительных центрах. История баз данных начинается не только с программ, но и с практики организованного машинного учёта.

Чем команда отличается от данных

Физически отверстия могли выглядеть одинаково. Различие определялось тем, как устройство и оператор их интерпретировали. Карта данных сообщала машине, над какими значениями работать. Карта команды указывала, что с ними сделать. В некоторых системах назначение было жёстко задано форматом, в других колода включала и программу, и входные сведения.

Так проявилась фундаментальная идея вычислительной техники: содержание носителя зависит не от материала, а от правил чтения. Один и тот же картон способен представлять букву, число, условие или операцию, если позиции получили соответствующий код.

Почему колода была неудобной

Перфокарты занимали место, мялись, рвались и выпадали из порядка. Программа на тысячи строк превращалась в тяжёлую коробку. Исправление требовало заменить карту, а затем убедиться, что она возвращена в правильное место. Скорость чтения ограничивалась механической подачей.

При этом видимость имела преимущество: оператор мог держать носитель в руках, подписывать край и сравнивать отверстия с шаблоном. Переход к магнитной памяти увеличил плотность и скорость, но сделал состояние данных недоступным непосредственному взгляду.

Что сохранилось после исчезновения перфокарт

Современная флеш-память устроена иначе, однако наследует разделение носителя, кода и машины чтения. Программа хранится вне механизма и загружается при необходимости. Данные имеют формат, который позволяет автоматически выделять поля. Обработка разбивается на ввод, проверку, вычисление и вывод.

Перфокарта стала переходным предметом между ремеслом и цифровой системой. В станке она управляла последовательностью физических движений, у Бэббиджа обещала задавать вычисление, у Холлерита превратила население в обрабатываемый массив признаков. Этот путь подготовил мысль о том, что машине можно передать не только число, но и инструкцию, как с ним поступить.