IBM 1620 - IBM 1620

IBM 1620 Модель I, уровень H
Машина обработки данных IBM 1620 с IBM 1627 плоттер, представленный на выставке 1962 г. Сиэтлская всемирная выставка

В IBM 1620 было объявлено IBM 21 октября 1959 г.,[1] и продавался как недорогой «научный компьютер».[2] После общего производства около двух тысяч машин, он был снят с производства 19 ноября 1970 года. Модифицированные версии 1620 использовались в качестве центрального процессора. IBM 1710 и IBM 1720 Системы управления промышленными процессами (что делает его первым цифровым компьютером, который считается достаточно надежным для в реальном времени контроль над процессом заводского оборудования).[1]

Существование переменная длина слова десятичное число, в отличие от чистого двоичного кода с фиксированной длиной слова, сделало его особенно привлекательным первым компьютером для обучения - и сотни тысяч студентов получили свои первые опыты с компьютером на IBM 1620.

Время цикла основной памяти составляло 20 микросекунд для (ранее) Модель I, 10 микросекунд для Модель II (примерно в тысячу раз медленнее, чем обычная оперативная память компьютера в 2006 году). Модель II была представлена ​​в 1962 году.[3]

Архитектура

объем памяти

IBM 1620 была переменной »слово "длина десятичная (BCD ) компьютер с магнитная память что могло содержать:

  • 20000 десятичных цифр[4][3]
  • 40000 десятичных цифр (базовая память плюс блок хранения IBM 1623, модель 1)
  • 60 000 десятичных цифр (базовая память плюс блок хранения IBM 1623, модель 2).[1]

Вышеупомянутое было в Model I. В Model II был развернут модуль памяти ядра IBM 1625,[5][6] время цикла памяти было сокращено вдвое за счет использования более быстрых ядер по сравнению с моделью I (внутренняя память или блок памяти 1623): до 10 мкс (т.е. скорость цикла была увеличена до 100 кГц).

В то время как 5-значные адреса любой модели могли адресовать 100 000 десятичных цифр, на рынке никогда не продавалось ни одной машины с числом более 60 000 десятичных цифр.[7]

Доступ к памяти

К памяти обращались две десятичные цифры одновременно (пара четно-нечетных цифр для числовых данных или одна альфамерный символ для текстовых данных). Каждая десятичная цифра состояла из 6 бит, состоящих из нечетной четности. Cчерт возьми, а Fбит задержки и четыре бита BCD для значения цифры в следующем формате:[8]

  В Ж 8 4 2 1

В Fбит задержки имел несколько применений:

  • В младшем разряде он был установлен для обозначения отрицательного числа (знаковая величина ).
  • Он был установлен для обозначения самой старшей цифры числа (словесный знак ).
  • В младшем разряде 5-значных адресов он был установлен для косвенная адресация (вариант на Модель I, входит в стандартную комплектацию модели 1620 Model II). Многоуровневая косвенность[1] могут быть использованы (вы даже можете поместить машину в бесконечный цикл косвенной адресации).
  • Посередине три цифры 5-значного адреса (на 1620 II ) они должны были выбрать один из семи индексные регистры.

В дополнение к действительным значениям цифр BCD было три специальный цифровые значения (их нельзя использовать в расчетах):

  В Ф 8 4 2 1 1 0 1 0 - Отметка записи (крайний правый конец записи, печатается как двойной кинжал символ, ‡) 1 1 0 0 - Пустая цифра (пробел для форматирования вывода перфокарты) 1 1 1 1 - Группа Марка (самый правый конец группы записей для дискового ввода-вывода)

инструкции были фиксированной длины (12 десятичных цифр), состоящие из 2-значного "код операции ", пятизначный" P-адрес "(обычно пункт назначения адрес) и 5-значный "Q-адрес" (обычно источник адрес или источник немедленное значение). Некоторые инструкции, такие как инструкция B (ветвление), использовали только P-адрес, а более поздние интеллектуальные ассемблеры включали команду «B7», которая генерировала 7-значную инструкцию ветвления (op-код, P-адрес и одну дополнительную цифру, потому что следующая инструкция должна была начинаться с четной цифры).

Фиксированная точка "слова" данных могут иметь любой размер от двух десятичных цифр до всей памяти, не используемой для других целей.

Плавающая точка данные "слова" (с использованием аппаратных плавающая точка вариант) может иметь любой размер от 4 до 102 десятичных цифр (от 2 до 100 цифр для мантисса и 2 цифры для показатель степени ).

Компилятор Fortran II предлагал ограниченный доступ к этой гибкости через «карту управления исходной программой», предшествующую исходному тексту fortran в фиксированном формате:

* ffkks

* В первой колонке, ff количество цифр мантиссы чисел с плавающей запятой (от 02 до 28), кк количество цифр для чисел с фиксированной запятой (от 04 до 10) и s - указать размер памяти компьютера для запуска кода, если не текущего компьютера: 2, 4 или 6 для памяти на 20 000, 40 000 или 60 000 цифр.

У машины не было регистров, доступных программисту: все операции выполнялись из памяти в память (включая индексные регистры из 1620 II ).

Видеть Архитектурные трудности раздел

Коды символов и операций

В таблице ниже перечислены символы алфавитно-цифрового режима (и коды операций).

