Loading AI tools
Из Википедии, свободной энциклопедии
IBM 7030 — первый суперкомпьютер фирмы IBM, построенный на транзисторах. Также известен как проект Stretch. Исходными заказчиками выступали Агентство национальной безопасности и Комиссия по атомной энергии США[1]. Компьютер создавался для военных целей, его разработка финансировалась из федерального бюджета[2]. Первоначально IBM проиграла тендер на создание компьютера для Ливерморской национальной лаборатории, требования к которому были сформулированы Эдвардом Теллером, но смогла выиграть другой, на создание компьютера для Лос-Аламосской национальной лаборатории. Также IBM обязалась разработать специализированную версию для АНБ. Поставка компьютера IBM 7030 Stretch для АЭК состоялась в 1961 году. Специализированная версия IBM 7950 Harvest была поставлена АНБ в 1962 году[3][4][5].
Неспособность компьютера достичь ожидаемого, очень амбициозного, уровня производительности привела к необходимости снизить цену с первоначальных 13,5 миллионов долларов США до 7,78 миллиона и прекращению продаж всем клиентам, за исключением имеющих уже подписанные контракты. Хотя 7030 оказался гораздо медленнее, чем ожидалось, он, тем не менее, был самым быстрым компьютером в мире с 1961 года до ввода в работу первого суперкомпьютера CDC 6600 в 1964 году. Журнал PCWorld назвал Stretch одним из крупнейших провалов в управлении проектами в истории информационных технологий[6].
Несмотря на то, что Stretch не достиг заявленного уровня производительности, он послужил основой для многих архитектурных решений коммерчески чрезвычайно успешной системы IBM System/360, анонсированной в 1964 году. Первоначально руководитель проекта подвергся критике за свою роль в провале и был переведён в исследовательские лаборатории, но, когда успех серии 360 стал очевиден, ему были принесены официальные извинения, а сам он получил должность IBM Fellow.
В начале 1955 года радиационной лаборатории Калифорнийского университета понадобилась новая научная вычислительная система для трёхмерных гидродинамических вычислений. Для новой системы, названной Livermore Automatic Reaction Calculator (Ливерморский автоматический калькулятор реакций) или LARC, у фирм IBM и UNIVAC были запрошены технические предложения. Согласно оценке директора подразделения электронных машин обработки данных IBM Катберта Хёрда (англ. Cuthbert Hurd), такая система должна была стоить примерно 2,5 миллиона долларов США и иметь производительность от одного до двух MIPS. Поставка машины должна была состояться через два или три года после подписания контракта[7].
В IBM небольшая команда разработчиков из Покипси, включавшая Джона Гриффита и Джина Амдала, работала над проектной заявкой. Когда они завершили работу и готовились провести презентацию, инженер Ральф Палмер остановил их и назвал решение ошибочным[7]. В проекте предлагалось использовать либо точечные, либо поверхностно-барьерные транзисторы, которые должны были проигрывать по своим характеристикам недавно разработанным диффузионным транзисторам[8].
Представители IBM вернулись в Ливермор и заявили, что выходят из договора, предложив взамен создать значительно лучшую систему. «Мы не будем создавать для Вас такую машину. Мы хотим создать нечто лучшее! Мы не знаем точно, что для этого потребуется, но думаем, что это будет ещё один миллион долларов и ещё один год разработки. Также мы не знаем, насколько быстро эта машина будет работать, но нам хотелось бы достигнуть десяти миллионов операций в секунду.»[9] На руководство лаборатории в Ливерморе это не произвело должного впечатления, и в мае 1955 года было объявлено, что тендер на создание компьютера LARC (теперь называвшегося Livermore Automatic Research Computer, Ливерморский автоматический исследовательский вычислитель) выиграла компания UNIVAC. В конечном итоге LARC будет поставлен в июне 1960 года[10].
В сентябре 1955 года, опасаясь, что Лос-Аламосская национальная лаборатория также может заказать компьютер LARC, компания IBM представила предварительную заявку на высокопроизводительный двоичный компьютер, основанный на улучшенной версии проекта, отклонённого лабораторией в Ливерморе. К заявке в лаборатории был проявлен интерес. В январе 1956 года проект Stretch стартовал официально. В ноябре 1956 года компания IBM выиграла тендер, установив высокую планку производительности, «как минимум в 100 раз превышающую производительность IBM 704» (примерно 4 MIPS). Поставка была запланирована на 1960 год[11].
Во время проектирования оказалось необходимо снизить тактовую частоту, в результате чего стало очевидно, что 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, так и в большинстве более поздних процессоров.
Руководитель проекта Стивен Данвелл (англ. Stephen Dunwell), понёсший наказание за коммерческий провал Stretch, вскоре после феноменально успешного запуска серии System/360 в 1964 году отметил, что большинство её основных идей впервые было применено на Stretch[12]. В 1966 году ему были принесены официальные извинения, а сам он получил почётную должность IBM Fellow, давшую ему ресурсы и полномочия вести собственное направление исследований[12].
Технологии конвейеризации инструкций, предвыборки кода и расслоения памяти были использованы в более поздних конструкциях суперкомпьютеров как 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[13].
В настоящее время IBM 7030 из Ливерморской национальной лаборатории (за исключением блоков памяти на магнитных сердечниках), а также части IBM 7030, принадлежавшие корпорации MITRE, находятся в коллекции музея компьютерной истории в Маунтин-Вью, Калифорния.
IBM 7030 имел аппаратную поддержку работы с битовыми полями в машинном слове. Это позволяло работать с типами данных переменной длины.
Для обращения к регистрам использовались первые 32 адреса памяти. Значения индексных регистров хранились в специальной быстродействующей памяти в составе процессора, называемой памятью индексов. Назначение регистров приведено в таблице[17].
Адрес | Мнемоническое обозначение | Регистр | Место хранения |
---|---|---|---|
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 штук) | Память индексов |
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.