Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску
Часть первого в Норвегии компьютера IBM 650 (1959 г.), известного как «EMMA». 650 Console Unit (справа, внешняя боковая панель отсутствует), 533 Card Read Punch unit (средний, ввод-вывод). 655 Блок питания отсутствует. Сортировщик перфокарт (слева, не входит в комплект 650). Сейчас в Норвежском музее науки и техники в Осло .
IBM 650 в Техасском университете A&M. Устройство перфорации для чтения карт IBM 533 находится справа.
Консольная панель IBM 650, показывающая бинарные индикаторы. (В Доме истории обработки данных IBM (закрыто), Зиндельфинген)
Крупный план бинарных индикаторов
Барабан памяти от IBM 650
Консольный модуль IBM 650, вид сбоку. Первый компьютер в Испании (1959 г.), сейчас находится в Национальном музее науки и техники в Ла-Корунья.

IBM 650 Магнитный барабан обработки данных машины ранний цифровой компьютер производства IBM в середине 1950-х годов. [1] [2] Это был первый в мире компьютер массового производства. [3] Было произведено почти 2000 систем, последняя - в 1962 году [4] [5], и это был первый компьютер, принесший значительную прибыль. [5] Первый был установлен в конце 1954 года и был самым популярным компьютером 1950-х годов. [6]

650 был продан коммерческим, научным и техническим пользователям как универсальная версия компьютеров IBM 701 и IBM 702 , предназначенных для научных и деловых целей соответственно. [5] Он также был продан пользователям перфокарт , которые переходили с вычислений ударов , таких как IBM 604 , на компьютеры. [7] : 5 [8]

Из-за относительно низкой стоимости и простоты программирования модель 650 использовалась для создания широкого спектра приложений, от моделирования работы экипажей подводных лодок [9] до обучения программированию для старшеклассников и студентов колледжей. IBM 650 стал очень популярным в университетах, где целое поколение студентов впервые изучило программирование. [10]

Он был анонсирован в 1953 году и в 1956 году усовершенствован как IBM 650 RAMAC с добавлением до четырех дисковых накопителей. [11] Поддержка 650 и его составных частей была прекращена в 1969 году.

650 был два-адрес , би-пятеричный кодированного десятичного компьютер (как данные , так и адреса были десятичное), с памятью на вращающемся магнитном барабане . Поддержка символов обеспечивалась блоками ввода / вывода, преобразующими алфавитные и специальные кодировки символов перфокарты в / из двузначного десятичного кода.

История [ править ]

Первый 650 был установлен 8 декабря 1954 года в диспетчерском отделе компании John Hancock Mutual Life Insurance Company в Бостоне. [12]

Ожидается, что IBM 7070 (десятизначные десятичные слова со знаком), анонсированный в 1958 году, станет «общим преемником по крайней мере 650 и [IBM] 705 ». [13] IBM 1620 ( с переменной длиной в десятичной системе ), введенный в 1959 г., на имя нижний конец рынка. UNIVAC твердотельный (два-адрес компьютера, подписанный 10-значные десятичные слова) был объявлен Sperry Rand в декабре 1958 года в ответ на 650. Ни один из них был 650 совместимый комплект с инструкцией.

Оборудование [ править ]

Базовая система 650 состояла из трех блоков: [14]

  • В модуле консоли IBM 650 [15] размещались магнитный барабан, арифметическое устройство (с использованием электронных ламп) и пульт оператора.
  • Блок питания IBM 655 [16]
  • IBM 533 или IBM 537 Card Read Punch Unit [17] [18] [19] У IBM 533 были отдельные каналы для чтения и перфорации; IBM 537 имел одну подачу, поэтому мог читать, а затем вставлять в одну и ту же карту.

Вес: 5 400–6 263 фунтов (2,7–3,1 коротких тонн; 2,4–2,8 т). [20] [21]

