stringtranslate.com

Скоростное кодирование

Speedcoding , Speedcode или SpeedCo был первым языком программирования высокого уровня [a], созданным для компьютера IBM . [1] Язык был разработан Джоном У. Бэкусом в 1953 году для IBM 701 для поддержки вычислений с числами с плавающей точкой . [2]

Идея возникла из-за сложности программирования машины IBM SSEC , когда Бэкуса наняли для расчета астрономических положений в начале 1950 года. [3] Система speedcoding была интерпретатором и фокусировалась на простоте использования за счет системных ресурсов. Она предоставляла псевдоинструкции для общих математических функций: логарифмов, возведения в степень и тригонометрических операций. Резидентное программное обеспечение анализировало псевдоинструкции одну за другой и вызывало соответствующую подпрограмму. Speedcoding также была первой реализацией десятичных операций ввода-вывода. Хотя это существенно сокращало усилия по написанию многих заданий, время выполнения программы, написанной с помощью Speedcoding, обычно было в десять-двадцать раз больше, чем у машинного кода. [4] Интерпретатор занимал 310 слов памяти, около 30% памяти, доступной на 701. [1]

История и развитие

В августе 1952 года несколько десятков инженеров IBM и клиентов IBM 701 встретились в Покипси, штат Нью-Йорк, чтобы обменяться идеями и передовым опытом по программированию новых машин на ассемблере. Несколько участников выразили разочарование медленной природой программирования и отладки ассемблера и усомнились в полезности 701 в приложениях, где решения проблем требовались быстро или когда ценность решения оправдывала затраты времени вычислений, но не стоимость программирования и отладки. Участники также жаловались на проблемы с «масштабированием» или необходимостью религиозно отслеживать десятичную точку в арифметических операциях. [5]

Джон В. Шелдон, руководитель Технического вычислительного бюро IBM, присутствовавший на встрече, и другие посчитали, что «интерпретативная» система программирования, использующая операции с плавающей точкой, была лучшим решением этой проблемы. Шелдон попросил Джона Бэкуса, который ранее работал над транслятором кода CPC в SSEC , контролировать создание нового интерпретирующего языка программирования с плавающей точкой для внутреннего использования в IBM. Сам Бэкус ранее выражал интерес к улучшению методов программирования и заметил, что затраты на вычисления были примерно поровну разделены между стоимостью вычислений и стоимостью персонала по программированию, и что дополнительные расходы на тестирование сделали рабочую силу значительно большей статьей расходов. Начиная с 1953 года, Бэкус и пять его коллег разработали этот новый язык и назвали его «Speedcoding», где его использование вскоре распространилось за пределы IBM на клиентские установки системы 701. [5]

Синтаксис и семантика

Программы Speedcoding организованы как ряд инструкций, каждая из которых хранится в памяти как одно 72-битное слово данных. Инструкция обычно состоит из двух операций (OP 1 и OP 2 ) и 4 адресов памяти. Первая операция (OP 1 ) — это математическая или операция ввода/вывода, которая имеет 3 связанных адреса памяти, один или несколько из которых могут быть изменены в зависимости от характера операции. Математические операции включают в себя основные арифметические, квадратные корни и тригонометрические функции. Логические операции включают в себя функциональность для чтения, записи, пропуска и перемотки магнитной ленты , а также операции для взаимодействия с данными, хранящимися в памяти барабана . Вторая операция (OP 2 ) — это логическая операция, которая имеет оставшийся 1 связанный адрес памяти. Логические операции позволяют выполнять инструкции в порядке, отличном от того, в котором они записаны, что позволяет реализовывать goto, условные операторы, циклы и другое расширенное поведение. [6]

