Калькулятор магнитных барабанов IBM 650
Перевод статьи - The IBM 650 Magnetic Drum Calculator
Автор(ы) - Frank da Cruz
Источник оригинальной статьи:
Фото: Склад боеприпасов армии США в Энистоне, из отчета BRL 1115, 1961 – нажмите на изображение, чтобы увеличить.
Машина обработки данных IBM 650 Magnetic Drum была анонсирована 2 июля 1953 года (как "Калькулятор магнитных барабанов", или MDC), но поставлена только в декабре 1954 года (одновременно с NORC). Главный конструктор: Фрэнк Гамильтон, который также проектировал ASCC и SSEC. Два IBM 650s были установлены в Научной вычислительной лаборатории IBM Watson в Колумбийском университете, 612 West 116th Street, начиная с августа 1955 года.
IBM иногда ссылается на 650 как на свой первый компьютер, хотя он предшествовал по крайней мере ASCC (1943) и SSEC (1947), которые не были продуктами, и 701 (1952), который определенно был. Возможно, правильнее было бы назвать его первым коммерческим бизнес-компьютером IBM (поскольку 701-й был предназначен для научного использования) и первым компьютером, получившим значительную прибыль. В любом случае, IBM 650 был первым компьютером общего назначения, который был установлен и использован в Колумбийском университете (NORC был построен здесь в 1950-54 годах, но единственными колумбийцами, которые смогли им воспользоваться, была пара инсайдеров лаборатории Уотсона). Как отмечается в хронологии, лаборатория Watson Lab 650s поддерживала более 200 исследовательских проектов Columbia research, а также использовалась в серии интенсивных курсов по вычислительной технике. К сожалению, мне не удалось найти фотографии аппаратов лаборатории Уотсона.
Базовая Конфигурация 650. Слева направо: Блок питания Типа 650; Консольный Блок Типа 650; Блок считывания пробойника Типа 533. Фото: IBM.
650-это вакуумная логика, барабанная память, десятичный, а не двоичный компьютер. Данные хранятся в словах, содержащих десять десятичных цифр и знак, а инструкции работают с числами, хранящимися в этом формате. IBM назвала 650 автоматическим калькулятором, а не компьютером:
Одним из самых захватывающих достижений нашего поколения является разработка электронного автоматического цифрового калькулятора. Хотя любой школьник может выполнить любую операцию, выполняемую калькулятором, скорость и экономичность, с которыми калькулятор делает их, настолько велики, что автоматический расчет революционизирует большие области науки, техники, бизнеса, промышленности и обороны. Один гигантский калькулятор может сделать больше арифметики, чем все население Соединенных Штатов может сделать с карандашом и бумагой.
До середины-конца 1950-х годов слово "компьютер" относилось к людям, которые выполняли вычисления, а не к машинам. Но еще до того, как прошло десятилетие, "цифровой компьютер" применялся к 650 и другим "гигантским мозгам", а "калькулятор" был неуклюжей вещью на вашем столе.
Первоначально карт-единственная машина, в 650 был совместим с IBM по популярной линейки оборудования блок записи (сортировщика, сортировщиков, штампы, бухгалтерские машины, и т. д.), Но прогресс впервые увидел в 700-й серии были модифицированы так, чтобы она на протяжении многих лет: накопителей на магнитных лентах, принтеры линии; в IBM 407 соединения, РАМАК диска, оперативной памяти. Вот конфигурация 1955 года, как показано в Руководстве IBM Type 650 по дополнительным функциям:
Слева направо: четыре Блока магнитной ленты Типа 727, Блок управления Типа 652, Бухгалтерская машина Типа 407 (передний план), Вспомогательный блок Типа 653 (высокоскоростной накопитель, задний план), Консольный блок Типа 650 (передний план), Блок питания Типа 655 (задний план) и Блок считывания пробойника Типа 533. НАЖМИТЕ на ИЗОБРАЖЕНИЕ, чтобы увеличить его. |
Некоторые фотографии IBM 650, найденные на сайте www.computer-history.info, George A. Michael, Lawrence Livermore National Laboratory (в отставке), дата обращения 2 апреля 2021 года; нажмите на каждую из них, чтобы увеличить.
650 был настоящим универсальным компьютером, естественной эволюцией CPC (Card Programmed Calculator) в компьютер с сохраненной программой с полным набором десятичных арифметических, логических и управляющих инструкций, а также (позже) способностью обрабатывать алфавитные данные. Первоначально он был запрограммирован на машинном языке, затем на SOAP (Symbolic Optimal Assembly Program), его родном оптимизирующем ассемблере (если "оптимизирующий ассемблер" кажется вам оксюмороном, продолжайте читать). SOAP был написан в 1955 году в лаборатории Уотсона Стэном Поли; это был не первый ассемблер, но он был близок к этому (заслуга в этом обычно принадлежит ассемблеру Нэта Рочестера для IBM 701 в 1954 году).
К 1957 году был доступен компилятор FORTRAN (FORTRANSIT) (который компилировал FORTRAN в SOAP; родной компилятор FORTRAN появился в 1959 году). (Вы помните, что сам ФОРТРАН был детищем выпускника Колумбийского университета и лаборатории Ватсона Джона Бэкуса.) Другие языки, используемые на 650 включали ADES II, BACAIC, BALITAC, BELL, CASE SOAP III, COMTRAN, DRUCO I, DYANA, EASE II, ELI, ESCAPE, FAST, FLAIR, GAT, IPL, IT (внутренний переводчик), KISS, Bell Labs L1 и L2, MAC, MITILAC, MYSTIC, OMNICODE, RELATIVE, RUNCIBLE (см. Ссылки ниже), FORTRUNCIBLE (крест FORTRAN и RUNCIBLE), SIR, Speedcoding, SPIT, SPUR. (Спасибо Diarmuid Pigott за исправления в списке языков программирования IBM 650.)
Вот иллюстрация из раздела 1958 года временной шкалы того, что значит быть машиной только для карт:
Хотя FORTRAN — первый высокоуровневый, машинно-независимый язык программирования-отметил большой скачок вперед в удобстве для пользователей и, вероятно, был доступен для 650 к этому времени, стоит вспомнить, как выполнялась работа FORTRAN в первые дни. Сначала вы пробили свою программу FORTRAN на машине для пробивки ключей, наряду с любыми данными и контрольными картами. Но поскольку у 650 не было диска, компилятор FORTRAN не был резидентным. Итак, чтобы скомпилировать свою программу, вы вводите колоду компилятора FORTRAN в устройство чтения карт, а затем исходную программу FORTRAN в качестве данных. Через некоторое время машина пробивала получившуюся предметную колоду. Затем вы скармливаете объектную колоду библиотеки времени выполнения FORTRAN и объектную колоду вашей программы в кард-ридер, а затем любые карты данных для вашей программы. Ваша программа запустится, и результаты будут нанесены на еще одну колоду карт. Чтобы увидеть результаты, вы подали бы палубу результата в другую машину, как IBM 407, чтобы напечатать его на бумаге (если у самого компьютера не было принтера, как у оригинала 650s).
650 имел один 10-разрядный накопитель (называемый "Верхним") для сложения и вычитания, с 10-разрядным расширением ("Нижним") для умножения, деления и сдвига, а также 10-разрядный распределитель (по существу, другой накопитель) и 1000, 2000 или 4000 10-разрядных слов барабанной памяти. Инструкции представляли собой последовательность из десяти цифр: 2-значный опкод, 4-значный адрес операнда и 4-значный адрес следующей инструкции для выполнения.
Вот пример набора инструкций. Символические опкоды и другая информация взяты из ссылки [1] ниже; различные мнемоники используются разными ассемблерами (например, в SOAP II все мнемоники состоят из трех букв).
Мнемоника | Ценность | Функция | Мсек |
---|---|---|---|
AU | 10 | Добавить Верхний | 0.4 |
RAU | 60 | Сброс Добавить Верхний | 0.4 |
SU | 11 | Вычесть Верхнее | 0.4 |
RSU | 61 | Сброс Вычитание Верхнее | 0.4 |
STU | 21 | Магазин Верхний | 0.4 |
MPY | 19 | Умножать | 10.0 |
DIV | 14 | Делить | 15.0 |
DIVR | 64 | Сброс Деления | 15.0 |
BRNZ | 45 | Ветвь на Ненулевой | 0.4 |
BR- | 46 | Ответвление на Минус | 0.4 |
BROV | 47 | Ветвь при переполнении | 0.4 |
SHRT | 30 | Сдвиг Вправо | 2.5 |
SHRD | 31 | Сдвиг Кругом | 2.5 |
SHLT | 35 | Сдвиг влево | 2.5 |
TLU | 84 | Поиск по таблице | |
SPOP | 69 | Специальная операция | |
RD | 70 | Считывание Карты | |
PCH | 71 | Перфокарта | |
STOP | 01 | Остановка |
"Сбросить добавить" означает очистить накопитель, а затем добавить в него содержимое адреса памяти. Таким образом, одна команда обрабатывает как "загрузить", так и "добавить". SPOP используется для вызовов библиотек (например, когда функция sine или natural logarithm загружается по известному адресу) или блочных передач. Большинство "Верхних" инструкций имеют "Нижних" партнеров (AU/AL, SU/SL и т. Д.), А Некоторые также ссылаются на Дистрибьютора. Каждая инструкция содержит явный адрес GOTO, указывающий на следующую инструкцию, которая должна быть выполнена. Прерывание потока управления осуществляется с помощью инструкций ветвления. Такие вещи, как двойная точность или арифметика комплексных чисел, обрабатываются подпрограммами. Арифметика с плавающей запятой может выполняться с помощью дополнительного оборудования с плавающей запятой или с помощью подпрограммы. Хотите верьте, хотите нет, но это все, что требуется для написания программ для выполнения любых математических вычислений на специальном компьютере.
Операционная система? Какая Операционная Система?
Причина, по которой каждая инструкция включала GOTO, связана с памятью вращающегося барабана 650. В компьютерах с твердотельной памятью инструкции естественным образом хранятся и выполняются последовательно — после каждой команды без ветвления счетчик программ автоматически увеличивается до адреса следующей. Но когда программа хранится на барабане, где следующая инструкция? К тому времени, как текущая команда закончит выполнение, следующая окажется вне досягаемости, и нам придется ждать, пока она вернется под считывающую головку, чтобы забрать ее. Таким образом, программирование было дело не только в алгоритмах и численном анализе, но и в оптимизации расположения команд, чтобы предотвратить замедление работы программы с задержкой барабана. В приведенной выше таблице показано время выполнения каждой инструкции. Барабан вращается со скоростью 12 500 оборотов в минуту. Программист вычисляет, где будет барабан, когда текущая команда завершит выполнение, и помещает следующую команду в это место барабана. Или, еще лучше, МЫЛО, Символическое Оптимальная программа сборки автоматически выбирает место для вас, если вы оставите его пустым.
Питер Чапек, пользователь Columbia 650s, ныне работающий в IBM, вспоминает: "Интересна причина, по которой машина имела основную память... дело было не только в том, что это было приятно, или в том, что это было зрелищно. Он был нужен как буфер между барабаном и кассетами, которые передавались с разной скоростью. Таким образом, вы должны были явно читать/записывать в ядро, а затем передавать его на устройство. Вы могли бы поместить программу в основную память и избежать проблем с ожиданием вращения барабана, но поскольку в ней было всего 60 слов, вы мало что могли с ней сделать."
На протяжении многих лет инструкции добавлялись до тех пор, пока, как отмечает Джим Томас из Гавайского университета, "к концу своей жизни он использовал почти все доступные 100 возможностей (что с лентой, основной памятью, как вы ее описываете, 407 и т. Д.)"
Дон Кнут, IBM 650 (1958)
IBM рассчитывала развернуть только около 50 таких систем, но спрос их удивил. 650-й был относительно дешев, имел солидную академическую скидку, был совместим с существующим карточным оборудованием, помещался в одной комнатеи был "удобен в использовании" — десятичная арифметика, небольшой набор инструкций, удобная консоль. Это был один из первых компьютеров, которые могли быть использованы "руками" программистов. Всего за девять лет производства (1953-62) было установлено 2000 штук, что превысило весь совокупный объем продаж всех 700 серий. Поддержка 650 была отозвана IBM в 1969 году. У 650 был followon, IBM 7070 (1959), архитектурно похожий, но с транзисторами вместо трубок и сердечников вместо барабана, и который шел не только с кард-ридером и пуансоном, но и с консолью пишущей машинки, и (необязательно) дисковыми и ленточными накопителями, линейными принтерами и т. Д. Кажется, он был популярен в Италии — "Il primo sistema elettronico completamente transistorizzato".
В августе 2015 года Херардо Каччари прислал следующий ответ на вышеизложенное (а также исправил некоторые орфографические ошибки). Неверная ссылка (и орфография) пришла с этой страницы (в Италии и на итальянском языке); я должен был процитировать ее. Что касается первого транзисторного компьютера, то Херардо прав: 7070 был первым транзисторным компьютером IBM (согласно IBM).
Любопытно, что это утверждение (то есть IBM 7070 является первым полностью транзисторным компьютером) не совсем верно или, по крайней мере, должно быть разделено с другими производителями. Будучи итальянцем, я больше всего люблю Olivetti Elea 9003, который был довольно продвинутым для своего времени. Он мог запускать до трех параллельных программ (он был "разделен"), имел концепцию прерывания и был очень быстрым. Он был анонсирован в 1955 году, а первая производственная машина была отправлена в 1960 году на крупную текстильную фабрику. Второй был отправлен в крупный банк, а когда вышел на пенсию (в семидесятые!) это было пожертвован технической школе, которая поддерживала его работу в образовательных целях. Сегодня это единственный сохранившийся Elea 9003 в рабочем состоянии после более чем пятидесяти лет.Ниже приведены фотографии, которые я лично сделал, когда посетил его несколько лет назад:
https://www.flickr.com/photos/30299761@N00/albums/72157619791037553/Вот фотографии, которые мой друг сделал в тот же день:
https://www.flickr.com/photos/31231773@N02/sets/72157623560120103/Это довольно хорошо объясняет, как это работало:
http://www.site.uottawa.ca/~luigi/papers/elea.htmА вот это для справки:
https://en.wikipedia.org/wiki/List_of_transistorized_computers
https://en.wikipedia.org/wiki/Olivetti_Elea
Лаборатория Уотсона 650s продолжала работать до тех пор, пока... когда? Они определенно были запущены в 1962 году (где они упоминаются в университетских публикациях) и определенно исчезли к 1970 году, когда IBM покинула здание.
С веб - сайта Джона Х. Кларка, по адресу users.nwark.com (ныне несуществующий), с [исправлениями] от Джима Томаса:
"Процессор был 5 футов на 3 фута на 6 футов и весил 1966 фунтов и арендовался за 3200 долларов в месяц. Силовой агрегат был 5х3х6 и весил 2972 килограмма. Кард-ридер/перфоратор весил 1295 фунтов и арендовался за 550 долларов в месяц. 650 могли складывать или вычитать за 1,63 миллисекунды, умножать за 12,96 мс и делить за 16,90 мс. Память представляла собой вращающийся магнитный барабан с емкостью 2000 слов (10 цифр и знак) и временем произвольного доступа 2,496 мс. За дополнительные $1500/месяц вы можете добавить память магнитного сердечника из 60 слов с временем доступа 0,096 мс ."Одной из отличительных особенностей программы IBM 650 было использование [двух] адресов; [второй для следующей] инструкции. Это означает, что вы можете бросить свою колоду и до тех пор, пока вы получили первую карту перед вашей программой будет работать. [Хотя 650 имеет 2-адресные инструкции, карта языка ассемблера содержит третий адрес: адрес самой инструкции.]
"Хотя IBM 650 не была супер-горячей машиной, у нее была одна особенность, которая сделала ее продаваемой: много мигающих огней. При этом любой мог сказать, что что - то происходит. Некоторые авторы связывают успех IBM с этими мигающими огнями и тем фактом, что компьютер использовал те же карты, что и другое записывающее оборудование IBM. На самом деле выход вашей программы 650 был пробит на картах, и вы бы взяли колоду к бухгалтерской машине 402, чтобы получить распечатку." НАЖМИТЕ НА ИЗОБРАЖЕНИЕ для получения изображения крупным планом и описания консоли управления IBM 650.
Консоль IBM 650
Тип 533 Кард Ридер и перфоратор
Фотографии: Руководство IBM 650 (см. Ссылки ниже). Нажмите на изображения для увеличения:
Тип 533 Считывающий перфоратор
Каналы подачи карт IBM 650
Панель управления
От Майка Радова, бывшего сотрудника лаборатории Уотсона:
Есть несколько вещей, которые я могу добавить к периоду 1958-1968 годов в Уотсоне и т. Д.:
- У Уотсона "норт", 612 West 116th Street, было два IBM 650s, которыми я часто пользовался. В каждом было по 511 картридеров и 403 принтера.
Патч-платы (для форматов не один к одному 511 и 403) всегда были редкими и дорогими. Люди прятали их в самых жутких местах, например, в силовом шкафу 650-го. В 1959 году я охотился за ветчинными частями на "Радио — Роу" - ныне сайте ВТЦ [это было написано в мае 2001 года] Я нашел и купил четыре платы для принтера 403, в общей сложности за 10 долларов! Каждый из них был набит патч-проводами, которые в магазине считались настоящей болью. Их происхождение было неясно, но они были в идеальном состоянии. Одну я оставил себе, а с других снял веревки. Затем я отдал три другие доски друзьям, приобретя таким образом пожизненное количество чеков.. Я "Дремел" свое имя на своем, и оно до сих пор у меня; оно где-то здесь...
- Только "наверху" (не в подвале) машина могла быть использована для создания SOAP_decks, так как "внизу" машина не имела функции "Альфа". Эта опция была необходима для чтения нечисловых (многоперфорированных) столбцов карт. Строгая охрана в значительной степени ограничивала эту машину компиляцией перед"запуском", поскольку функция "Альфа" была критически важным ресурсом. Мачо-типы избежали узкого места, написав его непосредственно в машинном коде. Это было очень сложно, так как 650 были 3-адресными десятичными машинами, со всей памятью на вращающемся диске. барабан. Для того, чтобы получить какую-либо эффективность, программы должны были быть оптимизированы для (различных) времен выполнения различных op-кодов. МЫЛА, Символическая Оптимальная программа сборки сделала это, хотя лучшая "ручная оптимизация" была возможна (очень) пациентом. Кстати, для оптимизации была использована копия МЫЛА!
Конечно, после того, как переводы Fortransit, IT и SOAP были завершены и пробиты на числовых деках, любые 650 могли запускать программы.
В 1958 году Том Гуттман написал собственноручное предупреждение на карточке формата 3х5 и приклеил ее к верхней части" верхнего " IBM_650 Уотсона. Он оставался там в течение многих лет, пока машина не была разобрана и удалена. Это не на 100% верно, хотя и очень близко. Предостерегающий знак Тома, который он скопировал с аналогичного, приклеенного скотчем к 650-му в "Сервисном бюро" IBM в Уайт — Плейнс, будет знаком даже в наши нынешние и немигающие времена...:
Achtung! Alles Lookenspeepers!
Das computermachine ist nicht fur gefingerpoken und mittengrabben.
Ist easy schnappen der springenwerk, blowenfusen, und poppencorken mit spitzensparken.
Ist nicht fur gewerken bei das dumpkopfen.
Das rubbernecken sichtseeren keepen hans in das pockets muss...:
Relaxen und watch das blinkenlichten. - В здании "Шеффилд Дейри" на 125-й улице (Прентис-холл) также находился дом 650. Он в основном использовался ERL (= Electronic Research Labs), который после беспорядков 1968 года покинул Колумбию и продолжил свои секретные военные исследования как RRL (= Riverside Research Labs).
Также в этом здании находился Колумбийский-Принстонский центр электронной музыки.
В течение нескольких лет, будучи студентом, я работал там, в то время как он совместно управлялся "ранними великими" в этой области, а именно Владимиром Усачевским, Отто Луенингом и Милтоном Бэббитом У меня уже был значительный опыт работы в студиях звукозаписи, любительском радио и WKCR, поэтому я сделал себя полезным, поддерживая их (только vacuum_tube) оборудование. Все трое были истинными джентльменами, но "персонажами", а иногда и совершенно сумасшедшими... Работая на них, я познакомился с ребятами из ЭРЛ гораздо лучше, хотя впервые познакомился с некоторыми из них несколькими годами раньше, во время учебы в ХС "Отличник науки"... Вот так я и пришел работать в ЭРЛ.
Работая на Джона Боуза, я часто писал и запускал программы на "их" 650. Bose был сильной и постоянной силой, чтобы получить больше вычислительной мощности в кампусе. Интересно, что Бозе также был ярым сторонником "аналоговых" компьютеров, которые использовали множество операционных усилителей и патч-кордов. Я также программировал и управлял их двумя аналоговыми компьютерами, ныне полностью утраченным искусством, но не предметом истории Фрэнка! - "Только потому, что я не смог найти никакой информации.]
Кстати, профессор Бозе, у которого были назначения как в ИЭ, так и в ЭРЛ, был докторантом, возможно, самого известного профессора ИЭ в Колумбии, майора Эдвина Х. Армстронга ! ЭХА изобрела FM, сверхгетеродинный приемник и сверхрегенеративный усилительный детектор. Довольно хорошее жизненное достижение для этого КУ-града!
В августе 2005 года, когда мы приближаемся к 50-летию установки 650 в лаборатории Уотсона, Мелисса Мец из AcIS рассказала, что ее мама, Клэр, физик, была в то время в лаборатории Уотсона; Клэр вспоминает:
Я работал в 612 Вест 116-й улице, в подвале летом 1954 года на IBM, на Эрвина Хана, который уехал в Калифорнийский университет в Беркли (в 1953 году я работал в Пупине на Гарднера Такера и получал меньше, чем ребята. Эрвин Хан позаботился о том, чтобы мне платили столько же). Он исследовал эффект "спинового эха", который привел к МРТ. Он также мог играть в "Янки Дудл", стуча по голове и меняя лицо и рот. IBM расстроилась, так как он не будет работать с 9 до 5, хотя он потратил еще много часов. У них был таймерный прибор и они считали время в сотых долях часа. (Подробнее о часах времени ЗДЕСЬ и ЗДЕСЬ) В то время это называлось Лабораторией Уотсона. Но там было много лабораторий IBM, все они, насколько я помню, назывались Watson.Я также делал свое оригинальное программирование, будучи аспирантом, для IBM 650. Я написал небольшую программу после короткого курса Watson Lab для the 650, который я взял около 1960 года, но кто-то другой ввел ее в компьютер. Только Мариан Хаманн Биавати и я, единственные женщины на курсе, сделали все правильно в первый раз.
В октябре 2018 года Пол Муцио пишет:
В 1960-61 годах Колумбия принимала спонсируемую NSF программу для старшеклассников. Пришлось сдавать экзамен весной 1960 года, чтобы получить допуск к программе. Одним из больших преимуществ программы было то, что я получил возможность написать компьютерную программу на машинном языке. В вашей статье (комментарий Майка Радова), есть обсуждение программы научных отличий средней школы с использованием IBM 1620, я думал, что мы должны использовать IBM 650, но это давно. Я остро помню, однако, следующее: "650 инструкций состояли из двухзначного кода операции, четырехзначного адреса данных и четырехзначного адреса следующей инструкции." Никаких воспоминаний об использовании SPS.
References:
- Type 650 Magnetic Drum Data-Processing Machine - Manual of Operation, first revision, Form 22-6060-1, IBM, 590 Madison Avenue, New York 22, NY (June 1955). (Also the first edition, Form 22-6060-0, 1953).
- Type 650 Magnetic Drum Data-Processing Machine - Manual of Additional Features, Form 22-6265-1, IBM, 590 Madison Avenue, New York 22, NY (1955).
- Mace, David, and Joyce Alsop, A Simplified System for the Use of an Automatic Calculator, Watson Scientific Computing Laboratory, Columbia University / IBM (1957), 75 pages (COVER).
- Baker, C.L., and Grace Murray Hopper, "Anecdotes: Stories from the HOPL Banquet: Dear John; Meeting JOSS; The First Bug; SOAP Assembler; Debugging ..., IEEE Annals of the History of Computing Vol.3 No.3 (July-September 1981), pp 283-286.
- Jeenel, Joachim, Programming For Digital Computers, McGraw-Hill (1959), 517 pages. This book came out of Jeenel's Watson Lab 650-based courses at Columbia, and was an expansion of the Mace/Alsop book (to which Jeenel was also a contributor). This book never once mentions the 650 or any other kind of computer, but clearly has the 650 in mind (using much of the same terminology, e.g. "reset add" for loading a word from memory to an accumulator, and assuming a two-address instruction format).
- Andree, Richard V., Programming the IBM 650 Magnetic Drum Computer and Data-Processing Machine, Henry Holt and Co., New York (1958).
- Bashe, Charles J.; Lyle R. Johnson; John H. Palmer; Emerson W. Pugh, IBM's Early Computers, MIT Press (1985): pp.165-172 (design); 351-353 (SOAP).
- Grosch, Herbert R.J., Computer: Bit Slices from a Life, Third Millenium Books, Novato CA (1991), ISBN 0-88733-085 [see Chapter 13 and elsewhere (search for "650" and "Hamilton")].
- IEEE Annals of the History of Computing, Volume 8, Number 1, January 1986. Special IBM 650 issue.
- Knuth, Donald, RUNCIBLE-Algebraic Translation on a Limited Computer, CACM, V2 #11, Nov 1959, pp.18-21. RUNCIBLE stands for Revised Unified New Compiler with IT Basic Language Extended. IT (Internal Translator) was developed at Case Institute of Technology (CIT, now Case Western Reserve University) by Perlis, et al, about 1957 for the Burroughs 205, then adapted to the 650. On a random web page I found a 2001 discussion of the word runcible stating that this article was Knuth's second publication -- "his first was in Mad Magazine (1957), on a system of weights and measures he designed. According to one of Knuth's students, Mad 'inexplicably declined' his second article, on Runcible". Also see Links, just below.
- Hamilton, F.E., and E.C. Kubie, "The IBM Magnetic Drum Calculator Type 650", Journal of the Association for Computing Machinery, Vol.1 No.1 (Jan 1954), pp.13-20 (also published by IBM, 9 Sep 1953).
- Horner, John T., "Relative Programming for the IBM Type 650", IBM Technical Newsletter, No.10, IBM, New York (Oct 1955), pp.15-27.
- Poley, Stanley, and Grace L. Mitchell, SOAP, IBM 650 Symbolic Optimal Assembly Program, IBM, Endicott NY (20 Nov 1955), 28pp.
- Ruterauff, R.E. "Symbolic Coding and Assembly for the IBM Type 650", IBM Technical Newsletter, No.10, IBM, New York (Oct 1955), pp.5-14.
- Sweeney, Dura W., and George R. Trimble, Jr., "IBM Type 650 Magnetic Tape Attachment", IBM Technical Newsletter, No.10, IBM, New York (Oct 1955), pp.264-269.
- Sweeney, Dura W., and George R. Trimble, Jr., "IBM Type 650 High Speed Storage Attachment", IBM Technical Newsletter, No.10, IBM, New York (Oct 1955), pp.270-276.
- Trimble, G.R., Jr., and E.C. Kubie, "Principles of Optimum Programming the IBM Type 650", IBM Technical Newsletter, No.8, IBM, New York (Sep 1954), pp.5-16.
- Trimble, G.R., Jr., and E.C. Kubie, "Indexing Accumulators for the IBM Type 650", IBM Technical Newsletter, No.10, IBM, New York (Oct 1955), pp.253-263.
- Numerous other articles in IBM Scientific Computing Forum Proceedings and Technical Newsletters from 1954 on, describing 605 applications and techniques.