До появления магнитных лент и гибких дисков бумажная перфолента была основным способом ввода-вывода информации в вычислительной технике. Этот носитель прошёл путь от телеграфной связи до управления первыми электронными вычислительными машинами, оставив след в стандартах кодирования символов, которые используются до сих пор.
Физически перфолента представляла собой полосу бумаги (позже — полимера) с рядом отверстий, наносимых перфоратором и считываемых фотоэлементами или механическими щупами. Наличие или отсутствие дырок в заданных позициях кодировало бинарную информацию, что делало формат одновременно простым в производстве и надёжным для хранения.
От телеграфа к вычислительным машинам: хронология развития
Первые эксперименты с перфорированной лентой относятся к 1840-м годам, когда Александр Бейн патентовал химический телеграф, записывающий сигналы на промачиваемую бумагу. В 1874 году Эмиль Бодо создал 5-битовый код для телеграфной связи — именно он стал основой для будущих стандартов перфоленты.
В 1890 году Герман Холлерит использовал перфокарты для переписи населения США, но лента нашла применение позже — в телетайпах 1920-х годов. К 1940-м годам перфолента стала стандартным носителем для Colossus, ENIAC и Harvard Mark I. Последний считывал ленту со скоростью 3 символа в секунду, что казалось прорывом.
Золотой век перфоленты пришёлся на 1950–1970-е годы: миникомпьютеры серии PDP, HP 2100, Data General Nova использовали её как основной загрузочный и архивный носитель. В СССР перфолента широко применялась на машинах «Минск», «Урал», «БЭСМ» и в системах АСУ ТП.
Конструкция и физические параметры ленты
Стандартная перфолента имела ширину 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 сим/с, бесшумная
☑️ Проверка перфоленты перед загрузкой в считыватель
Применение в управлении станками и промышленности
Отдельная ниша — ЧПУ-станки (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 метров.