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

Физически перфолента представляла собой полосу бумаги (позже — полимера) с рядом отверстий, наносимых перфоратором и считываемых фотоэлементами или механическими щупами. Наличие или отсутствие дырок в заданных позициях кодировало бинарную информацию, что делало формат одновременно простым в производстве и надёжным для хранения.

От телеграфа к вычислительным машинам: хронология развития

Первые эксперименты с перфорированной лентой относятся к 1840-м годам, когда Александр Бейн патентовал химический телеграф, записывающий сигналы на промачиваемую бумагу. В 1874 году Эмиль Бодо создал 5-битовый код для телеграфной связи — именно он стал основой для будущих стандартов перфоленты.

В 1890 году Герман Холлерит использовал перфокарты для переписи населения США, но лента нашла применение позже — в телетайпах 1920-х годов. К 1940-м годам перфолента стала стандартным носителем для Colossus, ENIAC и Harvard Mark I. Последний считывал ленту со скоростью 3 символа в секунду, что казалось прорывом.

Золотой век перфоленты пришёлся на 1950–1970-е годы: миникомпьютеры серии PDP, HP 2100, Data General Nova использовали её как основной загрузочный и архивный носитель. В СССР перфолента широко применялась на машинах «Минск», «Урал», «БЭСМ» и в системах АСУ ТП.

📊 Какой формат перфоленты вам наиболее знаком?
5-отверстий (Baudot)
7-отверстий (ASCII)
8-отверстий (EBCDIC)
Никогда не видел перфоленту

Конструкция и физические параметры ленты

Стандартная перфолента имела ширину 11/16 дюйма (17,46 мм) для 5-канального формата и 1 дюйм (25,4 мм) для 7- и 8-канальных. Толщина бумажной основы составляла 0,08–0,1 мм, что обеспечивало необходимую жёсткость для проката по роликам считывателя.

Вдоль ленты проходили транспортные отверстия (sprocket holes) — меньшие по диаметру, расположенные посередине между кодовыми рядами. Они зацеплялись зубчатыми валиками и обеспечивали синхронное перемещение. Без них считывание «плыло», что приводило к ошибкам.

Материал эволюционировал: от обычной офисной бумаги к специальной «перфоленточной» с высокой белой степенью и минимальным пылообразованием. В 1960-х появилась Mylar (полиэстерная пленочная лента) — она выдерживала в 100 раз больше циклов прохода, не рвалась и не впитывала влагу.

⚠️ Внимание: бумажная перфолента крайне чувствительна к влажности. При относительной влажности выше 60 % лента набухает, меняет шаг отверстий и застревает в механизме считывателя. Хранение возможно только в герметичных контейнерах с силикагелем.

Стандарты кодирования: от Бодо к ASCII

5-канальный код Baudot (ITA-1) кодировал 32 комбинации — недостаточно для букв и цифр одновременно. Решили проблему двумя режимами: «буквы» и «цифры», переключаемыми спецсимволами. Это усложнило программирование, но экономил каналы.

7-канальный код ASCII-1963 (позже USASI X3.4-1968) дал 128 комбинаций — достаточно для латиницы, цифр, знаков препинания и управляющих кодов. 8-й канал добавили позже для бита чётности (parity bit), что позволило обнаруживать одиночные ошибки считывания.

В СССР использовался собственный стандарт ГОСТ 10859-64 — 7-канальный код, несовместимый с ASCII. Он размещал кириллицу в верхней половине таблицы, что создавало проблемы при обмене данными с зарубежными машинами до появления трансляторов.

Таблица кодов ГОСТ 10859-64 (фрагмент)

Код 0000000 — пробел|Код 0011111 — «А»|Код 0101111 — «Я»|Код 1111111 — удаление (DEL)|Полная таблица содержала 128 позиций с кириллицей в зонах 100xxxx–110xxxx

Сравнительная таблица основных форматов перфоленты

Параметр 5-канал (Baudot) 7-канал (ASCII) 8-канал (EBCDIC) ГОСТ 10859-64
Ширина ленты 17,46 мм 25,4 мм 25,4 мм 25,4 мм
Кодов на символ 5 бит + 2 режима 7 бит 8 бит 7 бит
Скорость чтения (макс.) 200 сим/с 300 сим/с 500 сим/с 300 сим/с
Основное применение Телекс, телетайпы Мини-ЭВМ, терминалы IBM мейнфреймы Советские ЭВМ, АСУ ТП
Бит чётности Нет Опционально (8-й канал) Встроен (8-й бит) Нет

Устройства ввода-вывода: перфораторы и считыватели

Перфораторы (punches) наносили отверстия ударом штока или термически. Механические модели (Teletype BRPE, Facit 4070) выдавали 50–150 символов в секунду с характерным грохотом. Термические перфораторы (Texas Instruments Silent 700) работали бесшумно, но требовали термочувствительную ленту.

Считыватели (readers) делились на механические (щуповые) и оптические. Механические — дешёвые, но изнашивали ленту за 50–100 проходов. Оптические (Photoelectric Tape Reader на PDP-8) считывали до 3000 сим/с без контакта, используя фотодиоды и лампы накаливания (позже — ИК-светодиоды).

