IBM1620

Маленький научный компьютер IBM, выпущенный в 1959 году.
IBM1620
IBM 1620 Модель I, Уровень H
ПроизводительИБМ
ТипНаучный миникомпьютер
Дата выпуска1959
Отгружено единицОколо 2 тысяч
ПроцессорТранзисторный, построенный на основе SMS-карт, переменные 12-72-битные слова @ 50 кГц (20 мкс)
Память20 000–60 000 слов ( основная память )
Власть2 кВт
Масса550 кг (1210 фунтов)
ПредшественникIBM 650 ; IBM 610 ; IBM 608
ПреемникIBM1130
СвязанныйIBM 1710 , IBM 1720
Машина обработки данных IBM 1620 с плоттером IBM 1627 , представленная на Всемирной выставке в Сиэтле в 1962 году.

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

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

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

Архитектура

Память

IBM 1620 Model I был десятичным компьютером переменной длины « слово » ( BCD ), использующим основную память . Ядро Model I могло хранить 20 000 десятичных цифр, каждая из которых хранилась в шести битах. [4] [3] Больше памяти можно было добавить с помощью IBM 1623 Storage Unit, Model 1, которая содержала 40 000 цифр, или 1623 Model 2, которая содержала 60 000 цифр. [1]

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

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

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

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

 КФ 8 4 2 1

Бита Flag имела несколько применений:

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

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

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

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

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

«Слова» данных с плавающей точкой (использующие аппаратную опцию плавающей точки ) могут иметь любой размер от 4 до 102 десятичных цифр (от 2 до 100 цифр для мантиссы и две цифры для экспоненты ).

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

*ффккс

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

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

См. раздел Архитектурные трудности.

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

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

