CDC STAR-100 - CDC STAR-100

CDC STAR-100
CDC STAR-100 - версии 8 МБ и 4 МБ .png
Два CDC STAR-100, в версии 8 МБ (на переднем плане) и версии 4 МБ (на заднем плане)
Дизайн
Производитель Корпорация Control Data
Дизайнер Джим Торнтон
Дата выпуска 1974 г. ( 1974 )
Проданных единиц 5
Кожух
Габаритные размеры Прибл. Полный компьютер:
Высота: 212 см (83 дюйма)
Длина: 745 см (293 дюйма)
Внутренние секции:
Высота: 76 дюймов (190 см)
Ширина: 28,5 дюйма (72 см)
Глубина: 30 дюймов (76 см)
Масса 2200 фунтов (1000 кг)
Мощность 250 кВт при 208 В 400 Гц
Система
Операционная система ГЕЛИОС
Процессор 64-битный процессор @ 25 МГц
объем памяти До 8 мегабайт (4 * 4 * 64 КБ x 64 бита)
Место хранения -
MIPS 1 MIPS ( скалярный )
ФЛОПЫ 100 MFLOPS ( вектор )
Предшественник -
Преемник CDC Cyber ​​200

CDC STAR-100 представляет собой вектор суперкомпьютер , который был разработан, изготовлен и продается компанией корпорации Control Data (CDC). Это была одна из первых машин, в которых использовался векторный процессор для повышения производительности соответствующих научных приложений. Кроме того, это был первый суперкомпьютер, в котором использовались интегральные схемы, и первый в мире компьютер с памятью на миллион слов .

Название STAR было построено из слов ST- кольца двоичных цифр, составляющих лучи AR , что относится к векторной концепции. 100 были получены из 100 миллионов операций с плавающей запятой в секунду ( MFLOPS ), скорости, с которой машина была разработана для работы. Это сравнимо с их более ранним CDC 7600, который обеспечивал максимальную производительность 36 MFLOPS, но, как правило, работал со скоростью около 10 MFLOPS.

Дизайн был частью заявки, сделанной Ливерморской национальной лабораторией в начале 1970-х годов. Ливермор искал партнера, который за свой бюджет построил бы гораздо более быструю машину, а затем сдал бы получившуюся конструкцию в лабораторию. Об этом было объявлено публично в начале 1970-х годов, а 17 августа 1971 года CDC объявила, что General Motors разместила первый коммерческий заказ на STAR-100.

Ряд основных конструктивных особенностей машины означал, что ее реальная производительность была намного ниже, чем ожидалось, когда она впервые использовалась в коммерческих целях в 1974 году, и была одной из основных причин, по которой CDC отказались от своего прежнего доминирования на рынке суперкомпьютеров, когда Cray-1 было объявлено в 1975 году. Всего было поставлено три системы STAR-100: две в Ливерморскую лабораторию, а одна - в исследовательский центр НАСА в Лэнгли .

Описание

В целом STAR был подобен более ранним суперкомпьютерам CDC, где простой ЦП поддерживался рядом периферийных процессоров, которые разгружали служебные задачи и позволяли ЦП обрабатывать числа как можно быстрее. В STAR и ЦП, и периферийные процессоры были намеренно упрощены, чтобы снизить стоимость и сложность реализации. STAR также отличался от более ранних конструкций тем, что был основан на 64-битной архитектуре вместо 60-битной, что было побочным эффектом все более широкого использования 8-битной обработки ASCII . Также, в отличие от предыдущих машин, STAR интенсивно использовала микрокод, а также поддерживала возможность виртуальной памяти .

Основным нововведением в STAR стало включение инструкций для векторной обработки. Эти новые и более сложные инструкции приближались к тому, что было доступно пользователям языка программирования APL, и оперировали огромными векторами, которые хранились в последовательных местах в основной памяти. ЦП был разработан для использования этих инструкций для настройки дополнительного оборудования, которое как можно быстрее загружало данные из основной памяти. Например, программа может использовать одну инструкцию с несколькими параметрами для сложения всех элементов в двух векторах, длина которых может достигать 65 535 элементов.

Чтобы понять, почему векторные инструкции повышают производительность, рассмотрим простую задачу добавления двух массивов по 10 000 элементов. В традиционном дизайне каждый элемент требовал бы, чтобы компьютер извлекал ADDкоманду из памяти, декодировал ее, извлекал два операнда из памяти, выполнял сложение и записывал результаты обратно в память. В векторной машине ADDинструкция считывается только один раз, что позволяет сразу сэкономить 10 000 обращений к памяти. Кроме того, известна ячейка памяти «следующего» операнда; оно запоминается на одно слово выше, чем последнее. Это позволяет компьютеру выбирать следующие операнды, в то время как схема сумматора все еще добавляет последние два значения, так как ему не нужно ждать декодирования инструкции. Как только вычисление ADDзавершено, сумматор может передать результат для записи и немедленно начать работу над следующими двумя значениями. Как и в случае с конвейерами команд в целом, время, необходимое для выполнения любой одной инструкции, было не лучше, чем было раньше, но поскольку ЦП работает одновременно с несколькими точками данных, общая производительность значительно улучшается из-за характера конвейера сборки задача.