BCD персонажПечатная машинкаПринтерЛента КартаОсновнойMNEMONIC и работаОпределение и примечания
ВИзИзВИзВИзЧетноеСтранный
Пустой   CC     
инвалид Ж ❚ 1FADD Плавающее добавлениеДополнительная специальная функция.
инвалид Ж ❚ Плавающее вычитание FSUBДополнительная специальная функция.
.... Х0 8 21 Х0 8 2112-3-8
12-1-2-8
12-3-821FMUL Плавающее умножениеДополнительная специальная функция.
)))) X0C84 X0C8412-4-812-4-84  
инвалид Ж ❚ 4 1FSL плавающий сдвиг влевоДополнительная специальная функция.
инвалид Ж ❚ 42 Плавающая передача TFLДополнительная специальная функция.
инвалид Ж ❚ 421BTFL Branch и Transmit FloatingДополнительная специальная функция.
инвалид Ж ❚  8FSR Плавающий сдвиг вправоДополнительная специальная функция.
инвалид Ж ❚  81Плавающий разделитель FDIVДополнительная специальная функция.
++++ X0C X0C12121 Немедленный адрес отделения и передачи BTAM(Модель II)
инвалид Ж ❚ 11AM Добавить немедленно 
инвалид Ж ❚ 1SM Вычесть сразу 
$$$$ Х C8 21 Х C8 2111-3-8
11-1-2-8
11-3-8121ММ Умножение Немедленно 
**** X84 X8411-4-811-4-814CM Сравнить Немедленно 
инвалид Ж ❚ 14 1Немедленная передача цифры TDM 
инвалид Ж ❚ 142 Немедленное поле передачи TFM 
инвалид Ж ❚ 1421BTM Branch and Transmit Immediate 
инвалид Ж ❚ 1 8Немедленная нагрузка на дивиденды LDMДополнительная специальная функция (модель I).
Стандарт (Модель II).
инвалид Ж ❚ 1 81DM Divide ImmediateДополнительная специальная функция (модель I).
Стандарт (Модель II).
---- Икс Икс1111 Филиал ВТА и адрес передачи(Модель II)
////0C10C10-10-11Добавить 
инвалид Ж ❚ S вычесть 
,,,,0C8 210C8 210-3-8
0-1-2-8
0-3-821M Умножить 
((((0 840 840-4-80-4-84C Сравнить 
инвалид Ж ❚ 4 1Цифра передачи TD 
инвалид Ж ❚ 42 Поле передачи TF 
инвалид Ж ❚ 421BT Branch и передача 
инвалид Ж ❚  8Дивиденд нагрузки LDДополнительная специальная функция (модель I).
Стандарт (Модель II).
инвалид Ж ❚  81D РазделитьДополнительная специальная функция (модель I).
Стандарт (Модель II).
инвалид Ж ❚ 21 Запись передачи TRNM № RM(Модель II)
инвалид Ж ❚ 211Запись передачи TR 
инвалид Ж ❚ 21SF Установить флаг 
====8 218 213-8
1-2-8
3-82121CF Очистить флаг 
@@@@C84C844-84-8214K Control (устройство ввода / вывода) 
инвалид Ж ❚ 214 1DN Дамп Числовой 
инвалид Ж ❚ 2142 RN Читать числовой 
инвалид Ж ❚ 21421РА читать алфавитно 
инвалид Ж ❚ 21 8WN Запись цифр 
инвалид Ж ❚ 21 81WA Запись в алфавитном порядке 
АААА X01 X0112-112-1 41NOP Нет операции 
BBBB X02 X0212-212-2 4BB Branch Back 
CCCC X0C21 X0C2112-3
12-1-2
12-3 421BD Branch On Digit 
DDDD X04 X0412-412-4 44BNF Branch No Flag 
EEEE X0C 4 1 X0C 4 112-5
12-1-4
12-5 44 1BNR Branch No Record Mark 
FFFF X0C 42 X0C 4212-6
12-2-4
12-6 442 Индикатор ветви BI 
UMK Unmask
МК Маска
Функция прерывания 1710. Модификаторы в поле Q.
граммграммграммграмм X0421 X042112-7
12-1-2-4
12-7 4421BNI Branch Нет индикатора 
BO Branch Out
BOLD Разветвление и загрузка
Функция прерывания 1710. Модификаторы в поле Q.
ЧАСЧАСЧАСЧАС X0 8 X0 812-812-8 4 8H Остановка 
яяяя X0C81 X0C8112-9
12-1-8
12-9 4 81B филиал 
-0Нет данных--Нет данных Икс11-011-0 4 1   
J
-1
JJJ X C1 X C111-111-1 4 11  
K
-2
KKK X C2 X C211-211-2 4 1  
L
-3
LLL X21 X2111-3
11-1-2
11-3 4 121  
M
-4
MMM X C 4 X C 411-411-4 4 14  
N
-5
NNN X4 1 X4 111-5
11-1-4
11-5 4 14 1BNG Branch No Group MarkДополнительная специальная функция.
О
-6
ООО X42 X4211-6
11-2-4
11-6 4 142   
п
-7
ппп Х С 421 Х С 42111-7
11-1-2-4
11-7 4 1421  
Q
-8
QQQ X C8 X C811-811-8 4 1 8WAIT Ожидание прерыванияФункция прерывания 1710.
р
-9
ррр X81 X8111-9
11-1-8
11-9 4 1 81  
инвалид Ж ❚  42  BS Branch and Select(Модель II)
инвалид Ж ❚  42 1BX Branch и Modify Index RegisterДополнительная специальная функция (модель II).
SSSS0C20C20-20-2 42 BXM Филиал и немедленно изменить регистр индексаДополнительная специальная функция (модель II).
ТТТТ0210210-3
0-1-2
0-3 42 21BCX Branch Условно и изменить регистр индексаДополнительная специальная функция (модель II).
UUUU0C 40C 40-40-4 42 4BCXM Branch Условно и немедленно изменить регистр индексаДополнительная специальная функция (модель II).
VVVV04 104 10-5
0-1-4
0-5 42 4 1Регистр индекса ветви и нагрузки BLXДополнительная специальная функция (модель II).
WWWW042 042 0-6
0-2-4
0-6 42 42 Филиал BLXM и немедленно загрузить регистр индексаДополнительная специальная функция (модель II).
ИксИксИксИкс0C 4210C 4210-7
0-1-2-4
0-7 42 421Регистр индекса филиалов и магазинов BSXДополнительная специальная функция (модель II).
YYYY0C80C80-80-8 42  8  
ZZZZ0 810 810-9
0-1-8
0-9 42  81  
00000
12-0
0 421 MA Move AddressДополнительная специальная функция (модель II).
11111111 4211Флаг движения MFДополнительная специальная функция (модель I).
Стандарт (Модель II).
222222 421Цифровая полоса передачи TNSДополнительная специальная функция (модель I).
Стандарт (Модель II).
3333C21C2133 42121Числовое заполнение передачи TNFДополнительная специальная функция (модель I).
Стандарт (Модель II).
4444 4 444 4214  
5555С 4 1С 4 155 4214 1  
6666С 42С 4266 42142   
7777 421 42177 421421  
88888888 421 8  
9999C81C8199 421 81  
инвалид Ж ❚ 84SA Выбрать адрес
SACO Выбрать адрес, связаться с нами
SAOS Выбрать аналоговый выходной сигнал
1710 особенность. Модификаторы в поле Q
инвалид Ж ❚ 842 SLTA Выбрать TAS
SLAR Выбрать регистр АЦП
SLTC Выбрать часы реального времени
SLIC Выбор входного канала
SLCB Выбрать контактный блок
SLME Выберите ручной ввод
1710 особенность. Модификаторы в поле Q
инвалид Ж ❚ 8П 42RNIC Чтение цифрового входного канала1710 особенность. Модификаторы в поле Q
инвалид Ж ❚ 8F 421RAIC Чтение буквенного входного канала1710 особенность. Модификаторы в поле Q
инвалид Ж ❚ 8 8WNOC Запись цифрового выходного канала1710 особенность. Модификаторы в поле Q
инвалид Ж ❚ 8 81WAOC Запись буквенного канала вывода1710 особенность. Модификаторы в поле Q
инвалид Ж ❚ 81 BBT Branch on BitДополнительная специальная функция (модель II).
инвалид Ж ❚ 811БМК Филиал на МаскеДополнительная специальная функция (модель II).
инвалид Ж ❚ 81ORF OR в полеДополнительная специальная функция (модель II).
инвалид Ж ❚ 8121ANDF И в полеДополнительная специальная функция (модель II).
инвалид Ж ❚ 814Восьмеричное поле дополнения CPLFДополнительная специальная функция (модель II).
инвалид Ж ❚ 814 1EORF Exclusive OR на полеДополнительная специальная функция (модель II).
инвалид Ж ❚ 8142 Восьмеричное преобразование OTD в десятичноеДополнительная специальная функция (модель II).
инвалид Ж ❚ 81421Преобразование десятичных чисел DTO в восьмеричныеДополнительная специальная функция (модель II).
RM(Останавливаться)(Останавливаться)0 8 2 E
(Останавливаться)
0-2-80-2-8 8 2  Отметка записи
GMIBM 1401 Group Mark.GIF(Останавливаться)(Останавливаться)0 8421E
(Останавливаться)
0-7-81-2-4-8 8421 Группа Марка

В таблице ниже перечислены символы числового режима.

ХарактерПечатная машинкаПринтерЛента КартаОсновнойОпределение и примечания
ВИзИзСвалкаВИзВИз
Пустой 000C 0C 
000000
12-0
12
0C 
11111111
12-1
1 1 
222222
12-1
2 
33333C21C213
12-3
1-2
12-1-2
3C21 
44444 4 44
12-4
44 
55555С 4 1С 4 15
12-5
1-4
12-1-4
5C4 1 
66666С 42С 426
12-6
2-4
12-2-4
6C42 
77777 421 4217
12-7
1-2-4
12-1-2-4
7421 
88888888
12-8
88 
99999C81C819
12-9
1-8
12-1-8
9С 81 
-000-- Икс
X0C
Икс11-011-0 F 
-111JJ X C1 X C111-111-1CF1 
-222KK X C2 X C211-211-2CF2 
-333LL X21 X2111-3
11-1-2
11-3 F21 
-444MM Х С 4 X C 411-411-4CF 4 
-555NN X4 1 X4 111-5
11-1-4
11-5 П 4 1 
-666ОО X42 X4211-6
11-2-4
11-6 П 42 
-777пп Х С 421 Х С 42111-7
11-1-2-4
11-7CF 421 
-888QQ X C8 X C811-811-8CF8 
-999рр X81 X8111-9
11-1-8
11-9 F81 
RM(Стоп, WN)

(DN)
(Останавливаться)0 8 2 E
(Стоп, WN)
0 8 2 
(DN)
0-2-80-2-8С 8 2Отметка записи
На ленте WN вместо этого пробивает EOL!
флаг RM(Стоп, WN)

(DN)
(Останавливаться)W X8 2E
(Стоп, WN)
X8 2
(DN)
11-2-8
12-2-8
11-2-8 F8 2Отметка записи с пометкой
На ленте WN вместо этого пробивает EOL!
EOL(Стоп, WN)

(DN)
(Останавливаться)EE
(WN)
0 8 2 
(DN)
0-2-80-2-8С 8 2Конец линии Только лента.
Примечание: в памяти есть отметка записи!
GMIBM 1401 Group Mark.GIF(Стоп, WN)
IBM 1401 Group Mark.GIF
(DN)
(Останавливаться)грамм0 84210 84210-7-80-7-8C 8421Группа Марка
флаг GMIBM 1401 Group Mark.GIF(Стоп, WN)
IBM 1401 Group Mark.GIF
(DN)
(Останавливаться)Икс X8421 X842112-7-812-7-8 F8421Отметка группы с пометкой
NB@@@C84C844-8С 84Числовой пробел
флаг NB@@* X84 X8411-4-8 F84Отмечено пустое число

Неправильный символ

В Модель I использовал Кириллица Ж (произносится zh) на пишущей машинке как недопустимый символ общего назначения с правильной четностью (недопустимая четность обозначается чертой "-"). В некоторых 1620 установках он назывался СМЕРШ, как используется в Джеймс Бонд романы, ставшие популярными в конце 1960-х годов. В Модель II использовал новый символ ❚ (называемый «подушкой») как недопустимый символ общего назначения с правильной четностью.

Архитектурные трудности

Хотя архитектура IBM 1620 была очень популярна в научном и инженерном сообществе, ученый-компьютерщик Эдсгер Дейкстра указал на несколько недостатков в его конструкции в EWD37, «Обзор системы обработки данных IBM 1620».[9] Среди них то, что инструкции Branch и Transmit машины вместе с Branch Back позволяют в общей сложности один уровень вложенных вызовов подпрограмм, заставляющий программиста любого кода с более чем одним уровнем решать, где использование этой «возможности» будет наиболее эффективным. Он также показал, как устройство поддержки чтения с бумажной ленты не может правильно читать ленты, содержащие метки записи, поскольку метки записи используются для завершения чтения символов в хранилище. (Одним из следствий этого является то, что 1620 не может скопировать ленту с метками записи простым способом: когда встречается метка записи, команда перфорации вместо этого пробивает символ EOL и завершается. Однако это не было серьезной проблемой:

  • данные могут быть скопированы до конца памяти и дословно перфорированы с помощью инструкции DN вместо WN
  • кассеты обычно дублировались не в сети.

Большинство установок 1620 использовали более удобный ввод / вывод перфокарт,[10] а не бумажную ленту.

Преемник 1620 г. IBM 1130,[11] был основан на совершенно другой 16-битной двоичной архитектуре. (Линия 1130 сохранила одно периферийное устройство 1620, IBM 1627 барабанный плоттер.)

Программного обеспечения

Карта IBM 1620 SPS

IBM поставила следующее программное обеспечение для 1620:

  • Система символьного программирования 1620 (SPS) (язык ассемблера )
  • FORTRAN
  • FORTRAN II - требуется 40 000 или более цифр памяти

  • GOTRAN - упрощенная, интерпретируемая версия FORTRAN для работы по принципу "load and go"[12]
  • Монитор I и Монитор II - диск операционные системы.

Мониторы предоставили дисковые версии 1620 SPS IId, FORTRAN IId, а также DUP (Disk Utility Program). Обеим системам монитора требовалось не менее 20000 цифр в памяти и один или более 1311 дисководов.

Коллекция руководств по IBM 1620 в формате PDF существует на сайте bitavers.[13]

1620 Недесятичная арифметика

Поскольку Модель I используются таблицы поиска в памяти для сложения / вычитания,[14] Арифметика беззнаковых чисел с ограниченным основанием (от 5 до 9) может быть выполнена путем изменения содержимого этих таблиц, но с учетом того, что аппаратные средства включают дополнитель десяти для вычитания (и добавления чисел с противоположным знаком).

Для выполнения полностью подписанного сложения и вычитания в базах 2–4 требовалось детальное понимание аппаратного обеспечения для создания «свернутой» таблицы сложения, которая имитировала бы комплементатор и переносила логику.

Кроме того, таблицу сложения необходимо было перезагружать для нормальной работы с базой 10 каждый раз, когда в программе требовались вычисления адреса, а затем снова перезагружать для альтернативной базы. Это сделало «трюк» несколько менее полезным для любого практического применения.

Поскольку Модель II если сложение и вычитание были полностью реализованы на аппаратном уровне, изменение таблицы в памяти не могло использоваться как «трюк» для изменения арифметических основ. Однако была доступна дополнительная специальная функция в оборудовании для восьмеричного ввода / вывода, логических операций и преобразования базового числа в / из десятичного числа.

Хотя базы, отличные от 8 и 10, не поддерживались, это делало Модель II очень практичной для приложений, которым необходимо было манипулировать данными, отформатированными в восьмеричном формате на других компьютерах (например, IBM 7090).

Модель I

Чертеж, показывающий внутреннюю планировку «ворот»

В IBM 1620 Модель I (обычно называемый «1620» с 1959 г. до 1962 г. Модель II ) был оригиналом. Его производили максимально дешево, чтобы держи цену на низком уровне.

  • Не хватало общепринятый ALU оборудование: арифметика выполнялась таблица памяти искать. Для сложения и вычитания использовалась таблица из 100 цифр (@ адрес 00300..00399). Для умножения использовалась таблица из 200 цифр (@ адрес 00100..00299).[15]:п.4.4 Базовая машина использовала программные подпрограммы для деления, хотя можно было установить дополнительное оборудование деления, которое использовало бы алгоритм повторного вычитания. Доступны арифметические инструкции с плавающей запятой (если была установлена ​​опция деления).
  • Первые 20000 десятичных цифр числа магнитная память были внутренними для ЦПУ сама (что снизило требования к занимаемой площади базовой системы). Расширение до 40 000 или 60 000 десятичных цифр потребовало добавления модуля памяти IBM 1623. Время цикла памяти было 20мкс (то есть скорость памяти была 50кГц = 1/20 МГц). Хранение регистров адресов памяти (MARS)[15] Операции чтения, очистки или записи основной памяти занимали 2 мкс, и каждой операции записи автоматически (но не обязательно сразу) предшествовала операция чтения или очистки одного и того же «регистра (ов)» в течение цикла памяти 20 мкс.
  • Тактовая частота центрального процессора составляла 1МГц, который был разделен на 20 на 10-значную счетчик колец для подачи сигналов синхронизации и управления системой. Для выборки инструкций требовалось восемь циклов памяти (160 мкс) и переменное количество циклов памяти для выполнения. Косвенная адресация[1] добавлено четыре цикла памяти (80 мкс) для каждого уровня косвенности.
  • Он весил около 1210 фунтов (550 кг).[16]

Модель II

В IBM 1620 Модель II (обычно называемая просто Модель II) была значительно улучшенной реализацией по сравнению с оригинальной Модель I. Модель II была представлена ​​в 1962 году.

  • У него были основные ALU оборудование для сложения и вычитания, но умножение по-прежнему производилось внутренняя память поиск по таблице с использованием таблицы из 200 цифр (@ адрес 00100..00299). Адреса памяти @ адрес 00300..00399 были освобождены заменой таблицы сложения аппаратной, что привело к сохранению двух выбираемых "полос" из семи пятизначных индексные регистры.
  • Вместо того, чтобы быть доступным вариантом, как в Модели I, было встроено оборудование деления, использующее алгоритм повторного вычитания. Плавающая точка Доступна была арифметика, а также восьмеричный ввод / вывод, логические операции и базовое преобразование в / из десятичных инструкций.
  • Вся основная память была в блоке памяти IBM 1625. Время цикла памяти было уменьшено вдвое по сравнению с Model I (внутренняя память или блок памяти 1623), до 10мкс (т.е. скорость цикла была увеличена до 100кГц ) за счет использования более быстрых ядер.[6] Операция чтения, очистки или записи основной памяти в адресном регистре памяти (MARS) занимала 1,5 мкс, и каждой операции записи автоматически (но не обязательно сразу) предшествовала операция чтения или очистки тех же «регистров» в течение Цикл памяти 10 мкс.
  • Тактовая частота процессора также была увеличена вдвое, до 2МГц, который по-прежнему был разделен на 20 на 10 счетчик колец для подачи сигналов синхронизации / управления системой. Механизм выборки / выполнения был полностью переработан с оптимизацией времени и возможностью частичной выборки, когда поля P или Q не нужны. Инструкции требовали 1, 4 или 6 циклов памяти (10 мкс, 40 или 60 мкс) для выборки и переменного числа циклов памяти для выполнения. Косвенная адресация[1] добавлено три цикла памяти (30 мкс) для каждого уровня косвенное обращение. Индексированная адресация добавила пять циклов памяти (50 мкс) для каждого уровня индексации. Косвенную и индексированную адресацию можно комбинировать на любом уровне косвенной адресации или индексации.[17]

Консоли моделей I и II

В то время как Нижняя консоль как для Model 1[18] и Модель 2[19] Системы IBM 1620 имели те же лампы и переключатели, Верхняя консоль пары были частично разными.

Верхняя консоль

Модель I (Верхняя консоль)# ЛампыМодель II (Верхняя консоль)# Лампы
Инструкция и цикл выполнения60Контрольные ворота60
Контрольные ворота35Ввод, вывод35
Ввод, вывод15Цикл Inst & Exec15-

Баланс Верхняя консоль было одинаково на обеих моделях:

  • Регистр эксплуатации - 25 ламп
  • Регистр буфера памяти - 30 ламп
  • Регистр адреса памяти - 25 ламп
  • Селектор отображения регистра адреса памяти - поворотный переключатель, 12 положений

Нижняя консоль

  • Выключатель аварийного выключения - Вытяжной переключатель
  • Лампы / переключатели состояния проверки состояния - 15 ламп и 5 тумблеров
  • Программные переключатели - 4 переключателя
  • Освещение / переключатели на консоли оператора - 13 ламп, 1 выключатель питания и 12 кнопок

Пишущая машинка консоли

В Модель I пульт машинки был модифицирован Модель B1, взаимодействует с набором реле и набирает всего 10 символов в секунду.[20]

Был набор инструкций, которые писали на машинку или читали с нее. Генерал RN (читай числовой) и WN (писать числовые) инструкции имели мнемонику на языке ассемблера, которая поставляла код «устройства» во втором поле адреса и управляющий код в младшей цифре второго поля адреса.

  • WNTY: Wобряд NУмерик TYpewriter: каждая ячейка памяти содержала 6-битный символ в диапазоне от 000000 до 001001; с помощью этой инструкции каждая ячейка памяти отображалась как один из символов от «0» до «9».
  • WATY: Wобряд Аlцифровой TYpewriter: каждая пара ячеек памяти содержала две 6-битные цифры, которые появлялись на пишущей машинке как один из 64 символов, которые могли появиться.
  • RNTY: рead NУмерик TYpewriter: считывание числового значения с клавиатуры пишущей машинки
  • РАТИ: рead Аlцифровой TYpewriter: считывание символа с клавиатуры и сохранение в виде 2-значного буквенно-цифрового символа
  • TBTY: ТаB TYписатель. Вкладки приходилось настраивать вручную, поэтому эта инструкция использовалась редко.
  • RCTY: рEturn Cбракосочетание TYpewriter: Заставил пишущую машинку сделать то, что мы теперь называем последовательностью CR / LF.

Для упрощения ввода и вывода было две инструкции:

  • TNS: Твыкуп NУмерик Sпоездка: преобразует двузначное буквенно-цифровое представление «0» в «9» в однозначное представление.
  • TNF: Твыкуп NУмерик Fill: Преобразует однозначное представление цифр в последовательность в двузначную буквенно-цифровую последовательность, которая представляет от "0" до "9".

В Модель II использовал модифицированный Selectric пишущая машинка, которая печатала со скоростью 15,5 символов в секунду - улучшение на 55%.

Периферийные устройства

IBM 1627 барабан плоттер

Доступные периферийные устройства были:

  • IBM 1621 - Считыватель бумажной ленты
  • IBM 1622 - Устройство чтения перфокарт / перфорация
  • IBM 1624 - Пуансон для бумажной ленты (сидел внутри 1621 на полке)
  • IBM 1626 - Контроллер плоттера
  • IBM 1627 - плоттер
  • IBM 1311 - Дисковод: главный привод модели 3, управляющий до 3-х подчиненных дисков модели 2.[21][22]
  • IBM 1443  – Принтер, штанга летающего типа
  • IBM 1405 - Дисковый накопитель доступен как RPQ (запросить ценовое предложение)

Стандартный механизм «вывода» для программы заключался в перфокарте, что было быстрее, чем использование пишущей машинки. Эти перфокарты затем пропускались через IBM 407 механический калькулятор, который можно было запрограммировать на печать двух карт, таким образом, можно было использовать дополнительные столбцы печати, доступные на 407. Весь вывод был синхронным, и процессор останавливался, пока устройство ввода-вывода производило вывод, поэтому вывод пишущей машинки мог полностью доминируют над временем работы программы.

Более быстрый вариант вывода, IBM 1443 принтер был представлен 6 мая 1963 г.[23] и его производительность 150–600 строк в минуту была доступна для использования с любой из моделей 1620.[24][25]

Он мог напечатать 120 или 144 столбца. Ширина символа была фиксированной, поэтому изменился размер бумаги; принтер печатал 10 символов с точностью до дюйма, поэтому принтер мог печатать максимум 12 дюймов или 14,4 дюйма текста. Кроме того, в принтере был буфер, поэтому задержка ввода-вывода для процессора была уменьшена. Однако инструкция печати будет заблокирована, если строка не будет завершена.

Операционные процедуры

«Операционная система» для компьютера представляет собой человека-оператора, который будет использовать элементы управления на компьютере. консоль, который состоял из Передняя панель и пишущую машинку, чтобы загружать программы с доступных носителей массовой информации, таких как колоды перфокарт или рулоны бумажной ленты, которые хранились в шкафах поблизости. Позже дисковое запоминающее устройство модели 1311, подключенное к компьютеру, позволило сократить количество операций по извлечению и переносу карточных колод или рулонов бумажной ленты, а также можно было загрузить простую операционную систему «Монитор», чтобы помочь в выборе того, что загружать с диска.[21][26]

Стандартной предварительной подготовкой было очистить память компьютера от остатков любого предыдущего пользователя - поскольку это были магнитные сердечники, память сохраняла свое последнее состояние, даже если было отключено питание. Это было достигнуто с помощью средств консоли для загрузки простой компьютерной программы путем ввода ее машинного кода на пишущей машинке консоли, запуска и остановки. Это было несложно, так как требовалась только одна инструкция, например, 160001000000, загруженная с нулевого и следующего адреса. Это значило немедленно передать поле (16: двузначные коды операций) на адрес 00010, поле непосредственной константы, имеющее значение 00000 (поля операндов из пяти цифр, второе - от адреса 11 до 7), с уменьшением адресов источника и назначения до тех пор, пока скопирована цифра с «флажком». Это был обычный машинный код, способный копировать константу длиной до пяти цифр. Строка цифр была адресована на ее конце младшего разряда и расширена через младшие адреса, пока цифра с флагом не отметила ее конец. Но для этой инструкции флаг никогда не был бы найден, потому что исходные цифры незадолго до этого были перезаписаны цифрами без флага. Таким образом, операция будет вращаться вокруг памяти (даже перезаписывая себя), заполняя ее всеми нулями, пока оператор не устанет наблюдать за миганием индикаторов и не нажмет кнопку Мгновенная остановка - выполнение одного цикла кнопка. Для очистки каждого модуля памяти на 20000 цифр требовалось менее одной секунды. На 1620 II эта инструкция НЕТ работают (из-за некоторых оптимизаций в реализации). Вместо этого на консоли была кнопка под названием Изменить которые при нажатии вместе с Проверить Сброс кнопка, когда компьютер находился в ручном режиме, переводит компьютер в режим, который очищает всю память за десятые доли секунды независимо от того, сколько памяти у вас есть; когда вы нажали Начинать. Он также останавливался автоматически при очистке памяти, вместо того, чтобы требовать от оператора остановки.

Помимо ввода машинного кода на консоли, программу можно было загрузить через устройство чтения бумажной ленты, устройство чтения карт или любой дисковый накопитель. Для загрузки с ленты или диска необходимо сначала ввести "бутстрап "рутина на консольной машинке.

Кардридер упростил задачу, потому что у него был специальный Нагрузка кнопка для обозначения того, что первая карта должна быть считана в память компьютера (начиная с адреса 00000) и выполнена (в отличие от простого запуска устройства чтения карт, которое затем ожидает команд от компьютера для чтения карт) - это "начальная загрузка" "процесс, который получает в компьютер ровно столько кода, чтобы прочитать остальную часть кода (с кардридера, или диска, или ...), который составляет загрузчик, который будет читать и выполнять желаемую программу.

Программы готовились заранее, офлайн, на бумажной ленте или перфокартах. Но обычно программистам разрешалось запускать программы лично, на практике, вместо того, чтобы передавать их операторам, как это было в то время с мэйнфреймами. А пишущая машинка с пультом позволяла вводить данные и получать вывод в интерактивном режиме, вместо того, чтобы просто получать обычные печатные данные из слепого пакетного запуска на предварительно упакованном наборе данных. Также было четыре программные переключатели на консоли, состояние которой может тестировать запущенная программа, и, следовательно, ее поведение определяется пользователем. Оператор компьютера также мог остановить запущенную программу (или она может прийти к намеренно запрограммированной остановке), а затем исследовать или изменить содержимое памяти: будучи основанным на десятичной системе, это было довольно просто; даже числа с плавающей запятой можно было прочитать с первого взгляда. После этого выполнение могло быть возобновлено с любого желаемого момента. Помимо отладки, научное программирование обычно является исследовательским, в отличие от коммерческой обработки данных, когда одна и та же работа повторяется по регулярному графику.

Консоль

Переключатель выбора отображения регистра адреса памяти IBM 1620

Самыми важными элементами консоли 1620 были пара кнопок с надписью Вставлять & Релиз, и пишущая машинка консоли.

  • Insert - нажатие этой клавиши при включенном компьютере Руководство сбросил программный счетчик (в памяти ядра MARS) на ноль, переключил компьютер в Автоматический и Вставлять режимах и имитировал выполнение операции чтения чисел с пишущей машинки по нулевому адресу (разблокировал клавиатуру пишущей машинки, переключил пишущую машинку в числовой режим). Примечание: в отличие от настоящего считывания цифр с пишущей машинки, Вставлять режим заставит Релиз после набора 100 цифр для предотвращения перезаписи арифметических таблиц.
  • Отпустить - нажатие этой кнопки во время чтения с пишущей машинки завершает чтение, переводит компьютер в режим Руководство режим и заблокировал клавиатуру пишущей машинки.

Пишущая машинка используется для ввода / вывода оператора, как в качестве основного пульта управления компьютером, так и для программного управления вводом / выводом. Более поздние модели пишущей машинки имели специальный ключ с маркировкой R-S в котором совмещены функции консоли Релиз & Начинать кнопки (это будет считаться эквивалентом Войти ключ на современной клавиатуре). Примечание: несколько клавиш на пишущей машинке не генерировали вводимые символы, в том числе Вкладка и Возвращаться (буквенно-цифровые и цифровые наборы символов BCD 1620-х годов не содержали кодов символов для этих клавиш).

Следующими по важности элементами консоли были кнопки с надписью Начинать, Stop-SIE, и Мгновенная остановка-SCE.

  • Пуск - нажатие этой клавиши при включенном компьютере Руководство режим переключил компьютер на Автоматический mode (заставляя компьютер начать выполнение по адресу, указанному в счетчике программ).
  • Stop-SIE - нажатие этой клавиши при включенном компьютере Автоматический режим переключил компьютер на Руководство режим, когда текущая выполняемая инструкция завершается. Нажатие этой клавиши при включенном компьютере Руководство режим переключил компьютер в Автоматический режим по одной инструкции.
  • Instant Stop-SCE - нажатие этой клавиши при включенном компьютере Автоматический режим переключил компьютер в Автоматический / Ручной режим в конце текущего цикла памяти. Нажатие этой клавиши при включенном компьютере Руководство или же Автоматический / Ручной режим переключил компьютер в Автоматический / Ручной режим и выполняется один цикл памяти.

Для отладки программы были кнопки с надписью Сохранять & Показать МАР.

  • Сохранить - нажатие этой клавиши при включенном компьютере Руководство режим сохранял программный счетчик в другой регистр в памяти ядра MARS и активировал Сохранять режим.

Когда инструкция Branch Back была выполнена в Сохранять режиме, он скопировал сохраненное значение обратно в программный счетчик (вместо того, чтобы копировать регистр обратного адреса, как обычно) и деактивировал Сохранять режим.

Это использовалось во время отладки, чтобы запомнить, где была остановлена ​​программа, чтобы можно было возобновить ее после завершения инструкций отладки, которые оператор набрал на пишущей машинке. Примечание: регистр MARS, используемый для сохранения программного счетчика, также использовался Умножить инструкция, поэтому эта инструкция и Сохранять режимы были несовместимы! Однако не было необходимости использовать умножение при отладке кода, поэтому это не считалось проблемой.

  • Отображение MAR - нажатие этой клавиши при включенном компьютере Руководство В режиме отображения выбранный регистр MARS и содержимое памяти по этому адресу на индикаторах консоли.
Процедура «точки останова»Примечания
Нажмите Stop-SIEОстановите компьютер в конце текущей инструкции.
Нажмите СохранятьСохраните адрес для возобновления выполнения.
Нажмите ВставлятьРазблокирует клавиатуру пишущей машинки и переходит в числовой режим.
Тип 35xxxxx0010036xxxxx0010042
 
xxxxx - это адрес, на котором вы планируете установить точку останова.
Нажмите РелизБлокирует клавиатуру пишущей машинки.
Нажмите НачинатьНачните выполнение. Дайте распечатать 12-значную инструкцию.
Нажмите РелизОстанавливает Dump Numeric.
Нажмите НачинатьНачните выполнение.
Тип 48Замените код операции инструкции на "break" на код операции Halt.
Нажмите РелизБлокирует клавиатуру пишущей машинки.
Нажмите НачинатьВозобновить выполнение. Подождите, пока компьютер не остановится на «точке останова».
Нажмите ВставлятьРазблокирует клавиатуру пишущей машинки и переходит в числовой режим.
Тип 36xxxxx0010049xxxxx
 
xxxxx - это адрес, на который вы ранее устанавливали точку останова, теперь вы собираетесь его очистить.
Нажмите РелизБлокирует клавиатуру пишущей машинки.
Нажмите НачинатьНачните выполнение.
Тип oooo - это 2-значный код операции, ранее распечатанный исходной 12-значной командой.
Нажмите РелизБлокирует клавиатуру пишущей машинки.
Нажмите Stop-SIEТеперь машина готова возобновить выполнение с местоположения (теперь очищенной) «точки останова». Вы можете выполнить любые необходимые действия по отладке сейчас, прежде чем продолжить.

Всю основную память можно очистить с консоли, введя и выполнив команду переноса с адреса на адрес +1, это перезапишет любую словесную метку, которая обычно остановит инструкцию передачи, и завершится в конце памяти. Через мгновение нажатие Stop остановит инструкцию передачи, и память будет очищена.

Устройство чтения / перфорации бумажной ленты IBM 1621/1624

В Считыватель бумажной ленты IBM 1621 мог читать максимум 150 символов в секунду;
В Пробойник для бумажной ленты IBM 1624 может выводить максимум 15 символов в секунду.[1]

Оба блока:

  • может работать с восьмиканальной бумажной лентой
  • выполняется самопроверка для обеспечения точности
  • вмещает как числовую, так и буквенную информацию в односимвольном кодировании.

В 1621 Читатель ленты и 1624 Tape Punch включает элементы управления для:

  • Выключатель питания - если "включен", устройство считывания включается при включении ЦП.
  • Переключатель Reel-Strip - этот переключатель выбирает, будут ли использоваться катушки или полоски бумажной ленты.
  • Клавиша включения катушки - подает питание на подающую и приемную бобины, чтобы расположить ленту для чтения, и переводит считыватель в состояние готовности.
  • Non-process runout key – Feeds tape until the reader is empty and takes the reader out of ready state.
Bootstrap procedureПримечания
Нажмите ВставлятьUnlocks typewriter keyboard and shifts into numeric mode.
Type 36xxxxx0030049yyyyy
 
xxxxx is the address to load the tape into.
yyyyy is the address to begin execution.
Нажмите РелизLocks typewriter keyboard.
Нажмите НачинатьBegin execution.

IBM 1622 Card reader/punch

В IBM 1622 Card reader/punch could:

  • read a maximum of 250 cards per minute
  • punch a maximum of 125 cards/minute.[1]

The 1622's controls were divided into three groups: 3 punch control rocker switches, 6 buttons, and 2 reader control rocker switches.

Punch Rocker switches:

  • Punch Off/Punch On – This rocker turned the punch mechanism off or on.
  • Select No-Stop/Select Stop – This rocker selected if mispunched cards (deposited in the punch error select stacker instead of the normal punch stacker) let the punch continue or caused a check stop.
  • Non-Process Runout – This rocker with the punch hopper empty, "ranout" remaining cards from the punch mechanism.

Buttons:

  • Start punch – Pressing this key with the punch idle and on, started the punch. The computer could now punch cards.
  • Stop punch – Pressing this key with the punch active, stopped the punch.
  • Check Reset – Pressing this key reset all "error check" conditions in the reader and punch.
  • Load – Pressing this key with the reader idle and on and the computer in Manual mode started the reader, reset the program counter (in the MARS core memory) to zero, read one card into the reader's buffer and checked the card for errors, and simulated the execution of a Read Numeric from Card Reader to address zero (reading the 80 characters of the reader's buffer into memory addresses 00000 to 00079), then switched the computer into Автоматический mode (starting execution at the address in the program counter).
  • Stop reader – Pressing this key with the reader active, stopped the reader.
  • Start reader – Pressing this key with the reader idle and on, started the reader and read one card into the reader's buffer and checked the card for errors. The computer could now read cards.

Reader Rocker switches:

  • Non-Process Runout – This rocker with the read hopper empty, "ranout" remaining cards from the reader mechanism.
  • Reader Off/Reader On – This rocker turned the reader mechanism off or on.
Bootstrap procedureПримечания
Нажмите Load

Disk drives

IBM 1311 Disk Drives – Model 2 (Slave) & Model 3 (Master), attached to an IBM 1620 II

В 1311 Disk drive controls.

  • Module light – This light shows the drive number. When it lights the drive is ready for access.
  • Compare-Disable key-switch – When this (Master only) switch is in the ON position and the Write Address button is pressed a full track write may be performed without comparing addresses. Used to format disk packs.
  • Select Lock light – When this (Master only) lights one or more of the drives has malfunctioned. No disk access can be performed.
  • Write Address button/light – This (Master only) key controls writing sector addresses. Pressing it toggles this enable and turns its light on/off.
  • Enable-Disable toggle-switch – This switch enables or disables access to the drive. If this switch is disabled on the Master, all drives are disabled regardless of the state of their own switches. Also controls the disk usage time meter(s).
  • Start Stop button – Pressing this key starts or stops the disk drive motor. The motor must be stopped to open the lid and change disk packs.
Bootstrap procedureПримечания
Нажмите ВставлятьUnlocks typewriter keyboard and shifts into numeric mode.
Type 3400032007013600032007024902402
Икс
y1963611300102
x – Specifies source of Monitor control cards: 1=typewriter, 3=paper tape, 5=cards
y – Specifies disk drive on which Monitor resides: 1, 3, 5, 7
02402 is the address of the entry point of the Monitor program.
Нажмите РелизLocks typewriter keyboard.
Нажмите НачинатьBegin execution.
Restart procedureПримечания
Нажмите ВставлятьUnlocks typewriter keyboard and shifts into numeric mode.
Type 490225FLG6
 
02256̅ is the address of the location containing the address of the restart point of the Monitor program.
Note: this procedure assumes the Monitor is already loaded in memory
Нажмите РелизLocks typewriter keyboard.
Нажмите НачинатьBegin execution.

Общий

The FORTRAN II compiler and SPS assembler were somewhat cumbersome to use[27][28] by modern standards, however, with repetition, the procedure soon became automatic and you no longer thought about the details involved.

FORTRAN II compilation procedureПримечания
Set the Program Switches as follows:
  1. OFF (No Source listing)
  2. OFF (No Batch compilation)
  3. OFF (Source is entered from cards)
  4. OFF (Only used if 3 is НА)
Pass I options
Set Overflow Check switch to Program and all others to Stop
Нажмите Reset
Load blank cards (face down 12-edge first) into the Punch hopper then press Punch Start
Load Pass I of the compiler (face down 9-edge first) into the Read hopper then press LoadWait for Pass I to load and print on the typewriter "ENTER SOURCE PROGRAM, PRESS START"
Remove Pass I of the compiler from the Read stacker
Load the program source deck (face down 9-edge first) into the Read hopper then press НачинатьWait for Pass I to complete and print on the typewriter "TURN SW 1 ON FOR SYMBOL TABLE, PRESS START"
Turn Program Switch 1 OFF then press НачинатьIf a symbol table listing is desired for debugging, turn Program Switch 1 НА instead. The symbol table listing will be printed on the typewriter.
Wait for Pass I to print on the typewriter "END OF PASS 1"
Set the Program Switches as follows:
  1. OFF (No statement number/address listing)
  2. OFF (Not used)
  3. OFF (No trace for IF statements)
  4. OFF (No trace for arithmetic statements)
Pass II options
Set Overflow Check switch to Program and all others to Stop
Нажмите Reset
Load blank cards (face down 12-edge first) into the Punch hopper then press Punch Start
Load Pass II of the compiler (face down 9-edge first) into the Read hopper then press LoadWait for Pass II to load
Remove Pass II of the compiler from the Read stacker
Remove the intermediate output of Pass I from the Punch stacker, then load it (face down 9-edge first) into the Read hopper and press Reader Start then НачинатьWait for Pass II to complete and print on the typewriter "SW 1 ON TO PUNCH SUBROUTINES, PRESS START"
Remove the intermediate output from the Reader stacker
Turn Program Switch 1 НА, load the Subroutine deck (face down 9-edge first) into the Read hopper, then press Reader Start then НачинатьWait for Pass II to print on the typewriter "END OF PASS II"
Remove the Subroutine deck from the Reader stacker and the completed Object deck from the Punch stacker

GOTRAN was much simpler to use, as it directly produced an executable in memory. However it was not a complete FORTRAN implementation.

To improve this various third-party FORTRAN compilers were developed. One of these was developed by Bob Richardson,[29][30] a programmer at Университет Райса, the FLAG (FORTRAN Load-and-Go) compiler. Once the FLAG deck had been loaded, all that was needed was to load the source deck to get directly to the output deck; FLAG stayed in memory, so it was immediately ready to accept the next source deck. This was particularly convenient for dealing with many small jobs. For instance, at Auckland University a batch job processor for student assignments (typically, many small programs not requiring much memory) chugged through a class lot rather faster than the later IBM 1130 did with its disk-based system. The compiler remained in memory, and the student's program had its chance in the remaining memory to succeed or fail, though a bad failure might disrupt the resident compiler.

Later, disk storage devices were introduced, removing the need for working storage on card decks. The various decks of cards constituting the compiler and loader no longer need be fetched from their cabinets but could be stored on disk and loaded under the control of a simple disk-based operating system: a lot of activity becomes less visible, but still goes on.

Since the punch side of the card reader-punch didn't edge-print the characters across the top of the cards, one had to take any output decks over to a separate machine, typically an IBM 557 Alphabetic Interpreter, that read each card and printed its contents along the top. Listings were usually generated by punching a listing deck and using an IBM 407 accounting machine to print the deck.

Hardware implementation

Most of the logic circuitry of the 1620 was a type of resistor–transistor logic (RTL) using "drift" transistors (a type of transistor invented by Herbert Kroemer in 1953) for their speed, that IBM referred to as Saturated Drift Transistor Resistor Logic (SDTRL). Other IBM circuit types used were referred to as: Сплав (some logic, but mostly various non-logic functions, named for the kind of transistors used), CTRL (another type of RTL, but slower than SDTRL), CTDL (a type of diode–transistor logic (DTL)), and DL (another type of RTL, named for the kind of transistor used, "drift" transistors). Typical logic levels of all these circuits (S Level) were high: 0 V to -0.5 V, low: -6 V to -12 V. Линия передачи logic levels of SDTRL circuits (C Level) were high: 1 V, low: -1 V. Relay circuits used either of two logic levels (T Level) high: 51 V to 46 V, low: 16 V to 0 V or (W Level) high: 24 V, low: 0 V.

These circuits were constructed of individual discrete components mounted on single sided paper-epoxy печатная схема boards 2.5 by 4.5 inches (64 by 114 millimetres) with a 16-pin gold-plated edge connector, that IBM referred to as SMS cards (Standard Modular System ). The amount of logic on one card was similar to that in one 7400 series SSI or simpler MSI package (e.g., 3 to 5 logic gates or a couple of flip-flops).

These boards were inserted into sockets mounted in door-like racks which IBM referred to as gates. The machine had the following "gates" in its basic configuration:

  • "Gate A" – Forward hinged gate that swings out the back for access, after "Gate B".
  • "Gate B" – Rear hinged gate that swings out the back for access.
  • "Gate C" – Slides out back for access. Console Typewriter interface. Mostly реле logic.
  • "Gate D" – Slides out back for access. Standard I/O interface.

There were two different types of core memory used in the 1620:

  • Основная память
    • Coincident Current X-Y Line addressing
      • 20,000, 40,000, or 60,000 Digits
    • 12-bit, even-odd Digit Pair
    • 12 one-bit planes in each module, 1 to 3 modules
      • 10,000 cores per plane
  • Memory Address Register Storage (MARS) memory
    • Word Line addressing
      • 16 Words, minimum of eight used in basic configuration
      • Single Word read, multiple Word clear/write
    • 24-bit, 5-digit decimal Memory Address (no 8 - Ten Thousand bit stored)
    • 1 plane
      • 384 cores

The address decoding logic of the Main memory also used two planes of 100 pulse transformer cores per module to generate the X-Y Line half-current pulses.

There were two models of the 1620, each having totally different hardware implementations:

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

A computer for the "small scientific market"

In 1958 IBM assembled a team at the Покипси, Нью-Йорк development laboratory to study the "small scientific market". Initially the team consisted of Wayne Winger (Manager), Robert C. Jackson, and William H. Rhodes.

Requirements and design

The competing computers in this market were the Librascope LGP-30 и Bendix G-15; both were drum memory machines. IBM's smallest computer at the time was the popular IBM 650, a fixed word length decimal machine that also used drum memory. All three used вакуумные трубки. It was concluded that IBM could offer nothing really new in that area. To compete effectively would require use of technologies that IBM had developed for larger computers, yet the machine would have to be produced at the least possible cost.

To meet this objective, the team set the following requirements:

  • Core memory
  • Restricted instruction set
    • No divide or floating point instructions, use subroutines in the "general program package"
  • Wherever possible replace hardware with existing logical machine functions
    • No arithmetic circuits, use tables in core memory
  • Least expensive Input/Output possible
    • No punch cards, use paper tape
    • No printer, use operator's console typewriter

The prototype

The team expanded with the addition of Anne Deckman, Kelly B. Day, William Florac, and James Brenza. They completed the (codename) CADET prototype in the spring of 1959.

Между тем Сан-Хосе, Калифорния facility was working on a proposal of its own. IBM could only build one of the two and the Poughkeepsie proposal won because "the San Jose version is top of the line and not expandable, while your proposal has all kinds of expansion capability - never offer a machine that cannot be expanded".

IBM1620A.jpg
IBM 1620 Model I Level A (prototype), as it appeared

in the IBM announcement of the machine.

Management was not entirely convinced that core memory could be made to work in small machines, so Gerry Ottaway was loaned to the team to design a drum memory as a backup. В течение acceptance testing by the Product Test Lab, repeated core memory failures were encountered and it looked likely that management's predictions would come true. However, at the last minute it was found that the muffin fan used to blow hot air through the core stack was malfunctioning, causing the core to pick up noise pulses and fail to read correctly. After the fan problem was fixed, there were no further problems with the core memory and the drum memory design effort was discontinued as unnecessary.

Transferred to San Jose for production

Following announcement of the IBM 1620 on October 21, 1959, due to an internal reorganization of IBM, it was decided to transfer the computer from the Data Processing Division at Poughkeepsie (large scale mainframe computers only) to the General Products Division at San Jose (small computers and support products only) for manufacturing.

Following transfer to San Jose, someone there jokingly suggested that the code name CADET actually stood for "Can't Аdd, Doesn't Even Тry", referring to the use of addition tables in memory rather than dedicated addition circuitry (and SDTRL actually stood for "SСтарый Down Тhe рiver Logic" became a common joke among the CEs). This stuck and became very well known among the user community.[31][32][33]

Implementation "levels"

  • Model I
    • Level A; prototype.
      • Все flip-flops in the design were transistorized versions of the original Eccles-Jordan trigger circuit. While this machine was fully functional, it was found that the capacitor coupling used in these proved troublesome in the noisy signal environment of relays and timing cam driven switches used to drive the console typewriter. This necessitated a complete redesign of the machine to use S-R flip-flops instead (except for two triggers used to generate clocks for the S-R flip-flops). However usage of the term Спусковой крючок was retained in all the documentation when referring to a flip-flop, as it was IBM's conventional term (as alphamerics was their term for alphanumerics).
      • This is the only level using a one piece vertical control panel, when the design was transferred from Poughkeepsie to San Jose it was redesigned to the two piece angled control panel used on all production models.
    • Level B; first production.
      • This is the only level using a burnished aluminum lower control panel, later levels finished this panel with white.
    • Level C; introduction of 1622 card reader/punch.
    • Level D; introduction of 1311 disk drives and addition of optional "Gate J" containing disk control logic.
    • Level E; introduction of Floating Point option.
    • Level F
    • Level G; introduction of Interrupt option (needed for IBM 1710 ).
      • Did not support BT & BB subroutines in interrupt code!
      • Disk control logic on "Gate J" logic merged into "Gate A" & "Gate B".
        • Made possible because much of logic was compacted using cards designed for the Model II.
    • Level H; improved Interrupt option that supported BT & BB subroutines in interrupt code.
      • Final version of the Model I.
  • Модель II (no information on "Levels" available at this time)
The 1620 Model II introduced basic ALU hardware for addition and subtraction (making "Can't Аdd, Doesn't Even Тry" no longer applicable) and index registers.
  • Model III
    • Work was begun on a 1620 Model III but the project was quickly canceled as IBM wanted to promote sales of their new System/360 and discontinue the old lines.

Патенты

  • U.S. Patent 3,049,295 – Multiplying Computer
    • Patent filed: December 20, 1960
    • Patent issued: August 14, 1962
    • Изобретатели
      • William H. Rhodes
      • James G. Brenza
      • Wayne D. Winger
      • Robert C. Jackson
    • Claims and prior art references
      • 21 claims
      • No prior art
    • Diagrams and Text
      • 156 sheets of diagrams (Describes 1620 in full details.)
      • 31 sheets of text
  • U.S. Patent 3,328,767 – Compact Data Lookup Table
    • Patent filed: December 31, 1963
    • Patent issued: June 27, 1967
    • Изобретатели
      • Gerald H. Ottaway
    • Claims and prior art references
      • 11 claims
      • 5 prior art
    • Diagrams and Text
      • 5 sheets of diagrams
      • 4 sheets of text
  • U.S. Patent 3,199,085 – Computer with Table Lookup Arithmetic Unit Feature
    • Patent filed: December 20, 1960
    • Patent issued: August 3, 1965
    • Изобретатели
      • William H. Rhodes
      • James G. Brenza
      • Wayne D. Winger
    • Claims and prior art references
      • 21 claims
      • 5 prior art
    • Diagrams and Text
      • 156 sheets of diagrams (Describes 1620 in full details.)
      • 31 sheets of text
  • U.S. Patent 3,239,654 – Dividing Computer
    • Patent filed: February 8, 1961
    • Patent issued: March 8, 1966
    • Изобретатели
      • Robert C. Jackson
      • William A. Florac
      • Wayne D. Winger
    • Claims and prior art references
      • 9 claims
      • 1 prior art
      • 3 publications
    • Diagrams and Text
      • 13 sheets of diagrams
      • 19 sheets of text

Notable uses

An IBM 1620 model II was used by Vearl N. Huff, NASA Headquarters (FOB 10B, Washington DC) to program a three-dimensional simulation in Fortran of the tethered Gemini capsule – Agena rocket module two-body problem at a time when it was not completely understood if it was safe to tether two objects together in space due to possible elastic tether induced collisions. The same computer was also used to simulate the orbits of the Gemini flights, producing printer-art charts of each orbit. These simulation were run over-night and the data examined the next day.[34]

In 1964 at the Australian National University, Martin Ward used an IBM 1620 model I to calculate the order of the Janko group J1.[35]

In 1966 the ITU produced an explanatory film on a 1963 system for typesetting by computer at the Washington Evening Star, using an IBM 1620 and a Linofilm phototypesetter.[36]

Use in film and television

  • A radio program was developed by DJ Rege Cordic for KDKA Pittsburgh, based on a baseball game simulator developed by John Burgeson of IBM and his brother, Paul, then an ensign in the U.S. Navy. This program was used in numerous demonstration events in the years 1960 to 1963 as an example of the power of computers to perform simulation exercises.
  • В fictional computer Colossus of Colossus: The Forbin Project used about a dozen scrapped 1620 front panels purchased on the surplus market, in various orientations.[37]
  • A similar arrangement was used in a late TV episode[38] and a movie[39] из The Man from U.N.C.L.E. to portray a THRUSH supercomputer.

Students' first encounters

  • Dr. James Oliver, a chemistry professor at University of Southwestern Louisiana obtained a grant and purchased a 1620 in 1959 and taught the university's first computer course that year.[40]
  • Oklahoma State University had an IBM 1620 for engineering students in the 1960s.[41]
  • New York City's Средняя школа наук Бронкса made its IBM 1620 available to those students in advanced technical courses.[42][43][32][33]

Anecdotes

CADET

Many in the user community recall the 1620 being referred to as CADET, jokingly meaning "Can't Аdd, Doesn't Even Тry", referring to the use of addition tables in memory rather than dedicated addition circuitry.[44]

Видеть история развития for an explanation of all three known interpretations of the machine's code name.

The internal code name CADET was selected for the machine. One of the developers says that this stood for "Computer with ОБЪЯВЛЕНИЕvanced Economic Тechnology", however others recall it as simply being one half of "SPACE - CADET", куда SPACE was the internal code name of the IBM 1401 machine, also then under development.

Рекомендации

  1. ^ а б c d е ж грамм час "1620 Data Processing System".
  2. ^ "Some Key Dates in IBM's Operations in Europe, the Middle East and Africa (EMEA)" (PDF).
  3. ^ а б "The IBM 1620: Just The Right Machine for Chula's Statistics Department". Архивировано из оригинал на 2017-12-22. Получено 2017-12-20.
  4. ^ "... arranged as a 100x100 array of 12-bit locations, each holding 2 decimal digits. (Each decimal digit was encoded in binary using 6 bits.)"
  5. ^ Oddur Benediktsson (2009). "FORTRAN II – the First Computer Language Used at the University of Iceland" (PDF). History of Nordic Computing 2. IFIP Advances in Information and Communication Technology. 303. pp. 149–155. Дои:10.1007/978-3-642-03757-3_16. ISBN  978-3-642-03756-6.
  6. ^ а б John Impagliazzo; Timo Järvi; Petri Paju (2009). History of Nordic Computing 2: Second IFIP WG 9.7 Conference. ISBN  978-3642037573.
  7. ^ Although there are descriptions of a single 100,000-digit machine, designed in the late 1960s, using heavily modified hardware.
  8. ^ "The main memory was logically arranged as 20,000 6-bit words. Each word comprised four BCD data bits, a "flag" bit, and an odd parity check bit. Though this was its logical arrangement, physically memory was a 100x100 array of 12-bit ferrite core words, which causes a few quirks in the instruction set. All instructions occupied 12 consecutive digits of memory, and were required to start at an even address so that the 2-digit opcode could be read in one 12-bit physical word." "The IBM 1620 Model 1 – Physics @ SMU".
  9. ^ E.W. Dijkstra Archive: A review of the IBM 1620 Data Processing System (EWD 37)
  10. ^ http://www.textfiles.com/bitsavers/pdf/ibm/1620/Basic_Programming_Concepts_and_the_IBM_1620_Computer_1962.pdf "The punched card is the most widely used media for communication with machines"
  11. ^ "Similar demands for small to medium scientific computers resulted in the IBM 1620and its successor the IBM 1130." James L. Peterson; Werner Rheinboldt (2014). Computer Organization and Assembly Language Programming. ISBN  978-1483268590.
  12. ^ «Архивная копия». Архивировано из оригинал on 2006-02-21. Получено 2006-03-03.CS1 maint: заархивированная копия как заголовок (связь)
  13. ^ "Index of /pdf/ibm/1620". Архивировано из оригинал on 2006-02-11. Получено 2006-04-06.
  14. ^ "IBM 1620". Swansea University – swansea.ac.uk. Архивировано из оригинал на 2017-12-22. Получено 2017-12-19.
  15. ^ а б 227-5630-1 IBM 1620 Floating Point Feature CE Manual (PDF). IBM Corporation.
  16. ^ Weik, Martin H. (Mar 1961). "IBM 1620". ed-thelen.org. Третий обзор отечественных электронных цифровых вычислительных систем.
  17. ^ "Multi-level indirection could be used (you could even put the machine in an infinite indirect addressing loop), and in the middle three digits of 5-digit addresses (on the 1620 II) they were set to select one of seven index registers. Dan Ryan (2011). History of Computer Graphics. DLR Associates Series. ISBN  978-1456751159.
  18. ^ "IBM 1620 Central Processing Unit, Model 1" (PDF). п. 28. Archived from оригинал (PDF) on 2017-10-09. Получено 2017-12-18.
  19. ^ "IBM 1620 Central Processing Unit, Model 2" (PDF). п. 71. Archived from оригинал (PDF) on 2019-05-25. Получено 2017-12-18.
  20. ^ and had a very 'nasty' habit of breaking off its "0" hammer and throwing it across the room in the middle of a long core dump.
  21. ^ а б "IBM 1311".
  22. ^ "... storage for 2 million characters.
  23. ^ "1963 : On May 6, the IBM 1443 printer, for use with the IBM 1620 data processing system, makes its debut." "DPD chronology".
  24. ^ "Systems Reference Library. IBM 1443 PRINTER for 1620/1710 Systems" (PDF).
  25. ^ This publication describes the IBM 1443 Printer as an on-line output unit for the 1620 Data Processing Systems, :Models 1 and. 2, and for the 1710 Control System. File No. 1620/1710-03. Form A26-5730-2
  26. ^ "... 2 million characters, the equivalent of approximately 25,000 punched cards or a fifth of a reel of magnetic tape."
  27. ^ IBM Systems Reference Library – 1620 FORTRAN (with FORMAT) В архиве 2009-01-09 at the Wayback Machine pp. 51–56 (PDF)
  28. ^ IBM Systems Reference Library – IBM 1620 FORTRAN II Programming System Reference Manual В архиве 2009-01-09 at the Wayback Machine pp. 22–28 (PDF)
  29. ^ Dan Ryan (2011). History of Computer Graphics: Dlr Associates Series. ISBN  978-1456751159. developed by Bob Richardson, a programmer at Rice University
  30. ^ User:Br6cycles3, in his/first and only edit to date (24 Feb 2019, 18:15) attempted to change the name in the article from Bob Richardson к Mike McCants and wrote in the summary: "Correct misattribution: I'm Bob Richardson and I know the programmer was actually Mike McCants."
  31. ^ "In 1962, IBM began delivery of a remarkable little machine originally called the Cadet but marketed as the IBM 1620." Edwin D. Reilly (2003). Milestones in Computer Science and Information Technology. ISBN  978-1573565219.
  32. ^ а б even five years later, it was still uncommon for a high school to have an IBM 1620: "IBM 1620".
  33. ^ а б "The IBM 1620 (a.k.a. CADET) ... stood for 'Can't Add and Doesn't Even Try.'"
  34. ^ Personal recollections of Donald N. Huff, son of Vearl N. Huff
  35. ^ Zvonimir Janko, A new finite simple group with abelian Sylow subgroups, Proc. Natl. Акад. Sci. USA 53 (1965) 657-658
  36. ^ "I.T.U. - Story of Technology". International Typographical Union. 1966.
  37. ^ Spicer, Dag (July–September 2005), "The IBM 1620 Restoration Project" (PDF), IEEE Annals of the History of Computing, 27 (3): 33–43, Дои:10.1109/MAHC.2005.46, получено 2010-09-02[постоянная мертвая ссылка ]
  38. ^ "THRUSH is developing an 'ultimate computer'..." "The Man from U.N.C.L.E. - The Ultimate Computer Affair (TV Episode)".
  39. ^ The IBM 1316 was the removable disk pack to the IBM 1311 disk drive of the IBM 1620, which explains the following: "“The Man from U.N.C.L.E.” movie's full of technological anachronisms ... Back in 1963, when the movie took place, there were disk packs available like the 10-pound IBM 1316." "The Man from U.N.C.L.E." movie's full of technological anachronisms".
  40. ^ https://louisiana.edu/news-events/news/20090901/computer-science-hall-named-james-r-oliver
  41. ^ Zannos, Susan (2002). Edward Roberts and the Story of the Personal Computer. Mitchell Lane Publishers. п.19. ISBN  978-1-58415-118-0. Oklahoma State University had an IBM 1620 for engineering students in the 1960s.
  42. ^ ... 1967, ...At the time, Bronx Science was one of the few high schools in the country with an IBM 1620, but it was available only to students in advanced technical courses. "Bronx Science IBM 1620". Computerworld. February 5, 1990. p. 86.
  43. ^ "wrote my first computer program in 1965, ... IBM 1620 ... at Bronx Science." Thomas P. Keenan (2014). Technocreep: The Surrender of Privacy and the Capitalization of Intimacy. ISBN  978-1771641227.
  44. ^ Ornstein, Severo (2002). Computing in the Middle Ages: A View from the Trenches 1955-1983. Lexington, KY: 1st Books. п. 62. ISBN  978-1-4033-1517-5.

внешняя ссылка