Таблица кодов символов и операций
символ BCDПишущая машинкаПринтерЛента Карточка ОсновнойМНЕМОНИКА и эксплуатацияОпределение и примечания
ВВнеВнеВВнеВВнеДажеСтранный
Пустой   CC     
неверный Ж ❚ 1FADD Плавающая надбавкаДополнительная специальная функция.
неверный Ж ❚ FSUB Плавающее вычитаниеДополнительная специальная функция.
.... X0 8 21 X0 8 2112-3-8
12-1-2-8
12-3-821FMUL Плавающее умножениеДополнительная специальная функция.
)))) X0C84 X0C8412-4-812-4-84  
неверный Ж ❚ 4 1FSL Плавающий сдвиг влевоДополнительная специальная функция.
неверный Ж ❚ 42 TFL Передача ПлавающаяДополнительная специальная функция.
неверный Ж ❚ 421BTFL Branch и плавающая передачаДополнительная специальная функция.
неверный Ж ❚  8FSR Плавающий сдвиг вправоДополнительная специальная функция.
неверный Ж ❚  81Плавающий раздел FDIVДополнительная специальная функция.
++++ X0C X0C12121 Немедленный переход BTAM и передача адреса(Модель II)
неверный Ж ❚ 11AM Добавить немедленно 
неверный Ж ❚ 1SM Вычитание немедленно 
$$$$ X C8 21 X C8 2111-3-8
11-1-2-8
11-3-8121ММ Умножение Немедленно 
**** X84 X8411-4-811-4-814CM Сравнить немедленно 
неверный Ж ❚ 14 1TDM Передача цифр немедленно 
неверный Ж ❚ 142 TFM Передать Поле Немедленно 
неверный Ж ❚ 1421BTM Branch и немедленная передача 
неверный Ж ❚ 1 8LDM Load Dividend НемедленныйДополнительная специальная функция (Модель I).
Стандарт (Модель II).
неверный Ж ❚ 1 81DM Разделить НемедленноДополнительная специальная функция (Модель I).
Стандарт (Модель II).
---- X X1111 Филиал BTA и адрес для передачи(Модель II)
////0C10C10-10-11Добавить 
неверный Ж ❚ S Вычитание 
,,,,0C8 210C8 210-3-8
0-1-2-8
0-3-821М Умножить 
((((0 840 840-4-80-4-84С Сравнить 
неверный Ж ❚ 4 1TD Передача цифры 
неверный Ж ❚ 42 Поле передачи TF 
неверный Ж ❚ 421BT-ветвь и передача 
неверный Ж ❚  8Дивиденд нагрузки LDДополнительная специальная функция (Модель I).
Стандарт (Модель II).
неверный Ж ❚  81D РазделитьДополнительная специальная функция (Модель I).
Стандарт (Модель II).
неверный Ж ❚ 21 TRNM Передача записи № RM(Модель II)
неверный Ж ❚ 211TR Передача записи 
неверный Ж ❚ 21SF Установить флаг 
====8 218 213-8
1-2-8
3-82121CF Очистить Флаг 
@@@@C84C844-84-8214K Control (устройство ввода-вывода) 
неверный Ж ❚ 214 1DN Дамп Цифровой 
неверный Ж ❚ 2142 RN Чтение числового значения 
неверный Ж ❚ 21421RA Читать Alphameric 
неверный Ж ❚ 21 8WN Написать числовое 
неверный Ж ❚ 21 81WA Написать Alphameric 
АААА X01 X0112-112-1 41NOP Нет операции 
ББББ X02  X02 12-212-2 4BB Филиал Назад 
СССС X0C21 X0C2112-3
12-1-2
12-3 421BD Филиал на цифре 
ДДДД X04 X0412-412-4 44BNF отделение без флага 
ЭЭЭЭ X0C 4 1 X0C 4 112-5
12-1-4
12-5 44 1BNR Филиал No Record Mark 
ФФФФ X0C 42  X0C 42 12-6
12-2-4
12-6 442 Индикатор отделения BI 
UMK Unmask
MK Маска
Функция прерывания 1710. Модификаторы в поле Q.
ГГГГ X0421 X042112-7
12-1-2-4
12-7 4421BNI Филиал № Индикатор 
BO Branch Out
BOLD Разветвление и загрузка
Функция прерывания 1710. Модификаторы в поле Q.
ЧАСЧАСЧАСЧАС X0 8 X0 812-812-8 4 8H Остановка 
яяяя X0C81 X0C8112-9
12-1-8
12-9 4 81Филиал Б 
-0Н/Д--Н/Д X11-011-0 4 1   
Дж
-1
Дж.Дж.Дж. X C1 X C111-111-1 4 11  
К
-2
ККК X C2  X C2 11-211-2 4 1  
Л
-3
ЛЛЛ X21 X2111-3
11-1-2
11-3 4 121  
М
-4
МММ X C 4 X C 411-411-4 4 14  
Н
-5
ННН X4 1 X4 111-5
11-1-4
11-5 4 14 1BNG Филиал № Групповой МаркДополнительная специальная функция.
О
-6
ООО X42  X42 11-6
11-2-4
11-6 4 142   
П
-7
ППП X C 421 X C 42111-7
11-1-2-4
11-7 4 1421  
В
-8
ВВВ X C8 X C811-811-8 4 1 8WAIT Ожидание прерыванияФункция прерывания 1710.
Р
-9
РРР X81 X8111-9
11-1-8
11-9 4 1 81  
неверный Ж ❚  42  BS отделение и выбор(Модель II)
неверный Ж ❚  42 1BX Branch и Modify Index RegisterДополнительная специальная функция (модель II).
СССС0C2 0C2 0-20-2 42 BXM Branch и Modify Index Register НемедленноДополнительная специальная функция (модель II).
ТТТТ0210210-3
0-1-2
0-3 42 21Условный переход BCX и изменение индексного регистраДополнительная специальная функция (модель II).
УУУУ0C 40C 40-40-4 42 4BCXM Условный переход и немедленная модификация индексного регистраДополнительная специальная функция (модель II).
ВВВВ04 104 10-5
0-1-4
0-5 42 4 1Регистр индекса ветвления и нагрузки BLXДополнительная специальная функция (модель II).
ВтВтВтВт042 042 0-6
0-2-4
0-6 42 42 BLXM Branch и Load Index Register НемедленныйДополнительная специальная функция (модель II).
ХХХХ0C 4210C 4210-7
0-1-2-4
0-7 42 421Реестр филиалов и магазинов BSXДополнительная специальная функция (модель II).
ИИИИ0C80C80-80-8 42  8  
ЗЗЗЗ0 810 810-9
0-1-8
0-9 42  81  
00000
12-0
0 421 MA Переместить адресДополнительная специальная функция (модель II).
11111111 4211MF Переместить флагДополнительная специальная функция (Модель I).
Стандарт (Модель II).
222222 421TNS Передает числовую полосуДополнительная специальная функция (Модель I).
Стандарт (Модель II).
3333C21C2133 42121TNF Передача числового заполненияДополнительная специальная функция (Модель I).
Стандарт (Модель II).
4444 4 444 4214  
5555C 4 1C 4 155 4214 1  
6666C 42 C 42 66 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
неверный Ж ❚ 8F 42 RNIC Чтение числового входного каналаФункция 1710. Модификаторы в поле Q
неверный Ж ❚ 8F 421RAIC считывает буквенно-цифровой входной каналФункция 1710. Модификаторы в поле Q
неверный Ж ❚ 8 8WNOC Запись числового выходного каналаФункция 1710. Модификаторы в поле Q
неверный Ж ❚ 8 81WAOC Запись алфавитно-цифрового выходного каналаФункция 1710. Модификаторы в поле Q
неверный Ж ❚ 81 BBT Отделение на BitДополнительная специальная функция (модель II).
неверный Ж ❚ 811Филиал БМК на МаскеДополнительная специальная функция (модель II).
неверный Ж ❚ 81ORF OR в полеДополнительная специальная функция (модель II).
неверный Ж ❚ 8121ИНДФ И в полеДополнительная специальная функция (модель II).
неверный Ж ❚ 814CPLF дополнение восьмеричного поляДополнительная специальная функция (модель II).
неверный Ж ❚ 814 1EORF Эксклюзивный OR в полеДополнительная специальная функция (модель II).
неверный Ж ❚ 8142 OTD Преобразование восьмеричной системы счисления в десятичнуюДополнительная специальная функция (модель II).
неверный Ж ❚ 81421Преобразование десятичных чисел в восьмеричные DTOДополнительная специальная функция (модель II).
РМ(Останавливаться)(Останавливаться)0 8 2 E
(Останавливаться)
0-2-80-2-8 8 2  Рекордная отметка
ГМ(Останавливаться)(Останавливаться)0 8421E
(Останавливаться)
0-7-81-2-4-8 8421 Групповая марка

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

ХарактерПишущая машинкаПринтерЛента Карточка ОсновнойОпределение и примечания
ВВнеВнеСвалкаВВнеВВне
Пустой 000C 0 
000000
12-0
12
0 
11111111
12-1
1 1 
222222
12-1
2 
33333C21C213
12-3
1-2
12-1-2
3C21 
44444 4 44
12-4
44 
55555C 4 1C 4 15
12-5
1-4
12-1-4
5C4 1 
66666C 42 C 42 6
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
9C 81 
-000-- X
 X0C
 X11-011-0 F 
-111Дж.Дж. X C1 X C111-111-1CF1 
-222КК X C2  X C2 11-211-2CF2  
-333ЛЛ X21 X2111-3
11-1-2
11-3 F21 
-444ММ X C 4 X C 411-411-4CF 4 
-555НН X4 1 X4 111-5
11-1-4
11-5 F 4 1 
-666ОО X42  X42 11-6
11-2-4
11-6 F 42  
-777ПП X C 421 X C 42111-7
11-1-2-4
11-7CF 421 
-888ВВ X C8 X C811-811-8CF8 
-999РР X81 X8111-9
11-1-8
11-9 F81 
РМ(Стоп, WN)

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

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

(DN)
(Останавливаться)EE
(WN)
0 8 2 
(DN)
0-2-80-2-8C 8 2 Только лента конца строки
. Примечание: в памяти есть метка записи!
ГМ(Стоп, WN) (DN)

(Останавливаться)Г0 84210 84210-7-80-7-8C 8421Групповая марка
флаг ГМ(Стоп, WN) (DN)

(Останавливаться)Х X8421 X842112-7-812-7-8 F8421Отмеченная групповая отметка
Примечание.@@@C84C844-8C 84Числовой пробел
флаг NB@@* X84 X8411-4-8 F84Помеченный числовой пробел

Недопустимый символ

Модель I использовала кириллический символ Ж (произносится как ж) на пишущей машинке как недопустимый символ общего назначения с правильной четностью (недопустимая четность обозначалась наложением «–»). В некоторых 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:

  • GOTRAN – упрощенная, интерпретируемая версия FORTRAN для операции «загрузи и иди» [12]
  • Monitor I и Monitor II – дисковые операционные системы .

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

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

1620 недесятичных арифметических чисел

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

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

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

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

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

Модель I

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

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

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

Модель 2

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

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

Модели консолей I и II

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

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

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

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

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

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

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

Консольная пишущая машинка

Консольная пишущая машинка Model I представляла собой модифицированную модель B1 , соединенную с набором реле, и печатала со скоростью всего 10 символов в секунду.

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

  • WNTY : Запись числового типа : каждая ячейка памяти содержала 6-битный символ в диапазоне от 000000 до 001001; с помощью этой инструкции каждая ячейка памяти отображалась как один из символов от «0» до «9».
  • WATY : Пишущая машинка с буквенно -цифровым кодом : каждая пара ячеек памяти содержала две 6-битные цифры, которые появлялись на пишущей машинке как один из 64 возможных символов.
  • RNTY : чтение числового значения с клавиатуры пишущей машинки .
  • RATY : Чтение буквенно-цифрового символа . TYPEwriter : чтение символа с клавиатуры и сохранение его как двузначного буквенно-цифрового символа.
  • TBTY : T a B TY pewriter. Табуляции приходилось устанавливать вручную, поэтому эта инструкция использовалась редко.
  • RCTY : Возврат каретки . Машинка : Заставляла пишущую машинку выполнять то, что мы теперь называем последовательностью CR/LF .

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

  • TNS : Передача числового кода : Преобразует двузначное буквенно-цифровое представление от «0» до «9» в однозначное цифровое представление .
  • TNF : Передача числового заполнения : преобразует однозначное представление цифр в последовательность из двух цифр, представляющую от «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. [20] [21]
  • IBM 1443  – Принтер , летающая линейка
  • IBM 1405  – Дисковый накопитель доступен по RPQ (запросить ценовое предложение)

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

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

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

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

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

Стандартной предварительной процедурой было очищение памяти компьютера от любых предыдущих записей пользователя — будучи магнитными сердечниками, память сохраняла свое последнее состояние, даже если питание было отключено. Это было достигнуто путем использования консольных возможностей для загрузки простой компьютерной программы путем набора ее машинного кода на консольной пишущей машинке, запуска ее и остановки. Это было несложно, поскольку требовалась только одна инструкция, например 160001000000, загруженная по адресу ноль и далее. Это означало немедленную передачу поля (16: двухзначные коды операций) по адресу 00010, непосредственное поле константы, имеющее значение 00000 (пятизначные поля операндов, второе — от адреса 11 обратно к 7), уменьшая исходные и целевые адреса до тех пор, пока не будет скопирована цифра с «флагом». Это было обычным средством машинного кода для копирования константы длиной до пяти цифр. Цифровая строка адресуется с ее нижнего конца и расширяется по нижним адресам, пока цифра с флагом не отметит ее конец. Но для этой инструкции флаг никогда не будет найден, потому что исходные цифры были незадолго до этого перезаписаны цифрами без флага. Таким образом, операция будет проходить по памяти (даже перезаписывая себя), заполняя ее нулями, пока оператору не надоест смотреть на бурлящие индикаторные лампочки, и он не нажмет кнопку Instant Stop - Single Cycle Execute . Каждый модуль памяти из 20 000 цифр будет очищаться чуть меньше секунды. На 1620 II эта инструкция НЕ будет работать (из-за определенных оптимизаций в реализации). Вместо этого на консоли будет кнопка Modify , которая при нажатии вместе с кнопкой Check Reset , когда компьютер находится в ручном режиме, установит компьютер в режим, который очистит всю память за десятую долю секунды независимо от того, сколько у вас памяти; когда вы нажмете Start . Она также автоматически останавливается, когда память очищается, вместо того, чтобы требовать от оператора ее остановки.

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

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

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

Консоль

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

Самыми важными элементами консоли 1620 года были пара кнопок с надписями «Вставить» и « Отпустить» и пишущая машинка консоли.

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

Пишущая машинка используется для ввода/вывода оператора, как в качестве основного пульта управления компьютера, так и для программного управления вводом/выводом. Более поздние модели пишущей машинки имели специальную клавишу с маркировкой RS , которая объединяла функции кнопок Release и Start консоли (это можно было бы считать эквивалентом клавиши Enter на современной клавиатуре). Примечание: несколько клавиш на пишущей машинке не генерировали вводимые символы, в том числе Tab и Return (буквенно-цифровые и цифровые наборы символов BCD 1620-х годов не имели кодов символов для этих клавиш).

Следующими по важности элементами на консоли являются кнопки Start , Stop-SIE и Instant Stop-SCE .

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

Для отладки программы имелись кнопки с надписями Сохранить и Показать MAR .

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

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

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

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

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

IBM 1621/1624 Считыватель/перфоратор бумажной ленты

Пользователь держит бумажную ленту у IBM 1620 с устройством считывания бумажной ленты IBM 1621 на заднем плане, штаб-квартира IBM, Уайт-Плейнс, штат Нью-Йорк, 1961 г.

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

Оба блока:

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

Устройство чтения лент 1621 и перфоратор лент 1624 оснащены элементами управления для:

  • Выключатель питания — если он включен, считыватель устройства включается при включении ЦП.
  • Переключатель «Бутылка-полоска» — этот переключатель выбирает, будут ли использоваться бобины или полоски бумажной ленты.
  • Кнопка питания катушки — подает питание на подающую и приемную катушки, чтобы расположить ленту для считывания и перевести считыватель в состояние готовности.
  • Клавиша нерабочего цикла — подает ленту до тех пор, пока считыватель не опустеет, и выводит считыватель из состояния готовности.
Процедура самозагрузкиПримечания
Нажмите ВставитьРазблокирует клавиатуру пишущей машинки и переключает в цифровой режим.
Тип 36xxxxx0030049yyyyy
 
xxxxx — адрес, по которому следует загрузить ленту.
yyyyy — адрес, по которому следует начать выполнение.
Пресс- релизБлокирует клавиатуру пишущей машинки.
Нажмите СтартНачать исполнение.

IBM 1622 Кардридер/перфоратор

Кардридер/перфоратор IBM 1622 мог :

  • читать максимум 250 карточек в минуту
  • пробивать максимум 125 карт/минуту. [1]

Элементы управления модели 1622 были разделены на три группы: 3 клавишных переключателя управления перфорацией, 6 кнопок и 2 клавишных переключателя управления считывателем.

Кулисные переключатели Punch:

  • Выключение/включение перфоратора – этот рычажок включает и выключает механизм перфоратора.
  • Выбрать No-Stop/Select Stop – этот переключатель выбирается, если неправильно пробитые карты (помещенные в стекер выбора ошибок перфорации вместо обычного стекера перфорации) позволяют перфорации продолжаться или вызывают остановку проверки.
  • Непроцессный выбег – этот коромысло с пустым бункером перфоратора «выбегает» из механизма перфоратора оставшиеся карты.

Кнопки:

  • Запустить перфоратор – Нажатие этой клавиши при выключенном и включенном перфораторе запускало перфоратор. Теперь компьютер мог перфорировать карты.
  • Остановить удар – нажатие этой клавиши при активном ударе останавливает удар.
  • Сброс проверки – нажатие этой клавиши сбрасывает все состояния «проверки ошибок» в считывателе и перфораторе.
  • Загрузка – нажатие этой клавиши при включенном и неработающем считывателе и компьютере в ручном режиме запускает считыватель, сбрасывает счетчик программ (в основной памяти MARS) на ноль, считывает одну карту в буфер считывателя и проверяет карту на наличие ошибок, а также имитирует выполнение числового чтения из считывателя карт по нулевому адресу (считывание 80 символов буфера считывателя в адреса памяти от 00000 до 00079), затем переключает компьютер в автоматический режим (начало выполнения по адресу в счетчике программ).
  • Остановить считыватель — нажатие этой клавиши при активном считывателе останавливает его.
  • Запустить считыватель – Нажатие этой клавиши при включенном и неактивном считывателе запускало считыватель и считывало одну карту в буфер считывателя и проверяло карту на наличие ошибок. Теперь компьютер мог считывать карты.

Переключатели считывателя:

  • Непроцессный выбег – этот рокер с пустым считывающим бункером «выбегает» из механизма считывателя оставшиеся карты.
  • Выключение/включение считывателя – этот переключатель включает и выключает механизм считывателя.
Процедура самозагрузкиПримечания
Нажмите Загрузить

Дисководы

Дисковые накопители IBM 1311 – модель 2 (ведомый) и модель 3 (ведущий), подключенные к IBM 1620 II

Управление дисководом 1311 .

  • Модульный индикатор – Этот индикатор показывает номер диска. Когда он горит, диск готов к доступу.
  • Compare-Disable key-switch – Когда этот (только Master) переключатель находится в положении ON и нажата кнопка Write Address, можно выполнить полную запись дорожки без сравнения адресов. Используется для форматирования дисковых пакетов.
  • Select Lock light – Когда этот индикатор (только Master) горит, один или несколько дисков вышли из строя. Доступ к диску невозможен.
  • Кнопка/индикатор записи адреса – Эта (только Мастер) клавиша управляет записью адресов секторов. Нажатие на нее переключает эту функцию и включает/выключает ее индикатор.
  • Переключатель Enable-Disable – этот переключатель включает или отключает доступ к диску. Если этот переключатель отключен на Master, все диски отключены независимо от состояния их собственных переключателей. Также управляет счетчиком(ами) времени использования диска.
  • Кнопка Start Stop – Нажатие этой клавиши запускает или останавливает двигатель дисковода. Двигатель должен быть остановлен, чтобы открыть крышку и сменить пакеты дисков.
Процедура самозагрузкиПримечания
Нажмите ВставитьРазблокирует клавиатуру пишущей машинки и переключает в цифровой режим.
Тип 3400032007013600032007024902402
x
y1963611300102
x — указывает источник карт управления монитором: 1=пишущая машинка, 3=бумажная лента, 5=карты
y — указывает дисковод, на котором находится монитор: 1, 3, 5, 7
02402 — адрес точки входа программы монитора.
Пресс- релизБлокирует клавиатуру пишущей машинки.
Нажмите СтартНачать исполнение.
Процедура перезапускаПримечания
Нажмите ВставитьРазблокирует клавиатуру пишущей машинки и переключает в цифровой режим.
Тип 490225 FLG 6
 
02256̅ — адрес расположения, содержащего адрес точки перезапуска программы Monitor.
Примечание: эта процедура предполагает, что Monitor уже загружен в память
Пресс- релизБлокирует клавиатуру пишущей машинки.
Нажмите СтартНачать исполнение.

Общий

Компилятор FORTRAN II и ассемблер SPS были несколько громоздки в использовании [26] [27] по современным меркам, однако при многократном повторении процедура вскоре стала автоматической, и вы больше не задумывались о связанных с этим деталях.

Процедура компиляции FORTRAN IIПримечания
Установите переключатели программ следующим образом:
  1. ВЫКЛ (нет списка источников)
  2. ВЫКЛ (без пакетной компиляции)
  3. ВЫКЛ (Источник вводится с карт)
  4. ВЫКЛ (используется только если 3 ВКЛ )
Варианты прохода I
Установите переключатель «Проверка переполнения» в положение «Программа», а все остальные — в положение «Стоп».
Нажмите «Сброс»
Загрузите пустые карты (лицевой стороной вниз, 12-гранью вперед) в загрузочный лоток для перфорации, затем нажмите кнопку «Старт перфорации».
Загрузите проход I компилятора (лицевой стороной вниз, 9-ребром вперед) в загрузочный лоток, затем нажмите « Загрузить».Дождитесь загрузки Pass I и печати на пишущей машинке «ВВЕДИТЕ ИСХОДНУЮ ПРОГРАММУ, НАЖМИТЕ СТАРТ»
Удалить проход I компилятора из стекера чтения
Загрузите исходную колоду программы (лицевой стороной вниз, 9-ребром вперед) в считывающий лоток, затем нажмите «Старт».Дождитесь завершения прохода I и напечатайте на пишущей машинке «ВКЛЮЧИТЕ ПЕРЕКЛЮЧАТЕЛЬ 1 ДЛЯ ТАБЛИЦЫ СИМВОЛОВ, НАЖМИТЕ СТАРТ»
Выключите переключатель программ 1 и нажмите «Старт».Если для отладки требуется листинг таблицы символов, вместо этого включите переключатель программ 1. Листинг таблицы символов будет напечатан на пишущей машинке.
Подождите, пока проход I напечатает на пишущей машинке "END OF PASS 1"
Установите переключатели программ следующим образом:
  1. ВЫКЛ (номер выписки/адрес не указан)
  2. ВЫКЛ (не используется)
  3. ВЫКЛ (нет трассировки для операторов IF)
  4. ВЫКЛ (Нет следов для арифметических выражений)
Варианты прохода II
Установите переключатель «Проверка переполнения» в положение «Программа», а все остальные — в положение «Стоп».
Нажмите «Сброс»
Загрузите пустые карты (лицевой стороной вниз, 12-гранью вперед) в загрузочный лоток для перфорации, затем нажмите кнопку «Старт перфорации».
Загрузите проход II компилятора (лицевой стороной вниз, 9-ребром вперед) в загрузочный лоток, затем нажмите « Загрузить».Дождитесь загрузки Pass II.
Удалить проход II компилятора из стекера чтения
Извлеките промежуточный выходной материал прохода I из укладчика перфорации, затем загрузите его (лицевой стороной вниз, 9-ю кромками вперед) в считывающий бункер и нажмите кнопку « Запуск считывателя», затем «Запуск».Дождитесь завершения прохода II и напечатайте на пишущей машинке «SW 1 ON TO PUNCH SUBROUTINES, PRESS START»
Удалить промежуточный вывод из укладчика считывателя
Включите переключатель программ 1 , загрузите колоду подпрограмм (лицевой стороной вниз, 9-ребром вперед) в считывающий бункер, затем нажмите кнопку «Старт считывателя», затем «Старт».Подождите, пока Pass II напечатает на пишущей машинке «КОНЕЦ ПРОХОДА II»
Извлеките колоду подпрограмм из укладчика считывателей, а заполненную колоду объектов — из укладчика перфораторов.

GOTRAN был намного проще в использовании, поскольку он напрямую создавал исполняемый файл в памяти. Однако это была не полная реализация FORTRAN.

Для улучшения этого были разработаны различные сторонние компиляторы FORTRAN. Один из них был разработан Бобом Ричардсоном, [28] [29] программистом в Университете Райса , компилятор FLAG (FORTRAN Load-and-Go). После загрузки колоды FLAG все, что требовалось, это загрузить исходную колоду, чтобы перейти непосредственно к выходной колоде; FLAG оставался в памяти, поэтому он был немедленно готов принять следующую исходную колоду. Это было особенно удобно для работы со многими небольшими заданиями. Например, в Оклендском университете пакетный процессор заданий для студенческих заданий (обычно много небольших программ, не требующих много памяти) справлялся с классной работой гораздо быстрее, чем более поздний IBM 1130 с ее дисковой системой. Компилятор оставался в памяти, и у программы студента был шанс в оставшейся памяти на успех или неудачу, хотя серьезный сбой мог нарушить работу резидентного компилятора.

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

Поскольку перфорированная сторона считывателя карт-перфоратора не печатала символы по краю верхней части карт, приходилось переносить любые выходные колоды на отдельную машину , обычно IBM 557 Alphabetic Interpreter, которая считывала каждую карту и печатала ее содержимое вдоль верхней части. Списки обычно создавались путем перфорации листинговой колоды и использования бухгалтерской машины IBM 407 для печати колоды.

Аппаратная реализация

Карта стандартной модульной системы (SMS)

Большая часть логических схем 1620 представляла собой тип резисторно-транзисторной логики (RTL), использующей «дрейфовые» транзисторы (тип транзистора, изобретенный Гербертом Кремером в 1953 году) для их скорости, которую IBM называла Saturated Drift Transistor Resistor Logic (SDTRL). Другие используемые типы схем IBM назывались: Alloy (некоторая логика, но в основном различные нелогические функции, названные по типу используемых транзисторов), CTRL (еще один тип RTL, но медленнее, чем SDTRL ), CTDL (тип диодно-транзисторной логики (DTL)) и DL (еще один тип RTL, названный по типу используемых транзисторов, «дрейфовые» транзисторы). Типичные логические уровни всех этих схем ( уровень S ) были высокими: от 0 В до -0,5 В, низкими: от -6 В до -12 В. Логические уровни линии передачи схем SDTRL ( уровень C ) были высокими: 1 В, низким: -1 В. Релейные схемы использовали один из двух логических уровней ( уровень T ): высокий: от 51 В до 46 В, низкий: от 16 В до 0 В или ( уровень W ) высокий: 24 В, низкий: 0 В.

Эти схемы были построены из отдельных дискретных компонентов, смонтированных на односторонних бумажно-эпоксидных печатных платах размером 2,5 на 4,5 дюйма (64 на 114 миллиметров) с 16-контактным позолоченным краевым разъемом , которые IBM называла SMS- картами ( Standard Modular System ). Количество логики на одной карте было аналогично одному пакету SSI серии 7400 или более простому MSI (например, от 3 до 5 логических вентилей или пара триггеров).

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

  • «Ворота А» — передние распашные ворота, которые откидываются назад для доступа, после «Ворот В».
  • «Ворота B» — задние распашные ворота, которые открываются назад для доступа.
  • «Gate C» — выдвигается назад для доступа. Интерфейс консольной пишущей машинки. В основном релейная логика.
  • «Gate D» — выдвигается назад для доступа. Стандартный интерфейс ввода/вывода.

В модели 1620 использовались два различных типа сердечников памяти :

  • Основная память
    • Адресация совпадающей текущей линии XY
      • 20 000, 40 000 или 60 000 цифр
    • 12-битная, четная-нечетная пара цифр
    • 12 однобитных плоскостей в каждом модуле, от 1 до 3 модулей
      • 10 000 ядер на плоскость
  • Память с адресом регистра памяти (MARS)
    • Адресация Word Line
      • 16 слов, минимум восемь используется в базовой конфигурации
      • Чтение одного слова, очистка/запись нескольких слов
    • 24-битный, пятизначный десятичный адрес памяти (не хранится 8 - десять тысяч бит)
    • 1 самолет
      • 384 ядра

Логика декодирования адреса основной памяти также использовала две плоскости из 100 сердечников импульсного трансформатора на модуль для генерации полуимпульсов тока линии XY.

Существовало две модели 1620, каждая из которых имела совершенно разную аппаратную реализацию:

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

Компьютер для «малого научного рынка»

В 1958 году IBM собрала команду в лаборатории развития Покипси, штат Нью-Йорк, для изучения «малого научного рынка». Первоначально команда состояла из Уэйна Уингера (менеджер), Роберта К. Джексона и Уильяма Х. Роудса.

Требования и дизайн

Конкурирующими компьютерами на этом рынке были Librascope LGP-30 и Bendix G-15 ; обе машины были с барабанной памятью . Самым маленьким компьютером IBM в то время был популярный IBM 650 , десятичная машина с фиксированной длиной слова, которая также использовала барабанную память. Все три использовали электронные лампы . Был сделан вывод, что IBM не может предложить ничего действительно нового в этой области. Для эффективной конкуренции потребовалось бы использование технологий, которые IBM разработала для более крупных компьютеров, при этом машина должна была бы производиться с наименьшими возможными затратами.

Для достижения этой цели команда выдвинула следующие требования:

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

Прототип

Команда расширилась с добавлением Энн Декман, Келли Б. Дэй, Уильяма Флорака и Джеймса Брензы. Они завершили прототип (кодовое имя) CADET весной 1959 года.

Тем временем, завод в Сан-Хосе, Калифорния, работал над собственным предложением. IBM могла построить только одно из двух, и предложение из Покипси победило, потому что «версия из Сан-Хосе — топовая и нерасширяемая, в то время как ваше предложение имеет все виды возможностей расширения — никогда не предлагайте машину, которую нельзя расширить».

IBM 1620 Model I Level A (прототип), как он выглядел

в объявлении IBM о машине.

Руководство не было полностью убеждено, что сердечниковую память можно заставить работать в небольших машинах, поэтому Джерри Оттавэй был отдан в аренду команде для разработки барабанной памяти в качестве резервной. Во время приемочных испытаний в Лаборатории тестирования продукции были обнаружены повторные сбои сердечниковой памяти, и казалось, что прогнозы руководства сбудутся. Однако в последнюю минуту было обнаружено, что вентилятор Muffin, используемый для продувки горячим воздухом стека сердечников, неисправен, из-за чего сердечник улавливал шумовые импульсы и не мог правильно считывать данные. После устранения проблемы с вентилятором больше не было проблем с сердечниковой памятью, и работа по проектированию барабанной памяти была прекращена как ненужная.

Переведено в Сан-Хосе для производства.

После анонса IBM 1620 21 октября 1959 года в связи с внутренней реорганизацией IBM было решено передать компьютер из отдела обработки данных в Покипси (только крупные мэйнфреймы) в отдел общей продукции в Сан-Хосе (только малые компьютеры и вспомогательное оборудование) для производства.

После перевода в Сан-Хосе, кто-то там в шутку предположил, что кодовое имя CADET на самом деле означает « C an't Add , Does n't Even T ry », имея в виду использование таблиц сложения в памяти вместо выделенной схемы сложения (а SDTRL на самом деле означает « Sold D own T he R iver Logic » , что стало распространенной шуткой среди CE). Это прижилось и стало очень известным в сообществе пользователей. [30] [31] [32]

Реализация "уровней"

  • Модель I
    • Уровень А; прототип.
      • Все триггеры в конструкции представляли собой транзисторные версии оригинальной схемы триггера Эклза-Джордана . Хотя эта машина была полностью функциональна, было обнаружено, что конденсаторная связь, используемая в них, оказалась проблемной в шумной сигнальной среде реле и переключателей с кулачковым механизмом синхронизации, используемых для управления консольной пишущей машинкой. Это потребовало полной переработки машины для использования вместо них триггеров SR (за исключением двух триггеров, используемых для генерации тактовых импульсов для триггеров SR ). Однако использование термина Trigger было сохранено во всей документации при ссылке на триггер, поскольку это был общепринятый термин IBM (так как alphamerics был их термином для алфавитно-цифровых символов).
      • Это единственный уровень, в котором используется цельная вертикальная панель управления. Когда проект перенесли из Покипси в Сан-Хосе, его перепроектировали на двухсекционную угловую панель управления, которая используется во всех серийных моделях.
    • Уровень B; первое производство.
      • Это единственный уровень, в котором нижняя панель управления выполнена из полированного алюминия. На более поздних уровнях эта панель окрашена в белый цвет.
    • Уровень C; внедрение считывателя/перфоратора карт 1622.
    • Уровень D; введение 1311 дисководов и добавление дополнительного «Gate J», содержащего логику управления диском.
    • Уровень E; введение опции работы с плавающей точкой.
    • Уровень F
    • Уровень G; введение опции прерывания (необходимо для IBM 1710 ).
      • Не поддерживаются подпрограммы BT и BB в коде прерывания!
      • Логика управления диском на «Gate J» объединена с логикой «Gate A» и «Gate B».
        • Это стало возможным благодаря тому, что большая часть логики была реализована с использованием плат, разработанных для Model II.
    • Уровень H; улучшенная опция прерывания, поддерживающая подпрограммы BT и BB в коде прерывания.
      • Окончательная версия Модели I.
  • Модель II (в настоящее время информация об «уровнях» отсутствует)
В модели II 1620 были введены базовые аппаратные средства АЛУ для сложения и вычитания (что сделало « Ca n't Add , D oesn't Even T ry» более неприменимым) и индексные регистры .
  • Модель 3
    • Работа над моделью 1620 Model III была начата, но проект был быстро отменен, поскольку IBM хотела стимулировать продажи своей новой System/360 и прекратить выпуск старых линеек.

Патенты

  • Патент США 3,049,295  – Умножающий компьютер
    • Патент подан: 20 декабря 1960 г.
    • Патент выдан: 14 августа 1962 г.
    • Изобретатели
      • Уильям Х. Роудс
      • Джеймс Г. Бренза
      • Уэйн Д. Уингер
      • Роберт С. Джексон
    • Претензии и ссылки на предшествующий уровень техники
      • 21 иск
      • Нет предшествующего уровня техники
    • Диаграммы и текст
      • 156 листов диаграмм (Описывают 1620 во всех подробностях.)
      • 31 лист текста
  • Патент США 3,328,767  – Компактная таблица поиска данных
    • Патент подан: 31 декабря 1963 г.
    • Патент выдан: 27 июня 1967 г.
    • Изобретатели
      • Джеральд Х. Оттауэй
    • Претензии и ссылки на предшествующий уровень техники
      • 11 претензий
      • 5 предшествующих достижений техники
    • Диаграммы и текст
      • 5 листов диаграмм
      • 4 листа текста
  • Патент США 3,199,085  – Компьютер с функцией арифметического блока табличного поиска
    • Патент подан: 20 декабря 1960 г.
    • Патент выдан: 3 августа 1965 г.
    • Изобретатели
      • Уильям Х. Роудс
      • Джеймс Г. Бренза
      • Уэйн Д. Уингер
    • Претензии и ссылки на предшествующий уровень техники
      • 21 иск
      • 5 предшествующих достижений техники
    • Диаграммы и текст
      • 156 листов диаграмм (Описывают 1620 во всех подробностях.)
      • 31 лист текста
  • Патент США 3,239,654  – Делительный компьютер
    • Патент подан: 8 февраля 1961 г.
    • Патент выдан: 8 марта 1966 г.
    • Изобретатели
      • Роберт С. Джексон
      • Уильям А. Флорак
      • Уэйн Д. Уингер
    • Претензии и ссылки на предшествующий уровень техники
      • 9 претензий
      • 1 предшествующий уровень техники
      • 3 публикации
    • Диаграммы и текст
      • 13 листов диаграмм
      • 19 листов текста

Известные применения

IBM 1620 model II использовался Вирлом Н. Хаффом, штаб-квартира NASA (FOB 10B, Вашингтон, округ Колумбия), для программирования трехмерной симуляции на Фортране задачи двух тел привязанной капсулы Gemini – ракетного модуля Agena в то время, когда не было полностью понятно, безопасно ли привязывать два объекта вместе в космосе из-за возможных столкновений, вызванных упругим тросом. Тот же компьютер использовался также для моделирования орбит полетов Gemini, создавая графики для печати каждой орбиты. Эти симуляции были запущены в течение ночи, а данные были изучены на следующий день. [33]

В 1963 году в ИИТ Канпура был установлен IBM 1620, что стало толчком к развитию индийского программного обеспечения. [34]

В 1964 году в Австралийском национальном университете Мартин Уорд использовал IBM 1620 model I для вычисления порядка группы Янко J 1 . [35]

В 1966 году МСЭ выпустил пояснительный фильм о системе компьютерного набора 1963 года в Washington Evening Star с использованием IBM 1620 и фотонаборной машины Linofilm . [36]

В 1964 году в Университете Исландии был установлен IBM 1620 , ставший первым компьютером в Исландии. [37]

Использование в кино и на телевидении

  • Радиопрограмма была разработана диджеем Реге Кордиком для KDKA Pittsburgh на основе симулятора бейсбольной игры, разработанного Джоном Берджесоном из IBM и его братом Полом, тогда энсином в ВМС США. Эта программа использовалась в многочисленных демонстрационных мероприятиях в 1960-1963 годах как пример возможностей компьютеров для выполнения упражнений по моделированию.
  • Вымышленный компьютер Colossus of Colossus: The Forbin Project использовал около дюжины отбракованных передних панелей 1620, купленных на рынке излишков, в различных ориентациях. [38]
  • Подобная схема использовалась в позднем эпизоде ​​телесериала [39] и фильме [40] «Человек из UNCLE» для изображения суперкомпьютера THRUSH .

Анекдоты

КАДЕТ

Многие в сообществе пользователей помнят , что 1620 называли CADET , что в шутку означало « не могу сложить , даже не пытаюсь », имея в виду использование таблиц сложения в памяти вместо специализированной схемы сложения. [41]

Объяснение всех трех известных интерпретаций кодового названия машины см. в истории разработки.

Для машины было выбрано внутреннее кодовое имя CADET . Один из разработчиков говорит, что это расшифровывалось как « Computer with AD Vanced Economic T echnology», однако другие вспоминают, что это была просто половина «SPACE - CADET» , где SPACE было внутренним кодовым именем машины IBM 1401 , также тогда находившейся в разработке. [ требуется цитата ]

Библиография

  • Лори, Эдвард Дж. (1963). Компьютеры и как они работают: IBM 1620, IBM 1401, IBM 650. South-Western Publishing Company.— Вводная книга, написанная вскоре после ее введения.

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

Ссылки

  1. ^ abcdefgh "Система обработки данных 1620". 23 января 2003 г. Архивировано из оригинала 14 января 2005 г.
  2. ^ "Некоторые ключевые даты в деятельности IBM в Европе, на Ближнем Востоке и в Африке (EMEA)" (PDF) . Архивировано из оригинала (PDF) 2022-10-10.
  3. ^ ab "IBM 1620: Just The Right Machine for Chula's Statistics Department". Архивировано из оригинала 22.12.2017 . Получено 20.12.2017 .
  4. ^ "... организованы как массив 100x100 из 12-битных ячеек, каждая из которых содержит 2 десятичные цифры. (Каждая десятичная цифра была закодирована в двоичном коде с использованием 6 бит.)"
  5. ^ Оддур Бенедиктссон (2009). "FORTRAN II – первый компьютерный язык, используемый в Университете Исландии" (PDF) . История скандинавских вычислений 2. Достижения IFIP в области информационных и коммуникационных технологий. Том 303. С.  149– 155. doi :10.1007/978-3-642-03757-3_16. ISBN 978-3-642-03756-6. Архивировано (PDF) из оригинала 2017-12-22.
  6. ^ ab Джон Импальяццо; Тимо Ярви; Петри Паю (2009). История скандинавских вычислений 2: Вторая конференция IFIP WG 9.7. ISBN 978-3642037573.
  7. ^ Хотя существуют описания единственной 100 000-разрядной машины, разработанной в конце 1960-х годов с использованием существенно модифицированного оборудования.
  8. ^ "Основная память была логически организована как 20 000 6-битных слов. Каждое слово состояло из четырех бит данных BCD, бита "флага" и бита проверки на нечетность. Хотя это было ее логическое расположение, физически память представляла собой массив 100x100 12-битных слов на ферритовом сердечнике, что вызывало несколько странностей в наборе инструкций. Все инструкции занимали 12 последовательных цифр памяти и должны были начинаться с четного адреса, чтобы двузначный код операции можно было прочитать в одном 12-битном физическом слове". "IBM 1620 Model 1 – Physics @ SMU".
  9. ^ Архив Э. В. Дейкстры: Обзор системы обработки данных IBM 1620 (EWD 37)
  10. ^ "Basic Programming Concepts and The IBM 1620 Computer" (PDF) . Архивировано из оригинала (PDF) 2015-07-20. Перфокарта является наиболее широко используемым средством связи с машинами
  11. ^ "Подобные требования к малым и средним научным компьютерам привели к появлению IBM 1620 и его преемника IBM 1130". Джеймс Л. Петерсон; Вернер Рейнболдт (2014). Организация компьютеров и программирование на языке ассемблера. ISBN 978-1483268590.
  12. ^ "Тема: GOTRAN ON THE IBM 1316 DISK STORAGE PACK (Serial No. K7402)". Архивировано из оригинала 2006-02-21 . Получено 2006-03-03 .
  13. ^ "Индекс /pdf/ibm/1620". Архивировано из оригинала 2006-02-11 . Получено 2006-04-06 .
  14. ^ "IBM 1620". Университет Суонси – swansea.ac.uk . Архивировано из оригинала 2017-12-22 . Получено 2017-12-19 .
  15. ^ ab 227-5630-1 IBM 1620 Floating Point Feature CE Manual (PDF) . Корпорация IBM. Архивировано (PDF) из оригинала 2022-10-10.
  16. ^ Вайк, Мартин Х. (март 1961 г.). "IBM 1620". ed-thelen.org . Третий обзор отечественных электронных цифровых вычислительных систем.
  17. ^ «Можно было использовать многоуровневую косвенную адресацию (можно было даже поместить машину в бесконечный цикл косвенной адресации), а в средних трех цифрах пятизначных адресов (на 1620 II) они были установлены для выбора одного из семи индексных регистров. Дэн Райан (2011). История компьютерной графики. Серия DLR Associates. ISBN 978-1456751159.
  18. ^ "IBM 1620 Central Processing Unit, Model 1" (PDF) . стр. 28. Архивировано из оригинала (PDF) 2017-10-09 . Получено 2017-12-18 .
  19. ^ "IBM 1620 Central Processing Unit, Model 2" (PDF) . стр. 71. Архивировано из оригинала (PDF) 2019-05-25 . Получено 2017-12-18 .
  20. ^ ab "IBM 1311". 23 января 2003 г. Архивировано из оригинала 21 января 2005 г.
  21. ^ "... хранилище для 2 миллионов символов.
  22. ^ "1963: 6 мая дебютирует принтер IBM 1443 для использования с системой обработки данных IBM 1620". "Хронология DPD". 23 января 2003 г. Архивировано из оригинала 20 августа 2010 г.
  23. ^ "IBM 1443 PRINTER for 1620/1710 Systems" (PDF) . IBM Systems Reference Library. Архивировано (PDF) из оригинала 2022-10-10.
  24. ^ В этой публикации принтер IBM 1443 описывается как устройство вывода в режиме онлайн для систем обработки данных 1620, моделей 1 и 2, а также для системы управления 1710. Файл № 1620/1710-03. Форма A26-5730-2
  25. ^ "... 2 миллиона символов, что эквивалентно примерно 25 000 перфокарт или пятой части катушки магнитной ленты."
  26. ^ 1620 FORTRAN (с FORMAT) (PDF) . IBM Systems Reference Library. стр.  51–56 . Архивировано (PDF) из оригинала 2009-01-09.
  27. ^ IBM 1620 FORTRAN II Programming System Reference Manual (PDF) . IBM Systems Reference Library. стр.  22–28 . Архивировано (PDF) из оригинала 2009-01-09.
  28. ^ Дэн Райан (2011). История компьютерной графики: серия Dlr Associates. ISBN 978-1456751159. разработан Бобом Ричардсоном, программистом из Университета Райса
  29. ^ Пользователь: Br6cycles3 в своей первой и единственной на сегодняшний день правке (24 февраля 2019 г., 18:15) попытался изменить имя в статье с Боба Ричардсона на Майка Маккантса и написал в резюме: «Исправление ошибки при указании автора: я Боб Ричардсон, и я знаю, что программистом на самом деле был Майк Маккантс».
  30. ^ "В 1962 году IBM начала поставки замечательной маленькой машины, первоначально названной Cadet, но продававшейся как IBM 1620". Эдвин Д. Рейлли (2003). Вехи в области компьютерной науки и информационных технологий . ISBN 978-1573565219.
  31. ^ Даже пять лет спустя в средней школе все еще редко можно было встретить IBM 1620: «IBM 1620».
  32. ^ «IBM 1620 (он же CADET) ... расшифровывалось как «Can't Add and Doesn't Even Try» (Не умеет складывать и даже не пытается).»
  33. Личные воспоминания Дональда Н. Хаффа, сына Вирла Н. Хаффа.
  34. ^ Джайант К. Сингх, The Spark, Icct 2021, IIT Kanpur
  35. ^ Звонимир Янко, Новая конечная простая группа с абелевыми силовскими подгруппами, Proc. Natl. Acad. Sci. USA 53 (1965) 657-658
  36. ^ "ITU - История технологий". Международный типографский союз . 1966.
  37. ^ "Небо - Фирсту Тёлвурнар" . www.sky.is. ​Архивировано из оригинала 2 ноября 2021 г. Проверено 2 ноября 2021 г.
  38. Спайсер, Даг (июль–сентябрь 2005 г.), «Проект восстановления IBM 1620» (PDF) , IEEE Annals of the History of Computing , 27 (3): 33– 43, doi :10.1109/MAHC.2005.46, S2CID  710051 , получено 2010-09-02[ постоянная мертвая ссылка ‍ ]
  39. ^ "THRUSH разрабатывает 'совершенный компьютер'..." "The Man from UNCLE - The Ultimate Computer Affair (TV Episode)". IMDb . Октябрь 1965 г.
  40. ^ IBM 1316 был сменным дисководом для дисков IBM 1311 компьютера IBM 1620, что объясняет следующее: «Фильм «Человек от UNCLE» полон технологических анахронизмов... В 1963 году, когда происходили события фильма, были доступны дисководы вроде 10-фунтового IBM 1316». Фильм «Человек от UNCLE» полон технологических анахронизмов».
  41. ^ Орнштейн, Северо (2002). Вычислительная техника в средние века: взгляд с окопов 1955-1983 . Лексингтон, Кентукки: 1-е книги. стр. 62. ISBN 978-1-4033-1517-5.
  • Система обработки данных IBM 1620 (архив 2004 г.) из Музея компьютерной истории
  • Архивы IBM: Система обработки данных 1620 (архив) из архивов IBM Exhibits
  • Документы IBM 1620 с bitsavers.org
  • Системное справочное руководство для центрального процессора IBM 1620, модель 1 (июль 1965 г.) с сайта bitsavers.org
  • Системное справочное руководство для центрального процессора IBM 1620, модель 2 (ноябрь 1965 г.) с сайта bitsavers.org
  • IBM 1620 Model II (архив 2007 г., на греческом языке) в Научном центре и технологическом музее г. Салоники
  • IBM 1620 Simulator Java Applet (v1.0.1a) (часть проекта восстановления IBM 1620)
Взято с "https://en.wikipedia.org/w/index.php?title=IBM_1620&oldid=1263154072#Model_I"