Interested Article - IBM 704

Компьютер IBM 704 в NASA в 1957 году
Установка IBM 704

IBM 704 — первый массово выпускавшийся компьютер с аппаратной поддержкой вычислений с плавающей точкой , представленный фирмой IBM в 1954 году . В руководстве по эксплуатации IBM 704 машина характеризуется следующим образом:

Электронная машина обработки данных типа 704 — это большой высокоскоростной электронный вычислитель, управляемый хранящейся внутри программой из инструкций одноадресного типа.

Модель 704 была значительно улучшена по сравнению с более ранней IBM 701 в части архитектуры и реализации. Как и в 701 модели, логические цепи были построены на электронных лампах . Изменения по сравнению с 701 моделью включали использование памяти на магнитных сердечниках вместо трубок Уильямса и добавление трёх индексных регистров . Для поддержки новых возможностей длина инструкций была увеличена до полного размера машинного слова (36 бит). Новый набор команд , несовместимый с набором команд модели 701, стал основой для машин IBM серий 700/7000 с « научной архитектурой ».

Модель 704 могла выполнять до 12 000 сложений или до 4000 умножений с плавающей точкой в секунду , темп выполнения простых инструкций мог достигать 40 000 в секунду . IBM продала около 140 компьютеров модели 704 между 1955 и 1960 годами.

IBM 704 в истории вычислительной техники

Языки программирования Фортран и Лисп были впервые разработаны для IBM 704.

Для IBM 704 Максом Мэтьюсом была разработана первая компьютерная программа для цифрового синтеза звука .

В 1962 году физик с использованием компьютера IBM 704 создал одну из самых ярких демонстраций компьютерного синтеза речи в истории компании Bell Labs . Вокодер (синтезатор речи), запрограммированный Келли, воспроизвел популярную песню под музыкальный аккомпанемент, запрограммированный Максом Мэтьюсом. Оригинальная запись была сделана в 1961 году . Результат синтеза речи и музыки в цифровом виде записывался на магнитную ленту, а затем воспроизводился с использованием 12-разрядного лампового цифро-аналогового преобразователя . Артур Кларк , посещавший друга и коллегу Джона Пирса в отделении Bell Labs в , по случаю оказался на этой демонстрации. Кларк был настолько впечатлен, что спустя шесть лет он использовал этот момент в романе и сценарии к фильму « Космическая одиссея 2001 года »: в сцене отключения астронавтом Дейвом Боуменом компьютера « HAL 9000 » компьютер поёт ту же песню .

Эдвард Торп , профессор математики из Массачусетского технологического института , использовал IBM 704 при разработке своей теории игры в блэкджек в качестве исследовательского инструмента для изучения вероятности выигрыша . Свою исследовательскую модель Торп запрограммировал на Фортране.

IBM 704 использовался Смитсоновской астрофизической обсерваторией для вычисления орбиты первого советского спутника на основе данных, собранных астрономами любителями в рамках осенью 1957 года. В вычислении параметров орбиты учёным и математикам Смитсоновской астрофизической обсерватории помогали четверо штатных сотрудников компании IBM.

Технические характеристики

  • разрядность машинного слова — 36 бит
  • разрядность шины адреса — 15 бит
  • длина инструкции — 36 бит
  • время операции сложения чисел с плавающей запятой — 84 микросекунды
  • время умножения чисел с плавающей запятой — 240 микросекунд
  • элементная база — электронные лампы
  • память на магнитных сердечниках от 4K до 32K слов

Архитектура

Регистры

IBM 704 содержал 38-битный аккумулятор (2 дополнительных разряда Q и P, использовались для контроля переполнения), 36-битный регистр «множителя/остатка», и три 15-битных индексных регистра . Содержимое индексных регистров вычиталось из базового адреса, поэтому эти регистры также назывались «регистрами декремента». Все три регистра можно было использовать одновременно в одной инструкции: разряды 3-битного поля тега инструкции определяли, какие индексные регистры будут использованы. Перед выполнением декремента содержимое регистров не складывалось, а объединялось операцией логического ИЛИ. Такое поведение сохранилось и в более поздних машинах «научной архитектуры» (таких как и IBM 7090 ), вплоть до . В машине IBM 7094, представленной в 1962 году, число индексных регистров было увеличено до семи, а одновременно можно было использовать только один. Режим объединения содержимого регистров операцией логического ИЛИ остался доступен только в режиме совместимости .

Форматы инструкций

Поддерживалось два формата инструкций, называемых «Тип A» и «Тип B» . Большинство инструкций относилось к типу B.

Инструкции типа A содержали последовательность из 3-битного префикса (кода инструкции), 15-битного поля декремента, 3-битного поля тега и 15-битного поля адреса. К типу A относились инструкции условных переходов, использующие значения из индексных регистров, задаваемых в поле тега. Некоторые из этих инструкций позволяли вычитать поле декремента из значения индексного регистра. Аппаратная реализация требовала, чтобы второй, либо третий биты кода инструкции были ненулевыми. Таким образом, было возможно закодировать до 6 инструкций типа A, но только в машине появилась шестая инструкция типа A (STR).

Инструкции типа B содержали последовательность из 12-битного кода инструкции (второй и третий биты должны были быть нулевыми, это был отличительный признак инструкций типа B), 2-битного поля флага, 4 неиспользуемых бит, 3-битного поля тега и 15-битного поля адреса.