Дополнительные единицы: [14]

  • IBM 46 перфоратор с ленты на карту, модель 3 [22]
  • Пробойник для печати с ленты на карту IBM 47, модель 3 [22]
  • IBM 355 Disk Storage Unit [23] Системы с дисковым устройством были известны как IBM 650 RAMAC Data Processing Systems.
  • Бухгалтерская машина IBM 407 [24]
  • Устройство чтения карт IBM 543
  • Устройство перфорации карт IBM 544
  • IBM 652 Control Unit (магнитная лента, диск) [25]
  • IBM 653 Storage Unit (магнитная лента, диск, основное хранилище, индексные регистры, арифметика с плавающей запятой) [26]
  • IBM 654 Вспомогательный алфавитный блок
  • Магнитная лента IBM 727
  • Справочная станция IBM 838 [27]

Основная память [ править ]

Вращающаяся память барабана обеспечивала память на 1000, 2000 или 4000 слов (десятизначное число со знаком или пять символов на слово) по адресам от 0000 до 0999, 1999 или 3999 соответственно. [28] [29] Слова на барабанах были организованы в группы вокруг барабана, по пятьдесят слов на группу и 20, 40 или 80 полос для соответствующих моделей. Доступ к слову можно было получить, когда его местоположение на поверхности барабана проходило под головками чтения / записи во время вращения (при вращении со скоростью 12500 об / мин неоптимизированное среднее время доступа составляло 2,5 мс ). Из-за этого времени второй адрес в каждой инструкции был адресом следующей инструкции. Затем программы могут быть оптимизированыпутем размещения инструкций по адресам, которые будут доступны сразу после завершения выполнения предыдущей инструкции. IBM предоставила форму с десятью столбцами и 200 строками, чтобы программисты могли отслеживать, куда они помещают инструкции и данные. Позже был предоставлен ассемблер SOAP (Symbolic Optimal Assembly Program), выполняющий грубую оптимизацию. [30] [31]

В компьютерах LGP-30 , Bendix G-15 и IBM 305 RAMAC также использовались электронные лампы и барабанная память. Но они сильно отличались от IBM 650.

Команды, считанные с барабана, поступали в регистр программы (в современной терминологии - регистр команд ). Данные, считанные с барабана, проходили через 10-значный распределитель. 650 имел 20-разрядный аккумулятор , разделенный на 10-значные нижний и верхний аккумуляторы с общим знаком. Арифметика производилась однозначным сумматором. Консоль (10-значные переключатели, один знаковый переключатель и 10 двухзначных индикаторов дисплея), распределитель, нижний и верхний аккумуляторы были адресуемыми; 8000, 8001, 8002, 8003 соответственно.

IBM 653 Storage Unit [ править ]

Дополнительный модуль хранения IBM 653, представленный 3 мая 1955 года, в конечном итоге предоставляет до пяти функций: [32]

  • Контроллер магнитной ленты (для магнитных лент IBM 727) (10 дополнительных кодов операций)
  • Контроллер дискового хранилища (усовершенствование 1956 года для нового IBM 355 Disk Storage Unit) (5 дополнительных кодов операций)
  • Шестьдесят десятизначных слов памяти магнитного сердечника по адресам с 9000 по 9059; небольшая быстрая память (это устройство дало время доступа к памяти 96 мкс , что в 26 раз больше по сравнению с вращающимся барабаном), необходимая для буфера ввода-вывода ленты и диска. (5 дополнительных кодов операций)
  • Три четырехзначных индексных регистра по адресам с 8005 по 8007; адреса барабанов индексировались добавлением к ним 2000, 4000 или 6000, адреса ядра индексировались добавлением к ним 0200, 0400 или 0600. Если в системе был барабан на 4000 слов, то индексация производилась путем добавления 4000 к первому адресу для индексного регистра A, добавления 4000 ко второму адресу для индексного регистра B и добавления 4000 к каждому из двух адресов для индексного регистра C ( индексирование для систем из 4000 слов применяется только к первому адресу). Системы на 4000 слов требовали транзисторных схем чтения / записи для барабанной памяти и были доступны до 1963 года (18 дополнительных кодов операций).
  • Плавающая точка - арифметические инструкции поддерживают восьмизначную мантиссу и двузначную характеристику (показатель смещения) - MMMMMMMMCC , обеспечивая диапазон от ± 0,00000001E-50 до ± 0,99999999E + 49. (семь дополнительных кодов операций)