Зарезервированные ключевые слова арифметики и операций ввода/вывода [6]

  • ДОБАВЛЯТЬ
  • СУБ
  • АДДАБ
  • АБАДД
  • СУБАБ
  • АБСУБ
  • МПЖ
  • НГМПЙ
  • ДИВ
  • НГДИВ
  • КВАРТИРА
  • СИНУС
  • АРТАН
  • ЭКСП
  • ЛН
  • ДВИГАТЬСЯ
  • WRTPJ
  • WRTPK
  • WRTPL
  • WRTPM
  • РФТПЖ
  • РФТПЛ
  • RFTPM
  • РБТПЖ
  • РБТПК
  • РБТПЛ
  • РБТПМ
  • SFTPJ
  • СФТПК
  • СФТПЛ
  • СФТПМ
  • СБТПЖ
  • СБТПК
  • СБТПЛ
  • СБТПМ
  • РВТПЖ
  • РВТПК
  • РВТПЛ
  • РВТПМ
  • ЕФТПЖ
  • ЕФТПК
  • ЕФТПЛ
  • EFTPM
  • WRDRP
  • WRDRQ
  • РФДРП
  • RFDRQ
  • ПЕЧАТЬ
  • ИЗВЛЕЧЬ
  • НООП

Зарезервированные логические ключевые слова [6]

  • ТР
  • ТРПЛ
  • ТРМН
  • ТРЗ
  • СНТРП
  • SNTRQ
  • ТИА
  • БТИ
  • ТИЦ
  • ТИБК
  • ТИАК
  • ТИАБК
  • ТДА
  • ВМТ
  • ТДАБ
  • TDBC
  • ТДАК
  • ТДАБК
  • СЕТРА
  • SETRB
  • SETRC
  • СКРА
  • СКРБ
  • СКРК
  • РАДДА
  • RADDB
  • РАДК
  • РАДДД
  • АДДА
  • АДДБ
  • АДДК
  • ДОБАВИТЬ
  • СУБА
  • СУББ
  • СУБК
  • СУБД
  • СТА
  • СТБ
  • СТЦ
  • ЗППП
  • ПРОПУСКАТЬ
  • ПРЧ
  • СТЧ
  • ЕСПЧ

Смотрите также

Примечания

  1. ^ Значение символическое и направлено на выразительность естественного языка в отличие от машинного или аппаратного кодирования, ориентированного на инструкции.

Ссылки

  1. ^ ab Allen, Frances "Fran" Elizabeth (сентябрь 1981 г.). "История технологии языковых процессоров в IBM". IBM Journal of Research and Development . 25 (5): 535–548. doi :10.1147/rd.255.0535.
  2. ^ Шаша, Деннис Эллиот ; Лазер, Кэти (1998). Вне их разума: жизни и открытия 15 великих ученых-компьютерщиков . Нью-Йорк, США: Copernicus , Springer-Verlag New York, Inc. ISBN  0-387-98269-8. LCCN  98-16911. SPIN 10693423.
  3. ^ Backus, John W. (2006-09-05). Booch, Grady (ред.). "Устная история Джона Бэкуса" (PDF) . Номер ссылки: X3715.2007 (Интервью). Ashland, Oregon, USA: Computer History Museum . Архивировано (PDF) из оригинала 2022-04-08 . Получено 2011-04-23 .(42 страницы)
  4. ^ Pugh, Emerson W.; Johnson, Lyle R.; Palmer, John H. (1991). IBM 360 и ранние 370 системы . MIT Press . стр. 38. ISBN 0-262-16123-0.
  5. ^ ab Баше, Чарльз; Джонсон, Лайл; Палмер, Джон; Пью, Эмерсон (1986-03-17). Первые компьютеры IBM. MIT Press. стр. 332–338. ISBN 9780262523936. Получено 2023-08-25 .
  6. ^ abc IBM speedcoding system for the type 701 electronic data processing machines (PDF) . Нью-Йорк, США: International Business Machines Corporation . 1954 [1953-09-10]. Форма 24-6059-0 (5-54:2M-W). Архивировано (PDF) из оригинала 2022-07-04 . Получено 2022-07-04 .

Дальнейшее чтение