IBM 1401

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до навігації Перейти до пошуку
IBM 1401

IBM 1401десятковий комп'ютер, розроблений передовою компанією IBM, випущений 5 жовтня 1959. Комп'ютер належить до другого покоління ЕОМ. Версія 1401 була найпоширенішим комп’ютером 60-х років. 8 лютого 1971 року був знятий з виробництва.[1]

IBM випускала комп'ютери IBM-1401 для комерційних розрахунків[2]. Ця машина могла прочитувати і записувати магнітні стрічки та перфокарти й роздруковувати результат з такою ж швидкістю, як і IBM-7094, але при цьому коштувала дешевше. Для наукових обчислень вона не підходила, але була зручною для ведення ділових записів.[3]

У IBM-1401 не було регістрів та фіксованої довжини слова. Пам'ять складалася з байтів, вміщувала 4 Кбайт по 8 бітів (4 Кбайт). Кожен байт містив символ в 6 бітів, адміністративний біт та біт для вказівки кінця слова.

У команди MOVE, наприклад, є початкова адреса та адреса пункту призначення. Ця команда переміщає байти з першої адреси в другу за порядком, поки біт кінця слова не прийме значення 1.

Приклад програми:

, 008015,022029,036043,050054,055062,063065,069080 / 333 / M0792502F1.065HELLO WORLD

Покрокове пояснення до алгоритму виконання наведеної вище програми:

  • Встановити слово-мітку (opcode «,» операнди 008 015)
  • Встановити більше слів-міток.
  • Очистити сховище - 333-300 (opcode «/» 333 операнда)
  • Очистити сховище - інша частина області друку 299-200 (opcode«/» прикутий адрес)
  • Переміщення «Hello World» до області друку (код операції «М», операнда 079 та 250)
  • Друк рядка (opcode «2»)
  • Прогнати сторінку через ПРИНТЕР (код операції «F» модифікатор «1»)
  • Halt (opcode операнд 065)

Історія

[ред. | ред. код]

Щомісячна орендна плата за використання IBM 1401 починалася від 2500 дол. США (на сьогоднішній день близько 20 539 дол. США). Компанія IBM була вражена, отримавши 5200 замовлень за перші п'ять тижнів після виходу моделі 1401. IMB 1401 використовувала багато електроенергії для стабільної роботи. Число покупців в 60-х роках досягло 10 000 (До середини 60-х років майже половина всіх комп'ютерних систем в світі були типу 1401). Продаж моделі 1401 припинився в 1971 році.

Зазвичай IBM 1401 використовувалася на малих підприємствах для обробки даних. Саме 1401 передавала вхідні дані з периферійних пристроїв (таких як IBM 1402 Card Read-Punch) на стрічку, а потім з стрічки на перфокарту, принтер IBM 1403 або іншій периферійний пристрій. IBM вперше застосувала емуляцію мікрокоду для 1401 у вигляді схеми постійної пам'яті. Модель котра вийшла після припинення продажі IBM 1401 мала назву IBM 1410.

Архітектура 

[ред. | ред. код]
Панель управління в IBM - 1401

Кожен буквено-цифровий символ в IBM 1401 був закодований шістьма бітами - B, A, 8,4,2,1. B та A біти були названі зонами-біт. 8,4,2,1 біти були названі цифровими бітами взяті зі шпальти перфокарти IBM 80. IBM називали 1401 в символьному коді BCD, незважаючи на те, що термін описує тільки десяткове кодування. З кожною клітинкою пам'яті були ще два біти, які мають назву C для непарної перевірки та M для парної перевірки знаків слова[4].

Кожна комірка пам'яті мала наступні біти:

CBA 8 4 2 1 М

IBM 1401 був доступний в шести конфігураціях пам'яті: 1400, 2000., 4000, 8000, 12000, або 16000 символів. Адресуватися міг кожен символ, адреса в діапазоні від 0 до 15999.

Деякі операції використовують спеціальні осередки пам'яті (ці місця не були збережені й можуть бути використані для інших цілей).