Набор инструкций [ править ]

650 инструкций состояли из двузначного кода операции , четырехзначного адреса данных и четырехзначного адреса следующей инструкции. Знак игнорировался на базовой машине, но использовался на машинах с дополнительными функциями. Базовая машина имела 44 кода операций. Дополнительные коды операций были предоставлены для таких опций, как память с плавающей запятой, основная память, индексные регистры и дополнительные устройства ввода-вывода. При всех установленных опциях было 97 кодов операций. [32]

Команда просмотра таблицы (TLU) могла бы с равным числом сравнивать указанное 10-значное слово с 48 последовательными словами на одной и той же полосе барабана за один оборот 5 мс, а затем переключаться на следующую полосу времени для следующих 48 слов. Этот подвиг составлял примерно одну треть скорости бинарной машины в тысячу раз быстрее в 1963 году (1500 микросекунд на IBM 7040 и 5000 микросекунд на 650) для поиска 46 записей, если обе были запрограммированы на ассемблере. Была необязательная инструкция Equal для поиска в таблице с той же производительностью.

Команда чтения (RD) считывает карту числовых данных из 80 столбцов в десять слов памяти; распределение цифр по словам определяется проводкой панели управления картридера . При использовании с буквенным устройством 533 Reader Punch может считываться комбинация числовых и буквенно-цифровых столбцов (максимум 30 буквенно-цифровых столбцов). [7] Функция расширения позволяла использовать больше буквенно-цифровых столбцов, но не более 50, поскольку только десять слов (пять символов на слово) были сохранены на барабане при операции чтения карты. [ необходима цитата ]

IBM 650 в Texas A&M, открыта, чтобы показать заднюю часть передней панели, модули вакуумных трубок и барабан для хранения
Модуль вакуумных трубок того типа, который используется в 650
Класс в 1960 году в Высшей научной школе Бронкса с таблицей инструкций IBM 650 над доской, вверху справа.

Коды операций базовой машины были: [33]

Примечания:

  • * Сохраненное значение принимает знак аккумулятора, за исключением операции деления; затем сохраняется знак остатка.
  • ** Используется для разрешения панели управления 533 сигнализировать ЦП.
  • *** Считает старшие нули в верхнем аккумуляторе

Опции IBM 653 могут реализовывать дополнительные коды инструкций. [32]

Пример программы [ править ]

Эта программа с одной картой, взятая из 650 Programming Bulletin 5, IBM, 1956, 22-6314-0 , установит большую часть памяти барабана на минус нули. Программа включает примеры выполнения инструкций с консольных переключателей и с аккумулятора.

Для начала в загрузочную карту вводят 80 последовательных цифр (2-й столбец ниже), так что при считывании содержимое ячеек барабана с 0001 по 0008 будет таким, как показано. [34]

 0001 0000010000 0002 0000000000- 0003 1000018003 0004 6100080007 0005 2400008003 0006 0100008000 0007 6900060005 0008 2019990003

Цифровые переключатели консоли (адрес 8000) вручную устанавливаются на команду чтения с адресом данных 0004.

 loc- op | data | следующий действие | адрес | инструкция | | адрес
 8000 RD 70 0004 xxxx Считывание карты нагрузки в область считывания 1-го диапазона

