Из Википедии, свободной энциклопедии
Перейти к навигации Перейти к поиску

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

Имя СТАР была конструкцией из слов ST колец двоичных цифр , которые составляют AR лучей , [6] со ссылкой на вектор концепцию. 100 были получены из 100 миллионов операций с плавающей запятой в секунду ( MFLOPS ), скорости, с которой машина была разработана для работы. [5] Это сравнимо с их более ранней версией 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-битными словами . [7] Основная память была 32-сторонней перемежающейся для доступа к конвейерной памяти. Он был построен из оперативной памяти со временем доступа 1,28 мкс. Доступ к основной памяти осуществлялся через 512-битную шину, управляемую контроллером доступа к хранилищу (SAC), который обрабатывал запросы от потокового модуля.. Блок потока обращается к основной памяти через SAC через три 128-битные шины данных, две для чтения и одна для записи. Кроме того, имеется 128-битная шина данных для выборки команд, ввода-вывода и доступа к векторам управления. Блок потока служит в качестве блока управления, выборки и декодирования инструкций, инициирования доступа к памяти от имени конвейерных функциональных блоков и управления выполнением инструкций, среди других задач. Он также содержит два буфера чтения и один буфер записи для потоковой передачи данных в исполнительные блоки. [7]

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

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

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

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

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

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

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

Клиенты [ править ]

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

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

Ссылки [ править ]

  1. ^ a b c d БОЛЬШИЕ КОМПЬЮТЕРНЫЕ СИСТЕМЫ И НОВАЯ АРХИТЕКТУРА, Т. Блох, ЦЕРН, Женева, Швейцария, ноябрь 1978 г.
  2. ^ a b c d Предложение компьютерной лаборатории Атласа для компьютерной системы STAR, Майкл Бейлис, Control Data, апрель 1972 г.
  3. ^ Справочное руководство по аппаратному обеспечению Star-100
  4. ^ История тестов Whetstone и результаты
  5. ^ a b Маккензи, Дональд (1998). Зная машины: очерки технических изменений . MIT Press. ISBN 9780262631884.
  6. ^ CJ PURCELL. «Контрольные данные STAR-100». S2CID 43509695 .  Cite journal requires |journal= (help)
  7. ^ a b c P.M. Когге, Архитектура конвейерных компьютеров , Тейлор и Фрэнсис, 1981, стр. 162–164.
  8. ^ a b c Р. В. Хокни и К. Р. Джесхоуп, Параллельные компьютеры 2: архитектура, программирование и алгоритмы , Адам Хилгер, 1988, стр. 21.


Дальнейшее чтение [ править ]

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

Внешние ссылки [ править ]

  • Нил Р. Линкольн с 18 инженерами Control Data Corporation (CDC) по компьютерной архитектуре и дизайну , Институт Чарльза Бэббиджа , Университет Миннесоты. Среди инженеров Роберт Мо, Уэйн Спекер, Деннис Гринна, Том Роуэн, Морис Хатсон, Курт Александер, Дон Пагелкопф, Марис Бергманис, Долан Тот, Чак Хоули, Ларри Крюгер, Майк Павлов, Дэйв Резник, Говард Крон, Билл Бхенд, Кент Штайнер, Раймон Корт и Нил Р. Линкольн. Темы для обсуждения включают CDC 1604 , CDC 6600 , CDC 7600 , CDC 8600 , CDC STAR-100 и Seymour Cray .