Формат інструкції для IBM-1401
[ред. | ред. код]
Opcode
   with   [A-or-I-or-unit-address [B-address]] [modifier]
 word mark

Опкод задається одним символом. Адреси пам'яті ( «I» branch target, «A» і «B» date) та блок-адреси представляють три символи. Модифікатор опкоду також задається одним символом. Довжина інструкції 1, 2, 4, 5, 7 або 8 символів.

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

[ред. | ред. код]

Велика частина логічної схеми в 1401 — діодно-транзисторна логіка (англ. diode-transistor logic, DTL), яку IBM назвав CTDL (Complemented Transistor Diode Logic)[3].

Відкриті плати IBM 1401

Інші типи IBM схем[5]:

  1. Alloy (присутня логіка але в основному різні нелогічні функції необхідні для транзисторів ).
  2. CTRL (присутня регістерно-транзистерна логіка (RTL) ).
  3. SDTDL (присутня регістерно-діодна логіка).
SMS карта

Ці схеми були побудовані на основі дискретних компонентів (резистори, конденсатори, транзистори) та встановлені на односторонніх паперах епоксидних друкованих плат розміру (2,5 - 4,5) дюйма з золотими гальванічними краями, 16-контактного роз'єму (5.375 - 4,5 дюйма) з двома 16-контактними золотими гальванічними торцевими роз'ємами (подвійної ширини), які IBM називають SMS карти (стандартна модульна система). SMS-карти були вставлені в гніздах на шарнірних стійках, для якої IBM дала назву ворота. Як і більшість машин, на той час, IBM 1401 використовувала пам'ять на магнітних осердях. Діаметр кожного осердя був близько 1 мм в діаметрі, для запису-читання біту використовувалися чотири провідники. Стек з восьми таких площин зберігав шість бітів даних. Системи були широко доступна з двома, трьома або чотирма такими модулями.

Символи та коди операцій

[ред. | ред. код]

IBM 1401 представляє односимвольні операції. У багатьох випадках, особливо для більш загальних інструкцій, символи були такими: A - додати (від add), B - відгалужитись (від branch), S - відняти (від subtract), та інші. Символи можна побачити в таблиці:

BCD символи Print-A Print-H карта BCD

w/o M