У каждой ударной группы есть зона чтения; эти области чтения находятся в ячейках 0001-0010, 0051-0060, 0101-0110 и так далее. Любой адрес в полосе может использоваться для идентификации этой полосы для инструкции чтения; адрес 0004 определяет 1-ю полосу. Затем начинается выполнение с консоли со считывания 8 слов на загрузочной карте в ячейки 0001-0008 1-го диапазона памяти. В случае чтения загрузочной карты «адрес следующей инструкции» берется из поля адреса данных, а не из поля адреса следующей инструкции (показанного выше как xxxx). Таким образом, выполнение продолжается на 0004.

 0004 RSU 61 0008 0007 Сбросить весь аккумулятор, вычесть в верхнем (8003) значение 2019990003 0007 LD 69 0006 0005 Распределитель нагрузки с 0100008000 0005 STD 24 0000 8003 Сохранить дистрибьютора в ячейке 0000, следующая инструкция находится в 8003 (верхний аккумулятор) Примечание: перемещение данных или инструкций из одного места барабана в другое требуется две инструкции: LD, STD.

Теперь выполняется цикл из двух инструкций:

 8003 STL 20 1999 0003 Сохранить нижний аккумулятор (этот аккумулятор был сброшен в 0 - инструкцией RSU выше) Адрес данных "1999" уменьшается ниже на каждой итерации. Эта инструкция была помещена в верхний аккумулятор вышеупомянутой инструкцией RSU. Примечание: эта инструкция, теперь в верхнем аккумуляторе, будет уменьшена, а затем выполняется снова, пока все еще находится в аккумуляторе.
 0003 AU 10 0001 8003 Уменьшить адрес данных инструкции в аккумуляторе на 1 (добавив 10000 к отрицательному числу)

Адрес данных STL в конечном итоге будет уменьшен до 0003, а инструкция AU ... в 0003 будет перезаписана нулями. Когда это происходит (адрес следующей инструкции STL остается 0003), выполнение продолжается следующим образом:

 0003 NOOP 00 0000 0000 Инструкция бездействия, адрес следующей инструкции 0000 0000 HALT 01 0000 8000 Halt, адрес следующей инструкции - консоль (эта инструкция Halt была сохранена в 0000 инструкцией STD выше)

Известно, что серия книг Дональда Кнута « Искусство компьютерного программирования» посвящена 650.

Программное обеспечение [ править ]

Программное обеспечение включено:

  • Полная система интерпретации с плавающей запятой для калькулятора магнитного барабана IBM 650 (также известного как BLIS - система интерпретации Bell Lab) [35]
  • FOR TRANSIT - версия Fortran, которая была скомпилирована в IT, которая, в свою очередь, была скомпилирована в SOAP [36]
  • ФОРТРАН [37]
  • GATE - простой компилятор с односимвольными именами переменных
  • Пакеты виртуальных машин интерпретирующих приложений L1 [38] [39] и L2 - известные за пределами Bell Labs как «Bell 1» и «Bell 2»
  • Внутренний транслятор (ИТ) - компилятор [40]
  • IPL - первый язык обработки списков. Самой известной версией была IPL-V.
  • Пересмотренный унифицированный новый компилятор IT Basic Language Extended (RUNCIBLE) [41]
  • SPACE (Simplified Programming Anyone Can Enjoy) - бизнес-ориентированный двухэтапный компилятор через SOAP.
  • Программа символьной оптимальной сборки (SOAP) - ассемблер [31]
  • Система синтетического программирования для коммерческих приложений [42]
  • Technical Assembly System (ТАСС) - макроассемблер .

См. Также [ править ]

  • История IBM № 1946–1959: послевоенное восстановление, рост бизнес-вычислений, освоение космоса, холодная война.
  • UNIVAC Solid State анонсировал Сперри Рэнд в декабре 1958 года как ответ на IBM 650. В июне 1959 года Remington Rand объявила, что написала программу-эмулятор IBM 650 для облегчения преобразования. [43]
  • IBM 700/7000 серии

