IBM 7030, також відомий як Stretch — перший суперкомп'ютер компанії IBM, побудований на транзисторах. Був найшвидшою ЕОМ у світі з 1961 до 1964 року, коли запрацювала перша машина CDC 6600.[1][2]
Збудовані IBM 7030 вийшли значно повільнішими, ніж очікувалося, і так і не змогли досягнути запланованих показників швидкодії (досить агресивних для часу). Компанія IBM була змушена знизити ціну з 13,5 мільйонів доларів США до 7,78 мільйонів, і припинити продаж машини (крім замовників, що вже підписали контракти). Журнал PC World назвав IBM Stretch однією з найбільших невдач проект-менеджменту в історії інформаційних технологій.[5]
Всередині самої IBM той факт, що їх випередила невелика Control Data Corporation, сприймався досить важко.[6]
Керівника проєкту Стівена Данвелла (Stephen W. Dunwell),[7] було спочатку звинувачено у «провалі»,[8] але коли стало зрозуміло, що успіх наступника Stretch — лінійки System/360 — є безумовним — реабілітовано (керівництво IBM офіційно вибачилось перед Данвеллом, і навіть надало йому титул IBM Fellow у 1966-му році).[9]
Незважаючи на недостатню швидкодію, багато ідей і технологій Stretch знайшли подальший розвиток у лінійці машин IBM System/360, що дебютувала 1964-го року.
Історія розробки
На початку 1955 року доктор Едвард Теллер з Радіаційної Лабораторії Каліфорнійського Університету розпочав пошук системи для наукових обчислень в галузі гідродинаміки. Теллер звернувся до IBM та UNIVAC; система мала називатись Livermore Automatic Reaction Calculator, або LARC. Катберт Герд (Cuthbert Hurd), виконавчий директор у IBM, оцінив вартість такої системи приблизно у 2,5 мільйонів доларів, а продуктивність — 1..2 MIPS.[10]:12 Систему мало бути здано до експлуатації через «два-три роки» після підписання контракту.
На заводі IBM у Поукіпзі невелика команда, до якої входили Джон Ґріффіт і Джин Амдаль, почала роботу над дизайном. У момент коли вони закінчили і були готові представити проект, інженер Ральф Палмер зупинив їх зі словами «це помилка».[10]:12 Запропонований дизайн мав бути реалізований або на точкових, або на поверхнево-бар'єрних транзисторах — обидва ці типи, як на той час вже стало відомо, поступалися у швидкодії щойно винайденим дифузійним транзисторам.[10]:12
IBM проінформувала Ліверморську лабораторію, що розриває контракт, але натомість запропонувала кардинально кращу систему: «Ми не будуватимемо ту машину для вас, ми хочемо збудувати щось набагато краще! Ми не знаємо точно, скільки зусиль і коштів це потребуватиме, але оцінюємо, що ще приблизно один мільйон доларів і один рік. Ми не знаємо точно, наскільки швидко вона працюватиме — десь 10 мільйонів інструкцій за секунду»."[10]:13 Втім, ці цифри не вразили Лівермор, і у травні 1955-го лабораторія оголосила, що UNIVAC виграв контракт на LARC, і що нове ім'я проекту — Livermore Automatic Research Computer. LARC було поставлено і здано до експлуатації у червні 1960-го року.[11]
У вересні 1955-го, на хвилі побоювань, що Лос-Аламоська національна лабораторія також замовить LARC, IBM презентувала чорновий варіант швидкодіючого двійкового комп'ютера на основі дизайну, який відхилили у Ліверморі. У Лос-Аламосі зацікавились, і у січні 1956-го проект Stretch було формально розпочато. У листопаді 1956-го IBM підписав контракт, з досить амбітними цілями щодо продуктивності системи на рівні «принаймні у 100 разів вищому, ніж у IBM 704» (тобто 4 MIPS). Здача проекта замовникові планувалася у 1960 році.
Під час проектування і початкових випробувань стало зрозуміло, що тактову частоту процесора доведеться знизити, і що найімовірніше Stretch не досягне поставлених цілей зі швидкодії. Втім, продуктивність мала вийти як мінімум на рівні 60-кратної IBM 704. У 1960-му було встановлено ціну, 13,5 мільйона доларів. У 1961-му запуск програми тесту продуктивності показав, що реальна швидкодія буде лише на рівні 30-кратної IBM 704 (тобто 1,2 MIPS). Це викликало розгублення і збентеження у IBM, і, як наслідок, у травні 1961-го Уотсон анонсував зниження ціни на всі замовлені IBM 7030 (до 7,8 мільйона доларів), і припинення продажу машини новим замовникам.
Додавання операндів з рухомою комою у IBM 7030 здійснювалося за 1,38..1,5 мікросекунд, множення — 2,48..2,70 мікросекунд, ділення — за 9..9,9 мікросекунд.
Вплив на технологію
Незважаючи на загальне сприйняття IBM 7030 як невдалої системи, багато технологічних рішень і ідей з цієї машини знайшли своє застосування в успішних комп'ютерах майбутнього. Транзисторні логічні схеми, побудовані зі стандартних блоків (Стандартна Модульна Система, SMS) стали основою лінійки машин IBM 7090 (наукові комп'ютери), IBM 7070 і 7080 (бізнес-комп'ютери), сімейств IBM 7040 і IBM 1400, а також невеликого наукового комп'ютера IBM 1620. Феритова пам'ять моделі 7302 Model I застосовувалася також у IBM 7090, IBM 7070 and IBM 7080. Багатозадачність, захист пам'яті, узагальнена схема переривань, восьмибітний байт для вводу-виводу[a] — всі ці інновації знайшли подальший розвиток у лінійці IBM System/360.
Стівен Данвелл, менеджер проекту, якого зробили «цапом-відбувайлом» за невдачі IBM 7030 на ринку, невдовзі після феноменально успішного початку продаж серії System/360 у 1964-му році відзначив, що більшість ключових компонентів серії було випробувано у машині Stretch.[12] 1966-го перед ним вибачились і надали титул IBM Fellow — висока відзнака, що дозволяє вести дослідження на власний вибір використовуючи ресурси компанії.[12]
Конвеєр команд, попередня вибірка і декодування інструкції, паралельні банки пам'яті — ці інновації знайшли своє застосування в пізніших проектах суперкомп'ютерів, таких як IBM System/360 моделі 91 і 95, IBM System/370 моделі 195, і серії IBM 3090, а також у комп'ютерах інших виробників. У більшості сучасних мікропроцесорів ці технології також активно використовуються.
Конструкція апаратури
Процесор IBM 7030 побудований на основі схем емітерно-зв'язаної логіки.[13]
Всього було 18 типів «стандартних модульних плат» (SMS, Standard Modular System): 4025 двосторонніх (на ілюстрації) і 18747 односторонніх, на яких розміщувалося 169100 транзисторів. Машина споживала 21 кВт від мережі.[14]:54 Транзистори — германієві, дрейфові, підвищеної швидкодії (з робочою частотою до 100 МГц), як n-p-n, так і p-n-p структури, кожен споживав потужність приблизно 50 мВт.[14]:57 У деяких схемах використовувався «третій рівень напруги». Мінімальна затримка проходження логічного сигналу була на рівні 20 нс. У частинах схеми, що вимагали особливо високої швидкодії, застосовувалась логіка на емітерних повторювачах (це дозволяло знизити затримку ще на 10 нс).[14]:55
Тип феритової пам'яті — аналогічний машині IBM 7090.[14]:58
Агентство національної безпеки Сполучених Штатів: з лютого 1962 року (процесор системи IBM 7950 Harvest) по 1976 рік (система автоматичної подачі картриджів магнітної стрічки IBM 7955 почала давати збої через зношеність компонентів, тому всю систему HARVEST було вирішено списати).
Корпорація MITRE: машина експлуатувалася до серпня 1971-го; навесні 1972-го продана університету Брігама Янга, де використовувалася у департаменті фізики аж до зупинки і розбирання у 1982-му.
IBM 7030 з лабораторії Лоуренса Лівермора (окрім феритової пам'яті) і частини машини, що працювала у MITRE Corporation / Університеті Брігама Янга, зараз знаходяться у колекції Музею комп'ютерної історії у Маунтін-В'ю, Каліфорнія.
Архітектура
Формати даних
Числа з рухомою комою — змінної ширини, зберігаються або у двійковій (від 1 до 64 біт), або у десятковій (від 1 до 16 цифр) формі, без знаку або зі знаком. При використанні десяткової форми цифри — змінної розрядності (від 4 до 8 біт).
Числа з рухомою комою мають 1 біт «прапорця експоненти», 10 біт власне експоненти, 1 біт знаку експоненти, 48 біт величини, і 4-бітний знак (у форматі знак/величина).
Алфавітно-цифрові символи — змінної розрядності (8 біт або менше).
Регістри відображаються на перші 32 адреси пам'яті.[16]
Адреса
Мнемоніка
Регістр
Розташування
0
$Z
64-розрядний нуль: тільки для читання (завжди читається нуль)
Головна пам'ять
1
$IT
інтервальний таймер (розряди 0..18): значення зменшується з частотою 1024 Гц, переповнення кожні 8,5 хвилини, при нульовому значенні виставляє «time signal indicator» у індикаторному регістрі
Індексна пам'ять
$TC
36-розрядний таймер (розряди 28..63): підраховує кількість циклів по 1024 Гц, біти 38..63 збільшуються раз на секунду, переповнення приблизно за 777 діб.
IBM 608, перший обчислювальний пристрій на транзисторах (калькулятор з можливістю перекомутації схем), доступний на ринку
Примітки
↑Хоча у Stretch інструкції могли працювати з байтами довільної ширини, жоден наступний процесор від IBM таку схему не реалізовував. Однак, деякі машини від Burroughs, Control Data Corporation, DEC, General Electric, RCA, UNIVAC та інші мали підтримку байта змінної ширини — аж до ширини машинного слова
↑Відома цитата президента Т. Дж. Уотсона молодшого, де він запитує «Чому нас обійшла фірма, де працює 34 людини з прибиральником включно?»Watson Jr. memo about CDC 6600. 28 серпня 1963. Архів оригіналу за 3 січня 2018. Процитовано 26 грудня 2017.