Особенностью набора инструкций была возможность модифицировать части машинного слова. Машинное слово рассматривалось как структура, имеющая формат инструкции типа A. Имелись инструкции для модификации полей префикса, декремента и адреса, хотя для модификации поля тега в IBM 704 инструкции не было предусмотрено. Первая реализация языка Лисп использовала поля адреса и декремента для хранения головы и хвоста списка . Системные функции CAR (от англ. contents of the address part of register — «содержимое адресной части регистра») и CDR (от англ. contents of the decrement part of register — «содержимое декрементной части регистра») получили свои названия в соответствии с этими полями . В данном контексте под термином «регистр» подразумевается ячейка памяти . Известное объяснение названий функций CAR и CDR, как сокращений от contents of the address register («содержимое регистра адреса») и contents of the decrement register («содержимое регистра декремента») следует считать упрощением, не отражающим архитектуры IBM 704. В машине не было программно-доступного регистра адреса, а трём регистрам модификации адреса компанией IBM было дано название «индексных». Поэтому правильно расшифровывать CAR как «Contents of the Address part of the Register» («содержимое адресной части регистра»), а CDR как «Contents of the Decrement part of the Register» («содержимое декрементной части регистра»).

Форматы данных

Память и периферийные устройства

Периферийные устройства, входившие в комплект IBM 704, включали: один считыватель перфокарт модели 711, один алфавитно-цифровой принтер модели 716, один перфоратор перфокарт модели 721, пять накопителей на магнитной ленте модели и один блок управления этими накопителями модели 753, один накопитель на магнитном барабане модели 733 и один блок памяти на магнитных сердечниках модели 737. Блок вычислителя 704 поставлялся с консолью оператора, содержащей 36 управляющих переключателей и 36 переключателей ввода данных (по одному для каждого бита регистра). Консоль оператора, фактически, обеспечивала только задание двоичных значений регистров с помощью переключателей и просмотр содержимого регистров с помощью неоновых лампочек, сгруппированных по 3 разряда. Для работы с компьютером предварительно необходимо было ввести программу с перфокарт, а не с консоли. Человекочитаемый результат работы программы направлялся на принтер. Также было доступно устройство вывода на электронно-лучевую трубку , содержавшее 21-дюймовый с временем послесвечения люминофора до 20 секунд для просмотра человеком и 7-дюймовый дисплей с малым временем послесвечения, отображающий то же самое изображение и предназначенный для фотографирования присоединяемым к нему фотоаппаратом .

Блок памяти на магнитных сердечниках модели 737 имел объём 4096 36-битных слов (18432 байта) и использовался как ОЗУ . Накопитель на магнитной ленте модели 727 позволял хранить более 5 миллионов шестибитных символов на одной катушке ленты.

См. также

Примечания

  1. . Дата обращения: 4 марта 2015. 10 мая 2013 года.
  2. IBM Type 704 Manual of operation, Form 24-66661-1, IBM, 1956, от 16 марта 2015 на Wayback Machine IBM 704 Manual of Operation
  3. . Дата обращения: 4 марта 2015. 13 марта 2015 года.
  4. от 26 апреля 2021 на Wayback Machine LISP Prehistory, John McCarthy, 1996
  5. . Дата обращения: 4 марта 2015. 7 января 2015 года.
  6. C. Roads. // Computer Music Journal. — The MIT Press, 1980. — Т. 4 , вып. 4 . — С. 15—22 . — ISSN . — doi : . 13 августа 2014 года.
  7. Jeff Levinger. // The Tech. — Cambridge, MA: Massachusetts Institute of Technology, 1961. — Т. 81 , вып. 1 . — С. 1 . 16 июля 2015 года.
  8. Garry Baldy. // Компьютерра. — 2005. — № 27 . — ISSN . 2 апреля 2015 года.
  9. . — пятое изд.. — IBM, 1962. — С. 8. — (IBM Systems Reference Library). 30 июня 2013 года.
  10. John Savard. . Дата обращения: 15 ноября 2009. 17 ноября 2009 года.
  11. , p. 28.
  12. , обсуждается использование регистров в списке свободной памяти и сборке мусора, p. 27.
  13. John McCarthy, Paul W. Abrahams, Daniel J. Edwards, Timothy P. Hart, Michael I. Levin. LISP 1.5 Programmer's Manual. — Cambridge, MA: MIT Press, 1985. — ISBN 0-262-13011-4 . , на странице 36 ячейки списка описаны как машинные слова с 15-битными полями «адреса» и «декремента».
  14. См., например, John C. Mitchell. . — Cambridge University Press, 2003. — С. 28—29. — ISBN 9781139433488 . 21 апреля 2017 года. , Раздел 3.4, Innovations in the Design of Lisp . Книга ссылается на IBM 704 и правильно объясняет наличие адресной и декрементной частей ячейки списка, но слова «часть регистра» из объяснения Маккарти пропущены.
  15. . Дата обращения: 10 декабря 2012. 3 марта 2016 года.
  16. . Дата обращения: 10 декабря 2012. 27 февраля 2015 года.

Литература

  • John McCarthy. // Communications of the ACM. — ACM New York, 1960. — Т. 3 , вып. 4 . — С. 184—195 . — doi : . 4 октября 2013 года.

Дополнительная литература

Ссылки

  • Миннеаполис, Миннесотский Университет, Институт Чарльза Бэббиджа . Джин Амдал рассказывает о своей роли в разработке компьютеров в IBM, включая STRETCH , IBM 701 , и IBM 704. Он обсуждает свою работу с и организацию процесса проектирования компьютеров в IBM (англ.)
  • — Из Третьего обзора отечественных электронных цифровых вычислительных систем Мартина Уайка, отчёт № 1115, март 1961. Мэриленд, Абердинский испытательный полигон, Лаборатории Баллистических Исследований. Текстовая версия документа из Музея Компьютерной Истории ( ) (англ.)
  • (англ.)
Источник —

Same as IBM 704