В основной памяти было 65 536 сверхслов (МЕЧ), которые являются 512-битными словами . Основная память была 32-сторонней перемежающейся для доступа к конвейерной памяти. Он был построен из оперативной памяти со временем доступа 1,28 мкс. Доступ к основной памяти осуществлялся через 512-битную шину, управляемую контроллером доступа к хранилищу (SAC), который обрабатывал запросы от потокового модуля . Блок потока обращается к основной памяти через SAC через три 128-битные шины данных, две для чтения и одна для записи. Кроме того, имеется 128-битная шина данных для выборки команд, ввода-вывода и доступа к векторам управления. Блок потока служит в качестве блока управления, выборки и декодирования инструкций, инициирования доступа к памяти от имени конвейерных функциональных блоков и управления выполнением инструкций, среди других задач. Он также содержит два буфера чтения и один буфер записи для потоковой передачи данных в исполнительные блоки.

STAR-100 имеет два конвейера, на которых выполняется арифметика. Первый конвейер содержит сумматор и умножитель с плавающей запятой, тогда как второй конвейер является многофункциональным, способным выполнять все скалярные инструкции. Он также содержит сумматор с плавающей запятой, множитель и делитель. Оба конвейера 64-битные для операций с плавающей запятой и управляются микрокодом. STAR-100 может разделять свои конвейеры с плавающей запятой на четыре 32-битных конвейера, удваивая пиковую производительность системы до 100 MFLOPS за счет половины точности.

STAR-100 использует процессоры ввода-вывода для разгрузки операций ввода-вывода с ЦП. Каждый процессор ввода-вывода представляет собой 16-разрядный миникомпьютер с собственной основной памятью на 65 536 слов по 16 бит в каждом, которая реализована с помощью основной памяти. Все процессоры ввода-вывода совместно используют 128-битную шину данных с SAC.

Реальная производительность, пользователи и влияние

Реальные характеристики STAR-100 были лишь долей его теоретических характеристик. Это произошло по ряду причин. Во-первых, векторные инструкции, являющиеся «памятью в память», имели относительно долгое время запуска, поскольку конвейер от памяти к функциональным блокам был очень длинным. В отличие от конвейерных функциональных блоков на основе регистров в 7600, конвейеры STAR были намного глубже. Проблема усугублялась тем, что у STAR время цикла было меньше, чем у 7600 (40 нс против 27,5 нс). Таким образом, длина вектора, необходимая для STAR, чтобы работать быстрее, чем 7600, составляла около 50 элементов; если циклы работали с наборами данных с меньшим количеством элементов, временные затраты на настройку векторного конвейера были выше, чем экономия времени, обеспечиваемая векторными инструкциями.

Когда машина была выпущена в 1974 году, быстро стало очевидно, что ее общая производительность далека от ожидаемой. Очень немногие программы можно эффективно векторизовать в серию отдельных инструкций; почти все вычисления будут основываться на результатах какой-либо более ранней инструкции, но результаты должны были очистить конвейеры, прежде чем они могли быть возвращены. Это вынудило большинство программ столкнуться с высокими затратами на установку векторных модулей, и, как правило, те, которые это сделали "работа" были крайними примерами. Что еще хуже, так это то, что базовая производительность скаляров была принесена в жертву ради улучшения производительности векторов. Каждый раз, когда программе приходилось выполнять скалярные инструкции, общая производительность машины резко падала. (См . Закон Амдала .)

Две системы STAR-100 в конечном итоге были доставлены в Ливерморскую национальную лабораторию Лоуренса, а одна - в исследовательский центр НАСА в Лэнгли . В рамках подготовки к поставкам СТАР, LLNL программисты разработали библиотеку из подпрограмм , называемый STACKLIB , на 7600 , чтобы эмулировать векторные операции STAR. В процессе разработки STACKLIB они обнаружили, что программы, преобразованные для его использования, работают быстрее, чем раньше, даже на 7600. Это еще больше снизило производительность STAR.

STAR-100 разочаровал всех участников. Джим Торнтон , бывший помощник Сеймура Крея по проектам CDC 1604 и 6600 и главный разработчик STAR, покинул CDC и основал Network Systems Corporation . Обновленная версия базовой архитектуры была позже выпущена в 1979 году как Cyber ​​203 , а затем Cyber ​​205 в 1980 году, но к этому моменту на рынке появились системы от Cray Research со значительно более высокой производительностью. Провал STAR привел к тому, что CDC оттеснили от своего прежнего доминирования на рынке суперкомпьютеров, что они пытались решить с образованием ETA Systems в сентябре 1983 года.

Клиенты

С 1974 года поставлено пять CDC STAR-100:

  • Лаборатория Лоуренса Ливермора. (2)
  • НАСА Лэнгли
  • Корпорация Control Data, Арден-Хиллз, Миннесота (2)

Рекомендации


дальнейшее чтение

  • RG Hintz и DP Tate, "Проектирование процессора Control Data STAR-100", Proc. Compcon , 1972, стр. 1–4.
  • ПБ Шнек, Архитектура суперкомпьютера , Kluwer Academic, 1987, стр. 99–118.

Внешние ссылки