Автокодер — это любой из группы ассемблеров ряда компьютеров IBM 1950-х и 1960-х годов. Первые автокодеры, по-видимому, были первыми ассемблерами, предоставившими возможности макросов . [1]
Терминология
И автокодер , и несвязанный с ним автокод , термин той же эпохи, используемый в Великобритании для языков более высокого уровня, происходят от фразы автоматическое кодирование . Обычно это относилось к программам, которые облегчали создание числовых кодов программ на машинном языке . [2] «Автокодирование» встречается время от времени и может относиться к любой системе программирования. В некоторых кругах слово «автокодер» может использоваться в общем для обозначения того, что сейчас называется макроассемблером. [3]
История
Первые автокодеры были выпущены в 1955 году для IBM 702 [4] и в 1956 году для почти совместимого IBM 705 . [5]
Они были разработаны Роем Голдфингером, который ранее работал над ассемблером NYAP Нью-Йоркского университета (NYU). [6] [7] Эти машины представляли собой коммерческие машины с переменной длиной слова , как и многие компьютеры, для которых был выпущен автокодер.
Система символического программирования [14] (SPS) — это ассемблер, предложенный, когда IBM первоначально объявила 1401 как компьютер, работающий только с перфокартами. У SPS была другая мнемоника и другой фиксированный формат ввода, чем у Autocoder. Ему не хватало функций Autocoder, и позже он обычно использовался только на машинах, в которых не было ленточных накопителей, то есть только с перфокартами. [15] [16]
Лист кодировки автокодера
1401 Autocoder [17] [18] является наиболее известным автокодером, несомненно, отчасти благодаря общему успеху этой серии машин. Автокодер был основным языком этого компьютера, а его возможности макросов облегчали использование системы управления вводом/выводом , что облегчало бремя программирования.[19] [20] [21] Автокодер также имел возможность обрабатывать код, написанный для SPS.
1401 был доступен в шести конфигурациях памяти с 1400, 2000, 4000, 8000, 12000 или 16000 шестибитных символов. Модель из 8000 символов была минимумом, необходимым для запуска полного приложения ассемблера Autocoder, включая IOCS. Однако ассемблер языкового подмножества был доступен для использования всего с 1400 позициями памяти. Загружаемый объектный файл на перфокартах или магнитной ленте можно было создать на модели на 8000 символов, которую затем можно было запустить на машине на 4000 символов. Ограниченное подмножество языков обрабатывало только перфокарты и требовало 4 прохода с промежуточными выводами перфокарт.
Влияние
Популярность Autocoder вдохновила других ассемблеров. «Easycoder» для Honeywell 200 , компьютера, похожего на 1401, напоминал Autocoder. Другие производители иногда создавали конкурирующие продукты, такие как NCR «National's Electronic Autocoder Technique» (NEAT). [22]
Университет штата Пенсильвания разработал компилятор «Dual Autocoder Fortran Translator» (DAFT) для IBM 7074 в 1960-х годах, который позволил чрезвычайно легко писать (в рамках одной программы) строки инструкций автокодера, свободно перемежающиеся строками кода Fortran. Это позволяло кодировать символьные машинные инструкции в программе на Фортране более высокого уровня, что было особенно полезно для оптимизации скорости внутренних циклов или для использования необычной архитектуры десятичных слов IBM 7074. [ нужна цитата ]
Bell Laboratories разработала программу под названием «Символический переводчик периферийного оборудования» (PEST), которая представляла собой кросс-ассемблер 1401, работавший на 709 / 709x и принимающий подмножество 1401 Autocoder. [16] [23]
^ Каталог записей авторских прав. Третья серия: 1956. Бюро авторских прав, Библиотека Конгресса. 1957. с. 305 . Проверено 23 августа 2019 г.
^ Система автокодера 705 - информационное руководство (PDF) , Справочная библиотека систем IBM (второе издание), IBM Corporation, февраль 1957 г., 22-6726-1
^ Голдфингер 1956.
↑ Энциклопедия компьютерных языков. Архивировано 16 сентября 2007 г., в Wayback Machine.
^ IBM 1410 Autocoder (PDF) , Справочная библиотека систем IBM (второе изд.), IBM Corporation, февраль 1964 г., C28-0309-1
^ Операционная система IBM 1410/700 (1410-PR-155) - Автокодер - 1410-AU-968 (PDF) , Справочная библиотека систем IBM (Третье изд.), IBM Corporation, ноябрь 1964 г., C28-0336-2
^ Справочное руководство - Четырехленточный автокодер IBM 7070/7074 (PDF) , Справочная библиотека систем IBM (второе изд.), IBM Corporation, апрель 1961 г., C28-6102-1
^ Справочное руководство - Системы программирования серии IBM 7070 - Автокодер (PDF) , Справочная библиотека систем IBM (первое издание), IBM Corporation, 1961, C28-6121-0
^ Справочное руководство - Системы программирования IBM 7080 - Процессор 7080: язык автокодера (PDF) , Справочная библиотека систем IBM (первое издание), IBM Corporation, 1962, C28-6263
^ 7010: Вейк 1964, с. 0160; 7030: «IBM Stretch (также известная как система обработки данных IBM 7030)», «Компиляторы и компьютеры: партнеры по производительности» (PDF); 7070: Том Ван Флек, «IBM 7070», третий обзор отечественных электронных цифровых вычислительных систем., Мартин Х. Вейк, «IBM 7070», Лаборатории баллистических исследований, Абердинский полигон, Мэриленд; 7080: [1]; Серия 1400: [2], Автокодер 1410 (PDF).
^ СИСТЕМА СИМВОЛИЧНОГО ПРОГРАММИРОВАНИЯ IBM 1401: ПРЕДВАРИТЕЛЬНЫЕ СПЕЦИФИКАЦИИ (PDF) , IBM, 1960, J28-200-1
^ Телен, Эд. «ИБМ-1401» . Проверено 5 марта 2020 г.
^ Аб Ван Флек, Том. «1401-е, которые я знал». multicians.org . Проверено 05 марта 2020 г.
^ Автокодер (на ленте) Спецификации языка и рабочие процедуры Программа IBM 1401 и 1460 1401-AU-037 (PDF) , Справочная библиотека систем IBM (первое издание), IBM Corporation, ноябрь 1964 г., C24-3319-0
^ Спецификации языка автокодера (на диске) IBM 1401, 1440 и 1460 (PDF) , Справочная библиотека систем IBM (Третье изд.), IBM Corporation, апрель 1966 г., C24-3258-2
^ Корпорация IBM. Исполнительное руководство по системе обработки данных IBM 1440 (PDF) . Проверено 8 марта 2020 г.
^ Соломон 1993, с. 8
^ "Энциклопедия компьютерных языков". Архивировано из оригинала 17 сентября 2007 г. Проверено 18 марта 2007 г..
^ Вейк 1964, с. 0202.
^ Корпорация IBM (1962). Каталог программ для IBM Data Processing Systems Индекс KWIC (PDF) . п. 248 . Проверено 05 марта 2020 г.
^ Гэри Мокотофф Коллекция списков программ IBM 1401, 1959-1961 гг.
Рекомендации
Аллен, Ф.Е., «История технологии языковых процессоров в IBM», IBM Journal of Research and Development, 25 (5), стр. 535–548 (сентябрь 1981 г.). [3]
Голдфингер, Рой, «Автокодер IBM Type 705». Труды Восточной объединенной компьютерной конференции, Сан-Франциско, 1956 г.
Хоппер, Грейс, «Автоматическое кодирование для цифровых компьютеров» на конференции по высокоскоростным компьютерам, штат Луизиана (1955 г.). Конференция по высокоскоростным компьютерам, Университет штата Луизиана, 16 февраля 1955 г., Remington Rand, Inc., 1955. [4]
Саломон, Дэвид (февраль 1993 г.). Чиверс, Ян Д. (ред.). Сборщики и грузчики (PDF) . Серия Эллиса Хорвуда «Компьютеры и их приложения» (1-е изд.). Чичестер, Западный Суссекс, Великобритания: Ellis Horwood Limited / Simon & Schuster International Group . ISBN 0-13-052564-2. Архивировано (PDF) из оригинала 23 марта 2020 г. Проверено 1 октября 2008 г.[5][6] (xiv+294+4 страницы)
Вейк, Мартин Х., Четвертый обзор отечественных электронных цифровых вычислительных систем, отчет BRL № 1227, январь 1964 г. (Лаборатории баллистических исследований, Абердинский полигон, Мэриленд). [7]
Внешние ссылки
Технические характеристики автокодера IBM 1401 J24-1434-2
Руководство по автокодеру IBM 1410 1964 года от Bitsavers