Комбинированные блоки (ASR — Automatic Send-Receive) объединяли клавиатуру, принтер, перфоратор и считыватель в одном корпусе. Teletype Model 33 ASR стал «лицом» интерактивной вычислительной техники 1960–70-х: на нём писали первые программы на BASIC, играли в Star Trek и Colossal Cave Adventure.

  • 📟 Teletype Model 33 ASR — 10 сим/с, 7-канал, ASCII, вес 25 кг
  • 📟 Facit 4070 — 150 сим/с перфорация, 300 сим/с чтение, 8-канал
  • 📟 Фоточиталка Ф-1501 (СССР) — 1500 сим/с, оптическая, для ленты ГОСТ
  • 📟 HP 2753A — термическая печать + перфорация, 120 сим/с, бесшумная

☑️ Проверка перфоленты перед загрузкой в считыватель

Выполнено: 0 / 5

Применение в управлении станками и промышленности

Отдельная ниша — ЧПУ-станки (CNC). Первая числовая система управления Cincinnati Milacron Hydrotel (1952) читала 7-канальную перфоленту по стандарту EIA RS-274 (G-код). Лента содержала координаты X, Y, Z, скорость подачи и вспомогательные функции (M-коды).

В СССР перфолента для ЧПУ стандартизировалась как ГОСТ 20999-75. Формат позволял кодировать до 6 осей одновременно. Станки с ЧПУ серии 16К20, 1А611, вертикально-расточные машины 2М112 работали исключительно с перфолентой до внедрения гибких дисков в конце 1980-х.

Особенность промышленной перфоленты — усиленная кромка и часто полимерная основа. Лента должна была выдерживать вибрации, маслопару, температурные циклы в цехе. Специальные перфораторы (ОМС-1, ПУ-3) имели пылеудалители и проверку чётности «на лету».

⚠️ Внимание: при восстановлении старых ЧПУ-станков современные USB-эмуляторы перфоленты (например, HxC Floppy Emulator в режиме ленты) требуют точной настройки таймингов. Несовпадение тактового сигнала на 5 % вызывает «дрожание» привода и брак детали.

Причины ухода и современные альтернативы

К 1980-м годам перфолента уступила место гибким дискам 5,25″ и 3,5″, а затем — жестким дискам и сетевой загрузке. Причины: низкая плотность записи (~100 байт/метр), однократность записи (кроме стирания карандашом), механическая хрупкость, шум и низкая скорость.

Последним массовым применением стала загрузка микрокода на мейнфреймы IBM System/370 и DEC VAX в начале 1990-х. В авиации перфолента использовалась для загрузки навигационных баз в бортовой компьютер Boeing 747-400 до 1995 года.

Сегодня перфолента живет в ретро-вычислительной технике, музеях и единичных промышленных установках. Энтузиасты строят Arduino-эмуляторы перфоленты, позволяющие загружать программы на PDP-11, Altair 8800, Специалист с SD-карты. Проект Paper Tape Reader Project (GitHub) документирует открытые схемы оптических считывателей.

💡

Если нашли старую перфоленту — не сглаживайте её утюгом. Разогрейте паром на расстоянии 30 см, затем высушите под прессом между двумя листами картона. Это вернёт планарность без риска стереть отверстия.

💡

Перфолента задала логику последовательного доступа к данным, которая перенеслась в магнитные ленты, а затем — в концепцию потоков (streams) в современных ОС. Понимание её ограничений объясняет архитектуру Unix: «всё — файл», «программы — фильтры».

Часто задаваемые вопросы

Можно ли прочитать перфоленту без специализированного оборудования?

Да. Достаточно светосильного источника (планшет с белым экраном) и камеры с высоким разрешением. Сфотографируйте ленту на подсветке, затем обработайте снимок скриптом на Python (OpenCV) — распознавание отверстий даёт надёжный результат при качестве бумаги выше 70 %. Существуют готовые проекты: ptread, punched-tape-reader на GitHub.

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

Считайте количество кодовых каналов (ряд отверстий между транспортными). 5 каналов — скорее всего Baudot/ITA-2. 7 каналов — ASCII или ГОСТ 10859-64 (проверьте наличие кириллицы в верхних кодах). 8 каналов — EBCDIC или ASCII с битом чётности. Анализ частотности символов (например, пробел = 0000000 или 0100000) уточнит стандарт.

Почему на перфоленте были «лидеры» — пустые участки в начале и конце?

Лидер (leader) длиной 0,5–1 метр служил для намотки на приёмный барабан считывателя до начала данных. Трейлер (trailer) в конце позволял механике плавно остановиться, не срывая ленту с катушки. Также на лидере часто наносили рукой название программы, дату и автора — аналог метки тома.

Существует ли перфолента с возможностью многократной записи?

Повторная запись на бумажной ленте невозможна — дырок не «заклеишь». Однако в 1970-х выпускалась перезаписываемая магнитная лента в корпусе перфоленты (3M DC300-подобные картриджи для HP 2640), а также лента с магнитным покрытием поверх бумаги (Magnetic Tape Punched Card). Это гибриды, не нашедшие массового распространения.

Какую максимальную длину имела перфолента на катушке?

Стандартная катушка диаметром 8 дюймов (203 мм) с сердечником 2 дюйма вмещала до 300 метров ленты толщиной 0,1 мм. При плотности 10 строк/дюйм это давало ~120 000 символов (7-канал) или ~85 000 (5-канал). Крупные вычислительные центры использовали катушки 10,5 дюйма — до 450 метров.