Примечания и ссылки [ править ]

  1. ^ "Установка IBM 650 с устройством магнитной ленты IBM 727 и дисковым хранилищем IBM 355" . Архивы IBM . США . Проверено 5 сентября 2019 года .
  2. ^ "Сборка IBM 650 на заводе Endicott" . Архивы IBM . США . Проверено 5 сентября 2019 года .
  3. ^ "IBM 650" Машина для обработки данных с магнитным барабаном ": первый компьютер массового производства" . История информации .
  4. ^ Пью, Эмерсон В. (1995). Строительство IBM: формирование отрасли и ее технологий . MIT Press. п. 182 . ISBN 978-0-262-16147-3.
  5. ^ a b c "Калькулятор магнитного барабана IBM 650" . Columbia.edu .
  6. ^ Дэвис, Гордон Б. (1971). Введение в электронные компьютеры (второе изд.). Нью-Йорк: Макгроу-Хилл. п. 10 . ISBN 978-0-070-15821-4.
  7. ^ a b Машина обработки данных с магнитным барабаном IBM 650: Руководство по эксплуатации (PDF) . IBM. 1955. 22-6060-1.
  8. ^ Архивы IBM: 650 клиентов
  9. ^ Грей, Уэйн Д. (2007). Интегрированные модели систем познания . Нью-Йорк: Издательство Оксфордского университета. п. 36 . ISBN 978-0-19-518919-3.
  10. ^ "Представлен калькулятор магнитного барабана IBM 650" . Компьютерная история .
  11. ^ IBM 650 RAMAC анонс пресс - релиз
  12. ^ "Архив IBM: 650 Хронология" .
  13. ^ Баше, Чарльз Дж .; Джонсон, Лайл Р.; Палмер, Джон Х .; Пью, Эмерсон В. (1986). Ранние компьютеры IBM . Массачусетский технологический институт. п. 473 . ISBN 0-262-02225-7.
  14. ^ a b Архивы IBM: 650 компонентов
  15. ^ Архивы IBM: Консольный модуль IBM 650
  16. ^ Архивы IBM: IBM 655 Power Unit
  17. ^ Другие названия IBM для 533включенных в блок ввода-вывода и чтения дырокола .
  18. ^ Архивы IBM: IBM 533 Card Read Punch
  19. ^ Архивы IBM: IBM 537 Card Read Punch
  20. ^ Руководство по установке физического планирования системы 650 (PDF) . IBM. 1 октября 1957 г. с. 32 . Проверено 31 мая 2018 г. - через Bitsavers.
  21. ^ Инструкторское руководство по эксплуатации заказчика (PDF) . IBM. 1956. с. И-17 . Проверено 31 мая 2018 г. - через Bitsavers.
  22. ^ a b Не в сети
  23. ^ Архивы IBM: IBM 355 Disk Storage
  24. ^ Архивы IBM: бухгалтерская машина IBM 407
  25. ^ Архивы IBM: Блок управления IBM 652
  26. ^ Архивы IBM: Вспомогательный блок IBM 653
  27. ^ Архивы IBM: Справочная станция IBM 838
  28. ^ Архивы IBM: Магнитный барабан IBM 650
  29. ^ Архивы IBM: объявление IBM 650 Model 4
  30. Перейти ↑ Kugel, Herb (22 октября 2001 г.). «IBM 650» . Доктора Добба.
  31. ^ а б IBM (1957). SOAP II для IBM 650 (PDF) . C24-4000-0.
  32. ^ a b c Расширения ЦП IBM 650
  33. ^ Системный бюллетень IBM 650, основные коды операций, оптимизация программ, загрузка программ (PDF) . IBM. 1958 г.
  34. ^ Пробойник 12 может использоваться для идентификации карт как загрузочных . Карты загрузки считываются напрямую в слова 1-8 указанной полосы хранения
  35. ^ Справочное руководство IBM: Система интерпретации чисел с плавающей запятой для IBM 650 (PDF) . IBM. 1959. С. 63, xxi. 28-4024. Это перепечатка Технического бюллетеня IBM 650 № 11, март 1956 г., форма 31-6822. . Это справочное руководство содержит следующий отчет, в котором отмечается, что по своим внешним характеристикам система интерпретации, описанная в этом отчете, во многом обязана системе IBM Speedcoding System для 701. Wolontis, VM Complete Floating Decimal Interpretive System for the IBM 650 Magnetic Drum Calculator . Bell Laboratories, Inc., Мюррей-Хилл, Нью-Джерси.
  36. ^ IBM (1959). FOR TRANSIT Автоматическая система кодирования для IBM 650 (PDF) . 28-4028.
  37. ^ IBM (1960). Система автоматического кодирования FORTRAN для IBM 650 (PDF) . 29-4047.
  38. ^ Холбрук, Бернард Д .; Браун, У. Стэнли. "Технический отчет по вычислительной науке № 99 - История компьютерных исследований в Bell Laboratories (1937–1975)" . Bell Labs . Архивировано из оригинала на 2 сентября 2014 года . Проверено 27 августа 2020 года .
  39. ^ Волонтис, В.М. "Полная система интерпретации с плавающей запятой для калькулятора магнитного барабана IBM 650" (PDF) . США: IBM - через битсейверы.
  40. ^ Перлис, AJ ; Смит, JW; Ван Зоерен, HR (1958-04-18). Внутренний переводчик; IT, компилятор для 650 (PDF) . 650 Библиотечная программа 2.1.001.
  41. ^ Дональд Кнут опубликовал блок-схему компилятора в 1959 году; Кнут, DE (1959). «RUNCIBLE - алгебраический перевод на ограниченном компьютере». Коммуникации ACM . 2 : 18–21. DOI : 10.1145 / 368481.368507 .; это была его первая научная работа.
  42. ^ 650 Бюллетень программирования 2 . IBM. 1956. с. 40. 22-6294-0. Описанная здесь программа интерпретации представляет собой трехадресную систему с фиксированным десятичным числом, которая обеспечивает математические, логические операции и операции ввода-вывода. Логика для этой системы была получена из полной системы интерпретации с плавающей запятой для 650, которая была разработана Bell Laboratories, Мюррей-Хилл, Нью-Джерси.
  43. Грей, Джордж. "Твердотельный компьютер UNIVAC" . Информационный бюллетень Unisys History, том 1.2, декабрь 1992 г. (редакция 1999 г.) . Архивировано из оригинала на 4 марта 2016 года.

