Русская Википедия:IBM 7030 Stretch
IBM 7030 — первый суперкомпьютер фирмы IBM, построенный на транзисторах. Также известен как проект Stretch. Исходными заказчиками выступали Агентство национальной безопасности и Комиссия по атомной энергии США[1]. Компьютер создавался для военных целей, его разработка финансировалась из федерального бюджета[2]. Первоначально IBM проиграла тендер на создание компьютера для Ливерморской национальной лаборатории, требования к которому были сформулированы Эдвардом Теллером, но смогла выиграть другой, на создание компьютера для Лос-Аламосской национальной лаборатории. Также IBM обязалась разработать специализированную версию для АНБ. Поставка компьютера IBM 7030 Stretch для АЭК состоялась в 1961 году. Специализированная версия IBM 7950 Harvest была поставлена АНБ в 1962 году[3]Шаблон:Sfn[4].
Неспособность компьютера достичь ожидаемого, очень амбициозного, уровня производительности привела к необходимости снизить цену с первоначальных 13,5 миллионов долларов США до 7,78 миллиона и прекращению продаж всем клиентам, за исключением имеющих уже подписанные контракты. Хотя 7030 оказался гораздо медленнее, чем ожидалось, он, тем не менее, был самым быстрым компьютером в мире с 1961 года до ввода в работу первого суперкомпьютера CDC 6600 в 1964 году. Журнал PCWorld назвал Stretch одним из крупнейших провалов в управлении проектами в истории информационных технологий[5].
Несмотря на то, что Stretch не достиг заявленного уровня производительности, он послужил основой для многих архитектурных решений коммерчески чрезвычайно успешной системы IBM System/360, анонсированной в 1964 году. Первоначально руководитель проекта подвергся критике за свою роль в провале и был переведён в исследовательские лаборатории, но, когда успех серии 360 стал очевиден, ему были принесены официальные извинения, а сам он получил должность IBM Fellow.
История создания
В начале 1955 года радиационной лаборатории Калифорнийского университета понадобилась новая научная вычислительная система для трёхмерных гидродинамических вычислений. Для новой системы, названной Livermore Automatic Reaction Calculator (Ливерморский автоматический калькулятор реакций) или LARC, у фирм IBM и UNIVAC были запрошены технические предложения. Согласно оценке директора подразделения электронных машин обработки данных IBM Катберта Хёрда (Шаблон:Lang-en), такая система должна была стоить примерно 2,5 миллиона долларов США и иметь производительность от одного до двух MIPS. Поставка машины должна была состояться через два или три года после подписания контрактаШаблон:Sfn.
В IBM небольшая команда разработчиков из Покипси, включавшая Джона Гриффита и Джина Амдала, работала над проектной заявкой. Когда они завершили работу и готовились провести презентацию, инженер Ральф Палмер остановил их и назвал решение ошибочнымШаблон:Sfn. В проекте предлагалось использовать либо точечные, либо поверхностно-барьерные транзисторы, которые должны были проигрывать по своим характеристикам недавно разработанным диффузионным транзисторамШаблон:Sfn.
Представители IBM вернулись в Ливермор и заявили, что выходят из договора, предложив взамен создать значительно лучшую систему. «Мы не будем создавать для Вас такую машину. Мы хотим создать нечто лучшее! Мы не знаем точно, что для этого потребуется, но думаем, что это будет ещё один миллион долларов и ещё один год разработки. Также мы не знаем, насколько быстро эта машина будет работать, но нам хотелось бы достигнуть десяти миллионов операций в секунду.»Шаблон:Sfn На руководство лаборатории в Ливерморе это не произвело должного впечатления, и в мае 1955 года было объявлено, что тендер на создание компьютера LARC (теперь называвшегося Livermore Automatic Research Computer, Ливерморский автоматический исследовательский вычислитель) выиграла компания UNIVAC. В конечном итоге LARC будет поставлен в июне 1960 года[6].
В сентябре 1955 года, опасаясь, что Лос-Аламосская национальная лаборатория также может заказать компьютер LARC, компания IBM представила предварительную заявку на высокопроизводительный двоичный компьютер, основанный на улучшенной версии проекта, отклонённого лабораторией в Ливерморе. К заявке в лаборатории был проявлен интерес. В январе 1956 года проект Stretch стартовал официально. В ноябре 1956 года компания IBM выиграла тендер, установив высокую планку производительности, «как минимум в 100 раз превышающую производительность IBM 704» (примерно 4 MIPS). Поставка была запланирована на 1960 год[7].
Во время проектирования оказалось необходимо снизить тактовую частоту, в результате чего стало очевидно, что Stretch не сможет достичь расчётной производительности. Тем не менее, ожидалось, что производительность от 60 до 100 раз превысит производительность IBM 704. В 1960 году для IBM 7030 была установлена цена 13,5 миллионов долларов США. В 1961 году фактические тесты показали, что производительность IBM 7030 всего в 30 раз выше, чем IBM 704 (около 1,2 MIPS), создав значительные трудности для IBM. В мае 1961 года президент IBM Томас Уотсон-младший объявил о снижении цены на 7030 до 7,78 миллиона долларов для всех подписавших контракты клиентов, и немедленном прекращении дальнейших продаж.
Влияние на развитие вычислительной техники
Хотя IBM 7030 не считался успешным, он породил множество технологий, использованных в последующих, весьма успешных компьютерах. Разработанная для 7030 система модулей транзисторной логики Standard Modular System стала основой для большинства транзисторных моделей компьютеров IBM, включая серию научных компьютеров IBM 7090, коммерческие компьютеры IBM 7070 и 7080, серии IBM 7040 и IBM 1400 и малый научный компьютер IBM 1620. Блок памяти на магнитных сердечниках IBM 7302 применялся также в компьютерах IBM 7090, IBM 7070 и IBM 7080. Принципы мультипрограммирования, защита памяти, способы обработки прерываний были использованы как в серии компьютеров IBM System/360, так и в большинстве более поздних процессоров.
Руководитель проекта Стивен Данвелл (Шаблон:Lang-en), понёсший наказание за коммерческий провал Stretch, вскоре после феноменально успешного запуска серии System/360 в 1964 году отметил, что большинство её основных идей впервые было применено на StretchШаблон:Sfn. В 1966 году ему были принесены официальные извинения, а сам он получил почётную должность IBM Fellow, давшую ему ресурсы и полномочия вести собственное направление исследованийШаблон:Sfn.
Технологии конвейеризации инструкций, предвыборки кода и расслоения памяти были использованы в более поздних конструкциях суперкомпьютеров как IBM (например, моделях 91 и 95 серии IBM System/360, модели 195 серии IBM System/370, серии IBM 3090), так и других производителей. До настоящего времени эти технологии продолжают использоваться в большинстве современных микропроцессоров, начиная с Intel Pentium и Motorola/IBM PowerPC, как и во многих встраиваемых микропроцессорах и микроконтроллерах от различных производителей.
IBM 7030 Stretch послужил тренировочной площадкой для таких инженеров компьютерной техники, как Gerrit Blaauw и Фред Брукс — будущих создателей IBM System/360, и Джона Кока — будущего архитектора IBM RS/6000[8].
Поставки IBM 7030 заказчикам
- Лос-Аламосская национальная лаборатория — в апреле 1961 года, принят в эксплуатацию в мае 1961 года, использовался до 21 июня 1971 года. Запчасти от этого компьютера были использованы Университетом Бригама Янга для другого Stretch, который был приобретён у компании MITRE.
- Агентство национальной безопасности США — в феврале 1962 года как процессор системы IBM 7950 Harvest, использовался до 1976 года, пока лентопротяжный механизм IBM 7955 не вышел из строя из-за износа узлов, не подлежащих замене.
- Ливерморская национальная лаборатория — март 1961 года. Приобрели Stretch в дополнение к своему суперкомпьютеру UNIVAC LARC. Stretch оказался примерно в два раза быстрее LARC-а[9].
- Организация по атомному оружию Великобритании в Олдермастоне.
- Национальная метеорологическая служба США.
- Корпорация MITRE (г. Бостон, США) — использовался до августа 1971 года. Весной 1972 года продан за символические 5 долларов Университету Бригама Янга (шт. Юта, США). Последний из оставшихся Stretch. Был торжественно выключен 5 сентября 1980[10].
- Полигон военно-морских сил США в Дальгрене, штат Вирджиния.
- IBM.
- Комиссариат атомной энергетики Франции.
В настоящее время IBM 7030 из Ливерморской национальной лаборатории (за исключением блоков памяти на магнитных сердечниках), а также части IBM 7030, принадлежавшие корпорации MITRE, находятся в коллекции музея компьютерной истории в Маунтин-Вью, Калифорния.
Технические характеристики
- разрядность машинного слова — 64 бит (плюс 8 контрольных разрядов с возможностью коррекции ошибок).
- разрядность шины адреса — 18 бит (адреса операндов могут содержать дополнительные 6 бит для указания смещения в пределах слова).
- длина инструкции — 32 или 64 бита.
- точность промежуточных вычислений — 128 бит.
- время операции сложения чисел с плавающей запятой — 1,38-1,5 микросекунды.
- время умножения чисел с плавающей запятой — 2,48-2,70 микросекунды.
- время деления чисел с плавающей запятой — 9,00-9,90 микросекунды.
- число каналов ввода-вывода — до 32.
- число транзисторов — около 170 000.
- тип логических элементов — переключатели тока (ЭСЛ)[11].
- память на магнитных сердечниках от 16 K до 256 K слов (в стандартной поставке - 96 К слов, объединённых в два блока — на 64 К слов с 4-кратным расслоением и на 32 К слов с 2-кратным расслоением). Память погружалась в масло для температурной стабилизации характеристик магнитных сердечников.
Архитектура
Форматы данных
IBM 7030 имел аппаратную поддержку работы с битовыми полями в машинном слове. Это позволяло работать с типами данных переменной длины.
- Целые числа могли быть переменной длины и хранились либо в двоичном (от 1 до 64 бит), либо в десятичном (от 1 до 16 цифр) знаковом или беззнаковом формате. Отдельный разряд числа в десятичном формате мог иметь длину от 4 до 8 бит. Значимыми были только 4 младших бита, дополнительные «зональные» биты могли иметь произвольное значение. Это позволяло хранить и обрабатывать числа непосредственно в алфавитно-цифровом представлении[12].
- Числа с плавающей запятой имели фиксированный формат и содержали однобитовый флаг порядка, 10 бит порядка, 1 бит знака порядка, 48-битную мантиссу, 1 бит знака мантиссы и 3 однобитовых флага данных.
- Алфавитно-цифровые символы были переменной длины и могли использовать любую кодировку короче 8 бит.
- «Байты» были переменной длины (от 1 до 8 бит)[7].
Регистры
Для обращения к регистрам использовались первые 32 адреса памяти. Значения индексных регистров хранились в специальной быстродействующей памяти в составе процессора, называемой памятью индексов. Назначение регистров приведено в таблице[12].
Адрес | Мнемоническое обозначение | Регистр | Место хранения |
---|---|---|---|
0 | $Z | 64-битный регистр, всегда имеющий нулевое значение | Основная память |
1 | $IT | 19-битный интервальный таймер | Память индексов |
$TC | 36-битный регистр часов реального времени | ||
2 | $IA | 18-битный адрес таблицы прерываний | Основная память |
3 | $UB | 18-битный адрес верхней границы защищаемой области памяти | Транзисторный регистр |
$LB | 18-битный адрес нижней границы защищаемой области памяти | ||
1-битный флаг управления защитой памяти | |||
4 | 64-битный регистр режима обслуживания | Основная память | |
5 | $CA | 7-битный адрес канала ввода/вывода | Транзисторный регистр |
6 | $CPUS | 19-битный регистр связи с другими процессорами | Транзисторный регистр |
7 | $LZC | 7-битный счётчик нулей левой части результата | Транзисторный регистр |
$AOC | 7-битный счётчик единиц результата | ||
8 | $L | Левая половина 128-битного аккумулятора | Транзисторный регистр |
9 | $R | Правая половина 128-битного аккумулятора | |
10 | $SB | 8-битный байт знака аккумулятора, содержащий также 4 «зональных» бита и 3 флага данных числа | |
11 | $IND | 64-битный регистр индикаторов (флаги и признаки исключительных ситуаций) | Транзисторный регистр |
12 | $MASK | 64-битный регистр маски прерывания (каждый бит соответствует биту регистра индикаторов) | Транзисторный регистр |
13 | $RM | 64-битный регистр остатка операции деления | Основная память |
14 | $FT | 64-битный регистр множителя для операции «умножить и сложить» | Основная память |
15 | $TR | 64-битный пересылочный регистр для передачи операнда в программно реализуемые инструкции | Основная память |
16 … 31 |
$X0 … $X15 |
64-битные индексные регистры (16 штук) | Память индексов |
Примечания
Литература
- Erich Bloch, "The Engineering Design of the Stretch Computer, " Proc. IRE/AIEE/ACM Eastern Joint Computer Conference, Boston, December 1959, pp. 48-58.
- (1962) Werner Buchholz, editor: Planning a Computer System: Project Stretch (ISBN 0070087202)
- Шаблон:Книга
- Шаблон:Статья
- (1986) IBM’s Early Computers — A Technical History (ISBN 0262523930)
- Шаблон:Книга
- Шаблон:КнигаШаблон:Ref-en — стр.368-424
Ссылки
- Oral history interview with Gene Amdahl Институт Чарльза Бэббиджа, Миннесотский университет, Миннеаполис. Интервью с Джином Амдалом.
- Коллекция IBM Stretch в музее компьютерной истории
- 7030 Data Processing System (Архивы IBM)
- IBM Stretch (aka IBM 7030 Data Processing System)
- Organization Sketch of IBM Stretch
- BRL report on the IBM Stretch
- Шаблон:Книга
- Документация к IBM 7030 на Bitsavers.org
- ↑ Шаблон:КнигаШаблон:Ref-en
- ↑ Шаблон:КнигаШаблон:Ref-en
- ↑ Шаблон:Книга Отсканированная версия в формате PDF Шаблон:WaybackШаблон:Ref-en
- ↑ Шаблон:КнигаШаблон:Ref-en
- ↑ Шаблон:Cite web
- ↑ Шаблон:Cite web
- ↑ 7,0 7,1 Шаблон:Cite web
- ↑ (2013) Computer Organization and Design — The Hardware-Software Interface, 5th Ed (ISBN 0124077269): 4.16 Historical Perspective and Further Reading
- ↑ Шаблон:Cite web
- ↑ Шаблон:Cite web
- ↑ Шаблон:Статья
- ↑ 12,0 12,1 Шаблон:Cite web
- Русская Википедия
- Страницы с неработающими файловыми ссылками
- Суперкомпьютеры США
- Суперкомпьютеры IBM
- Военная продукция IBM
- IBM 700/7000
- История компьютерной техники
- Появились в 1961 году в США
- Страницы, где используется шаблон "Навигационная таблица/Телепорт"
- Страницы с телепортом
- Википедия
- Статья из Википедии
- Статья из Русской Википедии