IBM 1401 — десятковий комп'ютер, розроблений передовою компанією IBM, випущений 5 жовтня 1959 року. Комп'ютер належить до другого покоління. Версія 1401 була найпоширенішим комп’ютером 60-х років. 8 лютого 1971 року був знятий з виробництва.
Опис IBM випускала комп'ютери IBM-1401 для комерційних розрахунків. Ця машина могла прочитувати і записувати магнітні стрічки та перфокарти й роздруковувати результат з такою ж швидкістю, як і IBM-7094, але при цьому коштувала дешевше. Для наукових обчислень вона не підходила, але була зручною для ведення ділових записів.
У 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 був закодований шістьма бітами - B, A, 8, 4, 2, 1. B та A біти були названі зонами-біт. 8,4,2,1 біти були названі цифровими бітами взяті зі шпальти перфокарти IBM 80. IBM називали 1401 в символьному коді BCD, незважаючи на те, що термін описує тільки десяткове кодування. З кожною клітинкою пам'яті були ще два біти, які мають назву C для непарної перевірки та M для парної перевірки знаків слова.
Кожна комірка пам'яті мала наступні біти: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 — діодно-транзисторна логіка (), яку IBM назвав CTDL (Complemented Transistor Diode Logic).
Інші типи IBM схем: Alloy (присутня логіка але в основному різні нелогічні функції необхідні для транзисторів ). CTRL (присутня регістерно-транзистерна логіка (RTL) ). SDTDL (присутня регістерно-діодна логіка).
Ці схеми були побудовані на основі дискретних компонентів (резистори, конденсатори, транзистори) та встановлені на односторонніх паперах епоксидних друкованих плат розміру (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 Translate1460 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готові брати участь 7340hypertape нормальний кінець 7740передача завершена успішно DDCпередача закінчилася через GMWM 3 1009відбулася безпомилкова передача 1011перфоратор не готовий до прийому даних 1231готовий читати 1285читач транспортує 1412зчитування, перевірте індикатор 1418документ для зчитування 1419діє поле 1428документ після зчитування 7340блок управління 7641 зайнятий 7740отримати запит DDCзапит на читання 4 1009поганий індикатор 1011перфоратор не готовий читати 1231порожній буфер 1285помічена лінія 1412сума поле індикатора 1419процес управління 7340hypertape увага 77407740 увага 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перевірка процесу 1440I/O перевірити та вимкнути \ 1301доступ зайнятий 1311доступ зайнятий J 1419I/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 році його батьком, Йоганном Гуннарссоном (головний інженер з експлуатації одного з перших комп'ютерів країни) та Еліас Давісон (один з перших програмістів у країні).
Відео Презентація комп'ютера IBM 1401 французькою мовою з англійськими субтитрами YouTube April 20, 2014
Див. також IBM
Примітки