Открыть сервисСервис

CDC STAR-100

CDC STAR-100 — это суперкомпьютер, разработанный и выпущенный компанией Control Data Corporation (CDC) в 1974 году. Он стал первым в мире коммерчески доступным векторным суперкомпьютером, ознаменовав собой переход от скалярных архитектур к обработке массивов данных с помощью векторных инструкций. STAR-100 (STAR — аббревиатура от «String ARray») предназначался для решения сложных научных и инженерных задач, требующих высокой производительности при работе с большими объёмами однотипных данных.

История

Предпосылки создания

К началу 1970-х годов вычислительная техника столкнулась с проблемой «стены памяти»: скорость процессоров росла быстрее, чем скорость оперативной памяти. Для задач, связанных с обработкой больших массивов данных (например, в метеорологии, физике плазмы, аэродинамике), традиционные скалярные процессоры тратили значительное время на выборку и декодирование инструкций, а также на последовательную обработку каждого элемента данных. Компания CDC, уже имевшая успешный опыт создания суперкомпьютеров серии CDC 6600 и CDC 7600, решила разработать архитектуру, которая могла бы выполнять одну операцию сразу над целым набором данных.

Разработка и выпуск

Проект STAR-100 был начат в конце 1960-х годов. Главным архитектором выступил Сеймур Крей, который, однако, вскоре покинул CDC, чтобы основать собственную компанию Cray Research. Разработку продолжила команда под руководством Джима Торнтона. Первый экземпляр STAR-100 был поставлен заказчику в 1974 году. Система была ориентирована на крупные государственные и научные учреждения, такие как Лос-Аламосская национальная лаборатория (США) и Национальное управление по аэронавтике и исследованию космического пространства (NASA).

Место в истории

STAR-100 стал первым коммерческим векторным компьютером, но его коммерческий успех был ограничен. Он уступал по производительности на скалярных задачах своим предшественникам (CDC 7600) и был сложен в программировании. Тем не менее, он заложил концептуальную основу для последующих векторных суперкомпьютеров, таких как Cray-1 (1976) и серия CDC Cyber 200. В СССР в 1980-х годах на основе архитектуры STAR-100 была разработана серия суперкомпьютеров «Электроника СС БИС» (например, «Эльбрус-1» и «Эльбрус-2»), хотя и с существенными отличиями.

Архитектура и устройство

Векторная обработка

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

Структура процессора

STAR-100 имел два основных процессора:

  • Векторный процессор (Vector Processor): Выполнял векторные инструкции. Состоял из нескольких конвейерных функциональных устройств (сложение, умножение, логические операции), которые могли работать параллельно.
  • Скалярный процессор (Scalar Processor): Выполнял обычные скалярные инструкции, управлял потоком команд, обрабатывал условные переходы и адресацию. Скалярный процессор был относительно медленным по сравнению с векторным, что стало узким местом системы.

Память

STAR-100 использовал виртуальную память с сегментацией и страничной организацией. Объём оперативной памяти мог достигать 1 миллиона 64-битных слов (около 8 Мбайт), что было огромным по тем временам. Память была организована в виде 32 банков, что позволяло осуществлять одновременный доступ к нескольким словам для подачи данных в векторный конвейер.

Система команд

Система команд STAR-100 была ориентирована на работу со строками и векторами. Она включала инструкции для:

  • Загрузки и сохранения векторов.
  • Арифметических операций над векторами (сложение, вычитание, умножение, деление).
  • Логических операций (И, ИЛИ, НЕ) над векторами.
  • Операций сжатия и расширения векторов (gather/scatter).
  • Операций сравнения векторов.

Характеристики

Производительность

  • Тактовая частота: 40 МГц (такт 25 нс).
  • Пиковая производительность (векторная): до 100 MFLOPS (миллионов операций с плавающей запятой в секунду) на 64-битных числах.
  • Производительность на скалярных задачах: значительно ниже, чем у CDC 7600 (около 10-15 MFLOPS).
  • Разрядность: 64-битная архитектура.

Физические параметры

  • Размер: Система занимала несколько стоек, общая площадь — около 50-70 квадратных метров.
  • Энергопотребление: около 100 кВт.
  • Система охлаждения: жидкостная (фреон).

Программное обеспечение

Операционная система

STAR-100 работал под управлением операционной системы SCOPE (Supervisory Control of Program Execution), разработанной CDC. SCOPE поддерживала многозадачность, управление виртуальной памятью, файловую систему и сетевой обмен.

Языки программирования

Основным языком программирования для STAR-100 был FORTRAN с расширениями для векторных операций. Программистам приходилось вручную указывать, какие циклы следует векторизовать, или использовать специальные директивы компилятора. Существовали также ассемблер (STAR-100 Assembly Language) и язык управления заданиями (JCL).

Сложность программирования

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

Применение

STAR-100 использовался в основном в научных и военных целях:

  • Метеорология: Моделирование погоды и климата.
  • Аэродинамика: Расчёты обтекания тел (например, самолётов и ракет).
  • Ядерная физика: Моделирование ядерных реакций и взрывов.
  • Нефтегазовая разведка: Обработка сейсмических данных.
  • Криптография: Взлом шифров и анализ данных.

Критика и недостатки

  • Низкая скалярная производительность: STAR-100 был значительно медленнее на обычных задачах, чем его предшественник CDC 7600. Это делало его неэффективным для многих приложений, где векторная обработка была не основным режимом.
  • Сложность программирования: Отсутствие развитых компиляторов и необходимость ручной векторизации кода отпугивали многих потенциальных пользователей.
  • Высокая стоимость: Система стоила несколько миллионов долларов, что делало её доступной только для крупных организаций.
  • Проблемы с надёжностью: Как и многие суперкомпьютеры того времени, STAR-100 страдал от проблем с охлаждением и сбоями в работе.

Интересные факты

  • Название «STAR» расшифровывалось как «String ARray», что отражало ориентацию архитектуры на обработку строк и массивов.
  • Первый экземпляр STAR-100 был установлен в Лос-Аламосской национальной лаборатории.
  • В СССР на основе архитектуры STAR-100 была разработана серия суперкомпьютеров «Электроника СС БИС», которая использовалась в оборонной промышленности и научных исследованиях.
  • Несмотря на коммерческий провал, STAR-100 оказал огромное влияние на развитие векторных вычислений и стал предшественником таких машин, как Cray-1 и Fujitsu VP.

Источники

  • Control Data Corporation. «CDC STAR-100 Hardware Reference Manual». 1974.
  • Control Data Corporation. «CDC STAR-100 Software Reference Manual». 1974.
  • Thornton, J. E. «Design of a Computer: The Control Data 6600». Scott, Foresman and Company, 1970.
  • Hockney, R. W., Jesshope, C. R. «Parallel Computers: Architecture, Programming and Algorithms». Adam Hilger, 1981.
  • Бабаян, Б. А. «История суперкомпьютеров в СССР». Наука, 2008.
Заметили ошибку или не согласны с информацией в статье? Напишите нам support@bfometr.ru