Операції Визначення та примітки
Blank       C          
. . . 12-3-8  BA8 21 Halt  
¤ ¤ ) 12-4-8 CBA84   Clear Word Mark Ромб
[     12-5-8  BA84 1    
<     12-6-8  BA842    Менше
    12-7-8 CBA8421   Мітка групи
& & + 12 CBA        
$ $ $ 11-3-8 CB 8 21    
* * * 11-4-8  B 84      
]     11-5-8 CB 84 1    
;     11-6-8 CB 842     
Δ     11-7-8  B 8421   Дельталі (Зміна режиму)
- - - 11  B         
/ / / 0-1 C A   1 Clear Storage  
, , , 0-3-8 C A8 21 Set Word Mark  
% % ( 0-4-8   A84   Divide Спеціальна функція
ˠ     0-5-8 C A84 1   слово Separator
\     0-6-8 C A842    Лівий
    0-7-8   A8421   Стрічка сегмента
ƀ N/A

0  

  A       Не може бути зчитана з карти без без наявності RPQ, читається як 8-2
# # = 3-8    8 21 Modify Address потрібно більш 4000 символів пам'яті
@ @ ' 4-8 C  84   Multiply Спеціальна функція
:     5-8    84 1    
>     6-8    842    Більше
    7-8 C  8421   Tape Mark
? & & 12-0 CBA8 2  Zero and Add плюс Нуль
A A A 12-1  BA   1 Add  
B B B 12-2  BA  2  Branch or Branch on Indicator
C C C 12-3 CBA  21 Compare  
D D D 12-4  BA 4   Move Numerical Біти
E E E 12-5 CBA 4 1 Move Characters and Edit  
F F F 12-6 CBA 42  Control Carriage Принтер
G G G 12-7  BA 421    
H H H 12-8  BA8    Store B-Address Register спеціальна функція
I I I 12-9 CBA8  1    
! - - 11-0  B 8 2  Zero and Subtract мінус Нуль
J J J 11-1 CB    1    
K K K 11-2 CB   2  Select Stacker and other device controls
L L L 11-3  B   21 Load Characters to Word Mark  
M M M 11-4 CB  4   Move Characters to Word Mark  
N N N 11-5  B  4 1 No Operation  
O O O 11-6  B  42     
P P P 11-7 CB  421 Move Characters to

Record or Group Mark

Спеціальна функція
Q Q Q 11-8 CB 8    Store A-Address Register Спеціальна функція
R R R 11-9  B 8  1    
0-2-8   A8 2    Record Mark
S S S 0-2 C A  2  Subtract  
T T T 0-3   A  21 Translate 1460
U U U 0-4 C A 4   Control Unit Лента
V V V 0-5   A 4 1 Branch if Word Mark

and/or Zone

 
W W W 0-6   A 42  Branch if Bit Equal Спеціальна функція
X X X 0-7 C A 421 Move and Insert Zeros Спеціальна функція
Y Y Y 0-8 C A8    Move Zone Лента
Z Z Z 0-9   A8  1 Move Characters and

Suppress Zeros

 
0 0 0 0 C  8 2     
1 1 1 1       1 Read a Card  
2 2 2 2      2  Write a Line  
3 3 3 3 C    21 Write and Read  
4 4 4 4     4   Punch a Card  
5 5 5 5 C   4 1 Read and Punch  
6 6 6 6 C   42  Write and Punch  
7 7 7 7     421 Write, Read, and Punch  
8 8 8 8    8    Start Read Feed Спеціальна функція
9 9 9 9 C  8  1 Start Punch Feed Спеціальна функція

Модифікатори символів за допомоги B-інструкції

[ред. | ред. код]
BCD Символ Блок Призначення 
Blank 1401 знака необхідності в наступному символі
1 1009 умови
  1011 операції символу повернення
  1011 читач парності індикатор
  1231 автоматичний вибір
  1285 помилка
  1412 контроль перевірки індикатора
  1418 пізнє читання
  1419 документ для читання
  1428 пізно прочитати або змінити режим пізнього читання
  1445 помилка принтера
  7340 незвичайний кінець
  7740 передача до набору з ненормальним станом
  DDC помилка передачі
2 1009 буфер доступний
  1011 перфоратор готорвий
  1011 читач готовий
  1231 повний буфер
  1285 кінець рядка
  1412 сигнал читача 
  1418 готові брати участь
  1419 документ зчитує (PDS 4)
  1428 готові брати участь
  7340 hypertape нормальний кінець
  7740 передача завершена успішно
  DDC передача закінчилася через GMWM
3 1009 відбулася безпомилкова передача
  1011 перфоратор не готовий до прийому даних
  1231 готовий читати
  1285 читач транспортує 
  1412 зчитування, перевірте індикатор
  1418 документ для зчитування 
  1419 діє поле 
  1428 документ після зчитування 
  7340 блок управління 7641 зайнятий
  7740 отримати запит
  DDC запит на читання
4 1009 поганий індикатор
  1011 перфоратор не готовий читати
  1231 порожній буфер
  1285 помічена лінія
  1412 сума поле індикатора
  1419 процес управління
  7340 hypertape увага
  7740 7740 увага
  DDC записи
5 1009 підтвердження коду помилки
  1011 перфоратор затягнутий
  1231 помилка читання або перевитрата
  1285 інформація про заголовок
  1412 індикатор на процес контролю
  1418 кінцевий документ
  1419 рахунковий номер
  1428 кінцевий документ
  1445 принтер зайнятий
6 1009 потрібна увага до програма 
  1011 перфораторна котушка повна
  1231 прапорець синхронізації
  1285 готовий прочитати рядок
  1412 номер індикатора
  1418 символ в рядку
  1419 поле транзитного номера
  1428 символ в рядку
  1445 каретка зайнята
  DDC написати до процесу
7 1009 кінець повідомлення
  1285 читач готовий
  1412 транзитний номер індикатора
  1418 порожній транспорт (кінець файлу)
  1419 поле серійного номера
  1428 порожній транспорт (кінець файлу)
  1445 канал каретки 9
  DDC читати прогрес
8 1009 кінець файлу
  1285 кінець файлу
  1412 перевірка індикатора 
  1418 готовий читати
  1419 автовибір
  1428 готовий читати
  1448 канал 12 каретки
  DDC система зупинена
9 1403 канал стрічки каретки  
0 1404 помилка
' or @ 1403 канал стрічки каретки  
> 1448 кінець блоку
/ 1401 невірні порівняння
S 1401 порівняти
T 1401 малі порівняння 
U 1401 великі порівняння
V 1301 помилка диска
  1311 помилка диска
  1405 читати чи записувати перевірки на парність
W 1301 неправильна довжина запису
  1311 неправильна довжина запису
  1405 неправильна довжина запису
X 1301 нерівний адреса
  1311 нерівний адреса
  1405 нерівний адреса
Y 1301 стан помилки
  1311 стан помилки
  1405 стан помилки
Z 1401 арифметичне переповнення
1403 помилка принтера
( or % 1401 перевірка процесу 
  1440 I/O перевірити та вимкнути
\ 1301 доступ зайнятий
  1311 доступ зайнятий
J 1419 I/O-індикатор каналу зайнятий
  TAU стрічка зайнята
  SIO послідовне введення-виведення
K TAU кінець  запису або мітки стрічки
L TAU помилка стрічки
N 1301 непрацездатність
  1311 непрацездатність
  1405 непрацездатність
P 1403 принтер зайнятий
Q 1407 запит
R 1403 каретка зайнята
! 1402 помилка перфоратора
* 1407 запит
+ or & 1442 остання карта 
A 1402 остання карта  SS А
B 1401 SS B
  7340 відповідь
C 1401 SS C
D 1401 SS D
E 1401 SS E
  7340 кінець на відповідь
F 1401 SS F
G 1401 SS G
H 1402 читач зайнятий
I 1402 перфоратор зайнятий
? 1402 помилка читача
< 1448 попередження

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

[ред. | ред. код]

Програмне забезпечення IBM для 1401 налічує:

  • 1401 Symbolic Programming System assembler.
  • Autocoder на магнітну стрічку.
  • Autocoder на диску.
  • COBOL
  • FARGO
  • FORTRAN II (потребує память в 8000 символов).
  • FORTRAN IV (потребує память в 12000 символов).
  • RPG (потребує память в 4000 символов).

Цікаві факти

[ред. | ред. код]

У жовтні 2006 року ісландський авангардний музикант Йоганн Йоганссон випустив альбом IBM 1401. Для запису альбому, Йоганн переписав його на шістдесят частин струнного оркестра.

Концепція заснована на роботі, виконаної в 1964 році його батьком, Йоганном Гуннарссоном (головний інженер з експлуатації одного з перших комп'ютерів країни) та Еліас Давісон (один з перших програмістів у країні).

Відео

[ред. | ред. код]

Див. також

[ред. | ред. код]

Примітки

[ред. | ред. код]
  1. IBM Archives: 1401 Data Processing System. www-03.ibm.com (амер.). 23 січня 2003. Архів оригіналу за 2 липня 2012. Процитовано 28 квітня 2017.
  2. Murray, Charles J. (18 січня 1997). The Supermen: The Story of Seymour Cray and the Technical Wizards Behind the Supercomputer (English) (вид. 1 edition). Wiley. ISBN 9780471048855.
  3. а б History of PIA - Pakistan International Airlines. www.historyofpia.com. Архів оригіналу за 10 травня 2017. Процитовано 28 квітня 2017.
  4. The IBM 1401. www.columbia.edu. Архів оригіналу за 24 березня 2017. Процитовано 28 квітня 2017.
  5. rthelen (18 грудня 2008), 1401-music-Movie, архів оригіналу за 18 серпня 2017, процитовано 28 квітня 2017