Автокодер
Автокодер — это любой из группы ассемблеров ряда IBM компьютеров 1950-х и 1960-х годов.Первые автокодеры, по-видимому, были первыми ассемблерами, предоставившими возможности макросов . [1]
Терминология
[ редактировать ]И автокодер , и несвязанный с ним автокод , термин той же эпохи, используемый в Великобритании для языков более высокого уровня, происходят от фразы автоматическое кодирование . Обычно это относилось к программам, которые облегчали создание числовых на машинном языке . кодов программ [2] «Автокодирование» встречается время от времени и может относиться к любой системе программирования. В некоторых кругах термин «автокодер» можно использовать в общем для обозначения того, что сейчас называется макроассемблером. [3]
История
[ редактировать ]Первые автокодеры были выпущены в 1955 году для IBM 702 . [4] и в 1956 году для почти совместимого IBM 705 . [5] Они были разработаны Роем Голдфингером, который ранее работал над ассемблером NYAP Нью-Йоркского университета (NYU). [6] [7] Эти машины представляли собой коммерческие машины с переменной длиной слова , как и многие компьютеры, для которых был выпущен автокодер.
Помимо 702 и 705, со временем появились автокодеры для IBM 1410 и 7010 . [8] [9] IBM 7030 (стрейч), 7070/7072/7074 , [10] [11] ИБМ 7080 , [12] и серия IBM 1400 . [13]
Автокодер, реализованный на IBM 1401
[ редактировать ]Система символьного программирования [14] (SPS) — ассемблер, предложенный, когда IBM первоначально анонсировала 1401 как компьютер, работающий только с перфокартами. У SPS была другая мнемоника и другой фиксированный формат ввода, чем у Autocoder. Ему не хватало функций Autocoder, и позже он обычно использовался только на машинах, в которых не было ленточных накопителей, то есть только с перфокартами. [15] [16]
1401 Автокодер [17] [18] является наиболее известным автокодировщиком, несомненно, отчасти благодаря общему успеху этой серии машин. Автокодер был основным языком этого компьютера, а его возможности макросов облегчали использование системы управления вводом/выводом , что облегчало бремя программирования. [19] [20] [21] Autocoder также имел возможность обрабатывать код, написанный для 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]
Копия исходных программ для SPS-1, SPS-2 и Autocoder была подарена Институту Бэббиджа Чарльза Университета Миннесоты в 1985 году Гэри Мокотоффом , автором SPS и соавтором Autocoder. [24]
Примечания
[ редактировать ]- ^ Соломон 1993, с. 8.
- ^ Хоппер 1955.
- ^ Пример см. Аллен 1981, с. 540.
- ^ Каталог авторских прав. Третья серия: 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» . Проверено 05 марта 2020 г.
- ^ Jump up to: а б Ван Флек, Том. «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 . Проверено 5 марта 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]