Дальнейшее чтение [ править ]

  • Андре, Ричард В. (1958). Программирование магнитного барабанного компьютера и машины обработки данных IBM 650 .
  • IBM (1955). Руководство по эксплуатации машины обработки данных с магнитным барабаном IBM 650 (PDF) . 22-6060.
  • IBM (1956). Система обработки данных IBM 650, Инструкторское руководство для заказчиков (PDF) . 22-6284-1.
  • IBM (1955). IBM представляет машину обработки данных с магнитным барабаном 650 (PDF) . 32-6770. Архивировано из оригинального (PDF) 05 февраля 2012 года . Проверено 24 сентября 2006 .
  • Кнут, Дональд Э. (январь – март 1986 г.). «IBM 650: Признательность с поля». IEEE Annals of the History of Computing . 8 (1): 50–55. DOI : 10.1109 / MAHC.1986.10010 .

Внешние ссылки [ править ]

  • Bitsavers.org: документы IBM 650 (файлы PDF)
  • Колумбийский университет: IBM 650 в Колумбийском университете
  • Архивы IBM IBM 650: рабочая лошадка современной промышленности Включает хронологию, технические характеристики, фотографии, типичных клиентов и приложения, для которых использовался 650.
  • Видеоклип IBM 650 и RAMAC в действии , альтернативная версия
  • Вейк, Мартин Х. (март 1961 г.). Третий обзор отечественных электронных цифровых вычислительных систем . Баллистические исследовательские лаборатории (BRL). Отчет № 1115. Включает около 40 страниц подробного обзора IBM 650: заказчики, приложения, спецификации и затраты.